:root{--ink:#111315;--ink2:#191c1d;--ink3:#272a2a;--paper:#f4f1e9;--paper2:#e9e8e1;--lime:#ddfa8c;--orange:#ff9f7f;--muted:#969998;--line:rgba(255,255,255,.18);--line-dark:rgba(17,19,21,.19);--serif:Georgia,'Times New Roman',serif;--sans:Inter,'Helvetica Neue',Arial,sans-serif;--ease:cubic-bezier(.22,1,.36,1);--shell:1370px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink);scrollbar-color:#777b76 var(--ink)}body{margin:0;color:var(--paper);background:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}body.menu-open{overflow:hidden}::selection{background:var(--lime);color:var(--ink)}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin:0}h1,h2,h3{letter-spacing:-.06em}button:focus-visible,a:focus-visible{outline:2px solid var(--orange);outline-offset:5px}h1:focus{outline:none}.shell{width:min(calc(100% - 104px),var(--shell));margin-inline:auto}.skip{position:fixed;z-index:2000;left:16px;top:-80px;background:var(--lime);color:var(--ink);padding:12px 18px}.skip:focus{top:16px}#noise{position:fixed;inset:0;z-index:110;pointer-events:none;opacity:.11;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E")}#progress{position:fixed;z-index:160;top:0;left:0;height:3px;width:100%;transform-origin:left;transform:scaleX(0);background:var(--lime);pointer-events:none}
/* Navigation */
.site-header{height:95px;position:fixed;left:0;top:0;right:0;z-index:140;padding:0 4%;display:flex;align-items:center;justify-content:space-between;gap:36px;background:linear-gradient(180deg,rgba(16,17,19,.85),rgba(16,17,19,0));transition:height .45s var(--ease),background .45s var(--ease),backdrop-filter .45s}.site-header.scrolled{height:76px;background:rgba(17,19,21,.86);backdrop-filter:blur(22px);border-bottom:1px solid rgba(255,255,255,.08)}.brand{display:flex;align-items:center;gap:13px;position:relative;z-index:5}.brand-glyph{font-weight:950;font-size:35px;line-height:.9;letter-spacing:-.16em;color:var(--paper)}.brand-glyph span{color:var(--lime)}.brand-glyph i{font-style:normal;color:var(--orange);font-size:38px}.brand-caption{font-weight:900;font-size:11px;letter-spacing:.1em;line-height:1.38}.brand-caption small{font-size:9px;font-weight:600;color:#949b95;letter-spacing:.12em}.desktop-nav{display:flex;align-items:center;gap:0;border:1px solid rgba(255,255,255,.17);border-radius:50px;padding:5px;background:rgba(255,255,255,.03)}.desktop-nav a{padding:10px 17px;border-radius:25px;font-size:12px;color:#bdc2be;transition:background .25s,color .25s}.desktop-nav a:hover,.desktop-nav a.active{color:var(--ink);background:var(--lime)}.header-cta{background:var(--paper);color:var(--ink);padding:13px 17px 13px 19px;display:inline-flex;align-items:center;gap:28px;border-radius:50px;font-weight:800;font-size:12px;white-space:nowrap;transition:background .3s,transform .3s}.header-cta:hover{background:var(--lime);transform:translateY(-2px)}.header-cta span{font-size:20px;font-weight:400}.mobile-trigger{display:none;width:42px;height:42px;border:1px solid #6a706c;background:transparent;border-radius:50%;position:relative;z-index:5}.mobile-trigger span{position:absolute;background:var(--paper);height:1px;width:19px;left:11px;top:17px;transition:transform .2s,top .2s}.mobile-trigger span+span{top:24px}.menu-open .mobile-trigger span:first-child{transform:rotate(45deg);top:21px}.menu-open .mobile-trigger span+span{transform:rotate(-45deg);top:21px}.mobile-menu{position:fixed;z-index:130;inset:0;background:#d8f398;color:var(--ink);padding:110px 8% 40px;display:flex;flex-direction:column;justify-content:center;gap:0}.mobile-menu[hidden]{display:none}.mobile-menu a{display:flex;align-items:center;justify-content:space-between;font-weight:900;font-size:clamp(35px,7vw,74px);line-height:1.4;border-bottom:1px solid #151619;padding:7px 0;letter-spacing:-.055em}.mobile-menu a span{font-weight:600;font-size:13px;align-self:center;letter-spacing:0}
/* Common */
.section{position:relative;padding:145px 0}.dark-section{background:var(--ink);color:var(--paper)}.light-section{background:var(--paper);color:var(--ink)}.acid-section{background:var(--lime);color:var(--ink)}.eyebrow{display:flex;align-items:center;gap:14px;font-size:10px;font-weight:850;letter-spacing:.19em;color:#abb0ad;white-space:nowrap}.eyebrow.ink,.light-section .eyebrow{color:#555b57}.eyebrow .tiny-square{width:7px;height:7px;background:var(--lime);transform:rotate(45deg);display:inline-block;flex:none}.eyebrow.ink .tiny-square,.light-section .eyebrow .tiny-square{background:var(--ink)}.eyebrow i{display:inline-block;height:1px;width:32px;background:currentColor;opacity:.55}.section-heading{margin-bottom:65px}.section-heading-body{display:grid;grid-template-columns:1.45fr .55fr;gap:6%;align-items:end;margin-top:37px}.section-heading h2{font-size:clamp(58px,7vw,110px);line-height:.95;font-weight:850;letter-spacing:-.085em}.section-heading h2 span{color:var(--lime)}.section-heading-body p{font-size:17px;line-height:1.65;color:#a5ada7;max-width:400px;padding-bottom:10px}.pill{border-radius:100px;padding:17px 20px 17px 23px;min-height:54px;display:inline-flex;justify-content:space-between;align-items:center;gap:35px;font-size:12px;font-weight:800;transition:transform .32s var(--ease),background .3s,color .3s}.pill svg,.text-link svg{transition:transform .35s var(--ease);flex:none}.pill:hover,.text-link:hover{transform:translateY(-3px)}.pill:hover svg,.text-link:hover svg{transform:translateX(5px)}.pill-light{background:var(--paper);color:var(--ink)}.pill-outline{border:1px solid #646b65;color:var(--paper)}.pill-outline:hover{background:var(--lime);color:var(--ink)}.pill-lime{background:var(--lime);color:var(--ink)}.pill-dark{background:var(--ink);color:var(--paper)}.text-link{display:inline-flex;align-items:center;gap:28px;border-bottom:1px solid currentColor;font-size:12px;font-weight:800;padding:10px 0;transition:transform .35s var(--ease)}.tag-row{display:flex;flex-wrap:wrap;gap:7px}.tag-row span{font-size:10px;font-weight:750;color:#a6aaa7;border:1px solid rgba(255,255,255,.2);padding:8px 11px;border-radius:100px;letter-spacing:.015em}
/* Home hero */
.hero{position:relative;min-height:830px;height:min(930px,100svh);display:flex;align-items:stretch;overflow:hidden;background:radial-gradient(circle at 78% 57%,#222726,transparent 45%),var(--ink)}.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,transparent,#000);pointer-events:none}.hero-content{position:relative;z-index:4;width:min(calc(100% - 104px),var(--shell));margin:auto;align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:145px 0 115px}.hero-intro{display:flex;align-items:center;gap:12px;color:#aab3ac;font-size:10px;letter-spacing:.18em;font-weight:850}.status-pulse{display:inline-block;width:8px;height:8px;flex:none;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px #d5f69719;animation:pulse 2.5s infinite}.hero-intro-right{margin-left:auto;margin-right:7%;color:#707b72}.hero-title{margin-top:72px;max-width:1200px;position:relative;z-index:4}.hero-title>span{display:block;width:fit-content;font-size:clamp(82px,9.5vw,166px);line-height:.94;font-weight:950;letter-spacing:-.107em;white-space:nowrap;text-shadow:0 3px 12px #0001}.hero-title em{font-family:var(--serif);font-size:.85em;font-weight:400;letter-spacing:-.075em;color:var(--lime);padding-right:.13em}.hero-title strong{font-weight:950;-webkit-text-stroke:1px rgba(255,255,255,.45);color:transparent}.hero-title .dot{color:var(--orange);-webkit-text-stroke:0}.hero-bottom{display:flex;align-items:end;gap:55px;margin-top:67px;position:relative;z-index:5}.hero-bottom>p{color:#b4b7b4;font-size:17px;line-height:1.65;width:400px;max-width:100%}.hero-bottom>p strong{color:var(--paper)}.hero-actions{display:flex;gap:10px;align-items:center}.hero-scroll{position:absolute;bottom:47px;left:0;display:flex;align-items:center;gap:16px;font-size:10px;letter-spacing:.17em;font-weight:850;color:#8b938b}.hero-scroll b{width:52px;height:1px;background:#8b938b;position:relative;overflow:hidden}.hero-scroll b::after{content:"";position:absolute;inset:0;background:var(--lime);transform:translateX(-105%);animation:scroll-line 2.4s infinite}.hero-number{position:absolute;bottom:45px;right:4%;font-size:10px;letter-spacing:.15em;color:#9ba199;z-index:4}.hero-art{position:absolute;z-index:2;right:0;bottom:0;top:0;width:57%;overflow:hidden;pointer-events:none}.hero-art::after{content:"";position:absolute;z-index:3;inset:0;background:linear-gradient(90deg,var(--ink) 0%,transparent 26%),linear-gradient(0deg,var(--ink) 1%,transparent 27%);pointer-events:none}.hero-halo{position:absolute;z-index:0;width:680px;height:680px;top:13%;right:-3%;background:radial-gradient(circle,#b2d57d26,#343f3633 38%,transparent 69%);filter:blur(10px)}.hero-portrait{position:absolute;z-index:2;bottom:-5%;right:4%;height:97%;width:auto;max-width:none;object-fit:contain;object-position:bottom center;filter:saturate(.85) contrast(1.04);mask-image:linear-gradient(90deg,transparent 0%,#000 15%,#000 94%,transparent 100%)}#webgl-stage{z-index:1;position:absolute;inset:9% -9% 0 4%;opacity:.87;mix-blend-mode:screen}.hero-orbit-css{position:absolute;border:1px solid rgba(219,249,146,.26);border-radius:50%;width:560px;height:560px;right:0;top:20%;transform:rotate(-25deg) scaleY(.7);box-shadow:0 0 65px #ddfa8c09}.orbit-b{top:10%;right:3%;width:730px;height:730px;transform:rotate(22deg) scaleX(.67);border-color:#ffa17e33}.photo-label{position:absolute;z-index:5;right:6%;top:28%;writing-mode:vertical-rl;font-size:10px;font-weight:750;letter-spacing:.2em;color:#cbd2cb8a}.hero-orbit-label{position:absolute;right:0;top:36%;font-size:10px;letter-spacing:.3em;color:#bec8b11b;transform:rotate(90deg);z-index:4}
.marquee{background:var(--lime);color:var(--ink);overflow:hidden;white-space:nowrap;border-block:1px solid var(--lime);height:67px;display:flex;align-items:center}.marquee>div{display:flex;width:max-content;align-items:center;gap:29px;animation:marquee 34s linear infinite}.marquee span{font-weight:950;letter-spacing:-.035em;font-size:29px}.marquee em{font-style:normal;font-size:18px}
/* statement */
.statement-section{padding:143px 0 165px}.statement-grid{display:grid;grid-template-columns:.3fr 1fr;gap:15%;margin-top:70px}.mini-side-label{font-size:10px;letter-spacing:.16em;color:#676b65;font-weight:850;max-width:125px;line-height:1.8}.statement{font-size:clamp(44px,5.6vw,89px);line-height:1.14;font-weight:850;letter-spacing:-.076em;max-width:1100px}.statement span{color:#a2a6a0}.statement mark{background:none;white-space:nowrap;box-shadow:inset 0 -.27em 0 var(--lime);color:var(--ink)}.statement-after{margin-top:58px;display:grid;grid-template-columns:190px minmax(200px,420px);gap:20px 75px;align-items:start}.statement-after>span{font-size:10px;font-weight:850;letter-spacing:.13em}.statement-after p{color:#626862;font-size:16px;line-height:1.7}.statement-after a{grid-column:2;justify-self:start}
/* Project cards */
.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:70px 26px}.project-card{display:block;min-width:0}.project-media{height:auto;aspect-ratio:1.62;position:relative;overflow:hidden;border-radius:4px;background:#333;isolation:isolate}.project-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0003 0%,transparent 32%,#0004 100%);pointer-events:none;z-index:1}.project-media img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease),filter .65s}.project-card:hover .project-media img{transform:scale(1.06);filter:saturate(1.1)}.project-media-index,.project-media-arrow{position:absolute;z-index:3;top:18px;color:#fff;font-size:9px;letter-spacing:.14em;font-weight:800}.project-media-index{left:20px;background:#14191c9c;backdrop-filter:blur(8px);padding:12px 14px;border:1px solid #ffffff25;border-radius:100px}.project-media-arrow{right:20px;background:var(--paper);color:var(--ink);width:42px;height:42px;border-radius:50%;font-size:22px;display:grid;place-items:center;transition:transform .35s,background .35s}.project-card:hover .project-media-arrow{transform:rotate(45deg);background:var(--lime)}.project-info{padding:22px 2px 0}.project-info-top{display:flex;justify-content:space-between;gap:20px;color:#919892;font-size:10px;letter-spacing:.13em;font-weight:800}.project-info-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px}.project-info-title h3{font-size:clamp(31px,3vw,49px);letter-spacing:-.07em}.card-arrow{font-size:29px;font-weight:300;transition:transform .35s}.project-card:hover .card-arrow{transform:translate(4px,-4px);color:var(--lime)}.project-info>p{color:#a5aba5;line-height:1.65;font-size:15px;margin:13px 0 20px;max-width:540px}.section-end{margin-top:75px;display:flex;align-items:center;justify-content:space-between;gap:20px}.section-end>span{color:#808780;letter-spacing:.12em;font-size:10px;font-weight:700}.abstract-visual{position:absolute;inset:0;background:radial-gradient(circle at 57% 50%,#3d514d,#0a1515 45%,#101919);overflow:hidden;display:grid;place-items:center}.abstract-nrj{background:radial-gradient(circle at 55% 45%,#735042,#251b19 48%,#171718)}.abstract-terrain{background:radial-gradient(circle at 55% 45%,#69475f,#1d1b28 48%,#161319)}.ab-orbit{position:absolute;inset:12% 22%;border:1px solid #ffb29e66;border-radius:50%;transform:rotateX(68deg) rotate(-30deg);box-shadow:0 0 45px #ff986830}.ab-two{inset:22% 28%;border-color:#ffe3c888;transform:rotateY(62deg) rotate(32deg)}.ab-core{color:#fce9d4;font-size:clamp(31px,5vw,72px);font-weight:950;letter-spacing:-.07em;text-shadow:0 0 55px #ffa68b80;z-index:1}.ab-sub{position:absolute;bottom:15%;font-size:10px;color:#ffdbc7;letter-spacing:.2em}.abstract-terrain .ab-core{color:#ffe7f8}.abstract-terrain .ab-orbit{border-color:#f9a4e0aa}
/* Now */
.now-section{padding:95px 0 120px;overflow:hidden}.now-header{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:850;letter-spacing:.14em}.now-grid{display:grid;grid-template-columns:1fr .56fr;gap:8%;margin-top:72px;align-items:end}.now-grid h2{font-size:clamp(75px,11vw,170px);line-height:.87;letter-spacing:-.105em;font-weight:950}.now-grid h2 i{font:italic .9em var(--serif);letter-spacing:-.055em}.now-right{padding-bottom:8px}.now-stamp{display:flex;align-items:baseline;gap:7px;border-bottom:1px solid var(--ink);padding-bottom:22px;margin-bottom:26px}.now-stamp>span{font-size:65px;font-weight:950;letter-spacing:-.12em}.now-stamp strong{font-size:14px;letter-spacing:-.02em}.now-stamp small{font-size:9px;margin-left:auto;letter-spacing:.1em}.now-right p{font-size:20px;line-height:1.55;max-width:490px}.now-keywords{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 35px}.now-keywords span{font-size:9px;font-weight:850;letter-spacing:.12em;border:1px solid #2126208c;padding:10px 13px;border-radius:20px}
/* Capabilities */
.capability-list{border-top:1px solid var(--line);margin-top:62px}.capability-item{display:grid;grid-template-columns:100px 1fr 60px;gap:20px;align-items:start;padding:39px 0 46px;border-bottom:1px solid var(--line);transition:padding .35s ease,background .35s}.capability-item:hover{padding-left:15px}.capability-item>span:first-child{font-size:11px;letter-spacing:.12em;color:var(--lime);font-weight:800}.capability-kicker{font-size:10px;letter-spacing:.14em;color:#828c85;font-weight:800}.capability-item h3{font-size:clamp(42px,6vw,82px);margin:5px 0 10px}.capability-item p{max-width:590px;color:#919a94;font-size:15px;line-height:1.65}.capability-icon{justify-self:end;font-size:28px;width:54px;height:54px;display:grid;place-items:center;border:1px solid #404740;border-radius:50%;transition:transform .35s,background .35s}.capability-item:hover .capability-icon{background:var(--lime);color:var(--ink);transform:rotate(45deg)}
/* Contact stripe */
.contact-stripe{background:var(--paper);color:var(--ink);padding:76px 0 49px}.stripe-top,.stripe-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:10px;font-weight:850;letter-spacing:.13em}.stripe-top>span{color:#6b716a}.stripe-link{display:flex;justify-content:space-between;align-items:center;padding:80px 0 70px;border-bottom:1px solid var(--line-dark)}.stripe-link>span{font-size:clamp(64px,11vw,162px);font-weight:950;line-height:.84;letter-spacing:-.10em;transition:transform .5s var(--ease)}.stripe-question{font-family:var(--serif);font-style:italic;font-weight:400}.stripe-link i{font-style:normal;font-size:clamp(75px,9vw,140px);line-height:1;transition:transform .5s var(--ease)}.stripe-link:hover>span{transform:translateX(8px)}.stripe-link:hover i{transform:translate(8px,-8px)}.stripe-bottom{margin-top:38px}
/* Footer */
.site-footer{background:var(--ink);padding:88px 0 32px}.footer-grid{display:grid;grid-template-columns:2.1fr .65fr .65fr 1fr;gap:30px}.footer-sign>span{font-weight:950;font-size:clamp(105px,13vw,196px);letter-spacing:-.15em;line-height:.8}.footer-dot{color:var(--lime)}.footer-sign p{color:#8d948f;font-size:14px;margin-top:20px}.footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.footer-col>span{color:#89928b;font-size:10px;letter-spacing:.15em;font-weight:850;margin-bottom:17px}.footer-col a{font-size:13px;transition:color .25s;line-height:1.5}.footer-col a:hover{color:var(--lime)}.footer-meta small{font-size:9px;line-height:1.8;letter-spacing:.08em;color:#747d74;margin-top:auto}.footer-bottom{border-top:1px solid #ffffff28;padding-top:24px;margin-top:90px;display:flex;align-items:center;justify-content:space-between;color:#858e86;font-size:10px;letter-spacing:.11em}.footer-bottom span:last-child{display:flex;align-items:center;gap:12px}.footer-bottom a{width:33px;height:33px;background:var(--lime);border-radius:50%;color:var(--ink);font-size:19px;display:grid;place-items:center}
/* Secondary page intros */
.page-intro{padding:220px 0 85px;min-height:660px;position:relative;overflow:hidden}.page-intro::after{content:"";position:absolute;right:-15%;top:-15%;width:55vw;height:55vw;border:1px solid #ffffff10;border-radius:50%;pointer-events:none;box-shadow:0 0 0 80px #ffffff04,0 0 0 160px #ffffff03}.page-intro-dark{background:var(--ink)}.page-intro-acid{background:var(--lime);color:var(--ink)}.page-intro-acid::after{border-color:#12131315;box-shadow:0 0 0 80px #10101005,0 0 0 160px #10101004}.page-intro h1{font-size:clamp(110px,14.5vw,226px);line-height:.8;font-weight:950;letter-spacing:-.115em;position:relative;z-index:2;margin-top:72px}.page-intro h1 em{font-family:var(--serif);font-weight:400;font-size:.84em;letter-spacing:-.09em;color:var(--lime)}.page-intro-acid h1 em{color:#565f39}.page-intro-bottom{display:flex;align-items:end;justify-content:space-between;gap:35px;border-top:1px solid var(--line);margin-top:80px;padding-top:28px;position:relative;z-index:2}.page-intro-acid .page-intro-bottom{border-color:#161a1770}.page-intro-bottom p{font-size:18px;line-height:1.6;max-width:515px;color:#a5aaa3}.page-intro-acid .page-intro-bottom p{color:#40473b}.page-intro-bottom>span{font-size:10px;letter-spacing:.15em;font-weight:850;white-space:nowrap}.project-list-section{padding-top:46px}.filter-row{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:50px;border-bottom:1px solid var(--line);padding-bottom:25px}.filter-buttons{display:flex;gap:9px;flex-wrap:wrap}.filter-buttons button{border-radius:50px;padding:13px 19px;border:1px solid #676d66;background:transparent;color:var(--paper);font-size:12px;font-weight:750;transition:background .25s,color .25s}.filter-buttons button:hover,.filter-buttons button.is-active{background:var(--lime);border-color:var(--lime);color:var(--ink)}.filter-buttons button span{font-size:10px;margin-left:8px}.filter-row>p{font-size:10px;letter-spacing:.11em;color:#8c948e}.project-list-section .projects-grid{row-gap:67px}
/* Project detail */
.detail-hero{padding:156px 0 80px;position:relative;overflow:hidden;background:#c9daf2;color:var(--ink)}.detail-hero.theme-lilac,.detail-media-section.theme-lilac{background:#d9d3f6}.detail-hero.theme-blue,.detail-media-section.theme-blue{background:#c6d9ff}.detail-hero.theme-green,.detail-media-section.theme-green{background:#c9ebdc}.detail-hero.theme-orange,.detail-media-section.theme-orange{background:#f9d2bf}.detail-hero.theme-silver,.detail-media-section.theme-silver{background:#d6d7d6}.detail-hero.theme-pink,.detail-media-section.theme-pink{background:#eecde8}.back-row{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;font-weight:850;letter-spacing:.14em;border-bottom:1px solid #2224;padding-bottom:22px}.back-row a:hover{text-decoration:underline}.detail-intro{padding-top:75px}.detail-intro .eyebrow{color:#4e544d}.detail-intro .tiny-square{background:var(--ink)}.detail-intro h1{font-size:clamp(85px,12vw,190px);line-height:.95;font-weight:950;letter-spacing:-.1em;margin:20px 0}.detail-sub{font-size:clamp(26px,3.5vw,51px);letter-spacing:-.05em;max-width:820px;line-height:1.15}.detail-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:44px}.detail-chips span{border:1px solid #2020204a;border-radius:100px;padding:10px 15px;font-size:11px;font-weight:800}.detail-media-section{padding-bottom:95px}.detail-media{aspect-ratio:2.14;max-height:720px;background:#161a1b;overflow:hidden;box-shadow:0 25px 80px #0002}.detail-media>img{width:100%;height:100%;object-fit:cover}.detail-media .abstract-visual{position:relative;width:100%;height:100%}.detail-media .ab-core{font-size:clamp(75px,11vw,150px)}.detail-story{padding-top:65px}.case-meta{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;border-bottom:1px solid var(--line-dark);padding:0 0 55px}.case-meta>div{display:flex;flex-direction:column;gap:15px}.case-meta small{font-size:10px;font-weight:850;letter-spacing:.13em;color:#69706a}.case-meta strong{font-size:18px;letter-spacing:-.02em}.story-grid{display:grid;grid-template-columns:.38fr 1fr;gap:12%;padding:110px 0;border-bottom:1px solid var(--line-dark)}.story-grid:last-child{border:0;padding-bottom:0}.story-grid .eyebrow{align-self:start;margin-top:12px}.story-grid h2{font-size:clamp(43px,6vw,82px);line-height:1;letter-spacing:-.078em;margin-bottom:33px}.story-grid p{max-width:830px;font-size:clamp(18px,2vw,26px);line-height:1.6;color:#4d544e}.story-grid .confidential{font-size:13px;margin-top:22px;padding:18px;background:#d8d9d0;border-left:3px solid var(--ink)}.story-highlights{padding:0;list-style:none;margin:38px 0;max-width:820px}.story-highlights li{display:flex;gap:18px;align-items:center;border-top:1px solid #19191930;padding:15px 0;font-size:15px;font-weight:750}.story-highlights li::before{content:'↗';font-size:20px}.story-grid .pill{margin-top:26px}.next-case{padding:100px 0}.next-case .shell>span{font-size:10px;font-weight:850;letter-spacing:.13em;color:#989f99}.next-case a{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:40px}.next-case strong{font-size:clamp(65px,9vw,150px);letter-spacing:-.09em}.next-case i{font-style:normal;font-size:clamp(60px,8vw,125px);transition:transform .3s}.next-case a:hover i{transform:translate(10px,-10px);color:var(--lime)}
/* Experience */
.experience-section{padding-top:100px;padding-bottom:150px}.experience-block{display:grid;grid-template-columns:.33fr 1fr;gap:11%;padding:75px 0 135px;border-bottom:1px solid var(--line-dark)}.experience-block:last-child{border-bottom:0;padding-bottom:30px}.experience-left{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.exp-index{font-size:11px;font-weight:850;letter-spacing:.08em;white-space:nowrap}.exp-timeline{display:flex;align-items:center;gap:12px;width:85%;margin:15px 0}.exp-timeline span{height:1px;width:100%;background:#a9ada7}.exp-timeline i{width:10px;height:10px;background:var(--ink);border-radius:50%;flex:none}.exp-role{font-size:10px;letter-spacing:.1em;line-height:1.6;color:#60685e;max-width:190px;font-weight:800}.experience-main .exp-location{font-size:10px;letter-spacing:.12em;font-weight:850;color:#656c65}.experience-main h2{font-size:clamp(67px,9vw,134px);line-height:1;margin:22px 0 29px;font-weight:900}.experience-main h3{font-size:clamp(29px,3vw,46px);line-height:1.2;letter-spacing:-.055em;max-width:810px;margin-bottom:24px}.experience-main>p{max-width:790px;font-size:18px;line-height:1.7;color:#5c635d}.experience-main ul{list-style:none;padding:0;max-width:790px;margin:33px 0}.experience-main li{border-top:1px solid #25252527;padding:14px 0 14px 28px;position:relative;font-size:15px;line-height:1.55}.experience-main li::before{content:'+';position:absolute;left:0;font-size:17px}.experience-main .tag-row span{border-color:#1b1b1b25;color:#343c36}.exp-note{display:block;font-size:11px;margin:25px 0;color:#6c726b}.experience-main .text-link{margin-top:25px}
.education-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%}.education-layout h2{font-size:clamp(65px,7vw,105px);margin-top:35px;line-height:.98}.education-layout h2 em{font:italic .85em var(--serif);color:var(--lime)}.education-cards{border-top:1px solid var(--line)}.edu-card{padding:34px 0;border-bottom:1px solid var(--line)}.edu-card>span,.edu-card>b{font-size:10px;letter-spacing:.13em;color:#9da79e}.edu-card h3{font-size:37px;margin:14px 0}.edu-card p{color:#abb1ac;font-size:16px;line-height:1.6;max-width:420px}.edu-card b{display:block;color:var(--lime);margin-top:17px;font-size:9px}
/* About */
.about-profile-grid{display:grid;grid-template-columns:.72fr 1fr;gap:10%;align-items:start}.about-photo{background:#151819;overflow:hidden;position:relative;aspect-ratio:.75}.about-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}.about-photo::before{content:'PORTRAIT / 2026';position:absolute;top:24px;left:24px;font-size:10px;color:var(--paper);z-index:1;letter-spacing:.17em}.about-copy{padding:40px 0}.about-copy h2{font-size:clamp(47px,5.5vw,78px);line-height:1.03;margin:40px 0}.about-copy h2 em{font:italic .82em var(--serif);color:#6d796a}.about-copy>p{font-size:17px;line-height:1.8;color:#4e564f;max-width:650px;margin:0 0 22px}.profile-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border-top:1px solid var(--line-dark);padding-top:31px;margin-top:42px}.profile-facts>div{display:flex;flex-direction:column;gap:12px}.profile-facts span{font-size:9px;font-weight:850;letter-spacing:.12em;color:#656b66}.profile-facts strong{font-size:14px;line-height:1.4}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.skill-panel{border:1px solid var(--line);border-radius:3px;padding:31px 26px 28px;background:#1b1f20;display:flex;flex-direction:column;min-height:440px}.skill-panel-top{display:flex;justify-content:space-between;color:var(--lime);font-size:12px;letter-spacing:.12em}.skill-panel-top span+span{font-size:24px}.skill-panel h3{font-size:clamp(38px,3.8vw,56px);line-height:1.04;margin-top:48px}.skill-panel p{font-size:15px;line-height:1.6;color:#acb4ab;margin:24px 0}.skill-panel>div:last-child{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}.skill-panel>div:last-child span{border:1px solid #777d764d;border-radius:50px;padding:7px 9px;font-size:10px;color:#bdc6b9}.principles-section h2{font-size:clamp(65px,8vw,122px);line-height:.92;margin:65px 0 75px}.principles-section h2 em{font:italic .85em var(--serif);color:#68775e}.principle{display:grid;grid-template-columns:.12fr .45fr 1fr;gap:25px;border-top:1px solid var(--line-dark);padding:32px 0;align-items:start}.principle>span{font-size:12px;font-weight:800}.principle h3{font-size:33px}.principle p{font-size:16px;line-height:1.6;max-width:520px;color:#5b625c}
/* Contact */
.contact-page{min-height:100vh;padding:210px 0 100px;background:var(--lime);color:var(--ink);display:flex;align-items:center}.contact-page .shell{width:min(calc(100% - 104px),var(--shell))}.contact-sup{display:flex;align-items:center;justify-content:space-between;gap:20px}.contact-sup>span{font-size:10px;font-weight:850;letter-spacing:.12em}.contact-page h1{font-size:clamp(100px,13vw,195px);line-height:.9;margin-top:75px;font-weight:950;letter-spacing:-.1em}.contact-page h1 em{font:italic .86em var(--serif)}.contact-page-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:12%;margin-top:80px;border-top:1px solid var(--ink);padding-top:40px}.contact-page-grid>p{font-size:20px;line-height:1.6;max-width:405px}.giant-email{display:flex;align-items:center;gap:20px;justify-content:space-between;font-size:clamp(30px,4vw,62px);font-weight:800;line-height:1.1;letter-spacing:-.06em;border-bottom:1px solid var(--ink);padding-bottom:22px;transition:transform .35s}.giant-email:hover{transform:translateX(6px)}.contact-mail{display:block;margin-top:16px;font-size:13px}.contact-socials{display:flex;gap:35px;flex-wrap:wrap;margin-top:80px;font-size:12px;font-weight:850;letter-spacing:.12em}.contact-socials a{border-bottom:1px solid transparent;padding-bottom:7px}.contact-socials a:hover{border-color:var(--ink)}.not-found{min-height:100vh;padding:230px 0 130px}.not-found h1{font-size:clamp(130px,20vw,350px);margin:60px 0 10px}.not-found h1 span{color:var(--lime)}.not-found p{font-size:21px;color:#a8b0a5;margin:0 0 30px}
/* Transition + motion */
.page-curtain{position:fixed;z-index:160;inset:0;pointer-events:none;visibility:hidden;overflow:hidden;display:flex}.page-curtain>span{flex:1;background:var(--lime);transform:translateY(-101%)}.page-curtain>span:nth-child(2){background:#e5faa5}.page-curtain>span:nth-child(3){background:#b8dc72}.page-curtain b{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.8);font-size:clamp(50px,9vw,160px);letter-spacing:-.09em;color:var(--ink);opacity:0;font-weight:950;white-space:nowrap}.page-curtain.entering,.page-curtain.leaving{visibility:visible}.page-curtain.entering>span{animation:curtain-in .53s cubic-bezier(.8,0,.2,1) both}.page-curtain.entering>span:nth-child(2){animation-delay:.06s}.page-curtain.entering>span:nth-child(3){animation-delay:.12s}.page-curtain.leaving>span{transform:translateY(0);animation:curtain-out .5s cubic-bezier(.8,0,.2,1) both}.page-curtain.leaving>span:nth-child(2){animation-delay:.04s}.page-curtain.leaving>span:nth-child(3){animation-delay:.08s}.page-curtain.entering b{animation:label-in .28s .24s both}.page-curtain.leaving b{opacity:1;animation:label-out .2s .12s both}.reveal{opacity:0;transform:translateY(29px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.in-view{opacity:1;transform:translateY(0)}.hero-title.reveal{transition-duration:1s}.hero-bottom.reveal{transition-delay:.12s}.cursor{position:fixed;z-index:150;top:-17px;left:-17px;width:34px;height:34px;border:1px solid var(--lime);border-radius:50%;opacity:0;pointer-events:none;mix-blend-mode:difference;transition:width .22s,height .22s,opacity .18s,margin .22s;will-change:transform}.cursor.hover{width:48px;height:48px;margin:-7px}.cursor span{position:absolute;top:50%;left:50%;width:3px;height:3px;border-radius:50%;background:var(--lime);transform:translate(-50%,-50%)}.motion-control{position:fixed;z-index:125;right:25px;bottom:23px;border:1px solid #777b6c65;background:#232626e9;color:var(--lime);backdrop-filter:blur(12px);border-radius:30px;padding:10px 13px;font-size:11px;letter-spacing:.08em;font-weight:850;display:flex;align-items:center;gap:9px}.motion-control span{font-size:9px}.motion-control:hover{border-color:var(--lime)}
@keyframes pulse{0%,100%{box-shadow:0 0 0 4px #d5f69711}50%{box-shadow:0 0 0 8px #d5f69720}}@keyframes scroll-line{to{transform:translateX(105%)}}@keyframes marquee{to{transform:translateX(-33.333%)}}@keyframes curtain-in{to{transform:translateY(0)}}@keyframes curtain-out{to{transform:translateY(101%)}}@keyframes label-in{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes label-out{to{opacity:0;transform:translate(-50%,-40%) scale(1.07)}}
/* Larger laptops */
@media(max-width:1300px){.hero-title>span{font-size:clamp(71px,9.2vw,136px)}.hero-art{right:-6%;width:61%}.hero-bottom{margin-top:56px}.hero-bottom>p{width:360px}.hero-actions{gap:8px}.pill{gap:20px}.now-stamp{flex-wrap:wrap}.now-stamp small{width:100%}}
/* Tablet */
@media(max-width:1000px){.shell,.hero-content,.contact-page .shell{width:min(calc(100% - 56px),var(--shell))}.site-header{height:78px;padding:0 28px}.desktop-nav{gap:1px}.desktop-nav a{padding:9px 11px;font-size:11px}.header-cta{gap:10px;padding:12px 13px}.hero{min-height:800px;height:850px}.hero-content{padding-top:170px;justify-content:flex-start}.hero-intro-right{display:none}.hero-title{margin-top:90px}.hero-title>span{font-size:clamp(72px,10vw,103px)}.hero-art{width:75%;right:-23%;top:0}.hero-portrait{height:93%;bottom:-5%}.hero-bottom{flex-direction:column;align-items:start;gap:20px;margin-top:40px}.hero-bottom p{max-width:390px}.hero-scroll{bottom:47px}.statement-grid{grid-template-columns:.2fr 1fr;gap:8%}.section-heading-body{grid-template-columns:1fr}.section-heading-body p{max-width:620px;margin-top:27px}.section{padding:105px 0}.now-grid{grid-template-columns:1fr 1fr;gap:40px}.now-grid h2{font-size:clamp(73px,9vw,120px)}.footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:40px}.footer-meta{grid-column:2 / -1}.page-intro h1{font-size:clamp(100px,14vw,175px)}.about-profile-grid{gap:6%}.about-copy{padding:5px 0}.profile-facts{grid-template-columns:1fr}.skill-panel{min-height:490px}.contact-page h1{font-size:clamp(94px,12vw,155px)}}
@media(max-width:760px){.site-header{height:73px;padding:0 20px}.site-header.scrolled{height:69px}.brand-glyph{font-size:33px}.brand-caption{font-size:9px}.brand-caption small{font-size:8px}.desktop-nav,.header-cta{display:none}.mobile-trigger{display:block}.shell,.hero-content,.contact-page .shell{width:calc(100% - 40px)}.section{padding:86px 0}.eyebrow{font-size:9px;gap:9px}.eyebrow i{width:22px}.hero{height:auto;min-height:820px}.hero-content{padding:150px 0 110px;min-height:820px;justify-content:flex-start}.hero-title{margin-top:64px}.hero-title>span{font-size:clamp(52px,10.8vw,82px);line-height:1.03;letter-spacing:-.103em}.hero-title em{font-size:.82em}.hero-art{width:105%;height:73%;top:23%;right:-30%}.hero-portrait{height:100%;right:13%;bottom:-1%;opacity:.79}.hero-art::after{background:linear-gradient(90deg,var(--ink) 2%,transparent 36%),linear-gradient(0deg,var(--ink) 0%,transparent 36%),linear-gradient(180deg,var(--ink) 0%,transparent 25%)}.hero-halo{width:400px;height:400px}.hero-orbit-css{width:320px;height:320px;top:24%;right:10%}.orbit-b{width:440px;height:440px;right:4%;top:17%}.hero-bottom{position:absolute;bottom:92px;left:0;right:0;gap:27px;margin-top:0}.hero-bottom>p{background:linear-gradient(90deg,#111315e8,#11131500);font-size:15px;max-width:340px;color:#d6d9d2}.hero-actions{flex-wrap:wrap;gap:8px}.pill{font-size:11px;padding:15px 18px;min-height:48px}.hero-scroll{bottom:30px}.hero-number{bottom:28px}.hero-intro{font-size:8px}.marquee{height:54px}.marquee span{font-size:24px}.statement-grid{display:block;margin-top:45px}.mini-side-label{margin-bottom:29px;max-width:none}.statement{font-size:clamp(43px,8.1vw,64px);line-height:1.12}.statement mark{white-space:normal}.statement-after{display:flex;flex-direction:column;gap:15px;margin-top:43px}.statement-after p{font-size:15px}.statement-section{padding:94px 0}.section-heading{margin-bottom:37px}.section-heading-body{margin-top:24px}.section-heading h2{font-size:clamp(53px,10.3vw,82px)}.section-heading-body p{font-size:15px}.projects-grid{grid-template-columns:1fr;gap:45px}.project-info-title h3{font-size:35px}.project-info>p{font-size:14px}.project-media-index{padding:9px 11px;font-size:8px}.project-media-arrow{width:39px;height:39px}.section-end{align-items:flex-start;flex-direction:column;gap:20px;margin-top:55px}.now-header{gap:10px}.now-header>span{font-size:9px}.now-grid{grid-template-columns:1fr;gap:45px;margin-top:54px}.now-grid h2{font-size:clamp(76px,14vw,127px)}.now-stamp span{font-size:58px}.now-right p{font-size:18px}.capability-item{grid-template-columns:38px 1fr 34px;gap:12px;padding:26px 0 33px}.capability-item h3{font-size:clamp(38px,7vw,59px)}.capability-item p{font-size:14px}.capability-icon{width:32px;height:32px;font-size:18px}.contact-stripe{padding:65px 0 30px}.stripe-top>span{display:none}.stripe-link{padding:62px 0 58px}.stripe-link>span{font-size:clamp(58px,10vw,90px)}.stripe-link i{font-size:65px}.stripe-bottom{font-size:9px;margin-top:23px}.site-footer{padding-top:71px}.footer-grid{grid-template-columns:1fr 1fr;gap:40px 18px}.footer-sign{grid-column:1/-1;margin-bottom:14px}.footer-sign>span{font-size:125px}.footer-meta{grid-column:1/-1}.footer-meta small{margin-top:15px}.footer-bottom{margin-top:65px;font-size:9px}.page-intro{padding:148px 0 65px;min-height:auto}.page-intro h1{font-size:clamp(78px,13vw,115px);margin-top:65px;line-height:.9}.page-intro-bottom{margin-top:65px;align-items:flex-start;flex-direction:column;gap:22px}.page-intro-bottom p{font-size:16px}.filter-row{flex-direction:column;align-items:start;margin-bottom:36px}.filter-buttons{gap:7px}.filter-buttons button{padding:11px 14px;font-size:11px}.project-list-section{padding-top:35px}.detail-hero{padding:126px 0 60px}.detail-intro{padding-top:60px}.detail-intro h1{font-size:clamp(64px,12vw,110px);margin:24px 0}.detail-sub{font-size:28px}.detail-chips{margin-top:35px}.detail-media-section{padding-bottom:45px}.detail-media{aspect-ratio:1.45}.detail-media .ab-core{font-size:42px}.case-meta{grid-template-columns:1fr 1fr;gap:25px;padding-bottom:45px}.case-meta>div:nth-child(2){grid-column:2}.case-meta strong{font-size:15px}.story-grid{display:block;padding:70px 0}.story-grid .eyebrow{margin-bottom:27px}.story-grid h2{font-size:48px;margin-bottom:23px}.story-grid p{font-size:18px}.story-highlights{margin-top:28px}.next-case{padding:75px 0}.next-case strong{font-size:64px}.next-case i{font-size:60px}.experience-block{display:block;padding:45px 0 85px}.experience-left{gap:14px}.exp-timeline{margin:3px 0 19px}.exp-role{max-width:none}.experience-main{margin-top:35px}.experience-main h2{font-size:clamp(57px,11vw,85px)}.experience-main h3{font-size:30px}.experience-main>p{font-size:16px}.experience-main li{font-size:14px}.education-layout{display:block}.education-layout h2{font-size:62px;margin-bottom:55px}.edu-card h3{font-size:34px}.about-profile-grid{display:block}.about-photo{max-width:500px;aspect-ratio:.82}.about-copy{padding:48px 0 0}.about-copy h2{font-size:clamp(44px,8vw,65px);margin:35px 0}.about-copy>p{font-size:16px}.profile-facts{grid-template-columns:repeat(3,1fr);gap:12px}.profile-facts strong{font-size:11px}.skills-grid{grid-template-columns:1fr}.skill-panel{min-height:340px;padding:26px}.skill-panel h3{font-size:44px;margin-top:32px}.principles-section h2{font-size:61px;margin:48px 0}.principle{grid-template-columns:34px 1fr;gap:13px}.principle h3{font-size:30px}.principle p{grid-column:2;font-size:15px}.contact-page{min-height:100svh;padding:150px 0 70px}.contact-page h1{font-size:clamp(74px,13vw,115px);margin-top:65px}.contact-sup>span{display:none}.contact-page-grid{display:block;margin-top:54px;padding-top:35px}.contact-page-grid>p{font-size:17px;margin-bottom:55px}.giant-email{font-size:36px}.contact-socials{margin-top:60px;font-size:10px;gap:19px}.motion-control{right:13px;bottom:13px;padding:9px 12px}.cursor{display:none}}
@media(max-width:400px){.hero-title>span{font-size:clamp(42px,10.6vw,53px)}.hero-bottom{bottom:105px}.hero-bottom>p{font-size:14px}.hero-actions .pill{gap:8px;padding:12px 12px}.hero-art{right:-37%;width:115%}.statement{font-size:40px}.stripe-link>span{font-size:47px}.page-intro h1{font-size:65px}.detail-intro h1{font-size:58px}.profile-facts{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
.motion-off *, .motion-off *::before,.motion-off *::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.motion-off .reveal{opacity:1;transform:none}.motion-off .cursor,.motion-off #webgl-stage{display:none}.motion-off .marquee>div{animation:none}.motion-off .page-curtain{display:none}
/* Le mot « pluridisciplinaire » reste sur une ligne sans débordement mobile. */
@media(max-width:760px){.capabilities .section-heading h2{font-size:clamp(36px,9.3vw,70px)}}
/* Robustesse des grilles et des très petits écrans. */
.now-grid > *, .skills-grid > *, .capability-item > *, .education-layout > *{min-width:0}
.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1000px) and (min-width:761px){.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-panel:last-child{grid-column:1/-1;min-height:300px}}
@media(max-width:760px){.skills-grid{grid-template-columns:minmax(0,1fr)}.skill-panel:last-child{grid-column:auto}.hero-bottom>p{width:100%}.capability-item{grid-template-columns:38px minmax(0,1fr) 34px}.capability-item h3{overflow-wrap:anywhere}.now-right,.now-stamp,.skill-panel{min-width:0}.skill-panel h3{overflow-wrap:anywhere}}
@media(max-width:350px){.now-grid h2{font-size:70px}.now-stamp>span{font-size:50px}.now-stamp strong{font-size:12px}.now-header>span{font-size:8px}.capability-item h3{font-size:34px}.capability-item{grid-template-columns:27px minmax(0,1fr) 27px;gap:8px}.capability-icon{width:27px;height:27px}.experience-main h2{font-size:55px}.about-copy h2{font-size:43px}}
@media(max-width:760px){.experience-main h2{overflow-wrap:anywhere}}
