/* ═══ tokens ═══ */
:root{
  --onyx:#0B0B0D;--coal:#131316;--seam:#1C1C20;--bone:#EFEDE6;--chalk:#F7F5EF;--bronze:#A8895B;
  --line:rgba(239,237,230,.08);--line-b:rgba(168,137,91,.3);
  --serif:'Fraunces',Georgia,serif;--sans:'Instrument Sans',system-ui,sans-serif;--mono:'Spline Sans Mono',monospace;
  --ease:cubic-bezier(.25,1,.5,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--onyx);color:var(--bone);font-family:var(--sans);-webkit-font-smoothing:antialiased}
::selection{background:var(--bronze);color:var(--onyx)}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{background:none;border:none;color:inherit;font:inherit;cursor:pointer}
input,select,textarea{outline:none;font:inherit}
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:1px solid var(--bronze);outline-offset:3px}

/* ═══ shared ═══ */
.wrap{max-width:1400px;margin:0 auto;padding-left:24px;padding-right:24px}
.sec{padding-top:clamp(112px,11vw,160px);padding-bottom:clamp(112px,11vw,160px)}
.eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--bronze);margin-bottom:24px}
.h2{font-family:var(--serif);font-weight:300;font-size:clamp(1.875rem,4.5vw,3rem);line-height:1.1}
.h3{font-family:var(--serif);font-weight:300;font-size:clamp(1.5rem,3.3vw,2.25rem);line-height:1.15}
.mlabel{font-family:var(--mono);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:rgba(239,237,230,.3)}
.grain{position:relative}
.grain::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.045;mix-blend-mode:overlay;
  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.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E")}
