:root{
  --bg:#080808;
  --bg2:#0d0d0d;
  --surface:#101010;
  --surface2:#131313;
  --text:#f4f1ea;
  --muted:#98948c;
  --muted2:#7f7b74;
  --line:rgba(255,255,255,.14);
  --line-soft:rgba(255,255,255,.075);
  --accent:#b54837;
  --pad:clamp(24px,3.7vw,58px);
  --header-h:76px;
  --ease:cubic-bezier(.2,.75,.2,1);
  --display:'Barlow Condensed',Arial,sans-serif;
  --body:'Manrope',Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:14px;line-height:1.55;overflow-x:hidden}
body.menu-open,body.modal-open{overflow:hidden}
body.is-leaving{opacity:.92;transition:opacity .16s ease}
a{color:inherit;text-decoration:none}
button{font:inherit}
img,video{display:block;max-width:100%}
::selection{background:var(--accent);color:#fff}
.noise{position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}

/* typography */
.eyebrow{margin:0 0 14px;font-size:9px;line-height:1;text-transform:uppercase;letter-spacing:.19em;font-weight:600}
.section-kicker{color:#8e8a82}
.light{color:rgba(255,255,255,.66)}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--display);font-weight:500;line-height:.9;letter-spacing:-.025em}
.text-link{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;padding-bottom:4px;border-bottom:1px solid currentColor;transition:opacity .25s ease,border-color .25s ease,color .25s ease}
.text-link:hover{opacity:.68}
button.text-link{appearance:none;background:none;border:0;border-bottom:1px solid currentColor;color:inherit;padding:0 0 4px;cursor:pointer}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .68s var(--ease),transform .72s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal[data-delay="1"]{transition-delay:.07s}
.reveal[data-delay="2"]{transition-delay:.14s}
.reveal[data-delay="3"]{transition-delay:.21s}
.sr-only{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}

