/* === INSTYLE FASHION THEME — shared design system === */
:root{
  --gold-bright:#d9b56a; /* gold for dark backgrounds */
  --ink:#0a0a0a;
  --paper:#f5f1ea;
  --paper-2:#ebe5d9;
  --paper-3:#e2dccf;
  --cream:#faf6ee;
  --rule:#1a1a1a;
  --soft:rgba(10,10,10,.55);
  --softer:rgba(10,10,10,.18);
  --softest:rgba(10,10,10,.10);
  --gold:#9a7b3f;
  --gold-deep:#7a5d2a;
  --gold-soft:rgba(154,123,63,.4);
  --gold-tint:rgba(154,123,63,.08);
  --max:1440px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--paper);color:var(--ink);font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
.container{max-width:var(--max);margin:0 auto;padding:0 clamp(24px,5vw,72px)}

/* === MASTHEAD === */
.masthead{border-bottom:1px solid var(--rule);padding:18px 0;text-align:center;background:var(--paper)}
.masthead .container{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.masthead .maison{grid-column:2}
.masthead .right{grid-column:3}
.masthead .left,.masthead .right{display:flex;gap:22px;font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.masthead .right{justify-content:flex-end}
.masthead .left a:hover,.masthead .right a:hover{font-style:italic}
.maison{font-family:'Italiana',serif;font-size:36px;letter-spacing:.18em;line-height:1}
.maison .of{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14px;letter-spacing:.12em;display:block;margin-top:4px;color:var(--soft);text-transform:none}

.subnav{border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:30}
.subnav .container{display:flex;justify-content:center;align-items:center;gap:54px;padding:14px 0;font-size:11px;letter-spacing:.22em;text-transform:uppercase;position:relative}
.subnav a{position:relative;padding:6px 0}
.subnav a.active::after,.subnav a:hover::after{content:"";position:absolute;left:0;right:0;bottom:-15px;height:2px;background:var(--ink)}
/* persistent header CTA — lives in the sticky subnav, right-aligned */
.subnav .nav-cta{position:absolute;right:clamp(24px,5vw,72px);top:50%;transform:translateY(-50%);border:1px solid var(--gold);color:var(--gold-deep);padding:7px 16px;letter-spacing:.16em;white-space:nowrap;transition:all .25s ease;white-space:nowrap}
.subnav .nav-cta:hover{background:var(--gold);color:var(--paper);font-style:normal}
.subnav a.nav-cta::after,.subnav a.nav-cta:hover::after{display:none}
.masthead .nav-cta{border:1px solid var(--gold);color:var(--gold-deep);padding:7px 16px;letter-spacing:.16em;transition:all .25s ease;white-space:nowrap}
.masthead .nav-cta:hover{background:var(--gold);color:var(--paper);font-style:normal}
/* solutions mega-dropdown */
.subnav .has-mega{position:static;display:flex;align-items:center}
.subnav .mega{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--rule);box-shadow:0 24px 40px rgba(10,10,10,.10);opacity:0;visibility:hidden;transform:translateY(-6px);transition:all .22s ease;z-index:40}
.subnav .has-mega:hover .mega{opacity:1;visibility:visible;transform:translateY(0)}
.mega-inner{max-width:var(--max);margin:0 auto;padding:40px clamp(24px,5vw,72px);display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
.mega-col h6,.mega-col .mega-h{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 14px;font-weight:400}
.mega-col a{display:block;font-family:'Italiana',serif;font-size:16px;letter-spacing:.01em;text-transform:none;color:var(--ink);padding:7px 0;border-bottom:1px solid var(--softest)}
.mega-col a::after{display:none}
.mega-col a:hover{color:var(--gold-deep);font-style:italic}
.mega-col .mega-all{font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep);border-bottom:none;margin-top:8px}


/* === EDITORIAL TYPE === */
.eyebrow{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:13px;letter-spacing:.34em;text-transform:uppercase;color:var(--soft);margin-bottom:36px}
.eyebrow.center{text-align:center}
.eyebrow.center::before,.eyebrow.center::after{content:"——";margin:0 14px;letter-spacing:0;color:var(--ink)}

.h-display{font-family:'Italiana',serif;font-size:clamp(34px,4.8vw,74px);line-height:1.0;letter-spacing:-.005em;font-weight:400}
.h-display em,.h-section em,.h-subsection em,.h-card em{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300}
.h-section{font-family:'Italiana',serif;font-size:clamp(48px,6vw,84px);line-height:.95;letter-spacing:.005em;font-weight:400}
.h-subsection{font-family:'Italiana',serif;font-size:clamp(36px,4.4vw,60px);line-height:1;font-weight:400}
.h-card{font-family:'Italiana',serif;font-size:clamp(28px,2.6vw,38px);line-height:1.05;font-weight:400}
.dek{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:22px;color:var(--ink);max-width:48ch;line-height:1.45;font-weight:300}
.body-md{font-size:15px;line-height:1.75;color:rgba(10,10,10,.78)}
.byline{font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--soft)}
.byline span{color:var(--ink)}

/* === SECTION DIVIDERS === */
.section-divider{padding:80px 0 30px;text-align:center;background:var(--paper)}
.section-divider .ornament{font-family:'Italiana',serif;font-size:14px;letter-spacing:.6em;color:var(--ink);margin-bottom:24px}
.section-divider h2{font-family:'Italiana',serif;font-size:clamp(48px,6vw,84px);font-weight:400;letter-spacing:.005em;line-height:1}
.section-divider h2 em{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300}
.section-divider p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;color:var(--soft);max-width:50ch;margin:18px auto 0;line-height:1.5}

/* === BUTTONS === */
.btn{display:inline-block;padding:16px 38px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;transition:all .3s ease;border:1px solid var(--ink);cursor:pointer;background:transparent;color:var(--ink);font-family:inherit;text-align:center;font-weight:500}
.btn:hover{background:var(--ink);color:var(--paper)}
.btn-primary{background:var(--gold);color:var(--paper);border-color:var(--gold)}
.btn-primary:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn-gold{border-color:var(--gold);color:var(--gold)}
.btn-gold:hover{background:var(--gold);color:var(--paper)}
.btn-light{border-color:var(--paper);color:var(--paper)}
.btn-light:hover{background:var(--paper);color:var(--ink)}

/* === EDITORIAL CRUMB === */
.crumb{padding:18px 0;border-bottom:1px solid var(--softer);background:var(--paper);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--soft)}
.crumb a:hover{color:var(--ink);font-style:italic}
.crumb .sep{margin:0 12px;color:var(--soft)}
.crumb .now{color:var(--ink)}

/* === COLOPHON FOOTER === */
.colophon{background:var(--paper-2);padding:70px 0 40px;border-top:1px solid var(--rule)}
.colophon-grid{display:grid;grid-template-columns:1.4fr 2.4fr 1fr 1fr;gap:44px;margin-bottom:48px}
.colophon .foot-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.colophon :is(h6,h3){font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-deep);font-weight:500;margin-bottom:8px;font-family:'Inter',sans-serif}
.colophon :is(h5,h2){font-family:'Italiana',serif;font-size:14px;letter-spacing:.34em;margin-bottom:18px}
.colophon a{display:block;padding:5px 0;font-size:13px;color:rgba(10,10,10,.7)}
.colophon a:hover{color:var(--ink);font-style:italic}
.colophon .brand-block .maison{font-size:30px}
.colophon .brand-block p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:17px;line-height:1.5;margin-top:18px;color:rgba(10,10,10,.7);max-width:32ch}
.colophon-bottom{border-top:1px solid var(--softer);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(10,10,10,.55)}

/* === DRAFT RIBBON === */
.draft-ribbon{position:fixed;top:14px;right:14px;background:var(--ink);color:var(--paper);padding:6px 14px;font-size:10px;letter-spacing:.32em;text-transform:uppercase;z-index:300;font-family:'Inter',sans-serif}

/* === EDITORIAL MOTION === */
@media (prefers-reduced-motion: no-preference){
  .rv{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s cubic-bezier(.22,.61,.21,1);transition-delay:var(--rv-d,0ms)}
  .rv.in{opacity:1;transform:none}
  .frame img.sup{transform:scale(1.001);transition:transform 6s ease,filter .5s ease}
  .maison-card:hover .frame img.sup,.pillar:hover .frame img.sup{transform:scale(1.045)}
  .pillar,.ind-card,.brand-tile,.hub-card{transition:transform .45s cubic-bezier(.22,.61,.21,1),opacity .9s ease,background .3s ease,border-color .3s ease}
  .pillar:hover,.ind-card:hover{transform:translateY(-6px)}
  .brand-tile:hover{transform:translateY(-4px)}
  .btn{transition:all .3s ease,transform .25s ease}
  .btn:hover{transform:translateY(-2px)}
  .subnav a.active::after,.subnav a:hover::after{animation:rule-in .35s cubic-bezier(.22,.61,.21,1)}
  @keyframes rule-in{from{transform:scaleX(0)}to{transform:scaleX(1)}}

  /* directional reveals — image slides in from the margin, text from the gutter */
  .rv-l{opacity:0;transform:translateX(-26px);transition:opacity 1s ease,transform 1.1s cubic-bezier(.22,.61,.21,1);transition-delay:var(--rv-d,0ms)}
  .rv-r{opacity:0;transform:translateX(26px);transition:opacity 1s ease,transform 1.1s cubic-bezier(.22,.61,.21,1);transition-delay:var(--rv-d,80ms)}
  .rv-l.in,.rv-r.in{opacity:1;transform:none}

  /* slow ken-burns on the full-bleed bands */
  .plate-band img{animation:kb 26s ease-in-out infinite alternate;transform-origin:52% 48%}
  @keyframes kb{from{transform:scale(1)}to{transform:scale(1.07)}}

  /* the cover's concentric rules breathe */
  .cover::before{animation:ring-a 46s linear infinite}
  .cover::after{animation:ring-b 64s linear infinite}
  @keyframes ring-a{from{transform:translate(-50%,-50%) rotate(0) scale(1)}50%{transform:translate(-50%,-50%) rotate(180deg) scale(1.04)}to{transform:translate(-50%,-50%) rotate(360deg) scale(1)}}
  @keyframes ring-b{from{transform:translate(-50%,-50%) rotate(360deg)}to{transform:translate(-50%,-50%) rotate(0)}}

  /* section headings draw a gold rule as they arrive */
  .section-divider h2{position:relative}
  .section-divider h2::after{content:"";position:absolute;left:50%;bottom:-14px;width:56px;height:1px;background:var(--gold);transform:translateX(-50%) scaleX(0);transform-origin:center;transition:transform .9s cubic-bezier(.22,.61,.21,1) .35s}
  .section-divider h2.in::after,.section-divider .in h2::after{transform:translateX(-50%) scaleX(1)}

  /* the sticky bar condenses once you leave the masthead */
  .subnav{transition:padding .3s ease,box-shadow .3s ease,background .3s ease}
  .subnav.condensed{box-shadow:0 10px 30px -18px rgba(10,10,10,.45)}
  .subnav.condensed .container{padding:9px 0}

  /* enquiry / CTA buttons get a sweep */
  .btn{position:relative;overflow:hidden}
  .btn::after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.22),transparent);transform:skewX(-18deg);transition:left .7s ease}
  .btn:hover::after{left:150%}
}

