/* Opplagsguiden — Signalflagg.
   Fargekoden er de internasjonale signalflaggene, dempet. Mønsteret i flagget
   bærer betydningen, så fargen aldri står alene.
   To typografiske regler:
   1. Verkstedets egen pris (sitat, i ramme) og vårt estimat (stort, fett) ser aldri like ut.
   2. Mangler og forbehold står i tekst, ikke bare i farge. */

@font-face{
  font-family:"Schibsted Grotesk";
  src:url(./fonts/schibsted-grotesk-latin-wght-normal.woff2) format("woff2");
  font-weight:400 900;font-style:normal;font-display:swap;
}

:root{
  --ink:#10233a;
  --ink-2:#34495f;
  --ink-3:#566a7e;
  --navy:#15345a;
  --navy-2:#1e4675;
  --mist:#eef3f6;
  --paper:#fff;
  --paper-2:#f6f9fb;
  --line:#dbe3ea;
  --line-2:#c6d2dd;
  --coral:#e0563f;

  /* signalflagg, dempet: flagg / flate / tekst */
  --q:#ebbd35; --q-t:#fbf4dc; --q-i:#6a5205;
  --p:#2c5fa8; --p-t:#e8eff9; --p-i:#1f4378;
  --o:#d95b43; --o-t:#fcebe6; --o-i:#8b3322;
  --n:#23827a; --n-t:#e2f2ef; --n-i:#175e58;

  --ok:#276b45; --ok-t:#e5f2ea;
  --warn:#855b00; --warn-t:#fcf1d8;
  --bad:#a3361f; --bad-t:#fbe8e3;

  --r:14px; --r-sm:10px; --r-xs:8px;
  --shadow:0 1px 2px rgb(16 35 58 / .05),0 10px 28px -12px rgb(16 35 58 / .22);
  --shadow-lg:0 2px 6px rgb(16 35 58 / .08),0 30px 60px -24px rgb(8 24 44 / .45);
  --sans:"Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --nav-h:64px;
}

