/* Tallsmia – design system */
:root{
  --farge-marine:#0B2545; --farge-teal:#0F766E; --farge-teal-lys:#CCFBF1;
  --farge-cta:#F59E0B; --farge-cta-hover:#D97706; --farge-cta-tekst:#0B2545;
  --farge-bakgrunn:#F5F8FA; --farge-flate:#FFFFFF; --farge-tekst:#1F2937;
  --farge-dempet:#4B5563; --farge-kant:#E2E8F0; --farge-suksess:#15803D;
  --font-overskrift:'Plus Jakarta Sans',system-ui,sans-serif;
  --font-brodtekst:'Inter',system-ui,sans-serif;
  --tekst-xs:.75rem; --tekst-sm:.875rem; --tekst-base:1rem; --tekst-lg:1.125rem;
  --tekst-xl:1.375rem; --tekst-2xl:1.75rem; --tekst-3xl:clamp(2rem,5vw,3rem);
  --rom-1:4px; --rom-2:8px; --rom-3:12px; --rom-4:16px; --rom-5:24px; --rom-6:32px; --rom-7:48px; --rom-8:64px;
  --radius-sm:8px; --radius-md:12px; --radius-lg:20px;
  --skygge-kort:0 2px 8px rgba(11,37,69,.08); --maks-bredde:1120px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font-family:var(--font-brodtekst);font-size:var(--tekst-base);color:var(--farge-tekst);background:var(--farge-bakgrunn);line-height:1.6}
