/* ---------- Fonter (selvhostet, ingen tredjepart) ----------
   ITF Free Font License + OnlineWebFonts-konvertering (demo) – ikke lisensiert for kommersiell levering + SIL Open Font License 1.1. Se assets/fonts/lisenser/
   Variable filer: én per stil dekker hele vektaksen 100-900.
   ---------------------------------------------------------- */
@font-face{
  font-family:'Funnel Display';
  src:url('../assets/fonts/funnel-display-normal.woff2') format('woff2');
  font-weight:100 900;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Suisse Intl';
  src:url('../assets/fonts/suisse-intl-300-normal.woff2') format('woff2');
  font-weight:300;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Zodiak';
  src:url('../assets/fonts/zodiak-normal.woff2') format('woff2');
  font-weight:100 900;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Switzer';
  src:url('../assets/fonts/switzer-normal.woff2') format('woff2');
  font-weight:100 900;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Geist Mono';
  src:url('../assets/fonts/geist-mono-normal.woff2') format('woff2');
  font-weight:100 900;font-style:normal;font-display:swap;
}

/* ---------- Tokens (Design DNA utkast 2, se research/notat.md) ---------- */
:root{
  --c-papir:#F2F1EE; --c-flate:#FFFFFF; --c-flate-2:#E8E6E1;
  --c-tekst:#0D1219; --c-dempet:#555C68; --c-linje:rgba(13,18,25,.12);
  --c-aksent:#E9B335; --c-paa-aksent:#0D1219; --c-aksent-tekst:#0D1219;
  --c-knapp:#0D1219; --c-paa-knapp:#F7F6F3; --c-feil:#A3201E;
  --c-fokus:#0D1219; --slor:13,18,25;
  --f-display:'Funnel Display',system-ui,sans-serif;
  --f-tekst:'Switzer',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-mono:'Geist Mono',ui-monospace,monospace;
  --d-strekk:100%; --d-vekt:300; --d-tt:none; --d-spor:-.035em; --d-lh:.96; --d-skala:1;
  --maks:1200px; --gutter:clamp(16px,4vw,48px); --seksjon:clamp(64px,10vw,140px);
  --r-kort:16px; --r-pill:9999px; --topp:72px;
  --ease:cubic-bezier(.23,1,.32,1);
  --z-dekor:1; --z-sticky:100; --z-dokk:200; --z-overlay:300; --z-panel:400; --z-varsel:500;
}
/* Palett 2: isblå og marine (fra laundryloftnyc.com) */
[data-pal="2"]{
  --c-papir:#F3F6FA; --c-flate:#FFFFFF; --c-flate-2:#E4EBF5;
  --c-tekst:#101E33; --c-dempet:#4A5568; --c-linje:rgba(16,30,51,.12);
  --c-aksent:#113575; --c-paa-aksent:#FFFFFF; --c-aksent-tekst:#113575;
  --c-knapp:#113575; --c-paa-knapp:#FFFFFF; --c-fokus:#113575; --slor:16,30,51;
}
/* Palett 3: grått og svart, ingen farge (fra polestar.com) */
[data-pal="3"]{
  --c-papir:#F0F0F0; --c-flate:#FFFFFF; --c-flate-2:#E4E4E4;
  --c-tekst:#000000; --c-dempet:#5C5C5C; --c-linje:rgba(0,0,0,.14);
  --c-aksent:#000000; --c-paa-aksent:#FFFFFF; --c-aksent-tekst:#000000;
  --c-knapp:#000000; --c-paa-knapp:#FFFFFF; --c-fokus:#000000; --slor:12,12,12;
}
/* Skrift 2: Suisse Int'l 300 (demoOnly). Skrift 3: Zodiak 300 */
[data-font="2"]{ --f-display:'Suisse Intl',system-ui,sans-serif; --d-spor:-.03em; --d-skala:1; }
[data-font="3"]{ --f-display:'Zodiak',Georgia,serif; --d-spor:-.02em; --d-lh:1; --d-skala:1.02; }