/* === TONE FRAMES === */
.frame.has-photo .mono{display:none}
.frame.has-photo img.sup{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:grayscale(.18) contrast(1.02);font-size:0;color:transparent}
.frame.has-photo .place{z-index:3;background:linear-gradient(0deg,rgba(10,10,10,.62) 0%,rgba(10,10,10,0) 55%)}
.frame.has-photo.noimg img.sup{display:none}
.frame{position:relative;overflow:hidden;background:var(--ink)}
.frame::before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.15);z-index:2;pointer-events:none}
.frame .place{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:flex-start;padding:36px 32px;color:rgba(255,255,255,.92);z-index:3}
.frame .place-inner{font-family:'Italiana',serif;font-size:42px;line-height:1;letter-spacing:.02em}
.frame .place-inner small{display:block;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14px;letter-spacing:.22em;text-transform:uppercase;margin-top:8px;color:rgba(255,255,255,.7)}
.frame .mono{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Italiana',serif;font-size:160px;color:rgba(255,255,255,.08);letter-spacing:-.02em;line-height:1;z-index:1}
.frame.tone-cream{background:linear-gradient(160deg,#efe4cf 0%,#cdb487 100%)}
.frame.tone-cream .place,.frame.tone-blush .place,.frame.tone-ivory .place,.frame.tone-stone .place{color:rgba(0,0,0,.78)}
.frame.tone-cream .place-inner small,.frame.tone-blush .place-inner small,.frame.tone-ivory .place-inner small,.frame.tone-stone .place-inner small{color:rgba(0,0,0,.5)}
.frame.tone-cream::before,.frame.tone-blush::before,.frame.tone-ivory::before,.frame.tone-stone::before{border-color:rgba(0,0,0,.16)}
.frame.tone-cream .mono,.frame.tone-blush .mono,.frame.tone-ivory .mono,.frame.tone-stone .mono{color:rgba(0,0,0,.08)}
.frame.tone-noir2{background:linear-gradient(155deg,#2c2924 0%,#0a0a0a 100%)}
.frame.tone-blush{background:linear-gradient(160deg,#e0d2bd 0%,#b9a079 100%)}
.frame.tone-noir{background:linear-gradient(155deg,#2a2620 0%,#000 100%)}
.frame.tone-bordeaux{background:linear-gradient(155deg,#8a6a32 0%,#3a2c12 100%)}
.frame.tone-stone{background:linear-gradient(160deg,#a8997d 0%,#5f5340 100%)}
.frame.tone-amber{background:linear-gradient(160deg,#c79a4f 0%,#6e4f1e 100%)}
.frame.tone-emerald{background:linear-gradient(155deg,#33302a 0%,#0d0c0a 100%)}
.frame.tone-rust{background:linear-gradient(160deg,#9a6f3a 0%,#3e2a12 100%)}
.frame.tone-ivory{background:linear-gradient(160deg,#ece4d2 0%,#cebd9b 100%)}
.frame.tone-midnight{background:linear-gradient(155deg,#26231d 0%,#050505 100%)}

/* === FORMS === */
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:18px}
.field{display:flex;flex-direction:column}
.field label{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--soft);margin-bottom:8px;font-weight:500}
.field input,.field select,.field textarea{background:transparent;border:none;border-bottom:1px solid var(--ink);padding:12px 0;font-family:'Inter',sans-serif;font-size:15px;color:var(--ink);outline:none;width:100%}
.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--gold)}
.field textarea{min-height:90px;resize:vertical}

/* ============= PAGE-SPECIFIC PATTERNS ============= */

/* === COVER (homepage / about / contact / solutions index) === */
.cover{padding:120px 0 80px;border-bottom:1px solid var(--rule);background:linear-gradient(180deg,var(--paper) 0%,var(--paper-2) 100%);position:relative;overflow:hidden;text-align:center}
.cover::before{content:"";position:absolute;top:50%;left:50%;width:680px;height:680px;border:1px solid rgba(0,0,0,.08);border-radius:50%;transform:translate(-50%,-50%)}
.cover::after{content:"";position:absolute;top:50%;left:50%;width:420px;height:420px;border:1px solid rgba(0,0,0,.06);border-radius:50%;transform:translate(-50%,-50%)}
.cover-inner{position:relative;z-index:2}
.cover h1{margin-bottom:24px}
.cover .dek{margin:0 auto}
.cover.left{text-align:left}
.cover.left::before,.cover.left::after{display:none}
.cover.left .dek{margin:0}

/* === STATS STRIP === */
.stat-strip{background:var(--paper);border-bottom:1px solid var(--rule)}
.stat-strip .container{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--softer)}
.stat{background:var(--paper);padding:32px 28px}
.stat-n{font-family:'Italiana',serif;font-size:48px;line-height:1;letter-spacing:-.01em;display:flex;align-items:baseline;gap:6px;margin-bottom:8px}
.stat-n sup{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;color:var(--gold);font-weight:400}
.stat-l{font-size:11px;color:var(--soft);text-transform:uppercase;letter-spacing:.18em;font-weight:500}

/* === INTRO / EDITORIAL TWO-COLUMN === */
.editorial{padding:120px 0 100px;background:var(--paper)}
.editorial-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:80px;align-items:start}
.editorial-grid.reverse{grid-template-columns:1.5fr 1fr}
.editorial h2{font-family:'Italiana',serif;font-weight:400;font-size:clamp(40px,4.4vw,68px);line-height:1;letter-spacing:.005em}
.editorial h2 em{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300}
.editorial-body p{font-size:15.5px;line-height:1.75;color:rgba(10,10,10,.78);margin-bottom:18px;max-width:60ch}
.editorial-body p:last-of-type{color:var(--ink)}
.editorial-body p strong{color:var(--ink);font-weight:500}
.editorial-body .pull{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:24px;line-height:1.4;color:var(--ink);max-width:32ch;margin:8px 0 0}

/* === PILLARS GRID === */
.pillars-band{padding:100px 0;background:var(--paper-2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.pillars-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:60px}
.pillars-head h2{font-family:'Italiana',serif;font-weight:400;font-size:clamp(40px,4.6vw,72px);line-height:1;letter-spacing:.005em}
.pillars-head h2 em{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300}
.pillars-head p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:20px;line-height:1.5;color:var(--soft);max-width:42ch}
.pillars-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}
.pillar{background:var(--paper);padding:40px 30px 36px;display:flex;flex-direction:column;min-height:520px;transition:background .25s ease}
.pillar:hover{background:var(--cream)}
.pillar-num{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16px;color:var(--gold);margin-bottom:36px}
.pillar-img{height:200px;margin-bottom:36px;background:var(--ink);position:relative;overflow:hidden}
.pillar-img::before{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,.15);z-index:2}
.pillar h3{font-family:'Italiana',serif;font-weight:400;font-size:42px;letter-spacing:.005em;margin-bottom:8px;line-height:.95}
.pillar h3 em{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300}
.pillar-sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16px;color:var(--soft);margin-bottom:20px}
.pillar p{font-size:14.5px;line-height:1.65;color:rgba(10,10,10,.72);margin-bottom:24px;flex:1}
.pillar-list{border-top:1px solid var(--softer);padding-top:18px;display:flex;flex-direction:column;gap:8px}
.pillar-list span{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15.5px;color:var(--ink);display:flex;align-items:baseline;gap:10px}
.pillar-list span::before{content:"·";color:var(--gold);font-style:normal;font-size:20px}
.pillar-link{margin-top:22px;font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink);align-self:flex-start;border-bottom:1px solid var(--ink);padding-bottom:4px}

/* === MAISON CARDS (used in brands list and homepage) === */
.maison-list{padding:30px 0 80px;background:var(--paper)}
.maison-card{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:stretch;padding:80px 0;border-top:1px solid var(--softer);position:relative}
.maison-card:first-of-type{border-top:none}
.maison-card .frame{aspect-ratio:4/5}
.maison-card .meta{display:flex;flex-direction:column;justify-content:center;padding:20px 0}
.maison-card .ord{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;color:var(--soft);margin-bottom:14px}
.maison-card .pillar-tag{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:18px}
.maison-card h3{font-family:'Italiana',serif;font-size:clamp(48px,5vw,76px);line-height:.95;letter-spacing:-.01em;margin-bottom:20px;font-weight:400}
.maison-card h3 em{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300}
.maison-card .lede{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:22px;line-height:1.45;color:var(--ink);max-width:34ch;margin-bottom:30px;font-weight:300}
.maison-card .body{font-size:14.5px;line-height:1.75;color:rgba(10,10,10,.78);max-width:50ch;margin-bottom:30px}
.maison-card .we-supply{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:20px 0;margin-bottom:30px;max-width:50ch}
.maison-card .we-supply .l{font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;font-weight:500}
.maison-card .we-supply .v{font-family:'Cormorant Garamond',serif;font-size:17px;line-height:1.5;color:var(--ink)}
.maison-card .links{display:flex;gap:36px;flex-wrap:wrap;font-size:11px;letter-spacing:.22em;text-transform:uppercase}
.maison-card .links a{position:relative;padding-bottom:5px;border-bottom:1px solid var(--ink);transition:padding .2s}
.maison-card .links a:hover{padding-right:10px}
.maison-card.reverse{grid-template-columns:1.4fr 1fr}
.maison-card.reverse .frame{order:2}
.maison-card.reverse .meta{order:1;align-items:flex-end;text-align:right}
.maison-card.reverse .lede,.maison-card.reverse .body,.maison-card.reverse .we-supply{margin-left:auto}
.maison-card.reverse .links{justify-content:flex-end}

/* === DARK PROMENADE / CTA === */
.promenade{padding:100px 0;text-align:center;background:var(--ink);color:var(--paper);position:relative;overflow:hidden}
.promenade::before{content:"";position:absolute;top:50%;left:50%;width:780px;height:780px;border:1px solid rgba(255,255,255,.08);border-radius:50%;transform:translate(-50%,-50%)}
.promenade .container{position:relative;z-index:2}
.promenade h2{font-family:'Italiana',serif;font-size:clamp(40px,4.8vw,68px);line-height:1;font-weight:400}
.promenade h2 em{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;color:var(--gold-bright)}
.promenade p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:20px;color:rgba(245,241,234,.75);max-width:48ch;margin:24px auto 36px;line-height:1.5}

/* === ENQUIRY (light form section, dark or light) === */
.enquiry{padding:100px 0;background:var(--paper)}
.enquiry-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:start}
.enquiry h2{font-family:'Italiana',serif;font-size:clamp(40px,4.6vw,72px);font-weight:400;line-height:1;margin-bottom:22px}
.enquiry h2 em{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300}
.enquiry .lede{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:20px;line-height:1.5;color:var(--soft);max-width:40ch}
.enquiry-form{background:var(--cream);border:1px solid var(--softer);padding:40px}
.enquiry-form h4,.enquiry-form h3.was-h4{font-family:'Italiana',serif;font-size:24px;font-weight:400;margin-bottom:8px}
.enquiry-form .h4-sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;color:var(--soft);margin-bottom:26px}
.enquiry.dark{background:var(--ink);color:var(--paper)}
.enquiry.dark h2{color:var(--paper)}
.enquiry.dark h2 em{color:var(--gold-bright)}
.enquiry.dark .lede{color:rgba(245,241,234,.7)}
.enquiry.dark .enquiry-form{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.16)}
.enquiry.dark .enquiry-form h4,.enquiry.dark .enquiry-form h3.was-h4{color:var(--paper)}
.enquiry.dark .enquiry-form .h4-sub{color:rgba(245,241,234,.6)}
.enquiry.dark .field label{color:rgba(245,241,234,.6)}
.enquiry.dark .field input,.enquiry.dark .field select,.enquiry.dark .field textarea{color:var(--paper);border-bottom-color:rgba(245,241,234,.3)}
.enquiry.dark .field input::placeholder,.enquiry.dark .field textarea::placeholder{color:rgba(245,241,234,.4)}

/* === BRAND TILE GRID (homepage brands) === */
.brand-tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}
.brand-tile{background:var(--paper);aspect-ratio:3/2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px;text-align:center;transition:background .25s ease}
.brand-tile:hover{background:var(--cream)}
.brand-tile .name{font-family:'Italiana',serif;font-size:22px;letter-spacing:.04em;color:var(--ink)}
.brand-tile .country{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14px;color:var(--soft);margin-top:6px}
.brand-tile.dark{background:var(--ink);color:var(--paper)}
.brand-tile.dark .name{color:var(--paper)}
.brand-tile.dark .country{color:rgba(245,241,234,.7)}

/* === INDUSTRIES GRID === */
.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.ind-card{background:var(--cream);border:1px solid var(--softer);padding:36px 30px 32px;display:flex;flex-direction:column;min-height:240px;transition:all .3s ease}
.ind-card:hover{border-color:var(--ink);background:var(--paper)}
.ind-card .ord{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16px;color:var(--gold);margin-bottom:24px}
.ind-card h4,.ind-card h3.was-h4{font-family:'Italiana',serif;font-size:30px;font-weight:400;line-height:1;letter-spacing:.005em;margin-bottom:12px}
.ind-card p{font-size:14px;line-height:1.65;color:rgba(10,10,10,.7);flex:1}
.ind-card .count{margin-top:18px;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:500}

/* === TIMELINE === */
.timeline-band{padding:100px 0;background:var(--paper);border-top:1px solid var(--rule)}
.timeline-grid{display:grid;grid-template-columns:auto 1fr;gap:70px;align-items:start}
.timeline-track{position:relative;padding-left:30px;border-left:1px solid var(--rule)}
.tl-step{position:relative;padding-bottom:50px}
.tl-step:last-child{padding-bottom:0}
.tl-step::before{content:"";position:absolute;left:-37px;top:6px;width:14px;height:14px;background:var(--paper);border:1px solid var(--ink);border-radius:50%}
.tl-step.active::before{background:var(--ink)}
.tl-year{font-family:'Italiana',serif;font-size:32px;line-height:1;color:var(--gold);margin-bottom:8px;letter-spacing:.005em}
.tl-step h4,.tl-step h3.was-h4{font-family:'Italiana',serif;font-size:26px;font-weight:400;line-height:1.05;margin-bottom:10px;letter-spacing:.005em}
.tl-step p{font-size:15px;line-height:1.7;color:rgba(10,10,10,.72);max-width:55ch}

/* === NUMBERS GRID === */
.numbers-band{padding:100px 0;background:var(--paper-2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.numbers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:50px}
.num-cell{background:var(--paper);padding:40px 32px;display:flex;flex-direction:column;justify-content:flex-end;min-height:280px}
.num-cell .big{font-family:'Italiana',serif;font-size:80px;line-height:1;letter-spacing:-.01em;margin-bottom:8px}
.num-cell .lbl{font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:16px}
.num-cell p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:17px;line-height:1.5;color:var(--soft)}

/* === STEPS (about role / sourcing process) === */
.steps-stack{display:flex;flex-direction:column;gap:1px;background:var(--rule);border:1px solid var(--rule)}
.step-row{background:var(--paper);padding:32px 36px;display:grid;grid-template-columns:60px 1fr 120px;gap:28px;align-items:start;transition:background .25s ease}
.step-row:hover{background:var(--cream)}
.step-row .step-n{font-family:'Italiana',serif;font-size:36px;line-height:1;color:var(--gold)}
.step-row h4,.step-row h3.was-h4{font-family:'Italiana',serif;font-size:24px;font-weight:400;line-height:1.05;margin-bottom:8px;letter-spacing:.005em}
.step-row p{font-size:14.5px;line-height:1.65;color:rgba(10,10,10,.7);max-width:50ch}
.step-row .meta{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:500;text-align:right;padding-top:8px}

/* === HUB CARDS (solutions index) === */
.hub-pillar{padding:90px 0;border-bottom:1px solid var(--rule)}
.hub-pillar.featured{background:var(--ink);color:var(--paper);border-bottom:6px solid var(--gold)}
.hub-pillar.featured h2{color:var(--paper)}
.hub-pillar.featured .pillar-eyebrow{color:var(--gold-bright)}
.hub-pillar.featured .pillar-sub{color:rgba(245,241,234,.65)}
.pillar-eyebrow{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;display:flex;align-items:center;gap:14px}
.pillar-eyebrow::before{content:"";width:32px;height:1px;background:var(--gold)}
.pillar-title{font-family:'Italiana',serif;font-size:clamp(36px,4.2vw,60px);font-weight:400;line-height:1;letter-spacing:.005em;margin-bottom:16px;max-width:20ch}
.pillar-title em{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300}
.pillar-sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:20px;line-height:1.5;color:var(--soft);max-width:55ch;margin-bottom:48px}
.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(10,10,10,.18);border:1px solid rgba(10,10,10,.18)}
.hub-pillar.featured .hub-grid{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.16)}
.hub-card{background:var(--cream);padding:40px 34px;display:flex;flex-direction:column;transition:all .3s ease;min-height:340px}
.hub-card:hover{background:var(--paper)}
.hub-pillar.featured .hub-card{background:#1c1c1c;color:var(--paper)}
.hub-pillar.featured .hub-card:hover{background:#262626}
.hub-card .num{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14px;color:var(--gold);margin-bottom:30px;letter-spacing:.04em}
.hub-card h3{font-family:'Italiana',serif;font-size:36px;font-weight:400;line-height:1;letter-spacing:.005em;margin-bottom:14px}
.hub-pillar.featured .hub-card h3{color:var(--paper)}
.hub-card p{font-size:14.5px;line-height:1.65;color:rgba(10,10,10,.7);flex:1;margin-bottom:18px}
.hub-pillar.featured .hub-card p{color:rgba(245,241,234,.7)}
.hub-card .arrow{font-family:'Italiana',serif;font-size:24px;color:var(--ink);align-self:flex-end}
.hub-pillar.featured .hub-card .arrow{color:var(--paper)}

/* ============= SOLUTION DETAIL PAGE ============= */

/* === SOLUTION HERO === */
.shero{padding:60px 0 90px;background:var(--paper);border-bottom:1px solid var(--rule);position:relative}
.shero-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.shero .pillar-tag{font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:14px;display:flex;align-items:center;gap:14px}
.shero .pillar-tag::before{content:"";width:32px;height:1px;background:var(--gold)}
.shero .subt{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:22px;color:var(--soft);margin-bottom:20px}
.shero h1{font-family:'Italiana',serif;font-size:clamp(40px,5vw,76px);line-height:1;font-weight:400;letter-spacing:-.005em;margin-bottom:28px}
.shero h1 em{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300}
.shero .desc{font-size:16px;line-height:1.7;color:rgba(10,10,10,.78);max-width:50ch;margin-bottom:32px}
.shero .quick-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-bottom:36px}
.shero .qm{background:var(--paper);padding:18px 20px}
.shero .qm-l{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--soft);margin-bottom:6px;font-weight:500}
.shero .qm-v{font-family:'Cormorant Garamond',serif;font-size:16px;line-height:1.3;color:var(--ink)}
.shero-img{aspect-ratio:4/5;position:relative;overflow:hidden}
.shero-img::before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.18);z-index:2}
.shero-img .lbl{position:absolute;top:32px;left:32px;font-family:'Italiana',serif;font-size:32px;color:rgba(255,255,255,.95);line-height:1;z-index:3;max-width:14ch}
.shero-img .lbl small{display:block;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:13px;letter-spacing:.18em;text-transform:uppercase;margin-top:10px;color:rgba(255,255,255,.65)}
.shero-img .cap{position:absolute;bottom:28px;left:32px;right:32px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:13px;color:rgba(255,255,255,.55);z-index:3}

/* === BRAND STORY (origin block, dark) === */
.brand-story{background:var(--ink);color:var(--paper);padding:100px 0;border-bottom:none}
.brand-story .container{display:grid;grid-template-columns:300px 1fr;gap:80px;align-items:start}
.brand-story .eye{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-bright);font-weight:400;margin-bottom:18px;display:flex;align-items:center;gap:14px}
.brand-story .eye::before{content:"";width:32px;height:1px;background:var(--gold-bright)}
.brand-story h2{font-family:'Italiana',serif;font-weight:400;font-size:clamp(36px,4.4vw,64px);line-height:1;letter-spacing:.005em;color:var(--paper)}
.brand-story h2 em{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;color:var(--gold-bright)}
.brand-story p{font-size:16px;line-height:1.75;color:rgba(245,241,234,.78);margin-bottom:20px;max-width:64ch}
.brand-story p strong{color:var(--paper);font-weight:500}
.brand-story .meta-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16);margin-top:36px}
.brand-story .mr{background:#1a1a1c;padding:24px 26px}
.brand-story .mr-l{font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:rgba(245,241,234,.55);margin-bottom:10px;font-weight:500}
.brand-story .mr-v{font-family:'Italiana',serif;font-size:20px;color:var(--paper);line-height:1.2;letter-spacing:.005em}

/* === SOLUTION BLOCK (catalogue / matrix / impact) === */
.sblock{padding:100px 0;border-bottom:1px solid var(--rule)}
.sblock.alt{background:var(--paper-2)}
.sblock.dark{background:var(--ink);color:var(--paper);border-bottom:none}
.sblock-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:80px;align-items:start}
.sblock-grid.full{grid-template-columns:1fr;gap:50px}
.block-num{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:60px;line-height:1;color:var(--gold);margin-bottom:18px;display:flex;align-items:baseline;gap:18px}
.block-num span{font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--soft);font-style:normal;font-weight:500}
.sblock.dark .block-num span{color:rgba(245,241,234,.55)}
.block-h2{font-family:'Italiana',serif;font-weight:400;font-size:clamp(36px,4.4vw,64px);line-height:.95;letter-spacing:.005em;margin-bottom:20px}
.block-h2 em{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300}
.block-intro{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;line-height:1.5;color:var(--soft);max-width:42ch}
.sblock.dark .block-intro{color:rgba(245,241,234,.7)}

