/* Editorial refinement: unified surfaces, legible layers and restrained motion. */
body{--radius:18px;--ease:cubic-bezier(.22,1,.36,1)}
.wrap{max-width:1380px;padding-inline:6%}
.hero{min-height:680px;gap:8%;padding-block:80px 88px}
.hero h1{font-size:clamp(48px,6.5vw,88px);letter-spacing:-.055em;line-height:1.04;max-width:770px}
.hero .intro{font-size:17px;line-height:1.8;max-width:490px}
.hero .eyebrow{max-width:430px;line-height:1.8}
.hero-name{font-size:17px;margin-bottom:15px}
.hero .actions{gap:14px}.hero .hero-cv{flex-basis:100%;margin-top:3px;justify-content:flex-start}
.hero .portrait{max-width:360px}.mixed .portrait .portrait-switch img{aspect-ratio:1;object-fit:contain;transform:none;box-shadow:none}
.mixed .portrait .portrait-switch img.portrait-back{object-fit:cover}
.mixed .portrait .portrait-switch img:not(.portrait-back){transform:none}
.mixed .portrait.show-camera .portrait-switch img:not(.portrait-back){transform:translate(-10px,-18px) rotate(-5deg) scale(.95)}
.portrait-switch{box-shadow:0 22px 60px #0002;border:1px solid color-mix(in srgb,var(--ink) 15%,transparent);border-radius:18px}
.mixed .portrait-tag{bottom:-22px;right:-12px;left:auto;padding:15px 22px;border-radius:12px;box-shadow:0 14px 40px #0002}
.side-caption{margin-top:48px;letter-spacing:1.2px;line-height:1.6}
.ticker{font-size:10px;letter-spacing:1.4px;padding-block:13px}
section{padding-block:100px}.sectionhead{margin-bottom:42px;gap:50px}.sectionhead h2{letter-spacing:-.045em;line-height:1.09}
.sectionhead p{line-height:1.8;font-size:15px;max-width:340px}
.project{border-radius:var(--radius);background:var(--bg);box-shadow:0 4px 20px #00000005}
.project-cover{height:300px;border-radius:0;padding:32px}
.project-body{padding:30px}.project h3{font-size:25px;line-height:1.25;font-weight:500}.project p{font-size:14px;line-height:1.8}
.project .case-btn{padding-top:15px;min-height:48px}
.cover-video{background:#182d26}.cover-ten{background:#20332e}
.cover-tools{background:#e2e4d9}.project-cover small{position:relative;z-index:2}
.project-cover .project-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.33;transform:scale(1.015);transition:opacity .6s,transform .9s var(--ease)}
.project-cover:has(.project-art):before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b1918dc,#0b19182a);z-index:1}
.project-cover:has(.project-art) .big,.project-cover:has(.project-art) .cover-caption{position:relative;z-index:2}
.project:hover .project-art{opacity:.48;transform:scale(1.045)}
.cover-video:after{z-index:3;width:64px;height:64px;right:28px;top:auto;bottom:28px;font-size:20px;backdrop-filter:blur(8px)}
.case-library{margin-top:40px}.case-detail{padding-block:20px}.case-detail p{font-size:14px;line-height:1.8}
.youtube-section{border-radius:24px;padding:65px 40px 40px;margin-block:20px}.yt-card{border-radius:14px;overflow:hidden}.yt-title{font-size:16px;line-height:1.5}
.tenorshare-section{padding-block:90px}.tenor-stage{border-radius:22px}.tenor-surface{border-radius:22px}.tenor-frame{border-radius:15px}
.service-row{padding-block:34px}.service-row h3{font-size:27px;letter-spacing:-.7px}.service-row p{font-size:15px;line-height:1.8}
.about{padding-block:90px}.about-grid{gap:10%}.about h2{letter-spacing:-.045em}.about p{line-height:1.85}
.behind-camera{max-width:390px;margin-block:28px}.behind-camera img{aspect-ratio:3/4;object-fit:contain;border-radius:18px}
.timeline details{padding-block:20px}.timeline summary{line-height:1.65}.tools{line-height:2;font-size:12px}
.contact{padding-block:95px}.contact-grid{grid-template-columns:1fr;max-width:980px}.contact h2{font-size:clamp(48px,6.3vw,86px);letter-spacing:-.045em;line-height:1.06}
.contact-copy{font-size:17px!important;line-height:1.85;max-width:610px}.email-row{margin-top:28px}.contact .email-link{font-size:clamp(19px,3vw,34px)}
.contact .socials{margin-top:30px;gap:26px}.contact:before{opacity:.25}
@media(prefers-color-scheme:dark){body{--bg:#131c18;--panel:#1a2720;--soft:#b9c3bb;--line:#34443a}.project{background:#18231d}.project-body{background:linear-gradient(130deg,#1c2a22,#17221c)}.cover-tools{background:#cdd4c5}.tenorshare-section{background:#18271f}}
@media(min-width:1000px) and (prefers-reduced-motion:no-preference){.hero>div:first-child{animation:editorial-arrive .9s var(--ease) both}.hero>div:nth-child(2){animation:editorial-arrive 1.2s var(--ease) both}@keyframes editorial-arrive{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:1000px){.hero{gap:6%}.hero h1{font-size:clamp(44px,6.3vw,68px)}.project-cover{height:270px;padding:25px}.youtube-section{padding-inline:28px}}
@media(max-width:760px){.wrap{padding-inline:6%}.hero{padding-block:32px 54px;gap:30px;min-height:auto}.hero h1{font-size:clamp(43px,10.9vw,68px);margin-block:23px;line-height:1.04}.hero .intro{font-size:15px;line-height:1.8}.hero .portrait{max-width:300px;margin-top:10px}.hero .actions{display:flex;flex-wrap:wrap}.hero .actions .btn{font-size:12px;flex:1;padding:13px 16px;justify-content:space-between}.hero .hero-cv{justify-content:flex-start}.hero-name{font-size:15px}.hero-foot{margin-top:27px}.side-caption{margin-top:42px;font-size:9px}.mixed .portrait-tag{right:-6px;bottom:-18px;padding:12px 18px}.sectionhead{gap:18px;margin-bottom:28px}.sectionhead p{font-size:14px}.project-cover{height:245px;padding:23px}.project-body{padding:24px}.project h3{font-size:23px}.project p{font-size:14px}.projects{gap:22px}.youtube-section{border-radius:18px;padding:37px 20px 27px;margin-block:10px}.yt-heading h2{font-size:40px}.yt-toolbar{flex-wrap:wrap}.yt-toolbar>span{max-width:none}.yt-toggle{min-height:44px}.tenorshare-section,.about,.contact,section{padding-block:58px}.tenor-stage{min-height:390px}.service-row{padding-block:27px}.service-row h3{font-size:24px}.service-row p{font-size:14px}.behind-camera{max-width:350px;margin-inline:auto}.contact h2{font-size:clamp(43px,11vw,65px)}.contact-copy{font-size:15px!important}.contact .email-row{flex-wrap:wrap;gap:12px}.contact .email-link{font-size:clamp(17px,4.5vw,26px)}.copy-email{min-height:44px;font-size:12px}.contact .socials{gap:22px}.contact-grid{gap:20px}.contact .socials a{padding-block:8px}}
@media(prefers-reduced-motion:reduce){.project-art{transition:none!important;transform:none!important}.hero>div{animation:none!important}}
.hero-socials{display:flex;gap:22px;margin-top:18px;font-size:12px;color:var(--soft)}.hero-socials a,.personal-link{text-decoration:underline;text-underline-offset:5px}.hero-socials a:hover,.personal-link:hover{color:var(--accent)}.personal-link{display:inline-block;font-size:12px;margin-top:12px}.case-full-link{display:block!important;margin-top:12px;font-weight:600}.hero-foot{line-height:1.6;flex-wrap:wrap}.hero{min-height:740px}.tenor-story a.btn{display:inline-flex}
@media(max-width:760px){.hero{min-height:auto}.hero-foot{gap:9px 16px;font-size:10px}.hero-socials{margin-top:12px}.personal-link{min-height:44px;display:flex;align-items:center}}
/* Keep the signature legible after its entrance. */
.wordmark{display:inline-flex;align-items:center;gap:6px;overflow:visible}.wordmark .logo-letters,.wordmark i{position:static;opacity:1;transform:none;clip-path:none;animation:none}.wordmark .logo-letters{display:inline-block}.wordmark i{margin:0}
@media(prefers-reduced-motion:no-preference){.wordmark .logo-letters{animation:signature-intro .8s cubic-bezier(.22,1,.36,1) both}@keyframes signature-intro{from{opacity:0;transform:translateX(9px)}to{opacity:1;transform:translateX(0)}}}
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;max-width:none;gap:7%}.contact-grid>.brief{order:2;padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.brief label{display:block;margin:16px 0;font-size:13px}.brief textarea{display:block;width:100%;padding:14px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:8px;resize:vertical}.form-status{font-size:13px}.contact h2{font-size:clamp(44px,5vw,68px)}
.ticker{overflow:hidden;display:block}.ticker-track{display:flex;width:max-content;gap:0;animation:ticker-continuous 55s linear infinite}.ticker-group{display:flex;flex-shrink:0;gap:36px;padding-right:36px;white-space:nowrap}@keyframes ticker-continuous{to{transform:translateX(-50%)}}
.editorial-stage{height:420px;max-width:480px!important;perspective:1000px}.editorial-stage:before{display:none}.editorial-frame{position:absolute;border:1px solid #a9b6a080;border-radius:16px;overflow:hidden;background:#21392b;box-shadow:0 20px 60px #0003}.frame-back{inset:10px 25px 130px -25px;transform:rotate(-7deg)}.frame-front{inset:0 0 120px 0;animation:frame-float 7s ease-in-out infinite}.editorial-stage .frame-front img{width:100%;height:100%;object-fit:cover;aspect-ratio:auto;border-radius:0;opacity:.8}.frame-front span{position:absolute;bottom:0;left:0;right:0;padding:15px;background:#101b18cc;color:#efeee4;font-size:9px;letter-spacing:1px}.audio-wave{position:absolute;left:-30px;right:15px;bottom:63px;height:90px;display:flex;align-items:center;justify-content:space-around;padding:20px;background:#17281ee8;border:1px solid #81927880;border-radius:12px}.audio-wave i{width:3px;height:70%;background:#b7cfa2;animation:wave 1.4s ease-in-out infinite alternate;animation-delay:calc(var(--n)*-0.13s)}.edit-timeline{position:absolute;left:0;right:-20px;bottom:0;height:70px;padding:14px;background:#213329;border:1px solid #81927880;border-radius:12px;overflow:hidden}.edit-timeline span{display:block;width:85%;height:8px;margin:4px;background:linear-gradient(90deg,#ed9e83 35%,#92b09c 35%)}.edit-timeline b{position:absolute;top:0;bottom:0;width:2px;background:#ed9e83;animation:playhead 6s linear infinite}@keyframes frame-float{50%{transform:translateY(-12px) rotate(2deg)}}@keyframes wave{to{transform:scaleY(.2)}}@keyframes playhead{from{left:5%}to{left:95%}}
@media(max-width:760px){.contact-grid{grid-template-columns:1fr}.editorial-stage{height:330px;width:90%;margin:30px auto!important}.frame-front{bottom:110px}.frame-back{bottom:120px}.audio-wave{left:-10px;height:70px}.edit-timeline{right:-10px}.tenor-surface.is-tracking{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))!important}}
@media(prefers-reduced-motion:reduce){.ticker-track,.frame-front,.audio-wave i,.edit-timeline b{animation:none!important}.ticker-track{width:100%;flex-wrap:wrap}.ticker-group{white-space:normal;flex-wrap:wrap}.ticker-group[aria-hidden]{display:none}}

body{overflow-x:clip}.ticker{max-width:100%;width:100%}
@media(max-width:760px){.reference-hero .hero-socials .hero-cv{min-height:44px;font-size:12px}}
.footer-legal{display:flex;gap:16px;align-items:center}.footer-legal a{text-underline-offset:3px}.privacy-brief{font-size:11px;line-height:1.6;color:var(--soft);margin:0 0 14px}.privacy-brief a{text-decoration:underline;text-underline-offset:3px}

/* Align footer text with the centres of the 44px link targets. */
.footer-inner{align-items:center}
@media(max-width:760px){
 .footer-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;row-gap:10px}
 .footer-inner>span{grid-column:1/-1}
 .footer-inner .footer-legal{grid-column:1;flex-wrap:wrap;gap:4px 16px}
 .footer-inner>a{grid-column:2;justify-self:end;white-space:nowrap}
}
