:root {
    /* The Nayeli brand palette, §2.6. These six are the whole palette; everything
       below is one of them, or a tint/shade of one, and nothing else. */
    --cream:#FAF8F0;
    --gold:#C8A750;
    --champagne:#F7E7CE;
    --bronze:#B08D57;
    --cocoa:#592C1E;
    --deep:#3D1F15;

    /* --gold is a FILL and RULE colour. As text on cream it measures 2.17:1, which
       fails WCAG AA, so text that used to be gold uses --gold-ink: the same hue
       darkened just far enough to clear 4.5:1 (measured 4.98:1 on --cream). */
    --gold-ink:#8A6520;

    /* Roles. Contrast against --bg, measured: --ink 14.05:1, --ink2 6.08:1,
       --gold-ink 4.98:1 — all above the 4.5:1 floor for body text. */
    --bg:var(--cream);
    --surface:#FFFDF7;
    --ink:var(--deep);
    --ink2:#7A5646;
    --line:#E8DFCB;
    --goldsoft:var(--champagne);
    --dark:var(--deep);
    --scrim:rgba(61,31,21,.58);

    --font:'Arapey',Georgia,'Times New Roman',serif;
    --font-label:system-ui,-apple-system,'Segoe UI',sans-serif;

    --ease-out:cubic-bezier(0.23,1,0.32,1);
    --ease-io:cubic-bezier(0.77,0,0.175,1);
    --ease-drawer:cubic-bezier(0.32,0.72,0,1);
  }
  * { box-sizing:border-box; -webkit-font-smoothing:antialiased; }
  html { scroll-behavior:smooth; }
  html, body { margin:0; padding:0; background:var(--bg); color:var(--ink); font-family:var(--font); }
  h1,h2,h3 { font-family:var(--font); font-weight:600; margin:0; }
  em { font-style:italic; }
  a { color:inherit; text-decoration:none; }
  button { font-family:inherit; cursor:pointer; }
  img { display:block; }
  .wrap { max-width:1240px; margin:0 auto; padding:0 40px; }
  .eyebrow { font-size:10px; letter-spacing:.26em; text-transform:uppercase; color:var(--gold-ink); font-weight:500; font-family:var(--font-label); display:flex; align-items:center; gap:12px; }
  .eyebrow::before { content:''; width:26px; height:1px; background:var(--gold); }

  .btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; border-radius:999px; border:none;
    background:var(--gold); color:var(--deep); font-size:14px; font-weight:500; letter-spacing:.02em; padding:16px 30px;
    transition:transform 160ms var(--ease-out), box-shadow 200ms var(--ease-out); }
  .btn:active { transform:scale(0.97); }
  .btn.ghost { background:transparent; border:1px solid currentColor; color:var(--ink); }
  .btn.light { background:var(--cream); color:var(--dark); }
  .btn.on-dark.ghost { color:var(--cream); }
  @media (hover:hover) and (pointer:fine) {
    .btn:hover { box-shadow:0 12px 28px rgba(61,31,21,.18); }
  }
  .chip { border-radius:999px; border:1px solid var(--line); background:transparent; color:var(--ink);
    font-size:13px; padding:11px 20px; white-space:nowrap; transition:transform 140ms var(--ease-out), background 160ms ease, border-color 160ms ease; }
  .chip:active { transform:scale(0.96); }
  .chip.on { background:var(--ink); border-color:var(--ink); color:var(--surface); }

  /* reveal on scroll */
  .rv { opacity:0; transform:translateY(14px); transition:opacity 500ms var(--ease-out), transform 500ms var(--ease-out); }
  .rv.in { opacity:1; transform:none; }
  .rv.d1 { transition-delay:60ms; } .rv.d2 { transition-delay:120ms; } .rv.d3 { transition-delay:180ms; }
  @media (prefers-reduced-motion: reduce) {
    .rv { transform:none; transition:opacity 250ms ease; }
    html { scroll-behavior:auto; }
    .marquee-track { animation:none !important; }
    .hero-bg img, .hero.in .hero-bg img { transform:none; transition:none; }
    #pmodal, #pmodal.open, #drawer, #drawer.open { transition:opacity 200ms ease; transform:none; }
    #cart-count.pop { animation:none; }
    .look img, .card .ph img, .lb-grid img { transition:opacity 300ms ease; }
  }

  /* nav */
  nav { position:fixed; top:0; left:0; right:0; z-index:60; transition:background 250ms ease, box-shadow 250ms ease; }
  nav.solid { background:color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter:blur(14px); box-shadow:0 1px 0 var(--line); }
  .nav-inner { display:flex; align-items:center; gap:38px; height:84px; }
  .logo b { font-family:var(--font); font-size:23px; letter-spacing:.34em; font-weight:600; color:var(--cream); transition:color 250ms ease; }
  nav.solid .logo b { color:var(--ink); }
  .nav-links { display:flex; gap:30px; font-size:13.5px; color:rgba(250,248,240,.85); transition:color 250ms ease; }
  nav.solid .nav-links { color:var(--ink2); }
  .nav-links a { position:relative; padding:4px 0; }
  .nav-links a::after { content:''; position:absolute; left:0; right:100%; bottom:0; height:1px; background:currentColor; transition:right 220ms var(--ease-out); }
  @media (hover:hover) and (pointer:fine) { .nav-links a:hover::after { right:0; } }
  .nav-cta { margin-left:auto; display:flex; align-items:center; gap:12px; }
  #cart-btn { position:relative; background:transparent; border:1px solid rgba(250,248,240,.4); color:var(--cream); border-radius:999px; padding:12px 20px; font-size:13px; transition:transform 140ms var(--ease-out), color 250ms ease, border-color 250ms ease; }
  #cart-btn:active { transform:scale(0.96); }
  nav.solid #cart-btn { color:var(--ink); border-color:var(--line); }
  #cart-count { position:absolute; top:-7px; right:-7px; min-width:21px; height:21px; border-radius:999px; background:var(--gold); color:var(--deep); font-size:11px; display:none; align-items:center; justify-content:center; padding:0 6px; }
  #cart-count.pop { animation:pop 300ms var(--ease-out); }
  @keyframes pop { 0% { transform:scale(.6); } 60% { transform:scale(1.15); } 100% { transform:scale(1); } }

  #season-banner { display:none; position:relative; z-index:61; align-items:center; justify-content:center; gap:9px; padding:9px 16px; background:var(--goldsoft); font-size:12.5px; color:var(--ink); }
  #season-banner .dot { width:5px; height:5px; border-radius:50%; background:var(--gold); }

  /* ============ HERO — magazine cover ============ */
  .hero { position:relative; min-height:100svh; display:flex; align-items:flex-end; overflow:hidden; background:var(--dark); }
  .hero-bg { position:absolute; inset:0; }
  .hero-bg img { width:100%; height:100%; object-fit:cover; object-position:center 30%; transform:scale(1.06); transition:transform 1600ms var(--ease-out); }
  .hero.in .hero-bg img { transform:scale(1); }
  .hero-bg::after { content:''; position:absolute; inset:0;
    background:linear-gradient(to top, rgba(61,31,21,.88) 0%, rgba(61,31,21,.38) 42%, rgba(61,31,21,.18) 70%, rgba(61,31,21,.42) 100%); }
  .hero-content { position:relative; z-index:2; width:100%; padding:0 0 72px; color:var(--cream); }
  .hero .eyebrow { color:var(--champagne); }
  .hero .eyebrow::before { background:var(--champagne); }
  .hero h1 { font-size:clamp(52px, 7vw, 104px); line-height:.98; letter-spacing:-.01em; font-weight:500; margin:20px 0 0; max-width:12em; }
  .hero h1 em { color:var(--champagne); }
  .hero .lede { font-size:16.5px; line-height:1.65; color:rgba(250,248,240,.78); font-weight:300; max-width:470px; margin:26px 0 34px; }
  .hero-ctas { display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
  .hero-proof { display:flex; gap:34px; flex-wrap:wrap; margin-top:52px; padding-top:26px; border-top:1px solid rgba(250,248,240,.18); }
  .hero-proof div { display:flex; flex-direction:column; gap:3px; }
  .hero-proof b { font-family:var(--font); font-size:24px; font-weight:600; color:var(--cream); }
  .hero-proof span { font-family:var(--font-label); font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:rgba(250,248,240,.55); }

  /* marquee */
  .marquee { background:var(--dark); color:rgba(250,248,240,.5); border-top:1px solid rgba(250,248,240,.1); overflow:hidden; padding:15px 0; }
  .marquee-track { display:flex; gap:48px; width:max-content; animation:mq 46s linear infinite; font-family:var(--font); font-size:17px; font-style:italic; white-space:nowrap; }
  .marquee-track span::after { content:'·'; margin-left:48px; color:var(--gold); font-style:normal; }
  @keyframes mq { to { transform:translateX(-50%); } }

  section { padding:104px 0; }
  .sec-head { max-width:640px; margin-bottom:52px; }
  .sec-head h2 { font-size:clamp(34px,4vw,54px); line-height:1.04; margin-top:18px; font-weight:500; }
  .sec-head p { color:var(--ink2); font-weight:300; font-size:15.5px; line-height:1.7; margin:16px 0 0; }
  .sec-head.split { max-width:none; display:flex; align-items:flex-end; justify-content:space-between; gap:30px; }
  .sec-head.split > div { max-width:640px; }

  /* ============ LOOKS (inspiration-first shopping) ============ */
  .looks-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:20px; }
  .look { position:relative; border-radius:22px; overflow:hidden; border:none; padding:0; text-align:left; background:var(--dark); }
  .look img { width:100%; aspect-ratio:3/4.1; object-fit:cover; transition:transform 700ms var(--ease-out), opacity 400ms ease; }
  .look::after { content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(61,31,21,.72), rgba(61,31,21,0) 46%); }
  .look .l-meta { position:absolute; left:18px; right:18px; bottom:16px; z-index:2; color:var(--cream); display:flex; flex-direction:column; gap:3px; }
  .look .l-name { font-family:var(--font); font-size:21px; font-weight:600; line-height:1.1; }
  .look .l-sub { font-family:var(--font-label); font-size:11.5px; letter-spacing:.06em; color:rgba(250,248,240,.72); }
  .look .l-cta { position:absolute; top:14px; right:14px; z-index:2; background:rgba(61,31,21,.55); backdrop-filter:blur(6px); color:var(--cream);
    border-radius:999px; font-family:var(--font-label); font-size:11px; letter-spacing:.08em; text-transform:uppercase; padding:8px 13px; opacity:0; transform:translateY(-4px);
    transition:opacity 220ms var(--ease-out), transform 220ms var(--ease-out); }
  @media (hover:hover) and (pointer:fine) {
    .look:hover img { transform:scale(1.045); }
    .look:hover .l-cta { opacity:1; transform:none; }
  }
  .look:active img { transform:scale(1.01); }
  .looks-grid .look:nth-child(even) { margin-top:34px; }

  /* ============ COLLECTION ============ */
  #collection { background:var(--surface); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .filters { display:flex; gap:10px; overflow-x:auto; padding-bottom:8px; margin-bottom:34px; scrollbar-width:none; }
  .filters::-webkit-scrollbar { display:none; }
  .grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:22px 20px; }
  .card { background:transparent; border:none; border-radius:0; overflow:visible; text-align:left; padding:0; }
  .card .ph { position:relative; border-radius:18px; overflow:hidden; background:var(--goldsoft); }
  .card .ph img { width:100%; aspect-ratio:4/5; object-fit:cover; transition:transform 600ms var(--ease-out), opacity 400ms var(--ease-out); }
  .card .ph img:not(.ld) { opacity:0; }
  .card .quick { position:absolute; left:12px; right:12px; bottom:12px; border-radius:999px; border:none; background:rgba(253,249,243,.92);
    backdrop-filter:blur(8px); color:var(--ink); font-size:12.5px; font-weight:500; padding:12px 0; opacity:0; transform:translateY(8px);
    transition:opacity 200ms var(--ease-out), transform 200ms var(--ease-out); }
  @media (hover:hover) and (pointer:fine) {
    .card:hover .ph img { transform:scale(1.04); }
    .card:hover .quick { opacity:1; transform:none; }
  }
  .card .meta { padding:14px 4px 0; display:flex; flex-direction:column; gap:3px; }
  .card .sys { font-family:var(--font-label); font-size:9.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink2); }
  .card .name { font-family:var(--font); font-size:22px; font-weight:600; line-height:1.1; }
  .card .price { font-size:13px; color:var(--ink2); font-weight:300; }
  .card .price b { color:var(--ink); font-weight:500; }

  /* ============ HOW IT WORKS ============ */
  .steps { display:grid; grid-template-columns:repeat(3,1fr); gap:44px; }
  .step { border-top:1px solid var(--line); padding-top:26px; }
  .step .n { font-family:var(--font); font-size:15px; font-style:italic; color:var(--gold-ink); }
  .step h3 { font-size:27px; font-weight:600; margin:12px 0 10px; }
  .step p { font-size:14px; line-height:1.7; color:var(--ink2); font-weight:300; margin:0; }

  /* ============ STUDIO ============ */
  #studio { background:var(--dark); color:var(--cream); }
  .studio-grid { display:grid; grid-template-columns:1fr auto; gap:70px; align-items:center; }
  #studio h2 { color:var(--cream); font-size:clamp(34px,3.6vw,52px); line-height:1.05; margin-top:18px; font-weight:500; }
  #studio h2 em { color:var(--champagne); }
  #studio p.lede2 { color:rgba(250,248,240,.65); font-weight:300; line-height:1.75; max-width:460px; font-size:15.5px; margin:18px 0 0; }
  .studio-points { display:flex; flex-direction:column; margin:30px 0 36px; }
  .studio-points div { display:flex; gap:14px; align-items:baseline; font-size:14.5px; color:rgba(250,248,240,.88); padding:13px 0; border-bottom:1px solid rgba(250,248,240,.12); font-weight:300; }
  .studio-points div:first-child { border-top:1px solid rgba(250,248,240,.12); }
  .studio-points span { color:var(--champagne); font-family:var(--font); font-style:italic; flex:none; }
  .phone { width:330px; height:676px; border-radius:44px; padding:10px; background:#2E2620; box-shadow:0 50px 110px rgba(0,0,0,.55), 0 0 0 1px rgba(250,248,240,.08); }
  .phone iframe { width:100%; height:100%; border:0; border-radius:36px; background:#141110; }

  /* ============ TRUST ============ */
  .trust-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  .tcard { background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:28px 26px; display:flex; flex-direction:column; gap:10px;
    transition:transform 250ms var(--ease-out), box-shadow 250ms var(--ease-out), opacity 500ms var(--ease-out); }
  @media (hover:hover) and (pointer:fine) {
    .tcard:hover { transform:translateY(-4px); box-shadow:0 22px 48px rgba(61,31,21,.1); }
  }
  .tcard h3 { font-size:22px; font-weight:600; }
  .tcard p { font-size:13px; line-height:1.65; color:var(--ink2); font-weight:300; margin:0; }
  .tcard .tick { width:30px; height:30px; border-radius:50%; background:var(--goldsoft); color:var(--cocoa); display:flex; align-items:center; justify-content:center; font-size:13px; }

  /* ============ LOOKBOOK ============ */
  .lb-grid { columns:4 230px; column-gap:18px; }
  .lb-grid figure { margin:0 0 18px; border-radius:18px; overflow:hidden; break-inside:avoid; position:relative; }
  .lb-grid img { width:100%; transition:transform 600ms var(--ease-out); }
  @media (hover:hover) and (pointer:fine) { .lb-grid figure:hover img { transform:scale(1.035); } }

  /* quote + final CTA */
  .quote { text-align:center; max-width:760px; margin:0 auto; }
  .quote p { font-family:var(--font); font-size:clamp(28px,3.4vw,44px); font-style:italic; line-height:1.25; color:var(--ink); margin:0; font-weight:500; }
  .quote .sig { margin-top:22px; font-family:var(--font-label); font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-ink); }

  footer { border-top:1px solid var(--line); padding:52px 0 64px; }
  .foot { display:flex; justify-content:space-between; gap:30px; flex-wrap:wrap; font-size:13px; color:var(--ink2); font-weight:300; }
  .foot b { font-family:var(--font); font-size:19px; letter-spacing:.3em; color:var(--ink); font-weight:600; }
  .foot a { text-decoration:underline; text-underline-offset:3px; }
  @media (hover:hover) and (pointer:fine) { .foot a:hover { color:var(--gold-ink); } }

  /* ============ modal + drawer ============ */
  .overlay { position:fixed; inset:0; background:var(--scrim); z-index:80; opacity:0; pointer-events:none; transition:opacity 160ms ease-in; }
  .overlay.open { opacity:1; pointer-events:auto; transition:opacity 220ms ease-out; }
  #pmodal { position:fixed; z-index:90; width:min(880px,88vw); left:50%; top:50%; transform:translate(-50%,-50%) scale(.97); opacity:0; pointer-events:none;
    display:grid; grid-template-columns:1fr 1.05fr;
    background:var(--surface); border-radius:26px; overflow:hidden;
    transition:opacity 150ms cubic-bezier(.4,0,1,1), transform 150ms cubic-bezier(.4,0,1,1); }
  #pmodal.open { opacity:1; pointer-events:auto; transform:translate(-50%,-50%) scale(1);
    transition:opacity 220ms var(--ease-out), transform 220ms var(--ease-out); }
  body.locked { overflow:hidden; scrollbar-gutter:stable; }
  :focus-visible { outline:2px solid var(--cocoa); outline-offset:2px; }
  #pmodal .pm-img { min-height:480px; background:var(--goldsoft); }
  #pmodal .pm-img img { width:100%; height:100%; object-fit:cover; }
  #pmodal .pm-body { padding:40px 40px 32px; overflow-y:auto; max-height:86vh; display:flex; flex-direction:column; gap:17px; }
  #pmodal h3 { font-size:37px; line-height:1.02; font-weight:500; }
  #pmodal .desc { font-size:13.5px; line-height:1.75; color:var(--ink2); font-weight:300; margin:0; }
  .len-row { display:flex; gap:9px; flex-wrap:wrap; }
  .spec { display:flex; justify-content:space-between; gap:16px; font-size:12.5px; padding:10px 0; border-bottom:1px solid var(--line); }
  .spec span:first-child { color:var(--ink2); flex:none; }
  .spec span:last-child { text-align:right; line-height:1.5; }
  #pm-close { position:absolute; top:16px; right:16px; width:38px; height:38px; border-radius:50%; border:none; background:rgba(61,31,21,.62); color:#fff; font-size:15px; z-index:5; transition:transform 140ms var(--ease-out); }
  #pm-close:active { transform:scale(.92); }

  #drawer { position:fixed; z-index:90; top:0; right:0; width:min(430px,94vw); height:100dvh; background:var(--surface);
    border-left:1px solid var(--line); transform:translateX(100%); transition:transform 260ms var(--ease-io); display:flex; flex-direction:column; }
  #drawer.open { transition:transform 340ms var(--ease-drawer); }
  #drawer.open { transform:none; }
  #drawer .d-head { padding:26px 28px; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; }
  #drawer .d-items { flex:1; overflow-y:auto; padding:8px 28px; }
  .d-item { display:flex; gap:15px; padding:18px 0; border-bottom:1px solid var(--line); }
  .d-item img { width:66px; height:84px; object-fit:cover; border-radius:12px; }
  .d-item .di-meta { flex:1; display:flex; flex-direction:column; gap:3px; font-size:13px; }
  .d-item .di-name { font-family:var(--font); font-size:18px; font-weight:600; }
  .d-item .rm { background:none; border:none; color:var(--ink2); font-size:12px; padding:2px 0 0; text-align:left; text-decoration:underline; text-underline-offset:2px; }
  #drawer .d-foot { padding:22px 28px 30px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:13px; background:var(--bg); }
  #d-email, #d-name, #d-phone, #d-area { border:1px solid var(--line); border-radius:13px; padding:13px 16px; font-size:14px; font-family:inherit; background:var(--surface); color:var(--ink); width:100%; }
  #d-email:focus, #d-name:focus, #d-phone:focus, #d-area:focus { outline:none; border-color:var(--gold-ink); }
  .paynote { font-size:11.5px; color:var(--ink2); line-height:1.6; font-weight:300; margin:0; }

  @media (max-width:1060px) {
    section { padding:76px 0; }
    .wrap { padding:0 22px; }
    .looks-grid { grid-template-columns:repeat(2,1fr); }
    .looks-grid .look:nth-child(even) { margin-top:0; }
    .steps, .trust-grid { grid-template-columns:1fr 1fr; gap:22px; }
    .studio-grid { grid-template-columns:1fr; }
    .phone { margin:0 auto; }
    #pmodal { grid-template-columns:1fr; inset:3% 3% auto; left:3%; top:3%; width:auto; max-height:94vh; overflow-y:auto;
      transform:translateY(10px) scale(.985); transform-origin:50% 0; }
    #pmodal.open { transform:none; }
    #pmodal .pm-img { min-height:0; max-height:38vh; }
    .nav-links { gap:16px; font-size:12.5px; }
    .nav-inner { gap:18px; }
  }