/* ---------- Grunnlag ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--topp) + 12px)}
body{margin:0;background:var(--c-papir);color:var(--c-tekst);font:400 17px/1.55 var(--f-tekst);overflow-x:clip;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,p,ol,ul,dl,dd,figure,blockquote,fieldset{margin:0;padding:0}
ul,ol{list-style:none}
fieldset{border:0;min-width:0}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--c-fokus);outline-offset:3px;border-radius:2px}
.vis-skjermleser{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.hopp{position:absolute;left:12px;top:-60px;z-index:var(--z-varsel);background:var(--c-knapp);color:var(--c-paa-knapp);padding:10px 16px;border-radius:var(--r-pill);font-weight:600}
.hopp:focus{top:12px}
.ikon{width:1.15em;height:1.15em;flex:none}

/* ---------- Knapper ---------- */
.knapp{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 30px;border-radius:var(--r-pill);font:600 17px/1.2 var(--f-tekst);text-decoration:none;border:1.5px solid transparent;background:transparent;color:inherit;cursor:pointer;transition:transform .16s var(--ease),background-color .2s var(--ease),border-color .2s var(--ease)}
.knapp:active{transform:scale(.97)}
.knapp--fylt{background:var(--c-knapp);color:var(--c-paa-knapp)}
.knapp--strek{border-color:var(--c-linje);color:var(--c-tekst)}
.knapp--liten{min-height:44px;padding:10px 22px;font-size:15px}
@media (hover:hover){
  .knapp--fylt:hover{background:color-mix(in srgb,var(--c-knapp) 84%,var(--c-papir))}
  .knapp--strek:hover{border-color:var(--c-tekst)}
}

/* ---------- Topp ---------- */
.topp{position:sticky;top:0;z-index:var(--z-sticky);background:rgba(var(--slor),.0);transition:background-color .25s var(--ease),border-color .25s var(--ease);border-bottom:1px solid transparent}
.topp.er-rullet{background:color-mix(in srgb,var(--c-papir) 94%,transparent);border-bottom-color:var(--c-linje);backdrop-filter:blur(8px)}
.topp__inner{max-width:calc(var(--maks) + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter);height:var(--topp);display:flex;align-items:center;gap:28px}
.topp__merke{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto;min-height:44px}
.topp__merke img{width:44px;height:44px;border-radius:50%}
.topp__navn{display:flex;flex-direction:column;font-weight:700;font-size:16px;line-height:1.2}
.topp__navn small{font-weight:400;font-size:13px;color:var(--c-dempet)}
.topp__nav{display:flex;gap:28px}
.topp__nav a{text-decoration:none;font-size:15px;color:var(--c-dempet);padding:12px 0}
.topp__nav a:hover{color:var(--c-tekst)}
.topp__ring{display:none}

/* ---------- Hero, felles ---------- */
.hero{display:none;position:relative}
html[data-hero="1"] .hero[data-hero="1"],html[data-hero="2"] .hero[data-hero="2"]{display:block}
.hero__tittel{display:flex;flex-direction:column;font-family:var(--f-display);font-weight:var(--d-vekt);font-stretch:var(--d-strekk);text-transform:var(--d-tt);letter-spacing:var(--d-spor);line-height:var(--d-lh);font-size:calc(clamp(56px,8.4vw,124px)*var(--d-skala))}
.hero__line{display:block;overflow:hidden;padding:.2em .25em .26em;margin:-.2em -.25em -.26em}
.hero__line-in{display:block}
.anim-hero .hero__line-in{transform:translateY(150%)}
.anim-hero .hero__sub{opacity:0}
.anim-hero .hero__bilde img,.anim-hero .hero__film{opacity:.4}
.hero__ingress{max-width:34ch;font-size:clamp(17px,1.4vw,20px);color:var(--c-dempet);margin-top:24px}
.hero__knapper{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.vurdering{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:15px;font-weight:500;text-decoration:none;color:var(--c-tekst);margin-bottom:20px}
.stjerner{position:relative;display:inline-block;font-size:17px;line-height:1;letter-spacing:2px;color:color-mix(in srgb,var(--c-tekst) 25%,transparent)}
.stjerner::before{content:"★★★★★"}
.stjerner__fylt{position:absolute;inset:0;width:var(--fyll,100%);overflow:hidden;white-space:nowrap;color:var(--c-aksent-tekst)}
.stjerner__fylt::before{content:"★★★★★"}

/* Hero 1: tekst + foto */
.hero--delt .hero__inner{max-width:calc(var(--maks) + 2*var(--gutter));margin:0 auto;padding:clamp(32px,5vw,64px) var(--gutter) clamp(40px,5vw,64px);display:grid;grid-template-columns:7fr 5fr;gap:clamp(24px,4vw,56px);align-items:center;min-height:min(calc(100svh - var(--topp) - 120px),720px)}
.hero__bilde{position:relative;height:100%;min-height:460px;border-radius:24px;overflow:hidden;background:var(--c-flate)}
.hero__bilde img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:40% 50%}

