  :root{
    --bg:#EEF1EF; --surface:#FBFCFB; --surface-2:#E1E7E4; --ink:#241B1D; --muted:#5B5355; --line:#D3D9D6; --line-strong:#9EA7A3;
    --crimson:#C32439; --crimson-hover:#A51C2F; --on-crimson:#FFFFFF; --accent-text:#A81D30;
    --oxblood:#4E1219; --on-oxblood:#F7EFEA; --on-oxblood-muted:#DCC6C0; --promo-accent:#D6B97F;
    --brass:#A9843F; --brass-text:#7E6029; --focus:#2456A6; --ok:#2E6A3D;
    --overlay:rgba(30,14,18,.55); --frost-line:rgba(255,255,255,.5);
    --shadow:0 1px 2px rgba(36,27,29,.06),0 10px 28px rgba(36,27,29,.07);
    --a-beef:#E8D7D4; --a-beef-ink:#5E1A22; --a-seafood:#D3E2E1; --a-seafood-ink:#174348;
    --a-fish:#D8E1EA; --a-fish-ink:#233F5C; --a-chicken:#EDE3CC; --a-chicken-ink:#5A461A;
    --a-pork:#EBDAD8; --a-pork-ink:#6E3439; --a-turkey:#EADDCB; --a-turkey-ink:#5F4020;
    --a-lamb:#DCE3D3; --a-lamb-ink:#38502B;
    color-scheme:light;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:#181213; --surface:#211A1B; --surface-2:#2B2324; --ink:#F3EDEB; --muted:#BBB0AE; --line:#392F30; --line-strong:#665959;
      --crimson:#CC3248; --crimson-hover:#DB4A5F; --on-crimson:#FFFFFF; --accent-text:#F2899A;
      --oxblood:#3E0F16; --on-oxblood:#F7EFEA; --on-oxblood-muted:#D9C2BC; --promo-accent:#DCC08A;
      --brass:#CDAE6F; --brass-text:#D8BC83; --focus:#8FB6F4; --ok:#86C997;
      --overlay:rgba(0,0,0,.62); --frost-line:rgba(255,255,255,.035);
      --shadow:0 1px 2px rgba(0,0,0,.3),0 10px 28px rgba(0,0,0,.28);
      --a-beef:#3A2123; --a-beef-ink:#EDCACC; --a-seafood:#1B3335; --a-seafood-ink:#BFE0DE;
      --a-fish:#1E2B3A; --a-fish-ink:#C6D7EA; --a-chicken:#352D1B; --a-chicken-ink:#EBDBB1;
      --a-pork:#3A2527; --a-pork-ink:#EDCCCD; --a-turkey:#36291B; --a-turkey-ink:#EAD1AB;
      --a-lamb:#243021; --a-lamb-ink:#CDDEBA;
      color-scheme:dark;
    }
  }
  :root[data-theme="dark"]{
    --bg:#181213; --surface:#211A1B; --surface-2:#2B2324; --ink:#F3EDEB; --muted:#BBB0AE; --line:#392F30; --line-strong:#665959;
    --crimson:#CC3248; --crimson-hover:#DB4A5F; --on-crimson:#FFFFFF; --accent-text:#F2899A;
    --oxblood:#3E0F16; --on-oxblood:#F7EFEA; --on-oxblood-muted:#D9C2BC; --promo-accent:#DCC08A;
    --brass:#CDAE6F; --brass-text:#D8BC83; --focus:#8FB6F4; --ok:#86C997;
    --overlay:rgba(0,0,0,.62); --frost-line:rgba(255,255,255,.035);
    --shadow:0 1px 2px rgba(0,0,0,.3),0 10px 28px rgba(0,0,0,.28);
    --a-beef:#3A2123; --a-beef-ink:#EDCACC; --a-seafood:#1B3335; --a-seafood-ink:#BFE0DE;
    --a-fish:#1E2B3A; --a-fish-ink:#C6D7EA; --a-chicken:#352D1B; --a-chicken-ink:#EBDBB1;
    --a-pork:#3A2527; --a-pork-ink:#EDCCCD; --a-turkey:#36291B; --a-turkey-ink:#EAD1AB;
    --a-lamb:#243021; --a-lamb-ink:#CDDEBA;
    color-scheme:dark;
  }
  :root{ box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px); }
  html{ height:100%; scroll-padding-top:calc(env(safe-area-inset-top,0px) + 84px); scroll-behavior:smooth; }
  body{ background:var(--bg); color:var(--ink); font-family:Archivo,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
  h1,h2,h3,.serif{ font-family:"Old Standard TT",Georgia,"Times New Roman",serif; font-weight:400; }
  :focus-visible{ outline:2.5px solid var(--focus); outline-offset:2px; border-radius:6px; }
  img{ max-width:100%; }
  .wrap{ max-width:1240px; margin:0 auto; padding-left:max(20px,env(safe-area-inset-left)); padding-right:max(20px,env(safe-area-inset-right)); }
  .text-muted{ color:var(--muted); }

  /* Header */
  .strip{ background:var(--oxblood); color:var(--on-oxblood); font-size:13.5px; text-align:center; padding:8px 16px; }
  .site-header{ position:sticky; top:env(safe-area-inset-top,0px); z-index:40; background:var(--bg); border-bottom:1px solid var(--line); }
  .wm-1{ font-family:"Old Standard TT",Georgia,serif; font-size:clamp(1.25rem, 6vw, 1.5rem); line-height:1; white-space:nowrap; }
  .wm-2{ font-size:12.5px; color:var(--muted); margin-top:3px; }
  .nav-link{ padding:10px 12px; border-radius:8px; font-weight:500; font-size:15px; }
  .nav-link:hover{ background:var(--surface-2); }
  .mobile-link{ text-align:left; padding:14px 4px; font-size:17px; font-weight:500; border-bottom:1px solid var(--line); }
  .mobile-link:last-child{ border-bottom:0; }
  .cart-btn{ display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 12px; border-radius:10px; }
  .cart-btn:hover{ background:var(--surface-2); }
  .cart-count{ min-width:22px; height:22px; border-radius:999px; background:var(--crimson); color:var(--on-crimson); font-size:12px; font-weight:700; display:inline-flex; align-items:center; justify-content:center; padding:0 6px; }

  /* Buttons */
  .btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:50px; padding:0 1.4rem; border-radius:10px; font-weight:600; font-size:15.5px; line-height:1.1; text-align:center; cursor:pointer; transition:background-color .15s, border-color .15s, color .15s; }
  .btn-sm{ min-height:44px; padding:0 1rem; font-size:14.5px; }
  .btn-primary{ background:var(--crimson); color:var(--on-crimson); }
  .btn-primary:hover{ background:var(--crimson-hover); }
  .btn-secondary{ border:1.5px solid var(--ink); color:var(--ink); background:transparent; }
  .btn-secondary:hover{ background:var(--surface-2); }
  .btn-quiet{ color:var(--accent-text); background:transparent; text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; padding:0 .6rem; }
  .btn-quiet:hover{ text-decoration-thickness:2px; }
  .btn-light{ background:var(--on-oxblood); color:#4E1219; }
  .btn-light:hover{ background:#FFFFFF; }
  .btn-block{ width:100%; }
  .btn[disabled]{ opacity:.6; cursor:not-allowed; }
  .icon-btn{ display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:10px; flex:none; }
  .icon-btn:hover{ background:var(--surface-2); }

  /* Chips */
  .chip{ display:inline-flex; align-items:center; white-space:nowrap; min-height:42px; padding:0 16px; border-radius:999px; border:1px solid var(--line-strong); background:var(--surface); color:var(--ink); font-size:14.5px; font-weight:500; flex:none; }
  .chip:hover{ border-color:var(--ink); }
  .chip[aria-pressed="true"], .chip[aria-selected="true"]{ background:var(--ink); border-color:var(--ink); color:var(--bg); }
  .chip-row{ display:flex; gap:8px; overflow-x:auto; padding:2px 2px 6px; scrollbar-width:none; }
  .chip-row::-webkit-scrollbar{ display:none; }

  /* Type */
  .hero-title{ font-size:clamp(2.7rem,6.6vw,5.1rem); line-height:1.01; letter-spacing:-.012em; max-width:13ch; }
  .hero-sub{ font-size:1.125rem; line-height:1.6; color:var(--muted); max-width:44ch; margin-top:1.4rem; }
  .h2{ font-size:clamp(2rem,3.8vw,3rem); line-height:1.08; letter-spacing:-.008em; }
  .lead{ color:var(--muted); font-size:1.0625rem; max-width:56ch; }
  .price{ font-family:"Old Standard TT",Georgia,serif; font-size:1.4rem; line-height:1.1; }

  /* Hero */
  .hero-panel{ background-color:var(--surface-2); background-image:repeating-linear-gradient(125deg, transparent 0 22px, var(--frost-line) 22px 23px); border-radius:24px; padding:16px; }
  @media (min-width:640px){ .hero-panel{ padding:26px; } }
  .hero-panel{ max-width:620px; }
  .hero-card{ background:var(--surface); border-radius:16px; overflow:hidden; box-shadow:var(--shadow); }
  .facts{ display:grid; gap:0; margin-top:12px; }
  .facts > div{ display:flex; justify-content:space-between; align-items:baseline; gap:16px; border-top:1px solid var(--line); padding:10px 0; }
  .facts dt{ color:var(--muted); font-size:14px; flex:none; }
  .facts dd{ font-weight:600; text-align:right; }

  /* Product art: real photo when it loads, typographic tile when it doesn't */
  .art{ position:relative; overflow:hidden; aspect-ratio:4/3; background:var(--art-bg,var(--surface-2)); color:var(--art-ink,var(--ink)); }
  .art-square{ aspect-ratio:1/1; }
  .art-fallback{ position:absolute; inset:0; display:flex; flex-direction:column; justify-content:space-between; padding:14px 16px; }
  .art-cat{ font-size:13px; font-weight:600; opacity:.85; }
  .art-figure{ font-family:"Old Standard TT",Georgia,serif; font-size:clamp(1.55rem,3.1vw,2.15rem); line-height:1.05; }
  .art-lg .art-figure{ font-size:clamp(2.2rem,5vw,3.4rem); }
  .art-lg .art-fallback{ padding:22px 24px; }
  .art-mini .art-fallback{ padding:8px; justify-content:flex-end; }
  .art-mini .art-cat{ display:none; }
  .art-mini .art-figure{ font-size:12.5px; line-height:1.15; }
  @media (max-width:479px){ .gp-art .art-fallback{ padding:8px; justify-content:flex-end; } .gp-art .art-cat{ display:none; } .gp-art .art-figure{ font-size:12.5px; line-height:1.15; } }
  .art-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .35s ease; }
  .art-img.is-loaded{ opacity:1; }
  .art-beef{ --art-bg:var(--a-beef); --art-ink:var(--a-beef-ink); }
  .art-seafood{ --art-bg:var(--a-seafood); --art-ink:var(--a-seafood-ink); }
  .art-fish{ --art-bg:var(--a-fish); --art-ink:var(--a-fish-ink); }
  .art-chicken{ --art-bg:var(--a-chicken); --art-ink:var(--a-chicken-ink); }
  .art-pork{ --art-bg:var(--a-pork); --art-ink:var(--a-pork-ink); }
  .art-turkey{ --art-bg:var(--a-turkey); --art-ink:var(--a-turkey-ink); }
  .art-lamb{ --art-bg:var(--a-lamb); --art-ink:var(--a-lamb-ink); }

  /* Category tiles */
  .cat-tile{ display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; text-align:left; gap:6px; min-height:170px; padding:20px; border-radius:18px; background:var(--art-bg); color:var(--art-ink); }
  .cat-tile:hover .cat-name{ text-decoration:underline; text-underline-offset:6px; text-decoration-thickness:1px; }
  .cat-name{ font-family:"Old Standard TT",Georgia,serif; font-size:clamp(1.55rem,3vw,2.2rem); line-height:1.05; }
  .cat-blurb{ font-size:14px; max-width:34ch; opacity:.92; }
  .cat-meta{ font-size:13.5px; font-weight:600; margin-top:4px; }
  @media (min-width:1024px){ .cat-tile{ min-height:205px; padding:24px; } }

  /* Product cards */
  .pcard{ background:var(--surface); border:1px solid var(--line); border-radius:16px; overflow:hidden; display:flex; flex-direction:column; min-width:0; }
  .pcard-media{ display:block; width:100%; position:relative; cursor:pointer; }
  .pcard-body{ padding:14px 14px 16px; display:flex; flex-direction:column; gap:3px; flex:1; }
  @media (min-width:640px){ .pcard-body{ padding:16px 18px 18px; } }
  .pcard-cat{ font-size:13px; color:var(--muted); }
  .pcard-title{ font-size:1.25rem; line-height:1.18; }
  @media (min-width:640px){ .pcard-title{ font-size:1.36rem; } }
  .pcard-title button{ text-align:left; }
  .pcard-title button:hover{ text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
  .pcard-contents{ font-size:14px; color:var(--muted); }
  .pcard-actions{ margin-top:auto; padding-top:12px; display:flex; flex-direction:column; align-items:stretch; gap:2px; }
  @media (min-width:640px){ .pcard-actions{ flex-direction:row; align-items:center; gap:6px; } }
  .badge{ white-space:nowrap; max-width:calc(100% - 16px); overflow:hidden; text-overflow:ellipsis; position:absolute; left:12px; top:12px; background:var(--surface); color:var(--ink); font-size:12.5px; font-weight:600; padding:5px 10px; border-radius:999px; box-shadow:var(--shadow); }
  .rail{ display:grid; grid-auto-flow:column; grid-auto-columns:min(78vw,300px); gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; padding:4px 2px 12px; scrollbar-width:thin; }
  .rail > *{ scroll-snap-align:start; }
  @media (min-width:1024px){ .rail{ grid-auto-flow:row; grid-template-columns:repeat(4,1fr); grid-auto-columns:auto; overflow:visible; } }

  /* Promo */
  .promo{ background:var(--oxblood); color:var(--on-oxblood); border-radius:22px; position:relative; overflow:hidden; }
  .promo::before{ content:""; position:absolute; inset:10px; border:1px solid var(--promo-accent); opacity:.55; border-radius:14px; pointer-events:none; }
  .promo-inner{ position:relative; padding:38px 28px; }
  @media (min-width:768px){ .promo-inner{ padding:56px 60px; } }
  .promo-kicker{ color:var(--promo-accent); font-weight:600; font-size:14.5px; margin-bottom:12px; }
  .promo-title{ font-size:clamp(2.1rem,4.5vw,3.4rem); line-height:1.04; }
  .promo-text{ color:var(--on-oxblood-muted); font-size:1.0625rem; margin-top:14px; max-width:44ch; }
  .gift-example{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.2); border-radius:14px; padding:20px 22px; }
  .gift-example .ex-label{ font-size:12.5px; color:var(--promo-accent); font-weight:600; }
  .gift-example .ex-msg{ font-family:"Old Standard TT",Georgia,serif; font-style:italic; font-size:1.2rem; line-height:1.4; margin-top:12px; padding-top:12px; border-top:1px solid rgba(255,255,255,.2); }

  /* Bands */
  .band{ background:var(--surface); border-block:1px solid var(--line); }
  .mini-row{ display:grid; grid-template-columns:72px 1fr auto; gap:14px; align-items:center; padding:12px 0; border-top:1px solid var(--line); }
  .mini-art{ width:72px; height:72px; border-radius:12px; overflow:hidden; display:block; }
  .step-num{ font-family:"Old Standard TT",Georgia,serif; font-size:3.2rem; line-height:1; color:var(--brass-text); }
  .gift-promo{ background:var(--surface-2); border-radius:22px; }

  /* Footer */
  .site-footer{ background:var(--oxblood); color:var(--on-oxblood); }
  .site-footer a, .site-footer .flink{ color:var(--on-oxblood); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
  .site-footer .fmuted{ color:var(--on-oxblood-muted); }
  .site-footer :focus-visible{ outline-color:#FFFFFF; }

  /* Dialogs */
  .overlay{ position:fixed; inset:0; background:var(--overlay); z-index:60; animation:fade .18s ease-out; }
  .drawer{ position:fixed; top:0; right:0; bottom:0; width:min(460px,100%); background:var(--surface); z-index:61; display:flex; flex-direction:column; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px); box-shadow:-12px 0 40px rgba(0,0,0,.18); animation:slideIn .22s ease-out; }
  .sheet{ position:fixed; z-index:61; background:var(--surface); display:flex; flex-direction:column; left:0; right:0; bottom:0; max-height:94dvh; border-radius:20px 20px 0 0; padding-bottom:env(safe-area-inset-bottom,0px); animation:rise .22s ease-out; box-shadow:var(--shadow); }
  @media (min-width:768px){ .sheet{ left:50%; top:50%; bottom:auto; right:auto; transform:translate(-50%,-50%); width:min(var(--sheet-w,920px), calc(100% - 48px)); max-height:min(90dvh,920px); border-radius:20px; animation:fade .18s ease-out; } }
  .sheet-scroll{ overflow-y:auto; overscroll-behavior:contain; }
  .layer-top.overlay{ z-index:70; } .layer-top.sheet{ z-index:71; }
  .full{ position:fixed; inset:0; z-index:61; background:var(--bg); overflow-y:auto; overscroll-behavior:contain; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px); animation:fade .18s ease-out; }
  .full-head{ position:sticky; top:0; z-index:2; background:var(--bg); border-bottom:1px solid var(--line); }
  .grabber{ width:44px; height:5px; border-radius:99px; background:var(--line-strong); margin:10px auto 0; }
  @media (min-width:768px){ .grabber{ display:none; } }

  /* Forms */
  .field label, .field .label{ display:block; font-weight:600; font-size:14.5px; margin-bottom:6px; }
  .opt{ font-weight:400; color:var(--muted); }
  .input{ width:100%; min-height:50px; padding:11px 14px; border:1.5px solid var(--line-strong); border-radius:10px; background:var(--surface); color:var(--ink); font-size:16px; line-height:1.4; }
  textarea.input{ min-height:96px; resize:vertical; }
  .input:focus{ border-color:var(--focus); outline:none; box-shadow:0 0 0 3px rgba(36,86,166,.22); }
  .input[aria-invalid="true"]{ border-color:var(--crimson); }
  .input-sm{ min-height:44px; padding:8px 12px; }
  .err{ color:var(--accent-text); font-size:14px; margin-top:6px; font-weight:500; }
  .hint{ color:var(--muted); font-size:14px; margin-top:6px; }
  .zone-ok{ color:var(--ok); }
  .panel{ background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:20px; }
  @media (min-width:640px){ .panel{ padding:26px; } }
  .panel-title{ font-family:"Old Standard TT",Georgia,serif; font-size:1.55rem; line-height:1.15; }
  .seg{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .seg-btn{ min-height:54px; border:1.5px solid var(--line-strong); border-radius:12px; font-weight:600; background:var(--surface); padding:8px 12px; }
  .seg-btn[aria-checked="true"]{ border-color:var(--crimson); box-shadow:inset 0 0 0 1px var(--crimson); color:var(--accent-text); }
  .choice{ display:flex; align-items:center; gap:12px; width:100%; text-align:left; min-height:54px; border:1.5px solid var(--line-strong); border-radius:12px; padding:10px 14px; background:var(--surface); }
  .choice[aria-checked="true"]{ border-color:var(--crimson); box-shadow:inset 0 0 0 1px var(--crimson); }
  .dot{ width:18px; height:18px; border-radius:99px; border:2px solid var(--line-strong); flex:none; display:inline-block; }
  .choice[aria-checked="true"] .dot{ border-color:var(--crimson); background:radial-gradient(circle, var(--crimson) 0 4px, transparent 5px); }
  .qty{ display:inline-flex; align-items:center; border:1.5px solid var(--line-strong); border-radius:10px; height:48px; background:var(--surface); }
  .qty-btn{ width:44px; height:100%; display:inline-flex; align-items:center; justify-content:center; border-radius:9px; }
  .qty-btn:disabled{ opacity:.35; cursor:not-allowed; }
  .qty-val{ min-width:30px; text-align:center; font-weight:600; }
  .qty-sm{ height:44px; }
  .opt-chip{ min-height:44px; padding:6px 14px; border-radius:10px; border:1.5px solid var(--line-strong); background:var(--surface); text-align:left; font-weight:500; }
  .opt-chip[aria-pressed="true"]{ border-color:var(--crimson); box-shadow:inset 0 0 0 1px var(--crimson); }
  .opt-chip small{ display:block; color:var(--muted); font-weight:400; font-size:13px; }

  /* Cart */
  .group-head{ background:var(--surface-2); border-radius:12px; padding:12px 14px; }
  .line-item{ display:grid; grid-template-columns:64px 1fr; gap:12px; padding:14px 0; border-bottom:1px solid var(--line); }
  .line-art{ width:64px; height:64px; border-radius:10px; overflow:hidden; }
  .added{ border:1px solid var(--line); background:var(--bg); border-radius:14px; padding:14px; }
  .cartbar{ position:fixed; left:0; right:0; bottom:0; z-index:45; padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px)); background:var(--surface); border-top:1px solid var(--line); box-shadow:0 -6px 24px rgba(0,0,0,.08); }
  .toast{ position:fixed; left:50%; transform:translateX(-50%); bottom:calc(92px + env(safe-area-inset-bottom,0px)); z-index:90; background:var(--ink); color:var(--bg); padding:12px 18px; border-radius:12px; font-size:14.5px; max-width:calc(100% - 32px); box-shadow:var(--shadow); animation:fade .2s ease-out; }
  @media (min-width:768px){ .toast{ bottom:28px; } }
  .summary-line{ display:flex; justify-content:space-between; gap:16px; padding:6px 0; }
  details.msum > summary{ list-style:none; cursor:pointer; }
  details.msum > summary::-webkit-details-marker{ display:none; }
  details.msum[open] .chev{ transform:rotate(180deg); }
  .preview-note{ border:1.5px dashed var(--line-strong); border-radius:12px; padding:14px 16px; font-size:14.5px; }
  pre.json{ font-size:12px; line-height:1.45; overflow:auto; max-height:320px; background:var(--surface-2); padding:12px; border-radius:10px; }

  /* Trust pieces */
  .link{ color:var(--accent-text); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
  .link:hover{ text-decoration-thickness:2px; }
  .strip a{ color:var(--on-oxblood); }
  .nav-phone{ align-items:center; gap:8px; min-height:44px; padding:0 12px; border-radius:10px; font-weight:600; font-size:15px; }
  .nav-phone:hover{ background:var(--surface-2); }
  .avatar{ border-radius:999px; object-fit:cover; flex:none; background:var(--surface-2); display:inline-flex; align-items:center; justify-content:center; }
  .avatar-initials{ font-family:"Old Standard TT",Georgia,serif; font-size:1.1rem; color:var(--ink); }
  .rep-badge{ display:flex; gap:14px; align-items:center; margin-top:22px; padding:12px 16px 12px 12px; border:1px solid var(--line); border-radius:16px; background:var(--surface); max-width:500px; }
  .rep-line{ display:flex; gap:12px; align-items:center; padding:12px 14px; border-radius:12px; background:var(--surface-2); }
  .next-steps li{ display:grid; grid-template-columns:30px 1fr; gap:12px; padding:10px 0; border-top:1px solid var(--line); }
  .next-steps li:first-child{ border-top:0; }
  .ns-num{ width:28px; height:28px; border-radius:99px; border:1.5px solid var(--brass); color:var(--brass-text); display:inline-flex; align-items:center; justify-content:center; font-weight:700; font-size:13.5px; }
  .ns-done{ background:var(--ok); border-color:var(--ok); color:#FFFFFF; }
  .how-facts{ display:grid; gap:12px 28px; padding:18px 20px; border:1px solid var(--line); border-radius:16px; background:var(--surface); font-size:15px; }
  @media (min-width:768px){ .how-facts{ grid-template-columns:repeat(3,1fr); } }
  .faq-item{ border-bottom:1px solid var(--line); }
  .faq-item summary{ list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 0; font-weight:600; font-size:16.5px; cursor:pointer; }
  .faq-item summary::-webkit-details-marker{ display:none; }
  .faq-item .chev{ flex:none; transition:transform .15s; }
  .faq-item[open] .chev{ transform:rotate(180deg); }
  .faq-a{ padding:0 0 16px; color:var(--muted); max-width:68ch; }
  .ph{ border:1.5px dashed var(--line-strong); border-radius:14px; padding:14px 16px; display:flex; flex-direction:column; justify-content:center; gap:3px; color:var(--muted); background:repeating-linear-gradient(135deg, transparent 0 10px, var(--frost-line) 10px 11px), var(--surface-2); }
  .ph-square{ aspect-ratio:1/1; }
  .ph-label{ font-size:12px; font-weight:700; color:var(--brass-text); }
  .ph-title{ font-weight:600; color:var(--ink); line-height:1.3; }
  .ph-hint{ font-size:13.5px; line-height:1.45; }
  .page-body h3{ font-size:1.4rem; line-height:1.2; margin-top:1.6rem; }
  .page-body p{ margin-top:.65rem; max-width:68ch; }
  .page-body ul{ list-style:disc; padding-left:1.25rem; margin-top:.65rem; max-width:68ch; }
  .page-body li{ margin-top:.35rem; }
  .page-nav{ display:flex; flex-wrap:wrap; gap:6px 18px; margin-top:2rem; padding-top:1.2rem; border-top:1px solid var(--line); font-size:14.5px; }
  .footer-base{ border-top:1px solid rgba(255,255,255,.18); padding:22px 0 40px; display:grid; gap:8px; font-size:13.5px; color:var(--on-oxblood-muted); }

  /* Narrow phones (320 to 399px): tighten spacing only, desktop and tablet are untouched */
  @media (max-width:399px){
    .pcard-body{ padding:12px 12px 14px; }
    .pcard-actions .btn{ padding-left:.5rem; padding-right:.5rem; font-size:14px; }
    .badge{ left:8px; top:8px; font-size:10.5px; padding:3px 7px; }
    .pcard .art-figure{ font-size:1.25rem; }
    .seg-btn{ padding:8px 6px; }
    .promo-inner{ padding:32px 22px; }
  }

  @media (max-width:359px){
    .badge{ font-size:10px; padding:3px 6px; letter-spacing:-.01em; }
    .wm-1{ font-size:1.15rem; }
    .cart-btn{ padding:0 4px; gap:2px; }
  }
  /* Small laptops and landscape tablets: the three gift tiles are narrow, so their labels shrink slightly */
  @media (min-width:1024px) and (max-width:1199px){ .gp-art .art-figure{ font-size:1.3rem; } }

  @keyframes slideIn{ from{ transform:translateX(28px); opacity:0; } to{ transform:none; opacity:1; } }
  @keyframes rise{ from{ transform:translateY(28px); opacity:0; } to{ transform:none; opacity:1; } }
  @keyframes fade{ from{ opacity:0; } to{ opacity:1; } }
  .swap{ animation:fade .3s ease-out; }
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    *,*::before,*::after{ animation:none !important; transition:none !important; }
  }
