@import url('/fonts.css');
:root{--ink:#080808;--paper:#fff;--line:#d5d5d5;--muted:#444;--space:clamp(28px,5vw,86px);--max:1440px;color-scheme:light;font-family:lato-light,lato,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #555;outline-offset:6px}img{display:block;max-width:100%;width:100%;height:auto}p{margin:0 0 1.35em;line-height:1.65;font-size:17px}h1,h2,h3,h4,h5,h6{font-family:montserrat,sans-serif;font-weight:400;line-height:1.15;margin:0 0 .7em;letter-spacing:-.035em}h1{font-size:clamp(38px,4.9vw,76px)}h2{font-size:clamp(32px,4.4vw,62px)}h3{font-size:22px;line-height:1.35;letter-spacing:-.025em}section{scroll-margin-top:85px}.section{max-width:var(--max);padding:80px var(--space);margin:auto}.site-header{min-height:76px;padding:15px var(--space);display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(255,255,255,.96);position:sticky;top:0;z-index:30;border-bottom:1px solid transparent;transition:border-color .25s,box-shadow .25s}.site-header.scrolled{border-color:#e9e9e9;box-shadow:0 4px 24px #00000005}.wordmark{display:inline-flex;gap:14px;align-items:center;white-space:nowrap;font-size:16px;letter-spacing:.025em}.brand-line{display:block;width:42px;height:1px;background:currentColor;transform:rotate(45deg);transform-origin:center;flex:none}.site-header nav{display:flex;gap:clamp(16px,2vw,34px);align-items:center;font-size:16px;letter-spacing:.035em}.site-header nav a{padding:12px 0;position:relative}.site-header nav a:after{content:'';position:absolute;bottom:5px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.site-header nav a:hover:after,.site-header nav a.active:after{transform:scaleX(1)}.menu-toggle{display:none}.hero{padding:34px var(--space) 38px;border-bottom:1px solid #999;max-width:var(--max);margin:auto}.hero h1{margin-bottom:14px}.hero-lines p{font-family:montserrat,sans-serif;font-size:clamp(17px,1.8vw,24px);line-height:1.45;margin:0;letter-spacing:-.02em}.hero-lines p:last-child{font-style:italic}.about{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:42px;padding-bottom:68px;align-items:start}.about-heading{text-align:center;padding:32px 0 28px}.about-heading p{font-family:montserrat,sans-serif;font-size:clamp(18px,1.6vw,22px);line-height:1.4;margin:0}.body-copy p{font-size:17px;line-height:1.7}.about-portrait img{aspect-ratio:478/494;object-fit:cover;object-position:center}.references{padding-top:32px;padding-bottom:48px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.eyebrow{text-align:center;letter-spacing:.08em}.eyebrow p{font-size:19px}.logos{display:grid;grid-template-columns:repeat(5,1fr);gap:0 3%;max-width:1040px;margin:auto}.logos img{aspect-ratio:1;object-fit:contain}.section-heading{text-align:center;max-width:1060px;margin:0 auto 48px}.section-heading p{font-size:18px;line-height:1.75;max-width:840px;margin:0 auto}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4%}.service img{aspect-ratio:1.55;object-fit:cover;margin-bottom:30px}.service p{font-size:17px;line-height:1.7}.service h3{min-height:60px;margin-bottom:22px}.text-button{display:flex;align-items:center;gap:60px;width:fit-content;border-bottom:1px solid var(--ink);padding:12px 0;margin:30px auto 0;font-size:17px}.text-button span{transition:transform .25s}.text-button:hover span{transform:translate(3px,-3px)}.portfolio{padding-top:50px}.portfolio h2{font-size:clamp(32px,4.5vw,64px)}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.project-card{display:block;position:relative;overflow:hidden;background:#101010;aspect-ratio:16/9;isolation:isolate}.project-card img{height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.6,.2,1),opacity .4s}.project-card span{position:absolute;bottom:0;left:0;right:0;padding:48px 25px 23px;color:white;font-family:montserrat,sans-serif;font-size:clamp(16px,1.65vw,24px);line-height:1.35;background:linear-gradient(transparent,#000b);text-wrap:balance;transition:padding .3s}.project-card:hover img{transform:scale(1.035)}.project-card:hover span{padding-bottom:30px}.press{padding-top:28px}.press-logos{max-width:980px;margin:0 auto 52px;display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.press-logos img{aspect-ratio:187/150;object-fit:contain}.press-videos{display:grid;grid-template-columns:1fr 1fr;gap:28px}.press-videos>div:last-child{grid-column:1/-1;width:76%;margin:0 auto}.video-frame,iframe,video{display:block;width:100%;aspect-ratio:16/9;border:0;background:#111}.video-frame{position:relative;overflow:hidden;padding:0}.video-frame img{width:100%;height:100%;object-fit:cover;filter:brightness(.83);transition:filter .3s,transform .5s}.video-frame:hover img{filter:brightness(1);transform:scale(1.015)}.play-icon{position:absolute;top:50%;left:50%;width:66px;height:66px;border-radius:50%;border:1px solid #fff9;background:#08080877;transform:translate(-50%,-50%);backdrop-filter:blur(8px)}.play-icon:after{content:'';position:absolute;left:27px;top:22px;border-left:17px solid white;border-top:11px solid transparent;border-bottom:11px solid transparent}.testimonials{padding-top:12px;padding-bottom:88px}.testimonials>.video-frame{max-width:1040px;margin:44px auto 0}.testimonials h2{margin:0}.reveal{opacity:1;transform:none}.motion-ready .reveal.pending{opacity:0;transform:translateY(20px)}.motion-ready .reveal{transition:opacity .65s ease,transform .65s cubic-bezier(.22,.61,.36,1)}footer{border-top:1px solid #b7b7b7;padding:40px var(--space) 26px;max-width:var(--max);margin:auto}.footer-brand{padding-bottom:42px}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;padding-bottom:64px}.contact-grid h2{font-size:32px}.contact-intro{font-size:19px;max-width:680px}.contact-details{padding-top:110px;font-size:18px;line-height:1.7;overflow-wrap:anywhere}.contact-details>a{border-bottom:1px solid #aaa}.contact-details p{margin:24px 0;font-size:18px}form{margin-top:32px;max-width:560px;display:grid;gap:12px}label{font-size:16px}input,textarea{width:100%;padding:12px 14px;border:1px solid #b9b9b9;border-radius:0;background:#fff;color:#111;font-size:18px;resize:vertical}form>button{margin-top:6px;border:1px solid #111;color:#fff;background:#111;padding:13px 32px;font-size:16px;justify-self:start;min-width:132px;transition:background .2s}form>button:hover{background:#333}.footer-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ddd;padding-top:25px;gap:20px;font-size:14px}.footer-bottom>div{display:flex;gap:24px}.footer-bottom p{font-size:14px;margin:0}.footer-bottom a:hover{text-decoration:underline}.project-page main{color:#fff;background:#0a0a0a}.project-hero img{width:100%;aspect-ratio:16/9;object-fit:cover}.project-body{max-width:1280px;padding-top:70px}.client-logos{display:flex;align-items:center;gap:42px;margin-bottom:55px}.client-logos img{width:auto;max-width:180px;max-height:65px;object-fit:contain}.project-copy-grid{display:grid;grid-template-columns:2.2fr 1fr;gap:9%;margin-bottom:70px}.project-copy-grid p{font-size:18px;line-height:1.8}.project-copy-grid aside p{font-size:16px;margin-bottom:10px}.project-copy-grid aside p:nth-child(odd){letter-spacing:.1em}.project-body h3{font-size:clamp(25px,3vw,42px);text-align:center;white-space:pre-line;max-width:900px;margin:0 auto 35px}.project-body .video-frame{margin:30px auto 60px}.legal-page,.article-page{max-width:1000px}.legal-page h1,.article-page h1{font-size:clamp(32px,4vw,52px)}.legal-page h2,.article-page h2{font-size:30px;margin-top:40px}.legal-page p,.article-page p{font-size:18px}.article-page img{margin:28px 0;object-fit:contain}.legacy-page{max-width:1100px}.legacy-page article{margin-bottom:55px}.legacy-page h1{font-size:40px}.legacy-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:40px}.legacy-links a{border-bottom:1px solid #aaa}.legacy-page img{max-height:600px;object-fit:contain}.legacy-page h2{font-size:30px}.legal-page a,.article-page a{text-decoration:underline}
@media(min-width:1600px){.site-header{padding-left:max(var(--space),calc((100vw - 1280px)/2));padding-right:max(var(--space),calc((100vw - 1280px)/2))}}
@media(max-width:1100px){.site-header nav{gap:15px;font-size:14px}.wordmark{font-size:14px}.brand-line{width:30px}.site-header{gap:15px}.section{padding-top:60px;padding-bottom:60px}.body-copy p{font-size:16px}.about{gap:6%;padding-top:32px}.about-heading{padding-top:12px}.services-grid{gap:26px}.service h3{font-size:20px}}
@media(max-width:900px){.site-header{height:72px;min-height:72px}.wordmark{font-size:16px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;width:44px;height:44px;background:none;border:0;padding:8px}.menu-toggle span{height:1px;width:28px;background:#111;transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;padding:22px var(--space) 32px;background:white;box-shadow:0 15px 24px #0001;gap:4px;align-items:stretch;font-size:19px}.site-header nav.open{display:flex;flex-direction:column}.site-header nav a{padding:10px}.services-grid{grid-template-columns:1fr}.service{display:grid;grid-template-columns:1fr 1fr;column-gap:30px;margin-bottom:20px}.service img{grid-column:1;grid-row:1/4;height:100%;max-height:360px;aspect-ratio:1.25}.service h3,.service p{grid-column:2}.service h3{min-height:0}.service p{font-size:16px}.contact-grid{gap:6%}.contact-details{font-size:16px}}
@media(max-width:700px){:root{--space:24px}html{scroll-padding-top:85px}.hero{padding-top:30px;padding-bottom:28px}.hero h1{font-size:clamp(33px,8vw,50px);letter-spacing:-.045em}.hero-lines p{font-size:16px;line-height:1.6}.about{grid-template-columns:1fr;padding-top:28px;gap:28px}.about-heading{text-align:left;padding:8px 0 18px}.about-heading h2{font-size:40px}.about-heading p{font-size:19px}.about-portrait{grid-row:2}.body-copy p{font-size:17px;line-height:1.7}.about-copy{display:contents}.about-heading{grid-row:1}.body-copy{grid-row:3}.about-portrait img{aspect-ratio:1.05;object-position:center 34%}.section{padding-top:48px;padding-bottom:48px}.references{padding-top:32px;padding-bottom:25px}.eyebrow p{font-size:15px;line-height:1.6}.logos{grid-template-columns:repeat(5,1fr);gap:0 8px;margin:0 -8px}.logos img{width:100%}.section-heading{text-align:left;margin-bottom:30px}.section-heading h2{font-size:36px;line-height:1.2}.section-heading p{font-size:17px}.service{display:block;margin-bottom:24px}.service img{aspect-ratio:1.6;height:auto;max-height:none;margin-bottom:22px}.service h3{font-size:23px;margin-bottom:18px}.service p{font-size:17px}.projects-grid{grid-template-columns:1fr;gap:20px}.project-card{aspect-ratio:1.55}.project-card span{font-size:19px;padding:45px 18px 19px}.portfolio{padding-top:15px}.press{padding-top:25px}.press-logos{gap:14px;margin-bottom:28px}.press-videos{grid-template-columns:1fr;gap:24px}.press-videos>div:last-child{width:100%;grid-column:auto}.testimonials{padding-top:16px}.testimonials h2{font-size:36px}.testimonials>.video-frame{margin-top:30px}.play-icon{width:56px;height:56px}.play-icon:after{left:23px;top:18px;border-left-width:15px;border-top-width:10px;border-bottom-width:10px}footer{padding-top:28px}.footer-brand{padding-bottom:30px}.contact-grid{grid-template-columns:1fr;gap:36px;padding-bottom:34px}.contact-details{padding-top:0;font-size:17px}.contact-details p{font-size:17px;margin:18px 0}.contact-intro{font-size:18px}.footer-bottom{display:block}.footer-bottom>div{flex-direction:column;gap:12px;margin-bottom:20px}.project-hero img{aspect-ratio:1.35}.project-body{padding-top:40px}.client-logos{gap:25px;margin-bottom:35px;flex-wrap:wrap}.client-logos img{max-width:140px;max-height:45px}.project-copy-grid{grid-template-columns:1fr;gap:22px;margin-bottom:40px}.project-copy-grid p{font-size:17px}.project-copy-grid aside{border-top:1px solid #444;padding-top:25px}.project-body h3{font-size:29px}.project-body .video-frame{margin-bottom:25px}.legal-page h2{font-size:27px}.article-page p,.legal-page p{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal.pending{opacity:1;transform:none}}
section{scroll-margin-top:0}p,li{overflow-wrap:break-word}
.project-hero img{aspect-ratio:16/9;object-fit:contain}
@media(max-width:700px){.project-card{aspect-ratio:16/9}}
.logos{gap:20px 3%}
@media(max-width:700px){.logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}}
form>button:disabled{cursor:wait;opacity:.65}
form[aria-busy=true]>button:after{content:'';display:inline-block;width:12px;height:12px;margin-left:12px;border:1px solid #fff6;border-top-color:#fff;border-radius:50%;animation:form-spin .7s linear infinite}
#form-status{font-size:16px;line-height:1.5;margin:8px 0 0}
#form-status[data-state=error]{color:#9f2424}
@keyframes form-spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.site-header nav{max-height:calc(100vh - 72px);max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain}.site-header nav a{min-height:44px}}
