/* ============================================================
   F. BINSABBAR storefront v3 - maison idiom, MONOCHROME.
   Black/white/grey only (no gold). Brand-library icons.
   Scaffolding full-width mega-menu. Reused live-site pieces:
   collection carousel, SliderCounter pagination, rich PDP
   details column, 3D/AR viewer, region+language selector,
   cookies dialog, card gradient grounds, product tags.
   Tajawal-first Arabic. Block-composed. 100% responsive.
   ============================================================ */
:root{
  --paper:#FFFFFF; --cream:#FBFAF8; --sand-l:#F5F1EC; --sand:#E6E1D8; --greige:#D9D3C8;
  --ink:#121212; --ink-warm:#1C1814; --grey:#6A655C; --grey-l:#6F6A61;
  --hair:rgba(18,18,18,.12); --hair-soft:rgba(18,18,18,.06);
  --card-grad:linear-gradient(142deg,#f3f3f2,#ffffff);
  --frost:rgba(255,255,255,.14); --frost-b:rgba(255,255,255,.55);
  --chip:rgba(18,18,18,.05); --chip-b:rgba(18,18,18,.16);
  --mx:clamp(16px,3.5vw,50px); --maxw:1600px; --hh:88px;
  --ctrl-h:48px; --ctrl-h-sm:44px; --ctrl-pad:16px; /* unified form-control geometry (W1) */
  /* ONE house family for display AND body (owner directive 2026-07-17): Futura PT, served by
     the house Adobe Fonts kit (use.typekit.net/vvg4egg.css, family slug "futura-pt"). WEIGHTS
     300-400 ONLY - nothing in the storefront may set font-weight above 400. Two tokens are kept
     so a future directive can re-split display from body. */
  --fdisp:"futura-pt","Futura PT","Futura",Helvetica,Arial,system-ui,sans-serif;
  --fbody:"futura-pt","Futura PT","Futura",Helvetica,Arial,system-ui,sans-serif;
  --far:"Tajawal","SF Arabic","Geeza Pro","Noto Naskh Arabic",sans-serif;
  --e1:cubic-bezier(.4,0,.2,1);
  --motif:11px; /* brand motif glyph size: 11px everywhere (owner decision). Only exception: .pv-noimg .ico 46px. */
  /* ---- SEMANTIC TYPOGRAPHY ROLES (audited house baseline, 2026-07-17) ----
     The single source for every storefront font size. Rules reference a ROLE,
     never a raw px value, so a role change reflects across every route, block
     and control at once. The section/PLP/editorial-H1 heading switches at
     exactly 768px. Desktop and tablet footer labels are the fixed 10/15 owner
     treatment; --ty-f-head is the 16/20 mobile accordion label. Latin tracking
     is .4px everywhere except overlines / eyebrows / references (1px,
     uppercase). Arabic zeroes all tracking (#site.ar, an intentional
     shaping/readability exception). */
  --ty-track:.4px;                             /* house Latin tracking */
  --ty-track-over:1px;                         /* overline / eyebrow / reference tracking */
  --ty-body:16px;      --ty-body-lh:24px;      /* body copy, primary CTAs, PDP description/details/accordion */
  --ty-compact:14px;   --ty-compact-lh:21px;   /* compact supporting text (genuinely secondary copy only) */
  --ty-label:14px;     --ty-label-lh:17.5px;   /* labels, navigation, filters, product names + prices, standard + compact controls */
  --ty-over:10px;      --ty-over-lh:15px;      /* overline / eyebrow / product reference (uppercase) */
  --ty-h-sm:22px;      --ty-h-sm-lh:27.5px;    /* small heading / PDP product title (owner: 22px) */
  --ty-h-sec:24px;     --ty-h-sec-lh:30px;     /* section + PLP heading + editorial story H1 (32/40 from 768px) */
  --ty-h-hero:32px;    --ty-h-hero-lh:40px;    /* hero heading (fixed at every width) */
  --ty-h-ed:24px;      --ty-h-ed-lh:30px;      /* editorial statement + editorial section headings */
  --ty-f-head:16px;    --ty-f-head-lh:20px;    /* mobile footer accordion heading */
  --ty-help:12px;      --ty-help-lh:18px;      /* helper / hint text (a helper is never below 10px) */
}
@media(min-width:768px){:root{--ty-h-sec:32px;--ty-h-sec-lh:40px;}}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:#fff;}
body{background:var(--paper);}
#site{background:var(--paper);color:var(--ink);font-family:var(--fbody);font-size:var(--ty-body);line-height:1.5;letter-spacing:var(--ty-track);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{display:block;max-width:100%;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0;}
a{color:inherit;text-decoration:none;}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;}
::selection{background:var(--ink);color:#fff;}
.ico{width:24px;height:24px;color:inherit;flex:none;}
#site.ar .flip{transform:scaleX(-1);}
.wm{display:inline-flex;align-items:center;line-height:0;}
.wm svg{height:21px;width:auto;display:block;}
.wm .ar-lock{display:none;}
#site.ar .wm .en-lock{display:none;} #site.ar .wm .ar-lock{display:inline-flex;}
.house-mark svg{height:118px;width:auto;color:var(--ink);}

/* type */
.disp{font-family:var(--fdisp);}
#site.ar,#site.ar .disp{font-family:var(--far);}
/* AR chrome: eyebrows, buttons, breadcrumbs, tags, mega-menu, footer, prices and counts hard-code
   var(--fdisp) (Latin), which would override the inherited Arabic and fall back to a system font.
   Re-point --fdisp itself to --far (Tajawal) inside AR so ALL display/chrome text uses one Arabic
   typeface. Tokenized, monochrome, letter-spacing still zeroed below. */
#site.ar{--fdisp:var(--far);}
#site [lang="ar"]{font-family:var(--far);letter-spacing:0;text-transform:none;}
#site.ar *{letter-spacing:0 !important;}
.ey{font-family:var(--fdisp);font-size:var(--ty-over);line-height:var(--ty-over-lh);letter-spacing:var(--ty-track-over);text-transform:uppercase;color:var(--grey);font-weight:400;}
.ey.on{color:rgba(255,255,255,.92);}
.h1{font-family:var(--fdisp);font-weight:400;font-size:var(--ty-h-hero);line-height:var(--ty-h-hero-lh);letter-spacing:var(--ty-track);margin:0;}
.h2{font-family:var(--fdisp);font-weight:400;font-size:var(--ty-h-sec);line-height:var(--ty-h-sec-lh);letter-spacing:var(--ty-track);margin:0;}
.h2.title{letter-spacing:var(--ty-track);}
.h3{font-family:var(--fdisp);font-weight:400;font-size:var(--ty-h-sm);line-height:var(--ty-h-sm-lh);letter-spacing:var(--ty-track);margin:0;}
.lead{font-size:var(--ty-body);line-height:var(--ty-body-lh);color:var(--ink-warm);}
.small{font-size:var(--ty-help);line-height:var(--ty-help-lh);color:var(--grey);}
/* Owner-directed compact text link: 30px height + weight 500 (approved exceptions). */
.lcta{font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);font-weight:500;display:inline-flex;align-items:center;gap:10px;color:inherit;min-width:44px;min-height:30px;padding-bottom:3px;border-bottom:1px solid currentColor;transition:gap .25s var(--e1);}
.lcta:hover{gap:16px;} .lcta .ico{width:18px;height:18px;}

/* buttons - pill; glass on image / black fill / black outline */
.btn{font-family:var(--fdisp);font-size:var(--ty-body);line-height:var(--ty-body-lh);letter-spacing:var(--ty-track);font-weight:400;height:52px;padding:0 34px;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;border:1px solid var(--ink);background:var(--ink);color:#fff;
  transition:opacity .25s,background .25s,color .25s,border-color .25s;}
.btn:hover{opacity:.85;}
.btn.out{background:transparent;color:var(--ink);} .btn.out:hover{background:var(--ink);color:#fff;opacity:1;}
.btn.glass{background:var(--frost);color:#fff;border:1px solid var(--frost-b);backdrop-filter:blur(10px) saturate(1.1);-webkit-backdrop-filter:blur(10px) saturate(1.1);}
.btn.glass:hover{background:rgba(255,255,255,.26);opacity:1;}
.btn.block{width:100%;} .btn .ico{width:16px;height:16px;}
.btn.sm{height:46px;padding:0 24px;font-size:var(--ty-label);}
/* arrow-only: circular icon button (a compact go/next action) */
.btn.abtn{width:52px;height:52px;padding:0;flex:none;} .btn.abtn .ico{width:18px;height:18px;}
.btn.abtn.sm{width:46px;height:46px;}

/* tag badge (frosted mono) */
.tag{font-family:var(--fdisp);font-size:var(--ty-over);font-weight:500;letter-spacing:var(--ty-track-over);text-transform:uppercase;padding:2px 9px;border:1px solid var(--frost-b);background:var(--frost);color:var(--ink);border-radius:999px;line-height:var(--ty-over-lh);opacity:.85;backdrop-filter:blur(8px) saturate(1.1);-webkit-backdrop-filter:blur(8px) saturate(1.1);}
.tag.on{color:#fff;}

/* ============ HEADER ============ */
.hdr{position:fixed;top:0;inset-inline:0;z-index:60;height:var(--hh);display:flex;align-items:center;color:#fff;
  border-bottom:1px solid transparent;transition:background .25s var(--e1),color .25s var(--e1),border-color .25s var(--e1),transform .34s var(--e1);}
.hdr.solid{background:var(--paper);color:var(--ink);border-bottom-color:var(--hair);}
/* A page may deliberately remove its hero scrim, but transparent white navigation still needs a
   stable reading ground. Keep the guard inside the header so it never changes editor-owned media. */
#site.hdr-overlay .hdr:not(.solid){background:transparent;text-shadow:0 1px 9px rgba(18,18,18,.42);}
#site.hdr-overlay .hdr:not(.solid)::before{content:"";position:absolute;inset-inline:0;top:0;height:calc(var(--hh) * 2.4);z-index:0;pointer-events:none;background:linear-gradient(to bottom,rgba(18,18,18,.4),rgba(18,18,18,.18) 42%,transparent);}
#site.hdr-overlay .hdr:not(.solid) .ico,#site.hdr-overlay .hdr:not(.solid) .wm svg{filter:drop-shadow(0 1px 5px rgba(18,18,18,.48));}
/* hide-on-scroll-down, reveal-on-scroll-up (JS toggles .hdr-hidden; never hidden at the very top or while the mega is open) */
.hdr.hdr-hidden{transform:translateY(-100%);}
.hdr .bar{position:relative;z-index:1;width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--mx);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;}
.hdr .ico{width:18px;height:18px;}
.brand{align-self:center;}
.hdr .l,.hdr .r{display:flex;align-items:center;gap:18px;} .hdr .r{justify-content:flex-end;}
.hbtn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:44px;min-height:44px;font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);transition:opacity .25s;}
.hbtn:hover,.icobtn:hover{opacity:.6;}
/* 44px hit area on the icon buttons without enlarging the glyph or shifting spacing (negative margin nets the footprint back to the ~20px glyph). */
.icobtn{display:inline-flex;align-items:center;justify-content:center;position:relative;min-width:44px;min-height:44px;margin-inline:-12px;}
.brand{grid-column:2;justify-self:center;min-width:44px;min-height:44px;align-items:center;justify-content:center;}
.bagcount{position:absolute;inset-inline-end:3px;top:5px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--ink);color:#fff;font-family:var(--fdisp);font-size:var(--ty-over);line-height:16px;text-align:center;}
.hide-sm{display:inline-flex;}
.show-sm{display:none;}
@media(max-width:900px){.hdr{--hh:54px;} .hide-sm{display:none;} .show-sm{display:inline-flex;} .hdr .bar{grid-template-columns:1fr auto 1fr;} .wm svg{height:16px;} .hdr .ico{width:18px;height:18px;}}

/* ---- left navigation drawer with a category gallery stage ---- */
.scrim{position:fixed;inset:0;background:rgba(18,18,18,.48);opacity:0;visibility:hidden;transition:opacity .5s ease,visibility 0s .5s;z-index:70;}
.scrim.open{opacity:1;visibility:visible;transition:opacity .5s ease,visibility 0s;}
.mega{position:fixed;inset-block:0;inset-inline-start:0;z-index:80;display:flex;flex-direction:column;width:clamp(360px,33.333vw,520px);height:100vh;height:100dvh;color:var(--ink);background:transparent;border-inline-end:1px solid var(--hair);overflow:visible;transform:translateX(-102%);transition:transform 1.4s cubic-bezier(.19,1,.22,1),visibility 0s 1.4s;visibility:hidden;}
#site.ar .mega{transform:translateX(102%);}
.mega.open{transform:none;visibility:visible;transition:transform 1.4s cubic-bezier(.19,1,.22,1),visibility 0s;}
#site.ar .mega.open{transform:none;}
.mega.closing{transform:translateX(-102%);visibility:hidden;transition:transform .48s var(--e1),visibility 0s .48s;}
#site.ar .mega.closing{transform:translateX(102%);}
.mega-top{position:relative;z-index:5;flex:none;height:var(--hh);display:flex;align-items:center;background:var(--paper);}
.mega-top .bar{width:100%;padding-inline:var(--mx);display:flex;align-items:center;justify-content:flex-start;}
.mega-top .ico{width:18px;height:18px;}

.mega-inner{position:relative;flex:1;min-height:0;background:var(--paper);overflow:visible;}
.mega-side{position:relative;z-index:3;height:100%;display:flex;flex-direction:column;padding:0 var(--mx);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;opacity:1;transform:none;transition:opacity .2s ease,transform .24s var(--e1);}
.mega-side::-webkit-scrollbar,.mega-panel::-webkit-scrollbar,.mega-body::-webkit-scrollbar,.mega-feat::-webkit-scrollbar{display:none;}
/* The parent rail stays put and fades (house idiom) while the category panel slides OVER it
   from the near edge; a translate here would extend the drawer scroll area. */
.mega.drilled .mega-side{opacity:0;pointer-events:none;}
.mega-rail{list-style:none;margin:0;padding:0;}
.mega-rail li{border-bottom:0;}
.mega-rail button,.mega-rail .mega-direct,.mega-back,.mega-col a{position:relative;width:100%;min-height:58px;padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:start;color:var(--ink);font-family:var(--fdisp);font-size:20px;line-height:var(--ty-h-sm-lh);font-weight:400;letter-spacing:var(--ty-track);transition:opacity .2s;}
.mega-rail button:hover,.mega-rail button:focus-visible,.mega-rail .mega-direct:hover,.mega-rail .mega-direct:focus-visible,.mega-back:hover,.mega-back:focus-visible,.mega-col a:hover,.mega-col a:focus-visible{opacity:.55;}
.mega-rail button .ico,.mega-back .ico{width:1em;height:1em;opacity:1;color:var(--ink);flex:none;}
.mega-rail .mega-direct .ico{opacity:.45;}

/* Utility controls form the drawer's full-width footer block. */
.mega-util{margin-top:auto;margin-inline:calc(var(--mx) * -1);padding:24px var(--mx) 28px;border-top:1px solid var(--hair-soft);display:flex;flex-direction:column;gap:9px;}
.mega-ulinks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
/* Owner-directed 16px/32px utility links (approved exception to the 44px target rule). */
.mega-ulinks a{width:fit-content;min-height:32px;display:inline-flex;align-items:center;gap:9px;color:var(--grey);font-family:var(--fdisp);font-size:16px;line-height:var(--ty-body-lh);letter-spacing:var(--ty-track);transition:color .2s;}
.mega-ulinks a:hover{color:var(--ink);}
.mega-ulinks a .ico{width:17px;height:17px;flex:none;}
/* Account and Wishlist form one mobile-only group. They use the same link styling as the
   authored service links and stay hidden where the desktop header already carries them. */
.mega-syslinks{display:none;}
.mega-ship{width:fit-content;min-height:44px;display:inline-flex;align-items:center;gap:9px;color:var(--ink);font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);transition:opacity .2s;}
.mega-ship .ico{width:17px;height:17px;}.mega-ship:hover{opacity:.6;}
.mega-langs{display:inline-flex;align-items:center;gap:11px;width:fit-content;}
.mega-lang{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--grey);font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);transition:color .2s;}
.mega-lang.on{color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:2px;}
.mega-lang:hover{color:var(--ink);}.mega-lang-sep{color:var(--hair);}

/* The category panel replaces the category list inside the drawer. */
/* Owner directive: drilling REPLACES the main column with a pure crossfade (no slide); the
   featured imagery then slides out from behind the drawer with its own fade (.mega-feat). */
.mega-panel{position:absolute;z-index:4;inset:0;display:flex;flex-direction:column;background:var(--paper);opacity:0;visibility:hidden;transition:opacity .34s ease,visibility 0s .34s;overflow:visible;}
.mega.drilled .mega-panel{opacity:1;visibility:visible;transition:opacity .34s ease,visibility 0s;}
.mega-back{z-index:3;flex:none;padding-inline:var(--mx);justify-content:flex-start;background:var(--paper);}
.mega-body{position:relative;z-index:3;flex:1;min-height:0;padding:26px var(--mx) 46px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px;align-content:start;background:var(--paper);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;}
.mega-body.empty{display:none;}
.mega-col h4{margin:0 0 14px;color:var(--grey);font-family:var(--fdisp);font-size:var(--ty-over);line-height:var(--ty-over-lh);font-weight:400;letter-spacing:var(--ty-track-over);text-transform:uppercase;}
.mega-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;}

/* Featured image cards reveal on a stage behind the drawer. */
.mega-feat{--mega-feat-gap:clamp(18px,2vw,30px);--mega-feat-top:calc(var(--hh) + clamp(30px,4vw,58px));position:absolute;z-index:1;inset-block-start:calc(var(--hh) * -1);inset-block-end:auto;inset-inline-start:100%;width:calc(100vw - clamp(360px,33.333vw,520px));height:calc(100% + var(--hh));padding:var(--mega-feat-top) clamp(30px,4vw,58px) clamp(30px,4vw,58px);display:flex;flex-direction:column;gap:var(--mega-feat-gap);background:var(--paper);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;scroll-snap-type:none;scroll-padding-block-start:var(--mega-feat-top);opacity:0;transform:translateX(-46px);transition:opacity .42s ease,transform .42s var(--e1);}
.mega-feat.scrollable{scroll-snap-type:y proximity;}
.mega-feat-page{flex:0 0 100%;min-height:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:max-content;gap:var(--mega-feat-gap);align-content:start;scroll-snap-align:start;}
.mega-feat-page[data-page-count="1"]{grid-template-columns:minmax(0,min(100%,420px));}
.mega-feat-page[data-page-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr));}
.mega-feat-page[data-page-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr));}
#site.ar .mega-feat{transform:translateX(46px);}
.mega.drilled .mega-feat{opacity:1;transform:none;transition:opacity .75s .18s ease,transform 1.55s cubic-bezier(.19,1,.22,1);}
#site.ar .mega.drilled .mega-feat{transform:none;}
.mega-feat.empty{display:none;}
.mfeat{display:flex;flex-direction:column;color:inherit;min-width:0;min-height:0;}
.mfeat-img{display:block;flex:none;min-height:0;aspect-ratio:4/5;background:var(--sand-l);background-size:cover;background-position:center;overflow:hidden;transition:opacity .3s,transform .8s var(--e1);}
.mfeat:hover .mfeat-img,.mfeat:focus-visible .mfeat-img{opacity:.88;transform:translateY(-4px);}
.mfeat-cap{display:block;margin-top:10px;color:var(--ink);font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);}
@keyframes mega-feature-in{from{opacity:0;transform:translateY(-22px);}to{opacity:1;transform:none;}}
.mega.drilled .mfeat{animation:mega-feature-in .6s var(--e1) both;animation-delay:calc(.18s + (var(--mfeat-order,0) * .11s));}

@media(max-width:900px){
  .mega,#site.ar .mega{width:100vw;border-inline-end:0;background:var(--paper);overflow:hidden;transform:translateY(-102%);transition-duration:.65s;}
  .mega.open,#site.ar .mega.open{transform:none;transition-duration:.65s;}
  .mega.closing,#site.ar .mega.closing{transform:translateY(-102%);transition-duration:.42s;}
  .mega-top{height:auto;min-height:var(--hh);padding-top:env(safe-area-inset-top);}
  .mega-top .bar{min-height:var(--hh);}
  .mega-side{padding-top:0;}
  .mega-rail button,.mega-rail .mega-direct,.mega-back,.mega-col a{min-height:44px;}
  .mega-util{padding-bottom:max(28px,env(safe-area-inset-bottom));}
  .mega-syslinks{display:flex;margin-block:16px 24px;}
  .mega-panel{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;transform:translateY(-12px);transition:opacity .22s ease,transform .3s var(--e1),visibility 0s .3s;}
  .mega.drilled .mega-panel{transform:none;transition:opacity .24s .08s ease,transform .32s .08s var(--e1),visibility 0s;}
  .mega-body{flex:none;min-height:auto;padding-top:20px;grid-template-columns:1fr;gap:24px;overflow:visible;}
  .mega-feat,.mega-feat[data-count]{position:relative;inset:auto;width:auto;height:auto;padding:10px var(--mx) 48px;gap:28px;overflow:visible;scroll-snap-type:none;opacity:0;transform:translateY(-12px);}
  .mega-feat-page,.mega-feat-page[data-page-count]{flex:none;min-height:0;grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:auto;gap:28px;}
  .mega-feat-page[data-page-count="3"] .mfeat:nth-child(3){grid-column:auto;}
  #site.ar .mega-feat{transform:translateY(-12px);}
  .mega.drilled .mega-feat{opacity:1;transform:none;transition:opacity .34s .16s ease,transform .52s var(--e1);}
  #site.ar .mega.drilled .mega-feat{transform:none;}
  .mfeat-img{flex:none;min-height:0;aspect-ratio:4/5;}
  @keyframes mega-mobile-item-in{from{opacity:0;transform:translateY(-10px);}to{opacity:1;transform:none;}}
  .mega.open:not(.drilled) .mega-rail li,.mega.open:not(.drilled) .mega-ulinks li,.mega.open:not(.drilled) .mega-ship,.mega.open:not(.drilled) .mega-langs,.mega.drilled .mega-back,.mega.drilled .mega-col{animation:mega-mobile-item-in .3s var(--e1) both;}
  .mega.open:not(.drilled) .mega-rail li:nth-child(1){animation-delay:.04s;}
  .mega.open:not(.drilled) .mega-rail li:nth-child(2){animation-delay:.08s;}
  .mega.open:not(.drilled) .mega-rail li:nth-child(3){animation-delay:.12s;}
  .mega.open:not(.drilled) .mega-rail li:nth-child(4){animation-delay:.16s;}
  .mega.open:not(.drilled) .mega-rail li:nth-child(5){animation-delay:.2s;}
  .mega.open:not(.drilled) .mega-rail li:nth-child(n+6){animation-delay:.24s;}
  .mega.open:not(.drilled) .mega-syslinks li:nth-child(1){animation-delay:.28s;}
  .mega.open:not(.drilled) .mega-syslinks li:nth-child(2){animation-delay:.32s;}
  .mega.open:not(.drilled) .mega-service-links li{animation-delay:.36s;}
  .mega.open:not(.drilled) .mega-ship{animation-delay:.4s;}
  .mega.open:not(.drilled) .mega-langs{animation-delay:.44s;}
  .mega.drilled .mega-back{animation-delay:.08s;}
  .mega.drilled .mega-col:nth-child(1){animation-delay:.12s;}
  .mega.drilled .mega-col:nth-child(n+2){animation-delay:.16s;}
}