.grain>*{position:relative;z-index:2}
.duo{filter:grayscale(1) contrast(1.05) brightness(.85);transition:filter 1.2s var(--ease),transform 1.6s var(--ease)}
.duo-card:hover .duo{filter:none;transform:scale(1.045)}
.duo-tint{position:absolute;inset:0;background:var(--bronze);mix-blend-mode:soft-light;opacity:.35;transition:opacity 1.2s;pointer-events:none}
.duo-card:hover .duo-tint{opacity:0}
.icn{width:1em;height:1em;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

/* reveal */
.rv{opacity:0;transform:translateY(36px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.rv.in{opacity:1;transform:none}

/* ═══ cursor ═══ */
@media (pointer:fine){
  *{cursor:none!important}
  #cur-d,#cur-r{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;border-radius:50%}
  #cur-d{width:5px;height:5px;background:var(--bronze);transform:translate(-50%,-50%)}
  #cur-r{width:30px;height:30px;border:1px solid rgba(168,137,91,.45);transform:translate(-50%,-50%);transition:width .35s,height .35s,border-color .35s}
  body.hot #cur-r{width:52px;height:52px;border-color:rgba(168,137,91,.9)}
}
@media (pointer:coarse){#cur-d,#cur-r{display:none}}

/* ═══ scroll progress ═══ */
#sprog{position:fixed;top:0;left:0;height:2px;width:100%;background:var(--bronze);transform:scaleX(0);transform-origin:left;z-index:60}

/* ═══ preloader ═══ */
#pre{position:fixed;inset:0;z-index:100;background:var(--onyx);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:transform 1.1s var(--ease)}
#pre.done{transform:translateY(-100%)}
.pl-v,.pl-h{position:absolute;background:rgba(168,137,91,.07)}
.pl-v{top:0;bottom:0;width:1px;transform:scaleY(0);transform-origin:top;transition:transform 1.4s var(--ease)}
.pl-h{left:0;right:0;height:1px;background:rgba(239,237,230,.045);transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease)}
#pre.go .pl-v,#pre.go .pl-h{transform:none}
.pl-c{position:relative;text-align:center}
.pl-word{font-family:var(--serif);font-size:clamp(1.5rem,4vw,2.25rem);text-transform:uppercase;color:var(--bone);letter-spacing:.6em;opacity:0;transition:letter-spacing 1.6s var(--ease),opacity 1.6s var(--ease)}
#pre.go .pl-word{letter-spacing:.28em;opacity:1}
.pl-rule{height:1px;background:var(--bronze);margin:24px auto 0;width:0;transition:width 1.8s var(--ease) .4s}
#pre.go .pl-rule{width:100%}
.pl-sub{font-family:var(--mono);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:rgba(239,237,230,.4);margin-top:16px;opacity:0;transition:opacity .8s ease 1s}
#pre.go .pl-sub{opacity:1}

/* ═══ header ═══ */
#hdr{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .7s,border-color .7s;border-bottom:1px solid transparent;transform:translateY(-80px);opacity:0}
#hdr.on{transform:none;opacity:1;transition:transform 1s var(--ease) .2s,opacity 1s var(--ease) .2s,background .7s,border-color .7s}
#hdr.solid{background:rgba(11,11,13,.9);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-bottom-color:var(--line)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;height:80px}
.hdr-logo img{height:32px;width:auto}
.hdr-nav{display:none;align-items:center;gap:40px}
.nav-link{position:relative;font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(239,237,230,.6);transition:color .5s}
.nav-link:hover{color:var(--bone)}
.nav-link::after{content:'';position:absolute;left:0;bottom:-4px;height:1px;width:100%;background:var(--bronze);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav-link:hover::after{transform:scaleX(1);transform-origin:left}
.hdr-cta{display:none;align-items:center;gap:8px;border:1px solid var(--line-b);padding:10px 20px;font-family:var(--mono);font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--bronze);transition:background .5s,color .5s}
.hdr-cta:hover{background:var(--bronze);color:var(--onyx)}
.hdr-burger{color:var(--bone);padding:8px;margin-right:-8px}
@media(min-width:768px){
  .wrap{padding-left:48px;padding-right:48px}
  .hdr-logo img{height:36px}
  .hdr-nav{display:flex}.hdr-cta{display:inline-flex}.hdr-burger{display:none}
}
/* mobile menu */
#mmenu{position:fixed;inset:0;z-index:45;background:var(--onyx);padding:112px 32px 0;display:none;opacity:0;transition:opacity .5s var(--ease)}
#mmenu.on{display:block}
#mmenu.vis{opacity:1}
.mm-link{display:block;font-family:var(--serif);font-weight:300;font-size:1.875rem;color:var(--bone);padding:16px 0;border-bottom:1px solid var(--line);opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
#mmenu.vis .mm-link{opacity:1;transform:none}
.mm-cta{display:inline-flex;align-items:center;gap:8px;margin-top:32px;border:1px solid var(--line-b);padding:12px 24px;font-family:var(--mono);font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--bronze);opacity:0;transition:opacity .7s ease .55s}
#mmenu.vis .mm-cta{opacity:1}
@media(min-width:768px){#mmenu{display:none!important}}

/* ═══ hero ═══ */
#top{position:relative;height:100svh;min-height:640px;overflow:hidden;background:var(--onyx)}
.hero-bg{position:absolute;inset:0;animation:kb 26s linear infinite alternate}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 38%}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.09)}}
.hero-ol{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(11,11,13,.8),rgba(11,11,13,.55),var(--onyx))}
.hero-in{position:relative;z-index:10;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:112px}
.hero-eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--bronze);margin-bottom:24px}
.hero-h1{font-family:var(--serif);font-weight:300;font-size:clamp(2.25rem,6.2vw,4.5rem);line-height:1.05;max-width:56rem}
.hero-h1 em{color:var(--bronze);font-weight:400}
.hero-sub{color:rgba(239,237,230,.55);font-size:clamp(.875rem,1.2vw,1rem);line-height:1.65;max-width:36rem;margin-top:32px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:16px;margin-top:40px}
.btn-solid{display:inline-flex;align-items:center;gap:12px;background:var(--bronze);color:var(--onyx);padding:14px 28px;font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;transition:background .7s}
.btn-solid:hover{background:var(--bone)}
.btn-solid .icn{transition:transform .5s}
.btn-solid:hover .icn{transform:translateX(4px)}
.btn-ghost{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--line);color:rgba(239,237,230,.8);padding:14px 28px;font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;transition:border-color .7s,color .7s}
.btn-ghost:hover{border-color:var(--bronze);color:var(--bronze)}
.hero-cue{position:absolute;bottom:32px;left:50%;transform:translateX(-50%) scaleY(0);width:1px;height:56px;background:linear-gradient(to bottom,transparent,rgba(168,137,91,.6));z-index:10;transform-origin:top;transition:transform 1.4s var(--ease) 2s}
body.loaded .hero-cue{transform:translateX(-50%) scaleY(1)}
.hero-rv{opacity:0;transform:translateY(36px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
body.loaded .hero-rv{opacity:1;transform:none}

/* ═══ stats ═══ */
#stats{background:var(--onyx);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats-g{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr}
.stat{padding:40px 24px;border-left:1px solid var(--line)}
.stat:first-child{border-left:none}
.stat-n{font-family:var(--mono);font-size:clamp(1.5rem,3vw,2.25rem);letter-spacing:-.02em}
.stat-l{font-family:var(--mono);font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:rgba(239,237,230,.4);margin-top:12px}
@media(min-width:768px){.stats-g{grid-template-columns:repeat(4,1fr)}.stat{padding:56px 40px}}

/* ═══ group ═══ */
#group{background:var(--chalk);color:var(--onyx)}
.grp-g{display:grid;gap:48px}
.grp-g p.body{font-size:clamp(.875rem,1.1vw,.9375rem);line-height:1.9;color:rgba(11,11,13,.7)}
.grp-g p.body+p.body{margin-top:24px}
.grp-depts{display:flex;align-items:center;gap:32px;margin-top:40px;padding-top:32px;border-top:1px solid rgba(11,11,13,.1)}
.grp-depts b{display:block;font-family:var(--mono);font-weight:400;font-size:.875rem;letter-spacing:.15em}
.grp-depts span{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(11,11,13,.4);margin-top:4px}
@media(min-width:768px){.grp-g{grid-template-columns:repeat(12,1fr)}.grp-a{grid-column:span 4}.grp-b{grid-column:7/span 5}}

/* ═══ editorial ═══ */
#edit{background:var(--onyx);border-bottom:1px solid var(--line);overflow:hidden}
.ed-g{display:grid;gap:40px;align-items:end}
.ed-num{font-family:var(--serif);font-weight:300;color:var(--bronze);line-height:1;font-size:22vw;letter-spacing:-.02em;user-select:none;will-change:transform}
.ed-side .rule{width:40px;height:1px;background:var(--bronze);margin-bottom:24px}
.ed-side .spec{font-family:var(--mono);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:rgba(239,237,230,.5);line-height:2}
.ed-side p{font-size:.875rem;color:rgba(239,237,230,.45);line-height:1.9;margin-top:24px}
@media(min-width:768px){.ed-g{grid-template-columns:repeat(12,1fr)}.ed-main{grid-column:span 8}.ed-side{grid-column:span 4;padding-bottom:3vw}.ed-num{font-size:15vw}}

/* ═══ map ═══ */
#map{background:var(--coal);border-bottom:1px solid var(--line)}
.map-g{display:grid;gap:48px;margin-top:clamp(64px,6vw,80px);align-items:start}
.map-list-h{font-family:var(--mono);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:rgba(239,237,230,.3);padding-bottom:16px;border-bottom:1px solid var(--line)}
.map-item{width:100%;text-align:left;padding:20px 0;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:16px;transition:background .5s}
.map-item.on{background:rgba(28,28,32,.6)}
.map-item .nm{font-family:var(--serif);font-size:1.125rem;line-height:1.35;color:rgba(239,237,230,.85);transition:color .5s;padding-left:8px}
.map-item.on .nm{color:var(--bronze)}
.map-item .mt{font-family:var(--mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:rgba(239,237,230,.35);margin-top:8px;padding-left:8px}
.map-item .vl{font-family:var(--mono);font-size:.75rem;color:rgba(239,237,230,.55);padding:4px 8px 0 0;white-space:nowrap}
.map-note{font-size:.75rem;color:rgba(239,237,230,.35);line-height:1.6;margin-top:24px;padding-left:8px}
.map-fig{position:relative}
.map-fig svg{width:100%;max-width:560px;margin:0 auto;display:block}
.map-card{position:absolute;top:24px;right:0;background:var(--onyx);border:1px solid var(--line-b);padding:20px 24px;max-width:250px;opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.map-card.on{opacity:1;transform:none}
.map-card .st{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--bronze)}
.map-card .nm{font-family:var(--serif);font-size:1.125rem;line-height:1.35;margin-top:8px}
.map-card .vl{font-family:var(--mono);font-size:.875rem;color:rgba(239,237,230,.6);margin-top:8px}
.pin{cursor:pointer}
.pin .dot{fill:var(--bone);transition:fill .5s,r .5s}
.pin.on .dot{fill:var(--bronze)}
.pin-coord{font:9px var(--mono);letter-spacing:.12em;fill:rgba(239,237,230,.55)}
@media(min-width:768px){.map-g{grid-template-columns:repeat(12,1fr)}.map-list{grid-column:span 4;order:1}.map-fig{grid-column:span 8;order:2}.map-card{right:8px}}
@media(max-width:767px){.map-list{order:2}.map-fig{order:1}}

/* ═══ companies ═══ */
#companies{background:var(--onyx)}
.tabbar{position:sticky;top:80px;z-index:40;background:rgba(11,11,13,.95);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:56px}
.tabbar-in{display:flex;overflow-x:auto}
.tab{position:relative;flex-shrink:0;display:flex;align-items:center;gap:12px;padding:20px;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(239,237,230,.45);transition:color .5s}
.tab:hover{color:var(--bone)}
.tab.on{color:var(--bronze)}
.tab .u{position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--bronze);transform:scaleX(0);transition:transform .6s var(--ease)}
.tab.on .u{transform:scaleX(1)}
.tab .long{display:none}
@media(min-width:640px){.tab{padding:20px 32px}.tab .long{display:inline}.tab .shortl{display:none}}
.panels{padding-top:clamp(64px,6vw,80px);min-height:560px}
.panel{display:none}
.panel.on{display:block;animation:panelIn .8s var(--ease) both}
@keyframes panelIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.logo-chip{margin-bottom:32px;opacity:.9;transition:opacity .7s}
.logo-chip:hover{opacity:1}
.logo-chip img{height:48px;width:auto}
@media(min-width:768px){.logo-chip img{height:56px}}
.p-body{font-size:.875rem;color:rgba(239,237,230,.55);line-height:1.9;margin-top:24px;max-width:28rem}
.p-list{list-style:none;margin-top:32px}
.p-list li{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(239,237,230,.6);padding:6px 0}
.p-list li::before{content:'';width:16px;height:1px;background:var(--bronze);flex-shrink:0}
.co-grid{display:grid;gap:40px}
@media(min-width:768px){.co-grid{grid-template-columns:repeat(12,1fr)}.co-5{grid-column:span 5}.co-6{grid-column:span 6}.co-7{grid-column:span 7}}
.pj-grid{display:grid;gap:20px}
@media(min-width:640px){.pj-grid{grid-template-columns:1fr 1fr}}
.pj-card{position:relative;border:1px solid var(--line);overflow:hidden;transition:border-color 1s}
.pj-card:hover{border-color:var(--line-b)}
.pj-ph{position:relative;overflow:hidden;aspect-ratio:4/3}
.pj-ph img{width:100%;height:100%;object-fit:cover}
.pj-tx{padding:24px}
.pj-tx .t{font-family:var(--serif);font-size:1.125rem;line-height:1.35}
.pj-tx .m{font-family:var(--mono);font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:rgba(239,237,230,.35);margin-top:8px}
.pj-flag{border:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:32px}
.pj-flag .t{font-family:var(--serif);font-size:1.125rem;line-height:1.35}
.pj-flag .m{font-family:var(--mono);font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:rgba(239,237,230,.4);margin-top:12px;line-height:2}
/* register */
.reg{margin-top:64px}
.reg-h{font-family:var(--mono);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:rgba(239,237,230,.3);padding-bottom:16px;border-bottom:1px solid var(--line)}
.reg-row{display:grid;grid-template-columns:1fr;gap:8px;padding:16px 0;border-bottom:1px solid var(--line);align-items:baseline}
.reg-row .n{font-family:var(--serif);font-size:clamp(1rem,1.4vw,1.125rem);color:rgba(239,237,230,.9)}
.reg-row .d{font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:rgba(239,237,230,.35);margin-top:4px}
.reg-row .s{font-size:.75rem;color:rgba(239,237,230,.45);line-height:1.6}
.reg-row .v{font-family:var(--mono);font-size:.875rem;color:var(--bronze)}
.qty-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:56px}
@media(min-width:768px){.qty-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.qty-cell{background:var(--onyx);padding:28px 24px}
.qty-n{font-family:var(--mono);font-size:clamp(1.25rem,2.4vw,1.75rem);color:var(--bone)}
.qty-l{font-family:var(--mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:rgba(239,237,230,.38);margin-top:10px;line-height:1.7}
.qty-h{font-family:var(--mono);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:rgba(239,237,230,.3);margin-top:56px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.reg-map{color:rgba(168,137,91,.75);text-decoration:none;border-bottom:1px solid rgba(168,137,91,.3);transition:color .3s,border-color .3s}
.reg-map:hover{color:var(--bronze);border-color:var(--bronze)}
@media(min-width:640px){.reg-row{grid-template-columns:4fr 6fr 2fr;gap:24px}.reg-row .v{text-align:right}}
/* compare + calculator */
.vx-grid{display:grid;gap:32px;margin-top:48px}
@media(min-width:768px){.vx-grid{grid-template-columns:1fr 1fr}}
.cmp{border:1px solid var(--line)}
.cmp-tabs{display:flex;border-bottom:1px solid var(--line)}
.cmp-tab{flex:1;padding:16px;font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(239,237,230,.5);transition:background .5s,color .5s}
.cmp-tab:hover{color:var(--bone)}
.cmp-tab.on{background:var(--bronze);color:var(--onyx)}
.cmp-row{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:20px 24px;border-top:1px solid var(--line)}
.cmp-row:first-of-type{border-top:none}
.cmp-row .k{font-family:var(--mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:rgba(239,237,230,.35);flex-shrink:0}
.cmp-row .val{font-size:.875rem;text-align:right;color:var(--bone)}
.cmp.brick .cmp-row .val{color:rgba(239,237,230,.5)}
.calc{border:1px solid var(--line);padding:clamp(28px,3vw,36px)}
.calc-h{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--bronze)}
.calc-f{display:grid;gap:24px;margin-top:28px}
@media(min-width:640px){.calc-f{grid-template-columns:1fr 1fr}}
.calc-f label span{font-family:var(--mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:rgba(239,237,230,.4);display:block}
.calc-f input{margin-top:8px;width:100%;background:transparent;border:none;border-bottom:1px solid var(--line-b);padding:10px 0;font-family:var(--mono);font-size:1.25rem;color:var(--bone)}
.calc-f select{margin-top:8px;width:100%;background:var(--coal);border:none;border-bottom:1px solid var(--line-b);padding:10px 0;font-family:var(--mono);font-size:.875rem;color:var(--bone)}
.calc-out{margin-top:36px;padding-top:28px;border-top:1px solid var(--line);display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.calc-out .lb{font-family:var(--mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:rgba(239,237,230,.4)}
.calc-out .num{font-family:var(--serif);font-weight:300;color:var(--bronze);font-size:clamp(3rem,5vw,3.75rem);line-height:1;margin-top:8px}
.calc-out .ft{font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(239,237,230,.3);text-align:right;line-height:2;padding-bottom:4px}
/* savings */
.sv{margin-top:64px}
.sv-g{display:grid;gap:40px;margin-top:32px;align-items:end}
@media(min-width:768px){.sv-g{grid-template-columns:7fr 5fr}}
.sv-row+.sv-row{margin-top:28px}
.sv-top{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.sv-top .l{font-size:.875rem;color:rgba(239,237,230,.6)}
.sv-top .p{font-family:var(--mono);font-size:.875rem}
.sv-bar{height:3px;background:var(--seam);margin-top:12px;overflow:hidden}
.sv-fill{height:100%;background:var(--bronze);width:0;transition:width 1.4s var(--ease)}
.sv-callout{border:1px solid var(--line-b);padding:clamp(32px,3.5vw,40px)}
.sv-callout .big{font-family:var(--serif);font-weight:300;color:var(--bronze);font-size:clamp(3.75rem,6vw,4.5rem);line-height:1}
.sv-callout p{font-family:var(--mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:rgba(239,237,230,.45);margin-top:20px;line-height:2}
/* trade cards */
.td-grid{display:grid;gap:20px}
@media(min-width:640px){.td-grid{grid-template-columns:repeat(3,1fr)}}
.td-card{border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;gap:16px;transition:border-color .7s}
.td-card:hover{border-color:var(--line-b)}
.td-card .icn{width:20px;height:20px;color:var(--bronze);stroke-width:1.4}
.td-card .t{font-family:var(--serif);font-size:1.125rem}
.td-card .d{font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(239,237,230,.35);line-height:2}
.trade-word{font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.5rem);letter-spacing:.18em;text-transform:uppercase;color:rgba(239,237,230,.9);margin-bottom:32px;display:inline-block}
.foodie-tag{font-family:var(--mono);font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:rgba(239,237,230,.3);margin-top:32px}
.foodie-ph{position:relative;overflow:hidden;border:1px solid var(--line)}
.foodie-ph img{width:100%;aspect-ratio:16/9;object-fit:cover}

/* ═══ leadership ═══ */
#leadership{background:var(--chalk);color:var(--onyx)}
.ld-grid{display:grid;gap:20px;margin-top:64px}
@media(min-width:768px){.ld-grid{grid-template-columns:repeat(3,1fr)}.ld-card.lead{grid-column:span 2}}
.ld-card{border:1px solid rgba(11,11,13,.1);padding:clamp(32px,3.5vw,40px);transition:border-color .7s}
.ld-card:hover{border-color:var(--bronze)}
.ld-card.lead{background:var(--onyx);color:var(--bone)}
.ld-role{font-family:var(--mono);font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--bronze)}
.ld-name{font-family:var(--serif);font-weight:300;font-size:1.5rem;margin-top:16px}
.ld-card.lead .ld-name{font-size:clamp(1.875rem,3vw,2.25rem)}
.ld-bio{font-size:.875rem;line-height:1.85;margin-top:16px;max-width:28rem;color:rgba(11,11,13,.55)}
.ld-card.lead .ld-bio{color:rgba(239,237,230,.55)}

/* ═══ trust ═══ */
#trust{background:var(--chalk);color:var(--onyx);border-top:1px solid rgba(11,11,13,.1);border-bottom:1px solid rgba(11,11,13,.1);padding:40px 0}
.tr-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.tr-l{font-family:var(--mono);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:rgba(11,11,13,.35)}
.tr-names{display:flex;flex-wrap:wrap;align-items:center;gap:12px 48px}
.tr-names span{font-family:var(--serif);color:rgba(11,11,13,.6);font-size:clamp(.875rem,1.2vw,1rem)}

/* ═══ contact ═══ */
#contact{background:var(--onyx)}
.ct-grid{display:grid;gap:1px;background:rgba(239,237,230,.05);border:1px solid var(--line);margin-top:64px}
@media(min-width:768px){.ct-grid{grid-template-columns:repeat(3,1fr)}}
.ct-col{background:var(--onyx);padding:clamp(32px,3.5vw,40px)}
.ct-col>.icn{width:18px;height:18px;color:var(--bronze);stroke-width:1.4}
.ct-col .t{font-family:var(--serif);font-size:1.25rem;margin-top:20px}
.ct-lines{margin-top:24px}
.ct-lines a{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:.75rem;color:rgba(239,237,230,.55);transition:color .5s;padding:6px 0}
.ct-lines a:hover{color:var(--bronze)}
.ct-lines .icn{width:12px;height:12px}
.ct-office{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(239,237,230,.3);margin-top:40px;line-height:2.2}
.ct-office a{color:rgba(239,237,230,.5);transition:color .5s}
.ct-office a:hover{color:var(--bronze)}

/* ═══ footer ═══ */
#ftr{background:var(--onyx);border-top:1px solid var(--line)}
.ft-main{display:grid;gap:40px;padding:64px 0}
@media(min-width:768px){.ft-main{grid-template-columns:4fr 8fr}}
.ft-logo img{height:40px;width:auto}
.ft-tag{font-family:var(--mono);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:rgba(239,237,230,.3);margin-top:16px}
.ft-cos{display:grid;gap:32px;grid-template-columns:1fr}
@media(min-width:640px){.ft-cos{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.ft-cos{grid-template-columns:repeat(4,1fr)}}
.ft-co .t{font-size:.875rem;color:rgba(239,237,230,.8)}
.ft-co .d{font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:rgba(239,237,230,.3);margin-top:8px;line-height:2}
.ft-bot{border-top:1px solid var(--line);padding:24px 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}
.ft-bot span{font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(239,237,230,.25)}

/* ═══ enquiry modal ═══ */
#emodal{position:fixed;inset:0;z-index:70;background:rgba(11,11,13,.8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:none;align-items:flex-end;justify-content:center;opacity:0;transition:opacity .4s var(--ease)}
#emodal.on{display:flex}
#emodal.vis{opacity:1}
@media(min-width:640px){#emodal{align-items:center;padding:24px}}
.em-card{width:100%;background:var(--coal);border:1px solid var(--line-b);padding:clamp(28px,3vw,36px);position:relative;max-height:92dvh;overflow-y:auto;transform:translateY(40px);transition:transform .6s var(--ease)}
#emodal.vis .em-card{transform:none}
@media(min-width:640px){.em-card{max-width:440px}}
.em-x{position:absolute;top:16px;right:16px;color:rgba(239,237,230,.5);padding:8px;transition:color .3s}
.em-x:hover{color:var(--bone)}
.em-h{font-family:var(--serif);font-weight:300;font-size:clamp(1.5rem,2.4vw,1.875rem);margin-top:12px;line-height:1.25}
.em-f{display:block;margin-top:20px}
.em-f:first-of-type{margin-top:28px}
.em-f span{font-family:var(--mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:rgba(239,237,230,.4);display:block}
.em-f select{margin-top:8px;width:100%;background:var(--onyx);border:1px solid var(--line);padding:12px;font-family:var(--mono);font-size:.75rem;color:var(--bone)}
.em-f input,.em-f textarea{margin-top:8px;width:100%;background:transparent;border:none;border-bottom:1px solid var(--line-b);padding:10px 0;font-size:.875rem;color:var(--bone);resize:none}
.em-f ::placeholder{color:rgba(239,237,230,.25)}
.em-send{margin-top:28px;width:100%;display:flex;align-items:center;justify-content:center;gap:12px;background:var(--bronze);color:var(--onyx);padding:14px;font-family:var(--mono);font-size:10px;letter-spacing:.25em;text-transform:uppercase;transition:background .5s}
.em-send:hover{background:var(--bone)}
.em-wa{margin-top:10px;width:100%;display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--line);color:rgba(239,237,230,.7);padding:14px;font-family:var(--mono);font-size:10px;letter-spacing:.25em;text-transform:uppercase;transition:border-color .5s,color .5s}
.em-wa:hover{border-color:var(--bronze);color:var(--bronze)}
.em-note{font-family:var(--mono);font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:rgba(239,237,230,.25);margin-top:16px;text-align:center}

/* ═══ print — tender-ready one-pager ═══ */
.print-sheet{display:none}
@media print{
  body>*{display:none!important}
  body{background:#fff!important;color:#000!important}
  .print-sheet{display:block!important;font-family:Georgia,serif;color:#111;padding:0}
  .ps-word{font-size:22pt;letter-spacing:.28em;text-transform:uppercase;font-weight:600}
  .ps-tag{font-size:8pt;letter-spacing:.3em;text-transform:uppercase;color:#666;margin-top:4pt}
  .ps-rule{height:1pt;background:#A8895B;margin:14pt 0}
  .ps-h{font-size:10pt;letter-spacing:.2em;text-transform:uppercase;color:#666;margin:16pt 0 6pt;font-family:Helvetica,Arial,sans-serif}
  .print-sheet table{width:100%;border-collapse:collapse;font-size:9.5pt}
  .print-sheet td,.print-sheet th{text-align:left;padding:4pt 8pt 4pt 0;border-bottom:.5pt solid #ddd;vertical-align:top}
  .print-sheet th{font-family:Helvetica,Arial,sans-serif;font-size:8pt;letter-spacing:.1em;text-transform:uppercase;color:#888;font-weight:400}
  .ps-cos li{margin:3pt 0;font-size:10pt}
  .ps-foot{margin-top:18pt;font-size:8.5pt;color:#555;line-height:1.7}
}

/* ═══ reduced motion ═══ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important;transition-delay:0ms!important}
  .rv,.hero-rv{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* ── nav dropdown ── */
.nav-dd{position:relative;display:inline-block}
.nav-dd>.nav-link{display:inline-flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;padding:0;font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(239,237,230,.6)}
.nav-dd>.nav-link::after{width:calc(100% - 15px)}
.nav-dd>.nav-link .caret{width:9px;height:9px;transition:transform .35s cubic-bezier(.25,1,.5,1);flex-shrink:0}
.nav-dd:hover>.nav-link .caret,.nav-dd.open>.nav-link .caret{transform:rotate(180deg)}
.dd-menu{position:absolute;top:100%;left:50%;transform:translate(-50%,8px);margin-top:18px;min-width:340px;background:rgba(11,11,13,.97);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s cubic-bezier(.25,1,.5,1),transform .35s cubic-bezier(.25,1,.5,1),visibility .35s;z-index:60}
.dd-menu::before{content:"";position:absolute;top:-18px;left:0;right:0;height:18px}
.nav-dd:hover .dd-menu,.nav-dd.open .dd-menu,.dd-menu:focus-within{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.dd-item{display:block;padding:16px 22px;text-decoration:none;border-bottom:1px solid var(--line);transition:background .35s}
.dd-item:last-child{border-bottom:none}
.dd-item:hover,.dd-item:focus-visible{background:rgba(168,137,91,.07)}
.dd-item .t{font-family:var(--serif);font-size:1rem;color:rgba(239,237,230,.92);display:flex;align-items:center;justify-content:space-between;gap:10px;letter-spacing:.01em}
.dd-item:hover .t{color:var(--bronze)}
.dd-item .s{font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(239,237,230,.35);display:block;margin-top:5px}
.dd-item .go{width:13px;height:13px;flex-shrink:0;color:var(--bronze);opacity:0;transform:translateX(-4px);transition:opacity .35s,transform .35s}
.dd-item:hover .go,.dd-item:focus-visible .go{opacity:1;transform:translateX(0)}
/* mobile submenu */
.mm-sub{display:block;padding:10px 0 10px 20px;border-left:1px solid var(--line);margin:2px 0 2px 4px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(239,237,230,.5);text-decoration:none}
.mm-sub:hover{color:var(--bronze)}

/* ── sub-page (company detail) ── */
.sub-hero{position:relative;background:var(--coal);padding:180px 0 90px;border-bottom:1px solid var(--line)}
.crumb{font-family:var(--mono);font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:rgba(239,237,230,.32);margin-bottom:38px}
.crumb a{color:rgba(239,237,230,.55);text-decoration:none;transition:color .35s}
.crumb a:hover{color:var(--bronze)}
.crumb span{margin:0 6px}
.sub-h1{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,4.6vw,3.5rem);line-height:1.1;max-width:19ch}
.sub-h1 em{color:var(--bronze);font-style:italic}
.sub-lead{font-size:.9375rem;line-height:1.9;color:rgba(239,237,230,.55);max-width:60ch;margin-top:28px}
.sub-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:56px}
@media(min-width:768px){.sub-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.sub-stats>div{background:var(--coal);padding:26px 22px}
.sub-stats .stat-n{font-family:var(--mono);font-size:clamp(1.1rem,2vw,1.5rem);color:var(--bone)}
.sub-sec{padding:90px 0}
.sub-sec.alt{background:var(--coal);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cap-list li{padding:14px 0;border-bottom:1px solid var(--line);font-size:.875rem;color:rgba(239,237,230,.6)}
.cap-list li:last-child{border-bottom:none}
.pj-grid-3{display:grid;grid-template-columns:1fr;gap:20px;margin-top:32px}
@media(min-width:768px){.pj-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.sli-contact{display:grid;grid-template-columns:1fr;gap:36px;align-items:center}
@media(min-width:768px){.sli-contact{grid-template-columns:1fr 1fr}}
.sli-contact-l{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.sli-contact-l a{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:.8125rem;color:rgba(239,237,230,.65);text-decoration:none;transition:color .4s}
.sli-contact-l a:hover{color:var(--bronze)}
.sli-contact-l .icn{width:15px;height:15px;color:var(--bronze)}
.sli-contact-l .hdr-cta{display:inline-flex;margin-top:8px}
/* homepage CTA into the SLI page */
.sli-cta{margin-top:44px}
.sli-cta-link{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;padding:26px 28px;border:1px solid var(--line);text-decoration:none;transition:border-color .6s,background .6s}
.sli-cta-link:hover{border-color:rgba(168,137,91,.45);background:rgba(168,137,91,.04)}
.sli-cta-link .n{display:block;font-family:var(--serif);font-size:1.125rem;color:rgba(239,237,230,.92)}
.sli-cta-link .s{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(239,237,230,.35);margin-top:7px}
.sli-cta-link .a{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--bronze);flex-shrink:0}
.sli-cta-link .a svg{width:15px;height:15px;transition:transform .5s var(--ease)}
.sli-cta-link:hover .a svg{transform:translateX(5px)}
