:root{--paper:#f3f3ee;--ink:#0b0b0b;--accent:#b9ed00;--cobalt:#0050ec;--teal:#016064;--orange:#fe6d00;--muted:#60605c;--line:#cecec7;--gutter:max(clamp(22px,4vw,72px),env(safe-area-inset-left),env(safe-area-inset-right));--display:'Outfit','Arial Black',sans-serif;--body:'Inter Tight',Arial,sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}::selection{background:var(--accent);color:var(--ink)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #436000;outline-offset:6px}p,h1,h2,h3{margin:0}p{line-height:1.5}h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.055em;line-height:1.02}h2{font-size:clamp(44px,6.3vw,104px)}img{display:block;max-width:100%;height:auto}.section{padding:clamp(70px,9vw,150px) var(--gutter)}.label{display:block;font-size:13px;margin-bottom:28px}.outline{-webkit-text-stroke:1px var(--ink);color:transparent}.text-link{display:inline-flex;gap:28px;padding:10px 0;border-bottom:1px solid var(--ink);font-size:14px}.text-link span{transition:transform .25s}.text-link:hover span{transform:translate(3px,-3px)}.large-copy{font-size:clamp(24px,2.25vw,38px);line-height:1.2;letter-spacing:-.03em}.skip{position:fixed;top:12px;left:12px;z-index:20;background:var(--accent);padding:14px;transform:translateY(-150%)}.skip:focus{transform:none}
.masthead{position:absolute;top:0;left:0;width:100%;z-index:5;display:flex;align-items:center;gap:6vw;padding:24px var(--gutter)}.wordmark{position:relative;font-family:var(--display);font-size:32px;font-weight:800;line-height:.8;letter-spacing:-.06em}.wordmark span{position:absolute;top:-2px;right:-15px;font:12px var(--body)}.masthead-role{font-size:12px;line-height:1.3}.masthead nav{margin-left:auto;display:flex;align-items:center;gap:32px;font-size:13px}.nav-contact{padding:12px 20px;border:1px solid var(--ink);border-radius:30px}.nav-contact:hover{background:var(--accent)}
.hero{position:relative;min-height:700px;height:100svh;overflow:hidden;isolation:isolate;touch-action:pan-y;background:#000}.hero__paper,.hero__reveal{position:absolute;inset:0;width:100%;height:100%}.hero__video{position:absolute;left:50%;top:50%;width:var(--video-w,100%);height:auto;transform:translate(-50%,-50%);z-index:0;pointer-events:none}.hero__paper{z-index:1;background:var(--paper);display:grid;place-items:center}.hero__title{font-family:var(--display);font-weight:800;font-size:clamp(48px,11.7vw,180px);line-height:.9;letter-spacing:-.04em;white-space:nowrap;text-transform:uppercase;user-select:none}.hero.gl-on .hero__paper{background:transparent}.hero.gl-on .hero__title{color:transparent}.hero__reveal{z-index:2;pointer-events:none}.hero-top,.hero-bottom{position:absolute;left:var(--gutter);right:var(--gutter);z-index:3;display:flex;justify-content:space-between;pointer-events:none}.hero-top{top:145px}.hero-top>p{font-size:clamp(22px,2.3vw,38px);line-height:1.1;letter-spacing:-.035em}.hero-note{font-size:12px;line-height:1.4;align-self:flex-start;text-align:right}.hero-bottom{bottom:50px;align-items:flex-end}.hero-bottom>p{font-size:clamp(24px,2.8vw,46px);line-height:1.05;letter-spacing:-.04em}.hero-bottom strong{font-weight:500}.hero-actions{text-align:right;max-width:340px}.hero-actions button{pointer-events:auto;background:var(--accent);border:0;border-radius:40px;padding:17px 23px;cursor:pointer;font-size:13px}.hero-actions button span{margin-left:20px}.hero-actions>span{display:block;font-size:11px;margin-top:12px}#mediaStatus:empty{display:none}
.about{display:grid;grid-template-columns:1.15fr 1fr;column-gap:9%;row-gap:50px;border-top:1px solid var(--line)}.about-heading h2{font-size:clamp(48px,6vw,96px)}.portrait-wrap{position:relative;transform:rotate(3deg);align-self:start;margin-top:42px}.portrait-wrap img{width:100%;aspect-ratio:1/1.05;object-fit:cover;filter:grayscale(1)}.portrait-caption{display:block;font-size:12px;margin-top:14px}.about-copy{grid-column:1;max-width:520px;margin-top:-40px;display:grid;gap:24px}.about-copy>p:not(.large-copy){max-width:440px;font-size:16px;color:var(--muted)}.about-copy .text-link{justify-self:start}
.impact{padding-top:44px;padding-bottom:65px;display:grid;grid-template-columns:1fr .8fr 1.4fr 1fr;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.impact strong{display:block;font-family:var(--display);font-size:clamp(60px,7vw,112px);font-weight:500;letter-spacing:-.07em;line-height:1}.impact strong span{font-size:.5em}.impact p{font-size:13px;margin-top:18px;line-height:1.35}.impact .impact-note{font-size:clamp(22px,2.3vw,36px);line-height:1.12;letter-spacing:-.035em;align-self:center}.impact-note span{color:var(--muted)}
.section-heading>p{margin-top:26px;color:var(--muted);max-width:400px}.projects{margin-top:65px}.project{border-top:1px solid var(--line)}.project:last-child{border-bottom:1px solid var(--line)}.project summary{display:grid;grid-template-columns:1.3fr 1fr 40px;align-items:center;gap:30px;padding:28px 0;cursor:pointer;list-style:none}.project summary::-webkit-details-marker{display:none}.project-name{font-family:var(--display);font-size:clamp(29px,3.8vw,60px);letter-spacing:-.045em}.project-type{font-size:12px;color:var(--muted)}.project-plus{font-size:34px;text-align:right;font-weight:400;transition:transform .25s}.project[open] .project-plus{transform:rotate(45deg)}.project[open] .project-name{background:linear-gradient(transparent 65%,var(--accent) 65%) no-repeat 0 0/100% 100%;width:fit-content}.project-body{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;padding:15px 0 48px}.project-statement{font-size:clamp(24px,3vw,46px);line-height:1.14;letter-spacing:-.04em}.project-body>div{font-size:15px;max-width:430px;color:var(--muted)}.project-credit{display:block;margin-top:25px;font-size:11px}.project-body .text-link{margin-top:15px;color:var(--ink)}.portfolio-link{margin-top:30px}
.manifesto{padding-top:75px;border-top:1px solid var(--line)}.manifesto-intro h2{font-size:clamp(55px,9.2vw,148px)}.felt{display:inline-block;transform:rotate(-7deg);background:var(--accent);padding:0 16px 13px;line-height:1.1}.manifesto-intro>p{max-width:390px;color:var(--muted);margin:35px 0 60px;font-size:14px}.manifesto-stage{background:var(--accent);padding:clamp(24px,4vw,65px);position:relative}.manifesto-tabs{display:flex;gap:12px;flex-wrap:wrap;border-bottom:1px solid #749400;padding-bottom:25px}.manifesto-tabs button{background:none;border:1px solid transparent;border-radius:30px;padding:10px 18px;cursor:pointer;font-size:13px}.manifesto-tabs button[aria-selected=true]{border-color:var(--ink);background:var(--paper)}.conviction{position:relative;padding:45px 0 10px;min-height:440px}.conviction-count{position:absolute;right:0;top:48px;font-size:12px}.conviction h3{font-size:clamp(45px,7.5vw,115px);max-width:850px}.conviction p{max-width:365px;margin-top:35px;font-size:16px}.manifesto>.text-link{margin-top:28px}
.leadership{display:grid;grid-template-columns:.8fr 1fr;gap:11%;align-items:start}.leadership-photo{position:sticky;top:45px;transform:rotate(-3deg);margin-top:20px}.leadership-photo img{width:100%;filter:grayscale(1);aspect-ratio:.84;object-fit:cover}.leadership h2{font-size:clamp(40px,5vw,80px);margin-bottom:38px}.leadership .large-copy{margin-bottom:25px}.leadership p:not(.large-copy){color:var(--muted);max-width:500px;font-size:15px}.career{margin-top:38px}.career p{border-top:1px solid var(--line);padding:16px 0}.career span{display:block;font-size:11px;margin-bottom:7px}.career strong{display:block;color:var(--ink);font-weight:500;margin-top:3px}
.contact{border-top:1px solid var(--line);padding-bottom:50px}.contact h2{font-size:clamp(47px,8.5vw,135px)}.email{display:flex;align-items:center;justify-content:space-between;max-width:800px;font-size:clamp(23px,3.5vw,56px);letter-spacing:-.035em;padding:32px 0 20px;border-bottom:1px solid var(--ink);margin-top:20px}.email span{transition:transform .3s}.email:hover span{transform:translate(5px,-5px)}.contact-bottom{display:flex;justify-content:space-between;gap:30px;margin-top:80px;font-size:12px}.contact-bottom>div{display:flex;gap:26px}footer{display:flex;justify-content:space-between;gap:25px;padding:25px var(--gutter);border-top:1px solid var(--line);font-size:11px}.reveal{transition:opacity .9s,translate .9s}.js-motion .reveal:not(.in-view){opacity:0;translate:0 35px}
.hero.is-revealed .hero__reveal,.hero.is-revealed .hero__paper{opacity:0}.hero.is-revealed .hero__reveal{transition:opacity .65s}button:disabled{cursor:default}
.hero{min-height:720px}.hero-top{display:none}.hero__paper{display:block}.hero__title{position:absolute;top:50%;left:50%;width:max-content;max-width:calc(100% - 2 * var(--gutter));transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px}.hero__title span{display:block;width:max-content;max-width:100%;line-height:.88}.hero__title{--felt:min(25vw,33vh);gap:calc(var(--felt) * .0237)}.hero__title span:nth-child(1){font-size:calc(var(--felt) * .3788);letter-spacing:-.06em}.hero__title span:nth-child(2){font-size:calc(var(--felt) * .4545);letter-spacing:-.06em}.hero__title span:nth-child(3){font-size:var(--felt);letter-spacing:-.07em;line-height:.83}.hero .hero-bottom>p{font-size:clamp(16px,1.5vw,24px)}
@media(max-width:767px){.hero__title{--felt:29.5vw}.hero .hero-bottom>p{font-size:18px}}
@media(min-width:1600px){.section,footer,.masthead{padding-inline:max(var(--gutter),calc(50% - 1000px + var(--gutter)))}.hero-top{top:165px}}
@media(max-width:767px){.masthead{padding-top:24px;gap:20px}.masthead-role{display:none}.masthead nav{gap:18px;font-size:12px}.nav-contact{padding:10px 13px}.wordmark{font-size:28px}.hero{min-height:660px;max-height:950px}.hero-top{top:130px}.hero-note{max-width:130px;font-size:10px}.hero__title{font-size:10.6vw;line-height:1.02}.hero-bottom{bottom:34px;align-items:start;flex-direction:column;gap:25px}.hero-actions{text-align:left}.hero-bottom>p{font-size:30px}.hero-actions button{padding:14px 20px}.hero-actions>span{font-size:10px}.about{grid-template-columns:1fr;row-gap:35px}.about-heading h2{font-size:clamp(50px,10vw,74px)}.portrait-wrap{margin:10px 12px 0;max-width:470px;justify-self:center}.about-copy{grid-column:auto;margin-top:20px}.impact{grid-template-columns:1fr 1fr;gap:35px 20px}.impact strong{font-size:75px}.impact p{font-size:11px}.impact .impact-note{font-size:24px}.project summary{grid-template-columns:1fr 30px;gap:8px;padding:24px 0}.project-name{font-size:34px}.project-type{grid-column:1;grid-row:2;font-size:10px}.project-plus{grid-column:2;grid-row:1/3}.project-body{grid-template-columns:1fr;gap:20px;padding:12px 0 35px}.project-statement{font-size:29px}.manifesto-intro h2{font-size:clamp(55px,12vw,88px)}.manifesto-tabs{gap:3px}.manifesto-tabs button{padding:8px 11px;font-size:11px}.conviction{min-height:355px;padding-top:60px}.conviction-count{top:20px}.conviction h3{font-size:clamp(40px,8.5vw,65px)}.conviction p{font-size:14px;max-width:280px}.leadership{grid-template-columns:1fr;gap:50px}.leadership-photo{position:relative;top:0;margin-inline:12px;max-width:440px}.leadership h2{font-size:45px}.contact-bottom{flex-direction:column;gap:24px;margin-top:50px}.contact h2{font-size:clamp(44px,9.7vw,74px)}footer{flex-wrap:wrap}footer>span:nth-child(2){order:3;width:100%;color:var(--muted)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-motion .reveal:not(.in-view){opacity:1;translate:none}}

.masthead{z-index:auto;pointer-events:none}
.masthead>*{position:relative;z-index:5;pointer-events:auto}
/* Blend against the hero itself; a stacking context on the header traps the backdrop. */
.masthead-role,.masthead nav{color:#fff;mix-blend-mode:difference}
.masthead .nav-contact{border-color:currentColor}
.masthead .nav-contact:hover{color:var(--ink)}
/* Keep both supplied logos unblended, in one fixed box so switching cannot move the navigation. */
.masthead .wordmark{display:block;flex-shrink:0;width:clamp(86px,8vw,120px);aspect-ratio:1628/809;line-height:0}
.wordmark img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}
.wordmark-green{visibility:hidden}
.wordmark.on-dark .wordmark-blue{visibility:hidden}
.wordmark.on-dark .wordmark-green{visibility:visible}
.wordmark .wordmark-motion{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;overflow:hidden}
.wordmark.logo-motion-ready img{visibility:hidden}
.wordmark-motion .logo-paint-light{--monogram-color:#0050ec;--name-color:#b0ea01;--name-stroke:#0b0b0b}
.wordmark-motion .logo-paint-dark{--monogram-color:#b0ea01;--name-color:#fe6d00;--name-stroke:none}
.project-name{min-width:0;max-width:100%;overflow-wrap:anywhere}
.impact strong{font-variant-numeric:tabular-nums}

.cookie-banner{position:fixed;left:var(--gutter);right:var(--gutter);bottom:max(20px,env(safe-area-inset-bottom));z-index:100;max-width:640px;margin-inline:auto;display:flex;align-items:center;gap:24px;padding:18px 18px 18px 24px;background:var(--ink);color:var(--paper);border-radius:22px;font-size:13px}.cookie-banner[hidden]{display:none}.cookie-banner p{line-height:1.4}.cookie-banner div{display:flex;gap:8px;flex-shrink:0}.cookie-banner button{border:1px solid var(--paper);background:none;border-radius:30px;padding:11px 18px;cursor:pointer;font-size:13px;color:var(--paper)}.cookie-banner [data-cookie=granted]{background:var(--accent);border-color:var(--accent);color:var(--ink)}.cookie-banner button:focus-visible{outline-color:var(--accent);outline-offset:3px}.cookie-link{background:none;border:0;padding:0;cursor:pointer;font-size:inherit;text-decoration:underline;text-underline-offset:2px}
@media(max-width:767px){.cookie-banner{flex-direction:column;align-items:stretch;gap:14px;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));padding:18px}.cookie-banner div button{flex:1}}
footer{flex-wrap:wrap}.footer-credit{width:100%;order:4;opacity:.6}.footer-credit a{text-decoration:underline;text-underline-offset:2px}.footer-credit a:hover{opacity:1;color:var(--accent)}
footer :focus-visible{outline-color:var(--accent)}footer{padding-bottom:max(25px,env(safe-area-inset-bottom))}
.cookie-banner button{transition:background-color .2s,color .2s}.cookie-banner [data-cookie=denied]:hover{background:rgb(243 243 238 / .14)}.cookie-banner [data-cookie=granted]:hover{background:var(--paper);border-color:var(--paper)}
