/* ============ HI-NOVA APEX — design system ============ */
:root{
  --bg:#0E0F11; --bg-2:#131418; --surface:#16181C; --surface-2:#1B1E23;
  --ink:#0B0C0D;
  --text:#ECE7DC; --text-2:#A6A199; --text-3:#6E6A62;
  --gold:#C8A86A; --gold-2:#DcBd88; --gold-soft:rgba(200,168,106,.30);
  --navy:#1A2C4E; --navy-2:#26406E;
  --line:rgba(231,225,210,.10); --line-2:rgba(231,225,210,.06);
  --serif:'Fraunces',Georgia,serif; --sans:'Archivo',system-ui,sans-serif; --mono:'JetBrains Mono',monospace;
  --container:1240px; --header-w:1440px; --pad:clamp(20px,5vw,40px);
  --sec:clamp(64px,9vh,104px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text-2);font-family:var(--sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--pad)}

/* type */
h1,h2,h3{font-family:var(--serif);color:var(--text);font-weight:500;line-height:1.08;letter-spacing:-.01em;font-optical-sizing:auto}
.eyebrow{font-family:var(--mono);font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;font-weight:500}
.eyebrow::before{content:"";display:inline-block;width:26px;height:1px;background:var(--gold);vertical-align:middle;margin-right:12px;opacity:.8}
.section-title{font-size:clamp(1.8rem,3.4vw,2.7rem)}
.section-title.light{color:var(--text)}
.muted{color:var(--text-2)}
.muted.light{color:#cfcabf}
.ital-gold{font-style:italic;color:var(--gold);font-weight:500}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--sans);font-weight:600;font-size:.84rem;letter-spacing:.04em;padding:14px 26px;border:1px solid transparent;cursor:pointer;transition:.28s ease;white-space:nowrap}
.btn-gold{background:var(--gold);color:#161208}
.btn-gold:hover{background:var(--gold-2)}
.btn-navy{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn-navy:hover{background:var(--navy-2);border-color:var(--navy-2)}
.btn-ghost{background:transparent;border-color:var(--gold-soft);color:var(--text)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-2)}
.btn-ghost-light{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.5);color:#fff;backdrop-filter:blur(2px)}
.btn-ghost-light:hover{border-color:#fff;background:rgba(255,255,255,.13)}

/* utility bar */
.utilitybar{background:var(--ink);border-bottom:1px solid var(--line-2);font-size:.74rem}
.util-inner{display:flex;justify-content:space-between;align-items:center;height:38px}
.util-tag{font-family:var(--sans);letter-spacing:.01em;color:var(--text-3);text-transform:none;font-size:.74rem}
.util-right{display:flex;align-items:center;gap:16px}
.util-link{color:var(--text-2);transition:.2s}.util-link:hover{color:var(--gold)}
.util-sep{width:1px;height:13px;background:var(--line)}
.util-social{display:flex;align-items:center;gap:13px;margin-left:6px}
.util-social a{display:inline-flex;color:#cfc8b8;transition:.2s}
.util-social a:hover{transform:translateY(-1px);filter:brightness(1.2)}
.util-social svg{width:16px;height:16px;display:block}
/* official brand colours (X stays monochrome) */
.util-social a[aria-label="LinkedIn"]{color:#0A66C2}
.util-social a[aria-label="Instagram"]{color:#E1306C}
.util-social a[aria-label="Facebook"]{color:#1877F2}
.util-social a[aria-label="Pinterest"]{color:#E60023}
.util-social a[aria-label="X"]{color:#ECE7DC}

/* header */
.header{position:sticky;top:0;z-index:60;background:rgba(14,15,17,.72);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:.3s}
.header.scrolled{background:rgba(11,12,13,.94);border-bottom-color:var(--line)}
.header > .container,.utilitybar > .container{max-width:var(--header-w)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:96px;padding:12px clamp(28px,4.4vw,60px)}
.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.brand-icon{height:66px;width:auto}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-name{font-family:var(--serif);font-weight:700;font-size:1.34rem;color:var(--navy);letter-spacing:.04em;white-space:nowrap}
.brand-sub{font-family:var(--mono);font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-top:6px;font-weight:500}
.header-cta .btn{padding:11px 22px;font-size:.78rem;letter-spacing:.04em}
/* two-line primary nav, centred between logo and CTA */
.nav{flex:1 1 auto;min-width:0;display:flex;justify-content:center}
.nav-rows{display:flex;flex-direction:column;align-items:center;gap:8px}
.nav-line{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap}
.nav-line > a,.nav-top{font-size:.86rem;letter-spacing:.008em;color:var(--navy);font-weight:500;position:relative;padding:3px 0;transition:.2s;white-space:nowrap;cursor:pointer}
.nav-line > a:hover,.nav-top:hover{color:var(--gold)}
.nav-line > a::after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:1.5px;background:var(--gold);transition:.28s}
.nav-line > a:hover::after,.nav-line > a.active::after{width:100%}
.nav-line > a.active,.nav-top.active{color:var(--gold)}
.nav-line .caret{margin-top:-2px}
.header-cta{display:flex;align-items:center;gap:14px}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:8px;cursor:pointer}
.burger span{width:24px;height:1.5px;background:var(--text)}

/* drawer */
.drawer{position:fixed;top:0;right:0;width:min(82vw,340px);height:100vh;height:100dvh;background:var(--bg-2);z-index:70;transform:translateX(100%);transition:.34s ease;border-left:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden}
.drawer.open{transform:none}
.drawer-nav{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:0;padding:2px 30px 40px}
.drawer-nav > a{padding:14px 0;border-bottom:1px solid var(--line-2);font-size:1rem;color:var(--text);font-family:var(--serif)}
.drawer-cta{margin-top:20px;border:none;flex:0 0 auto}
.drawer-close{flex:0 0 auto;align-self:flex-end;position:relative;margin:18px 24px 2px;width:38px;height:38px;background:none;border:none;cursor:pointer;padding:0;z-index:2}
.drawer-close::before,.drawer-close::after{content:"";position:absolute;top:50%;left:50%;width:23px;height:1.5px;background:var(--text);transition:.2s}
.drawer-close::before{transform:translate(-50%,-50%) rotate(45deg)}
.drawer-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
.drawer-close:hover::before,.drawer-close:hover::after{background:var(--gold)}
.drawer-backdrop{position:fixed;inset:0;background:rgba(8,9,11,.5);z-index:65;opacity:0;visibility:hidden;transition:.3s}
.drawer-backdrop.open{opacity:1;visibility:visible}

/* hero */
.hero{position:relative;min-height:min(94vh,860px);display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line)}
.hero-carousel{position:absolute;inset:0;z-index:0}
.hero-slide{position:absolute;inset:0;background-image:var(--img);background-size:cover;background-position:center;opacity:0;transition:opacity 1.4s ease;will-change:opacity}
.hero-slide.is-active{opacity:1;animation:kenburns 8.5s ease-out both}
@keyframes kenburns{from{transform:scale(1.05)}to{transform:scale(1.14)}}
.hero-scrim{position:absolute;inset:0;z-index:1;background:rgba(9,10,12,.6)}
.hero-inner{position:relative;z-index:2;padding-top:54px;padding-bottom:92px;max-width:820px}
.hero-slides-text{position:relative;min-height:clamp(186px,26vh,232px)}
.hero-text{position:absolute;inset:0;opacity:0;transform:translateY(10px);transition:opacity .7s ease,transform .7s ease;pointer-events:none}
.hero-text.is-active{position:relative;opacity:1;transform:none;pointer-events:auto}
.hero-title{font-size:clamp(1.9rem,3.7vw,3rem);color:#fff;letter-spacing:-.015em;line-height:1.13;text-shadow:0 2px 26px rgba(0,0,0,.5);margin-bottom:20px}
.hero-sub{max-width:540px;color:#d8d3c8;font-size:1rem;margin-bottom:30px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-dots{display:flex;gap:9px;margin-top:38px}
.hero-dot{width:30px;height:3px;background:rgba(255,255,255,.26);border:none;padding:0;cursor:pointer;transition:.3s}
.hero-dot:hover{background:rgba(255,255,255,.5)}
.hero-dot.is-active{background:var(--gold);width:48px}
.hero-codes{position:absolute;left:0;right:0;bottom:0;z-index:2;border-top:1px solid var(--line);background:rgba(10,11,13,.55)}
.hero-codes-inner{display:flex;flex-wrap:wrap;gap:28px;padding:15px 0;font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2)}
.hero-codes-inner span{position:relative}
.hero-codes-inner span+span::before{content:"";position:absolute;left:-14px;top:50%;width:3px;height:3px;background:var(--gold);transform:translateY(-50%)}

/* statement band */
.band{padding:clamp(48px,7vh,76px) 0;border-bottom:1px solid var(--line);background:var(--bg-2)}
.statement-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.statement-line{font-size:clamp(1.6rem,2.8vw,2.3rem);color:var(--text);margin-bottom:22px;line-height:1.18}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.stat{background:var(--bg-2);padding:26px 24px}
.stat-num{display:block;font-family:var(--serif);font-size:2.5rem;color:var(--gold);font-weight:500;line-height:1;letter-spacing:-.02em}
.stat-num .unit{font-size:1rem;color:var(--text-2);margin-left:5px;font-family:var(--mono);letter-spacing:0}
.stat-lab{display:block;margin-top:12px;font-size:.8rem;color:var(--text-2);font-family:var(--mono);letter-spacing:.03em}

/* sections */
.section{padding:var(--sec) 0}
.section-dark{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:48px}
.section-intro{max-width:420px;font-size:.96rem}

/* product grid */
.product-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:218px;gap:14px}
.pcard{position:relative;overflow:hidden;border:1px solid var(--line);background:var(--surface);grid-row:span 1}
.pcard-lg{grid-column:span 6;grid-row:span 2}
.pcard:nth-child(2),.pcard:nth-child(3),.pcard:nth-child(4),.pcard:nth-child(5){grid-column:span 3}
.pcard:nth-child(6),.pcard:nth-child(7),.pcard:nth-child(8){grid-column:span 4}
.pcard:nth-child(9),.pcard:nth-child(10){grid-column:span 6}
.pcard-img{position:absolute;inset:0;background-image:var(--img);background-size:cover;background-position:center;transition:transform .9s ease;filter:saturate(.92) brightness(.92)}
.pcard:hover .pcard-img{transform:scale(1.06)}
.pcard-body{position:absolute;left:0;right:0;bottom:0;background:rgba(11,12,13,.82);border-top:1px solid var(--gold-soft);padding:14px 18px 16px;transition:.3s;display:flex;flex-direction:column;align-items:flex-start}
.pcard:hover .pcard-body{background:rgba(11,12,13,.9)}
.pcard-no{font-family:var(--mono);font-size:.6rem;color:var(--gold);border:1px solid var(--gold-soft);padding:2px 8px;letter-spacing:.14em;margin-bottom:9px;line-height:1.4}
.pcard-name{display:block;font-family:var(--serif);color:#fff;font-size:1.02rem;font-weight:500;letter-spacing:.01em;line-height:1.22}
.pcard-lg .pcard-name{font-size:1.5rem}
.pcard-desc{display:block;margin-top:8px;font-size:.8rem;color:var(--text-2);line-height:1.5}
.pcard:not(.pcard-lg) .pcard-desc{display:none}
.pcard-go{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);opacity:0;transform:translateY(6px);transition:.3s}
.pcard:hover .pcard-go{opacity:1;transform:none}
.pcard:not(.pcard-lg) .pcard-go{display:none}
.ar{width:16px;height:1px;background:var(--gold);position:relative;display:inline-block}
.ar::after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;border-top:1px solid var(--gold);border-right:1px solid var(--gold);transform:rotate(45deg)}

/* capabilities */
.cap-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.cap-media{position:relative}
.cap-media img{width:100%;height:560px;object-fit:cover;border:1px solid var(--line)}
.cap-badge{position:absolute;right:-1px;bottom:-1px;background:var(--ink);border:1px solid var(--gold-soft);padding:20px 24px;max-width:230px}
.cap-badge-num{display:block;font-family:var(--serif);font-size:2.2rem;color:var(--gold);line-height:1}
.cap-badge-lab{display:block;margin-top:8px;font-size:.74rem;font-family:var(--mono);color:var(--text-2);letter-spacing:.03em}
.cap-content .muted{margin-bottom:30px;max-width:520px}
.spec{display:flex;flex-direction:column}
.spec-row{display:grid;grid-template-columns:130px 1fr;gap:24px;padding:18px 0;border-top:1px solid var(--line)}
.spec-row:last-child{border-bottom:1px solid var(--line)}
.spec-row dt{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);padding-top:3px}
.spec-row dd{color:var(--text-2);font-size:.92rem;line-height:1.65}

/* industries */
.industries{position:relative;overflow:hidden;padding:var(--sec) 0;border-bottom:1px solid var(--line)}
.industries-media{position:absolute;inset:0;z-index:0}
.industries-media img{width:100%;height:100%;object-fit:cover;filter:grayscale(.4)}
.industries-scrim{position:absolute;inset:0;z-index:1;background:rgba(10,11,13,.86)}
.industries-inner{position:relative;z-index:2;display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center}
.industries-head .muted{max-width:340px}
.ind-list{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.ind-list li{font-size:.82rem;color:var(--text);padding:13px 16px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);letter-spacing:.01em;transition:.2s;background:rgba(20,21,24,.4)}
.ind-list li:hover{background:rgba(200,168,106,.08);color:var(--gold-2)}

/* approach */
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.steps li{background:var(--bg);padding:28px 24px;transition:.25s}
.steps li:hover{background:var(--surface)}
.step-no{display:block;font-family:var(--mono);font-size:.72rem;color:var(--gold);letter-spacing:.1em;margin-bottom:16px}
.step-name{display:block;font-family:var(--serif);font-size:1.3rem;color:var(--text);margin-bottom:10px}
.step-desc{display:block;font-size:.84rem;color:var(--text-2);line-height:1.55}

/* cta */
.cta{position:relative;overflow:hidden;padding:var(--sec) 0;border-bottom:1px solid var(--line)}
.cta-media{position:absolute;inset:0;z-index:0}
.cta-media img{width:100%;height:100%;object-fit:cover}
.cta-scrim{position:absolute;inset:0;z-index:1;background:rgba(9,10,12,.8)}
.cta-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:center}
.cta-copy .muted{max-width:520px;margin-bottom:32px}
.cta-contact{border-left:1px solid var(--gold-soft);padding-left:32px;display:flex;flex-direction:column;gap:22px}
.cc-row{display:flex;flex-direction:column;gap:6px}
.cc-lab{font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.cc-val{font-size:.9rem;color:var(--text);line-height:1.6}
.cc-val a:hover{color:var(--gold)}

/* footer */
.footer{background:var(--ink);border-top:1px solid var(--line);padding:70px 0 30px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1.25fr;gap:44px}
.footer-brand .brand{margin-bottom:20px}
.footer-tag{font-family:var(--serif);font-style:italic;color:var(--text-2);font-size:1rem;max-width:280px;margin-bottom:22px}
.footer-social{display:flex;flex-wrap:wrap;gap:18px}
.footer-social a{font-size:.78rem;color:var(--text-3);transition:.2s}.footer-social a:hover{color:var(--gold)}
.footer-col h3{font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;font-weight:500}
.footer-col a{display:block;font-size:.86rem;color:var(--text-2);padding:6px 0;transition:.2s}.footer-col a:hover{color:var(--text)}
.footer-contact p{font-size:.86rem;color:var(--text-2);margin-bottom:12px;line-height:1.6}
.footer-contact a:hover{color:var(--gold)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:54px;padding-top:24px;border-top:1px solid var(--line);font-family:var(--mono);font-size:.68rem;letter-spacing:.05em;color:var(--text-3)}

/* reveal */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.hero-slide.is-active{animation:none}.hero-text{transition:none}}

/* why hi-nova + floating glyphs */
.why{position:relative;overflow:hidden}
.why-glyphs{position:absolute;inset:0;z-index:0;color:var(--gold);pointer-events:none}
.why-glyphs .glyph{position:absolute;opacity:.055;will-change:transform}
.glyph.g1{width:340px;top:-60px;right:-70px;animation:floatA 26s ease-in-out infinite alternate}
.glyph.g2{width:220px;bottom:-50px;left:-50px;animation:floatB 31s ease-in-out infinite alternate}
.glyph.g3{width:300px;top:38%;left:60%;opacity:.04;animation:floatC 36s ease-in-out infinite alternate}
@keyframes floatA{from{transform:translateY(0) rotate(0)}to{transform:translateY(28px) rotate(14deg)}}
@keyframes floatB{from{transform:translateY(0) rotate(0)}to{transform:translateY(-22px) rotate(-12deg)}}
@keyframes floatC{from{transform:translate(0,0)}to{transform:translate(-26px,20px)}}
.why .container{position:relative;z-index:1}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.vcard{background:var(--bg);padding:34px 30px;transition:.3s}
.vcard:hover{background:var(--surface)}
.vicon{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;border:1px solid var(--gold-soft);color:var(--gold);margin-bottom:22px;transition:.35s}
.vicon svg{width:24px;height:24px}
.vcard:hover .vicon{background:var(--gold);color:#fff;transform:translateY(-3px)}
.vcard h3{font-family:var(--serif);font-size:1.18rem;color:var(--text);margin-bottom:11px;font-weight:500;line-height:1.2}
.vcard p{font-size:.9rem;color:var(--text-2);line-height:1.62}

/* envelope */
.envelope{padding:clamp(40px,6vh,66px) 0;background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.envelope .eyebrow{margin-bottom:30px}
.env-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.env-cell{background:var(--bg-2);padding:24px 20px}
.env-val{font-family:var(--serif);font-size:2.05rem;color:var(--gold);font-weight:500;letter-spacing:-.02em;line-height:1}
.env-unit{font-family:var(--mono);font-size:.78rem;color:var(--text-2);margin-left:4px}
.env-lab{display:block;margin-top:13px;font-family:var(--mono);font-size:.64rem;letter-spacing:.06em;color:var(--text-2);text-transform:uppercase}

/* innovation */
.innov-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.icard{display:flex;gap:22px;align-items:flex-start;background:var(--bg);padding:28px 30px;transition:.3s}
.icard:hover{background:var(--surface)}
.iicon{flex:0 0 auto;width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gold-soft);color:var(--gold);transition:.3s}
.iicon svg{width:23px;height:23px}
.icard:hover .iicon{border-color:var(--gold);color:var(--gold-2)}
.itext h3{font-family:var(--serif);font-size:1.14rem;color:var(--text);margin-bottom:7px;font-weight:500}
.itext p{font-size:.88rem;color:var(--text-2);line-height:1.55}

/* certifications */
.certs{padding:clamp(38px,5vh,58px) 0;border-bottom:1px solid var(--line)}
.certs .eyebrow{margin-bottom:26px;text-align:center}
.certs .eyebrow::before{display:none}
.cert-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.cert{font-family:var(--mono);font-size:.74rem;letter-spacing:.07em;color:var(--text);border:1px solid var(--line);padding:13px 22px;transition:.25s;text-transform:uppercase}
.cert:hover{border-color:var(--gold);color:var(--gold)}

/* video showcase */
.videoband{position:relative;overflow:hidden;min-height:min(80vh,660px);display:flex;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.videoband-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.videoband-scrim{position:absolute;inset:0;z-index:1;background:rgba(8,9,11,.6)}
.videoband-inner{position:relative;z-index:2;max-width:680px;padding-top:64px;padding-bottom:64px}
.videoband .eyebrow{color:#C8A86A}
.videoband .eyebrow::before{background:#C8A86A}
.videoband .section-title.light{color:#fff;margin-bottom:18px}
.videoband .muted.light{color:#d6d2c8;max-width:548px;margin-bottom:36px}
.videoband-meta{display:flex;gap:46px;flex-wrap:wrap}
.vb-stat{display:flex;flex-direction:column;gap:9px;max-width:232px}
.vb-num{font-family:var(--serif);font-size:2.3rem;color:#D9BE86;line-height:1;font-weight:500}
.vb-lab{font-family:var(--mono);font-size:.7rem;letter-spacing:.05em;color:#bdb8ad;text-transform:uppercase;line-height:1.55}

/* theme toggle */
.theme-toggle{position:fixed;right:22px;bottom:22px;z-index:80;display:flex;align-items:center;gap:9px;background:rgba(20,21,24,.86);backdrop-filter:blur(8px);border:1px solid var(--gold-soft);color:var(--text);font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;padding:11px 16px;cursor:pointer;transition:.25s}
.theme-toggle:hover{border-color:var(--gold);color:var(--gold-2)}
.tt-dot{width:9px;height:9px;background:var(--gold);border-radius:50%;box-shadow:0 0 0 3px rgba(200,168,106,.18)}

/* responsive */
@media(max-width:1200px){ .nav{display:none} .burger{display:flex} }
@media(max-width:1080px){
  .statement-grid,.cap-grid,.industries-inner,.cta-inner{grid-template-columns:1fr;gap:40px}
  .cap-media img{height:420px}
  .cta-contact{border-left:none;border-top:1px solid var(--gold-soft);padding-left:0;padding-top:28px}
  .product-grid{grid-auto-rows:200px}
  .pcard-lg{grid-column:span 12;grid-row:span 2}
  .pcard:nth-child(2),.pcard:nth-child(3),.pcard:nth-child(4),.pcard:nth-child(5){grid-column:span 6}
  .pcard:nth-child(6),.pcard:nth-child(7),.pcard:nth-child(8){grid-column:span 4}
  .pcard:nth-child(9),.pcard:nth-child(10){grid-column:span 6}
  .footer-grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:repeat(2,1fr)}
  .value-grid{grid-template-columns:repeat(2,1fr)}
  .env-grid{grid-template-columns:repeat(3,1fr)}
  .innov-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .util-tag{display:none}
  .section-head{flex-direction:column;align-items:flex-start;gap:14px}
  .ind-list{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:1fr}
  .value-grid{grid-template-columns:1fr}
  .env-grid{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:1fr 1fr}
  .product-grid{grid-template-columns:1fr 1fr;grid-auto-rows:auto;gap:12px}
  .pcard:nth-child(n),.pcard-lg{grid-column:auto;grid-row:auto;aspect-ratio:1/1}
  .pcard-desc,.pcard-go{display:none}
  .pcard-name,.pcard-lg .pcard-name{font-size:.9rem;line-height:1.22}
  .pcard-no{font-size:.55rem;margin-bottom:6px;padding:2px 7px}
  .pcard-body{padding:11px 13px 13px}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:10px;text-align:center}
  .hero-codes{position:static;background:var(--bg-2)}
}

/* ===================== INNER-PAGE COMPONENTS ===================== */
/* page hero (dark image island) */
.page-hero{position:relative;min-height:min(56vh,470px);display:flex;align-items:flex-end;overflow:hidden;border-bottom:1px solid var(--line)}
.page-hero::before{content:"";position:absolute;inset:0;background-image:var(--img);background-size:cover;background-position:center;animation:kenburns 16s ease-out both;z-index:0}
.page-hero-scrim{position:absolute;inset:0;z-index:1;background:rgba(9,10,12,.6)}
.page-hero-inner{position:relative;z-index:2;padding-top:78px;padding-bottom:52px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:#cdc8bd;margin-bottom:20px}
.crumbs a{color:#cdc8bd;transition:.2s}.crumbs a:hover{color:#C8A86A}
.crumb-sep{color:rgba(255,255,255,.3)}
.crumb-cur{color:#C8A86A}
.page-hero .eyebrow{color:#C8A86A}
.page-hero .eyebrow::before{background:#C8A86A}
.page-hero-title{font-family:var(--serif);font-weight:500;font-size:clamp(2rem,4.2vw,3.35rem);color:#fff;line-height:1.1;letter-spacing:-.015em;max-width:920px;text-shadow:0 2px 24px rgba(0,0,0,.42)}
.page-hero-title .ital-gold{color:#D9BE86;font-style:italic}
.page-hero-sub{max-width:620px;margin-top:18px;color:#dad5ca;font-size:1.02rem}

/* outline button + section foot */
.btn-outline{background:transparent;border-color:var(--gold-soft);color:var(--gold-2)}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);background:rgba(200,168,106,.06)}
.section-foot{margin-top:40px}
.ar-l{transform:rotate(180deg);margin-right:2px}

/* lead grid */
.lead-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:start;margin-bottom:56px}
.lead-text p{font-size:1.02rem;margin-bottom:16px}
.lead-text p:last-child{margin-bottom:0}

/* catalog (products landing) */
.catalog{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.catalog-card{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--surface);transition:.3s}
.catalog-card:hover{border-color:var(--gold-soft);transform:translateY(-4px)}
.catalog-media{position:relative;aspect-ratio:16/9;background-image:var(--img);background-size:cover;background-position:center}
.catalog-no{position:absolute;left:14px;top:14px;font-family:var(--mono);font-size:.64rem;color:#fff;background:rgba(11,12,13,.6);border:1px solid var(--gold-soft);padding:3px 9px;letter-spacing:.12em}
.catalog-body{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1}
.catalog-body h3{font-family:var(--serif);font-size:1.3rem;color:var(--text);margin-bottom:8px;font-weight:500;line-height:1.18}
.catalog-tag{font-family:var(--mono);font-size:.66rem;letter-spacing:.05em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;line-height:1.5}
.catalog-short{font-size:.92rem;color:var(--text-2);line-height:1.6;margin-bottom:18px;flex:1}
.catalog-go{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:9px}

/* product detail */
.prod-lead{display:grid;grid-template-columns:1.3fr .7fr;gap:54px;align-items:start}
.prod-intro-text{font-size:1.12rem;color:var(--text);line-height:1.7;margin-bottom:30px;font-family:var(--serif);font-weight:400}
.prod-actions{display:flex;gap:14px;flex-wrap:wrap}
.prod-facts{border:1px solid var(--line);background:var(--surface);padding:28px}
.prod-facts-title{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.pspec{display:flex;flex-direction:column}
.pspec-row{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid var(--line)}
.pspec-row:first-child{border-top:none;padding-top:0}
.pspec-row dt{font-size:.84rem;color:var(--text-2)}
.pspec-row dd{font-size:.84rem;color:var(--text);font-family:var(--mono);text-align:right}

/* product groups */
.pgroups{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.pgroup{background:var(--bg);padding:30px 28px}
.pgroup-title{font-family:var(--serif);font-size:1.18rem;color:var(--text);margin-bottom:18px;font-weight:500}
.pgroup-list{list-style:none}
.pgroup-list li{font-size:.9rem;color:var(--text-2);padding:9px 0 9px 18px;position:relative;border-top:1px solid var(--line-2)}
.pgroup-list li:first-child{border-top:none}
.pgroup-list li::before{content:"";position:absolute;left:0;top:16px;width:6px;height:6px;border-top:1.5px solid var(--gold);border-right:1.5px solid var(--gold);transform:rotate(45deg)}

/* tech grid + chips */
.tech-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.tech-block{background:var(--bg);padding:30px 30px}
.tech-title{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-size:1.1rem;color:var(--text);margin-bottom:16px;font-weight:500}
.tech-title svg{width:22px;height:22px;color:var(--gold);flex:0 0 auto}
.tech-text{font-size:.92rem;color:var(--text-2);line-height:1.65}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;color:var(--text);border:1px solid var(--line);background:var(--surface);padding:9px 15px;transition:.25s}
.chip:hover{border-color:var(--gold);color:var(--gold)}
.chips-lg .chip{font-size:.78rem;padding:12px 20px}

/* prev/next */
.prodnav{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-2)}
.prodnav-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 0}
.prodnav-link{display:flex;flex-direction:column;gap:6px;max-width:40%}
.prodnav-link.next{text-align:right;align-items:flex-end}
.prodnav-dir{font-family:var(--mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.prodnav-name{font-family:var(--serif);font-size:1.05rem;color:var(--text);transition:.2s}
.prodnav-link:hover .prodnav-name{color:var(--gold)}
.prodnav-all{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);border:1px solid var(--line);padding:11px 18px;transition:.2s;white-space:nowrap}
.prodnav-all:hover{border-color:var(--gold);color:var(--gold)}

/* kpi strip */
.kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:8px}
.kpi{background:var(--bg);padding:30px 26px}
.kpi-num{display:block;font-family:var(--serif);font-size:2.6rem;color:var(--gold);line-height:1;letter-spacing:-.02em}
.kpi-num .unit{font-size:1rem;font-family:var(--mono);color:var(--text-2);margin-left:4px}
.kpi-lab{display:block;margin-top:12px;font-family:var(--mono);font-size:.7rem;letter-spacing:.04em;color:var(--text-2);text-transform:uppercase}

/* vision/mission */
.vm-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.vm-card{background:var(--surface);border:1px solid var(--line);padding:40px 38px}
.vm-icon{display:inline-flex;width:52px;height:52px;align-items:center;justify-content:center;border:1px solid var(--gold-soft);color:var(--gold);margin-bottom:24px}
.vm-icon svg{width:26px;height:26px}
.vm-card h3{font-family:var(--serif);font-size:1.5rem;color:var(--text);margin-bottom:16px;font-weight:500}
.vm-card p{font-size:.98rem;color:var(--text-2);line-height:1.72}
.value-grid-4{grid-template-columns:repeat(4,1fr)}

/* two-column tick lists */
.twocol-lists{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.tcl{border:1px solid var(--line);background:var(--surface);padding:34px 32px}
.tcl-title{font-family:var(--serif);font-size:1.25rem;color:var(--text);margin-bottom:20px;font-weight:500}
.ticklist{list-style:none}
.ticklist li{position:relative;padding:11px 0 11px 30px;border-top:1px solid var(--line-2);font-size:.94rem;color:var(--text-2)}
.ticklist li:first-child{border-top:none}
.ticklist li::before{content:"";position:absolute;left:2px;top:15px;width:10px;height:6px;border-left:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(-45deg)}

/* engagement model */
.engage-model{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:40px}
.engage-step{background:var(--bg);padding:24px 20px;display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center}
.engage-no{font-family:var(--mono);font-size:.72rem;color:var(--gold);letter-spacing:.1em}
.engage-name{font-family:var(--serif);font-size:1.2rem;color:var(--text)}

/* ecosystem grid */
.eco-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.eco-cell{background:var(--bg);padding:28px 18px;display:flex;flex-direction:column;gap:14px;align-items:center;text-align:center}
.eco-cell svg{width:30px;height:30px;color:var(--gold)}
.eco-cell span{font-size:.82rem;color:var(--text-2);line-height:1.4}

/* bays */
.bay-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.bay{background:var(--bg);padding:30px 26px;display:flex;flex-direction:column;gap:8px}
.bay-no{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.bay-dim{font-size:.92rem;color:var(--text-2)}
.bay-area{font-family:var(--serif);font-size:1.9rem;color:var(--text);line-height:1.1}
.bay-total .bay-area{color:var(--gold)}

/* materials */
.mat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.mat-col{background:var(--bg);padding:32px 30px}
.mat-col h3{font-family:var(--serif);font-size:1.2rem;color:var(--text);margin-bottom:14px;font-weight:500}
.mat-col p{font-size:.92rem;color:var(--text-2);line-height:1.7}

/* industries groups */
.ind-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ind-group{border:1px solid var(--line);background:var(--surface);padding:30px 28px}
.ind-group-head{display:flex;gap:16px;align-items:center;margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.ind-group-icon{display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;border:1px solid var(--gold-soft);color:var(--gold);flex:0 0 auto}
.ind-group-icon svg{width:23px;height:23px}
.ind-group-head h3{font-family:var(--serif);font-size:1.12rem;color:var(--text);font-weight:500;line-height:1.2}
.ind-group-count{font-family:var(--mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.ind-group-list{list-style:none}
.ind-group-list li{font-size:.9rem;color:var(--text-2);padding:8px 0;border-top:1px solid var(--line-2)}
.ind-group-list li:first-child{border-top:none}

/* contact */
.contact-grid{display:grid;grid-template-columns:1.4fr .9fr;gap:56px;align-items:start}
.contact-lead{margin:14px 0 26px;max-width:520px}
.cform{display:flex;flex-direction:column;gap:18px}
.cform-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cform label{display:flex;flex-direction:column;gap:8px}
.cform .lbl{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}
.cform input,.cform select,.cform textarea{font-family:var(--sans);font-size:.95rem;color:var(--text);background:var(--surface);border:1px solid var(--line);padding:13px 15px;transition:.2s;width:100%;text-transform:none;letter-spacing:0}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;border-color:var(--gold)}
.cform textarea{resize:vertical}
.cform .req{color:var(--gold)}
.cform button{align-self:flex-start;margin-top:4px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.cform-note{font-family:var(--sans);font-size:.78rem;color:var(--text-3);text-transform:none;letter-spacing:0;line-height:1.5}
.form-alert{display:flex;align-items:center;gap:12px;padding:15px 18px;margin-bottom:22px;font-size:.9rem;border:1px solid}
.form-alert svg{width:20px;height:20px;flex:0 0 auto}
.form-alert.ok{border-color:rgba(154,122,44,.4);background:rgba(154,122,44,.08);color:var(--text)}
.form-alert.bad{border-color:rgba(176,58,46,.45);background:rgba(176,58,46,.08);color:#b03a2e}
.contact-info{display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);background:var(--surface);padding:34px 32px}
.ci-block{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line-2)}
.ci-icon{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid var(--gold-soft);color:var(--gold);flex:0 0 auto}
.ci-icon svg{width:20px;height:20px}
.ci-block h3{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:7px}
.ci-block p{font-size:.92rem;color:var(--text-2);line-height:1.6}
.ci-block a:hover{color:var(--gold)}
.ci-social{display:flex;flex-wrap:wrap;gap:16px;padding-top:20px}
.ci-social a{font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);transition:.2s}
.ci-social a:hover{color:var(--gold)}
.mapband{height:420px;border-bottom:1px solid var(--line)}
.mapband iframe{width:100%;height:100%;border:0;filter:grayscale(.3) contrast(1.05)}

/* blog */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.blog-card{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--surface);transition:.3s}
.blog-card:hover{border-color:var(--gold-soft);transform:translateY(-4px)}
.blog-media{position:relative;aspect-ratio:16/10;background-image:var(--img);background-size:cover;background-position:center}
.blog-tag{position:absolute;left:14px;top:14px;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:rgba(11,12,13,.62);border:1px solid var(--gold-soft);padding:5px 11px}
.blog-body{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1}
.blog-title{font-family:var(--serif);font-size:1.22rem;color:var(--text);margin-bottom:12px;font-weight:500;line-height:1.25}
.blog-excerpt{font-size:.9rem;color:var(--text-2);line-height:1.6;margin-bottom:18px;flex:1}
.blog-meta{display:flex;align-items:center;gap:11px;font-family:var(--mono);font-size:.68rem;letter-spacing:.04em;color:var(--text-3)}
.dot{width:3px;height:3px;border-radius:50%;background:var(--gold)}

/* article */
.article{padding:var(--sec) 0}
.article-inner{max-width:760px}
.article-meta{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;color:var(--text-3);padding-bottom:24px;margin-bottom:34px;border-bottom:1px solid var(--line)}
.article-body{font-size:1.06rem;line-height:1.8;color:var(--text-2)}
.article-body h2{font-family:var(--serif);font-size:1.6rem;color:var(--text);margin:36px 0 14px;font-weight:500;line-height:1.2}
.article-body p{margin-bottom:22px}
.article-foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:44px;padding-top:30px;border-top:1px solid var(--line)}

/* 404 */
.errpage{min-height:60vh;display:flex;align-items:center;padding:var(--sec) 0}
.errpage-inner{max-width:640px}
.errpage-title{font-family:var(--serif);font-size:clamp(2.2rem,5vw,3.6rem);color:var(--text);font-weight:500;line-height:1.1;margin:10px 0 18px}
.errpage .muted{margin-bottom:30px;font-size:1.05rem}

/* ===================== INNER-PAGE RESPONSIVE ===================== */
@media(max-width:1080px){
  .lead-grid,.prod-lead,.contact-grid{grid-template-columns:1fr;gap:36px}
  .pgroups,.tech-grid{grid-template-columns:1fr 1fr}
  .ind-groups,.blog-grid{grid-template-columns:1fr 1fr}
  .value-grid-4{grid-template-columns:repeat(2,1fr)}
  .kpi-strip{grid-template-columns:repeat(2,1fr)}
  .eco-grid{grid-template-columns:repeat(3,1fr)}
  .bay-grid{grid-template-columns:repeat(2,1fr)}
  .engage-model{grid-template-columns:repeat(5,1fr)}
}
@media(max-width:720px){
  .catalog,.pgroups,.tech-grid,.twocol-lists,.vm-grid,.mat-grid,.ind-groups,.blog-grid,.cform-row{grid-template-columns:1fr}
  .value-grid-4{grid-template-columns:1fr}
  .kpi-strip{grid-template-columns:1fr 1fr}
  .eco-grid{grid-template-columns:1fr 1fr}
  .bay-grid{grid-template-columns:1fr 1fr}
  .engage-model{grid-template-columns:1fr 1fr}
  .prodnav-inner{flex-direction:column;align-items:flex-start;gap:18px}
  .prodnav-link,.prodnav-link.next{max-width:100%;text-align:left;align-items:flex-start}
  .prodnav-all{order:3}
  .page-hero-inner{padding-top:56px}
  .mapband{height:320px}
}

/* ===================== MOBILE FIXES ===================== */
@media(max-width:820px){
  /* hero: image becomes a landscape banner, text sits below on a dark panel (no heavy crop) */
  .hero{display:block;min-height:0;background:#0E0F11}
  .hero-carousel{position:relative;inset:auto;aspect-ratio:16/10;height:auto;width:100%}
  .hero-scrim{display:none}
  .hero-inner{position:relative;z-index:2;padding-top:34px;padding-bottom:28px}
  .hero-slides-text{min-height:auto;margin-bottom:2px}
  .hero-codes{position:relative;z-index:2;background:#14161a}
  .hero-codes-inner{gap:10px 18px;padding:14px 0}
  /* video band: same treatment — true 16:9 banner (no crop) + text below */
  .videoband{display:block;min-height:0;background:#0E0F11}
  .videoband-media{position:relative;inset:auto;aspect-ratio:16/9;height:auto;width:100%;object-fit:cover}
  .videoband-scrim{display:none}
  .videoband-inner{position:relative;z-index:2;padding-top:38px;padding-bottom:40px}
  .videoband-meta{gap:24px}
  .cap-badge{position:static;max-width:none;margin-top:-1px}
}
@media(max-width:640px){
  /* free the brand from the quote button — drawer carries the CTA */
  .header-cta .btn-gold{display:none}
  .header-inner{height:74px}
  .brand-icon{height:52px}
  .brand-name{font-size:1.18rem;letter-spacing:.04em;font-weight:700}
  .brand-sub{font-size:.54rem;letter-spacing:.24em;margin-top:5px}
  .utilitybar{font-size:.68rem}
  .util-right{gap:11px}
  h2.section-title,.section-title{font-size:1.6rem}
  .hero-title{font-size:clamp(1.7rem,7vw,2.1rem)}
  .statement-line{font-size:1.5rem}
  .page-hero-title{font-size:clamp(1.8rem,7.5vw,2.3rem)}
  .page-hero{min-height:min(52vh,400px)}
  .section{padding:54px 0}
  .stats{grid-template-columns:1fr 1fr}
  .stat{padding:20px 18px}
  .stat-num{font-size:2.1rem}
  .kpi-num{font-size:2.1rem}
  .bay-area{font-size:1.6rem}
  .env-grid{grid-template-columns:1fr 1fr}
  .prod-intro-text{font-size:1.02rem}
  .vm-card,.tcl,.tech-block,.pgroup,.mat-col,.contact-info,.ind-group,.catalog-body,.blog-body{padding-left:22px;padding-right:22px}
  .article-body{font-size:1rem}
  .footer{padding:52px 0 26px}
  .footer-grid{gap:34px}
}
@media(max-width:420px){
  .eco-grid,.engage-model,.bay-grid,.stats,.kpi-strip,.env-grid{grid-template-columns:1fr 1fr}
  .util-social{display:none}
  .btn{padding:13px 20px;font-size:.8rem}
  .hero-actions .btn,.cta .btn{width:100%}
  .hero-actions,.cta .hero-actions{width:100%}
}

/* footer credit */
.footer-credit{color:var(--text-3)}
.footer-credit strong{color:#C8A86A;font-weight:600}
.footer-legal{display:flex;gap:18px}
.footer-legal a{transition:.2s}.footer-legal a:hover{color:#C8A86A}
.vcard-link{cursor:pointer}
.vcard-link:hover h3{color:var(--gold)}

/* ===================== TESTIMONIALS ===================== */
.testimonials{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.testimonials .eyebrow{justify-content:center;text-align:center;display:block}
.testimonials .t-head{text-align:center;max-width:640px;margin:0 auto 44px}
.testimonials .t-head .section-title{margin-top:6px}
.tslider{position:relative;overflow:hidden;max-width:880px;margin:0 auto}
.tslider-track{display:flex;transition:transform .55s cubic-bezier(.4,0,.2,1)}
.tslide{flex:0 0 100%;text-align:center;padding:0 12px;align-self:center}
.tslide blockquote{font-family:var(--serif);font-size:clamp(1.2rem,2.3vw,1.65rem);line-height:1.55;color:var(--text);font-weight:400;font-style:italic;margin-bottom:30px}
.tslide figcaption{display:flex;flex-direction:column;gap:6px}
.tname{font-family:var(--sans);font-weight:600;font-size:1rem;color:var(--text)}
.trole{font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--gold)}
.tslider-foot{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:40px}
.tslider-btn{width:46px;height:46px;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;font-size:1.05rem;transition:.25s;display:flex;align-items:center;justify-content:center}
.tslider-btn:hover{border-color:var(--gold);color:var(--gold)}
.tslider-count{font-family:var(--mono);font-size:.78rem;letter-spacing:.12em;color:var(--text-2);min-width:64px;text-align:center}
/* About: masonry wall */
.tgrid{columns:3;column-gap:18px}
.tgrid .tcard{break-inside:avoid;margin-bottom:18px;border:1px solid var(--line);background:var(--surface);padding:28px 26px}
.tquote-mark{font-family:var(--serif);font-size:2.8rem;color:var(--gold-soft);line-height:.5;display:block;margin-bottom:14px}
.tgrid blockquote{font-size:.93rem;line-height:1.66;color:var(--text-2);margin-bottom:18px}
.tgrid .tname{display:block;font-size:.95rem}
.tgrid .trole{display:block;margin-top:4px}
@media(max-width:1080px){.tgrid{columns:2}}
@media(max-width:680px){.tgrid{columns:1}}

/* ===================== PRODUCT GALLERY + LIGHTBOX ===================== */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gallery-item{aspect-ratio:4/3;border:1px solid var(--line);cursor:pointer;transition:.3s;padding:0;position:relative;overflow:hidden;background:var(--surface-2)}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:.45s}
.gallery-item:hover img{transform:scale(1.05)}
.gallery-item::after{content:"";position:absolute;inset:0;background:rgba(11,12,13,0);transition:.3s;pointer-events:none}
.gallery-item:hover{border-color:var(--gold-soft)}
.gallery-item:hover::after{background:rgba(11,12,13,.1)}
.gallery-cap{position:absolute;left:0;right:0;bottom:0;z-index:3;margin:0;padding:20px 11px 9px;text-align:left;
  font-family:var(--sans);font-size:.72rem;line-height:1.22;font-weight:600;letter-spacing:.005em;color:#fff;
  background:linear-gradient(to top,rgba(11,12,13,.86),rgba(11,12,13,.5) 52%,rgba(11,12,13,0));
  pointer-events:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  opacity:.96;transition:opacity .3s}
.gallery-item:hover .gallery-cap{opacity:1}
.g-hidden{display:none}
.gallery-more{text-align:center;margin-top:28px}

/* ===================== NAV DROPDOWNS + MEGA MENU ===================== */
.nav-drop{position:relative;display:flex;align-items:center}
.nav-top{display:inline-flex;align-items:center;gap:7px;cursor:pointer}
.caret{width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);margin-top:-3px;transition:.25s;opacity:.6}
.nav-drop:hover .caret{transform:rotate(225deg);margin-top:2px;opacity:1}
.dropdown{position:absolute;top:100%;left:-14px;margin-top:16px;min-width:262px;background:var(--surface);border:1px solid var(--line);box-shadow:0 24px 60px rgba(11,12,13,.16);padding:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.26s;z-index:90}
.nav-drop:hover .dropdown{opacity:1;visibility:visible;transform:none}
.nav-drop::after{content:"";position:absolute;top:100%;left:0;right:0;height:18px}
.dropdown a{display:block;padding:11px 14px;font-size:.86rem;font-weight:500;color:var(--text-2);letter-spacing:0;transition:.2s}
.dropdown a:hover{color:var(--gold);background:var(--bg-2)}
.dropdown a::after{display:none}
.nav-mega-wrap{position:static}
.mega{position:absolute;top:100%;left:0;right:0;background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 28px 60px rgba(11,12,13,.14);padding:28px var(--pad) 30px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.26s;z-index:90}
.nav-mega-wrap:hover .mega{opacity:1;visibility:visible;transform:none}
.mega-grid{max-width:var(--header-w);margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.mega-card{display:block;border:1px solid var(--line);background:var(--bg);transition:.25s;overflow:hidden}
.mega-card:hover{border-color:var(--gold-soft);transform:translateY(-3px)}
.mega-card::after{display:none}
.mega-thumb{display:block;aspect-ratio:16/10;background-image:var(--img);background-size:cover;background-position:center;filter:saturate(.95)}
.mega-txt{display:flex;align-items:center;gap:9px;padding:11px 12px 13px}
.mega-no{font-family:var(--mono);font-size:.58rem;color:var(--gold);border:1px solid var(--gold-soft);padding:2px 5px;flex:0 0 auto}
.mega-name{font-family:var(--serif);font-size:.82rem;color:var(--text);line-height:1.16;font-weight:500}
.mega-foot{display:inline-flex;align-items:center;gap:9px;margin-top:22px;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
/* link mega (FAQs / Company) */
.mega-menu-inner{max-width:var(--header-w);margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr;gap:50px}
.mega-menu-sm .mega-menu-inner{grid-template-columns:1fr 1fr;max-width:920px;margin:0}
.mega-group-h{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.mega-links{display:flex;flex-direction:column}
.mega-links.cols-2{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.mega-links a{display:block;padding:8px 0;font-size:.84rem;font-weight:500;color:var(--text-2);letter-spacing:0;transition:.2s;border-bottom:1px solid var(--line-2)}
.mega-links a:hover{color:var(--gold);padding-left:6px}
.mega-links a::after{display:none}
.mega-foot::after{display:none}
/* mobile accordion (drawer) */
.acc{border-bottom:1px solid var(--line-2)}
.acc-top{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:none;padding:14px 0;font-size:1rem;color:var(--text);font-family:var(--serif);cursor:pointer;text-align:left}
.acc-panel{max-height:0;overflow:hidden;transition:max-height .32s ease}
.acc.open .acc-panel{max-height:640px}
.acc-panel a{display:block;padding:9px 0 9px 16px;font-size:.9rem;font-family:var(--sans);color:var(--text-2);border-bottom:1px solid var(--line-2)}
.acc-panel a:last-child{border-bottom:none;padding-bottom:14px}
.acc-top .caret{opacity:.55}
.acc.open .caret{transform:rotate(225deg);opacity:1}
/* sticky-header anchor offset */
section[id],div[id]{scroll-margin-top:100px}

/* ===================== DOCUMENT / POLICY PAGES ===================== */
.doc-lead{max-width:780px;font-size:1.1rem;line-height:1.75;color:var(--text-2)}
.doc-meta{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;color:var(--text-3);text-transform:uppercase;margin-top:22px}
.commit-list{list-style:none;counter-reset:c;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:8px}
.commit-list li{counter-increment:c;background:var(--bg);padding:22px 26px 22px 62px;position:relative;font-size:.93rem;color:var(--text-2);line-height:1.62}
.commit-list li::before{content:counter(c,decimal-leading-zero);position:absolute;left:24px;top:22px;font-family:var(--mono);font-size:.8rem;color:var(--gold)}
.doc-prose{max-width:820px}
.doc-prose h2{font-family:var(--serif);font-size:1.5rem;color:var(--text);margin:38px 0 12px;font-weight:500}
.doc-prose h2:first-child{margin-top:0}
.doc-prose h3{font-family:var(--serif);font-size:1.16rem;color:var(--text);margin:26px 0 8px;font-weight:500}
.doc-prose p{font-size:1rem;line-height:1.75;color:var(--text-2);margin-bottom:16px}
.doc-prose ul{list-style:none;margin:0 0 22px}
.doc-prose ul li{position:relative;padding:8px 0 8px 26px;color:var(--text-2);font-size:.96rem;line-height:1.6}
.doc-prose ul li::before{content:"";position:absolute;left:2px;top:16px;width:7px;height:7px;border-top:1.5px solid var(--gold);border-right:1.5px solid var(--gold);transform:rotate(45deg)}
.doc-prose strong{color:var(--text)}
.doc-table{width:100%;border-collapse:collapse;margin:8px 0 24px;font-size:.92rem}
.doc-table th{text-align:left;font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);padding:12px 16px;border-bottom:1px solid var(--line);background:var(--bg-2)}
.doc-table td{padding:13px 16px;border-bottom:1px solid var(--line-2);color:var(--text-2);vertical-align:top}
@media(max-width:760px){.commit-list{grid-template-columns:1fr}}
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(8,9,11,.95);display:none;align-items:center;justify-content:center}
.lightbox.open{display:flex}
.lb-img{max-width:90vw;max-height:86vh;object-fit:contain;border:1px solid rgba(255,255,255,.12)}
.lb-close{position:absolute;top:20px;right:26px;background:none;border:none;color:#fff;font-size:2.2rem;cursor:pointer;line-height:1;opacity:.8;transition:.2s}
.lb-close:hover{opacity:1;color:var(--gold-2)}
.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:.25s}
.lb-prev{left:24px}.lb-next{right:24px}
.lb-prev:hover,.lb-next:hover{background:rgba(200,168,106,.22);border-color:var(--gold)}
.lb-count{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:.8rem;letter-spacing:.1em;color:#cdc8bd}
.lb-cap{position:absolute;bottom:50px;left:50%;transform:translateX(-50%);width:max-content;max-width:84vw;margin:0;text-align:center;font-family:var(--sans);font-size:.95rem;font-weight:600;letter-spacing:.01em;color:#fff;padding:7px 18px;background:rgba(11,12,13,.66);border-radius:999px;border:1px solid rgba(255,255,255,.1)}
@media(max-width:900px){.gallery{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.gallery{grid-template-columns:repeat(2,1fr);gap:8px}.lb-prev,.lb-next{width:44px;height:44px}.lb-prev{left:12px}.lb-next{right:12px}}

/* ===================== QUOTE (multistep, standalone) ===================== */
.quote-page{background:var(--bg)}
.quote-wrap{display:grid;grid-template-columns:.82fr 1.18fr;min-height:100vh}
.quote-aside{position:relative;background:#0E0F11;color:#fff;padding:46px 44px;display:flex;flex-direction:column;overflow:hidden}
.quote-aside::before{content:"";position:absolute;inset:0;background:url('/assets/img/site/hero-2.webp') center/cover;opacity:.16;z-index:0}
.quote-aside > *{position:relative;z-index:1}
.quote-brand{display:flex;align-items:center;gap:12px}
.quote-brand img{height:46px;width:auto}
.quote-brand-name{font-family:var(--serif);font-weight:600;font-size:1.1rem;letter-spacing:.06em;color:#fff;line-height:1}
.quote-brand-sub{display:block;font-family:var(--mono);font-size:.52rem;letter-spacing:.3em;text-transform:uppercase;color:#C8A86A;margin-top:5px}
.quote-aside-body{flex:1;display:flex;flex-direction:column;justify-content:center;padding:44px 0}
.quote-aside-body .eyebrow{color:#C8A86A}
.quote-aside-body .eyebrow::before{background:#C8A86A}
.quote-aside-title{font-family:var(--serif);font-size:clamp(1.7rem,2.5vw,2.3rem);color:#fff;line-height:1.14;margin-bottom:16px;font-weight:500}
.quote-aside-text{color:#cdc8bd;font-size:.95rem;line-height:1.7;max-width:380px;margin-bottom:40px}
.qind{list-style:none;display:flex;flex-direction:column;gap:2px}
.qind-step{display:flex;align-items:center;gap:14px;padding:11px 0;color:#7d786f;transition:.3s}
.qind-num{width:32px;height:32px;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.8rem;flex:0 0 auto;transition:.3s}
.qind-step.is-active{color:#fff}
.qind-step.is-active .qind-num{border-color:#C8A86A;color:#C8A86A;background:rgba(200,168,106,.12)}
.qind-step.is-done{color:#cdc8bd}
.qind-step.is-done .qind-num{border-color:#C8A86A;background:#C8A86A;color:#0E0F11}
.qind-label{font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase}
.quote-aside-foot{font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;color:#cdc8bd}
.quote-aside-foot a{color:#C8A86A}
.quote-main{display:flex;flex-direction:column;justify-content:center;padding:56px clamp(28px,5vw,80px);background:var(--bg)}
.quote-main-inner{width:100%;max-width:620px;margin:0 auto}
.quote-progress{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.qstep{display:none}
.qstep.is-active{display:block;animation:qfade .4s ease}
@keyframes qfade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.qstep h2{font-family:var(--serif);font-size:1.7rem;color:var(--text);font-weight:500;margin-bottom:6px}
.qstep-sub{color:var(--text-2);font-size:.95rem;margin-bottom:28px}
.qform-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.qfield{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.qfield.full{grid-column:1/-1}
.qfield label{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}
.qfield .req{color:var(--gold)}
.qfield input,.qfield select,.qfield textarea{font-family:var(--sans);font-size:.98rem;color:var(--text);background:var(--surface);border:1px solid var(--line);padding:14px 16px;transition:.2s;width:100%}
.qfield input:focus,.qfield select:focus,.qfield textarea:focus{outline:none;border-color:var(--gold)}
.qfield textarea{resize:vertical;min-height:130px}
.quote-nav{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}
.qn-prev{background:none;border:none;cursor:pointer;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);transition:.2s;padding:6px 0}
.qn-prev:hover{color:var(--gold)}
.quote-nav-btns{display:flex;gap:12px;margin-left:auto}
.quote-done{max-width:520px;margin:0 auto;text-align:center}
.quote-done-icon{width:64px;height:64px;border:1px solid var(--gold-soft);color:var(--gold);display:flex;align-items:center;justify-content:center;margin:0 auto 24px}
.quote-done-icon svg{width:30px;height:30px}
.quote-done h1{font-family:var(--serif);font-size:2rem;color:var(--text);font-weight:500;margin-bottom:14px}
.quote-done p{color:var(--text-2);font-size:1rem;margin-bottom:30px;line-height:1.7}
@media(max-width:900px){
  .quote-wrap{grid-template-columns:1fr;min-height:0}
  .quote-aside{padding:28px 24px}
  .quote-aside-body{padding:24px 0}
  .quote-aside-text{margin-bottom:24px;max-width:none}
  .qind{flex-direction:row;flex-wrap:wrap;gap:10px 20px}
  .qind-step{padding:0}
  .qind-label{display:none}
  .quote-aside-foot{display:none}
  .quote-main{padding:38px 24px}
}
@media(max-width:560px){
  .qform-grid{grid-template-columns:1fr}
  .quote-nav{flex-wrap:wrap;gap:14px}
  .quote-nav-btns{width:100%;margin-left:0}
  .quote-nav-btns .btn{flex:1;text-align:center;justify-content:center}
}
/* RFQ form fields */
.qsub-head{font-family:var(--serif);font-size:1.12rem;color:var(--text);margin:28px 0 14px;font-weight:500}
.qcheck-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 18px}
.qradio-row{display:flex;flex-wrap:wrap;gap:10px 18px}
.qcheck{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;color:var(--text-2);cursor:pointer;line-height:1.4;padding:2px 0}
.qcheck input{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:1px solid var(--line);background:var(--surface);flex:0 0 auto;margin-top:1px;cursor:pointer;transition:.15s;position:relative}
.qcheck input[type=radio]{border-radius:50%}
.qcheck input:checked{background:var(--gold);border-color:var(--gold)}
.qcheck input[type=checkbox]:checked::after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.qcheck input[type=radio]:checked::after{content:"";position:absolute;left:5px;top:5px;width:6px;height:6px;background:#fff;border-radius:50%}
.qcheck input:focus-visible{outline:2px solid var(--gold-soft);outline-offset:1px}
.qdeclare{margin-top:24px;font-size:.88rem;color:var(--text)}
.qfile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1.5px dashed var(--line);background:var(--surface);padding:30px 20px;cursor:pointer;transition:.2s;text-align:center}
.qfile:hover{border-color:var(--gold-soft);background:var(--bg-2)}
.qfile input{display:none}
.qfile-text{font-family:var(--mono);font-size:.76rem;letter-spacing:.04em;color:var(--text);text-transform:uppercase}
.qfile-hint{font-size:.78rem;color:var(--text-3)}
@media(max-width:560px){.qcheck-grid{grid-template-columns:1fr}}

/* ===================== VACANCIES + EVENTS ===================== */
.vac-list,.event-list{display:flex;flex-direction:column;gap:14px}
.vac{display:flex;gap:24px;align-items:center;justify-content:space-between;border:1px solid var(--line);background:var(--surface);padding:26px 28px;transition:.25s}
.vac:hover{border-color:var(--gold-soft)}
.vac-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.vac-dept,.vac-type,.vac-soon{font-family:var(--mono);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border:1px solid var(--line)}
.vac-dept{color:var(--gold);border-color:var(--gold-soft)}
.vac-type{color:var(--text-2)}
.vac-soon{color:var(--text-2);background:var(--bg-2)}
.vac-title{font-family:var(--serif);font-size:1.3rem;color:var(--text);font-weight:500;margin-bottom:8px;line-height:1.2}
.vac-summary{font-size:.94rem;color:var(--text-2);line-height:1.6;max-width:660px;margin-bottom:14px}
.vac-meta{display:flex;flex-wrap:wrap;gap:20px;font-family:var(--mono);font-size:.72rem;letter-spacing:.03em;color:var(--text-3)}
.vac-meta span{display:inline-flex;align-items:center;gap:7px}
.vac-meta svg{width:15px;height:15px;color:var(--gold)}
.vac-action{flex:0 0 auto}
.vac-upcoming{opacity:.93}
.event{display:flex;gap:26px;align-items:flex-start;border:1px solid var(--line);background:var(--surface);padding:26px 28px;transition:.25s}
.event:hover{border-color:var(--gold-soft)}
.event-date{flex:0 0 78px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--gold-soft);padding:14px 6px;text-align:center}
.event-day{font-family:var(--serif);font-size:1.95rem;color:var(--gold);line-height:1}
.event-mon{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text);margin-top:4px}
.event-yr{font-family:var(--mono);font-size:.62rem;color:var(--text-3);margin-top:2px}
.event-body{flex:1;min-width:0}
.event-title{font-family:var(--serif);font-size:1.28rem;color:var(--text);font-weight:500;margin-bottom:8px}
.event-meta{display:flex;gap:18px;font-family:var(--mono);font-size:.72rem;color:var(--text-3);margin-bottom:12px}
.event-meta span{display:inline-flex;align-items:center;gap:7px}.event-meta svg{width:15px;height:15px;color:var(--gold)}
.event-summary{font-size:.95rem;color:var(--text-2);line-height:1.6;margin-bottom:8px}
.event-desc{font-size:.88rem;line-height:1.65}
.event-action{flex:0 0 auto;align-self:center}
.cfile-input{font-family:var(--sans);font-size:.88rem;color:var(--text-2);padding:8px 0}
.hint-sm{font-family:var(--sans);font-size:.66rem;text-transform:none;letter-spacing:0;color:var(--text-3)}
@media(max-width:760px){
  .vac,.event{flex-direction:column;align-items:flex-start;gap:16px}
  .vac-action,.event-action{width:100%}.vac-action .btn,.event-action .btn{width:100%}
  .event-date{flex-direction:row;gap:8px;flex-basis:auto;padding:8px 16px;align-self:flex-start}
}

/* ===================== LIBRARY: ARTICLES / FAQ / CASE STUDIES ===================== */
.acc-sub{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:14px 0 4px}
.article-wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:54px;align-items:start}
.article-lead{font-size:1.02rem;line-height:1.7;margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.article-main{min-width:0}
/* prose body (knowledge / achievements / case studies) */
.prose{max-width:760px}
.prose h2{font-family:var(--serif);font-weight:500;font-size:1.6rem;color:var(--text);line-height:1.2;margin:38px 0 14px;letter-spacing:-.01em}
.prose h2:first-child{margin-top:0}
.prose h3{font-family:var(--serif);font-weight:500;font-size:1.18rem;color:var(--text);margin:26px 0 10px}
.prose p{font-size:1rem;line-height:1.78;color:var(--text-2);margin-bottom:15px}
.prose ul{list-style:none;margin:0 0 18px;padding:0}
.prose li{position:relative;padding-left:22px;font-size:.98rem;line-height:1.7;color:var(--text-2);margin-bottom:8px}
.prose li::before{content:"";position:absolute;left:2px;top:.66em;width:7px;height:7px;border:1px solid var(--gold);transform:rotate(45deg)}
.prose strong{color:var(--text);font-weight:600}
.prose em{font-style:italic;color:var(--text-2)}
.prose > p:first-child em{display:block;font-family:var(--serif);font-size:1.15rem;font-style:italic;color:var(--gold);margin-bottom:8px}
/* FAQ accordion */
.faq-list{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item > summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 2px;font-family:var(--serif);font-size:1.08rem;font-weight:500;color:var(--text);line-height:1.35;transition:.2s}
.faq-item > summary::-webkit-details-marker{display:none}
.faq-item > summary:hover{color:var(--gold)}
.faq-ic{flex:0 0 auto;position:relative;width:16px;height:16px;margin-top:5px}
.faq-ic::before,.faq-ic::after{content:"";position:absolute;background:var(--gold);transition:.25s}
.faq-ic::before{top:7px;left:0;width:16px;height:1.5px}
.faq-ic::after{left:7px;top:0;width:1.5px;height:16px}
.faq-item[open] .faq-ic::after{transform:scaleY(0)}
.faq-a{padding:0 2px 24px;max-height:none;overflow:visible}
.faq-a p{font-size:.96rem;line-height:1.72;color:var(--text-2);margin-bottom:12px}
.faq-a .faq-note{padding:12px 16px;border-left:2px solid var(--gold);background:var(--bg-2);color:var(--text-2);font-size:.93rem}
.faq-a .faq-note strong{color:var(--gold);font-weight:600}
.faq-ul{list-style:none;margin:0 0 12px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 24px}
.faq-ul li{position:relative;padding-left:18px;font-size:.92rem;color:var(--text-2);line-height:1.5;margin-bottom:4px}
.faq-ul li::before{content:"";position:absolute;left:2px;top:.6em;width:5px;height:5px;background:var(--gold);border-radius:50%}
/* article sidebar */
.article-side{position:sticky;top:104px;display:flex;flex-direction:column;gap:18px}
.side-card{border:1px solid var(--line);background:var(--surface);padding:22px}
.side-card .eyebrow{margin-bottom:14px}
.side-links{display:flex;flex-direction:column}
.side-links a{display:block;padding:9px 0;font-size:.86rem;color:var(--text-2);border-bottom:1px solid var(--line-2);transition:.2s}
.side-links a:last-child{border-bottom:none}
.side-links a:hover{color:var(--gold);padding-left:5px}
.side-rel{display:flex;flex-direction:column;gap:12px}
.side-rel-item{display:flex;gap:12px;align-items:center}
.side-rel-thumb{flex:0 0 56px;height:46px;background-image:var(--img);background-size:cover;background-position:center;border:1px solid var(--line)}
.side-rel-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.side-rel-eye{font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.side-rel-title{font-size:.85rem;color:var(--text);line-height:1.3}
.side-rel-item:hover .side-rel-title{color:var(--gold)}
.side-cta{border:1px solid var(--gold-soft);background:var(--bg-2);padding:24px;display:flex;flex-direction:column;gap:10px}
.side-cta h3{font-family:var(--serif);font-size:1.18rem;font-weight:500;color:var(--text)}
.side-cta p{font-size:.88rem;color:var(--text-2);line-height:1.6;margin-bottom:6px}
.side-cta .btn{width:100%}
/* case studies grid */
.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.case-card{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--surface);overflow:hidden;transition:.25s}
.case-card:hover{border-color:var(--gold-soft);transform:translateY(-3px)}
.case-img{display:block;aspect-ratio:16/9;background-image:var(--img);background-size:cover;background-position:center}
.case-body{display:flex;flex-direction:column;padding:24px 26px 26px}
.case-eye{font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.case-title{font-family:var(--serif);font-size:1.3rem;font-weight:500;color:var(--text);line-height:1.25;margin-bottom:10px}
.case-sum{font-size:.94rem;color:var(--text-2);line-height:1.6;margin-bottom:16px}
.case-more{margin-top:auto;display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
/* strategic business associations */
.sb-list{display:flex;flex-direction:column;gap:22px}
.sb-card{border:1px solid var(--line);background:var(--surface);display:grid;grid-template-columns:340px 1fr;gap:0}
.sb-head{padding:32px 30px;border-right:1px solid var(--line);display:flex;gap:18px}
.sb-no{font-family:var(--serif);font-size:1.5rem;color:var(--gold);line-height:1;flex:0 0 auto}
.sb-sub{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.sb-title{font-family:var(--serif);font-size:1.32rem;font-weight:500;color:var(--text);line-height:1.22;margin-bottom:12px}
.sb-intro{font-size:.92rem;line-height:1.62;margin-bottom:18px}
.sb-groups{padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:24px 36px;align-content:start}
.sb-group h4{font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:12px}
.sb-chips{display:flex;flex-wrap:wrap;gap:7px}
.chip{font-size:.78rem;color:var(--text-2);background:var(--bg-2);border:1px solid var(--line);padding:5px 11px;line-height:1.3}
@media(max-width:980px){
  .article-wrap{grid-template-columns:1fr;gap:36px}
  .article-side{position:static}
  .sb-card{grid-template-columns:1fr}
  .sb-head{border-right:none;border-bottom:1px solid var(--line)}
}
@media(max-width:680px){
  .case-grid{grid-template-columns:1fr}
  .faq-ul{grid-template-columns:1fr}
  .mega-links.cols-2{grid-template-columns:1fr}
  .sb-groups{grid-template-columns:1fr}
}

/* ===================== BRANDED DROPDOWN / MEGA PANELS (dark + gold) ===================== */
.dropdown,.mega{background:#1A1812;border-color:rgba(200,168,106,.18);box-shadow:0 30px 66px rgba(10,9,7,.40)}
.dropdown{border:1px solid rgba(200,168,106,.18);border-top:2px solid var(--gold);padding:8px}
.dropdown a{color:#D8D2C5;border-radius:0}
.dropdown a + a{border-top:1px solid rgba(231,225,210,.06)}
.dropdown a:hover{color:var(--gold-2);background:rgba(200,168,106,.09);padding-left:18px}
.mega{border-top:2px solid var(--gold);border-bottom:1px solid rgba(200,168,106,.16)}
.mega-foot{color:var(--gold-2)}
.mega-card{background:rgba(255,255,255,.025);border-color:rgba(231,225,210,.10)}
.mega-card:hover{border-color:var(--gold-soft);background:rgba(255,255,255,.05)}
.mega-name{color:#ECE6D8}
.mega-no{color:var(--gold);border-color:var(--gold-soft)}
.mega-group-h{color:var(--gold);border-bottom-color:rgba(200,168,106,.22)}
.mega-links a{color:#CFC9BB;border-bottom-color:rgba(231,225,210,.07)}
.mega-links a:hover{color:var(--gold-2)}

/* ===================== SITE ASSISTANT (CHATBOT) ===================== */
.hnchat{position:fixed;right:22px;bottom:22px;z-index:120;font-family:var(--sans)}
.hnchat-fab{display:inline-flex;align-items:center;gap:9px;background:var(--navy);color:#fff;border:none;border-radius:40px;padding:12px 18px 12px 14px;cursor:pointer;box-shadow:0 12px 30px rgba(26,44,78,.4);transition:.25s;font-family:var(--sans);font-weight:600;font-size:.86rem}
.hnchat-fab:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(176,141,77,.5)}
.hnchat-fab svg{width:24px;height:24px}
.hnchat-fab-close{display:none}
.hnchat-fab-label{white-space:nowrap}
.hnchat-on .hnchat-fab{background:var(--ink);color:#fff;padding:13px;border-radius:50%}
.hnchat-on .hnchat-fab-open,.hnchat-on .hnchat-fab-label{display:none}
.hnchat-on .hnchat-fab-close{display:inline-flex}
.hnchat-win{position:absolute;right:0;bottom:66px;width:372px;max-width:calc(100vw - 32px);height:544px;max-height:calc(100vh - 130px);background:var(--bg);border:1px solid var(--line);border-radius:14px;box-shadow:0 30px 72px rgba(10,9,7,.34);display:flex;flex-direction:column;overflow:hidden;animation:hnchatIn .26s ease}
.hnchat-win[hidden]{display:none}
@keyframes hnchatIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.hnchat-top{display:flex;align-items:center;justify-content:space-between;background:var(--surface);padding:13px 16px;border-bottom:2px solid var(--gold)}
.hnchat-top-id{display:flex;align-items:center;gap:11px}
.hnchat-top-id img{height:34px;width:auto}
.hnchat-top-txt b{color:var(--text);font-family:var(--serif);font-size:.98rem;display:block;letter-spacing:.02em;font-weight:600}
.hnchat-top-txt small{color:var(--text-3);font-size:.7rem;display:flex;align-items:center;gap:6px;margin-top:3px;font-family:var(--mono);letter-spacing:.04em}
.hnchat-dot{width:7px;height:7px;border-radius:50%;background:#3aaf5b;box-shadow:0 0 0 3px rgba(58,175,91,.18)}
.hnchat-min{background:none;border:none;color:var(--text-3);cursor:pointer;padding:4px;line-height:0}.hnchat-min svg{width:20px;height:20px}
.hnchat-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--bg-2)}
.hnchat-msg{max-width:86%;padding:10px 13px;border-radius:13px;font-size:.86rem;line-height:1.5;animation:hnchatMsg .2s ease;word-wrap:break-word}
@keyframes hnchatMsg{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.hnchat-msg.bot{align-self:flex-start;background:var(--surface);color:var(--text-2);border:1px solid var(--line);border-bottom-left-radius:4px}
.hnchat-msg.bot b{color:var(--text)}
.hnchat-msg.user{align-self:flex-end;background:var(--gold);color:#1b1813;border-bottom-right-radius:4px;font-weight:500}
.hnchat-more{color:var(--gold);font-weight:600;white-space:nowrap}
.hnchat-soft{background:transparent!important;border:none!important;color:var(--text-3)!important;font-size:.78rem;padding:2px 4px!important}
.hnchat-acts{background:transparent!important;border:none!important;display:flex;flex-wrap:wrap;gap:7px;max-width:100%;padding:0!important}
.hnchat-actbtn{display:inline-flex;align-items:center;font-size:.78rem;font-weight:600;padding:8px 13px;border-radius:20px;border:1px solid var(--gold-soft);color:var(--gold);background:var(--surface);transition:.2s}
.hnchat-actbtn:hover{background:var(--gold);color:#1b1813}
.hnchat-actbtn.wa{border-color:rgba(37,211,102,.4);color:#1faa52}.hnchat-actbtn.wa:hover{background:#25d366;color:#fff}
.hnchat-actbtn.gold{background:var(--gold);color:#1b1813;border-color:var(--gold)}.hnchat-actbtn.gold:hover{background:var(--gold-2)}
.hnchat-typing{display:inline-flex;gap:4px;padding:2px 0}.hnchat-typing i{width:6px;height:6px;border-radius:50%;background:var(--text-3);animation:hnchatBlink 1s infinite}
.hnchat-typing i:nth-child(2){animation-delay:.15s}.hnchat-typing i:nth-child(3){animation-delay:.3s}
@keyframes hnchatBlink{0%,60%,100%{opacity:.25}30%{opacity:1}}
.hnchat-chips{display:flex;flex-wrap:wrap;gap:7px;padding:10px 14px 4px;background:var(--bg-2)}
.hnchat-chip{font-size:.76rem;font-weight:500;padding:7px 12px;border-radius:18px;border:1px solid var(--line);background:var(--surface);color:var(--text-2);cursor:pointer;transition:.2s}
.hnchat-chip:hover{border-color:var(--gold-soft);color:var(--gold)}
.hnchat-form{display:flex;align-items:center;gap:8px;padding:12px 14px;border-top:1px solid var(--line);background:var(--bg)}
.hnchat-form input{flex:1;min-width:0;border:1px solid var(--line);background:var(--bg-2);border-radius:22px;padding:10px 15px;font-size:.86rem;color:var(--text);font-family:var(--sans);outline:none;transition:.2s}
.hnchat-form input:focus{border-color:var(--gold-soft)}
.hnchat-send{flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:var(--gold);color:#1b1813;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.2s}
.hnchat-send:hover{background:var(--gold-2)}.hnchat-send svg{width:19px;height:19px}
.hnchat-foot{display:flex;border-top:1px solid var(--line);background:var(--surface)}
.hnchat-foot-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 4px;font-size:.74rem;font-weight:600;color:var(--text-2);transition:.2s}
.hnchat-foot-btn+.hnchat-foot-btn{border-left:1px solid var(--line)}
.hnchat-foot-btn svg{width:16px;height:16px}
.hnchat-foot-btn.wa:hover{color:#1faa52}.hnchat-foot-btn.em:hover,.hnchat-foot-btn.qt:hover{color:var(--gold)}
@media(max-width:480px){
  .hnchat{right:14px;bottom:14px}
  .hnchat-win{width:calc(100vw - 24px);height:calc(100dvh - 92px);max-height:none;bottom:60px}
  .hnchat-fab-label{display:none}
  .hnchat-fab{padding:13px;border-radius:50%}
}

/* ===================== CLIENT LOGO TICKER ===================== */
.clients-band{padding:clamp(42px,6vh,66px) 0;background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.clients-eyebrow{text-align:center;display:block;margin-bottom:10px}
.clients-eyebrow::before{display:none}
.clients-h{text-align:center;font-family:var(--serif);font-weight:500;font-size:clamp(1.4rem,2.6vw,1.9rem);color:var(--text);margin-bottom:30px;letter-spacing:-.01em}
.ticker{position:relative;width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.ticker-track{display:flex;width:max-content;animation:tickerScroll 80s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-item{flex:0 0 auto;width:172px;height:86px;margin:0 9px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:11px;padding:14px 20px;box-shadow:0 4px 14px rgba(20,16,9,.05)}
.ticker-item img{max-width:100%;max-height:100%;object-fit:contain;filter:grayscale(.1)}
@keyframes tickerScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}}
@media(max-width:560px){.ticker-item{width:138px;height:72px;margin:0 7px;padding:12px 16px}}

/* ===================== COMPLETED PROJECTS ===================== */
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.proj-card{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--gold-soft);padding:24px 24px 26px;transition:.25s;display:flex;flex-direction:column}
.proj-card:hover{border-top-color:var(--gold);transform:translateY(-3px);box-shadow:0 16px 40px rgba(20,16,9,.08)}
.proj-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.proj-no{font-family:var(--mono);font-size:.7rem;color:var(--text-3);letter-spacing:.1em}
.proj-tag{font-family:var(--mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold-soft);padding:4px 9px}
.proj-client{font-family:var(--serif);font-size:1.18rem;font-weight:500;color:var(--text);line-height:1.25;margin-bottom:9px}
.proj-loc{display:flex;align-items:flex-start;gap:7px;font-family:var(--mono);font-size:.72rem;color:var(--text-3);margin-bottom:12px;line-height:1.4}
.proj-loc svg{width:14px;height:14px;color:var(--gold);flex:0 0 auto;margin-top:1px}
.proj-scope{font-size:.92rem;color:var(--text-2);line-height:1.6;margin-top:auto}
@media(max-width:900px){.proj-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.proj-grid{grid-template-columns:1fr}}

/* ===================== EHS COMMITMENT CARDS ===================== */
.ehs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:10px}
.ehs-card{position:relative;background:var(--surface);border:1px solid var(--line);padding:26px 24px;transition:.25s;overflow:hidden}
.ehs-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold-soft);transition:.25s}
.ehs-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(20,16,9,.09);border-color:var(--gold-soft)}
.ehs-card:hover::before{background:var(--gold);width:4px}
.ehs-no{position:absolute;top:18px;right:22px;font-family:var(--serif);font-size:1.6rem;font-weight:600;color:var(--line);transition:.25s}
.ehs-card:hover .ehs-no{color:var(--gold-soft)}
.ehs-ic{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gold-soft);border-radius:50%;color:var(--gold);margin-bottom:16px;transition:.25s}
.ehs-ic svg{width:22px;height:22px}
.ehs-card:hover .ehs-ic{background:var(--gold);color:#161208;border-color:var(--gold);transform:rotate(-6deg)}
.ehs-card p{font-size:.92rem;line-height:1.62;color:var(--text-2)}
@media(max-width:900px){.ehs-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.ehs-grid{grid-template-columns:1fr}}

/* ===================== INDUSTRIES — photo cards + sub thumbnails ===================== */
.ind-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}
.ind-group{background:var(--surface);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;transition:.25s;padding:0}
.ind-group:hover{border-color:var(--gold-soft);box-shadow:0 18px 46px rgba(20,16,9,.09);transform:translateY(-3px)}
.ind-group-photo{position:relative;aspect-ratio:16/7;background-image:var(--img);background-size:cover;background-position:center}
.ind-group-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,15,17,.05),rgba(14,15,17,.5))}
.ind-group-photo .ind-group-icon{position:absolute;left:18px;bottom:14px;z-index:2;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:#161208;border-radius:50%}
.ind-group-photo .ind-group-icon svg{width:22px;height:22px}
.ind-group-body{padding:18px 20px 22px}
.ind-group-head2{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:13px;padding-bottom:13px;border-bottom:1px solid var(--line)}
.ind-group-head2 h3{font-family:var(--serif);font-size:1.2rem;color:var(--text);font-weight:500;line-height:1.2}
.ind-sub{list-style:none;display:flex;flex-direction:column;gap:11px;margin:0;padding:0}
.ind-sub li{display:flex;align-items:center;gap:13px}
.ind-sub-thumb{flex:0 0 auto;width:66px;height:48px;background-image:var(--img);background-size:cover;background-position:center;border:1px solid var(--line);border-radius:6px;filter:saturate(.97);transition:.25s}
.ind-sub li:hover .ind-sub-thumb{filter:saturate(1.12);transform:scale(1.06);border-color:var(--gold-soft)}
.ind-sub-name{font-size:.9rem;color:var(--text-2);transition:.2s}
.ind-sub li:hover .ind-sub-name{color:var(--gold)}
@media(max-width:980px){.ind-groups{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.ind-groups{grid-template-columns:1fr}}

/* ===================== CO-FOUNDERS + SLIDE-IN PROFILE ===================== */
.founder-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:36px}
.founder-card{display:flex;gap:0;background:var(--surface);border:1px solid var(--line);overflow:hidden;transition:.25s}
.founder-card:hover{border-color:var(--gold-soft);box-shadow:0 18px 44px rgba(20,16,9,.08)}
.founder-photo{position:relative;flex:0 0 168px;background-image:var(--img);background-size:cover;background-position:center top}
.founder-plus{position:absolute;right:11px;bottom:11px;width:40px;height:40px;border-radius:50%;background:var(--gold);color:#161208;border:none;font-size:1.55rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 7px 20px rgba(0,0,0,.25);transition:.22s}
.founder-plus:hover{background:var(--navy);color:#fff;transform:scale(1.1) rotate(90deg)}
.founder-meta{padding:26px 24px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.founder-meta h3{font-family:var(--serif);font-size:1.42rem;color:var(--navy);font-weight:600;margin-bottom:9px;line-height:1.15}
.founder-role{font-size:.82rem;color:var(--text-2);line-height:1.5;margin-bottom:16px}
.founder-link{background:none;border:none;color:var(--gold);font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:0;align-self:flex-start}
.founder-link:hover{color:var(--navy)}
.founder-backdrop{position:fixed;inset:0;background:rgba(10,12,16,.55);z-index:130;opacity:0;visibility:hidden;transition:.32s}
.founder-backdrop.on{opacity:1;visibility:visible}
.founder-panel{position:fixed;top:0;right:0;height:100vh;height:100dvh;width:min(94vw,500px);background:var(--bg);z-index:140;transform:translateX(100%);transition:.4s cubic-bezier(.4,0,.2,1);overflow-y:auto;-webkit-overflow-scrolling:touch;border-left:1px solid var(--line)}
.founder-panel.on{transform:none;box-shadow:-24px 0 70px rgba(10,12,16,.34)}
.founder-close{position:absolute;top:16px;right:18px;z-index:3;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;transition:.2s}
.founder-close:hover{background:rgba(255,255,255,.25)}
.founder-panel-head{padding:40px 36px 30px;background:var(--navy);color:#fff;display:flex;flex-direction:column;gap:18px}
.founder-panel-photo{width:126px;height:158px;background-image:var(--img);background-size:cover;background-position:center top;border:2px solid var(--gold-soft)}
.founder-panel-head .eyebrow{color:var(--gold)}
.founder-panel-head h3{color:#fff;font-family:var(--serif);font-size:1.65rem;font-weight:600;margin:7px 0 7px}
.founder-panel-head .founder-role{color:#c7cdda;margin-bottom:0}
.founder-bio{padding:30px 36px 46px}
.founder-bio p{font-size:.93rem;line-height:1.74;color:var(--text-2);margin-bottom:15px}
@media(max-width:680px){.founder-grid{grid-template-columns:1fr}.founder-photo{flex-basis:140px}}
