:root{color-scheme:dark;--bg:#0b0b0b;--text:#f1f0ec;--muted:#a2a29e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid white;outline-offset:6px}.skip{position:fixed;top:-80px;z-index:20;background:white;color:black;padding:12px}.skip:focus{top:12px}header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:23px 5%;background:rgba(11,11,11,.94);backdrop-filter:blur(15px)}.identity{font-size:23px;font-weight:700;letter-spacing:-1.5px}nav{display:flex;gap:36px}nav a,.eyebrow,.hero-top,.hero-bottom,.media-label,.media-foot,.client-heading,.text-link,.send{font-size:12px;text-transform:uppercase;letter-spacing:1.5px}nav a{font-size:14px}nav a:hover{color:var(--muted)}.menu{display:none}.hero{padding:56px 5% 0}.hero-top{display:flex;justify-content:space-between;font-size:14px}.hero-top span:first-child{font-weight:bold}h1{font-size:clamp(90px,16.2vw,270px);line-height:.82;letter-spacing:-.075em;margin:70px 0 40px;font-weight:600}h1>span{display:block}.role-second{margin-left:27%}.period{color:#777773}.hero-bottom{display:flex;justify-content:space-between;align-items:center;margin:48px 0 50px}.hero-bottom p{margin:0}.hero-bottom a span{margin-left:24px;font-size:24px}.placeholder{background:#181818;position:relative;overflow:hidden}.reel{aspect-ratio:2.25;display:flex;align-items:center;justify-content:center}.media-label{position:absolute;top:24px;left:28px;color:#a5a5a0}.reel-word{font-size:clamp(24px,4vw,66px);letter-spacing:-2px;color:#757572}.media-foot{position:absolute;bottom:24px;left:28px;right:28px;display:flex;justify-content:space-between;color:#aaa9a4}.section{padding:145px 5% 0}.section-heading{display:grid;grid-template-columns:1fr 2fr;align-items:start;margin-bottom:70px}.eyebrow{color:var(--muted);margin:8px 0 30px}h2{font-size:clamp(42px,6.2vw,102px);font-weight:400;line-height:1.05;letter-spacing:-.055em;margin:0}h3{font-size:16px;font-weight:400}.section-heading>p:last-child:not(:first-child){grid-column:2;color:var(--muted);margin:26px 0 0}.projects{display:grid;grid-template-columns:repeat(12,1fr);gap:85px 30px}.project{grid-column:span 7}.project:nth-child(4n+2){grid-column:9 / 13;margin-top:160px}.project:nth-child(4n+3){grid-column:1 / 6}.project:nth-child(4n+4){grid-column:7 / 13;margin-top:110px}.project:last-child{grid-column:1 / 9}.project-button{display:block;width:100%;border:0;background:transparent;padding:0;text-align:left}.project-media{aspect-ratio:1.6;display:flex;align-items:center;justify-content:center;transition:transform .7s}.project:nth-child(4n+2) .project-media{aspect-ratio:.85}.project:nth-child(4n+3) .project-media{aspect-ratio:1.15}.project:nth-child(3n+2) .placeholder{background:#20211f}.project:nth-child(3n+3) .placeholder{background:#1b1b1e}.placeholder-title{color:#767671;font-size:clamp(26px,4vw,64px);letter-spacing:-.05em;text-align:center;padding:30px}.project-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .7s}.project-button:hover img{transform:scale(1.035)}.project-number{position:absolute;top:20px;left:22px;color:#a6a6a0;font-size:12px}.project-media .media-label{top:auto;bottom:20px;left:22px;font-size:12px;letter-spacing:1px}.project-open{position:absolute;bottom:14px;right:22px;font-size:25px;transition:transform .3s}.project-button:hover .project-open{transform:translate(3px,-3px)}.project-caption{display:flex;justify-content:space-between;gap:20px;padding-top:18px}.project-caption h3{margin:0;font-size:22px;letter-spacing:-.5px}.project-caption p{margin:4px 0 0;color:var(--muted);font-size:14px}.project-caption>span{color:var(--muted);font-size:12px;padding-top:5px;text-align:right}.current{padding-top:180px}.current h2{font-size:clamp(38px,7.2vw,115px)}.current-copy{margin:45px 0 95px 50%;max-width:510px;font-size:21px}.muted{color:var(--muted)}.client-heading{display:flex;justify-content:space-between;align-items:center}.client-heading h3{font-size:12px}.client-heading span{font-size:12px;letter-spacing:0;text-transform:none}.clients{display:flex;flex-wrap:wrap;justify-content:space-around;align-items:center;gap:50px 65px;padding:45px 3% 20px}.client{font-size:clamp(22px,2.4vw,38px);letter-spacing:-1px;color:#c7c7c1;text-align:center}.client img{width:150px;height:65px;object-fit:contain}.about{display:grid;grid-template-columns:1fr 2fr;gap:0}.large-copy{font-size:clamp(23px,2.5vw,38px);line-height:1.4;letter-spacing:-.6px;max-width:850px;margin:50px 0 25px}.about-copy{max-width:640px;font-size:18px}.skills{display:grid;grid-template-columns:1fr 1fr;margin-top:55px;gap:25px}.skills h3{color:var(--muted);font-size:14px}.skills p{line-height:1.9}.experience-row{display:grid;grid-template-columns:1.4fr 1fr 1.3fr;gap:25px;padding:28px 0;border-top:1px solid #30302e;align-items:baseline}.experience-row h3{font-size:19px;margin:0}.experience-row p{margin:0;font-size:14px;color:var(--muted)}.credentials{margin-top:95px;display:grid;grid-template-columns:1fr 1fr;gap:50px}.credentials h3{margin-bottom:5px}.credentials p{margin-top:0}.credentials .award{font-size:clamp(38px,5vw,70px);letter-spacing:-3px;line-height:1.1}.contact{padding-bottom:120px}.contact h2{font-size:clamp(64px,14vw,220px);letter-spacing:-.07em}.contact-columns{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin-top:65px}.email{font-size:clamp(21px,2.5vw,37px);letter-spacing:-1px}.text-link{display:block;margin-top:26px;width:fit-content;font-size:14px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}label{display:block;font-size:14px;margin-bottom:24px}input,textarea{display:block;border:0;border-bottom:1px solid #51514c;background:transparent;color:white;width:100%;border-radius:0;padding:12px 0;resize:vertical}.send{width:100%;padding:15px 0;background:transparent;border:0;border-bottom:1px solid #51514c;display:flex;justify-content:space-between;font-size:14px}.form-note{font-size:13px}footer{display:flex;justify-content:space-between;padding:30px 5%;font-size:12px;color:var(--muted);border-top:1px solid #30302e}dialog{background:#101010;color:var(--text);border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:90px 7%;overscroll-behavior:contain}dialog::backdrop{background:#000c}.close{position:fixed;right:5%;top:25px;background:#101010;border:0;padding:8px 12px;z-index:2}.detail-title{font-size:clamp(40px,7vw,110px);font-weight:400;letter-spacing:-.05em;line-height:1.1;margin:20px 0 35px}.detail-media{aspect-ratio:16/9;width:100%;background:#1b1b1b;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--muted);text-align:center;padding:20px}.detail-media iframe,.detail-media video{width:100%;height:100%;border:0}.detail-media:has(video),.detail-media:has(iframe){padding:0}.detail-meta{display:grid;grid-template-columns:1fr 1fr 2fr;gap:35px;margin-top:35px}.detail-meta h3{font-size:12px;text-transform:uppercase;color:var(--muted)}.detail-meta p{font-size:18px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .85s,transform .85s}.reveal.visible{opacity:1;transform:none}.hero h1{animation:enter 1s both}.hero-top{animation:enter .7s both}.hero-bottom{animation:enter 1s .18s both}.reel{animation:enter 1.2s .3s both}@keyframes enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}[hidden]{display:none!important}@media(min-width:1600px){body{max-width:1920px;margin:auto}}@media(max-width:760px){header{padding:20px 6%}.menu{display:block;border:0;background:none;font-size:14px}nav{display:none;position:absolute;top:70px;left:0;right:0;background:#111;padding:25px 6%;flex-direction:column;gap:24px}nav.open{display:flex}.hero{padding:38px 6% 0}.hero-top{font-size:12px;letter-spacing:1px}.hero-top span:last-child{display:none}h1{font-size:22vw;margin:60px 0 30px;line-height:.88}.role-second{margin-left:9%}.hero-bottom{display:block;margin:30px 0;font-size:12px;letter-spacing:1px}.hero-bottom a{display:block;margin-top:24px}.reel{aspect-ratio:1.25}.reel-word{letter-spacing:-1px;font-size:28px}.media-label,.media-foot{left:18px;right:18px;font-size:11px;letter-spacing:.5px}.media-foot span{display:none}.section{padding:90px 6% 0}.section-heading,.about{display:block}.section-heading{margin-bottom:40px}.section-heading>p:last-child:not(:first-child){margin-top:24px}.projects{display:block}.project,.project:nth-child(n){margin:0 0 48px}.project:nth-child(even){margin-left:12%}.project:nth-child(n) .project-media{aspect-ratio:1.25}.project-caption h3{font-size:20px}.project-caption>span{max-width:100px}.placeholder-title{font-size:36px}.current-copy{margin:35px 0 50px;font-size:18px}.client-heading{align-items:start;gap:20px}.clients{gap:35px 25px;padding:35px 0}.client{font-size:24px}.large-copy{margin-top:35px}.skills{margin-top:35px}.experience-row{grid-template-columns:1fr;gap:6px;padding:23px 0}.experience-row h3{font-size:18px}.credentials{grid-template-columns:1fr;margin-top:60px;gap:40px}.contact{padding-bottom:75px}.contact-columns{grid-template-columns:1fr;gap:50px;margin-top:40px}.contact h2{font-size:17vw}.form-row{gap:18px}footer{gap:20px;align-items:center;font-size:11px}.detail-meta{grid-template-columns:1fr 1fr;gap:15px}.detail-meta>div:last-child{grid-column:1/-1}dialog{padding:85px 6% 40px}.detail-media{aspect-ratio:16/9}.detail-title{overflow-wrap:anywhere}.eyebrow{margin-bottom:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){dialog[open] #project-detail{animation:enter .5s both}}

/* Revision 2: measured typography, shared alignment and restrained navy. */
:root { --navy: #111e31; --accent: #91abc9; --muted: #a9adb4; }
header { background: rgba(11,12,15,.94); }
nav a { position: relative; transition: color .25s; }
nav a:hover, nav a[aria-current] { color: var(--accent); }
nav a[aria-current]::after { content: ''; position: absolute; left: 0; right: 0; bottom: -8px; height: 2px; background: var(--accent); }
.hero { padding-top: 54px; }
.hero-top { color: var(--muted); font-size: 12px; }
.hero-top span:first-child { font-weight: 400; }
.hero-intro { display: grid; grid-template-columns: minmax(0,3fr) minmax(180px,1fr); gap: 40px; align-items: end; margin: 65px 0 45px; }
.hero h1 { font-size: clamp(38px,5.8vw,86px); line-height: 1.08; letter-spacing: -.055em; font-weight: 400; margin: 0; }
.hero h1 span:first-child { color: #b5bcc6; }
.hero-position { padding-bottom: 5px; }
.hero-position p { margin: 12px 0 0; font-size: 14px; color: var(--muted); line-height: 1.6; }
.hero-position .hero-role { font-size: clamp(22px,2.4vw,32px); letter-spacing: -.025em; color: var(--text); margin-top: 0; }
.hero-bottom { margin: 0 0 28px; }
.reel { background: #101a29; aspect-ratio: 2.5; animation: none; transform: scale(var(--reel-scale,.96)); transform-origin: center; }
.reel-word { color: #91a3ba; font-size: clamp(26px,3vw,44px); letter-spacing: -.04em; }
.media-label,.media-foot { color: #a6b2c2; }
.section { padding-top: 110px; }
h2 { font-size: clamp(34px,4.2vw,62px); line-height: 1.12; letter-spacing: -.045em; }
.eyebrow { color: var(--accent); font-size: 12px; }
.section-heading { grid-template-columns: 1fr 2.6fr; column-gap: 36px; margin-bottom: 42px; }
.section-heading>p:last-child:not(:first-child) { margin-top: 16px; font-size: 15px; }
.projects { grid-template-columns: repeat(12,minmax(0,1fr)); gap: 55px 32px; }
.project:nth-child(n) { grid-column: span 6; margin: 0; min-width: 0; }
.project:first-child,.project:last-child { grid-column: 1 / -1; }
.project:first-child .project-media,.project:last-child .project-media { aspect-ratio: 2.3; }
.project:nth-child(n+2):not(:last-child) .project-media { aspect-ratio: 16/10; }
.project:nth-child(n) .placeholder { background: #16191e; }
.project:nth-child(3n+2) .placeholder { background: #101c2e; }
.placeholder-title { font-size: clamp(24px,3vw,42px); letter-spacing: -.035em; color: #929aa6; }
.project-caption { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 18px; padding-top: 16px; }
.project-caption h3 { font-size: 20px; line-height: 1.3; }
.project-caption>span { font-size: 12px; max-width: 160px; }
.project-open { color: var(--accent); }
.project-button .project-media { transition: background .4s, box-shadow .4s; }
.project-button:hover .project-media,.project-button:focus-visible .project-media { box-shadow: inset 0 0 0 1px #526b8b; }
.current { margin-top: 110px; padding-top: 65px; padding-bottom: 65px; background: #0d1420; display: grid; grid-template-columns: 1fr 2.6fr; gap: 0 36px; }
.current>.eyebrow { grid-column: 1; }
.current h2 { grid-column: 2; max-width: 640px; font-size: clamp(30px,4vw,56px); }
.current-copy { grid-column: 2; margin: 22px 0 55px; max-width: 630px; font-size: 18px; }
.current-copy p:first-child { margin-top: 0; }
.current-copy .muted { font-size: 16px; }
.client-heading,.clients { grid-column: 1 / -1; }
.clients { justify-content: flex-start; gap: 32px 52px; padding: 32px 0 0; }
.client { font-size: clamp(20px,2vw,28px); letter-spacing: -.6px; }
.about { grid-template-columns: 1fr 2.6fr; gap: 36px; }
.large-copy { font-size: clamp(23px,2.3vw,32px); margin-top: 30px; max-width: 760px; }
.about-copy { font-size: 17px; }
.skills { margin-top: 30px; }
.experience-row { grid-template-columns: minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.6fr); gap: 30px; padding: 25px 0; }
.experience-row h3 { font-size: 17px; }
.credentials { margin-top: 65px; }
.credentials .award { font-size: 48px; letter-spacing: -2px; }
.contact h2 { font-size: clamp(48px,7vw,100px); }
.period { color: #526d90; }
.contact-columns { gap: 60px; margin-top: 45px; }
.email { font-size: clamp(22px,2.3vw,32px); }
input:focus,textarea:focus { border-bottom-color: var(--accent); }
.send:hover { color: var(--accent); }
.detail-title { font-size: clamp(36px,5vw,72px); }
.detail-media { background: #101a29; }
/* Each reveal finishes once; scroll-linked movement stays small and local. */
.reveal { opacity: 0; transform: translateY(32px); transition: opacity .8s ease var(--delay,0ms), transform .9s cubic-bezier(.2,.65,.25,1) var(--delay,0ms); }
.reveal.visible { opacity: 1; transform: none; }
.project.reveal .project-media { clip-path: inset(5% 0 5% 0); transition: clip-path 1.1s cubic-bezier(.2,.65,.25,1),background .4s,box-shadow .4s; }
.project.reveal.visible .project-media { clip-path: inset(0); }
.project-media img { transform: translateY(var(--media-drift,0px)) scale(1.045); }
.project-button:hover img { transform: translateY(var(--media-drift,0px)) scale(1.075); }
@media(min-width:1000px) { .about>.eyebrow { position: sticky; top: 120px; align-self: start; } }
@media(max-width:760px) {
 .hero { padding-top: 32px; }
 .hero-intro { display: block; margin: 42px 0 30px; }
 .hero h1 { font-size: clamp(30px,7.7vw,57px); line-height: 1.15; }
 .hero-position { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 24px; }
 .hero-position .hero-role { font-size: 22px; }
 .hero-position p { font-size: 12px; margin: 0; }
 .hero-bottom { display: flex; gap: 20px; align-items: center; }
 .hero-bottom>p { display: none; }
 .hero-bottom a { margin: 0; }
 .reel { aspect-ratio: 1.6; }
 .section { padding-top: 75px; }
 .section-heading,.about { display: block; }
 .section-heading { margin-bottom: 30px; }
 .projects { display: block; }
 .project:nth-child(n) { margin: 0 0 38px; }
 .project:nth-child(n) .project-media { aspect-ratio: 1.6; }
 .project-caption { grid-template-columns: minmax(0,1fr); gap: 3px; }
 .project-caption>span { text-align: left; max-width: none; padding-top: 0; }
 .project-caption h3 { font-size: 20px; }
 .placeholder-title { font-size: 27px; padding: 24px; }
 .current { display: block; margin-top: 60px; padding-top: 40px; padding-bottom: 40px; }
 .current h2 { max-width: 450px; font-size: 34px; }
 .current-copy { margin: 24px 0 36px; }
 .clients { gap: 24px 30px; }
 .client { font-size: 21px; }
 .client-heading { display: block; }
 .client-heading h3 { margin-bottom: 4px; }
 .experience-row { grid-template-columns: 1fr; gap: 7px; }
 .contact h2 { font-size: 54px; }
 .contact-columns { gap: 40px; }
 .detail-meta p { font-size: 16px; }
}
@media(prefers-reduced-motion:reduce) {
 .reveal { opacity: 1; transform: none; }
 .reel { transform: none; }
 .project.reveal .project-media { clip-path: none; }
 .project-media img,.project-button:hover img { transform: none; }
}

.experience-date { display:block; margin-top:6px; color:var(--accent); font-size:13px; }

/* Cinematic scroll sequences: expand, hold, release. Native scrolling is retained. */
.reel-sequence { height: 155vh; position: relative; margin: 0 -5.56%; }
.reel-sticky { position: sticky; top: 90px; height: calc(100vh - 115px); display: flex; align-items: center; }
.reel { width: 100%; height: 100%; aspect-ratio: auto; transform: none; clip-path: inset(0 var(--reel-inset,12%)); }
.reel-word { font-size: clamp(36px,6vw,85px); transform: translateY(var(--reel-title-shift,45px)) scale(var(--reel-title-scale,.8)); }
.reel .media-label { left: 16%; top: 32px; }
.reel .media-foot { left: 16%; right: 16%; bottom: 32px; }
.project:first-child { min-height: 135vh; position: relative; }
.project:first-child .project-button { position: sticky; top: 100px; }
.project:first-child .project-media { height: min(65vh,750px); aspect-ratio: auto; clip-path: inset(0 var(--feature-inset,8%)); }
.project:first-child .placeholder-title { transform: translateY(var(--feature-title-shift,70px)); }
.project-media .placeholder-title { transform: translateY(var(--type-drift,0px)); transition: none; }
.project-media img { transform: translateY(var(--media-drift,0px)) scale(1.12); transition: transform .2s linear; }
.project-button:hover img { transform: translateY(var(--media-drift,0px)) scale(1.15); }
.about { grid-template-columns: minmax(0,1fr) minmax(0,1.45fr); gap: clamp(40px,7vw,110px); align-items: start; }
.portrait-column { position: sticky; top: 100px; }
.portrait { margin: 0; aspect-ratio: 3/4; background: #122035; position: relative; overflow: hidden; }
.portrait-placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #a5b6cc; transform: translateY(var(--portrait-shift,0px)); }
.portrait-placeholder>span { font-size: clamp(30px,3.5vw,48px); letter-spacing: -.04em; }
.portrait-placeholder>p { font-size: 13px; letter-spacing: .05em; }
.portrait>img { width: 100%; height: 100%; object-fit: cover; transform: translateY(var(--portrait-shift,0px)) scale(1.14); }
.portrait figcaption { position: absolute; bottom: 0; left: 0; right: 0; padding: 20px; background: #0c1523ed; font-size: 13px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; }
.portrait figcaption span { color: #a5b6cc; }
.about-text { padding-top: 50px; }
@media(max-width:760px) {
 .reel-sequence { height: 95svh; margin: 0 -6.82%; }
 .reel-sticky { top: 80px; height: 65svh; }
 .reel-word { font-size: 40px; }
 .reel .media-label,.reel .media-foot { left: 9%; right: 9%; }
 .project:first-child { min-height: 0; }
 .project:first-child .project-button { position: static; }
 .project:first-child .project-media { height: auto; aspect-ratio: 1.6; }
 .about { display: block; }
 .portrait-column { position: static; max-width: 460px; }
 .portrait { aspect-ratio: 4/5; }
 .about-text { padding-top: 38px; }
}
@media(prefers-reduced-motion:reduce) {
 .reel-sequence { height: auto; margin: 0; }
 .reel-sticky { position: static; height: auto; }
 .reel { aspect-ratio: 2; height: auto; clip-path: none; }
 .reel-word,.project-media .placeholder-title,.portrait-placeholder,.portrait>img { transform: none!important; }
 .project:first-child { min-height: 0; }
 .project:first-child .project-button,.portrait-column { position: static; }
 .project:first-child .project-media { height: auto; aspect-ratio: 2; clip-path: none; }
}
.project:first-child .project-number,.project:first-child .media-label { left: 11%; }
.project:first-child .project-open { right: 11%; }
@media(max-width:760px) { .project:first-child .placeholder-title { transform: translateY(var(--type-drift,0px)); } }

/* ICB film-frame identity and slow navy light behind the black canvas. */
body { isolation: isolate; }
.identity { display: inline-flex; align-items: center; justify-content: center; margin: -12px 0; }
.identity-mark { display: block; width: 76px; height: auto; transition: opacity .25s; }
.identity:hover .identity-mark { opacity: .76; }
.ambient-light { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.light-bloom { position: absolute; width: 100vw; height: 110vh; border-radius: 50%; background: radial-gradient(ellipse at center,rgba(38,77,132,.43) 0%,rgba(24,51,91,.27) 34%,rgba(14,29,53,.11) 53%,transparent 72%); }
.bloom-one { left: -40vw; top: -35vh; transform: translate3d(var(--bloom-x,0px),var(--bloom-y,0px),0); }
.bloom-two { right: -48vw; top: 15vh; opacity: .9; transform: translate3d(var(--bloom-second-x,0px),var(--bloom-second-y,0px),0); }
header { background: rgba(9,11,16,.88); }
.current { background: rgba(13,20,32,.84); }
@media(max-width:760px) {
 .identity-mark { width: 62px; }
 .identity { margin: -8px 0; }
 .light-bloom { width: 150vw; height: 95svh; }
 .bloom-one { left: -65vw; }
 .bloom-two { right: -85vw; }
}
@media(prefers-reduced-motion:reduce) {
 .bloom-one,.bloom-two { transform: none; }
}

/* Editing-led identity and recognition. */
.credentials .film-achievement .award { font-size: clamp(30px,3.2vw,46px); line-height: 1.15; letter-spacing: -.035em; margin: 0 0 22px; }
.film-achievement>p.muted { max-width: 490px; line-height: 1.7; }
.worldskills-note { margin-top: 30px; max-width: 360px; }
.worldskills-note h3 { font-size: 15px; color: var(--accent); }
.worldskills-note p { font-size: 14px; }
.hero-position p { line-height: 1.7; }

/* Authentic vector client marks, all-white and optically balanced. */
.clients { justify-content: center; gap: 42px 65px; padding: 45px 0 20px; }
.client { display: flex; align-items: center; justify-content: center; min-height: 85px; }
.client img { width: 155px; height: 70px; object-fit: contain; filter: brightness(0) invert(1); }
.client img[alt="Nestlé"] { width: 110px; height: 100px; }
.client img[alt="Henkel"] { width: 120px; height: 75px; }
.client img[alt="Reckitt"] { width: 130px; height: 80px; }
.client img[alt="Colgate-Palmolive"] { width: 195px; }
.client img[alt="Champion Petfoods"] { width: 195px; }
.client img[alt="Procter & Gamble"] { width: 120px; }
.portrait>img { object-position: 50% 44%; }
.identity-mark { width: 86px; }
@media(max-width:760px) {
 .identity-mark { width: 72px; }
 .clients { gap: 28px 24px; }
 .client { flex: 0 1 calc(50% - 12px); min-width: 0; }
 .client img { max-width: 100%; height: 60px; }
 .client img[alt="Nestlé"] { height: 90px; }
 .client img[alt="Colgate-Palmolive"],.client img[alt="Champion Petfoods"] { width: 150px; }
}

/* Custom geometric ICB: a shared circular rhythm and a precise edit point. */
.identity-mark { width: 84px; transition: transform .35s ease,opacity .35s ease; }
.identity:hover .identity-mark,.identity:focus-visible .identity-mark { transform: translateY(-2px); opacity: 1; }
@media(max-width:760px) { .identity-mark { width: 69px; } }
@media(prefers-reduced-motion:reduce) { .identity:hover .identity-mark,.identity:focus-visible .identity-mark { transform:none; } }

/* Keep supplied broadcast artwork fully visible rather than cropping its titles. */
.project [data-project="hsdc-tournament"] .project-media { aspect-ratio: 16/9; background: #050505; }
.project [data-project="hsdc-tournament"] .project-media img { object-fit: contain; transform: none; }
.project-media:has(img) .project-number,.project-media:has(img) .project-open { color: white; text-shadow: 0 1px 5px #000; }

.channel-note { max-width: 460px; font-size: 15px; line-height: 1.6; margin: 0; }
.identity-mark { width: 70px; }
@media(max-width:760px) { .identity-mark { width: 60px; } }

/* Full-bleed, uncropped 16:9 project artwork. Motion belongs to the frame. */
.project { position: relative; }
.projects .project .project-media { aspect-ratio:16/9; height:auto; }
.projects .project .project-media img,
.projects .project .project-button:hover .project-media img { object-fit:cover; transform:none; }
.project-media:has(img) .placeholder-title { display:none; }
.project-media:has(img)::after { display:none; }
.project-channel { position:absolute; right:20px; top:20px; z-index:4; width:46px; height:46px; display:grid; place-items:center; border-radius:50%; background:#101827eF; border:1px solid #ffffff70; color:white; box-shadow:0 5px 24px #0007; transition:background .2s,transform .2s; }
.project-channel svg { width:24px; height:24px; }
.project-channel:hover { background:#254574; transform:translateY(-2px); }
.project-channel:focus-visible { outline:3px solid white; outline-offset:4px; }
.project:first-child .project-channel { position:sticky; float:right; margin-right:20px; margin-top:20px; top:120px; }
@media(max-width:760px) { .project:first-child .project-channel { position:absolute; float:none; margin:0; top:12px; right:12px; } .project-channel { top:12px; right:12px; } }
@media(prefers-reduced-motion:reduce) { .project-channel:hover { transform:none; } }

.project-card { position:relative; }
.project:first-child .project-card { position:sticky; top:100px; }
.project:first-child .project-button { position:static; }
.project:first-child .project-channel { position:absolute; float:none; margin:0; top:20px; right:20px; }
@media(max-width:760px),(prefers-reduced-motion:reduce) { .project:first-child .project-card { position:relative; top:auto; } }

/* Temporary DJ AG channel destination with the supplied cover. */
.detail-media .detail-cover { display:block; width:100%; height:100%; object-fit:cover; }
.channel-cta { display:flex; align-items:center; justify-content:space-between; gap:24px; width:fit-content; max-width:100%; margin:24px 0 36px; padding:19px 26px; background:#f1f0ec; color:#101827; border:1px solid #fff; font-size:16px; font-weight:700; border-radius:4px; transition:background .2s,box-shadow .2s; }
.channel-cta:hover { background:#dce8fa; box-shadow:0 0 28px #365b8540; }
.channel-cta span { font-size:24px; }
@media(max-width:760px) { .channel-cta { width:100%; font-size:14px; padding:17px 20px; } }

/* Consistent gallery layout. */
@media(min-width:761px) { .projects .project:last-child { grid-column:span 6; } }
.projects .project:nth-child(n) .project-media { aspect-ratio:16/9; height:auto; }

/* Understated gold recognition tabs, separate from the cover artwork. */
.recognition-badges { display:flex; flex-wrap:wrap; gap:7px; margin:10px 0 12px; }
.recognition-badge { display:inline-flex; align-items:center; gap:6px; padding:5px 9px; border:1px solid #aa873b80; border-radius:4px; background:linear-gradient(120deg,#ad873b24,#ad873b10); color:#e4c67e; font-size:11px; font-weight:500; line-height:1.4; letter-spacing:.025em; }
.recognition-badge>span { color:#d7ad51; font-size:12px; }
#project-detail>.recognition-badges { margin:-6px 0 25px; }
.experience-row .recognition-badges { margin:9px 0; }
.credentials .recognition-badges { margin:0 0 17px; }

.current-identity { grid-column:1; grid-row:1 / 3; align-self:start; }
.current-logo { display:block; width:100%; max-width:205px; height:auto; margin:0 0 28px; }
@media(max-width:760px) { .current-logo { max-width:180px; margin-bottom:32px; } }
/* Fixed letterbox crop; no scroll or hover zoom on thumbnail images. */
.projects .project [data-project="hillary"] .project-media img,
.projects .project [data-project="hillary"]:hover .project-media img { transform:scale(1.186); transition:none; }
.projects .project [data-project="ab-studios"] .project-media img,
.projects .project [data-project="ab-studios"]:hover .project-media img { transform:scale(1.116); transition:none; }
.projects .project .project-media img { transition:none; }

.showreel-preview { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.showreel-open { position:absolute; inset:0; width:100%; border:0; background:linear-gradient(transparent 45%,#0009); display:flex; align-items:flex-end; gap:16px; padding:45px 16%; text-align:left; font-size:24px; color:#fff; }
.showreel-play { border:1px solid #fff9; border-radius:50%; width:56px; height:56px; display:grid; place-items:center; background:#10182780; font-size:20px; }
.showreel-open small { display:block; font-size:11px; letter-spacing:.1em; text-transform:uppercase; margin-top:5px; }
.preview-toggle { position:absolute; z-index:2; right:16%; top:24px; background:#101827b0; color:#fff; border:1px solid #fff6; border-radius:4px; padding:9px 12px; font-size:12px; }
@media(max-width:760px) { .showreel-open { padding:28px 9%; font-size:20px; } .preview-toggle { right:9%; } }

