/* ---------- Fonter (selvhostet, ingen tredjepart) ----------
   ITF Free Font License (Gambetta, Switzer), SIL OFL 1.1 (Funnel), demoOnly (GT Sectra, Suisse Int'l).
   Se assets/fonts/LISENS.txt
   ---------------------------------------------------------- */
@font-face{font-family:'Gambetta';src:url('../assets/fonts/gambetta-normal.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Gambetta';src:url('../assets/fonts/gambetta-italic.woff2') format('woff2');font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:'Switzer';src:url('../assets/fonts/switzer-normal.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Switzer';src:url('../assets/fonts/switzer-italic.woff2') format('woff2');font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:'GT Sectra';src:url('../assets/fonts/gt-sectra-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'GT Sectra';src:url('../assets/fonts/gt-sectra-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Suisse Intl';src:url('../assets/fonts/suisse-intl-300-normal.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Suisse Intl';src:url('../assets/fonts/suisse-intl-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Suisse Intl';src:url('../assets/fonts/suisse-intl-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Funnel Display';src:url('../assets/fonts/funnel-display-normal.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Funnel Sans';src:url('../assets/fonts/funnel-sans-normal.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}

/* ---------- Tokens. Design DNA i research/notat.md ---------- */
:root{
  /* Palett 1: logogrønn på hvitt (adamgrant.net: hvitt papir; aksent fra Jans logo) */
  --c-papir:#FFFFFF; --c-flate:#F2F4F1; --c-blekk:#111512; --c-dempet:#4D5650; --c-linje:#E1E5E0;
  --c-aksent:#23722F; --c-aksent-flate:#23722F; --c-pa-aksent:#FFFFFF; --c-pa-aksent-dempet:#DCEFD5;
  --c-pille:#B5DD8E; --c-pa-pille:#111512; --c-blad:#5AA22A; --c-bunn:#111512; --c-fokus:#23722F;
  --c-slor:17,21,18;

  /* Skrift 1: Gambetta 400 + Switzer */
  --f-display:'Gambetta',Georgia,serif; --f-body:'Switzer',system-ui,sans-serif;
  --w-display:400; --spor-display:-.03em; --lh-display:1.05;

  --s-1:8px; --s-2:16px; --s-3:24px; --s-4:32px; --s-5:48px; --s-6:72px; --s-7:120px;
  --seksjon:clamp(72px,9vw,128px);
  --rad:4px; --topp-h:76px; --maks:1320px; --gutter:clamp(16px,4vw,56px);
  --ease:cubic-bezier(.23,1,.32,1);
  --z-dekor:1; --z-sticky:100; --z-dokk:200; --z-overlay:300; --z-panel:400; --z-varsel:500;
}
/* Palett 2: marine fra dressen og compassionateleadershipbook.com (#002846 / #E7F0FD / gul pille) */
[data-pal="2"]{
  --c-papir:#FFFFFF; --c-flate:#EEF3F8; --c-blekk:#0B1B2B; --c-dempet:#4A5866; --c-linje:#DCE4EC;
  --c-aksent:#0B4A7A; --c-aksent-flate:#0B2A44; --c-pa-aksent:#FFFFFF; --c-pa-aksent-dempet:#C7DCEF;
  --c-pille:#FFD750; --c-pa-pille:#0B1B2B; --c-blad:#2E7CB8; --c-bunn:#0B2A44; --c-fokus:#0B4A7A;
  --c-slor:11,27,43;
}
/* Palett 3: grafitt og lys bladgrønn som flate */
[data-pal="3"]{
  --c-papir:#F4F4F1; --c-flate:#E9EAE4; --c-blekk:#1A1C1A; --c-dempet:#50544E; --c-linje:#D9DBD3;
  --c-aksent:#3E7A1F; --c-aksent-flate:#B5DD8E; --c-pa-aksent:#1A1C1A; --c-pa-aksent-dempet:#34452A;
  --c-pille:#B5DD8E; --c-pa-pille:#1A1C1A; --c-blad:#5AA22A; --c-bunn:#1A1C1A; --c-fokus:#3E7A1F;
  --c-slor:26,28,26;
}
/* Skrift 2: GT Sectra + Suisse Int'l (demoOnly, nærmest begge referansene) */
[data-font="2"]{ --f-display:'GT Sectra',Georgia,serif; --f-body:'Suisse Intl',system-ui,sans-serif; --w-display:400; --spor-display:-.035em; --lh-display:1.05; }
/* Skrift 3: Funnel Display 300 + Funnel Sans */
[data-font="3"]{ --f-display:'Funnel Display',system-ui,sans-serif; --f-body:'Funnel Sans',system-ui,sans-serif; --w-display:300; --spor-display:-.035em; --lh-display:1.0; }

/* ---------- Grunnlag ---------- */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--c-fokus);outline-offset:3px;border-radius:2px}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--topp-h) + 8px)}
body{margin:0;background:var(--c-papir);color:var(--c-blekk);font:400 1.125rem/1.6 var(--f-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--f-display);font-weight:var(--w-display);letter-spacing:var(--spor-display);line-height:var(--lh-display);margin:0;text-wrap:balance}
h2{font-size:clamp(2.25rem,4.2vw,3.75rem)}
h3{font-size:clamp(1.5rem,2vw,1.75rem);letter-spacing:-.02em;line-height:1.15}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
.wrap{max-width:var(--maks);margin:0 auto;padding:0 var(--gutter)}
.vis-skjermleser{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hopp{position:absolute;left:12px;top:-60px;background:var(--c-blekk);color:var(--c-papir);padding:12px 16px;z-index:var(--z-varsel)}
.hopp:focus{top:12px}
.ingress{font-size:clamp(1.1875rem,1.5vw,1.375rem);line-height:1.5;max-width:40ch}
.seksjon{padding:var(--seksjon) 0}

/* Knapper */
.knapp{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border-radius:var(--rad);font:500 1rem/1.2 var(--f-body);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .2s var(--ease),background-color .2s var(--ease),color .2s var(--ease)}
.knapp--fylt{background:var(--c-aksent);color:#FFFFFF}
[data-pal="3"] .knapp--fylt{background:var(--c-blekk)}
.knapp--pille{border-radius:1000px;background:var(--c-pille);color:var(--c-pa-pille);padding:16px 32px}
.knapp--strek{border-color:currentColor;color:inherit;border-radius:1000px;padding:16px 28px}
.knapp:active{transform:scale(.97)}

/* ---------- Topp: navn i midten, lenker på begge sider (adamgrant.net) ---------- */
.topp{position:sticky;top:0;z-index:var(--z-sticky);background:var(--c-papir);border-bottom:1px solid var(--c-linje)}
.topp__rad{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:var(--topp-h)}
.topp__nav{display:flex;gap:clamp(16px,2.4vw,36px);font-size:.9375rem}
.topp__nav--h{justify-content:flex-end}
.topp__nav a{position:relative;text-decoration:none;padding:12px 0;color:var(--c-blekk)}
.topp__nav a::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.merke{display:flex;align-items:center;gap:12px;min-height:44px;text-decoration:none;color:var(--c-blekk)}
.merke__blad{width:34px;height:34px;color:var(--c-blad);flex:none}
.merke__tekst{display:flex;flex-direction:column;line-height:1.1}
.merke__navn{font:var(--w-display) 1.4375rem/1 var(--f-display);letter-spacing:-.02em}
.merke__under{font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--c-dempet);margin-top:4px}
.topp__handling{display:none}
.ikonknapp{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--c-blekk)}
.ikonknapp svg{width:22px;height:22px}

