header{width:90%;height:66px;top:16px;padding:0 22px;transition:transform .32s ease,opacity .25s ease}
header .brand img{width:140px}
header.header-hidden{transform:translate(-50%,-130%);opacity:0;pointer-events:none}
header:focus-within{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.hero-reel{position:relative;overflow:hidden;min-height:0;isolation:isolate}
.hero-reel:before,.hero-reel:after{content:'';position:absolute;top:0;bottom:0;width:7%;z-index:3;pointer-events:none}
.hero-reel:before{left:0;background:linear-gradient(90deg,var(--bg),transparent)}
.hero-reel:after{right:0;background:linear-gradient(-90deg,var(--bg),transparent)}
.hero-reel .cinema-strip{width:max-content;height:100%;margin:0;padding:8px 5vw;gap:2.4vw;align-items:stretch;will-change:transform}
.hero-reel .cinema-frame{flex:0 0 25vw;width:25vw;height:auto;align-self:stretch;aspect-ratio:auto}
.hero-reel .cinema-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.home-page .home-services h3,.service-copy h3{font-weight:600}
.home-page .home-services>a{justify-content:flex-start;padding-top:45px}
.home-page .home-services h3{min-height:2.4em;display:flex;align-items:flex-end;margin-bottom:16px}
.projects{background:var(--bg)}
.marquee-window:before{background:linear-gradient(90deg,var(--bg),transparent)}
.marquee-edge{background:linear-gradient(90deg,transparent,var(--bg))}
.marquee-end{align-self:flex-start;height:calc(100% - 74px);background:linear-gradient(90deg,var(--bg),#1b1b1b);padding:30px;justify-content:center}
.marquee-end>strong{font-size:clamp(24px,2vw,32px)}
.marquee-set .project-card small{display:block;font-size:12px}
.home-page .marquee-set>.project-card{grid-template-rows:minmax(0,1fr) 74px}
.home-page .faq-home{height:auto;min-height:0;padding-top:70px;padding-bottom:70px;align-content:start;align-items:start}
.faq-home .faq-list{margin:0}.faq-home summary{padding:23px 0}
.faq-list details>p{padding-left:35px}.faq-number{font-size:12px}
.contact-banner.titan-cta{background:#0c0c0c;padding:65px 5%}
.cta-card{border-radius:18px;background:linear-gradient(105deg,#2d2d2d,#202020);min-height:360px;padding:65px 8%;border:1px solid #ffffff07}
.cta-copy{max-width:470px}.cta-card:after{display:block}
.titan-cta h2{font-size:clamp(29px,3vw,43px);line-height:1.1;letter-spacing:-.04em;max-width:none;margin-bottom:20px}
.titan-cta p:not(.eyebrow){font-size:14px;max-width:330px;margin-bottom:25px}
.titan-cta .btn{border:1px solid #ffffff50;border-radius:6px;color:#fff;min-height:48px;padding:12px 22px;font-size:12px;gap:24px}
.eyebrow{font-size:12px}.cinema-kicker{font-size:12px}

@media(max-width:1059px){.hero-reel{height:360px}.hero-reel .cinema-frame{flex-basis:35vw;width:35vw}}
@media(max-width:760px){
 header{width:88%;height:60px;top:12px;padding:0 16px}header .brand img{width:120px}
 .hero-reel{height:300px}.hero-reel .cinema-frame{flex-basis:62vw;width:62vw}.hero-reel .cinema-strip{gap:18px;padding:8px 6vw}
 .home-page .home-services>a{padding:28px}.home-page .home-services h3{min-height:0;font-size:24px}
 .home-page .faq-home{padding:55px 6%}.faq-home .faq-list{margin-top:32px}
 .cta-card{padding:40px 28px;border-radius:12px;min-height:365px}.titan-cta h2{font-size:31px;max-width:280px}
 .marquee-end{height:365px}.cinema-kicker{font-size:11px}
}
@media(prefers-reduced-motion:reduce){header{transition:none}.hero-reel{overflow-x:auto}.hero-reel .cinema-strip{transform:none!important}}