/* ============ shop page + see-all ============ */
.see-all { display:flex; justify-content:center; margin-top:44px; }
.shop-page #site { padding-top:0; }
.shop-head { padding:170px 0 26px; background:var(--surface); border-bottom:1px solid var(--line); }
.shop-head h1 { font-size:clamp(40px,5vw,68px); line-height:1.02; font-weight:500; margin-top:18px; }
.shop-head h1 em { color:var(--gold-ink); }
.shop-head p { color:var(--ink2); font-weight:300; font-size:15px; line-height:1.7; max-width:520px; margin:18px 0 14px; }
.shop-count { font-family:var(--font-label); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink2); display:block; padding-bottom:26px; }
.shop-page #collection { background:var(--surface); border:none; }

/* ============ champagne accents on dark bands (was inline hex) ============ */
#studio .eyebrow { color:var(--champagne); }
#studio .eyebrow::before { background:var(--champagne); }

/* ============ modal thumbnail gallery ============ */
#pmodal .pm-img { position:relative; }
.pm-thumbs { position:absolute; left:14px; bottom:14px; display:flex; gap:8px; z-index:2; }
.pm-thumbs button { width:44px; height:56px; border-radius:10px; padding:0; border:1px solid rgba(255,255,255,.6);
  background:rgba(61,31,21,.25); overflow:hidden; transition:transform 140ms var(--ease-out), border-color 160ms ease; }