/* ---------- Hero, felles ---------- */
.hero{position:relative}
[data-hero="2"] .hero[data-hero="1"],
:root:not([data-hero="2"]) .hero[data-hero="2"]{display:none}
.hero h1{display:flex;flex-direction:column}
.hero h1 .hero__line{display:block;overflow:hidden;padding:.2em .25em .26em;margin:-.2em -.25em -.26em}
.hero h1 .hero__line-in{display:block;white-space:nowrap}
.anim-hero .hero__line-in{transform:translateY(150%)}
.anim-hero :is(.hero__sub,.hero__cta,.felt,.hero__film){opacity:0}

/* Hero 1: tittel og tre arbeidsfelt */
.hero--felt{padding:clamp(40px,5vw,64px) 0 clamp(56px,6vw,88px)}
.hero--felt h1{font-size:clamp(2.75rem,6vw,5.5rem)}
.hero--felt .hero__sub{max-width:44ch;margin:24px 0 clamp(32px,3.6vw,48px);font-size:clamp(1.125rem,1.4vw,1.3125rem);line-height:1.5;color:var(--c-dempet)}
.felt{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.felt__lenke{display:block;text-decoration:none;color:var(--c-blekk)}
.felt__bilde{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:var(--rad);background:var(--c-flate)}
.felt__bilde img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.felt__punkt:first-child .felt__bilde img{object-position:30% 30%}
.felt__navn{display:block;margin-top:14px;font:var(--w-display) 1.375rem/1.2 var(--f-display);letter-spacing:-.015em;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:var(--c-linje);transition:text-decoration-color .2s var(--ease)}
.felt__ord{display:block;margin-top:4px;font-size:.9375rem;color:var(--c-dempet)}

/* Hero 2: film i hele flaten, tekst til høyre (ansiktet er til venstre) */
.hero--film{min-height:min(calc(100svh - var(--topp-h)),860px);display:flex;align-items:flex-end;background:rgb(var(--c-slor));color:#FFFFFF;overflow:hidden}
.hero__film{position:absolute;inset:0}
.hero__film::after{content:"";position:absolute;inset:0;background:
  linear-gradient(270deg,rgba(var(--c-slor),.84) 0%,rgba(var(--c-slor),.66) 36%,rgba(var(--c-slor),0) 64%),
  linear-gradient(0deg,rgba(var(--c-slor),.5) 0%,rgba(var(--c-slor),0) 38%)}
.hero__film video{width:100%;height:100%;object-fit:cover;object-position:30% 30%}
.hero--film .hero__innhold{position:relative;z-index:var(--z-dekor);width:100%;display:flex;flex-direction:column;align-items:flex-end;text-align:right;padding-bottom:clamp(48px,6vw,88px);padding-top:120px}
.hero--film h1{font-size:clamp(3rem,6.5vw,5.875rem);align-items:flex-end}
.hero--film .hero__sub{max-width:36ch;margin:24px 0 32px;font-size:1.1875rem;line-height:1.5;color:rgba(255,255,255,.92)}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
.hero--film .knapp--strek{color:#FFFFFF}

/* ---------- Coaching ---------- */
.coaching__rad{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--s-4) clamp(48px,7vw,120px);align-items:start}
.coaching__tekst h2{margin-bottom:var(--s-4)}
.coaching__tekst p+p{margin-top:var(--s-3);color:var(--c-dempet);max-width:52ch}
.coaching__tema{grid-row:span 2}
.coaching__tema h3{margin-bottom:var(--s-3)}
.tema li{padding:14px 0;border-top:1px solid var(--c-linje);font-size:1.0625rem}
.tema li:last-child{border-bottom:1px solid var(--c-linje)}
.tema__vis{display:none}
.pcc{display:flex;gap:var(--s-3);align-items:center;max-width:460px}
.pcc img{width:88px;height:88px;flex:none}
.pcc p{font-size:.9375rem;color:var(--c-dempet)}
.pcc :is(strong,b){display:block;color:var(--c-blekk);font-weight:600}

/* ---------- Tidsstyring: aksentflate. Overstyrer tokens, ikke regler ---------- */
.tid{background:var(--c-aksent-flate);color:var(--c-pa-aksent);--c-dempet:var(--c-pa-aksent-dempet);--c-linje:rgba(255,255,255,.22);--c-fokus:var(--c-pa-aksent)}
[data-pal="3"] .tid{--c-linje:rgba(26,28,26,.2)}
.tid__topp{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--s-4) clamp(40px,6vw,96px);align-items:end}
.tid__under{display:block;margin-top:12px;font:400 1.0625rem/1.4 var(--f-body);letter-spacing:0;color:var(--c-dempet)}
.tid__fakta{margin-top:var(--s-3);color:var(--c-dempet);font-size:.9375rem}
.sitater{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px);margin-top:clamp(56px,7vw,96px);padding-top:var(--s-4);border-top:1px solid var(--c-linje)}
.sitat blockquote{margin:0;font:var(--w-display) clamp(1.1875rem,1.5vw,1.375rem)/1.4 var(--f-display);letter-spacing:-.01em}
.sitat__hvem{margin-top:var(--s-2);font-size:.875rem;color:var(--c-dempet)}