/* ============ VIEWS ============ */
.view{display:none;} .view.active{display:block;}
.contain{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--mx);}
.band{padding-block:clamp(56px,9vw,120px);}
.fb-404{min-height:100vh;display:grid;place-items:center;padding-block:clamp(48px,9vw,120px);text-align:center;}
.fb-404-in{width:min(620px,100%);}
.fb-404-mark{width:56px;height:auto;margin:0 auto 28px;}
.fb-404 .h1{margin-bottom:18px;}
.fb-404 .lead{margin:8px auto;}
.fb-404 .btn{margin-top:28px;}
.pad-top{padding-top:var(--hh);}

/* HERO */
.hero{position:relative;height:92vh;min-height:520px;display:flex;align-items:flex-end;background-size:cover;background-position:center;overflow:hidden;}
.hero .bg{position:absolute;inset:0;background-size:cover;background-position:center;animation:drift 16s ease forwards;}
.hero .sc{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(18,18,18,.28),transparent 26%),linear-gradient(to top,rgba(0,0,0,.6),rgba(0,0,0,.12) 40%,transparent 62%);}
.hero .in{position:relative;z-index:2;width:100%;max-width:none;margin-inline:0;color:#fff;padding-inline:var(--mx);padding-bottom:var(--mx);text-align:start;}
.hero .h1{color:#fff;margin:16px 0 22px;max-width:30ch;text-wrap:balance;}
@keyframes drift{to{transform:scale(1.06);}}
.stmt{background:var(--cream);text-align:center;} .stmt .in{max-width:58ch;margin-inline:auto;} .stmt .h2{margin-bottom:22px;} .stmt .lead{margin-bottom:26px;}
.full{position:relative;min-height:82vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;background-size:cover;background-position:center;}
.full.sm{min-height:78vh;}
.full .sc{position:absolute;inset:0;background:radial-gradient(120% 100% at 50% 62%,rgba(0,0,0,.5),rgba(0,0,0,.28) 55%,rgba(0,0,0,.12));}
.full .in{position:relative;z-index:2;max-width:44ch;padding-inline:24px;} .full .h2{color:#fff;margin:14px 0 24px;}

/* ---- SliderCounter (reusable carousel + pagination) ---- */
.row-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:40px;flex-wrap:wrap;}
.slider{position:relative;}
.rail{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:4px;}
.rail::-webkit-scrollbar{display:none;} .rail>*{flex:0 0 clamp(220px,23vw,300px);scroll-snap-align:start;}
.rail.collections>*{flex-basis:clamp(240px,26vw,340px);}
.fb-collection-carousel{padding-bottom:24px;}
.fb-collection-carousel .rail.collections{padding-inline:var(--mx);scroll-padding-inline:var(--mx);}
.sctrl{width:fit-content;max-width:calc(100% - 32px);display:flex;align-items:center;justify-content:center;gap:0;margin:24px auto 0;padding:6px;background:rgba(189,189,189,.16);-webkit-backdrop-filter:blur(2.5px);backdrop-filter:blur(2.5px);border:1px solid rgba(255,255,255,.1);border-radius:100vh;}
.sctrl[hidden]{display:none!important;}
.sarrow{display:none;}
.sdots{display:flex;gap:0;align-items:center;justify-content:center;flex:0 1 auto;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:none;}
.sdots::-webkit-scrollbar{display:none;}
.sdot{position:relative;width:22px;height:22px;flex:0 0 22px;border-radius:0;background:transparent;padding:0;}
.sdot::before{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:999px;background:#000;opacity:.8;transform:translate(-50%,-50%);}
.sdot.on::before{display:none;}
.sdot-gallery .ico{width:14px;height:14px;color:var(--ink);opacity:.85;}

/* collection card (reused, rounded per owner setting) */
.ccard{display:block;color:inherit;}
.ccard .pv{aspect-ratio:5/6;background:#f4f4f4;overflow:hidden;border-radius:14px;}
.ccard .pv img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--e1);}
.ccard:hover .pv img{transform:scale(1.04);}
.ccard .nm{font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);font-weight:400;margin:14px 0 2px;}
.ccard .cc-ey{font-family:var(--fdisp);font-size:var(--ty-over);line-height:var(--ty-over-lh);letter-spacing:var(--ty-track-over);text-transform:uppercase;color:var(--grey);margin-top:14px;}
.ccard .cc-ey + .nm{margin-top:4px;}
.ccard .dc{font-size:var(--ty-compact);line-height:var(--ty-compact-lh);color:var(--grey);}

/* product card - gradient ground + tag */
.pcard{position:relative;display:block;color:inherit;min-width:0;}
.pcard .pv{position:relative;aspect-ratio:1/1;background:var(--card-grad);overflow:hidden;}
.pcard .pv img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--e1);}
.pcard:hover .pv img{transform:scale(1.04);}
/* swipeable image track on the card (touch scroll-snap; no dots/arrows) */
.pcard .pv-track{position:absolute;inset:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.pcard .pv-track::-webkit-scrollbar{display:none;}
.pcard .pv-track img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:start;}
.pcard:hover .pv-track img{transform:none;}
.pcard .tagrow{position:absolute;top:12px;inset-inline-start:12px;display:flex;gap:6px;z-index:2;}
.pcard .wish{position:absolute;top:0;inset-inline-end:0;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);opacity:0;transition:opacity .25s;}
.pcard .wish .ico{width:16px;height:16px;} .pcard:hover .wish,.pcard:focus-within .wish{opacity:1;}
/* Saved state: a SAVED heart stays visible on every device and renders FILLED. The two-icon
   pattern ([data-wish] carries an outline + a filled glyph) works everywhere the heart appears. */
.pcard .wish.on{opacity:1;}
@media(hover:none){.pcard .wish{opacity:.92;}}
[data-wish] .ico-heart-f{display:none;}
[data-wish].on .ico-heart-o{display:none;}
[data-wish].on .ico-heart-f{display:inline-block;}
.pcard .meta{padding-top:14px;min-height:70px;}
.pcard .pprice{opacity:.7;}
/* single-line title: nowrap + horizontal scroll on overflow (touch native, desktop drag), with a
   trailing fade added by JS (.is-clip) only when it overflows; the fade flips to the leading edge in AR. */
.pname{font-size:var(--ty-label);letter-spacing:var(--ty-track);margin:0;line-height:var(--ty-label-lh);white-space:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scrollbar-width:none;-ms-overflow-style:none;}
.pname::-webkit-scrollbar{display:none;}
.pname.is-clip{-webkit-mask-image:linear-gradient(to right,#000 82%,transparent 100%);mask-image:linear-gradient(to right,#000 82%,transparent 100%);cursor:grab;}
#site.ar .pname.is-clip{-webkit-mask-image:linear-gradient(to left,#000 82%,transparent 100%);mask-image:linear-gradient(to left,#000 82%,transparent 100%);}
.pname.is-drag{cursor:grabbing;user-select:none;}
.pprice{font-size:var(--ty-label);line-height:var(--ty-label-lh);margin-top:6px;font-variant-numeric:tabular-nums;white-space:nowrap;}
.pprice.por{font-family:var(--fdisp);font-size:var(--ty-over);line-height:var(--ty-over-lh);letter-spacing:var(--ty-track-over);text-transform:uppercase;color:var(--ink);}

/* editorial split */
.split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;}
.split .imgcol{position:relative;min-height:clamp(420px,52vw,660px);background-size:cover;background-position:center;}
.split .txtcol{display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,6vw,96px);}
.split .txtcol .h2{margin:14px 0 18px;} .split .txtcol .lead{margin-bottom:26px;max-width:42ch;}
.split[data-side="right"] .imgcol{order:2;} .split[data-side="right"] .txtcol{order:1;}
@media(max-width:820px){.split{grid-template-columns:1fr;} .split .imgcol,.split[data-side="right"] .imgcol{order:0;min-height:62vw;} .split .txtcol,.split[data-side="right"] .txtcol{order:1;padding:48px var(--mx);}}

/* discover tiles */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
@media(max-width:820px){.tiles{grid-template-columns:1fr;}}
.tile{position:relative;aspect-ratio:3/4;overflow:hidden;display:flex;align-items:flex-end;color:#fff;}
.tile .bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 5s ease;} .tile:hover .bg{transform:scale(1.05);}
.tile .sc{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55),transparent 55%);}
.tile .cap{position:relative;z-index:2;padding:24px;} .tile .cap .h3{color:#fff;}

/* ============ PLP ============ */
.plp-hero{position:relative;height:52vh;min-height:340px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;background-size:cover;background-position:center;}
.plp-hero .sc{position:absolute;inset:0;background:radial-gradient(120% 100% at 50% 60%,rgba(0,0,0,.5),rgba(0,0,0,.28) 60%,rgba(0,0,0,.12));}
.plp-hero .in{position:relative;z-index:2;} .plp-hero .h1{color:#fff;} .plp-hero .lead{color:rgba(255,255,255,.92);margin-top:12px;}
/* Owner-directed breadcrumb: 16px sentence case, ink, 44px line. */
.crumb{font-family:var(--fdisp);font-size:16px;line-height:44px;letter-spacing:0;color:var(--ink);padding-block:20px;}
.crumb a:hover{color:var(--ink);}
.filterbar{position:sticky;top:var(--hh);z-index:30;background:var(--paper);border-block:1px solid var(--hair);}
.filterbar .in{display:flex;justify-content:space-between;align-items:center;padding-block:14px;}
.fl,.fr{display:flex;align-items:center;gap:22px;}
.fbtn{font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);display:inline-flex;gap:8px;align-items:center;min-height:44px;} .fbtn .ico{width:15px;height:15px;}
.fcount{font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);color:var(--grey);}
.plp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 20px;padding-block:clamp(40px,5vw,64px);}
@media(max-width:900px){.plp-grid{grid-template-columns:repeat(2,1fr);gap:44px 16px;}}
.loadmore{display:flex;justify-content:center;padding-bottom:clamp(48px,7vw,96px);}

/* ============ PDP ============ */
.pdp-wrap{display:grid;grid-template-columns:62% 38%;align-items:start;}
@media(max-width:900px){.pdp-wrap{grid-template-columns:1fr;}}
.pdp-gal{display:flex;flex-direction:column;gap:6px;}
.pdp-gal .rail.gallery>*{flex:0 0 100%;}
.pdp-slide{position:relative;aspect-ratio:4/5;background:var(--card-grad);overflow:hidden;}
.pdp-slide img{width:100%;height:100%;object-fit:cover;}
.pdp-hero-fr{position:relative;aspect-ratio:4/5;background:var(--card-grad);overflow:hidden;}
.pdp-hero-fr img{width:100%;height:100%;object-fit:cover;}
.pdp-gal .thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
.pdp-gal .thumbs .fr{aspect-ratio:4/5;background:var(--card-grad);overflow:hidden;} .pdp-gal .thumbs img{width:100%;height:100%;object-fit:cover;}
/* 3D toggle + viewer overlay */
.v3d-toggle{position:absolute;bottom:14px;inset-inline-start:16px;z-index:3;width:36px;height:36px;border-radius:100vh;background:rgba(189,189,189,.16);color:var(--ink);border:1px solid rgba(255,255,255,.1);display:inline-flex;align-items:center;justify-content:center;backdrop-filter:blur(2.5px);-webkit-backdrop-filter:blur(2.5px);transition:background .2s,color .2s,border-color .2s,opacity .2s,transform .2s;}
.v3d-toggle:hover{background:rgba(189,189,189,.26);} .v3d-toggle.on{background:var(--ink);color:#fff;border-color:var(--ink);} .v3d-toggle .ico{width:14px;height:14px;}
.v3d-toggle[hidden]{display:none!important;}
.pdp-gal.fbj-personalizing .v3d-toggle{opacity:0;transform:translateY(8px);pointer-events:none;}
.v3d{position:absolute;inset:0;z-index:2;background:var(--card-grad);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;opacity:0;visibility:hidden;transition:opacity .3s;}
.v3d.on{opacity:1;visibility:visible;}
.v3d .cube{width:96px;height:96px;transform-style:preserve-3d;animation:spin3d 9s linear infinite;}
.v3d .cube span{position:absolute;inset:0;border:1px solid rgba(255,255,255,.5);}
.v3d .cube .f1{transform:translateZ(48px);} .v3d .cube .f2{transform:rotateY(90deg) translateZ(48px);} .v3d .cube .f3{transform:rotateY(180deg) translateZ(48px);}
.v3d .cube .f4{transform:rotateY(270deg) translateZ(48px);} .v3d .cube .f5{transform:rotateX(90deg) translateZ(48px);} .v3d .cube .f6{transform:rotateX(-90deg) translateZ(48px);}
@keyframes spin3d{to{transform:rotateX(-20deg) rotateY(360deg);}}
.v3d .cap{color:rgba(255,255,255,.7);font-family:var(--fdisp);font-size:var(--ty-over);letter-spacing:var(--ty-track-over);text-transform:uppercase;text-align:center;max-width:30ch;line-height:1.6;}
.pdp-info{position:sticky;top:calc(var(--hh) + 20px);padding:clamp(28px,4vw,56px);}
@media(max-width:900px){.pdp-info{position:static;padding:32px 0 0;}}
.pdp-info .tagrow{display:flex;gap:6px;margin-bottom:14px;} .pdp-info .tag{color:var(--ink);}
.pdp-info .h3{margin:8px 0 0;}
.pdp-price{font-size:var(--ty-label);line-height:var(--ty-label-lh);margin:18px 0;font-variant-numeric:tabular-nums;}
.pdp-price.por{font-family:var(--fdisp);font-size:var(--ty-label);letter-spacing:var(--ty-track-over);text-transform:uppercase;}
.pdp-invref{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-family:var(--fdisp);font-size:var(--ty-over);line-height:var(--ty-over-lh);letter-spacing:var(--ty-track-over);text-transform:uppercase;color:var(--grey);margin-bottom:20px;}
.invdot{display:inline-flex;align-items:center;gap:7px;} .invdot i{width:8px;height:8px;border-radius:999px;background:var(--ink);} .invdot.low i{background:transparent;border:1.5px solid var(--ink);}
.pdp-desc{font-size:var(--ty-body);line-height:var(--ty-body-lh);color:var(--ink-warm);max-width:42ch;margin-bottom:24px;}
.opt{margin-bottom:22px;} .opt .lbl{font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);color:var(--grey);margin-bottom:10px;}
/* PDP quantity now uses the kit .stepper component (see UNIFIED FORM + UI COMPONENTS) */
.pdp-cta{display:flex;flex-direction:column;gap:10px;margin:8px 0 16px;}
.wishline{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);}
.reassure{font-family:var(--fdisp);font-size:var(--ty-help);line-height:var(--ty-help-lh);letter-spacing:var(--ty-track);color:var(--grey);margin-top:8px;}
.acc{margin-top:22px;border-top:1px solid var(--hair);}
.acc .item{border-bottom:1px solid var(--hair);}
.acc .q{width:100%;display:flex;justify-content:space-between;align-items:center;padding:18px 0;font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-body-lh);letter-spacing:var(--ty-track);}
.acc .q .ico{width:16px;height:16px;transition:transform .25s;} .acc .item.open .q .ico{transform:rotate(45deg);}
.acc .a{max-height:0;overflow:hidden;transition:max-height .25s ease;} .acc .a .inn{padding-bottom:18px;max-width:44ch;font-size:var(--ty-label);color:var(--grey);line-height:var(--ty-compact-lh);}

/* ============ COMPONENTS PAGE ============ */
.sys-head{background:var(--cream);text-align:center;}
.sys-sec{padding-block:clamp(40px,6vw,72px);border-top:1px solid var(--hair);} .sys-sec>.contain>.ey{margin-bottom:26px;display:block;}
.sw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;}
.sw{border:1px solid var(--hair);} .sw .chip{height:76px;} .sw .lab{padding:10px 12px;font-size:var(--ty-help);} .sw .lab b{display:block;font-family:var(--fdisp);font-size:var(--ty-over);letter-spacing:var(--ty-track-over);text-transform:uppercase;color:var(--grey);margin-top:2px;}
.type-row{padding:14px 0;border-bottom:1px solid var(--hair-soft);display:flex;justify-content:space-between;align-items:baseline;gap:20px;}
.type-row .tk{font-family:var(--fdisp);font-size:var(--ty-over);letter-spacing:var(--ty-track-over);text-transform:uppercase;color:var(--grey);white-space:nowrap;}
.icons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:2px;background:var(--hair-soft);border:1px solid var(--hair-soft);}
.icell{background:var(--paper);display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 8px;} .icell .ico{width:24px;height:24px;color:var(--ink);}
.icell .n{font-family:var(--fdisp);font-size:var(--ty-over);letter-spacing:var(--ty-track-over);text-transform:uppercase;color:var(--grey);text-align:center;}
.icell.new{background:var(--cream);}
.blocks-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;}
.blk{border:1px solid var(--hair);padding:18px;} .blk .bn{font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);margin:0 0 6px;} .blk .bd{font-size:var(--ty-compact);color:var(--grey);line-height:var(--ty-compact-lh);} .blk .bt{font-family:var(--fdisp);font-size:var(--ty-over);letter-spacing:var(--ty-track-over);text-transform:uppercase;color:var(--ink);margin-top:10px;display:block;}

/* ============ FOOTER ============ */
footer{border-top:1px solid var(--hair);}
.news{text-align:center;padding-block:clamp(48px,7vw,84px);border-bottom:1px solid var(--hair);} .news .ey{margin-bottom:22px;}
.news form,.nl-form{display:inline-flex;align-items:center;gap:14px;border-bottom:1px solid var(--ink);padding-bottom:8px;min-width:min(420px,82vw);justify-content:space-between;}
.news .inp.bare{flex:1;min-width:0;min-height:44px;}   /* the field is the kit .inp.bare; the form owns the underline (store.css UNIFIED COMPONENTS) */
.news button{font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);white-space:nowrap;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;}
.nl-disclosure{max-width:54ch;margin:14px auto 0;color:var(--grey);font-size:var(--ty-help);line-height:var(--ty-help-lh);}
.nl-disclosure a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;}
/* Centered House signature: ONE gate logo + ONE fixed signature sentence (replaces the
   retired global footer newsletter sign-up and the old .fbrand duplicate branding). */
.fsig{text-align:center;padding-block:clamp(44px,6vw,76px);border-bottom:1px solid var(--hair);}
.fsig-in{display:flex;flex-direction:column;align-items:center;gap:0;}
.fsig-mark{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:var(--ink);}
.fsig-mark img{display:block;width:clamp(24px,2.4vw,32px);height:auto;}
.fcols{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;padding-block:clamp(40px,6vw,68px);}
/* Owner-directed: footer group headings are 10px uppercase weight 500 at EVERY width (an
   approved exception to the 400-weight cap; the kit serves the 500 cut). */
.fcol h5{font-family:var(--fdisp);font-size:10px;line-height:var(--ty-over-lh);letter-spacing:var(--ty-track-over);text-transform:uppercase;color:var(--ink);margin:0 0 16px;font-weight:500;}
.fcol .q{display:none;} .fcol ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.fcol a{font-size:var(--ty-label);line-height:var(--ty-label-lh);color:var(--grey);transition:color .2s;min-width:44px;min-height:20px;display:inline-flex;align-items:center;} .fcol a:hover{color:var(--ink);}
.futil{border-top:1px solid var(--hair);padding-block:22px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
.futil .sel{font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);display:inline-flex;gap:9px;align-items:center;min-height:44px;}
.futil .soc{display:flex;gap:18px;} .futil .soc a{font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);text-transform:uppercase;color:var(--grey);min-height:44px;display:inline-flex;align-items:center;}
.fbot{border-top:1px solid var(--hair-soft);padding-block:20px;text-align:center;}
.fbot-wordmark{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;}
.fbot-wordmark img{display:block;width:clamp(96px,10vw,120px);height:auto;}
@media(max-width:820px){.fcols{grid-template-columns:1fr 1fr;gap:30px;}}
@media(max-width:600px){
  .fcols{grid-template-columns:1fr;gap:0;}
  .fcol{border-top:1px solid var(--hair-soft);} .fcol h5{display:none;}
  .fcol .q{display:flex;justify-content:space-between;align-items:center;width:100%;padding:18px 0;font-family:var(--fdisp);font-size:var(--ty-f-head);line-height:var(--ty-f-head-lh);letter-spacing:var(--ty-track);} .fcol .q .ico{width:14px;height:14px;transition:transform .25s;}
  .fcol.open .q .ico{transform:rotate(45deg);} .fcol ul{max-height:0;overflow:hidden;transition:max-height .25s ease;gap:0;} .fcol.open ul{max-height:400px;} .fcol ul li{padding-block:7px;}
}