/* === CATALOGUE (product line-up cards) === */
.catalogue{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}
.cat-card{background:var(--paper);padding:32px 28px 30px;display:flex;flex-direction:column;min-height:240px;transition:background .25s ease}
.cat-card:hover{background:var(--cream)}
.sblock.alt .cat-card{background:var(--cream)}
.sblock.alt .cat-card:hover{background:var(--paper)}
.cat-card .badge{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14px;color:var(--gold);margin-bottom:14px;letter-spacing:.04em}
.cat-card h4,.cat-card h3.was-h4{font-family:'Italiana',serif;font-size:24px;font-weight:400;line-height:1.1;margin-bottom:10px;letter-spacing:.005em}
.cat-card p{font-size:13.5px;line-height:1.6;color:var(--soft);flex:1}
.cat-card .meta{margin-top:14px;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:500}

/* === MATRIX TABLE === */
.matrix{width:100%;border-collapse:collapse;background:var(--paper)}
.matrix thead th{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--soft);font-weight:500;text-align:left;padding:14px 18px;border-bottom:1px solid var(--rule)}
.matrix tbody td{padding:18px;border-bottom:1px solid var(--softer);font-size:14.5px;line-height:1.5;color:rgba(10,10,10,.85);vertical-align:top}
.matrix tbody td:first-child{font-family:'Italiana',serif;font-size:18px;font-weight:400;color:var(--ink);letter-spacing:.005em}
.matrix tbody tr:last-child td{border-bottom:none}
.pill{display:inline-block;padding:4px 12px;border:1px solid var(--ink);font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:500}
.sblock.alt .matrix{background:var(--cream)}
.sblock.dark .matrix{background:#1a1a1c;color:var(--paper)}
.sblock.dark .matrix thead th{color:rgba(245,241,234,.55);border-bottom-color:rgba(255,255,255,.2)}
.sblock.dark .matrix tbody td{color:rgba(245,241,234,.85);border-bottom-color:rgba(255,255,255,.12)}
.sblock.dark .matrix tbody td:first-child{color:var(--paper)}
.sblock.dark .pill{border-color:var(--paper);color:var(--paper)}

/* === IMPACT ROWS === */
.impact-rows{display:flex;flex-direction:column;gap:1px;background:var(--rule);border:1px solid var(--rule)}
.impact-row{background:var(--paper);padding:30px 36px;display:grid;grid-template-columns:90px 1fr 2fr;gap:32px;align-items:center}
.impact-stat{font-family:'Italiana',serif;font-size:46px;line-height:1;color:var(--gold);letter-spacing:-.01em}
.impact-row .why{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14px;color:var(--gold);letter-spacing:.04em;margin-bottom:6px}
.impact-row h4,.impact-row h3.was-h4{font-family:'Italiana',serif;font-size:22px;font-weight:400;line-height:1.1}
.impact-row p{font-size:14px;line-height:1.6;color:var(--soft)}

/* === HOW STEPS === */
.how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}
.how-step{background:var(--paper);padding:30px 28px;display:flex;flex-direction:column;gap:10px;min-height:200px}
.how-step h4,.how-step h3.was-h4{font-family:'Italiana',serif;font-size:22px;font-weight:400;line-height:1.1;letter-spacing:.005em}
.how-step p{font-size:14px;line-height:1.65;color:var(--soft)}