.pm-thumbs button.on { border:2px solid var(--gold); }
.pm-thumbs button:active { transform:scale(0.94); }
.pm-thumbs img { width:100%; height:100%; object-fit:cover; }
#pm-img { transition:opacity 180ms var(--ease-out); }
#pm-img.fading { opacity:0; }

/* ============ length atlas ============ */
.len-where { margin:2px 0 0; font-family:var(--font); font-style:italic;
  font-size:16.5px; color:var(--gold-ink); min-height:1.25em; }

@media (prefers-reduced-motion: reduce) {
  #pm-img, .pm-thumbs button { transition:none; }
}

/* ============ gold full stop on the mark ============ */
.logo b::after { content:'.'; color:var(--gold); }

/* ============ cart bundle stepper ============ */
.di-row { display:flex; align-items:center; gap:10px; margin-top:6px; }
.stepper { display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:999px; overflow:hidden; }
.stepper button { width:28px; height:28px; border:none; background:transparent; font-size:15px; line-height:1;
  color:var(--ink); transition:transform 120ms var(--ease-out), background 140ms ease; }
.stepper button:active { transform:scale(0.88); }
@media (hover:hover) and (pointer:fine) { .stepper button:hover { background:var(--goldsoft); } }
.st-n { min-width:24px; text-align:center; font-size:13px; font-weight:500; }
.st-lbl { font-size:12px; color:var(--ink2); }
.d-item .rm { margin-left:auto; }