/* ---- region / country + language modal (centred, monochrome) ---- */
.loc{position:fixed;inset:0;z-index:130;display:grid;place-items:center;padding:20px;background:rgba(20,18,16,.42);opacity:0;visibility:hidden;transition:opacity .28s var(--e1),visibility .28s;}
.loc.open{opacity:1;visibility:visible;}
.loc-card{position:relative;width:min(540px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--paper);color:var(--ink);border:1px solid var(--hair);border-radius:28px;box-shadow:0 30px 80px rgba(0,0,0,.24);padding:clamp(30px,4vw,46px);transform:translateY(10px);transition:transform .28s var(--e1);}
.loc.open .loc-card{transform:none;}
.loc-x{position:absolute;top:16px;inset-inline-end:16px;width:44px;height:44px;display:grid;place-items:center;color:var(--ink);background:var(--paper);border:1px solid var(--hair);border-radius:999px;transition:background .2s var(--e1),border-color .2s var(--e1);}
.loc-x:hover{background:var(--sand-l);border-color:var(--ink);}
.loc-x .ico{width:18px;height:18px;}
.loc-h{font-size:var(--ty-h-sm);line-height:var(--ty-h-sm-lh);margin:0 0 12px;padding-inline-end:42px;}
.loc-sub{margin:0 0 28px;font-size:var(--ty-compact);line-height:var(--ty-compact-lh);color:var(--ink-warm);max-width:44ch;}
.loc-field{margin-bottom:20px;}
.loc-field>label,.loc-field>.ey{display:block;margin-bottom:10px;}
.loc-field .selfield{width:100%;}
.loc-langs{display:flex;gap:10px;flex-wrap:wrap;}
.loc-langs button{flex:1 1 140px;height:var(--ctrl-h);padding:0 20px;border:1px solid var(--hair);border-radius:999px;background:var(--paper);color:var(--ink);font-family:var(--fdisp);font-size:var(--ty-label);letter-spacing:var(--ty-track);transition:border-color .2s,background .2s,color .2s;}
.loc-langs button:hover{border-color:var(--ink);}
.loc-langs button.sel{border-color:var(--ink);background:var(--ink);color:#fff;}
.loc-confirm{margin-top:8px;}
.loc-all{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:var(--ctrl-h);margin-top:12px;padding:0 22px;border:1px solid var(--hair);border-radius:999px;background:var(--paper);font-size:var(--ty-label);transition:background .2s var(--e1),border-color .2s var(--e1);}
.loc-all:hover{gap:10px;background:var(--sand-l);border-color:var(--ink);}
#site.ar .loc-card{font-family:var(--far);}

/* ---- full country / region selector page (#/regions) ---- */
.regsel{padding-block:clamp(28px,5vw,64px);}
.regsel-head{margin-bottom:clamp(24px,4vw,48px);}
.regsel-h{margin:8px 0 0;}
.regsel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:clamp(24px,3vw,44px);}
.regsel-col h3{font-size:var(--ty-body);line-height:var(--ty-body-lh);margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--hair);}
.regsel-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.regsel-list button{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;text-align:start;padding:8px 0;font-size:var(--ty-label);line-height:var(--ty-label-lh);color:var(--ink-warm);transition:color .2s;}
.regsel-list button:hover{color:var(--ink);}
.regsel-lock{width:12px;height:12px;opacity:.55;flex:none;}
.regsel-foot{margin-top:clamp(28px,4vw,52px);padding-top:20px;border-top:1px solid var(--hair);font-size:var(--ty-compact);line-height:var(--ty-compact-lh);color:var(--ink-warm);}
.regsel-foot .ey{margin-inline-end:8px;}
.regsel-intl{display:inline-flex;align-items:center;gap:8px;min-height:44px;background:none;border:0;color:inherit;font:inherit;font-size:var(--ty-compact);cursor:pointer;padding:0;text-align:start;transition:gap .25s var(--e1),color .2s;}
.regsel-intl:hover{gap:12px;color:var(--ink);}
.regsel-intl .ico{width:14px;height:14px;}

/* ---- cookies (docked bar + expandable preferences, monochrome) ---- */
.cookie{position:fixed;inset-inline:0;bottom:0;z-index:120;background:var(--paper);border-top:1px solid var(--ink);transform:translateY(110%);transition:transform .4s var(--e1);}
.cookie.show{transform:none;}
.cookie .in{max-width:var(--maxw);margin-inline:auto;padding:22px var(--mx);display:flex;align-items:center;gap:28px;flex-wrap:wrap;}
.cookie .ck-copy{flex:1;min-width:260px;}
.cookie-h{font-size:var(--ty-body);line-height:var(--ty-body-lh);margin:0 0 6px;}
.cookie p{margin:0;font-size:var(--ty-compact);color:var(--ink-warm);max-width:72ch;line-height:var(--ty-compact-lh);}
.cookie p a{text-decoration:underline;text-underline-offset:2px;}
.cookie .acts{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.cookie .prefs{width:100%;display:none;gap:22px;flex-wrap:wrap;align-items:center;padding-top:14px;margin-top:14px;border-top:1px solid var(--hair-soft);}
.cookie.manage .prefs{display:flex;}
.cookie .ck-decline{font-size:var(--ty-help);text-decoration:underline;text-underline-offset:2px;color:var(--ink-warm);min-height:44px;display:inline-flex;align-items:center;}
.ck{display:inline-flex;align-items:center;gap:9px;font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);color:var(--ink-warm);}
/* the cookie toggles are the kit .chk checkbox (store.css UNIFIED COMPONENTS) */
.ck .chk{width:44px;height:44px;}   /* keep the governed target while the visible box remains 18px */
@media(max-width:640px){.cookie .in{gap:14px;} .cookie .acts{width:100%;} .cookie .acts .btn{flex:1;} .loc{padding:12px;} .loc-card{max-height:calc(100vh - 24px);padding:28px 20px 22px;border-radius:22px;} .loc-x{top:12px;inset-inline-end:12px;}}

/* ============ MOTION ============ */
.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s var(--e1),transform .7s var(--e1);}
.js .reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){
  .js .reveal{opacity:1 !important;transform:none !important;transition:opacity .3s;}
  .hero .bg,.tile .bg,.v3d .cube{animation:none !important;} .pcard:hover .pv img,.ccard:hover .pv img{transform:none;}
  .mega,.mega.open,.mega.closing{transition:transform .01ms linear,visibility 0s !important;}
  .mega-panel,.mega.drilled .mega-panel,.mega-feat,.mega.drilled .mega-feat{transition:opacity .01ms linear,transform .01ms linear,visibility 0s !important;}
  .mega-rail li,.mega-ulinks li,.mega-ship,.mega-langs,.mega-back,.mega-col,.mfeat{animation:none!important;}
  .mfeat-img{transition:none!important;}.hdr{transition:background .2s,color .2s,border-color .2s !important;}
  .rail{scroll-behavior:auto;}
}

/* ===================== storefront additions (overnight build) ===================== */
.fb-notice{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);z-index:300;background:var(--ink);color:#fff;font-family:var(--fdisp);font-size:var(--ty-label);letter-spacing:var(--ty-track);padding:13px 22px;border-radius:999px;opacity:0;visibility:hidden;transition:opacity .25s,transform .25s,visibility .25s;max-width:90vw;text-align:center;}
.fb-notice.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.fb-notice.err{background:#3a3a3a;}
#site.ar .fb-notice{font-family:var(--far);}
/* Region nudge banner (geo suggestion). Light panel so the standard .btn / .btn.out
   contrast; monochrome, reuses house tokens + .btn.sm. */
.mkt-banner{position:fixed;left:50%;bottom:22px;transform:translateX(-50%) translateY(200%);z-index:120;display:flex;gap:18px;align-items:center;flex-wrap:wrap;justify-content:center;max-width:min(640px,calc(100vw - 28px));background:var(--paper);color:var(--ink);border:1px solid var(--hair);padding:14px 20px;border-radius:14px;box-shadow:0 14px 44px rgba(0,0,0,.16);transition:transform .42s var(--e1);}
.mkt-banner.show{transform:translateX(-50%) translateY(0);}
.mkt-banner-t{font-size:var(--ty-compact);line-height:var(--ty-compact-lh);color:var(--ink-warm);}
.mkt-banner-a{display:flex;gap:10px;flex-wrap:wrap;}
.mkt-banner .btn.sm{height:40px;padding:0 18px;}
#site.ar .mkt-banner{font-family:var(--far);}
/* quote block */
.qband{text-align:center;}
.qband .qrule{display:block;width:48px;height:1px;background:var(--ink);margin:0 auto 26px;}
.qband .qbig{font-size:var(--ty-h-ed);line-height:var(--ty-h-ed-lh);letter-spacing:var(--ty-track);color:var(--ink-warm);max-width:26ch;margin:0 auto;font-weight:400;}
.qband .qcite{display:block;margin-top:18px;font-family:var(--fdisp);font-size:var(--ty-over);line-height:var(--ty-over-lh);letter-spacing:var(--ty-track-over);text-transform:uppercase;color:var(--grey);font-style:normal;}
/* richtext block */
.rtband .rtbody{max-width:70ch;margin-inline:auto;}
.rtband .rtbody p{margin:0 0 1em;}
.rtband .rtbody a{border-bottom:1px solid currentColor;}
/* spacer block: vertical whitespace + an optional contained hairline rule (monochrome) */
.fb-spacer{display:flex;align-items:center;justify-content:center;padding-inline:var(--mx);}
.fb-spacer[data-size="sm"]{min-height:clamp(20px,3vw,32px);}
.fb-spacer[data-size="md"]{min-height:clamp(36px,6vw,64px);}
.fb-spacer[data-size="lg"]{min-height:clamp(56px,9vw,104px);}
.fb-spacer[data-size="xl"]{min-height:clamp(80px,13vw,160px);}
.fb-spacer .fb-rule{width:100%;max-width:var(--maxw);height:1px;background:var(--hair);}
/* 3D iframe (replaces the concept cube) */
.fbj-3d-iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--card-grad);}

/* ===== review fixes (a11y focus / rtl bidi / contrast) ===== */
.pcard-a{display:block;color:inherit;}
.pcard .wish{z-index:3;}
.lead,.dc,.ccard .dc{unicode-bidi:plaintext;}

/* ===================== owner directives (post-launch) ===================== */
/* NEW CREATIONS / product carousel block: edge-to-edge, no-gap row of up to 8 (heading stays
   contained). Owner directive: the block carries NO bottom padding. */
.band.s-newrow{padding-bottom:0;}
.s-newrow .newrow{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:clamp(28px,4vw,44px);}
@media(max-width:1000px){.s-newrow .newrow{grid-template-columns:repeat(3,1fr);}}
@media(max-width:640px){.s-newrow .newrow{grid-template-columns:repeat(2,1fr);}}
.newrow .pcard .meta{padding:14px 12px 22px;}

/* PLP grid: edge-to-edge, no gaps, no side margins + featured merchandising cards */
.plp-grid{grid-template-columns:repeat(4,1fr);gap:0;grid-auto-flow:dense;padding-top:0;padding-bottom:clamp(44px,6vw,72px);}
@media(max-width:1100px){.plp-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:700px){.plp-grid{grid-template-columns:repeat(2,1fr);}}
.plp-grid .pcard .meta{padding:14px 14px 26px;}
.grid-gap-card{position:relative;display:flex;min-width:0;min-height:100%;overflow:hidden;background:var(--sand-l);color:var(--ink);text-align:start;align-self:stretch;}
.grid-gap-card-in{width:100%;min-height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:clamp(20px,2.5vw,32px);padding:clamp(24px,4vw,56px);}
.grid-gap-text{max-width:27ch;margin:0;font-family:var(--fdisp);font-size:clamp(20px,2.2vw,34px);line-height:1.18;letter-spacing:var(--ty-track);unicode-bidi:plaintext;}
.grid-gap-cta{flex:none;max-width:100%;text-align:center;}
@media(max-width:700px){.grid-gap-card-in{padding:clamp(22px,7vw,34px);}.grid-gap-text{font-size:clamp(18px,5vw,25px);}}
.feat-card{position:relative;overflow:hidden;display:flex;align-items:flex-end;color:#fff;min-height:100%;}
/* Featured merch cards sit on ONE grid row so their height always equals the product cards
   beside them (owner rule: featured card height == product card height). */
.feat-card.feat-big{grid-column:span 2;grid-row:span 1;}
.feat-card.feat-wide{grid-column:span 2;grid-row:span 1;}
@media(max-width:700px){.feat-card.feat-big,.feat-card.feat-wide{grid-column:1 / -1;grid-row:span 1;aspect-ratio:16 / 10;min-height:0;}}
.feat-card .bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 5s var(--e1);}
.feat-card:hover .bg{transform:scale(1.05);}
.feat-card .sc{position:absolute;inset:0;background:linear-gradient(to top,rgba(18,18,18,.55),rgba(18,18,18,.04) 55%);}
.feat-card .feat-cap{position:relative;z-index:2;padding:clamp(20px,2.6vw,34px);}
.feat-card .feat-ey{color:rgba(255,255,255,.92);}
.feat-card .feat-h{margin:8px 0 12px;max-width:16ch;}
#site.ar .feat-card .feat-cap{text-align:right;}