/* header */
.site-header{position:fixed;z-index:80;top:0;left:0;right:0;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);border-bottom:1px solid transparent;background:linear-gradient(180deg,rgba(5,5,5,.44),transparent);transform:translateY(0);transition:transform .42s var(--ease),background .35s ease,border-color .35s ease,backdrop-filter .35s ease;will-change:transform}
.site-header.scrolled{background:rgba(8,8,8,.88);backdrop-filter:blur(16px);border-color:rgba(255,255,255,.1)}
.site-header.is-hidden{transform:translateY(calc(-100% - 2px))}
body.menu-open .site-header{transform:translateY(0)}
.wordmark{display:flex;align-items:center;width:112px;height:48px;flex:0 0 auto}
.wordmark img{display:block;width:100%;height:auto;max-height:48px;object-fit:contain;object-position:left center}
.desktop-nav{display:flex;align-items:center;gap:clamp(22px,2.6vw,44px)}
.desktop-nav a{position:relative;font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:#d3d0c9;padding:8px 0}
.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:currentColor;transition:right .35s var(--ease)}
.desktop-nav a:hover:after,.desktop-nav a[aria-current="page"]:after{right:0}
.menu-btn{display:none;width:42px;height:42px;padding:0;border:0;background:none;color:white;position:relative}
.menu-btn i{position:absolute;width:22px;height:1px;background:currentColor;left:10px;top:17px;transition:.3s var(--ease)}
.menu-btn i+i{top:24px}
.menu-btn.open i:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-btn.open i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mobile-menu{position:fixed;z-index:75;inset:0;background:#080808;padding:calc(var(--header-h) + 35px) var(--pad) 40px;display:flex;flex-direction:column;justify-content:center;gap:3px;visibility:hidden;opacity:0;transition:.35s ease}
.mobile-menu.open{visibility:visible;opacity:1}
.mobile-menu a{font-family:var(--display);font-size:clamp(52px,12vw,84px);line-height:.94;text-transform:uppercase;border-bottom:1px solid var(--line);padding:8px 0}

/* hero */
.hero{position:relative;min-height:100svh;display:grid;align-items:end;overflow:hidden;background:#050505}
.hero-media{position:absolute;inset:0;overflow:hidden;cursor:grab;touch-action:pan-y}
.hero-media.dragging{cursor:grabbing}
.hero-layer,.hero-video{position:absolute;inset:-2%;width:104%;height:104%;object-fit:cover;opacity:0;transform:scale(1.04);filter:saturate(.9) contrast(1.03);transition:opacity .82s var(--ease),transform 6.8s linear}
.hero-layer.is-active{opacity:1;transform:scale(1)}
.hero-layer.is-outgoing{opacity:0;transform:scale(1.014);transition:opacity .76s var(--ease),transform .9s var(--ease)}
.hero-video.active{opacity:1}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.76) 0%,rgba(0,0,0,.43) 42%,rgba(0,0,0,.08) 68%,rgba(0,0,0,.3) 100%),linear-gradient(0deg,rgba(0,0,0,.73) 0%,rgba(0,0,0,.08) 54%,rgba(0,0,0,.24) 100%)}
.hero-content{position:relative;z-index:4;width:100%;padding:calc(var(--header-h) + 52px) var(--pad) 38px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.45fr);gap:clamp(44px,7vw,110px);align-items:end}
.hero-copy{max-width:820px}
.hero h1{font-size:clamp(60px,7.7vw,118px);line-height:.87;margin:0 0 20px;text-transform:uppercase}
.hero h1 span,.hero h1 em{display:block}
.hero h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.56)}
.hero-sub{max-width:570px;font-size:12px;color:rgba(255,255,255,.7);margin:0 0 22px}
.hero-cta{display:flex;gap:26px;flex-wrap:wrap}
.hero-feature{border-top:1px solid rgba(255,255,255,.44);padding-top:14px;align-self:end;min-width:0}
.hero-feature-inner{transition:opacity .28s ease,transform .28s var(--ease)}
.hero-feature.is-switching .hero-feature-inner{opacity:0;transform:translateY(6px)}
.hero-feature-label{display:block;color:#a9a59d;font-size:8px;text-transform:uppercase;letter-spacing:.18em;margin-bottom:10px}
.hero-feature strong{display:block;font-family:var(--display);font-size:clamp(27px,2.6vw,39px);font-weight:500;line-height:.94;margin-bottom:8px}
.hero-feature-meta{display:block;color:#c7c3bb;font-size:9px;text-transform:uppercase;letter-spacing:.1em}
.hero-controls{margin-top:20px;display:flex;align-items:center;gap:12px}
.hero-count{font-family:var(--display);font-size:12px;letter-spacing:.08em;white-space:nowrap}
.hero-dots{display:flex;gap:8px;align-items:center;flex:0 1 auto}
.hero-dots button{width:6px;height:6px;padding:0;border:1px solid rgba(255,255,255,.6);border-radius:50%;background:transparent;cursor:pointer;transition:background .25s ease,transform .25s ease}
.hero-dots button.active{background:#fff;transform:scale(1.18)}
.hero-arrows{display:flex;gap:7px;margin-left:auto}
.icon-btn{width:38px;height:38px;border:1px solid rgba(255,255,255,.34);border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.08);color:inherit;cursor:pointer;transition:background .28s ease,color .28s ease,border-color .28s ease,transform .28s var(--ease)}
.icon-btn:hover{background:#f1eee7;color:#080808;border-color:#f1eee7;transform:scale(1.035)}
.icon-btn svg{width:16px;height:16px;stroke-width:1.4}
.hero-feature-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:15px}
.hero-feature-actions .text-link{margin-top:0}
.hero-progress{display:none}

/* shared sections */
.section{padding:clamp(66px,6.6vw,104px) var(--pad)}
.section-head{display:grid;grid-template-columns:1fr minmax(250px,470px);gap:44px;align-items:end;margin-bottom:clamp(32px,4vw,54px)}
.section-head h2,.services h2{font-size:clamp(50px,5.7vw,86px);line-height:.9;margin:0;text-transform:uppercase}
.section-intro{margin:0;color:var(--muted);max-width:510px;font-size:13px;line-height:1.55}
.section-paper{background:#0e0e0e;color:var(--text);border-top:1px solid var(--line-soft)}
.section-paper .section-kicker,.section-paper .section-intro{color:var(--muted)}
.section-more{text-align:right;margin-top:28px}

/* distribution */
.release-shell{position:relative}
.release-rail{display:flex;gap:clamp(12px,1.35vw,20px);overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;padding:0 0 12px;cursor:grab;touch-action:pan-y}
.release-rail::-webkit-scrollbar{display:none}
.release-rail.dragging{cursor:grabbing;scroll-snap-type:none}
.film-card{position:relative;flex:0 0 clamp(230px,21vw,330px);scroll-snap-align:start;min-width:0;color:var(--text)}
.film-card-visual{position:relative;aspect-ratio:2/3;overflow:hidden;background:#171717}
.film-card img{width:100%;height:100%;object-fit:cover;transition:transform .72s var(--ease),filter .42s ease}
.film-card:hover img{transform:scale(1.03);filter:saturate(1.05)}
.film-card-number{position:absolute;top:12px;left:12px;background:rgba(8,8,8,.76);color:#fff;padding:6px 8px;font-size:8px;letter-spacing:.13em;text-transform:uppercase;backdrop-filter:blur(8px)}
.film-card-arrow{position:absolute;right:12px;bottom:12px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(244,241,234,.94);color:#080808;font-size:17px;transform:scale(.88);opacity:0;transition:.32s var(--ease)}
.film-card:hover .film-card-arrow{opacity:1;transform:scale(1)}
.film-card-copy{padding-top:12px;border-top:1px solid var(--line);margin-top:10px}
.film-card h3{font-size:clamp(27px,2.25vw,37px);margin:0 0 5px;text-transform:uppercase}
.film-card-meta{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#89857e}
.rail-actions{display:flex;justify-content:space-between;align-items:center;margin-top:20px;border-top:1px solid var(--line);padding-top:13px}
.rail-note{font-size:8px;text-transform:uppercase;letter-spacing:.14em;color:#89857e}
.rail-buttons{display:flex;gap:8px}
.section-paper .icon-btn{border-color:rgba(255,255,255,.3);color:#fff;background:transparent}
.section-paper .icon-btn:hover{background:#f1eee7;color:#080808;border-color:#f1eee7}
.release-mosaic{margin-top:clamp(44px,5.5vw,72px);display:grid;grid-template-columns:1.45fr repeat(4,1fr);grid-template-rows:250px;gap:6px}
.release-shot{position:relative;overflow:hidden;background:#111}
.release-shot img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease),filter .4s ease}
.release-shot:hover img{transform:scale(1.025);filter:saturate(1.04)}
.release-shot span{position:absolute;left:12px;bottom:11px;background:rgba(5,5,5,.68);color:#fff;padding:6px 8px;font-size:7px;text-transform:uppercase;letter-spacing:.13em;backdrop-filter:blur(8px)}

/* production manifesto */
.manifesto{display:grid;height:clamp(610px,74svh,740px);min-height:0;grid-template-columns:.92fr 1.08fr;background:#0a0a0a;border-top:1px solid var(--line-soft)}
.manifesto-copy{padding:46px var(--pad);display:flex;flex-direction:column;justify-content:center}
.manifesto h2{font-size:clamp(54px,5.8vw,88px);line-height:.89;margin:0 0 22px;text-transform:uppercase;letter-spacing:-.025em}
.manifesto h2 span,.manifesto h2 em{display:block}
.manifesto h2 em{font-style:normal;color:#aaa69e}
.manifesto-copy>p:not(.eyebrow){max-width:480px;font-size:13px;line-height:1.55;color:#9d9991;margin-bottom:24px}
.manifesto-art{position:relative;overflow:hidden;background:#141414}
.manifesto-art img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.03);transform:scale(1.015)}
.manifesto-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,11,11,.3),transparent 46%),linear-gradient(0deg,rgba(0,0,0,.24),transparent 60%)}
.manifesto-caption{position:absolute;z-index:2;right:18px;bottom:15px;font-size:7px;text-transform:uppercase;letter-spacing:.13em;color:#d2cec5}

/* development slate */
#production{background:#090909}
.slate-shell{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.72fr);gap:clamp(36px,5vw,72px);align-items:start}
.production-list{border-top:1px solid var(--line)}
.production-item{position:relative;isolation:isolate;display:grid;grid-template-columns:36px 1fr 38px;gap:14px;align-items:center;padding:16px 2px;min-height:78px;color:var(--text);border-bottom:1px solid var(--line);overflow:hidden}
.production-item:before{content:"";position:absolute;z-index:-1;inset:0;background:rgba(255,255,255,.052);transform:scaleX(0);transform-origin:left center;transition:transform .42s var(--ease)}
.production-item:after{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent);transform:scaleY(0);transform-origin:center;transition:transform .38s var(--ease);z-index:2}
.production-item:hover:before,.production-item:focus-visible:before,.production-item.active:before{transform:scaleX(1)}
.production-item:hover:after,.production-item:focus-visible:after,.production-item.active:after{transform:scaleY(1)}
.production-index{font-family:var(--display);font-size:12px;color:#706d67;transition:color .3s ease}
.production-copy h3{font-size:clamp(31px,3.05vw,48px);line-height:.92;margin:0 0 4px;text-transform:uppercase;letter-spacing:-.025em}
.production-copy p{margin:0;font-size:8px;color:#858179;text-transform:uppercase;letter-spacing:.1em;transition:color .3s ease}
.production-item:hover .production-copy p,.production-item:hover .production-index,.production-item.active .production-copy p,.production-item.active .production-index{color:#aaa69e}
.production-arrow{width:34px;height:34px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:grid;place-items:center;transition:transform .35s var(--ease),border-color .3s ease}
.production-item:hover .production-arrow,.production-item.active .production-arrow{border-color:rgba(255,255,255,.65);transform:rotate(45deg)}
.slate-preview{position:sticky;top:calc(var(--header-h) + 22px);aspect-ratio:4/5;max-height:545px;overflow:hidden;background:#151515}
.slate-preview-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;clip-path:inset(100% 0 0 0);filter:blur(5px);transform:scale(1.035);transition:clip-path .72s var(--ease),transform .86s var(--ease),filter .72s ease}
.slate-preview-layer.is-active{opacity:1;clip-path:inset(0);filter:blur(0);transform:scale(1);z-index:1}
.slate-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent 48%);z-index:2;pointer-events:none}
.slate-preview-copy{position:absolute;z-index:3;left:18px;right:18px;bottom:17px}
.slate-preview-copy span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:#c3beb5;margin-bottom:6px}
.slate-preview-copy strong{font-family:var(--display);font-weight:500;font-size:clamp(31px,3vw,45px);line-height:.9;text-transform:uppercase}
.slate-preview-copy-inner{transition:opacity .2s ease}
.slate-preview.switching .slate-preview-copy-inner{opacity:.2}

/* about */
.about{padding:clamp(68px,7vw,108px) var(--pad);display:grid;grid-template-columns:.3fr 1.2fr .4fr;gap:clamp(32px,5vw,76px);background:#111;color:var(--text);border-top:1px solid var(--line)}
.about h2{font-size:clamp(48px,5.5vw,82px);margin:0 0 26px;text-transform:uppercase}
.about p{color:#a39f97;max-width:780px}
.about-side{padding-top:8px}
.about-side strong{display:block;font-family:var(--display);font-size:clamp(26px,2.6vw,39px);font-weight:500;line-height:1.04;text-transform:uppercase;color:#ddd9d1}
.about .eyebrow{color:#858179}

/* partners — borderless, seamless, bi-directional logo line */
.partners{padding:clamp(38px,4vw,54px) 0;background:#0d0d0d}
.partner-marquee{width:100%;overflow-x:auto;scrollbar-width:none;cursor:grab;touch-action:pan-y;overscroll-behavior-x:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 97%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 97%,transparent 100%)}
.partner-marquee::-webkit-scrollbar{display:none}
.partner-marquee.dragging{cursor:grabbing}
.partner-track{display:flex;width:max-content;will-change:transform}
.partner-sequence{display:flex;align-items:center;gap:clamp(48px,5.6vw,86px);padding:0 clamp(24px,3.7vw,58px) 0 0}
.partner-logo{flex:0 0 auto;width:clamp(104px,9vw,138px);height:62px;display:grid;place-items:center}
.partner-logo.logo-wide{width:clamp(148px,14vw,208px)}
.partner-logo.logo-square{width:clamp(66px,6vw,86px)}
.partner-logo img{display:block;width:100%;height:46px;object-fit:contain;filter:grayscale(1) brightness(0) invert(1);opacity:.58;transition:opacity .28s ease,transform .32s var(--ease)}
.partner-logo.logo-square img{height:54px}
.partner-logo:hover img,.partner-logo:focus-visible img{opacity:1;transform:scale(1.035)}

/* WHAT WE DO — information cards, deliberately non-clickable */
.services{padding:clamp(60px,6vw,92px) var(--pad);background:#090909;border-top:1px solid var(--line-soft)}
.services-intro{display:grid;grid-template-columns:1fr minmax(270px,470px);gap:44px;align-items:end;margin-bottom:34px}
.services-intro>p{margin:0;color:#98948c;font-size:13px;line-height:1.55}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-card{position:relative;min-height:210px;padding:22px 22px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden;background:#0b0b0b;transition:background .35s ease,border-color .35s ease}
.service-card:before{content:"";position:absolute;inset:0;background:radial-gradient(120% 95% at 0% 100%,rgba(181,72,55,.15),transparent 58%);opacity:0;transition:opacity .4s ease;pointer-events:none}
.service-card:hover{background:#101010}
.service-card:hover:before{opacity:1}
.service-index{position:relative;z-index:1;font-family:var(--display);font-size:11px;color:#77736c;letter-spacing:.08em;margin-bottom:auto}
.service-card h3{position:relative;z-index:1;font-size:clamp(30px,2.8vw,42px);line-height:.92;margin:38px 0 12px;text-transform:uppercase;max-width:320px}
.service-card p{position:relative;z-index:1;margin:0;color:#8f8b84;font-size:11px;line-height:1.55;max-width:420px}

/* contact */
.contact{background:#0a0a0a;color:var(--text);padding:clamp(62px,6.2vw,94px) var(--pad) 22px;border-top:2px solid var(--accent)}
.contact-top{display:grid;grid-template-columns:.78fr 1.22fr;gap:60px;padding-bottom:60px}
.contact-brand{font-family:var(--display);font-size:clamp(80px,10.6vw,160px);line-height:.72;font-weight:600;letter-spacing:-.055em;color:#e7e3da}
.contact h2{font-size:clamp(48px,5.5vw,82px);margin:0 0 18px;text-transform:uppercase}
.contact .section-kicker{color:#8e8a82}
.contact [style]{color:#98948c!important}
.contact-links{display:flex;flex-direction:column;border-top:1px solid var(--line);margin-top:24px}
.contact-links a{padding:11px 0;border-bottom:1px solid var(--line);font-size:11px;transition:color .25s ease}
.contact-links a:hover{color:#fff}
.contact-bottom{border-top:1px solid var(--line);padding-top:16px;display:flex;justify-content:space-between;font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:#858179}

/* catalogue pages */
.page-header{background:#0a0a0a;padding-top:var(--header-h)}
.page-hero{min-height:48vh;padding:clamp(70px,7vw,110px) var(--pad) 46px;display:grid;grid-template-columns:1.4fr .6fr;gap:48px;align-items:end;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(66px,9.4vw,142px);margin:0;text-transform:uppercase}
.page-hero>p{margin:0;color:#98948d;max-width:480px}
.portfolio-grid{padding:clamp(42px,5vw,72px) var(--pad) clamp(80px,8vw,120px);display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(32px,4.2vw,62px) clamp(14px,2vw,28px);background:#0d0d0d;color:var(--text)}
.portfolio-card{grid-column:span 4;min-width:0}
.portfolio-card:nth-child(5n+1),.portfolio-card:nth-child(5n+4){grid-column:span 5}
.portfolio-card:nth-child(5n+2),.portfolio-card:nth-child(5n+5){grid-column:span 3}
.portfolio-card:nth-child(5n+3){grid-column:span 4}
.portfolio-visual{aspect-ratio:2/3;overflow:hidden;background:#151515;position:relative}
.portfolio-card:nth-child(5n+1) .portfolio-visual,.portfolio-card:nth-child(5n+4) .portfolio-visual{aspect-ratio:4/5}
.portfolio-visual img{width:100%;height:100%;object-fit:cover;transition:transform .82s var(--ease),filter .4s ease}
.portfolio-card:hover img{transform:scale(1.028);filter:saturate(1.04)}
.portfolio-visual:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.08);pointer-events:none}
.portfolio-copy{padding-top:13px;border-top:1px solid var(--line);margin-top:10px;display:grid;grid-template-columns:1fr auto;gap:16px}
.portfolio-copy span{font-size:7px;text-transform:uppercase;letter-spacing:.12em;color:#8e8a82}
.portfolio-copy h2{font-size:clamp(30px,3vw,48px);margin:5px 0 7px;text-transform:uppercase}
.portfolio-copy p{margin:0;color:#8e8a82;font-size:9px}
.portfolio-open{width:40px;height:40px;border:1px solid rgba(255,255,255,.3);border-radius:50%;display:grid;place-items:center;align-self:start;transition:.33s var(--ease)}
.portfolio-card:hover .portfolio-open{background:#f1eee7;color:#080808;transform:rotate(45deg)}
.simple-footer{padding:22px var(--pad);display:flex;justify-content:space-between;border-top:1px solid var(--line);background:#080808;color:#a5a198;font-size:8px;text-transform:uppercase;letter-spacing:.12em}

/* project pages */
.project-topbar{position:absolute;z-index:15;left:0;right:0;top:0;height:72px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#fff}
.project-wordmark{display:flex;align-items:center;width:106px;height:46px}
.project-wordmark img{display:block;width:100%;height:auto;max-height:46px;object-fit:contain;object-position:left center}
.project-hero{position:relative;min-height:92svh;display:flex;align-items:flex-end;overflow:hidden;background:#111}
.project-hero-media{position:absolute;inset:0}
.project-hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.9)}
.project-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.7) 0%,rgba(0,0,0,.15) 68%),linear-gradient(0deg,rgba(0,0,0,.8),transparent 58%)}
.project-hero-copy{position:relative;z-index:2;width:100%;padding:110px var(--pad) 40px;display:grid;grid-template-columns:1.4fr .6fr;gap:55px;align-items:end}
.project-hero h1{font-size:clamp(62px,9.5vw,146px);margin:0;text-transform:uppercase;max-width:1200px}
.project-hero-side{border-top:1px solid rgba(255,255,255,.45);padding-top:15px}
.project-hero-side p{color:#d1cdc5;margin-bottom:10px}
.project-status{display:inline-block;margin:2px 0 4px;padding:6px 8px;border:1px solid rgba(255,255,255,.28);font-size:7px;line-height:1;text-transform:uppercase;letter-spacing:.13em;color:#d2cec6}
.project-hero-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:13px}
.project-overview{background:#101010;color:var(--text);padding:clamp(66px,7vw,108px) var(--pad);display:grid;grid-template-columns:minmax(240px,.5fr) minmax(0,1.5fr);gap:clamp(42px,6vw,90px)}
.project-poster{position:sticky;top:100px;align-self:start}
.project-poster img{width:100%;aspect-ratio:2/3;object-fit:cover;background:#151515}
.project-story h2{font-size:clamp(46px,5vw,76px);margin:0 0 24px;text-transform:uppercase}
.project-story .lead{font-size:clamp(17px,1.55vw,22px);line-height:1.5;max-width:900px;margin-bottom:42px;color:#d0ccc4}
.project-meta{border-top:1px solid var(--line)}
.project-meta div{display:grid;grid-template-columns:145px 1fr;gap:20px;padding:11px 0;border-bottom:1px solid var(--line)}
.project-meta dt{font-size:7px;text-transform:uppercase;letter-spacing:.12em;color:#817d76}
.project-meta dd{margin:0;font-size:10px;color:#d3cfc7}
.project-gallery{background:#0a0a0a;padding:clamp(66px,7vw,108px) var(--pad)}
.project-gallery-head{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:32px}
.project-gallery h2{font-size:clamp(48px,5.8vw,88px);margin:0;text-transform:uppercase}
.gallery-note{max-width:430px;color:#87837c;font-size:10px;margin:0 0 5px;text-align:right}
.gallery-grid{display:grid;grid-template-columns:1.35fr .65fr .65fr;grid-auto-rows:minmax(220px,27vw);gap:6px}
.gallery-item{overflow:hidden;background:#141414}
.gallery-item:first-child{grid-row:span 2}
.gallery-item:nth-child(4n){grid-column:span 2}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.gallery-item:hover img{transform:scale(1.022)}
.credits{padding:clamp(66px,7vw,108px) var(--pad);background:#111}
.credits>.eyebrow{margin-bottom:26px}
.credit-row{display:grid;grid-template-columns:minmax(120px,.35fr) 1.65fr;gap:40px;padding:15px 0;border-top:1px solid var(--line)}
.credit-row:last-child{border-bottom:1px solid var(--line)}
.credit-row span{font-size:8px;color:#8f8b83;text-transform:uppercase;letter-spacing:.11em}
.credit-row strong{font-family:var(--display);font-size:clamp(25px,2.5vw,38px);line-height:1;font-weight:500}
.next-project{display:grid;grid-template-columns:.7fr 1.3fr;min-height:58vh;background:#0e0e0e;color:var(--text);border-top:1px solid var(--line)}
.next-project-copy{padding:54px var(--pad);display:flex;justify-content:center;flex-direction:column}
.next-project-copy h2{font-size:clamp(50px,6.2vw,94px);margin:0 0 24px;text-transform:uppercase}
.next-project-art{overflow:hidden;background:#151515}
.next-project-art img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.next-project:hover .next-project-art img{transform:scale(1.022)}
.project-contact{padding:clamp(62px,6.2vw,92px) var(--pad);background:#090909;color:var(--text);border-top:2px solid var(--accent)}
.project-contact h2{font-size:clamp(48px,5.5vw,82px);margin:0 0 20px;text-transform:uppercase}
.project-contact a{font-family:var(--display);font-size:clamp(25px,2.6vw,38px);border-bottom:1px solid currentColor}

/* trailer modal */
.video-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;visibility:hidden;opacity:0;transition:opacity .22s ease,visibility .22s}
.video-modal.open{visibility:visible;opacity:1}
.video-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.86);backdrop-filter:blur(9px)}
.video-modal-dialog{position:relative;z-index:2;width:min(1080px,90vw);background:#050505;box-shadow:0 28px 100px rgba(0,0,0,.6)}
.video-modal-frame{aspect-ratio:16/9;background:#000}
.video-modal-frame iframe{display:block;width:100%;height:100%;border:0}
.video-modal-close{position:absolute;z-index:3;right:-16px;top:-16px;width:42px;height:42px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:#0a0a0a;color:#fff;font-size:24px;line-height:1;cursor:pointer}

@media(min-width:981px){
  .hero{height:100svh;min-height:760px;max-height:1000px}
  .hero h1{font-size:clamp(58px,7vw,104px)}
  #production.section{padding-top:54px;padding-bottom:54px}
  #production .section-head{margin-bottom:26px}
  #production .section-head h2{font-size:clamp(48px,5vw,74px)}
  #production .production-item{min-height:66px;padding:11px 2px}
  #production .production-copy h3{font-size:clamp(28px,2.55vw,40px)}
  #production .section-more{margin-top:20px}
}

@media(max-width:980px){
  :root{--header-h:70px}
  .desktop-nav{display:none}.menu-btn{display:block}
  .hero-content{grid-template-columns:1fr;gap:34px;padding-bottom:30px}
  .hero h1{font-size:clamp(58px,10.5vw,96px)}
  .hero-feature{max-width:420px}
  .section-head,.services-intro{grid-template-columns:1fr;gap:22px}
  .release-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:300px 220px}
  .release-shot:first-child{grid-column:1/3}
  .manifesto{height:auto;min-height:0;grid-template-columns:1fr 1fr}
  .manifesto-copy{padding:50px var(--pad)}
  .manifesto h2{font-size:clamp(50px,6.8vw,70px)}
  .manifesto-art{min-height:0}
  .slate-shell{grid-template-columns:minmax(0,1fr) minmax(260px,.58fr);gap:28px}
  .production-copy h3{font-size:clamp(30px,4vw,42px)}
  .about{grid-template-columns:.28fr 1.2fr}.about>div:nth-child(2){grid-column:auto}.about-side{display:none}
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-hero{grid-template-columns:1fr}
  .portfolio-grid{grid-template-columns:repeat(2,1fr)}
  .portfolio-card,.portfolio-card:nth-child(n){grid-column:auto}
  .project-hero-copy{grid-template-columns:1fr;gap:32px}
  .project-hero-side{max-width:500px}
  .project-overview{grid-template-columns:.58fr 1.42fr;gap:38px}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:300px}
  .gallery-item:first-child{grid-column:1/3;grid-row:auto}.gallery-item:nth-child(4n){grid-column:auto}
  .next-project{grid-template-columns:1fr 1fr}
}

@media(max-width:700px){
  :root{--pad:20px}
  .site-header{padding:0 var(--pad)}.wordmark{width:88px;height:40px}.wordmark img{max-height:40px}
  .project-wordmark{width:86px;height:40px}.project-wordmark img{max-height:40px}
  .hero{min-height:92svh}
  .hero-content{padding-top:112px;padding-bottom:28px}
  .hero h1{font-size:clamp(52px,16vw,82px)}
  .hero-sub{font-size:12px}
  .hero-feature{max-width:none;width:100%}
  .hero-feature-actions{gap:14px}
  .section{padding:62px var(--pad)}
  .section-head h2,.services h2{font-size:clamp(48px,14vw,72px)}
  .film-card{flex-basis:72vw}.rail-note{display:none}
  .release-mosaic{grid-template-columns:1fr;grid-template-rows:none;margin-top:44px}
  .release-shot,.release-shot:first-child{grid-column:auto;height:54vw;min-height:220px}
  .manifesto{grid-template-columns:1fr;height:auto}.manifesto-art{min-height:48svh;order:-1}.manifesto-copy{padding:58px var(--pad)}.manifesto h2{font-size:clamp(50px,14vw,76px)}
  .slate-shell{grid-template-columns:1fr}.slate-preview{display:none}
  .production-item{grid-template-columns:28px 1fr 32px;gap:9px;padding:15px 0;min-height:70px}.production-copy h3{font-size:clamp(31px,9.5vw,46px)}
  .about{padding:62px var(--pad);grid-template-columns:1fr;gap:22px}.about>div:nth-child(2){grid-column:auto}.about h2{font-size:clamp(46px,13vw,70px)}
  .partners{padding:34px 0}.partner-sequence{gap:42px;padding-right:34px}.partner-logo{width:96px;height:54px}.partner-logo.logo-wide{width:142px}.partner-logo.logo-square{width:62px}.partner-logo img{height:38px}.partner-logo.logo-square img{height:46px}
  .services{padding:58px var(--pad)}.services-intro{margin-bottom:28px}.service-grid{grid-template-columns:1fr}.service-card{min-height:165px;padding:18px}.service-card h3{font-size:clamp(31px,10vw,45px);margin:28px 0 10px}.service-card p{font-size:10px}
  .contact{padding-top:58px}.contact-top{grid-template-columns:1fr;gap:40px;padding-bottom:46px}.contact-brand{font-size:26vw}.contact h2{font-size:clamp(48px,14vw,72px)}.contact-bottom{flex-direction:column;gap:8px}
  .page-hero{min-height:44vh;padding-top:74px}.page-hero h1{font-size:clamp(62px,18vw,98px)}
  .portfolio-grid{grid-template-columns:1fr;padding:38px var(--pad) 78px;gap:48px}.portfolio-card:nth-child(n){grid-column:auto}.portfolio-card:nth-child(n) .portfolio-visual{aspect-ratio:2/3}
  .project-hero{min-height:82svh}.project-hero-copy{padding:105px var(--pad) 32px}.project-hero h1{font-size:clamp(58px,17vw,96px)}
  .project-overview{padding:62px var(--pad);grid-template-columns:1fr}.project-poster{position:relative;top:auto;max-width:66vw}.project-meta div{grid-template-columns:105px 1fr}
  .project-gallery{padding:60px var(--pad)}.project-gallery-head{display:block}.gallery-note{text-align:left;margin-top:12px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:62vw}.gallery-item:first-child,.gallery-item:nth-child(4n){grid-column:auto;grid-row:auto}
  .credits{padding:60px var(--pad)}.credit-row{grid-template-columns:105px 1fr;gap:20px}
  .next-project{grid-template-columns:1fr;min-height:0}.next-project-art{min-height:48vh;order:-1}.next-project-copy{padding:48px var(--pad)}
  .project-contact{padding:58px var(--pad)}
  .video-modal-dialog{width:94vw}.video-modal-close{right:6px;top:-52px}
  .simple-footer{flex-direction:column;gap:7px}
}

@media(hover:none){
  .film-card-arrow{opacity:1;transform:scale(1)}
  .service-card:hover{background:#0b0b0b}.service-card:hover:before{opacity:0}
  .production-item:hover:before{transform:scaleX(0)}.production-item:hover:after{transform:scaleY(0)}
  .production-item.active:before{transform:scaleX(1)}.production-item.active:after{transform:scaleY(1)}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition-duration:.001ms!important;transition-delay:0s!important}
  .reveal{opacity:1;transform:none}
  .hero-layer{transform:none}
}

/* Remote-media state: never show a broken-image icon while a fallback is being resolved. */
img.media-loading{opacity:.92}
img.media-ready{opacity:1}

/* Keyboard navigation should be obvious without changing the visual language. */
a:focus-visible,button:focus-visible{outline:1px solid rgba(244,241,234,.9);outline-offset:4px}
