:root{
    --bg:#090909;
    --surface:#141414;
    --text:#f5f5f5;
    --accent:#c42a8a;
}

@font-face{ font-family:'NexaRust'; src:url('NexaRustSans-Trial-Black2.woff2') format('woff2'), url('NexaRustSans-Trial-Black2.woff') format('woff'), url('NexaRustSans-Trial-Black2.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ font-family:'Inter',sans-serif; background:var(--bg); color:var(--text); line-height:1.5; }

/* Header */
header{
    position:fixed; top:0; width:100%; z-index:1000;
    display:flex; justify-content:space-between; align-items:center;
    padding:18px 60px;
    background:rgba(0,0,0,.75); backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(196,42,138,.30);
}
.logo-anchor{ display:inline-block; text-decoration:none; line-height:0; }
.logo{ height:52px; }
nav{ display:flex; gap:30px; }
nav a{ color:#fff; text-decoration:none; font-weight:500; transition:color .2s; }
nav a:hover{ color:var(--accent); }

/* Hero: text above the video */
.hero{
    min-height:100vh;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:44px;
    padding:130px 6% 80px;
    position:relative; overflow:hidden;
}
.hero-copy{ max-width:900px; text-align:center; }
.hero h1{ font-family:'NexaRust','Bebas Neue',sans-serif; font-size:clamp(2rem,5.5vw,4.3rem); letter-spacing:1px; line-height:1.1; }
.hero p{ margin-top:14px; font-size:1.25rem; color:#d4d4d4; }
.video-container{
    width:min(1120px,92vw); aspect-ratio:16/9;
    border-radius:14px; overflow:hidden; border:1px solid rgba(196,42,138,.45); box-shadow:0 0 0 4px rgba(196,42,138,.14), 0 0 55px rgba(196,42,138,.30), 0 24px 70px rgba(0,0,0,.55);
}
.video-container iframe{ width:100%; height:100%; display:block; }

/* Button */
.button{
    display:inline-block; margin-top:30px;
    background:var(--accent); color:#fff; text-decoration:none;
    padding:14px 34px; border-radius:6px; font-weight:600; letter-spacing:.5px;
    transition:filter .25s, transform .25s;
}
.button:hover{ filter:brightness(1.12); transform:translateY(-2px); }

/* Sections */
section{ padding:120px 10%; }
section[id]{ scroll-margin-top:90px; }
.section-title{ text-align:center; margin-bottom:60px; }
.section-title h2{ font-family:'NexaRust','Bebas Neue',sans-serif; font-size:4.2rem; letter-spacing:1.5px; }
.section-title h2::after{ content:''; display:block; width:80px; height:3px; background:var(--accent); border-radius:2px; margin:16px auto 0; }
.intro{ max-width:900px; margin:auto; text-align:center; line-height:1.8; color:#dcdcdc; }

/* Team */
.team-grid{ margin-top:60px; display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:40px; }
.team-member{ text-align:center; }
.team-member img{ width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:12px; border:1px solid rgba(255,255,255,.10); }
.team-member h3{ margin-top:18px; font-size:1.35rem; color:var(--accent); }
.team-member p{ margin-top:8px; color:#cfcfcf; }
.team-photo-link{ display:block; text-decoration:none; border-radius:12px; transition:transform .25s, filter .25s, box-shadow .25s; }
.team-photo-link:hover{ transform:translateY(-4px); filter:brightness(1.08); box-shadow:0 14px 34px rgba(196,42,138,.5); }

/* Partners */
.partners-title{ font-family:'NexaRust','Bebas Neue',sans-serif; text-align:center; margin-top:96px; margin-bottom:46px; font-size:4.2rem; letter-spacing:1.5px; position:relative; }
.partners-title::after{ content:''; display:block; width:78px; height:3px; background:var(--accent); border-radius:2px; margin:16px auto 0; }
.partners{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; max-width:1100px; margin:0 auto; }
.partner{
    background:#0e0e11; border:1px solid rgba(196,42,138,.40); border-radius:14px;
    padding:36px 22px; min-height:214px;
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px;
    text-decoration:none; transition:transform .25s, border-color .25s, box-shadow .25s;
}
.partner:hover{ transform:translateY(-5px); border-color:var(--accent); box-shadow:0 16px 42px rgba(196,42,138,.28); }
.partner-logo{ display:flex; align-items:center; justify-content:center; height:118px; min-height:118px; }
.partner-logo img{ height:104px; width:auto; max-width:236px; object-fit:contain; }

.logo-invert img{ filter:invert(1); }
.partner-name{ color:#f2f2f2; font-weight:600; font-size:1.05rem; text-align:center; line-height:1.3; }

/* Services (Våre tilbud) */
.services{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:25px; }
.service{
    background:linear-gradient(180deg, rgba(196,42,138,.14), rgba(20,20,20,1));
    padding:36px 32px; border-left:4px solid var(--accent); border-radius:8px; transition:transform .3s;
}
.service:hover{ transform:translateY(-5px); }
.service-goto{ cursor:pointer; }
.service h3{ font-size:1.55rem; margin-bottom:12px; }
.service p{ color:#d6d6d6; line-height:1.6; }
.service-link{
    display:inline-block; margin-top:20px;
    background:var(--accent); color:#fff; text-decoration:none;
    padding:11px 24px; border-radius:6px; font-weight:600; transition:filter .2s;
}
.service-link:hover{ filter:brightness(1.12); }
.inline-link{ color:var(--accent); font-weight:600; text-decoration:none; }
.inline-link:hover{ text-decoration:underline; }

/* Productions */
.production-category{ margin-bottom:80px; }
.production-category h3{ margin-bottom:22px; font-size:1.6rem; color:var(--accent); letter-spacing:.3px; }
.production-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:20px; }
.production-card{
    background:#0e0e11; border:1px solid rgba(196,42,138,.18); border-radius:12px;
    padding:14px 14px 16px; text-align:center; display:flex; flex-direction:column;
    align-items:center; gap:12px; transition:transform .25s, box-shadow .25s, border-color .25s;
}
.production-card .poster{
    width:100%; aspect-ratio:2/3; object-fit:cover; border-radius:8px;
    background:#151519; border:1px solid rgba(196,42,138,.22); display:block;
}
.production-card:hover{
    transform:translateY(-6px); border-color:var(--accent);
    box-shadow:0 18px 44px rgba(196,42,138,.45);
}
.production-card:hover .poster{ border-color:var(--accent); }
.production-card h4{ font-size:1.15rem; font-weight:600; line-height:1.25; }
.production-card p{ color:#c8c8c8; font-size:.9rem; }

/* Contact */
.contact-info{ text-align:center; }
.contact-info p{ margin:10px 0; }
.socials{ margin-top:28px; }
.socials a{ color:var(--accent); margin:0 14px; text-decoration:none; font-weight:600; }
.socials a:hover{ text-decoration:underline; }

/* Footer */
footer{ text-align:center; padding:32px; border-top:1px solid rgba(196,42,138,.45); color:#bbb; }

/* Responsive */
@media (max-width:900px){
    .partners{ grid-template-columns:repeat(2,1fr); }
    header{ padding:16px 24px; }
}
@media (max-width:820px){
    header{ flex-direction:column; gap:14px; }
    nav{ gap:16px; flex-wrap:wrap; justify-content:center; }
    .logo{ height:44px; }
    .section-title h2{ font-size:3rem; }
}
@media (max-width:520px){
    .partners{ grid-template-columns:1fr; }
    section{ padding:90px 6%; }
}
