.site-header{position:sticky;top:0;z-index:100;background:rgba(5,5,5,.96);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(12px)}
.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between}
.brand{display:inline-flex;flex-direction:column;align-items:center;line-height:.8}
.brand-main{font-family:var(--font-brand);font-size:1.75rem;letter-spacing:.08em}
.brand-main::after{content:"";display:block;width:100%;height:1px;background:#aaa;margin-top:.32rem}
.brand-sub{font-size:.72rem;letter-spacing:.38em;margin-top:.42rem}
.primary-nav{display:flex;gap:2.1rem;font-size:.95rem}
.primary-nav a{position:relative;padding:.35rem 0;color:#d7d7d7}
.primary-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--accent);transition:right .25s ease}
.primary-nav a:hover::after,.primary-nav a.is-active::after{right:0}
.menu-toggle{display:none;background:none;border:0;color:white;width:44px;height:44px;padding:10px}.menu-toggle span:not(.sr-only){display:block;height:1px;background:#fff;margin:6px 0}

.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.6rem;border:1px solid #777;font-size:1rem;letter-spacing:.1em;transition:.25s ease;cursor:pointer}
.button-outline{background:transparent;color:#fff}
.button-outline:hover{background:#fff;color:#080808;border-color:#fff}
.button-solid{background:#fff;color:#080808;border-color:#fff}
.button-solid:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.accent-rule{width:64px;height:2px;background:var(--accent);margin:1.25rem 0 1.5rem}
.centered-rule{margin-inline:auto}

.hero-slider{position:relative;height:min(760px,calc(100vh - 78px));min-height:610px;background:#080808;overflow:hidden}
.hero-slides,.hero-slide{position:absolute;inset:0}
.hero-slide{opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s ease;background-image:var(--hero-image);background-size:cover;background-position:center}
.hero-slide.is-active{opacity:1;visibility:visible}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.64) 44%,rgba(0,0,0,.15) 75%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 50%)}
.hero-content{position:relative;z-index:2;height:100%;display:flex;align-items:center}
.hero-copy{max-width:670px;padding-bottom:2rem}
.hero-copy h1{max-width:800px;margin-top:.6rem}
.hero-role{font-size:1rem;color:#fff;margin-bottom:1rem}
.hero-summary{max-width:560px;font-size:1.05rem;margin-bottom:1.75rem}
.slider-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:52px;height:76px;background:rgba(0,0,0,.25);border:0;color:white;font-size:3rem;cursor:pointer}
.slider-prev{left:0}.slider-next{right:0}
.slider-status{position:absolute;z-index:5;left:0;right:0;bottom:1.6rem;display:flex;align-items:center;gap:1.3rem}
.slide-counter{font-family:var(--font-display);font-size:1.15rem;letter-spacing:.1em}
.slider-dots{display:flex;gap:.75rem}
.slider-dots button{width:8px;height:8px;padding:0;border-radius:50%;border:1px solid #fff;background:transparent;cursor:pointer}
.slider-dots button.is-active{background:#fff}

.film-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1rem}
.film-grid-large{grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}
.film-card{min-width:0}
.film-poster-link{position:relative;display:block;aspect-ratio:2/3;overflow:hidden;background:#1a1a1a;border:1px solid #292929}
.film-poster-link img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .45s ease}
.film-card-overlay{position:absolute;inset:auto 0 0;padding:1.1rem;background:linear-gradient(transparent,rgba(0,0,0,.9));font-family:var(--font-display);text-transform:uppercase;letter-spacing:.12em;opacity:0;transform:translateY(10px);transition:.3s ease}
.film-card:hover img{transform:scale(1.025);filter:brightness(.8)}
.film-card:hover .film-card-overlay{opacity:1;transform:none}
.film-card-copy{text-align:center;padding-top:1rem}
.film-card-copy h3,.film-card-copy h2{font-size:1.2rem;line-height:1.15;margin-bottom:.45rem}
.film-card-copy p{font-size:.82rem;color:#a8a8a8}

.location-feature{position:relative;min-height:650px;display:flex;align-items:center}
.location-image{position:absolute;inset:0;background:url('../images/backgrounds/film-location-placeholder.png') center/cover no-repeat}
.location-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.58) 45%,rgba(0,0,0,.18))}
.location-content{position:relative;z-index:2}
.location-copy{max-width:600px}
.location-copy h2{margin-top:.6rem}
.location-copy p:not(.eyebrow){margin-bottom:1.8rem}

.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;align-items:start;}
.project-card{background:#111;border:1px solid #252525}
.project-card img{width:100%;aspect-ratio:2/3;object-fit:cover;object-position:center top;}
.project-card-copy{padding:1.5rem}
.project-card-copy h3{font-size:1.7rem;margin:.3rem 0}
.project-genre{color:#fff;margin-bottom:.8rem}

.site-footer{background:#050505;border-top:1px solid #222;padding:4rem 0 1.5rem}
.footer-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr;gap:3rem}
.footer-heading{font-size:1.1rem;margin-bottom:1rem}
.footer-links{display:grid;gap:.55rem;color:#aaa}
.footer-tagline{max-width:360px;margin-top:1.5rem}
.footer-bottom{margin-top:3rem;padding-top:1.25rem;border-top:1px solid #222;display:flex;justify-content:space-between;color:#777;font-size:.78rem}
.brand-footer{align-items:flex-start}
/* ---------- Silver Line Logo ---------- */

.brand-logo{
    display:flex;
    align-items:center;
    flex-shrink:0;
    width:260px;
    height:72px;
    overflow:hidden;
}

.brand-logo img{
    width:260px;
    height:auto;
    display:block;
    object-fit:contain;
}

/* Header */

.header-inner{
    height:84px;
}
.video-embed{
    position:relative;
    width:100%;
    max-width:1100px;
    margin:2rem auto 0;
    aspect-ratio:16/9;
    background:#000;
}

.video-embed iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
}
.film-trailer-section {
    padding: 6rem 0;
}

.video-embed {
    width: 100%;
    max-width: 1100px;
    aspect-ratio: 16 / 9;
    margin: 2.5rem auto 0;
    background: #000;
}

.video-embed iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}
