
    /* ─── Tokens ─────────────────────────────────── */
    :root {
      --ink:        #1c1512;
      --espresso:   #241a14;
      --clay:       #9f5b3c;
      --clay-dark:  #6f3928;
      --clay-light: #c47a58;
      --sand:       #f6f1e8;
      --warm:       #efe3d0;
      --almond:     #fffaf1;
      --stone:      #c8b79f;
      --olive:      #5b5843;
      --indigo:     #17233c;
      --indigo-soft:#24385d;
      --muted:      #7a6f63;
      --paper:      #fffdf8;
      --line:       rgba(54,39,31,.14);
      --line-strong:rgba(54,39,31,.22);
      --shadow-sm:  0 8px 30px rgba(28,21,18,.08);
      --shadow:     0 24px 80px rgba(28,21,18,.13);
      --shadow-lg:  0 40px 110px rgba(28,21,18,.18);
      --font-display: 'Cormorant Garamond', Georgia, serif;
      --font-body:  'Lato', ui-sans-serif, system-ui, sans-serif;
      --font-mono:  'SFMono-Regular', Consolas, monospace;
      --r:          0px; /* sharp corners */
    }

    /* ─── Reset ──────────────────────────────────── */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      font-family: var(--font-body);
      font-size: 16px;
      color: var(--ink);
      background: var(--sand);
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }
    /* Grain overlay */
    body::after {
      content: '';
      position: fixed;
      inset: 0;
      pointer-events: none;
      z-index: 999;
      opacity: .028;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
      background-size: 160px;
    }
    a { color: inherit; text-decoration: none; }
    button, input, textarea { font-family: var(--font-body); font-size: inherit; }
    img { display: block; max-width: 100%; }

    .container { width: min(1440px, calc(100% - 48px)); margin: 0 auto; }

    /* ─── Reveal animation ───────────────────────── */
    .reveal {
      opacity: 0;
      transform: translateY(32px);
      transition: opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1);
    }
    .reveal.visible { opacity: 1; transform: none; }
    .reveal-delay-1 { transition-delay: .12s; }
    .reveal-delay-2 { transition-delay: .24s; }
    .reveal-delay-3 { transition-delay: .36s; }
    .reveal-delay-4 { transition-delay: .48s; }

    /* ─── Top banner ─────────────────────────────── */
    .top-note {
      background: var(--espresso);
      color: rgba(255,250,241,.82);
      text-align: center;
      padding: 10px 16px;
      font-size: 11px;
      letter-spacing: .18em;
      text-transform: uppercase;
      font-weight: 300;
    }
    .top-note strong { color: var(--clay-light); font-weight: 700; }

    /* ─── Navigation ─────────────────────────────── */
    .nav-wrap {
      position: sticky;
      top: 0;
      z-index: 50;
      backdrop-filter: blur(20px) saturate(1.4);
      -webkit-backdrop-filter: blur(20px) saturate(1.4);
      background: rgba(246,241,232,.88);
      border-bottom: 1px solid var(--line);
    }
    .nav {
      height: 78px;
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      gap: 20px;
    }
    .nav-links {
      display: flex;
      align-items: center;
      gap: 28px;
      font-size: 11px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--muted);
      font-weight: 400;
    }
    .nav-links a:hover { color: var(--ink); }
    .nav-actions {
      display: flex;
      align-items: center;
      gap: 22px;
      justify-content: flex-end;
      font-size: 11px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--muted);
    }
    .nav-actions a:hover { color: var(--ink); }
    .brand {
      text-align: center;
      line-height: 1;
    }
    .brand-mark {
      font-family: var(--font-display);
      font-size: clamp(26px, 3.6vw, 42px);
      letter-spacing: -.045em;
      font-weight: 400;
      color: var(--ink);
    }
    .brand-sub {
      margin-top: 5px;
      font-size: 9px;
      text-transform: uppercase;
      letter-spacing: .3em;
      color: var(--muted);
      font-weight: 300;
    }
    .cart-pill {
      border: 1px solid var(--line-strong);
      padding: 9px 14px;
      display: inline-flex;
      gap: 7px;
      align-items: center;
      font-size: 11px;
      letter-spacing: .14em;
      text-transform: uppercase;
      transition: border-color .2s, color .2s;
    }
    .cart-pill:hover { border-color: var(--clay); color: var(--clay); }
    #cartCount {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 18px;
      height: 18px;
      background: var(--clay);
      color: #fff;
      font-size: 10px;
      font-weight: 700;
      border-radius: 999px;
      padding: 0 4px;
    }
    .mobile-menu-btn { display: none; background: none; border: none; cursor: pointer; padding: 4px; }

    /* ─── Hero ───────────────────────────────────── */
    .hero {
      min-height: calc(100vh - 108px);
      display: grid;
      grid-template-columns: .94fr 1.06fr;
      gap: 48px;
      align-items: center;
      padding: 60px 0 48px;
    }
    .hero-text { max-width: 760px; }
    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 14px;
      font-size: 11px;
      letter-spacing: .22em;
      text-transform: uppercase;
      color: var(--clay-dark);
      font-weight: 700;
      margin-bottom: 22px;
    }
    .eyebrow::before {
      content: '';
      width: 40px;
      height: 1px;
      background: var(--clay-dark);
      flex-shrink: 0;
    }
    .hero h1 {
      font-family: var(--font-display);
      font-size: clamp(58px, 7vw, 112px);
      line-height: .89;
      letter-spacing: -.07em;
      font-weight: 400;
      color: var(--ink);
      margin-bottom: 26px;
    }
    .hero h1 em {
      font-style: italic;
      font-weight: 300;
      color: var(--clay);
    }
    .hero-copy {
      font-size: clamp(16px, 1.4vw, 20px);
      line-height: 1.7;
      color: #5a4f45;
      font-weight: 300;
      margin-bottom: 36px;
      max-width: 540px;
    }
    .hero-cta {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-bottom: 48px;
    }
    .btn {
      border: 1px solid var(--ink);
      background: var(--ink);
      color: var(--almond);
      padding: 15px 24px;
      min-height: 52px;
      letter-spacing: .13em;
      text-transform: uppercase;
      font-size: 11px;
      font-weight: 700;
      cursor: pointer;
      transition: background .25s, border-color .25s, color .25s, transform .22s;
      display: inline-flex;
      align-items: center;
      gap: 10px;
    }
    .btn:hover { background: var(--clay); border-color: var(--clay); transform: translateY(-2px); }
    .btn.outline { background: transparent; color: var(--ink); }
    .btn.outline:hover { background: var(--ink); color: var(--almond); transform: translateY(-2px); }
    .btn svg { width: 14px; height: 14px; flex-shrink: 0; }

    /* Hero stats */
    .hero-stats {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0;
      border-top: 1px solid var(--line-strong);
      border-left: 1px solid var(--line-strong);
      max-width: 520px;
    }
    .stat-cell {
      padding: 20px 24px;
      border-right: 1px solid var(--line-strong);
      border-bottom: 1px solid var(--line-strong);
    }
    .stat-cell strong {
      display: block;
      font-family: var(--font-display);
      font-size: 38px;
      font-weight: 400;
      line-height: 1;
      letter-spacing: -.04em;
      color: var(--ink);
    }
    .stat-cell span {
      display: block;
      margin-top: 6px;
      font-size: 10px;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--muted);
      font-weight: 400;
      line-height: 1.4;
    }

    /* Hero art */
    .hero-art {
      position: relative;
      height: min(760px, 76vh);
      min-height: 560px;
      isolation: isolate;
    }
    .photo-frame {
      position: absolute;
      background: var(--paper);
      border: 1px solid rgba(54,39,31,.15);
      box-shadow: var(--shadow);
      padding: 12px;
    }
    .frame-main {
      width: 62%;
      height: 83%;
      right: 4%;
      top: 2%;
      transform: rotate(.6deg);
      z-index: 2;
    }
    .frame-side {
      width: 44%;
      height: 47%;
      left: 0;
      bottom: 8%;
      transform: rotate(-3.5deg);
      z-index: 3;
    }
    .frame-label {
      position: absolute;
      left: 22px;
      bottom: 22px;
      background: rgba(255,253,248,.9);
      backdrop-filter: blur(8px);
      padding: 10px 14px;
      border: 1px solid rgba(54,39,31,.12);
      font-size: 10px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--muted);
      z-index: 4;
    }
    /* Rug visual — beni ourain main */
    .rug-beni {
      height: 100%;
      width: 100%;
      position: relative;
      overflow: hidden;
      background:
        repeating-linear-gradient(0deg, rgba(28,21,18,.055) 0 1px, transparent 1px 9px),
        repeating-linear-gradient(90deg, rgba(28,21,18,.045) 0 1px, transparent 1px 9px),
        linear-gradient(155deg, #f5ead6 0%, #e8d4b4 38%, #d8c09a 65%, #c4a87a 100%);
    }
    .rug-beni::before {
      content: '';
      position: absolute;
      inset: 9% 12%;
      border: 1.5px solid rgba(28,21,18,.18);
    }
    .rug-beni::after {
      content: '';
      position: absolute;
      inset: 18% 22%;
      border: 1px solid rgba(28,21,18,.1);
      transform: rotate(-8deg);
    }
    /* Rug visual — azilal color */
    .rug-azilal {
      height: 100%;
      width: 100%;
      position: relative;
      overflow: hidden;
      background:
        repeating-linear-gradient(45deg, transparent 0 14px, rgba(159,91,60,.14) 14px 15px),
        repeating-linear-gradient(-45deg, transparent 0 14px, rgba(23,35,60,.1) 14px 15px),
        linear-gradient(155deg, #f0ddc5 0%, #c4815a 28%, #17233c 52%, #9f5b3c 74%, #e8d4b4);
    }
    .rug-azilal::before {
      content: '';
      position: absolute;
      inset: 12% 14%;
      border: 1px solid rgba(255,255,255,.36);
      mix-blend-mode: screen;
    }
    /* Seal */
    .seal {
      position: absolute;
      right: -8px;
      bottom: 4%;
      width: 140px;
      height: 140px;
      border: 1px solid var(--line-strong);
      background: rgba(255,253,248,.82);
      backdrop-filter: blur(8px);
      border-radius: 999px;
      display: grid;
      place-items: center;
      text-align: center;
      font-family: var(--font-display);
      font-size: 20px;
      line-height: 1.1;
      font-weight: 400;
      transform: rotate(8deg);
      z-index: 5;
      box-shadow: var(--shadow-sm);
    }
    .seal span {
      display: block;
      font-family: var(--font-mono);
      font-size: 8px;
      letter-spacing: .18em;
      text-transform: uppercase;
      margin-top: 6px;
      color: var(--muted);
    }
    /* concierge float card */
    .hero-float {
      position: absolute;
      left: -14px;
      top: 12%;
      background: rgba(255,253,248,.9);
      backdrop-filter: blur(12px);
      border: 1px solid var(--line);
      padding: 16px 18px;
      max-width: 200px;
      box-shadow: var(--shadow-sm);
      z-index: 6;
    }
    .hero-float-label {
      font-size: 9px;
      letter-spacing: .2em;
      text-transform: uppercase;
      color: var(--clay-dark);
      font-weight: 700;
      margin-bottom: 8px;
    }
    .hero-float p {
      font-size: 13px;
      line-height: 1.6;
      color: var(--ink);
      font-weight: 300;
    }


    /* ─── Section base ────────────────────────────── */
    section { padding: 100px 0; }
    .section-ornament {
      width: 160px;
      height: 2px;
      background: linear-gradient(90deg, var(--clay), transparent);
      margin-bottom: 22px;
    }
    .section-kicker {
      font-size: 11px;
      letter-spacing: .22em;
      text-transform: uppercase;
      color: var(--clay-dark);
      font-weight: 700;
      margin-bottom: 16px;
    }
    .section-head {
      display: grid;
      grid-template-columns: .95fr 1.05fr;
      gap: 36px;
      align-items: end;
      margin-bottom: 52px;
    }
    .section-title {
      font-family: var(--font-display);
      font-size: clamp(38px, 5vw, 76px);
      line-height: .94;
      letter-spacing: -.06em;
      font-weight: 400;
      color: var(--ink);
    }
    .section-title em { font-style: italic; font-weight: 300; color: var(--clay); }
    .section-copy {
      color: #5e5248;
      font-size: 17px;
      line-height: 1.78;
      font-weight: 300;
    }

    /* ─── Collections ────────────────────────────── */
    .collections {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 14px;
    }
    .collection-card {
      min-height: 520px;
      position: relative;
      overflow: hidden;
      border: 1px solid var(--line);
      background: var(--paper);
      transition: transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease;
    }
    .collection-card:hover { transform: translateY(-7px); box-shadow: var(--shadow); }
    .collection-art { height: 100%; min-height: 520px; }
    .collection-card:nth-child(1) .collection-art { background: linear-gradient(155deg, #f5ead6, #e0cba8 40%, #c8b080); }
    .collection-card:nth-child(2) .collection-art { background: linear-gradient(155deg, #e8d4b4, #c4815a 35%, #17233c 65%, #9f5b3c); }
    .collection-card:nth-child(3) .collection-art { background: linear-gradient(155deg, #e8c4a8, #c8826a 40%, #9f5b3c 60%, #d4a88a); }
    .collection-card:nth-child(4) .collection-art { background: linear-gradient(155deg, #f5ead6, #d4c4a8 50%, #c0ac8c); }
    .collection-art::before {
      content: '';
      position: absolute;
      inset: 10% 14%;
      border: 1px solid rgba(255,255,255,.28);
      pointer-events: none;
    }
    .collection-art::after {
      content: '';
      position: absolute;
      inset: 0;
      background: repeating-linear-gradient(0deg, rgba(28,21,18,.04) 0 1px, transparent 1px 8px);
    }
    .collection-info {
      position: absolute;
      inset: auto 14px 14px;
      padding: 18px 20px;
      background: rgba(255,253,248,.9);
      backdrop-filter: blur(12px);
      border: 1px solid rgba(54,39,31,.12);
    }
    .collection-info h3 {
      font-family: var(--font-display);
      font-size: 28px;
      margin-bottom: 7px;
      font-weight: 400;
      letter-spacing: -.038em;
    }
    .collection-info p {
      color: var(--muted);
      line-height: 1.5;
      font-size: 13px;
      font-weight: 300;
    }

    /* ─── Shop panel (dark) ──────────────────────── */
    .shop-panel {
      background: var(--espresso);
      color: #fff4e5;
      padding: 96px 0;
      position: relative;
      overflow: hidden;
    }
    .shop-panel::before {
      content: '';
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 12% 8%, rgba(159,91,60,.28), transparent 30%),
        radial-gradient(circle at 88% 88%, rgba(23,35,60,.32), transparent 28%),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255,255,255,.02) 1px, transparent 1px);
      background-size: auto, auto, 88px 88px, 88px 88px;
    }
    .shop-panel .container { position: relative; z-index: 1; }
    .shop-panel .section-copy { color: rgba(255,244,229,.66); }
    .shop-panel .section-title { color: #fff4e5; }
    .shop-panel .section-kicker { color: var(--clay-light); }
    .shop-panel .section-ornament { background: linear-gradient(90deg, var(--clay-light), transparent); }

    .filter-row {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-bottom: 32px;
    }
    .filter-btn {
      border: 1px solid rgba(255,244,229,.28);
      color: rgba(255,244,229,.72);
      background: transparent;
      padding: 10px 16px;
      text-transform: uppercase;
      letter-spacing: .14em;
      font-size: 10px;
      cursor: pointer;
      transition: background .2s, color .2s, border-color .2s;
      font-family: var(--font-body);
      font-weight: 700;
    }
    .filter-btn.active,
    .filter-btn:hover { background: #fff4e5; color: var(--espresso); border-color: #fff4e5; }

    .products {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px;
    }
    .product-card {
      background: rgba(255,244,229,.055);
      border: 1px solid rgba(255,244,229,.12);
      padding: 10px;
      transition: transform .3s cubic-bezier(.22,1,.36,1), background .3s ease;
    }
    .product-card:hover { transform: translateY(-6px); background: rgba(255,244,229,.09); }
    .product-img {
      aspect-ratio: 3 / 4;
      position: relative;
      overflow: hidden;
    }
    /* Distinct rug visuals per card */
    .product-card:nth-child(1) .product-img { background: linear-gradient(155deg, #f5ead6, #e0cba8 45%, #c8b080); }
    .product-card:nth-child(2) .product-img { background: linear-gradient(155deg, #f0ddc5, #c4815a 30%, #17233c 55%, #9f5b3c 75%, #e8d4b4); }
    .product-card:nth-child(3) .product-img { background: linear-gradient(155deg, #e8c4a8, #c8826a 40%, #9f5b3c 60%, #d4a88a); }
    .product-card:nth-child(4) .product-img { background: linear-gradient(155deg, #f5ead6, #d4c4a8 45%, #c4a87a 80%); }
    .product-card:nth-child(5) .product-img { background: linear-gradient(155deg, #e8d4b4, #b8926a 35%, #241a14 60%, #e8c4a0); }
    .product-card:nth-child(6) .product-img { background: linear-gradient(155deg, #eeddcc, #c8a890 40%, #8a6a54 75%); }
    .product-card:nth-child(7) .product-img { background: repeating-linear-gradient(90deg, #1c1512 0 6px, #f8f3e8 6px 18px, #9f5b3c 18px 24px, #f8f3e8 24px 36px); }
    .product-card:nth-child(8) .product-img { background: linear-gradient(155deg, #f5ead6, #e8cca0 40%, #d4b87a 100%); }
    .product-img::before {
      content: '';
      position: absolute;
      inset: 10% 12%;
      border: 1px solid rgba(255,255,255,.3);
      mix-blend-mode: screen;
    }
    .product-img::after {
      content: '';
      position: absolute;
      inset: 0;
      background: repeating-linear-gradient(0deg, rgba(255,255,255,.03) 0 1px, transparent 1px 9px);
    }
    .product-meta { padding: 16px 4px 4px; }
    .product-top { display: flex; justify-content: space-between; gap: 12px; align-items: start; margin-bottom: 8px; }
    .product-name {
      font-family: var(--font-display);
      font-size: 22px;
      letter-spacing: -.03em;
      font-weight: 400;
      line-height: 1.1;
    }
    .price {
      font-size: 13px;
      letter-spacing: .06em;
      color: rgba(255,244,229,.72);
      white-space: nowrap;
      font-weight: 300;
    }
    .product-tags {
      color: rgba(255,244,229,.48);
      font-size: 11px;
      letter-spacing: .08em;
      text-transform: uppercase;
      margin-bottom: 12px;
      font-weight: 300;
    }
    .add-btn {
      width: 100%;
      border: 1px solid rgba(255,244,229,.28);
      background: transparent;
      color: rgba(255,244,229,.88);
      padding: 12px;
      cursor: pointer;
      text-transform: uppercase;
      letter-spacing: .14em;
      font-size: 10px;
      font-weight: 700;
      transition: background .2s, color .2s;
    }
    .add-btn:hover { background: #fff4e5; color: var(--espresso); }

    /* ─── Craft / Story ───────────────────────────── */
    .story-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      align-items: stretch;
    }
    .story-block {
      background: rgba(255,253,248,.72);
      border: 1px solid var(--line);
      padding: clamp(32px, 4.5vw, 64px);
      min-height: 520px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }
    .story-block.dark {
      background: var(--indigo);
      color: #fff4e5;
      position: relative;
      overflow: hidden;
    }
    .story-block.dark::before {
      content: '';
      position: absolute;
      inset: 20px;
      border: 1px solid rgba(255,244,229,.12);
      pointer-events: none;
    }
    .story-block.dark::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 220px;
      background: radial-gradient(ellipse at 50% 100%, rgba(159,91,60,.22), transparent 70%);
      pointer-events: none;
    }
    .story-block h3 {
      font-family: var(--font-display);
      font-size: clamp(34px, 4.5vw, 68px);
      line-height: .97;
      letter-spacing: -.055em;
      font-weight: 400;
      margin-bottom: 22px;
    }
    .story-block h3 em { font-style: italic; font-weight: 300; }
    .story-block p {
      font-size: 16px;
      line-height: 1.78;
      color: #5c5148;
      max-width: 580px;
      font-weight: 300;
    }
    .story-block.dark p { color: rgba(255,244,229,.68); }
    .story-block.dark .section-kicker { color: var(--clay-light); }

    .atelier-stats {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1px;
      background: var(--line-strong);
      border: 1px solid var(--line-strong);
      margin-top: 24px;
    }
    .atelier-stat {
      background: #fff8ed;
      padding: 24px;
    }
    .atelier-stat strong {
      display: block;
      font-family: var(--font-display);
      font-size: 40px;
      font-weight: 400;
      line-height: 1;
      letter-spacing: -.04em;
      margin-bottom: 6px;
    }
    .atelier-stat span {
      color: var(--muted);
      font-size: 10px;
      letter-spacing: .14em;
      text-transform: uppercase;
      font-weight: 400;
    }
    .signature {
      font-family: var(--font-display);
      font-size: 30px;
      font-style: italic;
      font-weight: 300;
      margin-top: 32px;
      position: relative;
      z-index: 1;
    }

    /* ─── Concierge ──────────────────────────────── */
    .concierge-section { padding: 0 0 100px; }
    .concierge {
      background: linear-gradient(138deg, var(--clay) 0%, #7a3f25 48%, var(--indigo) 100%);
      color: #fff4e5;
      padding: 80px clamp(28px, 6vw, 88px);
      display: grid;
      grid-template-columns: 1.1fr .9fr;
      gap: 48px;
      align-items: center;
      position: relative;
      overflow: hidden;
    }
    .concierge::before {
      content: '';
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 100% 0%, rgba(23,35,60,.3), transparent 40%),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255,255,255,.02) 1px, transparent 1px);
      background-size: auto, 80px 80px, 80px 80px;
    }
    .concierge > * { position: relative; z-index: 1; }
    .concierge h2 {
      font-family: var(--font-display);
      font-weight: 400;
      font-size: clamp(40px, 5.5vw, 84px);
      line-height: .93;
      letter-spacing: -.06em;
      margin-bottom: 22px;
    }
    .concierge h2 em { font-style: italic; font-weight: 300; }
    .concierge p {
      color: rgba(255,244,229,.72);
      font-size: 17px;
      line-height: 1.72;
      font-weight: 300;
      max-width: 580px;
      margin-bottom: 28px;
    }
    .concierge-form {
      background: rgba(255,244,229,.1);
      border: 1px solid rgba(255,244,229,.16);
      padding: 26px;
      display: grid;
      gap: 10px;
      backdrop-filter: blur(8px);
    }
    .concierge-form input,
    .concierge-form textarea {
      width: 100%;
      border: 1px solid rgba(255,244,229,.22);
      background: rgba(20,12,9,.15);
      color: #fff4e5;
      padding: 14px 16px;
      outline: none;
      transition: border-color .2s;
      font-size: 14px;
      font-weight: 300;
    }
    .concierge-form input:focus,
    .concierge-form textarea:focus { border-color: rgba(255,244,229,.5); }
    .concierge-form input::placeholder,
    .concierge-form textarea::placeholder { color: rgba(255,244,229,.5); }
    .concierge-form textarea { min-height: 110px; resize: vertical; }
    .concierge-form .btn {
      background: #fff4e5;
      color: var(--espresso);
      border-color: #fff4e5;
      width: 100%;
      justify-content: center;
    }
    .concierge-form .btn:hover { background: var(--clay); border-color: var(--clay); color: #fff; }

    /* ─── Journal ─────────────────────────────────── */
    .journal-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
    }
    .journal-card {
      background: var(--paper);
      border: 1px solid var(--line);
      min-height: 440px;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      overflow: hidden;
      position: relative;
      transition: transform .35s cubic-bezier(.22,1,.36,1);
    }
    .journal-card:hover { transform: translateY(-6px); }
    .journal-art {
      position: absolute;
      inset: 0;
    }
    .journal-card:nth-child(1) .journal-art { background: linear-gradient(180deg, transparent 0 32%, rgba(28,21,18,.78)), linear-gradient(145deg, #e6ccb0, #9f5b3c 48%, #17233c); }
    .journal-card:nth-child(2) .journal-art { background: linear-gradient(180deg, transparent 0 32%, rgba(28,21,18,.78)), linear-gradient(145deg, #e8d4b4, #c4815a 40%, #6f3928); }
    .journal-card:nth-child(3) .journal-art { background: linear-gradient(180deg, transparent 0 32%, rgba(28,21,18,.78)), linear-gradient(145deg, #17233c, #2c3d6a 50%, #9f5b3c); }
    .journal-content {
      position: relative;
      z-index: 2;
      padding: 28px 26px;
      color: #fff7eb;
    }
    .journal-content .section-kicker { color: rgba(255,247,235,.65); margin-bottom: 10px; }
    .journal-content h3 {
      font-family: var(--font-display);
      font-size: 30px;
      line-height: 1.02;
      letter-spacing: -.04em;
      font-weight: 400;
    }

    /* ─── Footer ──────────────────────────────────── */
    .footer {
      background: #140f0d;
      color: #fff4e5;
      padding: 72px 0 36px;
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.2fr .8fr .8fr 1.1fr;
      gap: 32px;
      align-items: start;
    }
    .footer .brand-mark { color: #fff4e5; }
    .footer-tagline {
      margin-top: 16px;
      max-width: 300px;
      color: rgba(255,244,229,.58);
      font-size: 14px;
      line-height: 1.7;
      font-weight: 300;
    }
    .footer h4 {
      font-size: 10px;
      letter-spacing: .22em;
      text-transform: uppercase;
      color: rgba(255,244,229,.44);
      margin-bottom: 18px;
      font-weight: 700;
    }
    .footer a {
      display: block;
      color: rgba(255,244,229,.7);
      line-height: 2;
      font-size: 14px;
      font-weight: 300;
      transition: color .2s;
    }
    .footer a:hover { color: #fff4e5; }
    .newsletter-row {
      display: flex;
      margin-top: 16px;
      border: 1px solid rgba(255,244,229,.22);
    }
    .newsletter-row input {
      flex: 1;
      min-width: 0;
      border: none;
      background: transparent;
      color: #fff4e5;
      padding: 12px 14px;
      outline: none;
      font-size: 13px;
    }
    .newsletter-row input::placeholder { color: rgba(255,244,229,.44); }
    .newsletter-row button {
      border: none;
      background: rgba(255,244,229,.12);
      color: #fff4e5;
      padding: 0 16px;
      cursor: pointer;
      text-transform: uppercase;
      letter-spacing: .14em;
      font-size: 10px;
      font-weight: 700;
      transition: background .2s;
    }
    .newsletter-row button:hover { background: var(--clay); }
    .footer-bottom {
      margin-top: 56px;
      padding-top: 22px;
      border-top: 1px solid rgba(255,244,229,.1);
      color: rgba(255,244,229,.38);
      font-size: 12px;
      display: flex;
      justify-content: space-between;
      gap: 16px;
      flex-wrap: wrap;
      font-weight: 300;
    }

    /* ─── WhatsApp button ────────────────────────── */
    .wa-btn {
      position: fixed;
      bottom: 28px;
      right: 28px;
      z-index: 200;
      width: 56px;
      height: 56px;
      background: #25d366;
      border-radius: 999px;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 8px 30px rgba(37,211,102,.38);
      transition: transform .25s, box-shadow .25s;
    }
    .wa-btn:hover { transform: scale(1.08); box-shadow: 0 12px 40px rgba(37,211,102,.48); }
    .wa-btn svg { width: 28px; height: 28px; }

    /* ─── Mobile nav ─────────────────────────────── */
    .mobile-drawer {
      position: fixed;
      inset: 0;
      z-index: 100;
      pointer-events: none;
      opacity: 0;
      transition: opacity .3s;
    }
    .mobile-drawer.open {
      pointer-events: all;
      opacity: 1;
    }
    .mobile-overlay {
      position: absolute;
      inset: 0;
      background: rgba(28,21,18,.6);
      backdrop-filter: blur(4px);
    }
    .mobile-panel {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      width: min(320px, 85vw);
      background: var(--paper);
      padding: 28px;
      display: flex;
      flex-direction: column;
      gap: 8px;
      transform: translateX(100%);
      transition: transform .35s cubic-bezier(.22,1,.36,1);
    }
    .mobile-drawer.open .mobile-panel { transform: translateX(0); }
    .mobile-close {
      align-self: flex-end;
      background: none;
      border: none;
      font-size: 24px;
      cursor: pointer;
      color: var(--muted);
      margin-bottom: 16px;
    }
    .mobile-panel a {
      font-family: var(--font-display);
      font-size: 28px;
      letter-spacing: -.04em;
      font-weight: 400;
      color: var(--ink);
      padding: 10px 0;
      border-bottom: 1px solid var(--line);
    }
    .mobile-panel a:last-of-type { border-bottom: none; }

    /* ─── Hero page-load animation ───────────────── */
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(28px); }
      to { opacity: 1; transform: none; }
    }
    .hero-text > * {
      animation: fadeUp .9s cubic-bezier(.22,1,.36,1) both;
    }
    .hero-text .eyebrow   { animation-delay: .05s; }
    .hero-text h1         { animation-delay: .15s; }
    .hero-text .hero-copy { animation-delay: .25s; }
    .hero-text .hero-cta  { animation-delay: .35s; }
    .hero-text .hero-stats{ animation-delay: .44s; }
    .hero-art {
      animation: fadeUp 1.1s cubic-bezier(.22,1,.36,1) .2s both;
    }

    /* ─── Responsive ─────────────────────────────── */
    @media (max-width: 1100px) {
      .hero { grid-template-columns: 1fr; min-height: auto; }
      .hero-art { height: 600px; min-height: 480px; }
      .collections, .products { grid-template-columns: repeat(2, 1fr); }
      .section-head, .story-grid, .concierge { grid-template-columns: 1fr; }
      .footer-grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 780px) {
      .container { width: min(100% - 28px, 1440px); }
      .nav { height: 70px; grid-template-columns: auto 1fr auto; }
      .nav-links { display: none; }
      .nav-actions a:not(.cart-pill) { display: none; }
      .mobile-menu-btn { display: flex; }
      .brand { text-align: left; }
      .brand-mark { font-size: 28px; }
      .hero h1 { font-size: clamp(50px, 16vw, 72px); }
      .hero-stats { grid-template-columns: 1fr 1fr 1fr; }
      .hero-art { height: 500px; }
      .frame-main { width: 72%; right: 0; height: 76%; }
      .frame-side { width: 52%; left: 0; bottom: 6%; }
      .hero-float { display: none; }
      .seal { width: 112px; height: 112px; font-size: 17px; }
      section { padding: 64px 0; }
      .collections, .journal-grid { grid-template-columns: 1fr; }
      .collection-card, .collection-art { min-height: 400px; }
      .concierge { padding: 44px 20px; }
      .story-grid { grid-template-columns: 1fr; }
      .atelier-stats { grid-template-columns: repeat(3, 1fr); }
      .products { grid-template-columns: 1fr 1fr; }
      .footer-grid { grid-template-columns: 1fr; }
      .footer-bottom { display: block; }
      .wa-btn { bottom: 18px; right: 18px; }
    }
  

/* ─── Multipage additions ───────────────────────── */
.nav-links a[aria-current="page"], .nav-actions a[aria-current="page"] { color: var(--ink); }
.page-hero { padding: 86px 0 64px; border-bottom: 1px solid var(--line); }
.page-hero-inner { display: grid; grid-template-columns: .95fr 1.05fr; gap: 42px; align-items: end; }
.page-hero h1 { font-family: var(--font-display); font-size: clamp(56px, 7.4vw, 116px); line-height: .88; letter-spacing: -.07em; font-weight: 400; }
.page-hero h1 em { color: var(--clay); font-style: italic; font-weight: 300; }
.page-hero p { font-size: clamp(16px, 1.45vw, 20px); line-height: 1.75; color: #5a4f45; font-weight: 300; max-width: 680px; }
.page-art { min-height: 340px; border: 1px solid var(--line); background: var(--paper); padding: 12px; box-shadow: var(--shadow-sm); }
.page-art > div { height: 100%; min-height: 316px; }
.breadcrumbs { font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: var(--muted); margin-bottom: 22px; }
.breadcrumbs a { color: var(--clay-dark); }
.editorial-band { padding: 56px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,253,248,.45); }
.editorial-band .container { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.editorial-tile { background: var(--sand); padding: 30px; min-height: 160px; }
.editorial-tile strong { display:block; font-family: var(--font-display); font-size: 32px; font-weight:400; letter-spacing:-.04em; margin-bottom:10px; }
.editorial-tile span { color: var(--muted); font-size: 13px; line-height: 1.65; font-weight:300; }
.product-page { display:grid; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items:start; padding: 82px 0 96px; }
.product-gallery { display:grid; grid-template-columns: .22fr 1fr; gap: 14px; position: sticky; top: 110px; }
.product-thumbs { display:grid; gap: 10px; align-content:start; }
.product-thumb { aspect-ratio: 1; border:1px solid var(--line); background: var(--paper); padding: 5px; cursor:pointer; }
.product-thumb div, .product-main-img div { height:100%; }
.product-main-img { border: 1px solid var(--line); padding: 12px; background: var(--paper); box-shadow: var(--shadow); min-height: 720px; }
.product-detail h1 { font-family: var(--font-display); font-size: clamp(48px, 5.6vw, 86px); line-height:.9; letter-spacing:-.065em; font-weight:400; margin-bottom:18px; }
.product-detail .price-large { font-family: var(--font-display); font-size: 42px; font-weight: 400; margin: 20px 0; color: var(--clay-dark); }
.detail-meta { display:grid; grid-template-columns: repeat(2,1fr); gap:1px; background: var(--line); border:1px solid var(--line); margin: 30px 0; }
.detail-meta div { background: var(--paper); padding:18px; }
.detail-meta span { display:block; color:var(--muted); font-size:10px; letter-spacing:.14em; text-transform:uppercase; margin-bottom:7px; }
.detail-meta strong { font-weight:400; }
.qty-row { display:flex; gap:10px; margin: 28px 0 14px; }
.qty-row .btn { flex:1; justify-content:center; }
.text-panel { background: var(--paper); border:1px solid var(--line); padding: clamp(28px, 4vw, 56px); }
.text-panel h2, .text-panel h3 { font-family: var(--font-display); font-weight:400; letter-spacing:-.05em; line-height:.98; }
.text-panel h2 { font-size: clamp(40px,5vw,76px); margin-bottom:18px; }
.text-panel h3 { font-size: 34px; margin: 28px 0 12px; }
.text-panel p, .text-panel li { color:#5a4f45; line-height:1.78; font-weight:300; }
.text-panel ul { padding-left: 18px; }
.split-layout { display:grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items:stretch; }
.collection-page-grid { display:grid; grid-template-columns: .32fr 1fr; gap: 32px; align-items:start; }
.sidebar-filter { position: sticky; top: 110px; border:1px solid var(--line); background: var(--paper); padding: 24px; }
.sidebar-filter h3 { font-family: var(--font-display); font-size: 32px; font-weight:400; letter-spacing:-.04em; margin-bottom: 16px; }
.sidebar-filter a { display:block; padding: 12px 0; border-bottom:1px solid var(--line); color:var(--muted); font-size:13px; letter-spacing:.08em; text-transform:uppercase; }
.sidebar-filter a.active, .sidebar-filter a:hover { color: var(--ink); }
.light-products { display:grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.light-product-card { background: var(--paper); border:1px solid var(--line); padding:10px; transition: transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s; }
.light-product-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-sm); }
.light-product-card .product-img { aspect-ratio: 3/4; }
.light-product-card .product-name { color: var(--ink); }
.light-product-card .price { color: var(--clay-dark); }
.light-product-card .product-tags { color: var(--muted); }
.light-product-card .add-btn { color: var(--ink); border-color: var(--line-strong); }
.light-product-card .add-btn:hover { background: var(--ink); color: var(--almond); }
.article-layout { max-width: 980px; margin: 0 auto; padding: 80px 0 96px; }
.article-layout h1 { font-family: var(--font-display); font-size: clamp(54px, 7vw, 104px); line-height:.9; letter-spacing:-.07em; font-weight:400; margin-bottom:24px; }
.article-layout h2 { font-family: var(--font-display); font-size: 44px; line-height:1; letter-spacing:-.05em; font-weight:400; margin: 44px 0 14px; }
.article-layout p { font-size:18px; line-height:1.85; color:#5a4f45; font-weight:300; margin-bottom:18px; }
.article-image { height: 460px; border:1px solid var(--line); margin: 34px 0; background: linear-gradient(145deg, #e6ccb0, #9f5b3c 48%, #17233c); }
.cart-layout { display:grid; grid-template-columns: 1fr .42fr; gap: 24px; padding: 80px 0 100px; }
.cart-item { display:grid; grid-template-columns: 130px 1fr auto; gap: 22px; align-items:center; background:var(--paper); border:1px solid var(--line); padding:14px; margin-bottom:12px; }
.cart-item-art { aspect-ratio:1; }
.summary-box { background: var(--espresso); color:#fff4e5; padding:32px; position:sticky; top:110px; }
.summary-line { display:flex; justify-content:space-between; padding:14px 0; border-bottom:1px solid rgba(255,244,229,.14); color:rgba(255,244,229,.7); }
.summary-total { display:flex; justify-content:space-between; padding:20px 0 28px; font-family:var(--font-display); font-size:32px; }
.form-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.form-grid .full { grid-column: 1/-1; }
.form-grid input, .form-grid textarea, .form-grid select { width:100%; border:1px solid var(--line-strong); background:rgba(255,253,248,.75); padding:14px 16px; outline:none; color:var(--ink); }
@media (max-width: 1100px) {
  .page-hero-inner, .product-page, .split-layout, .collection-page-grid, .cart-layout { grid-template-columns:1fr; }
  .product-gallery, .sidebar-filter, .product-main-img { position: static; }
  .light-products { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 780px) {
  .page-hero { padding:56px 0 40px; }
  .product-gallery { grid-template-columns:1fr; }
  .product-thumbs { grid-template-columns: repeat(3,1fr); }
  .product-main-img { min-height: 440px; }
  .editorial-band .container, .light-products, .detail-meta, .form-grid { grid-template-columns:1fr; }
  .cart-item { grid-template-columns: 86px 1fr; }
  .cart-item > strong { grid-column: 2; }
}

/* Reusable rug artwork for cards across pages */
.product-img { background: linear-gradient(155deg, #f5ead6, #e0cba8 45%, #c8b080); }
.light-product-card:nth-child(1) .product-img, .product-card:nth-child(1) .product-img { background: linear-gradient(155deg, #f5ead6, #e0cba8 45%, #c8b080); }
.light-product-card:nth-child(2) .product-img, .product-card:nth-child(2) .product-img { background: linear-gradient(155deg, #f0ddc5, #c4815a 30%, #17233c 55%, #9f5b3c 75%, #e8d4b4); }
.light-product-card:nth-child(3) .product-img, .product-card:nth-child(3) .product-img { background: linear-gradient(155deg, #e8c4a8, #c8826a 40%, #9f5b3c 60%, #d4a88a); }
.light-product-card:nth-child(4) .product-img, .product-card:nth-child(4) .product-img { background: linear-gradient(155deg, #f5ead6, #d4c4a8 45%, #c4a87a 80%); }
.light-product-card:nth-child(5) .product-img, .product-card:nth-child(5) .product-img { background: linear-gradient(155deg, #e8d4b4, #b8926a 35%, #241a14 60%, #e8c4a0); }
.light-product-card:nth-child(6) .product-img, .product-card:nth-child(6) .product-img { background: linear-gradient(155deg, #eeddcc, #c8a890 40%, #8a6a54 75%); }
.light-product-card:nth-child(7) .product-img, .product-card:nth-child(7) .product-img { background: repeating-linear-gradient(90deg, #1c1512 0 6px, #f8f3e8 6px 18px, #9f5b3c 18px 24px, #f8f3e8 24px 36px); }
.light-product-card:nth-child(8) .product-img, .product-card:nth-child(8) .product-img { background: linear-gradient(155deg, #f5ead6, #e8cca0 40%, #d4b87a 100%); }
.cart-item-art { border: 1px solid var(--line); }


/* MVP expansion pages */
.studio-grid,.split-lux{display:grid;grid-template-columns:.9fr 1.1fr;gap:26px;align-items:start;margin:40px auto 90px}.text-panel,.lux-form,.passport-card,.qr-card,.cards-3 article,.process-row article{background:rgba(255,253,248,.74);border:1px solid var(--line);box-shadow:var(--shadow-sm);padding:28px}.text-panel h3,.lux-form h3,.cards-3 h3,.process-row h3{font-family:var(--font-display);font-size:30px;font-weight:400;letter-spacing:-.03em;margin-bottom:10px}.text-panel p,.cards-3 p,.process-row p,.faq-wrap p,.qr-card p,.fineprint{color:var(--muted);line-height:1.75;font-weight:300}.trust-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.trust-row span{border:1px solid var(--line);padding:9px 12px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);background:rgba(255,255,255,.36)}.lux-form{display:grid;gap:18px}.form-section-title{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--clay);font-weight:700}.lux-form input,.lux-form textarea,.lux-form select{width:100%;border:1px solid var(--line-strong);background:rgba(255,253,248,.8);padding:14px 16px;outline:none;color:var(--ink)}.lux-form textarea{min-height:122px;resize:vertical}.upload-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.upload-row button,.checkout-methods button{border:1px dashed var(--line-strong);background:rgba(235,227,215,.55);padding:14px;color:var(--muted);cursor:pointer}.process-row,.cards-3{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:30px auto 90px}.cards-3{grid-template-columns:repeat(3,1fr)}.process-row strong{font-family:var(--font-display);font-size:36px;font-weight:300;color:var(--clay)}.dark-card{background:var(--espresso);color:#fff4e5;box-shadow:var(--shadow);padding:36px}.dark-card h2{font-family:var(--font-display);font-size:44px;font-weight:400;line-height:1;margin:14px 0}.lux-list{list-style:none;display:grid;gap:13px;margin-top:20px}.lux-list li{border-top:1px solid rgba(255,244,229,.16);padding-top:13px;color:rgba(255,244,229,.72);font-weight:300}.faq-wrap{max-width:980px;margin:30px auto 90px;display:grid;gap:12px}.faq-wrap details{background:rgba(255,253,248,.74);border:1px solid var(--line);box-shadow:var(--shadow-sm);padding:20px 24px}.faq-wrap summary{font-family:var(--font-display);font-size:26px;cursor:pointer}.cta-band{background:var(--espresso);color:#fff4e5;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:34px;margin-bottom:90px}.cta-band h2{font-family:var(--font-display);font-size:42px;font-weight:400}.cta-band p{color:rgba(255,244,229,.62);margin-top:8px}.passport{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;margin:40px auto 90px}.passport-card h2{font-family:var(--font-display);font-size:54px;font-weight:400;margin:12px 0 22px}.passport-grid{display:grid;grid-template-columns:170px 1fr;border-top:1px solid var(--line)}.passport-grid span,.passport-grid strong{padding:14px 0;border-bottom:1px solid var(--line)}.passport-grid span{color:var(--muted);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.fake-qr{width:220px;height:220px;margin:0 auto 18px;background:repeating-linear-gradient(45deg,var(--ink) 0 8px,#fff4e5 8px 16px);border:18px solid #fff4e5;box-shadow:inset 0 0 0 1px var(--line)}.checkout-methods{display:grid;gap:10px;margin-top:12px}.summary-box .fineprint{font-size:12px;margin-top:14px;text-align:center}@media(max-width:900px){.studio-grid,.split-lux,.passport{grid-template-columns:1fr}.process-row,.cards-3{grid-template-columns:1fr 1fr}.upload-row{grid-template-columns:1fr}.cta-band{display:block}.cta-band .btn{margin-top:20px}}@media(max-width:620px){.process-row,.cards-3{grid-template-columns:1fr}.passport-grid{grid-template-columns:1fr}.passport-grid strong{padding-top:0}.fake-qr{width:170px;height:170px}.page-hero-inner h1{font-size:48px}}

/* ─── Phase polish: UX, accessibility, premium finish ───────────── */
:root {
  --radius-sm: 10px;
  --radius: 18px;
  --radius-lg: 28px;
  --ease-out: cubic-bezier(.22,1,.36,1);
}
::selection { background: rgba(159,91,60,.24); color: var(--ink); }
html { scroll-padding-top: 112px; }
body {
  background:
    radial-gradient(circle at 8% -8%, rgba(196,122,88,.16), transparent 34vw),
    radial-gradient(circle at 100% 22%, rgba(23,35,60,.08), transparent 28vw),
    linear-gradient(180deg, #f8f2e8 0%, var(--sand) 42%, #f4ecdf 100%);
}
body.drawer-open { overflow: hidden; }
.skip-link {
  position: fixed;
  left: 18px;
  top: 14px;
  z-index: 1000;
  transform: translateY(-150%);
  background: var(--ink);
  color: var(--almond);
  padding: 12px 16px;
  border-radius: 999px;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: transform .2s var(--ease-out);
}
.skip-link:focus { transform: translateY(0); outline: none; }
.scroll-progress {
  position: fixed;
  inset: 0 auto auto 0;
  width: 100%;
  height: 3px;
  transform-origin: left center;
  transform: scaleX(0);
  background: linear-gradient(90deg, var(--clay), var(--clay-light), var(--indigo-soft));
  z-index: 300;
  pointer-events: none;
}
.top-note { position: relative; z-index: 60; }
.nav-wrap { box-shadow: 0 10px 28px rgba(28,21,18,.035); }
.nav-links a,
.nav-actions > a,
.mobile-panel a,
.footer a,
.product-name,
.collection-card,
.journal-card { -webkit-tap-highlight-color: transparent; }
.nav-links a,
.nav-actions > a { position: relative; padding: 9px 0; }
.nav-links a::after,
.nav-actions > a:not(.cart-pill)::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 3px;
  height: 1px;
  transform: scaleX(0);
  transform-origin: right center;
  background: currentColor;
  opacity: .7;
  transition: transform .25s var(--ease-out);
}
.nav-links a:hover::after,
.nav-links a[aria-current="page"]::after,
.nav-actions > a:not(.cart-pill):hover::after,
.nav-actions > a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left center; }
.nav-links a[aria-current="page"],
.nav-actions a[aria-current="page"] { color: var(--ink); }
.cart-pill {
  border-radius: 999px;
  background: rgba(255,253,248,.55);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35);
}
.cart-pill.cart-pulse { animation: cartPulse .48s var(--ease-out); }
@keyframes cartPulse { 0%{transform:scale(1)} 45%{transform:scale(1.06)} 100%{transform:scale(1)} }
.brand { transition: transform .25s var(--ease-out); }
.brand:hover { transform: translateY(-1px); }
.brand-mark { text-wrap: balance; }
.hero,
.page-hero { position: relative; }
.hero::before,
.page-hero::before {
  content: '';
  position: absolute;
  inset: 24px -24px auto auto;
  width: 36vw;
  height: 36vw;
  max-width: 520px;
  max-height: 520px;
  background: radial-gradient(circle, rgba(196,122,88,.12), transparent 68%);
  pointer-events: none;
  z-index: -1;
}
.hero h1,
.section-title,
.page-hero h1,
.article-layout h1 { text-wrap: balance; }
.hero-copy,
.section-copy,
.page-hero p,
.article-layout p { text-wrap: pretty; }
.btn,
.add-btn,
.filter-btn,
.newsletter-row button,
.upload-row button,
.checkout-methods button {
  border-radius: 999px;
  touch-action: manipulation;
}
.btn:focus-visible,
.add-btn:focus-visible,
.filter-btn:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
button:focus-visible {
  outline: 2px solid rgba(159,91,60,.72);
  outline-offset: 3px;
}
.photo-frame,
.hero-float,
.collection-card,
.collection-info,
.product-card,
.light-product-card,
.story-block,
.concierge,
.concierge-form,
.journal-card,
.text-panel,
.lux-form,
.passport-card,
.qr-card,
.cards-3 article,
.process-row article,
.summary-box,
.cart-item,
.sidebar-filter,
.faq-wrap details,
.dark-card,
.cta-band,
.article-image { border-radius: var(--radius); }
.photo-frame { border-radius: var(--radius-lg); overflow: hidden; }
.frame-label,
.hero-float { border-radius: var(--radius-sm); }
.product-img,
.cart-item-art,
.collection-art,
.journal-art { border-radius: calc(var(--radius) - 8px); }
.product-card,
.light-product-card,
.collection-card,
.journal-card,
.cards-3 article,
.process-row article,
.text-panel,
.lux-form,
.passport-card,
.qr-card,
.faq-wrap details {
  box-shadow: 0 1px 0 rgba(255,255,255,.5) inset, var(--shadow-sm);
}
.product-card:hover,
.light-product-card:hover,
.collection-card:hover,
.journal-card:hover,
.cards-3 article:hover,
.process-row article:hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow);
}
.product-card,
.light-product-card { position: relative; overflow: hidden; }
.product-card::before,
.light-product-card::before {
  content: 'One of one';
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 3;
  background: rgba(255,253,248,.84);
  color: var(--clay-dark);
  border: 1px solid rgba(54,39,31,.1);
  border-radius: 999px;
  padding: 8px 11px;
  font-size: 9px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 700;
  backdrop-filter: blur(8px);
}
.product-card::before { background: rgba(255,244,229,.9); }
.product-img::after,
.collection-art::after,
.journal-art::after,
.article-image::after {
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.04) 0 1px, transparent 1px 9px),
    radial-gradient(circle at 32% 20%, rgba(255,255,255,.15), transparent 22%);
}
.filter-row { gap: 10px; align-items: center; }
.filter-btn { min-height: 40px; }
.filter-btn[aria-pressed="true"] { box-shadow: 0 10px 26px rgba(28,21,18,.12); }
.light-product-card .add-btn,
.checkout-methods button,
.upload-row button { background: rgba(255,253,248,.55); }
.light-product-card .add-btn:hover,
.checkout-methods button:hover,
.upload-row button:hover { background: var(--ink); color: var(--almond); border-color: var(--ink); }
.page-hero { overflow: hidden; }
.breadcrumbs {
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 26px;
}
.breadcrumbs a { color: var(--clay-dark); }
.editorial-band { border-block: 1px solid var(--line); }
.form-grid input,
.form-grid textarea,
.form-grid select,
.lux-form input,
.lux-form textarea,
.lux-form select,
.concierge-form input,
.concierge-form textarea,
.newsletter-row input {
  border-radius: 12px;
  transition: border-color .2s, box-shadow .2s, background .2s;
}
.form-grid input:focus,
.form-grid textarea:focus,
.form-grid select:focus,
.lux-form input:focus,
.lux-form textarea:focus,
.lux-form select:focus {
  border-color: rgba(159,91,60,.55);
  box-shadow: 0 0 0 4px rgba(159,91,60,.09);
  background: var(--paper);
}
.newsletter-row { border-radius: 999px; overflow: hidden; }
.newsletter-row input { border-radius: 999px 0 0 999px; }
.newsletter-row button { border-radius: 0; }
.lux-form .btn,
.concierge-form .btn { justify-content: center; }
.faq-wrap details { transition: background .2s, transform .2s var(--ease-out); }
.faq-wrap details[open] { background: var(--paper); transform: translateY(-2px); }
.faq-wrap summary { list-style: none; display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.faq-wrap summary::-webkit-details-marker { display: none; }
.faq-wrap summary::after { content: '+'; font-family: var(--font-body); color: var(--clay); }
.faq-wrap details[open] summary::after { content: '–'; }
.sidebar-filter a { border-radius: 10px; padding-inline: 10px; margin-inline: -10px; }
.sidebar-filter a.active,
.sidebar-filter a:hover { background: rgba(159,91,60,.08); }
.back-to-top,
.toast {
  position: fixed;
  z-index: 220;
  border: 1px solid rgba(255,244,229,.14);
  box-shadow: var(--shadow);
  backdrop-filter: blur(14px);
}
.back-to-top {
  right: 28px;
  bottom: 96px;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: rgba(28,21,18,.88);
  color: var(--almond);
  display: grid;
  place-items: center;
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
  transition: opacity .25s, transform .25s;
  cursor: pointer;
}
.back-to-top.show { opacity: 1; pointer-events: auto; transform: none; }
.toast {
  left: 50%;
  bottom: 28px;
  transform: translate(-50%, 22px);
  opacity: 0;
  background: rgba(28,21,18,.94);
  color: var(--almond);
  border-radius: 999px;
  padding: 13px 18px;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: opacity .25s, transform .25s;
  pointer-events: none;
}
.toast.show { opacity: 1; transform: translate(-50%, 0); }
.wa-btn { bottom: 26px; right: 26px; box-shadow: 0 12px 38px rgba(37,211,102,.28); }
.mobile-panel { border-radius: var(--radius-lg) 0 0 var(--radius-lg); }
.mobile-close { border-radius: 999px; }
.mobile-panel a { border-radius: 12px; padding-inline: 12px; }
.mobile-panel a:hover { background: rgba(159,91,60,.08); }
.footer { border-top-left-radius: 28px; border-top-right-radius: 28px; }
@media (max-width: 980px) {
  .nav { height: 72px; }
  .top-note { font-size: 10px; letter-spacing: .12em; }
  .hero::before,.page-hero::before { width: 72vw; height: 72vw; }
}
@media (max-width: 620px) {
  .container { width: min(100% - 32px, 1440px); }
  section { padding: 70px 0; }
  .hero-cta .btn { width: 100%; justify-content: center; }
  .hero-stats { grid-template-columns: 1fr; }
  .stat-cell { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
  .toast { width: calc(100% - 32px); text-align: center; border-radius: 18px; }
  .back-to-top { right: 18px; bottom: 88px; }
  .wa-btn { right: 18px; bottom: 18px; width: 52px; height: 52px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1 !important; transform: none !important; }
}
