


.side-topp {
  padding: calc(var(--meny-h) + clamp(1.75rem, 4vw, 3.25rem)) 0 clamp(2.5rem, 5vw, 4rem);
  background: var(--kalk);
}
.sti { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: clamp(1.25rem, 3vw, 2rem); font-size: 0.9rem; color: var(--tekst-dempet); }
.sti li { display: flex; gap: 0.5rem; }
.sti li + li::before { content: "/"; color: var(--linje-sterk); }
.sti a { color: inherit; text-underline-offset: 3px; }
.side-hode { display: grid; gap: clamp(1.75rem, 4vw, 3rem); }
.side-hode h1 {
  font-size: var(--str-h2); font-weight: var(--vekt-tittel); letter-spacing: var(--sporing-tittel);
  line-height: 1.04; text-wrap: balance; max-width: 14em; overflow-wrap: break-word; hyphens: auto;   
}
.side-hode .ingress { margin-top: clamp(1rem, 2vw, 1.4rem); }
.side-knapper { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: clamp(1.5rem, 3vw, 2rem); }
.knapp svg { width: 18px; height: 18px; }
@media (min-width: 900px) {
  .med-bilde .side-hode { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; column-gap: clamp(2.5rem, 5vw, 5rem); }
}
.side-bilde figure, .side-figur { margin: 0; }
.side-bilde .pp-bilde { aspect-ratio: 3 / 2; border-radius: var(--radius); }
.side-bilde .pp-bilde img { width: 100%; height: 100%; object-fit: cover; }
.side-figur img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--radius); }
.side-bilde .staende { max-width: 26rem; margin-inline: auto; }
.side-bilde .staende .pp-bilde { aspect-ratio: 3 / 4; }
.side-bilde figcaption { margin-top: 0.6rem; font-size: 0.92rem; color: var(--tekst-dempet); }


.underside .seksjon { --flate: var(--sand); }
.underside .fordeler, .underside .steg-blokk, .underside .godkjent-blokk, .underside .ute-blokk { --flate: var(--kalk); }
.underside .tid-blokk { --flate: var(--natt); color: var(--tekst-lys); --fokus: var(--bla-lys); }
.underside .tid-blokk .merke-linje { color: var(--bla-lys); }
.underside .cta { --flate: var(--dis); }
.underside .for-etter { --flate: var(--dis); }
.underside .slik { --flate: var(--natt-2); }
.underside .ps-bygget { --flate: var(--natt); }
.underside .ps-tegnet, .underside .ps-ute { --flate: var(--sand); }
.underside .ps-galleri, .underside .ps-flere { --flate: var(--kalk); }
.underside .ps-bad { --flate: var(--dis); }


.blokk-hode { margin-bottom: clamp(1.5rem, 3vw, 2.5rem); max-width: 46rem; }
.blokk-hode .ingress { margin-top: 1rem; }
.to-kol { display: grid; gap: clamp(1.75rem, 4vw, 3rem); }
@media (min-width: 900px) { .to-kol { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: clamp(3rem, 6vw, 6rem); align-items: start; } }
.to-kol h3 { font-size: var(--str-h3); font-weight: 400; margin-bottom: 0.9rem; }
.to-kol p + p { margin-top: 1rem; }
.tekst-blokk p:not(.ingress):not(.merke) { color: var(--tekst-dempet); max-width: 38rem; }
.punkter { display: grid; gap: 0; margin-top: 1rem; border-top: 1px solid var(--linje); }
.punkter li { position: relative; padding: 0.8rem 0 0.8rem 1.9rem; border-bottom: 1px solid var(--linje); }
.punkter li::before {
  content: ""; position: absolute; left: 0.1rem; top: 1.3rem; width: 0.85rem; height: 0.45rem;
  border-left: 2px solid var(--bla); border-bottom: 2px solid var(--bla); transform: rotate(-45deg);
}
@media (min-width: 900px) { .punkter.to-spalter { grid-template-columns: 1fr 1fr; column-gap: 3rem; } }
.sitat-kort { padding: clamp(1.4rem, 3vw, 2.25rem); background: var(--hvit); border-top: 2px solid var(--bla); border-radius: var(--radius); }
.sitat-kort p { font-size: var(--str-ingress); line-height: 1.5; color: var(--tekst) !important; }


