  /* The original build's own <html data-theme="light"> selected
     nova-base.css's real light-theme token values over its dark-theme
     defaults on bare :root. This port never reliably set that attribute
     (a client-side effect racing hydration, and StrictMode's double-
     invoke in dev, made it flicker between the two) — near-black
     "unwanted" backgrounds on sections styled with var(--bg-raise), and
     near-white text disappearing against the light body background.
     Fixed at the CSS layer instead of depending on any runtime
     attribute: the light-theme values ARE the base :root now (this
     stylesheet only ever serves this one theme, which is always light),
     so there's no attribute, no JS timing, and no dark-theme fallback to
     race against. */
  :root{
    --bg:#FAFAF8;
    --bg-raise:#F0EFEB;
    --ink:#141316;
    --ink-dim:#6B6870;
    --pink:#E01463;
    --pink-deep:#B80E4F;
    --line:#E3E1DC;
    --surface:#FFFFFF;
    --surface-alt:rgba(255,255,255,.9);
    --overlay:rgba(20,19,22,.45);
    --shadow:rgba(20,19,22,.14);
    --on-accent:#FFFFFF;
    --invert:#FFFFFF;
    --chip-bg:#141316;
    --chip-text:#FFFFFF;

    /* fixed dark-surface tokens for bands that stay dark regardless of
       theme (hero, footer) */
    --invert-bg:#0B0B0D;
    --invert-ink:#F5F5F3;
    --invert-ink-dim:#9B9B9F;
    --invert-line:#232326;

    --display:'Anton', Impact, 'Arial Narrow Bold', sans-serif;
    --body:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --gutter:clamp(16px, 4vw, 56px);
    --maxw:1440px;

    /* semantic status colors — same hue/value in both themes (mid-brightness,
       already readable on both a near-black and a near-white card) */
    --status-success-bg:rgba(63,167,134,.15);
    --status-success-text:#2E8168;
    --status-info-bg:rgba(46,125,255,.15);
    --status-info-text:#1A5FD6;
    --status-warning-bg:rgba(217,166,10,.15);
    --status-warning-text:#B8860B;

    /* lighter pink used only for the newsletter gradient's end stop */
    --pink-light:#FF6FA0;

    /* ph-img placeholder gradient's dark end stop (paired with --bg-raise) —
       the original source only ever defines this once, on bare :root, with
       no light-theme override, so it stays #1B1B1E exactly as authored. */
    --placeholder-end:#1B1B1E;

    /* radius scale — consistent, repeated across many unrelated components */
    --radius-xs:2px;
    --radius-sm:3px;
    --radius-md:4px;
    --radius-lg:6px;
    --radius-xl:8px;

    /* shared premium-feel easing curve used by hero/drawer/reveal transitions */
    --ease-premium:cubic-bezier(.16,.84,.44,1);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;overflow-x:hidden;}
  body{
    margin:0;background:var(--bg);color:var(--ink);
    font-family:var(--body);font-size:15px;line-height:1.55;
    -webkit-font-smoothing:antialiased;
    transition:background .3s ease, color .3s ease;
    overflow-x:hidden;width:100%;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  button{font-family:inherit;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter);}
  h1,h2,h3{
    font-family:var(--display);
    font-weight:400;
    text-transform:uppercase;
    letter-spacing:.01em;
    margin:0;
    text-wrap:balance;
    line-height:.95;
  }
  .eyebrow{
    font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
    color:var(--pink);
  }
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:16px 34px;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
    border-radius:var(--radius-xs);cursor:pointer;border:2px solid transparent;
    transition:transform .3s var(--ease-premium), background .25s ease, color .25s ease,
      border-color .25s ease, box-shadow .3s var(--ease-premium);
    white-space:nowrap;
  }
  .btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px var(--shadow);}
  .btn:active{transform:translateY(0);transition-duration:.1s;}
  .btn-pink{background:var(--pink);color:var(--on-accent);}
  .btn-pink:hover{background:var(--pink-deep);}
  .btn-white{background:var(--ink);color:var(--bg);}
  .btn-white:hover{background:var(--ink-dim);}
  .btn-outline{background:transparent;border-color:var(--ink);color:var(--ink);}
  .btn-outline:hover{background:var(--ink);color:var(--bg);}

  /* ============ TOPBAR + HEADER ============ */
  .topbar{
    background:var(--pink);color:var(--on-accent);text-align:center;
    font-size:12px;font-weight:700;letter-spacing:.04em;padding:9px 16px;
    text-transform:uppercase;
  }
  header.site{
    position:sticky;top:0;z-index:60;
    background:var(--surface-alt);backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .site-nav{display:flex;align-items:center;justify-content:space-between;padding-block:18px;gap:20px;}
  .site-nav .side{display:flex;align-items:center;gap:28px;flex:1;}
  .site-nav .side.right{justify-content:flex-end;}
  .logo{font-family:var(--display);font-size:26px;letter-spacing:.02em;white-space:nowrap;}
  .logo span{color:var(--pink);}
  .nav-links{display:flex;gap:28px;list-style:none;margin:0;padding:0;}
  .nav-links a{
    font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-dim);
    position:relative;padding-bottom:3px;
  }
  .nav-links a:hover, .nav-links a.active{color:var(--ink);}
  .nav-links a::after{
    content:'';position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--pink);
    transition:width .2s ease;
  }
  .nav-links a:hover::after{width:100%;}
  .icon-row{display:flex;align-items:center;gap:18px;}
  /* padding:0 is load-bearing, not decorative: the platform's own global
     layout.css has a bare `button{padding:13px 32px;...}` CTA-button
     default that applies to EVERY <button> on the page (this class never
     had its own padding rule to override it). That oversized padding
     blew this 36px icon button out to ~64px wide, and in a flex
     container with too little room for its content, Chrome's flexbox
     algorithm shrank the child <svg> down to 0 width — a real, confirmed
     bug (cart/search icons rendering as empty circles with a floating
     count badge and no visible icon inside). flex-shrink:0 on the svg is
     defense-in-depth against the same squeeze happening again for any
     other reason. */
  .icon-btn{
    position:relative;display:inline-flex;align-items:center;justify-content:center;
    width:36px;height:36px;padding:0;cursor:pointer;color:var(--ink);background:none;border:none;
  }
  .icon-btn svg{width:19px;height:19px;flex-shrink:0;}
  .count-bubble{
    position:absolute;top:-2px;right:-2px;width:16px;height:16px;border-radius:50%;
    background:var(--pink);color:var(--on-accent);font-size:10px;font-weight:800;
    display:flex;align-items:center;justify-content:center;
  }
  .count-bubble[hidden]{display:none;}
  .menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;color:var(--ink);}
  @media (max-width:960px){
    .nav-links{display:none;}
    .menu-toggle{display:inline-flex;}
  }

  /* ============ HERO SLIDER ============ */
  .hero{
    position:relative;min-height:88vh;overflow:hidden;
    background:var(--invert-bg);
  }
  .hero-track{
    display:flex;height:100%;min-height:88vh;
    transition:transform .6s var(--ease-premium);
  }
  .hero-slide{
    position:relative;flex:0 0 100%;width:100%;min-height:88vh;
    display:flex;align-items:flex-end;
  }
  .hero-slide .ph-img.bg{
    position:absolute;inset:0;width:100%;height:100%;opacity:.72;
  }
  .hero-slide::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.35) 55%, var(--bg) 100%);
  }
  .hero-inner{position:relative;z-index:2;width:100%;padding:0 var(--gutter) 64px;}
  .hero-tag{
    display:inline-flex;align-items:center;gap:8px;
    background:var(--pink);color:var(--on-accent);font-size:12px;font-weight:800;letter-spacing:.06em;
    text-transform:uppercase;padding:7px 14px;border-radius:var(--radius-xs);margin-bottom:22px;
  }
  .hero h1{font-size:clamp(52px,9vw,130px);color:#fff;}
  .hero h1 .out{-webkit-text-stroke:2px #fff;color:transparent;}
  .hero p{font-size:16px;color:#D6D5D9;max-width:440px;margin:22px 0 30px;}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;}
  .hero-scroll{
    position:absolute;right:var(--gutter);bottom:40px;z-index:2;
    display:flex;flex-direction:column;align-items:center;gap:10px;color:#fff;
  }
  .hero-scroll span{writing-mode:vertical-rl;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--invert-ink-dim);}
  .hero-scroll .line{width:1px;height:50px;background:linear-gradient(#fff, transparent);}
  @media (max-width:700px){ .hero-scroll{display:none;} }

  .hero-arrow{
    position:absolute;top:50%;z-index:3;transform:translateY(-50%);
    width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.3);
    background:rgba(0,0,0,.3);backdrop-filter:blur(4px);color:#fff;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    transition:background .2s ease, border-color .2s ease, transform .15s ease;
  }
  .hero-arrow:hover{background:rgba(0,0,0,.55);border-color:rgba(255,255,255,.6);}
  .hero-arrow:active{transform:translateY(-50%) scale(.92);}
  .hero-arrow svg{width:20px;height:20px;}
  .hero-arrow.prev{left:var(--gutter);}
  .hero-arrow.next{right:var(--gutter);}
  @media (max-width:700px){ .hero-arrow{display:none;} }

  .hero-dots{
    position:absolute;left:50%;bottom:20px;z-index:3;transform:translateX(-50%);
    display:flex;gap:9px;
  }
  .hero-dots button{
    width:8px;height:8px;border-radius:50%;border:1px solid rgba(255,255,255,.5);
    background:rgba(255,255,255,.15);cursor:pointer;padding:0;
    transition:background .2s ease, width .2s ease;
  }
  .hero-dots button.is-active{background:#fff;width:22px;border-radius:5px;}

  /* ============ HERO — SPLIT (2-column, no slider) ============ */
  .hero-split{
    position:relative;min-height:auto;display:grid;grid-template-columns:1fr 1fr;
    background:var(--bg);overflow:hidden;
  }
  .hero-split .hero-split-copy{
    display:flex;flex-direction:column;justify-content:center;gap:22px;
    padding:80px var(--gutter);
  }
  .hero-split .hero-split-media{position:relative;min-height:520px;}
  .hero-split .hero-split-media .ph-img{position:absolute;inset:0;}
  .hero-split h1{color:var(--ink);font-size:clamp(40px,5.2vw,84px);}
  .hero-split h1 .accent{color:var(--pink);}
  .hero-split p{font-size:16px;color:var(--ink-dim);max-width:440px;margin:0;}
  .hero-split .hero-cta{margin-top:6px;}
  .hero-split .hero-split-stats{display:flex;gap:30px;margin-top:8px;}
  .hero-split .hero-split-stats div{display:flex;flex-direction:column;gap:2px;}
  .hero-split .hero-split-stats strong{font-family:var(--display);font-size:24px;color:var(--ink);}
  .hero-split .hero-split-stats span{font-size:11.5px;color:var(--ink-dim);letter-spacing:.03em;text-transform:uppercase;}
  @media (max-width:900px){
    .hero-split{grid-template-columns:1fr;}
    .hero-split .hero-split-copy{padding:56px var(--gutter) 40px;order:2;}
    .hero-split .hero-split-media{min-height:360px;order:1;}
  }
  .hero-split.reverse{grid-template-columns:1fr 1fr;}
  .hero-split.reverse .hero-split-media{order:1;}
  .hero-split.reverse .hero-split-copy{order:2;}
  @media (max-width:900px){
    .hero-split.reverse .hero-split-media{order:1;}
    .hero-split.reverse .hero-split-copy{order:2;}
  }

  /* ============ HERO — SINGLE (1-column static banner, no slider) ============ */
  .hero-single{
    position:relative;min-height:74vh;display:flex;align-items:center;justify-content:center;
    text-align:center;overflow:hidden;background:var(--invert-bg);
  }
  .hero-single .ph-img{position:absolute;inset:0;opacity:.6;}
  .hero-single::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,.2) 0%, rgba(0,0,0,.5) 100%);
  }
  .hero-single .hero-inner{
    position:relative;z-index:2;max-width:720px;padding:0 var(--gutter);
    display:flex;flex-direction:column;align-items:center;gap:22px;
  }
  .hero-single h1{color:#fff;font-size:clamp(38px,6.5vw,90px);}
  .hero-single p{color:#E4E2E6;font-size:16px;max-width:520px;}
  .hero-single .hero-cta{justify-content:center;}

  /* ============ MARQUEE ============ */
  .marquee{
    background:var(--pink);color:var(--on-accent);overflow:hidden;padding:12px 0;
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  }
  .marquee-track{display:flex;gap:48px;white-space:nowrap;animation:scroll-left 22s linear infinite;width:max-content;}
  .marquee-track span{
    font-family:var(--display);font-size:17px;letter-spacing:.03em;text-transform:uppercase;
    display:flex;align-items:center;gap:14px;
  }
  .marquee-track span::after{content:'✦';font-size:13px;opacity:.8;}
  @keyframes scroll-left{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
  @media (prefers-reduced-motion: reduce){ .marquee-track{animation:none;} }

  /* ============ SECTIONS ============ */
  .section{padding-block:84px;}
  .section.tight{padding-block:58px;}
  .section-head{
    display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:38px;
  }
  .section-head h2{font-size:clamp(32px,4vw,52px);}
  .section-head p{color:var(--ink-dim);font-size:14px;max-width:380px;margin-top:10px;}
  .link-more{
    font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);
    display:inline-flex;align-items:center;gap:8px;border-bottom:2px solid var(--pink);padding-bottom:4px;
    white-space:nowrap;
  }
  .link-more svg{width:14px;height:14px;}
  @media (max-width:640px){ .section-head{flex-direction:column;align-items:flex-start;} }

  /* ============ CATEGORY STRIP ============ */
  .cat-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;background:var(--line);}
  .cat-card{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--bg-raise);}
  .cat-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-premium), opacity .4s ease;opacity:.82;}
  .cat-card:hover img{transform:scale(1.07);opacity:1;}
  .cat-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, transparent 45%, rgba(0,0,0,.85) 100%);}
  .cat-card .label{position:absolute;left:16px;bottom:16px;z-index:2;}
  .cat-card .label strong{font-family:var(--display);font-size:19px;color:#fff;display:block;letter-spacing:.01em;}
  .cat-card .label span{font-size:11px;color:var(--ink-dim);letter-spacing:.04em;text-transform:uppercase;}
  @media (max-width:960px){ .cat-strip{grid-template-columns:repeat(3,1fr);} }
  @media (max-width:640px){ .cat-strip{grid-template-columns:repeat(2,1fr);} }

  /* ============ PRODUCT GRID ============ */
  .pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  @media (max-width:960px){ .pgrid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .pgrid{grid-template-columns:repeat(2,1fr);gap:12px;} }

  .pcard{display:flex;flex-direction:column;gap:10px;}
  .pcard-media{
    position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--bg-raise);border-radius:var(--radius-sm);
  }
  .pcard-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-premium), opacity .4s ease;}
  .pcard-media .alt{opacity:0;position:absolute;inset:0;}
  .pcard:hover .pcard-media img.main{transform:scale(1.05);opacity:0;}
  .pcard:hover .pcard-media img.alt{opacity:1;transform:scale(1.05);}
  .pcard-tag{
    position:absolute;top:10px;left:10px;z-index:2;
    background:var(--pink);color:var(--on-accent);font-size:10px;font-weight:800;letter-spacing:.05em;
    text-transform:uppercase;padding:5px 9px;border-radius:var(--radius-xs);
  }
  .pcard-tag.new{background:var(--chip-bg);color:var(--chip-text);}
  .pcard-wish{
    position:absolute;top:10px;right:10px;z-index:2;width:32px;height:32px;border-radius:50%;
    background:var(--overlay);border:none;display:flex;align-items:center;justify-content:center;
    cursor:pointer;color:#fff;backdrop-filter:blur(4px);
  }
  .pcard-wish svg{width:15px;height:15px;}
  .pcard-wish.is-active{color:var(--pink);}
  .pcard-quick{
    position:absolute;left:10px;right:10px;bottom:10px;z-index:2;
    background:var(--chip-bg);color:var(--chip-text);border:none;border-radius:var(--radius-xs);
    padding:11px;font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
    cursor:pointer;opacity:0;transform:translateY(8px);
    transition:opacity .2s ease, transform .2s ease;
  }
  .pcard:hover .pcard-quick{opacity:1;transform:translateY(0);}
  .pcard-swatches{display:flex;gap:6px;padding:0 2px;}
  .pcard-swatches span{
    width:14px;height:14px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:block;
  }
  .pcard-title{font-size:13.5px;font-weight:500;color:var(--ink);padding:0 2px;}
  .pcard-price{display:flex;align-items:center;gap:8px;padding:0 2px;}
  .pcard-price .now{font-size:14px;font-weight:800;}
  .pcard-price .was{font-size:12.5px;color:var(--ink-dim);text-decoration:line-through;}
  .pcard-price .off{font-size:11.5px;font-weight:800;color:var(--pink);}

  /* ============ SPLIT PROMO BANNER ============ */
  .promo-split{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
  .promo-panel{
    position:relative;min-height:420px;display:flex;align-items:flex-end;overflow:hidden;
  }
  .promo-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85;}
  .promo-panel::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg, rgba(0,0,0,.85), transparent 60%);}
  .promo-copy{position:relative;z-index:2;padding:36px;}
  .promo-copy .eyebrow{color:#fff;opacity:.85;}
  .promo-copy h3{font-size:clamp(28px,3.4vw,42px);color:#fff;margin:8px 0 18px;}
  @media (max-width:800px){
    .promo-split{grid-template-columns:1fr;}
  }

  /* ============ TABBED COLLECTION SWITCHER ============ */
  .tab-shop{}
  .tab-shop-nav{
    display:flex;gap:8px;flex-wrap:wrap;margin-bottom:36px;
    border-bottom:1px solid var(--line);
  }
  .tab-shop-nav button{
    background:none;border:none;cursor:pointer;font-family:inherit;
    padding:12px 4px;margin-right:22px;font-size:14px;font-weight:700;
    color:var(--ink-dim);position:relative;transition:color .2s ease;
  }
  .tab-shop-nav button::after{
    content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--pink);
    transform:scaleX(0);transition:transform .2s ease;
  }
  .tab-shop-nav button:hover{color:var(--ink);}
  .tab-shop-nav button.is-active{color:var(--ink);}
  .tab-shop-nav button.is-active::after{transform:scaleX(1);}
  .tab-shop-panel{display:none;}
  .tab-shop-panel.is-active{display:block;}

  /* ============ COUNTDOWN FLASH BANNER ============ */
  .flash-band{
    background:var(--invert);border-radius:var(--radius-lg);padding:40px var(--gutter);
    display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  }
  .flash-band-copy h2{color:#fff;font-size:clamp(24px,3vw,36px);}
  .flash-band-copy p{color:#C9C3B6;margin-top:6px;font-size:14px;}
  .flash-timer{display:flex;gap:12px;}
  .flash-timer div{
    display:flex;flex-direction:column;align-items:center;gap:4px;
    background:rgba(255,255,255,.08);border-radius:var(--radius-lg);padding:12px 16px;min-width:64px;
  }
  .flash-timer strong{font-family:var(--display);font-size:26px;color:#fff;font-variant-numeric:tabular-nums;}
  .flash-timer span{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#9B968A;}
  @media (max-width:700px){ .flash-band{flex-direction:column;align-items:flex-start;} }

  /* ============ COMPARISON / VERSUS STRIP ============ */
  .versus-strip{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;}
  .versus-card{
    background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);padding:28px;
    display:flex;flex-direction:column;gap:14px;
  }
  .versus-card .ph-img{aspect-ratio:4/3;border-radius:var(--radius-lg);}
  .versus-card h4{font-size:19px;color:var(--ink);text-transform:none;}
  .versus-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
  .versus-card li{font-size:13.5px;color:var(--ink-dim);display:flex;align-items:center;gap:8px;}
  .versus-card li svg{width:14px;height:14px;color:var(--pink);flex-shrink:0;}
  .versus-vs{
    font-family:var(--display);font-size:22px;color:var(--pink);
    width:54px;height:54px;border-radius:50%;border:2px solid var(--pink);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
  }
  @media (max-width:760px){
    .versus-strip{grid-template-columns:1fr;}
    .versus-vs{margin:0 auto;}
  }

  /* ============ MAGAZINE FEATURE GRID (asymmetric) ============ */
  .mag-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;}
  .mag-grid .mag-main{position:relative;min-height:460px;border-radius:var(--radius-lg);overflow:hidden;}
  .mag-grid .mag-main .ph-img{position:absolute;inset:0;}
  .mag-grid .mag-main::after{
    content:'';position:absolute;inset:0;background:linear-gradient(0deg, rgba(0,0,0,.8), transparent 55%);
  }
  .mag-grid .mag-main-copy{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:30px;}
  .mag-grid .mag-main-copy .eyebrow{color:#fff;opacity:.85;}
  .mag-grid .mag-main-copy h3{color:#fff;font-size:clamp(24px,2.8vw,34px);margin:8px 0 14px;}
  .mag-side{display:flex;flex-direction:column;gap:20px;}
  .mag-side-item{
    position:relative;flex:1;min-height:216px;border-radius:var(--radius-lg);overflow:hidden;display:flex;align-items:flex-end;
  }
  .mag-side-item .ph-img{position:absolute;inset:0;}
  .mag-side-item::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg, rgba(0,0,0,.75), transparent 55%);}
  .mag-side-item .mag-side-copy{position:relative;z-index:2;padding:20px;}
  .mag-side-item h4{color:#fff;font-size:18px;text-transform:none;margin:0;}
  .mag-side-item span{color:#D9D5CC;font-size:12px;}
  @media (max-width:860px){
    .mag-grid{grid-template-columns:1fr;}
    .mag-side{flex-direction:row;}
  }
  @media (max-width:560px){
    .mag-side{flex-direction:column;}
  }

  /* ============ SHOP / COLLECTION PAGE ============ */
  .shop-header{padding-block:48px 32px;border-bottom:1px solid var(--line);}
  .shop-header h1{font-size:clamp(30px,4vw,48px);}
  .shop-header p{color:var(--ink-dim);margin-top:8px;font-size:14px;}
  .breadcrumb{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-dim);margin-bottom:14px;}
  .breadcrumb a{color:var(--ink-dim);}
  .breadcrumb a:hover{color:var(--pink);}
  .breadcrumb svg{width:11px;height:11px;}

  .shop-layout{display:grid;grid-template-columns:240px 1fr;gap:40px;padding-block:36px;}
  @media (max-width:900px){ .shop-layout{grid-template-columns:1fr;} }

  .shop-filters{display:flex;flex-direction:column;gap:28px;}
  .filter-group{border-bottom:1px solid var(--line);padding-bottom:20px;}
  .filter-group h4{font-size:13px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;margin-bottom:14px;color:var(--ink);}
  .filter-option{display:flex;align-items:center;gap:9px;padding:6px 0;font-size:13.5px;color:var(--ink-dim);cursor:pointer;}
  .filter-option input{accent-color:var(--pink);width:15px;height:15px;}
  .filter-option:hover{color:var(--ink);}
  .filter-swatches{display:flex;flex-wrap:wrap;gap:8px;}
  .filter-swatch{
    width:26px;height:26px;border-radius:50%;border:2px solid var(--line);cursor:pointer;padding:0;
    transition:border-color .15s ease;
  }
  .filter-swatch.is-active{border-color:var(--pink);}
  .filter-price-inputs{display:flex;align-items:center;gap:8px;}
  .filter-price-inputs input{
    width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-lg);font-size:13px;
    background:var(--surface);color:var(--ink);
  }

  .shop-toolbar{
    display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;
    padding-bottom:16px;border-bottom:1px solid var(--line);flex-wrap:wrap;
  }
  .shop-toolbar .count{font-size:13px;color:var(--ink-dim);}
  .shop-sort{display:flex;align-items:center;gap:8px;font-size:13px;}
  .shop-sort select{
    padding:8px 30px 8px 12px;border:1px solid var(--line);border-radius:var(--radius-lg);font-size:13px;
    background:var(--surface);color:var(--ink);appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 8px center;background-size:14px;
  }
  .mobile-filter-btn{display:none;}
  @media (max-width:900px){
    .mobile-filter-btn{
      display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--line);
      border-radius:var(--radius-lg);background:var(--surface);cursor:pointer;font-size:13px;color:var(--ink);
    }
    .shop-filters{display:none;}
    .shop-filters.is-open{display:flex;}
  }

  .pagination{display:flex;align-items:center;justify-content:center;gap:8px;padding-top:40px;}
  .pagination a, .pagination span{
    width:38px;height:38px;display:flex;align-items:center;justify-content:center;
    border-radius:var(--radius-lg);font-size:13px;color:var(--ink-dim);
  }
  .pagination a:hover{background:var(--bg-raise);color:var(--ink);}
  .pagination a.is-active{background:var(--pink);color:var(--on-accent);}

  /* ============ AUTH / ACCOUNT PAGES ============ */
  .auth-wrap{
    max-width:420px;margin:0 auto;padding-block:64px;display:flex;flex-direction:column;gap:24px;
  }
  .auth-wrap h1{font-size:clamp(26px,3.4vw,34px);text-align:center;}
  .auth-wrap p.auth-sub{text-align:center;color:var(--ink-dim);font-size:14px;margin-top:-12px;}
  .auth-form{display:flex;flex-direction:column;gap:16px;}
  .form-field-group{display:flex;flex-direction:column;gap:6px;}
  .form-field-group label{font-size:12.5px;font-weight:700;letter-spacing:.02em;color:var(--ink);}
  .form-field-group input{
    padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-lg);font-size:14px;
    background:var(--surface);color:var(--ink);
  }
  .form-field-group input:focus{outline:none;border-color:var(--pink);}
  .auth-form .btn{margin-top:6px;}
  .auth-alt-link{text-align:center;font-size:13.5px;color:var(--ink-dim);}
  .auth-alt-link a{color:var(--pink);font-weight:600;}
  .auth-divider{display:flex;align-items:center;gap:12px;color:var(--ink-dim);font-size:12px;}
  .auth-divider::before, .auth-divider::after{content:'';flex:1;height:1px;background:var(--line);}

  .account-layout{display:grid;grid-template-columns:220px 1fr;gap:40px;padding-block:36px;}
  @media (max-width:760px){ .account-layout{grid-template-columns:1fr;} }
  .account-nav{display:flex;flex-direction:column;gap:2px;}
  .account-nav a{
    padding:11px 14px;border-radius:var(--radius-lg);font-size:13.5px;font-weight:600;color:var(--ink-dim);
  }
  .account-nav a:hover{background:var(--bg-raise);color:var(--ink);}
  .account-nav a.is-active{background:var(--pink);color:var(--on-accent);}
  .account-card{
    background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);padding:24px;
  }
  .account-order-row{
    display:flex;align-items:center;justify-content:space-between;padding-block:16px;
    border-bottom:1px solid var(--line);gap:12px;flex-wrap:wrap;
  }
  .account-order-row:last-child{border-bottom:none;}
  .account-order-row .order-id{font-weight:700;font-size:14px;}
  .account-order-row .order-date{font-size:12.5px;color:var(--ink-dim);}
  .order-status{
    font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;
    padding:4px 10px;border-radius:20px;
  }
  .order-status.delivered{background:var(--status-success-bg);color:var(--status-success-text);}
  .order-status.shipped{background:var(--status-info-bg);color:var(--status-info-text);}
  .order-status.processing{background:var(--status-warning-bg);color:var(--status-warning-text);}

  .address-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  @media (max-width:600px){ .address-grid{grid-template-columns:1fr;} }
  .address-card{
    border:1px solid var(--line);border-radius:var(--radius-xl);padding:20px;position:relative;
    display:flex;flex-direction:column;gap:4px;
  }
  .address-card.is-default{border-color:var(--pink);}
  .address-card .address-tag{
    font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--pink);
    margin-bottom:6px;
  }
  .address-card .address-name{font-weight:700;font-size:14.5px;}
  .address-card .address-line{font-size:13.5px;color:var(--ink-dim);}
  .address-card .address-actions{display:flex;gap:14px;margin-top:12px;}
  .address-card .address-actions button{
    background:none;border:none;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--ink);
    text-decoration:underline;padding:0;
  }
  .address-card.add-new{
    align-items:center;justify-content:center;border-style:dashed;color:var(--ink-dim);
    min-height:150px;cursor:pointer;text-align:center;gap:8px;
  }
  .address-card.add-new:hover{border-color:var(--pink);color:var(--pink);}

  /* ============ CART PAGE ============ */
  .cart-page-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:44px;padding-block:36px;align-items:start;}
  @media (max-width:860px){ .cart-page-layout{grid-template-columns:1fr;} }

  .cart-page-list{display:flex;flex-direction:column;}
  .cart-page-row{
    display:grid;grid-template-columns:100px 1fr auto auto;gap:18px;align-items:center;
    padding-block:22px;border-bottom:1px solid var(--line);
  }
  .cart-page-row .ph-img{aspect-ratio:4/5;border-radius:var(--radius-lg);}
  .cart-page-row .row-title{font-weight:600;font-size:14.5px;margin-bottom:4px;}
  .cart-page-row .row-variant{font-size:12.5px;color:var(--ink-dim);}
  .cart-page-row .row-price{font-size:14px;font-weight:700;}
  .cart-page-row .row-remove{
    background:none;border:none;cursor:pointer;color:var(--ink-dim);font-size:12.5px;
    text-decoration:underline;padding:0;margin-top:6px;
  }
  .cart-page-empty{
    text-align:center;padding:80px 20px;color:var(--ink-dim);display:flex;flex-direction:column;
    align-items:center;gap:16px;
  }
  .cart-page-empty svg{width:56px;height:56px;opacity:.4;}

  .order-summary{
    background:var(--bg-raise);border-radius:var(--radius-xl);padding:28px;position:sticky;top:90px;
  }
  .order-summary h3{font-size:16px;margin-bottom:18px;}
  .order-summary-row{display:flex;justify-content:space-between;font-size:13.5px;color:var(--ink-dim);padding-block:8px;}
  .order-summary-row.total{
    color:var(--ink);font-weight:700;font-size:16px;border-top:1px solid var(--line);
    padding-top:16px;margin-top:8px;
  }
  .order-summary-promo{display:flex;gap:8px;margin:16px 0;}
  .order-summary-promo input{
    flex:1;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-lg);font-size:13px;
    background:var(--surface);color:var(--ink);
  }
  .order-summary .btn{width:100%;margin-top:10px;}
  .order-summary-note{font-size:11.5px;color:var(--ink-dim);text-align:center;margin-top:12px;}

  /* ============ PRODUCT DETAIL PAGE ============ */
  .pdp-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding-block:36px;}
  @media (max-width:860px){ .pdp-layout{grid-template-columns:1fr;gap:28px;} }

  .pdp-gallery{position:sticky;top:90px;align-self:start;}
  @media (max-width:860px){ .pdp-gallery{position:static;} }
  .pdp-main-media{aspect-ratio:4/5;border-radius:var(--radius-lg);overflow:hidden;margin-bottom:12px;}
  .pdp-thumbs{display:flex;gap:10px;}
  .pdp-thumb{
    width:76px;aspect-ratio:4/5;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;
    border:2px solid transparent;transition:border-color .15s ease;flex-shrink:0;
  }
  .pdp-thumb.is-active{border-color:var(--pink);}

  .pdp-info{display:flex;flex-direction:column;gap:18px;}
  .pdp-info h1{font-size:clamp(24px,3vw,34px);}
  .pdp-rating{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-dim);}
  .pdp-rating .stars{color:var(--pink);}
  .pdp-rating .stars svg{width:14px;height:14px;}
  .pdp-price-row{display:flex;align-items:center;gap:12px;}
  .pdp-price-row .now{font-size:24px;font-weight:800;}
  .pdp-price-row .was{font-size:16px;color:var(--ink-dim);text-decoration:line-through;}
  .pdp-desc{color:var(--ink-dim);font-size:14.5px;line-height:1.7;max-width:52ch;}

  .pdp-option-group{display:flex;flex-direction:column;gap:10px;}
  .pdp-option-label{display:flex;justify-content:space-between;font-size:12.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;}
  .pdp-option-label span{font-weight:400;text-transform:none;color:var(--ink-dim);letter-spacing:0;}
  .pdp-swatches{display:flex;gap:10px;}
  .pdp-swatch{
    width:34px;height:34px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;
    box-shadow:0 0 0 1px var(--line);
  }
  .pdp-swatch.is-active{border-color:var(--pink);}
  .pdp-sizes{display:flex;gap:8px;flex-wrap:wrap;}
  .pdp-sizes button{
    min-width:48px;padding:11px 8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);
    font-size:13px;font-weight:600;cursor:pointer;border-radius:var(--radius-lg);transition:all .15s ease;
  }
  .pdp-sizes button:hover{border-color:var(--ink);}
  .pdp-sizes button.is-active{background:var(--pink);color:var(--on-accent);border-color:var(--pink);}
  .pdp-sizes button:disabled{opacity:.35;text-decoration:line-through;cursor:not-allowed;}
  .pdp-size-link{font-size:12.5px;color:var(--pink);text-decoration:underline;cursor:pointer;background:none;border:none;padding:0;}

  .pdp-buy-row{display:flex;gap:10px;align-items:stretch;}
  .pdp-buy-row .qty-stepper{
    display:flex;align-items:center;border:1px solid var(--line);border-radius:var(--radius-lg);flex-shrink:0;
  }
  .pdp-buy-row .qty-stepper button{
    width:38px;background:none;border:none;cursor:pointer;font-size:16px;color:var(--ink);
  }
  .pdp-buy-row .qty-stepper input{
    width:36px;text-align:center;border:none;background:none;font-size:14px;color:var(--ink);
  }
  .pdp-buy-row .btn{flex:1;}

  .pdp-perks{display:flex;flex-direction:column;gap:10px;padding-top:6px;border-top:1px solid var(--line);}
  .pdp-perk{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-dim);}
  .pdp-perk svg{width:17px;height:17px;color:var(--pink);flex-shrink:0;}

  .pdp-tabs-nav{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-top:8px;}
  .pdp-tabs-nav button{
    background:none;border:none;cursor:pointer;font-family:inherit;padding:12px 0;font-size:13.5px;
    font-weight:700;color:var(--ink-dim);position:relative;
  }
  .pdp-tabs-nav button.is-active{color:var(--ink);}
  .pdp-tabs-nav button.is-active::after{
    content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--pink);
  }
  .pdp-tab-panel{display:none;padding-top:18px;font-size:14px;color:var(--ink-dim);line-height:1.7;}
  .pdp-tab-panel.is-active{display:block;}
  .pdp-review-item{border-bottom:1px solid var(--line);padding-block:16px;}
  .pdp-review-item:last-child{border-bottom:none;}
  .pdp-review-item .stars{display:flex;gap:2px;color:var(--pink);margin-bottom:8px;}
  .pdp-review-item .stars svg{width:13px;height:13px;}
  .pdp-review-item p{margin:0 0 6px;color:var(--ink);}
  .pdp-review-item cite{font-style:normal;font-size:12.5px;color:var(--ink-dim);}

  /* ============ STATS BAND ============ */
  .stats-band{
    background:var(--bg-raise);border:1px solid var(--line);border-radius:var(--radius-md);
    padding:44px var(--gutter);display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;
  }
  .stats-band strong{display:block;font-family:var(--display);font-size:clamp(30px,3.4vw,46px);color:var(--ink);}
  .stats-band span{display:block;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-dim);margin-top:6px;}
  @media (max-width:760px){ .stats-band{grid-template-columns:repeat(2,1fr);} }

  /* ============ TESTIMONIAL / SOCIAL PROOF ============ */
  .social-wall{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
  .social-wall a{position:relative;aspect-ratio:1/1;overflow:hidden;border-radius:var(--radius-sm);background:var(--bg-raise);}
  .social-wall img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-premium);}
  .social-wall a:hover img{transform:scale(1.08);}
  .social-wall .tag{
    position:absolute;left:10px;bottom:10px;color:#fff;font-size:12px;font-weight:700;
    display:flex;align-items:center;gap:5px;
  }
  @media (max-width:900px){ .social-wall{grid-template-columns:repeat(3,1fr);} }
  @media (max-width:560px){ .social-wall{grid-template-columns:repeat(2,1fr);} }

  .reviews-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .review-card{
    background:var(--bg-raise);border:1px solid var(--line);border-radius:var(--radius-md);padding:26px;
    display:flex;flex-direction:column;gap:14px;
  }
  .stars{display:flex;gap:3px;color:var(--pink);}
  .stars svg{width:14px;height:14px;}
  .review-card p{font-size:14px;color:var(--ink);line-height:1.6;margin:0;}
  .review-card cite{font-style:normal;font-size:12.5px;color:var(--ink-dim);}
  .review-card cite strong{color:var(--ink);}
  @media (max-width:860px){ .reviews-row{grid-template-columns:1fr;} }

  /* ============ NEWSLETTER ============ */
  .newsletter{
    background:linear-gradient(120deg, var(--pink) 0%, var(--pink-light) 100%);
    border-radius:var(--radius-md);padding:60px var(--gutter);
    display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;color:#fff;
  }
  .newsletter h2{color:#fff;font-size:clamp(28px,3.4vw,44px);}
  .newsletter p{color:rgba(255,255,255,.85);margin-top:12px;max-width:420px;font-size:14.5px;}
  .nl-form{display:flex;gap:10px;}
  .nl-form input{
    flex:1;padding:15px 16px;border-radius:var(--radius-xs);border:none;background:rgba(255,255,255,.18);
    color:#fff;font-size:14px;
  }
  .nl-form input::placeholder{color:rgba(255,255,255,.75);}
  .nl-note{font-size:11.5px;color:rgba(255,255,255,.75);margin-top:10px;}
  @media (max-width:800px){ .newsletter{grid-template-columns:1fr;} .nl-form{flex-direction:column;} }

  /* ============ FOOTER ============ */
  footer.site{background:var(--invert-bg);border-top:1px solid var(--invert-line);padding-top:60px;color:var(--invert-ink);}
  .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:44px;}
  .footer-brand .logo{margin-bottom:14px;color:var(--invert-ink);}
  .footer-brand p{color:var(--invert-ink-dim);font-size:13.5px;max-width:280px;line-height:1.6;}
  .footer-social{display:flex;gap:10px;margin-top:18px;}
  .footer-social a{
    width:34px;height:34px;border-radius:50%;border:1px solid var(--invert-line);
    display:flex;align-items:center;justify-content:center;color:var(--invert-ink);
  }
  .footer-social svg{width:14px;height:14px;}
  .footer-col h4{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px;color:var(--invert-ink);}
  .footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
  .footer-col a{font-size:13.5px;color:var(--invert-ink-dim);}
  .footer-col a:hover{color:var(--pink);}
  .footer-bottom{
    border-top:1px solid var(--invert-line);padding:20px 0;
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
    font-size:12px;color:var(--invert-ink-dim);
  }
  .payment-row{display:flex;gap:8px;}
  .payment-row span{border:1px solid var(--invert-line);border-radius:var(--radius-sm);padding:3px 7px;font-size:10.5px;color:var(--invert-ink-dim);}
  @media (max-width:900px){ .footer-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:560px){ .footer-grid{grid-template-columns:1fr;} }

  /* ============ SCROLL REVEAL ============ */
  [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease-premium), transform .7s var(--ease-premium);}
  [data-reveal].is-visible{opacity:1;transform:translateY(0);}
  [data-reveal-group] [data-reveal]{transition-delay:calc(var(--i,0) * 70ms);}
  @media (prefers-reduced-motion: reduce){
    [data-reveal]{opacity:1;transform:none;transition:none;}
  }

  /* ============ PAGE ENTRANCE (on first paint, header + hero settle in) ============ */
  @keyframes page-enter-down{
    from{opacity:0;transform:translateY(-14px);}
    to{opacity:1;transform:translateY(0);}
  }
  @keyframes page-enter-up{
    from{opacity:0;transform:translateY(18px);}
    to{opacity:1;transform:translateY(0);}
  }
  header.site{animation:page-enter-down .6s var(--ease-premium) both;}
  .hero-inner, .hero-single .hero-inner, .hero-split-copy{
    animation:page-enter-up .8s var(--ease-premium) .15s both;
  }
  @media (prefers-reduced-motion: reduce){
    header.site, .hero-inner, .hero-single .hero-inner, .hero-split-copy{animation:none;}
  }

  /* ============ HEADER SCROLLED STATE ============ */
  header.site.is-scrolled{background:var(--surface);box-shadow:0 8px 24px var(--shadow);}
  header.site.is-scrolled .site-nav{padding-block:13px;}

  /* ============ MOBILE MENU DRAWER ============ */
  [data-drawer-overlay]{
    position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:190;
    opacity:0;pointer-events:none;transition:opacity .3s ease;backdrop-filter:blur(2px);
  }
  [data-drawer-overlay].is-open{opacity:1;pointer-events:auto;}
  [data-mobile-menu]{
    position:fixed;top:0;left:0;height:100%;width:min(320px,85%);
    background:var(--surface);z-index:210;transform:translateX(-100%);
    transition:transform .35s var(--ease-premium);overflow-y:auto;
    border-right:1px solid var(--line);
  }
  [data-mobile-menu].is-open{transform:translateX(0);}
  [data-mobile-menu] .mm-head{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--line);}
  [data-mobile-menu] .mm-close{background:none;border:none;color:var(--ink);cursor:pointer;padding:4px;}
  [data-mobile-menu] ul{list-style:none;margin:0;padding:14px 8px;}
  [data-mobile-menu] a{
    display:block;padding:15px 16px;font-size:15px;font-weight:700;text-transform:uppercase;
    letter-spacing:.03em;color:var(--ink); border-radius:var(--radius-sm); transition:background .15s ease, color .15s ease;
  }
  [data-mobile-menu] a:hover{background:var(--pink);color:var(--on-accent);}

  [data-mobile-menu] .mm-search{
    display:flex;align-items:center;gap:10px;margin:16px 20px 0;padding:13px 16px;
    background:var(--bg-raise);border:1px solid var(--line);border-radius:999px;
    color:var(--ink-dim);font-family:var(--body);font-size:14px;font-weight:600;
    cursor:pointer;width:calc(100% - 40px);text-align:left;
  }
  [data-mobile-menu] .mm-search svg{flex-shrink:0;}

  [data-mobile-menu] .mm-quick-row{
    display:flex;padding:18px 12px;margin:16px 8px 4px;border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  [data-mobile-menu] .mm-quick-item{
    flex:1;display:flex !important;flex-direction:column;align-items:center;gap:6px;
    padding:6px 4px !important;font-size:11px !important;font-weight:600 !important;
    text-transform:none !important;letter-spacing:0 !important;color:var(--ink);
    background:none;border:none;font-family:var(--body);cursor:pointer;
  }
  [data-mobile-menu] .mm-quick-item:hover{background:var(--bg-raise) !important;color:var(--ink) !important;}
  [data-mobile-menu] .mm-quick-icon{position:relative;display:inline-flex;}
  [data-mobile-menu] .mm-quick-badge{
    position:absolute;top:-6px;right:-8px;min-width:15px;height:15px;padding:0 3px;
    background:var(--pink);color:var(--on-accent);border-radius:999px;
    font-size:9.5px;font-weight:700;display:flex;align-items:center;justify-content:center;
  }

  [data-mobile-menu] .mm-cat-list{padding:6px 8px 20px;}
  [data-mobile-menu] .mm-cat-item{
    display:flex !important;align-items:center;gap:12px;padding:9px 10px !important;
    text-transform:none !important;font-weight:600 !important;font-size:14.5px !important;
    letter-spacing:0 !important;
  }
  [data-mobile-menu] .mm-cat-thumb{
    width:38px;height:38px;border-radius:50%;overflow:hidden;flex-shrink:0;
    background:var(--bg-raise);border:1px solid var(--line);
  }
  [data-mobile-menu] .mm-cat-thumb img{width:100%;height:100%;object-fit:cover;}
  [data-mobile-menu] .mm-cat-name{flex:1;}
  [data-mobile-menu] .mm-cat-arrow{flex-shrink:0;opacity:.4;}
  [data-mobile-menu] .mm-cat-item:hover .mm-cat-arrow{opacity:.9;}

  /* ============ HOME SWITCHER (desktop dropdown) ============ */
  .nav-home{position:relative;}
  .nav-home-trigger{
    display:inline-flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;
    font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-dim);
    font-family:inherit;padding:0;
  }
  .nav-home-trigger svg{width:13px;height:13px;transition:transform .2s ease;}
  .nav-home-trigger:hover, .nav-home-trigger.active{color:var(--ink);}
  .nav-home[aria-expanded="true"] .nav-home-trigger svg,
  .nav-home-trigger[aria-expanded="true"] svg{transform:rotate(180deg);}

  .home-switcher-panel{
    position:absolute;top:calc(100% + 18px);left:50%;transform:translateX(-50%) translateY(-8px);
    width:min(560px, 80vw);z-index:70;
    opacity:0;pointer-events:none;transition:opacity .2s ease, transform .2s ease;
  }
  .nav-home.is-open .home-switcher-panel{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);}
  .home-switcher-inner{
    background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);
    padding:20px;box-shadow:0 20px 50px var(--shadow);
    max-height:60vh;overflow-y:auto;
  }
  .home-switcher-label{
    display:block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
    color:var(--ink-dim);margin-bottom:14px;
  }
  .home-switcher-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;}
  .home-switcher-grid a{
    display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius-sm);
    font-size:13px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--ink);
    transition:background .15s ease;
  }
  .home-switcher-grid a:hover{background:var(--bg-raise);}
  .home-switcher-grid a.is-current{color:var(--pink);}
  .home-switcher-grid a .swatch{
    width:9px;height:9px;border-radius:50%;flex-shrink:0;
  }

  .mm-section-label{
    padding:16px 24px 8px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
    color:var(--ink-dim);
  }
  .mm-home-list{padding:0 12px;display:flex;flex-direction:column;gap:2px;}
  .mm-home-list a{
    display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:var(--radius-sm);
    font-size:13.5px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--ink);
  }
  .mm-home-list a:hover{background:var(--bg-raise);}
  .mm-home-list a.is-current{color:var(--pink);}
  .mm-home-list a .swatch{width:8px;height:8px;border-radius:50%;flex-shrink:0;}

  /* ============ CART DRAWER ============ */
  [data-cart-drawer]{
    position:fixed;top:0;right:0;height:100%;width:min(440px,100%);
    background:var(--surface);z-index:210;transform:translateX(100%);
    transition:transform .35s var(--ease-premium);display:flex;flex-direction:column;
    border-left:1px solid var(--line);
  }
  [data-cart-drawer].is-open{transform:translateX(0);}
  .cart-head{display:flex;justify-content:space-between;align-items:center;padding:22px;border-bottom:1px solid var(--line);}
  .cart-head strong{font-family:var(--display);font-size:18px;letter-spacing:.02em;}
  .cart-head button{background:none;border:none;color:var(--ink);cursor:pointer;padding:4px;}
  .cart-body{flex:1;overflow-y:auto;padding:20px 22px;display:flex;flex-direction:column;gap:18px;}
  .cart-empty{text-align:center;color:var(--ink-dim);padding:60px 20px;font-size:14px;}
  .cart-item{display:grid;grid-template-columns:76px 1fr auto;gap:14px;align-items:flex-start;}
  .cart-item img{width:76px;height:96px;object-fit:cover;border-radius:var(--radius-sm);}
  .cart-item .ci-title{font-size:13.5px;font-weight:600;}
  .cart-item .ci-variant{font-size:12px;color:var(--ink-dim);margin-top:2px;}
  .cart-item .ci-price{font-size:13px;font-weight:700;margin-top:8px;}
  .cart-item .ci-remove{background:none;border:none;color:var(--ink-dim);cursor:pointer;font-size:18px;line-height:1;}
  .cart-item .ci-remove:hover{color:var(--pink);}
  .cart-qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--radius-xs);margin-top:8px;}
  .cart-qty button{width:26px;height:26px;background:none;border:none;color:var(--ink);cursor:pointer;font-size:14px;}
  .cart-qty span{width:26px;text-align:center;font-size:12.5px;}
  .cart-foot{padding:20px 22px;border-top:1px solid var(--line);}
  .cart-subtotal-row{display:flex;justify-content:space-between;font-size:14px;font-weight:700;margin-bottom:14px;}
  .cart-foot .btn{width:100%;margin-bottom:10px;}
  .cart-note{font-size:11.5px;color:var(--ink-dim);text-align:center;}

  /* ============ QUICK VIEW MODAL ============ */
  [data-quickview]{
    position:fixed;inset:0;z-index:220;display:flex;align-items:center;justify-content:center;
    padding:24px;opacity:0;pointer-events:none;transition:opacity .35s var(--ease-premium);
  }
  [data-quickview].is-open{opacity:1;pointer-events:auto;}
  .qv-overlay{position:absolute;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(3px);}
  .qv-panel{
    position:relative;z-index:2;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);
    max-width:860px;width:100%;max-height:88vh;overflow-y:auto;
    display:grid;grid-template-columns:1fr 1fr;
    transform:scale(.94) translateY(12px);transition:transform .4s var(--ease-premium);
  }
  [data-quickview].is-open .qv-panel{transform:scale(1) translateY(0);}
  .qv-media{position:relative;aspect-ratio:3/4;background:var(--bg-raise);}
  .qv-media img{width:100%;height:100%;object-fit:cover;}
  .qv-close{
    position:absolute;top:14px;right:14px;z-index:3;width:34px;height:34px;border-radius:50%;
    background:var(--overlay);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;
  }
  .qv-info{padding:32px;display:flex;flex-direction:column;gap:16px;}
  .qv-info h3{font-size:26px;text-transform:none;font-family:var(--body);font-weight:700;letter-spacing:0;line-height:1.2;}
  .qv-price{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800;}
  .qv-price .was{font-size:14px;color:var(--ink-dim);text-decoration:line-through;font-weight:400;}
  .qv-swatch-row{display:flex;gap:8px;}
  .qv-swatch-row button{
    width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;
  }
  .qv-swatch-row button.is-active{border-color:#fff;}
  .qv-sizes{display:flex;gap:8px;flex-wrap:wrap;}
  .qv-sizes button{
    min-width:44px;padding:9px 6px;border:1px solid var(--line);background:none;color:var(--ink);
    font-size:12.5px;font-weight:700;cursor:pointer;border-radius:var(--radius-xs);transition:all .15s ease;
  }
  .qv-sizes button:hover{border-color:#fff;}
  .qv-sizes button.is-active{background:var(--chip-bg);color:var(--chip-text);border-color:var(--chip-bg);}
  .qv-sizes button:disabled{opacity:.3;text-decoration:line-through;cursor:not-allowed;}
  .qv-label{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);}
  .qv-actions{display:flex;gap:10px;margin-top:4px;}
  .qv-actions .btn-pink{flex:1;}
  .qv-actions .icon-btn{border:1px solid var(--line);width:48px;height:48px;border-radius:var(--radius-xs);color:var(--ink);}
  @media (max-width:700px){
    .qv-panel{grid-template-columns:1fr;}
    .qv-media{aspect-ratio:4/3;}
  }

  /* ============ TOAST ============ */
  .toast{
    position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);z-index:300;
    background:var(--chip-bg);color:var(--chip-text);padding:14px 22px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:700;
    display:flex;align-items:center;gap:10px;opacity:0;transition:all .3s var(--ease-premium);
    box-shadow:0 12px 30px rgba(0,0,0,.4);
  }
  .toast.is-show{opacity:1;transform:translate(-50%,0);}
  .toast svg{width:16px;height:16px;color:var(--pink);flex-shrink:0;}

  /* ============ MICRO-INTERACTIONS ============ */
  .icon-btn{transition:transform .25s var(--ease-premium), color .15s ease;}
  .icon-btn:active{transform:scale(.88);}
  .pcard-wish{transition:transform .25s var(--ease-premium), color .15s ease, background .15s ease;}
  .pcard-wish:active{transform:scale(.85);}
  .pcard-wish.is-active svg{fill:var(--pink);}
  .btn:active{transform:scale(.97) translateY(0);}
  .count-bubble{transition:transform .2s cubic-bezier(.34,1.56,.64,1);}
  .count-bubble.pulse{animation:bubble-pulse .35s cubic-bezier(.34,1.56,.64,1);}
  @keyframes bubble-pulse{ 0%{transform:scale(1);} 40%{transform:scale(1.5);} 100%{transform:scale(1);} }

  body.no-scroll{overflow:hidden;}

  /* ============ THEME TOGGLE ICON SWAP ============ */
  [data-theme-toggle] .theme-icon-light{display:none;}
  :root[data-theme="light"] [data-theme-toggle] .theme-icon-dark{display:none;}
  :root[data-theme="light"] [data-theme-toggle] .theme-icon-light{display:block;}

  /* ============ STYLE SWITCHER (accent color + font pairing) ============ */
  .style-switcher{position:relative;}
  .style-switcher-panel{
    position:absolute;top:calc(100% + 14px);right:0;z-index:70;
    width:300px;opacity:0;pointer-events:none;transform:translateY(-8px);
    transition:opacity .2s ease, transform .2s ease;
  }
  .style-switcher.is-open .style-switcher-panel{opacity:1;pointer-events:auto;transform:translateY(0);}
  .style-switcher-inner{
    background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);
    padding:18px;box-shadow:0 20px 50px var(--shadow);
    max-height:min(560px, calc(100vh - 120px));overflow-y:auto;
  }
  .sw-label{
    display:block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
    color:var(--ink-dim);margin-bottom:10px;
    position:sticky;top:-1px;background:var(--surface);padding-block:2px;z-index:1;
  }
  .sw-label:not(:first-child){margin-top:18px;}
  .sw-swatches{
    display:flex;gap:10px;flex-wrap:wrap;
    max-height:168px;overflow-y:auto;padding:2px;margin:-2px;
  }
  .sw-swatch{
    width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;
    position:relative;transition:transform .15s ease;flex-shrink:0;
  }
  .sw-swatch:hover{transform:scale(1.12);}
  .sw-swatch.is-active{border-color:var(--ink);}
  .sw-swatch.is-active::after{
    content:'';position:absolute;inset:0;margin:auto;width:8px;height:8px;border-radius:50%;
    background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.2);
  }
  .sw-fonts{
    display:flex;flex-direction:column;gap:6px;
    max-height:220px;overflow-y:auto;padding:2px;margin:-2px;
  }
  .sw-font-btn{
    text-align:left;padding:10px 12px;border-radius:var(--radius-lg);border:1px solid var(--line);
    background:none;cursor:pointer;font-size:13.5px;color:var(--ink);
    display:flex;justify-content:space-between;align-items:center;
    transition:border-color .15s ease, background .15s ease;
    flex-shrink:0;
  }
  .sw-font-btn:hover{background:var(--bg-raise);}
  .sw-font-btn.is-active{border-color:var(--pink);color:var(--pink);}
  .sw-reset{
    margin-top:16px;width:100%;text-align:center;padding:9px;border-radius:var(--radius-lg);
    border:1px dashed var(--line);background:none;cursor:pointer;font-size:12px;
    color:var(--ink-dim);
  }
  .sw-reset:hover{color:var(--ink);border-color:var(--ink-dim);}
  @media (max-width:480px){
    .style-switcher-panel{right:-60px;width:min(300px, calc(100vw - 32px));}
  }

  /* ============ IMAGE PLACEHOLDER (no external images — swap for real photography) ============ */
  .ph-img{
    position:relative;width:100%;height:100%;
    background:
      repeating-linear-gradient(135deg, rgba(255,255,255,.035) 0px, rgba(255,255,255,.035) 1px, transparent 1px, transparent 14px),
      linear-gradient(155deg, var(--bg-raise) 0%, var(--placeholder-end) 100%);
    display:flex;align-items:center;justify-content:center;text-align:center;
    color:var(--ink-dim);
  }
  .ph-img span{
    font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
    padding:0 16px;opacity:.7;
  }
  .ph-img::before{
    content:'';position:absolute;inset:0;border:1px dashed rgba(255,255,255,.08);pointer-events:none;
  }
  /* when .ph-img is a real <img> (real product photography), it has no ::before/span
     children to lay out — just fill the frame like a normal photo */
  img.ph-img{
    display:block;object-fit:cover;object-position:center top;background:var(--bg-raise);
  }
  img.ph-img::before{ content:none; }
  /* keep existing positioning/transition hooks (.bg, .main, .alt) working on the placeholder div */
  .hero .ph-img.bg{position:absolute;inset:0;opacity:.55;}
  .pcard-media .ph-img.alt{opacity:0;position:absolute;inset:0;}
  .pcard:hover .pcard-media .ph-img.main{opacity:0;}
  .pcard:hover .pcard-media .ph-img.alt{opacity:1;}
  .promo-panel .ph-img{position:absolute;inset:0;opacity:.7;}
  .story-media .ph-img, .qv-media .ph-img{position:absolute;inset:0;}

  /* ============ CONTACT & TRACK ORDER PAGES ============ */
  .form-field-group textarea{
    padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-lg);font-size:14px;
    background:var(--surface);color:var(--ink);font-family:var(--body);resize:vertical;min-height:140px;
  }
  .form-field-group textarea:focus{outline:none;border-color:var(--pink);}
  .form-field-group select{
    padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-lg);font-size:14px;
    background:var(--surface);color:var(--ink);font-family:var(--body);appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 14px center;background-size:14px;
  }
  .form-field-group select:focus{outline:none;border-color:var(--pink);}

  /* contact page: two-column form + info layout */
  .contact-layout{
    display:grid;grid-template-columns:1.3fr 1fr;gap:48px;padding-block:8px 36px;align-items:start;
  }
  @media (max-width:820px){ .contact-layout{grid-template-columns:1fr;} }
  .contact-form-col .auth-form{max-width:none;}
  .contact-info-col{display:flex;flex-direction:column;gap:18px;}
  .contact-info-card h3{font-size:20px;margin-top:8px;margin-bottom:10px;}
  .contact-info-line{font-size:13.5px;color:var(--ink-dim);margin:0 0 6px;line-height:1.6;}
  .contact-info-line:last-child{margin-bottom:0;}
  .contact-email{color:var(--pink);font-weight:600;}

  /* contact page: FAQ accordion */
  .contact-faq-section{border-top:1px solid var(--line);}
  .contact-faq-head{text-align:center;max-width:520px;margin:0 auto 32px;display:flex;flex-direction:column;gap:8px;}
  .faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:2px;}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-question{
    width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;
    padding:20px 4px;background:none;border:none;cursor:pointer;text-align:left;
    font-family:var(--body);font-size:15px;font-weight:700;color:var(--ink);
  }
  .faq-question svg{width:16px;height:16px;flex-shrink:0;color:var(--ink-dim);transition:transform .25s ease;}
  .faq-item.is-open .faq-question svg{transform:rotate(180deg);color:var(--pink);}
  .faq-answer{
    max-height:0;overflow:hidden;transition:max-height .3s ease, padding .3s ease;padding:0 4px;
  }
  .faq-answer p{margin:0 0 18px;font-size:14px;color:var(--ink-dim);line-height:1.65;max-width:640px;}
  .faq-item.is-open .faq-answer{max-height:220px;}

  /* track-order page: lookup result summary card */
  .track-result-section{border-top:1px solid var(--line);display:flex;flex-direction:column;gap:32px;}
  .track-summary-card{display:flex;flex-direction:column;gap:20px;}
  .track-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;}
  .track-summary-head h3{font-size:20px;margin-top:6px;}
  .track-summary-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-top:16px;border-top:1px solid var(--line);
  }
  @media (max-width:700px){ .track-summary-grid{grid-template-columns:1fr 1fr;} }
  .track-summary-item{display:flex;flex-direction:column;gap:4px;}
  .track-summary-label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-dim);}
  .track-summary-value{font-size:14px;font-weight:600;color:var(--ink);}

  /* track-order page: status stepper */
  .track-stepper{
    display:flex;align-items:flex-start;justify-content:space-between;gap:4px;padding:12px 4px;position:relative;
  }
  .track-step{
    flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;position:relative;
  }
  .track-step-dot{
    width:16px;height:16px;border-radius:50%;background:var(--surface);border:2px solid var(--line);
    z-index:1;flex-shrink:0;
  }
  .track-step.is-complete .track-step-dot{background:var(--pink);border-color:var(--pink);}
  .track-step::before{
    content:'';position:absolute;top:7px;left:-50%;width:100%;height:2px;background:var(--line);z-index:0;
  }
  .track-step:first-child::before{content:none;}
  .track-step.is-complete::before{background:var(--pink);}
  .track-step-label{font-size:12.5px;font-weight:700;color:var(--ink);}
  .track-step:not(.is-complete) .track-step-label{color:var(--ink-dim);}
  .track-step-date{font-size:11px;color:var(--ink-dim);}
  @media (max-width:640px){
    .track-stepper{flex-direction:column;align-items:flex-start;gap:22px;}
    .track-step{flex-direction:row;text-align:left;gap:14px;width:100%;}
    .track-step::before{top:-14px;left:7px;width:2px;height:14px;}
    .track-step-body{display:flex;flex-direction:column;}
  }
  .track-result-note{font-size:13px;color:var(--ink-dim);text-align:center;}
  .track-result-note a{color:var(--pink);font-weight:600;}

  /* ============ SIZE GUIDE & SHIPPING PAGES ============ */
  .sg-hero{padding-block:44px 8px;display:flex;flex-direction:column;gap:14px;max-width:640px;}
  .sg-hero h1{font-size:clamp(34px,4.6vw,58px);}
  .sg-hero p{color:var(--ink-dim);font-size:15px;line-height:1.7;}

  /* general size chart table */
  .sg-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-lg);}
  .sg-table{width:100%;border-collapse:collapse;min-width:560px;font-size:13.5px;}
  .sg-table th, .sg-table td{padding:14px 16px;text-align:center;border-bottom:1px solid var(--line);}
  .sg-table thead th{
    background:var(--bg-raise);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
    color:var(--ink-dim);
  }
  .sg-table thead th:first-child{text-align:left;color:var(--ink);}
  .sg-table tbody th{
    text-align:left;font-weight:700;color:var(--ink);white-space:nowrap;font-size:13.5px;
  }
  .sg-table tbody tr:last-child th, .sg-table tbody tr:last-child td{border-bottom:none;}
  .sg-table td{color:var(--ink-dim);}
  .sg-table td span{display:block;font-size:11px;color:var(--ink-dim);opacity:.75;margin-top:2px;}
  .sg-sub{display:block;font-size:11px;font-weight:400;color:var(--ink-dim);text-transform:none;letter-spacing:0;margin-top:2px;}
  .sg-note{font-size:13px;color:var(--ink-dim);margin-top:18px;max-width:70ch;line-height:1.6;}

  /* how-to-measure cards */
  .sg-measure-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  @media (max-width:860px){ .sg-measure-grid{grid-template-columns:1fr;} }
  .sg-measure-card{
    background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);padding:26px;
    display:flex;flex-direction:column;gap:12px;
  }
  .sg-measure-icon{
    width:46px;height:46px;border-radius:50%;background:var(--bg-raise);color:var(--pink);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
  }
  .sg-measure-icon svg{width:22px;height:22px;}
  .sg-measure-card h3{font-size:17px;text-transform:none;}
  .sg-measure-card p{font-size:13.5px;color:var(--ink-dim);line-height:1.65;margin:0;}

  /* closing CTA band shared by size-guide + shipping-returns */
  .sg-cta{
    display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
    background:var(--bg-raise);border:1px solid var(--line);border-radius:var(--radius-xl);padding:40px var(--gutter);
  }
  .sg-cta h2{font-size:clamp(24px,3vw,34px);margin:6px 0;}
  .sg-cta p{color:var(--ink-dim);font-size:14px;margin:0;max-width:46ch;}

  /* shipping option cards */
  .sr-ship-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  @media (max-width:860px){ .sr-ship-grid{grid-template-columns:1fr;} }
  .sr-ship-card{
    position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);
    padding:28px;display:flex;flex-direction:column;gap:10px;
  }
  .sr-ship-badge{
    position:absolute;top:-11px;left:24px;background:var(--pink);color:var(--on-accent);font-size:10px;font-weight:800;
    letter-spacing:.05em;text-transform:uppercase;padding:5px 10px;border-radius:20px;
  }
  .sr-ship-card h3{font-size:18px;text-transform:none;margin-top:4px;}
  .sr-ship-price{font-family:var(--display);font-size:22px;color:var(--ink);letter-spacing:.01em;}
  .sr-ship-price span{display:block;font-family:var(--body);font-size:11.5px;font-weight:400;color:var(--ink-dim);margin-top:2px;text-transform:none;letter-spacing:0;}
  .sr-ship-card > p{font-size:13.5px;font-weight:700;color:var(--pink);margin:0;}
  .sr-ship-card ul{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;}
  .sr-ship-card li{font-size:12.5px;color:var(--ink-dim);padding-left:16px;position:relative;}
  .sr-ship-card li::before{content:'—';position:absolute;left:0;color:var(--ink-dim);}

  /* returns numbered step list */
  .sr-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;counter-reset:none;}
  .sr-steps li{
    display:flex;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);align-items:flex-start;
  }
  .sr-steps li:last-child{border-bottom:none;}
  .sr-step-num{
    flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--pink);color:var(--on-accent);
    font-family:var(--display);font-size:15px;display:flex;align-items:center;justify-content:center;
  }
  .sr-steps h4{font-size:15px;font-weight:700;text-transform:none;margin:0 0 6px;color:var(--ink);}
  .sr-steps p{font-size:13.5px;color:var(--ink-dim);line-height:1.65;margin:0;max-width:60ch;}

  /* ============ ABOUT & PRESS PAGES ============ */
  /* press page: outlet wordmark grid */
  .press-outlet-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  @media (max-width:900px){ .press-outlet-grid{grid-template-columns:repeat(2,1fr);} }
  .press-outlet-card{
    background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);
    padding:30px 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:14px;text-align:center;min-height:130px;
  }
  .press-wordmark{
    font-family:var(--display);font-size:20px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);
  }
  .press-quote{
    font-size:12.5px;color:var(--ink-dim);line-height:1.55;margin:0;font-style:italic;max-width:26ch;
  }

  /* press page: contact card */
  .press-contact-card{
    background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);padding:32px;
    display:flex;flex-direction:column;gap:16px;max-width:640px;
  }
  .press-contact-card p{font-size:14.5px;color:var(--ink-dim);line-height:1.7;margin:0;}
  .press-contact-email{
    font-family:var(--display);font-size:22px;letter-spacing:.01em;color:var(--pink);word-break:break-word;
  }
