/* vestfjordene.com — «feltnotater»: kjørebok, topografi og billetter. Kun hele, avrundede rammer. */
@font-face{font-family:"Bitter";src:url(/fonter/bitter-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Bitter";src:url(/fonter/bitter-800-normal.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(/fonter/source-serif-4-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(/fonter/source-serif-4-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(/fonter/source-serif-4-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Red Hat Mono";src:url(/fonter/red-hat-mono-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Red Hat Mono";src:url(/fonter/red-hat-mono-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}

:root{
  --skifer-900:#1C2B36;--skifer-700:#2E4A5E;--skifer-500:#4F6B80;--skifer-300:#9DB2C1;--linje:#D3DEE6;
  --papir:#F5F2EA;--papir-2:#ECE7DA;--papir-3:#E3DCCB;--blekk:#1A1F24;--tekst-2:#4F6B80;
  --signal:#E35F21;--signal-mork:#B8460F;--signal-lys:#FBE3D5;--mose:#4E6B45;--varsel:#E0A800;--stengt:#A8352B;
  --flate:#ECE7DA;--kort:#FBF9F3;--skygge:0 1px 2px rgba(28,43,54,.08),0 8px 24px -12px rgba(28,43,54,.28);
  --kart-hav:#E6ECEF;--kart-linje:#D3DEE6;--kart-land:#F5F2EA;--kart-kyst:#2E4A5E;--kart-kontur1:#C7D4DD;--kart-kontur2:#B3C4D0;--kart-is:#FFFFFF;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;--slab:"Bitter",Georgia,serif;--mono:"Red Hat Mono",ui-monospace,Consolas,monospace;
  --r:14px;--maal:44rem;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --papir:#121A21;--papir-2:#1B2630;--papir-3:#24323E;--blekk:#E8E4D9;--tekst-2:#A9B6C0;--skifer-700:#8FB0C8;--skifer-500:#A9B6C0;
  --linje:rgba(157,178,193,.14);--signal:#F07A3F;--signal-mork:#F07A3F;--signal-lys:#3A2418;--flate:#1B2630;--kort:#1B2630;
  --skygge:0 1px 2px rgba(0,0,0,.3),0 10px 28px -14px rgba(0,0,0,.7);
  --kart-hav:#16212A;--kart-linje:#1F2C37;--kart-land:#24323E;--kart-kyst:#8FB0C8;--kart-kontur1:#22303B;--kart-kontur2:#2A3A47;--kart-is:#3B4C5A;
  color-scheme:dark}}
:root[data-theme="dark"]{--papir:#121A21;--papir-2:#1B2630;--papir-3:#24323E;--blekk:#E8E4D9;--tekst-2:#A9B6C0;--skifer-700:#8FB0C8;--skifer-500:#A9B6C0;
  --linje:rgba(157,178,193,.14);--signal:#F07A3F;--signal-mork:#F07A3F;--signal-lys:#3A2418;--flate:#1B2630;--kort:#1B2630;
  --kart-hav:#16212A;--kart-linje:#1F2C37;--kart-land:#24323E;--kart-kyst:#8FB0C8;--kart-kontur1:#22303B;--kart-kontur2:#2A3A47;--kart-is:#3B4C5A;color-scheme:dark}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:5rem}
body{margin:0;background:var(--papir);color:var(--blekk);font:400 1.125rem/1.62 var(--serif);font-feature-settings:"onum" 0,"kern" 1;overflow-x:hidden}
@media (min-width:1100px){body{font-size:1.1875rem}}
img{max-width:100%;height:auto;display:block}
a{color:var(--skifer-700);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--signal-mork);text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--signal);outline-offset:3px;border-radius:4px}
.mono{font-family:var(--mono);font-size:.82em;letter-spacing:.02em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hopp{position:absolute;left:-999px;top:0;background:var(--signal);color:var(--blekk);padding:.6rem 1rem;z-index:99}
.hopp:focus{left:1rem}
h1,h2,h3,h4{font-family:var(--slab);font-weight:800;line-height:1.15;color:var(--blekk);letter-spacing:-.01em}
h2{font-size:clamp(1.55rem,3.2vw,2.1rem);margin:2.6rem 0 .8rem}
h3{font-size:1.28rem;font-weight:700;margin:1.9rem 0 .5rem}
h4{font-size:1.05rem;font-weight:700}

/* ---------- toppen */
.topp{background:#1C2B36;color:#F5F2EA;position:sticky;top:0;z-index:40;box-shadow:0 2px 0 rgba(0,0,0,.08)}
.topp-indre{max-width:1240px;margin:0 auto;padding:.55rem 1.25rem;display:flex;align-items:center;gap:1rem;justify-content:space-between}
.logo{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:.6rem;align-items:center;color:#F5F2EA;text-decoration:none}
.logo:hover{color:#fff}
.logo-ik{width:34px;height:34px;grid-row:1/3}
.logo-ord{font:800 1.3rem/1 var(--slab);letter-spacing:-.01em}
.logo-koord{font-size:.66rem;color:#9DB2C1;letter-spacing:.08em}
.hovedmeny ul{list-style:none;margin:0;padding:0;display:flex;gap:.2rem;flex-wrap:wrap}
.hovedmeny a{display:inline-flex;align-items:center;min-height:44px;padding:0 .75rem;color:#F5F2EA;text-decoration:none;font:600 .78rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;border-radius:999px}
.hovedmeny a:hover,.hovedmeny a[aria-current]{background:rgba(245,242,234,.12);color:#fff}
.hovedmeny a[aria-current]{box-shadow:inset 0 -3px 0 #E35F21}
.spraak{margin:0;color:#9DB2C1;font-size:.68rem}
.spraak [aria-current]{color:#F5F2EA;font-weight:600}
.meny-knapp{display:none}
@media (min-width:1101px){.hovedmeny{display:flex;align-items:center;gap:1rem}}
@media (max-width:1100px){
  .meny-knapp{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(245,242,234,.35);border-radius:12px;color:#F5F2EA;cursor:pointer}
  .meny-strek,.meny-strek::before,.meny-strek::after{display:block;width:20px;height:2px;background:#F5F2EA;position:relative;content:""}
  .meny-strek::before{position:absolute;top:-6px}.meny-strek::after{position:absolute;top:6px}
  .hovedmeny{display:none;position:absolute;left:0;right:0;top:100%;background:#1C2B36;padding:.5rem 1.25rem 1.2rem}
  .hovedmeny.apen{display:block}
  .hovedmeny ul{flex-direction:column}
  .hovedmeny a{width:100%;font-size:.9rem}
  .spraak{margin-top:.6rem}
}

/* ---------- hero og tittel */
.hoved{padding-bottom:3rem}
.hero{margin:0;position:relative;background:#1C2B36}
.hero img{width:100%;height:min(64vh,620px);min-height:280px;object-fit:cover}
.ramme{max-width:1180px;margin:0 auto;padding:0 1.25rem}
.brodsmuler ol{list-style:none;display:flex;flex-wrap:wrap;gap:.2rem .5rem;padding:0;margin:1rem 0 .4rem;font:400 .74rem/1.5 var(--mono);color:var(--tekst-2)}
.brodsmuler li+li::before{content:"›";margin-right:.5rem;color:var(--skifer-300)}
.brodsmuler a{color:var(--tekst-2)}
.tittelblokk{position:relative;max-width:52rem;background:var(--kort);border-radius:var(--r);padding:1.4rem 1.4rem 1.1rem;box-shadow:var(--skygge);
  background-image:repeating-linear-gradient(to bottom,transparent 0 31px,var(--linje) 31px 32px);background-position:0 12px}
.hero+.ramme .tittelblokk{margin-top:-5.5rem}
.hero+.ramme .brodsmuler{position:relative;z-index:2;margin:0;transform:translateY(-6.9rem);color:#fff}
.hero+.ramme .brodsmuler ol{display:inline-flex;background:rgba(28,43,54,.72);padding:.25rem .7rem;border-radius:999px;margin:0;color:#D3DEE6}
.hero+.ramme .brodsmuler a{color:#F5F2EA}
.hero+.ramme .tittelblokk{margin-top:-4.6rem}
.kicker{margin:0 0 .4rem;color:var(--signal-mork);font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem}
.tittelblokk h1{font-size:clamp(2rem,5.2vw,3.5rem);margin:0 0 .5rem;line-height:1.06}
.koord{margin:0 0 .6rem;color:var(--tekst-2);font-size:.78rem}
.ingress{font-size:1.18em;line-height:1.5;margin:.2rem 0 .8rem;max-width:44rem}
.oppdatert{margin:0;color:var(--tekst-2);font-size:.72rem}
@media (min-width:900px){.tittelblokk{padding:2rem 2.4rem 1.5rem}.hero+.ramme .tittelblokk{margin-top:-7rem}}

/* ---------- etappestripe */
.etappestripe{margin:1.6rem 0 .4rem;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.etappestripe ol{list-style:none;margin:0;padding:.4rem .2rem 0;display:flex;min-width:max-content;
  background-image:linear-gradient(90deg,var(--signal) 0 10px,transparent 10px 18px);background-size:18px 3px;background-repeat:repeat-x;background-position:0 2.15rem}
.node{display:grid;justify-items:center;gap:.25rem;padding:0 1.1rem;min-width:7.5rem;text-align:center}
.node .km{color:var(--tekst-2);font-size:.7rem}
.node .prikk{width:16px;height:16px;border-radius:50%;background:var(--papir);box-shadow:0 0 0 3px var(--skifer-700)}
.node.her .prikk{width:22px;height:22px;background:var(--signal);box-shadow:0 0 0 4px var(--papir),0 0 0 6px var(--signal)}
.node .navn{font:700 .92rem/1.2 var(--slab)}
.node.her .navn{color:var(--signal-mork)}
.ikoner{display:flex;gap:.25rem;min-height:1.2rem;font-size:.85rem}
.ik-grus{font:600 .6rem/1 var(--mono);background:var(--varsel);color:#1A1F24;padding:.2rem .3rem;border-radius:4px;align-self:center}
.stripe-merk{color:var(--tekst-2);margin:.5rem 0 0;font-size:.72rem}

/* ---------- knapper */
.knapp{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.7rem 1.4rem;border-radius:999px;background:var(--signal);color:#1A1F24;
  font:700 1rem/1.1 var(--slab);text-decoration:none;box-shadow:0 2px 0 rgba(0,0,0,.18);transition:transform .15s,background .15s,color .15s;text-align:center}
.knapp:hover{background:#B8460F;color:#fff;transform:translateY(-1px)}
.knapp-stor{min-height:54px;font-size:1.1rem;padding:.8rem 1.6rem;width:100%}
.knapp-liten{min-height:48px;padding:.5rem 1rem;font-size:.9rem;white-space:nowrap}

/* ---------- booking: billetten */
.booking{margin:2rem 0 1rem}
.billett{--stubb:300px;display:grid;grid-template-columns:1fr;background:#1C2B36;color:#F5F2EA;border-radius:18px;box-shadow:var(--skygge);overflow:hidden;position:relative}
.billett-hoved{padding:1.5rem 1.4rem 1rem;background-image:radial-gradient(circle at 92% 18%,rgba(227,95,33,.18),transparent 45%)}
.billett-kicker{margin:0 0 .4rem;color:#F2A57D;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem}
.billett-tittel{color:#F5F2EA;font-size:clamp(1.35rem,3vw,1.8rem);margin:0 0 .5rem}
.billett-for{margin:0 0 .8rem;color:#D3DEE6}
.billett-fakta,.produkt-fakta{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.4rem}
.billett-fakta li{font:400 .76rem/1 var(--mono);padding:.45rem .6rem;border-radius:6px;background:rgba(245,242,234,.1);color:#F5F2EA}
.billett-stubb{padding:1.2rem 1.4rem 1.4rem;display:grid;gap:.6rem;align-content:center;background:#24394A}
.pris-stor{font:800 2rem/1 var(--slab);color:#fff}
.billett .vurd{color:#F5F2EA}
.sjekket{font-size:.66rem;color:#9DB2C1}
@media (min-width:760px){
  .billett{grid-template-columns:1fr var(--stubb);
    -webkit-mask:radial-gradient(circle 15px at calc(100% - var(--stubb)) 0,transparent 96%,#000 100%) top/100% 51% no-repeat,radial-gradient(circle 15px at calc(100% - var(--stubb)) 100%,transparent 96%,#000 100%) bottom/100% 51% no-repeat;
            mask:radial-gradient(circle 15px at calc(100% - var(--stubb)) 0,transparent 96%,#000 100%) top/100% 51% no-repeat,radial-gradient(circle 15px at calc(100% - var(--stubb)) 100%,transparent 96%,#000 100%) bottom/100% 51% no-repeat}
  .billett-hoved{padding:2rem 2rem 1.6rem}
  .billett-stubb{padding:1.6rem}
}

/* ---------- produktkort */
.booking,.tekst,.seksjon{container-type:inline-size}
.produkt-rad{display:grid;gap:1rem;margin:1.2rem 0;grid-template-columns:1fr}
@container (min-width:720px){.produkt-rad{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}
.produkt{background:var(--kort);border-radius:var(--r);overflow:hidden;box-shadow:var(--skygge);display:grid;grid-template-rows:auto 1fr}
.produkt-foto{position:relative;margin:0}
.produkt-foto img{width:100%;aspect-ratio:3/2;object-fit:cover}
.merke{position:absolute;left:.7rem;top:.7rem;background:var(--signal);color:#1A1F24;font:600 .7rem/1 var(--mono);padding:.35rem .5rem;border-radius:6px;letter-spacing:.05em;text-transform:uppercase}
.produkt-tekst{padding:.7rem 1rem 1.1rem;display:grid;gap:.5rem;align-content:start}
.produkt-tittel{margin:0;font-size:1.12rem}
.produkt-for{margin:0;font-size:.95rem;color:var(--tekst-2)}
.produkt-fakta li{font:400 .7rem/1 var(--mono);padding:.4rem .5rem;border-radius:6px;background:var(--papir-2);color:var(--blekk)}
.produkt-bunn{display:flex;flex-wrap:wrap;gap:.3rem .8rem;align-items:baseline;margin-top:.2rem}
.pris{font:800 1.25rem/1 var(--slab)}
.vurd{font:600 .78rem/1.2 var(--mono);color:var(--blekk)}
.vurd .ant{font-weight:400;color:var(--tekst-2)}
.billett .vurd .ant{color:#9DB2C1}
.produkt .knapp{justify-self:stretch;width:100%;margin-top:.3rem}
.produkt-enkel{margin:1.6rem 0}
@container (min-width:620px){.produkt-enkel .produkt{grid-template-columns:minmax(220px,40%) 1fr;grid-template-rows:auto}.produkt-enkel .produkt-foto img{height:100%;aspect-ratio:auto;min-height:220px}}

/* ---------- artikkel */
.artikkel{max-width:var(--maal);margin:0 auto}
.type-forside .artikkel{max-width:none}
.tekst>p,.tekst li{hyphens:auto}
.tekst ul,.tekst ol{padding-left:1.3rem}
.tekst li{margin:.25rem 0}
.tekst li::marker{color:var(--signal-mork);font-family:var(--mono)}
.toc{background:var(--papir-2);border-radius:var(--r);padding:1rem 1.2rem;margin:1.8rem 0}
.toc-hode{margin:0 0 .4rem;font-weight:600;letter-spacing:.12em;color:var(--tekst-2);font-size:.7rem}
.toc ol{margin:0;padding-left:1.4rem;columns:2 16rem;column-gap:2rem;font-size:.95rem}
.toc li{break-inside:avoid}
.sitat{font:italic 400 1.3rem/1.45 var(--serif);color:var(--skifer-700);margin:2rem 0;padding:0 1rem;text-align:center}

/* figurer */
.foto{margin:2rem 0}
.foto img{width:100%;border-radius:10px;background:var(--papir-2)}
.foto figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.2rem 1rem;margin-top:.45rem;font:400 .72rem/1.45 var(--mono);color:var(--tekst-2)}
.foto .bt{color:var(--blekk)}
.foto .kred a{color:var(--tekst-2)}
@media (min-width:1100px){.foto.bred{margin-left:-7rem;margin-right:-7rem}}
.galleri{display:grid;gap:1rem;margin:2rem 0}
@media (min-width:700px){.galleri{grid-template-columns:repeat(2,1fr)}.galleri .foto{margin:0}.galleri .foto img{aspect-ratio:4/3;object-fit:cover}}

/* feltnotat, fakta, bokser */
.feltnotat{margin:2rem 0;padding:1.1rem 1.3rem .4rem;border-radius:var(--r);border:1.5px dashed var(--skifer-300);
  background:var(--kort) repeating-linear-gradient(to bottom,transparent 0 28px,var(--linje) 28px 29px);background-position:0 2.2rem}
.feltnotat-hode{margin:0 0 .5rem;font-weight:600;letter-spacing:.1em;color:var(--signal-mork);font-size:.72rem;text-transform:uppercase}
.feltnotat p{margin:.2rem 0 .9rem;line-height:29px}
.fakta{margin:2rem 0;background:#1C2B36;color:#F5F2EA;border-radius:var(--r);padding:1.2rem 1.3rem}
.fakta-hode{margin:0 0 .7rem;letter-spacing:.14em;color:#F2A57D;font-weight:600;font-size:.72rem}
.fakta dl{margin:0;display:grid;gap:.1rem}
.fakta dl>div{display:grid;grid-template-columns:minmax(7.5rem,34%) 1fr;gap:.8rem;padding:.45rem 0;background-image:linear-gradient(90deg,rgba(245,242,234,.18),rgba(245,242,234,.18));background-size:100% 1px;background-repeat:no-repeat;background-position:0 100%}
.fakta dt{font:600 .74rem/1.5 var(--mono);color:#9DB2C1;text-transform:uppercase;letter-spacing:.05em}
.fakta dd{margin:0;font-size:.98rem}
.fakta a{color:#F2C3A8}
.boks{margin:2rem 0;background:var(--papir-2);border-radius:var(--r);padding:1.1rem 1.3rem .3rem}
.boks-hode{font:700 1.05rem/1.3 var(--slab);margin:0 0 .5rem}
.uten-bil{margin:2rem 0;background:var(--papir-2);border-radius:var(--r);padding:1rem 1.3rem;display:grid;gap:.2rem}
.uten-bil p{margin:0}
.uten-bil .mono{color:var(--signal-mork);font-weight:600;letter-spacing:.12em}
.cta-tekst{margin:1.8rem 0;background:var(--signal-lys);border-radius:var(--r);padding:1.1rem 1.3rem}
.cta-tekst p{margin:0 0 .6rem}
.cta-linje{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem}

/* tabeller */
.tabell-wrap{overflow-x:auto;margin:1.6rem 0;border-radius:var(--r);background:var(--kort);box-shadow:var(--skygge)}
table{border-collapse:collapse;width:100%;font-size:.95rem}
caption{caption-side:top;text-align:left;font:400 .72rem/1.4 var(--mono);color:var(--tekst-2);padding:.8rem 1rem 0}
th,td{padding:.65rem .9rem;text-align:left;vertical-align:top}
thead th{font:600 .7rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--tekst-2);background:var(--papir-2)}
tbody tr:nth-child(even){background:var(--papir-2)}
tbody th{font-weight:600}
.sammenlign .td-knapp{white-space:nowrap;text-align:right}
@media (min-width:1100px){.tekst .sammenlign{margin-left:-7rem;margin-right:-7rem}}
@media (max-width:760px){.sammenlign{background:transparent;box-shadow:none;overflow:visible}.sammenlign table,.sammenlign tbody,.sammenlign tr,.sammenlign th,.sammenlign td{display:block;width:100%}.sammenlign thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.sammenlign caption{display:block;padding:0 0 .6rem}.sammenlign tr{background:var(--kort)!important;border-radius:var(--r);box-shadow:var(--skygge);margin:0 0 .9rem;padding:.4rem .2rem .8rem}.sammenlign tbody th{font:700 1.05rem/1.3 var(--slab);padding:.6rem .9rem .3rem}.sammenlign td{padding:.2rem .9rem;display:flex;gap:.6rem}.sammenlign td[data-label]::before{content:attr(data-label);font:600 .7rem/1.6 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--tekst-2);min-width:6.5rem}.sammenlign .td-knapp{padding-top:.6rem;text-align:center;display:block}.sammenlign .td-knapp .knapp{width:100%}}

/* kart */
.kart-fig{margin:2rem 0}
.kart-svg{width:100%;height:auto;border-radius:var(--r);box-shadow:var(--skygge);background:var(--kart-hav)}
.kart-svg .pkt{fill:var(--papir);stroke:var(--skifer-700);stroke-width:2.5}
.kart-svg .pkt-her{fill:var(--signal);stroke:var(--papir);stroke-width:3}
.kart-svg .kt{font:500 21px var(--mono);fill:var(--blekk);paint-order:stroke;stroke:var(--kart-land);stroke-width:5px;stroke-linejoin:round}
.kart-svg .kt-her{font:700 24px var(--slab);fill:var(--signal-mork);paint-order:stroke;stroke:var(--kart-land);stroke-width:6px}
.kart-svg a:hover .kt{fill:var(--signal-mork);text-decoration:underline}
.kart-svg a:focus-visible .pkt{stroke:var(--signal);stroke-width:5}
.kart-svg .etappe-nr rect{fill:#1C2B36}
.kart-svg .etappe-nr text{font:600 15px var(--mono);fill:#F5F2EA}
.kart-svg .kt-kilde{font:400 14px var(--mono);fill:var(--tekst-2)}
.kart-fig figcaption{color:var(--tekst-2);margin-top:.5rem;font-size:.72rem}

/* i nærheten, neste, lenkekort */
.naer{margin:3rem auto 0;max-width:62rem}
.naer h2{margin-top:0}
.naer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.8rem}
.naer-kort,.lenkekort{display:grid;text-decoration:none;color:var(--blekk);background:var(--kort);border-radius:12px;overflow:hidden;box-shadow:var(--skygge);transition:transform .18s}
.naer-kort:hover,.lenkekort:hover{transform:translateY(-3px);color:var(--blekk)}
.naer-kort img{aspect-ratio:4/3;object-fit:cover;width:100%}
.naer-navn{font:700 1rem/1.2 var(--slab);padding:.55rem .7rem 0}
.naer-km{color:var(--tekst-2);padding:.1rem .7rem .7rem;font-size:.7rem}
.neste-nav{display:grid;gap:.8rem;margin:2rem auto 0;max-width:62rem}
@media (min-width:700px){.neste-nav{grid-template-columns:1fr 1fr}.neste-nav .neste-kort.neste{grid-column:2}}
.neste-kort{display:grid;gap:.2rem;padding:1rem 1.2rem;border-radius:var(--r);background:#1C2B36;color:#F5F2EA;text-decoration:none}
.neste-kort.neste{background:var(--signal);color:#1A1F24}
.neste-kort:hover{color:inherit;filter:brightness(1.06)}
.neste-kort .mono{opacity:.85;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.neste-navn{font:800 1.35rem/1.15 var(--slab)}
.neste-ingress{font-size:.92rem;opacity:.9}
.lenkekort-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));margin:1.4rem 0}
.lenkekort img{aspect-ratio:16/10;object-fit:cover;width:100%}
.lk-tekst{display:grid;gap:.25rem;padding:.75rem .9rem 1rem}
.lk-kicker{color:var(--signal-mork);text-transform:uppercase;letter-spacing:.1em;font-size:.66rem;font-weight:600}
.lk-tittel{font:800 1.15rem/1.15 var(--slab)}
.lk-ingress{font-size:.92rem;color:var(--tekst-2);line-height:1.45}

/* ---------- forside */
.forside-hero{background:#1C2B36;color:#F5F2EA;position:relative;overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.38;z-index:-1}
.forside-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,43,54,.35),rgba(28,43,54,.88));z-index:-1}
.forside-hero-indre{position:relative;max-width:1240px;margin:0 auto;padding:2.2rem 1.25rem 3rem;display:grid;gap:2rem;align-items:center}
@media (min-width:1000px){.forside-hero-indre{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);padding:3.5rem 1.25rem}}
.forside-hero h1{color:#F5F2EA;font-size:clamp(2.3rem,6vw,4.4rem);margin:.3rem 0 1rem;line-height:1.02}
.forside-hero .kicker{color:#F2A57D}
.forside-hero p{color:#D3DEE6;font-size:1.15rem;max-width:34rem}
.forside-hero .knapper{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}
.knapp-hul{background:transparent;color:#F5F2EA;box-shadow:inset 0 0 0 2px rgba(245,242,234,.6)}
.knapp-hul:hover{background:#F5F2EA;color:#1C2B36}
.forside-hero .kart-svg{box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.forside-hero .hero-statistikk{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:1.6rem;font:400 .76rem/1.3 var(--mono);color:#9DB2C1}
.hero-statistikk b{display:block;font:800 1.6rem/1 var(--slab);color:#F5F2EA}
.seksjon{max-width:1180px;margin:0 auto;padding:3rem 1.25rem 0}
.seksjon>h2{margin-top:0}
.seksjon-ingress{max-width:44rem;color:var(--tekst-2);margin-top:-.3rem}
.etapper{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));counter-reset:et;margin-top:1.4rem}
.etappe-ark{position:relative;background:var(--kort);border-radius:var(--r);padding:1.2rem 1.2rem 1rem;box-shadow:var(--skygge);
  background-image:repeating-linear-gradient(to bottom,transparent 0 27px,var(--linje) 27px 28px);background-position:0 3.6rem;text-decoration:none;color:var(--blekk);display:grid;gap:.3rem}
.etappe-ark:hover{color:var(--blekk);transform:translateY(-3px)}
.etappe-ark{transition:transform .18s}
.etappe-nr-stor{font:800 2.6rem/1 var(--slab);color:var(--signal)}
.etappe-ark h3{margin:.1rem 0;font-size:1.15rem}
.etappe-ark .mono{color:var(--tekst-2);font-size:.72rem}
.etappe-ark p{margin:.2rem 0 0;font-size:.95rem;line-height:28px}
.intro-tekst{max-width:var(--maal)}
.forside .tekst{max-width:var(--maal)}

/* ---------- sticky og popup */
.sticky{position:fixed;left:.6rem;right:.6rem;bottom:.6rem;z-index:50;display:flex;align-items:center;gap:.7rem;background:#1C2B36;color:#F5F2EA;
  padding:.55rem .55rem .55rem 1rem;border-radius:16px;box-shadow:0 12px 30px -10px rgba(0,0,0,.5);transform:translateY(140%);transition:transform .3s}
.sticky.vis{transform:none}
.sticky[hidden]{display:none}
.sticky-tekst{margin:0;flex:1;display:grid;line-height:1.2;min-width:0}
.sticky-tittel{font:700 .92rem/1.2 var(--slab);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sticky .mono{color:#F2A57D;font-size:.72rem}
.sticky .knapp{min-height:48px;padding:.5rem 1.1rem;font-size:.95rem}
.sticky-lukk,.popup-lukk{width:44px;height:44px;border:0;background:transparent;color:inherit;font-size:1.5rem;cursor:pointer;border-radius:10px}
@media (min-width:901px){.sticky{display:none!important}}
.popup{position:fixed;inset:0;z-index:60;background:rgba(18,26,33,.55);display:flex;align-items:flex-end;justify-content:center}
.popup[hidden]{display:none}
.popup-ark{background:var(--papir);color:var(--blekk);width:100%;max-width:30rem;border-radius:20px 20px 0 0;padding:0;overflow:hidden;position:relative;box-shadow:0 -10px 40px rgba(0,0,0,.3);animation:opp .3s ease-out;max-height:92vh;overflow-y:auto}
.popup-foto img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.popup-innhold{padding:1.1rem 1.4rem 1.5rem;text-align:center}
@media (min-width:700px){.popup{align-items:center}.popup-ark{border-radius:20px}}
@keyframes opp{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
.popup-lukk{position:absolute;right:.6rem;top:.6rem;background:rgba(28,43,54,.75);color:#fff;border-radius:50%}
.popup-tittel{font:800 1.45rem/1.2 var(--slab);margin:.2rem 0 .5rem}
.popup-prod{margin:0 0 1.1rem;color:var(--tekst-2);font-size:.98rem}
.popup-prod strong{color:var(--blekk);white-space:nowrap}
.knapp-popup{width:100%;max-width:22rem}

/* ---------- bunn */
.bunn{margin-top:4rem;background:#1C2B36;color:#D3DEE6;padding:2.5rem 1.25rem 1.5rem}
.bunn-indre{max-width:1180px;margin:0 auto;display:grid;gap:1.6rem}
@media (min-width:800px){.bunn-indre{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.bunn-logo{font:800 1.5rem/1 var(--slab);color:#F5F2EA;margin:0 0 .6rem}
.bunn p{font-size:.92rem}
.bunn .aff{font-size:.82rem;color:#9DB2C1}
.bunn-hode{color:#F2A57D;letter-spacing:.14em;font-weight:600;font-size:.7rem;margin:0 0 .4rem}
.bunn ul{list-style:none;margin:0;padding:0}
.bunn li a{display:inline-flex;min-height:36px;align-items:center;color:#F5F2EA;text-decoration:none;font-size:.95rem}
.bunn li a:hover{color:#F2A57D;text-decoration:underline}
.bunn-spraak{color:#9DB2C1;font-size:.7rem;margin-top:.8rem}
.bunn-kilde{max-width:1180px;margin:2rem auto 0;color:#9DB2C1;font-size:.66rem}

/* ---------- utskrift/redusert bevegelse */
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media print{.topp,.sticky,.popup,.bunn,.booking .knapp{display:none!important}}
.forside-hero .kart-fig figcaption{color:#9DB2C1}

/* ---------- revisjon 1: stjerne, bildekreditt, interaktivt kart */
.ast{font-size:.7em;vertical-align:super;margin-left:1px;opacity:.75;font-weight:400}
.fotokreditt{margin:3rem auto 0;max-width:62rem;font-size:.78rem;color:var(--tekst-2);line-height:1.5}
.fk-hode{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .4rem;color:var(--tekst-2);font-weight:600}
.fotokreditt ul{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}
.fotokreditt a{color:var(--tekst-2)}
.fotokreditt p{margin:.5rem 0 0}
.forside .fotokreditt{margin-top:2rem}
.lkart-fig{margin:2rem 0}
.lkart{height:460px;border-radius:var(--r);box-shadow:var(--skygge);background:var(--kart-hav);z-index:0}
@media (max-width:700px){.lkart{height:380px}}
.lkart-fig figcaption{color:var(--tekst-2);margin-top:.5rem;font-size:.72rem}
.lkart-liste ul{list-style:none;padding:0;margin:1rem 0 2rem;columns:2 12rem;column-gap:1.5rem}
.lkart-liste li{break-inside:avoid;margin:.1rem 0}
.lkart-liste a{display:inline-flex;min-height:36px;align-items:center}
.leaflet-popup-content a{font:700 1rem var(--slab)}
.tekst{overflow-wrap:break-word}
@media (max-width:600px){.kort-mobil{background:transparent;box-shadow:none;overflow:visible}.kort-mobil table,.kort-mobil tbody,.kort-mobil tr,.kort-mobil th,.kort-mobil td{display:block;width:100%}
.kort-mobil thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.kort-mobil caption{display:block;padding:0 0 .6rem}
.kort-mobil tr{background:var(--kort)!important;border-radius:var(--r);box-shadow:var(--skygge);margin:0 0 .8rem;padding:.3rem .2rem .6rem}
.kort-mobil tbody th{font:700 1.02rem/1.3 var(--slab);padding:.55rem .9rem .25rem}.kort-mobil td{padding:.2rem .9rem;display:flex;gap:.6rem}
.kort-mobil td[data-label]:not([data-label=""])::before{content:attr(data-label);font:600 .68rem/1.7 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--tekst-2);min-width:6.5rem;flex:0 0 6.5rem}}
@media (max-width:760px){.sammenlign td.tom{display:none}}
