@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
:root{--bg:#111110;--ink:#f5f3ec;--muted:#b4b3ab;--yellow:#ffd600;--line:#363630}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif;letter-spacing:-.025em}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img,video{display:block;width:100%;object-fit:cover}button,a,input,textarea,select{outline-offset:5px}a:focus-visible,button:focus-visible{outline:2px solid var(--yellow)}::selection{background:var(--yellow);color:#111}header{height:84px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--bg);position:relative;z-index:10}.logo{font-weight:900;font-size:29px;letter-spacing:-2px}.logo span{color:var(--yellow)}nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:600}nav a:hover{color:var(--yellow)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:17px 23px;background:var(--yellow);color:#111;font-size:13px;font-weight:700;border:1px solid var(--yellow);transition:background .2s}.button:hover{background:#ffe566;border-color:#ffe566}.button.outline{background:transparent;color:inherit;border-color:currentColor}.button.outline:hover{background:var(--ink);color:#111}.wrap{padding:0 4vw}.eyebrow{font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:600}.hero{padding:58px 4vw 40px}.hero-top{display:flex;justify-content:space-between;gap:20px;color:var(--muted)}h1{font-size:clamp(56px,8.8vw,140px);font-weight:500;line-height:.98;letter-spacing:-.075em;margin:34px 0}h1 em{font-style:normal;color:var(--yellow)}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px}.hero-bottom p{max-width:450px;font-size:16px;line-height:1.6;color:var(--muted);margin:0}.hero-media{margin:0 4vw;display:grid;grid-template-columns:1.25fr 1fr .72fr;gap:10px;height:480px}.hero-media a{position:relative;overflow:hidden}.hero-media img{height:100%;transition:transform .6s}.hero-media a:hover img{transform:scale(1.035)}.media-label{position:absolute;bottom:0;left:0;right:0;padding:50px 20px 20px;background:linear-gradient(transparent,#000a);font-size:12px}.media-label span{display:block;font-size:10px;margin-top:7px;color:#ddd}.section{padding:100px 4vw}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:45px}h2{font-size:clamp(38px,5vw,72px);line-height:1.05;letter-spacing:-.055em;font-weight:500;margin:18px 0 0}.section-head p{max-width:350px;color:var(--muted);line-height:1.7;font-size:14px}.projects{display:grid;grid-template-columns:1fr 1fr;gap:55px 24px}.project img{height:520px}.project:nth-child(2){padding-top:100px}.project-meta{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.project-meta h3{font-size:22px;font-weight:500;margin:0}.project-meta p{font-size:11px;color:var(--muted);margin:8px 0 0}.project:hover .project-meta{color:var(--yellow)}.light{background:var(--ink);color:#171714}.light .section-head p{color:#55554b}.services{border-top:1px solid #c8c7bf}.service{display:grid;grid-template-columns:.25fr 1fr 1fr;gap:30px;padding:35px 0;border-bottom:1px solid #c8c7bf}.service h3{font-weight:500;font-size:30px;letter-spacing:-.045em;margin:0}.service p{font-size:14px;line-height:1.7;margin:0;color:#53534b}.service small{display:block;margin-top:15px;font-size:11px;color:#636359}.approach{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.approach p{color:var(--muted);line-height:1.7;max-width:550px}.steps{margin-top:35px}.step{border-top:1px solid var(--line);padding:20px 0;display:grid;grid-template-columns:40px 1fr;gap:10px}.step b{color:var(--yellow);font-size:11px}.step h3{margin:0;font-size:19px;font-weight:500}.step p{font-size:13px;margin-bottom:0}.contact{background:var(--yellow);color:#151510}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact h2{font-size:clamp(46px,6vw,90px)}.contact p{line-height:1.6;max-width:400px}.contact a.email{display:inline-block;border-bottom:1px solid;margin:20px 0;font-size:20px}form{display:grid;grid-template-columns:1fr 1fr;gap:22px}label{display:block;font-size:11px}input,select,textarea{width:100%;padding:12px 0;background:transparent;color:#151510;border:0;border-bottom:1px solid #15151077;border-radius:0;margin-top:6px;font-size:14px}textarea{min-height:90px;resize:vertical}.full{grid-column:1/-1}form button{background:#111!important;color:#fff!important;cursor:pointer}form small{font-size:11px;line-height:1.6}footer{padding:35px 4vw;display:flex;justify-content:space-between;align-items:center;gap:20px}footer p{color:var(--muted);font-size:11px}.footer-links{display:flex;gap:20px;font-size:12px}.case-hero{padding:65px 4vw 55px}.case-hero h1{font-size:clamp(62px,10vw,140px)}.case-info{display:grid;grid-template-columns:1fr 1.7fr;gap:8vw;padding:60px 4vw}.case-info p{color:var(--muted);line-height:1.8}.case-info h2{font-size:36px}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 4vw 70px}.case-grid img{aspect-ratio:3/4}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0 4vw 70px}.video-grid video{aspect-ratio:9/16;background:#191919;object-fit:contain}.video-grid h3{font-size:16px;font-weight:500}.note{font-size:12px;color:var(--muted);line-height:1.7}.menu-button{display:none}.skip{position:absolute;left:-1000px}.skip:focus{left:10px;top:10px;z-index:100;background:#ffd600;color:#111;padding:12px}@media(max-width:760px){header{height:70px}.menu-button{display:block;background:none;border:1px solid #777;color:white;padding:8px 12px}nav{display:none;position:absolute;top:70px;left:0;right:0;background:#111;padding:25px;flex-direction:column;align-items:start}nav.open{display:flex}.hero{padding-top:35px}.hero-top .location{display:none}h1{font-size:58px}.hero-bottom{display:block}.hero-bottom .button{margin-top:25px}.hero-media{height:340px;grid-template-columns:1.3fr 1fr}.hero-media a:last-child{display:none}.section{padding:64px 5vw}.section-head,.hero-bottom{align-items:start}.section-head{display:block}.projects,.approach,.contact-grid,.case-info{grid-template-columns:1fr}.project:nth-child(2){padding-top:0}.project img{height:410px}.service{grid-template-columns:25px 1fr;gap:15px}.service p{grid-column:2}.service h3{font-size:26px}.contact-grid{gap:35px}.case-grid{grid-template-columns:1fr 1fr}.case-grid img:last-child{grid-column:1/-1;aspect-ratio:4/3}.video-grid{grid-template-columns:1fr}.video-grid video{max-height:650px}.case-info{gap:20px}footer{align-items:start;flex-direction:column}.section-head p{max-width:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.video-grid article:first-child{grid-column:1/-1}.video-grid article:first-child video{aspect-ratio:16/9;max-height:650px}.video-grid{grid-template-columns:1fr 1fr}@media(max-width:760px){.video-grid{grid-template-columns:1fr}}

/* Featured projects: native swipe and accessible navigation. */
.hero-media{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;height:490px;scroll-behavior:smooth}
.hero-media::-webkit-scrollbar{display:none}
.hero-media a{display:block!important;flex:0 0 65%;scroll-snap-align:start;min-width:0}
.hero-media a:last-child{margin-right:35%}
.carousel-controls{margin:18px 4vw 0;display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.12em;color:var(--muted)}
.carousel-controls>div{display:flex;gap:8px}.carousel-controls button{width:48px;height:42px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;font-size:22px}.carousel-controls button:hover{background:var(--yellow);color:#111;border-color:var(--yellow)}.carousel-controls button:disabled{opacity:.3;cursor:default;background:transparent;color:var(--muted)}
@media(max-width:760px){.hero-media{height:390px;gap:12px}.hero-media a{flex-basis:88%}.hero-media a:last-child{margin-right:12%}}
@media(prefers-reduced-motion:reduce){.hero-media{scroll-behavior:auto}}

.carousel-controls button{width:auto;min-width:88px;padding:0 14px;font-size:12px}