/* PDP additions (live parity): VAT note, advisor, personalization, share */
.pdp-price{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:10px;row-gap:2px;}
.pdp-vat{flex-basis:100%;font-family:var(--fdisp);font-size:var(--ty-over);line-height:var(--ty-over-lh);letter-spacing:var(--ty-track-over);text-transform:uppercase;color:var(--grey);}
.pdp-advisor-body p{margin:0 0 16px;}
.pdp-inline-action{width:fit-content;min-height:44px;color:var(--ink);background:transparent;}
.pdp-inline-action .ico{width:17px;height:17px;}
.pdp-inline-action.on{color:var(--ink);}
.pdp-secondary-actions{display:flex;align-items:center;justify-content:flex-start;gap:clamp(24px,4vw,48px);padding-top:18px;}
.pdp-secondary-action{flex:0 0 auto;}
.pdp-variant{margin:20px 0 10px;}
.pdp-variant-trigger{width:100%;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0;border-block:1px solid var(--hair);font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);color:var(--ink);text-align:start;}
.pdp-variant-label{display:inline-flex;align-items:center;gap:6px;}
.pdp-variant-label .ico{width:14px;height:14px;}
.pdp-variant-value{font-weight:400;color:var(--grey);}
.pdp-variant-active{overflow:hidden;}
.pdp-variant-dialog{position:fixed;inset:0;z-index:190;display:grid;place-items:center;padding:24px;}
.pdp-variant-dialog[hidden]{display:none;}
.pdp-variant-backdrop{position:absolute;inset:0;width:100%;height:100%;background:rgba(20,18,16,.42);cursor:default;}
.pdp-variant-sheet{position:relative;z-index:1;width:min(520px,100%);max-height:min(680px,calc(100dvh - 48px));overflow:auto;padding:clamp(28px,4vw,42px);background:var(--paper);border:1px solid var(--hair);border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.22);}
.pdp-variant-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px;}
.pdp-variant-head .h3{margin:0;}
.pdp-variant-close{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;flex:none;border:1px solid var(--hair);border-radius:999px;color:var(--ink);background:var(--paper);}
.pdp-variant-close:hover{border-color:var(--ink);}
.pdp-variant-close .ico{width:17px;height:17px;}
.pdp-variant-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:10px;}
.pdp-variant-option{min-height:52px;padding:0 14px;border:1px solid var(--hair);border-radius:999px;background:var(--paper);color:var(--ink);font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);}
.pdp-variant-option:hover{border-color:var(--ink);}
.pdp-variant-option.sel{border-color:var(--ink);background:var(--ink);color:#fff;}
@media(max-width:640px){
  .pdp-variant-dialog{place-items:end stretch;padding:0;}
  .pdp-variant-sheet{width:100%;max-height:78dvh;border-inline:0;border-bottom:0;border-radius:24px 24px 0 0;padding:26px 22px max(30px,env(safe-area-inset-bottom));}
}
.pdp-personalize{display:flex;flex-direction:column;margin:22px 0 8px;padding:0;border:0;background:transparent;}
.pdp-personalize .pdp-personalize-open{margin:0;border-color:#6667ab;background:#fff;color:#6667ab;}
.pdp-personalize .pdp-personalize-open:hover{border-color:#6667ab;background:#fff;color:#6667ab;opacity:.82;}
.pdp-personalize .pdp-personalize-open .ico{width:19px;height:19px;}
.pdp-personalize .pdp-personalize-open[hidden]{display:none;}
.pdp-personalize-active{overflow:hidden;}
.pdp-info.fbj-personalize-layer,.pdp-info.fbj-variant-layer{z-index:220;}
.pdp-personalize-dialog{position:fixed;inset:0;z-index:180;display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,34vw);width:100vw;height:100dvh;background:#fff;color:#111;animation:pdp-personalize-dialog-in .18s ease-out;}
.pdp-personalize-dialog[hidden]{display:none;}
.pdp-personalize-viewer{position:relative;min-width:0;min-height:0;overflow:hidden;background:var(--card-grad);}
.pdp-personalize-viewer .v3d{position:absolute;inset:0;z-index:1;width:100%;height:100%;opacity:1;visibility:visible;background:var(--card-grad);}
.pdp-personalize-viewer .fbj-3d-iframe{background:var(--card-grad);}
/* 2D fallback preview: the personalization template image with the typed initials overlaid. */
.pdp-personalize-2d{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:clamp(20px,4vw,56px);}
.pdp-personalize-2d-img{max-width:100%;max-height:100%;object-fit:contain;}
/* Laser-engraving look: the initials read as a fine mark incised into the metal - a small
   size, tight tracking, blended into the surface (multiply) with a lit lower edge and a
   shadowed upper edge so the letters appear recessed rather than printed on top. */
.pdp-personalize-2d-initials{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-weight:500;font-size:12px;line-height:1;letter-spacing:.22em;text-indent:.22em;text-transform:uppercase;white-space:nowrap;pointer-events:none;color:rgba(38,38,38,.85);mix-blend-mode:multiply;text-shadow:0 .5px .4px rgba(255,255,255,.5),0 -.5px .4px rgba(0,0,0,.3);}
.pdp-personalize-2d-initials:empty{display:none;}
.pdp-personalize-panel{position:relative;min-width:0;min-height:0;background:#fff;border:0;overflow:hidden;}
/* Top scroll-fade: the content itself fades out at the top edge as it scrolls up toward the
   model/image. The fade zone is shorter than the top padding, so at rest (unscrolled) it sits
   over empty padding and the heading stays fully visible - the text only fades while scrolling. */
.pdp-personalize-panel-in{height:100%;display:flex;flex-direction:column;padding:clamp(58px,7vh,88px) clamp(30px,4vw,64px) clamp(28px,4vh,48px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 clamp(44px,6vh,76px));mask-image:linear-gradient(to bottom,transparent 0,#000 clamp(44px,6vh,76px));}
.pdp-personalize-close{position:absolute;top:22px;inset-inline-end:22px;z-index:2;width:44px;height:44px;border:1px solid rgba(17,17,17,.42);border-radius:999px;display:flex;align-items:center;justify-content:center;background:#fff;color:#111;transition:background .2s,color .2s;}
.pdp-personalize-close:hover{background:#111;color:#fff;}
.pdp-personalize-close .ico{width:18px;height:18px;}
.pdp-personalize-heading{padding-inline-end:44px;}
.pdp-personalize-heading .ey{color:#111;}
.pdp-personalize-heading .h3{margin:10px 0 12px;color:#111;}
.pdp-personalize-heading p{max-width:42ch;margin:0;color:rgba(17,17,17,.72);font-size:var(--ty-compact);line-height:var(--ty-compact-lh);}
.pdp-personalize-product{display:flex;align-items:center;gap:14px;margin:clamp(28px,4vh,44px) 0 24px;padding:16px 0;border-block:1px solid rgba(17,17,17,.18);}
.pdp-personalize-product>.ico{width:24px;height:24px;flex:0 0 auto;}
.pdp-personalize-product div{display:flex;flex-direction:column;gap:4px;min-width:0;}
.pdp-personalize-product strong{font-family:var(--fdisp);font-size:var(--ty-label);letter-spacing:var(--ty-track);font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pdp-personalize-product span{font-family:var(--fdisp);font-size:var(--ty-over);letter-spacing:var(--ty-track-over);text-transform:uppercase;color:rgba(17,17,17,.62);}
.pdp-personalize-fields{margin-top:auto;padding-top:12px;}
.pdp-personalize-label{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.pdp-personalize-label .fld-lbl{margin-bottom:8px;color:#111;}
.pdp-personalize-label [data-personalize-count]{font-family:var(--fdisp);font-size:var(--ty-over);letter-spacing:var(--ty-track-over);color:rgba(17,17,17,.66);}
.pdp-personalize .inp.line{height:50px;padding-inline:18px;border:1px solid rgba(17,17,17,.38);border-radius:999px;background:#fff;color:#111;font-family:var(--fdisp);font-size:18px;letter-spacing:.15em;text-transform:uppercase;}
.pdp-personalize .inp.line:focus{border-color:#111;}
.pdp-personalize .fld-help{max-width:94%;margin:9px 2px 0;color:rgba(17,17,17,.68);}
.pdp-personalize-actions{display:flex;flex-direction:column;gap:10px;margin-top:26px;}
.pdp-personalize-actions .btn{margin:0;border-color:#111;background:#111;color:#fff;}
.pdp-personalize-actions .btn:hover:not(:disabled){background:#fff;color:#111;}
.pdp-personalize-actions .btn:disabled{opacity:.32;cursor:not-allowed;}
.pdp-personalize-actions .lcta{align-self:center;color:#111;}
.pdp-personalize-legal{margin:16px 0 0;padding-top:14px;border-top:1px solid rgba(17,17,17,.18);font-size:10px;line-height:1.55;color:rgba(17,17,17,.66);}
.pdp-personalize-legal a{text-decoration:underline;text-underline-offset:3px;}
@keyframes pdp-personalize-dialog-in{from{opacity:0;}to{opacity:1;}}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
@media(max-width:900px){
  .pdp-personalize-dialog{grid-template-columns:1fr;grid-template-rows:52dvh 48dvh;}
  .pdp-personalize-panel{border:0;}
  .pdp-personalize-panel-in{padding:38px 22px max(28px,env(safe-area-inset-bottom));}
  .pdp-personalize-close{top:12px;inset-inline-end:14px;width:40px;height:40px;}
  .pdp-personalize-heading{padding-inline-end:36px;}
  .pdp-personalize-heading .h3{margin:7px 0 8px;}
  .pdp-personalize-heading p{font-size:var(--ty-compact);line-height:var(--ty-compact-lh);}
  .pdp-personalize-product{margin:20px 0 14px;padding:12px 0;}
  .pdp-personalize-fields{margin-top:0;padding-top:0;}
  .pdp-personalize-actions{margin-top:18px;}
}
@media(max-width:900px) and (max-height:700px){.pdp-personalize-dialog{grid-template-rows:46dvh 54dvh;}}
@media(prefers-reduced-motion:reduce){.pdp-personalize-dialog{animation:none;}}
/* PDP service and secondary actions follow the product information in one reading order. */

/* ===================== owner directives iter 2 ===================== */
/* card = ONE card, ONE background (image + title + price share the ground) */
.pcard-a{background:var(--sand-l);}
.pcard .pv{background:transparent;}
.pcard .meta{padding:14px 14px 20px;}
.newrow .pcard .meta,.plp-grid .pcard .meta{padding:14px 16px 22px;}
.pv-noimg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.pv-noimg .ico{width:46px;height:46px;color:var(--greige);}
.ptax{font-size:var(--ty-over);line-height:var(--ty-over-lh);color:var(--grey);margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* PDP collection description + Product Details icon list */
.pdp-coldesc{font-size:var(--ty-compact);line-height:var(--ty-compact-lh);color:var(--grey);margin:18px 0 4px;}
.pdp-details{margin:22px 0 6px;padding-top:20px;}
.pdp-details-h{font-size:var(--ty-body);line-height:var(--ty-body-lh);letter-spacing:var(--ty-track);font-weight:500;margin:0 0 14px;}
.pdp-dl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.pdp-dl li{display:flex;align-items:center;gap:12px;font-size:var(--ty-label);line-height:var(--ty-compact-lh);color:var(--ink);}
.pdp-dl li .ico{width:22px;height:22px;color:var(--ink);flex:none;}
.pdp-dl-note{padding-inline-start:34px !important;color:var(--grey) !important;font-size:var(--ty-compact);line-height:var(--ty-compact-lh);}

/* PDP gallery: DESKTOP = stacked column of all images (no slider) */
.pdp-gal .rail.gallery{flex-direction:column;overflow:visible;gap:6px;scroll-snap-type:none;}
.pdp-gal .rail.gallery>*{flex:0 0 auto;}
.pdp-gal .sctrl{display:none;}
/* MOBILE = full-bleed carousel, gallery pinned to top, details scroll over it */
@media(max-width:900px){
  /* The PDP already mounts at the viewport root. Keep the gallery full-bleed without widening
     the complete product surface or relying on global overflow clipping. */
  .pdp-wrap{width:100%;min-width:0;margin-inline:0;}
  .pdp-gal{position:sticky;top:var(--hh);z-index:1;}
  .pdp-gal .rail.gallery{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;}
  .pdp-gal .rail.gallery>*{flex:0 0 100%;scroll-snap-align:start;}
  .pdp-gal .sctrl{display:flex;justify-content:center;position:relative;z-index:3;margin-top:-44px;padding-bottom:14px;}
  .pdp-info{position:relative;z-index:2;background:var(--paper);padding:30px var(--mx) 0;}
}

/* ===================== owner directives iter 3 ===================== */
/* Collection grid: each card has its OWN gradient bg + fills its cell (no white gaps) */
.pcard{height:100%;}
.pcard-a{background:var(--card-grad);height:100%;}
.pcard .pv img{object-fit:cover;}

/* PDP: header OVERLAYS the gallery (transparent bg, ink glyphs over the light gallery) */
#site.pdp-view .hdr{color:var(--ink);}
#site.pdp-view .hdr.solid{background:var(--paper);color:var(--ink);}

/* PDP: gallery flush to top-left (no margins) + ONE continuous gradient bottom->top */
.pdp-wrap{grid-template-columns:60% 40%;align-items:stretch;}
.pdp-gal{background:var(--card-grad);}
.pdp-gal .rail.gallery{flex-direction:column;overflow:visible;gap:0;scroll-snap-type:none;padding-bottom:0;}
.pdp-gal .rail.gallery>*{flex:0 0 auto;}
.pdp-gal .sctrl{display:none;}
.pdp-slide{background:transparent;aspect-ratio:4/5;}
.pdp-slide img{object-fit:contain;}
.pdp-info{position:sticky;top:var(--hh);align-self:start;margin-top:var(--hh);padding:34px clamp(24px,4vw,64px) 72px clamp(34px,4.5vw,76px);}
.pdp-crumb{color:var(--ink);}

/* Related rail: edge-to-edge cards with no side padding and no gaps. The heading stays contained. */
.pdp-related .rail.rel{gap:0;}
.pdp-related .rail.rel>*{flex:0 0 25%;}
@media(max-width:1000px){.pdp-related .rail.rel>*{flex-basis:33.333333%;}}
@media(max-width:640px){.pdp-related .rail.rel>*{flex-basis:50%;}}
@media(max-width:900px){.pdp-related .row-head.contain{max-width:none;padding-inline:0;}}

@media(max-width:900px){
  .pdp-wrap{grid-template-columns:1fr;}
  .pdp-gal{position:sticky;top:0;z-index:1;margin-inline:0;}
  .pdp-gal .rail.gallery{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;}
  .pdp-gal .rail.gallery>*{flex:0 0 100%;scroll-snap-align:start;}
  .pdp-gal .sctrl{display:flex;justify-content:center;position:relative;z-index:3;margin-top:-44px;padding-bottom:14px;}
  .pdp-info{position:relative;top:auto;z-index:2;background:var(--paper);margin-top:0;padding:30px var(--mx) 40px;}
}

/* ===================== owner directives iter 4 ===================== */
/* Desktop gallery: images at NATURAL size -> first touches the top, no gaps between images */
.pdp-slide{aspect-ratio:auto;background:transparent;}
.pdp-slide img{width:100%;height:auto;object-fit:unset;display:block;}

/* Breadcrumb: centered, with full-bleed top + bottom dividers */
.pdp-crumb-bar{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);margin-top:0;}
.pdp-crumb-bar .crumb{justify-content:center;text-align:center;padding-block:18px;margin:0;}

@media(max-width:900px){
  /* details get proper side margins; gallery stays full-bleed */
  .pdp-info{padding:32px 22px 44px;}
  /* gallery = 1:1, pinned to top (details cover it while scrolling) */
  .pdp-slide{aspect-ratio:1/1;}
  .pdp-slide img{height:100%;object-fit:cover;}
  /* Matches the live Shopify PDP pagination measurements. */
  .pdp-gal .sctrl{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);height:36px;padding:6px;margin:0;z-index:4;}
}

/* ---- dynamic template slots: placeholder shown in the editor before the storefront fills it ---- */
/* PDP mobile: the gallery dots fade while the page is scrolled and return only near the top
   (app-core toggles .is-hidden when scrollY > 40). Reduced-motion drops the transition. */
@media(max-width:900px){
  .pdp-gal .sctrl{transition:transform .4s ease,opacity .4s ease;}
  .pdp-gal .sctrl.is-hidden{opacity:0;pointer-events:none;}
  .pdp-gal.fbj-3d-on .sctrl{opacity:0;transform:translateX(-50%) translateY(60px);pointer-events:none;}
}
@media(max-width:900px) and (prefers-reduced-motion:reduce){.pdp-gal .sctrl{transition:none;}.pdp-gal .sdot-gallery .ico{transition:none;}}
/* editor dyn-slot placeholder: hug content (no reserved 200px gap); the live storefront replaces it. */
.dyn-slot{display:flex;align-items:center;justify-content:center;padding:32px var(--mx);border:1px dashed var(--hair);background:var(--sand-l);}
.dyn-ph{display:flex;flex-direction:column;gap:8px;text-align:center;color:var(--grey);}
.dyn-ph-t{font-size:var(--ty-h-sm);line-height:var(--ty-h-sm-lh);color:var(--ink);}
.dyn-ph-s{font-size:var(--ty-compact);line-height:var(--ty-compact-lh);}
/* When the editor preview FILLS a slot, the <section> is kept as a transparent wrapper (so the
   block stays selectable) - strip the placeholder chrome so the live content lays out naturally. */
.dyn-slot.dyn-live{min-height:0;display:block;padding:0;border:0;background:none;}

/* ---- template-driven PLP extras (opt-in; the hand-coded PLP is unaffected) ---- */
/* collectionhero scrim is now driven by data-content + data-fx (see IMAGE-BG section, W3) */
/* productgrid column choice (2 | 3 | 4). Below 700px the base .plp-grid stays 2-up for mobile. */
@media(min-width:701px){
  .plp-grid.cols-2{grid-template-columns:repeat(2,1fr);}
  .plp-grid.cols-3{grid-template-columns:repeat(3,1fr);}
  .plp-grid.cols-4{grid-template-columns:repeat(4,1fr);}
}
/* productgrid stand-alone count line (only when no filters block carries the count) */
.plp-gridcount{padding-block:clamp(14px,2vw,20px);}
.plp-gridcount .fcount{display:block;}

/* ============================================================================
   UNIFIED WEBSITE FORM + UI COMPONENTS  (W1 - single source of truth)
   Every storefront form control is one of these. Change a rule here and it
   updates the concierge, search, newsletter, cookies, filters, PDP and every
   future form at once. MONOCHROME (var(--token) only), 44px+ hit targets,
   RTL via logical properties, visible :focus-visible rings. Error state is
   ink emphasis (no red). Buttons live in the .btn family near the top.
   ============================================================================ */

/* ---- field scaffold: label + control + helper / error ---- */
.fld{margin-bottom:clamp(18px,2.4vw,26px);}
.fld:last-child{margin-bottom:0;}
.fld-lbl{display:block;font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);color:var(--grey);margin-bottom:11px;}
.fld-lbl .req{color:var(--ink);}
.fld-help{font-size:var(--ty-help);line-height:var(--ty-help-lh);color:var(--grey);margin-top:8px;}
.fld-err{font-family:var(--fdisp);font-size:var(--ty-help);line-height:var(--ty-help-lh);letter-spacing:var(--ty-track);color:var(--ink);margin-top:8px;display:none;}
.fld.err .fld-err{display:block;}                       /* mono error = ink emphasis, never a red literal */
.fld.err .inp,.fld.err .selfield>select{border-color:var(--ink);}

/* ---- text input / textarea : the box field ---- */
.inp{width:100%;height:var(--ctrl-h);border:1px solid var(--hair);background:var(--paper);padding:0 20px;
  font-family:var(--fbody);font-size:var(--ty-label);color:var(--ink);border-radius:999px;transition:border-color .18s var(--e1),background .18s var(--e1),box-shadow .18s var(--e1);}
.inp::placeholder{color:var(--grey-l);opacity:1;}
.inp:hover{border-color:var(--chip-b);}
/* single crisp focus line: 1px border + adjacent 1px shadow (same ink) = one ~2px ring, no gap, no layout shift, still keyboard-visible */
.inp:focus,.inp:focus-visible{outline:none;border-color:var(--ink);box-shadow:0 0 0 1px var(--ink);}
.inp:disabled{color:var(--greige);background:var(--sand-l);cursor:not-allowed;}
textarea.inp{height:auto;min-height:98px;padding:13px 18px;line-height:1.55;resize:vertical;border-radius:22px;}   /* multi-line: soft-rounded, not a full pill */
.inp.sm{height:var(--ctrl-h-sm);font-size:var(--ty-label);padding:0 18px;}
/* underline variant: a self-contained editorial line field (bottom rule only) */
.inp.line{border:0;border-bottom:1px solid var(--hair);padding-inline:0;background:none;height:var(--ctrl-h-sm);border-radius:0;}   /* underline stays flat (reset the inherited pill so the bottom rule is not bowed) */
.inp.line:focus,.inp.line:focus-visible{outline:none;border-bottom-color:var(--ink);box-shadow:none;}
/* bare variant: a naked field inside a composite (search bar, newsletter row, phone). The
   container owns the frame + scale; the field keeps the kit's colour / placeholder / focus base. */
.inp.bare{border:0;background:none;height:auto;min-height:0;padding:0;border-radius:0;}
.inp.bare:focus,.inp.bare:focus-visible{outline:none;box-shadow:none;}
.inp.bare::placeholder{color:var(--grey);}   /* newsletter + search parity: composite fields keep the --grey placeholder */
/* normalise the native search field: drop the off-brand OS clear (x) + decoration */
.inp[type="search"]{-webkit-appearance:none;appearance:none;}
.inp[type="search"]::-webkit-search-cancel-button,.inp[type="search"]::-webkit-search-decoration{-webkit-appearance:none;appearance:none;}

/* ---- select : styled native <select> with a brand chevron ---- */
.selfield{position:relative;display:block;width:100%;}
.selfield>select{-webkit-appearance:none;appearance:none;width:100%;height:var(--ctrl-h);border:1px solid var(--hair);background:var(--paper);
  color:var(--ink);font-family:var(--fbody);font-size:var(--ty-label);padding-inline:20px 42px;border-radius:999px;cursor:pointer;transition:border-color .18s var(--e1),box-shadow .18s var(--e1);}
.selfield>select:hover{border-color:var(--chip-b);}
.selfield>select:focus,.selfield>select:focus-visible{outline:none;border-color:var(--ink);box-shadow:0 0 0 1px var(--ink);}
.selfield>select:disabled{color:var(--greige);background:var(--sand-l);cursor:not-allowed;}
.selfield>.ico{position:absolute;inset-inline-end:14px;top:50%;transform:translateY(-50%);width:14px;height:14px;pointer-events:none;color:var(--grey);}
/* caps = the display control idiom (e.g. the PLP sort control; sentence case since the 2026-07-17 typography wave) */
.selfield.caps>select{font-family:var(--fdisp);font-size:var(--ty-label);letter-spacing:var(--ty-track);}
.selfield.caps>select:hover{border-color:var(--ink);}   /* PLP-sort parity: solid ink on hover */

/* ---- checkbox : custom monochrome box (no OS accent), CSS brand tick ---- */
.chk{-webkit-appearance:none;appearance:none;width:44px;height:44px;flex:none;margin:0;border:0;background:transparent;
  border-radius:0;cursor:pointer;position:relative;transition:opacity .15s var(--e1);}
.chk::before{content:"";position:absolute;left:13px;top:13px;width:18px;height:18px;border:1px solid var(--chip-b);background:var(--paper);border-radius:6px;transition:background .15s var(--e1),border-color .15s var(--e1);}
.chk:hover::before{border-color:var(--ink);}
.chk:checked::before{background:var(--ink);border-color:var(--ink);}
/* checked mark = the brand MOTIF in paper, cut from the ink box with a CSS mask (no bespoke tick, recolours cleanly). Scales + fades in on check, out on uncheck. */
.chk::after{content:"";position:absolute;inset:0;background:var(--paper);pointer-events:none;opacity:0;transform:scale(.4);transition:opacity .16s var(--e1),transform .16s var(--e1);
  -webkit-mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><polygon points='17.284,9.005 17.721,9.321 18.17,9.617 18.628,9.89 19.095,10.143 19.57,10.371 20.051,10.578 20.536,10.762 21.024,10.923 21.513,11.062 22.002,11.179 22.488,11.274 22.973,11.349 23.453,11.402 23.556,11.42 23.658,11.459 23.756,11.517 23.841,11.595 23.911,11.687 23.96,11.79 23.99,11.895 23.998,11.999 23.99,12.103 23.96,12.208 23.911,12.311 23.841,12.404 23.756,12.482 23.658,12.54 23.556,12.578 23.453,12.597 22.973,12.65 22.488,12.724 22.002,12.819 21.513,12.937 21.024,13.075 20.536,13.236 20.051,13.42 19.57,13.627 19.095,13.856 18.628,14.108 18.17,14.381 17.721,14.677 17.284,14.994 16.861,15.33 16.453,15.686 16.061,16.061 15.686,16.453 15.33,16.861 14.994,17.284 14.677,17.721 14.381,18.17 14.108,18.628 13.856,19.096 13.627,19.571 13.42,20.051 13.236,20.536 13.075,21.024 12.937,21.513 12.819,22.002 12.724,22.488 12.65,22.973 12.597,23.453 12.578,23.556 12.54,23.658 12.482,23.756 12.404,23.841 12.311,23.911 12.208,23.961 12.103,23.99 11.999,23.998 11.895,23.99 11.79,23.961 11.687,23.911 11.595,23.841 11.517,23.756 11.459,23.658 11.42,23.556 11.402,23.453 11.349,22.973 11.274,22.488 11.179,22.002 11.062,21.513 10.923,21.024 10.762,20.536 10.578,20.051 10.371,19.571 10.143,19.096 9.89,18.628 9.617,18.17 9.321,17.721 9.005,17.284 8.668,16.861 8.312,16.453 7.937,16.061 7.545,15.686 7.137,15.33 6.714,14.994 6.277,14.677 5.83,14.381 5.371,14.108 4.903,13.856 4.428,13.627 3.947,13.42 3.462,13.236 2.975,13.075 2.485,12.937 1.996,12.819 1.51,12.724 1.025,12.65 0.545,12.597 0.443,12.578 0.34,12.54 0.242,12.482 0.157,12.404 0.088,12.311 0.038,12.208 0.009,12.103 0,11.999 0.009,11.895 0.038,11.79 0.088,11.687 0.157,11.595 0.242,11.517 0.34,11.459 0.443,11.42 0.545,11.402 1.025,11.349 1.51,11.274 1.996,11.179 2.485,11.062 2.975,10.923 3.462,10.762 3.947,10.578 4.428,10.371 4.903,10.143 5.371,9.89 5.83,9.617 6.277,9.321 6.714,9.005 7.137,8.668 7.545,8.312 7.937,7.937 8.312,7.545 8.668,7.137 9.005,6.714 9.321,6.277 9.617,5.83 9.89,5.371 10.143,4.903 10.371,4.428 10.578,3.947 10.762,3.462 10.923,2.975 11.062,2.485 11.179,1.996 11.274,1.51 11.349,1.025 11.402,0.545 11.42,0.443 11.459,0.34 11.517,0.242 11.595,0.157 11.687,0.088 11.79,0.038 11.895,0.009 11.999,0 12.103,0.009 12.208,0.038 12.311,0.088 12.404,0.157 12.482,0.242 12.54,0.34 12.578,0.443 12.597,0.545 12.65,1.025 12.724,1.51 12.819,1.996 12.937,2.485 13.075,2.975 13.236,3.462 13.42,3.947 13.627,4.428 13.856,4.903 14.108,5.371 14.381,5.83 14.677,6.277 14.994,6.714 15.33,7.137 15.686,7.545 16.061,7.937 16.453,8.312 16.861,8.668 17.284,9.005' fill='black'/></svg>") center / var(--motif) no-repeat;mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><polygon points='17.284,9.005 17.721,9.321 18.17,9.617 18.628,9.89 19.095,10.143 19.57,10.371 20.051,10.578 20.536,10.762 21.024,10.923 21.513,11.062 22.002,11.179 22.488,11.274 22.973,11.349 23.453,11.402 23.556,11.42 23.658,11.459 23.756,11.517 23.841,11.595 23.911,11.687 23.96,11.79 23.99,11.895 23.998,11.999 23.99,12.103 23.96,12.208 23.911,12.311 23.841,12.404 23.756,12.482 23.658,12.54 23.556,12.578 23.453,12.597 22.973,12.65 22.488,12.724 22.002,12.819 21.513,12.937 21.024,13.075 20.536,13.236 20.051,13.42 19.57,13.627 19.095,13.856 18.628,14.108 18.17,14.381 17.721,14.677 17.284,14.994 16.861,15.33 16.453,15.686 16.061,16.061 15.686,16.453 15.33,16.861 14.994,17.284 14.677,17.721 14.381,18.17 14.108,18.628 13.856,19.096 13.627,19.571 13.42,20.051 13.236,20.536 13.075,21.024 12.937,21.513 12.819,22.002 12.724,22.488 12.65,22.973 12.597,23.453 12.578,23.556 12.54,23.658 12.482,23.756 12.404,23.841 12.311,23.911 12.208,23.961 12.103,23.99 11.999,23.998 11.895,23.99 11.79,23.961 11.687,23.911 11.595,23.841 11.517,23.756 11.459,23.658 11.42,23.556 11.402,23.453 11.349,22.973 11.274,22.488 11.179,22.002 11.062,21.513 10.923,21.024 10.762,20.536 10.578,20.051 10.371,19.571 10.143,19.096 9.89,18.628 9.617,18.17 9.321,17.721 9.005,17.284 8.668,16.861 8.312,16.453 7.937,16.061 7.545,15.686 7.137,15.33 6.714,14.994 6.277,14.677 5.83,14.381 5.371,14.108 4.903,13.856 4.428,13.627 3.947,13.42 3.462,13.236 2.975,13.075 2.485,12.937 1.996,12.819 1.51,12.724 1.025,12.65 0.545,12.597 0.443,12.578 0.34,12.54 0.242,12.482 0.157,12.404 0.088,12.311 0.038,12.208 0.009,12.103 0,11.999 0.009,11.895 0.038,11.79 0.088,11.687 0.157,11.595 0.242,11.517 0.34,11.459 0.443,11.42 0.545,11.402 1.025,11.349 1.51,11.274 1.996,11.179 2.485,11.062 2.975,10.923 3.462,10.762 3.947,10.578 4.428,10.371 4.903,10.143 5.371,9.89 5.83,9.617 6.277,9.321 6.714,9.005 7.137,8.668 7.545,8.312 7.937,7.937 8.312,7.545 8.668,7.137 9.005,6.714 9.321,6.277 9.617,5.83 9.89,5.371 10.143,4.903 10.371,4.428 10.578,3.947 10.762,3.462 10.923,2.975 11.062,2.485 11.179,1.996 11.274,1.51 11.349,1.025 11.402,0.545 11.42,0.443 11.459,0.34 11.517,0.242 11.595,0.157 11.687,0.088 11.79,0.038 11.895,0.009 11.999,0 12.103,0.009 12.208,0.038 12.311,0.088 12.404,0.157 12.482,0.242 12.54,0.34 12.578,0.443 12.597,0.545 12.65,1.025 12.724,1.51 12.819,1.996 12.937,2.485 13.075,2.975 13.236,3.462 13.42,3.947 13.627,4.428 13.856,4.903 14.108,5.371 14.381,5.83 14.677,6.277 14.994,6.714 15.33,7.137 15.686,7.545 16.061,7.937 16.453,8.312 16.861,8.668 17.284,9.005' fill='black'/></svg>") center / var(--motif) no-repeat;}
.chk:checked::after{opacity:1;transform:scale(1);}
.chk:focus-visible{outline:2px solid var(--ink);outline-offset:2px;}
.chk:disabled{cursor:not-allowed;opacity:.5;}

/* ---- radio : pill choice (label wraps a hidden input + .box) ---- */
.rdo{position:relative;display:inline-flex;}
.rdo input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;}
.rdo .box{display:inline-flex;align-items:center;height:var(--ctrl-h-sm);padding:0 20px;border:1px solid var(--hair);border-radius:999px;
  font-family:var(--fdisp);font-size:var(--ty-label);letter-spacing:var(--ty-track);color:var(--ink);background:var(--paper);transition:border-color .18s var(--e1),background .18s var(--e1),color .18s var(--e1);}
.rdo:hover .box{border-color:var(--ink);}
.rdo input:checked + .box{background:var(--ink);color:#fff;border-color:var(--ink);}
.rdo input:focus-visible + .box{outline:2px solid var(--ink);outline-offset:2px;}

/* ---- segmented control (single-select button row) ---- */
.seg{display:flex;flex-wrap:wrap;gap:8px;}
.seg-btn{height:var(--ctrl-h-sm);padding:0 20px;border:1px solid var(--hair);border-radius:999px;font-family:var(--fdisp);font-size:var(--ty-label);letter-spacing:var(--ty-track);color:var(--ink);background:var(--paper);transition:border-color .18s var(--e1),background .18s var(--e1),color .18s var(--e1),box-shadow .18s var(--e1);}
.seg-btn:hover{border-color:var(--ink);}
.seg-btn.sel{background:var(--ink);color:#fff;border-color:var(--ink);}
.seg-btn:focus,.seg-btn:focus-visible{outline:none;border-color:var(--ink);box-shadow:0 0 0 1px var(--ink);}

/* ---- switch / toggle ---- */
.swt{position:relative;display:inline-flex;align-items:center;gap:12px;min-height:44px;cursor:pointer;font-size:var(--ty-label);line-height:var(--ty-label-lh);color:var(--ink);}
.swt input{position:absolute;opacity:0;width:0;height:0;}
.swt .track{position:relative;flex:none;width:46px;height:26px;border:1px solid var(--chip-b);background:var(--paper);border-radius:999px;transition:background .2s var(--e1),border-color .2s var(--e1);}
.swt .track::after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:18px;height:18px;border-radius:999px;
  background-color:var(--ink);background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><polygon points='17.284,9.005 17.721,9.321 18.17,9.617 18.628,9.89 19.095,10.143 19.57,10.371 20.051,10.578 20.536,10.762 21.024,10.923 21.513,11.062 22.002,11.179 22.488,11.274 22.973,11.349 23.453,11.402 23.556,11.42 23.658,11.459 23.756,11.517 23.841,11.595 23.911,11.687 23.96,11.79 23.99,11.895 23.998,11.999 23.99,12.103 23.96,12.208 23.911,12.311 23.841,12.404 23.756,12.482 23.658,12.54 23.556,12.578 23.453,12.597 22.973,12.65 22.488,12.724 22.002,12.819 21.513,12.937 21.024,13.075 20.536,13.236 20.051,13.42 19.57,13.627 19.095,13.856 18.628,14.108 18.17,14.381 17.721,14.677 17.284,14.994 16.861,15.33 16.453,15.686 16.061,16.061 15.686,16.453 15.33,16.861 14.994,17.284 14.677,17.721 14.381,18.17 14.108,18.628 13.856,19.096 13.627,19.571 13.42,20.051 13.236,20.536 13.075,21.024 12.937,21.513 12.819,22.002 12.724,22.488 12.65,22.973 12.597,23.453 12.578,23.556 12.54,23.658 12.482,23.756 12.404,23.841 12.311,23.911 12.208,23.961 12.103,23.99 11.999,23.998 11.895,23.99 11.79,23.961 11.687,23.911 11.595,23.841 11.517,23.756 11.459,23.658 11.42,23.556 11.402,23.453 11.349,22.973 11.274,22.488 11.179,22.002 11.062,21.513 10.923,21.024 10.762,20.536 10.578,20.051 10.371,19.571 10.143,19.096 9.89,18.628 9.617,18.17 9.321,17.721 9.005,17.284 8.668,16.861 8.312,16.453 7.937,16.061 7.545,15.686 7.137,15.33 6.714,14.994 6.277,14.677 5.83,14.381 5.371,14.108 4.903,13.856 4.428,13.627 3.947,13.42 3.462,13.236 2.975,13.075 2.485,12.937 1.996,12.819 1.51,12.724 1.025,12.65 0.545,12.597 0.443,12.578 0.34,12.54 0.242,12.482 0.157,12.404 0.088,12.311 0.038,12.208 0.009,12.103 0,11.999 0.009,11.895 0.038,11.79 0.088,11.687 0.157,11.595 0.242,11.517 0.34,11.459 0.443,11.42 0.545,11.402 1.025,11.349 1.51,11.274 1.996,11.179 2.485,11.062 2.975,10.923 3.462,10.762 3.947,10.578 4.428,10.371 4.903,10.143 5.371,9.89 5.83,9.617 6.277,9.321 6.714,9.005 7.137,8.668 7.545,8.312 7.937,7.937 8.312,7.545 8.668,7.137 9.005,6.714 9.321,6.277 9.617,5.83 9.89,5.371 10.143,4.903 10.371,4.428 10.578,3.947 10.762,3.462 10.923,2.975 11.062,2.485 11.179,1.996 11.274,1.51 11.349,1.025 11.402,0.545 11.42,0.443 11.459,0.34 11.517,0.242 11.595,0.157 11.687,0.088 11.79,0.038 11.895,0.009 11.999,0 12.103,0.009 12.208,0.038 12.311,0.088 12.404,0.157 12.482,0.242 12.54,0.34 12.578,0.443 12.597,0.545 12.65,1.025 12.724,1.51 12.819,1.996 12.937,2.485 13.075,2.975 13.236,3.462 13.42,3.947 13.627,4.428 13.856,4.903 14.108,5.371 14.381,5.83 14.677,6.277 14.994,6.714 15.33,7.137 15.686,7.545 16.061,7.937 16.453,8.312 16.861,8.668 17.284,9.005' fill='%23121212'/></svg>");background-repeat:no-repeat;background-position:center;background-size:0;
  transition:transform .4s var(--e1),background-color .25s var(--e1),background-size .2s var(--e1);}
.swt input:checked + .track{background:var(--ink);border-color:var(--ink);}
/* ON: knob becomes paper + rolls (translate + rotate); the ink motif scales in from 0 delayed to ~55% of the roll so it appears mid-spin. */
.swt input:checked + .track::after{background-color:var(--paper);background-size:var(--motif);transform:translateX(20px) rotate(360deg);
  transition:transform .4s var(--e1),background-color .25s var(--e1),background-size .2s var(--e1) .22s;}
#site.ar .swt input:checked + .track::after{transform:translateX(-20px) rotate(-360deg);}
.swt input:focus-visible + .track{outline:2px solid var(--ink);outline-offset:2px;}
.swt input:disabled + .track{opacity:.5;}

/* ---- number stepper (unifies PDP qty, bag qty, guest count) ---- */
.stepper{display:inline-flex;align-items:center;border:1px solid var(--hair);border-radius:999px;height:var(--ctrl-h-sm);background:var(--paper);transition:border-color .18s var(--e1),box-shadow .18s var(--e1);}
.stepper:not(.spread):focus-within{outline:none;border-color:var(--ink);box-shadow:0 0 0 1px var(--ink);}
.stepper-btn{width:var(--ctrl-h-sm);height:var(--ctrl-h-sm);margin-block:-1px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);transition:opacity .2s var(--e1);}
.stepper-btn:hover{opacity:.55;}
.stepper-btn:disabled{color:var(--greige);opacity:1;cursor:default;}
.stepper-btn .ico{width:14px;height:14px;}
.stepper-btn:focus-visible{outline:2px solid var(--ink);outline-offset:-2px;}
.stepper-val{min-width:44px;text-align:center;font-size:var(--ty-label);font-variant-numeric:tabular-nums;color:var(--ink);}
input.stepper-val{width:44px;height:var(--ctrl-h-sm);margin-block:-1px;border:0;background:none;font-family:var(--fbody);-moz-appearance:textfield;padding:0;}
input.stepper-val::-webkit-outer-spin-button,input.stepper-val::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
/* spread = gapped, borderless group with a sub-labelled value (guest stepper) */
.stepper.spread{border:0;gap:14px;height:48px;background:none;}
.stepper.spread .stepper-btn{width:44px;height:44px;margin-block:0;border:1px solid var(--hair);background:var(--paper);transition:border-color .18s var(--e1),opacity .18s var(--e1);}
.stepper.spread .stepper-btn:hover:not(:disabled){border-color:var(--ink);opacity:1;}
.stepper.spread .stepper-btn:disabled{color:var(--ink);opacity:.35;}   /* concierge parity: dim by opacity, keep ink glyph */
.stepper.spread .stepper-btn .ico{width:16px;height:16px;}
.opt .stepper-btn .ico{width:15px;height:15px;}   /* PDP quantity parity: the .opt-nested stepper keeps 15px glyphs */
.stepper.spread .stepper-val{min-width:44px;font-size:var(--ty-body);}
.stepper.spread .stepper-val .sub{display:block;font-family:var(--fdisp);font-size:var(--ty-over);letter-spacing:var(--ty-track-over);text-transform:uppercase;color:var(--grey-l);margin-top:2px;}

/* ---- calendar (custom monochrome date picker) ---- */
.cal{border:1px solid var(--hair);border-radius:18px;background:var(--cream);padding:clamp(16px,2.4vw,24px);}
.cal-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;}
.cal-title{font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);color:var(--ink);}
.cal-nav{width:44px;height:44px;flex:none;border:1px solid var(--hair);border-radius:999px;background:var(--paper);display:inline-flex;align-items:center;justify-content:center;transition:border-color .18s var(--e1),opacity .18s var(--e1);}
.cal-nav:hover:not(:disabled){border-color:var(--ink);}
.cal-nav:disabled{opacity:.3;cursor:default;}
.cal-nav:focus-visible{outline:2px solid var(--ink);outline-offset:2px;}
.cal-nav .ico{width:18px;height:18px;}
.cal-dow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:8px;}
.cal-dow span{text-align:center;font-family:var(--fdisp);font-size:var(--ty-over);letter-spacing:var(--ty-track-over);text-transform:uppercase;color:var(--grey-l);}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;}
.cal-day{aspect-ratio:1/1;min-height:44px;display:inline-flex;align-items:center;justify-content:center;position:relative;font-size:var(--ty-label);color:var(--grey-l);background:transparent;border:1px solid transparent;border-radius:999px;font-variant-numeric:tabular-nums;transition:border-color .15s var(--e1),background .15s var(--e1),color .15s var(--e1);}
.cal-day.blank{visibility:hidden;}
.cal-day.off{color:var(--greige);}
.cal-day.avail{color:var(--ink);cursor:pointer;background:var(--paper);border-color:var(--hair);}
.cal-day.avail:hover{border-color:var(--ink);}
.cal-day.avail:focus-visible{outline:2px solid var(--ink);outline-offset:-2px;}
.cal-day.today::after{content:"";position:absolute;bottom:6px;inset-inline-start:50%;transform:translateX(-50%);width:14px;height:1.5px;background:var(--ink);}
#site.ar .cal-day.today::after{transform:translateX(50%);}
.cal-day.sel{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.cal-day.sel.today::after{background:var(--paper);}
@media(max-width:420px){
  .cal{padding:14px 0;border-inline:0;}
  .cnc-form .cal{width:100vw;max-width:100vw;margin-inline:calc(50% - 50vw);border-inline:0;border-radius:0;}
  .cal-head{gap:8px;margin-bottom:14px;padding-inline:6px;}
  .cal-dow,.cal-grid{grid-template-columns:repeat(7,minmax(44px,1fr));gap:2px;}
  /* The narrow calendar uses the full viewport so all seven columns keep a 44px target without
     hiding a day or widening the surrounding form. */
  .cal-day{width:100%;min-width:0;height:44px;min-height:44px;aspect-ratio:auto;}
}

/* ---- time slots (time picker) ---- */
.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
@media(max-width:560px){.slots{grid-template-columns:repeat(3,1fr);}}
@media(max-width:380px){.slots{grid-template-columns:repeat(2,1fr);}}
.slots[hidden]{display:none;}
.slot{height:46px;border:1px solid var(--hair);background:var(--paper);display:inline-flex;align-items:center;justify-content:center;font-size:var(--ty-label);color:var(--ink);font-variant-numeric:tabular-nums;border-radius:999px;transition:border-color .15s var(--e1),background .15s var(--e1),color .15s var(--e1),box-shadow .15s var(--e1);}
.slot:hover{border-color:var(--ink);}
.slot.sel{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.slot:focus,.slot:focus-visible{outline:none;border-color:var(--ink);box-shadow:0 0 0 1px var(--ink);}

/* ============================================================================
   ACCOUNT-REGISTRATION BLOCK  (accountregister) - the `reg-` form block
   A self-contained member sign-up form (blocks.js render). Reuses the unified
   .fld / .fld-lbl / .inp / .selfield / .chk / .btn kit above; only the block
   layout (narrow centred column + two-up field grid + consent + honeypot +
   status message + done state) is defined here. MONOCHROME (var(--token) only),
   RTL via logical properties. The submit handler + preview no-mutation guard
   live in views-register.js.
   ============================================================================ */
.reg-block .reg-wrap{max-width:680px;margin-inline:auto;padding-inline:var(--mx);}
.reg-head{text-align:center;margin-bottom:clamp(28px,4vw,44px);}
.reg-head .ey{margin-bottom:14px;}
.reg-head .title{margin:0;}
.reg-head .lead{margin:14px auto 0;max-width:52ch;}
.reg-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(16px,2.4vw,26px);}
.reg-grid .reg-col-full{grid-column:1 / -1;}
@media(max-width:640px){.reg-grid{grid-template-columns:1fr;}}
.reg-location-status{display:block;}
.reg-location-status.reg-location-error{color:var(--ink);}
.reg-company,.reg-optional{margin-top:clamp(8px,1.2vw,14px);padding-top:clamp(18px,2.4vw,26px);border-top:1px solid var(--hair);}
.reg-company[hidden]{display:none;}
.reg-optional-t{font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);color:var(--grey);margin-bottom:16px;}
.reg-consent{margin-top:clamp(18px,2.4vw,26px);display:flex;flex-direction:column;gap:14px;}
.reg-check{display:flex;align-items:flex-start;gap:12px;font-size:var(--ty-compact);line-height:var(--ty-compact-lh);color:var(--grey);cursor:pointer;}
.reg-check .chk{margin-top:2px;}
.reg-check a{color:var(--ink);border-bottom:1px solid var(--hair);padding-bottom:1px;}
.reg-check a:hover{border-color:var(--ink);}
/* honeypot: present for bots, visually hidden from people (not display:none, which some bots skip) */
.reg-hp{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
/* mono status = ink emphasis with a leading rule, never a red literal. Error vs success is told
   apart by layout: on error the form stays; on success it collapses (see .reg-form.is-done). */
.reg-msg{display:none;margin-top:18px;font-size:var(--ty-compact);line-height:var(--ty-compact-lh);color:var(--ink);border-inline-start:2px solid var(--ink);padding-inline-start:12px;}
.reg-msg.on{display:block;}
.reg-submit{margin-top:clamp(22px,3vw,32px);}
.reg-submit.is-busy{opacity:.6;pointer-events:none;}
/* done state: collapse the form, centre the confirmation */
.reg-form.is-done .reg-grid,.reg-form.is-done .reg-company,.reg-form.is-done .reg-optional,.reg-form.is-done .reg-consent,.reg-form.is-done .reg-submit{display:none;}
.reg-form.is-done .reg-msg{margin-top:0;text-align:center;border:0;padding:0;}

/* ============================================================================
   IMAGE-BG CONTENT COLOUR + BACKGROUND EFFECT  (W3)
   Blocks with an image background (hero, campaign, savoir, split, tiles items,
   collection hero) carry data-content + data-fx (emitted by blocks.js render()).
     data-content: light (default - white foreground) | dark (ink foreground)
     data-fx:      gradient (default - a scrim behind the text) | tint (flat
                   overlay keyed to the content colour) | none (bare image)
   DEFAULTS (light + each block's own gradient) reproduce the pre-W3 look exactly:
   the light+gradient case falls through to the block's existing .sc rule and the
   white foreground, so only dark / tint / none add overrides. MONOCHROME.
   ============================================================================ */
/* -- content colour: dark flips the over-image foreground to ink -- */
[data-content="dark"] .ey.on{color:var(--grey);}
[data-content="dark"] .in{color:var(--ink);}
[data-content="dark"] .in .h1,[data-content="dark"] .in .h2,[data-content="dark"] .in .h3{color:var(--ink);}
[data-content="dark"] .in .lead{color:var(--ink-warm);}
[data-content="dark"] .cap .h3{color:var(--ink);}
/* -- background effect (the .sc overlay element) -- */
[data-fx="none"] .sc{background:none;}
[data-fx="tint"] .sc{background:rgba(18,18,18,.42);}                 /* dark veil under light text */
[data-content="dark"][data-fx="tint"] .sc{background:rgba(255,255,255,.5);}   /* light veil under dark text */
/* gradient + dark content: a light bottom-up wash so ink text stays legible over imagery */
[data-content="dark"][data-fx="gradient"] .sc{background:linear-gradient(to top,rgba(255,255,255,.72),rgba(255,255,255,.18) 45%,transparent 66%);}
/* CTAs sitting OVER the image adopt the block's content colour too, exactly like the headline/lead,
   so a button never goes invisible on the wrong ground. Scoped to .in (hero / campaign / savoir
   over-image content); buttons on paper (statement, newsletter, PLP, etc.) are untouched.
   light content (light text over a DARK image) => light-styled buttons;
   dark content  (dark text over a LIGHT image) => dark-styled buttons. */
[data-content="light"] .in .btn:not(.out):not(.glass){background:#fff;border-color:#fff;color:var(--ink);}
[data-content="light"] .in .btn.out{color:#fff;border-color:rgba(255,255,255,.6);}
[data-content="light"] .in .btn.out:hover{background:#fff;border-color:#fff;color:var(--ink);opacity:1;}
[data-content="dark"] .in .btn.glass{background:rgba(255,255,255,.45);border-color:rgba(0,0,0,.12);color:var(--ink);}
[data-content="dark"] .in .btn.glass:hover{background:rgba(255,255,255,.72);}
[data-content="dark"] .in .btn.abtn.glass{color:var(--ink);}
/* split has no over-image text; the effect simply tints its image column (default fx=none = today) */
.split .imgcol .sc{position:absolute;inset:0;z-index:1;}
.split .imgcol{overflow:hidden;}

/* ===================== Website Editor live-preview affordances =====================
   Active ONLY when the storefront runs inside the editor iframe (#site.is-preview,
   set by the ?preview=1 bridge in app-core.js). Never affects public visitors.
   The SELECTION outline reads var(--accent): store.css stays fully MONOCHROME (its
   fallback is --ink), and the editor forwards the LIVE admin-kit --accent (fb-ui.css)
   into this same-origin document (editor.js pvApplyAccent) so the outline matches the
   chrome and follows a kit accent change. No storefront file hardcodes the accent. */
#site.is-preview .reveal{opacity:1 !important;transform:none !important;}
#site.is-preview #view > section[data-fbb]{position:relative;cursor:pointer;}
#site.is-preview #view > section[data-fbb]::after{content:"";position:absolute;inset:0;pointer-events:none;outline:0 solid var(--accent,var(--ink));outline-offset:-2px;transition:outline-width .12s;z-index:5;}
#site.is-preview #view > section[data-fbb]:hover::after{outline-width:2px;outline-style:dashed;outline-color:color-mix(in srgb,var(--accent,var(--ink)) 55%,transparent);}
#site.is-preview #view > section[data-fbb].fbb-sel::after{outline-width:2px;outline-style:solid;outline-color:var(--accent,var(--ink));}
#site.is-preview .fbb-empty{min-height:66vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;color:var(--grey);padding:0 var(--mx);}
#site.is-preview .fbb-empty .disp{font-family:var(--fdisp);font-size:var(--ty-h-sm);line-height:var(--ty-h-sm-lh);color:var(--ink);}
#site.is-preview .fbb-empty p{max-width:40ch;}
/* hover a tree row -> dashed outline on the matching section (editor -> preview hover sync) */
#site.is-preview #view > section[data-fbb].fbb-hover::after{outline-width:2px;outline-style:dashed;outline-color:color-mix(in srgb,var(--accent,var(--ink)) 55%,transparent);}
/* inline canvas action bar on the selected block (preview-only affordance; posts back to the editor) */
#site.is-preview .fbb-bar{position:absolute;top:10px;inset-inline-end:10px;z-index:90;display:flex;gap:2px;background:rgba(18,18,18,.38);border:1px solid rgba(255,255,255,.32);border-radius:999px;padding:3px;box-shadow:0 10px 30px rgba(0,0,0,.24);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);}
#site.is-preview .fbb-bar button{width:28px;height:28px;padding:0;border:0;border-radius:999px;background:transparent;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;}
#site.is-preview .fbb-bar button:hover{background:rgba(255,255,255,.2);}
#site.is-preview .fbb-bar .ico{width:15px;height:15px;}
/* hidden blocks: dimmed + labelled in the editor preview (omitted entirely on the live site) */
#site.is-preview #view > section[data-fbb].fbb-hidden{opacity:.4;}
#site.is-preview #view > section[data-fbb].fbb-hidden::before{content:"Hidden";position:absolute;top:10px;inset-inline-start:10px;z-index:7;background:rgba(18,18,18,.85);color:#fff;font-family:var(--fbody);font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:4px 9px;border-radius:999px;pointer-events:none;}

/* ============================================================================
   B2 NEW SECTION TYPES + C4 LAYOUT OPTIONS  (block-composed, MONOCHROME)
   New Section types (gallery / testimonial / press strip / size guide / product
   spotlight / video) and the alignment / aspect / spacing knobs on existing
   sections. Every C4 default is an ABSENT data-* attribute, so existing saved
   pages render byte-for-byte as before; only a NON-default owner choice adds an
   override here. Tokens only (var(--...)); #fff/#000 + rgba() are house neutrals.
   ============================================================================ */

/* ---- shared block structures: owned here so every registry block is complete in store.css ---- */
.cnc-exp-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.cnc-exp{padding:clamp(30px,4vw,46px) clamp(16px,2vw,26px);text-align:center;border-inline-start:1px solid var(--hair-soft);}
.cnc-exp:first-child{border-inline-start:0;}
.cnc-exp .ico{width:26px;height:26px;color:var(--ink);margin:0 auto 16px;}
.cnc-exp .lab{font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);color:var(--ink);margin-bottom:8px;}
.cnc-exp .ln{font-size:var(--ty-compact);color:var(--grey);line-height:var(--ty-compact-lh);max-width:22ch;margin-inline:auto;}
@media(max-width:820px){
  .cnc-exp-grid{grid-template-columns:1fr 1fr;}
  .cnc-exp:nth-child(odd){border-inline-start:0;}
  .cnc-exp:nth-child(n+3){border-top:1px solid var(--hair-soft);}
}
@media(max-width:440px){
  .cnc-exp-grid{grid-template-columns:1fr;}
  .cnc-exp{border-inline-start:0;border-top:1px solid var(--hair-soft);}
  .cnc-exp:first-child{border-top:0;}
}
.cnc-salons{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,3vw,44px);}
.cnc-salons:where(.one){grid-template-columns:min(460px,100%);justify-content:center;}
.cnc-salon .pv{aspect-ratio:4/5;background:var(--card-grad);overflow:hidden;}
.cnc-salon .pv img{width:100%;height:100%;object-fit:cover;}
.cnc-salon .nm{font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);color:var(--ink);margin:20px 0 12px;}
.cnc-salon .addr{font-size:var(--ty-compact);color:var(--grey);line-height:var(--ty-compact-lh);}
.cnc-salon .addr [class~="note"]{color:var(--grey-l);}
.cnc-salon .links{margin-top:14px;display:flex;flex-wrap:wrap;gap:10px 22px;}
.cnc-salon .links a{font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);color:var(--ink);display:inline-flex;align-items:center;gap:8px;padding-bottom:2px;border-bottom:1px solid var(--ink);transition:gap .25s var(--e1);}
.cnc-salon .links a:hover{gap:13px;}
.cnc-salon .links a .ico{width:14px;height:14px;}
@media(max-width:700px){.cnc-salons{grid-template-columns:1fr;gap:40px;}}

/* ---- gallery: editorial image grid or swipe rail with captions ---- */
.fb-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.4vw,18px);margin-top:clamp(24px,3vw,40px);}
.fb-gal[data-cols="2"]{grid-template-columns:repeat(2,1fr);}
.fb-gal[data-cols="4"]{grid-template-columns:repeat(4,1fr);}
@media(max-width:820px){.fb-gal[data-cols="4"]{grid-template-columns:repeat(2,1fr);}}
@media(max-width:700px){.fb-gal,.fb-gal[data-cols="2"]{grid-template-columns:repeat(2,1fr);}}
.fb-gal-it{display:block;color:inherit;}
.fb-gal-fr{display:block;aspect-ratio:4/5;background:var(--card-grad);background-size:cover;background-position:center;overflow:hidden;transition:opacity .3s var(--e1);}
[data-aspect="square"] .fb-gal-fr{aspect-ratio:1/1;}
[data-aspect="landscape"] .fb-gal-fr{aspect-ratio:4/3;}
a.fb-gal-it:hover .fb-gal-fr{opacity:.9;}
.fb-gal-cap{display:block;font-size:var(--ty-compact);line-height:var(--ty-compact-lh);color:var(--grey);margin-top:10px;unicode-bidi:plaintext;}
.rail.fb-gal-rail>*{flex-basis:clamp(220px,24vw,300px);}

/* ---- testimonial: quote base (.qband) + an attribution row with a round portrait ---- */
.fb-testi .fb-testi-by{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:26px;}
.fb-testi-pv{width:52px;height:52px;flex:none;border-radius:999px;background:var(--card-grad);background-size:cover;background-position:center;}
.fb-testi-meta{display:flex;flex-direction:column;gap:3px;text-align:start;}
.fb-testi-name{font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);color:var(--ink);}
.fb-testi-role{font-size:var(--ty-help);line-height:var(--ty-help-lh);color:var(--grey);unicode-bidi:plaintext;}

/* ---- press strip: monochrome row of logos (grayscale) or short pull-quotes ---- */
.fb-presswrap{text-align:center;}
.fb-press-h{display:block;margin-bottom:clamp(22px,3vw,34px);}
.fb-press{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(24px,4vw,56px);}
.fb-press-it{display:inline-flex;align-items:center;color:var(--ink);transition:opacity .2s var(--e1);}
a.fb-press-it:hover{opacity:.6;}
.fb-press-logo{max-height:44px;width:auto;filter:grayscale(1);opacity:.72;transition:opacity .2s var(--e1);}
a.fb-press-it:hover .fb-press-logo{opacity:1;}
.fb-press-txt{font-family:var(--fdisp);font-size:var(--ty-body);line-height:var(--ty-body-lh);letter-spacing:var(--ty-track);color:var(--ink);}
/* Persisted `left` is a legacy settings value. It means logical start so RTL mirrors correctly. */
.fb-presswrap[data-align="left"]{text-align:start;}
.fb-presswrap[data-align="left"] .fb-press{justify-content:start;}
.fb-presswrap[data-tone="color"] .fb-press-logo{filter:grayscale(1);opacity:.72;}

/* ---- size guide: how-to-measure intro over a scrollable monochrome table ---- */
.fb-sizeguide{min-width:0;}
.fb-sizeguide-intro{max-width:62ch;margin:0 0 clamp(22px,3vw,32px);}
.fb-sizeguide-intro p{margin:0 0 1em;} .fb-sizeguide-intro p:last-child{margin-bottom:0;}
.fb-sizeguide-tbl{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.fb-sizeguide-tbl table{width:100%;border-collapse:collapse;min-width:360px;font-variant-numeric:tabular-nums;}
.fb-sizeguide-tbl th,.fb-sizeguide-tbl td{text-align:start;padding:12px 16px;border-bottom:1px solid var(--hair);font-size:var(--ty-label);line-height:var(--ty-label-lh);color:var(--ink);}
.fb-sizeguide-tbl th{font-family:var(--fdisp);font-size:var(--ty-over);letter-spacing:var(--ty-track-over);text-transform:uppercase;color:var(--grey);font-weight:400;border-bottom-color:var(--ink);}
.fb-sizeguide-tbl tr:last-child td{border-bottom:0;}

/* ---- product spotlight: the .split shell + a price line and CTA row ---- */
.fb-spot .txtcol .pprice{font-size:var(--ty-label);line-height:var(--ty-label-lh);margin:6px 0 18px;font-variant-numeric:tabular-nums;}
.fb-spot .txtcol .pprice.por{font-family:var(--fdisp);font-size:var(--ty-label);letter-spacing:var(--ty-track-over);text-transform:uppercase;}
.fb-spot-cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:8px;}

/* ---- video: self-hosted mp4/webm behind the campaign .full shell ---- */
.fb-video{overflow:hidden;}
.fb-video-el{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.fb-vidplay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;width:72px;height:72px;border-radius:999px;background:var(--frost);border:1px solid var(--frost-b);backdrop-filter:blur(10px) saturate(1.1);-webkit-backdrop-filter:blur(10px) saturate(1.1);display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:background .2s var(--e1),opacity .3s var(--e1);}
.fb-vidplay:hover{background:rgba(255,255,255,.26);}
.fb-vidplay .ico{width:26px;height:26px;}
.fb-vidplay.gone{opacity:0;pointer-events:none;}
[data-content="dark"] .fb-vidplay{color:var(--ink);background:rgba(255,255,255,.45);border-color:rgba(0,0,0,.12);}

/* ---- C4: alignment / aspect / spacing (absent attribute = today's exact output) ---- */
/* Persisted `left` values are interpreted as logical start for genuine RTL mirroring. */
.stmt[data-align="left"]{text-align:start;} .stmt[data-align="left"] .in{margin-inline:0;}
.rtband[data-align="center"] .rtbody{text-align:center;}
.qband[data-align="left"]{text-align:start;} .qband[data-align="left"] .qrule,.qband[data-align="left"] .qbig{margin-inline:0;}
.hero[data-align="start"] .h1{margin-inline-end:auto;}
.hero[data-align="center"] .in{text-align:center;} .hero[data-align="center"] .h1{margin-inline:auto;}
.hero[data-align="end"] .in{text-align:end;} .hero[data-align="end"] .h1{margin-inline-start:auto;}
.hero[data-height="tall"]{height:78vh;} .hero[data-height="medium"]{height:62vh;min-height:440px;}
/* split image / text ratio (mirrored for a right-hand image so the image keeps its share) */
@media(min-width:821px){
  .split[data-ratio="60"]{grid-template-columns:3fr 2fr;}
  .split[data-ratio="40"]{grid-template-columns:2fr 3fr;}
  .split[data-side="right"][data-ratio="60"]{grid-template-columns:2fr 3fr;}
  .split[data-side="right"][data-ratio="40"]{grid-template-columns:3fr 2fr;}
}
.split[data-imgaspect="portrait"] .imgcol{min-height:0;aspect-ratio:4/5;}
.split[data-imgaspect="square"] .imgcol{min-height:0;aspect-ratio:1/1;}
.split[data-imgaspect="landscape"] .imgcol{min-height:0;aspect-ratio:4/3;}
/* tiles column count (mobile stays single-column below 821px, like the base .tiles) */
@media(min-width:821px){.tiles[data-cols="2"]{grid-template-columns:repeat(2,1fr);} .tiles[data-cols="4"]{grid-template-columns:repeat(4,1fr);}}
/* product / collection card shape per row */
.s-newrow[data-cardaspect="square"] .pcard .pv{aspect-ratio:1/1;}
[data-cardaspect="square"] .ccard .pv{aspect-ratio:1/1;}

/* ============================================================================
   NATIVE CHECKOUT (#/checkout) - DARK behind siteConfig/commerce.checkoutMode.
   Monochrome, tokens only, RTL-safe (logical properties). Reuses the bag layout
   (.bag-wrap / .bag-sum / .sum-row / .sum-total) + the field scaffold (.fld/.inp).
   All bespoke selectors are `co-`-prefixed so they never collide with the admin kit.
   ============================================================================ */
.co-secure{display:inline-flex;align-items:center;gap:6px;}
.co-secure .ico{width:12px;height:12px;}
.co-main{min-width:0;}
.co-aside{align-self:start;}
.co-registration{text-align:center;}
.co-registration-in{max-width:58ch;margin-inline:auto;}
.co-registration-ico{width:42px;height:42px;margin:0 auto 22px;color:var(--ink);}
.co-registration .ey{display:block;margin-bottom:12px;}
.co-registration .h2{text-transform:none;letter-spacing:.02em;margin-bottom:16px;}
.co-registration .lead{margin-inline:auto;}
.co-registration-actions{margin-top:28px;display:flex;flex-direction:column;align-items:center;gap:16px;}

/* form sections */
.co-sec{margin-bottom:clamp(28px,4vw,44px);}
.co-sec:last-child{margin-bottom:0;}
.co-sec-h{margin-bottom:18px;}
.co-sec-h .ey{display:block;}
.co-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(16px,2vw,22px);}
@media(max-width:560px){.co-grid2{grid-template-columns:1fr;}}
.co-location{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;align-items:center;border:1px solid var(--hair);border-radius:16px;padding:16px 18px;background:var(--cream);margin-bottom:18px;}
.co-location-title,.co-location-help,.co-location-status{display:block;}
.co-location-title{font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);color:var(--ink);}
.co-location-help,.co-location-status{font-size:var(--ty-help);line-height:var(--ty-help-lh);color:var(--grey);}
.co-location-help a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;}
.co-location-status{grid-column:1/-1;min-height:1.2em;}
.co-location-btn{white-space:nowrap;}
.co-location-btn .ico{width:15px;height:15px;}
.co-location-picker{grid-column:1/-1;border-top:1px solid var(--hair);padding-top:16px;}
.co-location-picker[hidden]{display:none;}
.co-location-map{position:relative;width:100%;height:clamp(260px,38vw,360px);overflow:hidden;border:1px solid var(--hair);border-radius:14px;background:var(--sand-l);filter:grayscale(1);}
.co-location-map[aria-busy="true"]{opacity:.65;}
.co-location-confirm{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:14px;}
.co-location-map-note{font-size:var(--ty-help);line-height:var(--ty-help-lh);color:var(--grey);margin:0;max-width:62ch;}
.co-confirm-location{white-space:nowrap;flex:none;}
.co-spl{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;}
@media(max-width:560px){.co-location{grid-template-columns:1fr;}.co-location-status,.co-location-picker{grid-column:auto;}.co-location-btn{width:100%;}.co-location-confirm{align-items:stretch;flex-direction:column;}.co-confirm-location{width:100%;}}

/* registered client band */
.co-memberbar{display:flex;align-items:center;gap:14px;padding:15px 18px;border:1px solid var(--hair);border-radius:16px;background:var(--cream);margin-bottom:clamp(24px,3.5vw,34px);}
.co-memberbar.co-mb-in{background:var(--sand-l);border-color:transparent;}
.co-mb-ico{width:22px;height:22px;flex:none;color:var(--ink);}
.co-mb-txt{display:flex;flex-direction:column;gap:2px;min-width:0;}
.co-mb-name{font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);color:var(--ink);}
.co-mb-sub{font-size:var(--ty-help);line-height:var(--ty-help-lh);color:var(--grey);}
.co-mb-act{margin-inline-start:auto;flex:none;white-space:nowrap;}
@media(max-width:560px){.co-memberbar{flex-wrap:wrap;} .co-mb-act{margin-inline-start:0;}}

/* order-summary line items (inside the .bag-sum aside) */
.co-sumlist{margin:2px 0 18px;display:flex;flex-direction:column;gap:14px;max-height:320px;overflow:auto;}
.co-sumline{display:flex;align-items:center;gap:14px;}
.co-sum-thumb{position:relative;width:56px;height:56px;flex:none;border-radius:10px;overflow:hidden;background:var(--sand-l);display:block;}
.co-sum-thumb img{width:100%;height:100%;object-fit:cover;}
.co-sum-q{position:absolute;top:-8px;inset-inline-end:-8px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--ink);color:#fff;font-family:var(--fdisp);font-size:11px;line-height:1;display:inline-flex;align-items:center;justify-content:center;}
.co-sum-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.co-sum-ey{font-family:var(--fdisp);font-size:var(--ty-over);letter-spacing:var(--ty-track-over);text-transform:uppercase;color:var(--grey);}
.co-sum-name{font-size:var(--ty-compact);line-height:var(--ty-compact-lh);color:var(--ink);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.co-sum-meta{font-size:var(--ty-help);line-height:var(--ty-help-lh);color:var(--grey);}
.co-sum-price{font-size:var(--ty-compact);line-height:var(--ty-compact-lh);font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap;flex:none;}
.co-aside .co-sum-ey,.co-aside .co-sum-meta,.co-aside .co-paynote{color:rgba(255,255,255,.68);}
.co-aside .co-sum-name,.co-aside .co-sum-price{color:var(--paper);}
.co-aside .co-sum-thumb{background:rgba(255,255,255,.12);}
.co-aside .co-sum-q{background:var(--paper);color:var(--ink);}

/* place-order CTA + note */
.co-submit{margin-top:20px;}
.co-submit[aria-busy="true"]{opacity:.6;pointer-events:none;}
.co-paynote{font-size:var(--ty-help);line-height:var(--ty-help-lh);color:var(--grey);margin-top:14px;}
.co-consent-wrap{border:1px solid var(--hair);border-radius:16px;padding:16px 18px;background:var(--cream);}
.co-consent{display:flex;align-items:flex-start;gap:12px;font-size:var(--ty-compact);line-height:var(--ty-compact-lh);color:var(--ink);}
.co-consent .chk{flex:none;margin-top:2px;}
.co-consent a{text-decoration:underline;text-underline-offset:2px;}
.co-consent-wrap .fld-err{display:none;margin:9px 0 0 36px;}
.co-consent-wrap.err{border-color:var(--ink);}
.co-consent-wrap.err .fld-err{display:block;}
.co-address-same{padding:14px 16px;border:1px solid var(--hair);border-radius:14px;background:var(--cream);}
.co-billing-fields{display:flex;flex-direction:column;gap:14px;margin-top:18px;}
.co-billing-fields[hidden]{display:none;}

/* post-submit state (manual handoff / payment-next) */
.co-state{text-align:center;}
.co-state .in{max-width:60ch;margin-inline:auto;}
.co-state-ico{display:inline-flex;width:56px;height:56px;align-items:center;justify-content:center;border-radius:999px;background:var(--sand-l);margin:0 auto 22px;}
.co-state-ico .ico{width:26px;height:26px;color:var(--ink);}
.co-state .ey{display:block;margin-bottom:12px;}
.co-state .h2{text-transform:none;letter-spacing:.02em;margin:0 0 14px;}
.co-state .lead{margin:0 auto 30px;}
.co-ref{display:inline-block;font-family:var(--fdisp);font-size:var(--ty-over);line-height:var(--ty-over-lh);letter-spacing:var(--ty-track-over);text-transform:uppercase;color:var(--grey);border:1px solid var(--hair);border-radius:999px;padding:7px 16px;margin-bottom:22px;}
.co-steps{list-style:none;margin:0 auto 34px;padding:0;max-width:520px;text-align:start;display:flex;flex-direction:column;gap:18px;}
.co-step{display:flex;gap:16px;align-items:flex-start;}
.co-step-n{flex:none;width:32px;height:32px;border-radius:999px;border:1px solid var(--hair);display:inline-flex;align-items:center;justify-content:center;font-family:var(--fdisp);font-size:var(--ty-label);color:var(--ink);}
.co-step h4{font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);color:var(--ink);margin:5px 0 4px;}
.co-step p{font-size:var(--ty-compact);line-height:var(--ty-compact-lh);color:var(--grey);margin:0;}

/* ============================================================
   IN-STORE PRIVATE MEMBERSHIP PORTAL (views-account.js)
   Monochrome, store.css tokens only, RTL-safe. All classes are
   uniquely `acc-` prefixed (cross-kit governance). NO fb-ui.css.
   ============================================================ */
/* Account portal container. Named .acc-wrap: the bare .acc class is the PDP accordion component
   (store.css above), and sharing the name leaked the accordion's top hairline into every
   account/login screen. */
.acc-wrap{max-width:1040px;margin-inline:auto;padding-block:clamp(28px,6vw,64px);}
.acc-busy{opacity:.6;pointer-events:none;}

/* ---- boot / loading ---- */
.acc-load{min-height:46vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:var(--grey);}
.acc-load-sm{min-height:180px;}
.acc-load-motif .ico,.acc-load>.ico{width:40px;height:40px;color:var(--ink);animation:acc-pulse 1.5s var(--e1) infinite;}
.acc-load-txt{font-family:var(--fdisp);font-size:var(--ty-over);line-height:var(--ty-over-lh);letter-spacing:var(--ty-track-over);text-transform:uppercase;}
@keyframes acc-pulse{0%,100%{opacity:.35;transform:scale(.9);}50%{opacity:1;transform:scale(1);}}

/* ---- message screen (no-client / error) ---- */
.acc-msg{max-width:44ch;margin-inline:auto;text-align:center;padding-block:clamp(30px,7vw,70px);}
.acc-msg-ico .ico,.acc-msg-ico>.ico{width:34px;height:34px;color:var(--ink);}
.acc-msg h1{text-transform:none;letter-spacing:.02em;margin:18px 0 12px;}
.acc-msg-acts{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:26px;}

/* ---- unified sign-in and registration ---- */
.acc-auth{--acc-story-image:none;--acc-story-position:50% 50%;display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);grid-template-rows:auto 1fr;grid-template-areas:"story panel" "features panel";min-height:640px;border:1px solid var(--hair);border-radius:26px;overflow:hidden;background:var(--paper);box-shadow:0 24px 70px rgba(18,18,18,.08);}
.acc-auth-signup{grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);}
.acc-auth-story{--acc-story-pad-block:clamp(28px,4.5vw,58px);--acc-story-pad-inline:clamp(28px,4.5vw,58px);grid-area:story;background:var(--ink);color:#fff;padding:var(--acc-story-pad-block) var(--acc-story-pad-inline) 0;display:flex;flex-direction:column;justify-content:flex-start;}
.acc-auth-story-media{width:calc(100% + var(--acc-story-pad-inline) + var(--acc-story-pad-inline));aspect-ratio:1;background:var(--sand-l) var(--acc-story-image) var(--acc-story-position)/cover no-repeat;margin:calc(0px - var(--acc-story-pad-block)) calc(0px - var(--acc-story-pad-inline)) clamp(24px,3vw,34px);}
.acc-auth-story>.ey{color:rgba(255,255,255,.64);margin-bottom:18px;}
.acc-auth-story>.h2{color:#fff;text-transform:none;letter-spacing:.01em;max-width:12ch;margin:0;}
.acc-auth-story>.lead{color:rgba(255,255,255,.72);max-width:38ch;margin:18px 0 0;}
.acc-auth-features{grid-area:features;background:var(--ink);display:flex;flex-direction:column;gap:20px;padding:clamp(36px,5vw,62px) clamp(28px,4.5vw,58px) clamp(28px,4.5vw,58px);}
.acc-auth-feature{display:flex;align-items:flex-start;gap:14px;padding-top:20px;border-top:1px solid rgba(255,255,255,.16);}
.acc-auth-feature>.ico{width:22px;height:22px;color:#fff;flex:none;margin-top:2px;}
.acc-auth-feature h3{font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);font-weight:400;color:#fff;margin:0 0 5px;}
.acc-auth-feature p{font-size:var(--ty-help);line-height:var(--ty-help-lh);color:rgba(255,255,255,.62);margin:0;}
.acc-auth-panel{grid-area:panel;padding:clamp(28px,4.5vw,58px);display:flex;flex-direction:column;justify-content:flex-start;min-width:0;}
.acc-auth-switch{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:var(--sand-l);border:1px solid var(--hair-soft);border-radius:999px;padding:3px;margin-bottom:clamp(30px,4vw,44px);}
.acc-auth-switch button,.acc-auth-switch>span{height:var(--ctrl-h-sm);border-radius:999px;font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);color:var(--grey);transition:background .18s var(--e1),color .18s var(--e1);display:inline-flex;align-items:center;justify-content:center;}
.acc-auth-switch button.sel,.acc-auth-switch>span.sel{background:var(--ink);color:#fff;}
.acc-auth-panel-head{margin-bottom:24px;}
.acc-auth-panel-head>.ey{display:block;margin-bottom:10px;}
.acc-auth-panel-head>.h3{text-transform:none;letter-spacing:.01em;margin:0;}
.acc-auth-panel-head>p{font-size:var(--ty-compact);line-height:var(--ty-compact-lh);color:var(--grey);margin:12px 0 0;max-width:48ch;}
.acc-methods{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--hair);margin-bottom:24px;}
.acc-methods button,.acc-methods>span{height:var(--ctrl-h-sm);display:inline-flex;align-items:center;justify-content:center;gap:9px;color:var(--grey);font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);border-bottom:2px solid transparent;margin-bottom:-1px;}
.acc-methods button.sel,.acc-methods>span.sel{color:var(--ink);border-color:var(--ink);}
.acc-methods .ico{width:16px;height:16px;}
.acc-step[hidden]{display:none;}
.acc-step .fld{margin-bottom:18px;}
.acc-auth-help{font-size:var(--ty-help);line-height:var(--ty-help-lh);color:var(--grey);text-align:center;margin:16px 0 0;}
.acc-auth-help a{color:var(--ink);border-bottom:1px solid var(--hair);}
.acc-auth-alert{font-size:var(--ty-help);line-height:var(--ty-help-lh);color:var(--ink);background:var(--sand-l);border-inline-start:2px solid var(--ink);padding:12px 14px;margin:0 0 20px;}
.acc-phone-control{height:var(--ctrl-h);display:flex;align-items:stretch;border:1px solid var(--hair);border-radius:999px;overflow:hidden;background:var(--paper);transition:border-color .15s var(--e1),box-shadow .15s var(--e1);}
.acc-phone-control:focus-within{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink);}
.acc-phone-prefix{display:inline-flex;align-items:center;padding-inline:16px;border-inline-end:1px solid var(--hair);font-family:var(--fdisp);font-size:var(--ty-label);color:var(--ink);}
.acc-phone-control .inp.bare{height:100%;border:0;box-shadow:none;background:transparent;min-width:0;padding-inline-start:18px;}
.acc-signup-host .reg-block{padding:0;background:transparent;}
.acc-signup-host .reg-wrap{max-width:none;padding:0;}
.acc-signup-host .reg-head{text-align:start;margin-bottom:30px;}
.acc-signup-host .reg-head .lead{margin-inline:0;max-width:58ch;}
.acc-reg-next{display:flex;justify-content:center;margin-top:22px;}
@media(max-width:900px){
  .acc-auth,.acc-auth-signup{grid-template-columns:1fr;grid-template-rows:auto auto auto;grid-template-areas:"story" "panel" "features";}
  .acc-auth-story{--acc-story-pad-block:clamp(30px,6vw,48px);--acc-story-pad-inline:clamp(30px,6vw,48px);padding:var(--acc-story-pad-block) var(--acc-story-pad-inline);}
  .acc-auth-story>.h2{max-width:18ch;}
  .acc-auth-features{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:clamp(30px,6vw,48px);}
  .acc-auth-feature{flex-direction:column;}
}
@media(max-width:640px){
  .acc-wrap.contain{padding-inline:14px;}
  .acc-auth{border-radius:20px;}
  .acc-auth-story{--acc-story-pad-block:26px;--acc-story-pad-inline:22px;padding:var(--acc-story-pad-block) var(--acc-story-pad-inline);}
  .acc-auth-panel,.acc-auth-features{padding:26px 22px;}
  .acc-auth-features{grid-template-columns:1fr;gap:12px;}
  .acc-auth-feature{flex-direction:row;padding-top:14px;}
  .acc-auth-panel{justify-content:flex-start;}
  .acc-auth-switch{margin-bottom:28px;}
}

/* ---- shared email and phone OTP helpers ---- */
.acc-login{max-width:440px;margin-inline:auto;padding-block:clamp(20px,4vw,44px);}
.acc-login-head{text-align:center;margin-bottom:clamp(24px,4vw,38px);}
.acc-login-head .ey{display:block;margin-bottom:12px;}
.acc-login-head .h2{text-transform:none;letter-spacing:.02em;}
.acc-login-lead{font-size:var(--ty-compact);line-height:var(--ty-compact-lh);color:var(--grey);text-align:center;margin:0 0 22px;}
.acc-hint{display:none;}
.acc-hint.show{display:block;}
.acc-login-alt{text-align:center;font-size:var(--ty-compact);line-height:var(--ty-compact-lh);color:var(--grey);margin-top:22px;}
.acc-login-alt .lcta{margin-inline-start:6px;}
.acc-recaptcha{position:fixed;bottom:0;inset-inline-start:0;}
.acc-linkbtn{font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);color:var(--grey);padding:6px 0;transition:color .2s;}
.acc-linkbtn:hover{color:var(--ink);} .acc-linkbtn:disabled{opacity:.5;cursor:default;}
.acc-otp-to{font-weight:400;color:var(--ink);}
.acc-otp-boxes{display:flex;gap:clamp(6px,1.2vw,10px);justify-content:center;margin:8px 0 22px;}
.acc-otp-box{width:clamp(40px,9vw,48px);height:clamp(48px,11vw,56px);text-align:center;font-family:var(--fdisp);font-size:22px;color:var(--ink);
  border:1px solid var(--hair);background:var(--paper);border-radius:14px;transition:border-color .18s var(--e1),box-shadow .18s var(--e1);-webkit-appearance:none;appearance:none;}
