/* ---------- Token ---------- */
.krv{
  --krv-papir:#ffffff;
  --krv-dis:#eef3f4;
  --krv-blekk:#1f2752;
  --krv-marine:#27327a;
  --krv-dempet:#565d72;
  --krv-sol:#e42f11;
  --krv-bolge:#a9c825;
  --krv-linje:#d6dee2;
  --krv-serif:"Newsreader",Georgia,"Times New Roman",serif;
  --krv-sans:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --krv-bredde:1240px;
  --krv-kant:clamp(16px,4vw,40px);
  --krv-luft:clamp(4rem,9vw,8rem);
  font-family:var(--krv-sans);
  font-size:1.0625rem;
  line-height:1.65;
  color:var(--krv-blekk);
  background:var(--krv-papir);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
@media (min-width:900px){.krv{font-size:1.125rem}}
.krv,.krv *,.krv *::before,.krv *::after{box-sizing:border-box}

/* ---------- Skjold mot kundens CSS ---------- */
.krv :where(h1,h2,h3,h4,h5,h6):not(#krv-skjold):not(#krv-skjold){font-family:var(--krv-serif);font-weight:400;font-style:normal;line-height:1.12;letter-spacing:-.005em;color:var(--krv-marine);text-transform:none;text-align:inherit;background:none;border:0;padding:0;margin:0;overflow-wrap:normal;text-wrap:balance}
.krv :where(figcaption,address,summary,blockquote){font:inherit;color:inherit;text-transform:none;letter-spacing:inherit;margin:0;padding:0}
.krv :where(img,svg){border:0;box-shadow:none;border-radius:0;padding:0;background:none;max-width:100%}
.krv :where(img){display:block;height:auto}
.krv :where(figure){margin:0;padding:0}
.krv :where(a){color:var(--krv-marine);background:none;border:0;box-shadow:none;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
.krv :where(a:hover){text-decoration-thickness:2px}
/* CMS-skjold: ID-løftet :not(#krv-skjold):not(#krv-skjold) (2,0,0) slår publiseringsløsningens stiler for lister, tabeller
   og avsnitt i tekstblokker. Alle regler som treffer disse elementene har samme løft (se CLAUDE.md). */
.krv :where(ul,ol):not(#krv-skjold):not(#krv-skjold){margin:0;padding:0;padding-inline-start:0 !important;list-style:none !important;color:inherit;text-align:inherit;text-indent:0}
.krv :where(li):not(#krv-skjold):not(#krv-skjold){display:block;margin:0;padding:0;list-style:none !important;font:inherit;color:inherit;text-transform:none;letter-spacing:inherit;text-indent:0;background:none;border:0}
.krv :where(li):not(#krv-skjold):not(#krv-skjold)::marker{content:none}
.krv :where(p):not(#krv-skjold):not(#krv-skjold){margin:0;padding:0;font:inherit;font-weight:inherit !important;color:inherit;text-transform:none;letter-spacing:inherit;text-indent:0;position:static;width:auto;background:none;border:0}
.krv :where(table):not(#krv-skjold):not(#krv-skjold){border-collapse:collapse;border-spacing:0;border:0;background:none;box-shadow:none;margin:0;width:100%;max-width:none;overflow:visible}
.krv :where(thead,tbody,tfoot,tr):not(#krv-skjold):not(#krv-skjold){background:none;border:0;box-shadow:none;font:inherit;color:inherit}
.krv :where(td,th):not(#krv-skjold):not(#krv-skjold){border:0;padding:0;background:none;box-shadow:none;font:inherit;color:inherit;vertical-align:top;text-align:inherit;width:auto;word-break:normal}
.krv :where(caption):not(#krv-skjold):not(#krv-skjold){font:inherit;color:inherit;text-align:inherit;padding:0;margin:0}



























.krv :where(strong,b){font-weight:600}
.krv :where(small){font-size:inherit}
.krv :where(a,summary):focus-visible{outline:3px solid var(--krv-sol);outline-offset:3px;border-radius:2px}

/* ---------- Felles ---------- */
.krv .krv-ramme{width:100%;max-width:var(--krv-bredde);margin-inline:auto;padding-inline:var(--krv-kant)}
.krv .krv-ikon{width:1.5rem;height:1.5rem;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.krv .krv-knapp{display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 1.4rem;border-radius:4px;background:var(--krv-marine);color:var(--krv-papir);font-family:var(--krv-sans);font-weight:600;font-size:1rem;line-height:1.2;text-decoration:none !important;transition:background-color .2s}
.krv .krv-knapp:hover{background:var(--krv-blekk);color:var(--krv-papir)}
.krv .krv-knapp .krv-ikon{width:1.25rem;height:1.25rem;stroke-width:2}

/* ---------- Hopp til innhold ---------- */
.krv.krv-hopp{position:absolute;left:var(--krv-kant);top:-100px;z-index:100;padding:.6rem 1rem;background:var(--krv-marine);color:var(--krv-papir);font-weight:600;text-decoration:none !important;border-radius:4px}
.krv.krv-hopp:focus{top:12px}

/* ---------- Topp ---------- */
.krv-topp{border-block-end:1px solid var(--krv-linje)}
.krv .krv-topp-indre{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 2rem;padding-block:.75rem}
.krv .krv-logo{display:block;flex:none}
.krv .krv-logo img{width:150px;height:auto}
.krv .krv-meny ul:not(#krv-skjold):not(#krv-skjold){display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}
.krv .krv-meny a{display:block;padding-block:.35rem;font-size:.95rem;font-weight:500;color:var(--krv-blekk);text-decoration:none !important}
.krv .krv-meny a:hover{color:var(--krv-marine);text-decoration:underline !important}
.krv .krv-meny a[aria-current="page"]{color:var(--krv-marine);text-decoration-line:underline !important;text-decoration-color:var(--krv-sol);text-decoration-thickness:2px}

/* ---------- Intro ---------- */
.krv-intro{padding-block-end:calc(var(--krv-luft) * .6)}
.krv .krv-intro-bilde img{width:100%;height:clamp(300px,64vh,700px);object-fit:cover;object-position:50% 60%}
.krv .krv-intro-bilde figcaption{max-width:var(--krv-bredde);margin-inline:auto;padding:.6rem var(--krv-kant) 0;font-size:.85rem;color:var(--krv-dempet);text-align:end}
.krv .krv-intro-grid{display:grid;gap:2rem 4rem;padding-block-start:clamp(2.5rem,6vw,5rem)}
.krv.krv-intro h1:not(#krv-skjold):not(#krv-skjold){font-size:clamp(2.6rem,7vw,5rem);line-height:1.02;letter-spacing:-.015em;max-width:11ch}
.krv .krv-intro-tekst{max-width:38rem}
.krv .krv-intro-tekst p:not(#krv-skjold):not(#krv-skjold){margin-block-end:1.1em}
.krv .krv-intro-tekst p.krv-ingress:not(#krv-skjold):not(#krv-skjold){font-family:var(--krv-serif);font-size:clamp(1.3rem,2.4vw,1.55rem);line-height:1.45;color:var(--krv-marine)}
.krv .krv-praktisk:not(#krv-skjold):not(#krv-skjold){display:grid;gap:.9rem;margin-block:2rem 2.25rem;padding-block-start:1.5rem;border-block-start:1px solid var(--krv-linje)}
.krv .krv-praktisk li:not(#krv-skjold):not(#krv-skjold){display:flex;gap:.9rem;align-items:flex-start;font-size:1rem;line-height:1.5}
.krv .krv-praktisk .krv-ikon{color:var(--krv-marine);margin-block-start:-.05rem}
.krv .krv-intro-bilder{display:grid;gap:1rem;margin-block-start:clamp(3rem,7vw,5.5rem)}
.krv .krv-intro-bilder figcaption,.krv .krv-etappe figcaption{margin-block-start:.55rem;font-size:.85rem;line-height:1.4;color:var(--krv-dempet)}
@media (min-width:900px){
  .krv .krv-intro-grid{grid-template-columns:5fr 7fr;align-items:start}
  .krv.krv-intro h1:not(#krv-skjold):not(#krv-skjold){position:sticky;top:2rem}
  .krv .krv-intro-bilder{grid-template-columns:7fr 5fr;align-items:end;gap:1.5rem}
  .krv .krv-intro-bilder figure:last-child{margin-block-end:4rem}
}

/* ---------- Ruten (signaturelementet: veilinjen) ---------- */
.krv-ruten{padding-block:calc(var(--krv-luft) * .6) var(--krv-luft)}
.krv .krv-ruten-overskrift{margin-block-end:clamp(2.5rem,6vw,4.5rem);max-width:40rem}
.krv .krv-ruten-overskrift h2:not(#krv-skjold):not(#krv-skjold){font-size:clamp(2rem,4.5vw,3.1rem)}
.krv .krv-vei{--krv-skinne:40px;position:relative;padding-inline-start:var(--krv-skinne)}
.krv .krv-vei::before{content:"";position:absolute;inset-inline-start:9px;top:.9rem;bottom:.9rem;width:3px;border-radius:2px;background:var(--krv-bolge)}
.krv .krv-endepunkt:not(#krv-skjold):not(#krv-skjold){position:relative;font-family:var(--krv-serif);font-size:1.3rem;line-height:1.4;color:var(--krv-marine)}
.krv .krv-endepunkt:not(#krv-skjold):not(#krv-skjold)::before{content:"";position:absolute;inset-inline-start:calc(var(--krv-skinne) * -1);top:.35rem;width:21px;height:21px;border-radius:50%;background:var(--krv-papir);border:3px solid var(--krv-marine)}
.krv .krv-endepunkt small{display:block;font-family:var(--krv-sans);font-size:.85rem;color:var(--krv-dempet)}
.krv .krv-etapper:not(#krv-skjold):not(#krv-skjold){display:grid;gap:clamp(4rem,9vw,7rem);margin-block:clamp(3rem,7vw,5.5rem)}
.krv .krv-etappe:not(#krv-skjold):not(#krv-skjold){position:relative;display:grid;gap:1.75rem 4rem}
.krv .krv-etappe-tittel:not(#krv-skjold):not(#krv-skjold){position:relative}
.krv .krv-etappe-tittel:not(#krv-skjold):not(#krv-skjold)::before{content:"";position:absolute;inset-inline-start:calc(var(--krv-skinne) * -1 - 1px);top:calc(.56em - 11px);width:23px;height:23px;border-radius:50%;background:var(--krv-sol);box-shadow:0 0 0 5px var(--krv-papir)}
.krv .krv-etappe h3:not(#krv-skjold):not(#krv-skjold){font-size:clamp(1.9rem,4vw,2.9rem);margin-block-end:1.1rem}
.krv .krv-etappe-tekst{max-width:36rem}
.krv .krv-etappe-tekst > p:not(.krv-underveis):not(#krv-skjold):not(#krv-skjold){margin-block-end:1.5rem}
.krv .krv-underveis:not(#krv-skjold):not(#krv-skjold){font-size:.9rem;font-weight:500 !important;color:var(--krv-dempet);margin-block-end:.4rem}
.krv .krv-steder:not(#krv-skjold):not(#krv-skjold){display:flex;flex-wrap:wrap;gap:.4rem .5rem}
.krv .krv-steder li:not(#krv-skjold):not(#krv-skjold){padding:.2rem .7rem;border:1px solid var(--krv-linje);border-radius:3px;font-size:.95rem;line-height:1.4;color:var(--krv-blekk)}
.krv .krv-polar:not(#krv-skjold):not(#krv-skjold){grid-column:1/-1;position:relative;margin-block-end:clamp(1.5rem,4vw,3rem);padding-block-start:.7rem;border-block-start:1px dashed var(--krv-marine);font-size:.95rem;font-weight:500 !important;color:var(--krv-marine)}
.krv .krv-polar:not(#krv-skjold):not(#krv-skjold)::before{content:"";position:absolute;inset-inline-start:calc(var(--krv-skinne) * -1);top:-1px;width:var(--krv-skinne);border-block-start:1px dashed var(--krv-marine)}
@media (min-width:700px){
  .krv .krv-vei{--krv-skinne:72px}
  .krv .krv-vei::before{inset-inline-start:24px}
  .krv .krv-endepunkt:not(#krv-skjold):not(#krv-skjold)::before{inset-inline-start:calc(var(--krv-skinne) * -1 + 15px)}
  .krv .krv-etappe-tittel:not(#krv-skjold):not(#krv-skjold)::before{inset-inline-start:calc(var(--krv-skinne) * -1 + 14px)}
}
@media (min-width:1000px){
  .krv .krv-etappe:not(#krv-skjold):not(#krv-skjold){grid-template-columns:5fr 6fr;align-items:start}
  .krv .krv-etappe figure{margin-block-start:.6rem}
  .krv .krv-etappe-midt figure{max-width:30rem}
}

/* ---------- Turer ---------- */
.krv-turer{padding-block:var(--krv-luft);background:var(--krv-dis)}
.krv .krv-turer-hode{display:grid;gap:1rem 4rem;margin-block-end:clamp(2.5rem,5vw,3.5rem)}
.krv.krv-turer h2:not(#krv-skjold):not(#krv-skjold){font-size:clamp(2rem,4.5vw,3.1rem)}
.krv .krv-turer-hode p:not(#krv-skjold):not(#krv-skjold){max-width:34rem}
.krv .krv-turliste:not(#krv-skjold):not(#krv-skjold){display:grid;gap:0 2.5rem}
.krv .krv-tur:not(#krv-skjold):not(#krv-skjold){position:relative;display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;padding-block:1.6rem;border-block-start:1px solid #c5d0d4;align-content:start}
.krv .krv-tur > svg{grid-row:span 2;width:2rem;height:2rem;color:var(--krv-marine);margin-block-start:.1rem}
.krv .krv-tur h3:not(#krv-skjold):not(#krv-skjold){font-size:1.45rem;line-height:1.25}
.krv .krv-tur h3 a{text-decoration:none !important}
.krv .krv-tur h3 a::after{content:"";position:absolute;inset:0}
.krv .krv-tur:hover h3 a{text-decoration:underline 2px var(--krv-sol) !important}
.krv .krv-tur p:not(#krv-skjold):not(#krv-skjold){font-size:1rem;line-height:1.55;color:var(--krv-blekk)}
@media (min-width:700px){
  .krv .krv-turliste:not(#krv-skjold):not(#krv-skjold){grid-template-columns:1fr 1fr}
}
@media (min-width:1100px){
  .krv .krv-turer-hode{grid-template-columns:5fr 7fr;align-items:end}
  .krv .krv-turliste:not(#krv-skjold):not(#krv-skjold){grid-template-columns:repeat(4,1fr)}
  .krv .krv-tur:not(#krv-skjold):not(#krv-skjold){grid-template-columns:1fr;gap:.6rem}
  .krv .krv-tur > svg{grid-row:auto;margin-block-end:.5rem}
}

/* ---------- Bunn ---------- */
.krv-bunn{padding-block:clamp(3rem,7vw,5rem) 2rem;background:var(--krv-blekk);color:#e8ebf4}
.krv.krv-bunn a{color:var(--krv-papir)}
.krv.krv-bunn :where(a):focus-visible{outline-color:var(--krv-bolge)}
.krv .krv-bunn-merke:not(#krv-skjold):not(#krv-skjold){display:flex;align-items:center;gap:.9rem;margin-block-end:2.5rem;font-family:var(--krv-serif);font-size:1.5rem;color:var(--krv-papir)}
.krv .krv-bunn-merke svg{width:44px;height:44px}
.krv .krv-bunn-kolonner{display:grid;gap:2rem 3rem}
.krv.krv-bunn h2:not(#krv-skjold):not(#krv-skjold){font-family:var(--krv-sans);font-size:.95rem;font-weight:600;line-height:1.4;color:var(--krv-papir);margin-block-end:.6rem}
.krv.krv-bunn address{font-style:normal;font-size:1rem;line-height:1.7}
.krv.krv-bunn address p:not(#krv-skjold):not(#krv-skjold){margin:0}
.krv .krv-bunn-sist:not(#krv-skjold):not(#krv-skjold){margin-block-start:3rem;padding-block-start:1.25rem;border-block-start:1px solid rgba(255,255,255,.18);font-size:.875rem;color:#c4c9da}
@media (min-width:800px){.krv .krv-bunn-kolonner{grid-template-columns:repeat(3,1fr)}}

@media (prefers-reduced-motion:reduce){
  .krv *,.krv *::before,.krv *::after{transition:none !important;animation:none !important}
}