:root{--paper:#f4f3ee;--paper2:#fbfaf7;--ink:#0b0b0c;--line:#e2dfd6;--muted:#6c6a62;--red:#e10600;--disp:"Archivo",system-ui,sans-serif;--sans:"Hanken Grotesk",system-ui,sans-serif;--mono:"Space Mono",ui-monospace,monospace;--ease:cubic-bezier(.2,.7,.2,1);--out:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}::selection{background:var(--red);color:#fff}:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.skip{position:fixed;left:12px;top:-80px;z-index:300;background:#fff;padding:.7rem 1rem}.skip:focus{top:12px}
.flash{position:fixed;inset:0;background:#fff;z-index:200;pointer-events:none;opacity:0}.streak{position:fixed;top:0;left:-40%;width:38%;height:100%;z-index:199;pointer-events:none;opacity:0;background:linear-gradient(100deg,transparent,rgba(225,6,0,0) 35%,rgba(255,255,255,.85) 50%,rgba(225,6,0,0) 65%,transparent);transform:skewX(-14deg)}
.nav{position:fixed;inset:0 0 auto;z-index:120;border-bottom:1px solid transparent;transition:.35s var(--ease)}.nav.solid{background:rgba(244,243,238,.94);backdrop-filter:blur(12px);border-color:var(--line)}.navin{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:10px clamp(20px,5vw,56px)}.brand{display:flex;align-items:center;white-space:nowrap}.brand img{width:clamp(142px,13vw,180px);height:auto}.navlinks{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2rem)}.navlinks a{font:700 .94rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#514f49;transition:color .25s}.navlinks a:hover,.navlinks a[aria-current=page]{color:var(--red)}.navcta{background:var(--ink);color:#fff;padding:1em 1.35em;font:700 .9rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.navcta:hover{background:var(--red)}
.wrap{width:min(1240px,100%);margin:auto;padding-inline:clamp(20px,5vw,56px)}.sec{position:relative;padding-block:clamp(76px,11vw,146px)}.ink{background:var(--ink);color:var(--paper)}.redbg{background:var(--red);color:#fff}.paper2{background:var(--paper2);border-block:1px solid var(--line)}.take{position:absolute;top:clamp(25px,4vw,48px);right:clamp(20px,5vw,56px);font:700 .86rem/1 var(--mono);letter-spacing:.13em;color:var(--muted)}.ink .take{color:#999}.ey{display:flex;align-items:center;gap:.85rem;margin-bottom:1.55rem;color:var(--red);font:700 .95rem/1.25 var(--mono);letter-spacing:.16em;text-transform:uppercase}.ey:before{content:"";width:40px;height:3px;background:currentColor}.redbg .ey{color:#fff}.hx{font-family:var(--disp);font-weight:800;line-height:.96;letter-spacing:-.02em;text-transform:uppercase}.xl{font-size:clamp(3rem,8vw,7rem)}.lg{font-size:clamp(2.25rem,5.6vw,4.7rem)}.md{font-size:clamp(1.6rem,3.7vw,3rem)}.redtxt{color:var(--red)}.redbg .redtxt{color:var(--ink)}.lede{max-width:55ch;font-size:clamp(1.2rem,1.75vw,1.48rem);line-height:1.65;color:#5d5b55}.ink .lede,.redbg .lede{color:rgba(255,255,255,.82)}.copy{max-width:70ch;color:#5d5b55;font-size:clamp(1.16rem,1.45vw,1.32rem);line-height:1.7}.copy p+p{margin-top:1.2rem}.ink .copy{color:rgba(255,255,255,.8)}
.btn{display:inline-flex;align-items:center;gap:.8rem;border:1px solid var(--ink);background:var(--ink);color:#fff;padding:1.08em 1.65em;font:700 .92rem/1.15 var(--mono);letter-spacing:.1em;text-transform:uppercase;transition:.3s var(--ease)}.btn:hover{background:var(--red);border-color:var(--red)}.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{background:var(--ink);color:#fff}.ink .btn.ghost,.redbg .btn{border-color:#fff;color:#fff}.redbg .btn:hover{background:#fff;color:var(--red)}
.hero{min-height:100svh;display:grid;grid-template-columns:1.04fr .96fr}.herotext{display:flex;flex-direction:column;justify-content:center;padding:clamp(125px,15vw,175px) clamp(20px,5vw,56px) clamp(50px,7vw,80px)}.micro{display:flex;align-items:center;gap:.85rem;margin-bottom:1.9rem;font:700 .95rem/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#5d5b55}.micro:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--red);animation:blink 1.4s steps(2) infinite}.herotitle{font-family:var(--disp);font-size:clamp(3rem,7.3vw,6.8rem);font-weight:900;line-height:.91;letter-spacing:-.025em;text-transform:uppercase}.herotitle span{display:block}.herosub{max-width:48ch;margin-top:1.9rem;color:#5d5b55;font-size:clamp(1.2rem,1.75vw,1.48rem);line-height:1.65}.heroactions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.5rem}.heromedia{position:relative;overflow:hidden;background:#111}.heromedia img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%) contrast(110%) brightness(.82)}.heromedia:after{content:"";position:absolute;inset:0;background:linear-gradient(200deg,rgba(225,6,0,.05),rgba(225,6,0,.35));mix-blend-mode:multiply}.herolabel{position:absolute;right:20px;bottom:18px;z-index:3;color:#fff;text-align:right;font:700 .9rem/1.75 var(--mono);letter-spacing:.11em;text-transform:uppercase}.herolabel b{color:var(--red)}
.marq{background:var(--ink);color:#fff;overflow:hidden;padding:.95rem 0}.marqtrack{display:flex;width:max-content;animation:scroll 28s linear infinite}.marqtrack span{display:inline-flex;align-items:center;gap:1.35rem;padding:0 1.35rem;font:800 clamp(.95rem,1.7vw,1.25rem)/1 var(--disp);text-transform:uppercase;white-space:nowrap}.marqtrack span:after{content:"";width:7px;height:7px;border-radius:50%;background:var(--red)}
.split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,7vw,7rem);align-items:start}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:clamp(2.2rem,5vw,4rem)}.card{border-top:1px solid var(--line);padding-top:1.4rem}.cardnum{color:var(--red);font:700 .88rem/1 var(--mono);letter-spacing:.1em}.card h3{margin-top:.9rem;font:800 clamp(1.3rem,2.3vw,1.9rem)/1.05 var(--disp);text-transform:uppercase}.card p{margin-top:.8rem;color:#5d5b55;font-size:clamp(1.15rem,1.4vw,1.3rem);line-height:1.65}.ink .card{border-color:#2b2b2d}.ink .card p{color:#c3c3c3}
.media{position:relative;overflow:hidden;background:#111}.media img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%) contrast(108%) brightness(.92);transition:.8s var(--ease)}.media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(225,6,0,.3));mix-blend-mode:multiply}.media:hover img{transform:scale(1.04);filter:grayscale(30%) contrast(108%)}.media.landscape{aspect-ratio:16/7}.media.portrait{aspect-ratio:4/5}.tag{position:absolute;left:16px;bottom:14px;z-index:2;background:var(--red);color:#fff;padding:.62em .9em;font:700 .9rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}.reelgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.reelgrid .media{aspect-ratio:4/5}
.rows{margin-top:2.2rem}.row{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(1.5rem,5vw,5rem);padding:clamp(1.6rem,3vw,2.35rem) 0;border-top:1px solid var(--line)}.row:last-child{border-bottom:1px solid var(--line)}.row h3{font:800 clamp(1.35rem,2.7vw,2.05rem)/1.05 var(--disp);text-transform:uppercase}.row p,.row ul{color:#5d5b55;font-size:clamp(1.14rem,1.45vw,1.3rem);line-height:1.65}.ink .row p,.ink .row ul{color:#c3c3c3}.row ul{list-style:none}.row li+li{margin-top:.35rem}.row li:before{content:"+";color:var(--red);margin-right:.7rem;font-family:var(--mono)}
.screening-rows .row{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(1.25rem,2vw,2rem)}.screening-rows .row h3{font-size:clamp(1.05rem,1.5vw,1.35rem)}.screening-rows .row p{min-width:0}
.quote{max-width:20ch}.quotecredit{margin-top:1.3rem;color:rgba(255,255,255,.8);font:700 .9rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}.video{position:relative;aspect-ratio:16/9;background:#000;margin-top:2.3rem}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.journey{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:2.5rem}.journey .media{background:#fff;min-height:330px}.journey img{object-fit:contain;padding:2rem;filter:grayscale(100%)}
.contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,7rem)}.contactlinks{display:grid;gap:1rem;align-content:start}.contactlink{border-top:1px solid #303033;padding:1.1rem 0;display:flex;justify-content:space-between;gap:1rem;font-family:var(--mono);font-size:.92rem;font-weight:700;line-height:1.5;letter-spacing:.08em;text-transform:uppercase}.contactlink:hover{color:var(--red)}.footer{padding:2rem clamp(20px,5vw,56px);background:var(--ink);color:#aaa;border-top:1px solid #252527;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font:700 .86rem/1.7 var(--mono);letter-spacing:.08em;text-transform:uppercase}
html.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--out),transform .8s var(--out)}html.js .reveal.in{opacity:1;transform:none}
@keyframes blink{50%{opacity:.25}}@keyframes scroll{to{transform:translateX(-50%)}}@keyframes flashOnce{0%{opacity:0}18%{opacity:.9}100%{opacity:0}}@keyframes streakOnce{0%{opacity:0;left:-40%}30%{opacity:1}100%{opacity:0;left:130%}}
@media(prefers-reduced-motion:no-preference){.flash{animation:flashOnce .7s ease .15s}.streak{animation:streakOnce 1s var(--out) .2s}}
@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:auto}.heromedia{height:62vh}.split,.contactgrid{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}.reelgrid{grid-template-columns:1fr 1fr}.navlinks{gap:.9rem}.navlinks a{font-size:.86rem}.navcta{display:none}}
@media(max-width:650px){.navin{flex-wrap:wrap;justify-content:center;gap:.65rem;padding-block:8px}.brand{width:100%;justify-content:center}.brand img{width:132px}.navlinks{width:100%;justify-content:center;gap:.8rem;flex-wrap:wrap}.navlinks a{font-size:.82rem}.herotext{padding-top:155px}.herotitle{font-size:2.1rem}.heroactions{gap:.7rem}.cards,.reelgrid,.journey{grid-template-columns:1fr}.row{grid-template-columns:1fr;gap:.75rem}.take{display:none}.sec{padding-top:80px}.hero .heromedia{height:56vh}.contactlink{font-size:.82rem;flex-wrap:wrap}.footer{display:block}.footer span{display:block;margin-top:.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.flash,.streak{display:none}.marqtrack{animation:none}.reveal{opacity:1;transform:none;transition:none}}

/* 2026 cinema navigation + production system */
.nav,.nav.solid{background:rgba(11,11,12,.96);border-bottom:1px solid #29292c;backdrop-filter:blur(14px)}
.nav:after{content:"";position:absolute;left:0;bottom:-1px;width:clamp(92px,18vw,270px);height:2px;background:var(--red)}
.navin{min-height:76px;padding-block:10px}.navin>*{min-width:0}
.brand{color:#fff;font:800 clamp(1.05rem,1.55vw,1.42rem)/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.brand-main{display:block}.brand-colon{color:var(--red)}
.navlinks{max-width:100%;margin-inline:auto}
.navlinks a{position:relative;color:#c9c7bf;font-size:.86rem;letter-spacing:.08em;padding:.9rem 0;white-space:nowrap}
.navlinks a:after{content:"";position:absolute;left:0;right:0;bottom:.42rem;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.navlinks a:hover,.navlinks a[aria-current=page]{color:#fff}.navlinks a:hover:after,.navlinks a[aria-current=page]:after{transform:scaleX(1)}
.navcta{background:var(--red);color:#fff}.navcta:hover{background:#fff;color:var(--ink)}

.shooting-hud{position:absolute;z-index:4;top:96px;left:20px;display:flex;align-items:center;gap:.8rem;padding:.72rem .82rem;background:rgba(11,11,12,.82);border:1px solid rgba(255,255,255,.22);color:#fff;font:700 .72rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(8px)}
.shooting-state{display:flex;align-items:center;gap:.42rem;color:#fff}.shooting-state:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red);animation:blink 1.1s steps(2) infinite}.shooting-time{font-variant-numeric:tabular-nums;color:#fff}.shooting-camera{color:#aaa}

.hero{grid-template-columns:1.24fr .76fr}
.hero,.herotext,.heromedia{min-width:0}
.herotext{container-type:inline-size}
.herotitle{font-size:clamp(3rem,calc(100cqi/9.8),7rem)}
.production-index{position:relative;scroll-margin-top:76px;padding-block:clamp(74px,8vw,110px);background:var(--paper2);border-bottom:1px solid var(--line)}
.production-head{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(2rem,7vw,7rem);align-items:end;margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.production-head .hx{max-width:13ch}.production-intro{max-width:48ch;color:#5d5b55;font-size:clamp(1.18rem,1.6vw,1.42rem)}
.production-paths{border-bottom:1px solid var(--line)}
.production-path{display:grid;grid-template-columns:64px minmax(210px,.7fr) minmax(260px,1.3fr) auto;gap:clamp(1rem,3vw,2.8rem);align-items:center;padding:clamp(1.35rem,2.5vw,2rem) 0;border-top:1px solid var(--line);transition:color .25s var(--ease),padding-left .25s var(--ease)}
.production-path:hover{color:var(--red);padding-left:10px}.production-path__num{font:700 .78rem/1 var(--mono);letter-spacing:.1em;color:var(--red)}
.production-path h3{font:800 clamp(1.45rem,2.5vw,2.15rem)/1 var(--disp);text-transform:uppercase}.production-path p{color:#5d5b55;font-size:1.08rem;line-height:1.45}.production-path__action{font:700 .76rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}

.campaign-map{position:relative;overflow:hidden;margin-top:clamp(2.8rem,6vw,5rem);padding:clamp(1.5rem,4vw,3rem);background:var(--ink);color:var(--paper)}
.campaign-map__head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1.2rem;border-bottom:1px solid #303033;font:700 .74rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.campaign-map__head strong{color:var(--red)}.campaign-map__head span:last-child{color:#969690;text-align:right}
.campaign-flow-wrap{position:relative}.campaign-flow{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;margin-top:2rem;padding-top:2.3rem}
.campaign-flow:before{content:"";position:absolute;left:0;right:0;top:10px;height:2px;background:var(--red);transform-origin:left}html.js .campaign-flow:before{transform:scaleX(.04)}
.campaign-stage{position:relative;padding-right:clamp(.75rem,2vw,1.6rem)}html.js .campaign-stage{opacity:.46;transform:translateY(8px)}
.campaign-stage:before{content:"";position:absolute;top:-31px;left:0;width:12px;height:12px;border:2px solid var(--paper);border-radius:50%;background:var(--ink);transition:background .25s}
.campaign-stage__num{display:block;color:var(--red);font:700 .72rem/1 var(--mono);letter-spacing:.1em}.campaign-stage__phase{display:block;margin:.65rem 0 .35rem;color:#969690;font:700 .68rem/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.campaign-stage h3{font:800 clamp(1.15rem,1.8vw,1.58rem)/1.05 var(--disp);text-transform:uppercase}.campaign-stage p{margin-top:.75rem;color:#b9b9b5;font-size:.98rem;line-height:1.5}
.campaign-signal{position:absolute;z-index:2;top:calc(2rem + 5px);left:0;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 0 5px rgba(225,6,0,.28);opacity:0}
html.js .campaign-map.in .campaign-flow:before{animation:campaignLine 4.2s var(--out) .18s forwards}
html.js .campaign-map.in .campaign-stage{animation:campaignStage .7s var(--out) calc(.35s + var(--i)*.68s) forwards}
html.js .campaign-map.in .campaign-signal{animation:campaignSignal 4.2s var(--ease) .18s forwards}
@keyframes campaignLine{to{transform:scaleX(1)}}@keyframes campaignStage{to{opacity:1;transform:none}}@keyframes campaignSignal{0%{left:0;opacity:0}4%{opacity:1}96%{opacity:1}100%{left:calc(100% - 12px);opacity:0}}

@media(max-width:1100px){.navlinks{gap:1rem}.navlinks a{font-size:.76rem}.production-path{grid-template-columns:48px minmax(180px,.75fr) minmax(220px,1.25fr) auto}}
@media(max-width:900px){.shooting-hud{top:18px}.production-head{grid-template-columns:1fr}.production-path{grid-template-columns:48px minmax(0,.9fr) minmax(0,1.1fr)}.production-path__action{grid-column:2/-1}.campaign-flow{grid-template-columns:1fr;gap:1.35rem;padding:0 0 0 2.3rem}.campaign-flow:before{left:8px;right:auto;top:0;bottom:0;width:2px;height:auto;transform:none;transform-origin:top}html.js .campaign-flow:before{transform:scaleY(.04)}.campaign-stage{padding:0 0 1rem}.campaign-stage:before{top:2px;left:-35px}.campaign-signal{top:2rem;left:3px}.campaign-map.in .campaign-flow:before{animation-name:campaignLineVertical}.campaign-map.in .campaign-signal{animation-name:campaignSignalVertical}@keyframes campaignLineVertical{to{transform:scaleY(1)}}@keyframes campaignSignalVertical{0%{top:2rem;opacity:0}4%{opacity:1}96%{opacity:1}100%{top:calc(100% - 12px);opacity:0}}}
@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:auto}.heromedia{height:62vh}}
@media(max-width:650px){.navin{display:grid;grid-template-columns:1fr;gap:.45rem;min-height:106px;padding:10px 20px}.brand{width:auto;justify-content:flex-start;font-size:1rem}.navlinks{width:calc(100vw - 40px);margin:0 auto;justify-content:center;flex-wrap:wrap;gap:.5rem .7rem;padding-bottom:2px;scrollbar-width:none}.navlinks::-webkit-scrollbar{display:none}.navlinks a{font-size:.86rem;padding:.45rem 0 .6rem}.navlinks a:after{bottom:.18rem}.herotext{padding-top:150px}.production-index{scroll-margin-top:106px}.production-path{grid-template-columns:38px 1fr;gap:.7rem 1rem}.production-path p,.production-path__action{grid-column:2}.campaign-map{padding:1.3rem}.campaign-map__head{align-items:flex-start;flex-direction:column}.shooting-hud{font-size:.65rem;gap:.55rem}}
@media(max-width:650px){.screening-rows .row{grid-template-columns:1fr}}
@media(max-width:650px){.herotitle{font-size:2.1rem}}
@media(max-width:380px){.herotitle{font-size:1.92rem}}

/* Production rate: editorial price block. Reuses paper/ink/red tokens, no card chrome. */
.rate{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.rate>*{min-width:0}
/* One step below a primary section headline: the rate is secondary to the page's argument. */
.rate__lead .hx{font-size:clamp(2.05rem,4.7vw,3.95rem)}
.rate__lead .lede{margin-top:1.5rem}
.rate__lead .rate__note{margin-top:1.6rem}
.rate__panel{border-top:2px solid var(--ink);padding-top:clamp(1.4rem,2.4vw,2rem)}
.rate__meta{display:flex;align-items:center;gap:.8rem;color:var(--muted);font:700 .74rem/1.3 var(--mono);letter-spacing:.13em;text-transform:uppercase}
.rate__meta:after{content:"";flex:1 1 auto;height:1px;background:var(--line)}
.rate__figure{display:flex;align-items:flex-start;gap:.03em;margin-top:1.15rem;font-family:var(--disp);font-weight:900;font-size:clamp(3.5rem,8.6vw,6.4rem);line-height:.88;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.rate__cur{color:var(--red);font-size:.44em;line-height:1.32}
.rate__unit{margin-top:.95rem;font:700 clamp(.76rem,1vw,.9rem)/1.4 var(--mono);letter-spacing:.16em;text-transform:uppercase}
.rate__note{max-width:44ch;margin-top:1.3rem;color:#5d5b55;font-size:clamp(1rem,1.15vw,1.1rem);line-height:1.62}
.rate__cta{margin-top:clamp(1.7rem,2.6vw,2.2rem)}
.rate__note a{text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:1px;text-underline-offset:.22em;transition:color .25s var(--ease)}
.rate__note a:hover{color:var(--red)}

/* Feature-film slate: release status and external release destination. */
.cardhead{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
.filmstatus{display:inline-flex;align-items:center;gap:.5rem;padding:.5em .8em;font:700 .72rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.filmstatus--live{background:var(--red);color:#fff}
.filmstatus--live:before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;animation:blink 1.4s steps(2) infinite}
.filmstatus--post{border:1px solid var(--line);color:var(--muted)}
.card .filmmeta{margin-top:.9rem;color:var(--muted);font:700 .8rem/1.7 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.card .filmnote{margin-top:1.5rem;color:var(--muted);font:700 .74rem/1.4 var(--mono);letter-spacing:.11em;text-transform:uppercase}
.filmcta{margin-top:1.5rem}

/* Footer social row. Text labels, not brand icons: the site carries no icons at
   all and is purely typographic, and third-party logos have their own usage rules. */
/* grid-template-columns is required: the base .footer rule sets
   justify-content:space-between, which in a grid context shrinks the single
   implicit column to max-content instead of filling the footer. */
.footer{display:grid;grid-template-columns:1fr;gap:clamp(1.1rem,2vw,1.5rem)}
.footer__social{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem 1.6rem;padding-bottom:clamp(1rem,1.8vw,1.35rem);border-bottom:1px solid #252527}
.footer__social a{color:#c9c7bf;transition:color .25s var(--ease)}
.footer__social a:hover{color:var(--red)}
.footer__meta{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
@media(max-width:650px){.footer{display:grid}.footer__meta{display:block;font-size:.6rem}.footer__meta span{display:block}.footer__meta span+span{margin-top:.5rem}.footer__social{gap:.5rem 1.2rem}}

/* A solid .btn on a .ink section was ink-on-ink: background, border and section
   all #0b0b0c, leaving only the label visible. Primary actions on dark surfaces
   now use the same red-to-white treatment as .navcta. */
.ink .btn:not(.ghost){background:var(--red);border-color:var(--red);color:#fff}
.ink .btn:not(.ghost):hover{background:#fff;border-color:#fff;color:var(--ink)}

/* First-party contact form. Lives on .ink sections; colours are contrast-checked
   against #0b0b0c: labels 11.6:1, placeholder 4.9:1, error #ff6a63 7.0:1.
   Production red is only 3.9:1 on ink, so it is never used for small text. */
.cform{border-top:2px solid var(--red);padding-top:clamp(1.4rem,2.4vw,2rem)}
.cform__meta{display:flex;align-items:center;gap:.8rem;color:#9a988f;font:700 .74rem/1.3 var(--mono);letter-spacing:.13em;text-transform:uppercase}
.cform__meta:after{content:"";flex:1 1 auto;height:1px;background:#2f2f33}
.cfield{margin-top:1.3rem}
.cfield>label{display:block;margin-bottom:.55rem;color:#c9c7bf;font:700 .74rem/1.3 var(--mono);letter-spacing:.13em;text-transform:uppercase}
.cfield .req{color:var(--red)}
.cfield input,.cfield select,.cfield textarea{width:100%;min-height:52px;padding:.9rem 1rem;background:#141416;border:1px solid #2f2f33;border-radius:0;color:#fff;font-family:var(--sans);font-size:1.02rem;line-height:1.5;transition:border-color .25s var(--ease),background .25s var(--ease)}
.cfield textarea{min-height:132px;resize:vertical}
.cfield select{appearance:none;padding-right:2.8rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23c9c7bf' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:12px}
.cfield input::placeholder,.cfield textarea::placeholder{color:#85837c}
.cfield input:hover,.cfield select:hover,.cfield textarea:hover{border-color:#4a4a50}
.cfield input:focus,.cfield select:focus,.cfield textarea:focus{outline:none;border-color:var(--red);background:#0e0e10}
.cfield input:focus-visible,.cfield select:focus-visible,.cfield textarea:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.cfield[data-invalid] input,.cfield[data-invalid] select,.cfield[data-invalid] textarea{border-color:#ff6a63}
.cerror{display:none;margin-top:.5rem;color:#ff6a63;font:700 .76rem/1.45 var(--mono);letter-spacing:.05em}
.cfield[data-invalid] .cerror{display:block}
.cform__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cform__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.1rem;margin-top:1.8rem}
.cform__btn[aria-busy=true]{opacity:.65;pointer-events:none}
.cform__status{flex-basis:100%;margin:0;color:#c9c7bf;font-family:var(--sans);font-size:clamp(1.02rem,1.3vw,1.16rem);line-height:1.55;font-weight:500}
.cform__status:empty{display:none}
.cform__status[data-state=ok]{color:#7ee0a8}
.cform__status[data-state=error]{color:#ff6a63}
.cform__alt{margin-top:1.6rem;padding-top:1.3rem;border-top:1px solid #232326;color:#9a988f;font-size:1rem;line-height:1.6}
.cform__alt a{color:#fff;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:1px;text-underline-offset:.22em;transition:color .25s var(--ease)}
.cform__alt a:hover{color:var(--red)}
.contactgrid .contactlinks{margin-top:2.4rem}

/* Contact section as a full-bleed editorial split: ink panel left, paper panel right.
   The dark half keeps the .ink token rules; the light half restyles the form for paper. */
.contact-split{padding:0;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.contact-split>*{display:flex;align-items:center;min-width:0}
.contact-split__dark{background:var(--ink)}
.contact-split__light{background:#fff}
.contact-split__inner{width:100%;max-width:34rem;padding:clamp(70px,9vw,132px) clamp(24px,5vw,68px)}
.contact-split__dark .contact-split__inner{margin-left:auto}
.contact-split__light .contact-split__inner{margin-right:auto}
.contact-split .contactlinks{margin-top:2.4rem}

/* Light form variant, contrast-checked on #fff: labels 8.9:1, placeholder 4.7:1,
   error #c81e17 5.2:1, help text 4.6:1. */
.contact-split__light .cform{border-top-color:var(--red)}
.contact-split__light .cform__meta{color:var(--muted)}
.contact-split__light .cform__meta:after{background:var(--line)}
.contact-split__light .cfield>label{color:#3f3d37}
.contact-split__light .cfield input,
.contact-split__light .cfield select,
.contact-split__light .cfield textarea{background-color:#fff;border-color:#d5d2c8;color:var(--ink)}
.contact-split__light .cfield input::placeholder,
.contact-split__light .cfield textarea::placeholder{color:#6c6a62}
.contact-split__light .cfield select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%236c6a62' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:12px}
.contact-split__light .cfield input:hover,
.contact-split__light .cfield select:hover,
.contact-split__light .cfield textarea:hover{border-color:#b3afa2}
.contact-split__light .cfield input:focus,
.contact-split__light .cfield select:focus,
.contact-split__light .cfield textarea:focus{border-color:var(--red);background:#fff}
.contact-split__light .cfield[data-invalid] input,
.contact-split__light .cfield[data-invalid] select,
.contact-split__light .cfield[data-invalid] textarea{border-color:#c81e17}
.contact-split__light .cerror{color:#c81e17}
.contact-split__light .cform__status{color:#3f3d37}
.contact-split__light .cform__status[data-state=ok]{color:#0a7d3c}
.contact-split__light .cform__status[data-state=error]{color:#c81e17}
.contact-split__light .cform__alt{color:var(--muted);border-top-color:var(--line)}
.contact-split__light .cform__alt a{color:var(--ink)}
@media(max-width:900px){.contact-split{grid-template-columns:1fr}.contact-split__inner{max-width:none;margin:0 auto}}

/* Footer social: recognisable brand glyphs in the text colour, turning red on hover. */
.footer__social a{display:inline-flex;align-items:center;gap:.55rem}
.footer__icon{width:1.4em;height:1.4em;flex:none;fill:currentColor}

#rate,#standalone,#package,#contact{scroll-margin-top:76px}
@media(max-width:900px){.rate{grid-template-columns:1fr;gap:clamp(1.8rem,5vw,2.6rem)}}
@media(max-width:650px){#rate,#standalone,#package,#contact{scroll-margin-top:106px}}
@media(max-width:380px){.rate__figure{font-size:3.1rem}}

/* Studio-light cue: darkness, one full-frame light switch, then exposure settles. */
.streak{display:none}
@keyframes studioLightOn{0%,14%{opacity:.96;background:#080809}15%{opacity:1;background:#fffaf0}28%{opacity:.78;background:#fffaf0}52%{opacity:.28;background:#fffaf0}100%{opacity:0;background:#fffaf0}}
@media(prefers-reduced-motion:no-preference){.flash{animation:studioLightOn .86s cubic-bezier(.2,.7,.25,1) both}}
@media(prefers-reduced-motion:reduce){html.js .reveal{opacity:1;transform:none;transition:none}.shooting-state:before,.filmstatus--live:before{animation:none}.campaign-flow:before{transform:none}.campaign-stage{opacity:1;transform:none}.campaign-signal{display:none}}
/* PhotoSerge Cinema — rotating hero background loops
   Dimmed like the poster photos; reveal full colour on hover (desktop). */
.heromedia video.hero-loop{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; z-index:1; pointer-events:none;
  opacity:0;
  filter:grayscale(100%) contrast(110%) brightness(.82);
  transition:opacity 1.1s ease, filter .7s var(--ease,ease), transform .7s var(--ease,ease);
  will-change:opacity,filter,transform;
}
.heromedia video.hero-loop.is-ready{ opacity:1; }
/* keep the site's red gradient above the video, huds/label above that */
.heromedia:after{ z-index:2; transition:opacity .7s ease; }
.heromedia .shooting-hud,.heromedia .herolabel{ z-index:3; }
/* hover → full original colour (desktop / mouse only) */
@media (hover:hover) and (pointer:fine){
  .heromedia:hover video.hero-loop.is-ready{
    filter:grayscale(0%) contrast(100%) brightness(1);
    transform:scale(1.03);
  }
  .heromedia:hover:after{ opacity:0; }
}
@media (prefers-reduced-motion:reduce){
  .heromedia video.hero-loop{ display:none; }
}
/* PhotoSerge Cinema — two-brand footer (v2).
   Aivan Lumen bar = dark (cream #c9c7bf icons on ink). Serge Ramelli bar = a soft
   GREY stripe (#c9c7bf, same tone as the Aivan letters) with black content.
   Both get a left-aligned brand label with a red colon (matching the logo). */
.footer__social{justify-content:flex-start}
.footer__brand{display:inline-flex;align-items:center;margin-right:.55rem;white-space:nowrap;letter-spacing:.1em;font-weight:700}
.footer__colon{color:var(--red,#e2483d);margin-left:.06em}

/* Serge Ramelli — full-bleed grey stripe, black content */
.footer__social--light{
  background:#c9c7bf;color:#111;border-bottom:none;
  margin-left:calc(-1 * clamp(20px,5vw,56px));
  margin-right:calc(-1 * clamp(20px,5vw,56px));
  padding:clamp(.85rem,1.7vw,1.15rem) clamp(20px,5vw,56px);
}
.footer__social--light a{color:#111}
.footer__social--light a:hover{color:var(--red,#e2483d)}
.footer__social--light .footer__brand{color:#111}
/* PhotoSerge Cinema — typography readability pass (2026-07-23).
   Findings (measured at 375px on the live site):
   - Body copy was #5d5b55 → ~6:1 on the cream bg: passes AA by a hair but reads
     washed-out on phones. Darkened to #47453f (~8.6:1, comfortable AAA) while
     staying a warm gray, not harsh black.
   - Footer address/copyright was .6rem = 9.6px uppercase mono — genuinely hard to
     read. Lifted to ~12.5px with tighter tracking.
   - Red eyebrow labels (.ey) were ~4:1 on cream (fail WCAG AA) and uppercase mono
     with wide tracking. Deepened the red to ~5.7:1 and trimmed the tracking.
   Dark-section variants (.redbg .lede/.ey, .ink .copy/.card p) keep their own
   colors via higher specificity, so these bare rules never touch them. */

/* Body paragraphs — warmer, darker ink on the cream background */
.herosub,
.lede,
.copy,
.production-intro,
.card p,
.rate__note{color:#47453f}

/* Hero kicker / small mono label — match the darker ink */
.micro{color:#47453f}

/* Red eyebrows — deepen the red so small uppercase labels clear WCAG AA on light */
.ey{color:#bf1206;letter-spacing:.13em}

/* Dark-section eyebrows — deep red is nearly unreadable on near-black
   (CR ~3.1); brighten it so it pops and clears AA (~6:1). */
.ink .ey{color:#ff4a3d}

/* Footer address / copyright — 9.6px was too small; lift to a readable size */
.footer__meta{font-size:.78rem;letter-spacing:.05em;line-height:1.7}
/* PhotoSerge Cinema — mobile footer social layout (2026-07-23).
   Problem on phones (<=650px): the site's `.footer span{display:block}` rule
   (used to stack the address lines) has higher specificity than
   .footer__brand / .footer__colon, so it was blockifying the brand label and
   pushing the red ":" onto its own line — and the icons wrapped into ragged
   1/3/2/2 rows.
   Fix: keep the brand label as an inline header spanning the full width, then
   lay the social links out in a tidy, even auto-fill grid. Scoped to <=650px so
   desktop/tablet are untouched. `.footer <double-class>` selectors outrank
   `.footer span` so the label/colon go back inline. */
@media (max-width:650px){
  .footer__social{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
    gap:.95rem 1.1rem;
    align-items:center;
  }
  /* brand label = full-width header row, colon back inline */
  .footer .footer__brand{
    grid-column:1 / -1;
    display:flex;
    align-items:center;
    margin:0 0 .15rem;
  }
  .footer .footer__colon{
    display:inline-block;
    margin:0 0 0 .06em;
  }
  /* each link keeps icon + label together, left-aligned in its cell */
  .footer__social a{justify-self:start}
}

/* FOOTER SITE CREDIT — mirrors the discreet attribution treatment on trishduggan.com. */
.site-credit{display:inline-block;margin-left:10px;padding-left:10px;border-left:1px solid #3a3a3d;color:#85837d}
.site-credit a{color:#c9c7bf;border-bottom:1px solid #55545a;transition:color .25s var(--ease),border-color .25s var(--ease)}
.site-credit a:hover{color:var(--red);border-color:var(--red)}
@media(max-width:650px){.site-credit{display:block;margin:.5rem 0 0;padding:0;border:0}}