.acc-otp-box:focus,.acc-otp-box:focus-visible{outline:none;border-color:var(--ink);box-shadow:0 0 0 1px var(--ink);}
.acc-otp-box.acc-filled{border-color:var(--ink);}
.acc-otp-boxes.acc-otp-err .acc-otp-box{border-color:var(--ink);animation:acc-shake .4s var(--e1);}
@keyframes acc-shake{0%,100%{transform:translateX(0);}20%,60%{transform:translateX(-5px);}40%,80%{transform:translateX(5px);}}
.acc-otp-foot{display:flex;justify-content:space-between;align-items:center;margin-top:16px;gap:12px;}
.acc-otp-actions{display:flex;align-items:center;gap:14px;min-width:0;}
.acc-otp-help{text-decoration:underline;text-underline-offset:3px;white-space:nowrap;}

/* ---- account shell: top + tabs ---- */
.acc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px;}
.acc-top .ey{display:block;margin-bottom:8px;}
.acc-top-h{text-transform:none;letter-spacing:.02em;}
.acc-signout{display:inline-flex;align-items:center;gap:8px;font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);color:var(--grey);transition:color .2s;flex:none;}
.acc-signout:hover{color:var(--ink);} .acc-signout .ico{width:15px;height:15px;}
.acc-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:6px;border-bottom:1px solid var(--hair);margin-bottom:clamp(22px,4vw,36px);}
.acc-tabs::-webkit-scrollbar{display:none;}
.acc-tab{display:inline-flex;align-items:center;gap:8px;flex:none;height:var(--ctrl-h-sm);padding:0 18px;border:1px solid var(--hair);border-radius:999px;
  font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);color:var(--grey);background:var(--paper);
  transition:border-color .2s var(--e1),color .2s var(--e1),background .2s var(--e1);}