/* Tidssjekken: egen seksjon på flate, kortet hvitt */
.sjekk-seksjon{background:var(--c-flate)}
.sjekk{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:var(--s-4) clamp(40px,6vw,96px);align-items:start}
.sjekk__hode h2{font-size:clamp(2rem,3vw,2.75rem);letter-spacing:var(--spor-display);line-height:var(--lh-display);margin-bottom:var(--s-2)}
.sjekk__hode p{color:var(--c-dempet);max-width:30ch}
.sjekk__kort{--c-dempet:#4D5650;--c-linje:#E1E5E0;--c-fokus:var(--c-aksent);background:#FFFFFF;border:1px solid var(--c-linje);color:var(--c-blekk);border-radius:var(--rad);padding:clamp(24px,3vw,40px)}
[data-pal="2"] .sjekk__kort{--c-dempet:#4A5866;--c-linje:#DCE4EC}
[data-pal="3"] .sjekk__kort{--c-dempet:#50544E;--c-linje:#D9DBD3}
.sjekk__topp{display:flex;align-items:center;gap:var(--s-2);margin-bottom:var(--s-3);font-size:.875rem;color:var(--c-dempet)}
.sjekk__fremdrift{flex:1;height:2px;background:var(--c-linje);overflow:hidden}
.sjekk__fremdrift span{display:block;height:100%;background:var(--c-aksent);transform-origin:left;transform:scaleX(.2);transition:transform .3s var(--ease)}
.sjekk:not(.sjekk--klar) .sjekk__topp{display:none}
.sp{border:0;margin:0;padding:0;min-width:0}
.sjekk--klar .sp{display:none}
.sjekk--klar .sp.er-aktiv{display:block}
.sjekk:not(.sjekk--klar) .sp+.sp{margin-top:var(--s-4)}
.sjekk:not(.sjekk--klar) .sp--svar{display:none}
.sp legend{padding:0;margin-bottom:var(--s-3);font:var(--w-display) clamp(1.375rem,2vw,1.75rem)/1.25 var(--f-display);letter-spacing:-.015em}
.valg{display:flex;align-items:center;gap:14px;min-height:56px;padding:10px 16px;border:1px solid var(--c-linje);border-radius:var(--rad);cursor:pointer;transition:border-color .15s var(--ease),background-color .15s var(--ease)}
.valg+.valg{margin-top:8px}
.valg input{position:absolute;opacity:0;pointer-events:none}
.valg__bokstav{display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid var(--c-linje);border-radius:var(--rad);font-size:.8125rem;font-weight:600;color:var(--c-dempet);flex:none}
.valg:has(input:checked){border-color:var(--c-aksent);background:var(--c-flate)}
.valg:has(input:checked) .valg__bokstav{background:var(--c-aksent);border-color:var(--c-aksent);color:#FFFFFF}
.valg:has(input:focus-visible){outline:2px solid var(--c-fokus);outline-offset:2px}
.sjekk__navigasjon{display:flex;justify-content:space-between;margin-top:var(--s-3)}
.sjekk__navigasjon button,.sjekk__igjen,.tema__vis{min-height:44px;padding:10px 0;background:none;border:0;font:500 1rem/1 var(--f-body);color:var(--c-blekk);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.sjekk__neste{margin-left:auto}
.svar__niva{font:var(--w-display) clamp(1.625rem,2.4vw,2.125rem)/1.15 var(--f-display);letter-spacing:-.02em}
.svar__tekst{margin-top:12px;color:var(--c-dempet)}
.svar__tilbud{margin-top:var(--s-3);padding:16px 0;border-top:1px solid var(--c-linje);border-bottom:1px solid var(--c-linje)}
.svar__navn{font-weight:600}
.svar__be{margin:var(--s-3) 0 var(--s-2);font-size:1rem}
.felt-rad{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.skjemafelt label{display:block;font-size:.875rem;font-weight:500;margin-bottom:6px}
.skjemafelt input{width:100%;min-height:48px;padding:10px 12px;border:1px solid #8A928C;border-radius:var(--rad);background:var(--c-papir);color:var(--c-blekk);font:inherit;font-size:1rem}
.skjemafelt input:focus-visible{outline:2px solid var(--c-fokus);outline-offset:1px}
.skjemafelt input[aria-invalid="true"]{border-color:#B3261E}
.skjemafeil{display:block;margin-top:6px;font-size:.875rem;color:#B3261E}
.samtykke{display:flex;gap:12px;align-items:flex-start;margin-top:var(--s-2);font-size:.9375rem;cursor:pointer;min-height:44px;padding-top:10px}
.samtykke input{width:22px;height:22px;margin:0;flex:none;accent-color:var(--c-aksent)}
.sp--svar .knapp{margin-top:var(--s-3)}
.sjekk__takk-tittel{font:var(--w-display) clamp(1.75rem,2.6vw,2.25rem)/1.15 var(--f-display);letter-spacing:-.02em;outline:none}
.sjekk__takk-tekst{margin:12px 0 var(--s-2);color:var(--c-dempet)}

/* ---------- Kurs ---------- */
.kurs__rad{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--s-5) clamp(48px,7vw,112px);align-items:center}
.kurs__bilde{margin:0;aspect-ratio:4/5;overflow:hidden;border-radius:var(--rad)}
.kurs__bilde img{width:100%;height:100%;object-fit:cover;object-position:60% center}
.kurs__tekst h2{margin-bottom:var(--s-4)}
.kurs__laer{margin:var(--s-4) 0}
.kurs__laer li{position:relative;padding:10px 0 10px 28px;border-top:1px solid var(--c-linje)}
.kurs__laer li::before{content:"";position:absolute;left:2px;top:22px;width:12px;height:1px;background:var(--c-aksent)}
.kurs__fakta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3) var(--s-4);margin:0 0 var(--s-4)}
.kurs__fakta dt{font-size:.8125rem;color:var(--c-dempet)}
.kurs__fakta dd{margin:4px 0 0;font:var(--w-display) 1.25rem/1.3 var(--f-display);letter-spacing:-.01em}

/* ---------- Organisasjonsutvikling ---------- */
.org{background:var(--c-flate)}
.org__rad{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--s-4) clamp(48px,7vw,112px)}
.org__rad>h2{grid-column:1 / -1;margin-bottom:var(--s-2)}
.org__tekst p{color:var(--c-dempet)}
.org__liste{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4);align-self:end}
.org__liste li{padding-top:var(--s-3);border-top:1px solid var(--c-blekk)}
.org__liste :is(strong,b){display:block;font:var(--w-display) 1.5rem/1.2 var(--f-display);letter-spacing:-.015em}
.org__liste span{display:block;margin-top:8px;font-size:.9375rem;color:var(--c-dempet)}

/* ---------- Idrett ---------- */
.idrett{padding-top:0}
.idrett__bilde{margin:0 0 var(--seksjon)}
.idrett__bilde img{width:100%;height:clamp(320px,40vw,600px);object-fit:cover;object-position:center 35%}
.idrett__bilde figcaption{margin-top:12px;font-size:.875rem;color:var(--c-dempet)}
.idrett__rad{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s-5) clamp(48px,7vw,112px);align-items:start}
.idrett__tekst h2{margin-bottom:var(--s-4)}
.idrett__sitat{margin:var(--s-5) 0 0;max-width:34ch}
.idrett__sitat p{font:var(--w-display) clamp(1.375rem,2vw,1.75rem)/1.3 var(--f-display);letter-spacing:-.015em}
.idrett__sitat footer{margin-top:var(--s-2);font-size:.875rem;color:var(--c-dempet)}
.resultat li{display:flex;flex-direction:column;gap:2px;padding:16px 0;border-top:1px solid var(--c-linje)}
.resultat li:last-child{border-bottom:1px solid var(--c-linje)}
.resultat__hva{font-weight:600}
.resultat__hvem{font-size:.9375rem;color:var(--c-dempet)}

/* ---------- Artikler ---------- */
.artikler{padding-top:0}
.artikler__rad{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--s-4) clamp(48px,7vw,112px);padding-top:var(--seksjon);border-top:1px solid var(--c-linje)}
.art a{display:grid;grid-template-columns:1fr auto;grid-template-areas:"navn pil" "hvor pil";gap:4px 24px;padding:20px 0;border-top:1px solid var(--c-linje);text-decoration:none}
.art li:last-child a{border-bottom:1px solid var(--c-linje)}
.art a::after{content:"↗";grid-area:pil;align-self:center;color:var(--c-aksent);transition:transform .25s var(--ease)}
.art__navn{grid-area:navn;font:var(--w-display) clamp(1.25rem,1.6vw,1.5rem)/1.25 var(--f-display);letter-spacing:-.015em}
.art__hvor{grid-area:hvor;font-size:.875rem;color:var(--c-dempet)}

/* ---------- Kontakt ---------- */
.kontakt{background:var(--c-flate)}
.kontakt__rad{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s-4) clamp(48px,7vw,112px);align-items:end}
.kontakt h2{margin-bottom:var(--s-3)}
.kontakt__lenke{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);min-height:44px;padding:18px 0;border-top:1px solid var(--c-blekk);text-decoration:none;font:var(--w-display) clamp(1.5rem,2.6vw,2.25rem)/1.15 var(--f-display);letter-spacing:-.02em}
.kontakt__hva{font:400 .875rem/1 var(--f-body);letter-spacing:0;color:var(--c-dempet)}

