/* Kurssidene (kurs-*.html). Lastes etter stil.css og lys.css.
   Idé: hvert kurs er et kursløp satt opp som taktplan. Du scroller fra første samling til kompetansebevis. */
.kurs{--ink0:#002A3A;--bone:#ECE8DD;--myk:#F4F6F5;--t-el:#33A6B1;--t-sa:#78BE20;--t-pr:#CDD751;--t-an:#002A3A}
.kurs main{display:block}
.kurs h2{font-size:clamp(38px,5.4vw,84px);font-weight:800;letter-spacing:-.012em}
.kurs h3{font-size:clamp(24px,2.2vw,34px)}
.kurs section{position:relative}
.k-luft{padding-block:clamp(80px,10vw,150px)}
.k-hode{display:grid;gap:18px;max-width:980px;margin-bottom:clamp(36px,5vw,70px)}

/* ---------- topp ---------- */
.kurs .top{background:rgba(255,255,255,.92);box-shadow:0 1px 0 rgba(0,42,58,.08)}
.kurs .nav a.tilbake{color:var(--ink0);font-weight:600}
.k-hjem{font-family:var(--display);font-weight:600;font-size:16px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--ink0);white-space:nowrap;border-bottom:2px dashed var(--green);padding-bottom:2px}
.k-hjem:hover{color:var(--gt)}
.kort-tekst{display:none}
@media (max-width:1000px){
  .kurs .nav{display:none}
  .kurs .fremdrift{display:none}
}
@media (max-width:560px){
  .kurs .logo img{height:36px}
  .k-hjem{font-size:14.5px}
  .lang-tekst{display:none}.kort-tekst{display:inline}
}

/* ---------- 1. åpning: bildet vokser fra kort til full flate ---------- */
.kh{height:230vh;background:radial-gradient(120% 90% at 70% 40%,#FFFFFF 0%,#F4F7F5 50%,#E6EDEA 100%);color:var(--ink0)}
.kh .pin{--e:0;--f:0;--ct:20vh;--cr:var(--gut);--cb:20vh;--cl:54vw;--sx:26vw;--sy:0vh;--s0:.62}
.kh-ord{position:absolute;left:0;bottom:-.14em;white-space:nowrap;font-family:var(--display);font-weight:800;font-size:clamp(150px,30vw,520px);line-height:.8;text-transform:uppercase;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1.5px rgba(0,42,58,.1);pointer-events:none;will-change:transform}
.kh-tekst{position:absolute;left:var(--gut);top:50%;width:min(44vw,660px);display:grid;gap:22px;transform:translateY(-50%);will-change:transform,opacity;z-index:3}
.kh h1{font-size:clamp(44px,5.6vw,96px);font-weight:800;line-height:.9;letter-spacing:-.015em}
.kh .lead{font-size:clamp(17px,1.35vw,21px);max-width:46ch}
.kh-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:6px}
.ntnu-merke{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink0)}
.ntnu-merke::before{content:"✓";display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--green);color:var(--ink0);font-size:15px;font-weight:700;letter-spacing:0}
.kh-bilde{position:absolute;inset:0;margin:0;z-index:2;overflow:hidden;
  clip-path:inset(calc(var(--ct)*(1 - var(--e))) calc(var(--cr)*(1 - var(--e))) calc(var(--cb)*(1 - var(--e))) calc(var(--cl)*(1 - var(--e))) round calc(8px*(1 - var(--e))))}
.kh-bilde img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--op,50% 40%);will-change:transform;
  transform:translate(calc(var(--sx)*(1 - var(--e))),calc(var(--sy)*(1 - var(--e)))) scale(calc(var(--s0) + (1 - var(--s0))*var(--e)))}
