:root{--ink:#101010;--cyan:#25c4e8;--muted:#686868;--line:#e5e5e5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:white;color:var(--ink);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #0099ba;outline-offset:6px}.skip{position:absolute;left:24px;top:-70px;padding:15px;background:var(--cyan);z-index:9}.skip:focus{top:10px}header{max-width:1600px;margin:auto;padding:35px 5%;display:flex;justify-content:space-between;align-items:center;gap:30px;border-bottom:1px solid var(--line)}.brand img{width:120px;height:48px;object-fit:contain}nav{display:flex;gap:32px;font-size:14px;font-weight:600}nav a{padding:10px 0}nav a:hover{color:#009bbb}.hero{max-width:1600px;margin:auto;padding:95px 5% 75px}.eyebrow{font-size:13px;letter-spacing:.04em;color:var(--muted);margin:0 0 25px}.hero h1{font-size:clamp(75px,13.8vw,205px);font-weight:550;letter-spacing:-.075em;line-height:1.02;margin:0 0 52px}.hero h1 span,.page-heading h1 span{color:var(--cyan)}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px}.hero-bottom p{font-size:20px;line-height:1.5;margin:0}.pill{display:inline-flex;align-items:center;gap:35px;border:1px solid;border-radius:60px;padding:19px 25px;font-size:14px;transition:background .2s}.pill:hover{background:var(--cyan);border-color:var(--cyan)}.pill span{font-size:22px}.work{max-width:1600px;margin:auto;padding:0 5% 70px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 30px}.project-card{min-width:0}.art{aspect-ratio:16/10;overflow:hidden;position:relative;background:#f1f1f1}.art img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.art:after{content:'';position:absolute;inset:0;background:var(--overlay);opacity:0;transition:opacity .3s}.card-arrow{position:absolute;right:28px;top:20px;font-size:60px;z-index:1;color:white;opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s}.project-card:hover .art:after{opacity:.72}.project-card:hover .art img{transform:scale(1.035)}.project-card:hover .card-arrow{opacity:1;transform:none}.card-caption{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding-top:19px}.card-caption h2{font-size:20px;font-weight:500;letter-spacing:-.025em;margin:0;line-height:1.3}.card-caption>span{color:#888}.section-end{padding:55px 0 5px;text-align:right}.text-link{font-size:17px;border-bottom:1px solid var(--cyan);padding-bottom:8px}.text-link:hover{color:#009bbb}.missing-art{height:100%;min-height:170px;display:grid;place-items:center;background:repeating-linear-gradient(135deg,#f3f3f3,#f3f3f3 20px,#ececec 20px,#ececec 21px);color:#666;font-size:13px;padding:20px}.page-heading{max-width:1600px;margin:auto;padding:85px 5% 75px}.page-heading h1{font-size:clamp(68px,9vw,130px);letter-spacing:-.065em;font-weight:500;line-height:1.05;margin:0 0 30px}.project-heading{max-width:1350px;padding:65px 5% 50px;margin:auto}.back{font-size:14px;color:var(--muted)}.project-heading h1{font-weight:500;font-size:clamp(38px,5.5vw,80px);letter-spacing:-.055em;line-height:1.08;margin:45px 0 0;max-width:1000px}.project-body{max-width:1350px;margin:auto;padding:0 5% 90px}.project-cover,.gallery-image{margin:0 0 38px}.project-cover img,.gallery-image img{display:block;width:100%;height:auto}.project-copy{max-width:740px;margin:65px auto;font-size:20px;line-height:1.75;letter-spacing:-.015em}.project-copy p{margin:0 0 25px}.project-meta{font-size:15px;color:var(--muted)}.lite-video{position:relative;aspect-ratio:16/9;background:#101010;overflow:hidden}.lite-video>img{width:100%;height:100%;object-fit:cover;opacity:.65}.lite-video iframe{position:absolute;inset:0;border:0;width:100%;height:100%}.play{position:absolute;inset:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;cursor:pointer;border:0;background:transparent;color:white;font-size:14px}.play>span:first-child{display:grid;place-items:center;border:1px solid #ffffffbb;border-radius:100%;width:85px;height:85px;font-size:25px;padding-left:5px;transition:background .2s}.play:hover>span:first-child{background:var(--cyan);color:var(--ink)}.video-link{display:block;text-align:right;color:var(--muted);font-size:13px;margin:15px 0 45px}.todo{border-left:3px solid #c77b00;background:#fff5df;color:#754900;padding:18px 22px;line-height:1.6;font-size:14px;max-width:850px;margin:30px 0}.archive-projects{padding-top:65px;border-top:1px solid var(--line);margin-top:65px}.archive-projects h2{font-size:20px;font-weight:500}.archive-projects a{display:inline-block;margin:12px 30px 0 0;border-bottom:1px solid var(--cyan)}.contact-intro{font-size:22px;line-height:1.5;max-width:550px;margin:40px 0}.contact-links{display:flex;gap:30px;margin:50px 0;font-size:20px}.contact-links a:hover{color:#009bbb}footer{background:#0a0a0a;color:#fff;padding:75px 5% 25px}.footer-top,.footer-bottom{max-width:1440px;margin:auto;display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.footer-top h2{font-size:clamp(38px,5vw,76px);letter-spacing:-.05em;line-height:1.05;font-weight:450;margin:0}.footer-top .text-link{color:var(--cyan);font-size:15px}.footer-bottom{margin-top:70px;border-top:1px solid #333;padding-top:25px;align-items:center;color:#aaa;font-size:12px}.footer-bottom p{margin-right:auto;line-height:1.5}.footer-bottom a:hover{color:var(--cyan)}@media(max-width:760px){header{padding:22px 6%;gap:20px;align-items:flex-start}.brand img{width:88px;height:35px}nav{gap:12px;flex-wrap:wrap;justify-content:flex-end;font-size:12px;max-width:235px}nav a{padding:5px 0}.hero{padding:65px 6% 50px}.eyebrow{font-size:11px;line-height:1.6}.hero h1{font-size:clamp(66px,14.7vw,112px);margin-bottom:32px}.hero-bottom{align-items:flex-start;flex-direction:column;gap:25px}.hero-bottom p{font-size:17px}.pill{padding:13px 20px;font-size:13px}.work{padding:0 6% 50px}.project-grid{grid-template-columns:1fr;gap:34px}.card-caption{padding-top:13px}.card-caption h2{font-size:19px}.page-heading{padding:60px 6% 45px}.page-heading h1{font-size:68px}.project-heading{padding:45px 6% 35px}.project-heading h1{margin-top:30px}.project-body{padding:0 6% 50px}.project-copy{font-size:17px;margin:35px auto}.play>span:first-child{width:60px;height:60px;font-size:20px}.contact-links{font-size:16px;gap:20px;flex-wrap:wrap}.footer-top,.footer-bottom{align-items:flex-start;flex-wrap:wrap}.footer-top{gap:35px}.footer-bottom{margin-top:45px;gap:20px}.footer-bottom p{width:100%;margin:0}.section-end{padding-top:35px}footer{padding:50px 6% 25px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* 2026 refresh: self-hosted typography, reel-led identity, understated motion. */
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url('/assets/space-grotesk.ttf') format('truetype')}
body{font-family:'Space Grotesk','Helvetica Neue',Helvetica,Arial,sans-serif}header{position:sticky;top:0;z-index:10;max-width:none;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);padding-top:18px;padding-bottom:18px}.brand img{height:37px;width:105px}nav{font-size:13px;letter-spacing:-.02em}.reel-hero{position:relative;background:#0a0a0a;color:white;height:min(850px,calc(100svh - 75px));min-height:560px;overflow:hidden}.reel-hero .lite-video{position:absolute;inset:0;aspect-ratio:auto;width:100%;height:100%;background:#0a0a0a}.reel-hero .lite-video>img{object-fit:cover;opacity:.6}.reel-hero .lite-video:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.22),transparent 50%,rgba(0,0,0,.65))}.reel-hero .play{padding-top:150px;z-index:2}.hero-titles{position:absolute;top:12%;left:5%;right:5%;pointer-events:none;z-index:3}.hero-titles .eyebrow{color:#fff;font-size:13px}.hero-titles h1{font-size:clamp(80px,13.5vw,210px);letter-spacing:-.075em;font-weight:500;line-height:1;margin:0}.hero-titles h1 span{color:var(--cyan)}.hero-caption{position:absolute;bottom:35px;left:5%;right:5%;display:flex;justify-content:space-between;gap:25px;font-size:12px;z-index:3;pointer-events:none}.reel-hero>.video-link{display:none}.reel-hero.is-playing .hero-titles,.reel-hero.is-playing .hero-caption{display:none}.reel-hero.is-playing .lite-video:after{display:none}.intro-statement{max-width:1600px;margin:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:45px;padding:110px 5% 100px}.intro-statement h2{font-size:clamp(36px,4.4vw,70px);font-weight:450;line-height:1.1;letter-spacing:-.055em;margin:0}.intro-statement h2 span{color:var(--cyan)}.intro-statement .text-link{white-space:nowrap}.art{aspect-ratio:16/10}.project-grid{gap:60px 34px}.card-caption h2{font-size:19px}.credits{border-top:1px solid var(--line);padding-top:25px;margin-top:45px}.credits h2{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:500;color:var(--muted);margin-bottom:20px}.project-meta{color:var(--ink);font-size:15px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}footer .footer-top{align-items:flex-end}footer:before{content:'';display:block;width:45px;height:4px;background:var(--cyan);margin:0 auto 40px 0}@media(max-width:760px){header{padding-top:16px;padding-bottom:16px}.brand img{width:88px;height:33px}.reel-hero{height:75svh;min-height:530px}.hero-titles{top:14%;left:6%;right:6%}.hero-titles .eyebrow{font-size:10px;max-width:260px}.hero-titles h1{font-size:clamp(65px,14vw,108px)}.hero-caption{left:6%;right:6%;font-size:10px;bottom:25px;flex-direction:column;gap:9px}.intro-statement{padding:65px 6%;align-items:flex-start;flex-direction:column;gap:30px}.intro-statement h2{font-size:38px}.project-grid{gap:35px}.reel-hero .play{padding-top:70px}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none!important}}
.footer-cta{display:flex;flex-direction:column;align-items:flex-start;gap:30px}.contact-cta{font-size:clamp(28px,4vw,55px);color:var(--cyan);letter-spacing:-.05em}.contact-cta:hover{color:white}

/* Project players: controls occupy their own strip, never poster artwork. */
.project-body .lite-video{overflow:visible;margin-bottom:0}
.project-body .lite-video>.play{inset:auto 0 0 auto;transform:translateY(100%);width:auto;min-width:170px;height:64px;padding:10px 18px;flex-direction:row;gap:12px;background:linear-gradient(100deg,#181818,#101010);color:#fff;z-index:2;border-radius:0 0 0 10px}
.project-body .lite-video>.play>span:first-child{width:34px;height:34px;font-size:12px;padding-left:2px;border-color:#ffffff66}
.project-body .lite-video+.video-link{min-height:64px;margin:0 190px 45px 0;display:flex;align-items:center;justify-content:flex-start;text-align:left}
@media(max-width:480px){.project-body .lite-video>.play{min-width:145px;padding:10px 12px;font-size:12px}.project-body .lite-video+.video-link{margin-right:160px;font-size:11px}}
#contact-form{max-width:680px;margin:45px 0}#contact-form label{display:block;font-size:14px;margin:25px 0 10px}#contact-form input,#contact-form textarea{width:100%;font:inherit;padding:15px;border:1px solid #bbb;border-radius:3px;background:white;color:var(--ink)}#contact-form input:focus,#contact-form textarea:focus{outline:2px solid #0099ba;outline-offset:2px}#contact-form textarea{resize:vertical}#contact-form .honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#turnstile-widget{margin:25px 0;min-height:65px;font-size:13px;color:var(--muted)}#contact-form button{cursor:pointer;background:white}#contact-form button:disabled{cursor:not-allowed;opacity:.5}#form-status{min-height:30px;font-size:14px;line-height:1.6;margin-top:20px}