.tidsbruk { display: grid; margin: 0; border-top: 1px solid var(--linje-lys); }
.tidsbruk div { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 0.25rem 1.5rem; padding: 1.1rem 0; border-bottom: 1px solid var(--linje-lys); }
.tidsbruk dt { color: var(--tekst-lys-dempet); font-size: var(--str-ingress); }
.tidsbruk dd { margin: 0; font-size: clamp(1.5rem, 1.2rem + 1vw, 2.2rem); font-weight: var(--vekt-tittel); letter-spacing: -0.02em; color: var(--tekst-lys); font-variant-numeric: tabular-nums; }
@media (min-width: 900px) { .tid-blokk .tidsbruk { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 2.5rem; border-top: 0; }
  .tid-blokk .tidsbruk div { flex-direction: column-reverse; justify-content: flex-end; border-bottom: 0; border-top: 1px solid var(--linje-lys); } }
.tidsbruk.lys { border-top-color: var(--linje); }
.tidsbruk.lys div { border-bottom-color: var(--linje); }
.tidsbruk.lys dt { color: var(--tekst-dempet); font-size: 1rem; }
.tidsbruk.lys dd { color: var(--tekst); font-size: clamp(1.3rem, 1.1rem + 0.7vw, 1.75rem); }


.stegliste { display: grid; border-top: 1px solid var(--linje); }
.stegliste li { display: grid; grid-template-columns: 3rem minmax(0, 1fr); column-gap: 1rem; padding: clamp(1.1rem, 2vw, 1.5rem) 0; border-bottom: 1px solid var(--linje); }
.stegliste .steg-nr { padding-top: 0.32rem; font-size: 0.9rem; font-weight: 600; letter-spacing: 0.06em; color: var(--bla-tekst); font-variant-numeric: tabular-nums; }
.stegliste h3 { font-size: clamp(1.2rem, 1.05rem + 0.5vw, 1.45rem); font-weight: 400; }
.stegliste p { margin-top: 0.35rem; color: var(--tekst-dempet); }
@media (min-width: 900px) { .steg-blokk .stegliste { grid-template-columns: 1fr 1fr; column-gap: clamp(2.5rem, 5vw, 5rem); } }
.stegliste.mork { border-top-color: var(--linje-lys); }
.stegliste.mork li { border-bottom-color: var(--linje-lys); }
.stegliste.mork .steg-nr { color: var(--bla-lys); }
.stegliste.mork h3 { color: var(--tekst-lys); }
.stegliste.mork p { color: var(--tekst-lys-dempet); }
.slik-side .slik-rad { display: grid; gap: clamp(2rem, 4vw, 3rem); }
@media (min-width: 900px) { .slik-side .slik-rad { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); column-gap: clamp(3rem, 6vw, 6rem); align-items: start; } }


