    /* ── DESIGN TOKENS ─────────────────────────────────────── */
    :root {
      --black: #080808;
      --gray9: #111111;
      --gray8: #1a1a1a;
      --gray7: #242424;
      --gray6: #2e2e2e;
      --gray4: #555555;
      --gray3: #888888;
      --gray2: #bbbbbb;
      --gray1: #e8e8e8;
      --white: #f5f5f3;
      --pure: #ffffff;
      --line: rgba(255, 255, 255, 0.08);
      --line2: rgba(255, 255, 255, 0.14);
      --r: 12px;
      --rb: 20px;
      --head: 'Playfair Display', Georgia, serif;
      --body: 'Plus Jakarta Sans', system-ui, sans-serif;

      /* New theme tokens */
      --nav-bg: rgba(8, 8, 8, 0.93);
      --mobnav-bg: rgba(8, 8, 8, 0.97);
    }

    :root.light-theme {
      --black: #faf9f6;       /* soft warm off-white (premium aesthetic) */
      --gray9: #ffffff;       /* pure white for cards and section boxes */
      --gray8: #f1f3f5;       /* soft gray for nested areas */
      --gray7: #e9ecef;       /* medium light gray for borders/hover states */
      --gray6: #dee2e6;       /* borders and lines */
      --gray4: #868e96;       /* subtitles / muted text */
      --gray3: #495057;       /* body text */
      --gray2: #212529;       /* secondary headings */
      --gray1: #0f1115;       /* main headings / dark text */
      --white: #0f1115;       /* inverse white */
      --pure: #000000;
      --line: rgba(15, 17, 21, 0.06);
      --line2: rgba(15, 17, 21, 0.12);
      --nav-bg: rgba(250, 249, 246, 0.93);
      --mobnav-bg: rgba(250, 249, 246, 0.97);
    }

    /* ── RESET ─────────────────────────────────────────────── */
    *,
    *::before,
    *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0
    }

    html {
      scroll-behavior: smooth;
      overflow-x: hidden;
      max-width: 100vw;
    }

    body {
      background: var(--black);
      color: var(--gray1);
      font-family: var(--body);
      font-size: 16px;
      line-height: 1.65;
      overflow-x: hidden;
      max-width: 100vw;
      -webkit-font-smoothing: antialiased;
    }

    img {
      display: block;
      max-width: 100%
    }

    a {
      text-decoration: none;
      color: inherit
    }

    button {
      cursor: pointer;
      font-family: inherit;
      border: none;
      background: none
    }

    ::-webkit-scrollbar {
      width: 3px
    }

    ::-webkit-scrollbar-track {
      background: var(--black)
    }

    ::-webkit-scrollbar-thumb {
      background: var(--gray6);
      border-radius: 2px
    }

    ::selection {
      background: var(--white);
      color: var(--black)
    }

    /* ── UTILITY ───────────────────────────────────────────── */
    .label {
      font-family: var(--body);
      font-size: 10.5px;
      font-weight: 600;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--gray3);
    }

    .display {
      font-family: var(--head);
      letter-spacing: -.02em;
      line-height: .95;
    }

    /* ── GRAIN OVERLAY ─────────────────────────────────────── */
    body::after {
      content: '';
      position: fixed;
      inset: 0;
      pointer-events: none;
      z-index: 9999;
      opacity: .03;
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    }

    /* ── TOPBAR ─────────────────────────────────────────────── */
    .topbar {
      position: relative;
      z-index: 10;
      background: var(--white);
      color: var(--black);
      text-align: center;
      padding: 9px 20px;
      font-size: 12.5px;
      font-weight: 600;
      letter-spacing: .02em;
    }

    .topbar a {
      color: var(--black);
      text-decoration: underline;
      text-underline-offset: 3px
    }

    /* ── NAV ────────────────────────────────────────────────── */
    nav {
      position: sticky;
      top: 0;
      z-index: 100;
      height: 64px;
      padding: 0 52px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      background: var(--nav-bg);
      backdrop-filter: blur(24px) saturate(180%);
      -webkit-backdrop-filter: blur(24px) saturate(180%);
      border-bottom: 1px solid var(--line);
    }

    .nav-logo {
      font-family: var(--head);
      font-size: 21px;
      font-weight: 800;
      color: var(--white);
      letter-spacing: -.03em;
      white-space: nowrap;
    }

    .nav-logo em {
      font-style: italic;
      color: var(--gray2)
    }

    .nav-links {
      display: flex;
      gap: 2px;
      list-style: none
    }

    .nav-links a {
      color: var(--gray4);
      font-size: 13.5px;
      font-weight: 500;
      padding: 7px 13px;
      border-radius: 8px;
      transition: all .2s;
      white-space: nowrap;
    }

    .nav-links a:hover {
      color: var(--white);
      background: rgba(255, 255, 255, .06)
    }

    .nav-r {
      display: flex;
      align-items: center;
      gap: 10px
    }

    .btn-login {
      font-size: 13px;
      font-weight: 600;
      color: var(--gray4);
      padding: 8px 16px;
      border-radius: 9px;
      border: 1px solid var(--line);
      transition: all .2s;
    }

    .btn-login:hover {
      color: var(--white);
      border-color: var(--line2)
    }

    .btn-signup {
      font-size: 13px;
      font-weight: 600;
      background: var(--white);
      color: var(--black);
      padding: 9px 20px;
      border-radius: 9px;
      transition: all .2s;
    }

    .btn-signup:hover {
      background: var(--gray1);
      transform: translateY(-1px)
    }

    .cart-pill {
      position: relative;
      background: var(--gray8);
      border: 1px solid var(--line);
      color: var(--gray1);
      width: 40px;
      height: 40px;
      border-radius: 11px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 17px;
      transition: all .2s;
      cursor: pointer;
      flex-shrink: 0;
    }

    .cart-pill:hover {
      border-color: var(--gray4)
    }

    .theme-toggle {
      background: var(--gray8);
      border: 1px solid var(--line);
      color: var(--gray1);
      width: 40px;
      height: 40px;
      border-radius: 11px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 17px;
      transition: all .2s;
      cursor: pointer;
      flex-shrink: 0;
    }

    .theme-toggle:hover {
      border-color: var(--gray4);
      background: var(--gray7);
    }

    .cbadge {
      position: absolute;
      top: -5px;
      right: -5px;
      background: var(--white);
      color: var(--black);
      font-size: 9px;
      font-weight: 700;
      width: 17px;
      height: 17px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .ham {
      display: none;
      flex-direction: column;
      gap: 5px;
      padding: 8px;
      cursor: pointer
    }

    .ham span {
      width: 22px;
      height: 2px;
      background: var(--gray2);
      border-radius: 2px;
      transition: all .3s
    }

    /* ── MOBILE NAV ─────────────────────────────────────────── */
    .mobnav {
      display: none;
      position: fixed;
      top: 64px;
      left: 0;
      right: 0;
      background: var(--mobnav-bg);
      backdrop-filter: blur(24px);
      border-bottom: 1px solid var(--line);
      padding: 14px 20px;
      z-index: 99;
      flex-direction: column;
      gap: 2px;
    }

    .mobnav.open {
      display: flex
    }

    .mobnav a {
      display: block;
      color: var(--gray2);
      font-size: 16px;
      font-weight: 500;
      padding: 13px 16px;
      border-radius: 10px;
      transition: all .2s;
    }

    .mobnav a:hover {
      background: var(--gray8);
      color: var(--white)
    }

    /* ── BUTTONS ─────────────────────────────────────────────── */
    .btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 15px;
      font-weight: 600;
      padding: 14px 28px;
      border-radius: 11px;
      transition: all .25s;
      border: none;
      cursor: pointer;
      font-family: var(--body);
    }

    .btn-white {
      background: var(--white);
      color: var(--black)
    }

    .btn-white:hover {
      background: var(--gray1);
      transform: translateY(-2px);
      box-shadow: 0 12px 32px rgba(255, 255, 255, .12)
    }

    .btn-border {
      background: transparent;
      color: var(--gray1);
      border: 1px solid var(--line2)
    }

    .btn-border:hover {
      border-color: rgba(255, 255, 255, .35);
      color: var(--white);
      background: rgba(255, 255, 255, .05)
    }

    /* ── HERO ────────────────────────────────────────────────── */
    .hero {
      position: relative;
      z-index: 1;
      min-height: calc(100vh - 100px);
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 56px;
      align-items: center;
      padding: 80px 80px 60px;
      overflow: hidden;
    }

    /* Subtle grid bg */
    .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px);
      background-size: 64px 64px;
      pointer-events: none;
    }

    /* Radial vignette over grid */
    .hero::after {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse at 60% 50%, transparent 30%, var(--black) 75%);
      pointer-events: none;
    }

    .hero-inner {
      position: relative;
      z-index: 1
    }

    .hero-eye {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      background: rgba(255, 255, 255, .06);
      border: 1px solid var(--line2);
      border-radius: 100px;
      padding: 6px 18px 6px 12px;
      margin-bottom: 30px;
      animation: fup .6s ease both;
    }

    .hero-eye .dot {
      width: 7px;
      height: 7px;
      background: var(--white);
      border-radius: 50%;
      flex-shrink: 0;
      animation: pulse 2.5s ease-in-out infinite;
    }

    @keyframes pulse {

      0%,
      100% {
        opacity: 1
      }

      50% {
        opacity: .3
      }
    }

    .hero-eye span {
      font-size: 11.5px;
      font-weight: 600;
      color: var(--gray2);
      letter-spacing: .07em;
      text-transform: uppercase
    }

    .hero-h1 {
      font-family: var(--head);
      font-size: clamp(58px, 6.5vw, 100px);
      font-weight: 900;
      line-height: .92;
      letter-spacing: -.03em;
      color: var(--white);
      animation: fup .7s .1s ease both;
    }

    .hero-h1 .italic {
      font-style: italic;
      color: var(--gray2)
    }

    .hero-sub {
      font-size: 17px;
      color: var(--gray3);
      line-height: 1.75;
      margin: 26px 0 40px;
      max-width: 440px;
      animation: fup .7s .2s ease both;
    }

    .hero-ctas {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
      animation: fup .7s .3s ease both
    }

    .hero-stats {
      display: flex;
      gap: 0;
      margin-top: 52px;
      padding-top: 40px;
      border-top: 1px solid var(--line);
      animation: fup .7s .4s ease both;
    }

    .hstat {
      padding: 0 32px
    }

    .hstat:first-child {
      padding-left: 0
    }

    .hstat+.hstat {
      border-left: 1px solid var(--line)
    }

    .hstat-v {
      font-family: var(--head);
      font-size: 34px;
      font-weight: 800;
      color: var(--white);
      letter-spacing: -.03em;
      line-height: 1;
    }

    .hstat-l {
      font-size: 12px;
      color: var(--gray4);
      margin-top: 5px;
      font-weight: 500
    }

    /* ── HERO VISUAL ─────────────────────────────────────────── */
    .hero-vis {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-template-rows: 1fr 1fr;
      gap: 12px;
      height: 520px;
      animation: fin 1s .35s ease both;
    }

    .hvc {
      position: relative;
      overflow: hidden;
      border-radius: var(--rb);
      border: 1px solid var(--line);
      background: var(--gray8);
      cursor: pointer;
    }

    .hvc:first-child {
      grid-row: span 2
    }

    .hvc img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .6s;
    }

    .hvc:hover img {
      transform: scale(1.06);
    }

    .hvc::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(160deg, transparent 40%, rgba(0, 0, 0, .75));
      pointer-events: none;
    }

    .hvc-lbl {
      position: absolute;
      bottom: 14px;
      left: 14px;
      font-size: 12px;
      font-weight: 600;
      background: rgba(255, 255, 255, .12);
      backdrop-filter: blur(12px);
      color: var(--white);
      padding: 5px 12px;
      border-radius: 7px;
      z-index: 1;
      border: 1px solid rgba(255, 255, 255, .15);
    }

    .hvc-price {
      position: absolute;
      top: 12px;
      right: 12px;
      background: var(--white);
      color: var(--black);
      font-size: 11px;
      font-weight: 700;
      padding: 4px 10px;
      border-radius: 7px;
      z-index: 1;
    }

    @keyframes fup {
      from {
        opacity: 0;
        transform: translateY(28px)
      }

      to {
        opacity: 1;
        transform: translateY(0)
      }
    }

    @keyframes fin {
      from {
        opacity: 0
      }

      to {
        opacity: 1
      }
    }

    /* ── TICKER ──────────────────────────────────────────────── */
    .ticker {
      position: relative;
      z-index: 1;
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      background: var(--gray9);
      overflow: hidden;
      padding: 13px 0;
    }

    .ticker-t {
      display: flex;
      width: max-content;
      animation: tick 32s linear infinite
    }

    .ticker-t:hover {
      animation-play-state: paused
    }

    .ticker-i {
      display: flex;
      align-items: center;
      gap: 14px;
      padding: 0 32px;
      font-size: 12px;
      font-weight: 600;
      color: var(--gray4);
      text-transform: uppercase;
      letter-spacing: .12em;
      white-space: nowrap;
    }

    .ticker-i .sep {
      color: var(--gray6);
      font-size: 14px
    }

    @keyframes tick {
      from {
        transform: translateX(0)
      }

      to {
        transform: translateX(-50%)
      }
    }

    /* ── SECTIONS ────────────────────────────────────────────── */
    .sec {
      position: relative;
      z-index: 1;
      padding: 100px 80px
    }

    .sec-alt {
      background: var(--gray9);
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line)
    }

    .sec-h {
      margin-bottom: 52px
    }

    .sec-h .label {
      margin-bottom: 12px;
      display: block
    }

    .sec-h h2 {
      font-family: var(--head);
      font-size: clamp(36px, 4vw, 56px);
      font-weight: 800;
      letter-spacing: -.03em;
      line-height: 1.0;
      color: var(--white);
      margin-bottom: 14px;
    }

    .sec-h p {
      font-size: 16px;
      color: var(--gray3);
      max-width: 500px;
      line-height: 1.75
    }

    .sec-hrow {
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      flex-wrap: wrap;
      gap: 20px;
      margin-bottom: 28px
    }

    .sec-hrow h2 {
      font-family: var(--head);
      font-size: clamp(36px, 4vw, 56px);
      font-weight: 800;
      letter-spacing: -.03em;
      color: var(--white);
      margin-bottom: 0;
    }

    /* ── HOW IT WORKS ───────────────────────────────────────── */
    .steps {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1px;
      background: var(--line);
      border: 1px solid var(--line);
      border-radius: var(--rb);
      overflow: hidden;
    }

    .step {
      background: var(--gray9);
      padding: 36px 26px;
      transition: background .3s
    }

    .step:hover {
      background: var(--gray8)
    }

    .step-n {
      font-size: 10.5px;
      font-weight: 700;
      letter-spacing: .14em;
      color: var(--gray4);
      margin-bottom: 24px;
      text-transform: uppercase
    }

    .step-ico {
      width: 48px;
      height: 48px;
      background: var(--gray8);
      border: 1px solid var(--line2);
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 22px;
      margin-bottom: 18px;
      transition: all .3s;
    }

    .step-ico img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: inherit;
    }


    .step:hover .step-ico {
      background: var(--gray7);
      border-color: rgba(255, 255, 255, .18)
    }

    .step h3 {
      font-family: var(--head);
      font-size: 17px;
      font-weight: 700;
      color: var(--white);
      margin-bottom: 10px;
      letter-spacing: -.02em
    }

    .step p {
      font-size: 13.5px;
      color: var(--gray3);
      line-height: 1.65
    }

    /* ── SHOP ───────────────────────────────────────────────── */
    .filters {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      margin-bottom: 28px
    }

    .flt {
      padding: 8px 20px;
      border-radius: 100px;
      font-size: 13px;
      font-weight: 600;
      border: 1px solid var(--line);
      background: transparent;
      color: var(--gray4);
      font-family: var(--body);
      transition: all .2s;
      cursor: pointer;
    }

    .flt.on,
    .flt:hover {
      background: var(--white);
      border-color: var(--white);
      color: var(--black)
    }

    .pgrid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px
    }

    .pcard {
      background: var(--gray9);
      border: 1px solid var(--line);
      border-radius: var(--rb);
      overflow: hidden;
      transition: all .35s cubic-bezier(.25, .46, .45, .94);
      cursor: pointer;
    }

    .pcard:hover {
      transform: translateY(-7px);
      border-color: rgba(255, 255, 255, .2);
      box-shadow: 0 24px 60px rgba(0, 0, 0, .6)
    }

    .pimg {
      position: relative;
      overflow: hidden;
      background: var(--gray8)
    }

    .pimg img {
      width: 100%;
      height: 210px;
      object-fit: cover;
      transition: transform .55s;
    }

    .pcard:hover .pimg img {
      transform: scale(1.07);
    }

    .pbadge {
      position: absolute;
      top: 12px;
      left: 12px;
      background: var(--white);
      color: var(--black);
      font-size: 10px;
      font-weight: 700;
      padding: 4px 10px;
      border-radius: 6px;
      letter-spacing: .07em;
      text-transform: uppercase;
    }

    .pacts {
      position: absolute;
      top: 12px;
      right: 12px;
      display: flex;
      flex-direction: column;
      gap: 8px;
      opacity: 0;
      transform: translateX(8px);
      transition: all .22s
    }

    .pcard:hover .pacts {
      opacity: 1;
      transform: translateX(0)
    }

    .icob {
      width: 34px;
      height: 34px;
      background: rgba(0, 0, 0, .7);
      backdrop-filter: blur(12px);
      border-radius: 9px;
      border: none;
      color: var(--white);
      font-size: 15px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: all .2s;
    }

    .icob:hover {
      background: var(--white);
      color: var(--black)
    }

    .pbody {
      padding: 18px
    }

    .pcat {
      font-size: 10.5px;
      font-weight: 600;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--gray4);
      margin-bottom: 7px
    }

    .pname {
      font-family: var(--head);
      font-size: 16px;
      font-weight: 700;
      color: var(--white);
      margin-bottom: 5px;
      letter-spacing: -.02em;
      line-height: 1.25
    }

    .pdesc {
      font-size: 12.5px;
      color: var(--gray4);
      margin-bottom: 14px;
      line-height: 1.5
    }

    .pfoot {
      display: flex;
      align-items: center;
      justify-content: space-between
    }

    .pprice {
      font-family: var(--head);
      font-size: 22px;
      font-weight: 800;
      color: var(--white);
      letter-spacing: -.03em;
      line-height: 1
    }

    .pprice .was {
      font-size: 13px;
      color: var(--gray4);
      text-decoration: line-through;
      font-family: var(--body);
      font-weight: 400;
      margin-left: 6px
    }

    .addbtn {
      width: 38px;
      height: 38px;
      background: var(--white);
      border: none;
      border-radius: 10px;
      color: var(--black);
      font-size: 20px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: all .2s;
      flex-shrink: 0;
    }

    .addbtn:hover {
      background: var(--gray1);
      transform: scale(1.1)
    }

    .loadbox {
      grid-column: 1/-1;
      text-align: center;
      padding: 80px;
      color: var(--gray4)
    }

    .spin {
      width: 28px;
      height: 28px;
      border: 2px solid var(--gray7);
      border-top-color: var(--white);
      border-radius: 50%;
      animation: sp .7s linear infinite;
      margin: 0 auto 16px
    }

    @keyframes sp {
      to {
        transform: rotate(360deg)
      }
    }

    /* ── WHY US ─────────────────────────────────────────────── */
    .fgrid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
      margin-top: 52px
    }

    .fcard {
      background: var(--gray9);
      border: 1px solid var(--line);
      border-radius: var(--rb);
      padding: 36px 30px;
      transition: all .3s;
      position: relative;
      overflow: hidden;
    }

    .fcard::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .18), transparent);
      transform: scaleX(0);
      transform-origin: left;
      transition: transform .45s;
    }

    .fcard:hover::before {
      transform: scaleX(1)
    }

    .fcard:hover {
      transform: translateY(-4px);
      border-color: rgba(255, 255, 255, .16)
    }

    .fico {
      width: 48px;
      height: 48px;
      background: var(--gray8);
      border: 1px solid var(--line2);
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 22px;
      margin-bottom: 20px;
    }

    .fcard h3 {
      font-family: var(--head);
      font-size: 18px;
      font-weight: 700;
      color: var(--white);
      margin-bottom: 10px;
      letter-spacing: -.02em
    }

    .fcard p {
      font-size: 13.5px;
      color: var(--gray3);
      line-height: 1.7
    }

    /* ── SERVICES ───────────────────────────────────────────── */
    .sgrid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      margin-top: 44px
    }

    .scard {
      background: var(--gray9);
      border: 1px solid var(--line);
      border-radius: var(--rb);
      padding: 36px;
      display: flex;
      gap: 22px;
      align-items: flex-start;
      transition: all .3s;
    }

    .scard:hover {
      border-color: rgba(255, 255, 255, .2);
      transform: translateY(-4px);
      background: var(--gray8)
    }

    .sico {
      font-size: 38px;
      flex-shrink: 0;
      line-height: 1
    }

    .stit {
      font-family: var(--head);
      font-size: 21px;
      font-weight: 700;
      color: var(--white);
      margin-bottom: 10px;
      letter-spacing: -.025em
    }

    .sdesc {
      font-size: 13.5px;
      color: var(--gray3);
      line-height: 1.7;
      margin-bottom: 14px
    }

    .sfrom {
      font-size: 12.5px;
      color: var(--gray2);
      font-weight: 600
    }

    .sarr {
      margin-left: auto;
      flex-shrink: 0;
      color: var(--gray4);
      font-size: 22px;
      align-self: center;
      transition: all .2s
    }

    .scard:hover .sarr {
      transform: translateX(5px);
      color: var(--white)
    }

    /* ── ABOUT ──────────────────────────────────────────────── */
    .about-g {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 80px;
      align-items: center
    }

    .acards {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px
    }

    .ac {
      background: var(--gray9);
      border: 1px solid var(--line);
      border-radius: var(--rb);
      padding: 28px
    }

    .ac.s2 {
      grid-column: span 2
    }

    .acv {
      font-family: var(--head);
      font-size: 38px;
      font-weight: 800;
      color: var(--white);
      letter-spacing: -.04em;
      line-height: 1
    }

    .acl {
      font-size: 14px;
      font-weight: 600;
      color: var(--gray2);
      margin-top: 8px
    }

    .acs {
      font-size: 13px;
      color: var(--gray4);
      margin-top: 4px
    }

    /* ── GALLERY ─────────────────────────────────────────────── */
    .ggrid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      grid-auto-rows: 240px;
      gap: 12px;
      margin-top: 44px;
    }

    .gi {
      position: relative;
      overflow: hidden;
      border-radius: var(--rb);
      border: 1px solid var(--line);
      cursor: pointer;
      background: var(--gray9);
    }

    .gi.tall {
      grid-row: span 2
    }

    .gi.wide {
      grid-column: span 2
    }

    .gi img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .55s;
      display: block
    }

    .gi:hover img {
      transform: scale(1.07);
    }

    .gcap {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      padding: 28px 18px 18px;
      background: linear-gradient(transparent, rgba(0, 0, 0, .85));
      font-size: 13px;
      font-weight: 600;
      color: var(--white);
      transform: translateY(6px);
      transition: transform .3s;
    }

    .gi:hover .gcap {
      transform: translateY(0)
    }

    /* ── TESTIMONIALS ───────────────────────────────────────── */
    .tgrid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
      margin-top: 52px
    }

    .tcard {
      background: var(--gray9);
      border: 1px solid var(--line);
      border-radius: var(--rb);
      padding: 28px;
      transition: all .3s
    }

    .tcard:hover {
      border-color: rgba(255, 255, 255, .16);
      transform: translateY(-3px)
    }

    .tstr {
      font-size: 13px;
      color: var(--gray2);
      margin-bottom: 14px;
      letter-spacing: 2px
    }

    .ttxt {
      font-size: 14.5px;
      color: var(--gray2);
      line-height: 1.75;
      margin-bottom: 20px;
      font-style: italic;
      font-family: var(--head)
    }

    .trev {
      display: flex;
      align-items: center;
      gap: 12px
    }

    .tav {
      width: 38px;
      height: 38px;
      border-radius: 50%;
      background: var(--gray7);
      border: 1px solid var(--line2);
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: var(--head);
      font-size: 16px;
      font-weight: 700;
      color: var(--white);
      flex-shrink: 0;
    }

    .tname {
      font-size: 14px;
      font-weight: 600;
      color: var(--white)
    }

    .tloc {
      font-size: 12px;
      color: var(--gray4);
      margin-top: 2px
    }

    /* ── FAQ ─────────────────────────────────────────────────── */
    .fwrap {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 56px;
      margin-top: 52px
    }

    .flist {
      display: flex;
      flex-direction: column;
      gap: 4px
    }

    .fi {
      border: 1px solid var(--line);
      border-radius: 12px;
      overflow: hidden;
      background: var(--gray9)
    }

    .fq {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 16px;
      padding: 19px 22px;
      font-size: 15px;
      font-weight: 600;
      color: var(--gray2);
      cursor: pointer;
      user-select: none;
      transition: all .2s;
      border: none;
      background: none;
      width: 100%;
      text-align: left;
      font-family: var(--body);
    }

    .fq:hover {
      color: var(--white);
      background: rgba(255, 255, 255, .04)
    }

    .fq.on {
      color: var(--white)
    }

    .fchev {
      flex-shrink: 0;
      color: var(--gray4);
      font-size: 18px;
      transition: transform .3s;
      display: inline-block
    }

    .fq.on .fchev {
      transform: rotate(180deg);
      color: var(--gray2)
    }

    .fa {
      max-height: 0;
      overflow: hidden;
      font-size: 14px;
      color: var(--gray3);
      line-height: 1.75;
      padding: 0 22px;
      transition: max-height .35s ease, padding .35s
    }

    .fa.on {
      max-height: 200px;
      padding: 2px 22px 20px
    }

    .fctab {
      background: var(--gray8);
      border: 1px solid var(--line2);
      border-radius: var(--rb);
      padding: 40px;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .fctab h3 {
      font-family: var(--head);
      font-size: 28px;
      font-weight: 800;
      color: var(--white);
      margin-bottom: 14px;
      letter-spacing: -.03em;
      line-height: 1.1
    }

    .fctab p {
      font-size: 14px;
      color: var(--gray3);
      line-height: 1.75;
      margin-bottom: 28px
    }

    .fctab-btns {
      display: flex;
      flex-direction: column;
      gap: 12px
    }

    /* ── TRACK ──────────────────────────────────────────────── */
    .tbox {
      max-width: 620px;
      margin: 0 auto;
      background: var(--gray9);
      border: 1px solid var(--line);
      border-radius: var(--rb);
      padding: 36px
    }

    .trow {
      display: flex;
      gap: 12px
    }

    .tinp {
      flex: 1;
      background: var(--black);
      border: 1px solid var(--line2);
      border-radius: 11px;
      color: var(--white);
      font-family: var(--body);
      font-size: 15px;
      padding: 14px 18px;
      outline: none;
      transition: border-color .2s;
    }

    .tinp:focus {
      border-color: rgba(255, 255, 255, .35)
    }

    .ttl {
      display: flex;
      flex-direction: column;
      margin-top: 28px
    }

    .tstep {
      display: flex;
      gap: 16px;
      align-items: flex-start;
      padding: 14px 0;
      position: relative
    }

    .tstep:not(:last-child)::after {
      content: '';
      position: absolute;
      left: 17px;
      top: 46px;
      width: 2px;
      height: calc(100% - 18px);
      background: var(--line)
    }

    .tstep.done:not(:last-child)::after {
      background: var(--gray4)
    }

    .tdot {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background: var(--black);
      border: 2px solid var(--gray7);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 13px;
      flex-shrink: 0;
      color: var(--gray4)
    }

    .tstep.done .tdot {
      background: var(--white);
      border-color: var(--white);
      color: var(--black)
    }

    .tstep.active .tdot {
      border-color: var(--gray2);
      background: var(--gray8);
      animation: tp 1.6s infinite
    }

    @keyframes tp {

      0%,
      100% {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, .2)
      }

      50% {
        box-shadow: 0 0 0 8px transparent
      }
    }

    .tstep.active .tsl {
      color: var(--white)
    }

    .tsl {
      font-size: 14.5px;
      font-weight: 600;
      color: var(--gray2);
      margin-bottom: 3px
    }

    .tss {
      font-size: 12.5px;
      color: var(--gray4)
    }

    /* ── CONTACT ────────────────────────────────────────────── */
    .cgrid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 60px;
      margin-top: 52px
    }

    .cform {
      display: flex;
      flex-direction: column;
      gap: 16px
    }

    .frow {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px
    }

    .fg {
      display: flex;
      flex-direction: column;
      gap: 7px
    }

    .fg label {
      font-size: 12.5px;
      font-weight: 600;
      color: var(--gray4);
      letter-spacing: .04em;
      text-transform: uppercase
    }

    .fg input,
    .fg select,
    .fg textarea {
      background: var(--gray9);
      border: 1px solid var(--line2);
      border-radius: 11px;
      color: var(--white);
      font-family: var(--body);
      font-size: 15px;
      padding: 13px 16px;
      outline: none;
      transition: border-color .2s, background-color 0.2s, color 0.2s;
      resize: none;
      width: 100%;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
    }

    .fg input:focus,
    .fg select:focus,
    .fg textarea:focus {
      border-color: rgba(255, 255, 255, .35)
    }
    
    .light-theme .fg input:focus,
    .light-theme .fg select:focus,
    .light-theme .fg textarea:focus {
      border-color: rgba(15, 17, 21, .35)
    }

    .fg select option {
      background: var(--gray9)
    }

    /* Input Placeholders */
    .fg input::placeholder,
    .fg textarea::placeholder {
      color: var(--gray4);
      opacity: 0.8;
    }

    /* Fix for iOS Safari native disabled input styling and weird borders */
    .fg input:disabled,
    .fg textarea:disabled,
    .fg select:disabled {
      opacity: 1 !important;
      -webkit-text-fill-color: var(--gray3) !important;
      color: var(--gray3) !important;
      background: var(--gray8) !important;
      border-color: var(--gray7) !important;
      cursor: not-allowed;
    }

    /* Style Choose File button beautifully */
    .fg input[type="file"] {
      padding: 10px 14px;
    }
    .fg input[type="file"]::file-selector-button {
      background: var(--gray8);
      border: 1px solid var(--line2);
      color: var(--white);
      padding: 6px 12px;
      border-radius: 6px;
      cursor: pointer;
      font-family: var(--body);
      font-size: 13px;
      margin-right: 12px;
      transition: all 0.2s;
    }
    .fg input[type="file"]::file-selector-button:hover {
      background: var(--gray7);
      border-color: var(--gray4);
    }
    .fg input[type="file"]:disabled::file-selector-button {
      opacity: 0.6;
      cursor: not-allowed;
    }

    .cinfo {
      display: flex;
      flex-direction: column;
      gap: 12px
    }

    .ic {
      background: var(--gray9);
      border: 1px solid var(--line);
      border-radius: var(--r);
      padding: 20px;
      display: flex;
      gap: 16px;
      align-items: flex-start;
      transition: border-color .2s;
    }

    .ic:hover {
      border-color: rgba(255, 255, 255, .16)
    }

    .icico {
      width: 42px;
      height: 42px;
      background: var(--gray8);
      border-radius: 11px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 19px;
      flex-shrink: 0
    }

    .icl {
      font-size: 11px;
      color: var(--gray4);
      font-weight: 600;
      margin-bottom: 4px;
      text-transform: uppercase;
      letter-spacing: .07em
    }

    .icv {
      font-size: 14.5px;
      color: var(--gray2);
      font-weight: 500
    }

    .icv a {
      color: var(--gray2);
      transition: color .2s
    }

    .icv a:hover {
      color: var(--white)
    }

    /* ── CART ───────────────────────────────────────────────── */
    .cart-ov {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, .65);
      z-index: 300;
      opacity: 0;
      pointer-events: none;
      transition: opacity .3s;
      backdrop-filter: blur(4px)
    }

    .cart-ov.open {
      opacity: 1;
      pointer-events: all
    }

    .cart-dr {
      position: fixed;
      top: 0;
      right: 0;
      bottom: 0;
      width: 420px;
      max-width: 100vw;
      background: var(--gray9);
      border-left: 1px solid var(--line);
      z-index: 301;
      transform: translateX(100%);
      transition: transform .35s cubic-bezier(.4, 0, .2, 1);
      display: flex;
      flex-direction: column
    }

    .cart-dr.open {
      transform: translateX(0)
    }

    .cart-hd {
      padding: 24px 28px;
      border-bottom: 1px solid var(--line);
      display: flex;
      justify-content: space-between;
      align-items: center
    }

    .cart-hd h3 {
      font-family: var(--head);
      font-size: 20px;
      font-weight: 700;
      color: var(--white);
      letter-spacing: -.02em
    }

    .xbtn {
      width: 36px;
      height: 36px;
      background: var(--gray8);
      border: 1px solid var(--line);
      border-radius: 10px;
      color: var(--gray2);
      font-size: 16px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: all .2s
    }

    .xbtn:hover {
      background: var(--white);
      color: var(--black);
      border-color: var(--white)
    }

    .cart-bd {
      flex: 1;
      overflow-y: auto;
      padding: 20px 28px
    }

    .c-empty {
      text-align: center;
      padding: 60px 0;
      color: var(--gray4)
    }

    .c-empty .ei {
      font-size: 48px;
      margin-bottom: 16px
    }

    .citem {
      display: flex;
      gap: 14px;
      padding: 16px 0;
      border-bottom: 1px solid var(--line);
      align-items: center
    }

    .citem img {
      width: 64px;
      height: 64px;
      object-fit: cover;
      border-radius: 10px;
      border: 1px solid var(--line);
      flex-shrink: 0;
    }

    .ci-info {
      flex: 1;
      min-width: 0
    }

    .ci-name {
      font-size: 13.5px;
      font-weight: 600;
      color: var(--white);
      margin-bottom: 4px
    }

    .ci-price {
      font-family: var(--head);
      font-size: 15px;
      color: var(--gray2);
      font-weight: 700
    }

    .qctl {
      display: flex;
      align-items: center;
      gap: 10px;
      background: var(--gray8);
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 4px 10px
    }

    .qb {
      background: none;
      border: none;
      color: var(--gray4);
      font-size: 18px;
      cursor: pointer;
      padding: 0;
      line-height: 1;
      transition: color .2s
    }

    .qb:hover {
      color: var(--white)
    }

    .qn {
      font-size: 14px;
      font-weight: 600;
      color: var(--white);
      min-width: 16px;
      text-align: center
    }

    .cart-ft {
      padding: 20px 28px 28px;
      border-top: 1px solid var(--line)
    }

    .ct-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 16px
    }

    .ct-lbl {
      font-size: 14px;
      color: var(--gray4)
    }

    .ct-val {
      font-family: var(--head);
      font-size: 28px;
      font-weight: 800;
      color: var(--white);
      letter-spacing: -.03em
    }

    .chkbtn {
      width: 100%;
      padding: 16px;
      background: var(--white);
      color: var(--black);
      border: none;
      border-radius: 11px;
      font-family: var(--head);
      font-size: 16px;
      font-weight: 700;
      cursor: pointer;
      transition: all .2s;
      letter-spacing: -.01em
    }

    .chkbtn:hover {
      background: var(--gray1)
    }

    /* ── AUTH MODAL ─────────────────────────────────────────── */
    .mov {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, .78);
      z-index: 400;
      opacity: 0;
      pointer-events: none;
      transition: opacity .3s;
      backdrop-filter: blur(8px)
    }

    .mov.open {
      opacity: 1;
      pointer-events: all
    }

    .mbox {
      position: fixed;
      top: 50%;
      left: 50%;
      z-index: 401;
      transform: translate(-50%, -48%) scale(.95);
      width: min(460px, 92vw);
      background: var(--gray9);
      border: 1px solid var(--line2);
      border-radius: var(--rb);
      opacity: 0;
      pointer-events: none;
      transition: all .3s cubic-bezier(.34, 1.5, .64, 1)
    }

    .mbox.open {
      opacity: 1;
      pointer-events: all;
      transform: translate(-50%, -50%) scale(1)
    }

    .mhd {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 20px 28px;
      border-bottom: 1px solid var(--line)
    }

    .mtabs {
      display: flex;
      gap: 4px;
      background: var(--gray8);
      border-radius: 10px;
      padding: 4px
    }

    .mtab {
      padding: 8px 22px;
      border-radius: 8px;
      background: none;
      border: none;
      color: var(--gray4);
      font-family: var(--body);
      font-size: 14px;
      font-weight: 600;
      cursor: pointer;
      transition: all .2s
    }

    .mtab.on {
      background: var(--white);
      color: var(--black)
    }

    .mbody {
      padding: 28px
    }

    .msub {
      font-size: 13.5px;
      color: var(--gray3);
      margin-bottom: 22px
    }

    /* ── LIGHTBOX ───────────────────────────────────────────── */
    .lbov {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, .94);
      z-index: 600;
      opacity: 0;
      pointer-events: none;
      transition: opacity .3s;
      backdrop-filter: blur(12px)
    }

    .lbov.open {
      opacity: 1;
      pointer-events: all
    }

    .lb {
      position: fixed;
      top: 50%;
      left: 50%;
      z-index: 601;
      transform: translate(-50%, -50%);
      display: none;
      flex-direction: column;
      align-items: center
    }

    .lb.open {
      display: flex
    }

    .lb img {
      max-width: 90vw;
      max-height: 85vh;
      border-radius: var(--rb);
      object-fit: contain
    }

    .lbcap {
      text-align: center;
      color: var(--gray3);
      font-size: 13.5px;
      margin-top: 16px
    }

    .lbx {
      position: fixed;
      top: 20px;
      right: 20px;
      width: 40px;
      height: 40px;
      background: var(--gray8);
      border: 1px solid var(--line2);
      border-radius: 12px;
      color: var(--white);
      font-size: 18px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: all .2s;
      border: none
    }

    .lbx:hover {
      background: var(--white);
      color: var(--black)
    }

    /* ── WHATSAPP ───────────────────────────────────────────── */
    .wafloat {
      position: fixed;
      bottom: 28px;
      right: 28px;
      z-index: 200;
      width: 56px;
      height: 56px;
      background: #25d366;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 8px 28px rgba(37, 211, 102, .38);
      cursor: pointer;
      transition: all .25s;
      text-decoration: none
    }

    .wafloat:hover {
      transform: scale(1.12);
      box-shadow: 0 12px 36px rgba(37, 211, 102, .55)
    }

    /* ── NOTIFICATION ───────────────────────────────────────── */
    .notif {
      position: fixed;
      bottom: 100px;
      right: 28px;
      z-index: 500;
      background: var(--gray8);
      border: 1px solid var(--line2);
      border-radius: 12px;
      padding: 13px 20px;
      font-size: 13.5px;
      color: var(--white);
      transform: translateY(16px);
      opacity: 0;
      transition: all .3s;
      pointer-events: none;
      max-width: 280px;
      line-height: 1.4
    }

    .notif.show {
      transform: translateY(0);
      opacity: 1
    }

    /* ── FOOTER ─────────────────────────────────────────────── */
    footer {
      position: relative;
      z-index: 1;
      background: var(--gray9);
      border-top: 1px solid var(--line);
      padding: 64px 80px 32px
    }

    .ftgrid {
      display: grid;
      grid-template-columns: 2fr 1fr 1fr 1.4fr;
      gap: 56px;
      margin-bottom: 48px
    }

    .ftlogo {
      font-family: var(--head);
      font-size: 22px;
      font-weight: 800;
      color: var(--white);
      letter-spacing: -.03em;
      margin-bottom: 14px
    }

    .ftlogo em {
      font-style: italic;
      color: var(--gray3)
    }

    .ftdesc {
      font-size: 13.5px;
      color: var(--gray4);
      line-height: 1.7;
      margin-bottom: 22px;
      max-width: 260px
    }

    .socs {
      display: flex;
      gap: 10px
    }

    .soc {
      width: 36px;
      height: 36px;
      background: var(--gray8);
      border: 1px solid var(--line);
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 15px;
      text-decoration: none;
      color: var(--gray4);
      transition: all .2s
    }

    .soc:hover {
      background: var(--white);
      border-color: var(--white);
      color: var(--black)
    }

    .ftcol h4 {
      font-size: 11px;
      font-weight: 700;
      color: var(--gray2);
      letter-spacing: .12em;
      text-transform: uppercase;
      margin-bottom: 18px
    }

    .ftcol ul {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 10px
    }

    .ftcol ul a {
      font-size: 13.5px;
      color: var(--gray4);
      transition: color .2s
    }

    .ftcol ul a:hover {
      color: var(--white)
    }

    .ftnews input {
      background: var(--gray8);
      border: 1px solid var(--line);
      border-radius: 10px;
      color: var(--white);
      font-family: var(--body);
      font-size: 13.5px;
      padding: 11px 14px;
      outline: none;
      width: 100%;
      margin-bottom: 10px;
      transition: border-color .2s
    }

    .ftnews input:focus {
      border-color: var(--line2)
    }

    .ftbot {
      border-top: 1px solid var(--line);
      padding-top: 28px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 12px;
      font-size: 12.5px;
      color: var(--gray4)
    }

    .ftbot a {
      color: var(--gray4);
      transition: color .2s
    }

    .ftbot a:hover {
      color: var(--white)
    }

    .ftlinks {
      display: flex;
      gap: 20px;
      flex-wrap: wrap
    }

    /* ── SCROLL REVEAL ──────────────────────────────────────── */
    .rev {
      opacity: 0;
      transform: translateY(22px);
      transition: opacity .6s ease, transform .6s ease
    }

    .rev.vis {
      opacity: 1;
      transform: translateY(0)
    }

    /* ── RESPONSIVE ─────────────────────────────────────────── */
    @media(max-width:1200px) {
      .sec {
        padding: 80px 44px
      }

      footer {
        padding: 56px 44px 28px
      }

      nav {
        padding: 0 24px
      }

      .hero {
        padding: 60px 44px;
        gap: 36px
      }

      .pgrid {
        grid-template-columns: repeat(2, 1fr)
      }

      .steps {
        grid-template-columns: repeat(2, 1fr)
      }

      .ftgrid {
        grid-template-columns: 1fr 1fr;
        gap: 32px
      }
    }

    @media(max-width:900px) {
      .hero {
        grid-template-columns: 1fr;
        padding: 44px 24px 60px;
        min-height: auto;
        gap: 40px
      }

      .hero-vis {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: 1fr;
        gap: 12px;
        height: 220px
      }

      .hvc:first-child {
        grid-row: span 1
      }

      .sec {
        padding: 64px 24px
      }

      footer {
        padding: 48px 24px 24px
      }

      nav {
        padding: 0 18px
      }

      .nav-links,
      .btn-login,
      #auth-buttons {
        display: none !important
      }

      .ham {
        display: flex
      }

      .steps,
      .fgrid,
      .tgrid,
      .sgrid,
      .about-g,
      .cgrid,
      .fwrap {
        grid-template-columns: 1fr
      }

      .cgrid {
        gap: 32px
      }

      .ggrid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto
      }

      .gi.tall,
      .gi.wide {
        grid-column: span 1;
        grid-row: span 1
      }

      .gi {
        height: 180px
      }

      .cart-dr {
        width: 100%
      }

      .frow {
        grid-template-columns: 1fr
      }

      .sec-hrow {
        flex-direction: column;
        align-items: flex-start
      }

      .mobnav-divider {
        border: none;
        border-top: 1px solid var(--line);
        margin: 8px 16px
      }
    }

    @media(max-width:768px) {
      #cart-items-container {
        min-width: 0 !important
      }

      .cart-table, 
      .cart-table tbody, 
      .cart-table tr, 
      .cart-table td {
        display: block;
        width: 100%
      }

      .cart-table thead {
        display: none
      }

      .cart-table tr {
        padding: 16px 0;
        border-bottom: 1px solid var(--line);
        position: relative
      }

      .cart-table tr:last-child {
        border-bottom: none
      }

      .cart-table td {
        padding: 6px 0 !important;
        text-align: left !important;
        border-bottom: none !important
      }

      .cart-table td:first-child {
        padding-top: 0 !important
      }

      .cart-table td:nth-child(2)::before {
        content: "Price: ";
        color: var(--gray4);
        font-size: 13px
      }

      .cart-table td:nth-child(3) {
        display: flex;
        align-items: center;
        gap: 12px
      }

      .cart-table td:nth-child(3)::before {
        content: "Quantity: ";
        color: var(--gray4);
        font-size: 13px
      }

      .cart-table td:nth-child(4)::before {
        content: "Total: ";
        color: var(--gray4);
        font-size: 13px
      }

      .cart-table td:last-child {
        position: absolute;
        top: 16px;
        right: 0;
        padding: 0 !important
      }

      .profile-actions {
        flex-direction: column;
        gap: 10px
      }
    }

    @media(max-width:600px) {
      body {
        font-size: 14.5px;
      }

      .nav-logo {
        font-size: 18px;
      }

      .topbar {
        font-size: 11px;
        padding: 6px 12px
      }

      .hero-h1 {
        font-size: clamp(32px, 10vw, 46px);
      }

      .hero-sub {
        font-size: 14.5px;
        margin: 16px 0 24px;
      }

      .hero-ctas,
      .hero-stats {
        flex-direction: column;
        gap: 16px
      }

      .hero-vis {
        height: 160px;
        gap: 8px
      }

      .hvc-lbl {
        font-size: 10px;
        padding: 3px 8px;
        bottom: 8px;
        left: 8px
      }

      .hvc-price {
        font-size: 9px;
        padding: 2px 6px;
        top: 8px;
        right: 8px
      }

      .hstat {
        padding: 0
      }

      .hstat-v {
        font-size: 26px;
      }

      .hstat + .hstat {
        border-left: none;
        border-top: 1px solid var(--line);
        padding-top: 16px;
        padding-left: 0
      }

      .btn {
        padding: 11px 22px;
        font-size: 13.5px;
        border-radius: 9px;
      }

      .sec {
        padding: 44px 16px;
      }

      .sec-h h2,
      .sec-hrow h2,
      #about-title-el,
      h2 {
        font-size: clamp(24px, 8vw, 32px) !important;
      }

      .sec-h p {
        font-size: 14px;
      }

      .step {
        padding: 24px 20px;
      }

      .step-ico {
        width: 40px;
        height: 40px;
        font-size: 18px;
        margin-bottom: 14px;
      }

      .step h3 {
        font-size: 15px;
      }

      .step p {
        font-size: 13px;
      }

      .fcard {
        padding: 24px;
      }

      .fcard h3 {
        font-size: 16px;
      }

      .fcard p {
        font-size: 13px;
      }

      .fico {
        width: 40px;
        height: 40px;
        font-size: 18px;
        margin-bottom: 16px;
      }

      .scard {
        padding: 20px;
        gap: 16px;
      }

      .sico {
        font-size: 28px;
      }

      .stit {
        font-size: 18px;
      }

      .sdesc {
        font-size: 13px;
        margin-bottom: 10px;
      }

      .sfrom {
        font-size: 12px;
      }

      .acards {
        grid-template-columns: 1fr
      }

      .ac {
        padding: 20px
      }

      .ac.s2 {
        grid-column: span 1
      }

      .acv {
        font-size: 28px;
      }

      .acl {
        font-size: 13px;
        margin-top: 6px;
      }

      .acs {
        font-size: 12px;
      }

      .pgrid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px
      }

      .pcard .pdesc {
        display: none
      }

      .pbody {
        padding: 12px 14px
      }

      .pname {
        font-size: 14px
      }

      .pprice {
        font-size: 15px
      }

      .addbtn {
        width: 32px;
        height: 32px;
        font-size: 16px
      }

      .pbadge {
        font-size: 9px;
        padding: 3px 8px
      }

      .tbox {
        padding: 20px;
        border-radius: 14px
      }

      .xbtn {
        width: 40px;
        height: 40px;
        font-size: 18px
      }

      .ggrid {
        grid-template-columns: 1fr
      }

      .gi {
        height: 210px
      }

      .ftgrid {
        grid-template-columns: 1fr
      }

      .ftlinks {
        gap: 12px
      }

      .ftbot {
        flex-direction: column;
        text-align: center;
        gap: 16px
      }

      .ftlinks {
        justify-content: center
      }

      .mobnav a {
        font-size: 14.5px;
        padding: 10px 14px;
      }

      .wafloat {
        width: 44px;
        height: 44px;
        bottom: 16px;
        right: 16px;
      }

      .wafloat svg {
        width: 22px;
        height: 22px;
      }
    }

    @media(max-width:500px) {
      .trow {
        flex-direction: column
      }

      .trow button {
        width: 100%
      }
    }

    /* Smooth theme transitions */
    body,
    nav,
    .mobnav,
    footer,
    .tbox,
    .theme-toggle {
      transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
    }
