@font-face{font-family:'Lexend Deca';font-style:normal;font-weight:100 900;font-display:swap;src:url('assets/fonts/lexend-deca-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Lexend Deca';font-style:normal;font-weight:100 900;font-display:swap;src:url('assets/fonts/lexend-deca-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{--black:#101010;--surface:#191a1b;--white:#f1f0ec;--beige:#ddd0c0;--steel:#485a70;--blue:#173552;--petrol:#154655;--line:rgba(255,255,255,.17);--gutter:clamp(22px,4vw,76px);--ease:cubic-bezier(.22,1,.36,1)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--black);color:var(--white);font-family:'Lexend Deca',Arial,Helvetica,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased}
body.menu-open,body.gallery-open{overflow:hidden}
::selection{background:var(--beige);color:var(--black)}
a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0;background:none}img{display:block;max-width:100%}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-weight:400}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:6px}button[disabled]{cursor:default;opacity:.4}
.skip-link{position:fixed;top:12px;left:12px;z-index:200;background:white;color:black;padding:15px;transform:translateY(-150%)}.skip-link:focus{transform:none}
.eyebrow{display:block;font-size:10px;font-weight:500;letter-spacing:.12em;line-height:1.5;text-transform:uppercase}
.section-pad{padding:100px var(--gutter)}.section-top{display:flex;justify-content:space-between;gap:25px;margin-bottom:80px}
.section-top .eyebrow:last-child{opacity:.55;text-align:right}
.centered{text-align:center}.section-lead{font-size:clamp(15px,1.3vw,20px);line-height:1.6;max-width:500px;color:#a7a7a7}.section-lead.centered{margin:28px auto 76px}
.scroll-title{font-size:clamp(42px,5.8vw,100px);letter-spacing:-.065em;line-height:1.03;text-wrap:balance;--title-progress:1}
.scroll-title .muted{color:#747474}.js .scroll-title{opacity:calc(.16 + var(--title-progress)*.84);transform:translateY(calc((1 - var(--title-progress))*38px));will-change:opacity,transform}
.reveal{--order:0}.js .reveal{opacity:0;transform:translateY(55px);transition:opacity 1s var(--ease),transform 1.2s var(--ease);transition-delay:calc(var(--order)*90ms)}.js .reveal.is-visible{opacity:1;transform:translateY(0)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid transparent;padding:17px 23px;border-radius:100px;font-size:13px;line-height:1.2;transition:background .3s,color .3s,transform .3s;white-space:nowrap}.button:hover{transform:translateY(-3px)}.button span{font-size:19px}.button-light{background:var(--white);color:var(--black)}.button-light:hover{background:var(--beige)}.button-ghost{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.05);backdrop-filter:blur(10px)}.button-ghost:hover,.button-outline:hover{background:var(--white);color:var(--black)}.button-outline{border-color:#777}.action-pair{display:flex;gap:7px}.text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;padding:12px 0;border-bottom:1px solid currentColor;font-size:13px;line-height:1.4}.text-link span{font-size:21px;transition:transform .3s}.text-link:hover span{transform:translate(3px,-3px)}

/* Floating controls inherit a contrasting tone from the section underneath. */
.site-header{position:fixed;top:22px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;gap:8px;z-index:80;pointer-events:none;color:white;--nav-bg:rgba(24,24,24,.46);--nav-border:rgba(255,255,255,.12)}.site-header>*{pointer-events:auto}.site-header[data-tone=light]{color:#111;--nav-bg:rgba(205,204,201,.56);--nav-border:rgba(0,0,0,.07)}
.nav-surface{background:var(--nav-bg);border:1px solid var(--nav-border);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:50px;transition:background .35s,color .35s,border-color .35s}
.brand{display:flex;align-items:center;justify-content:center;width:115px;height:46px;padding:13px 15px}.brand img{width:85px;height:auto}.site-header[data-tone=light] .brand img{filter:invert(1)}
.desktop-nav{display:flex;gap:3px;align-items:center;padding:5px}.desktop-nav a{padding:10px 16px;border-radius:50px;font-size:11px;transition:background .3s}.desktop-nav a:hover{background:rgba(130,130,130,.23)}.header-actions{display:flex;gap:8px;margin-left:auto}.header-contact{padding:14px 20px;font-size:11px;display:flex;align-items:center;gap:36px}.header-contact span{font-size:16px}.menu-toggle{display:none}.mobile-menu{display:none}
.desktop-nav a{transition:background .3s,color .3s,box-shadow .3s}.desktop-nav a[aria-current=location]{background:rgba(241,240,236,.23);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.site-header[data-tone=light] .desktop-nav a[aria-current=location]{background:rgba(20,20,20,.24);color:#111;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}.header-contact[aria-current=location]{background:var(--white);color:var(--black)}.site-header[data-tone=light] .header-contact[aria-current=location]{background:var(--black);color:var(--white)}.mobile-menu>a[aria-current=location]{color:var(--beige);background:rgba(221,208,192,.08);padding-left:14px;padding-right:14px;border-radius:8px}.mobile-menu>a[aria-current=location]>span{color:var(--beige)}
.floating-contact img{width:25px;height:25px;max-width:none}

/* Original Vexar footage, full bleed. */
.hero{position:relative;min-height:760px;height:100svh;max-height:1300px;overflow:hidden;background:#222}.hero-video,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-video{object-position:center;transform:scale(var(--hero-scale,1.025));will-change:transform}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.36),transparent 85%),linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,.03) 85%)}
.hero-content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%;padding:170px var(--gutter) 110px}.hero-content>.eyebrow{margin-bottom:28px}.hero h1{font-size:clamp(58px,7.9vw,146px);line-height:.97;letter-spacing:-.07em;max-width:1300px}.accent-dot{color:var(--beige)}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:36px;gap:30px}.hero-bottom>div>p{font-size:clamp(18px,1.7vw,28px);line-height:1.35;letter-spacing:-.03em;margin-bottom:27px}.hero-note{font-size:11px;line-height:1.7;color:#c9c9c9;text-align:right;padding-bottom:8px}.hero-foot{position:absolute;bottom:25px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;z-index:2;border-top:1px solid rgba(255,255,255,.3);padding-top:18px;font-size:9px;letter-spacing:.09em}.hero-foot a{display:flex;align-items:center;gap:35px}.hero-foot a span{display:inline-block;font-size:16px;animation:scroll-cue 2s ease-in-out infinite}.video-toggle{font-size:9px;letter-spacing:.09em;display:flex;gap:15px;padding:0}.hero-enter{animation:hero-enter 1.5s var(--ease) both}.hero-content>h1{animation-delay:.12s}.hero-bottom{animation-delay:.28s}
@keyframes hero-enter{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:none}}@keyframes scroll-cue{50%{transform:translateY(4px)}}

/* About: editorial typography, fine rules and a three-stage workflow. */
.about{padding-bottom:85px}.about-intro{display:grid;grid-template-columns:1.6fr 1fr;gap:8vw;align-items:end}.about-intro h2{font-size:clamp(42px,4.8vw,88px)}.about-description{font-size:17px;line-height:1.65;max-width:430px}.about-description p+p{margin-top:22px;font-size:13px;color:#929292}.about-facts{margin:65px 0 95px;border-top:1px solid var(--line);padding-top:32px;display:flex;gap:10vw;align-items:center}.about-facts>div{display:flex;align-items:center;gap:35px}.about-facts strong{font-size:100px;font-weight:300;letter-spacing:-.075em;line-height:1}.about-facts strong span{font-size:55px;vertical-align:top;line-height:1.2;color:var(--beige)}.about-facts>div>span{font-size:10px;max-width:90px;line-height:1.6;letter-spacing:.08em}.about-facts>p{font-size:19px;line-height:1.4;letter-spacing:-.02em;color:#b3b3b3}
.about-workflow{display:grid;grid-template-columns:1fr 1.55fr;gap:8vw;margin-bottom:85px}.workflow-heading h3{font-size:clamp(34px,3.3vw,56px);line-height:1.08;letter-spacing:-.045em;margin-top:24px}.workflow-row{display:grid;grid-template-columns:30px 1fr 1.5fr;align-items:start;gap:18px;padding:27px 0;border-top:1px solid var(--line)}.workflow-row>span{font-size:10px;color:#777;padding-top:5px}.workflow-row h4{font-size:24px;letter-spacing:-.04em}.workflow-row p{font-size:12px;line-height:1.6;color:#a0a0a0}.workflow-row:last-child{border-bottom:1px solid var(--line)}
.factory-feature{display:grid;grid-template-columns:1.25fr 1fr;min-height:540px;background:var(--surface);border-radius:16px;overflow:hidden}.factory-feature>img{width:100%;height:100%;max-height:600px;object-fit:cover;object-position:50% 35%}.factory-feature>div{padding:clamp(30px,4vw,70px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.factory-feature h3{font-size:clamp(36px,3.3vw,58px);line-height:1.04;letter-spacing:-.055em;margin:30px 0 23px}.factory-feature p{max-width:350px;font-size:13px;line-height:1.7;color:#aaa;margin-bottom:35px}

/* Scroll-revealed solution cards replace the timed carousels. */
.solutions{padding-top:65px;background:#101010}.solutions>.scroll-title{margin-top:15px}.solution-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;align-items:stretch}.solution-card{position:relative;overflow:hidden;background:#232527;border-radius:18px;grid-column:span 4;display:flex;flex-direction:column}.solution-card.secondary{grid-column:span 3}.solution-image{position:relative;overflow:hidden;height:390px;background:var(--steel)}.solution-image>img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease);filter:saturate(.65)}.solution-card:hover .solution-image>img{transform:scale(1.045);filter:saturate(1)}.solution-image::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.48),transparent 30%)}.card-index{position:absolute;top:24px;left:25px;z-index:1;font-size:9px;letter-spacing:.08em;color:white}.solution-copy{position:relative;padding:28px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.solution-copy h3{font-size:28px;letter-spacing:-.055em;line-height:1.1}.solution-tagline{font-size:12px;color:#d6d6d6;line-height:1.5;margin-top:12px}.solution-description{font-size:12px;color:#aaa;line-height:1.65;margin:19px 0 28px}.solution-copy .text-link{margin-top:auto;font-size:11px;gap:35px}.solution-card:nth-child(1){background:var(--blue)}.solution-card:nth-child(2){background:var(--steel)}.solution-card:nth-child(3){background:#21252a}.solution-card:nth-child(-n+2) .solution-description{color:#d0d4d7}.secondary .solution-image{height:260px}.secondary .solution-copy{padding:25px}.secondary h3{font-size:24px}.section-end{display:flex;justify-content:space-between;align-items:center;margin-top:55px;padding-top:26px;border-top:1px solid var(--line);gap:20px}.section-end p{font-size:16px;color:#aaa}

/* Partner linework is drawn with scroll progress, as in the supplied film. */
.alliances{background:#e3ded7;color:var(--black);padding-bottom:80px}.alliances .section-top .eyebrow:last-child{opacity:.6}.alliances .muted{color:#8c8881}.alliance-intro{display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:12vw;margin-bottom:60px}.alliance-intro .section-lead{font-size:17px;max-width:420px;color:#66615b}.partner-network{position:relative;padding-top:135px;--draw:0}.network-lines{position:absolute;top:0;left:0;width:100%;height:135px;overflow:visible}.network-path{fill:none;stroke:var(--steel);stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--draw))}.partner-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.partner-card{position:relative;padding:25px 25px 28px;border-radius:14px;background:#efebe5;min-height:300px}.partner-node{position:absolute;top:-129px;left:50%;width:6px;height:6px;transform:translateX(-50%) rotate(45deg);background:var(--petrol)}.partner-card>.eyebrow{font-size:8px;letter-spacing:.07em;color:#777}.partner-logo{height:140px;display:flex;align-items:center;justify-content:center;margin:10px 0 15px}.partner-logo img{max-width:95%;max-height:80px;object-fit:contain;filter:grayscale(1);transition:filter .4s,transform .4s}.partner-card:hover img{filter:none;transform:translateY(-4px)}.partner-card h3{font-size:17px;letter-spacing:-.035em}.partner-card p{font-size:11px;line-height:1.6;color:#777;margin-top:12px;max-width:220px}.provider-heading{margin-top:70px;padding-top:26px;border-top:1px solid rgba(0,0,0,.2);display:flex;justify-content:space-between;align-items:center;gap:20px}.provider-heading p{font-size:13px;color:#666}.provider-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:30px;padding-top:45px;align-items:center}.provider{height:75px;display:flex;align-items:center;justify-content:center}.provider img{max-width:130px;width:85%;max-height:55px;object-fit:contain;filter:grayscale(1);mix-blend-mode:multiply}

/* The work panels stack underneath their persistent project selector. */
.projects{background:#f0efeb;color:var(--black);padding-bottom:70px;padding-top:75px}.projects .muted{color:#b0ada6}.projects .section-lead{color:#777}.project-selector{position:sticky;top:87px;z-index:25;display:flex;align-items:center;gap:4px;padding:13px;border-radius:14px;background:rgba(206,205,200,.85);backdrop-filter:blur(20px);margin-bottom:14px;scrollbar-width:none}.project-tab{padding:12px 15px;border-radius:50px;white-space:nowrap;font-size:11px;line-height:1.2;transition:background .3s,color .3s}.project-tab:hover{background:rgba(255,255,255,.6)}.project-tab[aria-current=true]{background:#232528;color:white}.project-counter{margin-left:auto;padding:0 10px;font-size:9px;white-space:nowrap;letter-spacing:.1em;color:#666}.project-stack{position:relative}.project-panel{position:sticky;top:164px;display:grid;grid-template-columns:1fr 1.75fr;gap:0;min-height:520px;height:calc(100svh - 205px);max-height:850px;background:#e3e1db;border:1px solid rgba(0,0,0,.1);border-radius:16px;overflow:hidden;margin-bottom:40px;z-index:var(--panel);scroll-margin-top:164px;box-shadow:0 -12px 35px rgba(0,0,0,.035);transform-origin:50% 0;will-change:transform}.project-panel:last-child{margin-bottom:0}.project-copy{padding:40px;display:flex;flex-direction:column;justify-content:space-between;gap:30px;align-items:flex-start}.project-copy>.eyebrow{font-size:9px;color:#777}.project-copy h3{font-size:clamp(35px,3.8vw,66px);line-height:1.04;letter-spacing:-.065em}.project-copy p{font-size:12px;color:#777;line-height:1.6;margin-top:20px}.project-photo{position:relative;overflow:hidden;width:100%;height:100%;padding:0;background:#777;text-align:left}.project-photo>img{height:100%;width:100%;object-fit:cover;transition:transform 1.1s var(--ease)}.project-photo:hover>img{transform:scale(1.035)}.photo-caption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(transparent,rgba(0,0,0,.65));color:white;font-size:9px;letter-spacing:.07em;padding:50px 30px 25px}.photo-caption span{font-size:22px}.project-copy .text-link{font-size:12px}

.contact{position:relative;overflow:hidden;background:#161616}.contact-bg{position:absolute;inset:0}.contact-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.25)}.contact-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.77),rgba(0,0,0,.7) 50%,rgba(0,0,0,.93))}.contact-content{position:relative;z-index:1;padding-top:85px;padding-bottom:60px}.contact h2{font-size:clamp(48px,6.9vw,120px);max-width:1250px}.contact h2 span{color:var(--beige)}.contact-content>p{font-size:18px;line-height:1.5;margin:35px 0 30px;color:#c0c0c0}.contact-details{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;margin-top:120px;padding-top:35px;border-top:1px solid rgba(255,255,255,.3)}.contact-details .eyebrow{color:#929292;margin-bottom:23px}.contact-details h3{font-size:21px;letter-spacing:-.04em;margin-bottom:16px}.contact-details address{font-style:normal;font-size:13px;line-height:1.9;color:#bbb}.contact-details .text-link{margin-top:17px}.contact-phone{display:flex;justify-content:space-between;align-items:center;max-width:440px;font-size:clamp(25px,2.7vw,46px);letter-spacing:-.045em}.contact-phone span{font-size:28px}.contact-details p{font-size:12px;color:#aaa;margin-top:16px}
.footer{display:flex;align-items:center;gap:35px;padding:40px var(--gutter);border-top:1px solid var(--line);background:var(--black)}.footer>a:first-child{width:130px}.footer img{width:100%;height:auto}.footer p{font-size:10px;color:#777}.footer>div{display:flex;gap:24px;margin-left:auto;font-size:11px}.footer .back-top{font-size:8px;letter-spacing:.06em;color:#999}.footer a:hover{color:var(--beige)}
.floating-contact{position:fixed;bottom:24px;right:24px;z-index:40;width:48px;height:48px;border-radius:50%;background:var(--beige);color:var(--black);display:grid;place-items:center;box-shadow:0 3px 30px #0003;border:1px solid #ffffff66;transition:transform .3s}.floating-contact:hover{transform:translateY(-4px)}.floating-contact svg{width:25px;height:25px}

.gallery{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;color:white;background:rgba(16,16,16,.98);padding:25px var(--gutter);overflow:hidden}.gallery::backdrop{background:rgba(0,0,0,.8)}.gallery[open]{display:flex;flex-direction:column;animation:gallery-enter .3s ease}.gallery-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.gallery-header h2{font-size:clamp(18px,2vw,28px);letter-spacing:-.04em}.gallery-close{display:flex;gap:25px;align-items:center;font-size:12px;padding:10px}.gallery-close span{font-size:28px}.gallery-stage{display:grid;grid-template-columns:50px 1fr 50px;align-items:center;gap:20px;flex:1;min-height:0;padding:25px 0}.gallery-stage figure{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:0;gap:15px}.gallery-image{max-width:100%;max-height:calc(100svh - 200px);object-fit:contain;min-height:0}.gallery-caption{font-size:11px;color:#aaa;text-align:center}.gallery-prev,.gallery-next{font-size:27px;border:1px solid #666;border-radius:50%;width:46px;height:46px}.gallery-dots{display:flex;justify-content:center;gap:10px;padding:10px 0 20px}.gallery-dots button{width:8px;height:8px;border-radius:50%;background:#555;padding:0;border:12px solid transparent;background-clip:padding-box;box-sizing:content-box;margin:-12px 0}.gallery-dots button[aria-current=true]{background-color:white}@keyframes gallery-enter{from{opacity:0}to{opacity:1}}

@media(min-width:1800px){.section-pad{padding-left:max(var(--gutter),calc((100vw - 1680px)/2));padding-right:max(var(--gutter),calc((100vw - 1680px)/2))}}
@media(max-width:1100px){.section-pad{padding-top:80px;padding-bottom:80px}.section-top{margin-bottom:60px}.desktop-nav a{padding:10px 12px}.hero{min-height:680px}.hero h1{font-size:9.4vw}.about-intro{gap:5vw;grid-template-columns:1.25fr 1fr}.about-description{font-size:15px}.about-workflow{gap:5vw;grid-template-columns:1fr 1.7fr}.workflow-row{grid-template-columns:22px .85fr 1.25fr;gap:13px}.workflow-row h4{font-size:20px}.solution-image{height:320px}.solution-copy{padding:23px}.secondary .solution-copy{padding:20px}.solution-copy h3{font-size:25px}.solution-card.secondary{grid-column:span 6}.secondary .solution-image{height:310px}.partner-card{padding:20px 18px}.project-selector{gap:2px}.project-tab{padding:12px 10px;font-size:10px}.project-counter{display:none}.project-copy{padding:30px}.project-panel{grid-template-columns:1fr 1.6fr}.footer{gap:24px}}
@media(max-width:760px){
 :root{--gutter:22px}html{scroll-padding-top:90px}.eyebrow{font-size:9px;letter-spacing:.09em}.section-pad{padding:70px var(--gutter)}.section-top{margin-bottom:45px;gap:20px}.section-top .eyebrow:last-child{max-width:135px;font-size:8px}.scroll-title{font-size:clamp(39px,9.7vw,65px)}.section-lead{font-size:14px;line-height:1.6}.section-lead.centered{margin:24px auto 40px}.button{padding:15px 19px;font-size:11px;gap:23px}.button span{font-size:16px}.text-link{font-size:12px}.action-pair{gap:6px}
 .site-header{top:17px;gap:6px}.brand{width:100px;height:40px;padding:12px 14px}.brand img{width:76px}.desktop-nav{display:none}.header-contact{height:40px;gap:18px;padding:12px 14px;font-size:10px}.header-actions{gap:6px}.menu-toggle{display:flex;align-items:center;justify-content:center;gap:12px;height:40px;padding:10px 15px;font-size:10px}.menu-icon{display:flex;flex-direction:column;gap:5px;width:13px}.menu-icon i{display:block;width:13px;height:1px;background:currentColor;transition:transform .25s}.menu-open .menu-icon i:first-child{transform:translateY(3px) rotate(45deg)}.menu-open .menu-icon i:last-child{transform:translateY(-3px) rotate(-45deg)}.menu-open .site-header{color:white;--nav-bg:rgba(50,50,50,.75);--nav-border:rgba(255,255,255,.12)}.menu-open .site-header .brand img{filter:none}.mobile-menu{position:fixed;inset:0;background:#161616;z-index:70;padding:110px var(--gutter) 35px;display:flex;flex-direction:column;visibility:hidden;opacity:0;transform:translateY(-10px);transition:opacity .3s,transform .4s var(--ease),visibility .4s;overflow:auto}.menu-open .mobile-menu{visibility:visible;opacity:1;transform:none}.mobile-menu>.eyebrow{margin-bottom:25px;color:#777}.mobile-menu>a{display:flex;justify-content:space-between;align-items:center;font-size:clamp(26px,6.5vw,40px);letter-spacing:-.04em;border-bottom:1px solid #ffffff20;padding:14px 0}.mobile-menu>a>span{font-size:10px;color:#999;letter-spacing:0}.mobile-menu>p{margin-top:auto;padding-top:40px;font-size:12px;line-height:1.5;color:#888}
 .hero{height:100svh;min-height:690px;max-height:1000px}.hero-video{object-position:58% center}.hero-shade{background:linear-gradient(0deg,rgba(0,0,0,.92),rgba(0,0,0,.1) 90%)}.hero-content{padding:160px var(--gutter) 113px}.hero-content>.eyebrow{font-size:8px;margin-bottom:25px}.hero h1{font-size:clamp(48px,10.8vw,80px);line-height:1.01;letter-spacing:-.06em}.hero-bottom{margin-top:27px}.hero-bottom>div>p{font-size:18px;margin-bottom:25px}.hero-note{display:none}.hero-foot{bottom:24px;font-size:7px;gap:10px}.hero-foot a{gap:15px}.hero-foot>span{display:none}.video-toggle{font-size:8px}
 .about-intro{display:block}.about-intro h2{font-size:clamp(38px,9.5vw,65px)}.about-description{margin-top:30px;max-width:550px;font-size:16px}.about-description p+p{margin-top:18px;font-size:12px}.about-facts{margin:40px 0 65px;gap:25px;padding-top:25px;justify-content:space-between}.about-facts>div{gap:14px}.about-facts strong{font-size:77px}.about-facts strong span{font-size:40px}.about-facts>div>span{font-size:8px;max-width:70px}.about-facts>p{font-size:12px;max-width:170px;line-height:1.6}.about-workflow{display:block;margin-bottom:55px}.workflow-heading h3{font-size:38px;margin:17px 0 30px}.workflow-row{grid-template-columns:25px 1fr;gap:8px 14px;padding:25px 0}.workflow-row h4{font-size:23px}.workflow-row p{grid-column:2;font-size:12px;max-width:450px}.factory-feature{display:flex;flex-direction:column;min-height:0;border-radius:12px}.factory-feature>img{height:350px;max-height:none;object-position:50% 35%}.factory-feature>div{padding:32px 27px}.factory-feature h3{font-size:40px;margin:23px 0 20px}.factory-feature p{font-size:12px;margin-bottom:26px}
 .solutions{padding-top:30px}.solutions .section-top{margin-bottom:55px}.solution-grid{grid-template-columns:1fr;gap:16px}.solution-card,.solution-card.secondary{grid-column:1}.solution-image,.secondary .solution-image{height:380px}.solution-copy,.secondary .solution-copy{padding:28px}.solution-copy h3,.secondary h3{font-size:30px}.solution-tagline{font-size:13px}.solution-description{font-size:12px;margin-bottom:25px;max-width:500px}.solution-copy .text-link{font-size:12px}.solution-card{border-radius:14px}.card-index{top:23px;left:26px}.section-end{display:block;margin-top:35px}.section-end p{font-size:14px;margin-bottom:15px}
 .alliance-intro{display:block;margin-bottom:35px}.alliance-intro .section-lead{font-size:14px;max-width:420px;margin-top:25px}.partner-network{padding-top:0}.network-lines{display:none}.partner-grid{grid-template-columns:1fr 1fr;gap:12px;position:relative}.partner-grid::before{content:'';position:absolute;top:-12px;bottom:0;left:50%;width:1px;background:var(--steel);transform:scaleY(var(--draw));transform-origin:50% 0}.partner-card{min-height:265px;padding:20px 19px;border-radius:12px}.partner-card .eyebrow{font-size:7px}.partner-node{top:30px;left:auto;right:-9px;width:5px;height:5px}.partner-card:nth-child(even) .partner-node{left:-3px;right:auto}.partner-logo{height:100px;margin:10px 0 20px}.partner-logo img{max-height:60px;max-width:100%}.partner-card h3{font-size:17px}.partner-card p{font-size:10px;margin-top:10px}.provider-heading{margin-top:45px;align-items:start;gap:20px}.provider-heading p{font-size:11px;max-width:120px;text-align:right}.provider-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 20px;padding-top:30px}.provider{height:65px}.provider img{width:90%;max-height:40px}
 .projects{padding-top:60px;padding-bottom:50px}.project-selector{top:73px;gap:4px;padding:10px;border-radius:12px;overflow-x:auto;flex-wrap:nowrap;margin-left:-5px;margin-right:-5px;margin-bottom:13px}.project-tab{padding:11px 15px;font-size:10px;flex-shrink:0}.project-panel{top:137px;scroll-margin-top:137px;display:flex;flex-direction:column;height:calc(100svh - 172px);min-height:500px;max-height:820px;margin-bottom:28px;border-radius:12px}.project-copy{padding:23px 25px;gap:20px;display:grid;grid-template-columns:1fr auto;align-items:end;flex:0 0 auto}.project-copy>.eyebrow{grid-column:1/-1;font-size:8px}.project-copy h3{font-size:clamp(29px,7vw,44px);max-width:240px}.project-copy p{font-size:10px;margin-top:9px}.project-copy .text-link{font-size:10px;gap:12px;padding:8px 0;align-self:end}.project-copy .text-link span{font-size:18px}.project-photo{flex:1;min-height:0}.photo-caption{font-size:7px;padding:40px 23px 20px}
 .contact-content{padding-top:65px;padding-bottom:50px}.contact h2{font-size:clamp(42px,10.5vw,70px)}.contact-content>p{font-size:15px;margin:28px 0 25px}.contact-details{grid-template-columns:1fr;gap:40px;margin-top:75px;padding-top:30px}.contact-details h3{font-size:22px}.contact-details address{font-size:12px}.contact-details .eyebrow{margin-bottom:18px}.contact-phone{font-size:35px;max-width:380px}.footer{display:grid;grid-template-columns:1fr 1fr;padding:30px var(--gutter);gap:22px 20px}.footer>a:first-child{width:110px}.footer p{font-size:9px;text-align:right}.footer>div{font-size:10px;margin-left:0;gap:20px}.footer .back-top{font-size:7px;text-align:right}.floating-contact{width:44px;height:44px;bottom:17px;right:17px}.floating-contact svg{width:23px;height:23px}
 .gallery{padding:20px 15px}.gallery-header h2{font-size:18px}.gallery-close{gap:10px}.gallery-stage{grid-template-columns:32px 1fr 32px;gap:7px}.gallery-prev,.gallery-next{width:32px;height:32px;font-size:20px}.gallery-image{max-height:calc(100svh - 180px)}.gallery-caption{font-size:10px}.gallery-dots{gap:6px}
}
@media(max-width:370px){:root{--gutter:17px}.brand{width:84px}.brand img{width:63px}.header-contact{padding:12px;gap:12px}.menu-toggle{padding:10px 12px;gap:8px}.hero h1{font-size:43px}.hero{min-height:650px}.action-pair .button{padding:14px 14px;gap:13px;font-size:10px}.about-facts>p{font-size:10px}.about-facts>div{gap:10px}.about-facts strong{font-size:65px}.partner-card{padding:19px 15px}.project-copy{padding:22px 18px}.project-copy h3{font-size:27px}.project-copy .text-link{font-size:9px}.project-copy .eyebrow{font-size:7px}}
/* The featured cards rise together, then spread out with scroll progress. */
.solutions-showcase{position:relative;isolation:isolate;padding-top:15px}.solutions-intro{position:sticky;top:110px;z-index:0;padding:25px 0 100px}.solutions-intro .section-lead{margin:26px auto 0}.solutions-intro .scroll-title{background:linear-gradient(180deg,#e0ddd8 10%,#9d9a95 60%,#4e4d4b 100%);background-clip:text;-webkit-background-clip:text;color:transparent}.solutions-intro .scroll-title .muted{color:inherit}.featured-solutions{position:relative;z-index:1;margin-top:65px}.additional-solutions{margin-top:16px}.solution-slot{grid-column:span 4;position:relative;min-width:0;--card-x:0px;--card-y:0px;--card-scale:1;--card-opacity:1}.solution-slot.secondary{grid-column:span 3}.solution-slot .solution-card{height:100%;grid-column:auto;transform-origin:50% 100%}.featured-solutions .solution-slot:nth-child(2){z-index:3}.featured-solutions .solution-slot:nth-child(3){z-index:2}.js .solution-card{transform:translate3d(var(--card-x),var(--card-y),0) scale(var(--card-scale));opacity:var(--card-opacity);will-change:transform,opacity}.solution-slot.secondary .solution-image{height:260px}.solution-slot.secondary .solution-copy{padding:25px}.solution-slot.secondary h3{font-size:24px}.solution-slot:nth-child(1) .solution-card{background:var(--blue)}.solution-slot:nth-child(2) .solution-card{background:var(--steel)}.solution-slot:nth-child(3) .solution-card{background:#21252a}.additional-solutions .solution-card{background:#232527}.featured-solutions .solution-description{color:#d0d4d7}.js .reveal:not(.is-visible){transition-delay:0s}
.hero .hero-enter{animation:none}.hero.is-hero-visible .hero-enter{animation:hero-enter 1.5s var(--ease) both}.hero.is-hero-visible h1{animation-delay:.12s}.hero.is-hero-visible .hero-bottom{animation-delay:.28s}.js .hero:not(.is-hero-visible) .hero-enter{opacity:0;transform:translateY(35px)}
/* Keep the two strategic partners prominent and every supplier on a clear background. */
.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-logo img{width:75%;max-width:340px;max-height:110px;height:auto}.partner-node{top:-129px}.provider-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:28px}.provider img{width:90%;max-width:155px;max-height:65px;height:auto}.provider[data-brand=hydro] img{filter:brightness(0)}.provider[data-brand=gu] img{width:85px}.provider:hover img{filter:none}.provider[data-brand=hydro]:hover img{filter:brightness(0)}
.hero-foot{padding-right:65px}
@media(max-width:1100px) and (min-width:761px){.provider-grid{gap:20px}.provider img{max-height:55px}}
@media(max-width:760px){.partner-logo img{width:100%;max-width:235px;max-height:95px}.partner-logo{height:115px}.partner-card{min-height:285px}.partner-node{top:30px}.provider-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 25px}.provider img{width:100%;max-height:55px}.provider[data-brand=gu] img{width:72px}.provider:last-child{grid-column:2}.hero-foot{padding-right:45px}}
.solutions-intro{transform:translateY(var(--intro-lift,0px))}.partner-grid{position:relative}.partner-grid::before{display:none}.partner-network{padding-top:135px}.network-lines{display:block;height:135px}.network-branch{stroke-dashoffset:calc(1 - var(--branch-draw,0))}.network-node{fill:var(--petrol);opacity:var(--draw)}.partner-logo{margin-top:0}.provider img{transition:filter .4s}.provider[data-brand=hydro]:hover img{filter:none}.project-copy{justify-content:center}.project-copy .text-link{margin-top:45px}
@media(max-width:1100px){.solution-slot.secondary{grid-column:span 6}.solution-slot.secondary .solution-image{height:310px}.solution-slot.secondary .solution-copy{padding:20px}}
@media(max-width:760px){.solutions-intro{position:relative;top:auto;padding:0 0 30px}.featured-solutions{margin-top:15px}.solution-slot,.solution-slot.secondary{grid-column:1}.solution-slot.secondary .solution-image{height:380px}.solution-slot.secondary .solution-copy{padding:28px}.solution-slot.secondary h3{font-size:30px}.partner-network{padding-top:90px}.network-lines{height:90px}.project-copy .text-link{margin-top:0}.partner-card{min-height:260px}}
@media(hover:none){.partner-logo img,.provider img{filter:none}.provider[data-brand=hydro] img{filter:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal,.js .scroll-title,.js .solution-card,.js .hero:not(.is-hero-visible) .hero-enter{opacity:1;transform:none}.project-panel{will-change:auto}.hero-video{transform:none}.network-path{stroke-dashoffset:0}.network-node{opacity:1}}