/* ---------- Bunn ---------- */
.bunn{background:var(--c-bunn);color:#FFFFFF;padding:var(--s-6) 0 var(--s-5);--c-fokus:#FFFFFF}
[data-pal="3"] .bunn{--c-bunn:#1A1C1A}
.bunn__rad{display:grid;gap:12px;font-size:.875rem;color:rgba(255,255,255,.78)}
.bunn__navn{display:flex;align-items:center;gap:12px;margin-bottom:var(--s-2);font:var(--w-display) 1.5rem/1 var(--f-display);color:#FFFFFF}
.bunn__navn .merke__blad{color:#FFFFFF;width:28px;height:28px}
.bunn__kilde{font-size:.8125rem;color:rgba(255,255,255,.7)}
.footer__credit a{display:inline-block;padding:12px 0;color:rgba(255,255,255,.78);text-underline-offset:4px}

/* ---------- Design Lab ---------- */
.lab{position:fixed;left:16px;bottom:16px;z-index:var(--z-panel);font-family:'Switzer',system-ui,sans-serif;display:flex;flex-direction:column-reverse;align-items:flex-start;color:#111512}
.lab__veksle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:100px;border:.5px solid rgba(255,255,255,.4);background:rgba(255,255,255,.66);-webkit-backdrop-filter:blur(30px) saturate(210%);backdrop-filter:blur(30px) saturate(210%);color:#111512;font:600 .9375rem/1 'Switzer',system-ui,sans-serif;cursor:pointer;box-shadow:0 8px 32px rgba(0,0,0,.1),inset 0 1.5px .5px rgba(255,255,255,.65);transition:transform .2s var(--ease)}
.lab__panel{margin-bottom:10px;padding:14px;border-radius:24px;border:.5px solid rgba(255,255,255,.4);background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(30px) saturate(210%);backdrop-filter:blur(30px) saturate(210%);box-shadow:0 8px 32px rgba(0,0,0,.1),inset 0 1.5px .5px rgba(255,255,255,.65)}
.lab__gruppe{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.lab__merke{width:28px;text-align:center}
.lab__gruppe button{width:44px;height:44px;border-radius:100px;border:1px solid rgba(17,21,18,.16);background:rgba(255,255,255,.5);color:#111512;font:600 1rem/1 'Switzer',system-ui,sans-serif;cursor:pointer;transition:transform .2s var(--ease),background-color .15s var(--ease)}
.lab__gruppe button[aria-pressed="true"]{background:#111512;color:#FFFFFF}
.lab__gruppe button:active{transform:scale(.96)}
.design-lab__credit{margin-top:10px;font-size:.8125rem;color:#4D5650;display:flex;gap:6px;align-items:center}
.design-lab__credit-logo{display:inline-flex;align-items:center;gap:2px;font-weight:700;color:#111512;text-decoration:none;transition:transform .2s var(--ease)}
.design-lab__credit-dot,.design-lab__credit-spark{color:#23722F}
.design-lab__credit-spark{width:12px;height:12px;transition:transform .3s var(--ease)}

/* ---------- Hover, bare der det finnes mus ---------- */
@media (hover:hover) and (pointer:fine){
  .topp__nav a:hover::after{transform:scaleX(1)}
  .felt__lenke:hover .felt__bilde img{transform:scale(1.03)}
  .felt__lenke:hover .felt__navn{text-decoration-color:currentColor}
  .knapp--fylt:hover{background:var(--c-blekk)}
  [data-pal="3"] .knapp--fylt:hover{background:var(--c-aksent)}
  .valg:hover{border-color:var(--c-dempet)}
  .art a:hover::after{transform:translate(2px,-2px)}
  .kontakt__lenke:hover{color:var(--c-aksent)}
  .lab__veksle:hover{transform:translateY(-1px)}
  .lab__gruppe button:hover{transform:scale(1.04)}
  .design-lab__credit-logo:hover{transform:scale(1.04)}
  .design-lab__credit-logo:hover .design-lab__credit-spark{transform:rotate(90deg) scale(1.3)}
}

/* ---------- Nettbrett ---------- */
@media (max-width:1024px){
  .topp__nav{gap:18px;font-size:.875rem}
  .merke__under{display:none}
  .sitater{grid-template-columns:1fr 1fr}
  .sitat:nth-child(3){display:none}
}

/* ---------- Mobil: ruter i stedet for å ramse opp ---------- */
@media (max-width:767px){
  :root{--topp-h:64px;--seksjon:64px}
  body{font-size:1.0625rem}
  .topp__rad{grid-template-columns:1fr auto}
  .topp__nav{display:none}
  .merke{justify-self:start}
  .merke__blad{width:28px;height:28px}
  .merke__navn{font-size:1.25rem}
  .topp__handling{display:flex;gap:4px;margin-right:-10px}
  .ingress{font-size:1.125rem}

  /* Hero 1: tittel og tre ruter som rader */
  .hero--felt{padding:28px 0 40px}
  .hero--felt h1{font-size:clamp(2.125rem,9.4vw,2.75rem)}
  .hero--felt .hero__sub{margin:16px 0 24px;font-size:1.0625rem}
  .felt{grid-template-columns:1fr;gap:0}
  .felt__punkt{border-top:1px solid var(--c-linje)}
  .felt__punkt:last-child{border-bottom:1px solid var(--c-linje)}
  .felt__lenke{display:grid;grid-template-columns:76px 1fr auto;grid-template-rows:auto auto;column-gap:16px;align-items:center;padding:12px 0}
  .felt__lenke::after{content:"→";grid-column:3;grid-row:1 / span 2;color:var(--c-aksent)}
  .felt__bilde{grid-row:1 / span 2;aspect-ratio:1}
  .felt__navn{margin:0;font-size:1.1875rem;text-decoration:none;align-self:end}
  .felt__ord{margin:2px 0 0;font-size:.875rem;align-self:start}

  /* Hero 2: film i øvre halvdel, tekst under på mørk bunn */
  .hero--film{display:block;min-height:0}
  .hero__film{inset:0 0 auto 0;height:min(50svh,420px)}
  .hero__film::after{background:linear-gradient(0deg,rgb(var(--c-slor)) 0%,rgba(var(--c-slor),.7) 22%,rgba(var(--c-slor),0) 55%)}
  .hero--film .hero__innhold{align-items:flex-start;text-align:left;padding-top:min(41svh,340px);padding-bottom:40px}
  .hero--film h1{font-size:clamp(2.375rem,11vw,2.875rem);align-items:flex-start}
  .hero--film .hero__sub{margin:16px 0 24px;font-size:1.0625rem}
  .hero__cta{justify-content:flex-start}
  .hero__cta .knapp{padding:14px 22px}

  /* Coaching: fire temaer, resten ett trykk unna */
  .coaching__rad{grid-template-columns:1fr;gap:var(--s-4)}
  .coaching__tekst p+p{display:none}
  .tema li{padding:12px 0;font-size:1rem}
  .coaching__tema:not(.tema--alle) .tema__mer{display:none}
  .coaching__tema:not(.tema--alle) .tema li:nth-child(4){border-bottom:1px solid var(--c-linje)}
  .tema__vis{display:inline-block;margin-top:4px}
  .pcc img{width:64px;height:64px}

  /* Tid: sitater sveipes */
  .tid__topp{grid-template-columns:1fr;gap:var(--s-3)}
  .sitater{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);gap:16px;margin:40px calc(var(--gutter) * -1) 0;padding:24px var(--gutter) 4px;scrollbar-width:none;border-top:0}
  .sitater::-webkit-scrollbar{display:none}
  .sitat{flex:0 0 82%;scroll-snap-align:start;padding-top:20px;border-top:1px solid var(--c-linje)}
  .sitat:nth-child(3){display:block}
  .sjekk{grid-template-columns:1fr;gap:var(--s-3)}
  .sjekk__kort{margin:0 calc(var(--gutter) * -1 + 8px);padding:24px 20px}
  .felt-rad{grid-template-columns:1fr}

  /* Kurs: bildet finnes i heroen, læringsmålene er en liste */
  .kurs__rad{grid-template-columns:1fr}
  .kurs__bilde{display:none}
  .kurs__tekst h2{margin-bottom:var(--s-3)}
  .kurs__laer{margin:var(--s-3) 0}
  .kurs__fakta{gap:var(--s-2) var(--s-3);margin-bottom:var(--s-3)}
  .kurs__fakta dd{font-size:1.0625rem}

  .org__rad{grid-template-columns:1fr;gap:var(--s-3)}
  .org__liste{grid-template-columns:1fr;gap:0}
  .org__liste li{padding:14px 0;border-top:1px solid var(--c-linje)}
  .org__liste :is(strong,b){font-size:1.1875rem}
  .org__liste span{margin-top:2px}

  .idrett__bilde{margin-bottom:var(--s-5)}
  .idrett__bilde img{height:220px}
  .idrett__rad{grid-template-columns:1fr;gap:var(--s-4)}
  .idrett__tekst h2{margin-bottom:var(--s-3)}
  .idrett__sitat{margin-top:var(--s-4)}
  .resultat li{padding:10px 0}

  .artikler__rad{grid-template-columns:1fr;gap:var(--s-3)}
  .art a{padding:14px 0}
  .art__navn{grid-area:navn;font-size:1.125rem}

  .kontakt__rad{grid-template-columns:1fr;gap:var(--s-3)}
  .kontakt__lenke{font-size:1.375rem;padding:14px 0}

  .bunn{padding:var(--s-5) 0 var(--s-4)}

  /* Ingen dokk på denne siden: knappen nede til høyre, utenfor tittelen */
  .lab{left:auto;right:12px;bottom:12px;align-items:flex-end}
  .lab__veksle-tekst{display:none}
  .lab__veksle{padding:0 14px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
  .knapp:active,.valg:active,.lab__gruppe button:active{transform:none}
}

/* ---------- 404 ---------- */
.feilside__tittel{font-size:clamp(2.75rem,6vw,5.5rem);margin-bottom:var(--s-3)}
.feilside__lenker{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--s-4)}

/* ---------- Ikoner: Lucide, strek 1,5, arver tekstfargen (~/.claude/assets/ikoner) ---------- */
.ikon{width:24px;height:24px;flex:none}
.ikonknapp .ikon{width:22px;height:22px}
.kontakt__hva{display:inline-flex;align-items:center;gap:10px}
.kontakt__hva .ikon{width:20px;height:20px;color:var(--c-aksent)}
.kurs__fakta>div{display:grid;grid-template-columns:24px 1fr;column-gap:12px;align-items:start}
.kurs__fakta .ikon{grid-row:span 2;color:var(--c-aksent);margin-top:2px}
.org__liste .ikon{display:block;width:28px;height:28px;margin-bottom:var(--s-2);color:var(--c-aksent)}
@media (max-width:767px){
  .org__liste li{display:grid;grid-template-columns:24px 1fr;column-gap:14px}
  .org__liste .ikon{grid-row:span 2;width:24px;height:24px;margin:2px 0 0}
}
