:root{--black:#000;--white:#fff;--gray:#525252;--line:rgba(0,0,0,.1);--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--black);font-family:Inter,Arial,sans-serif;cursor:none;overflow-x:hidden}a,button{color:inherit}a{text-decoration:none}button{font:inherit}::selection{background:#000;color:#fff}
.cursor{position:fixed;left:0;top:0;width:32px;height:32px;border:1px solid #000;border-radius:50%;background:#fff;mix-blend-mode:difference;pointer-events:none;z-index:9999;transform:translate3d(-100px,-100px,0);transition:width .6s var(--ease),height .6s var(--ease),margin .6s var(--ease)}.cursor.active{width:80px;height:80px;margin:-24px}
.site-header{position:fixed;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:24px 6vw;z-index:1000;color:#fff;mix-blend-mode:difference}.logo{font-size:24px;font-weight:700;letter-spacing:-.08em}.menu-toggle{position:relative;width:32px;height:32px;padding:0;border:0;background:none}.menu-toggle span{position:absolute;left:5px;top:15px;width:22px;height:1px;background:currentColor;transition:transform .7s var(--ease)}.menu-toggle span:last-child{transform:rotate(90deg)}.menu-toggle[aria-expanded=true] span:first-child{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:rotate(-45deg)}
.menu{position:fixed;inset:0;background:#0a0a0a;color:#fff;z-index:900;display:flex;justify-content:space-between;align-items:flex-end;padding:16vh 6vw 6vh;visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path 1s var(--ease),visibility 1s}.menu.open{visibility:visible;clip-path:inset(0)}.menu nav{display:flex;flex-direction:column}.menu nav a{font-size:clamp(54px,9vw,150px);font-weight:700;line-height:.84;letter-spacing:-.065em;transition:opacity .5s var(--ease)}.menu nav:hover a{opacity:.25}.menu nav a:hover{opacity:1}.menu sup{font-family:monospace;font-size:12px;letter-spacing:0;vertical-align:top;margin-left:10px}.menu>p{font-size:14px;line-height:1.5;color:#aaa}
.eyebrow,.project-count,.service>span,.footer-label{font-family:monospace;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.hero{min-height:100vh;padding:150px 6vw 6vh;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.hero>.eyebrow{text-align:center}.hero h1{display:flex;justify-content:center;margin:0;font-size:clamp(70px,14.2vw,230px);font-weight:700;line-height:.78;letter-spacing:-.075em}.hero h1 .letter-wrap{display:inline-block;overflow:hidden;padding-bottom:.1em}.hero h1 .letter{display:inline-block;transform:translateY(110%);animation:letter-in 1.2s var(--ease) forwards}.hero-foot{display:flex;align-items:flex-end;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px}.hero-foot p{margin:0;font-size:clamp(18px,1.6vw,25px);line-height:1.15;letter-spacing:-.04em}.round-link{width:58px;height:58px;border:1px solid var(--black);border-radius:50%;display:grid;place-items:center;transition:background .6s var(--ease),color .6s var(--ease),transform .6s var(--ease)}.round-link:hover{background:#000;color:#fff;transform:rotate(-45deg)}.round-link svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.4}
.reveal{opacity:0;transform:translateY(18px);animation:fade-in 1s var(--ease) .8s forwards}@keyframes letter-in{to{transform:translateY(0)}}@keyframes fade-in{to{opacity:1;transform:none}}
.marquee-section{overflow:hidden;padding:7vh 0 14vh}.marquee{display:flex;width:max-content;gap:18px;animation:scroll 30s linear infinite}.marquee:hover{animation-play-state:paused}.marquee-card{width:clamp(220px,23vw,380px);aspect-ratio:5/7;overflow:hidden;background:#eee}.marquee-card:nth-child(3n+1){border-radius:100px 0 0}.marquee-card:nth-child(3n+2){border-radius:0 100px 0 40px}.marquee-card:nth-child(3n){border-radius:40px}.marquee-card img,.project-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .7s var(--ease),transform .7s var(--ease)}.marquee-card:hover img,.project:hover img{filter:grayscale(0);transform:scale(1.05)}@keyframes scroll{to{transform:translateX(calc(-50% - 9px))}}
.statement{padding:16vh 6vw 20vh}.statement>.eyebrow{text-align:center;margin-bottom:8vh}.statement h2{font-size:clamp(42px,6.4vw,104px);line-height:.93;letter-spacing:-.06em;text-align:center;margin:0;font-weight:700}.statement h2 span{color:#737373}.statement-foot{display:grid;grid-template-columns:1fr 1fr;margin-top:11vh;gap:5vw}.statement-foot p{grid-column:2;margin:0;max-width:530px;font-size:clamp(18px,1.8vw,27px);line-height:1.35;letter-spacing:-.035em}.text-link{grid-column:2;width:max-content;margin-top:35px;border-bottom:1px solid;padding-bottom:7px;font-size:14px}.text-link span{display:inline-block;margin-left:12px;transition:transform .6s var(--ease)}.text-link:hover span{transform:translate(4px,-4px)}
.projects{padding:0 6vw 18vh}.section-heading{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:35px}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8vh 2.5vw}.project{min-width:0}.project-image{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:3px;background:#eee}.project-overlay{position:absolute;inset:0;background:rgba(0,0,0,.1);opacity:0;transition:opacity .7s var(--ease)}.project:hover .project-overlay{opacity:1}.project-arrow{position:absolute;right:18px;top:18px;width:48px;height:48px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:23px;opacity:0;transform:translate(-12px,12px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.project:hover .project-arrow{opacity:1;transform:none}.project-meta{display:grid;grid-template-columns:1fr auto auto;align-items:start;gap:24px;border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.project-title{font-size:23px;letter-spacing:-.04em}.project-category,.project-year{font-family:monospace;text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--gray);padding-top:5px}
.services{padding:4vh 6vw 20vh}.services>.eyebrow{margin-bottom:5vh}.service{display:grid;grid-template-columns:8vw 1fr 1fr;align-items:center;border-top:1px solid var(--line);padding:3vh 0}.service:last-child{border-bottom:1px solid var(--line)}.service h3{font-size:clamp(42px,6vw,90px);letter-spacing:-.06em;line-height:.9;margin:0}.service p{margin:0;color:var(--gray);font-size:14px;line-height:1.5}.observe-reveal{opacity:0;transform:translateY(40px);transition:opacity 1s var(--ease),transform 1s var(--ease)}.observe-reveal.visible{opacity:1;transform:none}
footer{background:#0a0a0a;color:#fff;padding:12vh 6vw 3vh}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr .65fr .8fr;gap:5vw;min-height:58vh}.footer-brand>p{font-size:14px;color:#999}.footer-brand h2{font-size:clamp(50px,6.7vw,105px);line-height:.84;letter-spacing:-.065em;margin:10vh 0 0}.footer-about p{font-size:17px;line-height:1.5;color:#aaa;margin:0;max-width:320px}.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-column a{border-bottom:1px solid transparent;transition:border-color .5s var(--ease)}.footer-column a:hover{border-color:#fff}.footer-column>p:not(.footer-label){font-size:13px;line-height:1.6;color:#888;margin-top:35px}.footer-label{color:#777;margin:0 0 20px}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;display:flex;justify-content:space-between;color:#777;font-size:12px}.footer-bottom p{margin:0}.footer-bottom a{color:#fff}
@media(max-width:750px){body{cursor:auto}.cursor{display:none}.site-header{padding:20px}.hero{padding:120px 20px 30px;min-height:90svh}.hero h1{font-size:20vw}.hero-foot p{font-size:17px}.marquee-section{padding:5vh 0 10vh}.marquee-card{width:64vw}.statement{padding:12vh 20px}.statement-foot{display:block;margin-top:8vh}.statement-foot p{font-size:20px}.projects{padding:0 20px 12vh}.project-grid{grid-template-columns:1fr;gap:8vh}.project-meta{grid-template-columns:1fr auto}.project-category{grid-row:2}.project-year{grid-column:2;grid-row:1}.services{padding:3vh 20px 12vh}.service{grid-template-columns:40px 1fr;padding:3vh 0}.service p{display:none}.footer-grid{grid-template-columns:1fr 1fr;min-height:auto;gap:10vh 25px}.footer-brand{grid-column:1/-1}.footer-brand h2{margin-top:6vh}.footer-about{grid-column:1/-1}.footer-bottom{margin-top:12vh;gap:10px;flex-wrap:wrap}.footer-bottom p:nth-child(2){display:none}.menu{padding:18vh 20px 5vh;display:block}.menu>p{position:absolute;bottom:5vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee{animation-play-state:paused}.hero h1 .letter,.reveal{animation:none;opacity:1;transform:none}.observe-reveal{opacity:1;transform:none}}
