/* Lumiar – felles stilark. Tokens, typografi og komponenter først, deretter regler fra de tidligere sidene. */
:root{--color-ink:#232E38;--color-ink-deep:#16273E;--color-gold:#D19A3E;--color-gold-dark:#B07A22;--color-gold-text:#8A5A12;--color-canvas:#F0EBE2;--color-surface:#F6F1E8;--color-white:#FFFFFF;--color-text-secondary:#5D6B79;--color-text-muted:#8A97A6;--color-line:#B9C2CC;--font-sans:'Schibsted Grotesk','Segoe UI',sans-serif;--font-serif:'Literata',Georgia,serif;--font-mono:'IBM Plex Mono',monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:80px;--space-10:96px;--space-11:120px;--section-y:var(--space-10);--section-x:48px;--content-max:1200px;--radius-model:4px;--radius-card:8px}
.h-display,.h-page,.h-major,.h2,.h2-sm,.h3{margin:0;font-family:var(--font-sans);font-weight:600;color:var(--color-ink)}
.h-display{font-size:76px;line-height:1.04;letter-spacing:-0.02em}.h-page{font-size:46px;line-height:1.12}.h-major{font-size:36px;line-height:1.18}.h2{font-size:32px;line-height:1.2}.h2-sm{font-size:24px;line-height:1.25}.h3,.h3-alt{font-size:21px;line-height:1.3}
.h3-alt{font-family:var(--font-sans);font-weight:600;color:var(--color-ink)}
.lead,.body,.body-sm,.small,.quote{margin:0;font-family:var(--font-serif);color:var(--color-ink)}
.lead{font-size:19px;line-height:1.55;max-width:62ch}.body{font-size:17px;line-height:1.65;max-width:70ch}.body-sm{font-size:15.5px;line-height:1.6;max-width:70ch}.small{font-size:14px;line-height:1.5}.quote{font-size:22px;line-height:1.5;max-width:60ch}
.sans{font-family:var(--font-sans)}.muted{color:var(--color-text-secondary)}
.eyebrow{font-family:var(--font-mono);font-size:12.5px;letter-spacing:0.08em;color:var(--color-text-secondary)}
/* Eyebrow-system (v3/v4): fem roller med reelt visuelt skille. Inline farge på elementet vinner over fargen her. */
.eyebrow.section-eyebrow{font-size:12.5px;font-weight:500;letter-spacing:0.1em;color:var(--color-gold-text)}
.eyebrow.figure-meta{font-size:11.5px;font-weight:400;letter-spacing:0.04em;color:var(--color-text-secondary);opacity:0.9}
.eyebrow.meta-label,.meta-label{font-family:var(--font-mono);font-size:11.5px;font-weight:400;letter-spacing:0.05em;color:var(--color-text-secondary)}
.eyebrow.source-badge{font-size:12px;font-weight:500;letter-spacing:0.06em;color:var(--color-ink)}
.content-type-label{font-weight:500}
.step-num{font-family:var(--font-mono);font-size:13px;font-weight:600;letter-spacing:0.02em;color:var(--color-ink)}
@media (max-width:640px){.h2-sm{font-size:22px!important}}
.section{padding:var(--section-y) var(--section-x)}.section--surface{background:var(--color-surface);border-top:1px solid rgba(93,107,121,0.12)}.section--canvas{background:var(--color-canvas)}.section--white{background:var(--color-white);border-top:1px solid rgba(94,112,137,0.14)}
.container{max-width:var(--content-max);margin:0 auto;display:flex;flex-direction:column;gap:var(--space-6)}
.btn--primary{align-self:flex-start;display:inline-block;background:var(--color-gold);color:var(--color-ink-deep);text-decoration:none;font-family:var(--font-sans);font-size:16px;font-weight:600;padding:15px 30px;border-radius:var(--radius-model)}
.source-reference{font-family:var(--font-serif);font-size:14px;line-height:1.55;color:var(--color-text-secondary);max-width:80ch}
@media (max-width:900px){:root{--section-y:var(--space-8);--section-x:20px}.h-display{font-size:40px}.h-page{font-size:36px}.h-major{font-size:30px}.h2{font-size:27px}.h2-sm{font-size:22px}.h3,.h3-alt{font-size:20px}.lead{font-size:18px}}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:#F0EBE2}
.hov{transition:box-shadow .2s ease-out,transform .2s ease-out}
.hov:hover{box-shadow:0 6px 18px rgba(29,38,48,0.12), 0 20px 44px -14px rgba(29,38,48,0.22);transform:translateY(-3px)}
@media (max-width:900px){ div[style*="grid-template-columns"]{display:flex!important;flex-direction:column!important} nav{gap:16px!important;flex-wrap:wrap;justify-content:flex-end} div[style*="padding:110px 48px"]{padding:64px 20px 72px!important} div[style*=" 48px"]{padding-left:20px!important;padding-right:20px!important} div[style*="justify-content:space-between"]{flex-wrap:wrap} header{height:auto!important;min-height:60px;flex-wrap:wrap;padding:10px 20px!important;gap:10px} }
a, button, input, select, textarea, label{font-family:'Schibsted Grotesk','Segoe UI',sans-serif}
.v2skjul{opacity:0;transform:translateY(26px)}
.v2skjul.vist{opacity:1;transform:translateY(0);transition:opacity 1.05s ease-out, transform 1.05s cubic-bezier(0.2,0.7,0.2,1)}
@keyframes v2kb{from{transform:scale(1.12)}to{transform:scale(1)}}
.hero-foto img{animation:v2kb 16s ease-out both}
.hov:hover{border-color:#D19A3E!important}
a[style*="background:#D19A3E"]{transition:transform .2s ease-out, box-shadow .2s ease-out}
a[style*="background:#D19A3E"]:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(29,38,48,0.22)}
button{transition:transform .2s ease-out}
button:hover{transform:translateY(-1px)}
.sek-bilde img, .kort-bilde img{transition:transform .7s cubic-bezier(0.2,0.7,0.2,1)}
.sek-bilde:hover img{transform:scale(1.035)}
@media (prefers-reduced-motion: reduce) and (min-width:100000px){ .v2skjul{opacity:1;transform:none;transition:none} .hero-foto img{animation:none} a[style*="background:#D19A3E"],button,.sek-bilde img,.kort-bilde img{transition:none} }
.hov{overflow-wrap:break-word;hyphens:auto}
@media (max-width:1150px){ div[style*="repeat(4,minmax(0,1fr))"]{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important} }
@media (max-width:640px){ .hero-foto{padding-top:40px!important;padding-bottom:40px!important;padding-left:20px!important;padding-right:20px!important;min-height:0!important} .hero-foto h1{font-size:27px!important;line-height:1.2!important} .hero-foto p{font-size:16px!important} .hero-foto img{object-position:center center!important} }
@media (max-width:640px){ .hov svg{display:none!important} .hov > div:first-child > div{font-size:17px!important} .hov{padding:22px 20px!important} }
@media (max-width:640px){ body p{font-size:15px!important;line-height:1.55!important} h1{font-size:26px!important;line-height:1.2!important} h2{font-size:22px!important;line-height:1.25!important} .hero-foto h1{font-size:25px!important} .hero-foto p{font-size:15px!important} .hero-tekst h1{font-size:32px!important} }
body{font-family:'Schibsted Grotesk','Segoe UI',sans-serif}
.dd{position:relative;display:flex;align-items:center;gap:2px}
.dd-knapp{background:none;border:0;padding:6px 4px;cursor:pointer;color:inherit;display:flex;align-items:center}
.dd-knapp svg{transition:transform .2s}
.dd-meny{display:none;position:absolute;top:100%;left:-16px;padding-top:12px;z-index:60}
.dd-meny>div{background:#fff;border:1px solid rgba(93,107,121,0.18);border-radius:8px;box-shadow:0 14px 34px -8px rgba(29,38,48,0.3);padding:8px;display:flex;flex-direction:column;min-width:330px}
.dd-meny a{display:block;padding:10px 12px;border-radius:5px;color:#232E38!important;text-decoration:none;font-size:14.5px;font-weight:500;line-height:1.35}
.dd-meny a:hover,.dd-meny a:focus{background:#F6F1E8}
.dd-meny a[aria-current]{box-shadow:inset 2px 0 0 #D19A3E}
.dd:hover .dd-meny,.dd:focus-within .dd-meny,.dd.apen .dd-meny{display:block}
.dd.apen .dd-knapp svg{transform:rotate(180deg)}
a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #D19A3E;outline-offset:3px}
details.faq summary{list-style:none;cursor:pointer}
details.faq summary::-webkit-details-marker{display:none}
details.faq[open] .faq-pluss{transform:rotate(45deg)}
.faq-pluss{transition:transform .2s;flex:none}
.tabell{width:100%;border-collapse:collapse}
.tabell th,.tabell td{text-align:left;vertical-align:top;padding:16px 18px;border-bottom:1px solid rgba(93,107,121,0.16)}
@media (max-width:900px){ .dd-meny{left:auto;right:-40px}.dd-meny>div{min-width:250px} .tabell thead{display:none}.tabell tr{display:block;padding:12px 0;border-bottom:1px solid rgba(93,107,121,0.16)} .tabell th,.tabell td{display:block;border:0;padding:4px 0} }
.snarvei{position:absolute;left:-9999px;top:0;z-index:200;background:#D19A3E;color:#16273E!important;padding:10px 16px;font-family:'Schibsted Grotesk',sans-serif;font-weight:600;border-radius:0 0 4px 4px;text-decoration:none}
.snarvei:focus{left:16px}
.mob-knapp{display:none;align-items:center;gap:8px;background:none;border:1px solid currentColor;border-radius:4px;padding:9px 12px;cursor:pointer;font-family:'Schibsted Grotesk',sans-serif;font-weight:600;font-size:14px}
@media (max-width:900px){ .mob-knapp{display:flex} .hovedmeny{display:none!important} header.meny-apen .mob-knapp{position:fixed;top:18px;right:20px;z-index:110;color:#232E38!important;background:#F6F1E8} header.meny-apen .hovedmeny{display:flex!important;position:fixed;inset:0;z-index:100;background:#F6F1E8;flex-direction:column;align-items:stretch!important;justify-content:flex-start!important;gap:0!important;padding:88px 24px 32px;overflow-y:auto;flex-wrap:nowrap!important} header.meny-apen .hovedmeny > a:not(.knapp):not([lang]), header.meny-apen .dd > a{color:#232E38!important;font-size:19px!important;font-weight:600!important;padding:15px 0!important;border-bottom:0!important} header.meny-apen .hovedmeny > a:not(.knapp):not([lang]), header.meny-apen .dd{border-bottom:1px solid rgba(93,107,121,0.2)} header.meny-apen .dd{flex-wrap:wrap;justify-content:space-between} header.meny-apen .dd > a{flex:1} header.meny-apen .dd-knapp{color:#232E38!important;padding:15px 10px} header.meny-apen .dd:hover .dd-meny,header.meny-apen .dd:focus-within .dd-meny{display:none} header.meny-apen .dd.apen .dd-meny{display:block;position:static;padding:0 0 10px;width:100%} header.meny-apen .dd-meny>div{box-shadow:none;border:0;background:transparent;min-width:0;padding:0} header.meny-apen .dd-meny a{font-size:16px;padding:10px 12px} header.meny-apen .hovedmeny > a.knapp, header.meny-apen .hovedmeny > a[href*="kontakt"][style*="background:#D19A3E"], header.meny-apen .hovedmeny > a[href*="contact"][style*="background:#D19A3E"]{margin-top:24px;text-align:center;background:#D19A3E!important;color:#16273E!important;border:0!important;backdrop-filter:none!important} header.meny-apen .hovedmeny > a[lang]{align-self:flex-start;margin-top:18px;color:#232E38!important;border-color:rgba(93,107,121,0.5)!important} }
.lm-fig[data-lang="no"] [data-l="en"],.lm-fig[data-lang="en"] [data-l="no"]{display:none!important}
.lm-b{font-family:'IBM Plex Mono',monospace;font-size:13px;font-weight:600;padding:8px 14px;border:0;cursor:pointer;background:#fff;color:#232E38;min-height:36px}
.lm-b[aria-pressed="true"]{background:#232E38;color:#F6E3AC}
.lm-m{display:none}
.lm-compact .lm-d{display:none}
.lm-compact .lm-m{display:block;max-width:420px}
@media (max-width:700px){.lm-d{display:none}.lm-m{display:block;max-width:420px;margin:0 auto}.lm-fig{padding:20px 16px!important}.lm-grid{grid-template-columns:1fr!important}}
@keyframes kenburns{from{transform:scale(1.14)}to{transform:scale(1)}}
/* Mobil: svak zoom ut mens utsnittet panorerer fra venstre mot høyre i bildet */
@keyframes kenburnsMobil{from{transform:scale(1.35);object-position:0% 42%}to{transform:scale(1);object-position:100% 50%}}
@media (max-width:640px){
  .hero-bilde{transform-origin:50% 50%;animation:kenburnsMobil 24s ease-in-out both!important}
  footer a[style*="font-size:14px"]{display:inline-block;padding:6px 0}
  footer div[style*="flex-direction:column"][style*="align-items:flex-end"]{align-items:flex-start!important}
  div[style*="align-items:flex-end;flex:none"]{align-items:flex-start!important;max-width:100%}
}
@keyframes ordOpp{from{transform:translateY(110%)}to{transform:translateY(0)}}
.hero-bilde{animation:kenburns 18s ease-out both}
.hero-ord{display:block;overflow:hidden}
.hero-ord > span{display:block;transform:translateY(110%);animation:ordOpp 1.5s cubic-bezier(0.2,0.7,0.2,1) 0.3s forwards}
.hero-ord.o2 > span{animation-delay:1.15s}
.hero-fade{opacity:0;transform:translateY(22px);transition:opacity 1.2s ease-out, transform 1.2s cubic-bezier(0.2,0.7,0.2,1);transition-delay:2.5s}
.hero-fade.hf2{transition-delay:2.85s}
.hero-fade.vist{opacity:1;transform:none}
.reveal{opacity:0;transform:translateY(28px);transition:opacity 1.1s ease-out, transform 1.1s cubic-bezier(0.2,0.7,0.2,1)}
.reveal.vist{opacity:1;transform:none}
.reveal.f2{transition-delay:0.18s}
.reveal.f3{transition-delay:0.36s}
.linje{transform:scaleX(0);transform-origin:left center;transition:transform 3s cubic-bezier(0.2,0.7,0.2,1) 0.2s}
.linje.vist{transform:scaleX(1)}
.steg-blokk{opacity:0;transform:translateY(22px);transition:opacity 1.6s ease-out, transform 1.6s cubic-bezier(0.2,0.7,0.2,1)}
.steg-blokk.vist{opacity:1;transform:none}
.steg-tall{opacity:0;transform:scale(0.6);transition:opacity 1.1s ease-out, transform 1.1s cubic-bezier(0.2,0.9,0.3,1.3)}
.steg-blokk.vist .steg-tall{opacity:1;transform:scale(1)}
.steg-blokk.b1.vist, .steg-blokk.b1.vist .steg-tall{transition-delay:.3s}
.steg-blokk.b2.vist, .steg-blokk.b2.vist .steg-tall{transition-delay:1.1s}
.steg-blokk.b3.vist, .steg-blokk.b3.vist .steg-tall{transition-delay:1.9s}
.steg-blokk.b4.vist, .steg-blokk.b4.vist .steg-tall{transition-delay:2.7s}
.kort-bilde{overflow:hidden}
.kort-bilde img{transition:transform 0.7s cubic-bezier(0.2,0.7,0.2,1)}
a:hover .kort-bilde img{transform:scale(1.045)}
.hov{transition:box-shadow .25s ease-out, transform .25s ease-out, border-color .25s ease-out}
.hov:hover{box-shadow:0 8px 22px rgba(29,38,48,0.12), 0 22px 48px -14px rgba(29,38,48,0.24);transform:translateY(-4px);border-color:#D19A3E!important}
.pil{display:inline-block;transition:transform .25s ease-out}
a:hover .pil{transform:translateX(4px)}
.knapp{transition:background .2s ease-out, transform .2s ease-out}
.knapp:hover{transform:translateY(-1px)}
@media (prefers-reduced-motion: reduce) and (min-width:100000px){ .linje,.steg-tall,.steg-blokk{opacity:1;transform:none;transition:none} .hero-bilde{animation:none} .hero-ord > span{animation:none;transform:none} .hero-fade,.reveal{opacity:1;transform:none;transition:none} .kort-bilde img,.hov,.pil,.knapp{transition:none} }
@media (max-width:900px){ h1{font-size:38px!important;line-height:1.15!important} h2{font-size:28px!important} nav{gap:16px!important;flex-wrap:wrap;justify-content:flex-end} div[style*=" 48px"]{padding-left:20px!important;padding-right:20px!important} div[style*="grid-template-columns"]{display:flex!important;flex-direction:column!important} .sek-grid{display:grid!important;grid-template-columns:1fr!important} div[style*="justify-content:space-between"]{flex-wrap:wrap} .hero-topp{padding:14px 20px!important} .hero-tekst{padding:0 20px 40px!important} .hero-tekst h1{font-size:40px!important} }
.flyt{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.flyt-steg{position:relative;padding:22px 28px 0 0;border-top:1px solid rgba(246,227,172,0.35)}
@media (max-width:900px){.flyt{grid-template-columns:1fr}.flyt-steg{padding:18px 0 18px 22px;border-top:0;border-left:1px solid rgba(246,227,172,0.35)}.flyt-node{top:22px!important;left:-5px!important}.flyt-pil{display:none}}
.kc{background:radial-gradient(120% 90% at 15% 0%,#182231 0%,#0E141C 62%);border:1px solid rgba(237,240,244,0.08);border-radius:16px;padding:34px;color:#EDF0F4;font-family:'Schibsted Grotesk',sans-serif}
.kc-lag{display:flex;align-items:center;gap:14px;padding:0 16px;height:58px;border-radius:10px;background:rgba(237,240,244,0.035);border:1px solid rgba(237,240,244,0.09);transition:background .5s,border-color .5s,box-shadow .5s}
.kc-lag.brudd{background:rgba(229,72,77,0.055);border-color:rgba(229,72,77,0.30)}
.kc-lag.aktiv{background:rgba(229,72,77,0.13);border-color:rgba(229,72,77,0.85);box-shadow:0 0 0 1px rgba(229,72,77,0.45),0 0 34px rgba(229,72,77,0.26)}
.kc-flagg{display:none;align-items:center;gap:7px;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.09em;color:#FF8A8E;margin-left:auto}
.kc-lag.aktiv .kc-flagg{display:flex}
@keyframes kcpuls{0%,100%{box-shadow:0 0 0 0 rgba(229,72,77,0.55),0 0 18px 4px rgba(229,72,77,0.55)}50%{box-shadow:0 0 0 8px rgba(229,72,77,0),0 0 26px 8px rgba(229,72,77,0.35)}}
.kc-prikk{position:absolute;left:15px;width:16px;height:16px;border-radius:50%;background:#E5484D;animation:kcpuls 1.4s ease-in-out infinite;transition:top .8s cubic-bezier(.4,0,.2,1)}
.kc-spor{position:absolute;left:22px;top:0;width:2px;background:linear-gradient(180deg,rgba(229,72,77,0.15),#E5484D);border-radius:2px;transition:height .8s cubic-bezier(.4,0,.2,1)}
.kc-fase{display:flex;align-items:center;gap:10px;width:100%;padding:6px 8px;border-radius:7px;cursor:pointer;background:transparent;border:0;font-size:13.5px;color:#B9C2CC;text-align:left}
.kc-fase.aktiv{background:rgba(229,72,77,0.14);color:#EDF0F4;font-weight:600}
.kc-fase.ferdig{color:#8A97A6}
.kc-nr{flex:none;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:5px;font-family:'IBM Plex Mono',monospace;font-size:10.5px;background:rgba(237,240,244,0.06);color:#8A97A6}
.kc-fase.aktiv .kc-nr{background:#E5484D;color:#0E141C}
.kc-fase.ferdig .kc-nr{background:rgba(229,72,77,0.2);color:#FF8A8E}
.kc-knapp{display:flex;align-items:center;justify-content:center;min-width:42px;height:42px;border-radius:8px;background:rgba(237,240,244,0.06);border:1px solid rgba(237,240,244,0.14);color:#EDF0F4;cursor:pointer;font-family:'IBM Plex Mono',monospace;font-size:12px;padding:0 12px}
.kc-knapp[aria-pressed="true"]{background:#D19A3E;color:#16273E;border-color:#D19A3E}
@media (max-width:900px){.kc{padding:22px}.kc-assets{display:none!important}}
.kc-hint{display:none}
@media (max-width:640px){.kc{padding:18px 14px;border-radius:12px}#kc-topo{min-width:0!important;width:100%!important}#kc-topo-wrap{cursor:zoom-in;-webkit-overflow-scrolling:touch}#kc-topo-wrap.kc-zoom{cursor:zoom-out}#kc-topo-wrap.kc-zoom #kc-topo{width:760px!important;min-width:760px!important}.kc-hint{display:block;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.08em;color:#8A97A6;margin-bottom:10px;position:sticky;left:0}.kc > div:first-child > div:last-child{flex-wrap:wrap}.kc-knapp{min-width:40px;height:40px}}

/* Artikkel under kill chain */
.artikkel .h3{margin-top:22px}.artikkel>div:first-child{position:sticky;top:32px}
@media (max-width:900px){.artikkel>div:first-child{position:static}#artikkel,#article{padding:56px 20px!important}}

html{scroll-behavior:smooth}#artikkel,#article{scroll-margin-top:16px}

@media (max-width:900px){.kc-intro{display:flex!important;flex-direction:column!important;align-items:stretch!important;padding-bottom:28px!important;margin-bottom:28px!important}}

#kc-topo{aspect-ratio:760/660;height:auto}#kc-fnavn{min-height:2.5em}

/* 3D-modell, av som standard */
.ot3d__btn{font:600 15px 'Schibsted Grotesk',sans-serif;cursor:pointer;padding:11px 18px;border:1px solid rgba(93,107,121,0.4);border-radius:4px;background:transparent;color:#232E38;white-space:nowrap}
.ot3d__btn:hover{border-color:#232E38}
.ot3d__btn:focus-visible{outline:2px solid #D19A3E;outline-offset:2px}
.ot3d__stage{margin-top:16px;position:relative;width:100%;aspect-ratio:16/9;background:#0c121b;border-radius:12px;overflow:hidden}
.ot3d__stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ot3d__note{display:none}
@media (max-width:640px){.ot3d__stage{aspect-ratio:4/3}.ot3d__note{display:block}.ot3d__btn{width:100%}}

/* 2D + 3D side om side */
#kc-duo .ot3d{margin-top:40px}
#kc-duo.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
#kc-duo.split .ot3d{margin-top:0;position:sticky;top:16px}
#kc-duo.split .ot3d__stage{aspect-ratio:4/3}
#kc-duo.split .kc{padding:22px}
#kc-duo.split #kc-topo-wrap{flex:1 1 100%}
#kc-duo.split #kc-topo{min-width:0!important}
@media (max-width:900px){#kc-duo.split{display:block}#kc-duo.split .ot3d{position:static;margin-top:40px}.ot3d__split{display:none!important}}

/* Ankernavigasjon på tjenestesider (tiltak 8) */
.sidenav a:hover,.sidenav a:focus-visible{color:var(--color-ink);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--color-gold)}
.sidenav{scroll-margin-top:0}[id].section{scroll-margin-top:16px}
@media (max-width:900px){.sidenav{padding:12px 20px!important}.sidenav .container{gap:4px 18px!important}}
