@font-face{font-family:'Montserrat';src:url('design-system/fonts/Montserrat-ExtraLight.woff2') format('woff2');font-weight:200;font-display:swap}@font-face{font-family:'Montserrat';src:url('design-system/fonts/Montserrat-Light.woff2') format('woff2');font-weight:300;font-display:swap}@font-face{font-family:'Montserrat';src:url('design-system/fonts/Montserrat-Medium.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:'Montserrat';src:url('design-system/fonts/Montserrat-Black.woff2') format('woff2');font-weight:900;font-display:swap}:root{--black:#07070D;--surface:#0D0D16;--border:#1C1C2E;--white:#EDEDF4;--muted:#70708C;--body:#A9A9C4;--c-blue:#00C8FF;--c-green:#00FF41;--c-amber:#FFB800;--c-magenta:#FF006E;--c-purple:#9B5DE5;--c-orange:#FF4500;--mono:'JetBrains Mono','SFMono-Regular',Consolas,monospace;--pad:clamp(24px,6vw,96px)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}body{background:var(--black);color:var(--white);font-family:'Montserrat',sans-serif;font-weight:300;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}body::before{content:'';position:fixed;inset:0;z-index:9999;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0 3px,rgba(0,0,0,.10) 3px 4px)}.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted)}.header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:20px var(--pad);background:linear-gradient(to bottom,rgba(7,7,13,.88),transparent);animation:header-in 1s .2s cubic-bezier(.2,.6,.2,1) both}@keyframes header-in{from{opacity:0;transform:translateY(-14px)}}.header::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--c-green),var(--c-blue),var(--c-magenta),var(--c-amber),var(--c-green));background-size:300% 100%;animation:rainbow 14s linear infinite;opacity:.85}@keyframes rainbow{to{background-position:300% 0}}.brand img{height:24px;width:auto;display:block;opacity:.95;transition:opacity .3s}.brand:hover img{opacity:1}.menu-zone{position:relative}.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:0;cursor:pointer;padding:6px 0}.menu-toggle img{width:30px;height:30px;object-fit:contain;display:block;transition:transform .5s cubic-bezier(.2,.6,.2,1)}.menu-toggle .label{font-family:var(--mono);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);transition:color .3s}.menu-toggle .chev{width:7px;height:7px;margin-top:-4px;border-right:1px solid var(--muted);border-bottom:1px solid var(--muted);transform:rotate(45deg);transition:transform .35s,border-color .3s,margin-top .35s}.menu-zone:hover .menu-toggle .label,.menu-zone.open .menu-toggle .label,.menu-zone:focus-within .menu-toggle .label{color:var(--white)}.menu-zone:hover .menu-toggle .chev,.menu-zone.open .menu-toggle .chev,.menu-zone:focus-within .menu-toggle .chev{border-color:var(--white);transform:rotate(225deg);margin-top:4px}.menu-zone:hover .menu-toggle img,.menu-zone.open .menu-toggle img{transform:rotate(90deg)}.menu-panel{position:absolute;top:100%;left:-20px;padding-top:16px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .4s cubic-bezier(.2,.6,.2,1),transform .4s cubic-bezier(.2,.6,.2,1),visibility .4s}.menu-zone:hover .menu-panel,.menu-zone.open .menu-panel,.menu-zone:focus-within .menu-panel{opacity:1;visibility:visible;transform:none}.menu-card{min-width:340px;background:rgba(13,13,22,.98);border:1px solid var(--border)}.menu-card a{display:flex;align-items:center;gap:14px;padding:13px 26px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:14px;color:var(--muted);transition:color .25s,background .25s,padding-left .3s}.menu-card a + a{border-top:1px solid rgba(28,28,46,.6)}.menu-card a:hover{color:var(--white);background:rgba(255,255,255,.03);padding-left:34px}.menu-card a.active{color:var(--white)}.menu-card a .num{font-family:var(--mono);font-weight:400;font-size:10px;letter-spacing:.2em;color:var(--c-green);flex-shrink:0}.menu-card a .txt{flex:1;min-width:0}.hero{position:relative;height:100vh;min-height:640px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.85) brightness(1.15) contrast(1.02);animation:video-in 2.4s ease .3s both;pointer-events:none}@keyframes video-in{from{opacity:0}to{opacity:.55}}.hero .veil{position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at center,transparent 0%,rgba(7,7,13,.45) 80%),linear-gradient(to bottom,rgba(7,7,13,.82),rgba(7,7,13,.14) 45%,rgba(7,7,13,.92))}.hero .grid-floor{position:absolute;inset:auto 0 0 0;height:42vh;z-index:1;background:linear-gradient(to top,rgba(0,200,255,.05),transparent 70%),repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 80px),repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 52px);transform:perspective(560px) rotateX(58deg);transform-origin:bottom;mask-image:linear-gradient(to top,rgba(0,0,0,.8),transparent);-webkit-mask-image:linear-gradient(to top,rgba(0,0,0,.8),transparent)}.hero-inner{position:relative;z-index:2;padding:0 24px}.hero .eyebrow{display:block;margin-bottom:30px}.hero h1{font-weight:900;font-size:clamp(44px,9vw,132px);letter-spacing:.14em;text-transform:uppercase;line-height:1}.hero h1 span{color:transparent;-webkit-text-stroke:1.5px var(--white)}.hero .rule{width:56px;height:1px;margin:36px auto;background:linear-gradient(90deg,transparent,var(--c-green),transparent)}.hero p{font-weight:300;font-size:clamp(17px,2.5vw,30px);letter-spacing:.04em;line-height:1.5;max-width:900px;margin:0 auto;color:var(--white);text-shadow:0 2px 24px rgba(7,7,13,.8)}.hero p strong{font-weight:900;letter-spacing:.05em}.hero p .hl{color:var(--c-green);text-transform:uppercase;text-shadow:0 0 18px rgba(0,255,65,.45),0 0 42px rgba(0,255,65,.2)}.hero .scroll-arrow{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);z-index:2;display:block;padding:14px}.hero .scroll-arrow span{display:block;width:16px;height:16px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg);transition:border-color .3s;animation:arrow-bob 2.2s ease-in-out infinite}.hero .scroll-arrow:hover span{border-color:var(--c-green)}@keyframes arrow-bob{0%,100%{transform:rotate(45deg) translate(0,0);opacity:.55}50%{transform:rotate(45deg) translate(5px,5px);opacity:1}}.hero .eyebrow,.hero p{opacity:0;animation:rise 1s cubic-bezier(.2,.6,.2,1) forwards}.hero .eyebrow{animation-delay:.15s}.hero h1{opacity:0;animation:rise-track 1.3s cubic-bezier(.2,.6,.2,1) .35s forwards}.hero .rule{opacity:0;animation:rule-grow .9s cubic-bezier(.2,.6,.2,1) .85s forwards}.hero p{animation-delay:1.05s}.hero .scroll-arrow{opacity:0;animation:fade 1.2s ease 1.7s forwards}.hero h1 span{animation:stroke-flicker 7s steps(1) 2.6s infinite}@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes rise-track{from{opacity:0;transform:translateY(32px);letter-spacing:.32em}to{opacity:1;transform:none;letter-spacing:.14em}}@keyframes rule-grow{from{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes fade{from{opacity:0}to{opacity:1}}@keyframes stroke-flicker{0%,91.9%,93.1%,94.9%,95.9%,100%{opacity:1}92%,92.6%{opacity:.3}95%,95.5%{opacity:.55}}.section-head,.page-hero{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}.page-hero{min-height:56vh;padding:150px var(--pad) 60px}.section-head{padding:clamp(80px,11vw,150px) var(--pad) clamp(48px,6vw,80px);scroll-margin-top:90px}.section-head>div,.page-hero>div{position:relative;z-index:1}.section-head .eyebrow,.page-hero .eyebrow{display:block;margin-bottom:26px;font-size:14px;letter-spacing:.3em}.section-head h2,.page-hero h1{font-weight:900;font-size:clamp(32px,6vw,76px);letter-spacing:.14em;text-transform:uppercase;line-height:1.1}.section-head h2 span,.page-hero h1 span{color:transparent;-webkit-text-stroke:1.5px var(--white)}.section-head .rule,.page-hero .rule{width:56px;height:1px;margin:32px auto;background:linear-gradient(90deg,transparent,var(--c-green),transparent)}.section-head .lede,.page-hero .lede{font-weight:200;font-size:clamp(15px,1.7vw,20px);letter-spacing:.05em;max-width:640px;margin:0 auto;color:rgba(237,237,244,.85);line-height:1.6}.section-head .lede strong{font-weight:500;color:var(--white)}#realisations .lede{max-width:900px}.intro{padding:calc(var(--pad) * 1.6) var(--pad);max-width:1080px;margin:0 auto;text-align:center}.intro p{font-weight:200;font-size:clamp(22px,3.2vw,36px);line-height:1.45}.intro p + p{margin-top:1em}.intro:has(p + p) p{font-size:clamp(18px,2.3vw,27px);line-height:1.5}.intro em{font-style:italic;color:var(--white)}.intro .intro-note{font-size:clamp(15px,1.7vw,19px);color:var(--body);margin-top:1.6em}.intro strong{font-weight:500;color:var(--white)}.intro .eyebrow{display:block;margin-bottom:36px}.works{padding:0 var(--pad) var(--pad);max-width:1440px;margin:0 auto}.works-head{position:relative;display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--border);padding:28px 0 clamp(48px,6vw,90px)}.works-head h2,.works-head h3{font-weight:500;font-size:14px;letter-spacing:.3em;text-transform:uppercase}.works-head.has-deco{align-items:center}.works-head .head-deco{width:clamp(58px,7vw,92px);height:auto;flex-shrink:0;margin:0 20px;align-self:center;animation:deco-float 4.5s ease-in-out infinite}@keyframes deco-float{0%,100%{transform:translateY(-2px) rotate(-3deg)}50%{transform:translateY(3px) rotate(3deg)}}.works-head::before,.works-head::after{content:'';position:absolute;top:-1px;height:1px;width:180px;opacity:0;pointer-events:none}.works-head::before{left:50%;background:linear-gradient(to right,transparent,var(--c-green));animation:split-right 9s linear infinite}.works-head::after{right:50%;background:linear-gradient(to left,transparent,var(--c-green));animation:split-left 9s linear infinite}@keyframes split-right{0%,34%{transform:translateX(0);opacity:0}36%{opacity:.9}54%{opacity:.9}62%{transform:translateX(min(44vw,640px));opacity:0}100%{transform:translateX(min(44vw,640px));opacity:0}}@keyframes split-left{0%,34%{transform:translateX(0);opacity:0}36%{opacity:.9}54%{opacity:.9}62%{transform:translateX(calc(-1 * min(44vw,640px)));opacity:0}100%{transform:translateX(calc(-1 * min(44vw,640px)));opacity:0}}.works-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(28px,4vw,72px)}.works-grid.cols-3{grid-template-columns:repeat(3,1fr);gap:clamp(22px,2.6vw,44px)}@media (min-width:1081px){.works-grid.cols-3>.work:last-child:nth-child(3n + 1){grid-column:2}}.work{--accent:var(--c-blue);background:var(--surface);border:1px solid var(--border);position:relative;transition:border-color .4s}.work:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.work::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.6,.2,1)}.work:hover::after{transform:scaleX(1)}.work-media{overflow:hidden}.work-media.todo{aspect-ratio:16/10;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:center;position:relative}.work-media.todo::before{content:'Photo à fournir';font-family:var(--mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}.work-media.todo::after{content:'';position:absolute;inset:14px;border:1px dashed rgba(112,112,140,.35)}.work-media img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;filter:saturate(.82);transition:transform 1.2s cubic-bezier(.2,.6,.2,1),filter .6s}.work:hover .work-media img{transform:scale(1.04);filter:saturate(1)}.work-media.is-poster{background:var(--black)}.work-media.is-poster img{object-fit:contain}.work:hover .work-media.is-poster img{transform:scale(1.02)}.work-text{padding:28px 30px 30px}.works-grid.cols-3 .work-text{padding:22px 24px 24px}.work-meta{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}.work-meta .dot{width:6px;height:6px;background:var(--accent);flex-shrink:0}.work:hover .work-meta .dot{animation:dot-pulse 1.6s ease-out infinite}@keyframes dot-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 55%,transparent)}100%{box-shadow:0 0 0 10px transparent}}.work-meta .type{color:var(--accent)}.work-text h3,.work-text h4{font-weight:900;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(18px,1.8vw,24px);line-height:1.2;margin-bottom:10px}.works-grid.cols-3 .work-text h3,.works-grid.cols-3 .work-text h4{font-size:clamp(16px,1.4vw,20px)}.work-text p{color:var(--body);font-size:15.5px;line-height:1.65}.works-grid.cols-3 .work-text p{font-size:14.5px}.team{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,30px)}.member{background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;transition:border-color .4s,box-shadow .4s,transform .4s cubic-bezier(.2,.6,.2,1)}.member:hover{border-color:var(--c-green);box-shadow:0 0 0 1px var(--c-green),0 0 26px rgba(0,255,65,.28);transform:translateY(-4px)}.member img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;filter:saturate(.82) grayscale(.15);transition:filter .6s}.member:hover img{filter:saturate(1) grayscale(0)}.member figcaption{padding:20px 22px 24px}.member .name{display:block;font-weight:900;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(15px,1.3vw,18px);line-height:1.2}.member .role{display:block;margin-top:8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.team-strip-wrap{padding:0 var(--pad) calc(var(--pad) * .8);max-width:1440px;margin:0 auto}.team-strip{grid-template-columns:repeat(6,1fr);gap:clamp(10px,1.2vw,18px)}.team-strip .member figcaption{padding:12px 12px 14px}.team-strip .member .name{font-size:clamp(11px,.78vw,13px);letter-spacing:.02em}.team-strip .member .role{margin-top:5px;font-size:8.5px;letter-spacing:.14em}.stats-wrap{padding:0 var(--pad) calc(var(--pad) * 1.2);max-width:1440px;margin:0 auto}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,30px)}.stat{background:var(--surface);border:1px solid var(--border);padding:0 0 clamp(22px,2.6vw,34px);text-align:center;display:flex;flex-direction:column;transition:border-color .35s ease,box-shadow .35s ease,transform .35s ease}.stat-media{overflow:hidden;aspect-ratio:4/3}.stat-media img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;filter:saturate(.82);transition:transform .6s cubic-bezier(.2,.7,.3,1),filter .6s ease}.stat .n{font-weight:900;font-size:clamp(26px,3.4vw,46px);line-height:1;letter-spacing:.02em;margin-top:clamp(20px,2.4vw,30px)}.stat .n span{color:var(--c-green)}.stat .l{font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-top:auto;padding:12px 14px 0}.stat:hover{border-color:var(--c-green);box-shadow:0 0 0 1px var(--c-green),0 12px 40px rgba(0,255,65,.14);transform:translateY(-4px)}.stat:hover .stat-media img{transform:scale(1.05);filter:saturate(1.05)}.road{position:relative;max-width:1440px;margin:0 auto;height:104px;overflow:hidden}.road::after{content:'';position:absolute;left:var(--pad);right:var(--pad);bottom:0;height:1px;background:var(--border)}.road .dashes{position:absolute;left:var(--pad);right:calc(var(--pad) - 60px);bottom:3px;height:1px;background:repeating-linear-gradient(90deg,var(--c-green) 0 16px,transparent 16px 60px);opacity:.35;animation:road-scroll 1s linear infinite}@keyframes road-scroll{to{transform:translateX(-60px)}}.road .rock{position:absolute;left:100%;bottom:2px;width:4px;height:4px;background:var(--muted);animation:rock-pass 7s linear infinite}@keyframes rock-pass{to{transform:translateX(-105vw)}}.road .truck{position:absolute;bottom:1px;left:calc(var(--pad) + 6%);width:150px;height:auto;display:block;color:var(--white);animation:truck-bounce 4s ease infinite}@keyframes truck-bounce{0%,5%,9%,11%,57%,61%,100%{transform:translateY(0)}7%{transform:translateY(-4px)}10%{transform:translateY(-1px)}59%{transform:translateY(-3px)}}.road .truck .w1,.road .truck .w2{animation:wind-drift 1.5s ease infinite}.road .truck .w2{animation-delay:.45s}@keyframes wind-drift{0%{transform:translateX(6px);opacity:0}30%{opacity:.6}100%{transform:translateX(-20px);opacity:0}}.steps.no-rules .step{border-top:0;padding-top:0}.steps-wrap{padding:0 var(--pad) calc(var(--pad) * 1.2);max-width:1440px;margin:0 auto}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,44px)}.step{border-top:1px solid var(--border);padding-top:24px}.step .num{font-family:var(--mono);font-size:11px;letter-spacing:.24em;color:var(--c-green)}.step h3,.step h4{font-weight:900;text-transform:uppercase;letter-spacing:.04em;font-size:16px;margin:14px 0 10px}.step p{color:var(--body);font-size:14.5px;line-height:1.65}.step ul{list-style:none}.step ul li{position:relative;padding-left:16px;color:var(--body);font-size:14.5px;line-height:1.6}.step ul li + li{margin-top:9px}.step ul li::before{content:'';position:absolute;left:0;top:.62em;width:4px;height:4px;background:var(--c-green)}.quote{max-width:920px;margin:0 auto;text-align:center;padding:0 var(--pad) calc(var(--pad) * 1.2)}.quote blockquote{font-weight:200;font-size:clamp(21px,3vw,34px);line-height:1.5}.quote blockquote::before{content:'« ';color:var(--c-green)}.quote blockquote::after{content:' »';color:var(--c-green)}.quote-logo{display:block;margin:30px auto 0;height:clamp(38px,4.6vw,58px);width:auto;filter:saturate(.85)}.quote cite{display:block;margin-top:28px;font-style:normal;font-family:var(--mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}.contact-direct{max-width:1100px;margin:0 auto;padding:0 var(--pad) calc(var(--pad) * 1.2);text-align:center}.contact-direct .line{border-top:1px solid var(--border);padding:clamp(28px,4vw,46px) 0}.contact-direct .k{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}.contact-direct .v{display:inline-block;font-weight:900;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(20px,3.6vw,46px);line-height:1.15;transition:color .3s,text-shadow .3s;overflow-wrap:anywhere}.contact-direct .v:hover{color:var(--c-green);text-shadow:0 0 24px rgba(0,255,65,.35)}.contact-direct .contact-meta{border-top:1px solid var(--border);padding-top:clamp(24px,3vw,36px);font-size:15px;color:var(--body);line-height:1.9}.contact-direct .socials{display:flex;justify-content:center;gap:18px;margin-top:clamp(22px,3vw,34px)}.social{display:inline-flex;align-items:center;gap:10px;padding:11px 18px;border:1px solid var(--border);color:var(--muted);font-family:var(--mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;transition:color .3s,border-color .3s,box-shadow .3s}.social svg{width:16px;height:16px;fill:currentColor;flex-shrink:0}.social:hover{color:var(--c-green);border-color:var(--c-green);box-shadow:0 0 18px rgba(0,255,65,.22)}.flow{position:relative;overflow:hidden}.flow::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;z-index:-1;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.09) 5%,rgba(255,255,255,.09) 95%,transparent)}.flow::after{content:'';position:absolute;left:50%;top:-200px;width:1px;height:200px;z-index:-1;background:linear-gradient(to bottom,transparent,var(--c-green),transparent);animation:flow-pulse 30s linear infinite}@keyframes flow-pulse{from{top:-200px}to{top:100%}}.cta{border-top:1px solid var(--border);padding:calc(var(--pad) * 1.5) var(--pad);text-align:center;position:relative}.cta h2{font-weight:200;font-size:clamp(30px,5vw,64px);line-height:1.2;margin-bottom:48px}.cta h2 strong{font-weight:900;text-transform:uppercase;letter-spacing:.06em}.btn{display:inline-block;position:relative;overflow:hidden;font-family:var(--mono);font-size:12px;letter-spacing:.26em;text-transform:uppercase;border:1px solid var(--white);background:none;padding:18px 52px;cursor:pointer;transition:background .35s,color .35s,box-shadow .35s}.btn::before{content:'';position:absolute;top:0;bottom:0;left:-60%;width:38%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.16),transparent);transform:skewX(-20deg);animation:sheen 5s ease-in-out infinite;pointer-events:none}@keyframes sheen{0%,55%{left:-60%}100%{left:135%}}.btn:hover{background:var(--white);color:var(--black);box-shadow:0 0 32px rgba(0,255,65,.25)}.footer{border-top:1px solid var(--border);padding:36px var(--pad);font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--muted)}.footer-bar,.footer:not(:has(.footer-bar)){display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.footer .brand-name{color:var(--white);font-family:'Montserrat',sans-serif;font-weight:900;letter-spacing:.4em;font-size:17px}.footer a:hover{color:var(--c-green)}.footer-legal{font-size:10px;letter-spacing:.1em;line-height:1.7;color:var(--muted);opacity:.75}.clients{border-top:1px solid var(--border);max-width:1440px;margin:0 auto;padding:60px var(--pad) 44px;display:grid;grid-template-columns:repeat(4,1fr);gap:36px clamp(24px,4vw,64px)}.clients-head{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.clients-head h2{font-weight:500;font-size:13px;letter-spacing:.3em;text-transform:uppercase}.clients .group h3{font-family:var(--mono);font-weight:400;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--c-green);margin-bottom:10px}.clients .group p{font-size:13px;color:var(--muted);line-height:1.9}.legal{max-width:820px;margin:0 auto;padding:0 var(--pad) calc(var(--pad) * 1.2)}.legal section{border-top:1px solid var(--border);padding:34px 0}.legal h2{font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--c-green);margin-bottom:16px}.legal p{color:var(--body);font-size:15px;line-height:1.75;margin-bottom:10px}.legal p:last-child{margin-bottom:0}.legal strong{color:var(--white);font-weight:500}.legal a{text-decoration:underline;text-underline-offset:3px}.legal a:hover{color:var(--c-green)}.legal .todo{font-family:var(--mono);font-size:12px;color:var(--c-amber)}.legal .footnotes{margin-top:20px;padding-top:12px;border-top:1px solid var(--border);font-size:12.5px;line-height:1.6;color:var(--muted)}.legal h2 sup,.legal p sup{font-size:.62em;color:var(--muted)}.anim .reveal{opacity:0;transform:translateY(30px);transition:opacity 1s cubic-bezier(.2,.6,.2,1),transform 1s cubic-bezier(.2,.6,.2,1)}.anim .work.reveal{transition:opacity 1s cubic-bezier(.2,.6,.2,1),transform 1s cubic-bezier(.2,.6,.2,1),border-color .4s}.anim .works-grid .work.reveal:nth-child(even){transition-delay:.15s,.15s,0s}.anim .works-grid.cols-3 .work.reveal:nth-child(3n+2){transition-delay:.12s,.12s,0s}.anim .works-grid.cols-3 .work.reveal:nth-child(3n){transition-delay:.24s,.24s,0s}.anim .reveal.in{opacity:1;transform:none}.anim .section-head.reveal .rule{transform:scaleX(0);transition:transform .9s cubic-bezier(.2,.6,.2,1) .25s}.anim .section-head.reveal.in .rule{transform:scaleX(1)}a:focus-visible,button:focus-visible{outline:2px solid var(--c-green);outline-offset:3px}.menu-card a:focus-visible{outline-offset:-2px;color:var(--white);background:rgba(255,255,255,.03)}@media (max-width:1080px){.works-grid.cols-3{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.team-strip{grid-template-columns:repeat(3,1fr)}}@media (max-width:860px){.works-grid,.works-grid.cols-3{grid-template-columns:1fr}.anim .works-grid .work.reveal{transition-delay:0s}.stats{grid-template-columns:repeat(2,1fr)}.team,.team-strip{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:1fr}.brand img{height:18px}.clients{grid-template-columns:1fr 1fr}}@media (max-width:480px){.header{padding:16px 20px}.works-head,.clients-head{flex-wrap:wrap;gap:6px 16px}.works-head .head-deco{display:none}.brand img{height:15px}.menu-toggle img{width:26px;height:26px}.menu-toggle .label{display:none}.hero h1,.page-hero h1{letter-spacing:.08em;animation-name:rise}.section-head h2{letter-spacing:.08em}.clients{grid-template-columns:1fr;gap:28px}.menu-panel{left:-20px;right:auto}.menu-card{min-width:0;width:calc(100vw - 40px);max-width:320px}.menu-card a{padding:11px 20px;font-size:13px}}@media (max-height:620px){.menu-card{max-height:calc(100vh - 110px);overflow-y:auto}}@media (prefers-reduced-motion:reduce){.header::after,.header,.hero .eyebrow,.hero h1,.hero h1 span,.hero .rule,.hero p,.hero .scroll-arrow,.hero .scroll-arrow span,.page-hero .eyebrow,.page-hero h1,.page-hero h1 span,.page-hero .rule,.page-hero .lede,.work-meta .dot,.btn::before,.works-head::before,.works-head::after,.road .dashes,.road .rock,.road .truck,.road .truck .w1,.road .truck .w2,.works-head .head-deco{animation:none}.road .rock{display:none}.hero video{animation:none;opacity:.55}.flow::after{animation:none;display:none}.works-head::before,.works-head::after{display:none}.hero .eyebrow,.hero h1,.hero .rule,.hero p,.hero .scroll-arrow,.page-hero .eyebrow,.page-hero h1,.page-hero .rule,.page-hero .lede{opacity:1;transform:none}.hero .scroll-arrow span{transform:rotate(45deg);opacity:.7}.work-media img,.work::after,.member img,.member,.stat,.stat-media img{transition:none}.member:hover,.stat:hover{transform:none}.stat:hover .stat-media img{transform:none}.anim .reveal{opacity:1;transform:none;transition:none}.menu-panel{transition:none}html{scroll-behavior:auto}}