/* === SOLUTION-STACK (sourcing/sample/order timeline) === */
.solution-stack{display:flex;flex-direction:column;gap:1px;background:var(--rule);border:1px solid var(--rule)}
.solution-stack .step{background:var(--paper);padding:28px 32px;display:grid;grid-template-columns:60px 1fr 120px;gap:28px;align-items:start}
.solution-stack .step-n{font-family:'Italiana',serif;font-size:32px;color:var(--gold);line-height:1}
.solution-stack .step h4,.solution-stack .step h3.was-h4{font-family:'Italiana',serif;font-size:22px;font-weight:400;line-height:1.1;margin-bottom:6px;letter-spacing:.005em}
.solution-stack .step p{font-size:14px;line-height:1.6;color:var(--soft);max-width:50ch}
.solution-stack .step .meta{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:500;text-align:right;padding-top:8px}

/* === TECH ACCORDION === */
.tech-acc{display:flex;flex-direction:column;border-top:1px solid var(--rule)}
.tech-row{border-bottom:1px solid var(--rule)}
.tech-row summary{padding:22px 0;font-family:'Italiana',serif;font-size:22px;font-weight:400;cursor:pointer;list-style:none;display:flex;justify-content:space-between;letter-spacing:.005em}
.tech-row summary::-webkit-details-marker{display:none}
.tech-row summary::after{content:"+";font-family:'Italiana',serif;color:var(--gold);font-size:24px;transition:transform .25s}
.tech-row[open] summary::after{transform:rotate(45deg)}
.tech-body{padding:0 0 24px;font-size:14.5px;line-height:1.7;color:var(--soft);max-width:60ch}

/* === FREQUENCY CELLS (RFID) === */
.freq{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}
.freq-cell{background:var(--paper);padding:28px 24px}
.freq-cell .hz{font-family:'Italiana',serif;font-size:26px;color:var(--gold);font-weight:400;line-height:1.1;margin-bottom:10px;letter-spacing:.005em}
.freq-cell p{font-size:13px;color:var(--soft);line-height:1.55}

