:root{--bg:#f7f7f5;--paper:#fff;--ink:#111;--muted:#656565;--line:#d8d8d4;--pad:clamp(20px,4vw,64px);--max:1600px;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{display:block;width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
.shell{width:min(100%,var(--max));margin-inline:auto;padding-inline:var(--pad)}
.skip-link{position:fixed;left:16px;top:16px;z-index:50;padding:10px 14px;background:#111;color:#fff;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.hero{min-height:100svh;display:flex;align-items:center;padding-top:clamp(70px,9vw,130px);padding-bottom:clamp(70px,9vw,130px);overflow:hidden}
.hero-copy{width:100%;position:relative;z-index:1}
.hero h1{margin:0;font-size:clamp(64px,10.6vw,170px);line-height:.9;letter-spacing:0;text-transform:uppercase;font-weight:500;font-kerning:normal;white-space:nowrap}
.hero-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;margin-top:clamp(32px,4vw,58px);padding-top:22px;border-top:1px solid var(--line)}
.hero-role,.hero-location{margin:0;font-size:clamp(12px,1.05vw,18px);line-height:1.45;letter-spacing:.08em;text-transform:uppercase;font-weight:400}
.hero-location{color:var(--muted);text-align:right}
.hero-role span{padding-inline:.55em;color:#999}
.showreel{padding-top:clamp(70px,8vw,130px);padding-bottom:clamp(100px,12vw,190px);border-top:1px solid var(--line)}
.showreel h2{margin:0;font-size:clamp(52px,8vw,128px);line-height:.95;letter-spacing:-.03em;font-weight:500}
.showreel-play{display:grid;place-items:center;width:clamp(96px,11vw,160px);aspect-ratio:1;margin:clamp(70px,10vw,150px) auto 0;border:0;border-radius:50%;background:var(--ink);cursor:pointer;transition:transform .45s var(--ease),background-color .25s}
.showreel-play:hover{transform:scale(1.06);background:#333}
.showreel-play:focus-visible{outline:3px solid #0a66c2;outline-offset:6px}
.play-icon{width:0;height:0;margin-left:7%;border-top:clamp(12px,1.4vw,20px) solid transparent;border-bottom:clamp(12px,1.4vw,20px) solid transparent;border-left:clamp(20px,2.3vw,34px) solid #fff}
.about{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:clamp(50px,8vw,140px);align-items:center;padding-bottom:clamp(110px,14vw,220px)}
.about-copy h2,.contact-intro h2{margin:0 0 38px;font-size:clamp(46px,5.5vw,90px);line-height:1.02;letter-spacing:-.025em;font-weight:500}
.about-copy>p:not(.section-label){max-width:720px;font-size:clamp(16px,1.25vw,20px);line-height:1.62;margin:0 0 22px;color:#272727}.about-copy .about-emphasis{font-weight:500;color:var(--ink);font-size:clamp(18px,1.45vw,23px);line-height:1.5;margin-top:34px;margin-bottom:28px}
.about-media{margin:0;aspect-ratio:4/5;overflow:hidden;background:#eee}
.about-media img{height:100%;object-fit:cover;object-position:51% 50%}

.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.clients{border-top:1px solid var(--line);padding-top:clamp(70px,9vw,140px);padding-bottom:clamp(90px,12vw,180px)}
.clients .section-label{margin-bottom:clamp(24px,3vw,42px)}
.clients-list{max-width:1320px;margin:0;color:#303030;font-size:clamp(17px,1.55vw,25px);line-height:1.65;letter-spacing:-.018em}

.contact{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,8vw,150px);padding-top:clamp(80px,10vw,160px);padding-bottom:clamp(80px,10vw,150px)}
.contact-intro h2{margin-bottom:0}
.contact-grid{display:grid;grid-template-columns:1fr;gap:clamp(38px,4vw,62px);align-content:start;padding-top:5px}
.contact-item{padding-bottom:clamp(24px,3vw,42px);border-bottom:1px solid var(--line)}
.contact-item:last-child{padding-bottom:0;border-bottom:0}
.contact-value{display:inline-flex;align-items:center;gap:12px;font-size:clamp(20px,1.7vw,28px);line-height:1.25;letter-spacing:-.025em;border-bottom:1px solid transparent;transition:border-color .2s,opacity .2s}
.contact-value:hover{border-color:currentColor}
.linkedin-link{display:inline-block;line-height:0;transition:opacity .2s}
.linkedin-link:hover{opacity:.6}
.linkedin-icon{width:32px;height:32px;object-fit:contain}
.contact-kicker{margin-bottom:13px;color:var(--muted)}
.site-footer{min-height:100px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.site-footer nav{display:flex;gap:28px}
.reel-dialog{width:min(94vw,1400px);padding:0;border:0;background:#080808;color:#fff;box-shadow:0 30px 100px rgba(0,0,0,.45)}
.reel-dialog::backdrop{background:rgba(0,0,0,.84);backdrop-filter:blur(8px)}
.dialog-bar{height:58px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.16em}
.dialog-close{border:0;background:none;color:#fff;cursor:pointer;padding:12px}
.reel-dialog video{display:block;width:100%;max-height:calc(100vh - 100px);background:#000}
.legal{max-width:900px;padding-top:150px;padding-bottom:100px;min-height:calc(100vh - 100px)}
.legal h1{font-size:clamp(52px,8vw,100px);white-space:normal;margin-bottom:70px}
.legal h2{font-size:24px;margin-top:45px}
.legal p,.legal li{line-height:1.65;max-width:760px}
.legal a{text-decoration:underline;text-underline-offset:3px}
.back-link{display:inline-block;margin-bottom:35px;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(max-width:980px){.hero{min-height:82svh}.hero h1{white-space:normal}.about,.contact{grid-template-columns:1fr}.about-media{max-width:680px}.contact-grid{padding-top:0}}
@media(max-width:620px){.hero{min-height:72svh;padding-top:72px;padding-bottom:52px}.hero h1{font-size:clamp(58px,19vw,92px);line-height:.9;letter-spacing:0}.hero-meta{display:block}.hero-role{font-size:11px;line-height:1.8;letter-spacing:.1em}.hero-role span{padding-inline:.3em}.hero-location{margin-top:16px;text-align:left;font-size:10px}.showreel{padding-inline:var(--pad)}.about-media{margin-inline:calc(var(--pad)*-1);aspect-ratio:4/5}.contact-grid{grid-template-columns:1fr}.site-footer{align-items:flex-start;gap:24px;flex-direction:column;padding-top:35px;padding-bottom:35px}.site-footer nav{gap:18px}}