.acc-tab .ico{width:16px;height:16px;}
.acc-tab:hover{border-color:var(--ink);color:var(--ink);}
.acc-tab.acc-on{background:var(--ink);color:#fff;border-color:var(--ink);}

/* ---- section scaffolding ---- */
.acc-sec{display:flex;flex-direction:column;gap:clamp(26px,4vw,40px);}
.acc-block{display:flex;flex-direction:column;gap:16px;}
.acc-block>.ey{display:block;}
.acc-sec-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.acc-count{font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);color:var(--grey);}
.acc-filters{display:flex;gap:10px;flex-wrap:wrap;} .acc-filters .selfield{width:auto;min-width:150px;}
.acc-tagpill{display:inline-flex;align-items:center;font-family:var(--fdisp);font-size:var(--ty-over);letter-spacing:var(--ty-track-over);text-transform:uppercase;color:var(--ink);border:1px solid var(--chip-b);background:var(--chip);border-radius:999px;padding:5px 11px;line-height:1;}
.acc-lbl{font-family:var(--fdisp);font-size:var(--ty-over);line-height:var(--ty-over-lh);letter-spacing:var(--ty-track-over);text-transform:uppercase;color:var(--grey);}
.acc-empty{text-align:center;max-width:46ch;margin-inline:auto;padding-block:clamp(30px,6vw,64px);display:flex;flex-direction:column;align-items:center;gap:14px;}
.acc-empty-ico{width:32px;height:32px;color:var(--ink);}
.acc-empty h2{text-transform:none;letter-spacing:.02em;}
.acc-empty .lead{color:var(--grey);}
.acc-empty-inline{padding:26px;border:1px solid var(--hair-soft);border-radius:16px;color:var(--grey);font-size:var(--ty-compact);line-height:var(--ty-compact-lh);text-align:center;}
.acc-flash{animation:acc-flash 1.6s var(--e1);}
@keyframes acc-flash{0%,100%{box-shadow:0 0 0 0 rgba(18,18,18,0);}25%{box-shadow:0 0 0 2px var(--ink);}}

