/* Motorsport – GP-sentralen */
:root{
  --bg:#07070a; --panel:rgba(16,16,22,.86); --panel2:rgba(26,26,34,.9); --line:#2a2a36;
  --text:#f3f3f6; --mute:#9b9bab; --dim:#6b6b7a;
  --red:#ff2a2a; --red2:#ba0c2f; --blue:#00205b; --blue2:#2d5cff; --white:#fff;
  --green:#2bd96b; --yellow:#ffcc00; --purple:#b26bff;
  --cut:16px;
  --f-head:'Saira Condensed','Arial Narrow',sans-serif;
  --f-body:'Saira',system-ui,sans-serif;
  --f-num:'Chakra Petch','Consolas',monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px;overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
button{font:inherit;color:inherit}
[hidden]{display:none!important}

/* ── bakgrunn: rullerende bilder + karbon ── */
.bgstage{position:fixed;inset:0;z-index:-1;overflow:hidden;background:
  radial-gradient(#000 15%,transparent 16%) 0 0,
  radial-gradient(#000 15%,transparent 16%) 8px 8px,
  radial-gradient(rgba(255,255,255,.04) 15%,transparent 20%) 0 1px,
  radial-gradient(rgba(255,255,255,.04) 15%,transparent 20%) 8px 9px;
  background-color:#111115;background-size:16px 16px}
.bgimg{position:absolute;inset:-3%;background-size:cover;background-position:center;opacity:0;
  transition:opacity 2.8s ease;filter:saturate(.75) contrast(1.05) blur(1.5px);transform:scale(1.04)}
.bgimg.on{opacity:.34;animation:kenburns 26s ease-out forwards}
@keyframes kenburns{from{transform:scale(1.04)}to{transform:scale(1.12)}}
.bgshade{position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(7,7,10,.55) 0%,rgba(7,7,10,.82) 45%,rgba(7,7,10,.95) 100%),
  repeating-linear-gradient(115deg,transparent 0 22px,rgba(0,0,0,.18) 22px 23px)}
@media (prefers-reduced-motion:reduce){.bgimg.on{animation:none}.ticker-move{animation:none!important}}

/* ── live-linje ── */
.livebar{position:sticky;top:0;z-index:50;background:linear-gradient(90deg,#14000a,#2a0006 40%,#0b0b12);border-bottom:2px solid var(--red);box-shadow:0 4px 20px rgba(255,42,42,.15)}
.lb-inner{max-width:1440px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:7px 18px;font-family:var(--f-head);font-size:15px;letter-spacing:.04em}
.lb-left{display:flex;align-items:center;gap:10px;min-width:0}
.lb-dot{width:11px;height:11px;border-radius:50%;background:var(--dim);flex:none}
.lb-dot.live{background:var(--red);box-shadow:0 0 0 0 rgba(255,42,42,.7);animation:pulse 1.4s infinite}
.lb-tag{white-space:nowrap;font-weight:800;font-style:italic;background:var(--red);padding:1px 10px;transform:skew(-14deg);display:inline-block;color:#fff}
.lb-status{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700;text-transform:uppercase}
.lb-status a{color:#fff;text-decoration:none;border-bottom:1px solid var(--red)}
.lb-right{display:flex;gap:16px;align-items:center;flex:none}
.lb-check{color:var(--mute);font-size:13px}
.lb-clock{font-family:var(--f-num);font-weight:700;font-size:16px;background:#000;padding:1px 9px;border:1px solid var(--line)}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,42,42,.7)}70%{box-shadow:0 0 0 10px rgba(255,42,42,0)}100%{box-shadow:0 0 0 0 rgba(255,42,42,0)}}

/* ── merkevare/nav ── */
.brandbar{position:sticky;top:37px;z-index:40;max-width:1440px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 18px;background:linear-gradient(180deg,rgba(7,7,10,.92),rgba(7,7,10,.7));backdrop-filter:blur(8px)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand-mark svg{width:46px;height:30px;display:block}
.brand-txt{display:flex;flex-direction:column;line-height:.9;font-family:var(--f-head);font-style:italic}
.brand-txt b{font-weight:900;font-size:28px;letter-spacing:.02em}
.brand-txt i{font-weight:800;font-size:13px;letter-spacing:.32em;color:var(--red)}
.brand-gp{font-family:var(--f-head);font-weight:900;font-style:italic;font-size:22px;padding:0 10px;border:2px solid #fff;transform:skew(-14deg)}
.navlinks{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.navlinks::-webkit-scrollbar{display:none}
.navlinks a{font-family:var(--f-head);font-weight:700;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;padding:6px 11px;color:var(--mute);white-space:nowrap;position:relative}
.navlinks a:hover{color:#fff}
.navlinks a:hover::after{content:"";position:absolute;left:8px;right:8px;bottom:0;height:3px;background:var(--red);transform:skew(-20deg)}

main{max-width:1440px;margin:0 auto;padding:0 18px 40px}

/* ── paneler ── */
.panel{background:var(--panel);border:1px solid var(--line);padding:18px 20px;position:relative;backdrop-filter:blur(4px)}
.cut{clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)))}
.panel::before{content:"";position:absolute;left:0;top:0;width:60px;height:3px;background:var(--red)}
.ph{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.ph h2{margin:0;font-family:var(--f-head);font-weight:900;font-style:italic;text-transform:uppercase;font-size:28px;line-height:1;letter-spacing:.01em}
.ph h2 em{color:var(--red);font-style:italic}
.ph-meta{color:var(--mute);font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;text-align:right}
.sub-h{font-family:var(--f-head);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:14px;color:var(--mute);margin:16px 0 8px;display:flex;align-items:center;gap:8px}
.sub-h::after{content:"";flex:1;height:1px;background:var(--line)}
.fine{font-size:12px;color:var(--dim);margin:12px 0 0}
.mute{color:var(--mute)}
.skeleton{color:var(--dim);padding:20px 0;font-style:italic}

/* ── hero ── */
.hero{position:relative;margin:14px 0 0}
.hero-bgword{position:absolute;right:-10px;top:-24px;font-family:var(--f-head);font-weight:900;font-style:italic;font-size:clamp(90px,15vw,230px);line-height:.85;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.07);pointer-events:none;white-space:nowrap;text-transform:uppercase;user-select:none}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:14px;position:relative}
.hero-status{padding:24px 26px 22px;background:linear-gradient(135deg,rgba(40,4,10,.92),rgba(14,14,20,.9) 60%);overflow:hidden}
.hero-status::after{content:"";position:absolute;right:-60px;top:0;bottom:0;width:180px;background:repeating-linear-gradient(115deg,transparent 0 14px,rgba(255,42,42,.08) 14px 28px);transform:skewX(-14deg)}
.kicker{display:inline-flex;align-items:center;gap:9px;font-family:var(--f-head);font-weight:800;font-style:italic;letter-spacing:.12em;font-size:15px;background:#000;padding:3px 14px 3px 10px;border-left:4px solid var(--red)}
.kicker .pulse{width:10px;height:10px;border-radius:50%;background:var(--dim)}
.kicker.live{background:var(--red)}
.kicker.live .pulse{background:#fff;animation:pulse 1.2s infinite}
.hero h1{font-family:var(--f-head);font-weight:900;font-style:italic;text-transform:uppercase;font-size:clamp(34px,4.4vw,62px);line-height:.92;margin:14px 0 6px;letter-spacing:-.005em;text-shadow:0 4px 30px rgba(0,0,0,.6)}
.hero-sub{color:#d8d8e2;font-size:16px;font-weight:500}
.hero-sub .flag{font-size:20px;vertical-align:-2px}
.lights{display:flex;gap:10px;margin:20px 0 4px}
.lights span{width:38px;height:38px;border-radius:50%;background:#1d1d24;border:3px solid #000;box-shadow:inset 0 3px 8px rgba(0,0,0,.8);transition:background .4s,box-shadow .4s}
.lights span.on{background:radial-gradient(circle at 40% 35%,#ff8a8a,#ff1a1a 45%,#a00000);box-shadow:0 0 18px rgba(255,30,30,.85),inset 0 -3px 6px rgba(0,0,0,.4)}
.lights.out span{background:#111}
.lights-label{font-size:12px;color:var(--mute);text-transform:uppercase;letter-spacing:.1em;min-height:18px}
.countdown{display:flex;gap:8px;margin:12px 0 6px}
.countdown div{flex:1 1 0;max-width:86px;background:#000;border:1px solid var(--line);padding:6px 4px 3px;min-width:76px;text-align:center;transform:skew(-8deg)}
.countdown b{display:block;font-family:var(--f-num);font-weight:700;font-size:40px;line-height:1;transform:skew(8deg);font-variant-numeric:tabular-nums}
.countdown small{display:block;transform:skew(8deg);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--mute)}
.countdown.live b{color:var(--red)}
.hero-next{font-size:14px;color:#cfcfda;margin-top:10px}
.hero-next b{color:#fff}
.wx-chip{display:inline-flex;gap:10px;align-items:center;margin-top:14px;background:rgba(0,0,0,.55);border:1px solid var(--line);padding:5px 12px;font-size:14px}
.wx-chip .big{font-family:var(--f-num);font-weight:700;font-size:20px}

/* se live */
.hero-watch{padding:20px 22px}
.watch-list{display:grid;gap:8px}
.watch{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-decoration:none;background:var(--panel2);border:1px solid var(--line);padding:10px 14px;transition:transform .15s,border-color .15s}
.watch:hover{transform:translateX(4px);border-color:var(--red)}
.watch .w-ico{width:34px;height:34px;display:grid;place-items:center;background:#000;font-size:16px;transform:skew(-10deg);border:1px solid var(--line)}
.watch .w-name{font-family:var(--f-head);font-weight:800;font-size:18px;text-transform:uppercase;line-height:1.05}
.watch .w-note{font-size:12.5px;color:var(--mute);line-height:1.3}
.watch .w-st{font-size:11px;text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:6px;color:var(--mute);white-space:nowrap}
.st{width:9px;height:9px;border-radius:50%;display:inline-block;background:var(--dim)}
.st.ok{background:var(--green);box-shadow:0 0 8px var(--green)}
.st.ukjent{background:var(--yellow)}
.st.nede{background:var(--red)}
.watch.primary{background:linear-gradient(100deg,var(--red2),#5a0014 70%,#1a0a10);border-color:var(--red)}
.watch.primary .w-name{font-size:22px}
.watch.primary .w-note{color:#ffd9de}
.watch.primary.livepulse{animation:glow 1.6s infinite}
@keyframes glow{0%,100%{box-shadow:0 0 0 rgba(255,42,42,0)}50%{box-shadow:0 0 26px rgba(255,42,42,.55)}}
.yt-wrap{position:relative;aspect-ratio:16/9;background:#000;margin-bottom:12px;border:2px solid var(--red)}
.yt-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt-tag{position:absolute;left:10px;top:10px;z-index:2;background:var(--red);font-family:var(--f-head);font-weight:800;font-style:italic;padding:1px 10px;letter-spacing:.08em}
.yt-up{display:flex;gap:12px;align-items:center;background:var(--panel2);border:1px dashed var(--line);padding:10px 12px;margin-bottom:12px;text-decoration:none}
.yt-up img{width:120px;aspect-ratio:16/9;object-fit:cover}
.other-live{display:grid;gap:6px}
.ol-item{display:flex;gap:10px;align-items:center;text-decoration:none;background:var(--panel2);padding:7px 10px;border-left:3px solid var(--red)}
.ol-item b{font-family:var(--f-head);text-transform:uppercase}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;text-decoration:none;background:#000;border:1px solid var(--line);padding:3px 10px;transition:border-color .15s;cursor:pointer}
.chip:hover,.chip.on{border-color:var(--red)}
.chip.on{background:var(--red2)}

/* ── ticker ── */
.ticker{display:flex;align-items:stretch;margin:14px 0;background:#000;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.ticker-tag{flex:none;background:var(--red);font-family:var(--f-head);font-weight:900;font-style:italic;letter-spacing:.1em;padding:7px 18px 7px 14px;clip-path:polygon(0 0,100% 0,calc(100% - 12px) 100%,0 100%);z-index:1}
.ticker-track{flex:1;overflow:hidden;position:relative;mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent)}
.ticker-move{display:inline-flex;gap:46px;white-space:nowrap;padding:7px 0 7px 30px;animation:tick 110s linear infinite}
.ticker:hover .ticker-move{animation-play-state:paused}
.ticker-move a{text-decoration:none;font-weight:600;font-size:14px}
.ticker-move a::before{content:"▸ ";color:var(--red)}
.ticker-move small{color:var(--mute);font-weight:400;margin-left:6px}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── rutenett ── */
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
.span-12{grid-column:span 12}.span-8{grid-column:span 8}.span-7{grid-column:span 7}.span-5{grid-column:span 5}.span-4{grid-column:span 4}

/* faner */
.tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:12px}
.tab{background:#000;border:1px solid var(--line);font-family:var(--f-head);font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:5px 14px;cursor:pointer;transform:skew(-12deg);font-size:14px}
.tab>span{display:inline-block;transform:skew(12deg)}
.tab.on{background:var(--red);border-color:var(--red)}
.tab:hover:not(.on){border-color:#555}
.tabs.small .tab{font-size:12.5px;padding:3px 11px}

/* program */
.ev-head{display:flex;gap:12px;align-items:center;margin-bottom:12px;color:var(--mute);font-size:14px}
.ev-head .flag{font-size:26px}
.ev-head b{color:#fff;font-family:var(--f-head);font-size:19px;text-transform:uppercase}
.sessions{display:grid;gap:5px}
.sess{display:grid;grid-template-columns:62px 78px 1fr auto;align-items:center;gap:10px;background:var(--panel2);padding:8px 12px;border-left:3px solid #333}
.sess .t{font-family:var(--f-num);font-weight:700;font-size:17px}
.sess .n{font-weight:600}
.sess.race{border-left-color:var(--red)}
.sess.race .n{font-family:var(--f-head);font-weight:800;text-transform:uppercase;font-size:17px}
.sess.qual{border-left-color:var(--yellow)}
.sess.done{opacity:.5}
.sess.live{background:linear-gradient(90deg,rgba(255,42,42,.35),var(--panel2));border-left-color:var(--red);opacity:1}
.cls{font-family:var(--f-head);font-weight:800;font-style:italic;font-size:13px;padding:1px 8px;text-align:center;letter-spacing:.03em;background:#222}
.cls.MotoGP{background:var(--red2)}.cls.Moto2{background:#2b3a8f}.cls.Moto3{background:#7a5a00}.cls.MotoE{background:#0a6b4a}
.pill{font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:2px 8px;border:1px solid var(--line);white-space:nowrap;font-weight:600}
.pill.live{background:var(--red);border-color:var(--red);animation:glow 1.4s infinite}
.pill.next{border-color:var(--yellow);color:var(--yellow)}
.pill.done{color:var(--dim)}

/* timing tower */
.tw-head{display:flex;justify-content:space-between;gap:8px;background:#000;padding:8px 12px;border-left:4px solid var(--red);margin-bottom:6px;font-family:var(--f-head);text-transform:uppercase}
.tw-head b{font-size:18px;font-weight:800}
.tw-head .rem{font-family:var(--f-num);font-size:18px;color:var(--yellow)}
.tower{width:100%;border-collapse:collapse;font-size:13.5px}
.tower td{padding:4px 6px;border-bottom:1px solid #1e1e26}
.tower tr:nth-child(odd) td{background:rgba(255,255,255,.02)}
.tower .p{font-family:var(--f-num);font-weight:700;width:30px;text-align:center}
.tower tr:nth-child(1) .p{background:var(--red);color:#fff}
.tower .num{font-family:var(--f-num);color:var(--mute);width:30px}
.tower .rn{font-weight:600;white-space:nowrap}
.tower .g,.tower .l{font-family:var(--f-num);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.tower .pit{color:var(--yellow);font-size:11px;margin-left:4px}
.idle{display:grid;place-items:center;text-align:center;padding:24px 10px;color:var(--mute)}
.idle-flag{width:120px;height:60px;margin-bottom:12px;background:conic-gradient(#fff 0 25%,#000 0 50%,#fff 0 75%,#000 0) 0 0/20px 20px;transform:skew(-14deg) rotate(-4deg);opacity:.85;border:2px solid #333}

/* standings */
.st-row{display:grid;grid-template-columns:34px 34px 1fr 60px;align-items:center;gap:10px;padding:6px 8px;border-bottom:1px solid #1d1d26;position:relative}
.st-row .bar{position:absolute;left:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--red),transparent)}
.st-row .pos{font-family:var(--f-num);font-weight:700;font-size:17px;text-align:center}
.st-row .nr{font-family:var(--f-head);font-weight:900;font-style:italic;font-size:19px;color:var(--mute);text-align:center}
.st-row .who b{font-weight:700}
.st-row .who small{display:block;color:var(--mute);font-size:12px;line-height:1.2}
.st-row .pts{font-family:var(--f-num);font-weight:700;font-size:19px;text-align:right}
.st-row:nth-child(1){background:linear-gradient(90deg,rgba(255,42,42,.22),transparent)}
.st-row:nth-child(1) .pos{color:var(--red)}
.more{margin-top:8px;background:none;border:1px solid var(--line);padding:4px 12px;cursor:pointer;font-size:13px;color:var(--mute)}

/* tittelkamp */
.tf-big{font-family:var(--f-head);font-weight:900;font-style:italic;font-size:22px;text-transform:uppercase;line-height:1.1;margin-bottom:8px}
.tf-big em{color:var(--red);font-style:italic}
.tf-row{margin:10px 0}
.tf-row .tf-top{display:flex;justify-content:space-between;font-size:14px}
.tf-row .tf-top b{font-weight:700}
.tf-track{height:12px;background:#000;border:1px solid var(--line);position:relative;margin-top:4px;transform:skew(-14deg)}
.tf-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--red2),var(--red))}
.tf-reach{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 4px,transparent 4px 8px)}
.tf-out{opacity:.45}

/* resultater */
.res-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}
.podium{display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:end;gap:8px;margin:6px 0 12px}
.pod{text-align:center;background:var(--panel2);border:1px solid var(--line);padding:10px 6px}
.pod .pp{font-family:var(--f-head);font-weight:900;font-style:italic;font-size:42px;line-height:1}
.pod .pn{font-weight:700;font-size:15px;line-height:1.2;margin-top:4px}
.pod .pt{font-size:12px;color:var(--mute)}
.pod .ptime{font-family:var(--f-num);font-size:13px;margin-top:4px}
.pod.p1{padding-top:26px;background:linear-gradient(180deg,rgba(255,42,42,.35),var(--panel2));border-color:var(--red)}
.pod.p1 .pp{color:#ffd400}
.pod.p2 .pp{color:#d8d8e0}
.pod.p3 .pp{color:#cd7f32}
.res-list{font-size:14px}
.res-list div{display:grid;grid-template-columns:30px 1fr auto;gap:8px;padding:4px 6px;border-bottom:1px solid #1d1d26}
.res-list .rp{font-family:var(--f-num);font-weight:700;text-align:center}
.res-list .rg{font-family:var(--f-num);color:var(--mute)}
.res-h{font-family:var(--f-head);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--mute);margin:0 0 6px}

/* nyheter */
.news{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.nc{display:grid;grid-template-columns:110px 1fr;gap:12px;text-decoration:none;background:var(--panel2);border:1px solid var(--line);padding:9px;transition:border-color .15s}
.nc:hover{border-color:var(--red)}
.nc .ni{width:110px;aspect-ratio:4/3;background:#000 center/cover;position:relative;overflow:hidden}
.nc .ni img{width:100%;height:100%;object-fit:cover;display:block}
.nc .ni.noimg{display:grid;place-items:center;font-family:var(--f-head);font-weight:900;font-style:italic;color:#333;font-size:24px}
.nc h3{margin:0 0 4px;font-size:15px;line-height:1.25;font-weight:700}
.nc p{margin:0;font-size:12.5px;color:var(--mute);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nc .nm{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--dim);margin-top:5px;display:flex;gap:8px;align-items:center}
.lang{font-weight:700;padding:0 5px;border:1px solid var(--line)}
.lang.no{background:var(--red2);border-color:var(--red2);color:#fff}
.nc.lead{grid-column:span 2;grid-template-columns:1.2fr 1fr}
.nc.lead .ni{width:100%;aspect-ratio:16/9}
.nc.lead h3{font-family:var(--f-head);font-size:26px;font-weight:800;text-transform:uppercase;line-height:1.02}
.nc.lead p{-webkit-line-clamp:4;font-size:14px}

/* vær */
.wx-now{display:flex;align-items:center;gap:14px;background:var(--panel2);padding:12px;border:1px solid var(--line)}
.wx-now .wi{font-size:44px}
.wx-now .wt{font-family:var(--f-num);font-weight:700;font-size:38px;line-height:1}
.wx-days{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}
.wx-days div{background:#000;border:1px solid var(--line);text-align:center;padding:6px 2px;font-size:12px}
.wx-days b{display:block;font-family:var(--f-num);font-size:16px}
.wx-days .wi{display:block;font-size:22px;background:none;border:0;padding:2px 0}

/* video */
.videos{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.vc{background:var(--panel2);border:1px solid var(--line);cursor:pointer;text-align:left;padding:0;transition:transform .15s,border-color .15s}
.vc:hover{transform:translateY(-3px);border-color:var(--red)}
.vc .vt{position:relative;aspect-ratio:16/9;background:#000 center/cover;overflow:hidden}
.vc .vt img{width:100%;height:100%;object-fit:cover;display:block}
.vc .vt::after{content:"▶";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:34px;display:grid;place-items:center;background:rgba(255,42,42,.92);font-size:16px;clip-path:polygon(10% 0,100% 0,90% 100%,0 100%)}
.vc .vm{padding:8px 10px}
.vc .vm b{display:block;font-size:13.5px;line-height:1.25;font-weight:600}
.vc .vm small{color:var(--mute);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em}

/* kalender */
.cal{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}
.cal::-webkit-scrollbar{height:6px}.cal::-webkit-scrollbar-thumb{background:#333}
.cc{flex:0 0 170px;scroll-snap-align:start;background:var(--panel2);border:1px solid var(--line);padding:10px 12px;position:relative}
.cc .cr{font-family:var(--f-head);font-weight:900;font-style:italic;font-size:30px;line-height:1;color:#2c2c38}
.cc .cf{font-size:28px;position:absolute;right:10px;top:8px}
.cc b{display:block;font-family:var(--f-head);text-transform:uppercase;font-size:17px;line-height:1.05;margin-top:4px}
.cc small{display:block;color:var(--mute);font-size:12px;line-height:1.3}
.cc .cd{font-family:var(--f-num);font-size:13px;margin-top:6px;white-space:nowrap}
.cc.done{opacity:.45}
.cc.next{border-color:var(--red);background:linear-gradient(180deg,rgba(255,42,42,.28),var(--panel2))}
.cc.next .cr{color:var(--red)}
.cc .badge{position:absolute;left:12px;bottom:-1px;background:var(--red);font-family:var(--f-head);font-weight:800;font-size:11px;padding:0 8px;letter-spacing:.1em}
.cc.test .cr{color:#333}

/* olas lenker */
.ola-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}
.ola-tools input{flex:1 1 260px;background:#000;border:1px solid var(--line);color:#fff;padding:8px 12px;font:inherit}
.ola-tools input:focus{outline:none;border-color:var(--red)}
.ola{columns:4 240px;column-gap:16px}
.og{break-inside:avoid;margin-bottom:14px;background:var(--panel2);border:1px solid var(--line);padding:10px 12px}
.og h3{margin:0 0 6px;font-family:var(--f-head);font-weight:900;font-style:italic;text-transform:uppercase;font-size:18px;color:var(--red)}
.og a{display:flex;justify-content:space-between;gap:8px;text-decoration:none;font-size:13px;padding:3px 0;border-bottom:1px dotted #26262f}
.og a:hover{color:var(--red)}
.og a small{color:var(--dim);font-size:11px;white-space:nowrap}
.og a .lv{color:var(--red);font-weight:700;font-size:10px;letter-spacing:.06em}

/* modal */
.modal{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.85);display:grid;place-items:center;padding:20px}
.modal-box{width:min(1100px,100%);position:relative}
.modal-body{aspect-ratio:16/9;background:#000;border:2px solid var(--red)}
.modal-body iframe{width:100%;height:100%;border:0;display:block}
.modal-x{position:absolute;right:0;top:-40px;background:var(--red);border:0;width:36px;height:32px;cursor:pointer;font-size:18px}

/* bunn */
.foot{border-top:2px solid var(--red);background:rgba(0,0,0,.85);margin-top:20px}
.foot-inner{max-width:1440px;margin:0 auto;padding:18px;display:grid;gap:6px;font-size:13px;color:var(--mute)}
.foot-inner b{color:#fff;font-family:var(--f-head);font-style:italic}
.foot-status{display:flex;flex-wrap:wrap;gap:6px}
.foot-status span{font-size:11px;padding:1px 8px;border:1px solid var(--line);display:inline-flex;gap:5px;align-items:center}
.foot a{color:var(--mute)}

/* responsiv */
@media (max-width:1100px){
  .hero-grid{grid-template-columns:minmax(0,1fr)}
  .span-8,.span-7,.span-5,.span-4{grid-column:span 12}
  .videos{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:720px){
  main{padding:0 10px 30px}
  .lb-inner{padding:6px 10px;font-size:13px}
  .lb-check{display:none}
  .brandbar{top:33px;padding:8px 10px;flex-wrap:wrap;gap:6px}
  .navlinks{width:100%}
  .brand-txt b{font-size:20px}
  .countdown div{min-width:62px}
  .countdown b{font-size:30px}
  .lights span{width:30px;height:30px}
  .panel{padding:14px}
  .news{grid-template-columns:1fr}
  .nc.lead{grid-column:span 1;grid-template-columns:1fr}
  .videos{grid-template-columns:repeat(2,1fr)}
  .res-grid{grid-template-columns:1fr}
  .sess{grid-template-columns:52px 66px 1fr;}
  .sess .pill{grid-column:2/4;justify-self:start}
  .ph h2{font-size:23px}
  html{scroll-padding-top:120px}
}

/* kompakt lenkerutenett (andre serier) */
.watch-mini{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}
.wm{display:flex;align-items:center;gap:8px;text-decoration:none;background:var(--panel2);border:1px solid var(--line);padding:7px 10px;font-size:13px;min-width:0}
.wm:hover{border-color:var(--red)}
.wm b{font-family:var(--f-head);font-weight:800;text-transform:uppercase;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wm small{color:var(--dim);font-size:11px;margin-left:auto;white-space:nowrap}
/* dagens økter i hero */
.hero-today{position:relative;z-index:1;margin-top:18px;display:grid;gap:4px}
.ht{display:grid;grid-template-columns:52px 72px 1fr auto;gap:8px;align-items:center;font-size:13.5px;background:rgba(0,0,0,.45);padding:5px 10px;border-left:3px solid #333}
.ht .t{font-family:var(--f-num);font-weight:700}
.ht.race{border-left-color:var(--red)}
.ht.live{border-left-color:var(--red);background:rgba(255,42,42,.25)}
.ht .d{color:var(--mute);font-size:11.5px;text-transform:uppercase}
@media (max-width:720px){.watch-mini{grid-template-columns:minmax(0,1fr)}.watch .w-st{display:none}.watch{grid-template-columns:auto 1fr}}

/* admin-knapp (høyre hjørne) + kunngjøring */
.admin-btn{flex:none;display:inline-flex;align-items:center;gap:7px;text-decoration:none;font-family:var(--f-head);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:13.5px;padding:5px 12px;border:1px solid var(--line);background:#000;transform:skew(-12deg);color:var(--mute)}
.admin-btn>*{transform:skew(12deg)}
.admin-btn svg{width:15px;height:15px}
.admin-btn:hover{color:#fff;border-color:var(--red)}
.admin-btn.on{color:#fff;border-color:var(--green)}
.admin-btn.on svg{color:var(--green)}
.announce{max-width:1440px;margin:10px auto 0;padding:0 18px}
.announce .an{display:flex;gap:12px;align-items:center;padding:9px 16px;font-weight:600;background:rgba(45,92,255,.18);border-left:5px solid var(--blue2);text-decoration:none}
.announce .an.warn{background:rgba(255,204,0,.14);border-color:var(--yellow)}
.announce .an.live{background:rgba(255,42,42,.22);border-color:var(--red)}
.announce .an b{font-family:var(--f-head);font-style:italic;text-transform:uppercase;letter-spacing:.08em;flex:none}
@media (max-width:720px){.brand-gp{display:none}.admin-btn{position:absolute;right:10px;top:12px}.brandbar{position:sticky}.announce{padding:0 10px}}

/* ── 3x3-ruter (nyheter + YouTube) ── */
.tilebar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.tilebar .tabs{margin-bottom:0}
.pager{display:flex;align-items:center;gap:6px}
.pg-dot{width:22px;height:6px;border:0;background:#2a2a36;cursor:pointer;transform:skew(-20deg);padding:0}
.pg-dot.on{background:var(--red);width:34px}
.pg-arrow{background:#000;border:1px solid var(--line);width:30px;height:28px;cursor:pointer;font-size:18px;line-height:1}
.pg-arrow:hover{border-color:var(--red)}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tile{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:#0d0d12;border:1px solid var(--line);text-decoration:none;color:inherit;padding:0;text-align:left;cursor:pointer;font:inherit;width:100%}
.tile:hover{border-color:var(--red)}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.tile img.fallback{filter:grayscale(.35) brightness(.55)}
.tile:hover img{transform:scale(1.06)}
.tile .tov{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;padding:12px 14px;background:linear-gradient(180deg,rgba(0,0,0,0) 20%,rgba(0,0,0,.6) 55%,rgba(0,0,0,.94))}
.tile h3{margin:0;font-size:16.5px;line-height:1.22;font-weight:700;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.tile p{margin:0;font-size:12.5px;line-height:1.35;color:#c9c9d4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tile .tm{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#a9a9b8}
.tile .tbadges{display:flex;gap:6px;margin-bottom:auto}
.tile .tbadges .lang{font-size:11px;background:rgba(0,0,0,.6)}
.tile .tbadges .lang.no{background:var(--red2)}
.tile .tbadges .tr{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:0 6px;background:var(--blue2);color:#fff}
.news-tile:first-child h3{font-size:19px}
.vid-tile .play{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);width:58px;height:40px;display:grid;place-items:center;background:rgba(255,42,42,.92);font-size:18px;clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);transition:transform .2s;z-index:1}
.vid-tile:hover .play{transform:translate(-50%,-50%) scale(1.12)}
.vid-tile .tov{background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.92))}
.vid-tile h3{font-size:14.5px;-webkit-line-clamp:2}
.tiles.flip .tile{animation:tileIn .55s cubic-bezier(.2,.7,.2,1) both}
.tiles.flip .tile:nth-child(2){animation-delay:.04s}.tiles.flip .tile:nth-child(3){animation-delay:.08s}
.tiles.flip .tile:nth-child(4){animation-delay:.12s}.tiles.flip .tile:nth-child(5){animation-delay:.16s}
.tiles.flip .tile:nth-child(6){animation-delay:.2s}.tiles.flip .tile:nth-child(7){animation-delay:.24s}
.tiles.flip .tile:nth-child(8){animation-delay:.28s}.tiles.flip .tile:nth-child(9){animation-delay:.32s}
@keyframes tileIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.tiles.flip .tile{animation:none}}
@media (max-width:720px){
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .tile{aspect-ratio:4/5}
  .vid-tile{aspect-ratio:16/12}
  .tile h3,.news-tile:first-child h3{font-size:14px;-webkit-line-clamp:4}
  .tile p{display:none}
  .tile .tov{padding:9px 10px}
}

/* ── undersider ── */
.navlinks a.on{color:#fff}
.navlinks a.on::after{content:"";position:absolute;left:8px;right:8px;bottom:0;height:3px;background:var(--red);transform:skew(-20deg)}
.subhero{position:relative;margin:18px 0 14px;padding:22px 26px;background:linear-gradient(135deg,rgba(40,4,10,.88),rgba(14,14,20,.85) 60%);border:1px solid var(--line);overflow:hidden;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px))}
.subhero h1{font-family:var(--f-head);font-weight:900;font-style:italic;text-transform:uppercase;font-size:clamp(32px,4.2vw,58px);line-height:.95;margin:12px 0 6px}
.subhero h1 em{color:var(--red)}
.subhero .hero-sub{max-width:820px}
.subhero .hero-bgword{top:-10px}
.ph h2 em{font-style:italic}
.more-link{display:inline-block;margin-top:10px;font-family:var(--f-head);font-weight:800;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;color:var(--red);font-size:15px}
.more-link:hover{color:#fff}
.btns-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:6px}
.btn{background:var(--red);border:0;color:#fff;font-family:var(--f-head);font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:8px 18px;cursor:pointer;font-size:15px;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.search{flex:1 1 260px;background:#000;border:1px solid var(--line);color:#fff;padding:7px 12px;font:inherit;max-width:520px}
.search:focus{outline:none;border-color:var(--red)}
.tablewrap{overflow-x:auto}
.rtable{width:100%;border-collapse:collapse;font-size:14px}
.rtable th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--mute);padding:6px 8px;border-bottom:1px solid var(--line)}
.rtable td{padding:6px 8px;border-bottom:1px solid #1d1d26;white-space:nowrap}
.rtable td.n{font-family:var(--f-num);text-align:right}
.rtable td.b{font-weight:700}
.rtable tr.islive td{background:rgba(255,42,42,.14)}
.rtable .rl{color:var(--red);font-weight:700;font-size:11px}
.cam-cta{display:flex;align-items:center;gap:8px;margin-top:12px;text-decoration:none;background:linear-gradient(90deg,rgba(255,42,42,.22),var(--panel2));border:1px solid var(--red);padding:9px 14px;font-size:14px}
.cam-cta b{font-family:var(--f-head);text-transform:uppercase;font-size:17px}
.cam-cta span:not(.lb-dot){color:var(--mute)}

/* førerruter */
.rtile{cursor:default;background:linear-gradient(135deg,#1c1c26 0%,#101016 55%,#0a0a0e 100%)}
.rtile .rnum{position:absolute;left:-4px;top:-26px;font:italic 900 170px/1 var(--f-head);color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.08);pointer-events:none}
.rtile .rphoto,.ltile .rphoto,.ytile .rphoto{position:absolute;right:0;top:0;height:100%;width:64%;object-fit:cover;object-position:top center;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 38%);mask-image:linear-gradient(90deg,transparent 0,#000 38%);opacity:.95}
.rtop{position:absolute;left:12px;right:12px;top:10px;display:flex;align-items:flex-start;gap:8px;z-index:2}
.rpos{font-family:var(--f-head);font-weight:900;font-style:italic;font-size:22px;background:#000;padding:0 10px;border-left:4px solid var(--red)}
.rpts{margin-left:auto;text-align:right;background:rgba(0,0,0,.6);padding:2px 10px}
.rpts b{display:block;font-family:var(--f-num);font-size:28px;line-height:1}
.rpts small{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--mute)}
.rlive{background:var(--red);font-family:var(--f-head);font-weight:800;font-size:13px;padding:2px 8px;animation:glow 1.4s infinite}
.rinfo{position:absolute;left:0;right:0;bottom:0;padding:10px 14px 12px;background:linear-gradient(90deg,rgba(0,0,0,.92) 0,rgba(0,0,0,.6) 65%,rgba(0,0,0,.2));z-index:2}
.rinfo h3{margin:0;font-family:var(--f-head);font-weight:800;text-transform:uppercase;font-size:22px;line-height:1.02}
.rteam{font-size:12.5px;color:#c9c9d4;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rstats{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px;font-size:12px;color:var(--mute)}
.rstats b{color:#fff;font-family:var(--f-num)}
.rstats .lead{color:var(--yellow);font-weight:700;text-transform:uppercase}
.rtile.leader{border-color:var(--red);background:linear-gradient(135deg,#4a0612 0%,#16090c 60%,#0a0a0e)}
.rtile.leader .rpos{background:var(--red);border-color:#fff}
.rtile.islive{box-shadow:inset 0 0 0 2px var(--red)}
.live-strip{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:rgba(0,0,0,.85);border:1px solid var(--red);padding:8px 14px;font-size:14px}
.live-strip .ls-tag{background:var(--red);font-family:var(--f-head);font-weight:900;font-style:italic;padding:1px 10px}
.live-strip .ls-top{display:flex;gap:14px;flex-wrap:wrap}
.live-strip .ls-top i{font-style:normal;font-family:var(--f-num);color:var(--yellow)}
.live-strip a{margin-left:auto;color:var(--red);font-weight:700;text-decoration:none}
/* legender + år */
.ltile,.ytile{cursor:default;background:linear-gradient(135deg,#1c1c26,#0b0b10)}
.ltile .lcount{position:absolute;left:12px;top:4px;font:italic 900 86px/1 var(--f-head);color:var(--red);text-shadow:0 4px 20px rgba(0,0,0,.6);z-index:2}
.ltile.nophoto .lcount{font-size:110px}
.lyears{font-family:var(--f-num);font-size:12px;color:var(--yellow);margin-top:5px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ytile .yyear{position:absolute;right:-6px;top:-14px;font:italic 900 120px/1 var(--f-head);color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.08)}
.ytile .ycls{background:rgba(0,0,0,.65);font-size:12px;padding:3px 8px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.ytile .ylab{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--yellow);font-weight:700}
.ytile .yrun{font-size:12px;color:var(--mute);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ytile.g-premier .rpos{border-color:var(--red)}.ytile.g-middle .rpos{border-color:var(--blue2)}.ytile.g-light .rpos{border-color:var(--yellow)}
/* kamera */
.cam-groups{display:grid;gap:14px}
.cam-tile{cursor:pointer;background:#000}
.cam-tile iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.cam-tile.playing{border-color:var(--red)}
.cam-live{position:absolute;left:10px;top:10px;z-index:2;background:var(--red);font-family:var(--f-head);font-weight:800;font-size:12.5px;padding:1px 8px;letter-spacing:.05em}
.cam-live.arch{background:rgba(0,0,0,.75);border:1px solid var(--line)}
.cam-live.arch.webcam{border-color:var(--yellow)}.cam-live.arch.live{border-color:var(--red)}
.cam-view{position:absolute;right:10px;top:10px;z-index:2;background:rgba(0,0,0,.7);font-size:11.5px;padding:1px 7px}
.cam-tile .play{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);width:58px;height:40px;display:grid;place-items:center;background:rgba(255,42,42,.92);font-size:18px;clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);z-index:1}
.cam-big{position:absolute;right:8px;top:8px;z-index:3;background:rgba(0,0,0,.75);border:1px solid var(--line);width:34px;height:30px;cursor:pointer;font-size:16px}
.cam-tile.official{border-color:var(--red)}
.cam-offs{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.cam-off{background:var(--panel2);border:1px solid var(--line);padding:9px 12px;font-size:13.5px}
.cam-off a{color:var(--red);text-decoration:none}
.cam-still{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;margin-bottom:6px}
.modal-t{position:absolute;left:0;top:-34px;right:50px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* nummerert sidevelger */
.numpager{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center;margin:12px 0}
.pg-num{background:#000;border:1px solid var(--line);min-width:38px;height:34px;padding:0 10px;cursor:pointer;font-family:var(--f-num);font-weight:700}
.pg-num.on{background:var(--red);border-color:var(--red)}
.pg-num:disabled{opacity:.35;cursor:default}
.pg-num:hover:not(:disabled):not(.on){border-color:var(--red)}
@media (max-width:720px){
  .rtile .rnum{font-size:110px}
  .rinfo h3{font-size:16px}
  .rpts b{font-size:20px}
  .rstats{display:none}
  .ltile .lcount{font-size:60px}
  .ytile .yyear{font-size:80px}
  .subhero{padding:16px}
  .live-strip a{margin-left:0}
}

/* ── rullerende slagord ── */
.slogan-bar{max-width:1440px;margin:0 auto;padding:4px 18px 2px;display:flex;align-items:center;justify-content:center;gap:14px;overflow:hidden}
.slogan{font-family:var(--f-head);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(17px,2.1vw,26px);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;
  background:linear-gradient(90deg,#fff 0%,#fff 55%,var(--red) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;transition:opacity .45s,transform .45s}
.slogan.out{opacity:0;transform:translateX(-24px) skewX(-12deg)}
.slogan.in{animation:slIn .55s cubic-bezier(.2,.7,.2,1)}
@keyframes slIn{from{opacity:0;transform:translateX(30px) skewX(-12deg)}to{opacity:1;transform:none}}
.sl-mark{font-family:var(--f-head);font-weight:900;font-style:italic;color:var(--red);font-size:20px;flex:none}
@media (max-width:720px){.slogan-bar{padding:2px 10px}.sl-mark{display:none}}

/* ═══════════════ ASFALT-TEMA – røffere, mer bane ═══════════════ */
:root{
  --asph-grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 -.32'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  --asph-dark:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='420' height='420'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.32' numOctaves='4' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 1.4 -.45'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  --worn:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  -2.6 0 0 0 2.75'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  --panel-grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .32 -.14'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  --kerb:repeating-linear-gradient(90deg,#e10600 0 28px,#ececec 28px 56px);
  --hazard:repeating-linear-gradient(-45deg,#ffcc00 0 10px,#151515 10px 20px);
  --checker:conic-gradient(#f1f1f1 0 25%,#111 0 50%,#f1f1f1 0 75%,#111 0) 0 0/14px 14px;
  --panel:rgba(20,20,22,.93);
  --panel2:rgba(30,30,33,.94);
  --line:#2c2c31;
}
body{background:#0b0b0d}
/* asfalt under alt, med grus-korn og mørke flekker */
.bgstage{background:var(--asph-grain),var(--asph-dark),radial-gradient(ellipse at 50% -10%,#2b2b2f 0%,#141417 45%,#09090b 100%);background-size:200px 200px,420px 420px,cover}
.bgimg.on{opacity:.2;filter:grayscale(.65) contrast(1.2) brightness(.85) blur(1px)}
.bgshade{background:linear-gradient(180deg,rgba(9,9,11,.45) 0%,rgba(9,9,11,.8) 45%,rgba(9,9,11,.94) 100%)}
/* fint filmkorn over hele siden */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:200;background:var(--asph-grain);background-size:200px 200px;opacity:.045;mix-blend-mode:overlay}
/* bremsespor diagonalt over toppen */
.bgstage::after{content:"";position:absolute;left:-10%;right:-10%;top:90px;height:420px;opacity:.5;pointer-events:none;transform:rotate(-8deg);
  background:
    linear-gradient(180deg,transparent 0 30%,rgba(0,0,0,.75) 31% 36%,transparent 37% 52%,rgba(0,0,0,.65) 53% 58%,transparent 59%),
    repeating-linear-gradient(90deg,rgba(0,0,0,.35) 0 7px,transparent 7px 12px);
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 55%,transparent 85%);mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 55%,transparent 85%);filter:blur(1.5px)}

/* live-linja: kantstein under */
.livebar{border-bottom:0;background:linear-gradient(90deg,#1b0004,#2c0007 40%,#0e0e10)}
.livebar::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:6px;background:var(--kerb);box-shadow:0 3px 8px rgba(0,0,0,.6)}
.brandbar{top:43px;background:linear-gradient(180deg,rgba(11,11,13,.95),rgba(11,11,13,.78))}
.lb-tag{background:#ffcc00;color:#000;padding:1px 12px;box-shadow:6px 0 0 -1px #0e0e10,12px 0 0 -1px #ffcc00}
.lb-clock{background:#050505;border-color:#333;color:#ffcc00;letter-spacing:.06em}

/* logo: slitt maling */
.brand-txt b{letter-spacing:.04em;-webkit-mask-image:var(--worn);mask-image:var(--worn);-webkit-mask-size:180px;mask-size:180px}
.brand-gp{border-width:3px}

/* paneler: hard asfalt, kantstein på toppen */
.panel{background:var(--panel-grain),linear-gradient(180deg,rgba(26,26,29,.95),rgba(15,15,17,.97));background-size:200px 200px,auto;border:1px solid #2a2a2f;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 14px 34px rgba(0,0,0,.55);padding-top:24px}
.panel::before{left:0;right:0;width:auto;height:6px;background:var(--kerb);opacity:.92}
.ph h2,.subhero h1,.hero h1{-webkit-mask-image:var(--worn);mask-image:var(--worn);-webkit-mask-size:180px;mask-size:180px;letter-spacing:.005em}
.ph h2{font-size:30px}
/* vognbane-striper i stedet for tynne linjer */
.sub-h::after{height:3px;background:repeating-linear-gradient(90deg,rgba(236,236,236,.55) 0 22px,transparent 22px 40px)}
.sub-h{color:#bdbdc7}

/* hero: pit-tavle */
.hero-status{background:var(--panel-grain),linear-gradient(135deg,rgba(48,6,12,.93),rgba(18,18,21,.95) 60%);background-size:200px 200px,auto}
.hero-status::after{background:repeating-linear-gradient(115deg,transparent 0 14px,rgba(255,204,0,.07) 14px 28px)}
.kicker{border-left-color:#ffcc00}
.kicker.live{background:var(--red);border-left-color:#fff}
.countdown div{background:#050505;border:2px solid #2d2d2d;box-shadow:inset 0 0 0 1px #000,inset 0 -10px 20px rgba(255,255,255,.03)}
.countdown b{color:#ffcc00;text-shadow:0 0 12px rgba(255,204,0,.25)}
.countdown.live b{color:var(--red);text-shadow:0 0 12px rgba(255,42,42,.4)}
.lights span{border-color:#050505;background:#141414}

/* nyhetsrulle: tidtakertavle */
.ticker{background:#050505;border-top:2px solid #222;border-bottom:2px solid #222}
.ticker-tag{background:#ffcc00;color:#000}

/* faner og knapper: startnummer-skilt */
.tab{background:#0a0a0a;border:2px solid #2c2c31;font-weight:900}
.tab.on{background:var(--red);border-color:#fff;box-shadow:0 0 0 2px var(--red)}
.btn{box-shadow:0 4px 0 #6b0000}
.btn:active{transform:translateY(2px);box-shadow:0 2px 0 #6b0000}
.chip{border-width:2px}
.watch{border-width:2px;background:var(--panel-grain),var(--panel2);background-size:200px 200px,auto}
.watch:hover{border-color:#ffcc00}
.watch.primary{background:var(--panel-grain),linear-gradient(100deg,#c00018,#5a0014 70%,#1a0a10);background-size:200px 200px,auto;border-color:#fff}
.admin-btn{border-width:2px}

/* ruter: grovere kant, gul på hover */
.tile{border:2px solid #26262b}
.tile:hover{border-color:#ffcc00}
.tile .tov{background:linear-gradient(180deg,rgba(0,0,0,0) 22%,rgba(0,0,0,.62) 55%,rgba(0,0,0,.95))}
.rtile.leader{border-color:#ffcc00}
.rpos{border-left-color:#ffcc00}
.pg-dot.on{background:#ffcc00}

/* tabeller og program: grov stripe på venstre side */
.sess{background:var(--panel-grain),var(--panel2);background-size:200px 200px,auto;border-left-width:5px}
.st-row:nth-child(1){background:linear-gradient(90deg,rgba(255,204,0,.16),transparent)}
.st-row:nth-child(1) .pos{color:#ffcc00}
.pod.p1{border-color:#ffcc00}

/* kunngjøring «viktig»: fareskilt-striper */
.announce .an.warn{border-left:0;background:linear-gradient(90deg,rgba(255,204,0,.16),rgba(255,204,0,.05));box-shadow:inset 8px 0 0 #ffcc00}
.announce .an{border-left-width:8px}

/* slagord: sprayet på asfalten */
.slogan{-webkit-mask-image:var(--worn);mask-image:var(--worn);-webkit-mask-size:180px;mask-size:180px;background:linear-gradient(90deg,#f4f4f4 0%,#f4f4f4 55%,#ffcc00 100%);-webkit-background-clip:text;background-clip:text}
.sl-mark{color:#ffcc00}

/* bunn: rutete målflagg */
.foot{border-top:0;position:relative;background:#070708}
.foot::before{content:"";display:block;height:14px;background:var(--checker);opacity:.9}

/* undersider */
.subhero{background:var(--panel-grain),linear-gradient(135deg,rgba(48,6,12,.9),rgba(18,18,21,.92) 60%);background-size:200px 200px,auto;border:2px solid #2a2a2f}
.subhero::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--kerb)}
.live-strip{border-width:2px;background:#050505}

@media (max-width:720px){.brandbar{top:39px}.livebar::after{height:5px;bottom:-5px}.ph h2{font-size:24px}}
@media (prefers-reduced-motion:reduce){body::after{display:none}}

.fine,.w-note,.ph-meta,.tm,.rteam,.mute{text-shadow:0 1px 2px rgba(0,0,0,.8)}
.fine{color:#8a8a96}
/* bakgrunnsbilde: langsomt (bytter hvert 5. min) */
.bgimg{transition:opacity 4s ease}
.bgimg.on{animation:kenburns 300s ease-out forwards}
@keyframes kenburns{from{transform:scale(1.03)}to{transform:scale(1.1)}}

/* nyhetsruter uten eget bilde */
.tile.noimg{background:var(--panel-grain),repeating-linear-gradient(115deg,#141417 0 26px,#18181c 26px 52px),linear-gradient(135deg,#3a0610,#0e0e10 70%)}
.tile.noimg::before{content:"GP";position:absolute;right:-8px;top:-30px;font:italic 900 170px/1 var(--f-head);color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.06)}
.tile.noimg::after{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--kerb)}
.tile img.rider{object-fit:cover;object-position:top center;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%);mask-image:linear-gradient(90deg,transparent 0,#000 30%);left:20%;width:80%}
.tile.rider-img{background:linear-gradient(135deg,#3a0610,#121215 65%)}

/* lenkesamling – kompakt */
.og h3 small{font-family:var(--f-num);font-style:normal;font-size:12px;color:var(--dim);margin-left:6px}
.og-more{display:block;width:100%;margin-top:6px;background:#0a0a0a;border:1px dashed #3a3a40;color:var(--mute);font-size:12px;padding:4px;cursor:pointer;text-transform:uppercase;letter-spacing:.06em}
.og-more:hover{border-color:#ffcc00;color:#fff}
.og-more.vid{border-style:solid}
.og-vids{margin-top:4px;max-height:260px;overflow:auto}

/* ═════ LIVE-SCENE ═════ */
.stage{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(0,1fr);gap:14px;margin-bottom:14px;position:relative;z-index:1}
.stage-main{position:relative;background:#000;border:2px solid #2a2a2f;min-height:200px;overflow:hidden}
.stage.is-live .stage-main{border-color:var(--red);box-shadow:0 0 0 1px #000,0 0 40px rgba(255,42,42,.25)}
.stage-main::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--kerb);z-index:3}
.stage-player{position:relative;aspect-ratio:16/9;background:#000}
.stage-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.stage-cap{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:10px 14px;background:var(--panel-grain),#0b0b0d;border-top:2px solid #1f1f23}
.stage-cap b{font-family:var(--f-head);font-weight:800;text-transform:uppercase;font-size:19px;line-height:1.1}
.stage-hint{margin-left:auto;font-size:11.5px;color:var(--dim)}
.stage-live{display:inline-block;background:var(--red);color:#fff;font-family:var(--f-head);font-weight:900;font-style:italic;font-size:14px;letter-spacing:.06em;padding:2px 10px;animation:glow 1.4s infinite}
.stage-live.replay{background:#2d5cff;animation:none}
.stage-live.idle{background:#000;border:2px solid #ffcc00;color:#ffcc00;animation:none}
.stage-back{background:#000;border:1px solid var(--line);padding:3px 10px;cursor:pointer;margin-left:auto}
/* plakat når ingenting er live */
.poster{position:relative;aspect-ratio:16/9;overflow:hidden;display:flex;align-items:flex-end}
.poster-bg{position:absolute;inset:-4%;background-size:cover;background-position:center;filter:grayscale(.35) contrast(1.1) brightness(.6);animation:kenburns 60s ease-in-out infinite alternate}
.poster::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.35) 40%,rgba(0,0,0,.92) 100%),linear-gradient(90deg,rgba(0,0,0,.75),transparent 70%)}
.poster-speed{position:absolute;inset:0;z-index:1;opacity:.35;background:repeating-linear-gradient(100deg,transparent 0 60px,rgba(255,255,255,.08) 60px 62px,transparent 62px 140px,rgba(255,42,42,.12) 140px 143px);background-size:400% 100%;animation:speed 2.2s linear infinite;mix-blend-mode:screen}
@keyframes speed{from{background-position:0 0}to{background-position:-560px 0}}
.poster-in{position:relative;z-index:2;padding:22px 26px 24px;max-width:780px}
.poster-k{margin-top:14px;font-family:var(--f-head);font-weight:800;text-transform:uppercase;letter-spacing:.2em;color:#ffcc00;font-size:14px}
.poster-t{margin:2px 0 4px;font-family:var(--f-head);font-weight:900;font-style:italic;text-transform:uppercase;font-size:clamp(30px,4.4vw,64px);line-height:.92;-webkit-mask-image:var(--worn);mask-image:var(--worn);-webkit-mask-size:180px;mask-size:180px;text-shadow:0 6px 30px rgba(0,0,0,.6)}
.poster-e{font-size:15px;color:#e6e6ee}
.poster-cd{margin-top:10px;display:inline-block;font-family:var(--f-num);font-weight:700;font-size:clamp(26px,3.2vw,44px);color:#ffcc00;background:rgba(0,0,0,.6);border:2px solid #333;padding:2px 14px;letter-spacing:.04em}
.poster-btns{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}
/* sideliste */
.stage-side{background:var(--panel-grain),linear-gradient(180deg,rgba(26,26,29,.95),rgba(15,15,17,.97));border:2px solid #2a2a2f;padding:12px;display:flex;flex-direction:column;gap:8px;min-width:0;position:relative}
.stage-side::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--kerb)}
.stage-side-h{display:flex;align-items:center;gap:8px;font-family:var(--f-head);font-weight:900;font-style:italic;text-transform:uppercase;font-size:20px;margin-top:4px}
.eq{display:inline-flex;align-items:flex-end;gap:2px;height:16px}
.eq i{width:3px;background:var(--red);animation:eq 1s ease-in-out infinite}
.eq i:nth-child(2){animation-delay:.2s}.eq i:nth-child(3){animation-delay:.4s}.eq i:nth-child(4){animation-delay:.1s}
@keyframes eq{0%,100%{height:4px}50%{height:16px}}
.stage-list{display:grid;gap:6px;overflow:auto;max-height:520px}
.st-item{display:grid;grid-template-columns:120px 1fr;gap:10px;align-items:center;background:#0b0b0d;border:2px solid #222226;padding:5px;cursor:pointer;text-align:left;color:inherit;font:inherit;animation:tileIn .5s both}
.st-item:hover{border-color:#ffcc00}
.st-item.on{border-color:var(--red);background:linear-gradient(90deg,rgba(255,42,42,.2),#0b0b0d)}
.st-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:#000}
.st-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.st-item:hover .st-thumb img{transform:scale(1.08)}
.st-badge{position:absolute;left:4px;top:4px;background:var(--red);font-family:var(--f-head);font-weight:900;font-size:10.5px;padding:0 5px}
.st-badge.clip{background:rgba(0,0,0,.7)}
.st-txt b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.25}
.st-txt small{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute);margin-top:2px}
.stage-more{margin-top:auto;font-family:var(--f-head);font-weight:800;text-transform:uppercase;color:#ffcc00;text-decoration:none;letter-spacing:.04em}
@media (max-width:1100px){.stage{grid-template-columns:minmax(0,1fr)}.stage-list{grid-auto-flow:column;grid-auto-columns:260px;max-height:none}}
@media (max-width:720px){.poster{aspect-ratio:4/5}.poster-in{padding:16px}.stage-hint{display:none}.st-item{grid-template-columns:100px 1fr}}
@media (prefers-reduced-motion:reduce){.poster-speed,.poster-bg,.eq i{animation:none}}

/* lenker til førersider */
a.rlink{color:inherit;text-decoration:none}
a.rlink:hover{color:#ffcc00;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}

/* ═════ FØRERSIDE ═════ */
.rtile{cursor:pointer}
.rider-hero{min-height:260px;padding-right:38%}
.rider-hero .rh-photo{position:absolute;right:0;top:0;height:100%;width:42%;object-fit:cover;object-position:top center;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 35%);mask-image:linear-gradient(90deg,transparent 0,#000 35%)}
.rider-hero .hero-bgword{font-size:clamp(140px,22vw,320px);right:20%;top:-40px}
.r-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.rs{background:var(--panel-grain),#0d0d10;border:2px solid #2a2a2f;padding:10px 12px;position:relative}
.rs::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--kerb)}
.rs b{display:block;font-family:var(--f-num);font-size:30px;line-height:1.1;color:#fff}
.rs span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--mute)}
.rs small{display:block;font-size:11.5px;color:var(--dim)}
.rs.gold b{color:#ffcc00}
.merits{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.merit{background:#0b0b0d;border:2px solid #26262b;padding:12px;text-align:center}
.merit b{display:block;font-family:var(--f-head);font-weight:900;font-style:italic;font-size:46px;line-height:1;color:var(--red)}
.merit.gold b{color:#ffcc00}
.merit span{display:block;font-family:var(--f-head);font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-top:4px}
.merit small{display:block;font-size:11px;color:var(--mute);margin-top:4px}
.tl{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:12px}
.tl-h{font-family:var(--f-head);font-weight:900;font-style:italic;text-transform:uppercase;color:#ffcc00;margin-right:6px}
.tl-y{background:#ffcc00;color:#000;font-weight:700;font-size:12.5px;padding:1px 8px}
.pr{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px dashed #2a2a2f;font-size:14px}
.pr span{color:var(--mute)}
.bio{font-size:14px;line-height:1.55;color:#d4d4dc;margin:12px 0 0}
.chart{margin-bottom:10px}
.rchart{width:100%;height:auto;display:block;background:#08080a;border:2px solid #222226}
.rchart .grid{stroke:#232328;stroke-width:1}
.rchart .ax{fill:#77778a;font:11px var(--f-num)}
.rchart .ax.c{text-anchor:middle}
.rchart .ln{fill:none;stroke-width:3}
.rchart .ln.me{stroke:#ff2a2a}
.rchart .ln.lead{stroke:#ffcc00;stroke-dasharray:6 6;stroke-width:2}
.rchart .area{fill:rgba(255,42,42,.14)}
.rchart .pt{fill:#ff2a2a;stroke:#000;stroke-width:2}
.rchart .pt.win{fill:#ffcc00}
.rtable tr.win td{background:rgba(255,204,0,.12)}
.rtable tr.pod td{background:rgba(255,255,255,.04)}
@media (max-width:1100px){.r-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.rider-hero{padding-right:26px}.rider-hero .rh-photo{opacity:.35;width:70%}}
@media (max-width:720px){.r-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.merit b{font-size:34px}}

/* «Se live»-knapper i programmet */
.ht{grid-template-columns:52px 72px minmax(0,1fr) auto auto}
.sess{grid-template-columns:62px 78px minmax(0,1fr) auto auto}
.wlink{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;text-decoration:none;font-family:var(--f-head);font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:12.5px;padding:2px 9px;background:#000;border:2px solid #3a3a40;color:#e8e8ee;cursor:pointer;clip-path:polygon(5px 0,100% 0,calc(100% - 5px) 100%,0 100%)}
.wlink:hover{border-color:#ffcc00;color:#ffcc00}
.wlink.now{background:var(--red);border-color:#fff;color:#fff;animation:glow 1.3s infinite}
@media (max-width:720px){.ht{grid-template-columns:48px 66px minmax(0,1fr) auto}.ht .d{display:none}.sess{grid-template-columns:52px 66px minmax(0,1fr) auto}.sess .pill{grid-column:1/3}}

/* ═════ BURGERMENY ═════ */
.navlinks{margin-left:auto}
.burger{flex:none;display:inline-flex;align-items:center;gap:8px;background:#000;border:2px solid #3a3a40;color:#fff;padding:6px 12px;cursor:pointer;position:relative;z-index:60}
.burger span{display:block;width:20px;height:3px;background:#fff;transition:transform .25s,opacity .25s}
.burger span+span{margin-top:0}
.burger{flex-direction:row}
.burger>span{position:relative}
.burger{display:grid;grid-template-columns:20px auto;grid-template-rows:3px 3px 3px;column-gap:9px;row-gap:4px;align-items:center}
.burger span:nth-child(1){grid-row:1}.burger span:nth-child(2){grid-row:2}.burger span:nth-child(3){grid-row:3}
.burger b{grid-column:2;grid-row:1/4;font-family:var(--f-head);font-weight:900;font-style:italic;letter-spacing:.08em;font-size:14px}
.burger:hover{border-color:#ffcc00}
.burger.open{border-color:var(--red)}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:150;background:rgba(5,5,7,.88);backdrop-filter:blur(6px);display:flex;justify-content:flex-end;animation:mFade .2s ease}
.menu[hidden]{display:none}
@keyframes mFade{from{opacity:0}to{opacity:1}}
.menu-in{width:min(560px,100%);height:100%;overflow:auto;background:var(--panel-grain),linear-gradient(180deg,#17171a,#0b0b0d);border-left:2px solid #2a2a2f;padding:84px 22px 30px;position:relative;animation:mSlide .28s cubic-bezier(.2,.7,.2,1)}
.menu-in::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:repeating-linear-gradient(180deg,#e10600 0 28px,#ececec 28px 56px)}
@keyframes mSlide{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
.menu-h{font-family:var(--f-head);font-weight:900;font-style:italic;text-transform:uppercase;font-size:30px;margin-bottom:12px;-webkit-mask-image:var(--worn);mask-image:var(--worn);-webkit-mask-size:180px;mask-size:180px}
.menu-grid{display:grid;gap:8px}
.menu-grid a{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;text-decoration:none;background:#0b0b0d;border:2px solid #232327;padding:10px 14px;transition:border-color .15s,transform .15s}
.menu-grid a:hover,.menu-grid a:focus{border-color:#ffcc00;transform:translateX(-4px);outline:none}
.menu-grid a.on{border-color:var(--red);background:linear-gradient(90deg,rgba(255,42,42,.18),#0b0b0d)}
.menu-grid i{grid-row:1/3;font-style:normal;font-size:22px;width:42px;height:42px;display:grid;place-items:center;background:#000;border:1px solid #2a2a2f;transform:skew(-10deg)}
.menu-grid b{font-family:var(--f-head);font-weight:900;text-transform:uppercase;font-size:20px;line-height:1.05}
.menu-grid small{color:var(--mute);font-size:12.5px}
body.menu-open{overflow:hidden}
@media (max-width:1100px){.navlinks{display:none}.brandbar{justify-content:space-between}.burger{margin-left:auto}}
@media (max-width:720px){.admin-btn{position:static}.admin-btn span{display:none}.burger b{display:none}.burger{grid-template-columns:20px}.brandbar{flex-wrap:nowrap}}
.menu-x{position:absolute;right:16px;top:18px;width:44px;height:40px;background:#000;border:2px solid var(--red);color:#fff;font-size:20px;cursor:pointer}
.menu-x:hover{border-color:#ffcc00}
.lb-tag{margin-right:12px}

/* ═════ ROLIGERE: mindre sperrebånd, slankere live-scene ═════ */
.panel::before{left:0;right:auto;width:70px;height:3px;background:var(--red);opacity:1}
.panel{padding-top:18px}
.stage-main::before,.stage-side::before,.rs::before,.subhero::before,.tile.noimg::after,.menu-in::before{display:none}
.livebar::after{height:3px;bottom:-3px;opacity:.85}
.menu-in{border-left:3px solid var(--red)}
.rs{border-top:3px solid #3a3a40}
.watch{border-width:1px}
.tile{border-width:1px}
.bgstage::after{opacity:.28}
/* live-scene uten live: slankt banner */
.stage.no-live{grid-template-columns:minmax(0,1fr)}
.stage.no-live .stage-side{display:none}
.stage.no-live .stage-main{border:1px solid #2a2a2f;box-shadow:none}
.stage.no-live .poster{aspect-ratio:auto;min-height:0;align-items:center;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px}
.stage.no-live .poster-in{padding:18px 22px}
.poster-t{font-size:clamp(26px,3vw,44px)}
.poster-cd{font-size:clamp(22px,2.4vw,32px)}
.poster-speed{opacity:.18}
.poster-clips{position:relative;z-index:2;padding:14px 18px 14px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:center}
.pc-h{grid-column:1/-1;font-family:var(--f-head);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:13px;color:#cfcfd8}
.pc{position:relative;aspect-ratio:16/9;padding:0;border:1px solid #2a2a2f;background:#000;cursor:pointer;overflow:hidden;text-align:left;color:#fff}
.pc img{width:100%;height:100%;object-fit:cover;display:block;opacity:.85;transition:transform .4s,opacity .2s}
.pc:hover img{transform:scale(1.05);opacity:1}
.pc:hover{border-color:#ffcc00}
.pc span{position:absolute;left:0;right:0;bottom:0;padding:16px 8px 6px;font-size:11.5px;line-height:1.2;background:linear-gradient(180deg,transparent,rgba(0,0,0,.9));display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.stage.is-live{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
@media (max-width:1100px){.stage.no-live .poster{grid-template-columns:minmax(0,1fr)}.poster-clips{padding:0 16px 16px}.stage.is-live{grid-template-columns:minmax(0,1fr)}}
.pc-live{position:absolute;left:6px;top:6px;background:var(--red);font-family:var(--f-head);font-size:10.5px;padding:0 6px;z-index:1}

/* slank stripe når ingenting er live */
.poster.slim{aspect-ratio:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:14px;align-items:center;background:#0c0c0e}
.poster.slim::after{display:none}
.poster.slim .poster-in{padding:14px 18px}
.poster-line{margin-top:8px;font-size:15px;color:#d8d8e0}
.poster-line b{font-family:var(--f-head);font-weight:800;text-transform:uppercase;font-size:18px;color:#fff}
.poster.slim .poster-cd{font-size:15px;padding:0 6px;border-width:1px;margin:0}
.poster.slim .poster-btns{margin-top:10px}
.poster.slim .poster-clips{grid-template-columns:repeat(4,minmax(0,1fr));padding:12px 14px 12px 0}
.poster.slim .pc span{font-size:10.5px}
@media (max-width:1100px){.poster.slim{grid-template-columns:minmax(0,1fr)}.poster.slim .poster-clips{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 14px 14px}}
.stage.no-live .stage-main{min-height:0;background:#0c0c0e}

/* ═════ BAKGRUNNSBILDER: synlige, men rolige ═════ */
.bgimg{inset:-2%;filter:saturate(.95) contrast(1.05) brightness(.82)}
.bgimg.on{opacity:.62;filter:saturate(.95) contrast(1.05) brightness(.82)}
.bgshade{background:radial-gradient(ellipse at 50% 30%,rgba(9,9,11,.25) 0%,rgba(9,9,11,.55) 60%,rgba(9,9,11,.8) 100%),linear-gradient(180deg,rgba(9,9,11,.2) 0%,rgba(9,9,11,.5) 70%,rgba(9,9,11,.75) 100%)}
.bgstage::after{opacity:.15}
.panel{background:var(--panel-grain),linear-gradient(180deg,rgba(22,22,25,.84),rgba(13,13,15,.9));background-size:200px 200px,auto;backdrop-filter:blur(3px)}
.hero-status{background:var(--panel-grain),linear-gradient(135deg,rgba(48,6,12,.82),rgba(18,18,21,.86) 60%);background-size:200px 200px,auto}
.subhero{background:var(--panel-grain),linear-gradient(135deg,rgba(48,6,12,.8),rgba(18,18,21,.84) 60%);background-size:200px 200px,auto}
.stage.no-live .stage-main,.poster.slim{background:rgba(12,12,14,.85)}
.brandbar{background:linear-gradient(180deg,rgba(11,11,13,.92),rgba(11,11,13,.55))}
.slogan-bar{text-shadow:0 2px 12px rgba(0,0,0,.8)}
.bg-credit-chip{position:fixed;right:10px;bottom:8px;z-index:30;font-size:10.5px;color:#aaa;background:rgba(0,0,0,.55);padding:2px 8px;max-width:46vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}
.bg-credit-chip:hover{color:#fff}
/* røykglass – bildet skinner gjennom */
.bgimg.on{opacity:.8}
.bgshade{background:linear-gradient(180deg,rgba(9,9,11,.12) 0%,rgba(9,9,11,.35) 35%,rgba(9,9,11,.55) 75%,rgba(9,9,11,.7) 100%)}
.panel,.stage-side{background:linear-gradient(180deg,rgba(18,18,21,.7),rgba(11,11,13,.8));backdrop-filter:blur(10px) saturate(1.1);-webkit-backdrop-filter:blur(10px) saturate(1.1)}
.hero-status{background:linear-gradient(135deg,rgba(60,6,14,.66),rgba(14,14,17,.76) 60%)}
.subhero{background:linear-gradient(135deg,rgba(60,6,14,.62),rgba(14,14,17,.72) 60%);backdrop-filter:blur(8px)}
.stage.no-live .stage-main,.poster.slim{background:rgba(10,10,12,.66);backdrop-filter:blur(10px)}
.watch,.sess,.ht,.st-row,.og,.cc,.nc{background:rgba(8,8,10,.55)}
.watch.primary{background:linear-gradient(100deg,rgba(192,0,24,.88),rgba(90,0,20,.8) 70%,rgba(26,10,16,.7))}
.brandbar{background:linear-gradient(180deg,rgba(11,11,13,.82),rgba(11,11,13,.35));backdrop-filter:blur(6px)}
.ticker{background:rgba(5,5,5,.8)}
body::after{opacity:.03}
.stage.no-live .stage-main{background:transparent}

/* ═════ BILDEBÅND ═════ */
.band{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1.15fr);gap:14px;margin:0 0 14px}
.band-top{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.bc{position:relative;display:block;height:270px;overflow:hidden;text-decoration:none;color:#fff;border:1px solid #2a2a2f;
  background:radial-gradient(ellipse at 70% 40%,rgba(255,42,42,.55),transparent 60%),linear-gradient(135deg,#3a0610 0%,#141418 70%);transition:transform .25s,border-color .25s}
.bc.p1{background:radial-gradient(ellipse at 70% 40%,rgba(255,204,0,.45),transparent 60%),linear-gradient(135deg,#4a0b10 0%,#16110a 70%);border-color:#ffcc00}
.bc:hover{transform:translateY(-4px);border-color:#ffcc00}
.bc-team{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.18;filter:grayscale(.4)}
.bc-num{position:absolute;left:-6px;top:-24px;font:italic 900 190px/1 var(--f-head);color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.14)}
.bc-bike{position:absolute;left:-6%;bottom:44px;width:72%;max-height:52%;object-fit:contain;opacity:.55;filter:drop-shadow(0 10px 18px rgba(0,0,0,.6))}
.bc-rider{position:absolute;right:-4%;bottom:0;height:96%;max-width:72%;object-fit:contain;object-position:bottom right;filter:drop-shadow(0 8px 24px rgba(0,0,0,.65));transition:transform .4s}
.bc:hover .bc-rider{transform:scale(1.04)}
.bc-pos{position:absolute;left:12px;top:12px;font:italic 900 30px/1 var(--f-head);background:#000;padding:2px 12px;border-left:4px solid var(--red)}
.bc.p1 .bc-pos{background:#ffcc00;color:#000;border-color:#000}
.bc-info{position:absolute;left:0;right:0;bottom:0;padding:22px 14px 10px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.92) 55%)}
.bc-info b{display:block;font-family:var(--f-head);font-weight:900;font-style:italic;text-transform:uppercase;font-size:24px;line-height:1}
.bc-info small{font-size:12px;color:#d0d0d8}
.bc-pts{position:absolute;right:12px;top:12px;text-align:right;background:rgba(0,0,0,.6);padding:4px 10px}
.bc-pts b{display:block;font-family:var(--f-num);font-size:28px;line-height:1}
.bc-pts small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#bbb}
.band-track{position:relative;display:block;height:270px;overflow:hidden;border:1px solid #2a2a2f;text-decoration:none;color:#fff;background:#101013}
.band-track:hover{border-color:#ffcc00}
.bt-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.55) saturate(1.05)}
.bt-layout{position:absolute;right:10px;top:28px;width:62%;max-height:58%;object-fit:contain;filter:brightness(0) invert(1) drop-shadow(0 0 8px rgba(255,42,42,.9)) drop-shadow(0 2px 2px #000);opacity:.95}
.bt-k{position:absolute;left:12px;top:12px;font-family:var(--f-head);font-weight:900;font-style:italic;text-transform:uppercase;background:var(--red);padding:2px 10px;font-size:14px}
.bt-n{position:absolute;left:14px;right:14px;bottom:44px;font-family:var(--f-head);font-weight:900;font-style:italic;text-transform:uppercase;font-size:24px;line-height:1;text-shadow:0 2px 10px #000}
.bt-e{position:absolute;left:14px;right:14px;bottom:26px;font-size:12px;color:#ddd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-wx{position:absolute;left:14px;bottom:6px;font-size:12.5px;color:#ffcc00}
@media (max-width:1100px){.band{grid-template-columns:minmax(0,1fr)}.band-track{height:200px}}
@media (max-width:720px){.band-top{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.bc{height:190px}.bc-num{font-size:110px}.bc-info b{font-size:14px}.bc-info small,.bc-bike{display:none}.bc-pts b{font-size:18px}.bc-pos{font-size:18px}}
/* «Neste økt» med banefoto og kart */
.hero-status{isolation:isolate}
.hs-photo{position:absolute;inset:0;z-index:-1;background-size:cover;background-position:center;opacity:.35;-webkit-mask-image:linear-gradient(90deg,transparent 15%,#000 75%);mask-image:linear-gradient(90deg,transparent 15%,#000 75%)}
.hs-layout{position:absolute;right:18px;top:22px;width:40%;max-width:340px;max-height:46%;object-fit:contain;z-index:0;opacity:.85;filter:brightness(0) invert(1) drop-shadow(0 0 10px rgba(255,42,42,.85));pointer-events:none}
@media (max-width:720px){.hs-layout{width:46%;opacity:.4}}
/* avatarer */
.av{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#3a0610,#141418);border:2px solid #2d2d33;flex:none;vertical-align:middle;font-family:var(--f-head);font-weight:900;font-style:italic;font-size:13px;color:#888}
.av img{width:100%;height:100%;object-fit:cover;object-position:top center;transform:scale(1.35) translateY(12%)}
.av.xs{width:24px;height:24px;border-width:1px}
.st-row:nth-child(1) .av{border-color:#ffcc00}
/* frilagte førerbilder i ruter */
.rtile .rphoto.cut,.ltile .rphoto.cut,.ytile .rphoto.cut{object-fit:contain;object-position:bottom right;-webkit-mask-image:none;mask-image:none;filter:drop-shadow(0 8px 20px rgba(0,0,0,.6));right:-2%;width:62%}
.rtile .rbike{position:absolute;left:-4%;bottom:56px;width:62%;max-height:45%;object-fit:contain;opacity:.32;pointer-events:none}
.rtile .rteambg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.12}
/* førerside: actionbilde + utstyr */
.rider-hero .rh-action{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;opacity:.35;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 60%);mask-image:linear-gradient(90deg,transparent 0,#000 60%)}
.rider-hero{isolation:isolate}
.rider-hero .rh-photo.cut{object-fit:contain;object-position:bottom right;-webkit-mask-image:none;mask-image:none;filter:drop-shadow(0 10px 30px rgba(0,0,0,.7))}
.gear{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:12px}
.gear figure{margin:0;background:radial-gradient(ellipse at 50% 40%,rgba(255,42,42,.25),transparent 65%),#0b0b0d;border:1px solid #26262b;padding:10px;text-align:center}
.gear img{width:100%;height:170px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.6))}
.gear figcaption{font-family:var(--f-head);font-weight:800;text-transform:uppercase;font-size:13px;color:var(--mute);margin-top:6px}
.hs-layout{top:auto;bottom:22%;right:16px;width:34%;max-width:300px;max-height:34%;opacity:.4}
.hero-status>*:not(.hs-photo):not(.hs-layout){position:relative;z-index:1}
.bc-pts{top:auto;bottom:62px}
.bc-pts{top:12px;bottom:auto}
.bc-rider{height:84%}
.hs-layout{z-index:1;opacity:.5}
