@font-face{font-family:Interphases;src:url('assets/interphases-regular.woff2')}@font-face{font-family:Interphases;src:url('assets/interphases-bold.woff2');font-weight:700}@font-face{font-family:Ramillas;src:url('assets/ramillas-bolditalic.woff2');font-style:italic;font-weight:700}
:root{--ink:#191919;--paper:#eeeae3;--white:#fff;--acid:#d9ff48;--line:rgba(25,25,25,.22);--pad:clamp(20px,4vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Interphases,Arial,sans-serif;font-size:16px;line-height:1.45}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button{font:inherit}
.site-header{position:fixed;z-index:20;top:0;left:0;width:100%;height:84px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;background:rgba(238,234,227,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;color:var(--ink)}.logo-impact{display:flex;align-items:baseline;font-size:2.25rem;font-weight:700;line-height:.75;letter-spacing:-.11em}.logo-impact b{font-weight:700}.logo-a{position:relative;display:inline-block;font-weight:700}.logo-a svg{position:absolute;left:50%;top:51%;width:.68em;height:.68em;transform:translate(-50%,-50%);fill:var(--paper)}.site-header nav{display:flex;align-items:center;gap:clamp(22px,3vw,52px);font-size:.83rem;text-transform:uppercase;letter-spacing:.08em}.site-header nav a{transition:opacity .2s}.site-header nav a:hover{opacity:.5}.nav-cta{border-bottom:1px solid}.menu-toggle{display:none;border:0;background:none;text-transform:uppercase;font-size:.8rem}
.hero{min-height:100svh;padding:140px var(--pad) 0;display:flex;flex-direction:column;overflow:hidden}.eyebrow,.kicker{font-size:.75rem;text-transform:uppercase;letter-spacing:.15em}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow span{width:8px;height:8px;background:#e53b2f;border-radius:50%}.hero h1,.section h2,.contact h2{margin:auto 0 40px;font-size:clamp(4.3rem,10.6vw,10.5rem);line-height:.79;letter-spacing:-.065em;font-weight:700}.hero h1 em,.section h2 em,.statement-copy em,.contact h2 em{font-family:Ramillas,Georgia,serif;font-weight:700}.hero-bottom{display:flex;justify-content:flex-end;align-items:flex-end;gap:10vw;margin-bottom:52px}.hero-bottom p{max-width:480px;font-size:clamp(1.15rem,1.6vw,1.55rem);margin:0}.circle-link{border:1px solid var(--ink);border-radius:50%;width:60px;height:60px;display:grid;place-items:center;font-size:1.4rem;transition:.25s}.circle-link:hover{background:var(--ink);color:var(--paper);transform:translateY(4px)}
.ticker{margin-left:calc(var(--pad)*-1);width:calc(100% + var(--pad)*2);background:var(--ink);color:var(--paper);padding:13px 0;white-space:nowrap;overflow:hidden;text-transform:uppercase;font-size:.74rem;letter-spacing:.14em}.ticker span{display:inline-block;padding-left:100%;animation:ticker 28s linear infinite}@keyframes ticker{to{transform:translateX(-100%)}}
.section{padding:clamp(80px,11vw,170px) var(--pad)}.section-head{display:grid;grid-template-columns:1fr 3fr;align-items:start;margin-bottom:clamp(50px,7vw,100px)}.section-head h2{font-size:clamp(3.2rem,7vw,7.3rem);line-height:.89;margin:0}.kicker{margin:12px 0 0}.work .section-head{margin-bottom:clamp(45px,6vw,85px)}.work-projects{border-top:1px solid var(--ink)}.work-grid{display:block}.work-project{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.13fr);gap:clamp(36px,7vw,120px);padding:clamp(32px,4vw,60px) 0;border-bottom:1px solid var(--line);align-items:start}.work-project header{display:grid;grid-template-columns:42px minmax(0,1fr);gap:clamp(15px,2vw,32px);align-items:start;padding-top:6px}.work-project header>span{font-size:.8rem;opacity:.55;padding-top:8px}.work-project h3{margin:0;max-width:620px;font-size:clamp(2rem,3.2vw,4.1rem);line-height:1.04;letter-spacing:-.045em;text-align:left}.work-project h3 em{display:block;margin-top:18px;font-family:Interphases,Arial,sans-serif;font-size:clamp(.82rem,1vw,1rem);font-style:normal;font-weight:400;letter-spacing:.02em;line-height:1.3;opacity:.6}.work-project figure{margin:0;min-width:0}.work-project figure img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:var(--ink)}.work-project .portrait-thumb img{object-fit:contain}.work-project figcaption{padding-top:12px;text-align:left;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;opacity:.62}
.statement{background:var(--ink);color:var(--paper)}.statement .kicker{color:var(--acid)}.statement-copy{font-size:clamp(3rem,6.9vw,7rem);letter-spacing:-.05em;line-height:.98;max-width:1300px;margin:80px 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,140px);margin-left:35%;font-size:clamp(1rem,1.35vw,1.3rem)}.about-grid p{margin:0}
.services{background:var(--white)}.services-title{margin-bottom:40px}.service-list{border-top:1px solid var(--ink)}.service-row{display:grid;grid-template-columns:70px 1fr 1fr;align-items:center;gap:30px;padding:25px 0;border-bottom:1px solid var(--line);transition:padding .25s,background .25s}.service-row:hover{padding-left:16px;background:var(--paper)}.service-row span{font-size:.72rem;opacity:.5}.service-row h3{font-size:clamp(1.3rem,2.5vw,2.5rem);letter-spacing:-.035em;margin:0}.service-row p{margin:0;max-width:420px;opacity:.68}
.contact{background:var(--ink);color:var(--paper);padding-bottom:35px}.kicker.light{color:var(--acid)}.contact h2{font-size:clamp(5rem,12vw,12rem);margin:70px 0}.contact-actions{display:flex;justify-content:space-between;align-items:center;padding-bottom:90px}.primary-button{background:var(--acid);color:var(--ink);padding:22px 26px;min-width:min(100%,420px);display:flex;justify-content:space-between;font-weight:700}.contact-actions>a:last-child{border-bottom:1px solid}.contact footer{border-top:1px solid rgba(255,255,255,.25);padding-top:28px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end}.contact footer p{margin:0;font-size:.76rem}.contact footer p:last-child{text-align:right}.footer-brand{color:var(--paper)}.footer-brand .logo-impact{font-size:2.65rem}.footer-brand .logo-a svg{fill:var(--ink)}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .75s,transform .75s}.reveal.visible{opacity:1;transform:none}
.project-video{display:block;position:relative;background:var(--ink);overflow:hidden}.project-video img{transition:transform .35s ease}.project-video:hover img,.project-video:focus-visible img{transform:scale(1.025)}.play-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;display:grid;place-items:center;padding-left:4px;background:var(--acid);color:var(--ink);font-size:1.2rem;box-shadow:0 4px 24px rgba(0,0,0,.25)}.project-video:focus-visible{outline:3px solid var(--acid);outline-offset:4px}
.work-project .portrait-thumb{width:min(100%,340px);margin-left:auto}.work-project .portrait-thumb img{aspect-ratio:9/16;object-fit:contain}.work-project:nth-child(2) .project-video{background:#123f3d}.work-project:nth-child(3) .project-video{background:#e3eceb}
.work-project .portrait-still{width:min(100%,400px);margin-left:auto}.work-project .portrait-still img{aspect-ratio:4/5;object-fit:cover}
@media(max-width:760px){.site-header{height:68px}.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:68px;left:0;width:100%;background:var(--paper);padding:24px var(--pad) 30px;flex-direction:column;align-items:flex-start;border-bottom:1px solid}.site-header nav.open{display:flex}.hero{padding-top:110px;min-height:92svh}.hero h1{font-size:clamp(4rem,19vw,6.8rem);margin:80px 0 50px}.hero-bottom{justify-content:space-between;gap:24px}.hero-bottom p{font-size:1rem;max-width:260px}.circle-link{width:52px;height:52px;flex:0 0 52px}.section-head{grid-template-columns:1fr;gap:35px}.work-project{grid-template-columns:1fr;gap:25px;padding:30px 0 38px}.work-project header{grid-template-columns:28px 1fr;gap:12px;padding-top:0}.work-project h3{font-size:clamp(1.7rem,7vw,2.7rem)}.work-project h3 em{margin-top:10px}.statement-copy{margin:60px 0}.about-grid{grid-template-columns:1fr;margin-left:0}.service-row{grid-template-columns:38px 1fr;padding:22px 0}.service-row p{grid-column:2}.contact-actions{align-items:flex-start;flex-direction:column;gap:35px}.contact footer{grid-template-columns:1fr 1fr;gap:30px}.contact footer p:last-child{text-align:left;grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker span{animation:none}.reveal{opacity:1;transform:none}.project-video img{transition:none}}
@media(max-width:760px){.work-project .portrait-thumb{margin-left:40px;width:min(calc(100% - 40px),340px)}}
@media(max-width:760px){.work-project .portrait-still{margin-left:40px;width:min(calc(100% - 40px),400px)}}

.project-video.playing{aspect-ratio:9/16}.portrait-still .project-video.playing{aspect-ratio:4/5}.vimeo-player{display:block;width:100%;height:100%;border:0}.vimeo-fallback{display:inline-block;margin-top:8px;font-size:.75rem;text-decoration:underline;text-underline-offset:3px;opacity:.7}.vimeo-fallback:hover{opacity:1}
