/* Cinema portfolio: warm editorial canvas, full-bleed footage, condensed display. */
:root{color-scheme:light;--paper:#eae7df;--ink:#232521;--muted:#64655e;--dark:#20231e;--white:#f2f0e8;--accent:#ffe312;--line:rgb(35 37 33 / .18);--display:Impact,'Arial Narrow',sans-serif;--body:'Avenir Next','Trebuchet MS',sans-serif;--gap:32px;--target:48px;--section:96px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--body)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid currentColor;outline-offset:6px}.wrap{width:min(1440px,calc(100% - 96px));margin-inline:auto}p{margin:0;text-wrap:pretty}h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1;letter-spacing:0;text-wrap:balance;margin:0}h3,p{overflow-wrap:anywhere}
.header{background:var(--paper)}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:88px}.brand{font:400 28px/1 var(--display);display:flex;align-items:center;min-height:var(--target)}nav{display:flex;gap:24px}nav a{display:inline-flex;align-items:center;gap:8px;min-width:var(--target);min-height:var(--target);font-weight:600;font-size:14px}nav a:hover{text-decoration:underline;text-underline-offset:6px}
.hero{position:relative;isolation:isolate;background:var(--dark);color:var(--white);min-height:650px;height:calc(100svh - 88px);max-height:860px;display:flex;align-items:end;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 34%;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgb(20 23 19 / .82),rgb(20 23 19 / .25)),linear-gradient(0deg,rgb(20 23 19 / .94),transparent 80%);z-index:-2;pointer-events:none}.hero-content{padding-block:64px;position:relative}.hero-caption{font-size:16px;margin-bottom:28px;color:var(--white)}h1{font-size:156px;max-width:12ch;letter-spacing:-.015em}h1 span{color:var(--accent)}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-top:32px}.hero-bottom p{max-width:40ch;font-size:18px}.primary{background:var(--accent);color:var(--ink);display:inline-flex;align-items:center;gap:20px;min-height:64px;padding:12px 20px;font-weight:600;white-space:nowrap}.primary:hover{background:var(--white)}.primary:focus-visible{outline-color:var(--accent)}.play{font-size:16px}.primary:active,.secondary:active{transform:translateY(1px)}
.work{padding-block:var(--section)}.work-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:56px}.work-heading h2{font-size:64px}.work-heading>p{font-size:16px;color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:72px;align-items:start}.card{grid-column:span 6;min-width:0;container-type:inline-size}.card:first-child{grid-column:span 8}.card:nth-child(2){grid-column:span 4;padding-top:88px}.card:last-child{grid-column:span 12;display:grid;grid-template-columns:1.35fr 1fr;gap:var(--gap);align-items:center}.card-media{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--dark);width:100%;border:0;color:var(--white);padding:0}.card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.watch-label{position:absolute;right:16px;bottom:16px;display:flex;align-items:center;gap:28px;background:var(--paper);color:var(--ink);padding:10px 14px;min-height:var(--target);font:600 14px/1.4 var(--body);pointer-events:none}.card-media:hover img,.card-media:focus-visible img{transform:scale(1.025)}.card-copy{padding-top:24px}.project-client{color:var(--muted);font-size:14px;margin-bottom:12px}.card h3{font-size:40px;max-width:26ch}.card h3 a{display:block}.card h3 a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}.description{color:var(--muted);font-size:16px;max-width:60ch;margin-top:16px}.card:last-child .card-copy{padding-top:0}.card:last-child h3{font-size:56px}@container(max-width:380px){.card h3{font-size:32px}.watch-label{right:12px;bottom:12px;font-size:14px;gap:16px}}
.about{padding-block:var(--section);background:var(--dark);color:var(--white)}.about-inner{display:grid;grid-template-columns:1.35fr 1fr;gap:var(--gap);align-items:center}.about h2{font-size:80px;max-width:20ch}.about h2 span{color:var(--accent)}.about-copy p{max-width:42ch;font-size:18px;margin-bottom:24px}.about-copy p+p{color:#c2c4b9;font-size:16px}.text-link{display:inline-flex;align-items:center;min-height:var(--target);padding-block:12px;border-bottom:1px solid currentColor;font-weight:600}.text-link:hover{opacity:.8}footer{background:var(--dark);color:var(--white)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:24px;border-top:1px solid rgb(242 240 232 / .18);font-size:14px}.footer-inner a{min-height:var(--target);display:flex;align-items:center;padding:8px}
.secondary{min-width:var(--target);min-height:var(--target);border:1px solid currentColor;background:transparent;color:inherit;padding:10px 16px}.secondary:hover{background:var(--ink);color:var(--paper)}.secondary:disabled{opacity:.6;cursor:wait}.portfolio-error,.empty{padding:32px;border-block:1px solid var(--line);margin-bottom:32px}.portfolio-error p{margin-bottom:16px}.empty h3{font-size:40px;margin-bottom:16px}.skip{position:absolute;top:-100px;left:16px;z-index:5;background:var(--accent);color:var(--ink);padding:12px}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}dialog{width:min(1000px,94vw);background:var(--paper);color:var(--ink);border:0;padding:24px}dialog::backdrop{background:rgb(20 23 19 / .9)}.player-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.player-head h2{font-size:32px;overflow-wrap:anywhere}video{display:block;width:100%;max-height:75dvh}
@media(min-width:1440px){h1{font-size:180px}}@media(max-width:1000px){.wrap{width:calc(100% - 64px)}h1{font-size:128px}.hero{min-height:620px}.card:first-child,.card:nth-child(2){grid-column:span 6}.card:nth-child(2){padding-top:0}.card:last-child h3{font-size:44px}.about h2{font-size:64px}.work-heading h2{font-size:56px}}
@media(max-width:640px){:root{--section:64px;--gap:24px}.wrap{width:calc(100% - 40px)}.header-inner{min-height:80px;gap:12px}.brand{font-size:22px;max-width:92px}nav{gap:12px}nav a{font-size:14px}nav a:nth-child(2){display:none}.hero{height:auto;min-height:620px;max-height:none;align-items:end}.hero-image{object-position:60% center}.hero-shade{background:linear-gradient(0deg,rgb(20 23 19 / .96),rgb(20 23 19 / .36))}.hero-content{padding-block:40px}.hero-caption{font-size:16px;margin-bottom:24px}h1{font-size:92px;line-height:1}.hero-bottom{flex-direction:column;align-items:start;gap:24px;margin-top:24px}.hero-bottom p{font-size:18px}.primary{white-space:normal;gap:16px;min-height:56px;font-size:16px}.work-heading{flex-direction:column;gap:16px;margin-bottom:40px}.work-heading h2{font-size:48px}.gallery{display:block}.card{margin-bottom:48px}.card:last-child{display:block;margin-bottom:0}.card h3,.card:last-child h3{font-size:36px}.card-copy,.card:last-child .card-copy{padding-top:20px}.project-client{font-size:16px;margin-bottom:12px}.watch-label{font-size:16px}.description{font-size:16px}.about-inner{grid-template-columns:1fr;gap:40px}.about h2{font-size:56px}.about-copy p{font-size:20px}.about-copy p+p{font-size:16px}.footer-inner{font-size:14px}dialog{padding:20px}.player-head h2{font-size:28px}}
@media(max-width:360px){h1{font-size:80px}.hero{min-height:600px}.brand{font-size:20px}nav{gap:8px}nav a{font-size:13px}.primary{font-size:15px}}
@media(hover:hover){.text-link:hover{opacity:.75}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card-media img{transition:none}.primary:active,.secondary:active{transform:none}}

/* Original title-card filmstrip mark, preserved without cropping. */
.brand img{display:block;width:52px;height:auto}.hero-logo{display:block;width:320px;height:auto;max-width:100%}.hero-content h1{font-size:inherit;max-width:none}.hero-content{width:min(1440px,calc(100% - 96px))}@media(max-width:1000px){.hero-content{width:calc(100% - 64px)}.hero-logo{width:280px}}@media(max-width:640px){.hero-content{width:calc(100% - 40px)}.hero-logo{width:220px}.brand img{width:48px}.hero{min-height:620px}}

.hero-image{width:150%;max-width:none;top:-180px;bottom:auto;height:calc(100% + 180px);object-position:left top}@media(max-width:640px){.hero-image{top:-140px;height:calc(100% + 140px);object-position:60% top}}