/* ---- membership: featured carousel ---- */
.acc-featured .acc-feat-rail>*{flex-basis:min(88vw,560px);}
.acc-feat{border:1px solid var(--hair);border-radius:18px;overflow:hidden;background:var(--cream);}
.acc-feat-fig{position:relative;aspect-ratio:16/9;background:var(--sand-l);}
.acc-feat-media{width:100%;height:100%;object-fit:cover;}
.acc-feat-copy{padding:clamp(18px,3vw,26px);display:flex;flex-direction:column;gap:10px;}
.acc-feat-h{font-size:var(--ty-h-sm);line-height:var(--ty-h-sm-lh);letter-spacing:var(--ty-track);}
.acc-feat-cap{font-size:var(--ty-compact);line-height:var(--ty-compact-lh);color:var(--grey);margin:0;}
.acc-feat-cta{margin-top:4px;width:fit-content;}

/* ---- membership: card + status ---- */
.acc-card-wrap{display:flex;flex-direction:column;gap:18px;align-items:center;}
.acc-card{position:relative;width:min(100%,420px);aspect-ratio:1.586/1;border-radius:18px;overflow:hidden;background:var(--card-grad);box-shadow:0 20px 50px rgba(18,18,18,.14);}
.acc-card-bg{width:100%;height:100%;object-fit:cover;}
.acc-card-info{position:absolute;inset-inline:20px;bottom:16px;display:flex;flex-direction:column;gap:3px;color:#fff;pointer-events:none;text-shadow:0 1px 8px rgba(0,0,0,.5);}
.acc-card-name{font-family:var(--fdisp);font-size:var(--ty-body);line-height:var(--ty-body-lh);letter-spacing:var(--ty-track-over);text-transform:uppercase;}
.acc-card-meta{display:flex;gap:14px;flex-wrap:wrap;font-family:var(--fdisp);font-size:var(--ty-over);line-height:var(--ty-over-lh);letter-spacing:var(--ty-track-over);text-transform:uppercase;opacity:.9;}
.acc-status{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:center;}
.acc-chip{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--hair);border-radius:999px;padding:9px 16px;font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);color:var(--ink);}
.acc-chip .ico{width:16px;height:16px;}
.acc-points{display:inline-flex;align-items:baseline;gap:8px;}
.acc-points-n{font-family:var(--fdisp);font-size:var(--ty-h-sm);line-height:var(--ty-h-sm-lh);letter-spacing:var(--ty-track);color:var(--ink);}
.acc-points-l{font-family:var(--fdisp);font-size:var(--ty-over);line-height:var(--ty-over-lh);letter-spacing:var(--ty-track-over);text-transform:uppercase;color:var(--grey);}
.acc-wallet{display:flex;justify-content:center;min-height:0;}
.acc-wallet-badge{display:inline-flex;transition:opacity .2s;} .acc-wallet-badge:hover{opacity:.82;}
.acc-wallet-img{height:44px;width:auto;}

/* ---- membership: tier progress ---- */
.acc-progress{border:1px solid var(--hair-soft);border-radius:16px;padding:clamp(16px,2.4vw,22px);display:flex;flex-direction:column;gap:12px;}
.acc-progress-row{display:flex;justify-content:space-between;gap:12px;}
.acc-progress-bar{height:6px;border-radius:999px;background:var(--sand);overflow:hidden;}
.acc-progress-bar>span{display:block;height:100%;background:var(--ink);border-radius:999px;transition:width .5s var(--e1);}
.acc-progress-note{font-size:var(--ty-compact);line-height:var(--ty-compact-lh);color:var(--grey);margin:0;}
.acc-cta-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;}

/* ---- membership: tier deck ---- */
.acc-deck-rail>*{flex-basis:clamp(220px,24vw,270px);}
.acc-deck{border:1px solid var(--hair);border-radius:16px;overflow:hidden;background:var(--paper);display:flex;flex-direction:column;}
.acc-deck.acc-on{border-color:var(--ink);}
.acc-deck-art{aspect-ratio:1.586/1;background:var(--card-grad);} .acc-deck-art img{width:100%;height:100%;object-fit:cover;}
.acc-deck-body{padding:16px 16px 18px;display:flex;flex-direction:column;gap:8px;}
.acc-deck-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.acc-deck-name{font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);}
.acc-deck-you{font-family:var(--fdisp);font-size:var(--ty-over);letter-spacing:var(--ty-track-over);text-transform:uppercase;color:#fff;background:var(--ink);border-radius:999px;padding:3px 8px;}
.acc-deck-min{font-family:var(--fdisp);font-size:var(--ty-over);line-height:var(--ty-over-lh);letter-spacing:var(--ty-track-over);text-transform:uppercase;color:var(--grey);}
.acc-deck-perks{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;}
.acc-deck-perks li{position:relative;padding-inline-start:16px;font-size:var(--ty-help);line-height:var(--ty-help-lh);color:var(--ink-warm);}
.acc-deck-perks li::before{content:"";position:absolute;inset-inline-start:0;top:8px;width:5px;height:5px;border-radius:999px;background:var(--ink);}

/* ---- membership: how you earn ---- */
.acc-earn-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--hair-soft);border:1px solid var(--hair-soft);border-radius:16px;overflow:hidden;}
@media(max-width:680px){.acc-earn-grid{grid-template-columns:1fr;}}
.acc-earn-card{background:var(--paper);padding:22px 18px;display:flex;flex-direction:column;gap:9px;}
.acc-earn-card .ico{width:22px;height:22px;color:var(--ink);}
.acc-earn-card h4{font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);font-weight:400;margin:0;}
.acc-earn-card p{font-size:var(--ty-help);line-height:var(--ty-help-lh);color:var(--grey);margin:0;}

/* ---- piece grid + cards ---- */
.acc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(150px,22vw,220px),1fr));gap:clamp(12px,2vw,22px);}
.acc-piece{cursor:pointer;display:flex;flex-direction:column;gap:12px;}
.acc-piece-pv{position:relative;aspect-ratio:1/1;background:var(--sand-l);border:1px solid var(--hair-soft);border-radius:14px;overflow:hidden;}
.acc-piece-pv img{width:100%;height:100%;object-fit:contain;transition:transform .5s var(--e1);}
.acc-piece:hover .acc-piece-pv img{transform:scale(1.04);}
.acc-noimg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;} .acc-noimg .ico{width:34px;height:34px;color:var(--greige);}
.acc-piece-meta{display:flex;flex-direction:column;gap:4px;}
.acc-piece-name{font-size:var(--ty-label);color:var(--ink);line-height:var(--ty-label-lh);}
.acc-piece-ref{font-family:var(--fdisp);font-size:var(--ty-over);line-height:var(--ty-over-lh);letter-spacing:var(--ty-track-over);color:var(--grey);}
.acc-piece-price{font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);color:var(--ink);margin-top:2px;}

/* ---- piece detail sheet ---- */
.acc-pd .acc-sheet-body,.acc-sheet-wide .acc-sheet-body{padding:0;}
.acc-pd-gal{background:var(--sand-l);}
.acc-pd-rail>*{flex-basis:100%;}
.acc-pd-slide{aspect-ratio:1/1;} .acc-pd-slide img{width:100%;height:100%;object-fit:contain;}
.acc-pd-noimg{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;} .acc-pd-noimg .ico{width:48px;height:48px;color:var(--greige);}
.acc-pd-info{padding:clamp(22px,3vw,34px);display:flex;flex-direction:column;gap:14px;}
.acc-pd-info .ey{display:block;}
.acc-pd-name{text-transform:none;letter-spacing:.01em;}
.acc-pd-ref{font-family:var(--fdisp);font-size:var(--ty-over);line-height:var(--ty-over-lh);letter-spacing:var(--ty-track-over);color:var(--grey);}
.acc-pd-price{font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);color:var(--ink);display:flex;align-items:baseline;gap:10px;}
.acc-pd-vat{font-size:var(--ty-over);line-height:var(--ty-over-lh);letter-spacing:var(--ty-track-over);text-transform:uppercase;color:var(--grey);}
.acc-pd-specs{margin:4px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;}
.acc-pd-specs>div{display:flex;flex-direction:column;gap:3px;border-top:1px solid var(--hair-soft);padding-top:8px;}
.acc-pd-specs dt{font-family:var(--fdisp);font-size:var(--ty-over);line-height:var(--ty-over-lh);letter-spacing:var(--ty-track-over);text-transform:uppercase;color:var(--grey);margin:0;}
.acc-pd-specs dd{margin:0;font-size:var(--ty-compact);line-height:var(--ty-compact-lh);color:var(--ink);}
.acc-pd-coll{border-top:1px solid var(--hair-soft);padding-top:16px;display:flex;flex-direction:column;gap:8px;}
.acc-pd-coll h4{font-family:var(--fdisp);font-size:var(--ty-body);line-height:var(--ty-body-lh);font-weight:400;letter-spacing:var(--ty-track);margin:0;}
.acc-pd-coll-tag{font-size:var(--ty-compact);line-height:var(--ty-compact-lh);font-style:italic;color:var(--ink-warm);margin:0;}
.acc-pd-coll-brief{font-size:var(--ty-compact);line-height:var(--ty-compact-lh);color:var(--grey);margin:0;}
.acc-pd-acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px;}

/* ---- 3D viewer + booking iframes ---- */
.acc-3d-host{position:relative;width:100%;height:100%;min-height:70vh;background:var(--ink);}
.acc-3d-note{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--fdisp);font-size:var(--ty-over);letter-spacing:var(--ty-track-over);text-transform:uppercase;}
.acc-3d-frame,.acc-book-frame{width:100%;height:100%;min-height:70vh;border:0;display:block;}
.acc-3d-fail{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#fff;padding:24px;text-align:center;}
.acc-book-frame{background:var(--paper);}

/* ---- visits ---- */
.acc-visits{display:flex;flex-direction:column;gap:14px;}
.acc-visit{border:1px solid var(--hair);border-radius:16px;padding:clamp(16px,2.4vw,22px);display:flex;flex-direction:column;gap:10px;}
.acc-visit-top{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.acc-visit-when{display:inline-flex;align-items:center;gap:8px;font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);color:var(--ink);}
.acc-visit-when .ico{width:16px;height:16px;color:var(--grey);}
.acc-visit-loc{display:inline-flex;align-items:center;gap:8px;font-size:var(--ty-compact);line-height:var(--ty-compact-lh);color:var(--grey);margin:0;} .acc-visit-loc .ico{width:15px;height:15px;}
.acc-visit-line{font-size:var(--ty-compact);line-height:var(--ty-compact-lh);color:var(--ink-warm);margin:0;}
.acc-visit-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}

/* ---- orders ---- */
.acc-orders{display:flex;flex-direction:column;gap:14px;}
.acc-order{border:1px solid var(--hair);border-radius:16px;padding:clamp(16px,2.4vw,22px);display:flex;flex-direction:column;gap:10px;}
.acc-order-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;}
.acc-order-num{display:block;font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);color:var(--ink);}
.acc-order-src{display:block;font-size:var(--ty-help);line-height:var(--ty-help-lh);color:var(--grey);margin-top:3px;}
.acc-order-total{font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);color:var(--ink);white-space:nowrap;}
.acc-order-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px;}
.acc-order-items li{font-size:var(--ty-compact);line-height:var(--ty-compact-lh);color:var(--ink-warm);padding-inline-start:14px;position:relative;}
.acc-order-items li::before{content:"";position:absolute;inset-inline-start:0;top:8px;width:4px;height:4px;border-radius:999px;background:var(--greige);}
.acc-order-fulfilment{font-size:var(--ty-help);line-height:var(--ty-help-lh);color:var(--grey);margin:0;}
.acc-order-timeline{list-style:none;margin:2px 0 0;padding:12px 0 0;border-top:1px solid var(--hair);display:flex;flex-direction:column;gap:7px;}
.acc-order-timeline li{display:flex;justify-content:space-between;gap:12px;padding-inline-start:14px;position:relative;font-size:var(--ty-help);line-height:var(--ty-help-lh);color:var(--ink-warm);}
.acc-order-timeline li::before{content:"";position:absolute;inset-inline-start:0;top:7px;width:5px;height:5px;border-radius:999px;background:var(--greige);}
.acc-order-timeline time{color:var(--grey);white-space:nowrap;}
.acc-order-links{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
.acc-order-pts{display:inline-flex;align-items:center;gap:8px;font-size:var(--ty-help);line-height:var(--ty-help-lh);color:var(--grey);margin:0;} .acc-order-pts .ico{width:15px;height:15px;}
.acc-order-pdf{display:inline-flex;align-items:center;gap:8px;font-family:var(--fdisp);font-size:var(--ty-label);line-height:var(--ty-label-lh);letter-spacing:var(--ty-track);color:var(--ink);width:fit-content;padding-bottom:3px;border-bottom:1px solid var(--ink);transition:gap .25s var(--e1);}
.acc-order-pdf:hover{gap:12px;} .acc-order-pdf .ico{width:16px;height:16px;}

/* ---- more ---- */
.acc-more{gap:clamp(28px,4vw,42px);}
.acc-unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--ink);color:#fff;font-size:10px;line-height:18px;margin-inline-start:6px;}
.acc-reqs{display:flex;flex-direction:column;gap:2px;background:var(--hair-soft);border:1px solid var(--hair-soft);border-radius:14px;overflow:hidden;}
.acc-req{display:flex;align-items:center;gap:12px;width:100%;text-align:start;background:var(--paper);padding:15px 16px;transition:background .18s var(--e1);}
.acc-req:hover{background:var(--sand-l);}
.acc-req-main{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0;}
.acc-req-subj{font-size:var(--ty-label);line-height:var(--ty-label-lh);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.acc-req.acc-unread .acc-req-subj{font-weight:400;}
.acc-req-sub{font-size:var(--ty-help);line-height:var(--ty-help-lh);color:var(--grey);}
.acc-req-arrow{width:16px;height:16px;color:var(--grey);flex:none;}
.acc-req.acc-unread{position:relative;}
.acc-req.acc-unread::before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:2px;background:var(--ink);}
.acc-toggles{display:flex;flex-direction:column;gap:2px;background:var(--hair-soft);border:1px solid var(--hair-soft);border-radius:14px;overflow:hidden;}
.acc-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--paper);padding:16px;}
.acc-toggle-copy{display:flex;flex-direction:column;gap:3px;}
.acc-toggle-t{font-size:var(--ty-label);line-height:var(--ty-label-lh);color:var(--ink);}
.acc-toggle-s{font-size:var(--ty-help);line-height:var(--ty-help-lh);color:var(--grey);}
.acc-links{display:flex;flex-direction:column;gap:2px;background:var(--hair-soft);border:1px solid var(--hair-soft);border-radius:14px;overflow:hidden;}
.acc-link{display:flex;align-items:center;gap:12px;background:var(--paper);padding:14px 16px;font-size:var(--ty-label);line-height:var(--ty-label-lh);color:var(--ink);transition:background .18s var(--e1);}
.acc-link:hover{background:var(--sand-l);} .acc-link .ico{width:18px;height:18px;color:var(--grey);flex:none;}
.acc-lang{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:6px;}
.acc-langseg{flex-wrap:nowrap;}
.acc-danger{flex-direction:row;flex-wrap:wrap;gap:20px;align-items:center;border-top:1px solid var(--hair);padding-top:24px;}
.acc-signout-lg{display:inline-flex;align-items:center;gap:9px;} .acc-signout-lg .ico{width:16px;height:16px;}
.acc-delete{color:var(--grey);text-decoration:underline;text-underline-offset:3px;} .acc-delete:hover{color:var(--ink);}
.acc-legal-note{font-size:var(--ty-help);line-height:var(--ty-help-lh);color:var(--grey);margin:0;}