/* === RELATED CARDS === */
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.rel{background:var(--cream);border:1px solid var(--softer);padding:28px;display:flex;flex-direction:column;gap:10px;transition:all .25s ease;min-height:260px}
.rel:hover{border-color:var(--ink);background:var(--paper)}
.rel-img{aspect-ratio:3/2;background:var(--ink);position:relative;overflow:hidden;margin-bottom:6px}
.rel-img::before{content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.15)}
.rel-pillar{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:500}
.rel h4,.rel h3.was-h4{font-family:'Italiana',serif;font-size:24px;font-weight:400;line-height:1.05;letter-spacing:.005em}
.rel p{font-size:13.5px;line-height:1.55;color:var(--soft);flex:1}

/* === OFFICES === */
.offices{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}
.office{background:var(--paper);padding:32px 30px;display:flex;flex-direction:column}
.office .city-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;gap:14px}
.office h4,.office h3.was-h4{font-family:'Italiana',serif;font-size:30px;font-weight:400;line-height:1;letter-spacing:.005em}
.office .badge{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:500}
.office .role{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;color:var(--soft);margin-bottom:14px}
.office address{font-style:normal;font-size:14px;line-height:1.65;color:var(--ink);margin-bottom:14px}
.office address .tbc{color:var(--soft);font-style:italic;font-family:'Cormorant Garamond',serif}
.office .ph{font-size:13.5px;color:var(--ink);margin-bottom:14px;line-height:1.55}
.office .ph a{border-bottom:1px solid var(--gold);color:var(--gold)}
.office .map-link{margin-top:auto;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:3px;align-self:flex-start;font-weight:500}

/* === PROCESS HOURS PANEL === */
.hours-panel{margin-top:30px;padding:26px 30px;background:var(--paper-2);border:1px solid var(--rule)}
.hours-panel .h-l{font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:10px}
.hours-panel .h-v{font-family:'Cormorant Garamond',serif;font-size:17px;line-height:1.55;color:var(--ink)}

/* === RESPONSIVE === */
@media (max-width:1280px){
  .pillars-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1100px){
  .masthead .container{grid-template-columns:1fr;text-align:center}
  .subnav .nav-cta{position:static;transform:none;padding:5px 12px}
  .maison-card .frame{aspect-ratio:4/3;max-height:440px}
  .pillar-img.frame{max-height:340px}
  .masthead .maison{grid-column:auto}
  .masthead .right{grid-column:auto}
  .masthead .left,.masthead .right{justify-content:center}
  .subnav .container{gap:24px;flex-wrap:wrap;font-size:10px}
  .colophon-grid{grid-template-columns:1fr 1fr}
  .colophon .foot-solutions{grid-column:1/-1}
  .field-row{grid-template-columns:1fr;gap:14px}
  .editorial-grid,.editorial-grid.reverse{grid-template-columns:1fr;gap:32px}
  .pillars-head{grid-template-columns:1fr;gap:24px}
  .pillars-grid{grid-template-columns:1fr}
  .pillar{min-height:auto}
  .maison-card,.maison-card.reverse{grid-template-columns:1fr;gap:30px;padding:60px 0}
  .maison-card.reverse .frame{order:0}
  .maison-card.reverse .meta{order:0;align-items:flex-start;text-align:left}
  .maison-card.reverse .lede,.maison-card.reverse .body,.maison-card.reverse .we-supply{margin-left:0}
  .maison-card.reverse .links{justify-content:flex-start}
  .stat-strip .container{grid-template-columns:repeat(2,1fr)}
  .ind-grid{grid-template-columns:repeat(2,1fr)}
  .brand-tiles{grid-template-columns:repeat(3,1fr)}
  .timeline-grid{grid-template-columns:1fr;gap:32px}
  .numbers-grid{grid-template-columns:repeat(2,1fr)}
  .step-row,.solution-stack .step{grid-template-columns:50px 1fr;gap:18px}
  .step-row .meta,.solution-stack .step .meta{display:none}
  .hub-grid{grid-template-columns:1fr 1fr}
  .shero-grid{grid-template-columns:1fr;gap:40px}
  .brand-story .container{grid-template-columns:1fr;gap:32px}
  .brand-story .meta-row{grid-template-columns:1fr}
  .sblock-grid{grid-template-columns:1fr;gap:36px}
  .catalogue,.how-steps,.related-grid{grid-template-columns:1fr 1fr}
  .freq{grid-template-columns:1fr 1fr}
  .impact-row{grid-template-columns:60px 1fr;gap:18px}
  .impact-row p{grid-column:2}
  .offices{grid-template-columns:1fr}
  .enquiry-grid{grid-template-columns:1fr;gap:40px}
}
@media (max-width:680px){
  .masthead{padding:14px 0}
  .maison{font-size:28px}
  .brand-tiles{grid-template-columns:repeat(2,1fr)}
  .ind-grid,.numbers-grid,.catalogue,.how-steps,.related-grid{grid-template-columns:1fr}
  .stat-strip .container{grid-template-columns:repeat(2,1fr)}
  .colophon-grid{grid-template-columns:1fr}
  .colophon .foot-pillars{grid-template-columns:1fr}
}
/* ===== PHONE (≤480px) ===== */
@media (max-width:480px){
  .container{padding:0 20px}
  .h-display{font-size:clamp(30px,8.5vw,38px);line-height:1.05}
  .h-section,.editorial h2,.pillars-head h2,.promenade h2,.enquiry h2,.cta h2,.block-h2,.brand-story h2,.pillar-title,.section-divider h2,.shero h1,.phero h1{font-size:clamp(28px,8vw,36px) !important;line-height:1.08}
  .dek{font-size:18px}
  .cover{padding-top:30px}
  .cover-cta{flex-direction:column}
  .cover-cta .btn{width:100%}
  .btn{display:block;width:100%;padding:15px 24px;text-align:center}
  .cover-cta,.shero .cta-row,.phero .cta-row{gap:10px}
  .brand-tiles,.ind-grid,.numbers-grid,.catalogue,.how-steps,.related-grid,.freq,.machine-grid,.tape-grid,.grade-grid,.eas-grid,.quote-grid,.app-strip,.img-grid.cols-2,.img-grid.cols-3,.img-grid.cols-4,.stat-band .stat-grid{grid-template-columns:1fr !important}
  .outcome-table,.matrix,.spec-mini{display:block;overflow-x:auto;white-space:nowrap}
  .cta-form .row{grid-template-columns:1fr}
  .video-block .frame{aspect-ratio:16/10}
  .masthead .maison{font-size:30px}
  .supplier-bar .container{flex-direction:column;gap:8px;text-align:center}
}

/* ===== MOBILE NAV: hamburger, accordion mega, sticky bar, WhatsApp ===== */
.nav-toggle{display:none;position:absolute;left:20px;top:50%;transform:translateY(-50%);width:34px;height:26px;flex-direction:column;justify-content:space-between;background:none;border:none;cursor:pointer;padding:4px 0;z-index:60}
.nav-toggle span{display:block;height:2px;width:100%;background:var(--ink);transition:all .25s ease}
body.nav-open .nav-toggle span:nth-child(1){transform:translateY(9px) rotate(45deg)}
body.nav-open .nav-toggle span:nth-child(2){opacity:0}
body.nav-open .nav-toggle span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
.wa-btn{display:inline-block;background:var(--gold);color:var(--paper)!important;padding:11px 22px;font-size:12px;letter-spacing:.12em;border-radius:0;font-weight:500}
.wa-btn:hover{background:var(--paper);color:var(--gold-deep)!important}
.form-success{background:var(--cream);border:1px solid var(--gold-soft);padding:40px 36px;text-align:center}
.form-success .fs-mark{width:54px;height:54px;border-radius:50%;background:var(--gold);color:var(--paper);font-size:26px;display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.form-success h4,.form-success h3.was-h4{font-family:'Italiana',serif;font-size:24px;font-weight:400;margin-bottom:10px;letter-spacing:.005em}
.form-success p{font-size:14px;color:var(--soft);line-height:1.6}
.form-success a{color:var(--gold-deep);border-bottom:1px solid var(--gold-soft)}
.mobile-bar{display:none}

@media (max-width:900px){
  .masthead .container{position:relative;grid-template-columns:1fr;justify-items:center}
  .nav-toggle{display:flex}
  .subnav .nav-cta{display:none}
  .masthead .left{display:none}
  .masthead .of{display:none}
  .masthead .right{display:none}
  /* subnav becomes the slide-down menu */
  .subnav{position:static}
  .subnav .container{max-height:0;overflow:hidden;flex-direction:column;align-items:stretch;gap:0;padding:0;transition:max-height .3s ease}
  body.nav-open .subnav .container{max-height:calc(100vh - 96px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 0 18px}
  .subnav .container > a,.subnav .has-mega > a{display:block;padding:14px 24px;font-size:13px;border-bottom:1px solid var(--softest);text-align:left}
  .subnav a.active::after,.subnav a:hover::after{display:none}
  .subnav .has-mega .mega{display:block;position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;max-height:0;overflow:hidden;transition:max-height .4s ease}
  .subnav .has-mega.open .mega{max-height:2200px}
  .mega-inner{grid-template-columns:1fr;padding:6px 24px 14px;gap:18px}
  .mega-col a{font-size:15px;padding:8px 0}
  .mega-trigger::after{content:"+";float:right;color:var(--gold)}
  .has-mega.open .mega-trigger::after{content:"−"}
  /* sticky bottom conversion bar */
  .mobile-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:80;border-top:1px solid var(--rule)}
  .mobile-bar a{padding:15px;text-align:center;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
  .mobile-bar .mb-enquire{background:var(--ink);color:var(--paper)}
  .mobile-bar .mb-wa{background:var(--gold);color:var(--paper)}
  body{padding-bottom:52px}
}


/* ===== Print / PDF proof — tables readable, chrome hidden ===== */
@media print{
  .subnav,.mobile-bar,.draft-ribbon{display:none!important}
  video{display:none!important}
  .noimg .ph,.img-grid .frame .ph{position:static!important;min-height:40px}
  .outcome-table,.matrix,.spec-mini{
    display:table!important;overflow:visible!important;white-space:normal!important;
    width:100%!important;table-layout:fixed;font-size:9.5px;line-height:1.45
  }
  .outcome-table tr,.matrix tr,.spec-mini tr{display:table-row!important;page-break-inside:avoid}
  .outcome-table td,.outcome-table th,.matrix td,.matrix th,.spec-mini td,.spec-mini th{
    display:table-cell!important;white-space:normal!important;word-wrap:break-word;
    overflow-wrap:break-word;padding:6px 8px!important;vertical-align:top
  }
  img{max-width:100%!important;page-break-inside:avoid}
  h1,h2,h3{page-break-after:avoid}
  .card,.frame,blockquote{page-break-inside:avoid}
  a{text-decoration:none}
}


/* === SOLUTIONS MENU v2 — brand name under each solution, click-open, foot bar === */
.subnav .has-mega.open .mega{opacity:1;visibility:visible;transform:translateY(0)}
.mega-col a{display:block;padding:9px 0}
.mega-col a small{display:block;font-family:'Inter',sans-serif;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);margin-top:3px}
.mega-col a:hover small{color:var(--gold-deep)}
.mega-foot{border-top:1px solid var(--softest);background:var(--cream)}
.mega-foot-inner{display:flex;gap:32px;flex-wrap:wrap;padding:16px clamp(24px,5vw,72px);max-width:var(--max);margin:0 auto}
.mega-foot a{font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep);padding:0}
.mega-foot a::after{display:none}
.mega-foot a:hover{color:var(--ink)}
@media (max-width:900px){
  .mega-foot-inner{flex-direction:column;gap:14px;padding:14px 24px 18px}
  .mega-col a small{font-size:9.5px}
}