.kh-bilde::after{content:"";position:absolute;inset:0;opacity:var(--f);background:linear-gradient(0deg,rgba(0,27,38,.94) 0%,rgba(0,27,38,.6) 34%,rgba(0,27,38,0) 62%),linear-gradient(100deg,rgba(0,27,38,.82) 0%,rgba(0,27,38,.45) 30%,rgba(0,27,38,0) 55%)}
.kh-fakta{position:absolute;left:var(--gut);right:var(--gut);bottom:clamp(30px,7vh,80px);z-index:4;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2.4vw,40px);color:#fff;opacity:var(--f);transform:translateY(calc((1 - var(--f))*40px));pointer-events:none}
.kh-fakta div{border-top:3px solid var(--green);padding-top:14px;display:grid;gap:6px;align-content:start}
.kh-fakta b{font-family:var(--display);font-weight:800;font-size:clamp(40px,5.6vw,96px);line-height:.86;text-transform:uppercase;letter-spacing:-.01em}
.kh-fakta span{font-size:clamp(14.5px,1.15vw,18px);color:#D7E2E6;max-width:22ch}
.kh-over{position:absolute;left:var(--gut);right:var(--gut);top:clamp(96px,16vh,170px);z-index:4;color:#fff;opacity:var(--f);font-family:var(--display);font-weight:800;font-size:clamp(30px,4.4vw,74px);line-height:.92;text-transform:uppercase;max-width:16ch;transform:translateY(calc((1 - var(--f))*-30px));pointer-events:none}
.kh-over em{color:var(--green)}
.kh .scroll-hint{position:absolute;left:var(--gut);bottom:26px;z-index:3;opacity:calc(1 - var(--e)*4)}
@media (max-width:820px){
  .kh{height:210vh}
  .kh .pin{--ct:55svh;--cb:5svh;--cl:var(--gut);--sx:0vw;--sy:25svh;--s0:.92}
  .kh-tekst{top:88px;transform:none;width:auto;right:var(--gut);gap:14px}
  .kh h1{font-size:clamp(36px,10.4vw,60px)}
  .kh .lead{font-size:16px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
  .kh-cta .btn{padding:11px 20px;font-size:17px}
  .ntnu-merke{font-size:13px}
  .kh-fakta{grid-template-columns:1fr 1fr;gap:18px 16px;bottom:34px}
  .kh-fakta b{font-size:clamp(34px,10.5vw,52px)}
  .kh .scroll-hint{display:none}
  .kh-ord{display:none}
}
@media (max-width:820px) and (max-height:700px){.kh .lead{-webkit-line-clamp:2}}

/* ---------- 2. hvorfor ---------- */
.kv{background:#fff;border-radius:28px 28px 0 0;margin-top:-28px;z-index:2}
.kv-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(30px,6vw,100px);align-items:start}
.kv-stor{font-family:var(--display);font-weight:700;font-size:clamp(30px,3.7vw,60px);line-height:1.02;text-transform:uppercase;letter-spacing:-.005em;margin-top:18px}
.kv-stor span{color:rgba(0,42,58,.16);transition:color .35s}
.kv-stor span.paa{color:var(--ink0)}
.kv-stor span.paa.gr{color:var(--gd)}
.kv-brod{margin-top:26px;max-width:58ch;font-size:clamp(17px,1.3vw,20px);color:#33545F}
.kv .foto{margin-top:clamp(30px,5vw,60px);max-width:none;aspect-ratio:16/10;justify-self:stretch}
.kjenner{background:var(--myk);padding:clamp(24px,3vw,40px);border-top:4px solid var(--ink0);position:sticky;top:110px}
.kjenner h3{font-size:clamp(24px,2vw,30px);margin-bottom:8px}
.kjenner ul{list-style:none;margin:0;padding:0}
.kjenner li{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:18px 0;border-bottom:1px dashed rgba(0,42,58,.22);font-size:clamp(17px,1.3vw,20px);line-height:1.4}
.kjenner li:last-child{border-bottom:0;padding-bottom:0}
.kjenner li b{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.14em;color:var(--gt);padding-top:.25em}
.kjenner-svar{margin-top:20px;padding-top:18px;border-top:2px solid var(--green);font-weight:400}
@media (max-width:900px){.kv-grid{grid-template-columns:1fr}.kjenner{position:static}}

/* ---------- 3. kursløpet som taktplan ---------- */
.lop{background:var(--bone);color:var(--ink0)}
.lop .pin{position:static;height:auto;overflow:visible}
.lop-inn{padding-block:clamp(80px,10vw,150px)}
.lop-hode{display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap;margin-bottom:clamp(26px,3.4vw,46px)}
.lop-hode h2{margin-top:16px;max-width:16ch}
.lop-teller{display:none;font-family:var(--display);font-weight:800;font-size:clamp(50px,6vw,96px);line-height:.8;font-variant-numeric:tabular-nums;color:rgba(0,42,58,.28)}
.lop-teller b{color:var(--ink0);font-weight:800}
.lop-forkl{display:flex;flex-wrap:wrap;gap:8px 22px;font-family:var(--display);font-weight:600;font-size:14px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px}
.lop-forkl span{display:inline-flex;align-items:center;gap:8px}
.lop-forkl i{width:14px;height:14px;background:var(--c);display:block}
.t-el{--c:var(--t-el)}.t-sa{--c:var(--t-sa)}.t-pr{--c:var(--t-pr)}.t-an{--c:var(--t-an)}
.lop-skinne{display:none;list-style:none;margin:0 0 clamp(26px,4vh,50px);padding:0;gap:6px;grid-template-columns:repeat(var(--n),minmax(0,1fr))}
.lop-skinne li{--fy:0;position:relative;height:clamp(64px,10vh,96px);background:rgba(255,255,255,.55);border-top:5px solid var(--c);padding:10px 12px;display:grid;align-content:space-between;overflow:hidden;cursor:pointer;transition:transform .4s var(--ease),box-shadow .4s}
.lop-skinne li::before{content:"";position:absolute;inset:0;background:var(--c);transform-origin:left;transform:scaleX(var(--fy));opacity:.9}
.lop-skinne li.t-an::before{opacity:1}
.lop-skinne li>*{position:relative}
.lop-skinne li b{font-family:var(--display);font-weight:800;font-size:clamp(20px,2vw,30px);line-height:1;font-variant-numeric:tabular-nums}
.lop-skinne li span{font-family:var(--display);font-weight:600;font-size:clamp(11px,.9vw,14px);letter-spacing:.08em;text-transform:uppercase;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lop-skinne li.t-an.fylt{color:#fff}
.lop-skinne li.on{transform:translateY(-8px);box-shadow:0 22px 34px -22px rgba(0,42,58,.55)}
.lop-kort{display:grid;gap:14px}
.lk{background:#fff;border-left:6px solid var(--c);padding:clamp(22px,2.6vw,38px);display:grid;gap:12px;position:relative}
.lk-merke{font-family:var(--display);font-weight:600;font-size:14px;letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.lk-merke i{width:12px;height:12px;background:var(--c);display:block}
.lk h3{font-size:clamp(28px,3.4vw,56px);font-weight:800;line-height:.95;max-width:18ch}
.lop.fest .lk{gap:clamp(12px,2vh,22px)}
.lop.fest .lk h3{font-size:clamp(34px,4.6vw,78px)}
.lop.fest .lk>p:not(.lk-merke){font-size:clamp(18px,1.5vw,23px)}
.lop.fest .lk li{font-size:clamp(16px,1.2vw,19px);padding-top:14px}
.lop.fest .lk li b{font-size:clamp(17px,1.35vw,21px);margin-bottom:4px}
.lop.fest .lk ul{margin-top:clamp(8px,2vh,26px)}
.lk>p:not(.lk-merke){max-width:62ch;font-size:clamp(17px,1.25vw,20px);color:#33545F}
.lk ul{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px 26px;max-width:980px}
.lk li{padding:10px 0 0;border-top:2px solid var(--ink0);font-size:16px;line-height:1.4}
.lk li b{display:block;font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:.04em;text-transform:uppercase}
.lk-nr{display:none}
/* festet utgave: brede skjermer */
.lop.fest{height:calc(100vh + var(--n)*64vh)}
.lop.fest .pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.lop.fest .lop-inn{height:100%;padding-block:clamp(84px,12vh,120px) clamp(20px,4vh,44px);display:grid;grid-template-rows:auto auto auto 1fr}
.lop.fest .lop-teller{display:block}
.lop.fest .lop-skinne{display:grid}
.lop.fest .lop-kort{position:relative;display:block;min-height:0}
.lop.fest .lk{position:absolute;inset:0;background:transparent;border-left:0;padding:0 26% 0 0;align-content:start;opacity:0;transform:translateY(46px);transition:opacity .5s var(--ease),transform .7s var(--ease);pointer-events:none}
.lop.fest .lk.on{opacity:1;transform:none;pointer-events:auto}
.lop.fest .lk.forbi{transform:translateY(-46px)}
.lop.fest .lk-nr{display:block;position:absolute;right:-.04em;top:-.12em;font-family:var(--display);font-weight:800;font-size:clamp(180px,24vw,400px);line-height:.8;color:transparent;-webkit-text-stroke:2px rgba(0,42,58,.14);font-variant-numeric:tabular-nums;transform:translateX(60px);transition:transform 1s var(--ease)}
.lop.fest .lk.on .lk-nr{transform:none}
@media (max-height:760px){.lop.fest .lk h3{font-size:clamp(26px,3vw,44px)}.lop.fest .lk li{font-size:15px}.lop.fest .lk>p:not(.lk-merke){font-size:17px}.lop.fest .lop-hode h2{font-size:clamp(34px,4vw,56px)}}

/* ---------- 4. utbytte ---------- */
.ub{background:#fff}
.ub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:2px solid var(--ink0)}
.ub-grid article{padding:clamp(22px,2.6vw,38px) clamp(18px,2vw,30px) clamp(26px,3vw,44px) 0;border-bottom:1px dashed rgba(0,42,58,.25);display:grid;gap:12px;align-content:start}
.ub-grid article:not(:nth-child(3n+1)){padding-left:clamp(18px,2vw,30px);border-left:1px dashed rgba(0,42,58,.25)}
.ub-grid b{font-family:var(--display);font-weight:800;font-size:clamp(46px,5vw,80px);line-height:.8;color:transparent;-webkit-text-stroke:1.5px var(--gd);font-variant-numeric:tabular-nums;transition:color .4s}
.ub-grid article:hover b{color:var(--gd)}
.ub-grid p{font-size:clamp(17px,1.3vw,20px);line-height:1.4;font-weight:400}
@media (max-width:900px){.ub-grid{grid-template-columns:1fr 1fr}.ub-grid article:not(:nth-child(3n+1)){padding-left:0;border-left:0}.ub-grid article:nth-child(even){padding-left:18px;border-left:1px dashed rgba(0,42,58,.25)}}
@media (max-width:560px){.ub-grid{grid-template-columns:1fr}.ub-grid article:nth-child(even){padding-left:0;border-left:0}}

/* ---------- 5. kompetansebevis fra NTNU ---------- */
.bevis{--p:0;--on:#fff;--on-2:#B9CAD1;--gt:#78BE20;--gd:#78BE20;background:#001B26;color:#fff;border-radius:28px 28px 0 0;overflow:hidden}
.bevis-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,100px);align-items:center}
.bevis h2 em{color:var(--green)}
.bevis-tekst{display:grid;gap:20px}
.bevis-tekst p:not(.eyebrow){color:#C9D6DB;max-width:52ch;font-size:clamp(17px,1.3vw,20px)}
.bevis-pkt{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:0}
.bevis-pkt li{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:14px 0;border-top:1px dashed rgba(255,255,255,.22);font-weight:400}
.bevis-pkt li::before{content:"✓";display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--green);color:#002A3A;font-size:14px;font-weight:700;margin-top:2px}
.diplom{perspective:1400px;display:grid;place-items:center;padding:20px 0}
.dp-ark{--a:clamp(0,calc((var(--p) - .16)*2.6),1);width:min(100%,520px);aspect-ratio:1.38;background:linear-gradient(135deg,#fff 0%,#F3F0E8 100%);color:#002A3A;padding:clamp(20px,3vw,40px);display:grid;grid-template-rows:auto 1fr auto;position:relative;
  transform:rotateX(calc((1 - var(--a))*58deg)) rotateZ(calc((1 - var(--a))*-7deg)) translateY(calc((1 - var(--a))*90px));transform-origin:50% 100%;box-shadow:0 calc(20px + var(--a)*40px) 90px -30px rgba(0,0,0,.8);will-change:transform}
.dp-ark::before{content:"";position:absolute;inset:10px;border:1.5px dashed rgba(0,42,58,.35);pointer-events:none}
.dp-topp{font-family:var(--display);font-weight:600;font-size:clamp(11px,1vw,14px);letter-spacing:.24em;text-transform:uppercase;color:#4C850B;display:flex;justify-content:space-between;gap:10px}
.dp-midt{display:grid;gap:8px;align-content:center}
.dp-midt small{font-size:clamp(11px,1vw,14px);color:#6A838D;letter-spacing:.04em}
.dp-kurs{font-family:var(--display);font-weight:800;font-size:clamp(20px,2.3vw,36px);line-height:.95;text-transform:uppercase;max-width:72%;overflow-wrap:break-word;hyphens:manual}
.dp-navn{height:2px;width:56%;background:#002A3A;margin-top:clamp(14px,2vw,28px);transform-origin:left;transform:scaleX(clamp(0,calc((var(--p) - .3)*3.4),1))}
.dp-fot{display:flex;align-items:center;gap:clamp(12px,1.6vw,22px);max-width:64%}
.dp-fot img{width:auto;max-width:none;display:block}
.dp-ntnu{height:clamp(17px,2vw,27px)}
.dp-lc{height:clamp(28px,3.3vw,44px)}
.dp-fot i{width:1px;align-self:stretch;background:rgba(0,42,58,.3)}
.dp-segl{--s:clamp(0,calc((var(--p) - .42)*5),1);position:absolute;right:clamp(22px,3vw,44px);bottom:clamp(26px,3.4vw,48px);width:clamp(74px,8.4vw,112px);aspect-ratio:1;border-radius:50%;background:var(--green);color:#002A3A;display:grid;place-items:center;text-align:center;font-family:var(--display);font-weight:800;font-size:clamp(11px,1.05vw,15px);line-height:1;letter-spacing:.08em;text-transform:uppercase;opacity:var(--s);transform:rotate(-12deg) scale(calc(2.4 - var(--s)*1.4));box-shadow:0 0 0 5px #fff,0 0 0 7px var(--green)}
.dp-segl b{display:block;font-size:2.4em;line-height:.9}
@media (max-width:900px){.bevis-grid{grid-template-columns:1fr}}

/* ---------- 6. hvem ---------- */
.hvem{background:#fff}
.hvem-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(30px,6vw,100px);align-items:start}
.hvem-liste{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink0)}
.hvem-liste li{display:grid;grid-template-columns:clamp(40px,5vw,70px) 1fr;gap:10px;align-items:baseline;padding:clamp(18px,2.2vw,28px) 0;border-bottom:1px dashed rgba(0,42,58,.25);transition:padding .4s var(--ease),background .3s}
.hvem-liste li:hover{padding-left:14px;background:var(--myk)}
.hvem-liste span{font-family:var(--display);font-weight:600;font-size:14px;letter-spacing:.14em;color:var(--gt)}
.hvem-liste h3{font-size:clamp(24px,2.5vw,40px);font-weight:700}
.hvem-liste p{grid-column:2;color:#33545F;max-width:60ch;margin-top:6px}
.team{background:var(--green);color:var(--ink0);padding:clamp(24px,3vw,40px);display:grid;gap:14px;position:sticky;top:110px}
.team h3{font-size:clamp(28px,2.8vw,44px);font-weight:800}
.team p{font-weight:400}
.team .btn{justify-self:start;background:var(--ink0);color:#fff;margin-top:6px}
.team .btn:hover{background:#001B26}
@media (max-width:900px){.hvem-grid{grid-template-columns:1fr}.team{position:static}}

/* ---------- 7. tilbakemeldinger og kursholdere ---------- */
.sagt{background:var(--bone)}
.sagt-rad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sagt blockquote{margin:0;background:#fff;padding:clamp(22px,2.6vw,36px);display:grid;gap:18px;align-content:space-between;border-bottom:4px solid var(--green);position:relative}
.sagt blockquote::before{content:"“";font-family:var(--display);font-weight:800;font-size:110px;line-height:.7;color:var(--green);height:44px;display:block}
.sagt blockquote p{font-family:var(--display);font-weight:600;font-size:clamp(22px,1.9vw,30px);line-height:1.12}
.sagt cite{font-style:normal;font-family:var(--display);font-weight:600;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:#4C850B}
.holdere{margin-top:clamp(60px,8vw,110px)}
.hold-rad{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.hold figure{margin:0 0 12px;aspect-ratio:4/5;overflow:hidden;background:#D9D5C8}
.hold img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .6s,transform .8s var(--ease)}
.hold:hover img{filter:none;transform:scale(1.04)}
.hold h3{font-size:clamp(20px,1.7vw,26px)}
.hold p{color:#33545F;font-size:15.5px;line-height:1.4;margin-top:4px}
@media (max-width:900px){.sagt-rad{grid-template-columns:1fr}.hold-rad{grid-template-columns:1fr 1fr}}

/* ---------- 8. praktisk og bestilling ---------- */
.prak{background:#fff}
.prak-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(30px,6vw,100px);align-items:start}
.prak dl{margin:0;border-top:2px solid var(--ink0)}
.prak dl div{display:grid;grid-template-columns:minmax(120px,.42fr) 1fr;gap:16px;padding:18px 0;border-bottom:1px dashed rgba(0,42,58,.25)}
.prak dt{font-family:var(--display);font-weight:700;font-size:16px;letter-spacing:.1em;text-transform:uppercase}
.prak dd{margin:0;color:#33545F}
.prak dl div.pris{background:var(--myk);padding-inline:16px;border-bottom:4px solid var(--green)}
.prak dl div.pris dd{color:var(--ink0);font-weight:400}
.best{--p:0;list-style:none;margin:0;padding:0;display:grid;gap:0;position:relative}
.best::before{content:"";position:absolute;left:23px;top:24px;bottom:24px;border-left:2px dashed rgba(0,42,58,.25)}
.best::after{content:"";position:absolute;left:22px;top:24px;bottom:24px;width:4px;background:var(--green);transform-origin:top;transform:scaleY(clamp(0,calc((var(--p) - .18)*1.9),1))}
.best li{display:grid;grid-template-columns:48px 1fr;gap:20px;padding:0 0 clamp(22px,3vw,40px);position:relative;z-index:1}
.best li:last-child{padding-bottom:0}
.best li>b{width:48px;height:48px;border-radius:50%;background:var(--ink0);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:20px}
.best li:last-child>b{background:var(--green);color:var(--ink0)}
.best h3{font-size:clamp(22px,2vw,30px);padding-top:8px}
.best p{color:#33545F;margin-top:6px;max-width:52ch}
@media (max-width:900px){.prak-grid{grid-template-columns:1fr}}
@media (max-width:480px){.prak dl div{grid-template-columns:1fr;gap:4px}}

/* ---------- 9. de andre kursene ---------- */
.andre{background:var(--myk)}
.andre .bk-rad{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.andre .bk-rad{grid-template-columns:1fr}}
.andre-fot{margin-top:clamp(26px,3vw,40px)}

/* ---------- kontakt ---------- */
.kurs .kontakt{border-radius:28px 28px 0 0;margin-top:-28px}
.kurs .kontakt-h{font-size:clamp(48px,10.6vw,196px)}

.kurs .k-luft,.kurs .lop,.kurs .kh{overflow-x:clip}
@media (prefers-reduced-motion:reduce){.lop.fest .lk,.lop-skinne li{transition:none}}

/* smale skjermer: kursløpet som liste, alt holder seg innenfor bredden */
.lk,.lk>*{min-width:0}
@media (max-width:700px){
  .lk ul{grid-template-columns:1fr}
  .lop-forkl{font-size:12.5px;gap:6px 16px}
  .kh-bilde img{object-position:var(--opm,var(--op,50% 40%))}
}

/* små telefoner */
.kh-tekst.trang .lead{display:none}
.kh-tekst.trang{gap:12px}
.lk h3,.hvem-liste h3,.best h3,.kjenner h3{overflow-wrap:break-word;hyphens:auto}
.k-hjem{display:inline-flex;align-items:center;min-height:40px}
@media (max-width:560px){
  .kurs .kontakt-h{font-size:clamp(32px,10.4vw,60px)}
  .dp-topp{letter-spacing:.1em;font-size:10px}
  .lk h3{font-size:clamp(25px,7.4vw,34px)}
}

/* ---------- personvern ---------- */
.pv-topp{padding:clamp(120px,16vw,200px) 0 clamp(30px,5vw,60px);background:radial-gradient(120% 90% at 70% 40%,#FFFFFF 0%,#F4F7F5 50%,#E6EDEA 100%)}
.pv-topp h1{font-size:clamp(40px,7vw,110px);font-weight:800;line-height:.9;margin-top:18px;overflow-wrap:break-word;hyphens:auto}
.pv-topp .lead{margin-top:22px;max-width:60ch}
.pv-dato{margin-top:18px;font-family:var(--display);font-weight:600;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:#4C850B}
.pv-kort{padding:clamp(30px,5vw,60px) 0;background:#fff}
.pv-tre{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pv-tre article{background:var(--myk);border-top:4px solid var(--green);padding:clamp(20px,2.4vw,32px);display:grid;gap:10px;align-content:start}
.pv-tre b{font-family:var(--display);font-weight:800;font-size:clamp(60px,7vw,110px);line-height:.8;color:transparent;-webkit-text-stroke:2px var(--gd)}
.pv-tre p{color:#33545F}
.pv-tekst{padding:clamp(30px,5vw,70px) 0 clamp(70px,9vw,130px);background:#fff}
.pv-spalte{max-width:860px;margin-left:0}
.pv-tekst .wrap{max-width:calc(860px + 2*var(--gut));margin-left:max(0px,calc((100% - 1320px)/2))}
.pv-tekst h2{font-size:clamp(26px,2.8vw,40px);font-weight:700;margin:clamp(34px,4vw,56px) 0 14px;padding-top:18px;border-top:2px solid var(--ink0)}
.pv-tekst p{margin-top:12px;font-size:clamp(17px,1.3vw,19.5px);color:#33545F}
.pv-tekst a:not(.lenke){color:var(--ink0);text-decoration-color:var(--green);text-underline-offset:3px}
.pv-tilbake{margin-top:clamp(34px,4vw,56px)!important}
@media (max-width:820px){.pv-tre{grid-template-columns:1fr}}

/* ================= post-it-lapper =================
   LC planlegger med lapper på veggen. Lappene klistres på mens du scroller. */
.kurs{--l-gul:#FFE25A;--l-rosa:#FF9EC0;--l-oransje:#FFB65C;--l-bla:#8FD3F0;--l-gronn:#B6E36A;--t-sa:var(--l-gul);--t-pr:var(--l-oransje);--t-el:var(--l-bla);--t-an:var(--l-gronn)}
.lop-forkl i,.lk-merke i{box-shadow:0 2px 3px -1px rgba(0,42,58,.4)}

/* kursløpet: stiplede plasser på veggen, én lapp per steg */
.lop-skinne{gap:clamp(8px,1vw,14px);margin-top:6px}
.lop-skinne li{background:transparent;border-top:0;outline:1.5px dashed rgba(0,42,58,.28);outline-offset:-2px;height:clamp(80px,12vh,114px);overflow:visible;color:var(--ink0);transition:transform .45s var(--ease)}
.lop-skinne li::before{inset:-3px;background:linear-gradient(165deg,rgba(255,255,255,.34) 0%,rgba(255,255,255,0) 42%,rgba(0,0,0,.07) 100%),var(--c);opacity:0;transform:translateY(-30px) rotate(-10deg) scale(1.2);transform-origin:50% 0;transition:transform .55s cubic-bezier(.3,1.55,.5,1),opacity .22s,box-shadow .4s;box-shadow:0 12px 14px -9px rgba(0,42,58,.5)}
.lop-skinne li.fylt::before{opacity:1;transform:rotate(var(--r,-1.6deg))}
.lop-skinne li:nth-child(2n){--r:1.7deg}
.lop-skinne li:nth-child(3n){--r:-2.5deg}
.lop-skinne li:nth-child(5n){--r:2.3deg}
.lop-skinne li b,.lop-skinne li span{opacity:.4;transition:opacity .3s}
.lop-skinne li.fylt b,.lop-skinne li.fylt span{opacity:1}
.lop-skinne li.t-an.fylt{color:var(--ink0)}
.lop-skinne li.on{transform:translateY(-10px) scale(1.05);box-shadow:none;z-index:2}
.lop-skinne li.on::before{transform:rotate(0deg);box-shadow:0 30px 30px -18px rgba(0,42,58,.6)}
/* listeutgaven (mobil og iPad stående): nummeret står på en liten lapp */
.lop:not(.fest) .lk{padding-right:clamp(70px,16vw,96px)}
.lop:not(.fest) .lk-nr{display:grid;place-items:center;position:absolute;right:14px;top:-12px;width:54px;height:54px;background:linear-gradient(165deg,rgba(255,255,255,.34),rgba(0,0,0,.06)),var(--c);font-family:var(--display);font-weight:800;font-size:24px;color:var(--ink0);transform:rotate(4deg);box-shadow:0 10px 12px -8px rgba(0,42,58,.5)}
.lop:not(.fest) .lk:nth-child(2n) .lk-nr{transform:rotate(-3deg)}

/* kjenner dere dere igjen: fire lapper som klistres opp */
.kjenner{background:transparent;border-top:0;padding:0}
.kjenner h3{margin-bottom:20px}
.kjenner ul{--p:1;display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.4vw,20px)}
.kjenner li,.kjenner li:last-child{--a:clamp(0,calc((var(--p) - .1 - var(--i)*.045)*7),1);display:flex;flex-direction:column;gap:10px;min-height:clamp(150px,13vw,190px);padding:16px 16px 20px;border:0;background:linear-gradient(165deg,rgba(255,255,255,.34) 0%,rgba(255,255,255,0) 42%,rgba(0,0,0,.07) 100%),var(--lc);color:var(--ink0);font-size:clamp(16px,1.15vw,18px);font-weight:400;line-height:1.35;box-shadow:0 16px 18px -12px rgba(0,42,58,.5);opacity:var(--a);transform:translateY(calc((1 - var(--a))*46px)) rotate(calc(var(--r) + (1 - var(--a))*var(--rd))) scale(calc(1.12 - var(--a)*.12));will-change:transform}
.kjenner li b{color:rgba(0,42,58,.6);padding:0}
.kjenner li:nth-child(1){--i:0;--lc:var(--l-gul);--r:-2.2deg;--rd:-12deg}
.kjenner li:nth-child(2){--i:1;--lc:var(--l-rosa);--r:1.8deg;--rd:14deg}
.kjenner li:nth-child(3){--i:2;--lc:var(--l-bla);--r:1.4deg;--rd:10deg}
.kjenner li:nth-child(4){--i:3;--lc:var(--l-oransje);--r:-1.8deg;--rd:-13deg}
.kjenner-svar{margin-top:26px}
@media (max-width:420px){.kjenner ul{grid-template-columns:1fr}.kjenner li,.kjenner li:last-child{min-height:0}}
@media (prefers-reduced-motion:reduce){.kjenner li,.kjenner li:last-child{opacity:1;transform:rotate(var(--r))}.lop-skinne li::before{transition:none}}

/* håndskrift og levende lapper på kurssidene */
.kjenner li,.kjenner li:last-child{font-family:var(--hand);font-weight:600;font-size:clamp(22px,1.7vw,27px);line-height:1.08;position:relative;transition:box-shadow .35s}
.kjenner li b{font-family:var(--display)}
.kjenner li::after{content:"";position:absolute;right:0;bottom:0;width:15px;height:15px;background:linear-gradient(135deg,rgba(255,255,255,.6) 0 47%,rgba(0,42,58,.3) 50%,rgba(0,42,58,.06) 100%);transition:width .35s var(--ease),height .35s var(--ease)}
@media (hover:hover){
  .kjenner li:hover{--r:0deg;box-shadow:0 30px 28px -18px rgba(0,42,58,.6);z-index:2}
  .kjenner li:hover::after{width:30px;height:30px}
}
.lop-skinne li b{font-family:var(--hand);font-weight:700;font-size:clamp(30px,2.8vw,44px);line-height:.8}
.lop-skinne li span{font-family:var(--hand);font-weight:700;font-size:clamp(17px,1.45vw,23px);letter-spacing:0;text-transform:none}
.lop-skinne li::after{content:"";position:absolute;right:-3px;bottom:-3px;width:14px;height:14px;background:linear-gradient(135deg,rgba(255,255,255,.6) 0 47%,rgba(0,42,58,.3) 50%,rgba(0,42,58,.06) 100%);opacity:0;transition:opacity .3s,width .35s var(--ease),height .35s var(--ease)}
.lop-skinne li.fylt::after{opacity:1}
.lop-skinne li.on::after,.lop-skinne li.fylt:hover::after{width:26px;height:26px}
.lop:not(.fest) .lk-nr{font-family:var(--hand);font-size:32px}

.sagt .dl-vegg{background:rgba(255,255,255,.5)}
.sagt .maalt{border-top-color:var(--ink0)}
.sagt .maalt span{color:var(--ink0)}
.sagt .maalt small,.sagt .dl-kilde{color:#33545F}
/* deltakerlappene skal se ut som lapper også i sitatdelen på kurssidene */
.sagt blockquote.dl{background:linear-gradient(165deg,rgba(255,255,255,.36) 0%,rgba(255,255,255,0) 42%,rgba(0,0,0,.07) 100%),var(--lc);border-bottom:0;padding:clamp(16px,1.7vw,24px);display:flex;gap:14px;align-content:normal}
.sagt blockquote.dl::before{content:none;display:none}
.sagt blockquote.dl p{font-family:var(--hand);font-weight:700;font-size:clamp(24px,2vw,31px);line-height:1.04}
.sagt blockquote.dl cite{font-family:var(--display);font-weight:500;font-size:13.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(0,42,58,.7)}
.sagt blockquote.dl cite b{color:#002A3A}

/* lappene i LC-stil på kurssidene */
.kurs{--l-gul:#FFE25A;--l-rosa:#A9DEE3;--l-bla:#BDE38B;--l-gronn:#DDE66E;--l-oransje:#FFFFFF;--t-sa:#FFE25A;--t-pr:#DDE66E;--t-el:#A9DEE3;--t-an:#BDE38B}
.kjenner li:nth-child(4){--lc:#DDE66E}
.kjenner li,.kjenner li:last-child{box-shadow:0 10px 16px -12px rgba(0,42,58,.4);font-family:var(--body);font-weight:400;font-size:clamp(16px,1.2vw,18px);line-height:1.35;
  transform:translateY(calc((1 - var(--a))*40px)) rotate(calc(var(--r)*.5 + (1 - var(--a))*var(--rd)*.5)) scale(calc(1.08 - var(--a)*.08))}
.kjenner li::after{width:12px;height:12px}
.lop-skinne li::before{box-shadow:0 8px 12px -9px rgba(0,42,58,.4)}
.lop-skinne li.fylt::before{transform:rotate(calc(var(--r,-1.6deg)*.45))}
.lop-skinne li b{font-family:var(--display);font-weight:800;font-size:clamp(20px,2vw,30px);line-height:1}
.lop-skinne li span{font-family:var(--display);font-weight:600;font-size:clamp(11px,.9vw,14px);letter-spacing:.08em;text-transform:uppercase}
.lop:not(.fest) .lk-nr{font-family:var(--display);font-size:24px;box-shadow:0 8px 10px -8px rgba(0,42,58,.4)}
.sagt blockquote.dl p{font-size:clamp(22px,1.8vw,28px);font-weight:600;line-height:1.08}
.kjenner li b{color:#1D4250}
.sagt blockquote.dl cite{color:#1D4250}

/* vind i lappene på kurssidene */
.kjenner li,.kjenner li:last-child{--vv:var(--vind,0);--vk:2deg;transform-origin:50% 0;rotate:calc(var(--vv)*var(--vk));translate:calc(var(--vv)*3px) 0}
.kjenner li:nth-child(2n){--vv:var(--vind2,0);--vk:-1.7deg}
.kjenner li:nth-child(3){--vk:2.7deg}
.lop-skinne li::before{--vv:var(--vind,0);rotate:calc(var(--vv)*1.6deg)}
.lop-skinne li:nth-child(2n)::before{--vv:var(--vind2,0);rotate:calc(var(--vv)*-1.4deg)}
.lop:not(.fest) .lk-nr{--vv:var(--vind,0);transform-origin:50% 0;rotate:calc(var(--vv)*4deg)}
.lop:not(.fest) .lk:nth-child(2n) .lk-nr{--vv:var(--vind2,0);rotate:calc(var(--vv)*-3.4deg)}
@media (prefers-reduced-motion:reduce){.kjenner li,.kjenner li:last-child,.lop-skinne li::before,.lk-nr{rotate:none;translate:none}}

/* overskrifter som er h2 i dokumentet, men små på siden */
.kurs .kjenner-h{font-size:clamp(24px,2vw,30px);font-weight:700;letter-spacing:0;line-height:1.05;margin-bottom:20px;overflow-wrap:break-word;hyphens:auto}
.pv-tre .pv-h,.kurs .pv-tre .pv-h{font-size:clamp(24px,2.2vw,34px);font-weight:700;letter-spacing:0;line-height:1.05;margin:0;padding:0;border:0}

/* ================= fagsider ================= */
.fh{position:relative;overflow:hidden;padding:clamp(130px,17vw,220px) 0 clamp(60px,8vw,110px);background:radial-gradient(120% 90% at 70% 40%,#FFFFFF 0%,#F4F7F5 50%,#E6EDEA 100%)}
.fh-ord{position:absolute;left:-.04em;bottom:-.16em;font-family:var(--display);font-weight:800;font-size:clamp(170px,32vw,560px);line-height:.8;text-transform:uppercase;color:transparent;-webkit-text-stroke:1.5px rgba(0,42,58,.09);white-space:nowrap;pointer-events:none}
.fh-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);gap:clamp(30px,6vw,100px);align-items:end}
.fh-tekst{display:grid;gap:20px}
.fh h1{font-size:clamp(46px,8vw,128px);font-weight:800;line-height:.88;letter-spacing:-.018em;overflow-wrap:break-word;hyphens:manual}
.fh .lead{font-size:clamp(18px,1.6vw,24px);max-width:52ch}
.fag-lapp{padding:clamp(18px,2vw,28px);display:grid;gap:10px;max-width:340px;justify-self:end}
.fag-lapp span{font-family:var(--display);font-weight:700;font-size:13.5px;letter-spacing:.16em;text-transform:uppercase;color:#1D4250}
.fag-lapp p{font-family:var(--hand);font-weight:700;font-size:clamp(25px,2.2vw,33px);line-height:1.04}
.fag-smal{max-width:1100px}
.fag-brod{margin-top:28px;display:grid;gap:14px;max-width:66ch}
.fag-brod p{font-size:clamp(18px,1.4vw,21px);color:#33545F}
.fag-ub{background:#F4F6F5}
.fag-ub .ub-grid h3{font-size:clamp(24px,2.2vw,34px)}
.fag-ub .ub-grid p{font-weight:300;color:#33545F}
.fag-steg{background:var(--bone);color:var(--ink0)}
.fag-steg .best p{color:#33545F}
.fag-mot{background:#fff;padding:clamp(22px,3vw,40px);border-top:4px solid var(--green);display:grid;gap:12px;position:sticky;top:110px;align-content:start}
.fag-mot p{color:#33545F}
.fag-mot .lenke{justify-self:start;margin-top:8px}
.fag-videre{display:grid;gap:16px;align-content:start}
.fag-gratis{background:var(--green);color:var(--ink0);padding:clamp(22px,3vw,38px);display:grid;gap:12px}
.fag-gratis h3{font-size:clamp(26px,2.6vw,40px);font-weight:800}
.fag-gratis p{font-weight:400}
.fag-gratis .btn{justify-self:start;background:var(--ink0);color:#fff;margin-top:4px}
.fag-gratis .btn:hover{background:#001B26}
.fag-kurs-e{margin-top:18px}
.fagkurs-rad{display:grid;gap:10px}
.fagkurs{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;text-decoration:none;color:var(--ink0);background:var(--myk);padding:16px 18px;border-left:5px solid var(--green);transition:transform .35s var(--ease),background .3s}
.fagkurs:hover{transform:translateX(6px);background:var(--bone)}
.fagkurs span{font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;background:var(--green);padding:5px 8px;white-space:nowrap}
.fagkurs strong{font-family:var(--display);font-weight:700;font-size:clamp(19px,1.6vw,24px);text-transform:uppercase;line-height:1.02}
.fagkurs em{font-style:normal;font-family:var(--display);font-weight:600;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--gt);white-space:nowrap}
.fag-andre{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:14px}
.fag .kontakt-h{font-size:clamp(46px,10vw,180px)}
@media (max-width:900px){.fh-grid{grid-template-columns:1fr}.fag-lapp{justify-self:start}.fag-mot{position:static}}
@media (max-width:560px){.fagkurs{grid-template-columns:1fr;gap:6px}.fagkurs span{justify-self:start}}

/* ---------- spørsmål og svar ---------- */
.sp-liste{border-top:2px solid var(--ink0)}
.sp{border-bottom:1px dashed rgba(0,42,58,.25)}
.sp summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:18px;align-items:baseline;padding:18px 0;font-family:var(--display);font-weight:700;font-size:clamp(19px,1.6vw,24px);line-height:1.1;text-transform:uppercase}
.sp summary::-webkit-details-marker,.sp-alle summary::-webkit-details-marker{display:none}
.sp summary::after{content:"+";flex:none;font-size:26px;line-height:.8;color:var(--gt);transition:transform .3s var(--ease)}
.sp[open] summary::after{transform:rotate(45deg)}
.sp p{padding:0 0 20px;max-width:64ch;color:#33545F;font-size:clamp(17px,1.25vw,19px)}
.sp-alle{margin-top:26px}
.sp-alle>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;background:var(--ink0);color:#fff;font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:.04em;text-transform:uppercase;transition:background .3s}
.sp-alle>summary:hover{background:#0B4558}
.sp-alle>summary em{font-style:normal;font-size:14px;letter-spacing:.1em;color:var(--green);display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.sp-alle>summary em::after{content:"+";font-size:24px;line-height:.8;transition:transform .3s var(--ease)}
.sp-alle[open]>summary em::after{transform:rotate(45deg)}
.sp-alle .sp-liste{border-top:0}
.pv-tekst code{font-size:.92em;background:var(--myk);padding:1px 6px}