/* Hero 2: film i hele bakgrunnen */
.hero--film{min-height:calc(100svh - var(--topp));overflow:hidden;background:var(--c-papir);margin-top:calc(-1*var(--topp))}
.hero__film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.hero__slor{position:absolute;inset:0;background:linear-gradient(180deg,rgba(var(--slor),.72) 0,rgba(var(--slor),0) 170px),linear-gradient(90deg,rgba(var(--slor),.9) 0%,rgba(var(--slor),.82) 40%,rgba(var(--slor),.6) 62%,rgba(var(--slor),.22) 82%,rgba(var(--slor),.08) 100%),linear-gradient(0deg,rgba(var(--slor),.75) 0%,rgba(var(--slor),0) 42%)}
.hero--film .hero__inner{position:relative;z-index:var(--z-dekor);max-width:calc(var(--maks) + 2*var(--gutter));margin:0 auto;padding:calc(var(--topp) + 48px) var(--gutter) clamp(48px,7vw,88px);min-height:calc(100svh - var(--topp));display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;color:#F3F5F7}
.hero--film .vurdering{color:#F3F5F7}
.hero--film .stjerner__fylt{color:var(--c-aksent)}
.hero--film .knapp--strek{color:#F3F5F7;border-color:rgba(243,245,247,.4)}
.hero--film .knapp--fylt{background:#F7F6F3;color:#0D1219}
.hero__tittel--stor{font-size:calc(clamp(72px,13.2vw,196px)*var(--d-skala))}
.hero__line--liten{font-size:.55em}
.hero__fakta{font-family:var(--f-mono);font-weight:400;text-transform:uppercase;font-size:clamp(13px,1.1vw,15px);letter-spacing:.06em;margin-top:22px}

html[data-hero="2"] .topp:not(.er-rullet){color:#F3F5F7}
html[data-hero="2"] .topp:not(.er-rullet) .topp__navn small,html[data-hero="2"] .topp:not(.er-rullet) .topp__nav a{color:rgba(243,245,247,.82)}

.pille{display:inline-block;background:var(--c-aksent);color:var(--c-paa-aksent);border-radius:var(--r-pill);padding:0 .22em .05em;margin-left:-.04em}

/* ---------- Faktarad (Deed: tall under en tynn linje) ---------- */
.fakta{max-width:calc(var(--maks) + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.fakta__liste{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;border-top:1px solid var(--c-linje);padding:28px 0 8px}
.fakta__liste li{display:flex;gap:14px;align-items:flex-start}
.fakta__liste .ikon{color:var(--c-aksent-tekst);width:24px;height:24px;margin-top:2px}
.fakta__liste strong,.fakta__liste b{display:block;font-family:var(--f-display);font-weight:400;font-size:24px;line-height:1.1;letter-spacing:-.02em}
.fakta__liste span span{display:block;color:var(--c-dempet);font-size:15px;margin-top:4px}

/* ---------- Seksjonstitler ---------- */
.seksjon-tittel{font-family:var(--f-display);font-weight:var(--d-vekt);letter-spacing:var(--d-spor);line-height:1;font-size:calc(clamp(40px,5vw,72px)*var(--d-skala))}

/* ---------- Bestilling ---------- */
.bestill{padding:var(--seksjon) 0}
.bestill__inner{max-width:calc(var(--maks) + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:4fr 6fr;gap:clamp(32px,6vw,88px);align-items:start}
.bestill__tekst{color:var(--c-dempet);margin-top:20px;max-width:36ch;font-size:18px}
.kontaktliste{margin-top:28px;display:grid;gap:6px}
.kontaktliste li{display:flex;align-items:center;gap:12px;min-height:44px;color:var(--c-dempet)}
.kontaktliste .ikon{color:var(--c-aksent-tekst)}
.kontaktliste a{color:var(--c-tekst);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.kontaktliste li:first-child a{font-family:var(--f-display);font-weight:400;font-size:30px;letter-spacing:-.02em}
.bestilling{background:var(--c-flate);border-radius:var(--r-kort);padding:clamp(20px,3vw,32px)}
.bestilling__faner{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--c-flate-2);border-radius:var(--r-pill);padding:5px;margin-bottom:24px}
.bestilling__fane{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border:0;border-radius:var(--r-pill);background:transparent;color:var(--c-dempet);font:600 15px/1.2 var(--f-tekst);cursor:pointer;transition:background-color .2s var(--ease),color .2s var(--ease)}
.bestilling__fane[aria-selected="true"]{background:var(--c-flate);color:var(--c-tekst);box-shadow:0 0 0 1px var(--c-linje)}
.bestilling__topp{display:flex;align-items:center;gap:16px;margin-bottom:18px;font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--c-dempet)}
.fremdrift{flex:1;height:3px;background:var(--c-linje);border-radius:3px;overflow:hidden}
.fremdrift span{display:block;height:100%;background:var(--c-aksent);transform:scaleX(.333);transform-origin:0 50%;transition:transform .35s var(--ease)}
.steg__sporsmal{font-family:var(--f-display);font-weight:400;letter-spacing:-.02em;font-size:calc(28px*var(--d-skala));line-height:1.1;margin-bottom:16px;padding:0}
.steg{display:grid;gap:8px}
.bestilling.klar .steg{display:none}
.bestilling.klar .steg.er-aktiv{display:grid}
.rad{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;min-height:60px;padding:12px 16px;border-radius:10px;background:var(--c-papir);border:1.5px solid transparent;cursor:pointer;transition:border-color .2s var(--ease),background-color .2s var(--ease)}
.rad input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.rad__bokstav{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;border:1px solid var(--c-linje);font-family:var(--f-mono);font-size:13px;font-weight:500;color:var(--c-dempet)}
.rad__navn{font-weight:600;font-size:16px;line-height:1.3}
.rad__navn small{display:block;font-weight:400;font-size:14px;color:var(--c-dempet);margin-top:2px}
.rad__pris{font-weight:700;font-size:16px;white-space:nowrap}
.rad:has(input:checked){border-color:var(--c-aksent)}
.rad:has(input:checked) .rad__bokstav{background:var(--c-aksent);border-color:var(--c-aksent);color:var(--c-paa-aksent)}
.rad:has(input:focus-visible){outline:2px solid var(--c-fokus);outline-offset:2px}
@media (hover:hover){.rad:hover{border-color:var(--c-linje)}}
.merke{display:inline-block;font-family:var(--f-mono);font-style:normal;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;background:var(--c-aksent);color:var(--c-paa-aksent);border-radius:var(--r-pill);padding:3px 8px;margin-left:6px;vertical-align:2px}
.felt{display:grid;gap:6px}
.felt label{font-size:14px;font-weight:600}
.felt input{min-height:52px;padding:12px 16px;border-radius:10px;border:1.5px solid var(--c-linje);background:var(--c-papir);color:var(--c-tekst);font:400 17px/1.3 var(--f-tekst)}
.felt input:focus-visible{border-color:var(--c-aksent);outline:none}
.felt input[aria-invalid="true"]{border-color:var(--c-feil)}
.felt__feil{font-size:14px;color:var(--c-feil)}
.bestilling__knapper{display:flex;gap:10px;justify-content:space-between;margin-top:20px}
.bestilling__knapper .bestilling__neste{margin-left:auto}
.kvittering{display:grid;justify-items:start;gap:16px;padding:8px 0}
.kvittering>.ikon{width:44px;height:44px;padding:10px;border-radius:50%;background:var(--c-aksent);color:var(--c-paa-aksent)}
.kvittering__tekst{font-size:20px;font-weight:600;line-height:1.4;max-width:34ch}

/* ---------- Slik fungerer det ---------- */
.gang{padding:0 0 var(--seksjon)}
.gang__inner{max-width:calc(var(--maks) + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.gang__liste{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
.gang__kort{background:var(--c-flate);border:1px solid transparent;border-radius:var(--r-kort);padding:28px}
.gang__kort h3{font-size:20px;line-height:1.3;margin-top:28px}
.gang__kort p{color:var(--c-dempet);margin-top:8px}
.gang__nr{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--c-linje);font-family:var(--f-mono);font-weight:500;font-size:13px}
.gang__kort--aksent{background:var(--c-aksent);border-color:var(--c-aksent);color:var(--c-paa-aksent)}
.gang__kort--aksent p{color:color-mix(in srgb,var(--c-paa-aksent) 82%,transparent)}
.gang__kort--aksent .gang__nr{border-color:color-mix(in srgb,var(--c-paa-aksent) 35%,transparent)}

/* ---------- Tjenester og priser ---------- */
.tjenester{padding:var(--seksjon) 0;background:var(--c-flate-2)}
.tjenester__inner{max-width:calc(var(--maks) + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.tjenester__hode{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.tjenester__ingress{color:var(--c-dempet);max-width:44ch}
.tjenester__rutenett{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:40px}
.kort{grid-column:span 2;position:relative;display:flex;flex-direction:column;background:var(--c-flate);border-radius:var(--r-kort);overflow:hidden;transition:transform .25s var(--ease)}
.kort--bred{grid-column:span 3}
.kort__bilde{width:100%;aspect-ratio:3/2;object-fit:cover}
.kort--bred .kort__bilde{aspect-ratio:2/1}
.kort__tekst{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.kort__navn{font-size:20px;line-height:1.3}
.kort__beskrivelse{color:var(--c-dempet);margin-top:6px;font-size:16px}
.kort__pris{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:16px;font-family:var(--f-display);font-weight:400;font-size:28px;letter-spacing:-.02em}
.kort__pris .ikon{color:var(--c-aksent-tekst);width:22px;height:22px}
.kort__lenke{position:absolute;inset:0;z-index:var(--z-dekor);border-radius:var(--r-kort)}
.kort--uthevet{outline:1.5px solid var(--c-aksent);outline-offset:-1.5px}
@media (hover:hover){.kort:hover{transform:translateY(-3px)}}

/* ---------- Omtalebånd ---------- */
.omtaler{background:var(--c-aksent);color:var(--c-paa-aksent);padding:var(--seksjon) 0}
.omtaler__inner{max-width:calc(var(--maks) + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.omtaler__tittel{font-family:var(--f-mono);font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}
.omtale{margin-top:24px}
.stjerner--stor{font-size:26px;letter-spacing:4px;color:color-mix(in srgb,var(--c-paa-aksent) 25%,transparent)}
.omtaler .stjerner__fylt{color:var(--c-paa-aksent)}
.omtale__sitat{font-family:var(--f-display);font-stretch:var(--d-strekk);font-weight:var(--d-vekt);letter-spacing:var(--d-spor);font-size:calc(clamp(28px,3.6vw,52px)*var(--d-skala));line-height:1.08;max-width:24ch;margin-top:20px}
.omtale__hvem{margin-top:24px;font-weight:600}
.omtaler__lenke{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:20px;font-weight:600;color:var(--c-paa-aksent)}

/* ---------- Spørsmål og svar ---------- */
.sporsmal{padding:var(--seksjon) 0}
.sporsmal__inner{max-width:calc(820px + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.sporsmal__liste{margin-top:32px;border-top:1px solid var(--c-linje)}
.sp{border-bottom:1px solid var(--c-linje)}
.sp summary{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:16px 0;cursor:pointer;font-weight:600;font-size:18px;list-style:none}
.sp summary::-webkit-details-marker{display:none}
.sp summary::after{content:"";flex:none;width:12px;height:12px;border-right:2px solid var(--c-aksent-tekst);border-bottom:2px solid var(--c-aksent-tekst);transform:rotate(45deg) translateY(-3px);transition:transform .25s var(--ease)}
.sp[open] summary::after{transform:rotate(225deg) translateY(-3px)}
.sp p{color:var(--c-dempet);padding:0 0 20px;max-width:62ch}

/* ---------- Kontakt ---------- */
.kontakt{padding:0 0 var(--seksjon)}
.kontakt__inner{max-width:calc(var(--maks) + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.kontakt__tlf{display:inline-block;margin-top:16px;font-family:var(--f-display);font-stretch:var(--d-strekk);font-weight:var(--d-vekt);font-size:calc(clamp(52px,9vw,128px)*var(--d-skala));line-height:1;text-decoration:none;color:var(--c-tekst)}
.kontakt__rutenett{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:40px;border-top:1px solid var(--c-linje);padding-top:28px}
.kontakt__blokk h3{display:flex;align-items:center;gap:10px;font-size:16px}
.kontakt__blokk h3 .ikon{color:var(--c-aksent-tekst)}
.kontakt__blokk p{color:var(--c-dempet);margin-top:8px;font-size:16px}
.kontakt__blokk a{color:var(--c-tekst);font-weight:600;display:inline-flex;min-height:44px;align-items:center}
.tider{margin-top:8px;font-size:16px;color:var(--c-dempet)}
.tider div{display:flex;justify-content:space-between;gap:12px;padding:2px 0}
.tider dd{color:var(--c-tekst);font-variant-numeric:tabular-nums;white-space:nowrap}

/* ---------- Bunn ---------- */
.bunn{border-top:1px solid var(--c-linje);padding:40px 0 48px}
.bunn__inner{max-width:calc(var(--maks) + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:1fr auto;gap:20px 32px;align-items:center}
.bunn__merke{display:flex;align-items:center;gap:16px;color:var(--c-dempet);font-size:15px}
.bunn__merke img{width:56px;height:56px;border-radius:50%}
.bunn__lenker{display:flex;flex-wrap:wrap;gap:4px 24px}
.bunn__lenker a{display:inline-flex;align-items:center;gap:8px;min-height:44px;text-decoration:none;font-size:15px}
.bunn__kreditt{grid-column:1/-1;font-size:13px;color:var(--c-dempet)}
.bunn__kreditt a{color:var(--c-dempet);display:inline-flex;align-items:center;min-height:44px}

/* ---------- Dokk (mobil) ---------- */
.dokk{display:none}

/* ---------- Designvalg ---------- */
.lab{position:fixed;left:16px;bottom:16px;z-index:var(--z-panel);font:500 14px/1.2 var(--f-tekst)}
.lab__veksle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.18);background:rgba(16,20,30,.72);color:#F3F5F7;backdrop-filter:blur(12px);cursor:pointer;font:inherit}
.lab__panel{position:absolute;left:0;bottom:56px;display:grid;gap:8px;padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.18);background:rgba(16,20,30,.82);backdrop-filter:blur(14px);color:#F3F5F7;min-width:220px}
.lab__gruppe{display:flex;align-items:center;gap:6px}
.lab__merke{width:26px;font-size:16px}
.lab__gruppe button{min-width:44px;min-height:44px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#F3F5F7;font:600 14px var(--f-tekst);cursor:pointer}
.lab__gruppe button[aria-pressed="true"]{background:#E9B335;border-color:#E9B335;color:#10141E}
.lab__signatur{font-size:12px;color:rgba(243,245,247,.75);margin-top:4px}

/* ---------- Mobil ---------- */
@media (max-width:760px){
  :root{--topp:64px}
  body{font-size:16px}
  .topp__nav,.topp .knapp--liten{display:none}
  .topp__ring{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--c-knapp);color:var(--c-paa-knapp)}
  .topp__navn small{font-size:12px}

  .hero--delt .hero__inner{grid-template-columns:1fr;min-height:0;padding-top:8px;padding-bottom:28px;gap:20px}
  .hero__bilde{order:-1;min-height:0;height:auto;aspect-ratio:16/10}
  .hero__tittel{font-size:calc(clamp(44px,13.6vw,64px)*var(--d-skala))}
  .vurdering{margin-bottom:12px}
  .hero__ingress{margin-top:14px;font-size:16px}
  .hero__knapper{margin-top:20px}
  .hero__knapper .knapp{flex:1 1 auto;padding:14px 20px}

  .hero--film{min-height:0}
  .hero__film{height:min(50svh,420px);object-position:60% 50%}
  .hero__slor{background:linear-gradient(0deg,rgba(var(--slor),1) 0%,rgba(var(--slor),1) calc(100% - min(50svh,420px)),rgba(var(--slor),.55) calc(100% - min(50svh,420px) + 90px),rgba(var(--slor),.1) calc(100% - min(50svh,420px) + 220px),rgba(var(--slor),.25) 100%)}
  .hero--film .hero__inner{min-height:0;padding-top:min(41svh,340px);padding-bottom:32px}
  .hero__tittel--stor{font-size:calc(clamp(64px,19vw,92px)*var(--d-skala))}
  .hero__fakta{font-size:18px}

  .fakta__liste{grid-template-columns:1fr 1fr;gap:18px 14px;padding:20px 0 0}
  .fakta__liste li{gap:10px}
  .fakta__liste .ikon{width:20px;height:20px}
  .fakta__liste strong,.fakta__liste b{font-size:19px}
  .fakta__liste span span{font-size:13px}

  .bestill__inner{grid-template-columns:1fr;gap:24px}
  .bestill__tekst{margin-top:12px;font-size:16px}
  .kontaktliste{display:none}
  .bestilling{padding:16px;margin:0 calc(-1*var(--gutter) + 8px)}
  .bestilling__fane{font-size:14px}
  .bestilling__fane .ikon{display:none}
  .rad{gap:10px;padding:10px 12px;min-height:56px}
  .rad__navn small{font-size:13px}
  .steg__sporsmal{font-size:calc(24px*var(--d-skala))}

  .gang__liste{grid-template-columns:1fr;gap:8px;margin-top:20px}
  .gang__kort{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;padding:16px}
  .gang__nr{grid-row:span 2}
  .gang__kort h3{margin-top:0;font-size:17px}
  .gang__kort p{margin-top:0;font-size:15px}

  .tjenester__hode{display:block}
  .tjenester__ingress{margin-top:10px;font-size:15px}
  .tjenester__rutenett{grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
  .kort,.kort--bred{grid-column:span 1}
  .kort:last-child{grid-column:span 2}
  .kort:last-child .kort__bilde{aspect-ratio:21/9}
  .kort--bred .kort__bilde{aspect-ratio:3/2}
  .kort__tekst{padding:12px 12px 14px}
  .kort__navn{font-size:16px}
  .kort__navn .merke{display:none}
  .kort__beskrivelse{display:none}
  .kort__pris{font-size:21px;padding-top:6px}
  .kort__pris .ikon{width:18px;height:18px}

  .omtale__sitat{font-size:calc(28px*var(--d-skala))}

  .sp summary{font-size:16px;min-height:56px;padding:12px 0}
  .sporsmal__liste{margin-top:20px}

  .kontakt__tlf{font-size:calc(60px*var(--d-skala))}
  .kontakt__rutenett{grid-template-columns:1fr 1fr;gap:20px 16px;margin-top:24px}
  .kontakt__blokk h3{font-size:15px}
  .kontakt__blokk p,.tider{font-size:14px}

  .bunn{padding:28px 0 96px}
  .bunn__inner{grid-template-columns:1fr}

  .dokk{display:grid;grid-template-columns:1fr 1.6fr;gap:8px;position:fixed;left:12px;right:12px;bottom:12px;z-index:var(--z-dokk);padding:6px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--c-papir) 90%,transparent);border:1px solid var(--c-linje);backdrop-filter:blur(10px);transform:translateY(140%);transition:transform .3s var(--ease)}
  .dokk.er-synlig{transform:none}
  .dokk__knapp{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:var(--r-pill);text-decoration:none;font-weight:600;font-size:15px;border:1px solid var(--c-linje)}
  .dokk__knapp--fylt{background:var(--c-knapp);color:var(--c-paa-knapp);border-color:var(--c-knapp)}

  .lab{left:auto;right:12px;bottom:12px;transition:bottom .3s var(--ease)}
  .dokk-ute .lab{bottom:84px}
  .lab__veksle-tekst{display:none}
  .lab__panel{left:auto;right:0}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}
