/* ============================================================================
   Lordwell Retail v2, design system
   Light / fresh · paper + coral + grounding green · Outfit (display) + Inter (text)
   Variable NAMES are preserved from the old dark theme so every selector keeps
   working; only their VALUES are remapped to the approved light palette.
   ========================================================================== */
:root{
  /* approved light tokens (canonical names) */
  --paper:#FAF7F1; --sand:#F0EADF; --tint:#F6F2EA;
  /* Lordwell brand blues (exact hex): aqua #4ECDC5 = the accent/fill colour,
     navy #262E38 = the dark bands. Aqua is featured across accents/icons;
     navy carries the top strip, footer and trade band. */
  --green:#262E38; --green-deep:#1B212A;   /* navy bands (legacy var name kept) */
  --navy:#262E38; --navy-2:#2F3947;        /* brand navy + a lift for gradients */
  --aqua:#4ECDC5; --aqua-deep:#2FB3AA;     /* brand aqua + a readable-on-white shade */
  --teal-bright:#4ECDC5;                    /* brand aqua — fills/dots/accents */
  --coralD:#E14B4B; --line-line:#E7DFD2;

  /* legacy names remapped to the light palette so old selectors keep working */
  --bg:#FAF7F1;            /* page background = paper */
  --surface:#ffffff;        /* cards / panels = white */
  --surface-2:#F6F2EA;      /* tinted surface = tint */
  --surface-3:#F0EADF;      /* deeper tint = sand */
  --ink:#262E38;            /* primary text + headings = brand navy */
  --ink-2:#262E38;          /* brand navy for strips / footers / sticky bars */
  --line:#E7DFD2; --line-soft:#EFE8DC;
  --text:#262E38; --muted:#5E5E57; --muted-2:#7C7768;   /* both darkened for WCAG AA on cream: --muted #5E5E57 (4.7:1), --muted-2 #7C7768 (~4.5:1) — was #9A958A (2.8:1, failed) */
  --coral:#FF6B6B; --coral-dark:#E14B4B; --coral-soft:#FFEDEA;
  --teal:#179E94; --teal-soft:#E2F7F4;
  --off-white:#F6F2EA; --white:#fff;
  --ok:#1C8E60; --ok-soft:#E7F4EC; --warn:#B97D14; --warn-soft:#FBEFD6;
  --radius:16px; --radius-sm:12px; --radius-pill:100px;
  --shadow:0 1px 2px rgba(35,41,43,.06),0 14px 34px -22px rgba(35,41,43,.45);
  --shadow-lg:0 24px 60px -24px rgba(35,41,43,.40);
  --maxw:1320px; --pad:40px;
  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --display:'Outfit',var(--font);
  --t:.18s cubic-bezier(.4,0,.2,1);
}
*{box-sizing:border-box;}
[hidden]{display:none!important;}
/* scrollbar-gutter:stable reserves the scrollbar column even while an overlay
   locks body scroll, so opening the basket drawer / mobile nav / filter sheet
   no longer jolts the whole page ~15px sideways. Safari <17.4 ignores it
   (jump remains there, gracefully); classic-scrollbar Windows gets a permanent
   gutter, an acceptable trade for zero layout shift on every add-to-basket. */
html{scroll-behavior:smooth;overflow-x:clip;scrollbar-gutter:stable;}
body{overflow-x:clip;max-width:100%;}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);
  font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;}
body.no-scroll{overflow:hidden;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:1.12;margin:0;
  letter-spacing:-.02em;color:var(--ink);}
button{font-family:inherit;}
input,select,textarea{font-family:inherit;}
.ic{display:inline-block;vertical-align:middle;flex:none;}
.ic.rot90{transform:rotate(90deg);}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);}
.section{padding:52px 0;}
.section-head{margin-bottom:24px;}
.section-head h2{font-size:1.65rem;}
.muted{color:var(--muted);}
.accent{color:var(--coral);}
.eyebrow{display:inline-flex;align-items:center;gap:7px;font-family:var(--font);
  font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--coral-dark);}
.eyebrow.coral{color:var(--coral);}
.linklike{background:none;border:none;color:var(--coral);cursor:pointer;
  font-size:.85rem;font-weight:600;padding:0;text-decoration:underline;}
.skip-link{position:absolute;left:-999px;top:0;background:var(--coral);color:var(--ink);
  padding:10px 16px;border-radius:0 0 8px 0;z-index:2000;font-weight:700;}
.skip-link:focus{left:0;}
:focus-visible{outline:2.5px solid var(--coral);outline-offset:2px;border-radius:4px;}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;
  font-family:var(--display);font-weight:700;font-size:.84rem;letter-spacing:.01em;
  border-radius:var(--radius-pill);padding:13px 24px;border:1.5px solid transparent;
  transition:background var(--t),border-color var(--t),color var(--t),transform var(--t);
  min-height:44px;white-space:nowrap;}
.btn:active{transform:translateY(1px);}
/* Navy label on the brand coral: white-on-coral is only 2.78:1 (fails WCAG AA);
   navy #262E38 on #FF6B6B is 4.94:1 and keeps the exact brand hue. Hover keeps a
   light-enough coral (brightness, not the darker coral-dark) so the label stays AA. */
.btn-coral{background:var(--coral);color:var(--ink);border-color:var(--coral);box-shadow:0 8px 20px -8px rgba(255,107,107,.55);}
.btn-coral:hover{background:var(--coral);border-color:var(--coral);transform:translateY(-1px);filter:brightness(1.04);box-shadow:0 13px 26px -8px rgba(255,107,107,.62);}
.btn-outline{background:#fff;border-color:var(--ink);color:var(--ink);}
.btn-outline:hover{border-color:var(--coral);color:var(--coral);}
.btn-ink{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.btn-ink:hover{background:#000;}
/* Full-width buttons must WRAP: .btn's nowrap on a long label (the Clubwell
   add button) is what blew the basket out past narrow phone screens. */
.btn-block{display:flex;width:100%;white-space:normal;}

/* ============================ HEADER ===================================== */
/* Announcement bar: brand navy with a faint aqua hairline + a soft aqua glow.
   Left = the live trade promises (aqua-dotted); right = utility + VAT toggle. */
.top-strip{position:relative;background:linear-gradient(100deg,var(--navy),var(--navy-2));
  color:#C6CDD6;font-size:.76rem;border-bottom:1px solid rgba(78,205,197,.22);}
.top-strip::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(420px 80px at 18% 120%,rgba(78,205,197,.12),transparent 70%);}
.top-strip-inner{position:relative;z-index:1;display:flex;justify-content:space-between;
  align-items:center;gap:20px;padding:7px 0;white-space:nowrap;}
/* Promises are a continuous ticker: the set is duplicated in markup, the track
   is width:max-content, and translateX(-50%) loops seamlessly. Overflow-clipped
   with an edge fade so it never truncates a promise mid-word. */
.top-promises{flex:1 1 auto;min-width:0;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 90%,transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 90%,transparent 100%);}
.top-marquee{display:inline-flex;width:max-content;animation:topMarq 40s linear infinite;}
.top-strip:hover .top-marquee{animation-play-state:paused;}
.top-marq-set{display:inline-flex;align-items:center;gap:14px;padding-right:14px;}
@keyframes topMarq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.top-marquee{animation:none;}}
.top-promise{display:inline-flex;align-items:center;gap:7px;color:#C6CDD6;font-weight:600;
  letter-spacing:.005em;white-space:nowrap;}
.top-promise .ic{color:var(--aqua);}
.top-promise strong{color:#fff;font-weight:700;}
.top-promise + .top-promise{padding-left:14px;border-left:1px solid rgba(255,255,255,.13);}
.top-strip .contact{display:inline-flex;align-items:center;gap:15px;}
.top-strip .contact a{display:inline-flex;align-items:center;gap:6px;color:#D6DBE2;white-space:nowrap;
  transition:color var(--t);}
.top-strip .contact a .ic{color:var(--aqua);}
.top-strip .contact a:hover{color:#fff;}
/* One accent pill (Open account) + a plain text link (Trade login), so the bar stays light */
.top-strip .trade-apply{background:var(--coral);color:#fff;border:1px solid var(--coral);
  border-radius:var(--radius-pill);padding:5px 14px;font-weight:700;}
.top-strip .trade-apply:hover{background:var(--coral-dark);border-color:var(--coral-dark);color:#fff;}
.top-strip .trade-login{color:var(--aqua);font-weight:700;}
.top-strip .trade-login:hover{color:#fff;}
/* VAT toggle that sits on the navy strip: glass pill, aqua "on" face */
.vat-toggle-strip{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.18);}
.vat-toggle-strip button{color:#C6CDD6;}
.vat-toggle-strip button.on{background:var(--aqua);color:var(--navy);}
.vat-toggle-strip button:not(.on):hover{color:#fff;}
@media(max-width:1200px){.top-promise.top-extra-2{display:none;}}
@media(max-width:1024px){.top-promise.top-extra{display:none;}}
@media(max-width:680px){.top-strip .contact a.trade-login{display:none;}}
@media(max-width:560px){.top-strip .contact a.trade-apply{display:none;}
  .top-promise + .top-promise{border-left:none;padding-left:0;}
  .top-strip-inner{gap:12px;}.top-strip .contact{gap:12px;}}
@media(max-width:360px){.top-strip .contact a[href^="tel"]{display:none;}}

/* The whole header block sticks with the promo strip tucked away above the
   viewport once you scroll (negative top = strip height, set by JS). The old
   sticky sat on .site-header INSIDE #hdr, whose box is exactly header-sized,
   so it could never travel — the header silently scrolled away on every page
   and every sub-rail looked like it was floating mid-air. */
#hdr{position:sticky;top:calc(-1 * var(--strip-h,37px));z-index:200;}
.site-header{background:var(--paper);
  border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(35,41,43,.04);}
.header-inner{display:flex;align-items:center;gap:20px;padding:16px 0;}
.brand{flex:none;display:block;}
.logo-lw{height:30px;width:auto;}
/* white wordmark variant for the green top-strip + green footer */
.logo-lw-light{filter:brightness(0) invert(1);}
.icon-btn{background:none;border:none;color:var(--ink);cursor:pointer;padding:8px;
  border-radius:10px;display:none;align-items:center;}
.icon-btn:hover{background:var(--sand);}

/* Search: a single rounded pill. Input fills it; the coral search button is the
   right-hand cap. A 4px gap + matching radii keep the two halves cleanly spaced,
   and the whole pill lifts to an aqua ring on focus. */
.header-search{position:relative;flex:0 1 460px;display:flex;align-items:stretch;
  margin-left:auto;background:#fff;border:1.5px solid var(--line);
  border-radius:var(--radius-pill);padding:3px 3px 3px 4px;gap:4px;transition:border-color var(--t),box-shadow var(--t);}
.header-search:focus-within{border-color:var(--aqua-deep);box-shadow:0 0 0 3px rgba(78,205,197,.18);}
.search-input{flex:1;background:transparent;border:none;border-radius:var(--radius-pill);
  padding:10px 6px 10px 16px;color:var(--ink);font-size:.92rem;outline:none;min-width:0;}
.search-input::placeholder{color:var(--muted);}
.search-go{border:none;background:var(--coral);color:#fff;cursor:pointer;
  border-radius:var(--radius-pill);padding:0 18px;display:flex;align-items:center;
  justify-content:center;min-width:46px;transition:background var(--t),transform var(--t);}
.search-go:hover{background:var(--coral-dark);}
.search-go:active{transform:scale(.96);}

.search-panel{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);
  z-index:300;overflow:hidden;max-height:72vh;overflow-y:auto;}
.sp-loading,.sp-empty{padding:18px;color:var(--muted);font-size:.88rem;display:flex;
  align-items:center;gap:8px;}
.sp-group{padding:13px 14px 6px;}
.sp-label{font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted-2);margin-bottom:8px;}
.sp-chip{display:inline-flex;margin:0 6px 8px 0;padding:7px 13px;border:1px solid var(--line);
  border-radius:var(--radius-pill);font-size:.8rem;font-weight:600;color:var(--muted);
  transition:border-color var(--t),color var(--t);}
.sp-chip:hover{border-color:var(--coral);color:var(--coral);}
.sp-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line-soft);
  transition:background var(--t);}
.sp-row:hover{background:var(--surface-2);}
.sp-thumb{width:44px;height:44px;object-fit:contain;mix-blend-mode:multiply;background:var(--tint);
  border-radius:9px;padding:3px;flex:none;}
.sp-meta{flex:1;min-width:0;}
.sp-name{font-weight:600;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sp-sub{font-size:.74rem;color:var(--muted);}
.sp-price{font-weight:700;font-variant-numeric:tabular-nums;font-size:.85rem;}
/* Quick-add "+" on a search-dropdown row (B1). */
.sp-add{flex:none;width:36px;height:36px;border-radius:50%;border:1.5px solid var(--ink);
  background:#fff;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;
  padding:0;transition:background var(--t),border-color var(--t),color var(--t),transform var(--t);}
.sp-add:hover{background:var(--coral);border-color:var(--coral);color:var(--ink);}
.sp-add.sp-added{background:var(--aqua);border-color:var(--aqua);color:var(--ink);animation:spPop .3s ease;}
@keyframes spPop{40%{transform:scale(1.2);}}
@media(prefers-reduced-motion:reduce){.sp-add.sp-added{animation:none;}}
.sp-all{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;
  font-weight:700;font-size:.8rem;color:var(--coral);background:var(--surface-2);}
.sp-all:hover{background:var(--surface-3);}
/* v3 dropdown: honest auto-correct note, live stock chips, keyboard highlight */
.sp-corr{padding:10px 14px 2px;font-size:.78rem;color:var(--muted);}
.sp-job{margin:10px 12px 2px;padding:12px 14px;border:1px solid rgba(78,205,197,.45);border-radius:14px;
  background:linear-gradient(120deg,rgba(78,205,197,.10),rgba(78,205,197,.03));}
.sp-job-t{font-family:var(--display);font-weight:800;font-size:.92rem;color:var(--ink);}
.sp-job-b{font-size:.8rem;color:var(--muted);margin:3px 0 8px;}
.sp-job-links{display:flex;flex-wrap:wrap;gap:6px;}
.sp-job-links .sp-chip{margin:0;}
.sp-sizes .sp-size{font-variant-numeric:tabular-nums;font-weight:700;}
.sp-swatches{display:block;}
.sp-swatch{display:inline-flex;align-items:center;gap:7px;margin:0 6px 8px 0;padding:6px 12px;
  border:1px solid var(--line);border-radius:999px;font-size:.8rem;font-weight:600;color:var(--ink);
  text-decoration:none;text-transform:capitalize;transition:border-color .15s ease,background .15s ease;}
.sp-swatch:hover,.sp-swatch.sp-active{border-color:var(--aqua-deep,#2FB3AA);background:rgba(78,205,197,.08);}
.sp-dot{width:13px;height:13px;border-radius:50%;flex:none;}
.sp-dot.lt{box-shadow:inset 0 0 0 1px rgba(38,46,56,.25);}
.sp-mini .sp-thumb{width:34px;height:34px;}
.sp-corr strong{color:var(--ink);}
.sp-stock{display:inline-flex;align-items:center;margin-left:8px;padding:2px 8px;
  border-radius:var(--radius-pill);font-size:.66rem;font-weight:700;}
.sp-stock.in{color:var(--aqua-deep);background:rgba(47,179,170,.12);}
.sp-row.sp-active,.sp-chip.sp-active,.sp-all.sp-active{outline:2px solid var(--aqua-deep);
  outline-offset:-2px;background:var(--surface-2);}
/* Brand tiles whose only official artwork is white-on-transparent */
.brand-tile-logo.logo-dark-back{background:var(--ink,#262E38);border-radius:10px;}
.brand-tile-logo.logo-dark-back img{padding:8px;}

.header-actions{display:flex;align-items:center;gap:6px;flex:none;}
.vat-toggle{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius-pill);
  overflow:hidden;background:#fff;}
.vat-toggle button{background:transparent;border:none;color:var(--muted);cursor:pointer;
  font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  padding:9px 13px;transition:background var(--t),color var(--t);}
.vat-toggle button.on{background:var(--coral);color:#fff;}
.vat-toggle button:not(.on):hover{color:var(--ink);}
.action-link{display:inline-flex;align-items:center;gap:7px;padding:9px 11px;border-radius:var(--radius-pill);
  font-size:.76rem;font-weight:700;letter-spacing:.02em;
  position:relative;transition:background var(--t),color var(--t);}
.action-link:hover{background:var(--sand);color:var(--coral-dark);}
.account-link.signed-in{color:var(--green);}
.quote-count,.lists-count{position:absolute;top:0;right:0;min-width:18px;height:18px;padding:0 5px;
  background:var(--coral);color:#fff;border-radius:var(--radius-pill);font-size:.65rem;
  font-weight:800;display:inline-flex;align-items:center;justify-content:center;}
.lists-count{background:var(--green);}

/* ---- primary nav row + mega ---- */
.main-nav-row{position:relative;background:var(--paper);border-top:1px solid var(--line-soft);
  border-bottom:1px solid var(--line);}
.main-nav-inner{display:flex;align-items:center;gap:6px;}
.mega-btn{display:inline-flex;align-items:center;gap:8px;background:var(--ink);
  border:none;color:var(--paper);cursor:pointer;border-radius:var(--radius-pill);margin-right:8px;
  font-family:var(--display);font-size:.8rem;font-weight:700;letter-spacing:.01em;
  padding:11px 18px;transition:background var(--t),color var(--t);}
.mega-btn:hover,.mega-btn[aria-expanded="true"]{background:var(--coral);color:#fff;}
.nav-links{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;flex:1;}
.nav-links::-webkit-scrollbar{display:none;}
.nav-links a{padding:13px 12px;font-size:.84rem;font-weight:500;color:var(--ink);
  white-space:nowrap;border-bottom:2px solid transparent;transition:color var(--t),border-color var(--t);
  display:inline-flex;align-items:center;gap:5px;}
.nav-links a:hover{color:var(--coral-dark);}
/* "You are here": the active section in the primary nav. Underline + weight so it
   reads at a glance without shouting. The pill Brands link keeps its own look. */
.nav-links a[aria-current="page"]{color:var(--ink);font-weight:700;border-bottom-color:var(--coral);}
.nav-links a.nav-brands[aria-current="page"]{border-bottom-color:transparent;background:var(--aqua-deep,#2FB3AA);color:#fff;}
.nav-links .nav-clearance{color:var(--coral-dark);font-weight:700;margin-left:auto;}
.nav-links .nav-pad{color:var(--green);font-weight:700;}
.mega-panel{position:absolute;top:100%;left:0;right:0;background:#fff;
  border-bottom:1px solid var(--line);box-shadow:var(--shadow-lg);z-index:250;
  max-height:74vh;overflow-y:auto;}
.mega-panel{animation:bpDrop .18s cubic-bezier(.2,.7,.3,1);}
@media(prefers-reduced-motion:reduce){.mega-panel{animation:none}}
.mega-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:22px 26px;padding:26px var(--pad) 30px;}
/* Inside the premium panel chrome (bp-in already pads), the grid sheds its own. */
.mega-panel .bp-in .mega-grid{padding:16px 0 6px;}
.mega-col{display:flex;flex-direction:column;gap:2px;}
.mega-dept{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);
  font-weight:700;font-size:.92rem;padding:4px 0 8px;color:var(--text);}
.mega-dept .ic{color:var(--coral);}
.mega-dept:hover{color:var(--coral);}
.mega-sub{font-size:.82rem;color:var(--muted);padding:4px 0;}
.mega-sub:hover{color:var(--coral);}
.mega-all{font-size:.74rem;font-weight:700;color:var(--teal);padding-top:6px;}

/* ---- Brands: the standout nav item + logo-wall mega-panel ---- */
/* The one item on the bar that is a destination, not a link — an aqua pill so
   it reads as the anchor, with a chevron that flips when the wall is open. */
.nav-links a.nav-brands{margin:0 4px;padding:8px 14px;border-radius:var(--radius-pill);
  background:rgba(78,205,197,.16);border:1px solid rgba(47,179,170,.35);
  color:var(--ink);font-family:var(--display);font-weight:800;letter-spacing:.01em;
  border-bottom:1px solid rgba(47,179,170,.35);}
.nav-links a.nav-brands .ic{color:var(--aqua-deep,#2FB3AA);transition:transform var(--t);}
.nav-links a.nav-brands:hover{background:rgba(78,205,197,.28);border-color:var(--aqua-deep,#2FB3AA);color:var(--ink);}
.nav-links a.nav-brands[aria-expanded="true"]{background:var(--aqua-deep,#2FB3AA);border-color:var(--aqua-deep,#2FB3AA);color:#fff;}
.nav-links a.nav-brands[aria-expanded="true"] .ic{color:#fff;transform:rotate(180deg);}

.brands-panel{position:absolute;top:100%;left:0;right:0;background:#fff;
  border-bottom:1px solid var(--line);box-shadow:var(--shadow-lg);z-index:250;
  max-height:78vh;overflow-y:auto;animation:bpDrop .18s cubic-bezier(.2,.7,.3,1);}
@keyframes bpDrop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.brands-panel{animation:none}}
.bp-in{padding:22px var(--pad) 24px;}
.bp-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;
  padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line-soft);}
.bp-eyebrow{display:block;font-size:.72rem;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:var(--aqua-deep,#2FB3AA);margin-bottom:2px;}
.bp-head h3{font-family:var(--display);font-size:1.35rem;font-weight:800;margin:0;color:var(--ink);}
.bp-all{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.85rem;
  color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-pill);
  padding:9px 15px;transition:border-color var(--t),background var(--t);}
.bp-all:hover{border-color:var(--aqua-deep,#2FB3AA);background:rgba(78,205,197,.10);}
.bp-all .ic{color:var(--aqua-deep,#2FB3AA);}
.bp-wall{display:grid;grid-template-columns:repeat(9,1fr);gap:12px;}
.bp-tile{display:flex;align-items:center;justify-content:center;height:78px;padding:12px;
  background:#fff;border:1px solid var(--line);border-radius:14px;
  transition:border-color var(--t),box-shadow var(--t),transform var(--t);}
.bp-tile:hover{border-color:var(--aqua-deep,#2FB3AA);box-shadow:0 8px 20px rgba(38,46,56,.10);transform:translateY(-2px);}
.bp-tile img{max-width:100%;max-height:44px;object-fit:contain;filter:saturate(1);}
.bp-tile-word{padding:10px;}
.bp-tile-dark{background:var(--navy,#262E38);border-color:var(--navy,#262E38);}
.bp-tile-dark:hover{border-color:var(--aqua-deep,#2FB3AA);}
.bp-wordmark{font-family:var(--display);font-weight:800;font-size:.9rem;color:var(--ink);text-align:center;line-height:1.1;}
.bp-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:18px;
  padding-top:14px;border-top:1px solid var(--line-soft);}
.bp-foot-label{font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.bp-foot a{font-size:.85rem;font-weight:600;color:var(--ink);}
.bp-foot a:hover{color:var(--aqua-deep,#2FB3AA);}
@media(max-width:1200px){.bp-wall{grid-template-columns:repeat(6,1fr);}}
@media(max-width:920px){.bp-wall{grid-template-columns:repeat(4,1fr);}}

/* ---- mobile nav drawer ---- */
/* Mobile drawer: full-height, thumb-sized rows, scrim + body scroll lock. */
.mobile-scrim{position:fixed;inset:0;background:rgba(27,33,42,.5);z-index:390;
  opacity:0;pointer-events:none;transition:opacity .28s ease;}
body.mobile-nav-open .mobile-scrim{opacity:1;pointer-events:auto;}
body.mobile-nav-open{overflow:hidden;}
.mobile-nav{position:fixed;top:0;left:0;bottom:0;width:min(88vw,380px);background:var(--paper);
  transform:translateX(-102%);transition:transform .3s cubic-bezier(.2,.8,.25,1);z-index:400;
  border-radius:0 20px 20px 0;overflow-y:auto;-webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;display:flex;flex-direction:column;
  padding-bottom:max(20px,env(safe-area-inset-bottom));}
body.mobile-nav-open .mobile-nav{transform:translateX(0);box-shadow:24px 0 60px -20px rgba(20,26,34,.45);}
.mobile-nav-head{display:flex;justify-content:space-between;align-items:center;
  padding:16px 18px 14px;border-bottom:1px solid var(--line);flex:none;}
.mn-logo{height:26px;width:auto;}
.mobile-nav-head .icon-btn{display:flex;width:44px;height:44px;align-items:center;justify-content:center;
  background:var(--surface-2);border-radius:50%;}
.mn-account-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:14px 16px 4px;}
.mn-account-row a{display:flex;flex-direction:column;align-items:center;gap:5px;
  padding:12px 6px;background:#fff;border:1px solid var(--line);border-radius:14px;
  font-size:.78rem;font-weight:700;color:var(--ink);}
.mn-account-row a .ic{color:var(--coral);}
.mn-label{padding:18px 18px 8px;font-family:var(--display);font-size:.7rem;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);}
.mn-depts{background:#fff;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);}
.mn-dept{border-bottom:1px solid var(--line-soft);}
.mn-dept:last-child{border-bottom:none;}
.mn-dept summary{display:flex;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;
  min-height:50px;font-weight:600;font-size:.95rem;list-style:none;color:var(--ink);
  -webkit-tap-highlight-color:transparent;}
.mn-dept summary::-webkit-details-marker{display:none;}
.mn-dept-ic{color:var(--coral);display:flex;flex:none;}
.mn-dept-name{flex:1;}
.mn-chev{color:var(--muted-2);display:flex;transition:transform .22s ease;}
.mn-dept[open] .mn-chev{transform:rotate(90deg);color:var(--aqua-deep);}
.mn-dept[open] summary{color:var(--aqua-deep);}
.mn-subs{display:flex;flex-direction:column;padding:2px 18px 12px 48px;background:var(--tint);}
.mn-subs a{padding:11px 0;font-size:.92rem;color:var(--text);border-bottom:1px solid var(--line-soft);}
.mn-subs a:last-child{border-bottom:none;}
.mn-subs a.mn-all{color:var(--coral-dark);font-weight:700;}
.mn-quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:4px 16px 8px;}
.mn-quick a{display:inline-flex;align-items:center;gap:8px;padding:13px 12px;min-height:46px;
  background:#fff;border:1px solid var(--line);border-radius:12px;font-size:.85rem;font-weight:700;color:var(--ink);}
.mn-quick a .ic{color:var(--aqua-deep);}
.mn-contact{padding:14px 16px 6px;margin-top:auto;}
.mn-call{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;
  padding:15px;background:var(--coral);color:#fff;border-radius:100px;
  font-family:var(--display);font-weight:800;font-size:.98rem;
  box-shadow:0 12px 26px -12px rgba(255,107,107,.6);}
.mn-contact p{text-align:center;color:var(--muted);font-size:.8rem;line-height:1.6;margin:10px 0 0;}

/* iOS zooms in when a focused field's font is under 16px — never let it. */
@media(max-width:820px){
  input,select,textarea{font-size:16px !important;}
}

/* ============================ HERO ====================================== */
.hero{background:var(--paper);border-bottom:1px solid var(--line);position:relative;overflow:hidden;}
.hero-inner{display:grid;grid-template-columns:1.45fr .85fr;gap:48px;align-items:center;
  padding:58px 0 52px;}
.hero-copy h1{font-size:3.3rem;font-weight:800;letter-spacing:-.025em;margin:16px 0 0;color:var(--ink);}
/* coral "smile" underline beneath the headline (home-v3 motif) */
.hero-smile{display:block;height:19px;width:170px;margin:-6px 0 0 2px;}
.hero-smile path{fill:var(--coral);}
.hero-sub{font-size:1.06rem;color:#5E625C;max-width:46ch;margin:22px 0 26px;line-height:1.6;}
.hero-search{display:flex;gap:10px;max-width:540px;}
.hero-search input{flex:1;background:#fff;border:1.5px solid var(--line);
  border-radius:var(--radius-pill);padding:15px 20px;color:var(--ink);font-size:1rem;outline:none;min-width:0;}
.hero-search input::placeholder{color:var(--muted);}
.hero-search input:focus{border-color:var(--coral);}
.hero-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.hero-tradelink{font-family:var(--display);font-weight:700;font-size:.85rem;color:var(--ink);}
.hero-tradelink:hover{color:var(--coral-dark);}
.hero-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;}
.chip{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border:1px solid var(--line);
  border-radius:var(--radius-pill);background:#fff;font-size:.8rem;font-weight:600;color:var(--muted);
  transition:border-color var(--t),color var(--t);}
.chip:hover{border-color:var(--coral);color:var(--coral);}
.chip-lg{font-size:.9rem;padding:12px 19px;color:var(--ink);}
.hero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:20px 18px;}
.stat-card strong{display:block;font-family:var(--display);font-size:1.5rem;font-weight:800;
  letter-spacing:-.01em;color:var(--ink);}
.stat-card span{font-size:.78rem;color:var(--muted);}

/* featured product card on a --sand blob (home-v3 herocard) */
.herocard{position:relative;}
.hero-blob{position:absolute;inset:10px 0 14px 18px;background:var(--sand);
  border-radius:150px 150px 22px 22px;z-index:0;}
.hero-prod{position:relative;z-index:2;background:#fff;border:1px solid var(--line);
  border-radius:20px;padding:18px;box-shadow:0 20px 44px -26px rgba(35,41,43,.4);}
.hero-prod .pc-media,.hero-prod-media{background:#fff;border-radius:13px;}
.hero-tag{position:absolute;top:14px;left:6px;z-index:3;display:inline-flex;align-items:center;gap:5px;
  background:var(--ink);color:#fff;font-size:.7rem;font-weight:700;padding:6px 13px;border-radius:var(--radius-pill);}

/* ====================== DEPARTMENT GRID ================================= */
/* Compact department grid — denser tiles so it informs without eating the page. */
.dept-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;}
.dept-card{position:relative;display:flex;align-items:center;gap:11px;padding:12px 13px;
  background:var(--surface);border:1px solid var(--line);border-radius:13px;overflow:hidden;
  transition:border-color var(--t),transform var(--t),box-shadow var(--t);}
.dept-card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;
  background:linear-gradient(90deg,var(--coral),var(--aqua));transform:scaleX(0);transform-origin:left;
  transition:transform var(--t);}
.dept-card:hover{border-color:transparent;transform:translateY(-3px);box-shadow:var(--shadow);}
.dept-card:hover::before{transform:scaleX(1);}
.dept-icon{width:38px;height:38px;flex:none;display:flex;align-items:center;justify-content:center;
  background:var(--coral-soft);color:var(--coral);border-radius:10px;transition:transform var(--t);}
.dept-card:nth-child(even) .dept-icon{background:var(--teal-soft);color:var(--aqua-deep);}
.dept-card:hover .dept-icon{transform:scale(1.06);}
.dept-meta{display:flex;flex-direction:column;min-width:0;}
.dept-label{font-family:var(--display);font-weight:700;font-size:.88rem;line-height:1.15;}
.dept-count{display:block;font-size:.69rem;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:1px;}
.dept-go{display:none;}

/* ===== Warehouse-clearance feature banner (home) ===== */
.clearance-feature{padding-top:6px;padding-bottom:6px;}
.clearfeat{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;
  gap:28px;flex-wrap:wrap;background:linear-gradient(110deg,var(--navy),var(--navy-2));
  border-radius:24px;padding:34px 40px;color:#fff;transition:transform var(--t),box-shadow var(--t);}
.clearfeat:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.clearfeat::before{content:"";position:absolute;right:-60px;top:-50px;width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(78,205,197,.26),transparent 64%);pointer-events:none;}
.clearfeat::after{content:"";position:absolute;left:-50px;bottom:-80px;width:240px;height:240px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,107,107,.22),transparent 64%);pointer-events:none;}
.clearfeat-copy{position:relative;z-index:1;max-width:60%;}
.clearfeat-eyebrow{display:inline-flex;align-items:center;gap:7px;font-family:var(--display);font-size:.7rem;
  font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--aqua);}
.clearfeat-eyebrow .ic{color:var(--aqua);}
.clearfeat h2{font-size:1.95rem;color:#fff;margin:12px 0 8px;letter-spacing:-.02em;}
.clearfeat p{margin:0;font-size:.92rem;color:#C6CDD6;max-width:52ch;line-height:1.55;}
.clearfeat-btn{display:inline-flex;align-items:center;gap:8px;margin-top:20px;background:var(--coral);color:#fff;
  font-family:var(--display);font-weight:700;font-size:.86rem;padding:13px 24px;border-radius:var(--radius-pill);
  transition:background var(--t);}
.clearfeat:hover .clearfeat-btn{background:var(--coral-dark);}
.clearfeat-stat{position:relative;z-index:1;text-align:center;flex:none;background:rgba(255,255,255,.06);
  border:1px solid rgba(78,205,197,.28);border-radius:20px;padding:24px 32px;}
.clearfeat-stat strong{display:block;font-family:var(--display);font-weight:800;font-size:2.7rem;
  letter-spacing:-.02em;color:var(--aqua);font-variant-numeric:tabular-nums;line-height:1;}
.clearfeat-stat span{font-size:.78rem;color:#C6CDD6;}
@media(max-width:680px){
  .clearfeat{padding:26px;gap:20px;}
  .clearfeat-copy{max-width:100%;}
  .clearfeat h2{font-size:1.5rem;}
  .clearfeat-stat{padding:18px 26px;}
}

/* ===== Hero clearance carousel (replaces the single featured card) ===== */
.hcarousel{position:relative;z-index:2;margin:30px 10px 0 34px;}
.hcar-viewport{overflow:hidden;border-radius:20px;}
.hcar-track{display:flex;transition:transform .5s cubic-bezier(.4,0,.2,1);}
.hcar-slide{flex:0 0 100%;min-width:0;}
.hcar-card{display:block;color:inherit;background:#fff;border:1px solid var(--line);border-radius:20px;
  padding:18px;box-shadow:0 20px 44px -26px rgba(38,46,56,.4);}
.hcar-card .ph{background:var(--tint);border-radius:13px;height:178px;display:flex;align-items:center;
  justify-content:center;overflow:hidden;position:relative;}
.hcar-card .ph img{max-width:88%;max-height:88%;object-fit:contain;mix-blend-mode:multiply;}
.hcar-save{position:absolute;top:6px;left:6px;background:var(--coral-soft);color:var(--coral-dark);
  font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:4px 9px;
  border-radius:var(--radius-pill);}
.hcar-brand{font-family:var(--display);font-size:.66rem;letter-spacing:.07em;text-transform:uppercase;
  color:var(--muted);margin:13px 0 0;font-weight:600;}
.hcar-name{font-family:var(--display);font-size:.9rem;margin:3px 0 10px;font-weight:600;color:var(--ink);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em;line-height:1.3;}
.hcar-foot{display:flex;align-items:center;justify-content:space-between;}
.hcar-price{font-family:var(--display);font-size:1.32rem;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;}
.hcar-foot .btn-ink{padding:9px 15px;font-size:.76rem;}
.hcar-arrow{position:absolute;top:99px;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;
  background:rgba(255,255,255,.92);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--ink);
  cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:4;
  transition:color var(--t),transform var(--t),background var(--t);}
.hcar-arrow:hover{color:var(--coral);transform:translateY(-50%) scale(1.08);}
.hcar-arrow.prev{left:8px;}
.hcar-arrow.next{right:8px;}
.hcar-arrow .ic{display:flex;}
.hcar-dots{display:flex;justify-content:center;gap:6px;margin:14px 0 0;}
.hcar-dot{width:7px;height:7px;border-radius:50%;background:var(--line);border:none;padding:0;cursor:pointer;
  transition:background var(--t),transform var(--t),width var(--t);}
.hcar-dot.active{background:var(--coral);width:18px;border-radius:var(--radius-pill);}
.herocard .tag-clearance{background:var(--coral);}
.herocard .tag.tag-picks{background:var(--aqua-deep);}

/* ====================== BANDS =========================================== */
.band-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;}
.band-head h2{font-size:1.8rem;margin:8px 0 6px;}
.clearance-band{background:var(--sand);}

.pad-band{background:var(--sand);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.pad-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.pad-copy h2{font-size:1.9rem;margin:12px 0 14px;}
.pad-copy .btn{margin-top:18px;}
.pad-demo{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:24px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92rem;
  color:var(--muted);box-shadow:var(--shadow);}
.pad-line{padding:7px 4px;border-bottom:1px dashed var(--line-soft);}
.pad-cursor{color:var(--muted-2);}
.pad-result{margin-top:14px;color:var(--ok);font-family:var(--font);font-weight:700;font-size:.84rem;
  display:flex;align-items:center;gap:7px;}

/* trade band = grounding green rounded card with faint smile watermark */
.trade-band{background:var(--paper);}
.trade-inner{position:relative;overflow:hidden;background:var(--green);border-radius:24px;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:center;padding:40px 44px;}
.trade-copy{position:relative;z-index:2;}
.trade-copy h2{font-size:1.9rem;margin:12px 0 20px;color:#fff;}
.trade-copy .eyebrow{color:#8A93A0;}
.trade-list{list-style:none;padding:0;margin:0 0 26px;display:flex;flex-direction:column;gap:14px;
  position:relative;z-index:2;}
.trade-list li{display:flex;gap:12px;}
.ti-ic{color:var(--aqua);flex:none;margin-top:2px;}
.trade-list strong{display:block;font-family:var(--display);font-size:.98rem;color:#fff;}
.trade-list span{font-size:.84rem;color:#AEB7C2;}
.trade-feeds{position:relative;z-index:2;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:28px;}
.trade-feeds h3{font-size:1.15rem;margin-bottom:16px;color:#fff;}
.feed-item{padding:14px 0;border-top:1px solid rgba(255,255,255,.1);}
.feed-item:first-of-type{border-top:none;}
.feed-item strong{color:var(--aqua);font-family:var(--display);}
.feed-item p{margin:4px 0 0;font-size:.85rem;color:#AEB7C2;}
.feeds-note{margin:14px 0 0;font-size:.78rem;color:#8A93A0;font-style:italic;}
/* faint smile watermark, set via a positioned svg with class .trade-smile */
.trade-smile{position:absolute;right:-20px;bottom:-26px;height:150px;opacity:.10;z-index:1;}
.trade-smile path{fill:#fff;}

/* ====================== BRAND TILES ===================================== */
.brand-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;}
.brand-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;}
.brand-tile{display:flex;flex-direction:column;gap:4px;padding:18px;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius);transition:border-color var(--t),transform var(--t);}
.brand-tile:hover{border-color:var(--coral);transform:translateY(-2px);}
.brand-name{font-family:var(--display);font-weight:700;font-size:1.02rem;}
.brand-count{font-size:.74rem;color:var(--muted);font-variant-numeric:tabular-nums;}
.brand-more .brand-name{color:var(--coral);}
.brand-tile-lg{padding:24px;}
.brand-go{margin-top:10px;font-size:.78rem;font-weight:700;color:var(--coral);}
.brand-foot{margin-top:22px;}

/* ====================== SECTORS ========================================= */
.sector-band{background:var(--sand);}
.sector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;}
.sector-card{display:flex;flex-direction:column;gap:8px;padding:24px;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius);transition:border-color var(--t),transform var(--t);}
.sector-card:hover{border-color:var(--teal);transform:translateY(-3px);}
.sector-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  background:var(--teal-soft);color:var(--teal);border-radius:11px;}
.sector-card strong{font-family:var(--display);font-size:1.08rem;}
.sector-line{font-size:.82rem;color:var(--muted);line-height:1.5;}
.sector-go{margin-top:auto;padding-top:10px;font-size:.78rem;font-weight:700;color:var(--teal);}
.sector-links{display:flex;flex-wrap:wrap;gap:10px;}
.fitout-band{display:flex;justify-content:space-between;align-items:center;gap:30px;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:30px;flex-wrap:wrap;}
.fitout-band h2{font-size:1.5rem;margin-bottom:6px;}

/* ====================== PRODUCT GRID + CARD ============================= */
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(218px,1fr));gap:16px;}
.product-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:18px;overflow:hidden;transition:border-color var(--t),transform var(--t),
  box-shadow var(--t);position:relative;padding:6px;
  /* Back-from-product scroll restore anchors to the tile; keep it clear of the
     sticky header so it isn't tucked underneath. */
  scroll-margin-top:calc(var(--header-h, 64px) + 16px);}
.product-card:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:var(--shadow);}
/* image sits on a tinted tile: white-on-white catering crockery would wash out */
/* Fixed square image tile. min-height:0 + overflow:hidden stop a tall/portrait
   image from defeating aspect-ratio via the flex auto-minimum-size, so every
   card in a row is the SAME height (no stretched, half-empty cards). */
.pc-media{position:relative;aspect-ratio:1/1;min-height:0;overflow:hidden;background:var(--tint);
  border-radius:12px;display:flex;align-items:center;justify-content:center;padding:14px;}
.pc-img{max-width:86%;max-height:86%;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply;}
/* A real image swapped in over the placeholder fades in softly (no hard pop). */
@keyframes lwImgIn{from{opacity:0}to{opacity:1}}
img.img-in{animation:lwImgIn .35s ease both;}
@media(prefers-reduced-motion:reduce){img.img-in{animation:none}}
.pc-badge{position:absolute;top:10px;left:10px;background:var(--ok-soft);color:var(--ok);
  font-size:.66rem;font-weight:800;letter-spacing:.04em;
  padding:4px 10px;border-radius:var(--radius-pill);}
.pc-save{position:absolute;top:8px;right:8px;width:36px;height:36px;border-radius:50%;z-index:2;
  border:1px solid var(--line);background:rgba(255,255,255,.92);color:#9b9b9b;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:color var(--t),transform var(--t);}
.pc-save:hover{color:var(--coral-dark);transform:scale(1.07);}
.pc-save.saved{color:var(--coral-dark);}
.pc-save.saved svg{fill:var(--coral);stroke:var(--coral-dark);}
/* Compare pin (B4): sits just under the heart, toggles the side-by-side tray. */
.pc-cardpin{position:absolute;top:52px;right:8px;width:36px;height:36px;border-radius:50%;
  border:1px solid var(--line);background:rgba(255,255,255,.92);color:#9b9b9b;cursor:pointer;z-index:2;
  display:flex;align-items:center;justify-content:center;padding:0;
  transition:color var(--t),transform var(--t),background var(--t),border-color var(--t);}
.pc-cardpin:hover{color:var(--ink);transform:scale(1.07);}
.pc-cardpin.cmp-on{background:var(--ink);border-color:var(--ink);color:#fff;}
/* Scarcity urgency badge (bottom-left of the image): real, live warehouse count,
   only when we hold 6 or fewer. Coral so it reads as "act now", gentle pulse. */
/* Quick-view trigger (B12): a floating icon button, bottom-right of the media,
   revealed on card hover (always visible on touch, where there's no hover). */
.pc-quickview{position:absolute;bottom:8px;right:8px;z-index:2;width:36px;height:36px;
  border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.94);
  color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;
  opacity:0;transform:translateY(4px);transition:opacity var(--t),transform var(--t),color var(--t);}
.product-card:hover .pc-quickview,.product-card:focus-within .pc-quickview{opacity:1;transform:none;}
.pc-quickview:hover{color:var(--coral-dark);}
@media(hover:none){.pc-quickview{opacity:1;transform:none;}}
/* Quick-view modal card: a LIGHT card (the shared .lwpop-card is dark navy for
   the newsletter popups, so we override the whole surface here). Reuses the
   popups.js overlay + focus trap only. */
/* Scoped to .lwpop-card.qv-card so it beats the base .lwpop-card navy gradient,
   which is defined LATER in this file (equal specificity would otherwise lose). */
.lwpop-card.qv-card{max-width:720px;width:calc(100vw - 32px);padding:0;overflow:hidden;
  background:#fff;color:var(--ink);border:1px solid var(--line);
  box-shadow:0 30px 80px -20px rgba(38,46,56,.45);}
.qv-card .lwpop-x{color:var(--muted);background:rgba(255,255,255,.7);border-radius:50%;
  width:34px;height:34px;display:flex;align-items:center;justify-content:center;}
.qv-card .lwpop-x:hover{color:var(--ink);background:var(--tint);}
.qv-grid{display:grid;grid-template-columns:minmax(0,44%) minmax(0,1fr);align-items:stretch;}
.qv-media{position:relative;background:var(--tint);display:flex;align-items:center;justify-content:center;
  padding:22px;min-height:280px;}
/* Fill the panel: the media stretches to the body's height, so a large image
   sits centred with no dead cream space. */
.qv-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply;}
.qv-body{padding:26px 28px 26px;display:flex;flex-direction:column;gap:6px;
  overflow-y:auto;max-height:min(78vh,480px);}
.qv-body .pc-brand{margin-bottom:2px;}
.qv-name{font-family:var(--display);font-size:1.34rem;font-weight:800;line-height:1.15;margin:2px 0 1px;color:var(--ink);}
.qv-spec{font-size:.82rem;color:var(--muted);}
.qv-code{font-size:.76rem;color:var(--muted);letter-spacing:.02em;margin-bottom:4px;}
.qv-card .stock-pill{align-self:flex-start;}
.qv-desc{font-size:.87rem;line-height:1.55;color:var(--text);margin:8px 0 2px;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}
.qv-foot{display:flex;align-items:baseline;gap:12px;margin-top:8px;}
.qv-price-val{font-family:var(--display);font-size:1.6rem;font-weight:800;color:var(--ink);}
.qv-foot .pc-vat{font-size:.74rem;color:var(--muted);}
.qv-foot .pc-pack{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:700;color:var(--muted);}
.qv-add{margin-top:14px;justify-content:center;width:100%;}
.qv-full{margin-top:12px;font-size:.84rem;font-weight:700;color:var(--teal);display:inline-flex;
  align-items:center;gap:6px;align-self:flex-start;}
.qv-full:hover{color:var(--coral);}
@media(max-width:620px){
  .qv-grid{grid-template-columns:1fr;}
  .qv-media{min-height:210px;max-height:44vh;padding:18px;}
  .qv-body{padding:18px 18px 20px;max-height:none;}
}
/* "Was £X · Save Y%" — clearance lines with a stored pre-clearance price. */
.pc-savings,.pdp-savings,.qv-savings{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.pc-savings{margin:1px 0 -1px;}
.pdp-savings{margin:6px 0 2px;}
.qv-savings{margin:6px 0 0;}
.was-price{color:var(--muted);text-decoration:line-through;font-weight:600;font-size:.86rem;}
.pdp-savings .was-price,.qv-savings .was-price{font-size:1rem;}
.save-pct{display:inline-flex;align-items:center;background:var(--coral);color:#fff;
  font-size:.68rem;font-weight:800;letter-spacing:.02em;padding:3px 9px;border-radius:var(--radius-pill);}
.pdp-savings .save-pct,.qv-savings .save-pct{font-size:.74rem;padding:4px 11px;}
.pc-scarcity{position:absolute;bottom:10px;left:10px;z-index:2;
  background:var(--coral);color:#fff;font-size:.66rem;font-weight:800;letter-spacing:.02em;
  padding:4px 10px;border-radius:var(--radius-pill);box-shadow:0 3px 10px rgba(255,107,107,.34);
  animation:scarPulse 2.4s ease-in-out infinite;}
@keyframes scarPulse{0%,100%{box-shadow:0 3px 10px rgba(255,107,107,.30)}50%{box-shadow:0 3px 16px rgba(255,107,107,.60)}}
@media(prefers-reduced-motion:reduce){.pc-scarcity{animation:none}}
.pc-body{display:flex;flex-direction:column;gap:4px;padding:13px 10px 10px;flex:1;}
.pc-brand{font-family:var(--display);font-size:.66rem;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);}
/* clickable brand name on a card (a span, since the card itself is the PDP link) */
.pc-brand-link{cursor:pointer;color:var(--muted);transition:color .15s;text-underline-offset:2px;}
.pc-brand-link:hover,.pc-brand-link:focus-visible{color:var(--aqua-deep);text-decoration:underline;outline:none;}
/* clickable brand name on the PDP */
.pdp-brand-link{color:inherit;text-decoration:none;transition:color .15s;text-underline-offset:2px;}
.pdp-brand-link:hover,.pdp-brand-link:focus-visible{text-decoration:underline;outline:none;}
.pc-name{font-family:var(--display);font-size:.875rem;font-weight:600;line-height:1.3;margin:0;
  color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;min-height:2.3em;}
.pc-code{font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums;}
.pc-foot{margin-top:auto;padding-top:8px;}
.pc-price{display:flex;align-items:baseline;gap:7px;}
.pc-price .price{font-family:var(--display);font-weight:800;font-size:1.22rem;color:var(--ink);font-variant-numeric:tabular-nums;}
.pc-vat{font-size:.66rem;color:var(--muted);}
/* Pack-of-N chip (B8): tells the buyer the card Add basks a whole case. */
.pc-pack{display:inline-flex;align-items:center;gap:5px;margin-top:6px;width:fit-content;
  font-size:.7rem;font-weight:700;color:var(--ink);background:var(--tint);
  border-radius:var(--radius-pill);padding:3px 9px;}
.pc-pack svg{flex:none;color:var(--aqua-deep);}
.pg-compact .pc-pack{display:none;}
/* add-to-quote: light pill that echoes the home-v3 outline "+" affordance */
.pc-add{margin-top:10px;display:flex;align-items:center;justify-content:center;gap:7px;
  background:#fff;border:1.5px solid var(--ink);color:var(--ink);cursor:pointer;
  border-radius:var(--radius-pill);padding:10px;font-family:var(--display);font-size:.78rem;
  font-weight:700;letter-spacing:.01em;
  transition:background var(--t),border-color var(--t),color var(--t);min-height:42px;}
.pc-add:hover{background:var(--coral);border-color:var(--coral);color:var(--ink);}
/* Stretched overlay link → PDP (the card is an <article>, not an <a>). Sits under
   the interactive controls so Save/Add/brand stay clickable and unambiguous. */
.pc-cliplink{position:absolute;inset:0;z-index:1;border-radius:inherit;font-size:0;text-indent:-9999px;overflow:hidden;}
/* Controls sit ABOVE the overlay link. pc-media/pc-body must NOT create their own
   stacking context (no z-index on them), so these z-index:2 wins over the link.
   NB: .pc-save/.pc-cardpin/.pc-quickview are position:absolute with their own
   z-index:2 — they must NOT be listed here or `position:relative` would knock
   the heart out of its top-right corner (only in-flow controls belong below). */
.pc-add,.pc-brand-link,.pc-swatch-dot,.pc-name-link{position:relative;z-index:2;}

/* mini cards (recently viewed) */
/* Recently-viewed tiles: image-forward (square photo on top, name + price
   below), not the old cramped left-thumb row that left dead space. */
.mini-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,1fr);gap:12px;
  overflow-x:auto;padding-bottom:6px;scrollbar-width:thin;scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;}
.mini-card{display:flex;flex-direction:column;gap:9px;background:#fff;scroll-snap-align:start;
  border:1px solid var(--line);border-radius:14px;padding:10px;
  transition:border-color var(--t),transform var(--t),box-shadow var(--t);}
.mini-card:hover{border-color:var(--coral);transform:translateY(-2px);box-shadow:var(--shadow);}
.mini-img{width:100%;aspect-ratio:1/1;object-fit:contain;mix-blend-mode:multiply;
  background:var(--tint);border-radius:11px;padding:12px;}
.mini-meta{display:flex;flex-direction:column;gap:3px;padding:0 2px 2px;}
.mini-name{font-size:.82rem;font-weight:600;line-height:1.32;display:-webkit-box;
  -webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.15em;}
.mini-price{font-family:var(--display);font-weight:800;font-size:1rem;font-variant-numeric:tabular-nums;color:var(--ink);}

/* stock pills */
.stock-pill{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;
  font-size:.7rem;font-weight:700;padding:4px 10px;border-radius:var(--radius-pill);
  border:1px solid var(--line);color:var(--muted);}
.stock-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;}
.tone-in{color:var(--ok);background:var(--ok-soft);border-color:transparent;}
.tone-low,.tone-soon{color:var(--warn);background:var(--warn-soft);border-color:transparent;}
.tone-clearance{color:var(--coral);background:var(--coral-soft);border-color:transparent;}
.tone-order{color:var(--aqua-deep);background:rgba(47,179,170,.12);border-color:transparent;font-weight:600;}
.pdp-order-invite{display:flex;gap:11px;align-items:flex-start;margin:12px 0 4px;padding:13px 15px;border-radius:14px;
  background:linear-gradient(135deg,rgba(78,205,197,.16),rgba(78,205,197,.04));border:1px solid rgba(47,179,170,.30);}
.pdp-oi-ic{width:34px;height:34px;border-radius:10px;background:var(--aqua-deep);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.pdp-oi-t strong{display:block;font-family:Outfit,sans-serif;font-weight:700;color:var(--ink);font-size:14.5px;margin-bottom:1px;}
.pdp-oi-t span{font-size:13px;color:var(--muted);line-height:1.45;}
.wg-list li.wg-free .wg-price,.wg-opt-price.wg-opt-quoted{color:var(--aqua-deep);font-weight:700;}
.tone-out{color:var(--muted-2);}
.tone-pending{color:var(--muted-2);}
.tone-pending::before{animation:pulse 1.2s ease-in-out infinite;}
@keyframes pulse{50%{opacity:.3;}}

/* ====================== SKELETONS ====================================== */
.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 37%,var(--surface-2) 63%);
  background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:6px;}
@keyframes shimmer{0%{background-position:100% 0;}100%{background-position:-100% 0;}}
/* Respect reduced-motion for the two infinite loaders (skeleton shimmer + stock-pending pulse). */
@media(prefers-reduced-motion:reduce){.skeleton{animation:none;background:var(--surface-2);}.tone-pending::before{animation:none;}}
.skeleton-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:14px;display:flex;flex-direction:column;gap:9px;}
.sk-img{aspect-ratio:1/1;width:100%;}
.sk-line{height:12px;width:100%;}
.sk-line.short{width:55%;}
.sk-price{height:20px;width:40%;margin-top:6px;}
.pdp-skeleton{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;}
.sk-hero-img{aspect-ratio:1/1;}

/* ====================== CATALOGUE ===================================== */
.cat-hero{background:var(--sand);border-bottom:1px solid var(--line);padding:32px 0 28px;}
.cat-hero-clearance{background:linear-gradient(120deg,var(--coral-soft),var(--sand) 60%);}
.cat-hero h1{font-size:2rem;display:flex;align-items:center;gap:10px;}
.cat-hero .muted{max-width:64ch;margin-top:8px;}
.crumbs{display:flex;gap:8px;font-size:.78rem;color:var(--muted-2);margin-bottom:12px;align-items:center;flex-wrap:wrap;}
.crumbs a:hover{color:var(--coral);}

.cat-layout{display:grid;grid-template-columns:230px 1fr;gap:32px;align-items:start;
  padding-top:26px;padding-bottom:60px;
  /* Pagination scrolls #brand-range/.cat-layout into view; clear the sticky #hdr
     so page 2+ doesn't land with the "N products" count tucked under the header. */
  scroll-margin-top:calc(var(--header-h, 64px) + 16px);}
.facet-rail{position:sticky;top:150px;display:flex;flex-direction:column;gap:22px;
  /* Cap to the viewport so a long brand list scrolls INSIDE the rail; contain
     stops the scroll chaining to the product grid behind it. */
  max-height:calc(100vh - 168px);overflow-y:auto;overscroll-behavior:contain;
  padding-right:4px;scrollbar-width:thin;scrollbar-color:var(--line) transparent;}
.facet-rail::-webkit-scrollbar{width:7px;}
.facet-rail::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px;}
.facet-rail::-webkit-scrollbar-thumb:hover{background:var(--muted-2);}
.facet-group{border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:var(--surface);}
.facet-title{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted-2);margin-bottom:10px;}
.facet-links{display:flex;flex-direction:column;}
.facet-link{padding:6px 8px;font-size:.84rem;color:var(--muted);border-radius:7px;
  transition:color var(--t),background var(--t);}
.facet-link:hover{color:var(--text);background:var(--surface-2);}
.facet-link.active{color:var(--coral);font-weight:700;background:var(--coral-soft);}
/* Live per-option result counts: a muted, right-aligned tally that appears a
   beat after the rail renders. Zero-count options grey out and can't be clicked. */
.facet-link:has(.facet-count){display:flex;align-items:center;gap:8px;}
.facet-count{margin-left:auto;font-variant-numeric:tabular-nums;font-size:.76rem;
  font-weight:600;color:var(--muted-2);opacity:.8;}
.facet-link.active .facet-count{color:var(--coral);opacity:1;}
.facet-link.facet-zero{opacity:.38;pointer-events:none;}

/* ── Phase 3: multi-select checkbox / colour-swatch facets ─────────────────── */
.facet-check{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:7px;
  font-size:.84rem;color:var(--muted);cursor:pointer;transition:color var(--t),background var(--t);
  -webkit-tap-highlight-color:transparent;}
.facet-check:hover{color:var(--text);background:var(--surface-2);}
.facet-check.is-checked{color:var(--text);font-weight:600;}
.facet-check .fc-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none;}
/* Keyboard focus ring: the real checkbox is visually collapsed, so move the ring onto the visible box/swatch. */
.facet-check:has(.fc-input:focus-visible) .fc-box,.facet-check:has(.fc-input:focus-visible) .fc-swatch{outline:2.5px solid var(--coral);outline-offset:2px;}
/* tick box (Material / Brand) */
.fc-box{flex:none;width:17px;height:17px;border:1.5px solid var(--line);border-radius:5px;
  display:inline-flex;align-items:center;justify-content:center;background:var(--surface);
  color:#fff;transition:background var(--t),border-color var(--t);}
.fc-box svg{opacity:0;transform:scale(.6);transition:opacity var(--t),transform var(--t);}
.facet-check.is-checked .fc-box{background:var(--coral);border-color:var(--coral);}
.facet-check.is-checked .fc-box svg{opacity:1;transform:scale(1);}
.fc-label{flex:1 1 auto;min-width:0;}
.facet-check .facet-count{margin-left:auto;font-variant-numeric:tabular-nums;
  font-size:.76rem;font-weight:600;color:var(--muted-2);opacity:.8;}
.facet-check.facet-zero{opacity:.4;pointer-events:none;}
/* colour swatch chip (fill from --sw); shows a tick when selected */
.fc-swatch{flex:none;width:18px;height:18px;border-radius:50%;background:var(--sw,#b9bec4);
  box-shadow:inset 0 0 0 1px rgba(38,46,56,.14);display:inline-flex;align-items:center;
  justify-content:center;color:#fff;transition:transform var(--t),box-shadow var(--t);}
.fc-swatch-light{box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);}
.fc-swatch svg{opacity:0;transform:scale(.5);transition:opacity var(--t),transform var(--t);}
.facet-check.is-checked .fc-swatch{transform:scale(1.06);
  box-shadow:inset 0 0 0 1px rgba(38,46,56,.2),0 0 0 2px var(--coral);}
.facet-check.is-checked .fc-swatch svg{opacity:1;transform:scale(1);}

/* ── Brand-hub category tree (Thunder): dept links with nested sub-categories ─ */
.facet-link.facet-open{color:var(--text);font-weight:700;}
.facet-link.facet-sub{padding-left:22px;font-size:.82rem;position:relative;}
.facet-link.facet-sub::before{content:"";position:absolute;left:11px;top:50%;width:6px;height:1px;
  background:var(--line);transform:translateY(-50%);}

/* ── Variable listing: one card standing in for a family of colour variants ── */
.pc-variant{cursor:default;}
.pc-vbadge{position:absolute;top:10px;left:10px;background:var(--aqua);color:#08312d;
  font-size:.64rem;font-weight:800;letter-spacing:.03em;padding:4px 9px;border-radius:var(--radius-pill);}
.pc-name-link{text-decoration:none;color:inherit;}
.pc-name-link:hover .pc-name{color:var(--coral-dark);}
.pc-swatches{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:3px 0 1px;min-height:16px;}
.pc-swatch-dot{width:16px;height:16px;border-radius:50%;background:var(--sw,#b9bec4);
  box-shadow:inset 0 0 0 1px rgba(38,46,56,.16);transition:transform var(--t);}
.pc-swatch-dot.is-light{box-shadow:inset 0 0 0 1px var(--line);}
.pc-swatch-dot:hover{transform:scale(1.18);}
.pc-swatch-more{font-size:.72rem;color:var(--muted);font-weight:600;margin-left:2px;}
.pc-from{font-size:.72rem;color:var(--muted);font-weight:600;}
a.pc-add-link{text-decoration:none;}

/* ── PDP in-box colour / finish picker ─────────────────────────────────────── */
.pdp-variant{margin:6px 0 2px;}
.pdp-variant-top{display:flex;align-items:baseline;gap:9px;margin-bottom:7px;}
.pdp-variant-label{font-family:var(--display);font-weight:700;font-size:.82rem;
  letter-spacing:.01em;color:var(--ink);}
.pdp-variant-cur{font-size:.86rem;color:var(--muted);}
.pdp-variant-ctl{position:relative;display:flex;align-items:center;gap:10px;
  border:1.5px solid var(--line);border-radius:12px;background:#fff;padding-left:14px;
  transition:border-color var(--t),box-shadow var(--t);}
.pdp-variant-ctl:hover{border-color:var(--ink);}
.pdp-variant-ctl:focus-within{border-color:var(--aqua-deep);box-shadow:0 0 0 3px rgba(78,205,197,.18);}
.pdp-variant-ctl::before{content:"";flex:none;width:20px;height:20px;border-radius:50%;
  background:var(--sw,#b9bec4);box-shadow:inset 0 0 0 1px rgba(38,46,56,.16);}
.pdp-variant-ctl.is-light::before{box-shadow:inset 0 0 0 1px var(--line);}
.pdp-variant-ctl::after{content:"";position:absolute;right:17px;top:50%;width:9px;height:9px;
  border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);
  transform:translateY(-65%) rotate(45deg);pointer-events:none;}
.pdp-variant-select{appearance:none;-webkit-appearance:none;border:none;background:transparent;
  font-family:var(--display);font-weight:600;font-size:.96rem;color:var(--ink);
  padding:14px 40px 14px 0;flex:1;min-width:0;cursor:pointer;outline:none;}
/* colour grid: two-up so the group stays short */
.fc-swatch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;}
.fc-swatch-grid .facet-check{padding:6px;}

/* pill-row colour dot + Clear-all link */
.chip-swatch{width:12px;height:12px;border-radius:50%;background:var(--sw,#b9bec4);
  box-shadow:inset 0 0 0 1px rgba(38,46,56,.18);flex:none;}
.chip-swatch-light{box-shadow:inset 0 0 0 1px var(--line);}
.chips-clear{font-size:.76rem;font-weight:700;color:var(--muted);text-decoration:underline;
  text-underline-offset:2px;padding:6px 4px;border-radius:6px;transition:color var(--t);white-space:nowrap;}
.chips-clear:hover{color:var(--coral);}

/* apply bar: hidden on desktop (rail is inline, taps navigate instantly) */
.facet-apply-bar{display:none;}

.cat-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;
  margin-bottom:18px;flex-wrap:wrap;}
/* filter-sheet controls: desktop hides them (rail is inline); mobile shows the sheet */
.cat-filter-btn,.facet-sheet-head,.cat-filter-scrim{display:none;}
.cat-toolbar-right{display:flex;align-items:center;gap:14px;}
.cat-chips{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
/* Inline size / gastronorm quick-chips above the results grid (B10). */
.cat-sizes{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-4px 0 18px;}
.cat-sizes[hidden]{display:none;}
.cat-sizes-label{font-size:.78rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--muted);}
.cat-size-chip{display:inline-flex;align-items:center;padding:6px 13px;border-radius:var(--radius-pill);
  border:1px solid var(--line);background:#fff;font-size:.82rem;font-weight:700;color:var(--ink);
  transition:background var(--t),border-color var(--t),color var(--t);}
.cat-size-chip:hover{background:rgba(78,205,197,.16);border-color:var(--aqua-deep,#2FB3AA);color:var(--aqua-deep,#2FB3AA);}
@media(max-width:880px){.cat-sizes{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;padding-bottom:4px;}}
.result-count{font-size:.9rem;color:var(--muted);font-weight:600;}
.applied-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;
  background:var(--coral-soft);color:var(--coral);border-radius:var(--radius-pill);
  font-size:.76rem;font-weight:700;}
.applied-chip:hover{background:var(--coral);color:var(--ink);}
.sort-wrap{display:inline-flex;align-items:center;gap:9px;font-size:.8rem;color:var(--muted);}
.sort-select{background:var(--surface-2);border:1px solid var(--line);color:var(--text);
  border-radius:var(--radius-sm);padding:9px 12px;font-size:.84rem;cursor:pointer;outline:none;}
.sort-select:focus{border-color:var(--coral);}
.load-more-wrap{display:flex;justify-content:center;padding:32px 0 0;}
.loading-row{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.85rem;}
.empty-state{text-align:center;padding:50px 20px;display:flex;flex-direction:column;align-items:center;gap:12px;
  grid-column:1/-1;}
.es-ic{color:var(--muted-2);}
.empty-state h3{font-size:1.4rem;}
.empty-state .muted{max-width:46ch;}
.es-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:8px;}
.es-strip{margin-top:26px;width:100%;}

/* ====================== PRODUCT DETAIL ================================= */
.pdp{padding:26px var(--pad) 0;}
.pdp-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;margin-bottom:20px;}
.pdp-media{position:sticky;top:160px;align-self:start;}
.pdp-main-img{aspect-ratio:1/1;background:var(--off-white);border-radius:var(--radius);
  display:flex;align-items:center;justify-content:center;padding:32px;}
.pdp-img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply;}
.pdp-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap;}
.pdp-thumb{width:64px;height:64px;background:var(--off-white);border:2px solid transparent;
  border-radius:9px;padding:5px;cursor:pointer;}
.pdp-thumb.active{border-color:var(--coral);}
.pdp-thumb img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;}
.pdp-brand{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin-bottom:8px;}
.pdp-name{font-size:1.85rem;margin-bottom:8px;}
.pdp-code{font-size:.82rem;color:var(--muted);font-variant-numeric:tabular-nums;margin-bottom:16px;}
.pdp-stock{margin-bottom:18px;font-size:.8rem;padding:6px 13px;}
.pdp-price{display:flex;align-items:center;gap:14px;margin-bottom:22px;}
.pdp-price-val{font-family:var(--display);font-weight:800;font-size:2.3rem;font-variant-numeric:tabular-nums;}
.pdp-vat{font-size:.82rem;color:var(--muted);}
/* Inc/ex VAT toggle at the price itself (the top-strip toggle is retired) */
.vat-toggle-pdp{flex:none;}
.vat-toggle-pdp button{padding:8px 12px;font-size:.66rem;}
.vat-toggle-pdp button.on{background:var(--aqua);color:var(--navy);}
.pdp-actions{display:flex;gap:12px;align-items:stretch;margin-bottom:12px;}
.pdp-stepper{display:inline-flex;align-items:center;border:1.5px solid var(--line);
  border-radius:var(--radius-sm);overflow:hidden;}
.pdp-stepper .step{width:46px;}
.qd-stepper,.ql-stepper{display:inline-flex;align-items:center;border:1.5px solid var(--line);
  border-radius:var(--radius-sm);overflow:hidden;}
.step{background:var(--surface-2);border:none;color:var(--text);cursor:pointer;font-size:1.2rem;
  width:38px;height:46px;display:flex;align-items:center;justify-content:center;transition:background var(--t);}
.step:hover{background:var(--surface-3);}
.qty{min-width:40px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums;}
.pdp-add{flex:1;}
.pdp-secondary{display:flex;gap:10px;margin-bottom:16px;}
.pdp-secondary .btn{flex:1;}
.pdp-save.saved{border-color:var(--coral);color:var(--coral);}
.pdp-reassure,.pdp-bulk{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--muted);margin:0 0 10px;}
.pdp-reassure .ic{color:var(--teal);}
.pdp-bulk .ic{color:var(--coral);}
.pdp-perks{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--line);padding-top:16px;margin-top:14px;}
.perk{display:flex;gap:12px;padding:10px 0;align-items:center;}
.perk .ic{color:var(--coral);}
.perk strong{display:block;font-family:var(--display);font-size:.9rem;}
.perk span{font-size:.78rem;color:var(--muted);}
.perk-link{cursor:pointer;border-radius:var(--radius-sm);margin:0 -8px;padding-left:8px;padding-right:8px;
  transition:background var(--t);}
.perk-link:hover{background:var(--surface-2);}
.perk-link:hover strong{color:var(--coral-dark);}

/* Free-trial + free-install callout (Retigo) — the vocal point */
.pdp-trial{border:1.5px solid var(--aqua-deep);background:var(--teal-soft);border-radius:var(--radius-sm);
  padding:16px 18px;margin:0 0 14px;}
.trial-head{display:flex;align-items:center;gap:9px;font-family:var(--display);font-weight:800;font-size:1.02rem;color:var(--ink);}
.trial-head .ic{color:var(--aqua-deep);flex:none;}
.trial-body{font-size:.85rem;color:var(--muted);margin:9px 0 13px;line-height:1.55;}
.trial-cta{display:inline-flex;}

/* ====================== RETIGO LANDING / JOURNEY ====================== */
.retigo-hero{background:linear-gradient(110deg,var(--navy),var(--navy-2));color:#fff;padding:48px 0;}
.retigo-hero .eyebrow{color:var(--aqua);}
.retigo-hero h1{color:#fff;font-size:2.6rem;margin:12px 0 0;}
.retigo-lead{color:#C6CDD6;font-size:1.05rem;line-height:1.6;max-width:64ch;margin:16px 0 20px;}
.retigo-trialbar{display:flex;flex-wrap:wrap;gap:10px 22px;}
.retigo-trialbar span{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:700;font-size:.86rem;color:#fff;}
.retigo-trialbar .ic{color:var(--aqua);}
.retigo-body{padding:34px var(--pad) 60px;}
.retigo-loading{display:grid;grid-template-columns:repeat(auto-fill,minmax(218px,1fr));gap:16px;}
.retigo-q{font-size:1.5rem;margin-bottom:18px;}
.retigo-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.retigo-path{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;cursor:pointer;
  background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);padding:28px;
  transition:border-color var(--t),transform var(--t),box-shadow var(--t);font-family:var(--font);}
.retigo-path:hover{border-color:var(--coral);transform:translateY(-3px);box-shadow:var(--shadow);}
.rp-ic{display:inline-flex;width:54px;height:54px;align-items:center;justify-content:center;
  background:var(--coral-soft);color:var(--coral);border-radius:14px;margin-bottom:8px;}
.retigo-path:nth-child(2) .rp-ic{background:var(--teal-soft);color:var(--aqua-deep);}
.retigo-path strong{font-family:var(--display);font-size:1.3rem;color:var(--ink);}
.rp-meta{font-size:.78rem;font-weight:700;color:var(--coral-dark);}
.rp-sub{font-size:.9rem;color:var(--muted);line-height:1.5;margin-top:4px;}
.rp-go{margin-top:14px;font-family:var(--display);font-weight:700;font-size:.84rem;color:var(--ink);display:inline-flex;align-items:center;gap:6px;}
.retigo-path:hover .rp-go{color:var(--coral-dark);}
.retigo-back{display:inline-flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;
  font-family:var(--display);font-weight:700;font-size:.84rem;color:var(--muted);margin-bottom:18px;padding:0;}
.retigo-back:hover{color:var(--coral);}
.retigo-step{margin-bottom:26px;}
.retigo-step h3{font-size:1.15rem;margin-bottom:14px;}
.retigo-opts{display:flex;flex-wrap:wrap;gap:12px;}
.retigo-optbtn{cursor:pointer;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius-pill);
  padding:13px 26px;font-family:var(--display);font-weight:700;font-size:.95rem;color:var(--ink);
  transition:border-color var(--t),background var(--t),color var(--t);}
.retigo-optbtn:hover{border-color:var(--aqua-deep);}
.retigo-optbtn.on{background:var(--navy);border-color:var(--navy);color:#fff;}
.retigo-result{margin-top:8px;}
.retigo-rh{font-size:1.2rem;margin:8px 0 16px;}
.retigo-tip{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--muted);margin-top:18px;}
.retigo-tip .ic{color:var(--aqua-deep);}
@media(max-width:680px){.retigo-paths{grid-template-columns:minmax(0,1fr);}.retigo-hero h1{font-size:2rem;}}

/* decoded model spec line (Retigo) */
.pc-spec{font-size:.72rem;color:var(--aqua-deep);font-weight:600;margin-top:-2px;}
.pdp-spec-line{display:flex;align-items:center;gap:6px;font-size:.84rem;font-weight:600;color:var(--aqua-deep);margin:0 0 16px;}
.pdp-spec-line .ic{color:var(--aqua-deep);flex:none;}

/* order-pad upload + basket export */
.ql-foot-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;}
.pad-upload{margin-top:16px;display:flex;flex-direction:column;gap:9px;align-items:flex-start;}
.pad-upload-tip{font-size:.78rem;color:var(--muted);}

/* Retigo homepage trial hero */
.retigo-home{padding-top:8px;padding-bottom:8px;}
.retigo-promo{display:grid;grid-template-columns:1.3fr .7fr;gap:30px;align-items:center;overflow:hidden;
  background:linear-gradient(110deg,var(--navy),var(--navy-2));border-radius:24px;padding:34px 40px;color:#fff;
  transition:transform var(--t),box-shadow var(--t);}
.retigo-promo:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.retigo-promo-eyebrow{display:inline-flex;align-items:center;gap:7px;font-family:var(--display);font-size:.7rem;
  font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--aqua);}
.retigo-promo-eyebrow .ic{color:var(--aqua);}
.retigo-promo-copy h2{font-size:1.95rem;color:#fff;margin:12px 0 8px;letter-spacing:-.02em;}
.retigo-promo-copy p{margin:0;color:#C6CDD6;font-size:.95rem;line-height:1.55;max-width:54ch;}
.retigo-promo-btn{display:inline-flex;align-items:center;gap:8px;margin-top:18px;background:var(--coral);color:#fff;
  font-family:var(--display);font-weight:700;font-size:.86rem;padding:12px 24px;border-radius:var(--radius-pill);}
.retigo-promo:hover .retigo-promo-btn{background:var(--coral-dark);}
.retigo-promo-art{display:flex;justify-content:center;}
.retigo-promo-art img{max-width:100%;max-height:200px;object-fit:contain;filter:drop-shadow(0 20px 40px rgba(0,0,0,.4));}
@media(max-width:680px){.retigo-promo{grid-template-columns:minmax(0,1fr);padding:26px;}.retigo-promo-art{display:none;}.retigo-promo-copy h2{font-size:1.5rem;}}

/* ====================== PROJECTS & ROLLOUTS =========================== */
.proj-hero{background:linear-gradient(115deg,var(--navy),var(--navy-2));color:#fff;padding:60px 0 54px;}
.proj-hero .eyebrow{color:var(--aqua);}
.proj-hero h1{color:#fff;font-size:2.9rem;letter-spacing:-.025em;margin:14px 0 0;max-width:20ch;}
.proj-lead{color:#C6CDD6;font-size:1.1rem;line-height:1.6;max-width:64ch;margin:18px 0 24px;}
.proj-hero-cta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.proj-call{display:inline-flex;align-items:center;gap:7px;font-family:var(--display);font-weight:700;font-size:.9rem;color:#fff;}
.proj-call .ic{color:var(--aqua);}
.proj-pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;}
.proj-pillar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;}
.proj-pillar-ic{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;background:var(--coral-soft);color:var(--coral);border-radius:13px;margin-bottom:14px;}
.proj-pillar:nth-child(even) .proj-pillar-ic{background:var(--teal-soft);color:var(--aqua-deep);}
.proj-pillar h3{font-size:1.15rem;margin-bottom:8px;}
.proj-pillar p{font-size:.88rem;color:var(--muted);line-height:1.6;margin:0;}
.proj-process-band{background:var(--sand);border-radius:24px;}
.proj-steps{display:flex;flex-direction:column;gap:4px;}
.proj-step{display:flex;gap:16px;align-items:flex-start;padding:16px 0;border-top:1px solid var(--line);}
.proj-step:first-child{border-top:none;}
.proj-step-n{flex:none;width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:800;}
.proj-step strong{display:block;font-family:var(--display);font-size:1.05rem;margin-bottom:3px;}
.proj-step span{font-size:.9rem;color:var(--muted);line-height:1.55;}
.proj-case{display:grid;grid-template-columns:1.4fr .6fr;gap:0;overflow:hidden;border-radius:24px;border:1px solid var(--line);}
.proj-case-body{padding:36px 40px;background:var(--surface);}
.proj-case-eyebrow{font-family:var(--display);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--coral-dark);}
.proj-case-body h2{font-size:1.9rem;margin:8px 0 12px;}
.proj-case-body p{color:#4C504C;line-height:1.65;margin:0 0 22px;max-width:60ch;}
.proj-case-stats{display:flex;gap:30px;flex-wrap:wrap;}
.proj-case-stat strong{display:block;font-family:var(--display);font-weight:800;font-size:1.7rem;color:var(--ink);}
.proj-case-stat span{font-size:.78rem;color:var(--muted);}
.proj-case-quote{display:flex;align-items:center;padding:36px;background:linear-gradient(150deg,var(--navy),var(--navy-2));color:#fff;}
.proj-case-quote p{font-family:var(--display);font-size:1.2rem;font-weight:600;line-height:1.5;margin:0;}
.proj-enquire-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;align-items:start;}
.proj-checklist{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-direction:column;gap:11px;}
.proj-checklist li{display:flex;gap:10px;align-items:center;font-size:.9rem;color:var(--text);}
.proj-check{color:var(--ok);display:flex;flex:none;}
.proj-form{display:flex;flex-direction:column;gap:13px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px;}
/* homepage projects band */
.proj-home{padding-top:8px;padding-bottom:8px;}
.proj-promo{display:block;background:linear-gradient(110deg,var(--coral),var(--coral-dark));color:#fff;border-radius:24px;padding:36px 40px;transition:transform var(--t),box-shadow var(--t);}
.proj-promo:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.proj-promo-eyebrow{display:inline-flex;align-items:center;gap:7px;font-family:var(--display);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.85);}
.proj-promo h2{color:#fff;font-size:1.9rem;margin:12px 0 8px;letter-spacing:-.02em;max-width:22ch;}
.proj-promo p{color:rgba(255,255,255,.92);font-size:.95rem;line-height:1.55;max-width:70ch;margin:0;}
.proj-promo-btn{display:inline-flex;align-items:center;gap:8px;margin-top:18px;background:#fff;color:var(--coral-dark);font-family:var(--display);font-weight:700;font-size:.86rem;padding:12px 24px;border-radius:var(--radius-pill);}
@media(max-width:760px){.proj-hero h1{font-size:2.1rem;}.proj-case{grid-template-columns:minmax(0,1fr);}.proj-enquire-grid{grid-template-columns:minmax(0,1fr);}.proj-promo h2{font-size:1.5rem;}}
.pdp-details-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:44px;}
.pdp-details h2{font-size:1.25rem;margin-bottom:14px;}
.pdp-desc p{margin:0 0 12px;color:#4C504C;line-height:1.65;}
.pdp-acc{margin-top:18px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 16px;}
.pdp-acc summary{padding:13px 0;cursor:pointer;font-weight:700;font-size:.9rem;}
.pdp-acc p{color:var(--muted);font-size:.86rem;padding-bottom:14px;margin:0;}
.pdp-spec-table table{width:100%;border-collapse:collapse;font-size:.85rem;}
.pdp-spec-table th,.pdp-spec-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line-soft);vertical-align:top;}
.pdp-spec-table th{color:var(--muted);font-weight:600;width:42%;}
.pdp-spec-table td{font-weight:600;}
.pdp-details .btn{margin-top:8px;}
.rv-section{border-top:1px solid var(--line-soft);}

.pdp-sticky-bar{position:fixed;left:0;right:0;bottom:0;z-index:150;display:none;
  align-items:center;justify-content:space-between;gap:14px;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-top:1px solid var(--line);box-shadow:0 -12px 34px -18px rgba(35,41,43,.35);
  transform:translateY(110%);transition:transform .35s cubic-bezier(.2,.6,.2,1);}
.pdp-sticky-bar.show{transform:none;}
.psb-price{min-width:0;}
.psb-price strong{font-family:var(--display);font-weight:800;font-size:1.3rem;letter-spacing:-.01em;
  color:var(--ink);font-variant-numeric:tabular-nums;display:block;line-height:1.1;}
.psb-price span{font-size:.66rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.pdp-sticky-bar .btn{flex:none;padding:13px 26px;}

/* ====================== ORDER PAD ===================================== */
.pad-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;align-items:start;}
.pad-input{width:100%;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);
  color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem;
  padding:18px;outline:none;resize:vertical;line-height:1.7;}
.pad-input:focus{border-color:var(--coral);}
.pad-hints{margin:10px 0 16px;font-size:.78rem;color:var(--muted-2);}
.pad-results{min-height:120px;}
.pad-matched{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--ok);margin:0 0 14px;}
.pad-table{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:16px;}
.pad-row{display:grid;grid-template-columns:110px 1fr 64px 96px;gap:10px;align-items:center;
  padding:11px 14px;border-bottom:1px solid var(--line-soft);font-size:.84rem;}
.pad-row:last-child{border-bottom:none;}
.pr-code{font-variant-numeric:tabular-nums;color:var(--muted);}
.pr-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;}
.pr-qty{text-align:right;color:var(--muted);}
.pr-price{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;}
.pad-total{background:var(--surface-2);font-weight:800;}
.pad-missing{margin-top:16px;padding:16px;border:1px dashed var(--warn);border-radius:var(--radius);
  font-size:.85rem;color:var(--warn);}
.pad-missing p{color:var(--muted);margin:8px 0 0;}

/* ====================== LISTS ========================================== */
.list-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:24px;margin-bottom:18px;}
.lc-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;flex-wrap:wrap;}
.lc-head h2{font-size:1.25rem;}
.lc-actions{display:flex;gap:14px;}
.lc-del{color:var(--muted-2);}
.lc-rows{display:flex;flex-direction:column;}
.lc-row{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:14px;align-items:center;
  padding:11px 0;border-bottom:1px solid var(--line-soft);}
.lc-thumb{width:48px;height:48px;object-fit:contain;mix-blend-mode:multiply;background:var(--tint);border-radius:9px;padding:4px;}
.lc-name{font-weight:600;font-size:.88rem;}
.lc-name:hover{color:var(--coral);}
.lc-price{font-weight:700;font-variant-numeric:tabular-nums;min-width:80px;text-align:right;}
.lc-foot{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-top:16px;flex-wrap:wrap;}
.lc-sub{font-weight:700;font-variant-numeric:tabular-nums;}

/* list picker sheet */
.list-sheet-scrim{position:fixed;inset:0;background:rgba(15,17,20,.55);backdrop-filter:blur(2px);z-index:1100;}
.list-sheet{position:fixed;z-index:1200;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(420px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:20px;}
.ls-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
.ls-head .icon-btn{display:flex;}
.ls-product{font-size:.82rem;color:var(--muted);margin-bottom:14px;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;}
.ls-body{display:flex;flex-direction:column;gap:8px;max-height:40vh;overflow-y:auto;margin-bottom:14px;}
.ls-none{font-size:.84rem;}
.ls-row{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--surface-2);
  border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;cursor:pointer;
  color:var(--text);font-weight:600;font-size:.9rem;transition:border-color var(--t);}
.ls-row:hover{border-color:var(--coral);}
.ls-count{font-size:.74rem;color:var(--muted);font-weight:500;}
.ls-new{display:flex;gap:10px;}
.ls-new input{flex:1;background:var(--surface-2);border:1.5px solid var(--line);border-radius:var(--radius-sm);
  padding:11px 13px;color:var(--text);outline:none;min-width:0;}
.ls-new input:focus{border-color:var(--coral);}

/* ====================== QUOTE DRAWER =================================== */
.drawer-scrim{position:fixed;inset:0;background:rgba(15,17,20,.55);backdrop-filter:blur(2px);z-index:900;}
.quote-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--surface);
  z-index:1000;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);
  animation:slideIn .22s cubic-bezier(.4,0,.2,1);}
@keyframes slideIn{from{transform:translateX(100%);}to{transform:translateX(0);}}
.qd-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line);}
.qd-head h2{font-size:1.15rem;display:flex;align-items:center;gap:9px;}
.qd-head .icon-btn{display:flex;}
.qd-body{flex:1;overflow-y:auto;padding:8px 20px;}
.qd-empty{text-align:center;padding:50px 20px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:14px;}
.qd-row{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line-soft);}
.qd-thumb{width:56px;height:56px;object-fit:contain;mix-blend-mode:multiply;background:var(--tint);border-radius:9px;padding:4px;flex:none;}
.qd-info{flex:1;min-width:0;}
.qd-name{font-weight:600;font-size:.84rem;display:block;line-height:1.35;}
.qd-name:hover{color:var(--coral);}
.qd-code{font-size:.7rem;color:var(--muted-2);margin:2px 0 8px;}
.qd-line{text-align:right;display:flex;flex-direction:column;gap:6px;align-items:flex-end;}
.qd-price{font-weight:800;font-variant-numeric:tabular-nums;font-family:var(--display);}
.qd-remove{background:none;border:none;color:var(--muted-2);font-size:.72rem;cursor:pointer;text-decoration:underline;}
.qd-remove:hover{color:var(--coral);}
.qd-foot{border-top:1px solid var(--line);padding:18px 20px;}
.qd-subtotal{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:.9rem;}
.qd-subtotal strong{font-family:var(--display);font-size:1.3rem;font-variant-numeric:tabular-nums;}
.qd-note{font-size:.72rem;color:var(--muted-2);text-align:center;margin:12px 0 0;}

/* ====================== QUOTE PAGE ==================================== */
.quote-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);gap:36px;align-items:start;}
.quote-lines{display:flex;flex-direction:column;}
/* Basket lines rise in one after another (first 8 staggered, rest instant). */
.ql-row{animation:pt-pop .4s cubic-bezier(.2,.7,.3,1.15) backwards;}
.ql-row:nth-child(1){animation-delay:.04s;}.ql-row:nth-child(2){animation-delay:.09s;}
.ql-row:nth-child(3){animation-delay:.14s;}.ql-row:nth-child(4){animation-delay:.19s;}
.ql-row:nth-child(5){animation-delay:.24s;}.ql-row:nth-child(6){animation-delay:.29s;}
.ql-row:nth-child(7){animation-delay:.34s;}.ql-row:nth-child(8){animation-delay:.39s;}
.ql-row{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:16px;align-items:center;
  padding:16px 0;border-bottom:1px solid var(--line);}
.ql-thumb{width:64px;height:64px;object-fit:contain;mix-blend-mode:multiply;background:var(--tint);border-radius:9px;padding:5px;}
.ql-name{font-weight:600;font-size:.92rem;}
.ql-name:hover{color:var(--coral);}
.ql-code{font-size:.74rem;color:var(--muted-2);}
.ql-price{font-weight:800;font-family:var(--display);font-variant-numeric:tabular-nums;min-width:84px;text-align:right;}
.ql-remove{background:none;border:none;color:var(--muted-2);cursor:pointer;padding:6px;border-radius:6px;}
.ql-remove:hover{color:var(--coral);background:var(--surface-2);}
.quote-lines-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;flex-wrap:wrap;}
.ql-quickadd{display:flex;gap:10px;}
.ql-quickadd input{background:var(--surface-2);border:1.5px solid var(--line);border-radius:var(--radius-sm);
  padding:10px 13px;color:var(--text);outline:none;width:220px;}
.ql-quickadd input:focus{border-color:var(--coral);}
/* ── Basket hero: FRESH, light, and it cheers the shopper on ─────────────────
   A soft mint-to-cream wash (no heavy navy) with barely-there aqua/coral glows,
   dark type on light. The rotating .bk-love line spits genuine compliments at
   the buyer (Max). Reduced motion freezes the drift and holds one line. */
.bk-hero{position:relative;overflow:hidden;isolation:isolate;
  background:radial-gradient(130% 105% at 12% -12%,#E7F8F5 0%,#F3FBFA 36%,var(--paper) 68%);
  border-bottom:1px solid var(--line);}
.bk-glow{position:absolute;inset:-42% -25%;z-index:-1;pointer-events:none;
  background:
    radial-gradient(40% 54% at 13% 16%,rgba(78,205,197,.26),transparent 66%),
    radial-gradient(34% 46% at 90% 92%,rgba(255,107,107,.13),transparent 70%);
  filter:blur(10px);animation:bk-drift 18s ease-in-out infinite alternate;}
@keyframes bk-drift{from{transform:translate3d(-2%,-1%,0) scale(1);}to{transform:translate3d(2%,2%,0) scale(1.05);}}
.bk-hero-in{padding:30px 0 28px;}
.bk-crumbs{color:var(--muted);}
.bk-crumbs a{color:var(--muted);}
.bk-crumbs a:hover{color:var(--aqua-deep);}
.bk-h1{font-size:clamp(2.1rem,4.6vw,3.3rem);letter-spacing:-.02em;margin:10px 0 4px;color:var(--ink);}
/* Headline entrance: words rise, the coral full stop pops in last with a spring. */
.bk-w{display:inline-block;animation:bk-rise .6s cubic-bezier(.2,.7,.25,1) backwards;}
.bk-w2{animation-delay:.09s;}
.bk-dot{display:inline-block;color:var(--coral);
  animation:bk-dotpop .5s cubic-bezier(.3,1.7,.4,1) .38s backwards;}
@keyframes bk-rise{from{opacity:0;transform:translateY(26px);}}
@keyframes bk-dotpop{from{opacity:0;transform:scale(0);}60%{transform:scale(1.45);}to{opacity:1;transform:scale(1);}}
/* The warm rotating compliment: a beating coral heart + a line that fades over. */
.bk-love{display:inline-flex;align-items:center;gap:9px;margin:4px 0 12px;
  font-family:var(--display);font-size:clamp(1.05rem,2.3vw,1.4rem);font-weight:700;
  letter-spacing:-.01em;color:var(--aqua-deep);}
.bk-love-heart{display:inline-flex;color:var(--coral);animation:bk-beat 1.7s ease-in-out infinite;}
.bk-love-txt{transition:opacity .26s ease,transform .26s ease;}
.bk-love.is-swap .bk-love-txt{opacity:0;transform:translateY(5px);}
@keyframes bk-beat{0%,100%{transform:scale(1);}16%{transform:scale(1.22);}32%{transform:scale(1);}48%{transform:scale(1.14);}64%{transform:scale(1);}}
.bk-sub{max-width:560px;color:var(--muted);font-size:.98rem;line-height:1.55;}
.bk-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;}
.bk-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:var(--radius-pill);
  font-size:.8rem;font-weight:600;color:var(--ink);
  background:#fff;border:1px solid var(--line);box-shadow:0 2px 8px -6px rgba(38,46,56,.28);
  animation:pt-pop .5s cubic-bezier(.2,.7,.3,1.25) backwards;}
.bk-chip:nth-child(1){animation-delay:.08s;}
.bk-chip:nth-child(2){animation-delay:.16s;}
.bk-chip:nth-child(3){animation-delay:.24s;}
.bk-chip:nth-child(4){animation-delay:.32s;}
.bk-chip .ic{color:var(--aqua-deep);}
.bk-chip strong{color:var(--ink);}
.bk-chip-count{background:rgba(78,205,197,.12);border-color:rgba(78,205,197,.42);}
.bk-chip-call{text-decoration:none;transition:border-color var(--t),background var(--t),transform var(--t);}
.bk-chip-call:hover{border-color:var(--aqua);background:rgba(78,205,197,.1);transform:translateY(-1px);}
@media (max-width:640px){.bk-hero-in{padding:24px 0 20px;}.bk-chips{gap:6px;}.bk-chip{padding:6px 11px;font-size:.75rem;}.bk-love{font-size:1.06rem;}}

/* ── Order summary: the conversion card ── */
.quote-summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;position:sticky;top:160px;
  border-top:4px solid var(--aqua);box-shadow:0 10px 34px -18px rgba(38,46,56,.28);}
.quote-summary h2{font-size:1.2rem;margin-bottom:16px;}
.sum-head{display:flex;flex-direction:column;gap:2px;margin-bottom:12px;}
.sum-head h2{margin-bottom:0;}
.sum-eta{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;color:var(--aqua-deep);}
/* Applied discount: the saving reads as a WIN — aqua tag, struck-through carriage. */
.sum-deal{color:var(--aqua-deep);font-weight:600;}
.sum-deal-tag{display:inline-block;padding:1px 7px;margin-right:2px;border-radius:6px;font-size:.7rem;font-weight:800;
  letter-spacing:.04em;background:rgba(78,205,197,.16);border:1px solid rgba(47,179,170,.35);color:var(--aqua-deep);}
.sum-deal-val{color:var(--aqua-deep);font-weight:800;}
.sum-strike{color:var(--muted);font-weight:500;}
/* Payment marks: real logos (inline SVG), staggered pop-in, gentle hover lift.
   The global prefers-reduced-motion block freezes the entrance. */
.pay-trust{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:12px;}
.pt-label{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;
  letter-spacing:.02em;color:var(--aqua-deep);}
.pt-row{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;}
.pt-chip{display:inline-flex;align-items:center;justify-content:center;padding:4px 9px;
  border-radius:8px;background:#fff;border:1px solid var(--line);
  animation:pt-pop .45s cubic-bezier(.2,.7,.3,1.25) backwards;
  transition:transform var(--t),border-color var(--t),box-shadow var(--t);}
.pt-chip svg{display:block;height:17px;width:auto;}
.pt-chip:hover{transform:translateY(-2px);border-color:var(--aqua);box-shadow:0 6px 14px -8px rgba(38,46,56,.35);}
.pt-chip:nth-child(1){animation-delay:.05s;}
.pt-chip:nth-child(2){animation-delay:.12s;}
.pt-chip:nth-child(3){animation-delay:.19s;}
.pt-chip:nth-child(4){animation-delay:.26s;}
.pt-chip:nth-child(5){animation-delay:.33s;}
@keyframes pt-pop{from{opacity:0;transform:translateY(8px) scale(.9);}to{opacity:1;transform:none;}}
.paynow .btn-coral.btn-block{transition:transform var(--t),box-shadow var(--t);}
.paynow .btn-coral.btn-block:hover{transform:translateY(-1px);box-shadow:0 10px 24px -10px rgba(255,107,107,.55);}

/* ── One-tap account card on the order-confirmed screen ── */
.cs-account{max-width:430px;margin:26px auto 0;padding:20px 22px;text-align:left;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  border-top:4px solid var(--aqua);box-shadow:0 10px 34px -18px rgba(38,46,56,.28);
  animation:pt-pop .5s cubic-bezier(.2,.7,.3,1.2) .3s backwards;}
.cs-acc-head{display:flex;align-items:center;gap:8px;font-family:var(--display);font-size:1.02rem;margin-bottom:6px;}
.cs-acc-head .ic{color:var(--aqua-deep);}
.cs-acc-sub{font-size:.85rem;color:var(--muted);line-height:1.5;margin-bottom:12px;}
.cs-account input{width:100%;margin-bottom:10px;}
.cs-account .btn{width:100%;justify-content:center;}
.cs-acc-code{display:flex;gap:8px;}
.cs-acc-code input{flex:1;margin-bottom:0;text-align:center;font-weight:700;letter-spacing:.35em;}
.cs-acc-code .btn{width:auto;flex:0 0 auto;}
.cs-acc-msg{font-size:.8rem;margin-top:10px;}
.cs-acc-msg.ok{color:var(--aqua-deep);}
.cs-acc-msg.err{color:var(--coral-dark);}
.sum-row{display:flex;justify-content:space-between;padding:7px 0;font-size:.88rem;color:var(--muted);font-variant-numeric:tabular-nums;}
.sum-total{display:flex;justify-content:space-between;align-items:center;padding:14px 0;margin-top:6px;
  border-top:1px solid var(--line);}
.sum-total strong{font-family:var(--display);font-size:1.5rem;font-variant-numeric:tabular-nums;}
.enquiry-form{margin-top:22px;border-top:1px solid var(--line);padding-top:20px;display:flex;flex-direction:column;gap:13px;}
.enquiry-form h3{font-size:1.05rem;}
.ef-field{display:flex;flex-direction:column;gap:5px;font-size:.8rem;color:var(--muted);font-weight:600;}
.ef-field em{color:var(--coral);font-style:normal;}
.ef-field input,.ef-field textarea{background:var(--surface-2);border:1.5px solid var(--line);
  border-radius:var(--radius-sm);padding:11px 13px;color:var(--text);font-size:.92rem;outline:none;resize:vertical;}
.ef-field input:focus,.ef-field textarea:focus{border-color:var(--coral);}
.ef-note{font-size:.74rem;color:var(--muted-2);display:flex;gap:7px;align-items:center;margin:2px 0 0;}
.ef-note .ic{color:var(--teal);}
.form-err{color:var(--coral);font-size:.8rem;}
.enquiry-done{text-align:center;padding:24px 0;display:flex;flex-direction:column;align-items:center;gap:10px;}
.enquiry-done .es-ic{color:var(--ok);}

/* Pay-now (card checkout) block + the "or" divider on the basket summary */
.sum-delivery{font-size:.78rem;margin:8px 0 0;display:flex;gap:6px;align-items:center;}
.sum-delivery .ic{color:var(--ok);}
.paynow{margin-top:18px;display:flex;flex-direction:column;gap:11px;}
.paynow h3{font-size:1.05rem;}
.quote-or{display:flex;align-items:center;text-align:center;color:var(--muted-2);font-size:.76rem;
  text-transform:uppercase;letter-spacing:.14em;margin:18px 0 2px;}
.quote-or::before,.quote-or::after{content:"";flex:1;height:1px;background:var(--line);}
.quote-or span{padding:0 12px;}
/* the "or" divider already separates this from pay-now, so drop the form's own rule */
.enquiry-form{margin-top:4px;border-top:none;padding-top:0;}

/* Live next-day delivery chip (cards, search, PDP) */
.nextday-chip{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;
  border-radius:var(--radius-pill);background:var(--teal-soft);color:var(--green);
  font-size:.68rem;font-weight:700;letter-spacing:.02em;white-space:nowrap;vertical-align:middle;}
.nextday-chip .ic{width:12px;height:12px;}
.pdp-nextday{font-size:.74rem;margin-left:10px;}
/* B6 — order-by countdown, its own wrapping line under the next-day chip. */
.pdp-cutoff{display:flex;align-items:center;gap:6px;margin:6px 0 0;font-size:.76rem;
  font-weight:600;line-height:1.35;color:var(--coral-dark);}
.pdp-cutoff[hidden]{display:none;}
.pdp-cutoff .ic{width:13px;height:13px;flex:0 0 auto;}
.pdp-cutoff strong{font-weight:800;}

/* Postcode delivery-date ETA (B15): a dated promise + inline postcode capture. */

/* "You last ordered this" (B11): a soft aqua cue with one-tap re-add. */
.pdp-lastordered{margin:14px 0 2px;padding:12px 14px;border-radius:12px;
  background:rgba(78,205,197,.12);border:1px solid rgba(47,179,170,.24);}
.pdp-lastordered[hidden]{display:none;}
.pdp-lo-body{display:flex;align-items:center;gap:11px;flex-wrap:wrap;}
.pdp-lo-mark{display:flex;color:var(--aqua-deep,#2FB3AA);flex:0 0 auto;}
.pdp-lo-txt{flex:1;min-width:140px;font-size:.85rem;color:var(--text);line-height:1.4;}
.pdp-lo-txt strong{font-weight:800;color:var(--ink);}
.pdp-lo-readd{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:9px;
  border:1px solid var(--aqua-deep,#2FB3AA);background:#fff;color:var(--aqua-deep,#2FB3AA);
  font-family:var(--display);font-weight:800;font-size:.82rem;cursor:pointer;transition:all var(--t);}
.pdp-lo-readd:hover{background:var(--aqua-deep,#2FB3AA);color:#fff;}

/* ====================== ACCOUNT ======================================= */
.account-wrap{display:grid;grid-template-columns:1fr .9fr;gap:48px;padding:56px var(--pad);max-width:var(--maxw);margin:0 auto;align-items:start;}
.login-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:36px;}
.login-card h1{font-size:1.7rem;margin:10px 0 10px;}
.login-form{margin-top:22px;display:flex;flex-direction:column;gap:14px;}
/* Sign-in method switch: password ↔ email code. */
.login-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:20px;padding:4px;
  background:var(--tint);border:1px solid var(--line);border-radius:var(--radius-pill);}
.login-tab{border:0;background:transparent;padding:9px 14px;border-radius:var(--radius-pill);
  font-family:var(--display);font-size:.9rem;font-weight:700;color:var(--muted);cursor:pointer;
  transition:background var(--t),color var(--t),box-shadow var(--t);}
.login-tab:hover{color:var(--ink);}
.login-tab.on{background:#fff;color:var(--ink);box-shadow:0 2px 8px -3px rgba(38,46,56,.28);}
.login-alt{align-self:center;margin-top:2px;font-size:.84rem;}
/* Set-a-password inline box in the portal. */
.acct-pw-set{display:flex;flex-direction:column;gap:12px;width:100%;max-width:340px;margin-left:auto;
  padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;}
.acct-pw-msg{font-size:.82rem;margin:0;}
.acct-pw-msg.ok{color:var(--aqua-deep);display:flex;align-items:center;gap:6px;}
.acct-pw-msg.err{color:var(--coral-dark);}
.login-sent{text-align:center;padding:20px 0;display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:22px;}
.login-sent .es-ic{color:var(--ok);}
.login-cta{margin-top:20px;font-size:.84rem;color:var(--muted);}
.login-cta a{color:var(--coral);text-decoration:underline;}
.login-perks{padding-top:10px;}
.login-perks h2{font-size:1.3rem;margin-bottom:18px;}
.login-perks .perk{padding:13px 0;border-bottom:1px solid var(--line-soft);align-items:flex-start;}
.dash-head{display:flex;justify-content:space-between;align-items:center;padding:44px var(--pad) 24px;max-width:var(--maxw);margin:0 auto;flex-wrap:wrap;gap:16px;}
.dash-head h1{font-size:1.9rem;}
.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;padding-bottom:24px;}
.dash-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;}
.tile-ic{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;
  background:var(--coral-soft);color:var(--coral);border-radius:10px;margin-bottom:12px;}
.dash-tile h3{font-size:1.05rem;margin-bottom:8px;}
.tile-body{font-size:.84rem;color:var(--muted);}
.kv{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:.84rem;}
.kv span{color:var(--muted);}
.dash-note{padding-bottom:50px;}
.dash-note p{display:flex;align-items:center;gap:8px;font-size:.82rem;}

/* ====================== DELIVERY ====================================== */
.delivery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.delivery-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;}
.delivery-card h2{font-size:1.15rem;margin:10px 0 8px;}
.delivery-card p{color:var(--muted);font-size:.9rem;margin:0;}

/* ====================== FOOTER ======================================== */
.trust-strip{background:var(--paper);border-top:1px solid var(--line);}
.trust-strip-inner{display:flex;justify-content:space-between;gap:18px;padding:16px 0;flex-wrap:wrap;}
.trust-strip-inner span{display:inline-flex;align-items:center;gap:9px;font-size:.8rem;font-weight:600;color:var(--muted);}
.trust-strip-inner .ic{color:var(--ok);}
.footer-cta{background:var(--coral);color:#fff;}
.footer-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:34px 0;flex-wrap:wrap;}
.footer-cta h3{font-size:1.5rem;color:#fff;}
.footer-cta p{margin:6px 0 0;font-size:.92rem;max-width:54ch;opacity:.92;}
.footer-cta .btn-ink{background:#fff;color:var(--coral-dark);border-color:#fff;}
.footer-cta .btn-ink:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
/* grounding green footer with white wordmark */
.site-footer{background:var(--green);border-top:1px solid var(--green);padding:48px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;padding-bottom:28px;}
.footer-brand .logo-lw{height:26px;margin-bottom:14px;filter:brightness(0) invert(1);}
.footer-brand p{font-size:.84rem;color:#8A93A0;max-width:38ch;}
.foot-contact a{color:#AEB7C2;}
.foot-contact a:hover{color:#fff;}
.footer-col h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#fff;
  font-family:var(--display);margin-bottom:14px;}
.footer-col a{display:block;font-size:.86rem;color:#AEB7C2;padding:5px 0;transition:color var(--t);}
.footer-col a:hover{color:#fff;}
.footer-news{display:flex;justify-content:space-between;align-items:center;gap:24px;
  border-top:1px solid rgba(255,255,255,.12);padding-top:24px;padding-bottom:24px;flex-wrap:wrap;}
.footer-news strong{font-family:var(--display);font-size:1.05rem;color:#fff;}
.footer-news p{margin:4px 0 0;font-size:.82rem;color:#AEB7C2;}
.news-form{display:flex;gap:10px;}
.news-form input{background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.18);border-radius:var(--radius-pill);
  padding:11px 16px;color:#fff;outline:none;width:260px;max-width:60vw;}
.news-form input::placeholder{color:#8A93A0;}
.news-form input:focus{border-color:var(--coral);}
.news-done{display:flex;align-items:center;gap:8px;color:var(--aqua);font-weight:700;}
.footer-legal{display:flex;justify-content:space-between;gap:16px;padding:20px 0;border-top:1px solid rgba(255,255,255,.12);
  background:var(--green-deep);font-size:.74rem;color:#7C8593;flex-wrap:wrap;}

/* ====================== TOAST ========================================= */
/* Slim confirmation pill. Bottom-centre on desktop; on mobile it drops from the
   TOP under the header so it never sits over the checkout / Add-to-basket CTA. */
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,160%);
  display:flex;align-items:center;gap:9px;background:var(--ink);color:var(--paper);
  padding:11px 18px 11px 14px;border-radius:var(--radius-pill);box-shadow:var(--shadow-lg);
  z-index:1600;font-size:.85rem;font-weight:600;max-width:min(90vw,420px);
  transition:transform .32s cubic-bezier(.2,.9,.3,1.2),opacity .25s;opacity:0;}
.toast::before{content:"";flex:none;width:19px;height:19px;border-radius:50%;
  background:var(--ok) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>") center/12px no-repeat;}
.toast.show{transform:translate(-50%,0);opacity:1;}
.toast-warn::before{background:var(--warn);}
.toast-err::before{background:var(--coral);}
/* Inline action button on a toast (e.g. Undo, B7). */
.toast-msg{flex:1 1 auto;min-width:0;}
.toast-action{flex:none;margin-left:2px;background:none;border:0;padding:2px 4px;cursor:pointer;
  font:inherit;font-weight:800;color:var(--aqua);text-decoration:underline;text-underline-offset:2px;border-radius:6px;}
.toast-action:hover{color:#fff;}
.toast-action:focus-visible{outline:2px solid var(--aqua);outline-offset:2px;}
@media(max-width:640px){
  .toast{bottom:auto;top:calc(var(--header-h,64px) + 10px);transform:translate(-50%,-160%);}
  .toast.show{transform:translate(-50%,0);}
}

/* ====================== RESPONSIVE ==================================== */
@media(max-width:1100px){
  :root{--pad:24px;}
  .hero-copy h1{font-size:2.6rem;}
  .cat-layout{grid-template-columns:200px 1fr;gap:22px;}
}
@media(max-width:1024px){
  .pdp-media,.quote-summary{position:static;}
}
@media(max-width:880px){
  .hero-inner,.trade-inner,.pad-inner,.pdp-grid,.pdp-details-grid,.quote-layout,.account-wrap,
  .pdp-skeleton,.pad-layout,.delivery-grid{grid-template-columns:minmax(0,1fr);gap:30px;}
  .cat-layout{grid-template-columns:minmax(0,1fr);gap:18px;}
  .hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .icon-btn.menu-btn{display:flex;}
  .main-nav-row{display:none;}
  .header-actions .action-link span{display:none;}
  .vat-toggle{display:none;}
  /* Header wraps: menu + logo + icons on row 1, full-width search on row 2 */
  .header-inner{flex-wrap:wrap;row-gap:11px;column-gap:10px;padding:12px 0;}
  .brand{margin-right:auto;}
  .header-search{order:9;flex:1 0 100%;margin-left:0;}
  .header-actions{gap:2px;}
  .action-link{padding:8px;}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .footer-cta-inner{flex-direction:column;align-items:flex-start;}
  /* Filters become a bottom sheet */
  .cat-filter-btn{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1.5px solid var(--ink);
    border-radius:var(--radius-pill);padding:9px 15px;font-family:var(--display);font-weight:700;font-size:.82rem;
    color:var(--ink);cursor:pointer;min-height:40px;}
  .cat-filter-count{background:var(--coral);color:#fff;border-radius:50%;min-width:19px;height:19px;
    display:inline-flex;align-items:center;justify-content:center;font-size:.66rem;font-weight:800;}
  .cat-toolbar-right{display:flex;align-items:center;gap:10px;}
  .facet-rail{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:1200;background:var(--surface);
    border-radius:22px 22px 0 0;box-shadow:var(--shadow-lg);transform:translateY(101%);
    transition:transform .28s cubic-bezier(.4,0,.2,1);flex-direction:column;overflow-y:auto;
    max-height:84vh;padding:0 18px 26px;gap:0;}
  body.cat-filters-open{overflow:hidden;}
  body.cat-filters-open .facet-rail{transform:translateY(0);}
  .cat-filter-scrim{display:block;position:fixed;inset:0;background:rgba(15,17,20,.5);backdrop-filter:blur(2px);z-index:1150;
    opacity:0;pointer-events:none;transition:opacity .25s;}
  body.cat-filters-open .cat-filter-scrim{opacity:1;pointer-events:auto;}
  .facet-sheet-head{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;
    background:var(--surface);padding:16px 0 12px;border-bottom:1px solid var(--line);margin-bottom:6px;z-index:1;}
  .facet-sheet-head strong{font-family:var(--display);font-size:1.15rem;}
  .facet-sheet-head .icon-btn{display:flex;}
  .facet-group{border:none;padding:10px 0;background:transparent;border-bottom:1px solid var(--line-soft);border-radius:0;}
  .facet-link{padding:12px 8px;font-size:.95rem;}
  .pdp-sticky-bar{display:flex;}
  .trust-strip-inner{justify-content:flex-start;}
  /* Phase 3: bigger tap targets for checkbox/swatch facets in the sheet */
  .facet-check{padding:11px 8px;font-size:.95rem;}
  .fc-box{width:20px;height:20px;}
  .fc-swatch{width:22px;height:22px;}
  .fc-swatch-grid{gap:4px;}
  /* pill row scrolls sideways rather than stacking tall */
  .cat-chips{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px;}
  .cat-chips::-webkit-scrollbar{display:none;}
  .cat-chips>*{flex:none;}
  /* sticky "Show N results" apply bar at the foot of the filter sheet */
  .facet-apply-bar{display:flex;gap:12px;align-items:center;position:sticky;bottom:0;
    margin:6px -18px 0;padding:14px 18px calc(14px + env(safe-area-inset-bottom));
    background:var(--surface);border-top:1px solid var(--line);z-index:2;
    box-shadow:0 -8px 20px -12px rgba(38,46,56,.25);}
  .ab-clear{flex:none;background:none;border:none;font-family:var(--display);font-weight:700;
    font-size:.85rem;color:var(--muted);cursor:pointer;padding:10px 2px;}
  .ab-apply{flex:1 1 auto;min-height:48px;border:none;border-radius:var(--radius-pill);
    background:var(--coral);color:#fff;font-family:var(--display);font-weight:800;font-size:.95rem;
    cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;
    transition:transform var(--t),opacity var(--t);}
  .ab-apply:active{transform:scale(.98);}
  .ab-apply:disabled{opacity:.5;}
  .ab-apply .ab-n{font-variant-numeric:tabular-nums;}
  .facet-apply-bar.is-counting .ab-apply{opacity:.7;}
}
@media(max-width:560px){
  .hero-copy h1{font-size:2.05rem;}
  .hero-search{flex-direction:column;}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;}
  .pc-name{font-size:.8rem;}
  .top-strip .hours,.top-strip .contact a:first-child{display:none;}
  .band-head{flex-direction:column;align-items:flex-start;}
  .footer-grid{grid-template-columns:minmax(0,1fr);}
  .ql-row{grid-template-columns:auto 1fr auto;grid-row-gap:10px;}
  .ql-thumb{grid-row:span 2;}
  .section{padding:38px 0;}
  .pad-row{grid-template-columns:84px 1fr 50px 80px;font-size:.78rem;}
  .lc-row{grid-template-columns:auto 1fr auto;grid-row-gap:8px;}
  .lc-thumb{grid-row:span 2;}
}
/* ====================== SCROLL REVEALS ================================ */
.rev{opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.2,.6,.2,1),transform .6s cubic-bezier(.2,.6,.2,1);}
.rev-in{opacity:1;transform:none;}
.rev-d1{transition-delay:.1s;}
.rev-d2{transition-delay:.2s;}
.rev-d3{transition-delay:.3s;}

/* ====================== HOUSE OF LORDWELL PILLARS ===================== */
.pillars-band{background:var(--sand);border-bottom:1px solid var(--line-soft);}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.pillar{position:relative;display:flex;flex-direction:column;gap:12px;padding:30px 26px;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;transition:border-color var(--t),transform var(--t),box-shadow var(--t);}
.pillar::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;
  background:linear-gradient(90deg,var(--coral),var(--teal));opacity:0;transition:opacity var(--t);}
.pillar:hover{transform:translateY(-5px);border-color:var(--coral);box-shadow:var(--shadow-lg);}
.pillar:hover::before{opacity:1;}
.pillar-num{position:absolute;top:14px;right:18px;font-family:var(--display);font-weight:800;
  font-size:2.6rem;color:var(--surface-3);letter-spacing:-.03em;line-height:1;
  transition:color var(--t);}
.pillar:hover .pillar-num{color:var(--coral-soft);}
.pillar-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;
  border-radius:12px;background:var(--coral-soft);color:var(--coral);}
.pillar-tradewell .pillar-icon{background:var(--teal-soft);color:var(--teal);}
.pillar h3{font-size:1.3rem;}
.pillar-blurb{font-size:.88rem;color:var(--muted);line-height:1.6;margin:0;}
.pillar-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.pillar-points li{display:flex;gap:9px;align-items:center;font-size:.82rem;color:var(--text);}
.pillar-cta{margin-top:auto;padding-top:14px;font-weight:700;font-size:.82rem;color:var(--coral);
  display:inline-flex;align-items:center;gap:6px;}
.pillar-tradewell .pillar-cta{color:var(--teal);}

/* ====================== GRABBGO LANDING =============================== */
.gg-page{--heat1:#F0A05A;--heat2:#E0867E;}
.gg-flame-text{background:linear-gradient(92deg,var(--heat1),var(--heat2) 70%);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.gg-btn-flame{background:linear-gradient(92deg,var(--heat1),var(--heat2));color:var(--ink);
  border:none;box-shadow:0 10px 30px -12px rgba(224,134,126,.55);}
.gg-btn-flame:hover{filter:brightness(1.07);}
.btn-ghost-light{background:transparent;border-color:rgba(255,255,255,.35);color:#fff;}
.btn-ghost-light:hover{background:#fff;color:var(--ink);border-color:#fff;}

.gg-hero{position:relative;overflow:hidden;background:var(--ink-2);border-bottom:1px solid var(--line);}
.gg-hero-glow{position:absolute;top:-30%;right:-12%;width:62%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(240,160,90,.16) 0%,rgba(224,134,126,.08) 42%,transparent 70%);
  animation:ggGlow 7s ease-in-out infinite alternate;pointer-events:none;}
@keyframes ggGlow{from{transform:scale(1) translateY(0);}to{transform:scale(1.15) translateY(4%);}}
.gg-hero-inner{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;
  align-items:center;padding:74px 0 70px;}
.gg-badges{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px;}
.gg-est{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--heat1);border:1px solid rgba(240,160,90,.4);border-radius:var(--radius-pill);padding:7px 13px;}
.gg-lw{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);border:1px solid var(--line);border-radius:var(--radius-pill);padding:7px 13px;}
.gg-title{font-size:4rem;font-weight:800;letter-spacing:-.03em;line-height:1.02;margin:0 0 20px;}
.gg-sub{font-size:1.1rem;color:var(--muted);line-height:1.65;max-width:50ch;margin:0 0 26px;}
.gg-cta-row{display:flex;gap:12px;flex-wrap:wrap;}
.gg-microtrust{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--muted-2);margin:18px 0 0;}
.gg-microtrust .ic{color:var(--teal);}

.gg-hero-art{position:relative;}
.gg-art-float{animation:ggFloat 5.5s ease-in-out infinite;}
@keyframes ggFloat{0%,100%{transform:translateY(0) rotate(-.4deg);}50%{transform:translateY(-14px) rotate(.5deg);}}
.gg-art-svg{width:100%;height:auto;display:block;filter:drop-shadow(0 30px 50px rgba(0,0,0,.35));}
.gg-shadow{animation:ggShadow 5.5s ease-in-out infinite;transform-origin:center;}
@keyframes ggShadow{0%,100%{transform:scaleX(1);opacity:.9;}50%{transform:scaleX(.92);opacity:.55;}}
.gg-steam path{stroke-dasharray:160;stroke-dashoffset:160;animation:ggSteam 3.4s ease-out infinite;}
.gg-steam-2{animation-delay:.7s!important;}
.gg-steam-3{animation-delay:1.4s!important;}
@keyframes ggSteam{0%{stroke-dashoffset:160;opacity:0;transform:translateY(8px);}
  18%{opacity:1;}70%{stroke-dashoffset:0;opacity:.5;}100%{stroke-dashoffset:0;opacity:0;transform:translateY(-16px);}}
.gg-art-tag{position:absolute;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius-pill);padding:8px 15px;font-size:.74rem;font-weight:800;
  letter-spacing:.04em;text-transform:uppercase;color:var(--heat1);box-shadow:var(--shadow);
  animation:ggTag 4.6s ease-in-out infinite;}
.gg-art-tag-1{top:8%;left:2%;animation-delay:.4s;}
.gg-art-tag-2{top:30%;right:-2%;color:var(--teal);animation-delay:1.3s;}
.gg-art-tag-3{bottom:12%;left:10%;color:var(--coral);animation-delay:2.2s;}
@keyframes ggTag{0%,100%{transform:translateY(0);}50%{transform:translateY(-9px);}}

.gg-marquee{overflow:hidden;background:linear-gradient(92deg,var(--heat1),var(--heat2));
  padding:12px 0;border-bottom:1px solid var(--line);}
.gg-marquee-track{display:inline-flex;white-space:nowrap;animation:ggMarquee 26s linear infinite;
  will-change:transform;}
.gg-marquee-track span{font-family:var(--display);font-weight:800;font-size:.86rem;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ink);}
.gg-marquee-track i{font-style:normal;color:rgba(26,28,34,.55);margin:0 18px;}
@keyframes ggMarquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

.gg-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.gg-stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:26px 22px;text-align:center;}
.gg-stat-num{display:block;font-family:var(--display);font-weight:800;font-size:2.3rem;
  letter-spacing:-.02em;font-variant-numeric:tabular-nums;
  background:linear-gradient(92deg,var(--heat1),var(--heat2));
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.gg-stat-label{font-size:.78rem;color:var(--muted);}

.gg-measure{max-width:64ch;}
.gg-maths{background:linear-gradient(180deg,var(--bg),var(--ink));}
.gg-vs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:30px 0;}
.gg-vs-col{border-radius:var(--radius);padding:28px;border:1px solid var(--line);}
.gg-vs-old{background:var(--surface);}
.gg-vs-old h3{color:var(--muted);}
.gg-vs-new{position:relative;background:linear-gradient(160deg,rgba(240,160,90,.1),rgba(224,134,126,.06)),var(--surface);
  border-color:rgba(224,134,126,.45);}
.gg-vs-flag{position:absolute;top:-12px;left:24px;background:linear-gradient(92deg,var(--heat1),var(--heat2));
  color:var(--ink);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  padding:5px 12px;border-radius:var(--radius-pill);}
.gg-vs-col h3{font-size:1.2rem;margin-bottom:16px;}
.gg-vs-row{display:flex;gap:11px;align-items:center;padding:9px 0;font-size:.88rem;
  border-bottom:1px dashed var(--line-soft);}
.gg-vs-row:last-child{border-bottom:none;}
.gg-x{color:var(--muted-2);flex:none;display:flex;}
.gg-tick{color:var(--ok);flex:none;display:flex;}
.gg-quote{margin:34px auto 0;max-width:680px;text-align:center;border:none;padding:0;}
.gg-quote p{font-family:var(--display);font-size:1.35rem;font-weight:600;line-height:1.45;margin:0 0 10px;}
.gg-quote cite{font-style:normal;font-size:.8rem;color:var(--muted);}

.gg-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.gg-step{position:relative;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);padding:30px 26px;overflow:hidden;
  transition:transform var(--t),border-color var(--t);}
.gg-step:hover{transform:translateY(-4px);border-color:var(--heat2);}
.gg-step-num{font-family:var(--display);font-weight:800;font-size:3rem;line-height:1;
  letter-spacing:-.03em;background:linear-gradient(92deg,var(--heat1),var(--heat2));
  -webkit-background-clip:text;background-clip:text;color:transparent;display:block;margin-bottom:12px;}
.gg-step h3{font-size:1.35rem;margin-bottom:10px;}
.gg-step p{font-size:.88rem;color:var(--muted);line-height:1.6;margin:0;}

.gg-origin{background:var(--ink);}
.gg-timeline{position:relative;margin:34px 0 38px;display:flex;flex-direction:column;gap:26px;}
.gg-timeline::before{content:"";position:absolute;left:84px;top:8px;bottom:8px;width:2px;
  background:linear-gradient(180deg,var(--heat1),var(--heat2),var(--teal));opacity:.5;}
.gg-era{display:grid;grid-template-columns:70px 30px 1fr;gap:0 14px;align-items:start;}
.gg-era-when{font-family:var(--display);font-weight:800;font-size:.92rem;color:var(--heat1);
  text-align:right;padding-top:2px;}
.gg-era-dot{width:13px;height:13px;border-radius:50%;margin-top:5px;justify-self:center;
  background:linear-gradient(92deg,var(--heat1),var(--heat2));
  box-shadow:0 0 0 5px rgba(224,134,126,.15);}
.gg-era-body h3{font-size:1.12rem;margin-bottom:6px;}
.gg-era-body p{font-size:.9rem;color:var(--muted);line-height:1.65;margin:0;max-width:70ch;}
.gg-trust{border-top:1px solid var(--line-soft);padding-top:26px;}
.gg-trust-label{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted-2);display:block;margin-bottom:14px;}
.gg-trust-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;}
.gg-badge-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);
  padding:16px;transition:border-color var(--t),transform var(--t);}
.gg-badge-card:hover{border-color:var(--heat2);transform:translateY(-2px);}
.gg-badge-card strong{display:block;font-family:var(--display);font-size:1rem;}
.gg-badge-card span{font-size:.74rem;color:var(--muted);}

.gg-spec-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.gg-spec h2{margin:10px 0 8px;font-size:1.7rem;}
.gg-spec-table{width:100%;border-collapse:collapse;font-size:.88rem;margin:22px 0 24px;}
.gg-spec-table th,.gg-spec-table td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line-soft);}
.gg-spec-table th{color:var(--muted);font-weight:600;width:38%;}
.gg-spec-table td{font-weight:600;}
.gg-spec-art{display:flex;justify-content:center;}
.gg-spec-card{position:relative;width:min(340px,80%);aspect-ratio:1;background:var(--surface);
  border:1px solid var(--line);border-radius:24px;display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-lg);}
.gg-spec-ring{position:absolute;inset:-14px;border:1.5px dashed rgba(224,134,126,.4);border-radius:30px;
  animation:ggSpin 26s linear infinite;}
@keyframes ggSpin{to{transform:rotate(360deg);}}
.gg-spec-svg{width:72%;height:auto;}
.gg-spec-sku{position:absolute;top:16px;left:18px;font-family:var(--display);font-weight:800;
  font-size:.78rem;letter-spacing:.1em;color:var(--muted-2);}
.gg-spec-note{position:absolute;bottom:14px;right:18px;font-size:.68rem;color:var(--muted-2);font-style:italic;}

.gg-final{background:linear-gradient(115deg,var(--heat1),var(--heat2) 60%,#C9685F);}
.gg-final-inner{text-align:center;padding:64px 0;color:var(--ink);}
.gg-final h2{font-size:2.6rem;font-weight:800;letter-spacing:-.02em;margin-bottom:12px;}
.gg-final p{max-width:54ch;margin:0 auto 26px;font-size:1rem;opacity:.85;}
.gg-final .gg-cta-row{justify-content:center;}
.gg-final .gg-btn-flame{background:var(--ink);color:#fff;box-shadow:none;}
.gg-final .gg-btn-flame:hover{background:var(--ink-2);filter:none;}
.gg-final .btn-ghost-light{border-color:rgba(26,28,34,.45);color:var(--ink);}
.gg-final .btn-ghost-light:hover{background:var(--ink);color:#fff;border-color:var(--ink);}

@media(max-width:1024px){
  .gg-title{font-size:3.1rem;}
}
@media(max-width:880px){
  .pillars{grid-template-columns:minmax(0,1fr);}
  .gg-hero-inner,.gg-spec-grid{grid-template-columns:minmax(0,1fr);gap:36px;}
  .gg-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gg-vs,.gg-steps{grid-template-columns:minmax(0,1fr);}
  .gg-timeline::before{left:74px;}
  .gg-final h2{font-size:2rem;}
}
@media(max-width:560px){
  .gg-title{font-size:2.4rem;}
  .gg-era{grid-template-columns:58px 24px 1fr;}
  .gg-timeline::before{left:66px;}
  .gg-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .gg-stat-num{font-size:1.8rem;}
}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
  .rev{opacity:1;transform:none;}
  .gg-marquee-track{animation:none;}
}

/* ============================================================================
   HOME (v3 mockup classes) — the homepage renders the approved home-v3 markup,
   which uses its own class names (.herocard/.hprod/.smile/.manifesto/.sec/.cats/
   .brandstrip/.tradeb …). These mirror /tmp/lordwell-retail/home-v3.html exactly.
   ========================================================================== */
.hero{display:flex;gap:36px;align-items:center;flex-wrap:wrap;max-width:var(--maxw);
  margin:0 auto;padding:54px var(--pad) 42px;}
.hero-copy h1{font-size:3.25rem;line-height:.98;font-weight:800;margin:16px 0 0;}
.herop{color:#5E625C;font-size:.97rem;line-height:1.6;margin:22px 0 26px;max-width:380px;}
.hero-cta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.hero-trade{font-family:var(--display);font-weight:700;font-size:.84rem;color:var(--ink);
  display:inline-flex;align-items:center;gap:6px;}
.hero-trade:hover{color:var(--coral-dark);}
.hero-search{display:flex;gap:10px;max-width:540px;margin:0 0 22px;}

/* coral smile swoosh motif — tight viewBox so the element box == the curve, so
   we can land its right tip exactly under the "o" of "stock" (mirrors the logo).
   width tracks the headline so the alignment holds across the breakpoints. */
.smile-wrap{display:block;line-height:0;margin-top:-2px;}
.smile{display:block;width:60px;height:auto;margin:-2px 0 0 58px;color:var(--coral);}
@media(max-width:880px){.smile{width:46px;margin-left:46px;}}
@media(max-width:560px){.smile{width:39px;margin-left:39px;}}
.smile-watermark{position:absolute;right:-20px;bottom:-26px;height:150px;width:auto;
  opacity:.10;color:#fff;margin:0;}

/* "UK's favourite" hero: tighter display headline + accented word + signature smile */
.hero-h1{font-size:3.05rem;line-height:1.03;letter-spacing:-.02em;}
.favword{color:var(--aqua-deep);}
.smile-hero{width:104px;margin:12px 0 0 2px;}
@media(max-width:880px){.hero-h1{font-size:2.4rem;} .smile-hero{width:84px;margin-top:9px;}}
@media(max-width:560px){.hero-h1{font-size:2.05rem;} .smile-hero{width:72px;}}

/* featured hero product card on a sand blob */
.herocard{position:relative;width:300px;min-height:330px;}
.herocard .blob{position:absolute;inset:10px 0 14px 18px;background:var(--sand);
  border-radius:150px 150px 22px 22px;}
.herocard .tag{position:absolute;top:18px;left:2px;z-index:3;display:inline-flex;align-items:center;
  gap:5px;background:var(--ink);color:#fff;font-size:.7rem;font-weight:700;padding:6px 13px;
  border-radius:var(--radius-pill);}
.hprod{position:relative;z-index:2;background:#fff;border:1px solid var(--line);border-radius:20px;
  padding:18px;margin:30px 10px 0 34px;box-shadow:0 20px 44px -26px rgba(35,41,43,.4);}
.hprod-link{display:block;color:inherit;}
.hprod .ph{background:var(--tint);border-radius:13px;height:190px;display:flex;align-items:center;
  justify-content:center;overflow:hidden;}
.hprod .ph img{max-width:88%;max-height:88%;object-fit:contain;mix-blend-mode:multiply;}
.hprod-brand{font-family:var(--display);font-size:.66rem;letter-spacing:.07em;text-transform:uppercase;
  color:var(--muted);margin:13px 0 0;font-weight:600;}
.hprod-name{font-family:var(--display);font-size:.94rem;margin:3px 0 10px;font-weight:600;color:var(--ink);}
.hprod-foot{display:flex;align-items:center;justify-content:space-between;}
.hprod-foot .price{font-family:var(--display);font-size:1.38rem;font-weight:800;color:var(--ink);}
.hprod-foot .btn-ink{padding:10px 16px;font-size:.78rem;}

/* manifesto band */
.manifesto{background:var(--sand);padding:26px;text-align:center;}
.manifesto p{font-family:var(--display);font-size:1.56rem;font-weight:700;margin:0;color:var(--ink);}
.manifesto-dot{color:var(--coral-dark);}

/* generic home section + section head */
.sec{max-width:var(--maxw);margin:0 auto;padding:40px var(--pad);}
.sec .wrap{padding:0;}
.sechead{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px;gap:16px;}
.sechead h2{font-size:1.56rem;font-weight:700;}
.viewall{font-size:.82rem;color:var(--coral-dark);font-weight:600;display:inline-flex;align-items:center;gap:5px;}
.viewall:hover{color:var(--coral);}

/* category tiles (if used) */
.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;}
.cats .cat{border-radius:16px;padding:18px;min-height:118px;display:flex;flex-direction:column;
  justify-content:space-between;background:var(--sand);}
.cats .cat h3{font-size:1.06rem;font-weight:700;}
.cats .cat span{font-size:.75rem;margin-top:3px;color:var(--muted);}

/* independent brand strip */
.brandstrip{display:flex;align-items:center;justify-content:center;gap:34px;flex-wrap:wrap;
  padding:6px var(--pad) 8px;font-family:var(--display);font-weight:600;font-size:.94rem;color:#B0A998;}
.brandstrip-item{color:#B0A998;transition:color var(--t);}
.brandstrip-item:hover{color:var(--ink);}

/* built-for-trade band: green rounded card + faint smile watermark */
.trade{max-width:var(--maxw);margin:0 auto;padding:14px var(--pad) 46px;}
.tradeb{background:var(--green);border-radius:24px;padding:38px;display:flex;align-items:center;
  gap:20px;flex-wrap:wrap;position:relative;overflow:hidden;}
.tradeb-copy{flex:1;min-width:240px;position:relative;z-index:2;}
.tradeb-copy h2{font-size:1.75rem;font-weight:800;color:#fff;margin:0 0 10px;}
.tradeb-copy p{font-size:.88rem;color:#AEB7C2;margin:0;max-width:420px;line-height:1.6;}
.tradeb .btn{position:relative;z-index:2;}

/* GrabbGo secondary mention (never a hero) */
.grabbgo-note{padding-top:8px;padding-bottom:8px;}
.grabbgo-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:#fff;
  border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px;transition:border-color var(--t);}
.grabbgo-row:hover{border-color:var(--ink);}
.gg-eyebrow{display:inline-flex;align-items:center;gap:6px;font-family:var(--display);font-size:.68rem;
  font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--coral-dark);}
.grabbgo-row strong{font-family:var(--display);font-size:1.05rem;display:block;color:var(--ink);}
.grabbgo-row span{font-size:.85rem;color:var(--muted);}
.gg-go{margin-left:auto;font-family:var(--display);font-weight:700;font-size:.82rem;color:var(--ink);
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;}
.grabbgo-row:hover .gg-go{color:var(--coral-dark);}

@media(max-width:880px){
  .hero{padding:40px var(--pad) 32px;}
  .hero-copy h1{font-size:2.5rem;}
  .herocard{width:100%;max-width:340px;margin:0 auto;}
  .tradeb{padding:28px;}
}
@media(max-width:560px){
  .hero-copy h1{font-size:2.1rem;}
  .hero-search{flex-direction:column;}
  .manifesto p{font-size:1.2rem;}
  .brandstrip{gap:18px;font-size:.84rem;}
  .grabbgo-row{flex-direction:column;align-items:flex-start;}
  .gg-go{margin-left:0;}
}

/* ====================== MYSTERY BOX (home perk + peek game) ============== */
.mystery{padding-top:14px;padding-bottom:14px;}
.mbox{position:relative;overflow:hidden;display:flex;align-items:center;gap:34px;flex-wrap:wrap;
  background:var(--sand);border:1px solid var(--line);border-radius:24px;padding:30px 36px;}
.mbox-art{flex:none;width:160px;}
.mbox-art svg{width:100%;height:auto;display:block;overflow:visible;}
.mbox-spark{transform-origin:center;animation:mboxTwinkle 3.4s ease-in-out infinite;}
@keyframes mboxTwinkle{0%,100%{opacity:.55;}50%{opacity:1;}}
.mbox-lid{transform-origin:100px 80px;transition:transform .3s ease;}
.mbox-art.mbox-shake{animation:mboxShake .6s cubic-bezier(.36,.07,.19,.97);}
@keyframes mboxShake{10%,90%{transform:rotate(-2deg);}20%,80%{transform:rotate(3deg);}
  30%,50%,70%{transform:rotate(-5deg) translateY(-2px);}40%,60%{transform:rotate(5deg) translateY(-2px);}}
.mbox-art.mbox-shake .mbox-lid{transform:translateY(-10px) rotate(-3deg);}
.mbox-copy{flex:1;min-width:280px;}
.mbox-eyebrow{display:inline-flex;align-items:center;gap:6px;font-family:var(--display);font-size:.7rem;
  font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--aqua-deep);}
.mbox-eyebrow .ic{color:var(--aqua-deep);}
.mbox-copy h2{font-size:1.7rem;margin:10px 0 8px;}
.mbox-copy p{margin:0;font-size:.92rem;color:var(--muted);max-width:54ch;line-height:1.55;}
.mbox-actions{display:flex;align-items:center;gap:18px;margin-top:18px;flex-wrap:wrap;}
.mbox-shop{font-family:var(--display);font-weight:700;font-size:.82rem;color:var(--coral-dark);
  display:inline-flex;align-items:center;gap:5px;}
.mbox-shop:hover{color:var(--coral);}
.mbox-peek{margin-top:20px;}
.mbox-peek-label{font-family:var(--display);font-weight:700;font-size:.84rem;color:var(--ink);margin-bottom:12px;}
.mbox-peek-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:420px;}
.mbox-peek-item{display:flex;flex-direction:column;gap:6px;color:inherit;animation:mboxReveal .45s ease both;}
.mbox-peek-item:nth-child(2){animation-delay:.08s;}
.mbox-peek-item:nth-child(3){animation-delay:.16s;}
@keyframes mboxReveal{from{opacity:0;transform:translateY(10px) scale(.96);}to{opacity:1;transform:none;}}
.mbox-peek-img{aspect-ratio:1/1;background:#fff;border:1px solid var(--line);border-radius:12px;
  display:flex;align-items:center;justify-content:center;padding:10px;overflow:hidden;}
.mbox-peek-img img{max-width:84%;max-height:84%;object-fit:contain;mix-blend-mode:multiply;}
.mbox-peek-name{font-size:.72rem;color:var(--muted);line-height:1.3;display:-webkit-box;
  -webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.mbox-peek-item:hover .mbox-peek-name{color:var(--coral);}
.mbox-peek-foot{margin:14px 0 0;font-size:.86rem;color:var(--ink);}
.mbox-peek-foot strong{color:var(--coral-dark);}
@media(max-width:680px){
  .mbox{padding:24px;gap:20px;}
  .mbox-art{width:120px;margin:0 auto;}
  .mbox-copy h2{font-size:1.4rem;}
}

/* ===== Quote-drawer cross-sell + spend-ladder unlocks ===== */
.qd-xsell{border-top:1px dashed var(--line);margin-top:14px;padding-top:14px;}
.qd-xsell-label{display:flex;align-items:center;gap:6px;font-family:var(--display);font-weight:700;
  font-size:.74rem;letter-spacing:.02em;color:var(--coral-dark);margin-bottom:10px;}
.qd-xsell-label .ic{color:var(--coral);}
.qd-xsell-row{display:flex;align-items:center;gap:11px;padding:8px 0;}
.qd-xsell-img{width:42px;height:42px;object-fit:contain;mix-blend-mode:multiply;background:var(--tint);
  border-radius:9px;padding:4px;flex:none;}
.qd-xsell-info{flex:1;min-width:0;}
.qd-xsell-name{display:block;font-size:.8rem;font-weight:600;line-height:1.3;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.qd-xsell-name:hover{color:var(--coral);}
.qd-xsell-price{font-size:.78rem;font-weight:700;color:var(--coral-dark);font-variant-numeric:tabular-nums;}
.qd-xsell-add{flex:none;width:38px;height:38px;border-radius:50%;border:1.5px solid var(--ink);
  background:#fff;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background var(--t),color var(--t),border-color var(--t);}
.qd-xsell-add:hover{background:var(--coral);border-color:var(--coral);color:#fff;}
.qd-unlocks{margin-bottom:14px;}
.qd-progress{position:relative;height:6px;border-radius:var(--radius-pill);background:var(--sand);margin:8px 0 14px;}
.qd-progress>span:first-child{display:block;height:100%;border-radius:var(--radius-pill);
  background:linear-gradient(90deg,var(--coral),var(--aqua));transition:width .6s cubic-bezier(.2,.7,.3,1);
  /* a slow sheen keeps the bar feeling alive without shouting */
  background-size:200% 100%;animation:qd-sheen 5s linear infinite;}
@keyframes qd-sheen{to{background-position:-200% 0;}}
/* The delivery van rides the fill edge; parks (and settles) when it unlocks. */
.qd-truck{position:absolute;top:50%;transform:translate(-55%,-58%);color:var(--aqua-deep);
  background:#fff;border:1.5px solid var(--aqua);border-radius:50%;padding:3px;line-height:0;
  box-shadow:0 3px 8px -3px rgba(38,46,56,.35);transition:left .6s cubic-bezier(.2,.7,.3,1);}
.qd-truck .ic{display:block;}
.qd-truck-home{border-color:var(--aqua-deep);animation:qd-park .5s cubic-bezier(.3,1.6,.4,1);}
@keyframes qd-park{0%{transform:translate(-55%,-58%) scale(1);}55%{transform:translate(-55%,-58%) scale(1.35);}100%{transform:translate(-55%,-58%) scale(1);}}
.qd-unlock{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--muted);padding:3px 0;}
.qd-unlock .ic{color:var(--muted-2);}
.qd-unlock strong{color:var(--ink);}
.qd-unlock.done{color:var(--ok);font-weight:600;}
.qd-unlock.done .ic{color:var(--ok);}

/* ===== Basket-page clearance cross-sell ===== */
.qx-wrap{padding-bottom:56px;}
.qx-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px;}
.qx-head h2{font-size:1.3rem;display:flex;align-items:center;gap:9px;}
.qx-head h2 .ic{color:var(--coral);}
.qx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;}
.qx-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:16px;padding:12px;transition:border-color var(--t),transform var(--t),box-shadow var(--t);}
.qx-card:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:var(--shadow);}
.qx-img{aspect-ratio:1/1;min-height:0;overflow:hidden;background:var(--tint);border-radius:11px;
  display:flex;align-items:center;justify-content:center;padding:12px;}
.qx-img img{max-width:84%;max-height:84%;object-fit:contain;mix-blend-mode:multiply;}
.qx-name{font-family:var(--display);font-size:.82rem;font-weight:600;line-height:1.3;color:var(--ink);
  margin:10px 2px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.3em;}
.qx-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding:0 2px;}
.qx-price{font-family:var(--display);font-weight:800;font-size:1rem;color:var(--coral-dark);font-variant-numeric:tabular-nums;}
.qx-add{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1.5px solid var(--ink);
  color:var(--ink);cursor:pointer;border-radius:var(--radius-pill);padding:7px 13px;font-family:var(--display);
  font-size:.74rem;font-weight:700;transition:background var(--t),border-color var(--t),color var(--t);}
.qx-add:hover{background:var(--coral);border-color:var(--coral);color:#fff;}

/* ===== PDP returns badge + running-cost widget + white-glove panel ===== */
.pdp-returns{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--ok);margin:0 0 10px;}
.pdp-returns .ic{color:var(--ok);flex:none;}
.pdp-returns strong{color:var(--ink);}
.pdp-rc{border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 14px;margin:0 0 12px;background:var(--surface-2);}
.pdp-rc summary{display:flex;align-items:center;gap:8px;padding:12px 0;cursor:pointer;font-weight:700;font-size:.86rem;list-style:none;}
.pdp-rc summary::-webkit-details-marker{display:none;}
.pdp-rc summary .ic{color:var(--aqua-deep);}
.rc-body{padding:0 0 14px;}
.rc-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.86rem;color:var(--muted);}
.rc-hours{width:54px;border:1.5px solid var(--line);border-radius:8px;padding:5px 8px;font-size:.86rem;text-align:center;outline:none;background:#fff;}
.rc-hours:focus{border-color:var(--aqua-deep);}
.rc-figure{font-family:var(--display);font-size:1.15rem;color:var(--ink);font-variant-numeric:tabular-nums;}
.rc-note{font-size:.76rem;color:var(--muted-2);margin:10px 0 0;line-height:1.5;}
.pdp-whiteglove{border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;margin:0 0 14px;background:var(--surface-2);}
.wg-head{display:flex;align-items:center;gap:8px;font-family:var(--display);font-weight:700;font-size:.9rem;margin-bottom:10px;}
.wg-head .ic{color:var(--aqua-deep);}
.wg-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;}
.wg-list li{display:flex;justify-content:space-between;gap:12px;font-size:.84rem;}
.wg-list .wg-label{color:var(--text);}
.wg-list .wg-price{font-weight:700;color:var(--coral-dark);white-space:nowrap;font-variant-numeric:tabular-nums;}
.wg-note{font-size:.76rem;color:var(--muted);margin:12px 0 0;line-height:1.5;}

/* ===== Basket white-glove selection panel ===== */
.wg-panel{border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px;margin:16px 0;background:var(--surface-2);}
.wg-panel-head{display:flex;align-items:center;gap:8px;font-family:var(--display);font-weight:700;font-size:.95rem;}
.wg-panel-head .ic{color:var(--aqua-deep);}
.wg-panel-sub{font-size:.78rem;color:var(--muted);margin:6px 0 12px;line-height:1.5;}
.wg-opt{display:flex;align-items:flex-start;gap:11px;padding:11px;border:1.5px solid var(--line);border-radius:var(--radius-sm);
  background:#fff;cursor:pointer;margin-bottom:8px;transition:border-color var(--t),background var(--t);}
.wg-opt:last-child{margin-bottom:0;}
.wg-opt:hover{border-color:var(--aqua-deep);}
.wg-opt.on{border-color:var(--aqua-deep);background:var(--teal-soft);}
.wg-opt input{margin-top:3px;width:17px;height:17px;accent-color:var(--aqua-deep);flex:none;}
.wg-opt-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.wg-opt-main strong{font-size:.84rem;font-weight:700;color:var(--ink);}
.wg-opt-blurb{font-size:.74rem;color:var(--muted);line-height:1.4;}
.wg-opt-price{font-weight:700;font-size:.82rem;color:var(--coral-dark);white-space:nowrap;font-variant-numeric:tabular-nums;}

/* PDP Clubwell perk: a quiet, premium membership note under the buy button.
   No loud fill — a hairline card, a hollow-diamond mark, a spaced micro-label
   and a muted benefit line. Present, exclusive, never shouting. */
.pdp-cw{display:flex;align-items:center;gap:14px;margin:18px 0 2px;padding:14px 16px;
  border:1px solid var(--line);border-radius:14px;text-decoration:none;
  background:linear-gradient(180deg,rgba(78,205,197,.05),rgba(78,205,197,.02));
  transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;}
.pdp-cw:hover{border-color:rgba(78,205,197,.55);box-shadow:0 10px 26px -18px rgba(47,179,170,.55);transform:translateY(-1px);}
.pdp-cw-mark{flex:none;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;}
.pdp-cw-mark::before{content:'';width:11px;height:11px;border:1.5px solid var(--aqua-deep);
  transform:rotate(45deg);border-radius:2px;}
.pdp-cw-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.pdp-cw-eyebrow{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--aqua-deep);}
.pdp-cw-txt{font-size:.84rem;line-height:1.45;color:var(--muted);}
.pdp-cw-txt strong{color:var(--ink);font-weight:600;}
/* B5 — honest case / multi-buy ladder in the buy box. */
.pdp-bulk-ladder{border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:14px 0;}
.blk-head{display:flex;align-items:center;gap:7px;font-family:var(--display);font-size:.7rem;font-weight:800;
  letter-spacing:.1em;text-transform:uppercase;color:var(--aqua-deep);margin-bottom:8px;}
.blk-head svg{flex:none;}
.blk-row{display:grid;grid-template-columns:1fr auto auto;gap:8px 14px;align-items:baseline;
  padding:7px 0;font-size:.86rem;border-top:1px solid var(--line-soft);}
.blk-q{color:var(--ink);font-weight:600;}
.blk-unit{color:var(--muted);font-size:.78rem;font-variant-numeric:tabular-nums;}
.blk-tot{color:var(--ink);font-weight:800;font-variant-numeric:tabular-nums;}
.blk-cta{width:100%;margin-top:11px;}
.blk-note{font-size:.72rem;line-height:1.45;color:var(--muted);margin:8px 0 0;}
.pdp-cw-join{flex:none;display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600;
  letter-spacing:.02em;color:var(--aqua-deep);opacity:.7;transition:opacity .25s ease,gap .25s ease;}
.pdp-cw:hover .pdp-cw-join{opacity:1;gap:7px;}
@media(max-width:520px){.pdp-cw-join span,.pdp-cw-join{font-size:.7rem;}}

/* ===== Clubwell savings nudge (basket summary) ===== */
.cw-nudge{display:flex;align-items:flex-start;gap:11px;margin:0 0 16px;padding:13px 15px;
  border:1px solid var(--aqua);border-radius:var(--radius-sm);
  background:linear-gradient(120deg,var(--teal-soft),var(--surface-2));}
.cw-nudge-ic{display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;
  border-radius:9px;background:#fff;color:var(--aqua-deep);border:1px solid var(--aqua);}
.cw-nudge-body{flex:1;min-width:0;}
.cw-nudge-line{margin:0;font-size:.82rem;line-height:1.45;color:var(--text);}
.cw-nudge-line strong{color:var(--ink);font-weight:700;}
.cw-nudge-cta{display:inline-flex;align-items:center;gap:5px;margin-top:8px;
  font-family:var(--display);font-size:.78rem;font-weight:700;color:var(--aqua-deep);}
.cw-nudge-cta .ic{transition:transform var(--t);}
.cw-nudge-cta:hover{color:var(--coral);}
.cw-nudge-cta:hover .ic{transform:translateX(2px);}

/* ====================== STORY / VISION ================================= */
.story-hero{background:var(--sand);border-bottom:1px solid var(--line);padding:60px 0 52px;}
.story-hero h1{font-size:2.8rem;letter-spacing:-.025em;margin:14px 0 0;max-width:18ch;}
.story-lead{font-size:1.1rem;color:#4C504C;line-height:1.6;max-width:60ch;margin:20px 0 0;}
.story-body{display:flex;flex-direction:column;gap:30px;max-width:760px;}
.story-chapter h2{font-size:1.5rem;margin-bottom:10px;}
.story-chapter p{font-size:1rem;color:#4C504C;line-height:1.7;margin:0;}
.story-vision{background:var(--sand);border-radius:24px;padding:40px;}
.story-pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:24px;}
.story-pillar{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;}
.story-pillar-ic{display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;
  background:var(--teal-soft);color:var(--aqua-deep);border-radius:12px;margin-bottom:14px;}
.story-pillar h3{font-size:1.1rem;margin-bottom:8px;}
.story-pillar p{font-size:.88rem;color:var(--muted);line-height:1.6;margin:0;}
.story-cta{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;
  background:linear-gradient(110deg,var(--navy),var(--navy-2));border-radius:24px;padding:36px 40px;color:#fff;}
.story-cta h2{color:#fff;font-size:1.7rem;margin-bottom:6px;}
.story-cta p{color:#C6CDD6;font-size:.95rem;margin:0;max-width:52ch;}
.story-cta-actions{display:flex;gap:12px;flex-wrap:wrap;}
.story-cta .btn-outline{background:transparent;border-color:rgba(255,255,255,.5);color:#fff;}
.story-cta .btn-outline:hover{background:#fff;color:var(--navy);border-color:#fff;}

/* ====================== TOOLS / CALCULATORS =========================== */
.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;}
.tool-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;}
.tool-card h2{display:flex;align-items:center;gap:9px;font-size:1.25rem;margin-bottom:18px;}
.tool-card h2 .ic{color:var(--coral);}
.tool-fields{display:flex;gap:12px;flex-wrap:wrap;}
.tool-field{display:flex;flex-direction:column;gap:5px;font-size:.78rem;color:var(--muted);font-weight:600;flex:1;min-width:120px;}
.tool-input{background:var(--surface-2);border:1.5px solid var(--line);border-radius:var(--radius-sm);
  padding:11px 13px;color:var(--ink);font-size:1rem;outline:none;font-variant-numeric:tabular-nums;}
.tool-input:focus{border-color:var(--aqua-deep);}
.tool-out{display:flex;gap:18px;flex-wrap:wrap;margin:18px 0 0;}
.tool-stat{display:flex;flex-direction:column;}
.tool-stat strong{font-family:var(--display);font-size:1.8rem;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1;}
.tool-stat span{font-size:.74rem;color:var(--muted);margin-top:4px;}
.tool-divider{height:1px;background:var(--line);margin:20px 0;}
.tool-reverse{font-size:.92rem;color:var(--muted);margin:12px 0 0;}
.tool-reverse strong{color:var(--ink);}
.tool-cta{display:inline-flex;align-items:center;gap:7px;margin-top:20px;font-family:var(--display);font-weight:700;
  font-size:.84rem;color:var(--coral-dark);}
.tool-cta:hover{color:var(--coral);}
@media(max-width:560px){.story-hero h1{font-size:2.1rem;}.story-vision,.story-cta{padding:26px;}}

/* ====================== LOGIN (code entry) ============================= */
.login-flow{margin-top:22px;}
.code-sent{display:flex;align-items:center;gap:8px;font-size:.86rem;color:var(--ok);margin-bottom:14px;}
.code-sent .es-ic{color:var(--ok);flex:none;}
.code-input{letter-spacing:.45em;font-size:1.35rem;text-align:center;font-weight:800;font-variant-numeric:tabular-nums;}
.code-alt{display:flex;justify-content:space-between;gap:12px;margin-top:14px;}

/* ====================== SUPPLIER BANNER =============================== */
.supplier-band{background:#fff;border-bottom:1px solid var(--line);padding:22px 0;}
.supplier-eyebrow{text-align:center;font-family:var(--display);font-size:.72rem;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);margin:0 0 16px;}
.supplier-wall{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;}
.supplier-logo{font-family:var(--display);font-weight:800;font-size:1.18rem;letter-spacing:.005em;
  color:#B7B2A6;transition:color var(--t),transform var(--t),border-color var(--t),box-shadow var(--t);}
.supplier-logo:hover{color:var(--ink);transform:translateY(-1px);}
/* logo tiles: uniform white chips so mixed aspect ratios sit tidily */
.supplier-logo.has-img{display:inline-flex;align-items:center;justify-content:center;height:60px;min-width:132px;
  padding:11px 18px;background:#fff;border:1px solid var(--line);border-radius:13px;}
.supplier-logo.has-img:hover{transform:translateY(-2px);border-color:var(--aqua);box-shadow:var(--shadow);}
.supplier-img{max-height:32px;max-width:108px;width:auto;object-fit:contain;display:block;}
.supplier-more{font-family:var(--display);font-weight:700;font-size:.82rem;color:var(--coral-dark);
  display:inline-flex;align-items:center;gap:5px;margin-left:6px;}
.supplier-more:hover{color:var(--coral);}
@media(max-width:560px){.supplier-wall{gap:10px;}.supplier-logo{font-size:1rem;}
  .supplier-logo.has-img{height:52px;min-width:112px;padding:9px 14px;}.supplier-img{max-height:27px;max-width:88px;}}

/* brand hero tile: white card with the real logo when we have one */
.brand-wordmark.brand-wordmark-img{background:#fff;background-image:none;border:1px solid var(--line);}
.brand-wordmark.brand-wordmark-img::after{background:radial-gradient(circle,rgba(78,205,197,.16),transparent 70%);}
.brand-logo-img{position:relative;z-index:1;max-height:124px;max-width:210px;width:auto;object-fit:contain;}
@media(max-width:720px){.brand-logo-img{max-height:84px;max-width:180px;}}

/* ====================== MOBILE POLISH PASS (<=560) ==================== */
@media(max-width:560px){
  .sec{padding:26px var(--pad);}
  .section-head h2,.sechead h2,.band-head h2{font-size:1.35rem;}
  /* feature/promo bands: calmer, stacked */
  .clearfeat,.mbox,.tradeb,.trade-inner,.story-cta,.proj-promo,.retigo-promo,.retigo-home .retigo-promo{padding:22px;border-radius:18px;}
  .clearfeat h2,.mbox-copy h2,.proj-promo h2,.retigo-promo-copy h2{font-size:1.4rem;}
  .clearfeat{flex-direction:column;align-items:flex-start;gap:16px;}
  .clearfeat-copy{max-width:100%;}
  .clearfeat-stat{align-self:stretch;text-align:center;}
  .mbox{flex-direction:column;gap:14px;}
  .mbox-art{width:110px;margin:0;}
  .mbox-peek-grid{grid-template-columns:repeat(3,1fr);max-width:100%;}
  /* product detail */
  .pdp{padding-top:14px;}
  .pdp-name{font-size:1.45rem;}
  .pdp-price-val{font-size:1.95rem;}
  .pdp-actions{flex-wrap:wrap;gap:10px;}
  .pdp-add{flex:1 0 100%;order:3;}
  .pdp-secondary{flex-direction:column;}
  .pdp-perks .perk{padding-top:9px;padding-bottom:9px;}
  /* basket */
  .quote-summary{position:static;padding:20px;}
  .ql-quickadd{flex-wrap:wrap;}
  .ql-quickadd input{width:100%;}
  .ql-foot-actions{width:100%;justify-content:space-between;}
  .wg-opt{padding:12px;}
  /* projects */
  .proj-hero{padding:40px 0 36px;}
  .proj-hero h1{font-size:1.9rem;}
  .proj-lead{font-size:1rem;}
  .proj-case-body,.proj-case-quote,.proj-form{padding:22px;}
  .proj-case-stats{gap:18px;}
  .proj-hero-cta{gap:14px;}
  /* retigo journey */
  .retigo-hero{padding:36px 0;}
  .retigo-hero h1{font-size:1.8rem;}
  .retigo-optbtn{padding:12px 20px;font-size:.92rem;}
  .retigo-body{padding:26px var(--pad) 48px;}
  /* comfortable tap targets */
  .action-link{min-width:42px;min-height:42px;justify-content:center;}
  .btn{padding:13px 22px;}
  /* tools + calculators */
  .tools-grid{gap:14px;}
  .tool-card{padding:22px;}
}

/* ── Brand overview hero (/brand/<name>) ─────────────────────────────────────── */
.brand-hero .brand-hero-inner{display:flex;gap:44px;align-items:center;flex-wrap:wrap;margin-top:12px;}
.brand-hero-copy{flex:1;min-width:300px;}
.brand-hero h1{font-size:2.9rem;margin:12px 0 0;}
.brand-hero .eyebrow{color:var(--aqua-deep);}
.brand-hero-blurb{color:var(--muted);font-size:1.03rem;line-height:1.62;margin:14px 0 18px;max-width:580px;}
.brand-points{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px;}
.brand-point{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--line);
  border-radius:100px;padding:7px 14px;font-size:.82rem;font-weight:600;color:var(--ink);font-family:var(--display);}
.brand-point svg{color:var(--aqua-deep);}
.brand-hero-cta{display:flex;gap:12px;flex-wrap:wrap;}
.brand-wordmark{position:relative;flex:0 0 280px;height:190px;border-radius:20px;overflow:hidden;
  background:linear-gradient(135deg,var(--navy),var(--navy-2));display:flex;align-items:center;justify-content:center;
  padding:26px;box-shadow:var(--shadow);}
.brand-wordmark::after{content:"";position:absolute;right:-40px;bottom:-40px;width:150px;height:150px;border-radius:50%;
  background:radial-gradient(circle,rgba(78,205,197,.32),transparent 68%);}
.brand-wordmark span{position:relative;z-index:1;font-family:var(--display);font-weight:800;font-size:2rem;color:#fff;
  letter-spacing:-.02em;text-align:center;line-height:1.04;}
@media(max-width:720px){.brand-wordmark{flex-basis:100%;height:130px;} .brand-hero h1{font-size:2.15rem;}
  .brand-hero .brand-hero-inner{gap:26px;}}

/* ── Buyer's guides ──────────────────────────────────────────────────────────── */
.guides-hero h1{font-size:2.7rem;}
.guides-lead{max-width:640px;font-size:1.05rem;line-height:1.62;margin-top:12px;}
.guide-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;}
.guide-grid-rel{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));}
.guide-card{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);padding:24px 22px;transition:var(--t);}
.guide-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--aqua);}
.guide-card-ic{width:46px;height:46px;border-radius:13px;background:var(--teal-soft);color:var(--aqua-deep);
  display:flex;align-items:center;justify-content:center;}
.guide-card-tag{font-size:.71rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted-2);
  font-family:var(--display);}
.guide-card h3{font-size:1.16rem;line-height:1.2;}
.guide-card-blurb{color:var(--muted);font-size:.9rem;line-height:1.55;flex:1;}
.guide-card-go{display:inline-flex;align-items:center;gap:6px;font-family:var(--display);font-weight:700;
  font-size:.85rem;color:var(--coral-dark);}
/* article */
.guide-hero h1{font-size:2.5rem;max-width:16ch;}
.guide-intro{font-size:1.12rem;line-height:1.6;color:var(--ink);max-width:700px;margin-top:14px;
  font-family:var(--display);font-weight:500;}
.guide-body{max-width:800px;}
.guide-quick{background:linear-gradient(135deg,#EAF9F7,var(--tint));border:1px solid var(--aqua);
  border-radius:var(--radius);padding:24px 26px;margin:8px 0 6px;}
.guide-quick-tag{display:inline-flex;align-items:center;gap:7px;font-family:var(--display);font-weight:700;
  font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--aqua-deep);}
.guide-quick p{font-size:1.06rem;line-height:1.62;margin:10px 0 16px;color:var(--ink);}
.guide-shead{margin:36px 0 16px;}
.guide-shead h2{font-size:1.55rem;}
.guide-shead .muted{margin-top:5px;font-size:.96rem;}
.guide-qa{display:flex;flex-direction:column;gap:10px;}
.guide-q{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:0 18px;}
.guide-q summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  gap:14px;padding:16px 0;font-family:var(--display);font-weight:600;font-size:1.02rem;color:var(--ink);}
.guide-q summary::-webkit-details-marker{display:none;}
.guide-q-ic{color:var(--muted-2);transition:var(--t);flex:none;display:flex;}
.guide-q[open] .guide-q-ic{transform:rotate(90deg);color:var(--aqua-deep);}
.guide-a{margin:0 0 16px;color:var(--muted);line-height:1.62;font-size:.97rem;}
.guide-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;}
.guide-type{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 20px;}
.guide-type h4{font-size:1.03rem;margin-bottom:6px;}
.guide-type p{color:var(--muted);font-size:.9rem;line-height:1.5;}
.guide-type strong{color:var(--ink);}
.guide-check,.guide-mistakes{list-style:none;padding:0;margin:0;display:grid;gap:10px;}
.guide-check li,.guide-mistakes li{display:flex;gap:12px;align-items:flex-start;line-height:1.55;color:var(--ink);font-size:.98rem;}
.guide-check-ic{flex:none;width:24px;height:24px;border-radius:50%;background:var(--ok-soft);color:var(--ok);
  display:flex;align-items:center;justify-content:center;margin-top:1px;}
.guide-x{flex:none;width:24px;height:24px;border-radius:50%;background:var(--coral-soft);color:var(--coral-dark);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem;margin-top:1px;}
.guide-shop{background:var(--navy);color:#fff;border-radius:var(--radius);padding:30px 32px;margin:40px 0 0;
  display:flex;gap:26px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.guide-shop h3{color:#fff;font-size:1.45rem;}
.guide-shop .muted{color:rgba(255,255,255,.74);max-width:440px;margin-top:6px;}
.guide-shop-cta{display:flex;gap:12px;flex-wrap:wrap;}
.guide-shop .btn-outline{border-color:rgba(255,255,255,.55);color:#fff;background:transparent;}
.guide-shop .btn-outline:hover{background:rgba(255,255,255,.1);}
.guide-help-inner{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:32px 36px;
  display:flex;gap:40px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.guide-help-inner > div:first-child{flex:1 1 340px;min-width:0;}
.guide-help-inner h3{font-size:1.32rem;}
.guide-help-inner p{color:var(--muted);margin-top:8px;max-width:60ch;line-height:1.6;}
.guide-help-cta{display:flex;gap:12px;flex-wrap:wrap;flex-shrink:0;}
.cat-guide-link{display:inline-flex;align-items:center;gap:8px;margin-top:14px;background:var(--teal-soft);
  border:1px solid var(--aqua);border-radius:100px;padding:9px 16px;font-family:var(--display);font-weight:600;
  font-size:.86rem;color:var(--aqua-deep);transition:var(--t);}
.cat-guide-link:hover{background:#DFF6F3;}
@media(max-width:560px){
  .guides-hero h1,.guide-hero h1{font-size:1.9rem;}
  .guide-intro{font-size:1.02rem;}
  .guide-quick{padding:20px;} .guide-quick p{font-size:1rem;}
  .guide-shop,.guide-help-inner{padding:22px;flex-direction:column;align-items:flex-start;}
  .guide-shead h2{font-size:1.35rem;}
}

/* ── Trade account application (/apply) ──────────────────────────────────────── */
.apply-wrap{max-width:720px;margin:0 auto;padding:0 var(--pad);}
.apply-hero{padding:44px 0 6px;text-align:center;}
.apply-hero .eyebrow{color:var(--aqua-deep);justify-content:center;}
.apply-hero h1{font-size:2.5rem;margin:14px 0 8px;letter-spacing:-.02em;}
.apply-dot{color:var(--coral);}
.apply-sub{color:var(--muted);font-size:.98rem;line-height:1.55;max-width:480px;margin:0 auto 10px;}
.apply-trust{font-size:.78rem;color:var(--muted-2);display:inline-flex;align-items:center;gap:6px;}
.apply-trust svg{color:var(--aqua-deep);}
.apply-section{padding:18px 0 40px;}
.apply-body{max-width:720px;}
.apply-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px 22px;
  box-shadow:var(--shadow);margin-bottom:16px;}
.apply-sec{font-size:.64rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--aqua-deep);
  font-family:var(--display);margin-bottom:12px;}
.apply-sec-opt{color:var(--muted-2);letter-spacing:.04em;text-transform:none;font-weight:600;}
.apply-field{margin-bottom:2px;}
.apply-label{display:block;font-size:.78rem;font-weight:600;color:var(--muted);margin:13px 0 5px;font-family:var(--font);}
.apply-req{color:var(--coral);}
.apply-hint{font-size:.72rem;color:var(--muted-2);margin:5px 0 0;line-height:1.5;}
.apply-note{background:var(--tint);border-radius:10px;padding:12px 14px;font-size:.78rem;color:var(--muted);
  margin:0 0 4px;line-height:1.55;}
.apply-form input[type=text],.apply-form input[type=email],.apply-form input[type=tel],
.apply-form input[type=number],.apply-form input[type=date],.apply-form textarea{
  width:100%;padding:11px 13px;border:1.5px solid var(--line);border-radius:10px;font:inherit;font-size:16px;
  background:#FDFCF9;color:var(--ink);transition:border-color var(--t),background var(--t);}
.apply-form input:focus,.apply-form textarea:focus{outline:none;border-color:var(--coral);background:#fff;}
.apply-form textarea{min-height:62px;resize:vertical;}
.apply-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;}
@media(max-width:540px){.apply-grid2{grid-template-columns:minmax(0,1fr);}}
.apply-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;}
.apply-chips input{position:absolute;opacity:0;pointer-events:none;}
.apply-chips span{display:inline-block;padding:9px 16px;border:1.5px solid var(--line);border-radius:100px;
  font-size:.82rem;font-weight:600;color:var(--muted);cursor:pointer;background:#FDFCF9;transition:var(--t);}
.apply-chips input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff;}
.apply-block-sep{border-top:1px solid var(--line-soft);margin-top:14px;padding-top:2px;}
.apply-add{background:none;border:1.5px dashed var(--line);border-radius:10px;width:100%;padding:11px;font:inherit;
  font-size:.82rem;font-weight:600;color:var(--muted);cursor:pointer;margin-top:12px;transition:var(--t);}
.apply-add:hover{border-color:var(--aqua);color:var(--aqua-deep);}
.apply-acc-intro{font-size:.9rem;color:var(--muted);margin-bottom:14px;line-height:1.55;}
.apply-terms{width:100%;height:250px;overflow-y:auto;border:1.5px solid var(--line);border-radius:12px;background:#fff;
  padding:16px 18px;-webkit-overflow-scrolling:touch;}
.apply-terms:focus{outline:none;border-color:var(--coral);}
.apply-terms h4{font-family:var(--display);font-size:.98rem;font-weight:800;color:var(--ink);margin:0 0 2px;}
.apply-tsub{color:var(--muted-2);font-size:.76rem;margin-bottom:12px;}
.apply-terms h5{font-family:var(--display);font-size:.82rem;font-weight:700;color:var(--ink);margin:13px 0 3px;}
.apply-terms p{font-size:.77rem;color:var(--muted);line-height:1.55;margin:0 0 5px;}
.apply-terms-final{font-weight:600;color:var(--ink)!important;margin-top:12px!important;}
.apply-accept{display:flex;gap:12px;align-items:flex-start;margin-top:16px;cursor:pointer;background:var(--tint);
  border:1.5px solid var(--line);border-radius:12px;padding:14px 16px;transition:var(--t);}
.apply-accept:has(input:checked){border-color:var(--aqua);background:var(--teal-soft);}
.apply-accept input{width:22px;height:22px;accent-color:var(--coral);flex-shrink:0;margin:0;}
.apply-accept div{font-size:.84rem;color:var(--ink);line-height:1.5;}
.apply-siglabel{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px;}
.apply-sig-hint{font-size:.74rem;color:var(--muted-2);}
.apply-sigwrap{position:relative;margin-top:4px;}
.apply-sigpad{display:block;width:100%;height:180px;border:1.5px solid var(--line);border-radius:12px;
  background:#FDFCF9;touch-action:none;cursor:crosshair;}
.apply-sigpad.signed{border-color:var(--aqua);background:#fff;}
.apply-sig-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:6px;color:var(--muted-2);font-size:.88rem;font-weight:600;pointer-events:none;text-align:center;padding:0 20px;}
.apply-sig-big{font-size:1.6rem;}
.apply-sig-clear{position:absolute;top:10px;right:10px;background:#fff;border:1.5px solid var(--line);border-radius:8px;
  padding:6px 13px;font:inherit;font-size:.74rem;font-weight:700;color:var(--muted);cursor:pointer;}
.apply-sig-done{display:none;align-items:center;gap:7px;margin-top:9px;font-size:.8rem;color:var(--aqua-deep);font-weight:700;}
.apply-sig-done.show{display:flex;}
.apply-err{background:#FFF5F5;border:1.5px solid var(--coral);border-radius:10px;padding:12px 14px;color:#7A1F1F;
  font-size:.82rem;margin-bottom:12px;}
.apply-submit{width:100%;justify-content:center;margin-top:6px;}
.apply-foot{text-align:center;font-size:.76rem;color:var(--muted-2);line-height:1.8;padding:0 var(--pad) 40px;}
.apply-foot a{color:var(--ink);font-weight:600;}
.apply-done{text-align:center;padding:46px 24px;max-width:520px;margin:0 auto;}
.apply-tick{width:70px;height:70px;background:var(--aqua-deep);border-radius:50%;display:inline-flex;align-items:center;
  justify-content:center;margin-bottom:20px;color:#fff;}
.apply-done h2{font-size:1.7rem;margin-bottom:10px;}
.apply-done p{color:var(--muted);font-size:.95rem;max-width:420px;margin:0 auto 6px;}
.apply-done-call{font-size:.82rem;margin-top:12px!important;}
.apply-done .btn{margin-top:20px;}
.apply-hp{position:absolute;left:-9999px;width:1px;height:0;overflow:hidden;}
@media(max-width:560px){.apply-hero h1{font-size:2rem;} .apply-card{padding:20px 16px;}}

/* ── Hero proof row + trusted-by customer wall ──────────────────────────────── */
.hero-proof{display:flex;flex-wrap:wrap;gap:9px 20px;margin-top:22px;}
.hero-proof-item{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;font-weight:600;color:var(--ink);
  font-family:var(--display);}
.hero-proof-item svg{color:var(--aqua-deep);flex:none;}
.trust-band{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;}
.trust-band-eyebrow{text-align:center;font-family:var(--display);font-size:.72rem;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted-2);margin:0 0 16px;}
.trust-wall{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px 42px;}
.trust-logo{display:inline-flex;align-items:center;justify-content:center;}
.trust-logo img{width:auto;object-fit:contain;opacity:.82;filter:saturate(.92);transition:opacity var(--t),transform var(--t);}
.trust-logo:hover img{opacity:1;transform:translateY(-2px);}
@media(max-width:560px){.trust-wall{gap:16px 26px;}.trust-logo img{max-height:28px;height:auto!important;}}

/* auto-scrolling logo marquee (customers + suppliers) — one compact row */
.marquee{overflow:hidden;width:100%;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);}
.marquee-track{display:flex;align-items:center;width:max-content;animation:lw-marquee var(--dur,40s) linear infinite;}
.marquee-track>*{flex:none;}
.marquee:hover .marquee-track{animation-play-state:paused;}
@keyframes lw-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none;flex-wrap:wrap;justify-content:center;gap:16px 30px;}}
/* trailing margin (not flex-gap) so the -50% loop stays seamless */
.supplier-marquee .marquee-track>*,.trust-marquee .marquee-track>*{margin-right:16px;}
/* Unified, parallel logo bands (customers + suppliers): same tile, same size */
.logo-band{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;}
.logo-band + .logo-band{border-top:none;}
.logo-band-eyebrow{text-align:center;font-family:var(--display);font-size:.72rem;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted-2);margin:0 0 14px;}
.logo-band-more{text-align:center;margin-top:13px;}
.logo-tile{display:inline-flex;align-items:center;justify-content:center;height:58px;min-width:140px;padding:11px 20px;
  background:#fff;border:1px solid var(--line);border-radius:13px;transition:border-color var(--t),background var(--t);}
.logo-tile:hover{border-color:var(--aqua-deep);background:var(--tint);}
.logo-tile img{max-height:30px;max-width:108px;width:auto;object-fit:contain;display:block;}
.logo-tile.lg img{max-height:46px;max-width:150px;}
.logo-word{font-family:var(--display);font-weight:800;font-size:1.05rem;color:#B7B2A6;}
@media(max-width:560px){.logo-tile{height:52px;min-width:118px;padding:9px 15px;}.logo-tile img{max-height:26px;max-width:90px;}.logo-tile.lg img{max-height:40px;max-width:124px;}}

/* ── Home enhancements: popular chips, value props, buying-guides strip ─────── */
.hero-popular{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;}
.hero-popular-label{font-size:.72rem;font-weight:800;color:var(--muted-2);font-family:var(--display);
  text-transform:uppercase;letter-spacing:.08em;}
.hero-chip{display:inline-flex;align-items:center;padding:6px 13px;border:1px solid var(--line);border-radius:100px;
  background:#fff;font-size:.8rem;font-weight:600;color:var(--ink);text-transform:capitalize;transition:var(--t);}
.hero-chip:hover{border-color:var(--aqua);background:var(--tint);}

.valueprops{padding:44px 0 18px;}
.vp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:22px;}
@media(max-width:900px){.vp-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.vp-grid{grid-template-columns:minmax(0,1fr);}}
.vp-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px 20px;}
.vp-ic{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:13px;
  background:var(--teal-soft);color:var(--aqua-deep);margin-bottom:14px;}
.vp-card h3{font-size:1.06rem;margin-bottom:7px;}
.vp-card p{color:var(--muted);font-size:.9rem;line-height:1.55;}

.ghome-lead{color:var(--muted);max-width:640px;margin:-4px 0 18px;font-size:.96rem;line-height:1.55;}
.ghome-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media(max-width:900px){.ghome-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.ghome-grid{grid-template-columns:minmax(0,1fr);}}
.ghome-card{display:flex;flex-direction:column;gap:9px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);padding:20px;transition:var(--t);}
.ghome-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--aqua);}
.ghome-ic{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;
  background:var(--teal-soft);color:var(--aqua-deep);}
.ghome-card h3{font-size:1.02rem;line-height:1.2;}
.ghome-go{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-family:var(--display);font-weight:700;
  font-size:.83rem;color:var(--coral-dark);}

/* ── /brands: core-brand logo tiles ─────────────────────────────────────────── */
.brands-core-wrap{padding-bottom:10px;}
.brands-core{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px;}
@media(max-width:900px){.brands-core{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.brands-core{grid-template-columns:minmax(0,1fr);}}
.brand-core-tile{display:flex;align-items:center;gap:16px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);padding:16px 18px;transition:var(--t);}
.brand-core-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--aqua);}
.brand-core-logo{flex:0 0 96px;height:60px;display:flex;align-items:center;justify-content:center;background:#fff;
  border:1px solid var(--line);border-radius:12px;padding:8px;}
.brand-core-logo img{max-height:34px;max-width:80px;width:auto;object-fit:contain;display:block;}
.brand-core-word{font-family:var(--display);font-weight:800;font-size:.86rem;color:var(--ink);text-align:center;line-height:1.1;}
.brand-core-meta{display:flex;flex-direction:column;gap:2px;min-width:0;}
.brand-core-meta strong{font-family:var(--display);font-size:1.06rem;color:var(--ink);}
.brand-core-blurb{font-size:.82rem;color:var(--muted);}
.brand-core-count{font-size:.77rem;color:var(--coral-dark);font-weight:700;font-family:var(--display);margin-top:3px;}

/* ── Account quotes portal ──────────────────────────────────────────────────── */
.qp{margin:6px auto 10px;}
.qp-head{display:flex;align-items:baseline;gap:12px;margin-bottom:14px;flex-wrap:wrap;}
.qp-head h2{font-size:1.4rem;}
.qp-sub{color:var(--muted);font-size:.9rem;}
.qp-linked{display:inline-flex;align-items:center;gap:7px;font-size:.85rem;color:var(--aqua-deep);font-weight:600;
  font-family:var(--display);margin:0 0 14px;}
.qp-linked svg{color:var(--aqua-deep);}
.qp-empty{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:34px 24px;
  text-align:center;color:var(--muted);}
.qp-empty .es-ic{display:inline-flex;color:var(--muted-2);margin-bottom:10px;}
.qp-quote{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;
  margin-bottom:16px;box-shadow:var(--shadow);}
.qp-quote-done{opacity:.88;}
.qp-q-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap;}
.qp-q-ref{font-family:var(--display);font-size:1.1rem;color:var(--ink);}
.qp-q-date{color:var(--muted-2);font-size:.8rem;margin-left:10px;}
.qp-badge{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:5px 12px;
  border-radius:100px;font-family:var(--display);}
.qp-badge-open{background:var(--warn-soft);color:var(--warn);}
.qp-badge-accepted{background:var(--ok-soft);color:var(--ok);}
.qp-badge-rejected{background:var(--coral-soft);color:var(--coral-dark);}
.qp-lines{display:flex;flex-direction:column;border-top:1px solid var(--line-soft);padding-top:8px;}
.qp-line{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:7px 0;font-size:.9rem;
  border-bottom:1px solid var(--line-soft);}
.qp-line:last-child{border-bottom:none;}
.qp-line-name{color:var(--ink);}
.qp-line-qty{color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums;}
.qp-line-price{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;}
.qp-more{margin:8px 0 0;font-size:.8rem;}
.qp-q-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;flex-wrap:wrap;}
.qp-q-total{font-size:1.02rem;}
.qp-q-total strong{font-size:1.2rem;}
.qp-vat{color:var(--muted-2);font-size:.8rem;}
.qp-valid{color:var(--muted);font-size:.82rem;}
.qp-actions{display:flex;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line-soft);}
.qp-link{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px 22px;max-width:560px;}
.qp-link h3{font-size:1.2rem;margin-bottom:6px;}
.qp-link>p{margin-bottom:16px;line-height:1.55;}
.qp-link-form{display:flex;flex-direction:column;}
.qp-field{display:block;margin-bottom:12px;}
.qp-field>span{display:block;font-size:.78rem;font-weight:600;color:var(--muted);margin-bottom:5px;}
.qp-link-form input{width:100%;padding:11px 13px;border:1.5px solid var(--line);border-radius:10px;font:inherit;
  font-size:16px;background:#FDFCF9;color:var(--ink);}
.qp-link-form input:focus{outline:none;border-color:var(--coral);background:#fff;}
.qp-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;}
@media(max-width:520px){.qp-grid2{grid-template-columns:minmax(0,1fr);}}
.qp-link-form>button{margin-top:8px;align-self:flex-start;}
.qp-link-err{margin-top:8px;}
.qp-pending{display:flex;gap:14px;align-items:flex-start;background:var(--tint);border:1px solid var(--line);
  border-radius:var(--radius);padding:20px 22px;}
.qp-pending .es-ic{color:var(--aqua-deep);flex:none;}
.qp-pending strong{font-family:var(--display);font-size:1.05rem;display:block;margin-bottom:3px;}
/* login consent ticks */
.login-check{display:flex;gap:10px;align-items:flex-start;margin:6px 0;cursor:pointer;font-size:.82rem;
  color:var(--muted);line-height:1.45;}
.login-check input{width:18px;height:18px;margin-top:1px;accent-color:var(--coral);flex:none;}
.login-check a{color:var(--coral-dark);font-weight:600;}
/* portal: sections, your-products, recent orders */
.qp-section{font-size:1.08rem;margin:28px 0 4px;display:flex;align-items:center;gap:8px;font-family:var(--display);}
.qp-count{font-size:.7rem;font-weight:800;background:var(--tint);color:var(--muted);padding:3px 9px;border-radius:100px;font-family:var(--font);}
.qp-hint{color:var(--muted);font-size:.86rem;margin:2px 0 12px;}
.qp-btn-sm{padding:8px 15px;font-size:.82rem;flex:none;}
.qp-products{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.qp-prod-head{padding:14px 16px;border-bottom:1px solid var(--line-soft);}
.qp-prod-filter{width:100%;padding:10px 13px;border:1.5px solid var(--line);border-radius:10px;font:inherit;font-size:15px;background:#FDFCF9;color:var(--ink);}
.qp-prod-filter:focus{outline:none;border-color:var(--aqua);background:#fff;}
.qp-prod-list{max-height:520px;overflow-y:auto;}
.qp-prod{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border-bottom:1px solid var(--line-soft);}
.qp-prod:last-child{border-bottom:none;}
.qp-prod-info{min-width:0;}
.qp-prod-info strong{display:block;font-size:.94rem;color:var(--ink);}
.qp-prod-meta{font-size:.76rem;color:var(--muted-2);}
.qp-orders{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
@media(max-width:640px){.qp-orders{grid-template-columns:minmax(0,1fr);}}
.qp-order{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px;}
.qp-order-top{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.qp-order-top strong{font-family:var(--display);}
.qp-order-total{font-weight:800;font-family:var(--display);}
.qp-order-meta{color:var(--muted);font-size:.82rem;margin:4px 0 12px;}
/* JS-driven (draggable) marquee: kill the CSS keyframe, grab to take over */
.marquee-js{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;}
.marquee-js.grabbing{cursor:grabbing;}
.marquee-js .marquee-track{animation:none!important;flex-wrap:nowrap!important;will-change:transform;}
.marquee-js img{-webkit-user-drag:none;pointer-events:none;}

/* persistent "open a trade account" CTA on the top strip (filled coral pill) */
.top-strip .trade-apply{background:var(--coral);color:#fff;border:1px solid var(--coral);
  border-radius:var(--radius-pill);padding:5px 13px;font-weight:700;}
.top-strip .trade-apply:hover{background:var(--coral-dark);border-color:var(--coral-dark);color:#fff;}
@media(max-width:760px){.top-strip .trade-apply{display:none;}}

/* ── Foster configurator extras (reuses the .retigo-* journey styles) ───────── */
.foster-hero .eyebrow{color:var(--aqua-deep);}
.foster-measure-row{background:var(--tint);border:1px solid var(--line);border-radius:14px;padding:16px 18px;
  margin:6px 0 20px;max-width:540px;}
.foster-measure-row>label{display:flex;align-items:center;gap:7px;font-weight:600;font-size:.85rem;color:var(--ink);
  font-family:var(--display);margin-bottom:9px;}
.foster-measure-row>label svg{color:var(--aqua-deep);}
.foster-measure-in{display:flex;align-items:center;gap:8px;max-width:220px;}
.foster-measure{flex:1;padding:11px 13px;border:1.5px solid var(--line);border-radius:10px;font:inherit;font-size:16px;
  background:#fff;color:var(--ink);}
.foster-measure:focus{outline:none;border-color:var(--aqua);}
.foster-mm{font-weight:700;color:var(--muted);}
.foster-measure-hint{display:block;margin-top:9px;font-size:.74rem;color:var(--muted-2);}
.foster-dims{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;color:var(--muted);font-weight:600;margin:8px 0 2px;}
.foster-dims svg{color:var(--aqua-deep);flex:none;}

/* ── Footer socials ─────────────────────────────────────────────────────────── */
.foot-social{display:flex;gap:12px;margin-top:16px;}
.foot-social a{color:rgba(255,255,255,.55);display:inline-flex;transition:color var(--t),transform var(--t);}
.foot-social a:hover{color:#fff;transform:translateY(-2px);}

/* ============================================================================
   HOME v4 · "kinetic trade counter"
   Cinematic navy hero (living aurora + grain + dot grid), word-by-word headline
   reveal, count-up stats, floating product card w/ pointer tilt, coral ticker,
   brand-coloured logo wall, giant editorial outline-type divider.
   Scoped to .hx-* so nothing else on the site is touched.
   ========================================================================== */

/* ── Hero shell ── */
.hx-hero{position:relative;overflow:hidden;color:#fff;
  background:radial-gradient(120% 140% at 15% -10%,#2F3947 0%,#262E38 45%,#1B212A 100%);}
.hx-hero-inner{position:relative;z-index:5;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:44px;align-items:center;max-width:var(--maxw);margin:0 auto;padding:72px var(--pad) 84px;}

/* living aurora — three drifting light fields */
.hx-aurora{position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none;z-index:1;
  will-change:transform;opacity:.55;}
.hx-aurora-1{width:640px;height:640px;left:-160px;top:-220px;
  background:radial-gradient(circle,rgba(78,205,197,.55),transparent 65%);
  animation:hxDrift1 22s ease-in-out infinite alternate;}
.hx-aurora-2{width:560px;height:560px;right:-140px;bottom:-260px;
  background:radial-gradient(circle,rgba(255,107,107,.42),transparent 65%);
  animation:hxDrift2 26s ease-in-out infinite alternate;}
.hx-aurora-3{width:420px;height:420px;right:22%;top:-240px;
  background:radial-gradient(circle,rgba(47,179,170,.32),transparent 65%);
  animation:hxDrift3 19s ease-in-out infinite alternate;}
@keyframes hxDrift1{from{transform:translate(0,0) scale(1);}to{transform:translate(90px,60px) scale(1.15);}}
@keyframes hxDrift2{from{transform:translate(0,0) scale(1.05);}to{transform:translate(-80px,-50px) scale(.92);}}
@keyframes hxDrift3{from{transform:translate(0,0);}to{transform:translate(-60px,70px) scale(1.2);}}

/* faint dot grid + film grain for depth */
.hx-grid-bg{position:absolute;inset:0;z-index:2;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.13) 1px,transparent 1.4px);
  background-size:34px 34px;
  -webkit-mask-image:radial-gradient(90% 80% at 60% 30%,#000 20%,transparent 75%);
  mask-image:radial-gradient(90% 80% at 60% 30%,#000 20%,transparent 75%);opacity:.5;}
.hx-grain{position:absolute;inset:-100%;z-index:3;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:hxGrain 9s steps(6) infinite;}
@keyframes hxGrain{0%,100%{transform:translate(0,0);}20%{transform:translate(-6%,4%);}40%{transform:translate(4%,-7%);}
  60%{transform:translate(-3%,-3%);}80%{transform:translate(6%,5%);}}

/* ── Copy column ── */
.hx-eyebrow{display:inline-flex;align-items:center;gap:7px;font-family:var(--display);font-size:.72rem;
  font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--aqua);
  opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease;}
.hx-in .hx-eyebrow{opacity:1;transform:none;}
.hx-h1{font-size:clamp(2.4rem,4.6vw,4.1rem);line-height:1.0;letter-spacing:-.028em;font-weight:800;
  color:#fff;margin:18px 0 0;}
.hx-w{display:inline-block;overflow:hidden;vertical-align:bottom;
  padding:.04em .14em .08em .02em;margin:-.04em -.12em -.08em -.02em;}
.hx-wi{display:inline-block;transform:translateY(112%);transition:transform .7s cubic-bezier(.19,1,.22,1);
  transition-delay:calc(80ms + var(--wi,0) * 65ms);}
.hx-in .hx-wi{transform:none;}
.hx-fav .hx-wi{color:var(--aqua);font-style:italic;}
.hx-fav{position:relative;}
.hx-fav::after{content:"";position:absolute;left:2%;right:4%;bottom:.02em;height:.1em;border-radius:99px;
  background:linear-gradient(90deg,var(--aqua),var(--coral));transform:scaleX(0);transform-origin:left;
  transition:transform .6s cubic-bezier(.19,1,.22,1) .85s;}
.hx-in .hx-fav::after{transform:scaleX(1);}
.hx-amp .hx-wi{color:var(--coral);}
.hx-sub{color:#B9C1CC;font-size:1rem;line-height:1.65;margin:22px 0 26px;max-width:47ch;
  opacity:0;transform:translateY(16px);transition:opacity .6s ease .5s,transform .6s ease .5s;}
.hx-in .hx-sub{opacity:1;transform:none;}
.hx-cta{display:flex;gap:16px;align-items:center;flex-wrap:wrap;
  opacity:0;transform:translateY(16px);transition:opacity .6s ease .62s,transform .6s ease .62s;}
.hx-in .hx-cta{opacity:1;transform:none;}
.hx-btn-main{position:relative;overflow:hidden;padding:15px 30px;font-size:.9rem;}
.hx-btn-main::after{content:"";position:absolute;inset:0;transform:translateX(-120%) skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transition:transform .7s ease;}
.hx-btn-main:hover::after{transform:translateX(120%) skewX(-18deg);}
.hx-btn-ghost{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:700;
  font-size:.86rem;color:#fff;padding:14px 24px;border:1px solid rgba(255,255,255,.28);border-radius:var(--radius-pill);
  transition:border-color var(--t),background var(--t),transform var(--t);}
.hx-btn-ghost:hover{border-color:var(--aqua);background:rgba(78,205,197,.1);transform:translateY(-2px);}

/* count-up stats */
.hx-stats{display:flex;gap:0;margin:30px 0 4px;opacity:0;transform:translateY(16px);
  transition:opacity .6s ease .74s,transform .6s ease .74s;}
.hx-in .hx-stats{opacity:1;transform:none;}
.hx-stat{padding:0 26px;border-left:1px solid rgba(255,255,255,.14);}
.hx-stat:first-child{padding-left:0;border-left:none;}
.hx-num{display:block;font-family:var(--display);font-weight:800;font-size:1.9rem;letter-spacing:-.02em;
  color:#fff;font-variant-numeric:tabular-nums;}
.hx-stat span{font-size:.74rem;color:#8E97A3;letter-spacing:.04em;text-transform:uppercase;font-weight:600;}

/* popular chips */
.hx-popular{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:26px;
  opacity:0;transition:opacity .6s ease .9s;}
.hx-in .hx-popular{opacity:1;}
.hx-popular-label{font-family:var(--display);font-size:.7rem;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:#717B88;margin-right:2px;}
.hx-chip{font-size:.78rem;font-weight:600;color:#C7CED8;padding:7px 15px;border:1px solid rgba(255,255,255,.16);
  border-radius:var(--radius-pill);transition:all var(--t);}
.hx-chip:hover{color:#1B212A;background:var(--aqua);border-color:var(--aqua);transform:translateY(-2px);}

/* ── Stage: floating product card + orbit badges ── */
.hx-stage{position:relative;display:flex;justify-content:center;padding:20px 8px;perspective:900px;}
.hx-stage .herocard{width:320px;min-height:340px;transition:transform .25s ease;}
.hx-stage .herocard .blob{background:radial-gradient(85% 85% at 50% 40%,rgba(78,205,197,.35),rgba(78,205,197,.06) 60%,transparent);
  border-radius:160px 160px 26px 26px;inset:4px -6px 8px 12px;}
.hx-float{animation:hxFloat 7s ease-in-out infinite;}
.hx-float-slow{animation:hxFloat 9s ease-in-out infinite;}
@keyframes hxFloat{0%,100%{translate:0 0;}50%{translate:0 -12px;}}
.hx-orbit{position:absolute;z-index:6;display:inline-flex;align-items:center;gap:7px;
  font-family:var(--display);font-weight:700;font-size:.74rem;color:#fff;padding:9px 16px;
  border-radius:var(--radius-pill);background:rgba(38,46,56,.72);border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(8px);box-shadow:0 14px 34px -14px rgba(0,0,0,.6);
  opacity:0;transition:opacity .6s ease;}
.hx-in .hx-orbit{opacity:1;}
.hx-orbit .ic{color:var(--aqua);}
.hx-orbit-a{top:6%;left:-6%;animation:hxOrbA 8s ease-in-out infinite;transition-delay:1s;}
.hx-orbit-b{bottom:16%;right:-8%;animation:hxOrbB 9.5s ease-in-out infinite;transition-delay:1.15s;}
.hx-orbit-b .ic{color:var(--coral);}
.hx-orbit-c{bottom:-3%;left:2%;animation:hxOrbA 11s ease-in-out infinite reverse;transition-delay:1.3s;}
@keyframes hxOrbA{0%,100%{translate:0 0;}50%{translate:0 -10px;}}
@keyframes hxOrbB{0%,100%{translate:0 0;}50%{translate:0 12px;}}

/* dark-hero treatment of the carousel card */
.hx-hero .hcar-card{box-shadow:0 40px 90px -30px rgba(0,0,0,.65);}
.hx-hero .hcar-arrow{background:rgba(38,46,56,.85);color:#fff;border-color:rgba(255,255,255,.2);}
.hx-hero .hcar-dot{background:rgba(255,255,255,.28);}
.hx-hero .hcar-dot.active{background:var(--coral);}

/* ── Coral ticker ── */
.hx-ticker{position:relative;z-index:6;overflow:hidden;background:linear-gradient(90deg,var(--coral),var(--coral-dark));
  box-shadow:0 18px 40px -22px rgba(225,75,75,.45);}
.hx-ticker-track{display:inline-flex;align-items:center;gap:34px;white-space:nowrap;padding:13px 0;
  animation:hxTicker 32s linear infinite;will-change:transform;}
.hx-ticker:hover .hx-ticker-track{animation-play-state:paused;}
.hx-tick-item{font-family:var(--display);font-weight:800;font-size:.88rem;letter-spacing:.12em;
  text-transform:uppercase;color:#fff;}
.hx-tick-dot{color:rgba(255,255,255,.65);font-size:.8rem;}
@keyframes hxTicker{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ── Logo bands (paper) ── */
.hx-band{padding:34px 0 30px;border:none;background:transparent;}
.hx-band + .hx-band{padding-top:10px;}
.hx-band .logo-band-eyebrow{font-size:.76rem;margin-bottom:18px;}
.hx-band .logo-tile{height:66px;min-width:158px;border-radius:16px;
  box-shadow:0 1px 2px rgba(35,41,43,.04);transition:transform var(--t),border-color var(--t),box-shadow var(--t);}
.hx-band .logo-tile:hover{transform:translateY(-4px) scale(1.03);}
.hx-band .logo-tile img{max-height:34px;max-width:120px;transition:transform var(--t);}
.hx-band .logo-tile:hover img{transform:scale(1.07);}
.hx-band .logo-tile.lg img{max-height:50px;max-width:158px;}
/* brand-coloured hover: each supplier tile carries --bc (its brand colour) */
.hx-brandwall .logo-tile{--bc:var(--aqua-deep);}
.hx-brandwall .logo-tile:hover{border-color:var(--bc);
  box-shadow:0 16px 38px -16px color-mix(in srgb,var(--bc) 55%,transparent),0 1px 2px rgba(35,41,43,.05);}
.hx-brandwall .logo-word{color:#8B8574;font-size:1.02rem;letter-spacing:-.01em;}
.hx-brandwall .logo-tile:hover .logo-word{color:var(--bc);}
/* The marquee clips (overflow:hidden) — give it vertical room so a hover-lifted
   tile (translateY(-4px) scale) and its drop shadow aren't cropped at the top. */
.hx-band .marquee{padding:14px 0;}
/* White/light brand logos (Precision, Dynamic) need a dark backing or they
   vanish on the pale tile. Keep it dark on hover too (base :hover tints light). */
.logo-tile-dark,.logo-tile-dark:hover{background:var(--navy);border-color:rgba(255,255,255,.16);}
.hx-brandwall .logo-tile-dark:hover{border-color:var(--bc);}
.logo-tile-dark .logo-word{color:#fff;}

/* ── Giant editorial outline shout ── */
.hx-shout{overflow:hidden;padding:34px 0 30px;background:var(--paper);}
.hx-shout-track{display:inline-flex;align-items:baseline;gap:38px;white-space:nowrap;
  animation:hxTicker 46s linear infinite;will-change:transform;}
.hx-shout:hover .hx-shout-track{animation-play-state:paused;}
/* Solid soft-tint giant type. No text-stroke: the outline effect exposed the
   font's internal strokes and read as messy. */
.hx-shout-word{font-family:var(--display);font-weight:800;font-style:italic;font-size:clamp(3rem,7vw,5.6rem);
  letter-spacing:-.03em;text-transform:uppercase;line-height:1;color:rgba(38,46,56,.13);}
.hx-shout-solid{color:var(--coral);}
.hx-shout-star{color:var(--aqua);font-size:2rem;transform:translateY(-8px);}

/* ── Duo promos ── */
.hx-duo{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;align-items:stretch;}
.hx-duo .retigo-promo{position:relative;grid-template-columns:1.25fr .75fr;margin:0;overflow:hidden;}
.hx-duo .proj-promo{display:flex;align-items:center;position:relative;overflow:hidden;}
.hx-promo-aqua{background:linear-gradient(130deg,var(--aqua-deep),#0F8A81)!important;}
.hx-promo-aqua .proj-promo-btn{color:#0F8A81;}
.hx-aurora-promo{position:absolute;width:380px;height:380px;right:-120px;top:-160px;filter:blur(60px);
  background:radial-gradient(circle,rgba(78,205,197,.4),transparent 65%);border-radius:50%;
  animation:hxDrift3 18s ease-in-out infinite alternate;pointer-events:none;}
@media(max-width:960px){.hx-duo{grid-template-columns:minmax(0,1fr);}}

/* trade band aurora */
.hx-tradeb{position:relative;}
.hx-aurora-trade{position:absolute;width:460px;height:460px;left:-140px;top:-200px;filter:blur(70px);
  background:radial-gradient(circle,rgba(78,205,197,.28),transparent 65%);border-radius:50%;
  animation:hxDrift1 24s ease-in-out infinite alternate;pointer-events:none;}

/* dept/sector cards get a touch more life */
.dept-card{transition:transform var(--t),box-shadow var(--t),border-color var(--t);}
.sector-card:hover .sector-icon{transform:scale(1.12) rotate(-4deg);}
.sector-icon{transition:transform var(--t);}

/* ── Responsive ── */
@media(max-width:1020px){
  .hx-hero-inner{grid-template-columns:minmax(0,1fr);gap:26px;padding:52px var(--pad) 64px;}
  .hx-stage{order:2;padding-top:6px;}
  .hx-orbit-a{left:0;}
  .hx-orbit-b{right:0;}
}
@media(max-width:640px){
  .hx-hero-inner{padding:40px var(--pad) 54px;}
  .hx-h1{font-size:2.35rem;}
  .hx-stats{flex-wrap:wrap;gap:14px 0;}
  .hx-stat{padding:0 18px;}
  .hx-num{font-size:1.5rem;}
  .hx-stage .herocard{width:290px;}
  .hx-orbit-c{display:none;}
  .hx-ticker-track{gap:22px;padding:10px 0;}
  .hx-tick-item{font-size:.72rem;}
  .hx-band .logo-tile{height:56px;min-width:128px;}
}

/* ── Reduced motion: everything lands instantly, nothing drifts ── */
@media(prefers-reduced-motion:reduce){
  .hx-aurora,.hx-grain,.hx-float,.hx-float-slow,.hx-orbit,.hx-ticker-track,.hx-shout-track{animation:none!important;}
  .hx-wi{transform:none;transition:none;}
  .hx-eyebrow,.hx-sub,.hx-cta,.hx-stats,.hx-popular,.hx-orbit{opacity:1;transform:none;transition:none;}
  .hx-fav::after{transform:scaleX(1);transition:none;}
}

/* ============================================================================
   HOME v4.1 — feedback pass
   Straight ticker; combined "Trusted by the UK's biggest brands" band;
   department bento with real product photography; Back of house rail;
   editorial numbered Why-cards; richer guide + sector cards; GrabbGo photo
   slots (real photography only — slots self-remove until photos land).
   ========================================================================== */

/* ── Combined trust band: customers row + brands row (opposite directions) ── */
.hx-trustband{padding:44px 0 38px;background:var(--surface);border-bottom:1px solid var(--line);}
.hx-trustband-head{text-align:center;margin-bottom:24px;padding:0 20px;}
.hx-trustband-head h2{font-size:clamp(1.4rem,2.6vw,2rem);letter-spacing:-.02em;}
.hx-trustband-head p{font-size:.85rem;color:var(--muted);margin:6px 0 0;}
.hx-trustband .marquee + .marquee{margin-top:14px;}
.hx-trustband .logo-band-more{margin-top:18px;}

/* ── Department bento ── */
.hx-dept-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.hx-dept-feature{position:relative;grid-column:span 2;display:flex;flex-direction:column;justify-content:flex-end;
  min-height:230px;padding:22px;border-radius:20px;overflow:hidden;background:var(--surface);
  border:1px solid var(--line);transition:transform var(--t),box-shadow var(--t),border-color var(--t);}
.hx-dept-feature:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:transparent;}
.hx-dept-photo{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end;padding:16px 20px;}
.hx-dept-photo img{max-height:78%;max-width:48%;object-fit:contain;background:#fff;border-radius:16px;
  padding:10px;box-shadow:0 16px 36px -18px rgba(35,41,43,.35);border:1px solid var(--line);
  transition:transform .45s cubic-bezier(.2,.6,.2,1);}
.hx-dept-feature:hover .hx-dept-photo img{transform:scale(1.05) rotate(-1deg);}
.hx-dept-feature::before{content:"";position:absolute;inset:0;
  background:linear-gradient(115deg,var(--tint) 0%,rgba(246,242,234,.4) 55%,transparent 100%);}
.hx-dept-feature .hx-dept-meta{position:relative;z-index:2;}
.hx-dept-kicker{display:inline-flex;align-items:center;gap:6px;font-family:var(--display);font-size:.66rem;
  font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--aqua-deep);margin-bottom:8px;}
.hx-dept-feature h3{font-size:1.5rem;letter-spacing:-.02em;}
.hx-dept-feature .hx-dept-count{display:block;font-size:.8rem;color:var(--muted);margin-top:3px;}
.hx-dept-go{position:absolute;right:18px;bottom:18px;z-index:2;display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:50%;background:var(--ink);color:#fff;transition:background var(--t),transform var(--t);}
.hx-dept-feature:hover .hx-dept-go{background:var(--coral);transform:translateX(3px);}
.hx-dept-rest{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-top:14px;}
@media(max-width:900px){.hx-dept-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.hx-dept-feature{grid-column:span 2;min-height:190px;}}
@media(max-width:560px){.hx-dept-grid{grid-template-columns:minmax(0,1fr);}.hx-dept-feature{grid-column:span 1;}}

/* ── Why Lordwell: editorial numbered cards ── */
.hx-why{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:64px 0 68px;}
.hx-why .section-head h2{font-size:clamp(1.7rem,3vw,2.4rem);letter-spacing:-.025em;}
.hx-why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:34px;
  border-top:2px solid var(--ink);}
.hx-why-card{position:relative;padding:26px 26px 30px 0;margin-right:26px;overflow:hidden;}
.hx-why-card + .hx-why-card::before{content:"";position:absolute;left:-26px;top:26px;bottom:26px;width:1px;background:var(--line);}
.hx-why-num{display:block;font-family:var(--display);font-weight:800;font-style:italic;font-size:3.4rem;
  line-height:1;letter-spacing:-.04em;color:rgba(38,46,56,.15);
  margin-bottom:14px;transition:color var(--t);}
.hx-why-card:hover .hx-why-num{color:var(--coral);}
.hx-why-card h3{font-size:1.14rem;letter-spacing:-.01em;margin-bottom:9px;}
.hx-why-card h3 em{font-style:normal;color:var(--aqua-deep);}
.hx-why-card p{font-size:.88rem;color:var(--muted);line-height:1.65;margin:0;}
.hx-why-proof{display:flex;gap:26px;flex-wrap:wrap;align-items:center;margin-top:34px;padding-top:22px;border-top:1px solid var(--line);}
.hx-why-proof strong{font-family:var(--display);font-weight:800;font-size:1.3rem;color:var(--ink);}
.hx-why-proof span{font-size:.78rem;color:var(--muted);display:block;}
@media(max-width:960px){.hx-why-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.hx-why-card{margin-right:0;padding:24px 22px;}
  .hx-why-card + .hx-why-card::before{display:none;}}
@media(max-width:520px){.hx-why-grid{grid-template-columns:minmax(0,1fr);}}

/* ── Guide cards: editorial ── */
.ghome-grid{gap:16px;}
.ghome-card{position:relative;overflow:hidden;padding:26px 24px 22px;border-radius:18px;
  border:1px solid var(--line);background:var(--surface);transition:transform var(--t),box-shadow var(--t),border-color var(--t);}
.ghome-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--aqua-deep);}
.ghome-card .ghome-ic{width:46px;height:46px;border-radius:13px;background:var(--teal-soft);color:var(--aqua-deep);
  display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px;transition:transform var(--t);}
.ghome-card:nth-child(even) .ghome-ic{background:var(--coral-soft);color:var(--coral-dark);}
.ghome-card:hover .ghome-ic{transform:scale(1.1) rotate(-4deg);}
.ghome-card h3{font-size:1.12rem;letter-spacing:-.01em;}
.ghome-card .ghome-blurb{font-size:.84rem;color:var(--muted);line-height:1.6;margin:8px 0 14px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ghome-card .ghome-go{transition:gap var(--t);display:inline-flex;align-items:center;gap:6px;}
.ghome-card:hover .ghome-go{gap:11px;color:var(--coral-dark);}

/* ── Sector cards: sharper ── */
.sector-card{border-radius:18px;padding:26px 24px;}
.sector-card .sector-icon{width:48px;height:48px;border-radius:13px;background:var(--teal-soft);color:var(--aqua-deep);
  display:inline-flex;align-items:center;justify-content:center;}
.sector-card:nth-child(even) .sector-icon{background:var(--coral-soft);color:var(--coral-dark);}
.sector-card:hover{border-color:var(--aqua-deep);transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.sector-card .sector-go{display:inline-flex;align-items:center;gap:6px;transition:gap var(--t);color:var(--ink);font-weight:700;font-family:var(--display);font-size:.82rem;}
.sector-card:hover .sector-go{gap:11px;color:var(--coral-dark);}

/* ── GrabbGo photo slots (real photography only) ── */
.gg-hero-photo{position:relative;display:flex;align-items:center;justify-content:center;}
.gg-hero-photo img{max-width:100%;max-height:420px;border-radius:22px;object-fit:cover;
  box-shadow:0 40px 90px -30px rgba(0,0,0,.55);}
.gg-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.gg-gallery img{width:100%;height:240px;object-fit:cover;border-radius:16px;}
@media(max-width:760px){.gg-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}.gg-gallery img{height:170px;}}
.gg-hero-inner.gg-hero-solo{grid-template-columns:minmax(0,1fr);}
.gg-hero-inner.gg-hero-solo .gg-hero-copy{max-width:720px;}

/* product cutouts presented on a clean white panel — kills rough mattes */
.hx-img-panel{background:#fff;border-radius:18px;box-shadow:0 24px 50px -22px rgba(0,0,0,.5);}
.hx-duo .retigo-promo-art img{max-height:230px;}

/* ============================================================================
   PDP v2 (hxp) — product pages at homepage quality.
   Entrance choreography, aqua glow stage, cursor-follow zoom, floating brand
   chip, sticky buy box, add-to-basket burst + fly-to-basket, qty pop.
   ========================================================================== */
.pdp .pdp-media{opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.2,.6,.2,1),transform .6s cubic-bezier(.2,.6,.2,1);}
.pdp .pdp-buy{opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.2,.6,.2,1) .12s,transform .6s cubic-bezier(.2,.6,.2,1) .12s;}
.pdp.hxp-in .pdp-media,.pdp.hxp-in .pdp-buy{opacity:1;transform:none;}

/* stage: white panel with a soft aqua breath behind the product */
.hxp-stage{position:relative;overflow:hidden;border-radius:20px;background:#fff;border:1px solid var(--line);}
.hxp-glow{position:absolute;inset:-30%;pointer-events:none;
  background:radial-gradient(50% 50% at 50% 58%,rgba(78,205,197,.16),transparent 70%);
  animation:hxpBreathe 7s ease-in-out infinite;}
@keyframes hxpBreathe{0%,100%{transform:scale(1);opacity:.8;}50%{transform:scale(1.12);opacity:1;}}
.hxp-stage .pdp-img{position:relative;z-index:1;transition:transform .35s cubic-bezier(.2,.6,.2,1);will-change:transform;}
.hxp-stage.hxp-zooming .pdp-img{transform:scale(1.65);cursor:zoom-in;}
/* Tap-to-enlarge hint + full-screen lightbox (PDP image). */
.hxp-zoomhint{position:absolute;bottom:10px;right:10px;z-index:2;width:30px;height:30px;border-radius:50%;
  background:rgba(255,255,255,.92);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
  color:var(--ink);pointer-events:none;box-shadow:0 2px 8px rgba(38,46,56,.14);}
.lb-overlay{position:fixed;inset:0;z-index:900;background:rgba(20,24,30,.94);display:flex;align-items:center;
  justify-content:center;padding:22px;animation:lbIn .18s ease;touch-action:pinch-zoom;overflow:auto;}
@keyframes lbIn{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.lb-overlay{animation:none}}
.lb-img{max-width:94vw;max-height:92vh;width:auto;height:auto;object-fit:contain;border-radius:8px;background:#fff;}
.lb-close{position:fixed;top:14px;right:14px;width:44px;height:44px;border-radius:50%;border:none;
  background:rgba(255,255,255,.16);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.lb-close:hover{background:rgba(255,255,255,.3);}

/* floating brand chip on the stage */
.hxp-brandchip{position:absolute;left:14px;top:14px;z-index:3;display:inline-flex;align-items:center;justify-content:center;
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 14px;box-shadow:0 10px 26px -14px rgba(35,41,43,.4);
  transition:transform var(--t),box-shadow var(--t);}
.hxp-brandchip:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 16px 34px -14px rgba(35,41,43,.5);}
.hxp-brandchip img{max-height:22px;max-width:86px;object-fit:contain;display:block;}
.hxp-brandchip span{font-family:var(--display);font-weight:800;font-size:.8rem;color:var(--ink);}

/* sticky buy box on desktop */
@media(min-width:961px){.pdp-buy{position:sticky;top:96px;align-self:start;}}

/* add-to-basket morph + qty pop + basket bump */
.pdp-add.hxp-added,.pdp-sticky-bar .hxp-added{background:var(--teal)!important;}
@keyframes hxpPop{0%{transform:scale(1);}40%{transform:scale(1.35);}100%{transform:scale(1);}}
.qty.hxp-pop{animation:hxpPop .28s cubic-bezier(.2,.6,.2,1);}
@keyframes hxpBump{0%{transform:scale(1);}35%{transform:scale(1.22) rotate(-4deg);}100%{transform:scale(1);}}
.quote-link.hxp-bump{animation:hxpBump .5s cubic-bezier(.2,.6,.2,1);}

/* burst particles + fly dot (document.body level) */
.hxp-spark{position:fixed;z-index:2000;width:9px;height:9px;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);}
.hxp-flydot{position:fixed;z-index:2000;width:16px;height:16px;border-radius:50%;background:var(--coral);
  box-shadow:0 4px 14px rgba(225,75,75,.5);pointer-events:none;transform:translate(-50%,-50%);}


@media(prefers-reduced-motion:reduce){
  .pdp .pdp-media,.pdp .pdp-buy{opacity:1;transform:none;transition:none;}
  .hxp-glow{animation:none;}
  .hxp-stage.hxp-zooming .pdp-img{transform:none;}
}

/* Quantity as an editable field (snaps to pack multiples) + "sold in packs" note */
.qty-input{width:58px;min-width:48px;text-align:center;font-family:var(--display);font-weight:800;
  font-size:1rem;color:var(--ink);font-variant-numeric:tabular-nums;border:none;background:transparent;
  outline:none;padding:0 4px;appearance:textfield;-moz-appearance:textfield;}
.qty-input:focus{background:var(--surface-2);border-radius:8px;}
/* Inside the basket stepper the field fills the control height and shares the
   − / + chrome (typeable qty, still snaps to whole packs on commit). */
.ql-stepper .qty-input{height:46px;width:52px;font-size:1.05rem;cursor:text;}
.ql-stepper .qty-input:focus{background:var(--surface-2);border-radius:0;
  box-shadow:inset 0 -2px 0 var(--aqua);}

/* ── Clubwell coming-soon capture ─────────────────────────────────────────── */
.cw-soon-hero{position:relative;overflow:hidden;color:#fff;padding:74px 0 86px;
  background:radial-gradient(120% 120% at 15% -10%,#2f3947 0%,#262E38 55%,#1e242c 100%);}
.cw-soon-glow{position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(40% 55% at 82% 18%,rgba(78,205,197,.28),transparent 70%),
  radial-gradient(38% 50% at 6% 92%,rgba(255,107,107,.20),transparent 70%);}
.cw-soon-in{position:relative;max-width:760px;text-align:center;}
.cw-soon-badge{display:inline-block;font:700 .72rem/1 var(--display,Outfit),sans-serif;letter-spacing:.16em;
  text-transform:uppercase;color:#0d1117;background:var(--aqua,#4ECDC5);padding:6px 14px;border-radius:999px;margin-bottom:18px;}
.cw-soon-hero .cw-soon-title{font:800 clamp(3rem,9vw,5.4rem)/.95 var(--display,Outfit),sans-serif;margin:0 0 14px;letter-spacing:-.02em;color:#fff;}
.cw-soon-title .cw-soon-dot{color:var(--coral,#FF6B6B);}
.cw-soon-sub{font-size:1.1rem;line-height:1.5;color:rgba(255,255,255,.82);max-width:560px;margin:0 auto 26px;}
.cw-soon-form{display:flex;gap:10px;max-width:480px;margin:0 auto 10px;flex-wrap:wrap;justify-content:center;}
.cw-soon-input{flex:1;min-width:220px;height:52px;border:1.5px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);
  color:#fff;border-radius:12px;padding:0 16px;font-size:1rem;}
.cw-soon-input::placeholder{color:rgba(255,255,255,.5);}
.cw-soon-input:focus{outline:none;border-color:var(--aqua,#4ECDC5);background:rgba(255,255,255,.14);}
.cw-soon-btn{height:52px;white-space:nowrap;gap:7px;}
.cw-soon-note{font-size:.8rem;color:rgba(255,255,255,.6);margin:0 auto;max-width:440px;}
.cw-soon-done{display:flex;align-items:center;gap:12px;justify-content:center;max-width:480px;margin:0 auto;
  background:rgba(78,205,197,.14);border:1px solid rgba(78,205,197,.4);border-radius:14px;padding:16px 20px;}
.cw-soon-tick{display:inline-flex;color:var(--aqua,#4ECDC5);}
.cw-soon-done p{margin:0;text-align:left;color:#fff;font-size:.95rem;}
.cw-soon-perks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px;max-width:560px;margin:42px auto 0;text-align:left;}
.cw-soon-perk{display:flex;gap:12px;align-items:flex-start;}
.cw-soon-pic{display:inline-flex;width:38px;height:38px;flex:none;align-items:center;justify-content:center;
  border-radius:10px;background:rgba(255,255,255,.08);color:var(--aqua,#4ECDC5);}
.cw-soon-pt{font-weight:700;font-size:.95rem;}
.cw-soon-pd{font-size:.82rem;color:rgba(255,255,255,.66);}
@media(max-width:560px){.cw-soon-perks{grid-template-columns:1fr;}.cw-soon-btn{width:100%;}}
.pdp-packnote{display:inline-flex;align-items:center;gap:7px;margin:11px 0 0;font-size:.84rem;
  font-weight:600;color:var(--muted);}
.pdp-packnote strong{color:var(--ink);font-weight:800;}
.pdp-packnote .ic{color:var(--aqua-deep);flex:none;}

/* Page-enter transition (router adds .view-enter on each navigation) */
@keyframes viewEnter{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
/* NO fill-mode: a persisted transform (even identity) turns <main> into the
   containing block for position:fixed descendants, which shoved the mobile
   filter sheet to the bottom of the PAGE instead of the viewport. */
#view.view-enter{animation:viewEnter .4s cubic-bezier(.2,.6,.2,1);}
@media(prefers-reduced-motion:reduce){#view.view-enter{animation:none;}}

/* ====================== CLIENT PORTAL (account) ========================= */
/* Scoped .acct-*; reuses qp-* quote styles above. Navy hero band + paper
   body, matching the trade band language used across the site. */

.acct-demo-strip{background:var(--coral);color:#fff;display:flex;align-items:center;justify-content:center;
  gap:18px;padding:9px var(--pad);font-size:.85rem;font-weight:600;flex-wrap:wrap;text-align:center;}
.acct-demo-strip .ic{vertical-align:-3px;margin-right:4px;}
.acct-demo-exit{color:#fff;text-decoration:underline;font-weight:700;font-size:.85rem;}
.acct-demo-row{margin-top:14px;}
.acct-demo-link{display:inline-flex;align-items:center;gap:7px;font-size:.88rem;}

.acct-hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 58%,#25414A 100%);position:relative;overflow:hidden;}
.acct-hero::before{content:'';position:absolute;right:-140px;top:-180px;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(78,205,197,.22),transparent 65%);pointer-events:none;}
.acct-hero::after{content:'';position:absolute;left:-120px;bottom:-220px;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,107,107,.14),transparent 65%);pointer-events:none;}
.acct-hero-inner{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;
  padding-top:44px;padding-bottom:8px;position:relative;z-index:1;flex-wrap:wrap;}
.acct-eyebrow{color:var(--aqua);}
.acct-hero h1{color:#fff;font-size:2rem;margin:8px 0 8px;}
.acct-hero-sub{color:#B9C2CC;font-size:.9rem;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0;}
.acct-co-chip{display:inline-flex;align-items:center;gap:6px;background:rgba(78,205,197,.14);color:var(--aqua);
  border:1px solid rgba(78,205,197,.35);border-radius:100px;padding:4px 12px;font-weight:700;font-size:.8rem;}
.acct-btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.35);}
.acct-btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);color:#fff;}
.acct-hero-actions{display:flex;gap:10px;}

.acct-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;
  padding-top:20px;padding-bottom:30px;position:relative;z-index:1;}
.acct-stat{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);border-radius:var(--radius-sm);
  padding:16px 18px;display:flex;flex-direction:column;gap:2px;backdrop-filter:blur(4px);}
.acct-stat-ic{color:var(--aqua);margin-bottom:6px;}
.acct-stat-label{color:#B9C2CC;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;}
.acct-stat-val{color:#fff;font-family:var(--display);font-size:1.5rem;font-weight:800;letter-spacing:-.01em;
  font-variant-numeric:tabular-nums;}
.acct-stat-foot{color:#A9B4C0;font-size:.76rem;}

.acct-tabs{border-bottom:1px solid var(--line);background:var(--bg);}
.acct-tabs-inner{display:flex;gap:6px;overflow-x:auto;padding-top:12px;padding-bottom:12px;scrollbar-width:none;}
.acct-tabs-inner::-webkit-scrollbar{display:none;}
.acct-tab{border:1.5px solid transparent;background:transparent;border-radius:100px;padding:9px 16px;
  font:inherit;font-size:.88rem;font-weight:700;color:var(--muted);cursor:pointer;white-space:nowrap;
  display:inline-flex;align-items:center;gap:8px;transition:all var(--t);}
.acct-tab:hover{color:var(--ink);background:var(--tint);}
.acct-tab.on{background:var(--navy);color:#fff;border-color:var(--navy);}
.acct-tab-badge{background:var(--coral);color:#fff;font-size:.68rem;font-weight:800;border-radius:100px;
  padding:2px 7px;line-height:1.3;}
.acct-tab-badge.warn{background:#8F5F0B;}
.acct-tab.on .acct-tab-badge{background:rgba(255,255,255,.22);}

.acct-body{padding-top:26px;padding-bottom:64px;display:flex;flex-direction:column;gap:16px;}
.acct-tab-head h2{font-size:1.45rem;margin-bottom:4px;}
.acct-tab-head p{max-width:620px;margin:0;}
.acct-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;}
.acct-panel-title{display:flex;align-items:center;gap:9px;font-size:1.02rem;margin-bottom:14px;}
.acct-panel-ic{display:inline-flex;width:30px;height:30px;border-radius:9px;background:var(--teal-soft);
  color:var(--aqua-deep);align-items:center;justify-content:center;}
.acct-p{margin:0 0 14px;font-size:.88rem;line-height:1.55;}
.acct-btn-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.acct-note{display:flex;align-items:flex-start;gap:8px;font-size:.82rem;margin:6px 0 0;}
.acct-note .ic{flex:none;margin-top:2px;color:var(--aqua-deep);}
.acct-legal{margin:14px 0 0;font-size:.78rem;color:var(--muted-2);}
.acct-legal a{text-decoration:underline;text-underline-offset:2px;}
.acct-more{align-self:center;margin-top:4px;}
.acct-empty-actions{justify-content:center;margin-top:14px;}

@keyframes acctIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.acct-in{animation:acctIn .38s cubic-bezier(.2,.6,.2,1) both;}
@media(prefers-reduced-motion:reduce){.acct-in{animation:none;}}

/* Needs attention */
.acct-attention{border-left:3px solid var(--coral);}
.acct-att-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line-soft);}
.acct-att-row:last-child{border-bottom:none;padding-bottom:0;}
.acct-att-ic{display:inline-flex;width:36px;height:36px;border-radius:10px;background:var(--coral-soft);
  color:var(--coral-dark);align-items:center;justify-content:center;flex:none;}
.acct-att-ic.warn{background:var(--warn-soft);color:var(--warn);}
.acct-att-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;}
.acct-att-txt strong{font-size:.92rem;}
.acct-att-txt span{font-size:.8rem;color:var(--muted);}

/* Overview grid */
.acct-ov-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;align-items:start;}
.acct-ov-side{display:flex;flex-direction:column;gap:16px;}
@media(max-width:900px){.acct-ov-grid{grid-template-columns:minmax(0,1fr);}}

/* Spend chart */
.acct-chart{display:flex;align-items:flex-end;gap:7px;height:150px;padding-top:8px;}
.acct-bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;
  position:relative;min-width:0;}
.acct-bar i{display:block;width:100%;max-width:38px;border-radius:7px 7px 3px 3px;
  background:linear-gradient(180deg,var(--aqua) 0%,var(--teal) 100%);transition:opacity var(--t);}
.acct-bar.zero i{background:var(--surface-3);}
.acct-bar:hover i{opacity:.8;}
.acct-bar-lbl{font-size:.68rem;color:var(--muted-2);font-weight:700;margin-top:6px;}
.acct-chart-empty{text-align:center;padding:28px 10px;}
.acct-chart-empty .es-ic{display:inline-flex;color:var(--muted-2);margin-bottom:8px;}
.acct-chart-empty p{margin:0;font-size:.86rem;}
.acct-spend-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;
  padding-top:14px;border-top:1px solid var(--line-soft);font-size:.88rem;}
.acct-spend-foot strong{font-family:var(--display);font-size:1.05rem;}

/* Quick actions */
.acct-quick{display:flex;flex-direction:column;gap:8px;}
.acct-qa{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--tint);
  border:1px solid transparent;border-radius:12px;padding:11px 14px;font:inherit;cursor:pointer;transition:all var(--t);}
.acct-qa:hover{border-color:var(--coral);background:#fff;}
.acct-qa-ic{display:inline-flex;width:34px;height:34px;border-radius:9px;background:#fff;color:var(--coral);
  align-items:center;justify-content:center;flex:none;border:1px solid var(--line-soft);}
.acct-qa:hover .acct-qa-ic{background:var(--coral-soft);border-color:transparent;}
.acct-qa-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:0;}
.acct-qa-txt strong{font-size:.89rem;}
.acct-qa-txt span{font-size:.76rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.acct-qa-go{color:var(--muted-2);}

/* Delivery steps */
.acct-steps{display:flex;align-items:flex-start;margin:14px 0;}
.acct-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;position:relative;text-align:center;}
.acct-step::before{content:'';position:absolute;top:10px;left:-50%;width:100%;height:2.5px;background:var(--line);}
.acct-step:first-child::before{display:none;}
.acct-step.done::before,.acct-step.current::before{background:var(--aqua);}
.acct-step-dot{width:21px;height:21px;border-radius:50%;background:var(--surface-3);border:2px solid var(--line);
  display:flex;align-items:center;justify-content:center;color:#fff;position:relative;z-index:1;}
.acct-step.done .acct-step-dot{background:var(--aqua);border-color:var(--aqua);}
.acct-step.current .acct-step-dot{background:#fff;border-color:var(--coral);box-shadow:0 0 0 4px var(--coral-soft);}
.acct-step-lbl{font-size:.7rem;font-weight:700;color:var(--muted);line-height:1.25;max-width:86px;}
.acct-step.todo .acct-step-lbl{color:var(--muted-2);font-weight:600;}
.acct-step.current .acct-step-lbl{color:var(--ink);}

.acct-next-del{display:flex;flex-direction:column;}
.acct-next-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
.acct-next-head strong{font-family:var(--display);font-size:1.02rem;}
.acct-next-head .acct-order-date{margin-left:9px;}
.acct-eta{display:inline-flex;align-items:center;gap:5px;background:var(--tint);border-radius:100px;
  padding:4px 12px;font-size:.78rem;font-weight:700;color:var(--ink);}
.acct-next-del>.btn{align-self:flex-start;}
.acct-del-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;
  border-top:1px solid var(--line-soft);padding-top:12px;font-size:.85rem;}
.acct-del-foot .linklike{display:inline-flex;align-items:center;gap:5px;font-size:.85rem;}
.acct-del-done{padding:14px 22px;}

/* Orders */
.acct-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.acct-toolbar .qp-prod-filter{flex:1;min-width:220px;border:1.5px solid var(--line);border-radius:10px;
  padding:11px 13px;font:inherit;background:var(--surface);}
.acct-toolbar .qp-prod-filter:focus{outline:none;border-color:var(--coral);}
.acct-chip-row{display:flex;gap:6px;flex-wrap:wrap;}
.acct-fchip{border:1.5px solid var(--line);background:var(--surface);border-radius:100px;padding:8px 14px;
  font:inherit;font-size:.8rem;font-weight:700;color:var(--muted);cursor:pointer;transition:all var(--t);}
.acct-fchip:hover{border-color:var(--coral);color:var(--coral);}
.acct-fchip.on{background:var(--navy);border-color:var(--navy);color:#fff;}
.acct-orders{display:flex;flex-direction:column;gap:10px;}
.acct-order{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  transition:border-color var(--t);}
.acct-order.open{border-color:var(--muted-2);}
.acct-order-top{display:flex;align-items:center;gap:16px;width:100%;background:none;border:none;font:inherit;
  text-align:left;padding:15px 18px;cursor:pointer;}
.acct-order-top:hover{background:var(--tint);}
.acct-order-id{display:flex;flex-direction:column;min-width:120px;}
.acct-order-id strong{font-family:var(--display);font-size:.98rem;}
.acct-order-date{color:var(--muted-2);font-size:.76rem;}
.acct-order-mid{flex:1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.acct-order-end{display:flex;align-items:center;gap:12px;font-variant-numeric:tabular-nums;}
.acct-order-end strong{font-size:.95rem;}
.acct-order-end .muted{font-size:.78rem;}
.acct-order-caret{color:var(--muted-2);transition:transform var(--t);display:inline-flex;transform:rotate(90deg);}
.acct-order.open .acct-order-caret{transform:rotate(-90deg);}
.acct-order-detail{padding:2px 18px 16px;border-top:1px solid var(--line-soft);}
.acct-order-detail .acct-btn-row{margin-top:14px;}
.acct-chip{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:5px 11px;border-radius:100px;}
.acct-chip-active{background:var(--teal-soft);color:var(--aqua-deep);}
.acct-chip-done{background:var(--ok-soft);color:var(--ok);}
.acct-chip-cancelled{background:var(--surface-3);color:var(--muted);}

/* Buy again */
.acct-due-panel{border-left:3px solid var(--warn);}
.acct-due-row{display:flex;align-items:center;gap:14px;padding:11px 0;}
.acct-due-row + .acct-due-row{border-top:1px solid var(--line-soft);}
.acct-due-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;}
.acct-due-info strong{font-size:.9rem;}
.acct-due-meta{font-size:.78rem;color:var(--muted);}
.acct-due-badge{background:var(--warn-soft);color:#8F5F0B;font-size:.68rem;font-weight:800;
  text-transform:uppercase;letter-spacing:.06em;padding:4px 10px;border-radius:100px;flex:none;}
.acct-due-panel .acct-btn-row{margin-top:14px;}

/* Details */
.acct-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;}
@media(max-width:820px){.acct-details-grid{grid-template-columns:minmax(0,1fr);}}
.acct-kv{padding:8px 0;font-size:.87rem;}
.acct-kv + .acct-kv{border-top:1px solid var(--line-soft);}
.acct-kv span{color:var(--muted);}
.acct-kv strong{text-align:right;overflow-wrap:anywhere;}
.acct-manager{display:flex;align-items:center;gap:13px;margin-bottom:14px;}
.acct-avatar{width:46px;height:46px;border-radius:50%;background:var(--navy);color:var(--aqua);
  font-family:var(--display);font-weight:800;font-size:1.2rem;display:flex;align-items:center;justify-content:center;flex:none;}
.acct-manager strong{display:block;font-family:var(--display);font-size:1rem;}
.acct-manager .muted{font-size:.8rem;}
.acct-panel .acct-btn-row{margin-top:12px;}
.acct-pref-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 0;flex-wrap:wrap;}
.acct-pref-row + .acct-pref-row{border-top:1px solid var(--line-soft);}
.acct-pref-row strong{font-size:.9rem;display:block;}
.acct-pref-sub{font-size:.78rem;display:block;}
.acct-seg{display:inline-flex;background:var(--tint);border-radius:100px;padding:3px;gap:2px;}
.acct-seg-btn{border:none;background:transparent;border-radius:100px;padding:7px 15px;font:inherit;
  font-size:.8rem;font-weight:700;color:var(--muted);cursor:pointer;transition:all var(--t);}
.acct-seg-btn.on{background:var(--navy);color:#fff;}
.acct-signout-row{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:10px;padding-top:4px;}

/* Gate (not linked / pending) */
.acct-gate{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;padding-top:36px;padding-bottom:64px;align-items:start;}
@media(max-width:860px){.acct-gate{grid-template-columns:minmax(0,1fr);}}
.acct-gate-main{display:flex;flex-direction:column;}
.acct-gate-perks h2{font-size:1.2rem;margin-bottom:16px;}

/* Skeleton + error */
.acct-skel{padding-top:36px;padding-bottom:64px;display:flex;flex-direction:column;gap:14px;}
.acct-skel-hero{height:120px;border-radius:var(--radius);}
.acct-skel-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
@media(max-width:700px){.acct-skel-row{grid-template-columns:repeat(2,minmax(0,1fr));}}
.acct-skel-stat{height:92px;border-radius:var(--radius-sm);}
.acct-skel-panel{height:280px;border-radius:var(--radius);}
.acct-error{padding-top:48px;padding-bottom:64px;}
.acct-error .btn{margin-top:14px;}

@media(max-width:640px){
  .acct-hero h1{font-size:1.5rem;}
  .acct-hero-inner{padding-top:30px;}
  .acct-stat-val{font-size:1.22rem;}
  .acct-panel{padding:17px;}
  .acct-order-top{flex-wrap:wrap;gap:8px 14px;}
  .acct-order-mid{order:3;flex-basis:100%;}
  .acct-step-lbl{font-size:.62rem;}
  .acct-spend-foot{flex-direction:column;align-items:flex-start;gap:4px;}
  .acct-demo-strip{font-size:.78rem;padding:8px 14px;}
}

/* ====================== LIVE CHAT WIDGET ================================ */
.lwc-root{position:fixed;right:20px;bottom:20px;z-index:600;}
.lwc-fab{position:relative;width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;
  background:var(--coral);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 30px -8px rgba(225,75,75,.55);transition:transform var(--t),background var(--t);}
.lwc-fab:hover{background:var(--coral-dark);transform:translateY(-2px);}
.lwc-fab.lwc-open{background:var(--navy);box-shadow:0 10px 30px -8px rgba(38,46,56,.5);}
.lwc-dot{position:absolute;top:3px;right:3px;width:13px;height:13px;border-radius:50%;
  background:#FFD166;border:2.5px solid #fff;}
.lwc-panel{position:fixed;right:20px;bottom:90px;width:min(380px,calc(100vw - 28px));
  height:min(560px,calc(100vh - 130px));height:min(560px,calc(100dvh - 130px));
  background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);
  display:flex;flex-direction:column;overflow:hidden;animation:lwcIn .28s cubic-bezier(.2,.6,.2,1) both;}
@keyframes lwcIn{from{opacity:0;transform:translateY(14px) scale(.98);}to{opacity:1;transform:none;}}
@media(prefers-reduced-motion:reduce){.lwc-panel{animation:none;}}
.lwc-head{display:flex;align-items:center;gap:11px;padding:14px 16px;background:var(--navy);color:#fff;}
.lwc-status{width:9px;height:9px;border-radius:50%;background:var(--aqua);flex:none;
  box-shadow:0 0 0 3px rgba(78,205,197,.25);animation:lwcPulse 2.4s ease-in-out infinite;}
@keyframes lwcPulse{50%{box-shadow:0 0 0 6px rgba(78,205,197,.08);}}
@media(prefers-reduced-motion:reduce){.lwc-status{animation:none;}}
.lwc-head-txt{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3;}
.lwc-head-txt strong{font-family:var(--display);font-size:.98rem;}
.lwc-head-txt span{font-size:.72rem;color:#B9C2CC;}
.lwc-hbtn{background:rgba(255,255,255,.1);border:none;color:#fff;width:30px;height:30px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none;transition:background var(--t);}
.lwc-hbtn:hover{background:rgba(255,255,255,.22);}
.lwc-list{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:12px;background:var(--bg);}
.lwc-msg{display:flex;flex-direction:column;max-width:86%;}
.lwc-them{align-self:flex-start;align-items:flex-start;}
.lwc-me{align-self:flex-end;align-items:flex-end;}
.lwc-bubble{padding:10px 14px;border-radius:15px;font-size:.88rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;}
.lwc-them .lwc-bubble{background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:5px;color:var(--ink);}
.lwc-me .lwc-bubble{background:var(--navy);color:#fff;border-bottom-right-radius:5px;}
.lwc-meta{font-size:.68rem;color:var(--muted-2);margin-top:4px;padding:0 4px;}
.lwc-id{display:grid;grid-template-columns:1fr 1.3fr;gap:8px;padding:10px 12px;border-top:1px solid var(--line-soft);background:var(--surface);}
.lwc-id-in{border:1.5px solid var(--line);border-radius:9px;padding:8px 11px;font:inherit;font-size:.8rem;min-width:0;}
.lwc-id-in:focus{outline:none;border-color:var(--coral);}
.lwc-foot{display:flex;align-items:flex-end;gap:9px;padding:11px 12px;border-top:1px solid var(--line);background:var(--surface);}
.lwc-input{flex:1;border:1.5px solid var(--line);border-radius:12px;padding:10px 13px;font:inherit;font-size:.88rem;
  resize:none;max-height:110px;line-height:1.4;}
.lwc-input:focus{outline:none;border-color:var(--coral);}
.lwc-send{width:42px;height:42px;border-radius:12px;border:none;background:var(--coral);color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;flex:none;transition:background var(--t);}
.lwc-send:hover{background:var(--coral-dark);}
.lwc-send:disabled{opacity:.55;cursor:default;}
@media(max-width:640px){
  .lwc-root{right:14px;bottom:14px;}
  .lwc-fab{width:54px;height:54px;}
  .lwc-panel{right:8px;left:8px;width:auto;bottom:78px;
    height:min(540px,calc(100vh - 96px));height:min(540px,calc(100dvh - 96px));}
}
/* Lift the chat bubble above the product-page add-to-basket sticky bar so it
   never sits on top of the primary buy button on mobile. */
body:has(.pdp-sticky-bar.show) .lwc-root{bottom:calc(76px + env(safe-area-inset-bottom));}

/* ── Mobile bottom bar (B14): native-app tab bar on phones ──────────────────
   Search / Browse / Basket / Account, always a thumb away. Desktop: hidden.
   Declared AFTER the chat + PDP sticky-bar rules so its collision overrides win
   by source order. */
.lw-mbar{display:none;}
.lw-mtab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;
  background:none;border:0;cursor:pointer;color:var(--muted);position:relative;
  font-family:var(--display);padding:5px 0 3px;-webkit-tap-highlight-color:transparent;}
.lw-mtab-ic{display:flex;}
.lw-mtab .ic{width:22px;height:22px;}
.lw-mtab-l{font-size:.64rem;font-weight:700;letter-spacing:.01em;}
.lw-mtab.is-active{color:var(--coral);}
.lw-mtab:active{transform:scale(.92);}
.lw-mbadge{position:absolute;top:0;left:calc(50% + 7px);min-width:16px;height:16px;
  padding:0 4px;border-radius:9px;background:var(--coral);color:#fff;line-height:1;
  font-size:.6rem;font-weight:800;display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 2px #fff;}
@media(max-width:880px){
  .lw-mbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:500;
    background:rgba(255,255,255,.97);backdrop-filter:saturate(1.4) blur(10px);
    border-top:1px solid var(--line);box-shadow:0 -4px 18px rgba(38,46,56,.09);
    padding:0 2px env(safe-area-inset-bottom);}
  body{padding-bottom:calc(58px + env(safe-area-inset-bottom));}
  .pdp-sticky-bar{bottom:calc(58px + env(safe-area-inset-bottom));}
  .lwc-root{bottom:calc(72px + env(safe-area-inset-bottom));}
  body:has(.pdp-sticky-bar.show) .lwc-root{bottom:calc(130px + env(safe-area-inset-bottom));}
}

/* ── Chat head brand row (live human chat) ─────────────────────────────── */
.lwc-brand{flex:1;min-width:0;display:flex;align-items:center;gap:10px;}

/* ═══════════════════════════════════════════════════════════════════════════
   INKX · Inked hero band (homepage) — ink-wash editorial, scoped .inkx-*
   ═══════════════════════════════════════════════════════════════════════════ */
.inkx{position:relative;overflow:hidden;background:#0F151D;color:#fff;isolation:isolate;}
.inkx-media{position:absolute;inset:0;z-index:-2;}
.inkx-media img{width:100%;height:100%;object-fit:cover;object-position:center 40%;
  transform:scale(1.06);animation:inkxDrift 26s ease-in-out infinite alternate;}
@keyframes inkxDrift{to{transform:scale(1.12) translate(-1.4%, -1.6%);}}
.inkx-wash{position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(90% 130% at 88% 8%,transparent 0%,rgba(15,21,29,.18) 60%,rgba(15,21,29,.55) 100%),
    linear-gradient(94deg,#0F151D 0%,rgba(15,21,29,.96) 30%,rgba(15,21,29,.72) 52%,rgba(15,21,29,.18) 78%,rgba(15,21,29,.05) 100%);}
.inkx-grain{position:absolute;inset:0;z-index:-1;opacity:.5;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.09) 1px,transparent 1.3px);background-size:30px 30px;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,transparent 62%);mask-image:linear-gradient(90deg,#000 0%,transparent 62%);}
.inkx-inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:44px;
  align-items:end;padding-top:96px;padding-bottom:88px;min-height:620px;}
.inkx-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);
  font-size:.74rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:#9FD9D4;}
.inkx-drop{width:10px;height:10px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);
  background:var(--aqua);box-shadow:0 0 18px rgba(78,205,197,.8);}
.inkx-title{margin:18px 0 14px;line-height:.98;}
.inkx-t1{display:block;font-family:var(--display);font-weight:800;letter-spacing:.14em;
  font-size:clamp(3rem,7.2vw,5.6rem);
  background:linear-gradient(180deg,#FFFFFF 30%,#9FD9D4 85%);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.inkx-t2{display:block;font-family:var(--display);font-weight:600;letter-spacing:-.02em;
  font-size:clamp(1.25rem,2.4vw,1.9rem);color:#C8D2DC;margin-top:10px;}
.inkx-t2 i{font-style:italic;color:var(--aqua);}
.inkx-lede{max-width:52ch;color:#AEB9C4;font-size:1.02rem;line-height:1.7;margin:0 0 22px;}
.inkx-chips{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:26px;}
.inkx-chip{padding:9px 18px;border-radius:100px;border:1px solid rgba(255,255,255,.22);
  color:#EAF2F1;font-family:var(--display);font-weight:700;font-size:.86rem;text-decoration:none;
  background:rgba(255,255,255,.05);backdrop-filter:blur(6px);transition:var(--t);}
.inkx-chip:hover{border-color:var(--aqua);color:#fff;background:rgba(78,205,197,.14);transform:translateY(-2px);}
.inkx-cta{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.inkx-ghost{color:#C8D2DC;font-weight:600;font-size:.95rem;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:2px;transition:var(--t);}
.inkx-ghost:hover{color:#fff;border-color:var(--aqua);}
.inkx-pieces{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-self:end;}
.inkx-piece{display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none;
  background:rgba(250,247,241,.94);border-radius:16px;padding:14px 10px 12px;
  box-shadow:0 24px 48px -20px rgba(0,0,0,.55);transform:translateY(0);
  transition:transform .28s cubic-bezier(.2,.7,.2,1.2),box-shadow .28s;animation:inkxBob 7s ease-in-out infinite;
  animation-delay:calc(var(--pi,0)*.9s);}
@keyframes inkxBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.inkx-piece:hover{transform:translateY(-10px) scale(1.03);box-shadow:0 34px 60px -18px rgba(0,0,0,.6);animation-play-state:paused;}
.inkx-piece img{width:100%;aspect-ratio:1/1;object-fit:contain;mix-blend-mode:multiply;}
.inkx-piece span{font-family:var(--display);font-weight:700;font-size:.78rem;color:var(--navy);}
@media(prefers-reduced-motion:reduce){.inkx-media img,.inkx-piece{animation:none;}}
@media(max-width:960px){
  .inkx-inner{grid-template-columns:minmax(0,1fr);padding-top:64px;padding-bottom:56px;min-height:0;gap:30px;}
  .inkx-media img{object-position:72% 40%;}
  .inkx-wash{background:linear-gradient(180deg,#0F151D 0%,rgba(15,21,29,.9) 42%,rgba(15,21,29,.55) 74%,rgba(15,21,29,.35) 100%);}
  .inkx-pieces{grid-template-columns:repeat(4,minmax(120px,1fr));overflow-x:auto;padding-bottom:6px;}
}

/* ═══════════════════════════════════════════════════════════════════════════
   CKX · Churchill brand hub — the house drill-down, scoped .ckx-*
   ═══════════════════════════════════════════════════════════════════════════ */
.ckx-mast{position:relative;min-height:62vh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;}
.ckx-mast-media{position:absolute;inset:0;}
.ckx-mast-media img{width:100%;height:100%;object-fit:cover;object-position:center 35%;}
.ckx-mast-scrim{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(20,26,34,.34) 0%,rgba(20,26,34,.55) 55%,rgba(15,21,29,.94) 100%);}
.ckx-mast-inner{position:relative;padding-top:120px;padding-bottom:44px;}
.ckx-est{font-family:var(--display);font-size:.74rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:#9FD9D4;}
.ckx-title{font-family:var(--display);font-weight:800;letter-spacing:-.03em;
  font-size:clamp(2.4rem,5.4vw,4.2rem);margin:12px 0 12px;line-height:1.02;}
.ckx-title i{font-style:italic;color:var(--aqua);}
.ckx-lede{max-width:64ch;color:#C8D2DC;font-size:1.05rem;line-height:1.7;margin:0 0 26px;}
.ckx-mast-stats{display:flex;gap:34px;flex-wrap:wrap;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.18);}
.ckx-stat strong{display:block;font-family:var(--display);font-weight:800;font-size:1.5rem;color:#fff;}
.ckx-stat span{font-size:.8rem;color:#AEB9C4;}
.ckx-nav{position:sticky;top:64px;z-index:30;background:var(--paper);
  border-bottom:1px solid var(--line);box-shadow:0 6px 18px -14px rgba(35,41,43,.35);}
.ckx-nav-row{display:flex;gap:4px;overflow-x:auto;padding-top:0;padding-bottom:0;scrollbar-width:none;}
.ckx-nav-row::-webkit-scrollbar{display:none;}
.ckx-nav-link{padding:14px 16px;font-family:var(--display);font-weight:700;font-size:.9rem;color:var(--muted);
  text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent;transition:var(--t);}
.ckx-nav-link:hover{color:var(--ink);border-color:var(--aqua);}
.ckx-nav-buffet{color:var(--coral-dark);margin-left:auto;}
.ckx-fam{padding:64px 0 26px;}
.ckx-fam-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:48px;align-items:center;}
.ckx-fam:nth-of-type(even) .ckx-fam-grid{direction:rtl;}
.ckx-fam:nth-of-type(even) .ckx-fam-grid>*{direction:ltr;}
.ckx-fam-media{position:relative;border-radius:24px;overflow:hidden;background:var(--tint);
  aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);}
.ckx-fam-media img{max-width:82%;max-height:82%;object-fit:contain;mix-blend-mode:multiply;transition:transform .5s cubic-bezier(.2,.7,.2,1);}
.ckx-fam-media.is-lifestyle img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:cover;mix-blend-mode:normal;}
.ckx-fam:hover .ckx-fam-media img{transform:scale(1.045);}
.ckx-strap{font-family:var(--display);font-size:.72rem;font-weight:800;letter-spacing:.2em;
  text-transform:uppercase;color:var(--aqua-deep);}
.ckx-strap.on-dark{color:#9FD9D4;}
.ckx-fam-title{font-family:var(--display);font-weight:800;letter-spacing:-.025em;
  font-size:clamp(1.9rem,3.4vw,2.7rem);margin:10px 0 12px;color:var(--ink);}
.ckx-fam-blurb{color:var(--muted);font-size:1rem;line-height:1.7;max-width:56ch;margin:0 0 14px;}
.ckx-fam-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-family:var(--display);font-weight:700;font-size:.86rem;color:var(--ink);margin-bottom:18px;}
.ckx-fam-meta .dot{width:4px;height:4px;border-radius:50%;background:var(--coral);}
.ckx-range-chips{display:flex;flex-wrap:wrap;gap:9px;}
.ckx-chip{display:inline-flex;align-items:baseline;gap:2px;padding:9px 16px;border-radius:100px;
  border:1.5px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;
  font-family:var(--display);font-weight:700;font-size:.87rem;transition:var(--t);}
.ckx-chip em{font-style:normal;font-weight:600;font-size:.76rem;color:var(--muted-2);}
.ckx-chip:hover{border-color:var(--aqua);background:var(--teal-soft);transform:translateY(-2px);}
.ckx-buffet-band{position:relative;margin:56px 0 0;min-height:52vh;display:flex;align-items:center;overflow:hidden;}
.ckx-buffet-media{position:absolute;inset:0;}
.ckx-buffet-media img{width:100%;height:100%;object-fit:cover;object-position:center 62%;}
.ckx-buffet-scrim{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(15,21,29,.92) 0%,rgba(15,21,29,.72) 46%,rgba(15,21,29,.34) 100%),
  linear-gradient(180deg,rgba(15,21,29,.15) 0%,rgba(15,21,29,.55) 100%);}
.ckx-buffet-inner{position:relative;color:#fff;padding-top:64px;padding-bottom:64px;}
.ckx-buffet-title{font-family:var(--display);font-weight:800;letter-spacing:-.025em;
  font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.06;margin:12px 0 22px;}
.ckx-rest{padding:64px 0 80px;}
.ckx-rest-sub{color:var(--muted);margin:6px 0 0;}
.ckx-rest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:22px;}
.ckx-rest-card{display:flex;align-items:center;gap:14px;padding:12px 16px 12px 12px;border-radius:14px;
  border:1px solid var(--line);background:#fff;text-decoration:none;color:var(--ink);transition:var(--t);}
.ckx-rest-card:hover{border-color:var(--aqua);transform:translateY(-2px);box-shadow:var(--shadow);}
.ckx-rest-card strong{display:block;font-family:var(--display);font-weight:700;font-size:.94rem;}
.ckx-rest-thumb{width:52px;height:52px;object-fit:contain;mix-blend-mode:multiply;background:var(--tint);border-radius:10px;padding:5px;flex:none;}
.ckx-rest-meta{font-size:.78rem;color:var(--muted);}
.ckx-rest-card svg{margin-left:auto;color:var(--muted-2);flex:none;}
.ckx-range-head{background:linear-gradient(180deg,var(--sand) 0%,var(--paper) 100%);padding:36px 0 26px;border-bottom:1px solid var(--line);}
.ckx-range-title{font-family:var(--display);font-weight:800;letter-spacing:-.03em;font-size:clamp(2rem,4.4vw,3.2rem);margin:10px 0 10px;color:var(--ink);}
.ckx-range-desc{max-width:74ch;color:var(--muted);line-height:1.7;margin:0 0 14px;}
.ckx-range-pages{display:flex;flex-direction:column;gap:18px;}
.ckx-more{display:block;margin:26px auto 0;padding:13px 34px;border-radius:100px;border:1.5px solid var(--line);
  background:#fff;color:var(--ink);font-family:var(--display);font-weight:700;cursor:pointer;transition:var(--t);}
.ckx-more:hover{border-color:var(--aqua);background:var(--teal-soft);}
@media(max-width:960px){
  .ckx-mast{min-height:52vh;}
  /* No sub-rail on mobile — it ate viewport and added nothing to thumbs. */
  .ckx-nav{display:none;}
  .ckx-fam-grid{grid-template-columns:minmax(0,1fr);gap:22px;}
  .ckx-fam:nth-of-type(even) .ckx-fam-grid{direction:ltr;}
  .ckx-mast-stats{gap:22px;}
}

/* ═══════════════════════════════════════════════════════════════════════════
   BFX · The Buffet Studio — cinematic chapters, scoped .bfx-*
   ═══════════════════════════════════════════════════════════════════════════ */
.bfx-cover{position:relative;min-height:88vh;display:flex;align-items:center;color:#fff;overflow:hidden;}
.bfx-cover-media{position:absolute;inset:0;}
.bfx-cover-media img{width:100%;height:100%;object-fit:cover;object-position:center 30%;
  transform:scale(1.05);animation:bfxSlow 24s ease-in-out infinite alternate;}
@keyframes bfxSlow{to{transform:scale(1.11);}}
.bfx-cover-scrim{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(15,21,29,.42) 0%,rgba(15,21,29,.30) 40%,rgba(15,21,29,.88) 92%);}
.bfx-cover-inner{position:relative;padding-top:110px;padding-bottom:80px;}
.bfx-eyebrow{font-family:var(--display);font-size:.75rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:#E8B491;}
.bfx-title{margin:16px 0 16px;line-height:1.0;}
.bfx-line{display:block;font-family:var(--display);font-weight:800;letter-spacing:-.03em;
  font-size:clamp(2.6rem,6.4vw,5rem);opacity:0;transform:translateY(26px);animation:bfxRise .8s cubic-bezier(.19,1,.22,1) .15s both;}
.bfx-line-2{animation-delay:.3s;}
.bfx-line i{font-style:italic;color:#E8B491;}
@keyframes bfxRise{to{opacity:1;transform:none;}}
.bfx-lede{max-width:52ch;color:#C8D2DC;font-size:1.06rem;line-height:1.7;margin:0 0 26px;}
.bfx-cover-cta{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.bfx-ghost{color:#C8D2DC;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:2px;transition:var(--t);}
.bfx-ghost:hover{color:#fff;border-color:#E8B491;}
.bfx-ghost.on-light{color:var(--muted);border-color:var(--line);}
.bfx-ghost.on-light:hover{color:var(--ink);border-color:var(--coral);}
.bfx-scroll-cue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;flex-direction:column;gap:5px;}
.bfx-scroll-cue span{width:5px;height:5px;border-radius:50%;background:#fff;opacity:.25;animation:bfxCue 1.6s ease-in-out infinite;}
.bfx-scroll-cue span:nth-child(2){animation-delay:.22s;}
.bfx-scroll-cue span:nth-child(3){animation-delay:.44s;}
@keyframes bfxCue{0%,100%{opacity:.2;transform:translateY(0)}50%{opacity:.95;transform:translateY(4px)}}
.bfx-rail{position:sticky;top:64px;z-index:30;background:rgba(15,21,29,.92);backdrop-filter:blur(10px);color:#fff;}
.bfx-rail-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;}
.bfx-rail-row::-webkit-scrollbar{display:none;}
.bfx-rail-link{padding:14px 16px;font-family:var(--display);font-weight:700;font-size:.88rem;color:#AEB9C4;
  text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent;transition:var(--t);}
.bfx-rail-link em{font-style:normal;color:#E8B491;font-size:.76rem;margin-right:4px;}
.bfx-rail-link:hover{color:#fff;border-color:#E8B491;}
.bfx-chapter{padding:72px 0 8px;}
.bfx-ch-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:48px;align-items:center;}
.bfx-chapter.is-flip .bfx-ch-grid{direction:rtl;}
.bfx-chapter.is-flip .bfx-ch-grid>*{direction:ltr;}
.bfx-ch-media{position:relative;border-radius:26px;overflow:hidden;box-shadow:var(--shadow-lg);}
.bfx-ch-media img{width:100%;aspect-ratio:4/3.4;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1);}
.bfx-chapter:hover .bfx-ch-media img{transform:scale(1.035);}
.bfx-ch-num{position:absolute;top:16px;left:18px;font-family:var(--display);font-weight:800;
  font-size:.95rem;color:#fff;background:rgba(15,21,29,.55);backdrop-filter:blur(6px);
  padding:6px 13px;border-radius:100px;letter-spacing:.14em;}
.bfx-ch-title{font-family:var(--display);font-weight:800;letter-spacing:-.025em;
  font-size:clamp(1.8rem,3.4vw,2.6rem);margin:10px 0 12px;color:var(--ink);}
.bfx-ch-lede{color:var(--muted);line-height:1.7;max-width:52ch;margin:0 0 16px;}
.bfx-ch-ranges{display:flex;flex-wrap:wrap;gap:9px;}
.bfx-shop{margin-top:34px;}
.bfx-shop-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:14px;}
.bfx-shop-head h3{font-family:var(--display);font-weight:800;font-size:1.15rem;margin:0;color:var(--ink);}
.bfx-shop-note{font-size:.8rem;color:var(--muted);font-weight:600;}
.bfx-close{background:linear-gradient(180deg,var(--paper) 0%,var(--sand) 100%);
  padding:84px 0 92px;margin-top:64px;text-align:center;}
.bfx-close-title{font-family:var(--display);font-weight:800;letter-spacing:-.03em;
  font-size:clamp(2rem,4.6vw,3.4rem);color:var(--ink);margin:0 0 10px;}
.bfx-close-title i{font-style:italic;color:var(--aqua-deep);}
.bfx-close-sub{color:var(--muted);max-width:56ch;margin:0 auto 26px;line-height:1.7;}
.bfx-close-cta{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;}
@media(prefers-reduced-motion:reduce){.bfx-cover-media img,.bfx-line,.bfx-scroll-cue span{animation:none;opacity:1;transform:none;}}
@media(max-width:960px){
  .bfx-cover{min-height:72vh;}
  /* No chapter rail on mobile — the chapters speak for themselves. */
  .bfx-rail{display:none;}
  .bfx-ch-grid{grid-template-columns:minmax(0,1fr);gap:22px;}
  .bfx-chapter.is-flip .bfx-ch-grid{direction:ltr;}
  .bfx-chapter{padding-top:52px;}
}

/* ── Traditional pagination + per-page selector ──────────────────────────── */
.per-page-sel{margin-left:6px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);
  background:#fff;color:var(--ink);font-family:var(--font);font-size:.9rem;}
.pager{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin:30px 0 8px;}
.pager-btn{min-width:42px;padding:10px 13px;border-radius:12px;border:1.5px solid var(--line);
  background:#fff;color:var(--ink);font-family:var(--display);font-weight:700;font-size:.92rem;
  cursor:pointer;transition:var(--t);}
.pager-btn:hover:not(:disabled){border-color:var(--aqua);background:var(--teal-soft);transform:translateY(-1px);}
.pager-btn:disabled{opacity:.45;cursor:default;}
.pager-btn.is-current{background:var(--navy);border-color:var(--navy);color:#fff;opacity:1;}
.pager-prev,.pager-next{padding-inline:16px;}
.pager-gap{color:var(--muted-2);font-weight:700;padding:0 2px;}
@media(max-width:640px){.pager-btn{min-width:38px;padding:9px 11px;}}

/* ═══ Feedback round (2 Jul): readability, rails, filters, scroll thread ═══ */

/* 1 · Titles were inheriting the global heading colour (navy) over busy
      photography: force white + a touch of depth, and beef up the scrims. */
.bfx-title,.bfx-line,.ckx-title,.ckx-buffet-title{color:#fff;text-shadow:0 2px 24px rgba(10,14,20,.45);}
.bfx-cover-scrim{background:
  linear-gradient(90deg,rgba(15,21,29,.82) 0%,rgba(15,21,29,.55) 42%,rgba(15,21,29,.12) 78%,rgba(15,21,29,.05) 100%),
  linear-gradient(180deg,rgba(15,21,29,.30) 0%,rgba(15,21,29,.22) 40%,rgba(15,21,29,.88) 92%);}
.ckx-mast-scrim{background:
  linear-gradient(90deg,rgba(15,21,29,.62) 0%,rgba(15,21,29,.34) 55%,rgba(15,21,29,.16) 100%),
  linear-gradient(180deg,rgba(20,26,34,.30) 0%,rgba(20,26,34,.44) 55%,rgba(15,21,29,.94) 100%);}

/* 2 · Sticky sub-rails pin to the REAL header height (JS sets --header-h). */
.ckx-nav{top:var(--header-h,64px);}
.bfx-rail{top:var(--header-h,64px);z-index:120;}
.bfx-rail-row{background:transparent;}

/* 3 · The giant shout band, tidied: smaller, consistent stroke, edge fade. */
.hx-shout{padding:26px 0 22px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);}
.hx-shout-track{align-items:center;gap:30px;}
.hx-shout-word{font-size:clamp(2.2rem,4.6vw,3.6rem);line-height:1;}
.hx-shout-star{font-size:1.3rem;transform:none;}

/* 4 · Main nav: never clip the last item (Clearance) — let the row scroll. */
.main-nav-inner{overflow-x:auto;scrollbar-width:none;white-space:nowrap;}
.main-nav-inner::-webkit-scrollbar{display:none;}

/* 5 · Churchill range page: filter rail on the left, results on the right. */
.ckx-rangelayout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:26px;align-items:start;}
.ckx-rail{position:sticky;top:calc(var(--header-h,64px) + 18px);display:flex;flex-direction:column;gap:14px;}
.ckx-rail .facet-sheet-head{padding:2px 2px 0;}
.facet-n{float:right;color:var(--muted-2);font-size:.76rem;font-weight:600;}
.facet-link{display:block;}
.chip-active{background:var(--coral-soft);border-color:var(--coral);color:var(--coral-dark);
  font-weight:700;border-radius:100px;}
.chip-x{border:none;background:none;color:inherit;font-size:1rem;font-weight:800;cursor:pointer;padding:0 2px;}
@media(max-width:960px){
  .ckx-rangelayout{grid-template-columns:minmax(0,1fr);}
  .ckx-rail{position:static;flex-direction:row;flex-wrap:wrap;}
  .ckx-rail .facet-sheet-head{flex:1 1 100%;}
  .ckx-rail .facet-group{flex:1 1 240px;}
}
/* Colourway swatch dot inside a facet chip: the real glaze tone. */
.facet-dot{display:inline-block;width:12px;height:12px;border-radius:50%;
  background:var(--fd,#C9CFCB);border:1px solid rgba(38,46,56,.16);
  margin-right:7px;vertical-align:-1px;flex:0 0 auto;}

/* Phones: each facet becomes a swipeable chip strip, so the products start
   one flick away instead of below a 1,000px wall of open filter lists. */
@media(max-width:700px){
  .ckx-rangelayout{gap:10px;}
  .ckx-range-title{font-size:1.9rem;}
  .ckx-range-desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
  .ckx-fam-colours{display:none;}   /* the chips below ARE the colour list */
  .ckx-rail{flex-direction:column;gap:6px;}
  .ckx-rail .facet-sheet-head{width:100%;padding:0 0 2px;}
  .ckx-rail .facet-sheet-head strong{font-size:1rem;}
  .ckx-rail .facet-group{width:100%;flex:none;border:none;background:transparent;padding:0;}
  .ckx-rail .facet-title{margin-bottom:6px;font-size:.68rem;}
  .ckx-rail .facet-links{flex-direction:row;overflow-x:auto;gap:7px;padding:1px 1px 9px;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;
    mask-image:linear-gradient(90deg,#000 93%,transparent);
    -webkit-mask-image:linear-gradient(90deg,#000 93%,transparent);}
  .ckx-rail .facet-links::-webkit-scrollbar{display:none;}
  .ckx-rail .facet-link{display:inline-flex;align-items:center;flex:0 0 auto;white-space:nowrap;
    border:1px solid var(--line);border-radius:100px;padding:8px 13px;background:var(--surface);
    font-size:.84rem;}
  .ckx-rail .facet-link.active{border-color:var(--coral);}
  .ckx-rail .facet-n{float:none;margin-left:6px;font-size:.72rem;}
}

/* 6 · The Lordwell ink thread (Churchill hub only) — an ink-wash brush stroke
      down the middle of the page, drawn as you scroll. BEHIND the content
      (negative z-index): it ducks behind product tiles and imagery and lays
      wet paint on the paper. Bounded start→Bamboo; torn down on navigation. */
.lw-thread{position:absolute;left:0;right:0;z-index:-1;
  pointer-events:none;opacity:0;transition:opacity .6s ease;
  mix-blend-mode:multiply;}
.lw-thread svg{display:block;overflow:visible;width:100%;height:100%;}
.lw-ink-wash{fill:none;stroke:var(--aqua);stroke-width:58;stroke-linecap:round;opacity:.06;}
.lw-ink-bleed{fill:none;stroke:var(--aqua);stroke-width:26;stroke-linecap:round;opacity:.12;}
.lw-ink-line{fill:none;stroke:var(--aqua-deep);stroke-width:8;stroke-linecap:round;opacity:.92;}
.lw-ink-core{fill:none;stroke:var(--aqua);stroke-width:3;stroke-linecap:round;opacity:.9;}
.lw-ink-drop{fill:var(--aqua-deep);opacity:0;transition:opacity .4s ease;}
.lw-ink-flecks circle{fill:var(--aqua-deep);opacity:0;transition:opacity .45s ease;}
.lw-ink-flecks circle.on{opacity:var(--o,.45);}
.lw-thread-tip{position:absolute;left:0;top:0;width:30px;height:14px;
  filter:drop-shadow(0 2px 8px rgba(255,107,107,.7));will-change:transform;}
.lw-thread-tip.is-done{animation:lwTipPop .55s cubic-bezier(.2,.9,.3,1.4) both;}
@keyframes lwTipPop{50%{scale:1.7;rotate:8deg}100%{scale:1}}
.lw-ink-splat{position:absolute;width:var(--sz,6px);height:var(--sz,6px);
  border-radius:50%;background:var(--aqua-deep);opacity:0;pointer-events:none;
  animation:lwSplat 1s cubic-bezier(.15,.8,.3,1) both;}
@keyframes lwSplat{
  0%{opacity:.9;transform:translate(0,0) scale(.4);}
  100%{opacity:0;transform:translate(var(--dx,24px),var(--dy,14px)) scale(1);}}
@media(max-width:1099px){.lw-thread{display:none;}}

/* ====================== FOSTER FILTER BROWSER =========================== */
.foster-body{padding-top:26px;}
.foster-filters{display:flex;flex-direction:column;gap:12px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);padding:16px 18px;margin-bottom:18px;}
.foster-filter-row{display:flex;align-items:center;gap:14px;}
.foster-filter-label{flex:none;width:96px;font-size:.72rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.08em;color:var(--muted);}
.foster-chip-scroll{display:flex;gap:8px;flex-wrap:wrap;flex:1;}
.foster-fchip{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);background:var(--surface);
  border-radius:100px;padding:8px 15px;font:inherit;font-size:.84rem;font-weight:700;color:var(--muted);cursor:pointer;
  transition:all var(--t);white-space:nowrap;}
.foster-fchip:hover{border-color:var(--aqua-deep);color:var(--ink);}
.foster-fchip.on{background:var(--navy);border-color:var(--navy);color:#fff;}
.foster-fchip.on .ffc-ic{color:var(--aqua);}
.ffc-ic{display:inline-flex;color:var(--aqua-deep);}
.foster-count{font-family:var(--display);font-size:1.15rem;font-weight:700;color:var(--ink);margin:0 0 14px;}
.foster-grid-wrap{min-height:200px;}
.foster-empty{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px 22px;text-align:center;}
.foster-chips{display:flex;gap:6px;flex-wrap:wrap;padding:8px 12px 0;}
.foster-chip{font-size:.68rem;font-weight:700;color:var(--aqua-deep);background:var(--teal-soft);
  border-radius:100px;padding:3px 9px;}
@media(max-width:640px){
  .foster-filter-row{flex-direction:column;align-items:flex-start;gap:7px;}
  .foster-filter-label{width:auto;}
  .foster-chip-scroll{flex-wrap:nowrap;overflow-x:auto;width:100%;scrollbar-width:none;padding-bottom:2px;}
  .foster-chip-scroll::-webkit-scrollbar{display:none;}
}

/* ── Popups: newsletter, price promise, cookie bar (js/popups.js) ───────────── */
body.lwpop-lock{overflow:hidden;}
.lwpop-overlay{position:fixed;inset:0;z-index:700;display:flex;align-items:center;justify-content:center;
  padding:20px;background:rgba(27,33,42,.55);backdrop-filter:blur(3px);animation:lwpopFade .25s ease both;}
.lwpop-card{position:relative;width:min(440px,100%);background:linear-gradient(150deg,var(--navy),var(--navy-2));
  color:#fff;border-radius:18px;padding:34px 30px 26px;box-shadow:var(--shadow-lg);outline:none;
  animation:lwpopRise .32s cubic-bezier(.2,.8,.25,1) both;}
.lwpop-x{position:absolute;top:12px;right:12px;background:none;border:none;cursor:pointer;
  color:rgba(255,255,255,.65);padding:8px;border-radius:50%;line-height:0;z-index:1;}
.lwpop-x:hover{color:#fff;background:rgba(255,255,255,.12);}
.lwpop-flash{display:inline-block;background:var(--coral);color:#fff;font-family:var(--display);
  font-weight:800;font-size:1.9rem;letter-spacing:.02em;padding:5px 16px;border-radius:10px;
  transform:rotate(-2deg);box-shadow:0 10px 24px -10px rgba(255,107,107,.6);}
.lwpop-headline{font-family:var(--display);font-weight:800;color:#fff;font-size:1.65rem;
  letter-spacing:.05em;line-height:1.12;margin:12px 0 4px;}
.lwpop-sub{color:rgba(255,255,255,.72);font-size:.92rem;margin:0;}
.lwpop-form{display:flex;flex-direction:column;gap:14px;margin-top:20px;}
.lwpop-input,.lwpop-select{width:100%;background:#fff;color:var(--ink);border:1.5px solid transparent;
  border-radius:var(--radius-sm);padding:13px 14px;font:inherit;font-size:.95rem;}
.lwpop-input:focus,.lwpop-select:focus{outline:none;border-color:var(--aqua);}
.lwpop-switchrow{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.lwpop-switchlbl{font-weight:600;font-size:.92rem;color:#fff;}
.lwpop-switch{flex:none;width:48px;height:27px;border-radius:var(--radius-pill);border:none;cursor:pointer;
  background:rgba(255,255,255,.22);position:relative;transition:background .2s ease;}
.lwpop-switch .lwpop-knob{position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;
  background:#fff;transition:transform .2s ease;}
.lwpop-switch.on{background:var(--aqua);}
.lwpop-switch.on .lwpop-knob{transform:translateX(21px);}
.lwpop-typerow[hidden]{display:none;}
.lwpop-lbl{display:block;font-size:.8rem;font-weight:600;color:rgba(255,255,255,.72);margin:0 0 6px;}
.lwpop-submit{width:100%;}
.lwpop-fine{margin:14px 0 0;font-size:.74rem;line-height:1.5;color:rgba(255,255,255,.55);}
.lwpop-success{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;}
.lwpop-tick{width:52px;height:52px;border-radius:50%;background:var(--aqua);color:var(--navy);
  display:flex;align-items:center;justify-content:center;}
.lwpop-code{width:100%;border:2px dashed var(--aqua);border-radius:var(--radius-sm);
  background:rgba(78,205,197,.10);color:var(--aqua);font-family:var(--display);font-weight:800;
  font-size:1.9rem;letter-spacing:.14em;padding:16px 10px;text-align:center;user-select:all;}
.lwpop-copy{width:100%;}
.lwpop-shoplink{color:rgba(255,255,255,.72);font-weight:600;font-size:.88rem;text-decoration:underline;}
.lwpop-shoplink:hover{color:#fff;}
/* ── Premium two-panel newsletter card: lifestyle photo + capture form ───────── */
.lwpop-news2{width:min(720px,100%);background:var(--paper);color:var(--ink);
  display:flex;padding:0;overflow:hidden;border-radius:22px;}
.lwpop-news2 .lwpop-x{color:rgba(38,46,56,.5);}
.lwpop-news2 .lwpop-x:hover{color:var(--ink);background:rgba(38,46,56,.06);}
/* left — the buffet lifestyle photo, white wordmark top, 5% flash bottom */
.lwpop-brandpanel{position:relative;flex:0 0 42%;min-height:430px;background:var(--navy);overflow:hidden;}
.lwpop-brandimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center;}
/* Darken ONLY the top (for the white wordmark) and bottom (for the 5% flash +
   line) — the middle stays clear so the buffet photo reads at full richness. */
.lwpop-brandscrim{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(38,46,56,.42) 0%,rgba(38,46,56,0) 26%,rgba(38,46,56,0) 60%,rgba(38,46,56,.70) 100%);}
.lwpop-brandmark{position:absolute;top:22px;left:22px;width:130px;height:auto;
  filter:drop-shadow(0 2px 7px rgba(0,0,0,.4));}
.lwpop-brandfoot{position:absolute;left:22px;right:22px;bottom:22px;
  display:flex;flex-direction:column;gap:9px;align-items:flex-start;}
.lwpop-brandline{margin:0;color:#fff;font-family:var(--display);font-weight:700;font-size:1.1rem;
  letter-spacing:-.01em;text-shadow:0 1px 6px rgba(0,0,0,.5);}
/* right — the form panel on paper */
.lwpop-formpanel{position:relative;flex:1;min-width:0;padding:34px 32px 26px;display:flex;flex-direction:column;}
.lwpop-eyebrow{margin:0 0 10px;font-size:.72rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--aqua-deep);}
.lwpop-news2 .lwpop-headline{color:var(--ink);font-size:1.72rem;line-height:1.06;letter-spacing:-.01em;margin:0;}
.lwpop-news2 .lwpop-sub{color:rgba(38,46,56,.66);font-size:.94rem;line-height:1.5;margin:10px 0 0;}
.lwpop-news2 .lwpop-form{margin-top:18px;}
.lwpop-news2 .lwpop-input,.lwpop-news2 .lwpop-select{border-color:var(--line);}
.lwpop-news2 .lwpop-switchlbl{color:var(--ink);}
.lwpop-news2 .lwpop-switch{background:rgba(38,46,56,.16);}
.lwpop-news2 .lwpop-switch.on{background:var(--aqua);}
.lwpop-news2 .lwpop-lbl{color:rgba(38,46,56,.6);}
.lwpop-news2 .lwpop-fine{color:var(--muted-2);}
.lwpop-news2 .lwpop-shoplink{color:var(--muted);}
.lwpop-news2 .lwpop-shoplink:hover{color:var(--ink);}
.lwpop-news2 .lwpop-success{margin-top:6px;}
.lwpop-promise{width:min(400px,100%);background:#fff;color:var(--text);text-align:center;padding:32px 26px 24px;}
.lwpop-promise .lwpop-x{color:rgba(38,46,56,.5);}
.lwpop-promise .lwpop-x:hover{color:var(--ink);background:rgba(38,46,56,.06);}
.lwpop-shield{width:56px;height:56px;margin:0 auto;border-radius:50%;background:rgba(78,205,197,.16);
  color:var(--aqua-deep);display:flex;align-items:center;justify-content:center;}
.lwpop-phead{font-size:1.35rem;margin:14px 0 8px;}
.lwpop-pbody{font-size:.92rem;line-height:1.6;color:rgba(38,46,56,.75);margin:0 0 18px;}
.lwpop-actions{display:flex;flex-direction:column;gap:10px;}
.lwpop-actions .btn{width:100%;}
.lwpop-quiet{margin-top:12px;background:none;border:none;cursor:pointer;font-size:.82rem;
  color:rgba(38,46,56,.55);text-decoration:underline;padding:4px;}
.lwpop-quiet:hover{color:var(--ink);}
.lwcookie{position:fixed;left:20px;bottom:20px;z-index:550;max-width:380px;background:#fff;
  border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:16px 18px;
  animation:lwcookieUp .35s cubic-bezier(.2,.8,.25,1) both;}
.lwcookie-txt{margin:0 0 12px;font-size:.82rem;line-height:1.55;color:var(--ink);}
.lwcookie-row{display:flex;align-items:center;gap:14px;}
.lwcookie-ok{padding:9px 22px;font-size:.8rem;}
.lwcookie-link{font-size:.8rem;font-weight:600;color:rgba(38,46,56,.6);text-decoration:underline;}
.lwcookie-link:hover{color:var(--coral);}
@keyframes lwpopFade{from{opacity:0;}to{opacity:1;}}
@keyframes lwpopRise{from{opacity:0;transform:translateY(16px) scale(.97);}to{opacity:1;transform:none;}}
@keyframes lwpopSheet{from{opacity:0;transform:translateY(40px);}to{opacity:1;transform:none;}}
@keyframes lwcookieUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
@media (max-width:640px){
  .lwpop-sheetwrap{padding:0;align-items:flex-end;}
  .lwpop-sheetwrap .lwpop-card{width:100%;max-width:none;border-radius:22px 22px 0 0;
    padding:30px 22px calc(24px + env(safe-area-inset-bottom));max-height:92dvh;overflow-y:auto;
    animation-name:lwpopSheet;}
  /* two-panel card stacks: photo band on top, form below (and stays flush) */
  .lwpop-sheetwrap .lwpop-news2{flex-direction:column;padding:0;}
  .lwpop-news2 .lwpop-brandpanel{flex-basis:auto;min-height:148px;height:148px;}
  .lwpop-news2 .lwpop-brandmark{width:114px;top:16px;left:18px;}
  .lwpop-news2 .lwpop-brandfoot{left:18px;right:18px;bottom:14px;}
  .lwpop-news2 .lwpop-flash{font-size:1.55rem;}
  .lwpop-news2 .lwpop-formpanel{padding:22px 20px calc(22px + env(safe-area-inset-bottom));}
  .lwcookie{left:12px;right:86px;bottom:14px;max-width:none;}
}
@media (prefers-reduced-motion:reduce){
  .lwpop-overlay,.lwpop-card,.lwcookie{animation:none;}
  .lwpop-switch,.lwpop-switch .lwpop-knob{transition:none;}
}

/* ── Foster browse page (js/views/foster.js), all new classes .fos- ─────────── */
.fos-filters{position:sticky;top:0;z-index:60;background:var(--paper);
  border-bottom:1px solid var(--line);box-shadow:0 8px 20px -16px rgba(38,46,56,.3);}
.fos-fwrap{display:flex;flex-direction:column;gap:8px;padding:12px var(--pad);}
.fos-frow{display:flex;align-items:center;gap:10px;min-width:0;}
.fos-flabel{flex:none;width:106px;font-family:var(--display);font-weight:700;font-size:.68rem;
  letter-spacing:.09em;text-transform:uppercase;color:var(--muted-2);}
.fos-chips{display:flex;gap:6px;flex-wrap:wrap;min-width:0;}
.fos-chip{display:inline-flex;align-items:center;gap:7px;border:1.5px solid var(--line);
  background:var(--surface);border-radius:100px;padding:8px 14px;font:inherit;font-size:.8rem;
  font-weight:700;color:var(--muted);cursor:pointer;white-space:nowrap;transition:all var(--t);}
.fos-chip:hover{border-color:var(--coral);color:var(--coral);}
.fos-chip.on{background:var(--navy);border-color:var(--navy);color:#fff;}
.fos-chip:disabled{opacity:.35;cursor:default;}
.fos-chip:disabled:hover{border-color:var(--line);color:var(--muted);}
.fos-nn{font-size:.66rem;font-weight:800;background:var(--sand);color:var(--muted);
  border-radius:100px;padding:1px 7px;line-height:1.5;}
.fos-chip.on .fos-nn{background:rgba(255,255,255,.18);color:#fff;}
.fos-mwrap{display:flex;align-items:center;gap:8px;margin-left:auto;flex:none;}
.fos-mlabel{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:600;
  color:var(--muted);white-space:nowrap;}
.fos-mlabel .ic{color:var(--aqua-deep);}
.fos-measure{flex:none;width:92px;padding:8px 10px;}
.fos-mm{font-size:.76rem;font-weight:700;color:var(--muted-2);}
.fos-shelf{margin-bottom:20px;}
.fos-shelf-label{display:block;font-size:.66rem;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted-2);margin-bottom:8px;}
.fos-ranges{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;
  -webkit-overflow-scrolling:touch;scrollbar-width:thin;}
.fos-range{flex:0 0 auto;width:240px;text-align:left;background:var(--surface);
  border:1.5px solid var(--line);border-radius:14px;padding:13px 16px;font:inherit;cursor:pointer;
  display:flex;flex-direction:column;gap:4px;transition:all var(--t);}
.fos-range:hover{border-color:var(--coral);}
.fos-range strong{font-family:var(--display);font-size:.9rem;color:var(--text);}
.fos-range-blurb{font-size:.74rem;color:var(--muted);line-height:1.45;}
.fos-range.on{background:var(--navy);border-color:var(--navy);}
.fos-range.on strong{color:#fff;}
.fos-range.on .fos-range-blurb{color:rgba(255,255,255,.75);}
.fos-countbar{display:flex;align-items:center;gap:14px;margin:2px 0 16px;flex-wrap:wrap;}
.fos-count{font-family:var(--display);font-weight:700;font-size:.95rem;color:var(--text);}
.fos-sort{margin-left:auto;border:1.5px solid var(--line);background:var(--surface);
  border-radius:10px;padding:9px 12px;font:inherit;font-size:.82rem;font-weight:600;
  color:var(--text);cursor:pointer;}
.fos-sort:focus{outline:none;border-color:var(--coral);}
.fos-door{position:absolute;left:10px;bottom:10px;background:var(--navy);color:#fff;
  font-size:.64rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  border-radius:100px;padding:4px 9px;pointer-events:none;}
.fos-empty{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:28px;display:flex;flex-direction:column;align-items:flex-start;gap:14px;}
.fos-empty p{margin:0;color:var(--muted);max-width:540px;line-height:1.5;}
.fos-why{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px;}
.fos-why-item{display:flex;gap:12px;align-items:flex-start;background:var(--surface);
  border:1px solid var(--line);border-radius:14px;padding:16px 18px;}
.fos-why-ic{flex:none;width:38px;height:38px;border-radius:12px;background:var(--tint);
  display:flex;align-items:center;justify-content:center;color:var(--aqua-deep);}
.fos-why-item strong{display:block;font-family:var(--display);font-size:.9rem;
  color:var(--text);margin-bottom:3px;}
.fos-why-sub{font-size:.8rem;color:var(--muted);line-height:1.45;}
.fos-lease{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:.86rem;color:var(--muted);}
.fos-lease .ic{color:var(--coral);flex:none;}
@media(max-width:760px){
  .fos-frow{flex-wrap:wrap;}
  .fos-flabel{width:100%;}
  .fos-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .fos-chips::-webkit-scrollbar{display:none;}
  .fos-mwrap{margin-left:0;width:100%;}
  .fos-why{grid-template-columns:minmax(0,1fr);}
}

/* == Legal & compliance pages (/privacy /terms /cookies) ===================== */
.lgl-hero{background:var(--sand);border-bottom:1px solid var(--line);padding:52px 0 40px;}
.lgl-hero h1{font-family:var(--display);font-size:2.5rem;font-weight:800;letter-spacing:-.025em;margin:12px 0 6px;}
.lgl-updated{color:var(--muted);font-size:.92rem;margin:0;}
.lgl-body{padding:44px 0 72px;}
.lgl-layout{display:grid;grid-template-columns:minmax(0,760px) 230px;gap:56px;justify-content:center;align-items:start;}
.lgl-doc{min-width:0;}
.lgl-lead{font-size:1.06rem;line-height:1.65;color:var(--ink);margin:0 0 10px;max-width:66ch;}
.lgl-doc h2{font-family:var(--display);font-size:1.18rem;font-weight:700;letter-spacing:-.01em;margin:34px 0 10px;scroll-margin-top:96px;}
.lgl-doc p{font-size:.95rem;line-height:1.68;color:#39424E;margin:0 0 12px;}
.lgl-doc a{color:var(--coral-dark);font-weight:600;text-decoration:none;}
.lgl-doc a:hover{text-decoration:underline;}
.lgl-list{margin:0 0 14px;padding-left:20px;}
.lgl-list li{font-size:.95rem;line-height:1.62;color:#39424E;margin:0 0 7px;}
.lgl-list li strong{color:var(--ink);}
.lgl-identity{display:grid;gap:3px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px 18px;margin:0 0 14px;font-size:.93rem;color:#39424E;}
.lgl-identity strong{font-family:var(--display);font-size:1rem;color:var(--ink);}
.lgl-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);margin:6px 0 16px;}
.lgl-table{width:100%;min-width:540px;border-collapse:collapse;font-size:.9rem;}
.lgl-table th{font-family:var(--display);font-size:.7rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);text-align:left;background:var(--tint);padding:10px 14px;border-bottom:1px solid var(--line);}
.lgl-table td{padding:11px 14px;border-bottom:1px solid var(--line-soft);vertical-align:top;line-height:1.55;color:#39424E;}
.lgl-table tbody tr:last-child td{border-bottom:0;}
.lgl-key{font-family:ui-monospace,'SF Mono',Menlo,monospace;font-size:.78rem;color:var(--ink);background:var(--tint);border:1px solid var(--line);border-radius:6px;padding:2px 7px;white-space:nowrap;}
.lgl-toc{min-width:0;}
.lgl-toc-card{position:sticky;top:96px;display:flex;flex-direction:column;border-left:2px solid var(--line);padding-left:16px;}
.lgl-toc-label{font-family:var(--display);font-size:.68rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.lgl-toc-link{color:var(--muted);text-decoration:none;font-size:.84rem;line-height:1.4;padding:4px 0;transition:color var(--t);}
.lgl-toc-link:hover{color:var(--ink);}
.lgl-toc-link.on{color:var(--coral-dark);font-weight:600;}
.lgl-foot{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px 24px;margin-top:46px;}
.lgl-foot-id{display:grid;gap:3px;font-size:.9rem;color:#4A535E;}
.lgl-foot-id strong{font-family:var(--display);font-size:1rem;color:var(--ink);}
.lgl-foot-id a{color:var(--coral-dark);font-weight:600;text-decoration:none;}
.lgl-foot-id a:hover{text-decoration:underline;}
.lgl-foot-links{display:flex;flex-direction:column;gap:6px;align-items:flex-start;}
.lgl-foot-link{display:inline-flex;align-items:center;gap:6px;color:var(--coral-dark);font-weight:600;font-size:.9rem;text-decoration:none;}
.lgl-foot-link:hover{text-decoration:underline;}
.lgl-foot-link .ic{transition:transform var(--t);}
.lgl-foot-link:hover .ic{transform:translateX(3px);}
@media(max-width:1024px){.lgl-layout{grid-template-columns:minmax(0,760px);}.lgl-toc{display:none;}}
@media(max-width:560px){.lgl-hero{padding:38px 0 30px;}.lgl-hero h1{font-size:1.9rem;}.lgl-body{padding:30px 0 54px;}.lgl-doc h2{font-size:1.08rem;}.lgl-foot{grid-template-columns:minmax(0,1fr);gap:16px;padding:18px;}}

/* == PDP composed-description bullets + lease detail + footer legal ============ */
.pdp-desc-bullets{margin:12px 0 4px;padding-left:20px;}
.pdp-desc-bullets li{font-size:.92rem;line-height:1.6;color:var(--ink);margin:0 0 5px;}
.pdp-lease{border:1px solid var(--line);border-radius:12px;background:var(--surface-2);margin:10px 0;overflow:hidden;}
.pdp-lease summary{display:flex;align-items:center;gap:10px;justify-content:space-between;cursor:pointer;padding:11px 14px;font-size:.9rem;list-style:none;}
.pdp-lease summary::-webkit-details-marker{display:none;}
.pdp-lease-lead strong{color:var(--coral-dark);}
.pdp-lease-est{font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);
  border:1px solid var(--line);border-radius:5px;padding:1px 5px;margin-left:5px;vertical-align:middle;}
.pdp-lease-more{font-size:.76rem;font-weight:700;color:var(--muted);text-decoration:underline;}
.pdp-lease-body{padding:4px 14px 14px;}
.pdp-lease-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px;}
.pdp-lease-cell{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 8px;text-align:center;}
.pll-term{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);}
.pll-wk{display:block;font-family:var(--display);font-size:1.05rem;color:var(--ink);margin:2px 0;}
.pll-unit{display:block;font-size:.66rem;color:var(--muted-2);}
.pdp-lease-note{font-size:.78rem;color:var(--muted);line-height:1.5;margin:0;}
@media(max-width:420px){.pdp-lease-grid{grid-template-columns:repeat(2,1fr);}}
.footer-legal-links{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.footer-legal-links a{color:inherit;opacity:.85;}
.footer-legal-links a:hover{opacity:1;text-decoration:underline;}
.footer-legal-eoe{opacity:.7;}

/* ── Basket discount code field (js/views/quote.js) ─────────────────────────── */
.pn-code-row{display:flex;gap:8px;margin:10px 0 0;}
.pn-code-row input{flex:1;min-width:0;padding:11px 13px;border:1.5px solid var(--line);border-radius:10px;font:inherit;letter-spacing:.04em;}
.pn-code-row input:focus{outline:none;border-color:var(--coral);}
.pn-code-btn{flex:none;padding:11px 18px;}
.pn-code-msg{margin:8px 0 0;font-size:.82rem;line-height:1.45;display:flex;align-items:center;gap:6px;}
.pn-code-msg.ok{color:var(--aqua-deep);}
.pn-code-msg.ok strong{color:var(--ink);}
.pn-code-msg.err{color:var(--coral-dark);}

/* ── Clubwell membership (js/views/clubwell.js), all classes .cw-* ───────────── */
.cw-page{background:var(--paper);}
.cw-measure{max-width:52ch;}

/* Hero */
.cw-hero{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 60%,var(--green-deep) 100%);color:#fff;padding:76px 0 84px;}
.cw-hero-glow{position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(60% 70% at 82% 8%,rgba(78,205,197,.30),transparent 60%),
  radial-gradient(55% 65% at 12% 100%,rgba(255,107,107,.22),transparent 62%);}
.cw-hero-inner{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;}
.cw-hero-copy{max-width:640px;}
.cw-badges{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:22px;}
.cw-wordmark{font-family:var(--display);font-weight:800;font-size:1.5rem;letter-spacing:-.02em;line-height:1;}
.cw-mark-club{color:#fff;}
.cw-mark-well{color:var(--aqua);}
.cw-lw{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.62);
  border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-pill);padding:5px 12px;}
.cw-title{font-size:clamp(2.1rem,4.4vw,3.35rem);line-height:1.06;letter-spacing:-.02em;margin:0 0 18px;}
.cw-sub{font-size:1.08rem;line-height:1.62;color:rgba(255,255,255,.86);max-width:56ch;margin:0 0 26px;}
.cw-price-row{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:26px;}
.cw-price{display:inline-flex;align-items:baseline;gap:8px;}
.cw-price-big{font-family:var(--display);font-weight:800;font-size:2.4rem;line-height:1;color:#fff;}
.cw-price-tail{font-weight:700;font-size:.95rem;color:rgba(255,255,255,.72);}
.cw-price-inc{font-size:.86rem;color:var(--aqua);font-weight:600;}
.cw-cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px;}
.cw-cta-row .btn-outline{border-color:rgba(255,255,255,.4);color:#fff;}
.cw-cta-row .btn-outline:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.08);}
.cw-microtrust{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;color:rgba(255,255,255,.66);margin:0;}
.cw-microtrust .ic{color:var(--aqua);}

/* Hero membership card */
.cw-hero-card{background:linear-gradient(150deg,rgba(255,255,255,.14),rgba(255,255,255,.05));
  border:1px solid rgba(255,255,255,.18);border-radius:22px;padding:24px 26px;
  box-shadow:0 40px 80px -34px rgba(0,0,0,.7);backdrop-filter:blur(8px);max-width:420px;justify-self:end;width:100%;}
.cw-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.cw-card-brand{font-family:var(--display);font-weight:800;font-size:1.35rem;letter-spacing:-.02em;}
.cw-card-chip{display:inline-flex;align-items:center;gap:6px;font-size:.68rem;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:var(--navy);background:var(--aqua);border-radius:var(--radius-pill);padding:5px 11px;}
.cw-card-chip .ic{color:var(--navy);}
.cw-card-body{display:grid;gap:11px;padding:16px 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);}
.cw-card-line{display:flex;align-items:center;justify-content:space-between;font-size:.9rem;}
.cw-card-k{color:rgba(255,255,255,.66);}
.cw-card-line strong{font-family:var(--display);font-weight:700;color:#fff;}
.cw-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:18px;}
.cw-card-member{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5);}
.cw-card-price{font-weight:700;font-size:.86rem;color:var(--aqua);}

/* Headline value strip */
.cw-headline{padding-top:44px;padding-bottom:8px;}
.cw-headline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.cw-headline-card{display:flex;gap:16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:24px 26px;box-shadow:var(--shadow);}
.cw-headline-ic{flex:none;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;
  background:var(--coral-soft);color:var(--coral-dark);}
.cw-headline-card h3{font-size:1.18rem;margin:0 0 6px;}
.cw-headline-card p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.55;}

/* Benefit grid */
.cw-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.cw-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 22px 24px;
  box-shadow:var(--shadow);transition:transform var(--t,.2s),box-shadow var(--t,.2s),border-color var(--t,.2s);}
.cw-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--aqua);}
.cw-card-ic{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;
  background:var(--tint);color:var(--aqua-deep);margin-bottom:14px;}
.cw-card h3{font-size:1.04rem;margin:0 0 7px;}
.cw-card p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.55;}
.cw-card-lead{border-color:var(--coral);}
.cw-card-lead .cw-card-ic{background:var(--coral-soft);color:var(--coral-dark);}
.cw-card-flag{display:inline-block;margin-top:12px;font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--coral-dark);background:var(--coral-soft);border-radius:var(--radius-pill);padding:4px 10px;}

/* Calculator */
.cw-calc{background:var(--tint);}
.cw-calc-card{max-width:680px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:20px;
  padding:28px 30px 30px;box-shadow:var(--shadow-lg);}
.cw-calc-field{display:block;margin-bottom:20px;}
.cw-calc-field>span{display:block;font-family:var(--display);font-weight:700;font-size:.92rem;margin-bottom:9px;color:var(--ink);}
.cw-calc-inputwrap{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:14px;overflow:hidden;
  transition:border-color var(--t,.2s),box-shadow var(--t,.2s);}
.cw-calc-inputwrap:focus-within{border-color:var(--aqua-deep);box-shadow:0 0 0 3px rgba(78,205,197,.18);}
.cw-calc-currency{padding:0 4px 0 16px;font-family:var(--display);font-weight:700;font-size:1.2rem;color:var(--muted);}
.cw-calc-input{flex:1;border:none;outline:none;background:transparent;font-family:var(--display);font-weight:700;
  font-size:1.4rem;color:var(--ink);padding:14px 16px 14px 4px;width:100%;}
.cw-calc-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:12px;}
.cw-calc-assume{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:.84rem;line-height:1.4;color:var(--muted);}
.cw-calc-assume strong{color:var(--ink);font-weight:700;}
.cw-calc-assume svg{color:var(--aqua-deep);flex:none;}
.cw-stat{background:var(--tint);border:1px solid var(--line-soft);border-radius:14px;padding:16px 18px;text-align:center;}
.cw-stat strong{display:block;font-family:var(--display);font-weight:800;font-size:1.7rem;line-height:1;color:var(--ink);margin-bottom:6px;}
.cw-stat span{font-size:.78rem;color:var(--muted);font-weight:600;}
.cw-calc-total{background:var(--sand);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-bottom:18px;}
.cw-calc-total.cw-calc-win{background:linear-gradient(135deg,rgba(78,205,197,.16),rgba(78,205,197,.06));border-color:var(--aqua);}
.cw-calc-total-head{display:inline-flex;align-items:center;gap:7px;font-family:var(--display);font-weight:800;font-size:.82rem;
  letter-spacing:.06em;text-transform:uppercase;color:var(--aqua-deep);margin-bottom:8px;}
.cw-calc-win .cw-calc-total-head{color:var(--aqua-deep);}
.cw-calc-total-line{margin:0 0 8px;font-size:.98rem;line-height:1.55;color:var(--ink);}
.cw-calc-total-line strong{font-weight:800;}
.cw-calc-note{margin:0;font-size:.76rem;line-height:1.5;color:var(--muted-2);}
.cw-calc-cta{width:100%;justify-content:center;}

/* How it works */
.cw-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.cw-step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;box-shadow:var(--shadow);}
.cw-step-num{display:inline-block;font-family:var(--display);font-weight:800;font-size:1.05rem;color:#fff;
  background:var(--coral);border-radius:12px;padding:6px 12px;margin-bottom:14px;}
.cw-step h3{font-size:1.12rem;margin:0 0 8px;}
.cw-step p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.55;}

/* FAQ */
.cw-faq-wrap{max-width:820px;}
.cw-faq-list{display:grid;gap:12px;}
.cw-faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden;}
.cw-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;list-style:none;
  padding:18px 22px;font-family:var(--display);font-weight:700;font-size:1.02rem;color:var(--ink);}
.cw-faq-item summary::-webkit-details-marker{display:none;}
.cw-faq-chev{color:var(--muted);transition:transform var(--t,.2s);flex:none;display:inline-flex;}
.cw-faq-item[open] .cw-faq-chev{transform:rotate(90deg);color:var(--coral);}
.cw-faq-item p{margin:0;padding:0 22px 20px;color:var(--muted);font-size:.92rem;line-height:1.6;}

/* Join */
.cw-join{background:linear-gradient(160deg,var(--navy),var(--green-deep));color:#fff;padding:72px 0 80px;}
.cw-join-inner{max-width:1040px;}
.cw-join-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px;align-items:start;}
.cw-join-copy .eyebrow{color:var(--aqua);}
.cw-join-copy h2{font-size:clamp(1.7rem,3vw,2.3rem);margin:8px 0 14px;}
.cw-join-copy>p{color:rgba(255,255,255,.82);font-size:1rem;line-height:1.6;margin:0 0 20px;max-width:44ch;}
.cw-join-ticks{list-style:none;padding:0;margin:0;display:grid;gap:11px;}
.cw-join-ticks li{display:flex;align-items:flex-start;gap:11px;font-size:.94rem;color:rgba(255,255,255,.9);}
.cw-join-tickic{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;
  background:rgba(78,205,197,.2);color:var(--aqua);margin-top:1px;}
.cw-join-form{background:#fff;color:var(--ink);border-radius:20px;padding:28px 28px 26px;box-shadow:var(--shadow-lg);}
.cw-join-formhead{font-size:1.15rem;margin:0 0 18px;}
.cw-join-field{display:block;margin-bottom:15px;}
.cw-join-label{display:block;font-family:var(--display);font-weight:700;font-size:.86rem;margin-bottom:7px;color:var(--ink);}
.cw-join-req{color:var(--coral);}
.cw-join-input{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;font-size:.95rem;
  font-family:var(--font);color:var(--ink);background:#fff;transition:border-color var(--t,.2s),box-shadow var(--t,.2s);}
.cw-join-input:focus{outline:none;border-color:var(--aqua-deep);box-shadow:0 0 0 3px rgba(78,205,197,.18);}
.cw-join-input::placeholder{color:var(--muted-2);}
.cw-join-err{margin:4px 0 12px;padding:11px 14px;background:var(--coral-soft);color:var(--coral-dark);
  border-radius:12px;font-size:.86rem;font-weight:600;}
.cw-join-submit{width:100%;justify-content:center;margin-top:6px;}
.cw-join-fineprint{margin:12px 0 0;font-size:.74rem;line-height:1.5;color:var(--muted);text-align:center;}

/* Join success / already-a-member state */
.cw-join-done{max-width:560px;margin:0 auto;text-align:center;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:40px 36px;}
.cw-join-tick{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;
  background:var(--aqua);color:var(--navy);}
.cw-join-done h2{font-size:1.7rem;margin:0 0 12px;}
.cw-join-done p{color:rgba(255,255,255,.85);font-size:1rem;line-height:1.6;margin:0 auto 14px;max-width:46ch;}
.cw-join-call a{color:var(--aqua);font-weight:700;}
.cw-join-done .btn-outline{border-color:rgba(255,255,255,.4);color:#fff;}
.cw-join-done .btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.08);}

/* Responsive */
@media (max-width:1000px){
  .cw-hero-inner{grid-template-columns:minmax(0,1fr);gap:40px;}
  .cw-hero-card{justify-self:stretch;max-width:none;}
  .cw-grid{grid-template-columns:repeat(2,1fr);}
  .cw-join-grid{grid-template-columns:minmax(0,1fr);gap:32px;}
}
@media (max-width:680px){
  .cw-hero{padding:56px 0 60px;}
  .cw-headline-grid{grid-template-columns:minmax(0,1fr);}
  .cw-grid{grid-template-columns:minmax(0,1fr);}
  .cw-steps{grid-template-columns:minmax(0,1fr);}
  .cw-calc-stats{grid-template-columns:minmax(0,1fr);}
  .cw-price-big{font-size:2rem;}
}/* Clubwell section wrappers (spacing only; inner grids are styled above) */
.cw-benefits,.cw-how,.cw-faq{padding:56px 0;}
.cw-benefits{padding-top:64px;}
.cw-join-open{scroll-margin-top:120px;}

/* ── Clubwell hero: readability + CTA upgrade (overrides the global dark-navy
   heading colour that made the title unreadable on the dark hero) ──────────── */
.cw-hero .cw-title{color:#fff;font-weight:800;text-shadow:0 2px 34px rgba(0,0,0,.22);}
.cw-hero .cw-mark-club{color:#fff;}
.cw-hero .cw-mark-well{color:var(--aqua);}
.cw-cta-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:8px;}
.cw-hero .btn.cw-join-open{font-size:1.05rem;font-weight:800;padding:16px 30px;
  box-shadow:0 16px 38px -12px rgba(255,107,107,.75);}
.cw-hero .btn.cw-join-open:hover{transform:translateY(-2px);}
.cw-hero .btn-outline{background:rgba(255,255,255,.06);border:1.6px solid rgba(255,255,255,.5);color:#fff;
  font-weight:700;padding:16px 26px;}
.cw-hero .btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.14);color:#fff;}
.cw-hero .cw-price-big{text-shadow:0 2px 20px rgba(0,0,0,.2);}
.cw-hero .cw-microtrust{color:rgba(255,255,255,.6);}
.cw-hero .cw-microtrust .ic{color:var(--aqua);}

/* ── CLUBWELL home strip (.cws-*) · premium partner-membership band ─────────── */
.cws{padding:14px 5vw 0;}
.cws-band{position:relative;display:block;overflow:hidden;text-decoration:none;
  border-radius:26px;padding:34px 38px;color:#fff;isolation:isolate;
  background:linear-gradient(150deg,#1B222B 0%,var(--navy) 46%,var(--navy-2) 100%);
  border:1px solid rgba(78,205,197,.22);
  box-shadow:0 30px 70px -34px rgba(20,26,33,.85);
  transition:transform .5s cubic-bezier(.2,.6,.2,1),box-shadow .5s ease,border-color .5s ease;}
.cws-band:hover{transform:translateY(-3px);border-color:rgba(78,205,197,.42);
  box-shadow:0 40px 90px -36px rgba(20,26,33,.9);}
.cws-glow{position:absolute;z-index:0;inset:auto -14% -60% auto;width:58%;height:150%;
  pointer-events:none;filter:blur(58px);opacity:.7;
  background:radial-gradient(closest-side,rgba(78,205,197,.55),transparent 72%);
  animation:cwsDrift 15s ease-in-out infinite;}
.cws-band::before{content:"";position:absolute;z-index:0;inset:-40% auto auto -18%;
  width:46%;height:130%;pointer-events:none;filter:blur(66px);opacity:.5;
  background:radial-gradient(closest-side,rgba(255,107,107,.4),transparent 74%);
  animation:cwsDrift 18s ease-in-out infinite reverse;}
@keyframes cwsDrift{0%,100%{transform:translate3d(0,0,0);}50%{transform:translate3d(-6%,-5%,0);}}
.cws-grid-bg{position:absolute;z-index:0;inset:0;pointer-events:none;opacity:.35;
  mask-image:linear-gradient(105deg,transparent,#000 60%);-webkit-mask-image:linear-gradient(105deg,transparent,#000 60%);
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:34px 34px;}
.cws-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;gap:38px;align-items:center;}
.cws-eyebrow{display:inline-flex;align-items:center;gap:7px;
  font-family:var(--display);font-size:.68rem;font-weight:800;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,255,255,.6);}
.cws-eyebrow svg{width:13px;height:13px;color:var(--aqua);}
.cws-wordmark{font-family:var(--display);font-weight:800;line-height:1;
  font-size:clamp(2.4rem,4.4vw,3.4rem);letter-spacing:-.02em;margin:12px 0 12px;}
.cws-mark-club{color:#fff;}
.cws-mark-well{color:var(--aqua);}
.cws-pitch{max-width:56ch;margin:0 0 20px;font-size:1.02rem;line-height:1.55;
  color:rgba(255,255,255,.82);}
.cws-chips{display:flex;flex-wrap:wrap;gap:10px;}
.cws-chip{display:inline-flex;align-items:center;gap:10px;padding:9px 14px 9px 11px;
  border-radius:13px;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);transition:background .25s ease,border-color .25s ease;}
.cws-band:hover .cws-chip{border-color:rgba(78,205,197,.28);}
.cws-chip-ic{flex:0 0 auto;display:grid;place-items:center;width:30px;height:30px;
  border-radius:9px;background:rgba(78,205,197,.16);color:var(--aqua);}
.cws-chip-ic svg{width:15px;height:15px;}
.cws-chip-t{display:flex;flex-direction:column;line-height:1.2;}
.cws-chip-t strong{font-family:var(--display);font-weight:700;font-size:.86rem;color:#fff;}
.cws-chip-t em{font-style:normal;font-size:.72rem;color:rgba(255,255,255,.55);margin-top:2px;}
.cws-aside{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:10px;
  padding-left:38px;border-left:1px solid rgba(255,255,255,.12);min-width:210px;}
.cws-price{display:flex;align-items:baseline;gap:8px;}
.cws-price-big{font-family:var(--display);font-weight:800;font-size:3.1rem;line-height:1;
  color:#fff;letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
.cws-price-unit{display:flex;flex-direction:column;line-height:1.1;}
.cws-price-unit strong{font-family:var(--display);font-weight:800;font-size:.92rem;color:var(--aqua);}
.cws-price-unit em{font-style:normal;font-size:.74rem;color:rgba(255,255,255,.55);margin-top:1px;}
.cws-price-inc{font-size:.78rem;color:rgba(255,255,255,.5);font-variant-numeric:tabular-nums;}
.cws-btn{margin-top:6px;font-weight:800;box-shadow:0 14px 34px -12px rgba(255,107,107,.7);}
.cws-btn svg{width:16px;height:16px;}
.cws-band:hover .cws-btn{background:var(--coral-dark);border-color:var(--coral-dark);}
.cws-note{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;color:rgba(255,255,255,.58);}
.cws-note svg{width:13px;height:13px;color:var(--aqua);}
@media (max-width:900px){
  .cws-inner{grid-template-columns:minmax(0,1fr);gap:26px;}
  .cws-aside{padding-left:0;border-left:0;border-top:1px solid rgba(255,255,255,.12);
    padding-top:24px;min-width:0;width:100%;}
}
@media (max-width:560px){
  .cws-band{padding:28px 24px;border-radius:20px;}
  .cws-chips{gap:8px;}
  .cws-chip{width:100%;}
  .cws-price-big{font-size:2.5rem;}
}
@media (prefers-reduced-motion:reduce){
  .cws-glow,.cws-band::before{animation:none;}
  .cws-band,.cws-band:hover{transform:none;}
}

/* ── Clubwell rebate panel (account Overview tab) ─────────────────────────────
   .acct-cw-member = a premium navy to aqua card showing the 1% rebate earned;
   .acct-cw-join   = a quiet nudge for non-members. Scoped .acct-cw-* so it can
   never collide with the Clubwell landing (.cw-*) or store widget (.cws-*). */
.acct-cw{overflow:hidden;}
.acct-cw-head{display:flex;align-items:center;gap:9px;margin-bottom:12px;}
.acct-cw-star{display:inline-flex;color:var(--aqua-deep);}
.acct-cw-title{font-family:var(--display);font-size:1.02rem;font-weight:800;letter-spacing:-.01em;}
.acct-cw-badge{margin-left:auto;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
  color:var(--navy);background:var(--aqua);border-radius:var(--radius-pill);padding:3px 10px;}

/* Member card: brand navy to aqua so the rebate feels like a reward, not a bill. */
.acct-cw-member{background:linear-gradient(140deg,var(--navy) 0%,var(--navy-2) 55%,#2E5A5E 145%);
  border-color:transparent;color:#fff;}
.acct-cw-member .acct-cw-star{color:var(--aqua);}
.acct-cw-member .acct-cw-title{color:#fff;}
.acct-cw-figure{display:flex;flex-direction:column;gap:2px;margin:2px 0 10px;}
.acct-cw-amount{font-family:var(--display);font-size:2.1rem;font-weight:800;line-height:1;
  letter-spacing:-.02em;color:var(--aqua);font-variant-numeric:tabular-nums;}
.acct-cw-amount-sub{font-size:.76rem;color:rgba(255,255,255,.72);}
.acct-cw-note{font-size:.8rem;line-height:1.5;color:rgba(255,255,255,.78);margin:0 0 14px;}
.acct-cw-member .acct-cw-link{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:700;
  color:var(--navy);background:var(--aqua);border-radius:var(--radius-pill);padding:9px 16px;
  text-decoration:none;transition:transform .18s cubic-bezier(.4,0,.2,1),box-shadow .18s;}
.acct-cw-member .acct-cw-link:hover{transform:translateY(-1px);box-shadow:0 10px 24px -12px rgba(78,205,197,.8);}
.acct-cw-member .acct-cw-link .ic{stroke-width:2.2;}

/* Join nudge: soft, on-paper, understated. */
.acct-cw-join{border-color:var(--line);}
.acct-cw-pitch{font-size:.86rem;line-height:1.55;color:var(--ink);margin:0 0 14px;}
.acct-cw-pitch strong{color:var(--aqua-deep);}
.acct-cw-link-join{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:700;
  color:var(--coral);text-decoration:none;}
.acct-cw-link-join:hover{color:var(--coral-dark);}
.acct-cw-link-join .ic{stroke-width:2.2;transition:transform .18s cubic-bezier(.4,0,.2,1);}
.acct-cw-link-join:hover .ic{transform:translateX(3px);}


/* ── Clubwell join: yearly / monthly plan toggle ────────────────────────────── */
.cw-plan-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px;}
.cw-plan{display:flex;flex-direction:column;gap:3px;text-align:left;cursor:pointer;
  border:1.5px solid var(--line);background:var(--surface);color:var(--ink);
  border-radius:12px;padding:12px 14px;font:inherit;transition:all .16s ease;}
.cw-plan:hover{border-color:var(--aqua-deep);}
.cw-plan strong{font-family:var(--display);font-size:.98rem;}
.cw-plan span{font-size:.76rem;color:var(--muted);}
.cw-plan.on{border-color:var(--aqua-deep);background:var(--teal-soft);box-shadow:0 0 0 1px var(--aqua-deep) inset;}
.cw-plan.on span{color:var(--aqua-deep);}

/* Clubwell: prevent a wide child from blowing out grid tracks on mobile */
.cw-join-grid,.cw-hero-inner,.cw-headline-grid,.cw-grid{min-width:0;}
.cw-join-grid > *,.cw-hero-inner > *,.cw-join-form,.cw-join-copy{min-width:0;}
.cw-join-form{max-width:100%;}
.cw-join-submit{white-space:normal;}

/* ── Clubwell add-to-order button + confirmed state (basket) ─────────────── */
.cw-add-btn{background:var(--aqua-deep);color:#fff;border:none;margin:10px 0 8px;
  box-shadow:0 10px 22px -12px rgba(47,179,170,.65);}
.cw-add-btn:hover{background:var(--aqua);transform:translateY(-1px);}
.cw-remove{color:var(--muted);background:none;border:none;cursor:pointer;text-decoration:underline;
  padding:0;font-size:.8rem;margin-top:6px;}
.cw-remove:hover{color:var(--coral);}
.cw-added{border-color:var(--ok);background:linear-gradient(120deg,var(--ok-soft),var(--surface-2));}
.cw-added .cw-nudge-ic{color:var(--ok);border-color:var(--ok);}

/* ── Listing view switch: grid / list / compact ─────────────────────────── */
.view-switch{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius-pill);
  overflow:hidden;background:#fff;flex:none;}
.view-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
  border:none;background:none;color:var(--muted-2);cursor:pointer;transition:var(--t);}
.view-btn+.view-btn{border-left:1px solid var(--line);}
.view-btn:hover{color:var(--ink);background:var(--surface-2);}
.view-btn.is-active{background:var(--navy);color:#fff;}
.cat-toolbar-right{flex-wrap:wrap;}

/* List view: horizontal rows, square thumb left */
.pg-list{grid-template-columns:minmax(0,1fr);gap:10px;}
.pg-list .product-card{flex-direction:row;align-items:stretch;border-radius:14px;}
.pg-list .pc-media{width:clamp(120px,26vw,168px);flex:none;}
.pg-list .pc-body{padding:14px 16px;justify-content:center;}
.pg-list .pc-name{font-size:1rem;-webkit-line-clamp:2;}
.pg-list .pc-add{max-width:230px;}

/* Compact view: denser small-image grid */
.pg-compact{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px;}
.pg-compact .pc-body{padding:9px 9px 9px;gap:2px;}
.pg-compact .pc-name{font-size:.78rem;}
.pg-compact .pc-brand,.pg-compact .pc-spec{display:none;}
.pg-compact .pc-price .price{font-size:1.02rem;}
.pg-compact .pc-add{padding:8px;font-size:.76rem;}
.pg-compact .pc-badge{font-size:.6rem;padding:3px 7px;}
@media(max-width:640px){
  .view-btn{width:34px;height:34px;}
  .pg-compact{grid-template-columns:1fr 1fr 1fr;gap:7px;}
  .pg-list .pc-add{max-width:none;}
}

/* Listing cards: drop the neutral "1-3 day lead time" / "available to order" /
   "checking" pills (visual noise, especially on mobile grids). Keep the
   positive signals — in stock, low stock, clearance — which help the buyer. */
.product-card .stock-pill.tone-soon,
.product-card .stock-pill.tone-order,
.product-card .stock-pill.tone-pending{display:none;}

/* ── PDP range cross-sell: swipeable strips + row headers ────────────────── */
.js-range-section .section-head,.js-family-section .section-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;}
.js-range-section .section-head h2,.js-family-section .section-head h2{font-size:1.35rem;}
.js-range-section .viewall,.js-family-section .viewall{flex:none;}
.product-grid.pg-strip{display:grid;grid-auto-flow:column;grid-template-columns:none;
  grid-auto-columns:minmax(180px,196px);gap:12px;overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding-bottom:8px;
  scrollbar-width:thin;}
.product-grid.pg-strip .product-card{scroll-snap-align:start;}
@media(max-width:640px){.product-grid.pg-strip{grid-auto-columns:minmax(152px,168px);gap:10px;}}

/* Flying product image into the basket on add-to-basket. */
.hxp-flyimg{object-fit:contain;border-radius:14px;background:#fff;
  box-shadow:0 24px 52px -14px rgba(0,0,0,.5);}

/* ── Brand hub: "Shop by range" studio showcase ─────────────────────────── */
.brand-showcase{padding:40px 0 12px;}
.brand-showcase .bs-head{display:flex;flex-direction:column;gap:5px;margin-bottom:22px;}
.brand-showcase .bs-head h2{font-size:1.75rem;margin:0;letter-spacing:-.01em;}
.brand-showcase .bs-head p{margin:0;font-size:.95rem;color:var(--muted);max-width:62ch;}
.bs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(226px,1fr));gap:18px;}
.bs-tile{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;overflow:hidden;
  background:#fff;text-decoration:none;color:inherit;
  transition:transform .24s cubic-bezier(.2,.7,.2,1),box-shadow .24s ease,border-color .24s ease;}
.bs-tile:hover{transform:translateY(-6px);box-shadow:0 26px 50px -28px rgba(38,46,56,.55);border-color:var(--aqua);}
/* Fixed studio panel: aspect-locked so every tile is identical height, image
   capped (never forces the panel taller) and centred on a soft radial ground. */
.bs-tile-img{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden;
  background:radial-gradient(125% 135% at 50% 12%,#ffffff 0%,#f4efe6 96%);}
.bs-tile-img .bs-img{max-width:82%;max-height:82%;width:auto;height:auto;object-fit:contain;
  transition:transform .5s cubic-bezier(.2,.7,.2,1);}
.bs-tile:hover .bs-tile-img .bs-img{transform:scale(1.07);}
.bs-noimg{color:var(--muted);opacity:.45;}
.bs-tile-cap{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-top:1px solid var(--line);}
.bs-cap-l{display:flex;flex-direction:column;gap:2px;min-width:0;}
.bs-tile-name{font-family:var(--display);font-weight:600;font-size:1.08rem;line-height:1.15;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bs-tile-n{font-size:.76rem;color:var(--muted);letter-spacing:.01em;}
.bs-cap-arrow{flex:none;display:inline-flex;color:var(--aqua-deep);opacity:.55;transition:opacity .24s ease,transform .24s ease;}
.bs-tile:hover .bs-cap-arrow{opacity:1;transform:translateX(3px);}
@media(max-width:640px){.bs-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
  .brand-showcase .bs-head h2{font-size:1.35rem;} .bs-tile-name{font-size:1rem;}}

/* Clubwell membership summary line — always-available remove control. */
.cw-sum-row .cw-sum-label{display:inline-flex;align-items:center;gap:7px;}
.cw-sum-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;
  border:none;border-radius:50%;background:rgba(255,107,107,.12);color:var(--coral,#FF6B6B);
  cursor:pointer;padding:0;line-height:0;flex:none;transition:background .15s ease;}
.cw-sum-remove:hover{background:rgba(255,107,107,.24);}

/* ── Steelite Utopia bespoke hub ─────────────────────────────────────────── */
.stl-mast{position:relative;overflow:hidden;color:#fff;
  background:radial-gradient(130% 150% at 82% 6%,#26343e 0%,#161f26 52%,#0d1318 100%);}
.stl-mast-inner{position:relative;z-index:1;padding:140px 0 58px;}
.stl-mast-motif{position:absolute;top:-56px;right:-40px;width:min(46vw,540px);color:#fff;opacity:.05;pointer-events:none;z-index:0;}
.stl-mast-motif svg{width:100%;height:auto;display:block;}
.stl-band{scroll-margin-top:104px;}
/* colourway swatches under a band's meta (text chips, calm and premium) */
.stl-swatch-row{display:flex;flex-wrap:wrap;gap:7px;margin:2px 0 18px;}
.stl-swatch{font-size:.74rem;font-weight:600;letter-spacing:.01em;color:var(--muted);
  padding:5px 11px;border:1px solid var(--line);border-radius:100px;background:var(--surface);}
.ckx-chip.stl-shop{background:var(--ink);color:#fff;border-color:var(--ink);padding:11px 20px;gap:7px;}
.ckx-chip.stl-shop:hover{background:var(--aqua-deep);border-color:var(--aqua-deep);color:#fff;transform:translateY(-2px);}
.ckx-chip.stl-shop svg{transition:transform .2s ease;}
.ckx-chip.stl-shop:hover svg{transform:translateX(3px);}
@media(max-width:720px){.stl-mast-inner{padding:112px 0 40px;}.stl-mast-motif{width:74vw;opacity:.045;}}

/* Scoped "search within Steelite" on the masthead */
.stl-scope{display:flex;align-items:center;gap:8px;max-width:620px;margin:22px 0 6px;
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);border-radius:100px;
  padding:6px 6px 6px 18px;backdrop-filter:blur(6px);transition:border-color .2s,background .2s;}
.stl-scope:focus-within{border-color:var(--aqua);background:rgba(255,255,255,.16);}
.stl-scope > svg{color:rgba(255,255,255,.7);flex:none;}
.stl-scope-input{flex:1;min-width:0;background:none;border:none;outline:none;color:#fff;
  font-size:.95rem;padding:8px 0;}
.stl-scope-input::placeholder{color:rgba(255,255,255,.55);}
.stl-scope-btn{flex:none;background:var(--aqua);color:var(--navy);border:none;cursor:pointer;
  font-family:var(--display);font-weight:800;font-size:.86rem;padding:10px 20px;border-radius:100px;
  transition:background .2s,transform .1s;}
.stl-scope-btn:hover{background:#fff;transform:translateY(-1px);}
@media(max-width:520px){.stl-scope{flex-wrap:wrap;border-radius:18px;padding:10px 12px;}
  .stl-scope-btn{width:100%;}}

/* Full family index: every Steelite range, grouped */
.stl-fam-block{padding:46px 0 8px;scroll-margin-top:96px;}
.stl-fam-head{display:flex;align-items:baseline;gap:14px;margin-bottom:20px;
  padding-bottom:12px;border-bottom:2px solid var(--ink);}
.stl-fam-head h2{font-family:var(--display);font-weight:800;font-size:1.55rem;letter-spacing:-.02em;margin:0;}
.stl-fam-count{font-size:.82rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
.stl-range-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:14px;}
.stl-range-card{display:flex;flex-direction:column;gap:8px;padding:18px 18px 16px;border-radius:16px;
  background:var(--surface);border:1px solid var(--line);text-decoration:none;color:inherit;
  transition:border-color .18s,transform .18s,box-shadow .18s;}
.stl-range-card:hover{border-color:var(--aqua);transform:translateY(-3px);box-shadow:var(--shadow);}
.stl-range-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;}
.stl-range-name{font-family:var(--display);font-weight:800;font-size:1.05rem;letter-spacing:-.01em;color:var(--ink);}
.stl-range-n{font-size:.72rem;font-weight:700;color:var(--muted-2);font-variant-numeric:tabular-nums;
  background:var(--tint);border-radius:100px;padding:2px 9px;flex:none;}
.stl-range-strap{font-size:.85rem;line-height:1.45;color:var(--muted);margin:0;flex:1;}
.stl-range-go{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;font-weight:700;
  color:var(--aqua-deep);margin-top:2px;}
.stl-range-card:hover .stl-range-go{gap:8px;}
.stl-range-go svg{transition:transform .18s ease;}
.stl-range-card:hover .stl-range-go svg{transform:translateX(3px);}
/* scoped search-within on a range page rail */
.ckx-within{padding-bottom:4px;}
.ckx-within-input{width:100%;box-sizing:border-box;padding:10px 14px;border:1px solid var(--line);
  border-radius:10px;font-size:.88rem;color:var(--ink);background:#fff;outline:none;transition:border-color .2s,box-shadow .2s;}
.ckx-within-input:focus{border-color:var(--aqua-deep);box-shadow:0 0 0 3px rgba(78,205,197,.16);}

/* scoped "search within brand/department" at the top of the facet rail */
.rail-scope{display:flex;align-items:center;gap:8px;margin-bottom:18px;padding:9px 12px;
  border:1px solid var(--line);border-radius:12px;background:#fff;transition:border-color .2s,box-shadow .2s;}
.rail-scope:focus-within{border-color:var(--aqua-deep);box-shadow:0 0 0 3px rgba(78,205,197,.16);}
.rail-scope > svg{color:var(--muted-2);flex:none;}
.rail-scope-input{flex:1;min-width:0;border:none;outline:none;background:none;color:var(--ink);font-size:.88rem;}

/* ── The Lordwell story ──────────────────────────────────────────────────── */
.lst-narrow{max-width:760px;margin:0 auto;}
.lst-hero{padding:120px 0 40px;
  background:radial-gradient(120% 120% at 88% -10%,rgba(78,205,197,.16),transparent 60%),var(--paper);}
.lst-eyebrow{display:inline-flex;align-items:center;gap:7px;font-family:var(--display);font-weight:700;
  font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--aqua-deep);}
.lst-hero-title{font-family:var(--display);font-weight:800;letter-spacing:-.03em;line-height:1.02;
  font-size:clamp(2.4rem,6vw,4.4rem);margin:16px 0 20px;color:var(--ink);}
.lst-hero-title i{font-style:italic;color:var(--aqua-deep);}
.lst-hero-lead{max-width:60ch;font-size:1.12rem;line-height:1.75;color:var(--muted);margin:0;}
.lst-kicker{display:block;font-family:var(--display);font-weight:800;font-size:.72rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--coral);margin-bottom:14px;}
.lst-kicker.on-dark{color:#9FD9D4;}
.lst-story{padding-top:8px;}
.lst-para{font-size:1.08rem;line-height:1.85;color:var(--text);margin:0 0 20px;}
.lst-quote{margin:34px 0;padding:6px 0 6px 26px;border-left:3px solid var(--aqua);}
.lst-quote p{font-family:var(--display);font-weight:600;font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.35;
  letter-spacing:-.015em;color:var(--ink);margin:0 0 10px;}
.lst-quote cite{font-style:normal;font-size:.85rem;font-weight:600;letter-spacing:.02em;color:var(--muted);}

/* Timeline: left spine, node, card (photo optional) */
.lst-timeline{padding-top:8px;}
.lst-tl-head{margin-bottom:30px;}
.lst-track{position:relative;max-width:760px;margin:0 auto;}
.lst-track::before{content:'';position:absolute;left:19px;top:12px;bottom:14px;width:2px;
  background:linear-gradient(180deg,var(--aqua) 0%,var(--aqua) 65%,transparent 100%);}
.lst-item{position:relative;padding:0 0 34px 62px;}
.lst-item:last-child{padding-bottom:0;}
.lst-node{position:absolute;left:0;top:2px;width:40px;height:40px;border-radius:50%;
  background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;z-index:1;
  box-shadow:0 0 0 5px var(--paper),0 8px 18px -8px rgba(38,46,56,.5);}
.lst-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;
  box-shadow:0 22px 44px -32px rgba(38,46,56,.5);transition:transform .22s ease,box-shadow .22s ease;}
.lst-card:hover{transform:translateY(-3px);box-shadow:0 30px 54px -30px rgba(38,46,56,.55);}
.lst-card-media{aspect-ratio:16/10;overflow:hidden;background:var(--tint);}
.lst-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1);}
.lst-card:hover .lst-card-media img{transform:scale(1.04);}
.lst-card-body{padding:20px 24px 22px;}
.lst-year{font-family:var(--display);font-weight:800;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--aqua-deep);}
.lst-card-body h3{font-family:var(--display);font-weight:700;font-size:1.5rem;letter-spacing:-.01em;margin:3px 0 9px;color:var(--ink);}
.lst-card-body p{color:var(--muted);line-height:1.72;margin:0;font-size:1.01rem;}

/* Manifesto: dark band */
.lst-manifesto{margin:56px 0 0;padding:76px 0;color:#fff;
  background:radial-gradient(130% 150% at 80% 8%,#26343e 0%,#161f26 52%,#0d1318 100%);}
.lst-manifesto-title{font-family:var(--display);font-weight:800;letter-spacing:-.025em;
  font-size:clamp(2rem,4.6vw,3.2rem);line-height:1.08;margin:0 0 18px;color:#fff;}
.lst-manifesto-body{font-size:1.14rem;line-height:1.8;color:#C8D2DC;max-width:64ch;margin:0;}

/* Stat band */
.lst-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;padding:8px 0;}
.lst-stat strong{display:block;font-family:var(--display);font-weight:800;font-size:clamp(1.8rem,3.4vw,2.6rem);
  letter-spacing:-.02em;color:var(--ink);}
.lst-stat span{font-size:.9rem;color:var(--muted);}
.lst-trust{padding-top:0;}
.lst-trust-line{text-align:center;color:var(--muted);font-size:.98rem;max-width:70ch;margin:0 auto;}

/* CTA */
.lst-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;
  background:linear-gradient(120deg,var(--teal-soft),var(--surface-2));border:1px solid var(--line);
  border-radius:24px;padding:34px 38px;}
.lst-cta h2{font-family:var(--display);font-weight:800;letter-spacing:-.02em;font-size:1.7rem;margin:0 0 6px;color:var(--ink);}
.lst-cta p{color:var(--muted);margin:0;max-width:48ch;}
.lst-cta-actions{display:flex;gap:12px;flex-wrap:wrap;}
@media(max-width:720px){
  .lst-hero{padding:96px 0 30px;}
  .lst-stat-grid{grid-template-columns:repeat(2,1fr);gap:26px 18px;}
  .lst-manifesto{padding:56px 0;}
  .lst-cta{padding:26px 24px;}
}

/* Story manifesto sign-off: "Lordwell. The Lord of Catering." */
.lst-signoff{font-family:var(--display);font-weight:800;letter-spacing:-.02em;
  font-size:clamp(1.4rem,3vw,2.1rem);color:#fff;margin:30px 0 0;padding-top:22px;
  border-top:1px solid rgba(255,255,255,.16);}
.lst-signoff i{font-style:italic;color:var(--aqua);}

/* ── Story: what we're building (innovation grid) ────────────────────────── */
.lst-build{padding-top:60px;}
.lst-build-head{max-width:780px;margin:0 auto 34px;text-align:center;}
.lst-build-title{font-family:var(--display);font-weight:800;letter-spacing:-.02em;
  font-size:clamp(1.7rem,3.6vw,2.6rem);line-height:1.12;margin:12px 0 14px;color:var(--ink);}
.lst-build-intro{color:var(--muted);font-size:1.08rem;line-height:1.72;margin:0;}
.lst-build-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.lst-build-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 24px;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.lst-build-card:hover{transform:translateY(-4px);box-shadow:0 24px 46px -30px rgba(38,46,56,.5);border-color:var(--aqua);}
.lst-build-ic{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;
  border-radius:13px;background:var(--teal-soft);color:var(--aqua-deep);margin-bottom:14px;}
.lst-build-card h3{font-family:var(--display);font-weight:700;font-size:1.2rem;margin:0 0 8px;color:var(--ink);}
.lst-build-card p{color:var(--muted);line-height:1.66;margin:0;font-size:.98rem;}
@media(max-width:900px){.lst-build-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.lst-build-grid{grid-template-columns:minmax(0,1fr);}}

/* ── Story: join the movement ────────────────────────────────────────────── */
.lst-join{padding:66px 0;margin-top:8px;
  background:radial-gradient(120% 120% at 14% 8%,rgba(78,205,197,.16),transparent 55%),
             radial-gradient(120% 120% at 88% 92%,rgba(255,107,107,.10),transparent 55%),var(--paper);}
.lst-join-inner{max-width:840px;margin:0 auto;text-align:center;}
.lst-join-title{font-family:var(--display);font-weight:800;letter-spacing:-.025em;
  font-size:clamp(2rem,4.6vw,3rem);line-height:1.08;margin:12px 0 16px;color:var(--ink);}
.lst-join-body{color:var(--text);font-size:1.14rem;line-height:1.8;max-width:66ch;margin:0 auto 30px;}
.lst-join-ways{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:left;margin-bottom:28px;}
.lst-join-card{display:flex;flex-direction:column;gap:7px;background:#fff;border:1px solid var(--line);
  border-radius:18px;padding:24px 22px;text-decoration:none;color:inherit;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.lst-join-card:hover{transform:translateY(-4px);box-shadow:0 24px 46px -30px rgba(38,46,56,.5);border-color:var(--aqua);}
.lst-join-ic{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;
  border-radius:12px;background:var(--ink);color:#fff;margin-bottom:4px;}
.lst-join-card h3{font-family:var(--display);font-weight:700;font-size:1.14rem;margin:0;color:var(--ink);}
.lst-join-card p{color:var(--muted);font-size:.94rem;line-height:1.6;margin:0;flex:1;}
.lst-join-cta{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.86rem;color:var(--aqua-deep);margin-top:4px;}
.lst-join-card:hover .lst-join-cta{gap:9px;}
.lst-join-proud{font-family:var(--display);font-weight:800;letter-spacing:-.01em;
  font-size:clamp(1.2rem,2.6vw,1.65rem);color:var(--ink);margin:6px 0 0;}
@media(max-width:760px){.lst-join-ways{grid-template-columns:minmax(0,1fr);}}

/* Story sign-off: real Lordwell wordmark (white) + tagline, on the dark band */
.lst-signoff{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.lst-signoff-logo{height:clamp(22px,2.8vw,32px);width:auto;flex:none;margin-bottom:2px;}

/* ============================================================================
   Blue Seal brand experience (.bs-)  — hub search + PDP
   ========================================================================== */
.bs-skel{min-height:60vh;}

/* Hero */
.bs-hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;}
.bs-hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(115deg,rgba(27,33,42,.95) 0%,rgba(27,33,42,.8) 44%,rgba(27,33,42,.35) 100%),var(--bs-hero);background-size:cover;background-position:center right;}
.bs-hero-in{position:relative;padding:64px 0 52px;max-width:760px;}
.bs-eyebrow{display:inline-block;font-family:var(--display);font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;color:var(--aqua);margin-bottom:14px;}
.bs-h1{color:#fff;font-size:clamp(2.1rem,5vw,3.4rem);margin-bottom:16px;}
.bs-lead{color:rgba(255,255,255,.82);font-size:1.05rem;line-height:1.6;max-width:620px;margin:0 0 24px;}
.bs-hero-searchwrap{position:relative;max-width:560px;margin-bottom:20px;}
.bs-hero-searchic{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--navy);opacity:.55;pointer-events:none;display:flex;}
.bs-hero-search{width:100%;height:58px;border:0;border-radius:var(--radius-pill);padding:0 22px 0 50px;font-size:1rem;background:#fff;color:var(--ink);box-shadow:var(--shadow-lg);}
.bs-hero-search::placeholder{color:var(--muted-2);}
.bs-hero-search:focus{outline:none;box-shadow:0 0 0 4px rgba(78,205,197,.4),var(--shadow-lg);}
.bs-hero-stats{display:flex;flex-wrap:wrap;gap:8px 20px;color:rgba(255,255,255,.9);font-size:.85rem;}
.bs-hero-stats span{display:inline-flex;align-items:center;gap:7px;}
.bs-hero-stats .ic{color:var(--aqua);}

/* ── Sticky filter bar (ultra-sharp) ─────────────────────────────────────── */
.bs-filters{position:sticky;z-index:40;background:rgba(250,247,241,.92);-webkit-backdrop-filter:saturate(1.2) blur(10px);backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--line);}
.bs-fwrap{padding:12px 0 13px;display:flex;flex-direction:column;gap:11px;}

/* toolbar: search + accessories toggle */
.bs-ftools{display:flex;gap:10px;align-items:center;}
.bs-fsearch{position:relative;flex:1;max-width:460px;}
.bs-fsearch-ic{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--muted-2);display:flex;pointer-events:none;}
.bs-bar-search{width:100%;height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 16px 0 44px;font-size:.95rem;color:var(--ink);transition:var(--t);}
.bs-bar-search::placeholder{color:var(--muted-2);}
.bs-bar-search:focus{outline:none;border-color:var(--aqua);box-shadow:0 0 0 3px var(--teal-soft);}
.bs-acc-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:7px;padding:0 15px;height:44px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:var(--t);}
.bs-acc-toggle .ic{color:var(--aqua-deep);}
.bs-acc-toggle:hover{border-color:var(--aqua);color:var(--ink);}
.bs-acc-toggle.on{background:var(--navy);border-color:var(--navy);color:#fff;}
.bs-acc-toggle.on .ic{color:var(--aqua);}

/* category = primary chip row */
.bs-fcats{display:flex;flex-wrap:wrap;gap:7px;}

/* refine row: fuel / range / width groups on one tidy line */
.bs-frefine{display:flex;flex-wrap:wrap;align-items:center;gap:9px 16px;}
.bs-fgrp{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.bs-flabel{font-size:.64rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);}
.bs-chips{display:flex;gap:6px;flex-wrap:wrap;min-width:0;}

/* chip: crisp, refined */
.bs-chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:.84rem;font-weight:500;line-height:1;cursor:pointer;transition:var(--t);white-space:nowrap;}
.bs-chip:hover:not(:disabled):not(.on){border-color:var(--aqua-deep);color:var(--aqua-deep);}
.bs-chip.on{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:600;}
.bs-chip:disabled{opacity:.3;cursor:default;}
.bs-nn{font-size:.7rem;font-weight:600;color:var(--muted-2);letter-spacing:.01em;}
.bs-chip.on .bs-nn{color:rgba(255,255,255,.65);}
.bs-frefine .bs-chip{height:30px;padding:0 11px;font-size:.8rem;border-radius:8px;}

/* Body */
.bs-body{padding:28px 0 0;}
.bs-countbar{display:flex;justify-content:space-between;align-items:center;margin:22px 0 16px;gap:12px;flex-wrap:wrap;}
.bs-count{font-size:.9rem;color:var(--muted);font-weight:500;}
.bs-sort{height:40px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;padding:0 34px 0 14px;font-size:.86rem;color:var(--ink);cursor:pointer;}

/* Shelves */
.bs-shelf{margin:6px 0 30px;}
.bs-shelf-h{font-size:1.3rem;margin-bottom:16px;}
.bs-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;}
.bs-tile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;cursor:pointer;transition:var(--t);text-align:left;}
.bs-tile:hover{border-color:var(--aqua);transform:translateY(-2px);box-shadow:var(--shadow);}
.bs-tile-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--teal-soft);color:var(--aqua-deep);}
.bs-tile-name{font-family:var(--display);font-weight:600;font-size:.95rem;color:var(--ink);}
.bs-tile-n{font-size:.78rem;color:var(--muted);}
.bs-ranges{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;}
.bs-range{display:flex;flex-direction:column;gap:4px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,#fff,var(--tint));cursor:pointer;text-align:left;transition:var(--t);}
/* Range/category tile photography (Blue Seal landing) */
.bs-range-img{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(180deg,#f6f4ef, #edeae2);border-radius:12px;margin:-4px -4px 10px;}
.bs-range-img img{max-width:78%;max-height:88%;object-fit:contain;transition:transform .25s;}
.bs-range:hover .bs-range-img img{transform:scale(1.05);}
.bs-tile-img{background:linear-gradient(180deg,#f6f4ef,#edeae2);}

.bs-range:hover{border-color:var(--aqua);transform:translateY(-2px);box-shadow:var(--shadow);}
.bs-range strong{font-family:var(--display);font-size:1.05rem;color:var(--ink);}
.bs-range-n{font-size:.75rem;color:var(--aqua-deep);font-weight:600;}
.bs-range-blurb{font-size:.83rem;color:var(--muted);line-height:1.45;}

/* Grid + card */
.bs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;}
.bs-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden;transition:var(--t);color:var(--ink);}
.bs-card:hover{border-color:var(--aqua);transform:translateY(-3px);box-shadow:var(--shadow);}
.bs-card-media{position:relative;aspect-ratio:1/1;background:var(--tint);display:grid;place-items:center;padding:10px;}
.bs-card-img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;}
.bs-card-media.bs-noimg .bs-card-img{opacity:.5;mix-blend-mode:normal;}
.bs-card-fam{position:absolute;left:10px;top:10px;font-size:.64rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--navy);background:rgba(255,255,255,.86);padding:3px 8px;border-radius:var(--radius-pill);}
.bs-card-save{position:absolute;right:8px;top:8px;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.92);color:var(--muted);display:grid;place-items:center;cursor:pointer;transition:var(--t);}
.bs-card-save:hover{color:var(--coral);border-color:var(--coral);}
.bs-card-save.saved{color:var(--coral);border-color:var(--coral);background:var(--coral-soft);}
.bs-card-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px;flex:1;}
.bs-card-name{font-size:.92rem;font-weight:600;line-height:1.3;font-family:var(--font);letter-spacing:0;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.bs-card-code{font-size:.74rem;color:var(--muted-2);font-family:var(--display);letter-spacing:.02em;}
.bs-card-badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:2px;}
.bs-badge{font-size:.68rem;font-weight:600;color:var(--aqua-deep);background:var(--teal-soft);padding:2px 8px;border-radius:var(--radius-pill);}
.bs-card-foot{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:8px;}
.bs-card-price{display:flex;flex-direction:column;line-height:1.1;}
.bs-price{font-family:var(--display);font-weight:700;font-size:1.15rem;color:var(--ink);}
.bs-vat,.bs-buy-vat,.bs-sticky .pc-vat{font-size:.68rem;color:var(--muted);}
.bs-card-cta{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:600;color:var(--aqua-deep);}

.bs-empty{text-align:center;padding:50px 20px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:16px;}

/* Why band */
.bs-why{position:relative;margin-top:44px;background:var(--navy);color:#fff;overflow:hidden;}
.bs-why::before{content:'';position:absolute;inset:0;background-image:linear-gradient(180deg,rgba(27,33,42,.93),rgba(27,33,42,.87)),var(--bs-band);background-size:cover;background-position:center;opacity:.55;}
.bs-why-in{position:relative;padding:52px 0;}
.bs-why-in h2{color:#fff;font-size:1.7rem;margin-bottom:26px;}
.bs-why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;margin-bottom:24px;}
.bs-why-item{display:flex;gap:14px;}
.bs-why-ic{width:44px;height:44px;border-radius:12px;flex:none;display:grid;place-items:center;background:rgba(78,205,197,.16);color:var(--aqua);}
.bs-why-item strong{display:block;font-family:var(--display);font-size:1.02rem;margin-bottom:5px;color:#fff;}
.bs-why-item span{font-size:.87rem;color:rgba(255,255,255,.72);line-height:1.5;}
.bs-why-cta{color:rgba(255,255,255,.85);font-size:.95rem;}
.bs-why-cta a{color:var(--aqua);font-weight:600;}

/* PDP */
.bs-pdp{padding-top:20px;}
.bs-pdp-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:start;margin:16px 0 10px;}
.bs-gallery{position:sticky;top:100px;}
.bs-gal-main{aspect-ratio:1/1;background:var(--tint);border:1px solid var(--line);border-radius:var(--radius);display:grid;place-items:center;padding:24px;}
.bs-gal-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply;image-rendering:auto;}
.bs-gal-main.bs-noimg .bs-gal-img{opacity:.5;mix-blend-mode:normal;}
.bs-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap;}
.bs-thumb{width:70px;height:70px;border:1px solid var(--line);border-radius:12px;background:var(--tint);overflow:hidden;cursor:pointer;padding:6px;transition:var(--t);}
.bs-thumb img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;}
.bs-thumb.on{border-color:var(--navy);}
.bs-buy-fam{font-family:var(--display);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;color:var(--aqua-deep);margin-bottom:8px;}
.bs-buy-name{font-size:1.9rem;line-height:1.14;margin-bottom:6px;}
.bs-buy-code{font-size:.85rem;color:var(--muted);font-family:var(--display);margin-bottom:14px;}
.bs-buy-badges{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px;}
.bs-buy-desc{font-size:.98rem;line-height:1.62;color:var(--text);margin-bottom:16px;}
.bs-buy-hl{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:8px;}
.bs-buy-hl li{display:flex;align-items:center;gap:9px;font-size:.92rem;color:var(--ink);}
.bs-buy-hl .ic{color:var(--aqua-deep);flex:none;}
.bs-buy-pricerow{display:flex;align-items:baseline;gap:8px;margin-bottom:18px;}
.bs-buy-price{font-family:var(--display);font-weight:700;font-size:2rem;color:var(--ink);}
.bs-buy-cta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;}
.bs-buy-quote{flex:1;min-width:200px;}
.bs-buy-call{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 18px;border-radius:var(--radius-sm);border:1px solid var(--navy);background:#fff;color:var(--navy);font-weight:600;}
.bs-buy-call:hover{background:var(--tint);}
.bs-buy-save{display:inline-flex;align-items:center;gap:7px;padding:0 16px;height:48px;border-radius:var(--radius-sm);border:1px solid var(--line);background:#fff;color:var(--muted);font-weight:600;cursor:pointer;}
.bs-buy-save.saved{color:var(--coral);border-color:var(--coral);}
.bs-buy-note{font-size:.84rem;color:var(--muted);line-height:1.5;margin-bottom:16px;display:flex;gap:8px;align-items:flex-start;}
.bs-buy-note .ic{color:var(--aqua-deep);flex:none;margin-top:2px;}
.bs-buy-trust{list-style:none;padding:16px 0 0;margin:0;border-top:1px solid var(--line);display:grid;gap:10px;}
.bs-buy-trust li{display:flex;align-items:center;gap:10px;font-size:.88rem;color:var(--text);}
.bs-buy-trust .ic{color:var(--aqua-deep);flex:none;}

.bs-specs{border-top:1px solid var(--line);}
.bs-spec-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;flex-wrap:wrap;}
.bs-specs h2{font-size:1.4rem;}
.bs-specsheet{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border-radius:10px;border:1px solid var(--navy);background:#fff;color:var(--navy);font-size:.85rem;font-weight:600;transition:var(--t);}
.bs-specsheet:hover{background:var(--navy);color:#fff;}
.bs-specsheet .ic{flex:none;}
.bs-buy-spec{display:inline-flex;align-items:center;gap:8px;margin-bottom:16px;color:var(--aqua-deep);font-size:.9rem;font-weight:600;}
.bs-buy-spec:hover{text-decoration:underline;}
.bs-buy-spec .ic{flex:none;}
.bs-spec-table{width:100%;border-collapse:collapse;max-width:640px;}
.bs-spec-table th,.bs-spec-table td{text-align:left;padding:11px 14px;font-size:.9rem;border-bottom:1px solid var(--line);}
.bs-spec-table th{width:200px;color:var(--muted);font-weight:500;}
.bs-spec-table td{color:var(--ink);font-weight:500;}
.bs-spec-note{font-size:.85rem;color:var(--muted);margin-top:12px;line-height:1.5;max-width:640px;}
.bs-rail-sub{font-size:.85rem;color:var(--muted);}

.bs-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,220px);gap:14px;overflow-x:auto;padding:4px 4px 14px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
.bs-rail::-webkit-scrollbar{height:8px;}
.bs-rail::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px;}
.bs-rail .bs-card{scroll-snap-align:start;}

.bs-sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;align-items:center;justify-content:space-between;gap:14px;padding:10px 16px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 24px -16px rgba(35,41,43,.4);}
.bs-sticky-price{display:flex;flex-direction:column;line-height:1.1;}
.bs-sticky-strong{font-family:var(--display);font-weight:700;font-size:1.15rem;color:var(--ink);}
.bs-sticky .btn{flex:1;max-width:230px;}

@media(max-width:860px){
  .bs-pdp-grid{grid-template-columns:minmax(0,1fr);gap:24px;}
  .bs-gallery{position:static;}
  .bs-buy-name{font-size:1.5rem;}
  .bs-sticky{display:flex;}
  .bs-hero-in{padding:44px 0 36px;}
  .bs-fcats,.bs-fgrp .bs-chips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .bs-fcats::-webkit-scrollbar,.bs-fgrp .bs-chips::-webkit-scrollbar{display:none;}
  .bs-frefine{flex-direction:column;align-items:stretch;gap:9px;}
  .bs-fgrp{flex-wrap:nowrap;}
}
@media(max-width:520px){
  .bs-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
  .bs-card-name{font-size:.84rem;}
  .bs-price{font-size:1rem;}
  .bs-buy-cta{flex-direction:column;}
  .bs-buy-quote,.bs-buy-call,.bs-buy-save{width:100%;}
}


/* ── Combisteel / enhanced PDP blocks (added for the Combisteel line) ───────── */
.pdp-delivery-inc{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;margin:2px 0 0;font-size:.9rem;color:var(--ink);line-height:1.4}
.pdp-delivery-inc svg{width:15px;height:15px;stroke:var(--aqua-deep);fill:none;flex:none;position:relative;top:2px}
.pdp-delivery-inc strong{font-weight:700}
.pdp-di-amt{color:var(--muted);font-size:.82rem;font-weight:500}

.cs-specgroups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media(max-width:720px){.cs-specgroups{grid-template-columns:1fr}}
.cs-specgroup{border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface);align-self:start}
.cs-specgroup-h{font-family:var(--display);font-weight:700;font-size:.9rem;padding:11px 14px;background:var(--tint);border-bottom:1px solid var(--line);color:var(--ink)}
.cs-specgroup table{width:100%;border-collapse:collapse}
.cs-specgroup th,.cs-specgroup td{text-align:left;padding:9px 14px;font-size:.86rem;vertical-align:top;border-bottom:1px solid var(--line-soft)}
.cs-specgroup tr:last-child th,.cs-specgroup tr:last-child td{border-bottom:none}
.cs-specgroup th{color:var(--muted);font-weight:500;width:46%}
.cs-specgroup td{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}

.cs-dims-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:center}
@media(max-width:760px){.cs-dims-grid{grid-template-columns:minmax(0,1fr);gap:18px}}
.cs-dims-draw{background:var(--tint);border:1px solid var(--line);border-radius:var(--radius-sm);padding:18px}
.cs-dims-draw svg{width:100%;height:auto;display:block}
.cs-tbl{width:100%;border-collapse:collapse}
.cs-tbl th,.cs-tbl td{text-align:left;padding:11px 2px;border-bottom:1px solid var(--line);font-size:.9rem}
.cs-tbl th{color:var(--muted);font-weight:500}
.cs-tbl td{color:var(--ink);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}

.cs-escale{display:flex;flex-direction:column;gap:6px;max-width:400px}
.cs-e-row{position:relative;display:flex;align-items:center;height:26px}
.cs-e-bar{height:22px;border-radius:3px 0 0 3px;display:flex;align-items:center;color:#fff;font-weight:800;font-size:.82rem;padding-left:12px;min-width:44px}
.cs-e-mark{position:absolute;right:-8px;transform:translateX(100%);background:var(--ink);color:#fff;font-weight:800;font-size:.8rem;padding:2px 9px;border-radius:3px}

.cs-dl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media(max-width:860px){.cs-dl-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.cs-dl-grid{grid-template-columns:1fr}}
.cs-dl{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:16px;transition:transform var(--t),box-shadow var(--t)}
.cs-dl:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.cs-dl-ic{width:36px;height:36px;border-radius:9px;background:var(--tint);display:grid;place-items:center;color:var(--ink)}
.cs-dl-ic svg{width:18px;height:18px;stroke:currentColor;fill:none}
.cs-dl-t{font-weight:700;font-size:.88rem;line-height:1.3}
.cs-dl-m{font-size:.76rem;color:var(--muted);margin-top:auto}


/* ── Combisteel landing page ─────────────────────────────────────────────────── */
.cs-hero-badges{display:flex;gap:10px 22px;flex-wrap:wrap;margin-top:18px}
.cs-badge{display:inline-flex;align-items:center;gap:8px;font-size:.86rem;font-weight:600;color:var(--ink)}
.cs-badge svg{width:16px;height:16px;stroke:var(--aqua-deep);fill:none;flex:none}
.cs-note{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--muted);margin:20px 0 -6px}
.cs-note svg{width:15px;height:15px;stroke:var(--aqua-deep);fill:none;flex:none}
.cs-note strong{color:var(--ink)}


/* ── All-brands logo tiles ───────────────────────────────────────────────────── */
.brand-tile-lg{padding:0;overflow:hidden}
.brand-tile-logo{height:78px;display:flex;align-items:center;justify-content:center;padding:16px;background:#fff;border-bottom:1px solid var(--line)}
.brand-tile-logo img{max-height:46px;max-width:78%;width:auto;object-fit:contain;display:block}
.brand-tile-word{font-family:var(--display);font-weight:800;font-size:1.22rem;letter-spacing:-.01em;color:var(--brand,#262E38);text-align:center;line-height:1.05}
.brand-tile-info{padding:15px 18px;display:flex;flex-direction:column;gap:4px}

/* ── Kitchen / Cookline Builder ─────────────────────────────────────────────── */
.ck-hero{background:var(--surface);border-bottom:1px solid var(--line);padding:26px 0 22px}
.ck-hero h1{display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:clamp(1.5rem,3vw,2.1rem);margin:6px 0 6px}
.ck-hero h1 svg{color:var(--coral)}
.ck-hero .muted{max-width:64ch}
.ck-stage{padding:22px 0 90px}
.ck-entry{display:flex;flex-direction:column;gap:22px}
.ck-ai-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(160deg,var(--surface),var(--surface-2));padding:22px;display:flex;flex-direction:column;gap:12px}
.ck-ai-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--coral)}
.ck-ai-head h2{font-family:var(--display);font-size:1.25rem;margin:4px 0 0}
.ck-brief{width:100%;border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;font:inherit;font-size:.95rem;resize:vertical;min-height:76px;background:var(--surface);color:var(--text)}
.ck-brief:focus{outline:none;border-color:var(--coral)}
.ck-ai-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ck-covers{width:170px;border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:11px 13px;font:inherit;background:var(--surface);color:var(--text)}
.ck-ai-btn{white-space:nowrap}
.ck-or{display:flex;align-items:center;gap:14px;color:var(--muted-2);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.ck-or::before,.ck-or::after{content:"";flex:1;height:1px;background:var(--line)}
.ck-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.ck-tile{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"ic l go" "ic b go";gap:2px 12px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:16px;cursor:pointer;transition:border-color var(--t),transform var(--t),box-shadow var(--t)}
.ck-tile:hover{border-color:var(--coral);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.ck-tile-ic{grid-area:ic;width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--coral-soft);color:var(--coral)}
.ck-tile-l{grid-area:l;font-family:var(--display);font-weight:800;font-size:1rem;color:var(--text)}
.ck-tile-b{grid-area:b;font-size:.8rem;color:var(--muted);line-height:1.35}
.ck-tile-go{grid-area:go;color:var(--muted-2)}
.ck-tile:hover .ck-tile-go{color:var(--coral)}
.ck-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;flex-wrap:wrap}
.ck-title h2{font-family:var(--display);font-size:1.4rem;margin:0}
.ck-title .ck-sub{font-size:.82rem;color:var(--muted)}
.ck-notes{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.ck-note{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:var(--radius-pill);padding:5px 12px;font-size:.78rem;color:var(--muted)}
.ck-gaps{border:1px solid #f0d9a8;background:#fdf6e8;border-radius:var(--radius);padding:14px 16px;margin-bottom:16px}
.ck-gaps h3{display:flex;align-items:center;gap:8px;font-size:.92rem;margin:0 0 6px;color:#8a6d1f}
.ck-gaps ul{margin:0;padding-left:20px;font-size:.84rem;color:#6f5a20;display:flex;flex-direction:column;gap:2px}
.ck-gaps .ck-gap-ess{font-weight:600}
.ck-zones{display:flex;flex-direction:column;gap:18px}
.ck-zone{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden;transition:box-shadow var(--t),border-color var(--t)}
.ck-zone.ck-drop{border-color:var(--coral);box-shadow:0 0 0 3px var(--coral-soft)}
.ck-zone-head{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line-soft);background:var(--surface-2)}
.ck-zone-head h3{font-family:var(--display);font-size:1.02rem;margin:0}
.ck-zone-n{margin-left:auto;font-size:.74rem;font-weight:700;color:var(--muted-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}
.ck-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;padding:14px 16px}
.ck-slot{border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px;display:flex;flex-direction:column;gap:8px;background:var(--surface)}
.ck-slot.is-empty{border-style:dashed;background:var(--surface-2)}
.ck-slot.is-ess.is-empty{border-color:#e6b96a}
.ck-slot-head{display:flex;align-items:center;gap:8px}
.ck-slot-role{font-weight:700;font-size:.9rem;color:var(--text)}
.ck-badge{font-size:.64rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--coral);background:var(--coral-soft);border-radius:var(--radius-pill);padding:2px 8px}
.ck-why{font-size:.78rem;color:var(--muted);line-height:1.4;margin:0}
.ck-empty-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.ck-pick{display:grid;grid-template-columns:56px 1fr auto;gap:10px;align-items:start}
.ck-pick-img{display:block}
.ck-img{width:56px;height:56px;object-fit:contain;border:1px solid var(--line-soft);border-radius:8px;background:#fff}
.ck-pick-name{font-size:.84rem;font-weight:600;color:var(--text);text-decoration:none;display:block;line-height:1.3;max-height:2.6em;overflow:hidden}
.ck-pick-name:hover{color:var(--coral)}
.ck-pick-code{font-size:.72rem;color:var(--muted-2);margin:2px 0 6px}
.ck-pick-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ck-price{font-family:var(--display);font-weight:800;font-size:.98rem;color:var(--text)}
.ck-vat{font-weight:600;font-size:.66rem;color:var(--muted-2);margin-left:3px}
.ck-qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--radius-pill);overflow:hidden}
.ck-qty-b{width:28px;height:28px;border:none;background:var(--surface);color:var(--text);font-size:1rem;cursor:pointer;line-height:1}
.ck-qty-b:hover{background:var(--surface-2);color:var(--coral)}
.ck-qty-v{min-width:26px;text-align:center;font-weight:700;font-size:.84rem;font-variant-numeric:tabular-nums}
.ck-slot-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.ck-x{width:26px;height:26px;border:none;background:transparent;color:var(--muted-2);cursor:pointer;border-radius:6px;display:inline-flex;align-items:center;justify-content:center}
.ck-x:hover{color:var(--coral);background:var(--coral-soft)}
.ck-add{margin-top:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.ck-add>summary{cursor:pointer;padding:13px 16px;font-weight:700;font-size:.9rem;display:flex;align-items:center;gap:8px;list-style:none}
.ck-add>summary::-webkit-details-marker{display:none}
.ck-add-body{padding:0 16px 16px;display:flex;flex-direction:column;gap:12px}
.ck-add-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ck-add-input{flex:1 1 240px;border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:10px 13px;font:inherit;background:var(--surface);color:var(--text)}
.ck-add-input:focus{outline:none;border-color:var(--coral)}
.ck-add-lbl{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;color:var(--muted)}
.ck-add-zone{border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 11px;background:var(--surface-2);font:inherit}
.ck-add-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.ck-add-card{border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px;display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center;cursor:grab}
.ck-add-card:active{cursor:grabbing}
.ck-add-img{width:64px;height:64px;object-fit:contain}
.ck-add-name{font-size:.76rem;line-height:1.25;max-height:2.5em;overflow:hidden}
.ck-add-price{font-weight:800;font-size:.82rem}
.ck-swap{position:fixed;inset:auto 0 0 0;margin:0 auto;max-width:560px;background:var(--surface);border-radius:20px 20px 0 0;box-shadow:var(--shadow-lg);z-index:1300;max-height:80vh;display:flex;flex-direction:column;padding:0 18px 18px;animation:ckUp .24s cubic-bezier(.4,0,.2,1)}
@keyframes ckUp{from{transform:translateY(30px);opacity:.6}to{transform:translateY(0);opacity:1}}
.ck-swap-head{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--surface);padding:16px 0 12px;border-bottom:1px solid var(--line)}
.ck-swap-head strong{font-family:var(--display);font-size:1.05rem}
.ck-swap-input{border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:11px 13px;font:inherit;margin:12px 0;background:var(--surface);color:var(--text)}
.ck-swap-input:focus{outline:none;border-color:var(--coral)}
.ck-swap-results{overflow-y:auto;display:flex;flex-direction:column;gap:6px}
.ck-res{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;text-align:left;border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:8px;background:var(--surface);cursor:pointer;transition:border-color var(--t),background var(--t)}
.ck-res:hover{border-color:var(--coral);background:var(--coral-soft)}
.ck-res-img{width:44px;height:44px;object-fit:contain}
.ck-res-name{font-size:.82rem;font-weight:600;display:block;line-height:1.25;max-height:2.5em;overflow:hidden}
.ck-res-meta{font-size:.72rem;color:var(--muted-2)}
.ck-res-add{color:var(--coral)}
.ck-searching{padding:14px 4px}
.ck-summary{position:sticky;bottom:14px;margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:var(--ink,#262E38);color:#fff;border-radius:var(--radius);padding:14px 18px;box-shadow:var(--shadow-lg)}
.ck-sum-l{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.ck-sum-lbl{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;opacity:.7}
.ck-summary .ck-total{font-family:var(--display);font-weight:800;font-size:1.5rem}
.ck-summary .ck-vat{color:rgba(255,255,255,.6)}
.ck-sum-n{font-size:.8rem;opacity:.75}
.ck-sum-actions{display:flex;gap:10px;flex-wrap:wrap}
.ck-share{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}
.ck-share:hover{background:rgba(255,255,255,.1)}
@media(max-width:720px){
  .ck-slots{grid-template-columns:1fr}
  .ck-summary{flex-direction:column;align-items:stretch;bottom:0;border-radius:16px 16px 0 0}
  .ck-sum-actions{justify-content:stretch}
  .ck-sum-actions .btn{flex:1}
}

/* Search suggest: category/brand "Jump to" chips */
.sp-chip .sp-chip-kind,.sp-chip-kind{margin-left:6px;font-size:.7em;opacity:.55;font-weight:600;letter-spacing:.02em;text-transform:uppercase;}
.sp-group.sp-intent{border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:4px;}

/* Zero-result recovery: department escape links + closest matches */
/* Recovery banner when a brand+range filter dead-ends in the wrong department */
.es-recover{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:520px;margin:0 auto 8px;
  padding:22px 24px;background:var(--coral-soft);border:1px solid #FFD8D2;border-radius:16px;}
.es-recover-txt{margin:0;font-size:.98rem;line-height:1.5;color:var(--ink);text-align:center;}
.es-recover .btn{display:inline-flex;align-items:center;gap:8px;}
.es-depts{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;max-width:640px;margin:6px auto 0;}
.es-dept{font-size:.86rem;font-weight:600;color:var(--ink);background:#fff;border:1px solid var(--line);
  border-radius:100px;padding:8px 15px;text-decoration:none;transition:border-color .18s ease,transform .18s ease;}
.es-dept:hover{border-color:var(--aqua);transform:translateY(-2px);}
.es-dept-all{background:var(--ink);color:#fff;border-color:var(--ink);}
.es-closest{margin-top:38px;text-align:left;}
.es-closest-head{margin-bottom:16px;}
.es-closest-head h3{font-size:1.15rem;}

/* Filter option with nothing behind it: don't show it at all (Max: "if it's not
   clickable, don't show it"). A currently-selected option never gets .facet-zero
   (see setCount), so this can't hide a filter you still need to un-tick. */
.facet-link.facet-zero,.facet-check.facet-zero{display:none!important;}
/* A whole facet group left with no clickable options is hidden by .facet-group-empty. */
.facet-group.facet-group-empty{display:none!important;}


/* ── Dual-warehouse stock (Combisteel/Ecofrost) ─────────────────────────────── */
.cs-stock{display:flex;flex-direction:column;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:4px 16px}
.cs-stock-row{display:flex;align-items:center;gap:12px;padding:13px 0}
.cs-stock-dot{width:9px;height:9px;border-radius:50%;flex:none}
.cs-stock-dot.in{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}
.cs-stock-dot.out{background:var(--muted-2)}
.cs-stock-body{display:flex;flex-direction:column;gap:1px;min-width:0}
.cs-stock-loc{font-weight:700;font-size:.92rem}
.cs-stock-note{font-size:.78rem;color:var(--muted)}
.cs-stock-qty{margin-left:auto;font-size:.86rem;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.cs-stock-qty b{font-size:1.02rem}
.cs-stock-sep{height:1px;background:var(--line)}

/* ── Open an account (multi-step) — views/account-open.js ──────────────────────
   Reuses the .apply-* form furniture; these are only the step/progress/toggle
   bits that /apply doesn't have. Tokens only, reduced-motion friendly. */
.acct-progress{list-style:none;display:flex;gap:8px;margin:22px 0 6px;padding:0;counter-reset:none;}
.acct-step{flex:1;display:flex;align-items:center;gap:8px;min-width:0;
  padding:10px 12px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);
  transition:border-color var(--t),background var(--t),opacity var(--t);}
.acct-step-num{flex-shrink:0;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;
  font-family:var(--display);font-weight:800;font-size:.82rem;color:var(--muted);
  background:var(--surface-2);border:1.5px solid var(--line);transition:all var(--t);}
.acct-step-label{font-size:.78rem;font-weight:700;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.acct-step.is-current{border-color:var(--aqua);background:var(--teal-soft);}
.acct-step.is-current .acct-step-num{background:var(--navy);border-color:var(--navy);color:#fff;}
.acct-step.is-current .acct-step-label{color:var(--ink);}
.acct-step.is-done .acct-step-num{background:var(--aqua-deep);border-color:var(--aqua-deep);color:#fff;}
.acct-step.is-done .acct-step-label{color:var(--ink);}
.acct-step.is-off{opacity:.5;}
.acct-panel .apply-sec:focus{outline:none;}
@media(max-width:600px){
  .acct-progress{gap:6px;}
  .acct-step{padding:9px 8px;flex-direction:column;text-align:center;gap:5px;}
  .acct-step-label{font-size:.62rem;letter-spacing:.01em;white-space:normal;}
}

/* Native select styled to match .apply-form inputs */
.acct-select{width:100%;font-family:var(--font);font-size:.95rem;color:var(--ink);
  background:var(--surface-2);border:1.5px solid var(--line);border-radius:11px;
  padding:12px 40px 12px 14px;appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237A7A72' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");
  background-repeat:no-repeat;background-position:right 14px center;transition:border-color var(--t),background-color var(--t);}
.acct-select:focus{outline:none;border-color:var(--coral);background-color:#fff;}
.acct-select:invalid{color:var(--muted-2);}

/* "Delivery same as billing" toggle row */
.acct-same{display:flex;gap:11px;align-items:center;cursor:pointer;font-size:.88rem;font-weight:600;color:var(--ink);}
.acct-same input{width:20px;height:20px;accent-color:var(--coral);flex-shrink:0;margin:0;cursor:pointer;}
.acct-delivery{margin-top:16px;}

/* Yes / No credit choice */
.acct-choice{display:grid;gap:12px;margin-top:16px;}
.acct-choice-opt{position:relative;display:flex;gap:14px;align-items:flex-start;cursor:pointer;
  padding:16px 18px;border:1.5px solid var(--line);border-radius:14px;background:var(--surface);
  transition:border-color var(--t),background var(--t),box-shadow var(--t);}
.acct-choice-opt:hover{border-color:var(--aqua-deep);}
.acct-choice-opt input{position:absolute;opacity:0;pointer-events:none;}
.acct-choice-opt.on{border-color:var(--aqua);background:var(--teal-soft);box-shadow:0 0 0 3px rgba(78,205,197,.16);}
.acct-choice-ic{flex-shrink:0;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;
  background:var(--surface-2);color:var(--aqua-deep);transition:all var(--t);}
.acct-choice-opt.on .acct-choice-ic{background:var(--navy);color:#fff;}
.acct-choice-body{display:flex;flex-direction:column;gap:3px;min-width:0;}
.acct-choice-body strong{font-family:var(--display);font-size:1.02rem;color:var(--ink);letter-spacing:-.01em;}
.acct-choice-blurb{font-size:.82rem;color:var(--muted);line-height:1.45;}
.acct-choice-tick{flex-shrink:0;margin-left:auto;color:var(--aqua-deep);opacity:0;transform:scale(.7);
  transition:opacity var(--t),transform var(--t);}
.acct-choice-opt.on .acct-choice-tick{opacity:1;transform:scale(1);}
.acct-choice-opt:focus-within{outline:2.5px solid var(--coral);outline-offset:2px;}

/* Trade reference blocks */
.acct-ref{padding-top:6px;}
.acct-ref + .acct-ref{margin-top:14px;padding-top:16px;border-top:1px solid var(--line-soft);}
.acct-ref-h{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);margin-bottom:2px;}

/* Step nav (Back / Next row) */
.acct-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;flex-wrap:wrap;}
.acct-nav > span:only-child,.acct-nav > span:first-child:not(button){flex:0 0 auto;}
.acct-nav .acct-next,.acct-nav .acct-submit-basic,.acct-nav .acct-submit-credit{margin-left:auto;}
@media(max-width:460px){
  .acct-nav{flex-direction:column-reverse;align-items:stretch;}
  .acct-nav .btn{width:100%;justify-content:center;}
}

/* Inline-invalid highlight (validation) */
.acct-form .acct-invalid{border-color:var(--coral)!important;background:#FFF5F5!important;}

/* Success extras */
.acct-done-note{font-size:.84rem;color:var(--muted);max-width:440px;margin:10px auto 0!important;line-height:1.55;}
.acct-done-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:22px;}
@media(prefers-reduced-motion:reduce){
  .acct-step,.acct-choice-opt,.acct-choice-ic,.acct-choice-tick,.acct-select{transition:none;}
}

/* ═══ Blue Seal editorial hub (bsx) — Churchill-grade treatment ═══ */
.bsx-mast{position:relative;min-height:64vh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;}
.bsx-mast-media{position:absolute;inset:0;}
.bsx-mast-media img{width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.bsx-mast-scrim{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(16,22,30,.30) 0%,rgba(16,22,30,.52) 52%,rgba(12,18,26,.94) 100%);}
.bsx-mast-inner{position:relative;padding-top:120px;padding-bottom:42px;}
.bsx-est{font-family:var(--display);font-size:.74rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:#9FD9D4;}
.bsx-title{font-family:var(--display);font-weight:800;letter-spacing:-.03em;color:#fff;
  font-size:clamp(2.4rem,5.2vw,4rem);margin:12px 0 12px;line-height:1.03;
  text-shadow:0 2px 24px rgba(10,16,24,.45);}
.bsx-title i{font-style:italic;color:var(--aqua);}
.bsx-lede{max-width:62ch;color:#C8D2DC;font-size:1.04rem;line-height:1.7;margin:0 0 22px;}
.bsx-mast-inner .bs-hero-searchwrap{margin:0 0 24px;max-width:560px;}
.bsx-mast-stats{display:flex;gap:34px;flex-wrap:wrap;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.18);}
.bsx-stat strong{display:block;font-family:var(--display);font-weight:800;font-size:1.5rem;color:#fff;}
.bsx-stat span{font-size:.8rem;color:#AEB9C4;}
.bsx-nav{position:sticky;top:64px;z-index:30;background:var(--paper);
  border-bottom:1px solid var(--line);box-shadow:0 6px 18px -14px rgba(35,41,43,.35);}
.bsx-nav-row{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;}
.bsx-nav-row::-webkit-scrollbar{display:none;}
.bsx-nav-link{padding:14px 16px;font-family:var(--display);font-weight:700;font-size:.9rem;color:var(--muted);
  text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent;transition:var(--t);}
.bsx-nav-link:hover{color:var(--ink);border-color:var(--aqua);}
.bsx-nav-all{color:var(--coral-dark);margin-left:auto;}
.bsx-fam{padding:60px 0 24px;}
.bsx-fam-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:48px;align-items:center;}
.bsx-fam:nth-of-type(even) .bsx-fam-grid{direction:rtl;}
.bsx-fam:nth-of-type(even) .bsx-fam-grid>*{direction:ltr;}
.bsx-fam-media{position:relative;border-radius:24px;overflow:hidden;
  background:linear-gradient(180deg,#f6f4ef,#e9e5dc);aspect-ratio:4/3;display:flex;align-items:center;
  justify-content:center;box-shadow:var(--shadow-lg);}
.bsx-fam-media img{max-width:80%;max-height:84%;object-fit:contain;mix-blend-mode:multiply;
  transition:transform .5s cubic-bezier(.2,.7,.2,1);}
.bsx-fam:hover .bsx-fam-media img{transform:scale(1.045);}
.bsx-strap{font-family:var(--display);font-size:.72rem;font-weight:800;letter-spacing:.2em;
  text-transform:uppercase;color:var(--aqua-deep);}
.bsx-strap.on-dark{color:#9FD9D4;}
.bsx-fam-title{font-family:var(--display);font-weight:800;letter-spacing:-.025em;
  font-size:clamp(1.9rem,3.4vw,2.6rem);margin:10px 0 12px;color:var(--ink);}
.bsx-fam-blurb{color:var(--muted);font-size:1rem;line-height:1.7;max-width:56ch;margin:0 0 14px;}
.bsx-fam-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-family:var(--display);font-weight:700;font-size:.86rem;color:var(--ink);margin-bottom:18px;}
.bsx-fam-meta .dot{width:4px;height:4px;border-radius:50%;background:var(--coral);}
.bsx-chips{display:flex;flex-wrap:wrap;gap:9px;}
.bsx-chip{display:inline-flex;align-items:baseline;gap:2px;padding:9px 16px;border-radius:100px;
  border:1.5px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;
  font-family:var(--display);font-weight:700;font-size:.87rem;transition:var(--t);cursor:pointer;}
.bsx-chip em{font-style:normal;font-weight:600;font-size:.76rem;color:var(--muted-2);}
.bsx-chip:hover{border-color:var(--aqua);background:var(--teal-soft);transform:translateY(-2px);}
.bsx-chip-all{border-color:var(--coral);color:var(--coral-dark);align-items:center;}
.bsx-chip-all:hover{border-color:var(--coral-dark);background:rgba(255,107,107,.08);}
.bsx-band{position:relative;margin:56px 0 0;min-height:52vh;display:flex;align-items:center;overflow:hidden;color:#fff;}
.bsx-band-media{position:absolute;inset:0;}
.bsx-band-media img{width:100%;height:100%;object-fit:cover;object-position:center 60%;}
.bsx-band-scrim{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(13,19,27,.92) 0%,rgba(13,19,27,.7) 46%,rgba(13,19,27,.3) 100%);}
.bsx-band-inner{position:relative;padding:64px 0;}
.bsx-band-title{font-family:var(--display);font-weight:800;letter-spacing:-.025em;color:#fff;
  font-size:clamp(1.9rem,3.6vw,2.8rem);margin:10px 0 12px;line-height:1.1;
  text-shadow:0 2px 24px rgba(10,16,24,.45);}
.bsx-band-sub{max-width:52ch;color:#C8D2DC;line-height:1.65;margin:0 0 22px;}
.bsx-band-ctas{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.btn-outline.on-dark{background:transparent;border-color:rgba(255,255,255,.55);color:#fff;}
.btn-outline.on-dark:hover{border-color:#fff;background:rgba(255,255,255,.12);color:#fff;}
.bsx-back{border:1.5px solid var(--line);background:#fff;border-radius:100px;padding:8px 16px;
  font-family:var(--display);font-weight:700;font-size:.85rem;color:var(--ink);cursor:pointer;
  margin-right:14px;transition:var(--t);}
.bsx-back:hover{border-color:var(--aqua);background:var(--teal-soft);}
.bsx-editorial[hidden],.bs-filters[hidden],.bs-body[hidden]{display:none!important;}
@media (max-width: 900px){
  .bsx-mast{min-height:54vh;}
  .bsx-fam{padding:40px 0 16px;}
  .bsx-fam-grid{grid-template-columns:minmax(0,1fr);gap:22px;}
  .bsx-fam:nth-of-type(even) .bsx-fam-grid{direction:ltr;}
  .bsx-mast-stats{gap:22px;}
  .bsx-band{min-height:44vh;}
}

/* ═══ The Bespoke Studio (bpk) — dark gallery treatment, gold accent ═══ */
:root{--bpk-ink:#161C24;--bpk-ink2:#1D242E;--gold:#C4A265;--gold-soft:rgba(196,162,101,.16);}
.btn-gold{background:var(--gold);color:#161C24;border:1.5px solid var(--gold);font-weight:700;}
.btn-gold:hover{background:#D4B57B;border-color:#D4B57B;color:#161C24;transform:translateY(-2px);}
.bpk-mast{position:relative;background:radial-gradient(1200px 600px at 78% 20%,#232B37 0%,var(--bpk-ink) 60%);
  color:#fff;overflow:hidden;}
.bpk-mast-orn{position:absolute;right:-140px;top:-140px;width:620px;height:620px;opacity:.9;
  animation:bpkSpin 80s linear infinite;}
@keyframes bpkSpin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion: reduce){.bpk-mast-orn{animation:none;}}
.bpk-mast-inner{position:relative;padding-top:120px;padding-bottom:84px;}
.bpk-strap{font-family:var(--display);font-size:.72rem;font-weight:800;letter-spacing:.24em;
  text-transform:uppercase;color:var(--gold);}
.bpk-strap.on-dark{color:var(--gold);}
.bpk-title{font-family:var(--display);font-weight:800;letter-spacing:-.03em;color:#fff;
  font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.02;margin:14px 0 16px;}
.bpk-lede{max-width:60ch;color:#C8D2DC;font-size:1.06rem;line-height:1.75;margin:0 0 28px;}
.bpk-mast-ctas{display:flex;gap:12px;flex-wrap:wrap;}
.bpk-h2{font-family:var(--display);font-weight:800;letter-spacing:-.025em;color:#fff;
  font-size:clamp(1.8rem,3.4vw,2.6rem);margin:10px 0 10px;}
.bpk-h2.ink{color:var(--ink);}
.bpk-sub{max-width:62ch;color:#AEB9C4;line-height:1.7;margin:0 0 8px;}
.bpk-sub.ink{color:var(--muted);}
.bpk-studio{background:linear-gradient(180deg,var(--bpk-ink) 0%,var(--bpk-ink2) 100%);color:#fff;
  padding:64px 0 72px;border-top:1px solid rgba(196,162,101,.25);}
.bpk-studio-head{max-width:70ch;margin-bottom:34px;}
.bpk-studio-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px;align-items:center;}
.bpk-preview-wrap{display:flex;flex-direction:column;align-items:center;gap:14px;}
.bpk-preview{width:min(420px,88vw);aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(closest-side,#2A3340 0%,#222A35 78%,transparent 100%);border-radius:50%;
  filter:drop-shadow(0 30px 50px rgba(0,0,0,.45));}
.bpk-preview svg{width:86%;height:86%;}
.bpk-specline{font-family:var(--display);font-weight:700;font-size:.92rem;color:var(--gold);
  text-align:center;min-height:1.4em;margin:0;}
.bpk-ctrl{margin-bottom:20px;}
.bpk-ctrl-label{display:block;font-family:var(--display);font-size:.72rem;font-weight:800;
  letter-spacing:.18em;text-transform:uppercase;color:#8E99A6;margin-bottom:9px;}
.bpk-seg{display:flex;flex-wrap:wrap;gap:8px;}
.bpk-seg-btn{padding:9px 15px;border-radius:100px;border:1.5px solid rgba(255,255,255,.22);
  background:transparent;color:#D7DEE6;font-family:var(--display);font-weight:700;font-size:.86rem;
  cursor:pointer;transition:var(--t);}
.bpk-seg-btn:hover{border-color:var(--gold);color:#fff;}
.bpk-seg-btn.is-on{background:var(--gold);border-color:var(--gold);color:#161C24;}
.bpk-swatches{display:flex;gap:10px;flex-wrap:wrap;}
.bpk-swatch{width:38px;height:38px;border-radius:50%;background:var(--sw);cursor:pointer;
  border:2.5px solid rgba(255,255,255,.25);transition:var(--t);}
.bpk-swatch:hover{transform:scale(1.1);}
.bpk-swatch.is-on{border-color:var(--gold);box-shadow:0 0 0 3px rgba(196,162,101,.35);}
.bpk-initials{width:120px;padding:10px 14px;border-radius:12px;border:1.5px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.06);color:#fff;font-family:Georgia,serif;font-style:italic;font-size:1.3rem;
  letter-spacing:.14em;text-align:center;}
.bpk-initials:focus{outline:none;border-color:var(--gold);}
.bpk-send{margin-top:6px;}
.bpk-offers{padding-top:64px;}
.bpk-offer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;}
.bpk-offer{display:flex;flex-direction:column;gap:8px;padding:26px 24px;border:1px solid var(--line);
  border-radius:20px;background:#fff;transition:var(--t);}
.bpk-offer:hover{transform:translateY(-4px);box-shadow:0 24px 44px -26px rgba(38,46,56,.4);border-color:var(--gold);}
.bpk-offer-art{width:88px;height:88px;margin-bottom:6px;}
.bpk-offer-art svg{width:100%;height:100%;}
.bpk-offer strong{font-family:var(--display);font-size:1.06rem;color:var(--ink);}
.bpk-offer span{color:var(--muted);font-size:.92rem;line-height:1.6;}
.bpk-craft{background:linear-gradient(180deg,#F3EFE7 0%,var(--paper) 100%);padding:64px 0;margin-top:56px;}
.bpk-craft-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:26px;}
.bpk-craft-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;}
.bpk-craft-card>strong{font-family:var(--display);font-size:1.2rem;color:var(--ink);}
.bpk-craft-card>p{color:var(--muted);margin:8px 0 12px;line-height:1.6;}
.bpk-craft-card ul{margin:0 0 16px;padding-left:18px;color:var(--muted);line-height:1.7;font-size:.94rem;}
.bpk-dur{display:flex;align-items:center;gap:12px;border-top:1px dashed var(--line);padding-top:14px;}
.bpk-dur>span{font-family:var(--display);font-size:.72rem;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted-2);}
.bpk-dur-bar{display:flex;gap:5px;}
.bpk-dur-bar i{width:22px;height:8px;border-radius:4px;background:#E4DFD4;}
.bpk-dur-bar i.on{background:var(--gold);}
.bpk-craft-note{margin-top:22px;color:var(--muted);font-size:.94rem;display:flex;gap:8px;align-items:center;}
.bpk-partners{padding:38px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:#fff;margin-top:8px;}
.bpk-partners-lede{text-align:center;font-family:var(--display);font-size:.74rem;font-weight:800;
  letter-spacing:.2em;text-transform:uppercase;color:var(--muted-2);margin:0 0 16px;}
.bpk-partner-row{display:flex;gap:14px 44px;flex-wrap:wrap;justify-content:center;}
.bpk-partner{font-family:Georgia,serif;font-style:italic;font-size:1.25rem;color:var(--ink);opacity:.78;}
.bpk-process{padding-top:56px;}
.bpk-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;}
.bpk-step{position:relative;padding:22px 20px;border:1px solid var(--line);border-radius:18px;background:#fff;
  display:flex;flex-direction:column;gap:6px;}
.bpk-step-n{width:34px;height:34px;border-radius:50%;background:var(--gold-soft);color:#8A6F3C;
  display:grid;place-items:center;font-family:var(--display);font-weight:800;}
.bpk-step strong{font-family:var(--display);color:var(--ink);}
.bpk-step span{color:var(--muted);font-size:.9rem;line-height:1.55;}
.bpk-enquire{background:linear-gradient(180deg,var(--bpk-ink2) 0%,var(--bpk-ink) 100%);color:#fff;
  padding:70px 0;margin-top:64px;}
.bpk-form{max-width:760px;}
.bpk-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin:22px 0 14px;}
.bpk-field{display:flex;flex-direction:column;gap:6px;}
.bpk-field>span{font-family:var(--display);font-size:.74rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:#8E99A6;}
.bpk-input{padding:12px 14px;border-radius:12px;border:1.5px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.06);color:#fff;font-size:.98rem;}
.bpk-input:focus{outline:none;border-color:var(--gold);}
select.bpk-input option{color:var(--ink);}
.bpk-msg{resize:vertical;}
.bpk-form-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:18px;}
.bpk-form-alt{color:#8E99A6;font-size:.92rem;}
.bpk-form-alt a{color:var(--gold);}
.bpk-done{padding:30px 0;}
.nav-bespoke{color:#8A6F3C!important;font-weight:700;}
@media (max-width: 900px){
  .bpk-mast-inner{padding-top:84px;padding-bottom:56px;}
  .bpk-studio-grid{grid-template-columns:minmax(0,1fr);gap:30px;}
  .bpk-form-grid{grid-template-columns:minmax(0,1fr);}
  .bpk-mast-orn{right:-260px;top:-260px;}
}

.bpk-facts{padding-top:56px;}
.bpk-facts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;}
.bpk-fact{padding:24px 22px;border-radius:18px;background:#fff;border:1px solid var(--line);
  border-top:3px solid var(--gold);display:flex;flex-direction:column;gap:6px;}
.bpk-fact strong{font-family:var(--display);font-weight:800;font-size:1.7rem;color:var(--ink);letter-spacing:-.02em;}
.bpk-fact span{color:var(--muted);font-size:.9rem;line-height:1.55;}
.bpk-facts-note{margin-top:14px;color:var(--muted-2);font-size:.9rem;font-style:italic;}

/* Bespoke studio motion: bands draw on, monograms rise, pieces pop in */
.bpk-band{stroke-dasharray:100 100;stroke-dashoffset:100;animation:bpkDraw 1s cubic-bezier(.55,.1,.3,1) forwards;}
.bpk-band.b2{animation-delay:.18s;}
@keyframes bpkDraw{to{stroke-dashoffset:0;}}
.bpk-mono{opacity:0;animation:bpkRise .8s .32s cubic-bezier(.2,.7,.2,1) forwards;}
@keyframes bpkRise{to{opacity:1;}}
.bpk-preview svg{animation:bpkPop .5s cubic-bezier(.2,.7,.2,1);}
@keyframes bpkPop{from{opacity:0;transform:scale(.94);}to{opacity:1;transform:scale(1);}}
@media (prefers-reduced-motion: reduce){
  .bpk-band,.bpk-mono,.bpk-preview svg{animation:none;stroke-dashoffset:0;opacity:1;}
}
/* PDP: quiet gold door into the Bespoke Studio on white/plain ware */
.pdp-customise{display:inline-flex;align-items:center;gap:7px;margin:10px 0 2px;padding:7px 15px;
  border-radius:100px;border:1.5px solid #C4A265;color:#8A6F3C;background:transparent;
  font-family:var(--display);font-weight:700;font-size:.84rem;text-decoration:none;
  width:fit-content;transition:var(--t);}
.pdp-customise:hover{background:rgba(196,162,101,.12);transform:translateY(-1px);}

/* ═══ Bespoke Studio v3 (bsp) — kinetic type manifesto, pure Lordwell light ═══ */
.bsp-strap{font-family:var(--display);font-size:.74rem;font-weight:800;letter-spacing:.24em;
  text-transform:uppercase;color:var(--aqua-deep);}
.bsp-hero{min-height:88vh;display:flex;flex-direction:column;justify-content:center;position:relative;
  padding:96px 0 64px;background:var(--paper);overflow:hidden;}
.bsp-hero-lines{margin:18px 0 26px;}
.bsp-line-wrap{overflow:hidden;}
.bsp-line{display:inline-block;font-family:var(--display);font-weight:800;text-transform:uppercase;
  font-size:clamp(3rem,9.2vw,7.6rem);line-height:.98;letter-spacing:-.02em;color:var(--ink);
  transform:translateY(112%);animation:bspRise .85s cubic-bezier(.2,.7,.2,1) forwards;will-change:transform;}
.bsp-line::after{content:'.';color:var(--coral);}
.bsp-line-wrap:nth-child(1) .bsp-line{animation-delay:.05s;}
.bsp-line-wrap:nth-child(2) .bsp-line{animation-delay:.16s;}
.bsp-line-wrap:nth-child(3) .bsp-line{animation-delay:.27s;}
@keyframes bspRise{to{transform:translateY(0);}}
.bsp-line.ghost{color:var(--aqua-deep);}

.bsp-lede{max-width:56ch;color:var(--muted);font-size:1.08rem;line-height:1.75;margin:0 0 26px;}
.bsp-lede-sm{font-size:1rem;margin-bottom:20px;}
.bsp-hero-ctas{display:flex;gap:20px;align-items:center;flex-wrap:wrap;}
.bsp-cta{font-size:1rem;padding:14px 26px;}
.bsp-tel{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:700;
  color:var(--ink);text-decoration:none;border-bottom:2px solid var(--aqua);padding-bottom:2px;transition:var(--t);}
.bsp-tel:hover{color:var(--aqua-deep);}
.bsp-scrollcue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);color:var(--aqua-deep);
  animation:bspCue 1.8s ease-in-out infinite;}
@keyframes bspCue{0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,9px);}}
.bsp-marquee{border-top:1.5px solid rgba(38,46,56,.14);border-bottom:1.5px solid rgba(38,46,56,.14);
  background:#fff;padding:16px 0;overflow:hidden;}
.bsp-mq{display:flex;white-space:nowrap;font-family:var(--display);font-weight:800;text-transform:uppercase;
  font-size:clamp(1.5rem,3.2vw,2.5rem);letter-spacing:.01em;}
.bsp-mq-seg{flex:0 0 auto;display:inline-flex;align-items:center;gap:.55em;padding-right:.55em;}
.bsp-mq-seg em{font-style:normal;}
.bsp-mqdot{flex:0 0 auto;width:.32em;height:.32em;border-radius:50%;}
.bsp-mq1 .bsp-mq-seg{animation:bspMq 46s linear infinite;}
.bsp-mq1 em{color:var(--ink);}
.bsp-mq1 .bsp-mqdot{background:var(--coral);}
.bsp-mq2 .bsp-mq-seg{animation:bspMqR 60s linear infinite;}
.bsp-mq2 em{color:var(--aqua);}

.bsp-mq2 .bsp-mqdot{background:var(--aqua);opacity:.7;}
.bsp-mq2{margin-top:2px;}
@keyframes bspMq{to{transform:translateX(-100%);}}
@keyframes bspMqR{from{transform:translateX(-100%);}to{transform:translateX(0);}}
.bsp-ch{position:relative;padding:19vh 0;overflow:hidden;}
.bsp-ch-n{position:absolute;top:50%;right:-2vw;transform:translateY(-50%);z-index:0;
  font-family:var(--display);font-weight:800;font-size:clamp(11rem,26vw,22rem);line-height:1;
  color:rgba(38,46,56,.06);pointer-events:none;user-select:none;}
.bsp-ch-flip .bsp-ch-n{right:auto;left:-2vw;}
.bsp-ch-in{position:relative;z-index:1;}
.bsp-ch-h{font-family:var(--display);font-weight:800;letter-spacing:-.025em;color:var(--ink);
  font-size:clamp(2.3rem,5.4vw,4.4rem);line-height:1.08;max-width:20ch;margin:0 0 18px;}
.bsp-ch-flip .bsp-ch-h,.bsp-ch-flip .bsp-ch-sub{margin-left:auto;text-align:right;}
.bsp-w{display:inline-block;margin-right:.24em;opacity:0;transform:translateY(.55em);
  transition:opacity .55s cubic-bezier(.2,.7,.2,1),transform .55s cubic-bezier(.2,.7,.2,1);
  transition-delay:calc(var(--i) * 60ms);}
.bsp-ch.rev-in .bsp-w{opacity:1;transform:none;}
.bsp-w.aqua{color:var(--aqua-deep);}
.bsp-w.coral{color:var(--coral);}
.bsp-ch-sub{max-width:50ch;color:var(--muted);font-size:1.05rem;line-height:1.7;margin:0;}
@media (prefers-reduced-motion: reduce){
  .bsp-line{animation:none;transform:none;}
  .bsp-mq-seg{animation:none!important;}
  .bsp-w{opacity:1;transform:none;transition:none;}
  .bsp-scrollcue{animation:none;}
}
.bsp-proof{padding:40px 0 8px;}
.bsp-proof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.bsp-photo{margin:0;aspect-ratio:4/3;border-radius:22px;overflow:hidden;position:relative;background:var(--ink);}
.bsp-photo img{width:100%;height:100%;object-fit:cover;}
.bsp-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:14px 18px;color:#fff;
  font-family:var(--display);font-weight:700;font-size:.9rem;
  background:linear-gradient(0deg,rgba(20,26,34,.72),transparent);}
.bsp-photo-hold{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:10px;background:
  radial-gradient(120% 90% at 30% 20%,#2E3947 0%,#262E38 60%,#1F2630 100%);}
.bsp-photo-word{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.04em;
  font-size:clamp(2rem,4.4vw,3.4rem);color:var(--aqua);}
.bsp-photo-note{color:#8E99A6;font-size:.9rem;}
.bsp-numbers{padding-top:48px;}
.bsp-num-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:16px;}
.bsp-num{padding:24px 22px;border-radius:18px;background:#fff;border:1px solid var(--line);
  border-top:3px solid var(--aqua);display:flex;flex-direction:column;gap:7px;}
.bsp-num strong{font-family:var(--display);font-weight:800;font-size:1.8rem;color:var(--ink);
  letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
.bsp-num span{color:var(--muted);font-size:.9rem;line-height:1.55;}
.bsp-steps{padding-top:26px;}
.bsp-steps-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:26px;}
.bsp-step{border-left:3px solid var(--coral);padding:4px 0 4px 18px;display:flex;flex-direction:column;gap:6px;}
.bsp-step strong{font-family:var(--display);font-size:1.12rem;color:var(--ink);}
.bsp-step span{color:var(--muted);font-size:.94rem;line-height:1.6;}
.bsp-start{margin-top:70px;padding:70px 0 84px;background:#fff;border-top:1.5px solid rgba(38,46,56,.14);}
.bsp-start-h{font-family:var(--display);font-weight:800;letter-spacing:-.025em;color:var(--ink);
  font-size:clamp(2.2rem,4.8vw,3.7rem);margin:10px 0 12px;}
.bsp-start-h em{font-style:italic;color:var(--coral);}
.bsp-form{max-width:820px;}
.bsp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin:8px 0 20px;}
.bsp-field{display:flex;flex-direction:column;gap:6px;}
.bsp-field>span{font-family:var(--display);font-size:.74rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted-2);}
.bsp-input{padding:13px 15px;border-radius:14px;border:1.5px solid var(--line);background:var(--paper);
  color:var(--ink);font-size:1rem;transition:var(--t);}
.bsp-input:focus{outline:none;border-color:var(--aqua);background:#fff;}
.bsp-msg{resize:vertical;}
.bsp-fgroup{margin:0 0 18px;}
.bsp-flabel{display:block;font-family:var(--display);font-size:.74rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted-2);margin-bottom:9px;}
.bsp-chips{display:flex;flex-wrap:wrap;gap:9px;}
.bsp-chip{padding:10px 17px;border-radius:100px;border:1.5px solid var(--line);background:#fff;
  color:var(--ink);font-family:var(--display);font-weight:700;font-size:.88rem;cursor:pointer;transition:var(--t);}
.bsp-chip:hover{border-color:var(--aqua);transform:translateY(-1px);}
.bsp-chip.is-on{background:var(--aqua);border-color:var(--aqua);color:var(--ink);}
.bsp-form-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:8px;}
.bsp-form-alt{color:var(--muted-2);font-size:.92rem;}
.bsp-form-alt a{color:var(--aqua-deep);}
.bsp-done{padding:26px 0 8px;}
.bsp-done-h{font-family:var(--display);font-weight:800;font-size:1.9rem;color:var(--ink);margin:0 0 8px;}
.bsp-done p{color:var(--muted);max-width:52ch;line-height:1.7;}
@media (max-width: 860px){
  .bsp-hero{min-height:76vh;padding-top:72px;}
  .bsp-proof-grid,.bsp-form-grid{grid-template-columns:minmax(0,1fr);}
  .bsp-ch{padding:13vh 0;}
  .bsp-ch-flip .bsp-ch-h,.bsp-ch-flip .bsp-ch-sub{margin-left:0;text-align:left;}
}

.bsp-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--coral);z-index:400;
  pointer-events:none;transition:width .1s linear;}

/* ═══ The shutter moment (bsp-snap) — plate → viewfinder → flash → Instagram ═══ */
.bsp-snap{padding:14vh 0;overflow:hidden;}
.bsp-snap .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;}
.bsp-snap-h{font-family:var(--display);font-weight:800;letter-spacing:-.025em;color:var(--ink);
  font-size:clamp(2.2rem,4.6vw,3.8rem);line-height:1.06;margin:10px 0 14px;}
.bsp-snap-h em{font-style:italic;color:var(--coral);}
.bsp-snap-cta{margin-top:20px;}
.bsp-stage{position:relative;max-width:420px;margin:0 auto;width:100%;}
/* the table scene */
.bsp-scene{position:relative;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(120% 100% at 30% 18%,#FFFFFF 0%,#F4F0E8 55%,#EAE4D7 100%);
  border-radius:24px;transition:border-radius .5s;}
.bsp-cutlery{position:absolute;top:50%;width:5px;height:44%;border-radius:4px;background:rgba(38,46,56,.22);
  transform:translateY(-50%);transition:opacity .4s;}
.bsp-cutlery.left{left:9%;}
.bsp-cutlery.right{right:9%;}
.bsp-plate{position:relative;width:66%;aspect-ratio:1/1;border-radius:50%;
  background:radial-gradient(circle at 40% 34%,#FFFFFF 0%,#FBFAF7 62%,#EFEBE1 100%);
  box-shadow:0 22px 44px -20px rgba(24,30,38,.45),0 2px 0 rgba(255,255,255,.9) inset;
  display:flex;align-items:center;justify-content:center;}
.bsp-plate-ring{position:absolute;inset:7.5%;border-radius:50%;border:2.5px solid var(--ink);opacity:.85;}
.bsp-plate-mark{position:absolute;top:16.5%;left:50%;transform:translateX(-50%);
  font-family:var(--display);font-weight:800;font-size:.72rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--ink);white-space:nowrap;}
/* flat plated course, in palette */
.bsp-food{position:absolute;inset:24%;}
.bsp-food i{position:absolute;display:block;}
.bsp-food-swoosh{left:8%;top:52%;width:66%;height:16%;border-radius:100px;
  background:linear-gradient(90deg,#9CAF88,#7C8A6E);transform:rotate(-14deg);}
.bsp-food-main{left:30%;top:30%;width:38%;height:38%;border-radius:50%;
  background:radial-gradient(circle at 38% 32%,#FF8A7A,#E85F4F 70%);}
.bsp-food-side{left:16%;top:26%;width:15%;height:15%;border-radius:50%;background:#D8A72A;}
.bsp-food-dot{width:6%;height:6%;border-radius:50%;background:#6B7B57;}
.bsp-food-dot.d1{left:66%;top:26%;}
.bsp-food-dot.d2{left:74%;top:38%;}
.bsp-food-dot.d3{left:24%;top:64%;}
/* viewfinder + flash */
.bsp-finder{position:absolute;inset:6%;opacity:0;transition:opacity .35s;pointer-events:none;}
.is-aiming .bsp-finder{opacity:1;}
.bsp-fc{position:absolute;width:34px;height:34px;border:3px solid var(--ink);}
.bsp-fc.tl{left:0;top:0;border-right:none;border-bottom:none;}
.bsp-fc.tr{right:0;top:0;border-left:none;border-bottom:none;}
.bsp-fc.bl{left:0;bottom:0;border-right:none;border-top:none;}
.bsp-fc.br{right:0;bottom:0;border-left:none;border-top:none;}
.bsp-reticle{position:absolute;left:50%;top:50%;width:14px;height:14px;border-radius:50%;
  border:2.5px solid var(--coral);transform:translate(-50%,-50%);}
.is-aiming .bsp-scene{animation:bspFocus .8s cubic-bezier(.2,.7,.2,1);}
@keyframes bspFocus{0%{transform:scale(1);}45%{transform:scale(1.035);}100%{transform:scale(1.02);}}
.bsp-flash{position:absolute;inset:-4%;background:#fff;border-radius:26px;opacity:0;pointer-events:none;}
.is-flash .bsp-flash{animation:bspFlash .3s ease-out;}
@keyframes bspFlash{0%{opacity:0;}30%{opacity:1;}100%{opacity:0;}}
/* the post */
.bsp-post{display:none;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;
  box-shadow:0 30px 60px -34px rgba(24,30,38,.5);}
.is-post .bsp-post{display:block;animation:bspPostIn .55s cubic-bezier(.2,.7,.2,1);}
@keyframes bspPostIn{from{opacity:0;transform:translateY(18px) scale(.98);}to{opacity:1;transform:none;}}
.is-post>.bsp-scene{display:none;}
.bsp-post-head{display:flex;align-items:center;gap:11px;padding:12px 14px;}
.bsp-avatar{width:36px;height:36px;border-radius:50%;flex:0 0 auto;
  background:conic-gradient(from 210deg,var(--coral),#D8A72A,var(--aqua),var(--coral));
  border:2.5px solid #fff;outline:2px solid var(--coral);}
.bsp-post-who{display:flex;flex-direction:column;line-height:1.25;}
.bsp-post-who strong{font-family:var(--display);font-size:.92rem;color:var(--ink);}
.bsp-post-who span{font-size:.78rem;color:var(--muted-2);}
.bsp-post-img{aspect-ratio:1/1;background:#EFEBE1;}
.bsp-post-img .bsp-scene{border-radius:0;height:100%;}
.bsp-post-img .bsp-cutlery{opacity:.35;}
.bsp-post-actions{display:flex;gap:14px;padding:11px 14px 0;color:var(--ink);}
.bsp-heart{color:var(--ink);transition:color .25s,transform .25s;}
.is-liked .bsp-heart{color:#E0245E;animation:bspHeart .55s cubic-bezier(.2,.7,.2,1);}
.is-liked .bsp-heart svg{fill:#E0245E;stroke:#E0245E;}
@keyframes bspHeart{0%{transform:scale(1);}40%{transform:scale(1.45);}70%{transform:scale(.92);}100%{transform:scale(1);}}
.bsp-likes{display:block;padding:8px 14px 0;font-family:var(--display);font-weight:800;font-size:.95rem;
  color:var(--ink);font-variant-numeric:tabular-nums;}
.bsp-post-cap{margin:6px 0 0;padding:0 14px;font-size:.92rem;color:var(--ink);line-height:1.5;}
.bsp-post-cap strong{font-family:var(--display);}
.bsp-comments{padding:4px 14px 16px;display:flex;flex-direction:column;gap:5px;}
.bsp-comment{margin:0;font-size:.9rem;color:var(--muted);line-height:1.45;
  opacity:0;transform:translateY(8px);transition:opacity .45s,transform .45s cubic-bezier(.2,.7,.2,1);}
.bsp-comment.show{opacity:1;transform:none;}
.bsp-comment strong{font-family:var(--display);color:var(--ink);font-weight:700;}
@media (max-width: 900px){
  .bsp-snap .wrap{grid-template-columns:minmax(0,1fr);gap:30px;}
  .bsp-snap{padding:9vh 0;}
}
@media (prefers-reduced-motion: reduce){
  .is-aiming .bsp-scene,.is-flash .bsp-flash,.is-liked .bsp-heart{animation:none;}
}

/* Every surface that carries the brand — editorial index rows */
.bsp-index{padding-top:10px;}
.bsp-index-rows{margin-top:18px;border-top:1.5px solid rgba(38,46,56,.14);}
.bsp-irow{display:grid;grid-template-columns:minmax(150px,.34fr) 1fr auto;gap:22px;align-items:center;
  padding:26px 4px;border-bottom:1.5px solid rgba(38,46,56,.14);text-decoration:none;transition:var(--t);}
.bsp-irow strong{font-family:var(--display);font-weight:800;letter-spacing:-.02em;color:var(--ink);
  font-size:clamp(1.5rem,3vw,2.2rem);}
.bsp-irow span{color:var(--muted);line-height:1.6;font-size:.98rem;max-width:52ch;}
.bsp-irow-arrow{color:var(--coral);opacity:0;transform:translateX(-8px);transition:var(--t);}
.bsp-irow:hover{background:#fff;padding-left:14px;padding-right:14px;}
.bsp-irow:hover .bsp-irow-arrow{opacity:1;transform:none;}
.bsp-irow:hover strong{color:var(--aqua-deep);}
@media (max-width: 760px){.bsp-irow{grid-template-columns:minmax(0,1fr);gap:6px;}.bsp-irow-arrow{display:none;}}

/* Homepage: Bespoke Studio band (the one dark act among the paper sections) */
.hxbsp{background:radial-gradient(1100px 500px at 82% 10%,#2A3340 0%,var(--ink) 62%);color:#fff;
  padding:58px 0;margin:34px 0;}
.hxbsp-in{display:flex;align-items:center;justify-content:space-between;gap:34px;flex-wrap:wrap;}
.hxbsp-strap{font-family:var(--display);font-size:.72rem;font-weight:800;letter-spacing:.24em;
  text-transform:uppercase;color:var(--aqua);}
.hxbsp-h{font-family:var(--display);font-weight:800;letter-spacing:-.025em;color:#fff;
  font-size:clamp(1.9rem,4vw,3rem);margin:10px 0 10px;line-height:1.08;}
.hxbsp-h em{font-style:italic;color:var(--aqua);}
.hxbsp-sub{max-width:56ch;color:#C8D2DC;line-height:1.65;margin:0;}
.hxbsp-cta{flex:0 0 auto;font-size:1rem;padding:14px 26px;}
@media (max-width: 760px){.hxbsp{padding:44px 0;}}

/* ── Blue Seal configurator (one machine, many builds) ── */
.bs-cfg{margin:14px 0 6px;border:1px solid var(--line);border-radius:14px;padding:14px 14px 12px;background:linear-gradient(180deg,rgba(78,205,197,.07),rgba(78,205,197,.015))}
.bs-cfg-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px}
.bs-cfg-title{font:700 .95rem/1 'Outfit',sans-serif;color:var(--navy);display:inline-flex;gap:6px;align-items:center}
.bs-cfg-n{font:600 .68rem/1.2 'Inter',sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#178f86;text-align:right}
.bs-cfg-row{display:flex;gap:10px;align-items:flex-start;margin-top:10px}
.bs-cfg-axis{flex:0 0 58px;font:700 .66rem/1.2 'Inter',sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#8b8f96;padding-top:12px}
.bs-cfg-tiles{display:flex;flex-wrap:wrap;gap:8px;flex:1;min-width:0}
.bs-cfg-tile{display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 10px 7px;min-width:88px;border:1.5px solid var(--line);border-radius:11px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s;-webkit-tap-highlight-color:transparent}
.bs-cfg-tile:hover:not(:disabled){border-color:rgba(78,205,197,.65)}
.bs-cfg-tile.on{border-color:var(--aqua);box-shadow:0 8px 20px -14px rgba(23,143,134,.9);cursor:default}
.bs-cfg-tile.off{opacity:.38;cursor:not-allowed}
.bs-cfg-ic{color:var(--navy)}.bs-cfg-ic svg{display:block}
.bs-cfg-ic .bs-hatch{stroke-width:1.1;opacity:.75}
.bs-cfg-lbl{font:600 .76rem/1.15 'Inter',sans-serif;color:var(--ink);text-align:center}
.bs-cfg-sub{font:600 .68rem/1 'Inter',sans-serif;color:#8b8f96;font-variant-numeric:tabular-nums}
.bs-cfg-sub.cur{color:#178f86}
.bs-card-cfgn{position:absolute;left:10px;bottom:10px;background:var(--navy);color:#fff;font:700 .64rem/1 'Inter',sans-serif;letter-spacing:.05em;text-transform:uppercase;padding:5px 8px;border-radius:999px}
.bs-from{font:600 .7rem/1 'Inter',sans-serif;color:#8b8f96;margin-right:4px}
.bs-card-axes{color:#178f86}
@media(max-width:560px){.bs-cfg-axis{flex-basis:100%;padding-top:0}.bs-cfg-row{flex-wrap:wrap;margin-top:12px}.bs-cfg-tile{min-width:78px;flex:1}}

/* ── Blue Seal buy-box accessories ("Complete the setup") ── */
.bs-bacc{margin:14px 0 6px;border:1px solid var(--line);border-radius:14px;padding:12px 12px 10px;background:#fff}
.bs-bacc-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}
.bs-bacc-title{font:700 .92rem/1 'Outfit',sans-serif;color:var(--navy);display:inline-flex;gap:6px;align-items:center}
.bs-bacc-count{font:600 .66rem/1.2 'Inter',sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#178f86}
.bs-bacc-list{display:flex;flex-direction:column;gap:6px}
.bs-bacc-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 10px;border:1.5px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s;-webkit-tap-highlight-color:transparent}
.bs-bacc-row:hover{border-color:rgba(78,205,197,.6)}
.bs-bacc-row.on{border-color:var(--aqua);background:rgba(78,205,197,.07)}
.bs-bacc-check{flex:none;width:19px;height:19px;border-radius:6px;border:2px solid rgba(38,46,56,.28);display:grid;place-items:center;color:#fff;transition:background .15s,border-color .15s}
.bs-bacc-check svg{transform:scale(0);transition:transform .18s cubic-bezier(.3,1.5,.5,1)}
.bs-bacc-row.on .bs-bacc-check{background:var(--aqua);border-color:var(--aqua)}
.bs-bacc-row.on .bs-bacc-check svg{transform:scale(1)}
.bs-bacc-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.bs-bacc-name{font:600 .84rem/1.25 'Inter',sans-serif;color:var(--ink);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.bs-bacc-code{font:500 .68rem/1 'Inter',sans-serif;color:#9aa0a8;font-variant-numeric:tabular-nums}
.bs-bacc-right{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.bs-bacc-price{font:700 .9rem/1 'Outfit',sans-serif;color:var(--ink);font-variant-numeric:tabular-nums}
.bs-bacc-qty{display:inline-flex;align-items:center;gap:1px;background:var(--paper,#FAF7F1);border:1px solid rgba(38,46,56,.12);border-radius:8px;padding:1px}
.bs-bacc-step{width:22px;height:22px;border:0;background:transparent;color:var(--ink);font-weight:700;border-radius:6px;cursor:pointer;display:grid;place-items:center}
.bs-bacc-step:hover{background:rgba(78,205,197,.18)}
.bs-bacc-q{min-width:20px;text-align:center;font:600 .8rem/1 'Inter',sans-serif;font-variant-numeric:tabular-nums}
.bs-bacc-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}
.bs-bacc-sum{display:flex;flex-direction:column;gap:1px}
.bs-bacc-n{font:600 .68rem/1 'Inter',sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#8b8f96}
.bs-bacc-tot{display:flex;align-items:baseline;gap:5px}
.bs-bacc-total{font:800 1.15rem/1 'Outfit',sans-serif;color:var(--ink);font-variant-numeric:tabular-nums}
.bs-bacc-add{padding:10px 16px;font-size:.9rem}
.bs-bacc-note{margin:8px 2px 0;font:500 .78rem/1.4 'Inter',sans-serif;color:#178f86;display:flex;gap:6px;align-items:center}

/* ── Foster brand world (.fs-): deep green + brushed steel ── */
:root{--fs-green:#0B3D2E;--fs-green-2:#11553F;--fs-mint:#7FD1B9;--fs-steel:#E8ECEE;--fs-steel-2:#D5DBDF}
.fs-hero{background:linear-gradient(170deg,#F7FAF9 0%,#EEF4F1 70%,#E8F0EC 100%);color:var(--ink,#262E38);padding:56px 0 46px;position:relative;overflow:hidden;border-bottom:1px solid var(--fs-steel-2)}
.fs-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:4px;background:linear-gradient(90deg,var(--fs-green),var(--fs-mint))}
.fs-hero-in{display:flex;align-items:center;gap:40px;justify-content:space-between}
.fs-hero-copy{max-width:60ch}
.fs-logochip{display:inline-flex;background:#fff;border:1px solid var(--fs-steel-2);border-radius:10px;padding:8px 14px;margin-bottom:16px;box-shadow:0 4px 14px -10px rgba(11,61,46,.4)}
.fs-logochip img{height:26px;display:block}
.fs-h1{font:800 clamp(2rem,4.6vw,3.2rem)/1.06 'Outfit',sans-serif;margin:0 0 12px;letter-spacing:-.01em;color:var(--ink,#262E38);text-wrap:balance}
.fs-h1 em{font-style:italic;color:var(--fs-green-2)}
.fs-lead{color:#4d5a54;line-height:1.65;margin:0 0 18px;max-width:52ch}
.fs-hero-stats{display:flex;gap:22px;flex-wrap:wrap;margin:0 0 22px;color:#5a6660;font-size:.9rem}
.fs-hero-stats strong{color:var(--fs-green-2);font:800 1.05rem 'Outfit',sans-serif;margin-right:5px}
.fs-hero-cta{display:flex;gap:10px;flex-wrap:wrap}
.fs-add{background:var(--fs-green);color:#fff;border:0}
.fs-hero .fs-add{background:var(--fs-green);color:#fff}
.fs-add:hover{filter:brightness(1.08)}
.fs-ghost{background:transparent;border-color:rgba(255,255,255,.4);color:#fff}
.fs-ghost:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}
.fs-hero-art{color:var(--fs-green-2);flex:none;opacity:.9}
.fs-hero-art svg{display:block;max-width:100%;height:auto}
.fs-nav{position:sticky;top:var(--header-h,64px);z-index:40;background:#fff;border-bottom:1px solid var(--fs-steel-2);box-shadow:0 6px 18px -14px rgba(11,61,46,.5)}
.fs-nav-row{display:flex;gap:4px;overflow-x:auto;padding:0 16px;-webkit-overflow-scrolling:touch}
.fs-nav-link{flex:none;padding:12px 12px;font:600 .82rem/1 'Inter',sans-serif;color:#41504a;border-bottom:2px solid transparent;white-space:nowrap}
.fs-nav-link:hover{color:var(--fs-green);border-bottom-color:var(--fs-mint)}
.fs-band{padding:52px 0 8px;scroll-margin-top:calc(var(--header-h,64px) + 52px)}
.fs-band:nth-of-type(even) .wrap>.fs-strap{color:#178f86}
.fs-strap{display:block;font:700 .7rem/1 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--fs-green-2);margin-bottom:8px}
.fs-band-title{font:800 clamp(1.5rem,3vw,2.1rem)/1.1 'Outfit',sans-serif;color:var(--ink);margin:0 0 8px;letter-spacing:-.01em}
.fs-band-blurb{color:#5d6570;max-width:64ch;margin:0 0 22px;line-height:1.6}
.fs-cfg{display:grid;grid-template-columns:minmax(280px,5fr) 7fr;gap:28px;background:#fff;border:1px solid var(--fs-steel-2);border-radius:18px;padding:24px;box-shadow:0 22px 48px -34px rgba(11,61,46,.55)}
.fs-cfg-left{display:flex;flex-direction:column;align-items:center;gap:14px;background:linear-gradient(180deg,#FBFCFC,var(--fs-steel));border:1px solid var(--fs-steel-2);border-radius:14px;padding:18px;align-self:start}
.fs-cfg-img{width:100%;max-width:300px;aspect-ratio:1;display:grid;place-items:center}
.fs-cfg-photo{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}
.fs-elev{border:0;background:transparent;color:var(--fs-green);cursor:pointer;padding:6px;border-radius:10px;transition:transform .18s ease,background .18s}
.fs-elev:hover{background:rgba(127,209,185,.14);transform:scale(1.02)}
.fs-elev-static{cursor:default}.fs-elev-static:hover{background:transparent;transform:none}
.fs-elev svg{display:block;max-width:100%;height:auto}
.fs-svg-top{fill:rgba(127,209,185,.25)}
.fs-code{font:600 .74rem/1 'Inter',sans-serif;color:#7c8880;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.fs-steps{display:flex;flex-direction:column;gap:14px}
.fs-axis{display:flex;gap:12px;align-items:flex-start}
.fs-axis-lbl{flex:0 0 118px;font:700 .68rem/1.3 'Inter',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#8b968f;padding-top:12px}
.fs-axis-tiles{display:flex;flex-wrap:wrap;gap:8px;flex:1;min-width:0}
.fs-tile{display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 12px 7px;min-width:92px;border:1.5px solid var(--fs-steel-2);border-radius:11px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s;-webkit-tap-highlight-color:transparent}
.fs-tile:hover:not(:disabled){border-color:var(--fs-mint)}
.fs-tile.on{border-color:var(--fs-green);box-shadow:0 8px 20px -14px rgba(11,61,46,.85);cursor:default}
.fs-tile.off{opacity:.38;cursor:not-allowed}
.fs-tile-svg{color:var(--fs-green)}.fs-tile-svg svg{display:block}
.fs-tile-lbl{font:600 .78rem/1.15 'Inter',sans-serif;color:var(--ink);text-align:center}
.fs-tile-sub{font:600 .67rem/1.1 'Inter',sans-serif;color:#67736c;font-variant-numeric:tabular-nums;text-align:center}
.fs-tile.on .fs-tile-sub{color:var(--fs-green-2)}
.fs-opt{flex-direction:row;gap:8px;padding:9px 13px;align-items:center}
.fs-opt .fs-tile-sub{color:#178f86}
.fs-opt-check{width:18px;height:18px;border-radius:6px;border:2px solid rgba(38,46,56,.28);display:grid;place-items:center;color:#fff;flex:none;transition:background .15s,border-color .15s}
.fs-opt.on .fs-opt-check{background:var(--fs-green);border-color:var(--fs-green)}
.fs-opt .fs-opt-check svg{transform:scale(0);transition:transform .18s cubic-bezier(.3,1.5,.5,1)}
.fs-opt.on .fs-opt-check svg{transform:scale(1)}
.fs-cfg-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding-top:16px;border-top:1px solid var(--fs-steel-2);flex-wrap:wrap}
.fs-buy{display:flex;flex-direction:column;gap:3px}
.fs-buy-price{display:flex;align-items:baseline;gap:7px}
.fs-price{font:800 1.7rem/1 'Outfit',sans-serif;color:var(--ink);font-variant-numeric:tabular-nums}
.fs-price-sm{font:700 1.05rem/1 'Outfit',sans-serif;color:var(--ink);font-variant-numeric:tabular-nums}
.fs-vat{font-size:.7rem}
.fs-buy-meta{font:500 .8rem/1.4 'Inter',sans-serif;color:#5d6570;max-width:52ch}
.fs-addwrap .fs-add{padding:13px 22px;font-size:.95rem;border-radius:12px}
.fs-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.fs-card{background:#fff;border:1px solid var(--fs-steel-2);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .18s,transform .18s}
.fs-card:hover{box-shadow:0 16px 34px -24px rgba(11,61,46,.6);transform:translateY(-2px)}
.fs-card-media{aspect-ratio:1.15;background:linear-gradient(180deg,#FBFCFC,var(--fs-steel));display:grid;place-items:center;padding:14px}
.fs-card-img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}
.fs-card-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px;flex:1}
.fs-card-name{font:600 .88rem/1.3 'Inter',sans-serif;color:var(--ink);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fs-card-dims{font:500 .72rem/1 'Inter',sans-serif;color:#8b968f;font-variant-numeric:tabular-nums}
.fs-card-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px}
.fs-card-foot .fs-add{padding:8px 12px;font-size:.78rem;border-radius:9px}
.fs-card-price{display:flex;flex-direction:column}
.fs-why{background:linear-gradient(180deg,var(--fs-steel),#fff);border-top:1px solid var(--fs-steel-2);margin-top:44px;padding:34px 0}
.fs-why-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.fs-why-item{display:flex;gap:11px;align-items:flex-start}
.fs-why-ic{color:var(--fs-green);flex:none;padding-top:2px}
.fs-why-item strong{display:block;font:700 .9rem/1.3 'Outfit',sans-serif;color:var(--ink)}
.fs-why-item span span{font:500 .8rem/1.45 'Inter',sans-serif;color:#5d6570}
@media (max-width:860px){
  .fs-hero-in{flex-direction:column;align-items:flex-start;gap:22px}
  .fs-hero-art{align-self:center}
  .fs-cfg{grid-template-columns:minmax(0,1fr);padding:16px}
  .fs-axis{flex-direction:column;gap:6px}
  .fs-axis-lbl{padding-top:0}
  .fs-cfg-foot{flex-direction:column;align-items:stretch}
  .fs-addwrap .fs-add{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){.fs-elev,.fs-card,.fs-tile,.fs-opt-check svg{transition:none}}

/* Basket line factory-option note (drawer + basket page) */
.qd-linenote,.ql-note{font:600 .72rem/1.3 'Inter',sans-serif;color:#178f86;margin:1px 0 2px}

/* ── Foster v2: media stage, spec strip, £0 options panel, 0% finance ─────── */
.fs-stage{position:relative;background:#fff;border:1px solid var(--fs-steel-2);border-radius:16px;overflow:hidden;min-height:280px;display:flex;align-items:center;justify-content:center;padding:18px}
.fs-stage .fs-cfg-img{display:flex;align-items:center;justify-content:center;width:100%}
.fs-stage .fs-cfg-photo{mix-blend-mode:multiply}
.fs-stage .fs-elev{display:flex;align-items:center;justify-content:center;width:100%;background:none;border:0;color:var(--fs-green);cursor:pointer;padding:6px}
.fs-stage .fs-elev-static{cursor:default}
.fs-stage .fs-elev svg,.fs-stage .fs-cfg-img img{max-width:100%;height:auto;max-height:340px}
.fs-seg{position:absolute;top:10px;right:10px;z-index:3;display:inline-flex;background:var(--fs-steel);border:1px solid var(--fs-steel-2);border-radius:999px;padding:2px;gap:2px}
.fs-seg-btn{border:0;background:none;font:700 .68rem/1 'Inter',sans-serif;letter-spacing:.04em;text-transform:uppercase;color:#4d5a54;padding:7px 12px;border-radius:999px;cursor:pointer;transition:background .15s,color .15s}
.fs-seg-btn.on{background:var(--fs-green);color:#fff}
.fs-dim{opacity:.85}
.fs-dim line{stroke-width:.9}
.fs-specbox{margin-top:10px}
.fs-spec-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}
.fs-chip{font:600 .68rem/1 'Inter',sans-serif;letter-spacing:.02em;color:var(--fs-green-2);background:var(--fs-steel);border:1px solid var(--fs-steel-2);border-radius:999px;padding:5px 9px;font-variant-numeric:tabular-nums;white-space:nowrap}
.fs-spec-links{display:flex;gap:14px;margin-top:9px;flex-wrap:wrap}
.fs-spec-link{font:700 .74rem/1 'Inter',sans-serif;color:var(--fs-green-2);text-decoration:none;border-bottom:1.5px solid var(--fs-mint);padding-bottom:2px}
.fs-spec-link:hover{color:var(--fs-green);border-bottom-color:var(--fs-green)}

/* £0 factory options: a machined spec panel, not checkboxes */
.fs-inc{border:1px solid var(--fs-steel-2);border-radius:14px;background:linear-gradient(180deg,#fff,#FAFCFB);overflow:hidden}
.fs-inc-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:11px 14px 9px;border-bottom:1px solid var(--fs-steel)}
.fs-inc-note{font:600 .68rem/1 'Inter',sans-serif;color:#67736c;letter-spacing:.02em}
.fs-inc-row{display:flex;align-items:center;gap:13px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--fs-steel);padding:13px 14px;cursor:pointer;position:relative;transition:background .15s}
.fs-inc-row:last-child{border-bottom:0}
.fs-inc-row:hover{background:#F4FAF8}
.fs-inc-row::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--fs-green);transform:scaleY(0);transition:transform .18s ease}
.fs-inc-row.on::before{transform:scaleY(1)}
.fs-inc-row.on{background:#F0F8F5}
.fs-inc-glyph{flex:none;width:46px;color:#8a958f;transition:color .15s}
.fs-inc-row.on .fs-inc-glyph{color:var(--fs-green-2)}
.fs-inc-glyph svg{display:block;width:46px;height:auto}
.fs-inc-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.fs-inc-name{font:700 .88rem/1.2 'Outfit',sans-serif;color:var(--ink,#262E38)}
.fs-inc-desc{font:400 .74rem/1.35 'Inter',sans-serif;color:#67736c}
.fs-inc-state{flex:none;display:flex;align-items:center;gap:10px}
.fs-inc-price{font:700 .7rem/1 'Inter',sans-serif;letter-spacing:.05em;text-transform:uppercase;color:#67736c;transition:color .15s}
.fs-inc-row.on .fs-inc-price{color:var(--fs-green-2)}
.fs-inc-toggle{flex:none;width:22px;height:22px;color:#b6c0ba;transition:color .18s}
.fs-inc-row.on .fs-inc-toggle{color:var(--fs-green)}
.fs-inc-tick{stroke-dasharray:14;stroke-dashoffset:14;transition:stroke-dashoffset .22s ease .05s}
.fs-inc-row.on .fs-inc-tick{stroke-dashoffset:0}

/* 0% finance: ribbon, inline line, band */
.fs-fin-badge{display:inline-flex;align-items:center;justify-content:center;font:800 .72rem/1 'Outfit',sans-serif;color:#fff;background:var(--fs-green);border-radius:999px;padding:4px 8px;letter-spacing:.02em}
.fs-fin-badge-lg{font-size:1.15rem;padding:10px 14px;background:var(--fs-green);box-shadow:0 6px 18px -8px rgba(11,61,46,.55)}
.fs-fin-line{display:inline-flex;align-items:center;gap:7px;margin-top:7px;font:600 .76rem/1 'Inter',sans-serif;color:var(--fs-green-2);text-decoration:none}
.fs-fin-line:hover span:last-child{text-decoration:underline}
.fs-fin-ribbon{display:flex;align-items:center;gap:11px;margin-top:18px;padding:11px 14px;border:1px solid rgba(17,85,63,.22);border-radius:12px;background:rgba(127,209,185,.14);color:#2e4a40;font:400 .82rem/1.45 'Inter',sans-serif;text-decoration:none;max-width:560px}
.fs-fin-ribbon .fs-fin-badge{background:var(--fs-green);color:#fff;flex:none}
.fs-fin-ribbon strong{color:var(--fs-green)}
.fs-fin-ribbon u{text-underline-offset:3px;white-space:nowrap}
.fs-fin-ribbon:hover{background:rgba(127,209,185,.14)}
.fs-payrow{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:14px;margin-top:22px}
.fs-pay{position:relative;border:1px solid var(--fs-steel-2);border-radius:16px;background:#fff;padding:22px 20px;display:flex;flex-direction:column;gap:9px;align-items:flex-start}
.fs-pay-hero{background:linear-gradient(145deg,var(--fs-green),var(--fs-green-2));border-color:var(--fs-green);color:#E8F4EF}
.fs-pay-hero .fs-pay-t{color:#fff}
.fs-pay-hero .fs-pay-d{color:#CDE8DE}
.fs-pay-flag{position:absolute;top:-10px;left:18px;font:800 .62rem/1 'Inter',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--fs-green);background:var(--fs-mint);border-radius:999px;padding:5px 10px}
.fs-pay-ic{color:var(--fs-green-2)}
.fs-pay-t{font:700 1.05rem/1.2 'Outfit',sans-serif;color:var(--ink,#262E38);margin:0}
.fs-pay-d{font:400 .82rem/1.5 'Inter',sans-serif;color:#5a6660;margin:0}
.fs-pay-terms{font:400 .7rem/1.45 'Inter',sans-serif;color:#A9D4C4;margin:0}
.fs-pay-foot{font:700 .68rem/1 'Inter',sans-serif;letter-spacing:.05em;text-transform:uppercase;color:#8a958f;margin-top:auto;padding-top:6px}
.fs-pay-cta{display:flex;align-items:center;gap:12px;margin-top:6px;flex-wrap:wrap}
.fs-pay-link{font:600 .78rem/1 'Inter',sans-serif;color:#CDE8DE;text-decoration:underline;text-underline-offset:3px}
.fs-pay-link:hover{color:#fff}
.fs-card-name a{color:inherit;text-decoration:none}
.fs-card-name a:hover{color:var(--fs-green-2);text-decoration:underline;text-underline-offset:2px}
@media (max-width:860px){
  .fs-payrow{grid-template-columns:1fr}
  .fs-stage{min-height:220px}
  .fs-fin-ribbon{margin-left:auto;margin-right:auto}
}
@media (prefers-reduced-motion:reduce){
  .fs-inc-tick,.fs-inc-row::before{transition:none}
}
.pdp-fin-line{display:block;text-decoration:none;color:#0e7a72}
.pdp-fin-line:hover{text-decoration:underline;text-underline-offset:3px}

/* ── Foster Gamko Coldstores (.fcs-): glacial world, assembling iso room ───── */
.fcs-hero{background:linear-gradient(148deg,#1F2730 0%,#262E38 55%,#28414B 100%);color:#EAF3F4;padding:64px 0 56px;position:relative;overflow:hidden}
.fcs-hero::after{content:'';position:absolute;inset:auto 0 0 0;height:4px;background:linear-gradient(90deg,var(--aqua,#4ECDC5),#A8DEED)}
.fcs-hero-in{display:flex;gap:44px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.fcs-hero-copy{max-width:600px}
.fcs-hero-sub{padding:46px 0 38px}
.fcs-eyebrow{font:800 .7rem/1 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--aqua,#4ECDC5);display:inline-block;margin-bottom:14px}
.fcs-h1{font:800 clamp(2rem,4.6vw,3.1rem)/1.06 'Outfit',sans-serif;color:#fff;margin:0 0 14px;text-wrap:balance}
.fcs-h1 em{font-style:italic;color:var(--aqua,#4ECDC5)}
.fcs-lead{font:400 1.02rem/1.6 'Inter',sans-serif;color:#C3CFD4;max-width:56ch;margin:0 0 18px}
.fcs-stats span strong{color:var(--aqua,#4ECDC5)}
.fcs-hero-art{flex:none;max-width:480px}
.fcs-hero-art svg{display:block;max-width:100%;height:auto}
.fcs-crumb{font:600 .76rem/1 'Inter',sans-serif;color:#9CC6CB;margin-bottom:14px}
.fcs-crumb a{color:#C6E2E6;text-decoration:none}
.fcs-crumb a:hover{text-decoration:underline}

/* Iso room fills */
.fcs-iso .fcs-shadow{fill:rgba(8,32,38,.16)}
.fcs-iso .fcs-floor-face{fill:#B9D9E2}
.fcs-iso .fcs-face-l{fill:#DFF0F5}
.fcs-iso .fcs-face-r{fill:#C9E4EC}
.fcs-iso .fcs-face-t{fill:#F2FAFC}
.fcs-iso .fcs-seams line{stroke:rgba(21,74,88,.24);stroke-width:1}
.fcs-iso .fcs-door-face{fill:#F7FCFD;stroke:rgba(21,74,88,.4);stroke-width:1.2}
.fcs-iso .fcs-door-handle{stroke:#0B3D2E;stroke-width:2.6;stroke-linecap:round}
.fcs-iso .fcs-display{fill:#0B3D2E}
.fcs-iso .fcs-display-txt{font:700 11px 'Outfit',sans-serif;fill:#7FD1B9}
.fcs-iso .fcs-cond-top{fill:#E6EEF0}
.fcs-iso .fcs-cond-l{fill:#B9C9CD}
.fcs-iso .fcs-cond-r{fill:#9FB3B8}
.fcs-iso .fcs-fan-ring{fill:none;stroke:#33474C;stroke-width:1.6}
.fcs-iso .fcs-fan-blade{stroke:#33474C;stroke-width:1.6;stroke-linecap:round}
.fcs-iso .fcs-canopy{fill:rgba(213,219,223,.9);stroke:#8B9CA1;stroke-width:1}
.fcs-iso .fcs-canopy-leg{stroke:#8B9CA1;stroke-width:2.4}
.fcs-iso .fcs-mist{fill:rgba(168,222,237,.35)}
.fcs-iso .fcs-mist-deep{fill:rgba(168,222,237,.55)}
.fcs-iso .fcs-flake{font-size:13px;fill:#A8DEED;opacity:.7}
.fcs-iso .fcs-louvre{stroke:rgba(51,71,76,.36);stroke-width:1.1;stroke-linecap:round}
.fcs-iso .fcs-cond-leg{stroke:#8B9CA1;stroke-width:2.2;stroke-linecap:round}
.fcs-iso .fcs-pipe-lag{fill:none;stroke:#9DB2B8;stroke-width:5.4;stroke-linecap:round;stroke-linejoin:round}
.fcs-iso .fcs-pipe{fill:none;stroke:#E7EFF1;stroke-width:3.6;stroke-linecap:round;stroke-linejoin:round}
.fcs-iso .fcs-tag-txt{font:700 11px 'Outfit',sans-serif;fill:#33474C;letter-spacing:.01em;
  paint-order:stroke;stroke:#F4FAFC;stroke-width:3px;stroke-linejoin:round}

/* Assembly + life */
.fcs-anim .fcs-floor,.fcs-anim .fcs-wall,.fcs-anim .fcs-roof,.fcs-anim .fcs-door,.fcs-anim .fcs-cond,.fcs-anim .fcs-seams,.fcs-anim .fcs-roofover{opacity:0;animation:fcs-assemble .6s cubic-bezier(.2,.7,.3,1) forwards}
.fcs-anim .fcs-floor{animation-delay:.05s}
.fcs-anim .fcs-wall-l{animation-delay:.22s}
.fcs-anim .fcs-wall-r{animation-delay:.38s}
.fcs-anim .fcs-seams{animation-delay:.5s}
.fcs-anim .fcs-door{animation-delay:.62s}
.fcs-anim .fcs-roof{animation-delay:.78s;animation-name:fcs-drop}
.fcs-anim .fcs-cond{animation-delay:.98s;animation-name:fcs-drop}
.fcs-anim .fcs-roofover{animation-delay:1.15s;animation-name:fcs-drop}
@keyframes fcs-assemble{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes fcs-drop{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:none}}
.fcs-fan{animation:fcs-spin 2.4s linear infinite}
@keyframes fcs-spin{to{transform:rotate(360deg)}}
.fcs-flake{animation:fcs-drift 6s ease-in-out infinite}
.fcs-flake-2{animation-delay:2s}
.fcs-flake-3{animation-delay:4s}
@keyframes fcs-drift{0%,100%{transform:translateY(0);opacity:.25}50%{transform:translateY(12px);opacity:.85}}
.fcs-mist{animation:fcs-breathe 4.5s ease-in-out infinite}
@keyframes fcs-breathe{0%,100%{opacity:.3}50%{opacity:.75}}

/* Trust + ranges + process */
.fcs-trust{background:var(--fs-steel,#E8ECEE);border-bottom:1px solid var(--fs-steel-2,#D5DBDF)}
.fcs-trust-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:26px 0}
.fcs-trust-item{display:flex;gap:11px;align-items:flex-start}
.fcs-trust-ic{color:var(--fs-green-2,#11553F);flex:none;margin-top:2px}
.fcs-trust-item strong{display:block;font:700 .88rem/1.25 'Outfit',sans-serif;color:var(--ink,#262E38)}
.fcs-trust-item span:last-child span{display:block}
.fcs-trust-item div span{font:400 .76rem/1.45 'Inter',sans-serif;color:#5a6660}
.fcs-ranges{padding:56px 0 30px}
.fcs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:24px}
.fcs-grid-mini{grid-template-columns:repeat(3,1fr)}
.fcs-tile{display:flex;gap:16px;align-items:stretch;border:1px solid var(--fs-steel-2,#D5DBDF);border-radius:18px;background:#fff;padding:18px;text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease,border-color .18s}
.fcs-tile:hover{transform:translateY(-3px);box-shadow:0 18px 34px -22px rgba(12,59,65,.45);border-color:#A8DEED}
.fcs-tile-art{flex:none;width:150px;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#F2FAFC,#E2F1F6);border-radius:12px;padding:8px}
.fcs-tile-art svg{max-width:100%;height:auto}
.fcs-tile-body{display:flex;flex-direction:column;gap:6px;min-width:0}
.fcs-tile-strap{font:800 .64rem/1 'Inter',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#0E6E7E}
.fcs-tile-name{font:800 1.3rem/1.1 'Outfit',sans-serif;color:var(--ink,#262E38);margin:0}
.fcs-tile-lead{font:400 .82rem/1.5 'Inter',sans-serif;color:#5a6660;margin:0}
.fcs-chiprow{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.fcs-tile-cta{display:inline-flex;align-items:center;gap:6px;font:700 .8rem/1 'Inter',sans-serif;color:var(--fs-green-2,#11553F);margin-top:auto;padding-top:8px}
.fcs-tile:hover .fcs-tile-cta{text-decoration:underline;text-underline-offset:3px}
.fcs-process{padding:34px 0 52px}
.fcs-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:22px;counter-reset:fcs}
.fcs-step{position:relative;border:1px solid var(--fs-steel-2,#D5DBDF);border-radius:14px;background:#fff;padding:18px 16px 16px;display:flex;flex-direction:column;gap:5px}
.fcs-step-n{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:999px;background:var(--navy,#262E38);color:var(--aqua,#4ECDC5);font:800 .8rem/1 'Outfit',sans-serif}
.fcs-step strong{font:700 .95rem/1.2 'Outfit',sans-serif;color:var(--ink,#262E38)}
.fcs-step span:last-child{font:400 .78rem/1.5 'Inter',sans-serif;color:#5a6660}
.fcs-family{background:var(--navy,#262E38);color:#C3CFD4;padding:20px 0}
.fcs-family-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font:600 .84rem/1 'Inter',sans-serif}
.fcs-family-lead{color:#8FBCAE}
.fcs-family-link{color:#fff;text-decoration:underline;text-underline-offset:3px}
.fcs-family-link:hover{color:var(--aqua,#4ECDC5)}
.fcs-family-here{color:var(--aqua,#4ECDC5);font-weight:800}

/* Product-page configurator bits */
.fcs-cfg-art{background:linear-gradient(160deg,#F2FAFC,#E2F1F6);border:1px solid var(--fs-steel-2,#D5DBDF);border-radius:16px;padding:18px;display:flex;align-items:center;justify-content:center;min-height:300px}
.fcs-cfg-art svg{max-width:100%;height:auto;max-height:360px}
.fcs-art-note{font:600 .7rem/1 'Inter',sans-serif;color:#67736c;text-align:center;margin-top:8px;letter-spacing:.03em}
.fcs-dim{display:inline-flex;align-items:center;gap:9px;border:1.5px solid var(--fs-steel-2,#D5DBDF);border-radius:12px;background:#fff;padding:10px 13px}
.fcs-dim-lbl{font:700 .68rem/1 'Inter',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#67736c}
.fcs-dim-val{font:800 1rem/1 'Outfit',sans-serif;color:var(--ink,#262E38);min-width:52px;text-align:center;font-variant-numeric:tabular-nums}
.fcs-stepbtn{width:30px;height:30px;border-radius:999px;border:1.5px solid var(--fs-steel-2,#D5DBDF);background:#fff;font:700 1rem/1 'Inter',sans-serif;color:var(--fs-green-2,#11553F);cursor:pointer;transition:background .15s,border-color .15s}
.fcs-stepbtn:hover{background:#F0F8F5;border-color:var(--fs-mint,#7FD1B9)}
.fcs-sum{border:1px solid var(--fs-steel-2,#D5DBDF);border-radius:16px;background:linear-gradient(180deg,#fff,#F7FBFA);padding:18px;margin-top:16px}
.fcs-sum-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.fcs-sum-head strong{font:800 1rem/1 'Outfit',sans-serif;color:var(--ink,#262E38)}
.fcs-sum-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.fcs-sum-list li{font:500 .82rem/1.45 'Inter',sans-serif;color:#3d4844;padding-left:16px;position:relative}
.fcs-sum-list li::before{content:'·';position:absolute;left:4px;color:var(--fs-mint,#7FD1B9);font-weight:800}
.fcs-sum-note{font:400 .74rem/1.5 'Inter',sans-serif;color:#67736c;margin:12px 0 4px}
.fcs-facts{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:11px 26px}
.fcs-facts li{display:flex;gap:9px;align-items:flex-start;font:500 .86rem/1.5 'Inter',sans-serif;color:#3d4844}
.fcs-fact-ic{color:var(--fs-green-2,#11553F);flex:none;margin-top:3px}
@media (max-width:860px){
  .fcs-hero-in{flex-direction:column;align-items:flex-start}
  .fcs-hero-art{max-width:100%;align-self:center}
  .fcs-trust-row{grid-template-columns:1fr 1fr}
  .fcs-grid,.fcs-grid-mini{grid-template-columns:1fr}
  .fcs-steps{grid-template-columns:1fr 1fr}
  .fcs-facts{grid-template-columns:1fr}
  .fcs-tile-art{width:112px}
}
@media (prefers-reduced-motion:reduce){
  .fcs-anim .fcs-floor,.fcs-anim .fcs-wall,.fcs-anim .fcs-roof,.fcs-anim .fcs-door,.fcs-anim .fcs-cond,.fcs-anim .fcs-seams,.fcs-anim .fcs-roofover{animation:none;opacity:1}
  .fcs-fan,.fcs-flake,.fcs-mist{animation:none}
  .fcs-tile{transition:none}
}
/* Foster family tiles (Gamko + Coldstores doors) */
.fs-fam{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.fs-fam-tile{display:flex;gap:16px;align-items:center;border:1px solid var(--fs-steel-2,#D5DBDF);border-radius:16px;background:#fff;padding:20px;text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s,border-color .18s}
.fs-fam-tile:hover{transform:translateY(-3px);box-shadow:0 18px 34px -22px rgba(11,61,46,.45);border-color:var(--fs-mint,#7FD1B9)}
.fs-fam-glyph{flex:none;width:76px;color:var(--fs-green-2,#11553F)}
.fs-fam-glyph svg{display:block;width:100%;height:auto}
.fs-fam-name{font:800 1.15rem/1.15 'Outfit',sans-serif;color:var(--ink,#262E38);margin:0 0 4px}
.fs-fam-d{font:400 .8rem/1.5 'Inter',sans-serif;color:#5a6660;margin:0 0 6px}
.fs-fam-cta{display:inline-flex;align-items:center;gap:6px;font:700 .78rem/1 'Inter',sans-serif;color:var(--fs-green-2,#11553F)}
.fs-fam-tile:hover .fs-fam-cta{text-decoration:underline;text-underline-offset:3px}
@media (max-width:860px){.fs-fam{grid-template-columns:1fr}}


/* ── Foster v3: light front door, family doors, model shelf, PDP picker ────── */
.fs-ghost2{background:transparent;border-color:#B9C6C0;color:var(--ink,#262E38)}
.fs-ghost2:hover{border-color:var(--fs-green-2);color:var(--fs-green-2);background:rgba(127,209,185,.1)}
.fs-hero-sub{padding:40px 0 34px}
.fs-h1-sub{font-size:clamp(1.7rem,3.6vw,2.4rem)}
.fs-crumb{font:600 .76rem/1 'Inter',sans-serif;color:#7a867f;margin-bottom:12px}
.fs-crumb a{color:var(--fs-green-2);text-decoration:none}
.fs-crumb a:hover{text-decoration:underline}
.fs-doors{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.fs-door{display:flex;align-items:center;gap:15px;border:1px solid var(--fs-steel-2);border-radius:16px;background:#fff;padding:18px 16px;text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s,border-color .18s;position:relative}
.fs-door:hover{transform:translateY(-3px);box-shadow:0 18px 34px -22px rgba(11,61,46,.4);border-color:var(--fs-mint)}
.fs-door-glyph{flex:none;width:64px;display:flex;align-items:center;justify-content:center;color:var(--fs-green-2)}
.fs-door-glyph svg{max-width:64px;height:auto}
.fs-door-body{min-width:0;flex:1}
.fs-door-name{font:700 1rem/1.2 'Outfit',sans-serif;color:var(--ink,#262E38);margin:0 0 3px}
.fs-door-blurb{font:400 .76rem/1.45 'Inter',sans-serif;color:#67736c;margin:0 0 5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fs-door-meta{font:700 .68rem/1 'Inter',sans-serif;letter-spacing:.03em;color:var(--fs-green-2);font-variant-numeric:tabular-nums}
.fs-door-arrow{flex:none;color:#b6c0ba;transition:color .15s,transform .15s}
.fs-door:hover .fs-door-arrow{color:var(--fs-green-2);transform:translateX(3px)}
.fs-mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.fs-mcard{display:flex;flex-direction:column;border:1px solid var(--fs-steel-2);border-radius:16px;background:#fff;overflow:hidden;text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s,border-color .18s}
.fs-mcard:hover{transform:translateY(-3px);box-shadow:0 18px 34px -22px rgba(11,61,46,.4);border-color:var(--fs-mint)}
.fs-mcard-media{position:relative;background:#fff;display:flex;align-items:center;justify-content:center;padding:16px;min-height:170px}
.fs-mcard-media img{max-width:100%;max-height:160px;object-fit:contain;mix-blend-mode:multiply}
.fs-mcard-builds{position:absolute;top:10px;right:10px;font:800 .64rem/1 'Inter',sans-serif;letter-spacing:.05em;color:var(--fs-green);background:rgba(127,209,185,.25);border:1px solid rgba(17,85,63,.2);border-radius:999px;padding:5px 9px}
.fs-mcard-body{display:flex;flex-direction:column;gap:7px;padding:2px 15px 15px;border-top:1px solid var(--fs-steel)}
.fs-mcard-model{font:800 .64rem/1 'Inter',sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#0E6E7E;margin-top:11px}
.fs-mcard-name{font:700 .98rem/1.25 'Outfit',sans-serif;color:var(--ink,#262E38);margin:0}
.fs-mcard-foot{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:auto;padding-top:6px}
.fs-mcard-from{font:600 .72rem/1 'Inter',sans-serif;color:#67736c}
.fs-mcard-cta{display:inline-flex;align-items:center;gap:5px;font:700 .78rem/1 'Inter',sans-serif;color:var(--fs-green-2)}
.fs-mcard:hover .fs-mcard-cta{text-decoration:underline;text-underline-offset:3px}

/* PDP spec picker: the dropdowns where the build happens */
.pdp-fpick{border:1.5px solid var(--fs-steel-2);border-radius:14px;background:linear-gradient(180deg,#fff,#F7FBF9);padding:14px 15px;margin:14px 0 4px;display:flex;flex-direction:column;gap:10px}
.pdp-fpick-head{display:flex;flex-direction:column;gap:2px}
.pdp-fpick-head strong{font:800 .92rem/1.2 'Outfit',sans-serif;color:var(--ink,#262E38)}
.pdp-fpick-head span{font:400 .72rem/1.4 'Inter',sans-serif;color:#67736c}
.pdp-fpick-row{display:grid;grid-template-columns:112px 1fr;align-items:center;gap:10px}
.pdp-fpick-lbl{font:700 .7rem/1.2 'Inter',sans-serif;letter-spacing:.05em;text-transform:uppercase;color:#67736c}
.pdp-fpick-sel{width:100%;font:600 .86rem/1.2 'Inter',sans-serif;color:var(--ink,#262E38);background:#fff;border:1.5px solid var(--fs-steel-2);border-radius:10px;padding:9px 34px 9px 11px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2311553F' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}
.pdp-fpick-sel:focus{outline:2px solid var(--fs-mint);outline-offset:1px;border-color:var(--fs-green-2)}
.pdp-fpick-opts{display:flex;flex-direction:column;gap:7px;border-top:1px solid var(--fs-steel);padding-top:10px}
.pdp-fpick-opt{display:flex;align-items:center;gap:9px;font:400 .82rem/1.3 'Inter',sans-serif;color:var(--ink,#262E38);cursor:pointer}
.pdp-fpick-opt input{width:17px;height:17px;accent-color:var(--fs-green)}
.pdp-fpick-opt em{font-style:normal;color:#0e7a72;font-weight:600;font-size:.74rem}
.pdp-fpick-note{font:400 .74rem/1.5 'Inter',sans-serif;color:#5a6660;margin:0;background:rgba(127,209,185,.12);border-radius:9px;padding:9px 11px}
@media (max-width:860px){
  .fs-doors{grid-template-columns:1fr}
  .pdp-fpick-row{grid-template-columns:minmax(0,1fr);gap:4px}
}
@media (prefers-reduced-motion:reduce){.fs-door,.fs-mcard{transition:none}}
/* Foster factory drawing in the PDP spec panel */
.pdp-tech{margin:0 0 16px;padding:20px 12px 12px;background:#fff;border:1px solid var(--fs-steel-2,#D5DBDF);border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:8px;color:#33403a}
.pdp-tech-svg{display:flex;justify-content:center;width:100%}
.pdp-tech svg{max-width:100%;height:auto}
.pdp-tech .tfill{fill:rgba(127,209,185,.14)}
.pdp-tech .tdim{color:#8a958f}
.pdp-tech .tnum{font:600 11px 'Inter',sans-serif;fill:#454E5B;stroke:none;font-variant-numeric:tabular-nums}
.pdp-tech .tsub{font:500 9px 'Inter',sans-serif;fill:#8a958f;stroke:none}
.pdp-tech figcaption{font:600 .68rem/1 'Inter',sans-serif;letter-spacing:.05em;text-transform:uppercase;color:#8a958f}

/* ── Foster buy flow, Apple-grade: option cards, monthly line, trust row ───── */
.pdp-fpick{margin:16px 0 4px;display:flex;flex-direction:column;gap:18px}
.fpk-head{display:flex;flex-direction:column;gap:3px}
.fpk-head strong{font:800 1.05rem/1.2 'Outfit',sans-serif;color:var(--ink,#262E38)}
.fpk-head span{font:400 .78rem/1.45 'Inter',sans-serif;color:#6E7480}
.fpk-group{display:flex;flex-direction:column;gap:8px}
.fpk-q{font:700 .72rem/1 'Inter',sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#6E7480;margin:0}
.fpk-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.fpk-card{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;background:#fff;border:1.5px solid #E2E6E4;border-radius:13px;padding:13px 14px;cursor:pointer;transition:border-color .14s,box-shadow .14s,transform .14s;min-height:56px}
.fpk-card:hover{border-color:#B9C6C0;transform:translateY(-1px)}
.fpk-card.on{border-color:var(--fs-green,#0B3D2E);box-shadow:0 0 0 1.5px var(--fs-green,#0B3D2E) inset;cursor:default}
.fpk-card-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.fpk-card-name{font:600 .88rem/1.25 'Inter',sans-serif;color:var(--ink,#262E38)}
.fpk-card-sub{font:400 .72rem/1.35 'Inter',sans-serif;color:#6E7480}
.fpk-card-price{flex:none;font:600 .8rem/1.2 'Inter',sans-serif;color:#6E7480;font-variant-numeric:tabular-nums;text-align:right}
.fpk-card.on .fpk-card-price{color:var(--fs-green-2,#11553F);font-weight:700}
.fpk-card-opt.on{background:#F2FAF7}
.fpk-note{font:400 .76rem/1.5 'Inter',sans-serif;color:#5a6660;margin:0;background:rgba(127,209,185,.12);border-radius:10px;padding:10px 12px}
.pdp-fmo{display:block;font:600 .8rem/1.35 'Inter',sans-serif;color:#0e7a72;margin-top:4px}
.pdp-fmo em{font-style:normal;color:#6E7480;font-weight:400}
.pdp-ftrust{display:flex;flex-wrap:wrap;gap:7px 16px;margin-top:12px;padding-top:12px;border-top:1px solid #ECEFED}
.pdp-ftrust span{display:inline-flex;align-items:center;gap:6px;font:600 .72rem/1.3 'Inter',sans-serif;color:#5a6660}
.pdp-ftrust svg{color:var(--fs-green-2,#11553F);flex:none}
.pdp-fbar{position:fixed;left:0;right:0;bottom:0;z-index:90;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid #E2E6E4;padding:10px 16px calc(10px + env(safe-area-inset-bottom));display:none;align-items:center;justify-content:space-between;gap:14px;transform:translateY(100%);transition:transform .25s ease}
.pdp-fbar.show{transform:none}
.pdp-fbar-info{display:flex;flex-direction:column;min-width:0}
.pdp-fbar-name{font:700 .78rem/1.2 'Outfit',sans-serif;color:var(--ink,#262E38);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}
.pdp-fbar-price{font:800 .95rem/1.2 'Outfit',sans-serif;color:var(--ink,#262E38);font-variant-numeric:tabular-nums}
.pdp-fbar-price em{font-style:normal;font:600 .68rem/1 'Inter',sans-serif;color:#0e7a72;margin-left:6px}
.pdp-fbar .btn{padding:11px 22px;white-space:nowrap}
@media (max-width:900px){.pdp-fbar{display:flex}}
@media (max-width:520px){.fpk-cards{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.fpk-card,.pdp-fbar{transition:none}}

/* Family shelf: monthly line + range compare strip */
.fs-mcard-mo{font:600 .72rem/1.3 'Inter',sans-serif;color:#0e7a72}
.fs-cmp{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0 6px}
.fs-cmp-col{border:1px solid var(--fs-steel-2,#D5DBDF);border-radius:16px;background:#fff;padding:20px 18px;display:flex;flex-direction:column;gap:7px}
.fs-cmp-col.on{border-color:var(--fs-green,#0B3D2E);box-shadow:0 0 0 1.5px var(--fs-green,#0B3D2E) inset}
.fs-cmp-name{font:800 1.05rem/1.15 'Outfit',sans-serif;color:var(--ink,#262E38);margin:0}
.fs-cmp-for{font:400 .8rem/1.5 'Inter',sans-serif;color:#5a6660;margin:0;flex:1}
.fs-cmp-from{font:700 .82rem/1.3 'Inter',sans-serif;color:var(--ink,#262E38);font-variant-numeric:tabular-nums}
.fs-cmp-from em{font-style:normal;display:block;font:600 .7rem/1.4 'Inter',sans-serif;color:#0e7a72}
.fs-cmp-link{font:700 .76rem/1 'Inter',sans-serif;color:var(--fs-green-2,#11553F);text-decoration:none;margin-top:4px}
.fs-cmp-link:hover{text-decoration:underline;text-underline-offset:3px}
.fs-cmp-here{font:800 .62rem/1 'Inter',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--fs-green-2,#11553F)}
@media (max-width:860px){.fs-cmp{grid-template-columns:1fr}}

/* ── Foster v5: hero showcase, dealer trust, savings machinery ─────────────── */
.fs-hero-v2{position:relative}
.fs-aurora{position:absolute;inset:-30% -10% auto auto;width:60%;height:130%;background:radial-gradient(42% 48% at 62% 42%,rgba(127,209,185,.35),rgba(127,209,185,0) 70%),radial-gradient(30% 36% at 40% 66%,rgba(78,205,197,.22),rgba(78,205,197,0) 70%);filter:blur(18px);animation:fs-aurora 14s ease-in-out infinite alternate;pointer-events:none}
@keyframes fs-aurora{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-5%,6%,0) scale(1.12)}}
.fs-hero-marks{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.fs-hero-marks .fs-logochip{margin-bottom:0}
.fs-dealer-chip{display:inline-flex;align-items:center;gap:6px;font:800 .68rem/1 'Inter',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--fs-green-2,#11553F);background:rgba(127,209,185,.18);border:1px solid rgba(17,85,63,.25);border-radius:999px;padding:8px 12px}
.fs-hero-stage{position:relative;flex:none;display:flex;align-items:flex-end;justify-content:center;min-width:340px;padding:26px 30px 10px}
.fs-scene{display:flex;align-items:flex-end;gap:18px;color:var(--fs-green-2,#11553F)}
.fs-scene svg{display:block;height:auto}
.fs-scene svg :is(rect,line,polyline,path,circle){stroke-dasharray:100;stroke-dashoffset:100;opacity:0;animation:fs-draw 1s cubic-bezier(.3,.6,.3,1) forwards}
.fs-scene svg:nth-child(1) *{animation-delay:.15s}
.fs-scene svg:nth-child(2) *{animation-delay:.55s}
.fs-scene svg:nth-child(3) *{animation-delay:.95s}
@keyframes fs-draw{to{stroke-dashoffset:0;opacity:1}}
.fs-crest-wrap{position:absolute;top:-8px;right:-4px;filter:drop-shadow(0 10px 22px rgba(11,61,46,.18));animation:fs-pop .6s cubic-bezier(.2,1.4,.4,1) 1.3s backwards}
@keyframes fs-pop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
.fs-crest-spin{transform-origin:66px 66px;animation:fs-spin 36s linear infinite}
@keyframes fs-spin{to{transform:rotate(360deg)}}
.fs-float{position:absolute;font:800 .72rem/1 'Outfit',sans-serif;color:var(--fs-green-2,#11553F);background:#fff;border:1px solid var(--fs-steel-2,#D5DBDF);border-radius:999px;padding:7px 11px;box-shadow:0 8px 18px -12px rgba(11,61,46,.4);animation:fs-bob 5s ease-in-out infinite;opacity:0;animation-fill-mode:backwards}
.fs-float-1{left:2%;top:16%;animation-delay:1.5s}
.fs-float-2{right:6%;bottom:24%;animation-delay:2s;color:#1D6E9C}
.fs-float-3{left:16%;bottom:6%;animation-delay:2.5s}
@keyframes fs-bob{0%{opacity:0;transform:translateY(8px)}12%{opacity:1;transform:translateY(0)}56%{transform:translateY(-7px)}100%{opacity:1;transform:translateY(0)}}
.fs-door-glyph svg :is(rect,line,polyline,path){stroke-dasharray:100;stroke-dashoffset:0}
.fs-door:hover .fs-door-glyph svg :is(rect,line,polyline,path){animation:fs-redraw .8s ease}
@keyframes fs-redraw{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
.fs-trustrow{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:16px;margin-top:24px;align-items:center}
.fs-trust-card{border:1px solid var(--fs-steel-2,#D5DBDF);border-radius:16px;background:#fff;padding:20px 18px;display:flex;flex-direction:column;gap:8px;height:100%}
.fs-trust-ic{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(127,209,185,.18);color:var(--fs-green-2,#11553F)}
.fs-trust-card h3{font:800 1rem/1.2 'Outfit',sans-serif;color:var(--ink,#262E38);margin:0}
.fs-trust-card p{font:400 .82rem/1.55 'Inter',sans-serif;color:#5a6660;margin:0}
.fs-trust-crest{justify-self:center}
.fs-mcard-rrp{display:block;font:500 .72rem/1.3 'Inter',sans-serif;color:#9aa39e}
.pdp-frrp{display:flex;align-items:center;gap:10px;margin:2px 0 2px}
.pdp-frrp s{font:500 .84rem/1 'Inter',sans-serif;color:#9aa39e}
.pdp-frrp-save{font:800 .72rem/1 'Inter',sans-serif;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:var(--coral,#FF6B6B);border-radius:999px;padding:5px 9px}
@media (max-width:900px){
  .fs-hero-stage{min-width:0;width:100%;padding:34px 8px 4px}
  .fs-scene{gap:10px}
  .fs-scene svg:nth-child(1){display:none}
  .fs-crest-wrap{top:-14px;right:0}
  .fs-trustrow{grid-template-columns:1fr}
  .fs-trust-crest{order:-1}
}
@media (prefers-reduced-motion:reduce){
  .fs-aurora,.fs-crest-spin,.fs-float,.fs-crest-wrap{animation:none}
  .fs-float{opacity:1}
  .fs-scene svg :is(rect,line,polyline,path,circle){animation:none;stroke-dashoffset:0;opacity:1}
  .fs-door:hover .fs-door-glyph svg :is(rect,line,polyline,path){animation:none}
}

/* ── Foster v6: UK badge, big 0%, photo doors ──────────────────────────────── */
.uk-badge{display:inline-flex;align-items:center;gap:5px;font:700 .62rem/1 'Inter',sans-serif;letter-spacing:.04em;text-transform:uppercase;color:#3d4750;background:#fff;border:1px solid #E2E6E4;border-radius:999px;padding:3px 8px 3px 4px;vertical-align:middle;margin-left:8px;white-space:nowrap}
.uk-badge-flag{display:inline-flex;border-radius:2px;overflow:hidden}
.pc-brand .uk-badge{margin-left:6px;padding:2px 6px 2px 3px;font-size:.56rem}
.pdp-brand .uk-badge{transform:translateY(-1px)}
.fs-chip-uk{padding:6px 12px 6px 8px}
.fs-chip-uk .uk-badge{margin:0;border:0;background:none;padding:0;font-size:.68rem;color:var(--fs-green-2,#11553F)}
.fs-fin-xl{align-items:center;gap:16px;padding:14px 18px;background:linear-gradient(120deg,rgba(127,209,185,.16),rgba(127,209,185,.06));border:1px solid rgba(17,85,63,.16);border-radius:16px}
.fs-fin-huge{font:800 2.4rem/1 'Outfit',sans-serif;color:var(--fs-green,#0B3D2E);letter-spacing:-.02em;flex:none}
.fs-fin-copy{display:flex;flex-direction:column;gap:2px}
.fs-fin-copy strong{font:800 .95rem/1.25 'Outfit',sans-serif;color:var(--ink,#262E38)}
.fs-fin-copy span{font:400 .8rem/1.45 'Inter',sans-serif;color:#5a6660}
.fs-door-photo{flex:none;width:84px;height:84px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:14px;overflow:hidden}
.fs-door-img{max-width:76px;max-height:76px;object-fit:contain;mix-blend-mode:multiply;transition:transform .25s ease}
.fs-door:hover .fs-door-img{transform:scale(1.07)}
.fs-door-photo svg{max-width:84px;height:auto}
.fs-trust-ic-flag{background:#fff;border:1px solid var(--fs-steel-2,#D5DBDF)}
.fs-trust-ic-flag svg{width:22px;height:auto}
@media (prefers-reduced-motion:reduce){.fs-door-img{transition:none}}

/* ── Made in Britain (.mib-) ───────────────────────────────────────────────── */
.uk-badge{cursor:pointer;transition:border-color .15s,box-shadow .15s}
.uk-badge:hover{border-color:#B9C6C0;box-shadow:0 2px 8px -4px rgba(38,46,56,.3)}
.uk-badge:focus-visible{outline:2px solid var(--aqua,#4ECDC5);outline-offset:1px}
.mib-hero{background:linear-gradient(170deg,#F7F9FB 0%,#EFF3F6 70%,#E9EFF3 100%);border-bottom:1px solid #E2E6E4;padding:56px 0 44px;position:relative;overflow:hidden}
.mib-hero::after{content:'';position:absolute;inset:auto 0 0 0;height:4px;background:linear-gradient(90deg,#262E68 0 33%,#fff 33% 66%,#C8102E 66%)}
.mib-flag{display:inline-flex;margin-bottom:14px;filter:drop-shadow(0 4px 10px rgba(38,46,86,.25))}
.mib-flag svg{width:44px;height:auto;border-radius:4px}
.mib-h1{font:800 clamp(2rem,4.6vw,3.1rem)/1.06 'Outfit',sans-serif;color:var(--ink,#262E38);margin:0 0 12px;text-wrap:balance}
.mib-h1 em{font-style:italic;color:#C8102E}
.mib-lead{font:400 1rem/1.65 'Inter',sans-serif;color:#4d5a54;max-width:58ch;margin:0 0 18px}
.mib-stats a{color:inherit}
.mib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:24px}
.mib-card{display:flex;gap:16px;border:1px solid #E2E6E4;border-radius:18px;background:#fff;padding:18px;text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s,border-color .18s}
.mib-card:hover{transform:translateY(-3px);box-shadow:0 18px 34px -22px rgba(38,46,56,.35);border-color:#B9C6C0}
.mib-card-media{flex:none;width:104px;height:104px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;overflow:hidden}
.mib-card-img{max-width:96px;max-height:96px;object-fit:contain;mix-blend-mode:multiply}
.mib-card-body{display:flex;flex-direction:column;gap:5px;min-width:0}
.mib-card-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.mib-card-name{font:800 1.1rem/1.15 'Outfit',sans-serif;color:var(--ink,#262E38);margin:0}
.mib-card-since{font:700 .66rem/1 'Inter',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#8a958f;white-space:nowrap}
.mib-card-where{display:inline-flex;align-items:center;gap:6px;font:700 .7rem/1 'Inter',sans-serif;color:#3d4750}
.mib-card-where .uk-badge-flag svg{width:14px;height:auto}
.mib-card-blurb{font:400 .8rem/1.5 'Inter',sans-serif;color:#5a6660;margin:0}
.mib-card-cta{display:inline-flex;align-items:center;gap:5px;font:700 .78rem/1 'Inter',sans-serif;color:var(--fs-green-2,#11553F);margin-top:auto;padding-top:6px}
.mib-card:hover .mib-card-cta{text-decoration:underline;text-underline-offset:3px}
.mib-why{grid-template-columns:repeat(3,1fr)}
@media (max-width:860px){.mib-grid{grid-template-columns:1fr}.mib-why{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.mib-card,.uk-badge{transition:none}}

/* ═══ Review gate (/review) ═══ */
.rvw{min-height:72vh;display:flex;align-items:center;padding:80px 0;}
.rvw-in{max-width:640px;}
.rvw-strap{font-family:var(--display);font-size:.72rem;font-weight:800;letter-spacing:.24em;
  text-transform:uppercase;color:var(--aqua-deep);}
.rvw-h1{font-family:var(--display);font-weight:800;letter-spacing:-.03em;color:var(--ink);
  font-size:clamp(2.4rem,5.6vw,4rem);margin:10px 0 6px;}
.rvw-ref{color:var(--muted-2);font-family:var(--display);font-weight:700;margin:0 0 8px;}
.rvw-stars{display:flex;gap:8px;margin:22px 0 26px;}
.rvw-star{font-size:3rem;line-height:1;background:none;border:none;cursor:pointer;color:#DDD6C7;
  transition:color .15s,transform .15s;padding:4px;}
.rvw-star:hover{transform:scale(1.15);color:#C4A265;}
.rvw-star.is-on{color:#C4A265;}
.rvw-h2{font-family:var(--display);font-weight:800;font-size:1.6rem;color:var(--ink);margin:0 0 8px;}
.rvw-sub{color:var(--muted);line-height:1.65;max-width:52ch;margin:0 0 16px;}
.rvw-field{display:flex;flex-direction:column;gap:6px;margin:0 0 12px;}
.rvw-field>span{font-family:var(--display);font-size:.74rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted-2);}
.rvw-input{padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);background:#fff;
  font-size:1rem;color:var(--ink);max-width:480px;}
.rvw-input:focus{outline:none;border-color:var(--aqua);}
.rvw-alt{color:var(--muted-2);font-size:.92rem;margin-top:12px;}

/* ═══ PDP reviews ═══ */
.rv-agg{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;color:var(--ink);}
.rv-stars i{color:#DDD6C7;font-style:normal;font-size:1.05rem;}
.rv-stars i.on{color:#C4A265;}
.rv-list{display:flex;flex-direction:column;gap:14px;margin:6px 0 22px;}
.rv-item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;}
.rv-item-head{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
.rv-item-head strong{font-family:var(--display);color:var(--ink);}
.rv-when{color:var(--muted-2);font-size:.84rem;}
.rv-body{color:var(--muted);line-height:1.65;margin:0;}
.rv-empty{color:var(--muted);margin:4px 0 20px;}
.rv-form{background:#fff;border:1.5px dashed var(--line);border-radius:16px;padding:20px;max-width:560px;
  display:flex;flex-direction:column;gap:12px;}
.rv-form-h{font-family:var(--display);color:var(--ink);}
.rv-pick{display:flex;gap:4px;}
.rv-pick-star{font-size:1.9rem;background:none;border:none;cursor:pointer;color:#DDD6C7;transition:color .15s;}
.rv-pick-star.is-on,.rv-pick-star:hover{color:#C4A265;}
.rv-input{padding:11px 13px;border-radius:12px;border:1.5px solid var(--line);font-size:.98rem;color:var(--ink);}
.rv-input:focus{outline:none;border-color:var(--aqua);}
.rv-thanks{color:var(--aqua-deep);font-weight:600;display:flex;gap:8px;align-items:center;margin:0;}

/* ═══ Homepage: Thomas Franks testimonial ═══ */
.hxtf{padding:74px 0 60px;background:#fff;border-top:1.5px solid rgba(38,46,56,.12);
  border-bottom:1.5px solid rgba(38,46,56,.12);}
.hxtf-in{position:relative;max-width:880px;}
.hxtf-mark{position:absolute;left:-14px;top:-46px;font-family:Georgia,serif;font-size:9rem;line-height:1;
  color:var(--aqua);opacity:.35;pointer-events:none;}
.hxtf-q{margin:0;}
.hxtf-lead{font-family:var(--display);font-weight:800;letter-spacing:-.02em;color:var(--ink);
  font-size:clamp(1.5rem,3.2vw,2.3rem);line-height:1.25;margin:0 0 16px;}
.hxtf-body{color:var(--muted);line-height:1.75;font-size:1.02rem;max-width:74ch;margin:0 0 18px;}
.hxtf-who strong{font-family:var(--display);color:var(--ink);}
.hxtf-who span{color:var(--muted-2);}

/* Header account dropdown */
.account-menu-wrap{position:relative;display:flex}
.account-menu{position:absolute;top:100%;right:0;min-width:200px;background:#fff;border:1px solid var(--line,#E4DDCF);border-radius:12px;box-shadow:0 16px 34px -18px rgba(38,46,56,.35);padding:6px;display:none;flex-direction:column;z-index:300}
.account-menu a{display:block;padding:10px 12px;border-radius:8px;font:600 .84rem/1.2 'Inter',sans-serif;color:var(--ink,#262E38);text-decoration:none;white-space:nowrap}
.account-menu a:hover{background:var(--paper,#FAF7F1)}
/* Primary action in the dropdown — a proper coral button, not a plain link. */
.account-menu a.menu-cta{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:5px;
  background:var(--coral,#FF6B6B);color:#fff;font-weight:700;box-shadow:0 7px 16px -8px rgba(255,107,107,.7);transition:background .16s ease,transform .16s ease}
.account-menu a.menu-cta:hover{background:var(--coral-dark,#F25555);transform:translateY(-1px)}
.account-menu-wrap:hover .account-menu,.account-menu-wrap:focus-within .account-menu{display:flex}
@media (max-width:880px){.account-menu{display:none !important}}
/* Keyboard-accessible typed signature fallback on /apply */
.apply-sig-typewrap{display:flex;flex-direction:column;gap:5px;margin-top:10px}
.apply-sig-typelbl{font:600 .78rem/1.2 'Inter',sans-serif;color:var(--muted,#6E7480)}
.apply-sig-type{width:100%;max-width:340px;padding:11px 13px;border:1.5px solid var(--line,#E4DDCF);border-radius:10px;font:italic 1.05rem 'Outfit',cursive;color:var(--ink,#262E38);background:#fff}
.apply-sig-type:focus{outline:2px solid var(--aqua,#4ECDC5);outline-offset:1px;border-color:var(--aqua,#4ECDC5)}

.psb-mo{display:block;font:600 .68rem/1.2 'Inter',sans-serif;color:#0e7a72;font-style:normal;margin-top:1px}

/* ══ Kitchen Kit-Out Planner (/kit-out) ═══════════════════════════════════════ */
.ko-hero,.ko-plan-hero{background:linear-gradient(180deg,var(--tint),var(--paper));border-bottom:1px solid var(--line-soft);}
.ko-hero{padding:56px 0 44px;}
.ko-plan-hero{padding:34px 0 26px;}
.ko-hero .wrap,.ko-plan-hero .wrap{max-width:920px;}
.ko-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:.74rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--aqua-deep);}
.ko-eyebrow svg{color:var(--aqua-deep);}
.ko-h1{font-family:var(--display);font-weight:800;letter-spacing:-.02em;line-height:1.05;color:var(--ink);
  font-size:clamp(1.9rem,4.2vw,3rem);margin:12px 0 0;text-wrap:balance;}
.ko-lead{margin:14px 0 0;font-size:1.02rem;line-height:1.6;color:rgba(38,46,56,.72);max-width:60ch;}
.ko-back{display:inline-flex;align-items:center;gap:5px;font-size:.85rem;font-weight:600;color:var(--muted);
  text-decoration:none;margin-bottom:10px;}
.ko-back:hover{color:var(--coral);}

/* home CTA band + nav link */
.ko-home-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  background:linear-gradient(120deg,var(--navy),var(--navy-2));border-radius:22px;padding:30px 34px;text-decoration:none;
  position:relative;overflow:hidden;}
.ko-home-cta::after{content:"";position:absolute;right:-70px;top:-70px;width:280px;height:280px;border-radius:50%;
  background:radial-gradient(circle,rgba(78,205,197,.22),transparent 70%);pointer-events:none;}
.ko-home-cta-txt{position:relative;z-index:1;max-width:660px;}
.ko-home-cta-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--aqua);}
.ko-home-cta h2{font-family:var(--display);font-weight:800;color:#fff;font-size:clamp(1.4rem,2.6vw,1.95rem);
  margin:8px 0 0;letter-spacing:-.02em;line-height:1.1;}
.ko-home-cta p{margin:9px 0 0;color:rgba(255,255,255,.74);font-size:.95rem;line-height:1.55;}
.ko-home-cta-btn{position:relative;z-index:1;flex:none;display:inline-flex;align-items:center;gap:8px;
  background:var(--coral);color:#fff;font-weight:700;font-size:.95rem;padding:13px 24px;border-radius:100px;transition:transform .18s ease;}
.ko-home-cta:hover .ko-home-cta-btn{transform:translateX(3px);}
.nav-kitout{color:var(--coral)!important;font-weight:600;}

/* venue picker */
.ko-venue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;}
.ko-venue{position:relative;display:flex;flex-direction:column;gap:6px;padding:22px 20px 44px;background:#fff;
  border:1px solid var(--line);border-radius:18px;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;}
.ko-venue:hover{transform:translateY(-3px);border-color:var(--aqua);box-shadow:0 18px 40px -26px rgba(38,46,56,.4);}
.ko-venue-ic{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:13px;
  background:rgba(78,205,197,.14);color:var(--teal);margin-bottom:6px;}
.ko-venue-name{font-family:var(--display);font-weight:700;font-size:1.12rem;color:var(--ink);}
.ko-venue-blurb{font-size:.86rem;line-height:1.45;color:var(--muted);}
.ko-venue-go{position:absolute;right:16px;bottom:14px;color:var(--coral);opacity:0;transform:translateX(-4px);transition:.18s ease;}
.ko-venue:hover .ko-venue-go{opacity:1;transform:none;}

/* reassurance strip */
.ko-reassure{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;}
.ko-reassure-card{display:flex;gap:12px;padding:18px;background:var(--tint);border-radius:14px;}
.ko-reassure-card strong{font-family:var(--display);font-size:1rem;color:var(--ink);}
.ko-reassure-card p{margin:3px 0 0;font-size:.85rem;line-height:1.45;}
.ko-reassure-ic{flex:none;width:34px;height:34px;border-radius:10px;background:#fff;color:var(--coral);
  display:flex;align-items:center;justify-content:center;}

/* planner */
.ko-plan{padding:26px 0 130px;display:flex;flex-direction:column;gap:18px;}
.ko-sec{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;}
.ko-sec-head{display:flex;align-items:center;gap:11px;padding:16px 20px;border-bottom:1px solid var(--line-soft);background:var(--tint);}
.ko-sec-ic{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;
  background:var(--navy);color:#fff;}
.ko-sec-title{font-family:var(--display);font-weight:700;font-size:1.12rem;color:var(--ink);margin:0;flex:1;}
.ko-sec-count{font-size:.78rem;font-weight:700;color:var(--muted);background:#fff;border:1px solid var(--line);
  border-radius:100px;padding:2px 10px;}

.ko-row{display:grid;grid-template-columns:auto 52px 1fr auto auto;align-items:center;gap:14px;
  padding:12px 20px;border-bottom:1px solid var(--line-soft);}
.ko-row:last-child{border-bottom:none;}
.ko-row-lite{grid-template-columns:auto 1fr auto;padding:13px 20px;}
.ko-bar-note{font-size:.8rem;color:var(--muted);}
.ko-check{flex:none;width:24px;height:24px;border-radius:7px;border:2px solid var(--line);background:#fff;cursor:pointer;
  position:relative;transition:.15s ease;}
.ko-check.on{background:var(--coral);border-color:var(--coral);}
.ko-check.on::after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid #fff;
  border-width:0 2.5px 2.5px 0;transform:rotate(45deg);}
.ko-row-media{width:52px;height:52px;border-radius:10px;background:#fff;border:1px solid var(--line-soft);overflow:hidden;
  display:flex;align-items:center;justify-content:center;}
.ko-row-media img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;}
.ko-skel{width:100%;height:100%;background:linear-gradient(90deg,#f3ede2,#faf7f1,#f3ede2);background-size:200% 100%;
  animation:koShimmer 1.2s linear infinite;}
@keyframes koShimmer{from{background-position:200% 0}to{background-position:-200% 0}}
.ko-spec-ic{color:var(--muted-2);}
.ko-row-name{min-width:0;display:flex;flex-direction:column;gap:2px;}
.ko-row-label{font-weight:600;font-size:.95rem;color:var(--ink);}
.ko-forgot{align-self:flex-start;font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--teal);background:rgba(78,205,197,.14);border-radius:100px;padding:1px 8px;margin:1px 0;}
.ko-row-sub{font-size:.8rem;color:var(--muted-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:34ch;}
.ko-row-sub.ko-resolved{color:var(--muted);}
.ko-row-sub.ko-spec{color:var(--coral-dark);font-style:italic;}
.ko-row-price{font-family:var(--display);font-weight:700;font-size:.98rem;color:var(--ink);text-align:right;min-width:64px;
  font-variant-numeric:tabular-nums;}
.ko-quote-tag{display:inline-block;font-family:var(--font);font-size:.68rem;font-weight:700;letter-spacing:.03em;
  text-transform:uppercase;color:var(--coral-dark);background:var(--coral-soft);border-radius:100px;padding:3px 10px;}
.ko-row-qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:100px;overflow:hidden;background:#fff;}
.ko-step{width:30px;height:32px;border:none;background:none;cursor:pointer;font-size:1.1rem;line-height:1;color:var(--ink);}
.ko-step:hover{background:var(--tint);color:var(--coral);}
.ko-qty{min-width:34px;text-align:center;font-weight:700;font-size:.9rem;font-variant-numeric:tabular-nums;}
.ko-row.ko-off .ko-row-media,.ko-row.ko-off .ko-row-name,.ko-row.ko-off .ko-row-price{opacity:.4;}

/* sticky action bar */
.ko-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);
  border-top:1px solid var(--line);box-shadow:0 -10px 30px -18px rgba(38,46,56,.4);}
.ko-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;}
.ko-bar-info{display:flex;flex-direction:column;line-height:1.3;}
.ko-bar-sum{font-size:1rem;color:var(--ink);}
.ko-bar-spec{font-size:.8rem;color:var(--coral-dark);font-weight:600;}
.ko-bar-actions{display:flex;gap:10px;flex:none;}
.ko-bar-actions .btn{display:inline-flex;align-items:center;gap:7px;}
.ko-bar-basket:disabled{opacity:.5;cursor:not-allowed;}

/* quote modal */
.ko-modal-overlay{position:fixed;inset:0;z-index:800;display:flex;align-items:center;justify-content:center;padding:20px;
  background:rgba(27,33,42,.55);backdrop-filter:blur(3px);animation:lwpopFade .25s ease both;}
.ko-modal{position:relative;width:min(520px,100%);background:var(--paper);border-radius:20px;padding:30px 30px 26px;
  box-shadow:var(--shadow-lg);animation:lwpopRise .3s cubic-bezier(.2,.8,.25,1) both;max-height:92dvh;overflow-y:auto;}
.ko-modal h2{font-family:var(--display);font-weight:800;font-size:1.5rem;color:var(--ink);margin:0;}
.ko-modal .muted{margin:6px 0 0;font-size:.9rem;}
.ko-modal-form{margin-top:16px;display:flex;flex-direction:column;gap:14px;}
.ko-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.ko-field{display:flex;flex-direction:column;gap:4px;font-size:.78rem;font-weight:600;color:var(--muted);}
.ko-input{width:100%;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:11px 13px;
  font:inherit;font-size:.95rem;color:var(--ink);}
.ko-input:focus{outline:none;border-color:var(--aqua);}
.ko-modal-note{margin:0;font-size:.82rem;color:var(--muted);}
.ko-modal-form .btn{width:100%;}
.ko-modal-done{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;padding:8px 0;}

@media (max-width:720px){
  .ko-row{grid-template-columns:auto 46px 1fr auto;gap:11px;padding:11px 14px;}
  .ko-row-qty{grid-column:2 / -1;justify-self:start;margin-left:57px;}
  .ko-row-lite{grid-template-columns:auto 1fr auto;padding:11px 14px;}
  .ko-row-lite .ko-row-qty{grid-column:auto;justify-self:auto;margin-left:0;}
  .ko-row-media{width:46px;height:46px;}
  .ko-sec-head{padding:13px 14px;}
  .ko-bar-inner{flex-direction:column;align-items:stretch;gap:10px;padding:10px 0;}
  .ko-bar-actions{justify-content:stretch;}
  .ko-bar-actions .btn{flex:1;justify-content:center;}
  .ko-modal-grid{grid-template-columns:minmax(0,1fr);}
}
@media (prefers-reduced-motion:reduce){ .ko-skel,.ko-venue,.ko-modal,.ko-modal-overlay{animation:none;transition:none;} }

/* ── PDP engineering layer (pdp-extras.js): drawing, fit, gauges, tilt ──────── */
.td-fig{margin:0}
.td-wrap svg{width:100%;height:auto;display:block}
.td-svg .td-box{fill:rgba(78,205,197,.06);stroke:#262E38;stroke-width:1.6}
.td-svg .td-face{stroke:#262E38;stroke-width:.9;opacity:.5}
.td-svg .td-foot{fill:#262E38;opacity:.85}
.td-svg .td-handle{stroke:#2FB3AA;stroke-width:3;stroke-linecap:round}
.td-svg .td-floor{stroke:#262E38;stroke-width:1.4;opacity:.55}
.td-svg .td-dim{stroke:#2FB3AA;stroke-width:1.1}
.td-svg .td-arr{fill:#2FB3AA}
.td-svg .td-ext{stroke:#2FB3AA;stroke-width:.7;opacity:.55}
.td-svg .td-lab{font:600 12px Inter,sans-serif;fill:#262E38;paint-order:stroke;stroke:#FAF7F1;stroke-width:4px;stroke-linejoin:round}
.td-svg .td-cap{font:700 10px Inter,sans-serif;letter-spacing:.14em;fill:#9A958A}
.td-svg .td-chef-g{fill:#262E38;opacity:.30}
.td-svg .td-chef-lab{font:600 10px Inter,sans-serif;fill:#9A958A}
.td-capn{font-size:12px;color:var(--muted,#6E7480);margin-top:8px}
.td-side{display:flex;flex-direction:column;gap:16px}
.fit-check{border:1px solid var(--line,#E7E3DB);border-radius:14px;background:var(--card,#fff);padding:16px}
.fit-head{font-weight:700;font-family:Outfit,sans-serif;display:flex;gap:8px;align-items:center;margin-bottom:10px}
.fit-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.fit-lab{font-size:12.5px;color:var(--muted,#6E7480);font-weight:600}
.fit-input{width:110px;padding:9px 10px;border:1px solid var(--line,#E7E3DB);border-radius:10px;font:inherit}
.fit-btn{padding:9px 16px!important}
.fit-verdict{margin:10px 0 4px;font-size:13.5px;font-weight:600;color:var(--muted,#6E7480)}
.fit-yes{color:#2E8B57}.fit-tight{color:#B8791E}.fit-no{color:#C8402F}
.fit-stage svg{width:100%;height:auto;display:block}
.fit-unit{transition:transform .7s cubic-bezier(.25,.6,.3,1)}
.fit-door{font-size:12px;color:var(--muted,#6E7480);margin:10px 0 0;border-top:1px dashed var(--line,#E7E3DB);padding-top:9px}
.ng-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;max-width:720px}
.ng-card{border:1px solid var(--line,#E7E3DB);border-radius:16px;background:var(--card,#fff);padding:16px 16px 12px}
.ng-svg svg{width:100%;max-width:280px;height:auto;display:block;margin:0 auto}
.ng-cap{font-size:13px;color:var(--muted,#6E7480);text-align:center;margin:6px 0 0;line-height:1.45}
.hxp-tilt{transform:perspective(950px) rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg));transition:transform .16s ease,box-shadow .3s ease;will-change:transform}
.hxp-tilt:hover{box-shadow:0 26px 52px -24px rgba(38,46,56,.35)}

/* ── Compare tray + overlay (compare.js) ────────────────────────────────────── */
.cmp-pin{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line,#E7E3DB);background:none;border-radius:999px;padding:8px 14px;font:600 13px Inter,sans-serif;color:var(--ink,#262E38);cursor:pointer}
.cmp-pin.cmp-on{background:#262E38;color:#fff;border-color:#262E38}
.cmp-tray{position:fixed;left:16px;bottom:16px;z-index:1300;display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line,#E7E3DB);border-radius:16px;padding:10px 12px;box-shadow:0 18px 44px -18px rgba(38,46,56,.4)}
.cmp-items{display:flex;gap:6px}
.cmp-thumb{position:relative;width:44px;height:44px;border:1px solid var(--line,#E7E3DB);border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center}
.cmp-thumb img{max-width:86%;max-height:86%;object-fit:contain}
.cmp-thumb-txt{font:700 9px Inter,sans-serif;color:var(--muted,#6E7480)}
.cmp-x{position:absolute;top:-7px;right:-7px;width:18px;height:18px;border-radius:50%;border:none;background:#262E38;color:#fff;font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.cmp-go{padding:9px 16px!important;font-size:13px!important}
.cmp-go:disabled{opacity:.5;cursor:default}
.cmp-clear{border:none;background:none;color:var(--muted,#6E7480);font:600 12px Inter,sans-serif;cursor:pointer;text-decoration:underline}
.cmp-overlay{position:fixed;inset:0;background:rgba(20,26,32,.55);backdrop-filter:blur(3px);z-index:1400;display:flex;align-items:flex-start;justify-content:center;padding:4vh 14px;overflow:auto}
.cmp-panel{background:#FAF7F1;border-radius:20px;max-width:940px;width:100%;padding:clamp(16px,3vw,30px);box-shadow:0 30px 80px -30px rgba(0,0,0,.5)}
.cmp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.cmp-head h2{font-family:Outfit,sans-serif;font-weight:800;margin:0}
.cmp-close{background:#fff;border:1px solid var(--line,#E7E3DB);width:36px;height:36px;border-radius:50%;font-size:20px;cursor:pointer}
.cmp-cols,.cmp-sils{display:grid;grid-template-columns:110px repeat(var(--n),1fr);gap:10px;align-items:end}
.cmp-cols::before,.cmp-sils::before{content:""}
.cmp-col{text-align:center}
.cmp-img{max-width:100%;max-height:110px;object-fit:contain}
.cmp-name{font:600 12.5px Inter,sans-serif;line-height:1.3;margin:6px 0 2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cmp-view{font:600 12px Inter,sans-serif;color:var(--coral,#FF6B6B)}
.cmp-sil svg{width:100%;height:auto}
.cmp-sil-none{font:600 11px Inter,sans-serif;color:var(--muted,#6E7480);display:flex;align-items:flex-end;justify-content:center;height:100px}
.cmp-sil-note{font-size:11.5px;color:var(--muted,#6E7480);text-align:right;margin:2px 0 10px}
.cmp-table{width:100%;border-collapse:collapse;margin-top:8px}
.cmp-table th{text-align:left;font:600 12.5px Inter,sans-serif;color:var(--muted,#6E7480);padding:9px 8px;width:110px}
.cmp-table td{font:600 13.5px Inter,sans-serif;padding:9px 8px;text-align:center}
.cmp-table tr{border-top:1px solid var(--line,#E7E3DB)}
.cmp-best{color:#1F7A4D}
.cmp-best::after{content:"✓ best";font:700 9.5px Inter,sans-serif;color:#1F7A4D;display:block;opacity:.75}
@media(max-width:640px){.cmp-tray{left:10px;bottom:76px}.cmp-cols,.cmp-sils{grid-template-columns:70px repeat(var(--n),1fr)}.cmp-table th{width:70px}}

/* ── Home ambience: daypart line, weather rail, geo fact, basket resume ─────── */
.hx-daypart{margin:14px 0 0;font:600 13.5px Inter,sans-serif;color:#9fd8e8;display:flex;align-items:center;gap:8px}
.hx-daypart::before{content:"";width:7px;height:7px;border-radius:50%;background:#4ECDC5;box-shadow:0 0 10px #4ECDC5;flex-shrink:0}
.wx-sec .section-head h2{display:flex;align-items:center;gap:9px}
.wx-badge{display:inline-flex;width:30px;height:30px;border-radius:9px;background:rgba(78,205,197,.14);color:#1b93bd;align-items:center;justify-content:center}
.wx-sub{margin:4px 0 0;color:var(--muted,#6E7480);font-size:14px}
.hx-geo-fact strong{color:#4ECDC5}
.resume-basket{display:flex;align-items:center;gap:10px;margin:0 0 16px;padding:13px 16px;border:1px solid var(--line,#E7E3DB);border-radius:14px;background:var(--card,#fff);text-decoration:none;color:var(--ink,#262E38);font:600 14px Inter,sans-serif;transition:transform .15s,border-color .15s}
.resume-basket:hover{transform:translateY(-2px);border-color:#4ECDC5}
.resume-basket-go{margin-left:auto;color:var(--coral,#FF6B6B)}

/* ── Cold FX: frost, mist, live temperature (cold-fx.js) ────────────────────── */
.cfx-frost{position:absolute;inset:0;pointer-events:none;z-index:4}
.cfx-frost-c{position:absolute;width:min(300px,42vw);height:min(300px,42vw)}
.cfx-frost-c svg{width:100%;height:100%;display:block}
.cfx-tl{top:0;left:0}
.cfx-tr{top:0;right:0;transform:scaleX(-1)}
.cfx-bl{bottom:0;left:0;transform:scaleY(-1)}
.cfx-br{bottom:0;right:0;transform:scale(-1,-1)}
.cfx-stems path{fill:none;stroke:rgba(255,255,255,.85);stroke-width:1.4;stroke-linecap:round;
  stroke-dasharray:1;stroke-dashoffset:1;animation:cfxGrow 2.6s cubic-bezier(.3,.5,.3,1) var(--fd,0s) forwards}
.cfx-dots circle{fill:rgba(255,255,255,.8);opacity:0;animation:cfxDot 1.4s ease 1.6s forwards}
@keyframes cfxGrow{to{stroke-dashoffset:0}}
@keyframes cfxDot{to{opacity:.8}}
.cfx-mist{position:absolute;left:0;right:0;bottom:-8px;height:110px;pointer-events:none;overflow:hidden;z-index:3}
.cfx-mist-b{position:absolute;bottom:-30px;height:90px;border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(214,240,252,.30),rgba(214,240,252,0) 68%);
  filter:blur(6px);animation:cfxDrift linear infinite}
@keyframes cfxDrift{0%{transform:translateX(-18%) scale(1)}50%{transform:translateX(14%) scale(1.18)}100%{transform:translateX(-18%) scale(1)}}
.cfx-temp{position:absolute;right:clamp(14px,3vw,34px);bottom:clamp(14px,3vw,26px);z-index:5;
  display:flex;align-items:center;gap:9px;padding:9px 14px;border-radius:12px;
  background:rgba(7,18,16,.72);border:1px solid rgba(127,217,194,.35);backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px)}
.cfx-temp-dot{width:7px;height:7px;border-radius:50%;background:#7FD9C2;box-shadow:0 0 8px #7FD9C2;
  animation:hxCounterPulse 2.4s ease-out infinite}
.cfx-temp-label{font:700 .62rem 'Outfit',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.cfx-temp-val{font:800 1.05rem 'Outfit',sans-serif;color:#9FF2E0;font-variant-numeric:tabular-nums;min-width:64px;text-align:right}
.cfx-temp-held .cfx-temp-val{color:#BFE7FF}
@media(prefers-reduced-motion:reduce){
  .cfx-stems path{animation:none;stroke-dashoffset:0}
  .cfx-dots circle{animation:none;opacity:.8}
  .cfx-mist-b{animation:none}
}

/* ── Foster hero v3: the real kitchen, frost in the corners ─────────────────── */
.fs-hero-v3{background:#0B1A15;color:#fff;min-height:clamp(430px,44vw,560px);display:flex;align-items:center;border-bottom:none}
.fs-hero-v3 .fs-hero-photo{position:absolute;inset:0;overflow:hidden;
  background:url('/assets/img/foster/situ/g3-load-wide.webp') center right/cover no-repeat}
.fs-hero-frame{position:absolute;inset:0;background-size:cover;background-position:center right;
  opacity:0;transform:scale(1.02);animation:fsCycle 21s ease-in-out infinite;will-change:opacity,transform}
.fs-hero-frame:nth-child(2){animation-delay:7s}
.fs-hero-frame:nth-child(3){animation-delay:14s}
@keyframes fsCycle{0%{opacity:0;transform:scale(1.02)}5%{opacity:1}38%{opacity:1;transform:scale(1.075)}47%{opacity:0;transform:scale(1.085)}100%{opacity:0;transform:scale(1.02)}}
.fs-hero-photo::after{content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(97deg,rgba(8,22,17,.94) 0%,rgba(8,22,17,.85) 32%,rgba(9,24,19,.48) 62%,rgba(9,24,19,.10) 100%)}
@media (prefers-reduced-motion:reduce){.fs-hero-frame{animation:none}.fs-hero-frame:first-child{opacity:1;transform:none}}
.fs-hero-v3 .fs-hero-in{position:relative;z-index:2}
.fs-hero-v3 .fs-h1{color:#fff}
.fs-hero-v3 .fs-h1 em{color:#7FD9C2}
.fs-hero-v3 .fs-lead{color:rgba(255,255,255,.85)}
.fs-hero-v3 .fs-hero-stats{color:rgba(255,255,255,.72)}
.fs-hero-v3 .fs-hero-stats strong{color:#7FD9C2}
.fs-hero-v3 .fs-dealer-chip{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.22);color:#fff}
.fs-hero-v3 .fs-ghost2{border-color:rgba(255,255,255,.4);color:#fff}
.fs-hero-v3 .fs-fin-ribbon{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.fs-hero-v3 .fs-fin-copy span{color:rgba(255,255,255,.75)}
.fs-hero-v3 .fs-fin-huge{color:#7FD9C2}
.fs-hero-v3::after{background:linear-gradient(90deg,var(--fs-green),#7FD9C2)}
@media(max-width:820px){
  .fs-hero-v3 .fs-hero-photo{background:url('/assets/img/foster/situ/g3-load-wide.webp') center/cover no-repeat}
  .fs-hero-v3 .fs-hero-photo::after{background:linear-gradient(180deg,rgba(8,22,17,.92) 0%,rgba(8,22,17,.72) 100%)}
  .fs-hero-frame{background-position:center}
  .cfx-temp{position:static;margin-top:14px;align-self:flex-start}
}

/* ── Foster in the wild: dealer in-situ gallery + badge band ────────────────── */
.fs-situ-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:225px;grid-auto-flow:dense;gap:14px;margin-top:22px}
.fs-situ-tile{position:relative;border-radius:16px;overflow:hidden;background:#0B1A15}
.fs-situ-tall{grid-row:span 2}
.fs-situ-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.6,.2,1)}
.fs-situ-tile:hover img{transform:scale(1.045)}
.fs-situ-cap{position:absolute;left:0;right:0;bottom:0;padding:30px 15px 12px;color:#fff;font-size:.82rem;font-weight:700;letter-spacing:.01em;
  background:linear-gradient(180deg,transparent,rgba(8,22,17,.8))}
.fs-badgeband{position:relative;min-height:235px;display:flex;align-items:center;overflow:hidden;margin:60px 0 4px}
.fs-badge-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:12% 50%}
.fs-badgeband::after{content:'';position:absolute;inset:0;background:linear-gradient(92deg,rgba(8,22,17,.74) 0%,rgba(8,22,17,.42) 52%,rgba(8,22,17,.06) 100%)}
.fs-badge-copy{position:relative;z-index:2;color:#fff;padding:34px 0}
.fs-badge-copy h2{color:#fff;font-size:clamp(1.3rem,2.6vw,1.8rem);margin:0 0 8px}
.fs-badge-copy p{color:rgba(255,255,255,.9);max-width:52ch;margin:0;font-size:.95rem;text-shadow:0 1px 10px rgba(8,22,17,.5)}
.fs-trust-photo{padding:0 0 18px;overflow:hidden}
.fs-trust-img{width:100%;height:132px;object-fit:cover;display:block;margin-bottom:4px}
.fs-trust-photo .fs-trust-ic{margin:-23px 0 0 16px;position:relative;border:3px solid #fff;box-sizing:content-box;background:#EAF7F2}
.fs-trust-photo h3,.fs-trust-photo p{padding:0 18px}
.fs-door-situ{max-width:none;max-height:none;width:84px;height:84px;object-fit:cover;mix-blend-mode:normal;border-radius:14px}
@media(max-width:880px){
  .fs-situ-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:165px}
  .fs-badgeband{min-height:200px}
}

/* ── Coldstores hero v2: the walk-in night scene ────────────────────────────── */
.fcs-hero-v2{background:
  radial-gradient(1100px 500px at 78% 20%,rgba(64,141,183,.20),transparent 60%),
  linear-gradient(168deg,#0A1B28 0%,#0E2434 55%,#12293B 100%);
  color:#fff;position:relative;overflow:hidden}
.fcs-hero-v2 .fcs-eyebrow{color:#8FD8F0}
.fcs-hero-v2 .fcs-h1{color:#fff}
.fcs-hero-v2 .fcs-h1 em{color:#8FD8F0}
.fcs-hero-v2 .fcs-lead{color:rgba(255,255,255,.82)}
.fcs-hero-v2 .fcs-stats{color:rgba(255,255,255,.7)}
.fcs-hero-v2 .fcs-stats strong{color:#8FD8F0}
.fcs-hero-v2 .fs-ghost{border-color:rgba(255,255,255,.4);color:#fff}
.fcs-hero-v2 .fcs-hero-art{filter:drop-shadow(0 26px 40px rgba(0,0,0,.45))}
.fcs-hero-v2 .fcs-iso .fcs-shadow{fill:rgba(0,0,0,.5)}
.fcs-hero-v2 .fcs-iso .fcs-mist{fill:rgba(190,230,248,.28)}
.fcs-hero-v2 .fcs-iso .fcs-mist-deep{fill:rgba(190,230,248,.45)}
.fcs-hero-v2 .fcs-chef{fill:#B9CDD8!important;opacity:.75!important}

/* Realistic room: glow pulse + tag halo on any background */
.fcs-iso .fcs-glow{animation:fcsGlowPulse 4.5s ease-in-out infinite}
@keyframes fcsGlowPulse{0%,100%{opacity:.55}50%{opacity:.95}}
@media(prefers-reduced-motion:reduce){.fcs-iso .fcs-glow{animation:none}}
.fs-hero-v3 .fs-chip-uk{color:#fff}
.fs-hero-v3 .fs-chip-uk .uk-badge,.fs-hero-v3 .fs-dealer-chip *{color:inherit}
.fs-hero-v3 .fs-fin-copy strong{color:#fff}

/* ── Shop by department: scene tiles ────────────────────────────────────────── */
.hx-dept-scene{min-height:252px;overflow:hidden;border:1px solid var(--line,#E7E3DB);
  background:
    radial-gradient(120% 135% at 84% 0%, var(--db) 0%, rgba(255,255,255,0) 60%),
    linear-gradient(160deg,#FFFFFF 0%,#FBF9F5 100%);}
.hx-dept-scene::before{background:linear-gradient(180deg,rgba(255,255,255,0) 42%,rgba(255,255,255,.88) 88%);}
.hx-dept-wm{position:absolute;top:-16px;right:-12px;color:var(--da);opacity:.09;
  transform:rotate(-9deg);transition:transform .5s ease,opacity .5s ease;pointer-events:none;}
.hx-dept-scene:hover .hx-dept-wm{transform:rotate(-3deg) scale(1.07);opacity:.14;}
.hx-dept-scene .hx-dept-photo{padding:12px 28px;z-index:1;}
.hx-dept-scene .hx-dept-photo img{background:none;border-radius:0;box-shadow:none;
  max-height:84%;max-width:52%;
  filter:drop-shadow(0 22px 16px rgba(38,46,56,.16));
  animation:hxDeptFloat 6.5s ease-in-out infinite;
  transition:transform .45s cubic-bezier(.2,.6,.3,1);}
.hx-dept-grid > .hx-dept-scene:nth-child(even) .hx-dept-photo img{animation-delay:-3.2s;}
@keyframes hxDeptFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hx-dept-scene:hover .hx-dept-photo img{transform:translateY(-5px) scale(1.06) rotate(-2deg);}
.hx-dept-scene .hx-dept-kicker{color:var(--da);background:rgba(255,255,255,.72);
  border:1px solid color-mix(in srgb,var(--da) 26%,#fff);border-radius:999px;padding:4px 11px;}
.hx-dept-scene h3{font-size:1.72rem;}
.hx-dept-scene .hx-dept-count{font-variant-numeric:tabular-nums;}
.hx-dept-subs{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px;position:relative;z-index:3;}
.hx-dept-sub{border:1px solid color-mix(in srgb,var(--da) 34%,#fff);background:rgba(255,255,255,.78);
  color:#39434C;font:600 12.5px 'Inter',sans-serif;padding:6px 12px;border-radius:999px;cursor:pointer;
  transition:background .18s ease,color .18s ease,transform .18s ease,border-color .18s ease;}
.hx-dept-sub:hover{background:var(--da);border-color:var(--da);color:#fff;transform:translateY(-1px);}
.hx-dept-scene .hx-dept-go{background:var(--da);color:#fff;}
.hx-dept-scene:hover .hx-dept-go{background:var(--da);transform:translateX(3px) scale(1.08);}
@media(prefers-reduced-motion:reduce){.hx-dept-scene .hx-dept-photo img{animation:none}}

/* Mini department cards: per-card accent, icon warms, chevron slides in */
.hx-dept-rest .dept-card{--dc:var(--aqua,#2FB3AA);}
.hx-dept-rest .dept-card::before{background:var(--dc);}
.hx-dept-rest .dept-card:nth-child(n) .dept-icon{background:color-mix(in srgb,var(--dc) 12%,#fff);color:var(--dc);}
.hx-dept-rest .dept-card:hover .dept-icon{transform:scale(1.08) rotate(-4deg);}
.hx-dept-rest .dept-card::after{content:"\2192";position:absolute;right:13px;top:50%;
  transform:translate(7px,-50%);opacity:0;color:var(--dc);font-weight:700;font-size:15px;
  transition:opacity .2s ease,transform .2s ease;}
.hx-dept-rest .dept-card:hover::after{opacity:1;transform:translate(0,-50%);}
/* The catalogue cutouts carry baked-in white photo backgrounds: multiply melts
   the white into the scene tint (product colours survive), and the tile draws
   its own soft ground shadow so the piece still sits on something. */
.hx-dept-scene .hx-dept-photo img{mix-blend-mode:multiply;filter:none;}
.hx-dept-scene .hx-dept-photo{position:absolute;}
.hx-dept-scene .hx-dept-photo::after{content:"";position:absolute;right:9%;bottom:8%;
  width:34%;height:26px;border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(38,46,56,.20),rgba(38,46,56,0) 68%);
  filter:blur(3px);}
/* Blend needs the tile's backdrop: a z-index on the photo layer creates a
   stacking context that isolates multiply. Keep it in the tile's own context. */
.hx-dept-scene .hx-dept-photo{z-index:auto;isolation:auto;}
.hx-dept-scene .hx-dept-meta,.hx-dept-scene .hx-dept-go{z-index:2;}
/* Push near-white photo backgrounds to pure white so multiply erases them
   completely (kills the ghost rectangle around the cutouts). */
.hx-dept-scene .hx-dept-photo img{filter:brightness(1.05) contrast(1.03);}

/* ── Retigo v2: chef photo hero, steam, live cavity, drawn size cards ───────── */
.retigo-hero-v2{position:relative;background:#12161B;color:#fff;overflow:hidden;
  min-height:clamp(430px,44vw,560px);display:flex;align-items:center;padding:56px 0}
.rtg-photo{position:absolute;inset:0;
  background:linear-gradient(96deg,rgba(10,13,17,.94) 0%,rgba(10,13,17,.86) 30%,rgba(12,16,20,.46) 62%,rgba(12,16,20,.10) 100%),
             url('/assets/img/retigo/hero-chef.webp') center right/cover no-repeat}
.rtg-hero-in{position:relative;z-index:2}
.rtg-copy{max-width:60ch}
.retigo-hero-v2 h1{color:#fff}
.retigo-hero-v2 .retigo-lead{color:rgba(255,255,255,.85)}
.rtg-trial{display:flex;flex-direction:column;gap:9px;margin:18px 0 20px}
.rtg-trial-step{display:flex;align-items:flex-start;gap:11px;padding:10px 13px;border-radius:13px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);max-width:520px}
.rtg-trial-step b{width:24px;height:24px;flex:none;border-radius:50%;background:#E8933B;color:#12161B;
  display:flex;align-items:center;justify-content:center;font:800 13px 'Outfit',sans-serif}
.rtg-trial-step span{display:flex;flex-direction:column;font-size:.82rem;color:rgba(255,255,255,.72);line-height:1.35}
.rtg-trial-step strong{color:#fff;font-size:.9rem}
.rtg-ghost{border-color:rgba(255,255,255,.4);color:#fff}
.rtg-steam{position:absolute;right:6%;top:0;bottom:30%;width:34%;pointer-events:none;z-index:1}
.rtg-steam span{position:absolute;bottom:0;width:38px;height:120px;border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(255,255,255,.16),rgba(255,255,255,0) 70%);
  filter:blur(7px);animation:rtgSteamRise ease-in infinite;opacity:0}
@keyframes rtgSteamRise{0%{transform:translateY(40px) scaleX(.8);opacity:0}
  25%{opacity:.65}70%{opacity:.3}100%{transform:translateY(-190px) scaleX(1.5);opacity:0}}
.rtg-temp.cfx-temp{border-color:rgba(232,147,59,.45)}
.rtg-temp .cfx-temp-dot{background:#E8933B;box-shadow:0 0 8px #E8933B}
.rtg-temp .cfx-temp-val{color:#FFC46B}
.rtg-temp.cfx-temp-held .cfx-temp-val{color:#FFD79B}
.rtg-facts{background:#FBF7F0;border-bottom:1px solid var(--line,#E7E3DB)}
.rtg-facts-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;padding:18px 0}
.rtg-fact{display:flex;gap:10px;align-items:flex-start}
.rtg-fact-ic{width:34px;height:34px;flex:none;border-radius:10px;background:rgba(232,147,59,.14);
  color:#C06F1C;display:flex;align-items:center;justify-content:center}
.rtg-fact strong{display:block;font:800 1.02rem 'Outfit',sans-serif}
.rtg-fact span{font-size:.78rem;color:var(--muted,#6E7480);line-height:1.35}
.rtg-step-sub{color:var(--muted,#6E7480);font-size:.9rem;margin:-4px 0 14px}
.rtg-sizes{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:13px;max-width:860px}
.rtg-size{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px 14px;
  border:1.5px solid var(--line,#E7E3DB);border-radius:16px;background:#fff;cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;text-align:center}
.rtg-size:hover{transform:translateY(-3px);box-shadow:var(--shadow, 0 10px 30px rgba(38,46,56,.10))}
.rtg-size.on{border-color:#E8933B;box-shadow:0 0 0 3px rgba(232,147,59,.18)}
.rtg-size-art{width:96px}
.rtg-size-art svg{width:100%;height:auto;display:block}
.rtg-size strong{font-family:'Outfit',sans-serif;font-size:1.02rem}
.rtg-size-covers{font-size:.74rem;color:var(--muted,#6E7480);line-height:1.3}
.rtg-wisp path{opacity:0;animation:rtgWispPuff 3.4s ease-in-out infinite}
.rtg-wisp2 path{animation-delay:1.6s}
@keyframes rtgWispPuff{0%{opacity:0;transform:translateY(6px)}30%{opacity:.55}70%{opacity:.25}100%{opacity:0;transform:translateY(-7px)}}
.retigo-optbtn .ic{color:#C06F1C}
@media(max-width:820px){
  .rtg-photo{background:linear-gradient(180deg,rgba(10,13,17,.93) 0%,rgba(10,13,17,.75) 100%),
    url('/assets/img/retigo/hero-chef.webp') center/cover no-repeat}
  .rtg-temp{position:static;margin:14px 0 0;display:inline-flex}
  .rtg-steam{display:none}
}
@media(prefers-reduced-motion:reduce){.rtg-steam span,.rtg-wisp path{animation:none;opacity:.3}}
.retigo-hero-v2 .rtg-ghost{background:transparent}

/* ── Retigo hero v3: the original clean layout, with a class photo ──────────── */
.retigo-hero-v3{background:linear-gradient(165deg,#1A2026 0%,#12161B 100%);color:#fff;
  padding:clamp(40px,5.5vw,68px) 0;position:relative;overflow:visible}
.rtg3-in{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4.5vw,60px);align-items:center}
.rtg3-copy .eyebrow{letter-spacing:.2em}
.retigo-hero-v3 h1{color:#fff;font-size:clamp(2rem,4.4vw,3.2rem);margin:8px 0 12px}
.retigo-hero-v3 .retigo-lead{color:rgba(255,255,255,.84);max-width:56ch}
.retigo-hero-v3 .retigo-trialbar{display:flex;gap:16px;flex-wrap:wrap;margin:18px 0 22px}
.retigo-hero-v3 .retigo-trialbar span{display:inline-flex;align-items:center;gap:7px;
  font:700 .88rem 'Outfit',sans-serif;color:#fff}
.retigo-hero-v3 .retigo-trialbar .ic{color:#7FD9C2}
.rtg3-photo{position:relative;margin:0;justify-self:end;width:min(400px,100%)}
.rtg3-photo img{width:100%;display:block;border-radius:20px;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 34px 70px -26px rgba(0,0,0,.65)}
.rtg3-photo::after{content:"";position:absolute;inset:0;border-radius:20px;
  background:linear-gradient(200deg,rgba(255,255,255,.10) 0%,transparent 30%);pointer-events:none}
.rtg3-photo .rtg-temp{position:absolute;right:14px;bottom:14px}
@media(max-width:880px){
  .rtg3-in{grid-template-columns:1fr}
  .rtg3-photo{justify-self:center}
}
.retigo-hero-v3 .rtg-ghost{background:transparent;border-color:rgba(255,255,255,.4);color:#fff}

/* ── Variant pickers (variants.js): swatches, pills, the slick dropdown ─────── */
.vp{margin:14px 0 4px;padding:14px 15px;border:1px solid var(--line,#E7E3DB);border-radius:15px;background:#FDFBF7}
.vp-head{display:flex;align-items:center;gap:7px;font:800 .72rem 'Outfit',sans-serif;
  letter-spacing:.12em;text-transform:uppercase;color:#8B8578;margin-bottom:10px}
.vp-head-ic{color:var(--aqua,#2FB3AA);display:flex}
.vp-axis{margin:10px 0 0}
.vp-axis:first-of-type{margin-top:0}
.vp-axis-t{display:flex;align-items:baseline;gap:8px;font:700 .82rem 'Outfit',sans-serif;margin-bottom:7px}
.vp-axis-cur{font:600 .78rem 'Inter',sans-serif;color:#8B8578;font-style:normal}
.vp-swatches{display:flex;gap:8px;flex-wrap:wrap}
.vp-swatch{width:30px;height:30px;border-radius:50%;background:var(--vc);cursor:pointer;
  border:2px solid #fff;box-shadow:0 0 0 1.5px #D8D2C6;transition:transform .14s ease,box-shadow .14s ease}
.vp-swatch:hover{transform:scale(1.14)}
.vp-swatch.on{box-shadow:0 0 0 2.5px var(--coral,#FF6B6B);cursor:default}
.vp-pills{display:flex;gap:7px;flex-wrap:wrap}
.vp-pill{border:1.5px solid var(--line,#E7E3DB);background:#fff;border-radius:11px;padding:8px 13px;
  font:600 .82rem 'Inter',sans-serif;color:var(--ink,#262E38);cursor:pointer;
  transition:border-color .15s ease,transform .15s ease;max-width:100%;text-align:left}
.vp-pill:hover{transform:translateY(-1px);border-color:#B8B2A4}
.vp-pill.on{border-color:var(--coral,#FF6B6B);box-shadow:0 0 0 2.5px rgba(255,107,107,.15);cursor:default;font-weight:700}
.vp-dd{position:relative;max-width:340px}
.vp-dd-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;
  border:1.5px solid var(--line,#E7E3DB);background:#fff;border-radius:12px;padding:11px 13px;
  font:700 .9rem 'Inter',sans-serif;color:var(--ink,#262E38);cursor:pointer;transition:border-color .15s ease}
.vp-dd-btn:hover,.vp-dd-btn[aria-expanded="true"]{border-color:var(--aqua,#2FB3AA)}
.vp-dd-chev{display:flex;transform:rotate(90deg);color:#8B8578;transition:transform .2s ease}
.vp-dd-btn[aria-expanded="true"] .vp-dd-chev{transform:rotate(-90deg)}
.vp-dd-list{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:60;max-height:284px;overflow:auto;
  background:#fff;border:1px solid var(--line,#E7E3DB);border-radius:13px;
  box-shadow:0 22px 48px -16px rgba(38,46,56,.28);padding:5px;
  animation:vpDrop .16s cubic-bezier(.2,.7,.3,1)}
@keyframes vpDrop{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.vp-dd-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:9px 11px;border-radius:9px;cursor:pointer;font:600 .86rem 'Inter',sans-serif}
.vp-dd-opt:hover,.vp-dd-opt.focus{background:#F3F7F5}
.vp-dd-opt.on{background:rgba(78,205,197,.12);cursor:default}
.vp-dd-opt-v{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vp-dd-delta{font:600 .74rem 'Inter',sans-serif;color:#8B8578;font-variant-numeric:tabular-nums;white-space:nowrap}
.vp-dd-now{font:700 .7rem 'Outfit',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--aqua-deep,#1F8B84)}
@media(prefers-reduced-motion:reduce){.vp-dd-list{animation:none}}

/* ── Amefa finish swatches: labelled metallic chips, two-tone capable ────────── */
.vp-af{gap:10px 12px}
.vp-af-chip{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:52px;cursor:pointer}
.vp-af-chip.on{cursor:default}
.vp-swatch-af{width:34px;height:34px}
.vp-af-name{font:600 .68rem 'Inter',sans-serif;color:#8B8578;text-align:center;line-height:1.15;max-width:74px}
.vp-af-chip.on .vp-af-name{color:var(--ink,#262E38);font-weight:700}

/* ── Amefa: complete the setting ─────────────────────────────────────────────── */
.afs{margin:26px 0 8px;padding:clamp(16px,2.4vw,24px);border:1px solid var(--line,#E7E3DB);
  border-radius:20px;background:linear-gradient(160deg,#FDFBF7,#F6F2E9)}
.afs-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.afs-strap{font:800 .68rem 'Outfit',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--aqua-deep,#1F8B84)}
.afs-h2{font:800 clamp(1.15rem,2.2vw,1.5rem) 'Outfit',sans-serif;color:var(--ink,#262E38);margin:3px 0 4px}
.afs-sub{font:500 .85rem 'Inter',sans-serif;color:#8B8578;margin:0}
.afs-all{background:var(--ink,#262E38);color:#fff;border:none;font-weight:800;border-radius:100px;
  padding:11px 18px;display:inline-flex;align-items:center;gap:8px;transition:filter .15s,transform .15s}
.afs-all:hover{filter:brightness(1.15);transform:translateY(-1px)}
.afs-all.afs-added{background:var(--aqua-deep,#1F8B84)}
.afs-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(148px,1fr);gap:10px;
  overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.afs-card{scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;text-align:center;
  background:#fff;border:1px solid var(--line,#E7E3DB);border-radius:15px;padding:12px 10px 12px;
  text-decoration:none;transition:transform .2s cubic-bezier(.2,.8,.3,1.1),box-shadow .2s;position:relative}
.afs-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(38,46,56,.1)}
.afs-im{width:100%;aspect-ratio:1;display:grid;place-items:center;margin-bottom:6px}
.afs-im img{max-width:100%;max-height:100%;height:auto;object-fit:contain;mix-blend-mode:multiply}
.afs-glyph{color:#C9C3B6}
.afs-piece{font:700 .82rem 'Outfit',sans-serif;color:var(--ink,#262E38);line-height:1.2}
.afs-price{font:700 .8rem 'Inter',sans-serif;color:var(--aqua-deep,#1F8B84);margin:3px 0 8px;font-variant-numeric:tabular-nums}
.afs-add{display:inline-flex;align-items:center;gap:5px;border:1.5px solid var(--line,#E7E3DB);background:#fff;
  border-radius:100px;padding:6px 14px;font:700 .78rem 'Outfit',sans-serif;color:var(--ink,#262E38);
  cursor:pointer;transition:border-color .15s,background .15s}
.afs-add:hover{border-color:var(--coral,#FF6B6B);color:var(--coral,#FF6B6B)}
.afs-add.afs-added{background:var(--aqua-deep,#1F8B84);border-color:var(--aqua-deep,#1F8B84);color:#fff}
@media(max-width:560px){
  .afs-rail{grid-auto-columns:minmax(0,42%)}
  .afs-head{align-items:flex-start}
  .afs-all{width:100%;justify-content:center}
}