/* ============ The Wall: shade tags + invitation tile ============ */
.lb-tag { position:absolute; left:10px; bottom:10px; border:none; border-radius:999px; padding:7px 13px;
  font-size:11.5px; letter-spacing:.04em; font-weight:500; background:rgba(61,31,21,.72); color:var(--cream);
  backdrop-filter:blur(6px); display:inline-flex; align-items:center; gap:7px;
  transition:transform 140ms var(--ease-out), background 160ms ease; }
.lb-tag::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--champagne); flex:none; }
.lb-tag:active { transform:scale(0.95); }
@media (hover:hover) and (pointer:fine) { .lb-tag:hover { background:rgba(61,31,21,.9); } }
.lb-invite { display:flex; flex-direction:column; justify-content:flex-end; gap:10px; min-height:230px;
  margin:0 0 18px; padding:24px; border:1.5px dashed var(--line); border-radius:18px; break-inside:avoid;
  background:transparent; color:var(--ink); transition:border-color 180ms ease, transform 160ms var(--ease-out); }
.lb-invite span { font-family:var(--font); font-size:26px; font-weight:600; line-height:1.1; }
.lb-invite small { font-size:12.5px; line-height:1.6; color:var(--ink2); font-weight:300; }
.lb-invite:active { transform:scale(0.98); }
@media (hover:hover) and (pointer:fine) { .lb-invite:hover { border-color:var(--gold); } }

/* ============ launch list + braider roster (gated on the WhatsApp config) ============ */
.ll-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.ll-card { background:var(--surface); border:1px solid var(--line); border-radius:22px; padding:44px 40px;
  display:flex; flex-direction:column; align-items:flex-start; gap:16px; }
.ll-card h3 { font-size:clamp(26px,2.6vw,36px); font-weight:500; }
.ll-card p { color:var(--ink2); font-weight:300; font-size:14.5px; line-height:1.7; margin:0 0 6px; }
@media (max-width: 860px) { .ll-grid { grid-template-columns:1fr; } }