/* ---- request detail + service form (inside a sheet) ---- */
.acc-rd,.acc-sr,.acc-del{display:flex;flex-direction:column;gap:14px;}
.acc-rd .ey{display:block;} .acc-rd h2{text-transform:none;letter-spacing:.01em;}
.acc-rd-piece{display:inline-flex;align-items:center;gap:8px;font-size:var(--ty-compact);line-height:var(--ty-compact-lh);color:var(--ink-warm);margin:0;} .acc-rd-piece .ico{width:16px;height:16px;color:var(--grey);}
.acc-rd-notes{font-size:var(--ty-compact);line-height:var(--ty-compact-lh);color:var(--ink-warm);margin:0;padding:14px;background:var(--sand-l);border-radius:12px;}
.acc-rd-thread{display:flex;flex-direction:column;gap:12px;}
.acc-msg{border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:5px;max-width:88%;}
.acc-msg-house{background:var(--sand-l);align-self:flex-start;}
.acc-msg-me{background:var(--ink);color:#fff;align-self:flex-end;}
.acc-msg-from{font-family:var(--fdisp);font-size:var(--ty-over);letter-spacing:var(--ty-track-over);text-transform:uppercase;opacity:.7;}
.acc-msg p{margin:0;font-size:var(--ty-compact);line-height:var(--ty-compact-lh);}
.acc-msg-when{font-size:var(--ty-over);opacity:.6;}
.acc-rd-empty{font-size:var(--ty-compact);line-height:var(--ty-compact-lh);color:var(--grey);margin:0;}
.acc-rd-foot{font-size:var(--ty-help);line-height:var(--ty-help-lh);color:var(--grey);margin:0;border-top:1px solid var(--hair-soft);padding-top:14px;}
.acc-sr .ey{display:block;} .acc-sr h2{text-transform:none;letter-spacing:.01em;margin-bottom:4px;}
.acc-sr-piece{font-size:var(--ty-compact);line-height:var(--ty-compact-lh);color:var(--ink);margin:0;}
.acc-sr-pref{display:flex;gap:8px;flex-wrap:wrap;}

/* ---- delete confirm ---- */
.acc-del{text-align:center;align-items:center;}
.acc-del h2{text-transform:none;letter-spacing:.02em;}
.acc-del .lead{color:var(--grey);}
.acc-del-acts{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:8px;}

/* ---- sheets / modal overlays ---- */
body.acc-locked{overflow:hidden;}
.acc-sheet{position:fixed;inset:0;z-index:140;display:flex;align-items:flex-end;justify-content:center;opacity:0;visibility:hidden;transition:opacity .26s var(--e1),visibility .26s;}
.acc-sheet.acc-open{opacity:1;visibility:visible;}
@media(min-width:721px){.acc-sheet{align-items:center;padding:24px;}}
.acc-sheet-scrim{position:absolute;inset:0;background:rgba(18,18,18,.5);}
.acc-sheet-card{position:relative;z-index:1;width:100%;max-width:560px;max-height:92vh;overflow-y:auto;background:var(--paper);border-radius:22px 22px 0 0;
  transform:translateY(24px);transition:transform .3s var(--e1);-webkit-overflow-scrolling:touch;}
@media(min-width:721px){.acc-sheet-card{border-radius:20px;transform:translateY(14px) scale(.99);}}
.acc-sheet.acc-open .acc-sheet-card{transform:none;}
.acc-sheet-wide .acc-sheet-card{max-width:820px;}
.acc-sheet-full .acc-sheet-card{max-width:1024px;max-height:96vh;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;}
.acc-sheet-full .acc-sheet-body{flex:1;display:flex;min-height:0;}
.acc-sheet-full .acc-sheet-body>*{width:100%;}
.acc-sheet-x{position:absolute;z-index:3;top:12px;inset-inline-end:12px;width:40px;height:40px;border-radius:999px;background:var(--paper);border:1px solid var(--hair);
  display:inline-flex;align-items:center;justify-content:center;color:var(--ink);transition:background .18s var(--e1),border-color .18s var(--e1);}
.acc-sheet-x:hover{background:var(--sand-l);border-color:var(--ink);} .acc-sheet-x .ico{width:18px;height:18px;}
.acc-sheet-body{padding:clamp(22px,3.4vw,34px);}

@media(max-width:720px){
  .acc-top{flex-direction:column;gap:10px;}
  .acc-pd-specs{grid-template-columns:1fr;}
}
#site.ar .acc-otp-boxes{flex-direction:row-reverse;}
#site.ar .acc-msg-me{align-self:flex-start;} #site.ar .acc-msg-house{align-self:flex-end;}

/* Editorial page type */
#view.editorial-page{--ed-bg-color:#f5f5f3;--ed-bg-layer:none;--ed-text-main:var(--ink);--ed-text-secondary:#666;--ed-icon-main:var(--ink);--ed-icon-secondary:var(--white);--ed-button-main:var(--ink);--ed-button-secondary:var(--white);--ed-button-main-on:var(--white);--ed-button-secondary-on:var(--ink);color:var(--ed-text-main);background-color:var(--ed-bg-color);background-image:var(--ed-bg-layer);background-position:center;background-size:cover;background-repeat:no-repeat;overflow:hidden;}
.ed-block{--ed-text:var(--ed-text-main);--ed-icon:var(--ed-icon-main);position:relative;color:var(--ed-text);font-family:var(--fbody);}
.ed-block[data-text-tone="secondary"]{--ed-text:var(--ed-text-secondary);}
.ed-block[data-icon-tone="secondary"]{--ed-icon:var(--ed-icon-secondary);}
.ed-block .ico{color:var(--ed-icon);}
.ed-display{font-family:var(--fdisp);font-weight:400;letter-spacing:var(--ty-track);}
.ed-kicker{display:block;font-size:var(--ty-over);line-height:var(--ty-over-lh);font-weight:400;letter-spacing:var(--ty-track-over);text-transform:uppercase;}
.ed-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.ed-cta{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:52px;margin-top:28px;padding:12px 26px;background:var(--ed-button-main);color:var(--ed-button-main-on);font-size:var(--ty-body);line-height:var(--ty-body-lh);font-weight:400;letter-spacing:var(--ty-track);transition:transform .3s var(--e1),filter .3s var(--e1);}
.ed-cta[data-button-tone="secondary"]{background:var(--ed-button-secondary);color:var(--ed-button-secondary-on);}
.ed-cta:hover{transform:translateY(-2px);filter:brightness(.94);}
.ed-cta .ico{width:17px;height:17px;color:currentColor;}
.ed-round{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid color-mix(in srgb,var(--ed-icon) 26%,transparent);border-radius:50%;color:var(--ed-icon);background:color-mix(in srgb,var(--ed-bg-color) 66%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .25s var(--e1),background .25s var(--e1);}
.ed-round:not(:disabled):hover{transform:scale(1.06);background:var(--ed-bg-color);}
.ed-round:disabled{opacity:.28;cursor:default;}
.ed-round .ico{width:20px;height:20px;}
.ed-section-head{max-width:1080px;margin:0 auto;text-align:center;opacity:var(--ed-copy-opacity,1);transform:translate3d(0,var(--ed-copy-y,0),0);will-change:opacity,transform;}
.ed-section-head h2{font-size:var(--ty-h-ed);line-height:var(--ty-h-ed-lh);}
.ed-section-head p{max-width:620px;margin:28px auto 0;font-size:var(--ty-body);line-height:var(--ty-body-lh);color:var(--ed-text-secondary);}

.ed-hero{height:100svh;min-height:680px;overflow:hidden;background:var(--ed-bg-color);}
.ed-hero[data-height="tall"]{height:86svh;min-height:640px;}.ed-hero[data-height="medium"]{height:70svh;min-height:560px;}
.ed-hero-viewport{height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;perspective:1200px;overscroll-behavior-inline:contain;direction:ltr;}
.ed-hero-viewport::-webkit-scrollbar{display:none;}
.ed-hero-track{display:flex;height:100%;}
#site.ar .ed-hero-track{direction:rtl;}
#site.ar .ed-hero-scene{direction:rtl;}
.ed-hero-scene{position:relative;flex:0 0 100%;height:100%;overflow:hidden;scroll-snap-align:start;transform-style:preserve-3d;transform:perspective(1200px) rotateY(var(--ed-scene-rotate,0deg)) translateZ(var(--ed-scene-depth,0)) scale(var(--ed-scene-scale,1));transform-origin:center;will-change:transform;}
.ed-hero-media,.ed-hero-shade{position:absolute;inset:0;}
.ed-hero-media{background-color:var(--ed-bg-color);background-image:var(--ed-bg-layer);background-size:cover;background-position:center;transform:scale(1.04);}
.ed-hero-shade{background:linear-gradient(90deg,color-mix(in srgb,var(--ed-bg-color) 74%,transparent),transparent 64%),linear-gradient(180deg,transparent 55%,color-mix(in srgb,var(--ed-bg-color) 28%,transparent));}
#site.ar .ed-hero-shade{background:linear-gradient(270deg,color-mix(in srgb,var(--ed-bg-color) 74%,transparent),transparent 64%),linear-gradient(180deg,transparent 55%,color-mix(in srgb,var(--ed-bg-color) 28%,transparent));}
.ed-hero-copy{position:absolute;z-index:2;inset-inline-start:clamp(28px,8vw,128px);inset-block-start:50%;width:min(520px,42vw);transform:translateY(-50%);}
.ed-hero-copy h1,.ed-hero-copy h2{margin:30px 0 20px;font-size:var(--ty-h-sec);line-height:var(--ty-h-sec-lh);}
.ed-hero-copy p{max-width:430px;font-size:var(--ty-body);line-height:var(--ty-body-lh);color:var(--ed-text-secondary);}
.ed-hero-controls{position:absolute;z-index:4;inset-inline-end:clamp(24px,5vw,72px);inset-block-end:38px;display:flex;align-items:center;gap:18px;}
.ed-hero-controls>span,.ed-products-controls>span{min-width:64px;text-align:center;font-size:var(--ty-over);line-height:var(--ty-over-lh);letter-spacing:var(--ty-track-over);}
.ed-scroll-cue{position:absolute;z-index:3;left:50%;inset-block-end:0;display:grid;justify-items:center;gap:10px;min-height:76px;color:var(--ed-text);font-size:var(--ty-over);line-height:var(--ty-over-lh);letter-spacing:var(--ty-track-over);text-transform:uppercase;transform:translateX(-50%);}
.ed-scroll-cue i{width:1px;height:38px;background:currentColor;}

.ed-statement{display:grid;place-items:start center;min-height:820px;padding:clamp(100px,10vw,160px) var(--mx);overflow:hidden;}
.ed-statement[data-height="tall"]{min-height:1120px;}.ed-statement[data-height="full"]{min-height:130svh;}
.ed-statement-in{position:relative;z-index:2;max-width:1120px;text-align:center;}
.ed-statement-title,.ed-film-title{font-family:var(--fdisp);font-size:var(--ty-h-ed);font-weight:400;letter-spacing:var(--ty-track);line-height:var(--ty-h-ed-lh);}
.ed-char{color:var(--ed-text);opacity:var(--ed-char-opacity,.12);will-change:opacity;}
#site.ar .ed-statement-title,#site.ar .ed-film-title{line-height:var(--ty-h-ed-lh);}
.ed-statement-body{max-width:620px;margin:34px auto 0;color:var(--ed-text-secondary);font-size:var(--ty-body);line-height:var(--ty-body-lh);}
.ed-statement-media{position:absolute;z-index:1;inset-block-end:-9%;left:50%;width:min(700px,58vw);margin:0;transform:translate3d(-50%,var(--ed-float-y,100px),0) scale(var(--ed-float-scale,.84)) rotate(var(--ed-float-rotate,-2deg));filter:drop-shadow(0 34px 32px rgba(0,0,0,.12));will-change:transform;}
.ed-statement-media[data-position="left"]{left:34%;}.ed-statement-media[data-position="right"]{left:66%;}
.ed-statement-media img{width:100%;height:auto;}

.ed-collage{padding:clamp(110px,11vw,180px) var(--mx);}
.ed-collage-grid{margin-top:clamp(70px,9vw,130px);}
.ed-collage[data-layout="collage"] .ed-collage-grid{position:relative;height:clamp(1200px,132vw,1880px);}
.ed-collage-item{margin:0;overflow:hidden;}
.ed-collage-item .ed-collage-media{display:block;width:100%;height:112%;margin-top:-6%;background-color:color-mix(in srgb,var(--ed-bg-color) 78%,#888);background-size:cover;background-position:center;transform:translate3d(0,var(--ed-parallax-y,0),0) scale(1.035);transition:transform .9s var(--e1);}
.ed-collage-item:hover .ed-collage-media{transform:translate3d(0,var(--ed-parallax-y,0),0) scale(1.065);}
.ed-collage-item figcaption{padding-top:12px;font-size:var(--ty-help);line-height:var(--ty-help-lh);letter-spacing:var(--ty-track);color:var(--ed-text-secondary);}
.ed-collage[data-layout="collage"] .ed-collage-item{position:absolute;}
.ed-collage[data-layout="collage"] .ed-collage-item:nth-child(1){inset-inline-start:5%;top:10%;width:30%;height:29%;}
.ed-collage[data-layout="collage"] .ed-collage-item:nth-child(2){inset-inline-start:51%;top:0;width:34%;height:32%;}
.ed-collage[data-layout="collage"] .ed-collage-item:nth-child(3){inset-inline-end:1%;top:36%;width:24%;height:25%;}
.ed-collage[data-layout="collage"] .ed-collage-item:nth-child(4){inset-inline-start:9%;top:61%;width:30%;height:29%;}
.ed-collage[data-layout="collage"] .ed-collage-item:nth-child(5){inset-inline-start:42%;top:47%;width:28%;height:28%;}
.ed-collage[data-layout="collage"] .ed-collage-item:nth-child(6){inset-inline-start:31%;top:28%;width:21%;height:20%;}
.ed-collage[data-layout="collage"] .ed-collage-item:nth-child(n+7){display:none;}
.ed-collage[data-layout="rail"] .ed-collage-grid{display:flex;gap:clamp(18px,3vw,40px);overflow-x:auto;padding-bottom:20px;scroll-snap-type:x mandatory;scrollbar-width:none;}
.ed-collage[data-layout="rail"] .ed-collage-grid::-webkit-scrollbar{display:none;}
.ed-collage[data-layout="rail"] .ed-collage-item{flex:0 0 min(72vw,640px);height:min(78vw,760px);scroll-snap-align:center;}

.ed-materials{display:grid;grid-template-columns:minmax(0,62%) minmax(0,38%);min-height:100svh;}
.ed-material-stage{position:relative;min-height:100svh;overflow:hidden;background:var(--ed-button-main);}
.ed-material-visual{position:absolute;inset:-4% 0;opacity:0;background-size:cover;background-position:center;transform:scale(1.055);transition:opacity .7s ease,transform 1s var(--e1);}
.ed-material-visual.is-active{opacity:1;transform:scale(1.01);}
.ed-material-nav{position:absolute;z-index:3;inset-inline:clamp(18px,3vw,48px);inset-block-end:30px;display:flex;align-items:center;justify-content:center;gap:18px;}
.ed-material-dots{display:flex;align-items:center;gap:10px;}.ed-material-dots button{width:28px;height:2px;background:color-mix(in srgb,var(--ed-icon) 32%,transparent);}.ed-material-dots button.is-active{background:var(--ed-icon);}
.ed-material-content{position:relative;min-height:100svh;background:color-mix(in srgb,var(--ed-bg-color) 88%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}
.ed-material-copy{position:absolute;inset-inline:clamp(34px,5vw,80px);inset-block-start:50%;opacity:0;pointer-events:none;transform:translate3d(0,calc(-50% + var(--ed-copy-y,20px)),0);transition:opacity .45s ease,transform .6s var(--e1);}
.ed-material-copy.is-active{opacity:var(--ed-copy-opacity,1);pointer-events:auto;}
.ed-material-copy h3{margin:26px 0;font-size:var(--ty-h-ed);line-height:var(--ty-h-ed-lh);}
.ed-material-copy p{max-width:440px;color:var(--ed-text-secondary);font-size:var(--ty-body);line-height:var(--ty-body-lh);}

.ed-film{padding:clamp(110px,11vw,180px) var(--mx);}
.ed-film-title{max-width:1120px;margin:0 auto;text-align:center;}
.ed-film-frame{position:relative;width:min(1180px,92vw);height:min(68vw,760px);margin:clamp(80px,9vw,130px) auto 0;overflow:hidden;}
.ed-film-media{width:100%;height:112%;margin-top:-6%;object-fit:cover;background:color-mix(in srgb,var(--ed-bg-color) 78%,#777);transform:translate3d(0,var(--ed-parallax-y,0),0) scale(1.035);}
.ed-film-control{position:absolute;z-index:2;inset-inline-end:24px;inset-block-end:24px;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;color:var(--ed-icon);background:color-mix(in srgb,var(--ed-bg-color) 70%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.ed-film-control .ico{grid-area:1/1;width:22px;height:22px;}.ed-film-control .ed-pause{display:none;}.ed-film.is-playing .ed-film-control .ed-play{display:none;}.ed-film.is-playing .ed-film-control .ed-pause{display:block;}
.ed-film-frame figcaption{position:absolute;inset-inline-start:18px;inset-block-end:16px;color:var(--ed-text-secondary);font-size:var(--ty-over);line-height:var(--ty-over-lh);letter-spacing:var(--ty-track-over);}

.ed-craft{padding:clamp(110px,11vw,180px) var(--mx);overflow:hidden;}
.ed-craft-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(10,minmax(34px,5vw));gap:clamp(12px,2vw,28px);max-width:1260px;margin:clamp(80px,9vw,130px) auto 0;}
.ed-craft-item{margin:0;overflow:hidden;transform:translate3d(var(--ed-craft-x,0),var(--ed-craft-y,0),0);will-change:transform;}
.ed-craft-item span{display:block;width:100%;height:100%;background-size:cover;background-position:center;transition:transform .9s var(--e1);}.ed-craft-item:hover span{transform:scale(1.035);}
.ed-craft-item:nth-child(1){grid-column:1/6;grid-row:1/7;}.ed-craft-item:nth-child(2){grid-column:7/13;grid-row:2/6;}.ed-craft-item:nth-child(3){grid-column:2/7;grid-row:7/11;}.ed-craft-item:nth-child(4){grid-column:8/12;grid-row:6/11;}
.ed-craft-item figcaption{padding-top:10px;font-size:var(--ty-over);line-height:var(--ty-over-lh);color:var(--ed-text-secondary);}

.ed-products{padding:clamp(100px,10vw,160px) 0;}
.ed-products-head{display:flex;align-items:end;justify-content:space-between;gap:40px;padding:0 var(--mx);opacity:var(--ed-copy-opacity,1);transform:translate3d(0,var(--ed-copy-y,0),0);}
.ed-products-head h2{margin-top:24px;font-size:var(--ty-h-ed);line-height:var(--ty-h-ed-lh);}
.ed-products-controls{display:flex;align-items:center;gap:16px;}
.ed-product-viewport{margin-top:clamp(50px,6vw,86px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;direction:ltr;}.ed-product-viewport::-webkit-scrollbar{display:none;}
.ed-product-track{display:flex;width:max-content;min-width:100%;padding-inline:var(--mx);}
#site.ar .ed-product-track{direction:rtl;}
#site.ar .ed-product-track>.pcard{direction:rtl;}
.ed-product-track>.pcard{flex:0 0 min(34vw,470px);scroll-snap-align:start;}
.ed-product-track>.pcard .pv{aspect-ratio:1/1.08;}
.ed-products>.ed-cta{margin-inline-start:var(--mx);}

.ed-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid color-mix(in srgb,var(--ed-text) 18%,transparent);}
.ed-service{display:flex;min-height:620px;padding:clamp(54px,7vw,110px);flex-direction:column;align-items:center;justify-content:center;text-align:center;border-inline-end:1px solid color-mix(in srgb,var(--ed-text) 18%,transparent);opacity:var(--ed-copy-opacity,1);transform:translate3d(0,var(--ed-copy-y,0),0);}
.ed-service:last-child{border-inline-end:0;}.ed-service>.ico{width:42px;height:42px;margin-bottom:48px;}.ed-service h2{max-width:520px;font-size:var(--ty-h-ed);line-height:var(--ty-h-ed-lh);}.ed-service p{max-width:480px;margin-top:25px;color:var(--ed-text-secondary);font-size:var(--ty-body);line-height:var(--ty-body-lh);}

@media(max-width:900px){
  #view.editorial-page{background-attachment:scroll;}
  .ed-hero-copy{inset-inline:28px;width:calc(100% - 56px);}.ed-hero-controls{inset-inline-end:22px;inset-block-end:26px;}.ed-scroll-cue{display:none;}
  .ed-statement{min-height:900px;}.ed-statement-media{width:88vw;}.ed-statement-media[data-position="left"],.ed-statement-media[data-position="right"]{left:50%;}
  .ed-collage[data-layout="collage"] .ed-collage-grid{height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}.ed-collage[data-layout="collage"] .ed-collage-item{position:relative!important;inset:auto!important;width:auto!important;height:55vw!important;display:block!important;}.ed-collage[data-layout="collage"] .ed-collage-item:nth-child(3n+2){margin-top:70px;}
  .ed-materials{grid-template-columns:1fr;}.ed-material-stage{min-height:68svh;}.ed-material-content{min-height:58svh;}.ed-material-copy{inset-inline:var(--mx);}
  .ed-craft-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:none;}.ed-craft-item:nth-child(n){grid-column:auto;grid-row:auto;height:62vw;}.ed-craft-item:nth-child(even){margin-top:60px;}
  .ed-products-head{align-items:start;flex-direction:column;}.ed-products-controls{align-self:flex-end;}.ed-product-track>.pcard{flex-basis:72vw;}
  .ed-services{grid-template-columns:1fr;}.ed-service{min-height:520px;border-inline-end:0;border-bottom:1px solid color-mix(in srgb,var(--ed-text) 18%,transparent);}.ed-service:last-child{border-bottom:0;}
}
@media(max-width:560px){
  .ed-round{width:42px;height:42px;}.ed-hero-controls>span,.ed-products-controls>span{min-width:52px;}.ed-section-head{text-align:start;}.ed-section-head p{margin-inline:0;}
  .ed-collage[data-layout="collage"] .ed-collage-grid{grid-template-columns:1fr;}.ed-collage[data-layout="collage"] .ed-collage-item{height:112vw!important;margin-top:0!important;}.ed-film-frame{width:100%;height:74svh;}.ed-product-track>.pcard{flex-basis:84vw;}
}
@media(prefers-reduced-motion:reduce){
  .ed-char{opacity:1!important;}.ed-hero-scene,.ed-statement-media,.ed-collage-media,.ed-film-media,.ed-craft-item,.ed-section-head,.ed-products-head,.ed-service{transform:none!important;transition:none!important;}.ed-material-visual{transition:opacity .2s ease;}
}