/* --- BRANDS menu: three columns, grouped by where the house sits --- */
.mega--brands .mega-inner{grid-template-columns:repeat(3,1fr);gap:48px}
.mega--brands .mega-col a{font-size:19px}
.mega--brands .mega-col a small{text-transform:none;letter-spacing:.04em;font-size:11px;font-style:normal}
@media (max-width:900px){.mega--brands .mega-inner{grid-template-columns:1fr;gap:18px}}

/* === MENU v3 — column dividers so unequal lists read as a structured index === */
.mega-inner{grid-template-columns:repeat(4,1fr);gap:0;align-items:stretch}
.mega-col{padding:0 34px;border-left:1px solid var(--softest);align-content:start}
.mega-col:first-child{padding-left:0;border-left:0}
.mega-col:last-child{padding-right:0}
.mega-col h6,.mega-col .mega-h{margin:0 0 12px;min-height:16px}
.mega-col h6+a,.mega-col .mega-h+a{border-top:1px solid var(--softest);padding-top:12px}
.subnav .container>a,.subnav .has-mega>a{display:inline-flex;align-items:center;line-height:1.2;padding:6px 0}
.subnav .has-mega{align-items:center}
@media (max-width:900px){.mega-col{padding:0;border-left:0}.mega-col h6+a,.mega-col .mega-h+a{border-top:0;padding-top:8px}}


/* === BRAND TREE (brands.html discipline index) === */
.btree{padding:74px 0 66px;border-bottom:1px solid var(--rule);background:var(--paper)}
.btree-head{max-width:58ch;margin-bottom:44px}
.btree-head h2{font-family:'Italiana',serif;font-weight:400;font-size:clamp(30px,3.8vw,50px);line-height:1.08;margin:14px 0 16px}
.btree-head h2 em{font-family:'Cormorant Garamond',serif;font-style:italic}
.btree-head p{font-family:'Inter',sans-serif;font-weight:300;font-size:15px;line-height:1.7;color:var(--soft);max-width:56ch}
.btree-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.branch{padding:0 34px;border-left:1px solid var(--rule)}
.branch:first-child{padding-left:0;border-left:0}
.branch:last-child{padding-right:0}
.bnum{font-family:'Inter',sans-serif;font-size:10px;letter-spacing:.28em;color:var(--gold);margin-bottom:10px}
.bname{font-family:'Italiana',serif;font-size:22px;line-height:1.1;padding-bottom:14px;border-bottom:1px solid var(--ink)}
.bname small{display:block;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:13px;letter-spacing:.04em;color:var(--soft);margin-top:6px}
.branch ul{list-style:none;margin:0;padding:0}
.branch li{border-bottom:1px solid var(--softest)}
.branch li a{display:block;padding:14px 0 13px;position:relative;padding-left:18px;transition:padding-left .25s ease}
.branch li a::before{content:"";position:absolute;left:0;top:22px;width:9px;height:1px;background:var(--gold-soft)}
.branch li a:hover{padding-left:24px}
.branch li a b{display:block;font-family:'Inter',sans-serif;font-weight:500;font-size:13px;letter-spacing:.02em}
.branch li a span{display:block;font-family:'Inter',sans-serif;font-weight:300;font-size:11.5px;line-height:1.5;color:var(--soft);margin-top:3px}
.branch li a:hover b{color:var(--gold-deep)}
@media (max-width:1100px){.btree-grid{grid-template-columns:1fr 1fr;gap:0 0}.branch{padding:0 28px;margin-bottom:34px}.branch:nth-child(odd){padding-left:0;border-left:0}}
@media (max-width:640px){.btree-grid{grid-template-columns:1fr}.branch{padding:0;border-left:0;margin-bottom:30px}}

/* === FOOTER v3 — dark colophon, matched to the solution pages === */
.colophon{background:var(--ink);color:var(--paper);padding:80px 0 32px;border-top:0}
.colophon-grid{grid-template-columns:1.25fr 2.3fr 1fr 1fr;gap:48px;margin-bottom:60px}
.colophon .brand-block .maison{color:var(--paper);font-size:42px;display:block;margin-bottom:18px}
.colophon .brand-block .maison .of{color:rgba(245,241,234,.6)}
.colophon .brand-block p{color:rgba(245,241,234,.7);font-size:18px;line-height:1.55}
.colophon :is(h5,h2){font-family:'Italiana',serif;font-size:18px;font-weight:400;letter-spacing:.005em;margin-bottom:18px;color:var(--paper);text-transform:none}
.colophon :is(h6,h3){font-family:'Inter',sans-serif;font-size:10px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-bright,#c9a227);margin:0 0 7px}
.colophon a{display:block;font-size:13px;color:rgba(245,241,234,.6);padding:5px 0;letter-spacing:.04em;transition:color .2s}
.colophon a:hover{color:var(--paper);font-style:normal}
.colophon .foot-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:8px 26px;align-items:start}
.colophon .foot-pillars>div{min-width:0}
.colophon .foot-pillars a{font-size:12.5px;padding:4px 0;line-height:1.4}
.colophon-bottom{border-top:1px solid rgba(255,255,255,.16);color:rgba(245,241,234,.45)}
@media (max-width:1100px){.colophon-grid{grid-template-columns:1fr 1fr;gap:40px}.colophon .foot-solutions{grid-column:1/-1}}
@media (max-width:640px){.colophon-grid{grid-template-columns:1fr}.colophon .foot-pillars{grid-template-columns:1fr 1fr}}
@media (max-width:420px){.colophon .foot-pillars{grid-template-columns:1fr}}

.colophon .foot-pillars :is(h6,h3){white-space:nowrap;letter-spacing:.18em;font-size:9.5px}

/* === WHITE-BACKGROUND ARTWORK — let the paper show through === */
/* multiply drops the studio white out of product shots and logo plates on light grounds */
.tape-card .pic,.prod-row .pic,.rel-img,.wheel-fig img{background:transparent}
.tape-card .pic img,.prod-row .pic img,.wheel-fig img,.brand-band img{mix-blend-mode:multiply}
/* dark grounds keep a paper plate behind the artwork — multiply would erase it */
.is-dark .tape-card .pic,.is-dark .prod-row .pic{background:var(--paper)}
.is-dark .tape-card .pic img,.is-dark .prod-row .pic img{mix-blend-mode:normal}