h1,h2,h3{font-family:var(--font-overskrift);color:var(--farge-marine);line-height:1.15;margin:0 0 var(--rom-4)}
h1{font-size:var(--tekst-3xl);font-weight:800}h2{font-size:var(--tekst-2xl)}h3{font-size:var(--tekst-xl)}
p{margin:0 0 var(--rom-4)}
a{color:var(--farge-teal)}
a:focus-visible,summary:focus-visible{outline:3px solid var(--farge-marine);outline-offset:2px;border-radius:4px}
.wrap{max-width:var(--maks-bredde);margin:0 auto;padding:0 var(--rom-4)}
.smal{max-width:760px}
.skip{position:absolute;left:-9999px;top:0;background:#fff;color:var(--farge-marine);padding:var(--rom-2) var(--rom-4);z-index:10}
.skip:focus{left:var(--rom-2);top:var(--rom-2)}
.badge{display:inline-block;background:var(--farge-teal-lys);color:var(--farge-marine);font-size:var(--tekst-xs);font-weight:600;padding:2px 10px;border-radius:99px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--rom-3)}
header{background:#fff;border-bottom:1px solid var(--farge-kant)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
header .logo img{height:36px;width:auto;display:block}
header nav{display:none}
header nav a{color:var(--farge-teal);font-weight:600;text-decoration:none;margin-left:var(--rom-5)}
header nav a:hover{text-decoration:underline}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 24px;border-radius:var(--radius-md);font-weight:600;font-size:var(--tekst-lg);text-decoration:none;border:0;cursor:pointer;text-align:center}
.btn-cta{background:var(--farge-cta);color:var(--farge-cta-tekst)}
.btn-cta:hover{background:var(--farge-cta-hover)}
.btn:focus-visible{outline:3px solid var(--farge-marine);outline-offset:2px}
.btn-sek{background:#fff;color:var(--farge-teal);border:2px solid var(--farge-teal);font-size:var(--tekst-base);min-height:44px;padding:10px 18px}
.btn-sek:hover{background:#F0FDFA}
.hero{background:linear-gradient(160deg,#fff 0%,var(--farge-teal-lys) 100%);padding:var(--rom-7) 0}
.hero .ingress{font-size:var(--tekst-lg);color:var(--farge-dempet);max-width:600px;margin-bottom:var(--rom-5)}
.hero .btn-cta{width:100%}
section{padding:var(--rom-7) 0}
.hvit{background:#fff}
.dempet{color:var(--farge-dempet);font-size:var(--tekst-sm)}
.kort{background:#fff;border:1px solid var(--farge-kant);border-radius:var(--radius-lg);padding:var(--rom-5);box-shadow:var(--skygge-kort)}
.kortliste{display:grid;gap:var(--rom-4)}
.kortliste .kort p:last-child{margin:0}
.tips{border:2px solid var(--farge-teal);margin-top:var(--rom-5)}
/* Table – cards on mobile, table from 768px */
.tabell-wrap{margin:var(--rom-5) 0 var(--rom-3)}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--skygge-kort);font-size:var(--tekst-sm)}
caption{text-align:left;font-size:var(--tekst-xs);color:var(--farge-dempet);padding-bottom:var(--rom-2)}
th,td{padding:var(--rom-3);text-align:left;border-bottom:1px solid var(--farge-kant);vertical-align:middle}
th{background:var(--farge-marine);color:#fff;font-family:var(--font-overskrift)}
.tabell-mob thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.tabell-mob tr{display:block;border-bottom:8px solid var(--farge-bakgrunn);padding:var(--rom-3) var(--rom-4)}
.tabell-mob td,.tabell-mob th[scope=row]{display:flex;justify-content:space-between;gap:var(--rom-3);border:0;padding:4px 0;background:none;color:var(--farge-tekst);font-family:var(--font-brodtekst)}
.tabell-mob th[scope=row]{font-size:var(--tekst-base);color:var(--farge-marine)}
.tabell-mob td[data-l]::before,.tabell-mob th[data-l]::before{content:attr(data-l);color:var(--farge-dempet);font-weight:400}
.tabell-mob td.lenke{display:block;padding-top:var(--rom-3)}
.tabell-mob td.lenke .btn{width:100%}
.annonselenke{display:block;font-size:var(--tekst-xs);color:var(--farge-dempet);margin-top:4px;text-align:center}
/* Steps */
.steg{list-style:none;padding:0;margin:0;counter-reset:steg}
.steg li{display:flex;gap:var(--rom-3);padding:var(--rom-3) 0;counter-increment:steg}
.steg li::before{content:counter(steg);color:#fff;background:var(--farge-suksess);border-radius:50%;width:28px;height:28px;flex:none;display:grid;place-items:center;font-weight:700;font-size:var(--tekst-sm)}
.steg strong{color:var(--farge-marine)}
/* FAQ */
details{background:#fff;border:1px solid var(--farge-kant);border-radius:var(--radius-md);padding:var(--rom-4);margin-bottom:var(--rom-3)}
summary{font-weight:600;color:var(--farge-marine);cursor:pointer}
details p{margin:var(--rom-3) 0 0}
footer{background:var(--farge-marine);color:#E2E8F0;padding:var(--rom-7) 0;font-size:var(--tekst-sm)}
footer a{color:#5EEAD4}
footer p{margin:0 0 var(--rom-2)}
.disclosure{border:1px solid #5EEAD4;border-radius:var(--radius-md);padding:var(--rom-4);margin-bottom:var(--rom-5)}
.disclosure p{margin:0}
.footer-lenker{list-style:none;padding:0;margin:0 0 var(--rom-2);display:flex;flex-wrap:wrap;gap:var(--rom-2) var(--rom-4)}
@media(min-width:768px){
  header nav{display:block}
  .hero .btn-cta{width:auto}.hero{padding:var(--rom-8) 0}
  section{padding:var(--rom-8) 0}
  .kortliste{grid-template-columns:repeat(2,1fr)}
  .tabell-mob thead{position:static;width:auto;height:auto;overflow:visible;clip:auto;display:table-header-group}
  .tabell-mob tr{display:table-row;border-bottom:0;padding:0}
  .tabell-mob td,.tabell-mob th[scope=row]{display:table-cell;border-bottom:1px solid var(--farge-kant);padding:var(--rom-3)}
  .tabell-mob th[scope=row]{font-weight:700}
  .tabell-mob td[data-l]::before,.tabell-mob th[data-l]::before{content:none}
  .tabell-mob td.lenke{display:table-cell;width:1%;white-space:nowrap}
  .tabell-mob td.lenke .btn{width:auto}
}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
header .logo{display:block;line-height:0}
.logo-svg{height:36px;width:auto}
/* System fonts – no external font requests (privacy/speed) */
:root{--font-overskrift:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--font-brodtekst:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif}
.mt-5{margin-top:var(--rom-5)}
.annonse-merke{background:#FEF3C7;color:var(--farge-marine);border-left:4px solid var(--farge-cta);padding:var(--rom-2) var(--rom-3);border-radius:var(--radius-sm);font-size:var(--tekst-sm)}
.annonselenke{font-weight:600}
footer a{display:inline-block;padding:10px 0}
a:focus-visible,summary:focus-visible,.btn:focus-visible{outline:3px solid var(--farge-cta);outline-offset:2px;box-shadow:0 0 0 6px var(--farge-marine)}
summary{padding:6px 0}
img{max-width:100%;height:auto}
.prose{padding:var(--rom-7) 0}
.produkt h3{margin-bottom:var(--rom-2)}.produkt .pris{color:var(--farge-dempet);font-size:var(--tekst-sm)}
.produkt .btn{width:100%}
@media(min-width:960px){.kortliste{grid-template-columns:repeat(2,1fr)}}
.sentrert{margin:0 auto}
