/* Iron Triangle Films: cinematic refinement. Loaded after the existing styles. */
:root{--color-accent:#ec3038;--page-gutter:clamp(1.25rem,5vw,6rem)}
body{font-size:1.125rem}button,input,textarea{font:inherit}button{cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid #ff5e65;outline-offset:6px}section[id]{scroll-margin-top:100px}::selection{background:#ec3038;color:white}[hidden]{display:none!important}
.skip-link{position:fixed;top:-100px;left:20px;background:#fff;color:#000;padding:12px 20px;z-index:20000}.skip-link:focus{top:15px}
.site-header__inner{padding-inline:var(--page-gutter)}.site-header--scrolled{background:rgba(10,10,10,.95)}.logo__text{font-size:clamp(1.1rem,1.9vw,1.65rem)}.main-nav a{font-size:1rem}.btn{min-height:52px;font-size:1rem;gap:20px}.btn--primary{background:#d8232a}.btn--primary:hover{background:#b91c23}.btn--ghost{border-color:#777}.btn:hover{transform:translateY(-2px)}
.cinema-hero{min-height:94svh;align-items:flex-start;justify-content:center;background:#0b0b0c}.cinema-hero .hero__image{animation:none;object-position:62% center;transform:scale(1.03)}.cinema-hero .hero__overlay{background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.4) 58%,rgba(0,0,0,.1)),linear-gradient(0deg,#0a0a0a 1%,transparent 45%,rgba(0,0,0,.4))}.cinema-hero .hero__content{max-width:1100px;width:100%;padding:170px var(--page-gutter) 150px;text-align:left}.cinema-hero .hero__eyebrow{font-size:1rem;letter-spacing:.16em;color:#ddd}.cinema-hero .hero__title{font-size:clamp(3.3rem,7.5vw,7.7rem);line-height:1.06;letter-spacing:-.025em}.cinema-hero .hero__title em{font-style:normal;color:#f0444b}.cinema-hero .hero__subtitle{max-width:490px;margin:1.5rem 0 2rem;font-size:1.25rem;color:#eee}.cinema-hero .hero__actions{justify-content:flex-start;gap:1rem}.hero-bottom{position:absolute;bottom:35px;left:var(--page-gutter);right:var(--page-gutter);display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:2;font-size:.875rem;letter-spacing:.06em}.hero-bottom a{border-bottom:1px solid #777;padding-bottom:3px}.motion-toggle{border:1px solid #777;background:#111a;color:#eee;padding:8px 12px;font-size:.875rem}
.chapter-heading{margin:0 auto 3rem;padding:0 var(--page-gutter);max-width:1600px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:15px}.chapter-heading .eyebrow{grid-column:1/-1}.eyebrow{font-size:.875rem;text-transform:uppercase;letter-spacing:.16em;color:#bbb}.chapter-heading h2{font-family:var(--font-heading);font-weight:400;font-size:clamp(2.8rem,7vw,7.2rem);line-height:1.1;letter-spacing:-.025em}.chapter-heading>p:last-child:not(.eyebrow){font-size:1.125rem;color:#bbb;padding-bottom:5px}.red-period{color:var(--color-accent)}.projects{padding-top:90px;padding-bottom:90px}.film-feature{position:relative;min-height:125vh;max-width:1600px;margin:0 auto 90px;background:#111}.film-feature__visual{position:sticky;top:0;height:100svh;overflow:hidden}.film-feature__visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.94),transparent 90%)}.film-feature__visual img{height:100%;width:100%;object-fit:cover;object-position:57% center;transform:scale(var(--film-scale,1));will-change:transform}.film-feature__copy{position:relative;margin-top:-48vh;padding:0 var(--page-gutter) 90px;max-width:800px;z-index:1}.film-feature__copy h3{font-family:var(--font-heading);font-size:clamp(3.5rem,8vw,8rem);font-weight:400;line-height:1.2;margin:20px 0}.film-feature__copy>p:not(.eyebrow){font-size:1.4rem;max-width:520px;color:#eee}.feature-links{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:30px}.text-link{display:inline-block;border-bottom:1px solid #777;padding-block:8px;font-weight:600}.text-link:hover{color:#ff6d72}
.projects__grid{max-width:1600px;padding:0 var(--page-gutter);gap:40px}.project-tile{perspective:1000px}.project-tile__frame{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .45s ease;aspect-ratio:3/4}.project-tile__img,.project-tile:hover .project-tile__img{animation:none;transition:opacity .6s,transform .8s}.project-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity .6s,transform 1.5s;z-index:2}.project-tile:hover .project-preview,.project-tile:focus-visible .project-preview{opacity:1;transform:scale(1)}.project-open{position:absolute;z-index:3;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.9));padding:60px 20px 20px;font-size:1rem;display:flex;justify-content:space-between}.project-tile__title{font-size:clamp(1.45rem,2.2vw,2.3rem);margin-top:25px}.project-tile__meta{font-size:1rem;color:#bfbfbf}.project-tile__summary{font-size:1.125rem;color:#ccc;margin-top:14px;max-width:32ch}
.laurels{border-block:1px solid #333;padding:65px 0;margin:0;background:#101011}.chapter-heading--small h2{font-size:clamp(2rem,4vw,4rem)}.award-highlights-carousel{display:grid}.award-highlights{grid-area:1/1;max-width:1600px;width:100%;padding:0 var(--page-gutter);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility 0s linear .7s}.award-highlights.is-active{opacity:1;visibility:visible;transition:opacity .7s ease}.award-highlights>div{border-top:1px solid #555;padding-top:20px}.award-highlights span{color:#f36a6f;font-size:.875rem}.award-highlights h3{font-weight:500;font-size:1.8rem;margin-top:8px}.award-highlights p{font-size:1.125rem;color:#bbb}.awards-details{max-width:1600px;margin:35px auto 0;padding:0 var(--page-gutter)}.awards-details summary{cursor:pointer;font-size:1rem;width:fit-content;padding-block:15px}.awards-details .laurels__viewport{overflow-x:auto;padding:20px 0;mask-image:none;-webkit-mask-image:none}.awards-details .laurels__track{width:max-content;gap:35px}.awards-details .laurel-item{width:190px;flex:0 0 190px}.awards-details .laurel-item__img{max-width:none}
.about{padding:100px 0}.home .project-detail__container{max-width:1600px;padding-inline:var(--page-gutter)}.home .about__grid{gap:70px;align-items:start}.home .project-detail__tagline{font-family:var(--font-heading);font-size:clamp(1.7rem,3vw,3rem);font-style:normal;line-height:1.2}.home .project-detail__body{font-size:1.25rem;color:#bbb}.brand-emblem{width:min(100%,370px);margin-top:25px;transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .45s ease;overflow:hidden}.brand-emblem img{width:100%;height:auto}.home .about-gallery{gap:15px}.home .about-gallery .stills-grid__item:nth-child(even){transform:none}.home .about-gallery img{aspect-ratio:4/5;object-fit:cover}
.services{padding:80px 0 100px;border-top:1px solid #333}.service-grid{max-width:1600px;margin:auto;padding:0 var(--page-gutter);display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.service-grid article{border-top:2px solid #444;padding-top:28px}.service-grid h3{font-family:var(--font-heading);font-weight:400;font-size:clamp(1.7rem,3vw,2.7rem);margin:24px 0 15px}.service-grid p{font-size:1.25rem;color:#bbb;max-width:35ch}.service-grid a{margin-top:24px}.submission-note{max-width:calc(1600px - 2 * var(--page-gutter));margin:60px var(--page-gutter) 0;padding:30px;border-left:3px solid var(--color-accent);background:#151515;display:grid;grid-template-columns:1fr 2fr;gap:30px}.submission-note h3{font-size:1.65rem;font-weight:500}.submission-note p{font-size:1.2rem;color:#ccc}.contact{padding:80px 0;background:#141414}.contact .chapter-heading h2{font-size:clamp(2.5rem,6vw,6rem)}.contact-intro{padding:0 var(--page-gutter);max-width:1600px;margin:0 auto 35px;font-size:1.25rem;color:#ccc}.contact-intro a{text-decoration:underline;text-underline-offset:4px}.home .contact__container{max-width:1600px;padding:0 var(--page-gutter);margin:auto;display:block}.home .contact-form{max-width:800px}.form-field input,.form-field textarea{font-size:1.125rem}.site-footer{padding-inline:var(--page-gutter)}.footer-email{overflow-wrap:anywhere}
.trailer-dialog{position:fixed;inset:0;margin:auto;width:min(1100px,94vw);max-height:94svh;padding:20px;background:#101010;color:white;border:1px solid #555;overflow:auto;z-index:20000}.trailer-dialog::backdrop{background:#000e;backdrop-filter:blur(8px)}.trailer-dialog__bar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px}.trailer-dialog h2{font-size:1.25rem;font-weight:500}.trailer-close{background:transparent;border:1px solid #777;color:white;padding:8px 15px}.trailer-player{aspect-ratio:16/9;background:#000}.trailer-player iframe,.trailer-player video{border:0;width:100%;height:100%;display:block;object-fit:contain}.trailer-dialog>p{margin-top:15px;font-size:1rem;color:#bbb}.trailer-dialog a{text-decoration:underline}.film-page .project-detail__title{font-size:clamp(3rem,8vw,8rem);line-height:1.1}.film-page .project-detail__synopsis{font-size:1.4rem;max-width:900px}.film-page .stills-grid__item{overflow:hidden}.film-page .stills-grid__item img{transition:transform .8s}.film-page .stills-grid__item:hover img{animation:none;transform:scale(1.035)}
/* Content is visible without JavaScript. Only observed elements opt into reveal. */
.motion-ready [data-reveal]{opacity:.35;transform:translateY(25px);transition:opacity .7s,transform .7s}.motion-ready [data-reveal].in-view{opacity:1;transform:none}.section-label__text,.section-label__rule,.project-detail__subhead .section-label__text{opacity:1;transform:none}
body.motion-paused *,body.motion-paused *:before,body.motion-paused *:after{animation-play-state:paused!important;transition:none!important}body.motion-paused [data-reveal]{opacity:1;transform:none}body.motion-paused [data-tilt],body.motion-paused .project-tile__frame,body.motion-paused .film-feature__visual img{transform:none!important}
@media(min-width:1600px){.submission-note{margin-inline:auto}}
@media(max-width:1000px){.projects__grid{gap:25px}.home .about__grid{gap:30px}.main-nav{gap:1rem}}
@media(max-width:860px){.main-nav a{font-size:1.75rem}.chapter-heading{grid-template-columns:1fr}.chapter-heading>p:last-child:not(.eyebrow){max-width:35ch}.projects__grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}.film-feature{min-height:100svh}.film-feature__visual{height:80svh;position:relative}.film-feature__copy{margin-top:-45svh}.service-grid{gap:25px}.service-grid h3{font-size:1.8rem}.hero-bottom{flex-wrap:wrap}.home .about-gallery img{aspect-ratio:1}}
@media(max-width:600px){.cinema-hero{min-height:850px;min-height:100svh}.cinema-hero .hero__content{padding-top:145px;padding-bottom:170px}.cinema-hero .hero__title{font-size:clamp(3rem,12vw,4.5rem)}.cinema-hero .hero__eyebrow{font-size:.875rem;max-width:26ch}.cinema-hero .hero__subtitle{font-size:1.15rem}.cinema-hero .hero__image{object-position:70% center}.cinema-hero .hero__overlay{background:linear-gradient(90deg,#000b,#0006),linear-gradient(0deg,#0a0a0a,transparent)}.cinema-hero .hero__actions{align-items:stretch;flex-direction:column;max-width:330px}.hero-bottom{bottom:25px;font-size:.875rem}.hero-bottom>a{display:none}.chapter-heading{margin-bottom:30px}.projects,.about,.services{padding-block:60px}.projects__grid,.service-grid,.award-highlights{grid-template-columns:1fr;gap:40px}.project-tile__frame{aspect-ratio:3/4;max-height:600px}.project-tile__summary{max-width:none}.film-feature{min-height:0;margin-bottom:50px}.film-feature__visual{height:65svh;min-height:460px}.film-feature__copy{margin-top:-250px;padding-bottom:35px}.film-feature__copy h3{font-size:3.7rem}.film-feature__copy>p:not(.eyebrow){font-size:1.2rem}.feature-links{gap:15px}.submission-note{grid-template-columns:1fr;padding:25px;gap:10px}.home .about__grid{grid-template-columns:1fr;gap:35px}.brand-emblem{width:270px}.home .about-gallery .stills-grid__item:nth-child(even){transform:none}.award-highlights{gap:25px}.contact{padding-block:60px}.contact .chapter-heading h2{font-size:clamp(2rem,9vw,3.5rem)}.trailer-dialog{padding:12px}.trailer-dialog h2{font-size:1rem}.trailer-close{font-size:1rem}.site-footer__grid{gap:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready [data-reveal]{opacity:1;transform:none}.film-feature__visual{position:relative}.project-tile__frame,.brand-emblem,.film-feature__visual img{transform:none!important}.award-highlights:not(.is-active){display:none}}

/* Requested refinement: even ceremony grid and always-visible festival strip. */
.home .about-gallery .stills-grid__item{transform:none}
.home #awards>.laurels__viewport{margin-top:24px;overflow-x:auto;scrollbar-width:none}
.home #awards>.laurels__viewport::-webkit-scrollbar{display:none}
.laurels-controls{max-width:1600px;margin:25px auto 0;padding:0 var(--page-gutter);text-align:right}
.laurels-toggle{background:transparent;border:1px solid #666;color:#ddd;font-size:1rem;padding:8px 15px}
.laurels__track.is-user-paused,.laurels__viewport:focus-within .is-marquee{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.home #awards>.laurels__viewport{overflow-x:auto}.laurels__track>[aria-hidden="true"]{display:none}}

@keyframes laurels-marquee{from{transform:translateX(0)}to{transform:translateX(var(--marquee-distance,-50%))}}

/* Casting, film previews and compact team profiles. */
.project-status{position:absolute;z-index:4;top:18px;left:18px;padding:8px 12px;background:var(--color-accent);color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.casting-strip{max-width:calc(1600px - 2 * var(--page-gutter));margin:55px auto 0;padding:22px 25px;border-block:1px solid #444;display:grid;grid-template-columns:.7fr 2fr 1fr;align-items:center;gap:25px;transition:border-color .3s,background .3s}.casting-strip:hover,.casting-strip:focus-visible{background:#151515;border-color:#777}.casting-strip strong{font-family:var(--font-heading);font-size:clamp(1.35rem,2.2vw,2.2rem);font-weight:400}.casting-strip>span:last-child{text-align:right;color:#bbb}
.team-block{max-width:1600px;margin:80px auto 0;padding:70px var(--page-gutter) 0;border-top:1px solid #333}.team-heading{display:grid;grid-template-columns:1fr 3fr;gap:40px;align-items:end;margin-bottom:45px}.team-heading h3{font-family:var(--font-heading);font-size:clamp(2.2rem,5vw,5.4rem);font-weight:400;line-height:.95}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px 35px}.team-card img{width:min(100%,250px);aspect-ratio:1;border-radius:50%;object-fit:cover;object-position:center;filter:grayscale(1);border:1px solid #555;background:#111}.team-card h4{font-family:var(--font-heading);font-size:2rem;font-weight:400;margin-top:22px}.team-role{min-height:2.6em;color:#f36a6f;font-size:1rem;letter-spacing:.04em;text-transform:uppercase}.team-card details{border-top:1px solid #444;margin-top:16px;padding-top:12px}.team-card summary{width:max-content;color:#ddd;font-size:1rem;cursor:pointer}.team-card details p{max-width:45ch;margin-top:14px;color:#bbb;font-size:1.05rem;line-height:1.6}
.casting-call{margin-top:90px;padding-top:65px;border-top:1px solid #444;scroll-margin-top:110px}.casting-call>h2{font-family:var(--font-heading);font-size:clamp(2.8rem,6vw,6rem);font-weight:400;line-height:1;margin:18px 0 25px}.casting-intro{max-width:900px;font-size:1.4rem;color:#ccc}.casting-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:45px 0}.casting-facts>div{border-top:2px solid #555;padding-top:18px}.casting-facts span{display:block;color:#aaa;font-size:.9rem;text-transform:uppercase;letter-spacing:.08em}.casting-facts strong{display:block;margin-top:7px;font-size:1.15rem;font-weight:500}.casting-roles{display:grid;grid-template-columns:1fr 1fr;gap:30px}.casting-roles article{background:#151515;padding:35px}.casting-roles h3{font-family:var(--font-heading);font-size:2.8rem;font-weight:400;margin:10px 0 0}.casting-roles .role-meta{color:#f36a6f;margin-bottom:20px}.casting-roles article>p:last-child{color:#ccc;font-size:1.1rem;line-height:1.65}.casting-apply{margin-top:30px;padding:35px;border-left:3px solid var(--color-accent);background:#151515;display:grid;grid-template-columns:2fr 1fr;gap:35px}.casting-apply h3{font-size:1.75rem;font-weight:500;margin:10px 0 15px}.casting-apply p{color:#ccc}.casting-apply p+p{margin-top:12px}.casting-actions{display:flex;flex-direction:column;justify-content:center;gap:12px}.casting-actions .btn{text-align:center}
@media(max-width:1000px){.casting-strip{grid-template-columns:1fr 2fr}.casting-strip>span:last-child{grid-column:2;text-align:left}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.project-preview{display:none}.casting-strip{grid-template-columns:1fr;gap:10px;margin-top:40px}.casting-strip>span:last-child{grid-column:auto;text-align:left}.team-block{margin-top:55px;padding-top:50px}.team-heading{grid-template-columns:1fr;gap:12px}.team-grid{grid-template-columns:1fr;gap:45px}.team-card{display:grid;grid-template-columns:120px 1fr;column-gap:20px;align-items:start}.team-card img{width:120px;grid-row:1/4}.team-card h4{margin-top:8px}.team-role{min-height:0}.team-card details{grid-column:2}.casting-call{margin-top:60px;padding-top:45px}.casting-facts,.casting-roles,.casting-apply{grid-template-columns:1fr}.casting-roles article,.casting-apply{padding:25px}.casting-actions{margin-top:5px}}

/* Havenfall production diary. */
.bts-feature{margin-top:12px;padding:clamp(28px,5vw,70px);background:#101011;border-block:1px solid #343434}.bts-feature__intro{display:grid;grid-template-columns:.7fr 1.5fr 1fr;gap:35px;align-items:end;margin-bottom:42px}.bts-feature__intro h2{font-family:var(--font-heading);font-size:clamp(2.8rem,6vw,6.4rem);font-weight:400;line-height:.9}.bts-feature__intro>p:last-child{color:#bbb;font-size:1.15rem;line-height:1.55}.bts-feature__lead,.bts-grid__item{position:relative;overflow:hidden;background:#080808}.bts-feature__lead{aspect-ratio:21/8;margin-bottom:18px}.bts-feature__lead:after,.bts-grid__item:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.12);pointer-events:none}.bts-feature img{width:100%;height:100%;object-fit:cover;filter:contrast(1.04) brightness(1.06);transition:transform .8s ease,filter .5s ease}.bts-feature img:hover,.bts-feature img:focus{transform:scale(1.025);filter:contrast(1.06) brightness(1.12)}.bts-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.bts-grid__item{grid-column:span 4;aspect-ratio:16/10}.bts-grid__item--wide{grid-column:span 8}.bts-grid__item:nth-child(5),.bts-grid__item:nth-child(8){grid-column:span 8}.bts-grid__item:nth-child(6),.bts-grid__item:nth-child(9){grid-column:span 4}
@media(max-width:860px){.bts-feature__intro{grid-template-columns:1fr 2fr}.bts-feature__intro>p:last-child{grid-column:2}.bts-feature__lead{aspect-ratio:16/9}.bts-grid__item,.bts-grid__item--wide,.bts-grid__item:nth-child(n){grid-column:span 6}}
@media(max-width:600px){.bts-feature{padding:25px 0;background:transparent}.bts-feature__intro{grid-template-columns:1fr;gap:12px}.bts-feature__intro>p:last-child{grid-column:auto}.bts-feature__lead{aspect-ratio:16/10;margin-bottom:10px}.bts-grid{gap:10px}.bts-grid__item,.bts-grid__item--wide,.bts-grid__item:nth-child(n){grid-column:1/-1;aspect-ratio:16/10}}

/* Tight offset rows with no empty grid cells. */
@media(min-width:861px){.bts-grid{grid-auto-flow:dense;grid-auto-rows:clamp(220px,24vw,410px)}.bts-grid__item,.bts-grid__item--wide,.bts-grid__item:nth-child(n){height:100%;aspect-ratio:auto}.bts-grid__item:nth-child(4n+1){grid-column:span 7}.bts-grid__item:nth-child(4n+2){grid-column:span 5}.bts-grid__item:nth-child(4n+3){grid-column:span 5}.bts-grid__item:nth-child(4n){grid-column:span 7}}

/* The People at the Window teaser. */
.teaser-feature{margin:80px 0 70px;padding:clamp(28px,5vw,60px);background:#101011;border-top:1px solid #444;border-left:3px solid var(--color-accent)}.teaser-feature__heading{display:grid;grid-template-columns:2fr 1fr;align-items:end;gap:35px;margin-bottom:35px}.teaser-feature__heading h2{font-family:var(--font-heading);font-size:clamp(3rem,7vw,7rem);font-weight:400;line-height:.9;margin-top:15px}.teaser-feature__heading>p{max-width:30ch;color:#bbb;font-size:1.25rem}.teaser-feature__video{border:1px solid #343434;box-shadow:0 30px 80px rgba(0,0,0,.35)}.teaser-feature__footer{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:20px;color:#999;font-size:1rem}.teaser-feature__footer .text-link{color:#fff}
@media(max-width:600px){.teaser-feature{margin:55px 0;padding:25px 20px}.teaser-feature__heading{grid-template-columns:1fr;gap:15px}.teaser-feature__footer{align-items:flex-start;flex-direction:column;gap:10px}}

/* Mobile navigation must fully cover the page beneath it. */
@media(max-width:860px){
  .site-header:has(.main-nav.is-open){background:#080808;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
  .main-nav{inset:0;width:100vw;height:100dvh;min-height:100vh;overflow-y:auto;background:#080808;opacity:0;isolation:isolate}
  .main-nav.is-open{background:#080808;opacity:1}
  .nav-toggle{position:relative;z-index:40}
}

/* Keep the desktop direction cue, but use clean text on phones. */
@media(max-width:600px){.desktop-only-arrow{display:none}}
