  :root{
    --navy:#1d4a66; --teal:#3a89a8; --cream:#f7f4ea; --lys:#dce9f2; --ink:#22333f;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  form label{display:block;font-weight:600;color:var(--navy);margin:14px 0 4px}
  form input,form textarea{width:100%;max-width:34em;padding:10px 12px;border:2px solid #c7d6e2;border-radius:10px;font:inherit;background:#fff;color:var(--ink)}
  form input:focus,form textarea:focus{outline:none;border-color:var(--teal)}
  .cta.send{display:block;background:var(--navy);color:#fff;border:none;cursor:pointer;margin-top:18px;box-shadow:none}
  .cta.send:disabled{opacity:.6;cursor:default}
  .hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
  #skjema-svar{margin-top:10px;font-weight:600;color:var(--teal)}
  body{overflow-x:hidden;font-family:Outfit,-apple-system,'Segoe UI',sans-serif;color:var(--ink);background:var(--cream);line-height:1.6}
  .wrap{max-width:820px;margin:0 auto;padding:0 20px}
  header{background:linear-gradient(160deg,var(--navy),#2a6a8f);color:#fff;padding:22px 0 48px}
  .topplinje{display:flex;align-items:center;justify-content:space-between;gap:14px;
             flex-wrap:wrap;margin-bottom:30px}
  .navnetrekk{display:flex;align-items:center;gap:11px}
  a.navnetrekk{text-decoration:none;color:#fff}
  .toppknapper{display:flex;flex-wrap:wrap;gap:10px}
  .toppknapper .cta{margin-top:0;padding:10px 18px;font-size:.95rem}
  .nowrap{white-space:nowrap}
  .navnetrekk img{width:auto;height:34px}
  .navnetrekk svg{height:20px;width:auto;display:block}
  .hero{display:flex;align-items:center;gap:32px}
  .ansikt{width:176px;height:176px;flex:none;border-radius:50%;object-fit:cover;
          border:4px solid rgba(255,255,255,.85);box-shadow:0 8px 26px rgba(0,0,0,.3)}
  header h1{font-size:2rem;font-weight:800;letter-spacing:-.5px}
  header .tag{font-size:1.15rem;margin-top:10px;color:#dcebf5;max-width:32em}
  .handling{margin-top:22px}
  .lovnad{display:inline-flex;align-items:center;gap:10px;margin-top:18px;font-weight:700;font-size:1.02rem}
  .lovnad::before{content:"\2713";font-size:1.2rem;color:#8fd8ef}
  .knapper{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
  .cta.sub{margin-left:0}
  .cta{display:inline-block;margin-top:14px;background:#fff;color:var(--navy);font-weight:800;padding:13px 22px;border-radius:999px;text-decoration:none;font-size:1rem;box-shadow:0 4px 14px rgba(0,0,0,.25)}
  .cta.sub{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7);box-shadow:none;margin-left:8px}
  section{padding:44px 0}
  h2{font-size:1.5rem;font-weight:800;color:var(--navy);margin-bottom:18px}
  .band{background:var(--lys)}
  .price{font-size:2rem;font-weight:800;color:var(--navy)}
  .price small{font-size:1rem;font-weight:600;color:var(--ink)}
  ul.clean{list-style:none}
  ul.clean li{padding:6px 0 6px 30px;position:relative}
  ul.clean li::before{content:"✓";position:absolute;left:4px;color:var(--teal);font-weight:800}
  ol.steps{counter-reset:s;list-style:none}
  ol.steps li{counter-increment:s;padding:10px 0 10px 46px;position:relative}
  ol.steps li::before{content:counter(s);position:absolute;left:0;top:8px;width:32px;height:32px;border-radius:50%;background:var(--teal);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
  .kontakt a{color:var(--navy);font-weight:600}
  footer{background:var(--navy);color:#c9dcea;text-align:center;padding:28px 20px;font-size:.9rem}
  footer a{color:#fff}
  .tjenester{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px 28px}
  .tjenester h3{color:var(--teal);font-size:1.05rem;font-weight:800;margin:14px 0 4px}
  .om{display:flex;gap:26px;align-items:center}
  .portrett{width:180px;border-radius:16px;flex-shrink:0;box-shadow:0 4px 14px rgba(29,74,102,.25)}
  .sonetabell{width:100%;border-collapse:collapse;margin-top:6px;background:#fff;
              border-radius:12px;overflow:hidden;box-shadow:0 3px 12px rgba(29,74,102,.12)}
  .sonetabell th,.sonetabell td{text-align:left;padding:9px 14px;border-bottom:1px solid #eaf1f6}
  .sonetabell th{background:var(--navy);color:#fff;font-weight:700;font-size:.95rem}
  .sonetabell td:last-child{text-align:right;font-weight:700;color:var(--navy);white-space:nowrap}
  .sonetabell tr:last-child td{border-bottom:none}
  .tabellnote{margin-top:10px;font-size:.92rem;color:#5b6f7d}
  .prisliste{margin-top:6px}
  .prisliste summary{cursor:pointer;font-weight:700;color:var(--navy);padding:10px 0;
                     list-style:none;display:flex;align-items:center;gap:9px}
  .prisliste summary::-webkit-details-marker{display:none}
  .prisliste summary::before{content:"";width:0;height:0;border-left:7px solid var(--teal);
                             border-top:5px solid transparent;border-bottom:5px solid transparent;
                             transition:transform .15s}
  .prisliste[open] summary::before{transform:rotate(90deg)}
  @media (prefers-reduced-motion:reduce){.prisliste summary::before{transition:none}}
  .adressefelt{position:relative;max-width:34em}
  .forslag{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);
           background:#fff;border:2px solid #c7d6e2;border-radius:10px;overflow:hidden;
           box-shadow:0 8px 22px rgba(29,74,102,.18);list-style:none}
  .forslag li{padding:9px 13px;cursor:pointer;font-size:.96rem;border-bottom:1px solid #eef4f8}
  .forslag li:last-child{border-bottom:none}
  .forslag li:hover,.forslag li[aria-selected=true]{background:var(--lys)}
  /* Status-rader: søker, ingen treff, feil. Ikke klikkbare. */
  .forslag li.status{cursor:default;color:#7b8f9c;display:flex;align-items:center;gap:9px}
  .forslag li.status:hover{background:#fff}
  .snurr{width:18px;height:18px;flex:none;border:3px solid #cfe0ea;border-top-color:var(--teal);
         border-radius:50%;animation:rundt .7s linear infinite}
  @keyframes rundt{to{transform:rotate(360deg)}}
  @media (prefers-reduced-motion:reduce){.snurr{animation-duration:2.4s}}


  .stripe{margin-top:34px}
  .stripe h3{color:var(--navy);font-size:1.05rem;font-weight:800;margin-bottom:12px}
  /* Stripa bryter ut av tekstspalta og går fra kant til kant. 100vw kan bli bredere
     enn innholdet når nettleseren viser en rullefelt, derfor sperren på body. */
  .vindu{overflow:hidden;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);
         -webkit-mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent);
         mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent)}
  .spor{display:flex;width:max-content;animation:gli 46s linear infinite}
  .bilde{flex:none;width:220px;margin-right:16px}
  .bilde img,.bilde video{display:block;width:100%;height:280px;object-fit:cover;border-radius:14px;box-shadow:0 4px 14px rgba(29,74,102,.25);background:#c7d6e2}
  .bilde figcaption{font-size:.85rem;line-height:1.35;color:var(--navy);font-weight:600;margin-top:8px;text-align:center;min-height:2.7em}
  .kopi{display:contents}
  @keyframes gli{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  /* Stripa glir på alle skjermer — den skal vise seg selv fram, ikke vente på at
     noen finner ut at den kan dras. Kun de som har bedt om mindre bevegelse i
     systeminnstillingene får den som en vanlig bla-liste. */
  @media(prefers-reduced-motion:reduce){
    .vindu{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;mask-image:none;-webkit-mask-image:none;padding-bottom:6px}
    .spor{animation:none;width:auto}
    .bilde{scroll-snap-align:center}
    .kopi{display:none}
  }
  @media(max-width:720px){.hero{flex-direction:column;text-align:center;gap:20px}
    .ansikt{width:140px;height:140px}
    .topplinje{flex-direction:column;gap:16px}
    .toppknapper{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
    .toppknapper .cta{margin:0;padding:12px 12px;font-size:.9rem;line-height:1.3;
      display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
    .toppknapper .cta.sub{margin:0}
    header .tag{margin-left:auto;margin-right:auto}
    .handling{text-align:center}.knapper{justify-content:center}}
  @media(max-width:520px){header h1{font-size:1.6rem}.cta.sub{margin-left:0;margin-top:10px}
    .om{flex-direction:column;align-items:stretch;text-align:left;gap:18px}
    .portrett{width:100%;height:230px;object-fit:cover;object-position:center 28%}}

  /* ---- Ny struktur: rolig forside + to undersider -------------------------- */

  /* Litt større brødtekst enn før: målgruppen er folk som synes teknologi er
     vanskelig, og mange av dem leser dårligere enn de vil innrømme. */
  body{font-size:1.05rem}
  .navnetrekk img.navn{height:20px;width:auto;display:block}

  .ringknapp{display:inline-flex;align-items:center;gap:9px;margin-top:0}
  .ringknapp svg{flex:none}

  /* Forsiden: alt sentrert i én smal spalte, ett øye om gangen */
  .forsidehero{text-align:center;max-width:30em;margin:0 auto}
  .forsidehero .ansikt{margin:0 auto 22px}
  .forsidehero h1{font-size:1.9rem;font-weight:800;letter-spacing:-.5px;line-height:1.25}
  .forsidehero .tag{font-size:1.1rem;margin-top:14px;color:#dcebf5;max-width:none}

  .trygghet{list-style:none;margin-top:24px;text-align:left;display:inline-block}
  .trygghet li{padding:8px 0 8px 34px;position:relative;font-weight:700;line-height:1.4}
  .trygghet li::before{content:"\2713";position:absolute;left:2px;top:7px;color:#8fd8ef;font-size:1.25rem}

  /* Veivalgene: store, navngitte flater. Ingenting som må treffes presist. */
  .veivalg{padding:34px 0 10px}
  .veivalg .wrap{display:grid;gap:14px}
  .kort{display:flex;align-items:center;gap:16px;min-height:64px;
        background:#fff;border:2px solid #d7e4ee;border-radius:16px;
        padding:18px 20px;text-decoration:none;color:var(--navy);
        box-shadow:0 3px 12px rgba(29,74,102,.10);transition:border-color .15s,transform .15s}
  .kort:hover,.kort:focus-visible{border-color:var(--teal);transform:translateY(-2px)}
  .kort b{font-size:1.15rem;font-weight:800;display:block}
  .kort small{display:block;font-size:.95rem;color:#5b6f7d;font-weight:600;margin-top:2px}
  .kort .pil{margin-left:auto;color:var(--teal);font-size:1.5rem;font-weight:800;flex:none}
  @media (prefers-reduced-motion:reduce){.kort{transition:none}
                                         .kort:hover,.kort:focus-visible{transform:none}}

  /* Undersidene: samme topp, pluss en vei hjem i begge ender */
  .sidetopp h1{font-size:1.8rem;font-weight:800;letter-spacing:-.5px;margin-top:20px}
  .sidetopp .tag{font-size:1.08rem;margin-top:10px;color:#dcebf5;max-width:34em}
  .tilbake{display:inline-flex;align-items:center;gap:8px;margin-top:18px;
           color:#dcebf5;font-weight:700;text-decoration:none}
  .tilbake:hover{color:#fff;text-decoration:underline}
  .hjem{display:block;text-align:center;margin:34px auto 0;max-width:24em}
  .avslutt{padding-bottom:48px}
  .hjem.sub-lys{background:transparent;color:var(--navy);border:2px solid #c2d4e1;
                box-shadow:none;margin-top:12px}

  /* Siden man står på, merkes så man alltid vet hvor man er */
  .cta.her{background:rgba(255,255,255,.18);border-color:#fff;color:#fff}

  @media(max-width:720px){
    .forsidehero h1{font-size:1.65rem}
    /* Nummeret i full bredde øverst, de to sidene side om side under */
    .toppknapper{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
    .toppknapper .cta{flex-direction:row;font-size:1rem;padding:13px 14px;margin:0}
    .toppknapper .ringknapp{grid-column:1 / -1}
  }

  /* ---- Kjøretillegg-kalkulatoren ------------------------------------------ */
  /* Fast minstehøyde: svaret skal aldri dytte teksten under seg nedover */
  .kjoresvar{margin-top:22px;padding:20px 22px;border-radius:16px;max-width:34em;
             min-height:132px;display:flex;flex-direction:column;justify-content:center}
  .kjoresvar .sum{font-size:2rem;font-weight:800;line-height:1.2;
                  display:flex;align-items:center;gap:12px}
  .kjoresvar .under{font-size:1rem;font-weight:600;margin-top:8px;line-height:1.45}
  .kjoresvar.venter{background:#eef3f7;color:#5b6f7d}
  .kjoresvar.venter .sum{font-size:1.25rem;font-weight:700}
  .kjoresvar.gratis{background:#e2f5e7;color:#1c6b3d}
  .kjoresvar.pris{background:#e2eef7;color:var(--navy)}
  .kjoresvar.feil{background:#fdeeea;color:#8a3a22}
  .kjoresvar.feil .sum{font-size:1.25rem}
  .kjoresvar a{color:inherit;font-weight:800}
  footer a{color:#fff}
  footer > a:first-child{font-weight:700;display:inline-block;margin-bottom:6px}