/* ================= LAUNCH FIXES · 31 Aug 2026 ================= */
/* L1 · skip link was unstyled and painted as visible black text */
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{position:fixed;left:16px;top:16px;width:auto;height:auto;z-index:9999;padding:12px 18px;background:var(--ink,#0a0a0a);color:var(--paper,#f5f1ea);font-family:'Inter',sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;outline:2px solid var(--gold,#9a7b3f);outline-offset:2px}
/* L9 · mobile horizontal overflow */
html{overflow-x:clip}
img,video,svg,iframe{max-width:100%}
@media(max-width:760px){
  table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  table thead,table tbody,table tr{min-width:min-content}
}
/* S4 · inputs signalled focus only by an underline colour change */
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--gold-deep,#7a5d2a);outline-offset:3px}
/* S5 · #9a7b3f measures 3.53:1 on paper — below AA. Deep gold is 5.44:1.
   Ornament and display keep the brighter gold; small functional text does not. */
.btn-primary{background:var(--gold-deep);border-color:var(--gold-deep);color:#fff}
.btn-primary:hover{background:var(--ink);border-color:var(--ink);color:#fff}

/* L9b · grids that stayed multi-column below 560px and pushed the page sideways */
@media(max-width:820px){.brand-tiles{grid-template-columns:repeat(3,1fr)}.hub-grid{grid-template-columns:repeat(2,1fr)}.mega-inner{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){
  .stat-strip .container,.pillars-grid,.ind-grid,.numbers-grid,.hub-grid,.colophon .foot-pillars,.mega-inner,.shero .quick-meta,.brand-story .meta-row{grid-template-columns:1fr}
  .brand-tiles{grid-template-columns:repeat(2,1fr)}
}
/* L4 · the honest fallback state */
.form-fallback .fs-mark{color:var(--gold-deep,#7a5d2a)}

/* ================= ROUND 2 · UI/UX from the audits ================= */
/* C8 · body copy and lists go flush left; the eyebrow and heading keep the asymmetry */
.maison-card.reverse .lede,.maison-card.reverse .body,.maison-card.reverse .we-supply,.maison-card.reverse .we-supply .l,.maison-card.reverse .we-supply .v{text-align:left}
/* C7 · italic is a device for short gold sub-lines, not for paragraphs */
.maison-card .lede,.enquiry .lede,.cover .dek{font-style:normal}
/* C11 · the only persistent conversion element was reading as a caption */
.subnav .nav-cta,.masthead .nav-cta{background:var(--gold-deep);color:#fff;border-color:var(--gold-deep);font-weight:600;padding:9px 20px}
.subnav .nav-cta:hover,.masthead .nav-cta:hover{background:var(--ink);border-color:var(--ink);color:#fff}
/* C11 · underlined caps become chips that read as clickable */
.maison-card .links{gap:14px}
.maison-card .links a{border:1px solid var(--gold);padding:9px 16px;letter-spacing:.18em}
.maison-card .links a:hover{background:var(--gold-deep);border-color:var(--gold-deep);color:#fff;padding-right:16px}
/* C13 · unbalanced rows left up to 180px of dead cream */
.maison-card{align-items:stretch}
.maison-card .frame{height:100%}
.maison-card .frame img{height:100%;object-fit:cover}
/* C1 · heroes compressed by page type */
body[data-nav="contact"] .cover{padding:56px 0 38px}
body[data-nav="contact"] .cover::before,body[data-nav="contact"] .cover::after{display:none}
body[data-nav="about"] .cover,body[data-nav="brands"] .cover{padding:84px 0 56px}
/* S5 · small functional text moves to the AA-compliant deep gold (5.44:1) */
.eyebrow,.step-row .meta,.solution-stack .step .meta{color:var(--gold-deep)}
/* C1b · contact details, lifted into the Contact cover */
.cover-contacts{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.cover-contacts a{border:1px solid var(--gold);color:var(--gold-deep);padding:11px 20px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;transition:all .25s;font-weight:500}
.cover-contacts a:hover{background:var(--gold-deep);border-color:var(--gold-deep);color:#fff}
.cover-contacts a.primary{background:var(--gold-deep);color:#fff;border-color:var(--gold-deep)}
.cover-contacts a.primary:hover{background:var(--ink);border-color:var(--ink)}

/* C6 · back-to-top and the collapsible in-page index */
.to-top{position:fixed;right:18px;bottom:96px;z-index:60;width:44px;height:44px;border:1px solid var(--gold,#9a7b3f);background:var(--paper,#f5f1ea);color:var(--gold-deep,#7a5d2a);font-size:18px;line-height:1;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .25s,background .25s}
.to-top.show{opacity:1;pointer-events:auto}
.to-top:hover{background:var(--gold-deep,#7a5d2a);border-color:var(--gold-deep,#7a5d2a);color:#fff}
nav.sec-index{position:fixed;left:18px;bottom:96px;z-index:60;font-family:'Inter',sans-serif;display:block;width:auto;max-width:none;background:transparent;border:0;padding:0;gap:0;grid-template-columns:none}
.sec-index .si-toggle{border:1px solid var(--gold,#9a7b3f);background:var(--paper,#f5f1ea);color:var(--gold-deep,#7a5d2a);padding:11px 16px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap;height:auto;line-height:1.6}
.sec-index .si-toggle:hover{background:var(--gold-deep,#7a5d2a);border-color:var(--gold-deep,#7a5d2a);color:#fff}
.sec-index .si-list{display:none;margin-top:8px;background:var(--ink,#0a0a0a);max-height:56vh;overflow-y:auto;min-width:250px;padding:8px 0}
.sec-index.open .si-list{display:block}
.sec-index .si-list a{display:block;padding:9px 18px;font-size:12.5px;color:rgba(245,241,234,.82);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.07)}
.sec-index .si-list a:hover{background:rgba(255,255,255,.07);color:#fff}
@media(max-width:760px){.to-top{bottom:88px;right:12px}.sec-index{left:12px;bottom:88px}.sec-index .si-list{min-width:0;width:min(74vw,300px)}}
@media print{.to-top,.sec-index{display:none}}

/* FormSubmit honeypot — must never be visible. A visitor who reads
   "Leave this field empty" as an instruction loses their enquiry silently. */
.hp,.cta-form .hp,form .hp{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;margin:0!important;padding:0!important}

/* C9b · wrap-safe eyebrow ornament.
   The flanking rules are ::before/::after with content "——". Inline, they join
   the first and last line's flow, so any wrap strands one dash on its own line.
   As flex items they flank the whole block instead, whatever the text does. */
.cover .eyebrow{display:flex;align-items:center;justify-content:center;gap:14px;text-wrap:balance;letter-spacing:.26em}
.cover .eyebrow::before,.cover .eyebrow::after{flex:0 0 auto;margin:0}
@media(max-width:600px){.cover .eyebrow{gap:0}.cover .eyebrow::before,.cover .eyebrow::after{display:none}}

/* L10 · mobile horizontal overflow — 1 Sep 2026
   Root cause of the two stubborn pages was not the grids themselves: a grid or
   flex child defaults to min-width:auto, so it refuses to shrink below its own
   content width and pushes the page sideways no matter what overflow-x says.
   The scroll-container fix only works once its parent is allowed to be narrow. */
html,body{overflow-x:clip;max-width:100%}
@media(max-width:900px){
  .block-grid > *,.hub-grid > *,.container > *,main > *{min-width:0}
  .hub-grid{grid-template-columns:1fr!important;gap:1px}
  .hub-card{min-height:0}
  .meta,.pillar-tag,.spec-chips,.quick-meta,.deep-links,.spec{flex-wrap:wrap;max-width:100%;min-width:0}
  .meta > *,.pillar-tag > *,.spec-chips > *{max-width:100%}
  .matrix,.outcome-table,.spec-mini,.prod-table,.sku-table{display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .matrix thead,.matrix tbody,.matrix tr{min-width:min-content}
}
@media(max-width:560px){.method-strip,.deep-links{grid-template-columns:1fr!important}}

/* A1 · AA contrast, 1 Sep 2026 — --gold is 3.53:1 on paper and fails for small text.
   --gold-deep is 5.44:1. Bright gold stays for dark grounds only. */
.btn-primary,.btn-wa,.wa-bar,.nav-cta{background:var(--gold-deep,#7a5d2a);border-color:var(--gold-deep,#7a5d2a)}
.btn-primary:hover,.btn-wa:hover,.nav-cta:hover{background:var(--ink,#0a0a0a);border-color:var(--ink,#0a0a0a)}
.eyebrow,.house-line,.block-num,.crumb,.byline,.qm-l,.fc,.sub,.tag,small,figcaption{--gold:var(--gold-deep,#7a5d2a)}
.is-dark .eyebrow,.is-dark .block-num,.plate-band .l,.film-band .l,.colophon .eyebrow{--gold:var(--gold-bright,#d9b56a)}

/* H1 · heading-level repair, 1 Sep 2026
   Card and item titles that sat at h4 directly under an h2 are now h3 and carry
   .was-h4, so every h4 rule above also matches them and nothing moves visually.
   Stat numerals and image-band captions were never document headings — they are
   .stat-fig and .band-h now, styled here exactly as their old h3 rules did. */
.stat-grid .stat-fig{font-family:'Italiana',serif;font-weight:400;letter-spacing:.01em;line-height:1}
.band-cap .band-h{font-family:'Italiana',serif;font-weight:400;letter-spacing:.01em;line-height:1.05}


/* ======================================================================
   AUDIT ROUND 3 · 3 September 2026 · appended so it wins on source order
   A contrast · B 12px floor · C hit targets and fixed chrome
   ====================================================================== */

/* A · AA CONTRAST — small functional text moves off --gold (3.53:1)
   onto --gold-deep (5.44:1). --gold stays for rules, ornament and 24px+ display. */
.byline,.stat-n sup,.maison-card .pillar-tag,.maison-card .we-supply .l,.ind-card .count,.num-cell .lbl,.step-row .meta,.shero .pillar-tag,.phero .pillar-tag,.cat-card .meta,.cat-card .chip,.solution-stack .step .meta,.rel-pillar,.office .badge,.office .ph a,.hours-panel .h-l,.bnum,.sub-card .for,.matrix .pill,.mega-col h6,.mega-col .mega-h,table.sel .yr,.fam-card .fc,.sub-head .sh-n,.outcome-table td:first-child em,.block-num{color:var(--gold-deep,#7a5d2a)}
/* …but --gold-deep is unreadable on the dark grounds, so those go bright instead */
:is(.sblock.dark,.block.is-dark,.is-dark,.dark,.brand-story,.colophon) :is(.byline,.stat-n sup,.cat-card .meta,.cat-card .chip,.solution-stack .step .meta,.rel-pillar,.sub-card .for,.matrix .pill,.bnum,.num-cell .lbl,.step-row .meta,.block-num,.ind-card .count,.hours-panel .h-l,.sub-head .sh-n,.fam-card .fc){color:var(--gold-bright,#d9b56a)}

/* B · 12px FLOOR on functional text (was 10–11.5px in 59 places per page) */
.masthead .left,.masthead .right,.crumb,.colophon-bottom,.byline,.field label,.stat-l,.pillar-link,.maison-card .pillar-tag,.maison-card .we-supply .l,.maison-card .links,.ind-card .count,.num-cell .lbl,.step-row .meta,.cat-card .meta,.cat-card .chip,.rel-pillar,.office .badge,.office .map-link,.hours-panel .h-l,.brand-story .mr-l,.sub-card .for,.bnum,.branch li a span,.block-num span,.pill,.matrix .pill,.matrix th,.matrix thead th,.outcome-table th,.solution-stack .step .meta,.supplier-bar,.btn,.cta-form button,.cover-contacts a,.mega-foot a,.mega-col .mega-all,.mega-col a small,.mega--brands .mega-col a small,.shero .pillar-tag,.shero .qm-l,.phero .pillar-tag,.phero .qm-l,.chips button,table.sel .yr,table.sel .cfg,.fam-card .fc,.fam-card .fm,.fam-card .fgo,.fam-grid-sku .fam-card .fm,.sub-head .sh-n,.wheel-fig figcaption,.flag-stats .fs-l,.img-grid figcaption span,.sec-index .si-toggle,.sec-index .si-list a{font-size:12px}
.subnav .container{font-size:12px}
@media (max-width:1200px){.subnav .container{gap:38px}}
.colophon :is(h6,h3){font-size:12px}
/* the 9.5px nowrap footer labels: 12px and allowed to wrap, or they overflow four columns */
.colophon .foot-pillars :is(h6,h3){font-size:12px;white-space:normal}
/* mobile lifts reading text one more step */
@media (max-width:900px){
  .subnav .container{font-size:13px;gap:24px}
  .crumb,.byline,.field label,.stat-l,.colophon :is(h6,h3),.colophon .foot-pillars :is(h6,h3),.mega-col a small,.cat-card .chip,.matrix th,.matrix thead th,.outcome-table th{font-size:13px}
}

/* C1 · "On this page" needs a ground of its own — it was transparent, so live
   body copy read straight through the chip. Third build this has shipped. */
nav.sec-index{background:var(--paper,#f5f1ea);border:1px solid var(--softer,#dcd6ca);padding:4px;box-shadow:0 6px 22px rgba(10,10,10,.10)}

/* C2 · 44px hit box on the mobile hamburger; padding keeps the 34x26 bar block
   so the open-state translateY(9px) transforms still land */
.nav-toggle{width:44px;height:44px;padding:9px 5px;box-sizing:border-box;left:15px}

/* C3 · three fixed elements in the bottom 140px of a 390px screen is one too many;
   the sticky bar already anchors that corner */
@media (max-width:480px){.to-top{display:none}}

/* C4 · the collapsed mega must not measure wider than the viewport.
   Root cause is min-width:auto on the grid children, not the display mode —
   keeping display:block preserves the max-height accordion. */
@media (max-width:900px){
  .subnav .has-mega .mega{max-width:100%;min-width:0;box-sizing:border-box}
  .mega-inner{min-width:0;max-width:100%;box-sizing:border-box}
  .mega-col,.mega-col a{min-width:0}
  .mega-col a{overflow-wrap:anywhere}
}


/* ===== WAVE 3 · what happens next (under every enquiry form) ===== */
.next-steps{margin-top:26px;padding-top:20px;border-top:1px solid var(--rule)}
.next-steps .ns-l{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:14px}
.next-steps ol{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.next-steps li{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:baseline;font-size:14px;line-height:1.6;color:var(--soft)}
.next-steps li span{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;color:var(--gold-deep)}


/* ===== HOMEPAGE v3 ===== */
.hp-certs{padding:38px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);text-align:center}
.hp-cert-l{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:14px}
.hp-cert-row{display:flex;justify-content:center;align-items:baseline;gap:12px 34px;flex-wrap:wrap;font-family:'Italiana',serif;font-size:22px;letter-spacing:.04em}
.hp-cert-row i{color:var(--gold);font-style:normal}
.hp-stack{padding:86px 0}
.hp-pillar{border-top:1px solid var(--rule);padding:32px 0 46px}
.hp-p-head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr) auto;gap:26px;align-items:baseline;margin-bottom:26px}
.hp-p-head h3{font-family:'Italiana',serif;font-size:clamp(26px,2.6vw,38px);font-weight:400;margin:0;letter-spacing:.005em}
.hp-p-head h3 em{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;color:var(--gold-deep)}
.hp-p-head p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:19px;line-height:1.45;color:var(--soft);margin:0;max-width:46ch}
.hp-p-head a{font-size:13px;letter-spacing:.06em;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold);white-space:nowrap}
.hp-p-head a:hover{color:var(--gold-deep)}
.hp-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(198px,1fr));gap:20px}
.hp-tiles>*{min-width:0}
.hp-tile{display:block;text-decoration:none;color:var(--ink)}
.hp-tile figure{margin:0 0 11px;aspect-ratio:4/3;overflow:hidden;background:var(--softer);border:1px solid var(--rule)}
.hp-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;filter:saturate(.92)}
.hp-tile:hover img,.hp-tile:focus-visible img{transform:scale(1.05)}
.hp-tile .b{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep)}
.hp-tile .s{font-family:'Italiana',serif;font-size:18px;line-height:1.2;margin-top:4px}
.hp-loc{margin-top:36px;padding-top:22px;border-top:1px solid rgba(255,255,255,.18);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:rgba(245,241,234,.72);display:grid;gap:9px;justify-items:center}
.hp-loc span{text-transform:none;letter-spacing:.02em;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16px;color:rgba(245,241,234,.62)}
@media(max-width:900px){.hp-stack{padding:56px 0}.hp-p-head{grid-template-columns:1fr;gap:12px}.hp-tiles{grid-template-columns:repeat(2,1fr);gap:14px}.hp-cert-row{font-size:18px;gap:10px 22px}}


/* ===== HOMEPAGE v3 · brand band ===== */
.hp-brand{background:var(--ink);color:var(--paper);padding:0}
.hp-brand-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:0;align-items:stretch;max-width:none;padding:0}
.hp-brand-grid>*{min-width:0}
.hp-brand-fig{margin:0;overflow:hidden}
.hp-brand-fig img{width:100%;height:100%;min-height:440px;object-fit:cover;display:block;filter:saturate(.86) brightness(.94)}
.hp-brand-copy{padding:clamp(48px,6vw,96px) clamp(28px,5vw,86px)}
.hp-brand-copy h2{font-family:'Italiana',serif;font-size:clamp(34px,4vw,58px);font-weight:400;line-height:1.06;color:var(--paper);margin:0 0 22px;letter-spacing:.005em}
.hp-brand-copy h2 em{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;color:var(--gold-bright)}
.hp-brand-copy p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:20px;line-height:1.55;color:rgba(245,241,234,.78);max-width:44ch;margin:0}
.hp-triad{display:flex;align-items:baseline;gap:12px 22px;flex-wrap:wrap;margin:30px 0 26px;padding-top:24px;border-top:1px solid rgba(255,255,255,.18);font-family:'Italiana',serif;font-size:clamp(17px,1.7vw,23px);letter-spacing:.14em;text-transform:uppercase;color:var(--paper)}
.hp-triad i{color:var(--gold-bright);font-style:normal}
.hp-brand-link{font-size:13px;letter-spacing:.06em;color:var(--paper);text-decoration:none;border-bottom:1px solid var(--gold-bright)}
.hp-brand-link:hover{color:var(--gold-bright)}
@media(max-width:900px){.hp-brand-grid{grid-template-columns:1fr}.hp-brand-fig img{min-height:280px}.hp-brand-copy{padding:44px 22px 52px}.hp-brand-copy p{font-size:18px}}


/* ===== HOMEPAGE v3 · horizontal four pillars ===== */
.hp-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;align-items:start}
.hp-cols>*{min-width:0}
.hp-col-fig{display:block;margin:0 0 16px;aspect-ratio:4/3;overflow:hidden;background:var(--softer);border:1px solid var(--rule)}
.hp-col-fig img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;filter:saturate(.92)}
.hp-col-fig:hover img,.hp-col-fig:focus-visible img{transform:scale(1.05)}
.hp-col h3{font-family:'Italiana',serif;font-size:clamp(24px,2.1vw,31px);font-weight:400;margin:0 0 8px;letter-spacing:.005em}
.hp-col h3 em{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;color:var(--gold-deep)}
.hp-col-line{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:17px;line-height:1.45;color:var(--soft);margin:0 0 18px}
@media(min-width:1001px){.hp-col-line{min-height:74px}}
.hp-col-list{display:grid;border-top:1px solid var(--rule)}
.hp-col-list a{display:grid;gap:2px;padding:12px 0;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink);transition:padding-left .2s ease}
.hp-col-list a:hover{padding-left:7px}
.hp-col-list .n{font-size:14px;line-height:1.35}
.hp-col-list .h{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep)}
@media(max-width:1000px){.hp-cols{grid-template-columns:repeat(2,1fr);gap:30px}}
@media(max-width:640px){.hp-cols{grid-template-columns:1fr;gap:34px}}

/* stat numerals: the h3→.stat-fig rename dropped the size and gap that .stat-band h3 carried */
.stat-grid .stat-fig{font-size:clamp(36px,4.4vw,60px);margin-bottom:10px;text-wrap:balance}

.form-consent{margin:0 0 14px;font-size:13px;line-height:1.5;opacity:1}.form-consent a{color:inherit;text-decoration:underline}