.galleri-to, .galleri-tre { display: grid; gap: clamp(1rem, 2vw, 1.5rem); }
.galleri-to figure, .galleri-tre figure { margin: 0; }
.galleri-to .pp-bilde img, .galleri-tre .pp-bilde img { aspect-ratio: 3 / 2; height: auto; }
.staende-rad .pp-bilde img { aspect-ratio: 4 / 5; }
@media (min-width: 600px) { .galleri-to, .galleri-tre { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 900px) { .galleri-tre { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.galleri-to figcaption, .galleri-tre figcaption { margin-top: 0.6rem; font-size: 0.95rem; color: var(--tekst-dempet); }


.oversikt .ramme { display: grid; gap: clamp(2.5rem, 5vw, 4rem); }
.ov-rad { display: grid; gap: 1.25rem; align-items: center; }
.ov-bilde { display: block; overflow: hidden; border-radius: var(--radius); background: var(--kalk); }
.ov-bilde img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; transition: transform 0.9s var(--mykt); }
.ov-rad:hover .ov-bilde img { transform: scale(1.03); }

.ov-rad.staende .ov-bilde { width: min(100%, 22rem); justify-self: center; }
.ov-rad.staende .ov-bilde img { aspect-ratio: 4 / 5; max-height: none; }
.ov-nr { font-size: 0.85rem; font-weight: 600; letter-spacing: 0.1em; color: var(--bla-tekst); font-variant-numeric: tabular-nums; }
.ov-tekst h2 { margin-top: 0.3rem; font-size: clamp(1.7rem, 1.2rem + 1.6vw, 2.6rem); font-weight: var(--vekt-tittel); letter-spacing: -0.025em; line-height: 1.1; }
.ov-tekst h2 a { text-decoration: none; }
.ov-tekst p:not(.ov-nr) { margin-top: 0.8rem; max-width: 32rem; color: var(--tekst-dempet); }
.ov-tekst .lenke-pil { margin-top: 1.2rem; }
@media (min-width: 900px) {
  .ov-rad { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); column-gap: clamp(2.5rem, 5vw, 5rem); }
  .ov-rad:nth-child(even) .ov-bilde { order: 2; }
  .ov-bilde img { max-height: 26rem; }
}


.cta-rad { display: grid; gap: 1.5rem; align-items: end; }
.cta-rad .ingress { margin-top: 1rem; }
.cta-knapper { display: flex; flex-wrap: wrap; gap: 0.75rem; }
@media (min-width: 900px) { .cta-rad { grid-template-columns: minmax(0, 1.3fr) auto; column-gap: 4rem; } }
.andre-rad { display: grid; gap: 1rem; }
.andre-liste { display: grid; border-top: 1px solid var(--linje); }
.andre-lenke {
  display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 0;
  border-bottom: 1px solid var(--linje); text-decoration: none; font-size: clamp(1.15rem, 1.05rem + 0.4vw, 1.4rem);
}
.andre-lenke svg { width: 22px; height: 22px; flex: none; color: var(--bla); transition: transform 0.3s var(--mykt); }
.andre-lenke:hover svg { transform: translateX(4px); }
@media (min-width: 900px) {
  .andre-rad { grid-template-columns: minmax(0, 0.6fr) minmax(0, 1.4fr); column-gap: 4rem; align-items: start; }
  .andre-liste { grid-template-columns: 1fr 1fr; column-gap: 2.5rem; }
}


.om-side .fakta dd a { text-decoration: none; }
.godkjent-rad { display: grid; gap: 1.5rem; align-items: center; }
.godkjent-rad img { width: clamp(110px, 14vw, 160px); height: auto; border-radius: var(--radius); }
.godkjent-rad .lenke-pil { margin-top: 1.25rem; }
.godkjent-rad .ingress { margin-top: 1rem; }
@media (min-width: 768px) { .godkjent-rad { grid-template-columns: auto minmax(0, 1fr); column-gap: clamp(2rem, 5vw, 4rem); } }
.partner-blokk .lev-liste { margin-bottom: 1.5rem; }
.logoer { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(12rem, 100%), 1fr)); gap: 1rem; }
.logoer li { display: grid; place-items: center; min-height: 8rem; padding: 1.25rem 1.5rem; background: var(--hvit); border-radius: var(--radius); }
.logoer img { max-width: 100%; max-height: 4.25rem; width: auto; height: auto; }


.ko-side .seksjon-tittel { font-size: clamp(1.8rem, 1.2rem + 2vw, 2.8rem); }
.lesetekst { max-width: 44rem; display: grid; gap: clamp(1.75rem, 3vw, 2.5rem); }
.pv-del h2 { font-size: var(--str-h3); font-weight: 400; margin-bottom: 0.6rem; }
.pv-del p { color: var(--tekst-dempet); overflow-wrap: anywhere; }
.ikke-funnet { min-height: 70svh; display: grid; align-content: center; }
.ikke-funnet h1 { font-size: var(--str-h2); font-weight: var(--vekt-tittel); letter-spacing: var(--sporing-tittel); line-height: 1.04; }
.ikke-funnet .ingress { margin-top: 1rem; }