[data-kind=outdoor]{--k:var(--q);--kt:var(--q-t);--ki:var(--q-i)}
[data-kind=indoor]{--k:var(--p);--kt:var(--p-t);--ki:var(--p-i)}
[data-kind=warm_indoor]{--k:var(--o);--kt:var(--o-t);--ki:var(--o-i)}
[data-kind=afloat]{--k:var(--n);--kt:var(--n-t);--ki:var(--n-i)}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + 16px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{
  margin:0;background:var(--mist);color:var(--ink);
  font:400 16.5px/1.55 var(--sans);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{margin:0;line-height:1.12;letter-spacing:-.022em;text-wrap:balance}
p{margin:0}
a{color:var(--navy-2)}
button,input,select,textarea{font:inherit;color:inherit}
[hidden]{display:none !important}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.sr{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:min(1240px,100% - 40px);margin-inline:auto}
.ico{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.flag{width:27px;height:18px;flex:none;border-radius:2px;box-shadow:0 0 0 1px rgb(16 35 58 / .14)}
.flag-lg{width:48px;height:32px;border-radius:3px}
:focus-visible{outline:3px solid #2563c9;outline-offset:2px;border-radius:6px}

.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--paper);padding:10px 16px;border-radius:var(--r-sm);font-weight:600}
.skip:focus{top:12px}

/* ---------- navigasjon ---------- */
.nav{position:fixed;inset:0 0 auto;z-index:50;height:var(--nav-h);color:#fff;transition:background .35s var(--ease),color .35s var(--ease),box-shadow .35s var(--ease)}
.nav.solid{background:rgb(255 255 255 / .94);color:var(--ink);box-shadow:0 1px 0 var(--line);backdrop-filter:saturate(1.4) blur(10px)}
.nav-in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-weight:750;font-size:1.3rem;letter-spacing:-.02em}
.brand-flag{width:30px;height:30px;color:currentColor}
.nav-links{display:flex;gap:6px}
.nav-links a{color:inherit;text-decoration:none;font-weight:550;padding:9px 14px;border-radius:999px;transition:background .2s}
.nav-links a:hover{background:rgb(255 255 255 / .16)}
.nav.solid .nav-links a:hover{background:var(--mist)}
.nav-toggle{display:none}

/* ---------- forsiden ---------- */
.hero{position:relative;isolation:isolate;min-height:100svh;display:flex;align-items:center;padding:calc(var(--nav-h) + 20px) 0 40px;color:#fff;overflow:hidden;background:#0d2238}
.hero-photo,.hero-photo img{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.hero-photo img{object-fit:cover;object-position:38% 60%;transform-origin:30% 70%}
@media (prefers-reduced-motion:no-preference){
  .hero-photo img{animation:drift 38s var(--ease) both}
}
@keyframes drift{from{transform:scale(1.09)}to{transform:scale(1.015)}}
.hero-scrim{position:absolute;inset:0;z-index:-1;background:
  radial-gradient(65% 62% at 24% 52%,rgb(9 24 42 / .6),transparent 72%),
  linear-gradient(180deg,rgb(9 24 42 / .42),transparent 14%)}
.hero-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:clamp(28px,5vw,80px);align-items:stretch}
.hero-copy{display:flex;flex-direction:column;gap:22px;max-width:640px}
.hero-copy h1{margin-top:auto}
.hero h1{font-size:clamp(2.6rem,5.6vw,4.9rem);font-weight:780;letter-spacing:-.034em;line-height:1.02;text-shadow:0 2px 24px rgb(0 0 0 / .25)}
.lede{font-size:1.14rem;line-height:1.55;max-width:34em;color:rgb(255 255 255 / .94);text-shadow:0 1px 12px rgb(0 0 0 / .4)}
.trust{font-size:.94rem;color:rgb(255 255 255 / .86);font-weight:500;text-shadow:0 1px 10px rgb(0 0 0 / .45)}

/* ---------- søkepanelet ---------- */
.console{background:var(--paper);color:var(--ink);border-radius:20px;box-shadow:var(--shadow-lg);padding:4px 26px 20px}
.step{border:0;margin:0;padding:14px 0;border-bottom:1px solid var(--line);min-width:0}
.step legend{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.06rem;padding:0;margin-bottom:10px;float:left;width:100%}
.step legend + *{clear:both}
.step-no{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-size:.85rem;font-weight:700}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field-label{font-size:.88rem;font-weight:550;color:var(--ink-2)}
.field-label small{font-weight:400;color:var(--ink-3)}
input[type=text],input[type=email],textarea{width:100%;height:48px;padding:0 14px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--paper);font-size:1.05rem;transition:border-color .2s,box-shadow .2s}
input[type=text]::placeholder,textarea::placeholder{color:#5f7183}
input[type=text]:hover,input[type=email]:hover,textarea:hover{border-color:#a9b8c6}
input[type=text]:focus,input[type=email]:focus,textarea:focus{outline:none;border-color:var(--navy-2);box-shadow:0 0 0 4px rgb(44 95 168 / .16)}
input[aria-invalid=true]{border-color:var(--bad);box-shadow:0 0 0 4px rgb(163 54 31 / .12)}
.input-unit{position:relative;display:block}
.input-unit input{padding-right:38px;font-weight:600}
.unit{position:absolute;right:14px;top:50%;translate:0 -50%;color:var(--ink-3);pointer-events:none}
.input-icon{position:relative;display:block}
.input-icon .ico{position:absolute;left:14px;top:50%;translate:0 -50%;color:var(--ink-3);pointer-events:none}
.input-icon input{padding-left:44px}
.boat-grid{display:grid;grid-template-columns:1fr 1fr 118px;gap:0 12px;align-items:end}
.readout{display:flex;flex-direction:column;justify-content:center;height:48px;padding:0 12px;border-radius:var(--r-sm);background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--line);line-height:1.2}
.readout b{font-size:1.02rem;font-weight:700}
.readout span{font-size:.86rem;color:var(--ink-2)}
.readout .warn{color:var(--warn);font-size:.78rem;line-height:1.25}

.seg{display:flex;padding:4px;margin-top:12px;border-radius:12px;background:var(--mist);gap:4px}
.seg label{flex:1;position:relative}
.seg input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.seg span{display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 12px;border-radius:9px;font-weight:600;color:var(--ink-2);transition:background .2s,color .2s,box-shadow .2s;white-space:nowrap}
.seg input:hover + span{color:var(--ink)}
.seg input:checked + span{background:var(--paper);color:var(--navy);box-shadow:0 1px 3px rgb(16 35 58 / .16)}
.seg input:focus-visible + span{outline:3px solid #2563c9;outline-offset:1px}
.seg-sm{margin-top:0}
.step .seg + .seg{margin-top:8px}
.hp-field{margin-top:12px;max-width:240px}
.hp-field[hidden]{display:none}
.seg-sm span{min-height:36px;font-size:.92rem}


.place-row{display:flex;gap:10px}
.grow{flex:1}
.icon-btn{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--paper);color:var(--navy);cursor:pointer;transition:background .2s,border-color .2s}
.icon-btn:hover{background:var(--mist);border-color:#a9b8c6}
.hint{font-size:.88rem;color:var(--ink-3);margin-top:6px;min-height:1.3em}
.hint.bad{color:var(--bad);font-weight:550}
.input-seg input{padding-right:94px}
.seg-unit{position:absolute;right:7px;top:50%;translate:0 -50%;margin:0;padding:3px;gap:2px;border-radius:9px}
.seg-unit span{min-height:28px;padding:0 9px;font-size:.84rem;border-radius:7px}
.length-hint{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;column-gap:14px;margin-top:8px}
.length-hint:empty{min-height:0;margin-top:0}
.length-hint .link-btn{padding:4px 2px}
.range{display:block;margin-top:6px}
.range-top{display:flex;justify-content:space-between;font-size:.9rem;color:var(--ink-2);margin-bottom:4px}
.range-top b{color:var(--ink)}
input[type=range]{width:100%;accent-color:var(--navy);height:28px;margin:0}

.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.chip span{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 16px 0 12px;border-radius:999px;border:1px solid var(--line-2);background:var(--paper);font-weight:550;font-size:.95rem;color:var(--ink-2);transition:background .2s,border-color .2s,color .2s}
.chip .tick{width:16px;height:16px;stroke-width:2.6;opacity:.28;transition:opacity .2s}
.chip input:hover + span{border-color:#9fb0c0}
.chip input:checked + span{background:var(--mist);border-color:var(--navy);color:var(--navy)}
.chip input:checked + span .tick{opacity:1}
.chip input:focus-visible + span{outline:3px solid #2563c9;outline-offset:2px}
.check{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:.95rem;color:var(--ink-2);cursor:pointer;width:max-content;max-width:100%}
.check input{width:20px;height:20px;accent-color:var(--navy);margin:0}

.console-foot{padding-top:16px;display:grid;gap:10px}
.btn-primary{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:56px;border:0;border-radius:14px;background:var(--navy);color:#fff;font-weight:650;font-size:1.1rem;cursor:pointer;box-shadow:0 8px 20px -10px rgb(21 52 90 / .8);transition:background .2s,transform .2s var(--ease),box-shadow .2s}
.btn-primary:hover{background:var(--navy-2);box-shadow:0 12px 26px -12px rgb(21 52 90 / .9)}
.btn-primary:active{transform:scale(.985)}
.btn-primary .ico{transition:translate .3s var(--ease)}
.btn-primary:hover .ico{translate:4px 0}
.btn-primary[disabled]{opacity:.7;cursor:progress}
.fine{font-size:.85rem;color:var(--ink-3)}
.console .fine{text-align:center}

/* ---------- resultater ---------- */
.err{margin-top:24px;padding:16px 20px;border-radius:var(--r);background:var(--bad-t);color:var(--bad)}
.results{padding-bottom:64px;scroll-margin-top:var(--nav-h)}
.rbar{position:sticky;top:var(--nav-h);z-index:20;background:rgb(255 255 255 / .96);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
.rbar-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding:8px 0}
.rbar-boat{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-weight:600;color:var(--ink)}
.rbar-boat .sep{color:var(--line-2)}
.rbar-boat .dim{color:var(--ink-3);font-weight:500}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--line-2);background:var(--paper);font-weight:600;color:var(--navy);cursor:pointer;white-space:nowrap;transition:background .2s,border-color .2s}
.btn-ghost:hover{background:var(--mist);border-color:#a9b8c6}
.btn-ghost .ico{width:17px;height:17px}

.rtools{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;margin:36px 0 12px}
.ctl{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ctl-label{font-weight:700;font-size:1.05rem;color:var(--ink)}
.ctl-right .ctl-label{font-size:.95rem;font-weight:600;color:var(--ink-2)}
.ctl-right .seg{min-width:230px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line)}
.ctl-right .seg input:checked + span{background:var(--navy);color:#fff;box-shadow:none}

.ctl-title{font-size:1.55rem;font-weight:720;line-height:1.12;color:var(--ink)}
.tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 18px}
.tab{position:relative;display:flex;align-items:center;gap:14px;text-align:left;padding:14px 16px;border-radius:var(--r);border:1px solid var(--line-2);background:var(--paper);color:var(--ink);box-shadow:0 1px 2px rgb(16 35 58 / .08);cursor:pointer;transition:background-color .2s,border-color .2s,box-shadow .2s,transform .25s var(--ease)}
.tab:hover:not(:disabled){background:var(--paper-2);border-color:var(--ink-3);box-shadow:var(--shadow);transform:translateY(-1px)}
.tab:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px rgb(16 35 58 / .08)}
.tab:focus-visible{border-radius:var(--r)}
.tab[aria-pressed=true],.tab[aria-pressed=true]:hover:not(:disabled){background:var(--kt,var(--mist));color:var(--ki,var(--ink));border-color:var(--ki,var(--navy));box-shadow:inset 0 0 0 1px var(--ki,var(--navy)),var(--shadow)}
.tab[aria-pressed=true]::after{content:"";position:absolute;left:50%;bottom:-8px;width:14px;height:14px;translate:-50% 0;rotate:45deg;background:inherit;border:2px solid var(--ki,var(--navy));border-top:0;border-left:0;border-radius:0 0 3px 0}
.tab[aria-pressed=true] .tab-body b{font-weight:760}
.tab-body span{color:var(--ink-2)}
.tab[aria-pressed=true] .tab-body span{color:inherit}
.tab:disabled{background:var(--paper-2);color:var(--ink-3);border-color:var(--line);cursor:not-allowed;box-shadow:none;transform:none;opacity:.55}
.tab:disabled .flag,.tab:disabled .tab-all-ico{filter:grayscale(1)}
.tab:disabled .tab-body span{color:var(--ink-3)}
.tab .flag{width:36px;height:24px}
.tab-all-ico{display:grid;grid-template-columns:1fr 1fr;gap:2px;width:36px;height:24px;flex:none}
.tab-all-ico i{border-radius:2px;background:var(--k)}
.tab-body{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.tab-body b{font-size:1rem}
.tab-body span{font-size:.86rem}

.rkey{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;margin:0 0 28px;padding-top:14px;border-top:1px solid var(--line)}
.key{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.86rem;color:var(--ink-3)}
.key span{display:inline-flex;align-items:center;gap:6px}
.key .ico{width:15px;height:15px;stroke-width:2.6}
.key .dot{margin:0}
.k-in{color:var(--ok)} .k-add{color:var(--navy-2)} .k-miss{color:var(--bad)}
.link-btn{display:inline-flex;align-items:center;gap:7px;border:0;background:none;padding:8px 2px;color:var(--navy-2);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;cursor:pointer}
.link-btn .ico{width:18px;height:18px}
.rank-inline{margin-bottom:24px;padding:20px 22px;border-radius:var(--r);background:var(--paper);box-shadow:var(--shadow)}
.rank-inline p{max-width:70ch;color:var(--ink-2);margin-bottom:12px}
.callout{display:flex;gap:12px;align-items:flex-start;padding:14px 18px;border-radius:var(--r-sm);background:var(--warn-t);color:var(--warn);margin-bottom:16px;font-size:.96rem}
.callout .ico{margin-top:2px}
.notice-actions{display:flex;flex-wrap:wrap;gap:10px;margin:-4px 0 16px}

.group + .group{margin-top:56px}
.group-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;margin-bottom:16px;padding:12px 16px;border-radius:var(--r);background:var(--kt);color:var(--ki)}
.group-head h3{display:flex;align-items:center;gap:12px;font-size:1.25rem;font-weight:730}
.group-head h3 .flag{width:36px;height:24px}
.group-head .count{color:inherit;opacity:1;font-weight:500}
.group-head em{font-style:normal;font-size:.94rem;font-weight:550}

.row{position:relative;background:var(--paper);border-radius:var(--r);box-shadow:var(--shadow);margin-bottom:14px;overflow:hidden}
.row.open{box-shadow:0 0 0 1.5px var(--navy-2),var(--shadow)}
.row-head{display:grid;grid-template-columns:36px minmax(0,1fr) auto 24px;align-items:center;gap:20px;width:100%;padding:20px 22px 20px 18px;border:0;background:none;text-align:left;cursor:pointer;border-radius:var(--r)}
.row-head:hover{background:var(--paper-2)}
.rank{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--kt);color:var(--ki);font-weight:700}
.row-main{display:flex;flex-direction:column;gap:6px;min-width:0}
.row-name{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.15rem;letter-spacing:-.01em;line-height:1.25}
.row-meta{font-size:.92rem;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dot{display:inline-block;flex:none;width:11px;height:11px;border-radius:50%;margin-left:2px;box-sizing:border-box}
.dot-høy{background:var(--ok)}
.dot-middels{background:linear-gradient(90deg,var(--warn) 50%,transparent 50%);box-shadow:inset 0 0 0 2px var(--warn)}
.dot-lav{box-shadow:inset 0 0 0 2px var(--bad)}
.svcs{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:4px}
.svc{display:inline-flex;align-items:center;gap:5px;font-size:.9rem;font-weight:550;color:var(--ink-2);white-space:nowrap}
.svc .ico{width:16px;height:16px;stroke-width:2.8}
.svc-in .ico{color:var(--ok)}
.svc-add .ico{color:var(--navy-2)}
.svc-miss{color:var(--bad)}
.svc-miss .ico{color:var(--bad)}
.nw{white-space:nowrap}
.prices{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right;min-width:200px}
.prices b{font-size:1.55rem;font-weight:760;letter-spacing:-.02em;line-height:1.15;white-space:nowrap}
.prices b .from{font-size:.95rem;font-weight:600;color:var(--ink-3);margin-right:4px}
.prices b.range{font-size:1.25rem}
.prices small{font-size:.82rem;color:var(--ink-3);font-weight:550}
.chev{width:22px;height:22px;color:var(--ink-3);transition:rotate .3s var(--ease)}
.row.open .chev{rotate:180deg}

.row-detail{padding:4px 22px 22px 72px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:22px 34px;border-top:1px solid var(--line)}
.row-detail h4{font-size:.95rem;font-weight:700;margin:18px 0 8px}
.lines{width:100%;border-collapse:collapse;font-size:.93rem}
.lines td{padding:8px 0;border-bottom:1px solid var(--line);vertical-align:top}
.lines td:last-child{text-align:right;white-space:nowrap;font-weight:600;padding-left:12px}
.lines .note{display:block;color:var(--ink-3);font-size:.84rem}
.lines .miss td{color:var(--bad)}
.lines tfoot td{border-bottom:0;padding-top:10px;font-weight:700;font-size:1rem;color:var(--navy)}
.steps{list-style:none;margin:0;padding:0;font-size:.92rem}
.steps li{padding:8px 0;border-bottom:1px solid var(--line)}
.steps b{display:block;font-weight:650}
.steps span{color:var(--ink-2)}
.steps code{display:block;margin-top:3px;font:inherit;font-weight:600;color:var(--navy)}
.bullets{margin:0;padding-left:18px;font-size:.92rem;color:var(--ink-2)}
.bullets li{margin:3px 0}
.bullets.warn{color:var(--warn)}
.bullets.excl{color:var(--ink-3)}
.srcline{font-size:.9rem;overflow-wrap:anywhere}
.srcline a{font-weight:600;display:inline-flex;align-items:center;gap:6px}
.srcline a .ico{width:15px;height:15px}
.srcline .meta{display:block;color:var(--ink-3);margin-top:4px;font-size:.85rem}
.contact{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}
/* kontaktknappene står på det sammenfoldede kortet, under navn og pris */
.row-contact{margin:-6px 0 0;padding:0 22px 18px 74px}
.copy-mail{font-size:.9rem;padding:8px 4px;text-align:left}
.copy-mail .ico{width:16px;height:16px}
/* «Er dette ditt opplagssted?» er for stedet selv: dempet, så den ikke konkurrerer med kontaktvalgene. */
.contact .fix-link,.srcline+.fix-link{font-size:.85rem;font-weight:500;color:var(--ink-2);text-decoration:underline;padding:8px 4px;text-align:left}
.contact .fix-link .ico,.srcline+.fix-link .ico{width:15px;height:15px}
.btn-soft{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;border-radius:999px;background:var(--mist);color:var(--navy);font-weight:650;font-size:.94rem;text-decoration:none;transition:background .2s,transform .2s var(--ease)}
.btn-soft:hover{background:#e2e9f0;transform:translateY(-1px)}
.btn-soft .ico{width:17px;height:17px}
button.btn-soft{border:0;cursor:pointer}
.btn-soft.solid{background:var(--navy);color:#fff}
.btn-soft.solid:hover{background:var(--navy-2)}

.unpriced{margin:28px 0 0;background:var(--paper);border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--line)}
.unpriced > summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;cursor:pointer;list-style:none;font-weight:650;color:var(--ink)}
.unpriced > summary::-webkit-details-marker{display:none}
.unpriced > summary:hover{background:var(--paper-2);border-radius:var(--r)}
.unpriced > summary .chev{width:18px;height:18px;flex:none;transition:rotate .2s}
.unpriced[open] > summary .chev{rotate:180deg}
.unpriced-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;padding:0 20px 8px}
/* fakta: det som avgjør bruk står sammenfoldet, resten utfoldet */
.stops{display:flex;flex-wrap:wrap;gap:4px 14px}
.stops:empty{display:none}
.stop{display:inline-flex;align-items:center;gap:5px;font-size:.88rem;font-weight:600;color:var(--bad)}
.stop .ico{width:15px;height:15px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;margin:0;font-size:.92rem}
.kv div{display:contents}
.kv dt{color:var(--ink-3)}
.kv dd{margin:0;font-weight:600;color:var(--ink)}
.kv dd.past{color:var(--bad)}
.kv-note{margin:6px 0 0;font-size:.86rem;color:var(--ink-3)}
.ticks{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.92rem;color:var(--ink-2)}
.ticks li{display:inline-flex;align-items:center;gap:5px}
.ticks .ico{width:16px;height:16px;stroke-width:2.8}
.ticks .yes .ico{color:var(--ok)}
.ticks .no{color:var(--ink-3)}
.ticks .no .ico{color:var(--bad)}
.yoy{margin:10px 0 0;font-size:.9rem;color:var(--ink-2)}
.yoy b{font-weight:700;color:var(--ink);margin-right:4px;font-variant-numeric:tabular-nums}
.doc-level{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--ink-2);margin-bottom:6px}
.foot-contact a,.foot-links a{color:#fff}
.foot-links{display:flex;flex-wrap:wrap;gap:6px 20px}
.up{border-top:1px solid var(--line)}
.up summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;cursor:pointer;list-style:none}
.up summary::-webkit-details-marker{display:none}
.up summary b{display:block;font-weight:650;font-size:.97rem}
.up summary span{font-size:.84rem;color:var(--ink-3)}
.up summary .chev{width:18px;height:18px}
.up summary .stops{margin-top:4px}
.up summary .stop{color:var(--bad)}
.up[open] summary .chev{rotate:180deg}
.up-body{padding:0 0 14px;font-size:.88rem;color:var(--ink-2)}
.up-body .contact{margin-top:10px}
.up-body p{margin:0 0 6px}
/* publisert pris som ikke kan regnes om: beløp og enhet slik stedet skrev dem */
.pub-prices{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:3px;max-width:420px}
.pub-prices li{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.pub-prices b{font-weight:650;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.up-body .btn-soft{min-height:38px;font-size:.88rem;padding:0 13px}
.legal{margin-top:28px;font-size:.9rem;color:var(--ink-3);max-width:75ch}

@media (prefers-reduced-motion:no-preference){
  .rise{animation:rise .6s var(--ease) both;animation-delay:calc(var(--i,0) * 45ms)}
}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ---------- slik regner vi ---------- */
.how{padding:clamp(64px,9vw,112px) 0 clamp(56px,7vw,88px);background:var(--paper)}
.how h2,.doc h2{font-size:clamp(1.9rem,3.4vw,2.8rem);font-weight:760;letter-spacing:-.03em}
.section-lede{margin-top:14px;font-size:1.06rem;color:var(--ink-2);max-width:62ch}
.how-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.forms{list-style:none;padding:0;margin:30px 0 14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.forms li{display:flex;flex-direction:column;gap:6px;padding:20px 22px;border-radius:var(--r);background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--line)}
.form-kind{display:flex;align-items:center;gap:8px;font-size:.84rem;font-weight:650;color:var(--ki)}
.form-kind .flag{width:21px;height:14px}
.forms q{quotes:"«" "»";font-weight:650;font-size:1.12rem;line-height:1.3;margin-top:4px}
.form-op{font-size:.85rem;color:var(--ink-3);padding-top:8px;border-top:1px dashed var(--line-2)}
.form-out{font-size:1.6rem;font-weight:760;letter-spacing:-.02em;color:var(--navy)}
.form-mva{font-size:.8rem;font-weight:550;color:var(--ink-3);margin-top:-4px}
.form-who{font-size:.8rem;color:var(--ink-3);margin-top:auto;padding-top:6px}

.facts{margin:36px 0 0;display:grid}
.facts div{display:grid;grid-template-columns:150px 1fr;gap:4px 20px;padding:14px 0;border-top:1px solid var(--line)}
.facts dt{font-weight:700}
.facts dd{margin:0;color:var(--ink-2);max-width:62ch}

.film{margin:0;position:sticky;top:calc(var(--nav-h) + 24px)}
.film-frame{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/5;box-shadow:var(--shadow-lg);background:#1c3048}
.film video{width:100%;height:100%;object-fit:cover;object-position:62% 50%;display:block}
.film-btn{position:absolute;left:16px;bottom:16px;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:0;background:rgb(255 255 255 / .9);color:var(--navy);cursor:pointer;box-shadow:0 6px 16px -6px rgb(0 0 0 / .5);transition:transform .2s var(--ease)}
.film-btn:hover{transform:scale(1.06)}
.film-btn .ico{fill:currentColor;stroke:none}
.film figcaption{margin-top:10px;font-size:.84rem;color:var(--ink-3)}

/* ---------- dokumentasjon ---------- */
.doc{padding:clamp(56px,8vw,96px) 0;background:var(--mist)}
.doc-alt{background:var(--paper)}
.doc-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:clamp(24px,5vw,80px);align-items:start}
.doc h3{font-size:1.1rem;font-weight:700;margin:22px 0 8px}
.doc h3:first-child{margin-top:0}
.doc ol,.doc ul{margin:0;padding-left:20px;color:var(--ink-2)}
.doc li{margin:6px 0}
.rank-list{list-style:none;margin:0;padding:0 !important}
.rank-list li{display:grid;grid-template-columns:180px 1fr;gap:4px 20px;padding:14px 0;margin:0 !important;border-top:1px solid var(--line)}
.rank-list b{font-weight:700;color:var(--ink)}
.rank-list .w{display:block;font-size:.84rem;color:var(--ink-3);font-weight:500}
.stat-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.stat-row span{padding:8px 14px;border-radius:999px;background:var(--mist);font-weight:600;font-size:.94rem}
.stat-row b{font-weight:760}

/* ---------- bunn ---------- */
.foot{background:var(--ink);color:rgb(255 255 255 / .8);padding:48px 0 56px;font-size:.93rem}
.foot-in{display:grid;grid-template-columns:200px 1fr;gap:28px}
.foot p{max-width:78ch}
.foot p + p{margin-top:10px}
.foot strong{color:#fff}
.credits{color:rgb(255 255 255 / .6)}
.credits a{color:inherit}
.brand-foot{color:#fff}

/* ---------- tilpasning ---------- */
@media (max-width:1080px){
  .hero-in{grid-template-columns:1fr;gap:28px}
  .hero{align-items:flex-start;min-height:auto}
  .hero-copy{max-width:720px}
  .console{max-width:640px}
  .tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .unpriced-list{grid-template-columns:1fr}
  .how-grid{grid-template-columns:1fr}
  .film{position:static;max-width:560px}
  .film-frame{aspect-ratio:16/10}
  .forms{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  :root{--nav-h:58px}
  body{font-size:16px}
  .wrap{width:min(1240px,100% - 32px)}
  .nav-links{position:absolute;top:calc(var(--nav-h) - 4px);right:16px;flex-direction:column;gap:2px;min-width:210px;padding:8px;border-radius:var(--r);background:var(--paper);color:var(--ink);box-shadow:var(--shadow-lg);display:none}
  .nav-links.open{display:flex}
  .nav-links a:hover{background:var(--mist)}
  .nav-toggle{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border-radius:999px;border:1px solid rgb(255 255 255 / .5);background:rgb(255 255 255 / .12);color:inherit;font-weight:600;cursor:pointer}
  .nav.solid .nav-toggle{border-color:var(--line-2);background:var(--paper)}
  .hero{padding-top:calc(var(--nav-h) + 18px)}
  .hero-scrim{background:linear-gradient(180deg,rgb(9 24 42 / .5) 0%,rgb(9 24 42 / .34) 40%,rgb(9 24 42 / .12) 100%)}
  .hero h1{text-shadow:0 2px 18px rgb(0 0 0 / .45)}
  .hero-in{gap:16px}
  .hero-copy{display:contents}
  .hero-copy h1{margin-top:0}
  .console{order:2;margin-top:8px}
  .hero h1{font-size:clamp(2.2rem,10vw,2.9rem)}
  .lede{font-size:1.02rem}
  .console{padding:2px 18px 20px;border-radius:18px}
  .boat-grid{grid-template-columns:1fr 1fr}
  .readout{grid-column:1 / -1;order:1;margin-top:12px;flex-direction:row;align-items:center;gap:12px;height:40px}
  .rbar-in{min-height:48px;padding:4px 0}
  .rbar-boat{font-size:.9rem;flex-wrap:nowrap;white-space:nowrap;overflow:hidden;min-width:0}
  .rbar-boat > span{flex:none}
  .rbar-boat > span:last-child{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
  .rbar-boat .rbar-beam,.rbar-boat .rbar-m2,.rbar-boat .dim{display:none}
  .btn-ghost{padding:0;width:42px;justify-content:center}
  .btn-ghost-label{display:none}
  .rtools{margin-top:28px;align-items:flex-start;flex-direction:column}
  .ctl-right{width:100%}
  .ctl-right .seg{flex:1;min-width:0}
  .tabs{grid-template-columns:1fr 1fr;gap:8px}
  .tabs .tab[data-kind=all]{grid-column:1 / -1}
  .tab[aria-pressed=true]::after{display:none}
  .tab{padding:10px 12px;gap:10px}
  .tab .flag,.tab-all-ico{width:27px;height:18px}
  .tab-body b{font-size:.94rem}
  .tab-body span{font-size:.8rem}
  .row-head{grid-template-columns:30px minmax(0,1fr) 22px;gap:12px;padding:18px 14px 18px 12px}
  .rank{width:30px;height:30px;font-size:.9rem;align-self:start}
  .prices{grid-column:2 / 3;grid-row:2;align-items:flex-start;text-align:left;min-width:0}
  .chev{grid-column:3;grid-row:1;align-self:start}
  .prices b{font-size:1.3rem}
  .row-detail{grid-template-columns:1fr;padding:0 16px 18px;gap:0}
  .row-contact{padding:0 14px 16px 12px}
  .forms{grid-template-columns:1fr 1fr;gap:8px}
  .forms li{padding:14px 12px}
  .forms q{font-size:.94rem}
  .form-out{font-size:1.2rem}
  .doc-grid,.facts div{grid-template-columns:1fr}
  .rank-list li{grid-template-columns:1fr}
  .foot-in{grid-template-columns:1fr}
}
@media (max-width:400px){
  .forms{grid-template-columns:1fr}
}
.count{color:var(--ink-3);font-weight:500}

/* tabulære tall bare der tall står i kolonner eller endres */
.prices b,.lines td:last-child,.rank{font-variant-numeric:tabular-nums}
.tag .ell{overflow:hidden;text-overflow:ellipsis}

/* ---------- bysider ---------- */
.city-page{background:var(--mist)}
.nav-cta{min-height:40px}
.city-head{padding:calc(var(--nav-h) + clamp(36px,6vw,72px)) 0 clamp(32px,5vw,56px);background:var(--paper);box-shadow:0 1px 0 var(--line)}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.9rem;color:var(--ink-3);margin-bottom:18px}
.crumbs a{color:var(--navy-2);font-weight:600}
.city-head h1{font-size:clamp(2.3rem,5vw,4.2rem);font-weight:780;letter-spacing:-.034em;line-height:1.03;max-width:16ch}
.city-head .lede{text-shadow:none;margin-top:16px;font-size:1.15rem;color:var(--ink-2);max-width:56ch}
.city-cta{width:auto;display:inline-flex;margin-top:28px;padding:0 26px;text-decoration:none}
.city-head-in{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:48px;align-items:end}
.city-head-in > *{grid-column:1}
.city-head-in > .city-cta{justify-self:start}
.city-figs{grid-column:2;grid-row:2 / span 3;align-self:end;min-width:300px;margin:0;padding:14px 22px 18px;border-radius:var(--r);background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--line)}
.city-figs > p:last-child{margin-top:10px;font-size:.84rem;color:var(--ink-3);max-width:34ch}
.city-figs .from-row em{font-size:1.3rem}
/* laveste pris per lagringsform, med mva-merking på hvert tall (byside og bylenker) */
.from-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;column-gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.from-row:first-child{border-top:0}
.from-row .flag{width:21px;height:14px;align-self:center}
.from-row > span{font-size:.88rem;font-weight:550;color:var(--ink-2)}
.from-row em{font-style:normal;font-size:1.05rem;font-weight:760;letter-spacing:-.015em;color:var(--navy);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.from-row em small{font-size:.78rem;font-weight:600;color:var(--ink-3);margin-right:3px}
.from-row > small{grid-column:2 / -1;text-align:right;font-size:.78rem;font-weight:500;color:var(--ink-3)}
.nav-cta,.citem-price a,.nolist a,.crumbs a{text-decoration:none}
.citem-price a:hover,.nolist a:hover,.crumbs a:hover{text-decoration:underline}
.city-sec{padding:clamp(48px,7vw,88px) 0 0}
.city-sec h2{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:760;letter-spacing:-.03em}
.city-sec h2 .count,.city-sec h2.sub .count{color:var(--ink-3);font-weight:600}
.city-sec .section-lede{margin-bottom:24px}
.city-sec .section-lede:has(+ .rank-link){margin-bottom:4px}
.rank-link{margin-bottom:20px}
.city-places{padding-bottom:clamp(56px,8vw,96px)}

/* prisnivå: én rad per lagringsform på felles skala */
.levels{background:var(--paper);border-radius:var(--r);box-shadow:var(--shadow);padding:18px 24px 8px;display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr) auto;column-gap:24px}
.axis{grid-column:2;display:flex;justify-content:space-between;font-size:.82rem;color:var(--ink-3);font-variant-numeric:tabular-nums;padding-bottom:6px;border-bottom:1px solid var(--line)}
.level{display:contents}
.level > *{padding:14px 0;border-bottom:1px solid var(--line)}
.level:last-child > *{border-bottom:0}
.level-name{grid-column:1;display:flex;align-items:center;gap:12px}
.level-name .flag{width:27px;height:18px;flex:none}
.level-name > span{display:flex;flex-direction:column;line-height:1.25}
.level-name b{font-weight:650}
.level-name > span > span{font-size:.84rem;color:var(--ink-3)}
.strip{grid-column:2;position:relative;align-self:stretch;min-height:64px}
.strip::before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:var(--line);border-radius:2px}
.strip .dot{position:absolute;top:calc(50% + var(--y,0) * 15px);left:var(--x);width:26px;height:26px;margin:-13px 0 0 -13px;display:grid;place-items:center;border-radius:50%;z-index:1}
.strip .dot i{width:14px;height:14px;border-radius:50%;background:var(--k);box-shadow:0 0 0 2px var(--paper),inset 0 0 0 2px var(--ki);transition:transform .15s var(--ease)}
.strip .dot:hover,.strip .dot:focus-visible{z-index:3}
.strip .dot:hover i,.strip .dot:focus-visible i{transform:scale(1.35)}
.strip .dot:focus-visible{outline:3px solid #2563c9;outline-offset:1px}
.tip{position:absolute;bottom:calc(100% + 8px);left:50%;translate:-50% 0;display:none;flex-direction:column;gap:1px;padding:8px 12px;border-radius:var(--r-sm);background:var(--ink);color:#fff;font-size:.84rem;font-weight:500;line-height:1.35;white-space:nowrap;box-shadow:var(--shadow);pointer-events:none;font-variant-numeric:tabular-nums}
.tip b{font-weight:650;font-size:.92rem}
.tip-left .tip{left:0;translate:0 0}
.tip-right .tip{left:auto;right:0;translate:0 0}
.dot:hover .tip,.dot:focus-visible .tip{display:flex}
.clist li{scroll-margin-top:calc(var(--nav-h) + 24px);transition:background .3s}
.clist li:target{background:var(--kt);box-shadow:inset 3px 0 0 var(--ki)}
.level-range{grid-column:3;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;text-align:right;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.level-range small,.citem-price small{font-size:.8rem;font-weight:500;color:var(--ink-3);white-space:normal}

/* liste over opplagssteder */
.clist{list-style:none;margin:0;padding:0;background:var(--paper);border-radius:var(--r);box-shadow:var(--shadow)}
.clist li{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px 20px 16px 16px}
.clist li + li{border-top:1px solid var(--line)}
.citem-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.citem-main b{font-size:1.08rem;font-weight:700}
.citem-main span{font-size:.9rem;color:var(--ink-3)}
.citem-price{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.citem-price b{font-size:1.3rem;font-weight:760;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.citem-price b .from{font-size:.9rem;font-weight:600;color:var(--ink-3);margin-right:4px}
.citem-price a,.nolist a{display:inline-flex;align-items:center;gap:5px;font-size:.88rem;font-weight:600;color:var(--navy-2)}
.citem-price .ico,.nolist .ico{width:14px;height:14px}
.city-sec h2.sub{font-size:1.4rem;margin:56px 0 14px}
.clist .contact{grid-column:2 / -1;margin-top:0}
.clist .btn-soft,.nolist .btn-soft{min-height:38px;font-size:.88rem;padding:0 13px}
.nolist li:has(.contact){flex-wrap:wrap}
.nolist li > span:first-child{flex:1 1 0}
.nolist .contact{flex-basis:100%;flex-direction:row;margin-top:-2px;gap:6px}
.nolist .btn-soft:not(.solid){color:var(--navy)}
.nolist .btn-soft:hover{text-decoration:none}
.nolist{list-style:none;margin:0;padding:0 20px;background:var(--paper);border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--line);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
.nolist li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.nolist li > span{display:flex;flex-direction:column;gap:2px;min-width:0}
.nolist b{font-weight:650;font-size:.97rem}
.nolist li > span > span{font-size:.85rem;color:var(--ink-3)}
.citem-main .stop,.nolist li .stop{color:var(--bad)}
.nolist li:has(.pub-prices){align-items:flex-start}
.nolist .pub-prices{margin:6px 0 0;font-size:.88rem;color:var(--ink-2)}
.nolist .pub-prices li{padding:0;border:0;align-items:baseline}
.nolist .pub-prices span{display:inline;font-size:inherit;color:inherit}
.nolist .pub-prices b{font-size:inherit}

/* lenker til bysidene (forsiden og bysidene) */
.city-links{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,calc(50% - 5px)),1fr));gap:10px}
.doc .city-links{padding:0;margin-top:28px}
.city-links li{margin:0}
.city-links a{display:flex;flex-direction:column;gap:2px;padding:14px 18px;border-radius:var(--r-sm);background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);text-decoration:none;color:var(--ink);font-weight:650;transition:box-shadow .2s,transform .2s var(--ease)}
.city-links a:hover{box-shadow:inset 0 0 0 1.5px var(--navy-2);transform:translateY(-1px)}
.city-links a > span{font-size:.84rem;font-weight:500;color:var(--ink-3)}
.city-links a > span:last-child{margin-top:6px}
.city-links a b{font-size:1.15rem;font-weight:720;letter-spacing:-.015em}
.city-links .from-row{grid-template-columns:auto auto minmax(0,1fr);row-gap:1px;padding:7px 0}
.city-links .from-row > span{grid-column:2 / -1}
.city-links .from-row em{grid-column:2;text-align:left}
.city-links .from-row > small{grid-column:3;white-space:nowrap}
.doc-alt .city-links a{background:var(--paper-2)}

@media (max-width:760px){
  .levels{display:block;padding:14px 16px 4px}
  .level{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;border-bottom:1px solid var(--line);padding:14px 0 4px}
  .level:last-child{border-bottom:0}
  .level > *{padding:0;border-bottom:0}
  .level-name{grid-row:1;grid-column:1}
  .level-range{grid-row:1;grid-column:2;align-self:center}
  .strip{grid-row:2;grid-column:1 / -1;min-height:64px}
  .clist li{grid-template-columns:30px minmax(0,1fr);gap:4px 14px;padding:14px 16px 14px 12px}
  .clist .rank{width:30px;height:30px;font-size:.9rem;grid-row:span 2;align-self:start}
  .citem-price{grid-column:2;flex-direction:row;align-items:baseline;justify-content:space-between}
  .clist .contact{grid-column:1 / -1;margin-top:6px}
  .nolist{grid-template-columns:1fr}
  .nav-cta{display:none}
  .city-head-in{grid-template-columns:1fr}
  .city-figs{grid-column:1;grid-row:auto;margin-top:28px;justify-self:stretch;min-width:0}
  .city-links .from-row em,.city-links .from-row > small{grid-column:2 / -1;text-align:left;white-space:normal}
}
@media (prefers-reduced-motion:reduce){.city-links a{transition:none}}

/* ---------- personvern: juridisk tekst, maks 75ch ---------- */
.privacy{padding:clamp(40px,6vw,72px) 0 clamp(56px,8vw,96px)}
.prose{max-width:75ch}
.prose h2{font-size:1.3rem;font-weight:700;margin:40px 0 10px}
.prose h2:first-child{margin-top:0}
.prose p{color:var(--ink-2)}
.prose p + p{margin-top:10px}

/* ---------- Om, vilkår og kontaktskjema ---------- */
.prose address{font-style:normal;max-width:560px;margin:12px 0;padding:14px 16px;border-radius:var(--r-sm);background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);line-height:1.6}
.cover-table{width:100%;max-width:560px;border-collapse:collapse;margin-top:12px;font-size:.95rem;background:var(--paper);border-radius:var(--r-sm);box-shadow:inset 0 0 0 1px var(--line)}
.cover-table th,.cover-table td{padding:8px 14px;border-top:1px solid var(--line);text-align:left}
.cover-table td,.cover-table thead th + th{text-align:right}
.cover-table td{font-variant-numeric:tabular-nums;color:var(--ink)}
.cover-table thead th{border-top:0;font-size:.84rem;font-weight:550;color:var(--ink-3)}
.cover-table tbody th{font-weight:500;color:var(--ink-2)}
.cover-table tfoot th,.cover-table tfoot td{font-weight:700;color:var(--ink);border-top:1.5px solid var(--line-2)}
.contact-form{display:grid;gap:16px;max-width:560px;margin-top:18px;padding:22px;border-radius:var(--r);background:var(--paper);box-shadow:var(--shadow)}
.contact-form textarea{height:auto;min-height:150px;padding:12px 14px;line-height:1.5;resize:vertical}
.contact-form .form-note{margin:0;font-size:.93rem}
.contact-form .form-note strong{color:var(--ink);font-weight:600}
.contact-form .btn-primary{width:auto;justify-self:start;padding:0 28px}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