.underside .fagstoff { --flate: var(--hvit); }
.fagstoff p { color: var(--tekst-dempet); max-width: 30rem; }
.fag-rad { display: grid; gap: 1.5rem; }
.fag-liste { display: grid; border-top: 1px solid var(--linje); }
.fag-liste li { border-bottom: 1px solid var(--linje); }
.fag-lenke {
  display: grid; grid-template-columns: 6.5rem minmax(0, 1fr) auto; align-items: baseline; gap: 1rem;
  padding: 0.95rem 0; text-decoration: none;
}
.fag-nr { font-weight: 600; letter-spacing: 0.04em; color: var(--bla-tekst); font-variant-numeric: tabular-nums; }
.fag-navn { font-size: 1.1rem; line-height: 1.4; }
.fag-lenke svg { width: 22px; height: 22px; align-self: center; color: var(--bla); transition: transform 0.3s var(--mykt); }
.fag-lenke:hover svg { transform: translateX(4px); }
.fag-lenke:hover .fag-navn { text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 900px) { .fag-rad { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); column-gap: 4rem; align-items: start; } }
@media (max-width: 559px) {
  .fag-lenke { grid-template-columns: minmax(0, 1fr) auto; row-gap: 0.2rem; }
  .fag-nr { grid-column: 1 / -1; }
}


.underside .flere-blokk { --flate: var(--kalk); }
.flere-liste { display: grid; margin-top: 1.5rem; border-top: 1px solid var(--linje); }
.flere-liste li { border-bottom: 1px solid var(--linje); }
.flere-lenke { position: relative; display: grid; gap: 0.3rem; padding: 1.1rem 2.25rem 1.1rem 0; text-decoration: none; }
.flere-lenke::after {
  content: "\2192"; content: "\2192" / ""; position: absolute; right: 0.25rem; top: 1.1rem;
  color: var(--bla); transition: transform 0.3s var(--mykt);
}
.flere-lenke:hover::after { transform: translateX(4px); }
.flere-navn { font-size: var(--str-h3); font-weight: 400; letter-spacing: -0.015em; line-height: 1.22; }
.flere-tekst { color: var(--tekst-dempet); }
@media (min-width: 900px) {
  .flere-liste { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 2rem; border-top: 0; }
  .flere-liste li { border-top: 1px solid var(--linje); border-bottom: 0; }
}
.komplett { display: grid; gap: 0.5rem; margin-top: clamp(2rem, 4vw, 3rem); padding: clamp(1.25rem, 3vw, 2rem); background: var(--hvit); border-radius: var(--radius); }
.komplett h3 { font-size: var(--str-h3); font-weight: 400; }
.komplett p { color: var(--tekst-dempet); max-width: 44rem; }


.underside .fukt-blokk { --flate: var(--kalk); }
.fukt-blokk .lenke-pil { margin-top: 1.25rem; }
.fukt-blokk .blokk-hode + p { margin-top: 1rem; }
.underside .bilde-blokk { --flate: var(--dis); }
.bred-figur { margin: 0; }
.bred-figur img { width: 100%; height: auto; aspect-ratio: 2 / 1; object-fit: cover; border-radius: var(--radius); }


.underside .hybel-blokk { --flate: var(--dis); }
.hybel-blokk .to-kol { margin-top: clamp(1.5rem, 3vw, 2.25rem); }
.hybel-blokk .lenke-pil { margin-top: clamp(1.5rem, 3vw, 2rem); }


.enova-liste { display: grid; gap: 1rem; margin-top: clamp(1.5rem, 3vw, 2.25rem); }
.enova-liste li { display: grid; align-content: start; gap: 0.6rem; padding: clamp(1.25rem, 2.5vw, 1.75rem); background: var(--hvit); border-radius: var(--radius); }
.enova-liste h3 { font-size: var(--str-h3); font-weight: 400; letter-spacing: -0.015em; line-height: 1.22; }
.enova-liste p { color: var(--tekst-dempet); }
.enova-liste .lenke-pil { margin-top: 0.4rem; }
@media (min-width: 900px) { .enova-liste { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.vilkar-blokk .lenke-pil { margin-top: clamp(1.25rem, 2.5vw, 1.75rem); }
