:root{
  --krem:#F3EDE3;
  --krem-dyp:#EAE1D3;
  --kull:#1C1B17;
  --gronn:#1E2B25;
  --sand:#D9C3A5;
  --kobber:#B97855;
  --blekk:#1C1B17;
  --dempet:#6B665C;
  --dempet-lys:#A8A196;
  --strek:rgba(28,27,23,.13);
  --strek-lys:rgba(243,237,227,.16);
  --maks:1200px;
  --serif:'Fraunces',Georgia,serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--krem);color:var(--blekk);font-family:var(--sans);
  font-size:17px;line-height:1.65;font-weight:400;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--kobber);outline-offset:3px;border-radius:2px}

.wrap{max-width:var(--maks);margin:0 auto;padding:0 clamp(20px,5vw,56px)}
.bred{max-width:1440px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}

/* ---------- typografi ---------- */
h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.022em;line-height:1.05}
h1{font-size:clamp(2.6rem,6.4vw,5.2rem)}
h2{font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.08}
h3{font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.2;letter-spacing:-.015em}
.sans{font-family:var(--sans);font-weight:700;letter-spacing:-.03em}
.kursiv{font-style:italic}
.aksent{color:var(--kobber)}
.stor-tekst{font-size:clamp(1.05rem,1.6vw,1.22rem);line-height:1.6;color:var(--dempet);max-width:52ch}

/* liten seksjonsetikett med strek som tegnes inn */
.etikett{
  font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--kobber);display:block;margin-bottom:18px;
}
.etikett::after{
  content:"";display:block;height:1px;background:var(--sand);
  width:0;margin-top:12px;transition:width 1s cubic-bezier(.22,.61,.36,1) .15s;
}
.in .etikett::after,.etikett.in::after{width:64px}
.morkt .etikett{color:var(--sand)}
.morkt .etikett::after{background:rgba(217,195,165,.4)}

/* ---------- seksjoner og rytme ---------- */
section{padding:clamp(76px,10vw,140px) 0;position:relative}
.morkt{background:var(--kull);color:var(--krem)}
.morkt .stor-tekst,.morkt .dempet{color:var(--dempet-lys)}
.gronn-flate{background:var(--gronn);color:var(--krem)}
.gronn-flate .stor-tekst{color:var(--dempet-lys)}
.hairline{height:1px;background:var(--strek);border:0}
.morkt .hairline{background:var(--strek-lys)}

/* ---------- knapper ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 30px;border-radius:2px;font-size:.94rem;font-weight:600;
  letter-spacing:.005em;transition:background .25s,color .25s,border-color .25s,transform .25s;
  border:1px solid transparent;white-space:nowrap;
}
.btn .pil{display:inline-block;transition:transform .25s}
.btn:hover .pil{transform:translateX(4px)}
.btn-primar{background:var(--kull);color:var(--krem)}
.btn-primar:hover{background:var(--kobber)}
.btn-linje{border-color:var(--strek);color:var(--blekk)}
.btn-linje:hover{border-color:var(--kull);background:rgba(28,27,23,.04)}
.morkt .btn-primar,.gronn-flate .btn-primar{background:var(--sand);color:var(--kull)}
.morkt .btn-primar:hover,.gronn-flate .btn-primar:hover{background:var(--kobber);color:var(--krem)}
.morkt .btn-linje,.gronn-flate .btn-linje{border-color:rgba(217,195,165,.5);color:var(--sand)}
.morkt .btn-linje:hover,.gronn-flate .btn-linje:hover{border-color:var(--sand);background:rgba(217,195,165,.12);color:var(--krem)}
.tekstlenke{
  display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:.95rem;
  color:var(--kobber);padding-bottom:3px;border-bottom:1px solid transparent;transition:border-color .25s;
}
.tekstlenke:hover{border-color:var(--kobber)}
.tekstlenke .pil{transition:transform .25s}
.tekstlenke:hover .pil{transform:translateX(4px)}

/* ---------- header ---------- */
header{
  position:fixed;inset:0 0 auto;z-index:100;
  transition:background .35s,backdrop-filter .35s,border-color .35s,padding .35s;
  border-bottom:1px solid transparent;padding:6px 0;
}
header.festet{
  background:rgba(243,237,227,.86);backdrop-filter:blur(14px) saturate(1.2);
  border-bottom-color:var(--strek);
}
.topp{display:flex;align-items:center;justify-content:space-between;gap:24px;height:70px}
.merke img{height:30px;width:auto}
.meny{display:flex;align-items:center;gap:clamp(18px,2.4vw,34px)}
.meny a:not(.btn){
  font-size:.92rem;font-weight:500;position:relative;padding:4px 0;color:var(--blekk);
}
.meny a:not(.btn)::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--kobber);transition:width .28s;
}
.meny a:not(.btn):hover::after{width:100%}
.meny .btn{padding:12px 24px;font-size:.88rem}
.burger{display:none;width:44px;height:44px;flex-direction:column;justify-content:center;gap:5px;align-items:flex-end}
.burger span{display:block;height:1.5px;width:24px;background:var(--kull);transition:transform .3s,opacity .3s,width .3s}
.burger span:nth-child(2){width:18px}
.meny.apen ~ .burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg);width:24px}
.meny.apen ~ .burger span:nth-child(2){opacity:0}
.meny.apen ~ .burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* ---------- hero ---------- */
.hero{
  padding:clamp(130px,17vh,190px) 0 clamp(70px,9vw,110px);
  position:relative;overflow:hidden;
}
.hero-logo-bak{
  position:absolute;right:-4%;top:50%;transform:translateY(-50%);
  width:min(720px,62vw);opacity:.07;pointer-events:none;user-select:none;z-index:0;
}
.hero-rutenett{
  display:grid;grid-template-columns:1fr;
  gap:clamp(40px,6vw,84px);align-items:center;position:relative;
}
.hero h1{margin:6px 0 0;max-width:none}
.hero h1 .linje{display:block;overflow:hidden}
.hero h1 .linje > span{display:block}
.hero-under{margin-top:26px;font-size:clamp(1.05rem,1.55vw,1.2rem);color:var(--dempet);max-width:52ch;line-height:1.62}
.hero-knapper{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}

/* ---------- kundebånd ---------- */
.baand-seksjon{padding:clamp(40px,5vw,62px) 0;border-top:1px solid var(--strek);border-bottom:1px solid var(--strek)}
.baand-tittel{
  text-align:center;font-size:.72rem;font-weight:600;letter-spacing:.22em;
  text-transform:uppercase;color:var(--dempet);margin-bottom:34px;
}
.baand{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
}
.spor{display:flex;width:max-content;animation:rull 30s linear infinite}
.baand:hover .spor{animation-play-state:paused}
.sett{display:flex;align-items:center;gap:clamp(52px,7.5vw,104px);padding-right:clamp(52px,7.5vw,104px);flex:none}
.sett img{width:auto;filter:grayscale(1) contrast(.42) brightness(1.05);opacity:.62;transition:filter .35s,opacity .35s}
.sett img:hover{filter:none;opacity:1}
@keyframes rull{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

/* ---------- resultater ---------- */
.res-rutenett{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,64px);margin-top:clamp(44px,5vw,70px)}
.res{border-top:1px solid var(--strek-lys);padding-top:26px}
.res .tall{
  font-family:var(--serif);font-weight:600;letter-spacing:-.035em;
  font-size:clamp(2.7rem,5.6vw,4.4rem);line-height:1;color:var(--sand);
  font-variant-numeric:tabular-nums;
}
.res p{margin-top:14px;font-size:.98rem;color:var(--dempet-lys);max-width:30ch;line-height:1.6}
.res-fot{margin-top:clamp(40px,5vw,62px);font-size:.88rem;color:var(--dempet-lys);max-width:64ch}

/* ---------- tjenester ---------- */
.tj{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);
  gap:clamp(32px,5vw,80px);align-items:center;
  padding:clamp(48px,6vw,76px) 0;border-top:1px solid var(--strek);
}
.tj:nth-child(even) .tj-tekst{order:2}
.tj-nr{font-size:.74rem;font-weight:600;letter-spacing:.2em;color:var(--kobber);margin-bottom:14px}
.tj h3{margin-bottom:14px}
.tj p{color:var(--dempet);max-width:48ch;line-height:1.62}
.tj ul{list-style:none;margin-top:22px;display:flex;flex-direction:column;gap:11px}
.tj li{font-size:.94rem;color:var(--dempet);padding-left:22px;position:relative}
.tj li::before{
  content:"";position:absolute;left:0;top:.62em;width:11px;height:1px;background:var(--sand);
}
.merkelapp{
  display:inline-block;font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--kobber);border:1px solid rgba(185,120,85,.34);border-radius:999px;padding:5px 13px;margin-left:12px;vertical-align:middle;
}
.tj-bilde{position:relative;overflow:hidden;border-radius:3px;background:var(--krem-dyp)}
.tj-bilde img{width:100%;transition:transform .7s cubic-bezier(.22,.61,.36,1)}
.tj-bilde:hover img{transform:scale(1.03)}

/* ---------- arbeid ---------- */
.arb-rutenett{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(22px,3vw,34px);margin-top:clamp(44px,5vw,66px)}
.arb{
  background:var(--krem);border:1px solid var(--strek);border-radius:3px;overflow:hidden;
  display:flex;flex-direction:column;transition:transform .3s,border-color .3s;
}
.arb:hover{transform:translateY(-4px);border-color:rgba(185,120,85,.4)}
.arb-bilde{position:relative;overflow:hidden;background:var(--krem-dyp);border:0;padding:0;width:100%;display:block;cursor:zoom-in}
.arb-bilde img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top center;transition:transform .7s cubic-bezier(.22,.61,.36,1)}
.arb-bilde:hover img{transform:scale(1.025)}
.arb-bilde.tom{aspect-ratio:16/10;display:grid;place-items:center;cursor:default;background:var(--krem-dyp)}
.arb-bilde.tom span{font-size:.84rem;color:var(--dempet);letter-spacing:.04em}
.lupe{
  position:absolute;right:14px;bottom:14px;background:rgba(28,27,23,.82);color:var(--krem);
  font-size:.76rem;font-weight:600;padding:7px 13px;border-radius:2px;opacity:0;transition:opacity .28s;
}
.arb-bilde:hover .lupe{opacity:1}
.arb-kropp{padding:26px 26px 28px;display:flex;flex-direction:column;flex:1}
.arb-logo{
  height:24px;width:auto;max-width:150px;object-fit:contain;object-position:left center;
  margin-bottom:16px;opacity:.88;
}
/* optisk balanse — logoene har svært ulike proporsjoner */
.arb-logo[data-merke="metro"]{height:15px;max-width:160px}
.arb-logo[data-merke="hansvik"]{height:19px}
.arb-logo[data-merke="wigum"]{height:30px}
.arb-logo[data-merke="multi"]{height:26px}
.arb-logo[data-merke="kaldalmoen"]{height:48px}
.arb-tag{
  font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--kobber);margin-bottom:9px;
}
.arb h3{font-size:1.28rem;margin-bottom:10px}
.arb p{font-size:.93rem;color:var(--dempet);line-height:1.6}
.arb-tall{display:flex;gap:26px;margin-top:20px;padding-top:18px;border-top:1px solid var(--strek);flex-wrap:wrap}
.arb-tall div{font-size:.78rem;color:var(--dempet)}
.arb-tall strong{display:block;font-family:var(--serif);font-size:1.02rem;color:var(--blekk);font-weight:600}
.arb-lenker{display:flex;gap:18px;flex-wrap:wrap;margin-top:auto;padding-top:18px}
.arb-lenker a{font-size:.85rem;font-weight:600;color:var(--kobber);border-bottom:1px solid transparent;transition:border-color .25s}
.arb-lenker a:hover{border-color:var(--kobber)}

/* ---------- pakker ---------- */
.pk-rutenett{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.6vw,30px);margin-top:clamp(44px,5vw,68px)}
.pk{
  border:1px solid var(--strek-lys);border-radius:3px;padding:clamp(28px,3vw,38px);
  display:flex;flex-direction:column;transition:transform .3s,border-color .3s,background .3s;
}
.pk:hover{transform:translateY(-4px);border-color:rgba(217,195,165,.46);background:rgba(243,237,227,.035)}
.pk.fremhevet{background:rgba(243,237,227,.055);border-color:rgba(217,195,165,.4)}
.pk-topp{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.pk h3{font-size:1.32rem}
.pk-stjerne{font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sand)}
.pk .pris{
  font-family:var(--serif);font-size:clamp(2rem,3.2vw,2.5rem);font-weight:600;
  letter-spacing:-.03em;margin:20px 0 4px;color:var(--krem);
}
.pk .pris small{font-family:var(--sans);font-size:.82rem;font-weight:500;color:var(--dempet-lys);letter-spacing:0}
.pk .hvem{font-size:.92rem;color:var(--dempet-lys);line-height:1.6;margin-top:10px}
.pk ul{list-style:none;margin:24px 0 30px;display:flex;flex-direction:column;gap:11px}
.pk li{font-size:.91rem;color:var(--dempet-lys);padding-left:20px;position:relative;line-height:1.5}
.pk li::before{content:"";position:absolute;left:0;top:.6em;width:9px;height:1px;background:var(--sand)}
.pk .btn{margin-top:auto;justify-content:center}
.pk-fot{
  margin-top:clamp(34px,4vw,50px);display:flex;align-items:center;justify-content:space-between;
  gap:22px;flex-wrap:wrap;padding-top:30px;border-top:1px solid var(--strek-lys);
}
.pk-fot p{font-size:.92rem;color:var(--dempet-lys);max-width:52ch}
.pk-fot .tekstlenke{color:var(--sand);font-size:1.02rem}
.pk-fot .tekstlenke:hover{border-color:var(--sand)}

/* ---------- om ---------- */
.om-rutenett{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(36px,5.5vw,80px);align-items:center}
.om-bilde{position:relative;background:var(--krem-dyp);border-radius:3px;aspect-ratio:4/5;overflow:hidden;display:grid;place-items:center}
.om-bilde img.portrett{width:100%;height:100%;object-fit:cover}
.om-bilde img.plassholder{width:44%;opacity:.26}
.om-bilde .merknad{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-size:.76rem;color:var(--dempet)}
.om-sitat{
  font-family:var(--serif);font-size:clamp(1.7rem,3.2vw,2.5rem);font-weight:600;
  line-height:1.16;letter-spacing:-.025em;margin-bottom:26px;
}
.om p{color:var(--dempet);margin-bottom:16px;max-width:56ch;line-height:1.68}
.signatur{
  font-family:var(--serif);font-style:italic;font-size:1.6rem;color:var(--kobber);
  margin-top:26px;display:inline-block;
}

/* ---------- faq ---------- */
.faq{max-width:840px;margin:clamp(40px,5vw,60px) auto 0}
.sp{border-bottom:1px solid var(--strek)}
.sp:first-child{border-top:1px solid var(--strek)}
.sp button{
  width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:22px;
  padding:26px 0;text-align:left;font-size:1.06rem;font-weight:500;line-height:1.45;
  transition:color .25s;
}
.sp button:hover{color:var(--kobber)}
.pluss{flex:none;width:19px;height:19px;position:relative;margin-top:4px}
.pluss::before,.pluss::after{
  content:"";position:absolute;background:var(--kobber);
  transition:transform .32s cubic-bezier(.22,.61,.36,1),opacity .32s;
}
.pluss::before{left:0;top:9px;width:19px;height:1.5px}
.pluss::after{left:9px;top:0;width:1.5px;height:19px}
.sp.apen .pluss::after{transform:rotate(90deg);opacity:0}
.sp-svar{overflow:hidden;height:0;transition:height .3s cubic-bezier(.22,.61,.36,1)}
.sp-svar p{padding:0 46px 28px 0;color:var(--dempet);line-height:1.68}

/* ---------- kontakt ---------- */
.kontakt-stor{text-align:center;max-width:900px;margin:0 auto}
.kontakt-stor h2{font-size:clamp(2.2rem,5.4vw,4rem)}
.kontakt-knapper{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:38px}
.kontakt-info{
  display:grid;grid-template-columns:repeat(4,1fr);gap:26px;
  margin-top:clamp(52px,6vw,78px);padding-top:38px;border-top:1px solid var(--strek-lys);text-align:left;
}
.kontakt-info div span{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sand);margin-bottom:9px}
.kontakt-info div a,.kontakt-info div p{font-size:.96rem;color:var(--krem);line-height:1.5}
.kontakt-info div a:hover{color:var(--sand)}
.forbered{
  max-width:820px;margin:clamp(48px,6vw,72px) auto 0;text-align:left;
  border:1px solid var(--strek-lys);border-radius:3px;padding:clamp(28px,3.4vw,40px);
}
.forbered h3{font-size:1.24rem;margin-bottom:10px}
.forbered > p{font-size:.95rem;color:var(--dempet-lys);margin-bottom:22px;line-height:1.62}
.forbered ul{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:13px 30px}
.forbered li{font-size:.92rem;color:var(--dempet-lys);padding-left:20px;position:relative;line-height:1.55}
.forbered li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:1px;background:var(--sand)}
.forbered li strong{color:var(--krem);font-weight:600}

/* ---------- footer ---------- */
footer{background:var(--gronn);color:var(--krem);padding:clamp(56px,6vw,80px) 0 34px}
.fot-rutenett{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px}
.fot-merke img{height:30px;width:auto;margin-bottom:18px;filter:brightness(0) invert(1);opacity:.9}
.fot-merke p{font-size:.92rem;color:var(--dempet-lys);max-width:30ch;line-height:1.6}
.fot-kol h4{font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--sand);margin-bottom:16px}
.fot-kol a,.fot-kol p{display:block;font-size:.92rem;color:var(--dempet-lys);margin-bottom:10px;transition:color .25s}
.fot-kol a:hover{color:var(--krem)}
.fot-bunn{
  display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;
  margin-top:clamp(40px,5vw,58px);padding-top:26px;border-top:1px solid var(--strek-lys);
  font-size:.84rem;color:var(--dempet-lys);
}
.fot-bunn a{color:var(--dempet-lys)}
.fot-bunn a:hover{color:var(--sand);text-decoration:underline;text-underline-offset:3px}

/* ---------- pakkeside ---------- */
.p-hero{padding:clamp(130px,16vh,175px) 0 clamp(50px,6vw,74px)}
.sti{font-size:.84rem;color:var(--dempet);margin-bottom:22px}
.sti a{color:var(--kobber)}
.sti a:hover{text-decoration:underline;text-underline-offset:3px}
.p-gruppe{padding:clamp(56px,7vw,92px) 0;border-top:1px solid var(--strek)}
.p-gruppe-topp{max-width:620px;margin-bottom:clamp(36px,4vw,54px)}
.p-rutenett{display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));gap:clamp(20px,2.6vw,28px)}
.p-kort{
  border:1px solid var(--strek);border-radius:3px;padding:clamp(26px,3vw,34px);
  display:flex;flex-direction:column;background:rgba(255,255,255,.4);
  transition:transform .3s,border-color .3s;
}
.p-kort:hover{transform:translateY(-4px);border-color:rgba(185,120,85,.4)}
.p-kort h3{font-size:1.24rem}
.p-kort .pris{font-family:var(--serif);font-size:1.85rem;font-weight:600;letter-spacing:-.03em;margin:16px 0 2px;color:var(--kobber)}
.p-kort .pris small{font-family:var(--sans);font-size:.8rem;font-weight:500;color:var(--dempet);letter-spacing:0}
.p-kort .hvem{font-size:.91rem;color:var(--dempet);line-height:1.6;margin-top:10px}
.p-kort ul{list-style:none;margin:22px 0 28px;display:flex;flex-direction:column;gap:10px}
.p-kort li{font-size:.9rem;color:var(--dempet);padding-left:19px;position:relative;line-height:1.5}
.p-kort li::before{content:"";position:absolute;left:0;top:.6em;width:9px;height:1px;background:var(--kobber);opacity:.6}
.p-kort .btn{margin-top:auto;justify-content:center}

/* ---------- lightbox ---------- */
.lys{position:fixed;inset:0;z-index:300;display:none;background:rgba(18,17,14,.95);padding:24px}
.lys.apen{display:grid;place-items:center}
.lys img{max-width:min(1100px,92vw);max-height:84vh;object-fit:contain;border-radius:3px}
.lys-lukk{position:absolute;top:20px;right:24px;color:var(--krem);font-size:1.5rem;width:44px;height:44px}
.lys-nav{position:absolute;top:50%;transform:translateY(-50%);color:var(--krem);font-size:2rem;width:56px;height:56px;opacity:.65;transition:opacity .25s}
.lys-nav:hover{opacity:1}
.lys-forrige{left:16px}.lys-neste{right:16px}
.lys-teller{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:var(--dempet-lys);font-size:.84rem}

/* ---------- modal ---------- */
.modal{position:fixed;inset:0;z-index:250;display:none;background:rgba(18,17,14,.72);padding:24px;overflow-y:auto}
.modal.apen{display:block}
.modal-boks{
  background:var(--krem);max-width:720px;margin:6vh auto;padding:clamp(30px,4vw,48px);
  border-radius:3px;position:relative;
}
.modal-boks h2{font-size:1.8rem;margin-bottom:6px}
.modal-boks h3{font-size:1.05rem;margin:26px 0 8px}
.modal-boks p,.modal-boks li{font-size:.94rem;color:var(--dempet);line-height:1.65;margin-bottom:10px}
.modal-boks ul{margin:0 0 10px 20px}
.modal-dato{font-size:.8rem;color:var(--dempet);margin-bottom:22px}
.modal-lukk{position:absolute;top:18px;right:20px;font-size:1.3rem;width:40px;height:40px;color:var(--dempet)}

/* ---------- samtykke ---------- */
.samtykke{
  position:fixed;left:0;right:0;bottom:0;z-index:400;display:none;
  background:var(--krem);border-top:1px solid var(--strek);padding:24px;
  box-shadow:0 -10px 40px rgba(28,27,23,.08);
}
.samtykke.vis{display:block}
.samtykke-inn{max-width:var(--maks);margin:0 auto}
.samtykke p{font-size:.92rem;line-height:1.6;max-width:76ch}
.samtykke a{color:var(--kobber);text-decoration:underline;text-underline-offset:2px}
.samtykke-knapper{display:flex;gap:11px;flex-wrap:wrap;margin-top:18px}
.samtykke-knapper .btn{padding:12px 26px;font-size:.9rem}

/* ---------- scroll reveal ---------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .74s cubic-bezier(.22,.61,.36,1),transform .74s cubic-bezier(.22,.61,.36,1)}
.rv.in{opacity:1;transform:none}
.hero .last{opacity:0;transform:translateY(22px);animation:innfra .8s cubic-bezier(.22,.61,.36,1) forwards}
@keyframes innfra{to{opacity:1;transform:none}}

/* ---------- responsiv ---------- */
@media(max-width:1000px){
  .hero-rutenett,.om-rutenett,.tj{grid-template-columns:1fr}
  .tj:nth-child(even) .tj-tekst{order:0}
  .arb-rutenett,.pk-rutenett,.res-rutenett{grid-template-columns:1fr}
  .kontakt-info{grid-template-columns:repeat(2,1fr)}
  .fot-rutenett{grid-template-columns:1fr 1fr}
  .hero-logo-bak{opacity:.05;width:90%;right:-15%}
}
@media(max-width:720px){
  body{font-size:16px}
  .burger{display:flex}
  .meny{
    position:fixed;inset:0 0 auto;top:0;background:var(--krem);
    flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;
    padding:96px 28px 40px;transform:translateY(-102%);transition:transform .42s cubic-bezier(.22,.61,.36,1);
    box-shadow:0 18px 44px rgba(28,27,23,.12);height:auto;
  }
  .meny.apen{transform:none}
  .meny a:not(.btn){font-family:var(--serif);font-size:1.7rem;padding:9px 0}
  .meny .btn{margin-top:18px;padding:14px 28px;font-size:.95rem}
  .forbered ul{grid-template-columns:1fr}
  .kontakt-info,.fot-rutenett{grid-template-columns:1fr}
    .sp-svar p{padding-right:16px}
  .lys-nav{width:44px;font-size:1.6rem}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .rv{opacity:1;transform:none}
  .hero .last{opacity:1;transform:none}
  .spor{animation:none;justify-content:center;flex-wrap:wrap;width:100%;gap:34px}
  .sett[aria-hidden="true"]{display:none}
  .etikett::after{width:64px}
}

/* ---------- innholdsrutenett ---------- */
.innhold-rutenett{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,22px);margin-top:clamp(40px,5vw,62px)}
.innhold-kort{
  display:block;padding:0;border:1px solid var(--strek-lys);border-radius:3px;overflow:hidden;
  background:none;cursor:zoom-in;transition:transform .3s,border-color .3s;
}
.innhold-kort:hover{transform:translateY(-4px);border-color:rgba(217,195,165,.46)}
.innhold-kort img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .7s cubic-bezier(.22,.61,.36,1)}
.innhold-kort:hover img{transform:scale(1.03)}
@media(max-width:1000px){.innhold-rutenett{grid-template-columns:repeat(2,1fr)}}

/* ---------- pakkeside v2 ---------- */
.spor-velger{
  display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,24px);
  margin-top:clamp(36px,4vw,52px);
}
.spor-kort{border-top:1px solid var(--kobber);padding-top:20px}
.spor-kort h3{font-size:1.15rem;margin-bottom:8px}
.spor-kort p{font-size:.92rem;color:var(--dempet);line-height:1.6}
.spor-kort strong{color:var(--blekk);font-weight:600}

.p-kort .pris-rad{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:16px 0 2px}
.p-kort .pris-rad .pris{margin:0}
.p-kort .drift{font-size:.9rem;color:var(--dempet);font-weight:500}
.p-kort .drift strong{color:var(--blekk);font-weight:600}
.p-kort .modul{
  display:inline-block;font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--kobber);margin-bottom:10px;
}
.p-kort.bred{grid-column:1/-1}
@media(min-width:700px){.p-kort.bred{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:36px;align-items:start}}
.p-kort.bred ul{margin-top:0}
.p-kort.bred .btn{grid-column:1;margin-top:20px}

.drift-boks{
  margin-top:clamp(28px,3.5vw,44px);border:1px solid var(--strek);border-radius:3px;
  padding:clamp(26px,3vw,36px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:34px;
  background:rgba(255,255,255,.4);
}
.drift-boks h3{font-size:1.2rem;margin-bottom:10px}
.drift-boks > div > p{font-size:.93rem;color:var(--dempet);line-height:1.62}
.drift-boks ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.drift-boks li{font-size:.93rem;color:var(--dempet);padding-left:22px;position:relative;line-height:1.55}
.drift-boks li::before{content:"";position:absolute;left:0;top:.62em;width:11px;height:1px;background:var(--kobber)}

.ptabell{width:100%;border-collapse:collapse;margin-top:clamp(28px,3.5vw,44px);font-size:.93rem}
.ptabell th,.ptabell td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--strek);vertical-align:top}
.ptabell th{font-weight:600;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dempet)}
.ptabell th.pk-navn{font-family:var(--serif);font-size:1.15rem;letter-spacing:-.01em;text-transform:none;color:var(--blekk)}
.ptabell th .pris{display:block;font-family:var(--serif);font-size:1.5rem;font-weight:600;color:var(--kobber);letter-spacing:-.02em;margin-top:4px}
.ptabell th .pris small{font-family:var(--sans);font-size:.78rem;font-weight:500;color:var(--dempet);letter-spacing:0}
.ptabell td:first-child{color:var(--dempet)}
.ptabell td:not(:first-child){font-weight:500}
.ptabell .ja{color:var(--kobber);font-weight:700}
.ptabell .nei{color:var(--dempet-lys)}
.ptabell-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.ptabell tfoot td{font-size:.84rem;color:var(--dempet);font-weight:400;border-bottom:0;padding-top:18px}

.vilkar-rutenett{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,3vw,40px);margin-top:clamp(36px,4vw,52px)}
.vilkar{border-top:1px solid var(--strek-lys);padding-top:20px}
.vilkar h3{font-size:1.08rem;margin-bottom:10px}
.vilkar p,.vilkar li{font-size:.92rem;color:var(--dempet-lys);line-height:1.6}
.vilkar ul{list-style:none;display:flex;flex-direction:column;gap:8px;margin-top:6px}
.vilkar li{padding-left:18px;position:relative}
.vilkar li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:1px;background:var(--sand)}

@media(max-width:860px){
  .spor-velger,.vilkar-rutenett{grid-template-columns:1fr}
  .drift-boks{grid-template-columns:1fr;gap:22px}
}

/* =================================================================
   FLERSIDE-STRUKTUR (sept 2026)
   ================================================================= */

/* aktiv side i menyen */
.meny a[aria-current="page"]:not(.btn)::after{width:100%}

/* undersidetopp */
.side-topp{padding:clamp(122px,15vh,160px) 0 clamp(40px,5vw,60px)}
.side-topp h1{font-size:clamp(2.3rem,5.4vw,4rem);max-width:18ch}
.sti{font-size:.84rem;color:var(--dempet);margin-bottom:22px}
.sti a{color:var(--kobber)}
.sti a:hover{text-decoration:underline;text-underline-offset:3px}

/* kundekort: sitat og resultat */
.arb-bevis{margin-top:18px;padding:16px 18px;border:1px dashed rgba(185,120,85,.55);border-radius:3px;background:rgba(185,120,85,.05)}
.arb-bevis blockquote{font-family:var(--serif);font-style:italic;font-size:1.02rem;line-height:1.45;color:var(--blekk)}
.arb-bevis cite{display:block;font-style:normal;font-family:var(--sans);font-size:.8rem;color:var(--dempet);margin-top:6px}
.arb-bevis .resultat{margin-top:12px;padding-top:12px;border-top:1px solid var(--strek);font-size:.9rem;font-weight:600;color:var(--kobber)}
.arb-rutenett.tre{grid-template-columns:repeat(3,1fr)}
.arb-rutenett.tre .arb-bilde img{aspect-ratio:16/11}
.se-alt{margin-top:clamp(28px,3.5vw,40px);display:flex;justify-content:flex-end}

/* tynn tallstripe */
.tallstripe{padding:clamp(26px,3.4vw,40px) 0;border-top:1px solid var(--strek);border-bottom:1px solid var(--strek)}
.tallstripe-rad{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,3vw,40px);text-align:center}
.tallstripe .tall{font-family:var(--serif);font-weight:600;letter-spacing:-.03em;font-size:clamp(1.5rem,3.4vw,2.4rem);line-height:1;color:var(--blekk);font-variant-numeric:tabular-nums}
.tallstripe .tall small{font-size:.55em}
.tallstripe p{margin-top:8px;font-size:clamp(.74rem,1.4vw,.9rem);color:var(--dempet);line-height:1.35}

/* smalt felt med én knapp */
.cta-felt{padding:clamp(38px,5vw,60px) 0}
.cta-felt-inn{display:flex;align-items:center;justify-content:space-between;gap:20px 40px;flex-wrap:wrap}
.cta-felt h2{font-size:clamp(1.45rem,3vw,2.2rem)}

/* om, kort utgave på forsiden */
.om-kort .om-rutenett{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
.om-kort .om-bilde{aspect-ratio:1/1}
.om-kort .signatur{margin-top:14px}
.om-kort .tekstlenke{margin-top:20px}

/* kompakte tjenester */
.tjk-rutenett{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,28px);margin-top:clamp(36px,4.5vw,56px)}
.tjk{border:1px solid var(--strek);border-radius:3px;overflow:hidden;background:rgba(255,255,255,.35);display:flex;flex-direction:column;transition:transform .3s,border-color .3s}
.tjk:hover{transform:translateY(-4px);border-color:rgba(185,120,85,.4)}
.tjk-bilde{aspect-ratio:16/9;overflow:hidden;background:var(--krem-dyp)}
.tjk-bilde img{width:100%;height:100%;object-fit:cover;object-position:center 62%;transition:transform .7s cubic-bezier(.22,.61,.36,1)}
.tjk:hover .tjk-bilde img{transform:scale(1.03)}
.tjk-kropp{padding:20px 22px 24px}
.tjk .tj-nr{margin-bottom:8px}
.tjk h3{font-size:1.2rem;margin-bottom:8px}
.tjk p{font-size:.92rem;color:var(--dempet);line-height:1.58}
.tjk ul{list-style:none;margin-top:14px;display:flex;flex-direction:column;gap:7px}
.tjk li{font-size:.86rem;color:var(--dempet);padding-left:18px;position:relative;line-height:1.45}
.tjk li::before{content:"";position:absolute;left:0;top:.6em;width:9px;height:1px;background:var(--sand)}
.tjk .merkelapp{margin-left:8px;font-size:.6rem;padding:3px 10px}

/* kontaktknapp nederst på undersider */
.side-cta{text-align:center}
.side-cta h2{font-size:clamp(1.9rem,4.4vw,3.1rem);max-width:20ch;margin:0 auto}
.side-cta .kontakt-knapper{margin-top:30px}

@media(max-width:1000px){
  .arb-rutenett.tre{grid-template-columns:1fr}
  .tjk-rutenett{grid-template-columns:repeat(2,1fr)}
  .om-kort .om-rutenett{grid-template-columns:1fr}
}
@media(max-width:720px){
  .tjk-rutenett{grid-template-columns:1fr}
  .tjk{flex-direction:row}
  .tjk-bilde{aspect-ratio:auto;width:34%;flex:none}
  .tjk-kropp{padding:16px 16px 18px}
  .tjk h3{font-size:1.08rem}

  .arb-rutenett.tre .arb-bilde img{aspect-ratio:16/9}
  .om-kort .om-bilde{aspect-ratio:auto;height:180px;max-width:none}
  .om-kort .om-bilde img.plassholder{width:92px;height:auto}
  .cta-felt-inn{flex-direction:column;align-items:flex-start}
  .fot-rutenett{grid-template-columns:1fr 1fr;gap:26px 20px}
  .fot-merke{grid-column:1/-1}
}

/* forsidens kundekort: sveipbar rad på mobil */
@media(max-width:720px){
  .arb-rutenett.tre{
    display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;
    margin:clamp(34px,5vw,52px) calc(-1 * clamp(20px,5vw,56px)) 0;
    padding:0 clamp(20px,5vw,56px) 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  .arb-rutenett.tre::-webkit-scrollbar{display:none}
  .arb-rutenett.tre > .arb{flex:0 0 84%;scroll-snap-align:start;scroll-margin-left:clamp(20px,5vw,56px)}
  .arb-rutenett.tre > .arb:hover{transform:none}
  .sveip-hint{display:block}
}
.sveip-hint{display:none;font-size:.8rem;color:var(--dempet);margin-top:10px}

/* forsidens pakker: sveipbar rad på mobil */
.sveip-hint-lys{color:var(--dempet-lys)}
@media(max-width:720px){
  .pk-rutenett.sveip{
    display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;
    margin-left:calc(-1 * clamp(20px,5vw,56px));margin-right:calc(-1 * clamp(20px,5vw,56px));
    padding:0 clamp(20px,5vw,56px) 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  .pk-rutenett.sveip::-webkit-scrollbar{display:none}
  .pk-rutenett.sveip > .pk{flex:0 0 84%;scroll-snap-align:start;scroll-margin-left:clamp(20px,5vw,56px)}
  .pk-rutenett.sveip > .pk:hover{transform:none}
  #pakker .pk-fot{flex-direction:column;align-items:flex-start}
}

/* sveip-hint vises bare på mobil (må stå sist for å overstyre display:none over) */
@media(max-width:720px){.sveip-hint{display:block}}

/* ---------- tilbudsskjema ---------- */
.tilbud-seksjon{border-top:1px solid var(--strek)}
.plassholder-tekst{border:1px dashed rgba(185,120,85,.55);background:rgba(185,120,85,.05);padding:12px 16px;border-radius:3px;color:var(--kobber)}
.skjema{max-width:760px;margin-top:clamp(34px,4vw,50px);background:rgba(255,255,255,.5);border:1px solid var(--strek);border-radius:3px;padding:clamp(22px,3.4vw,40px)}
.skjema-rad{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
.felt{margin-bottom:20px;border:0;padding:0;min-width:0}
.felt label,.felt legend{display:block;font-size:.88rem;font-weight:600;margin-bottom:7px;color:var(--blekk)}
.paakrevd{color:var(--kobber)}
.valgfritt{font-weight:400;color:var(--dempet)}
.felt input[type=text],.felt input[type=tel],.felt input[type=email],.felt select,.felt textarea{
  width:100%;font:inherit;font-size:16px;color:var(--blekk);background:#fff;
  border:1px solid rgba(28,27,23,.22);border-radius:3px;padding:12px 14px;min-height:48px;
  transition:border-color .2s,box-shadow .2s;
}
.felt textarea{resize:vertical;min-height:120px;line-height:1.55}
.felt select{appearance:none;-webkit-appearance:none;padding-right:40px;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--kobber) 50%),linear-gradient(135deg,var(--kobber) 50%,transparent 50%);
  background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-size:5px 5px;background-repeat:no-repeat}
.felt input:focus,.felt select:focus,.felt textarea:focus{outline:none;border-color:var(--kobber);box-shadow:0 0 0 3px rgba(185,120,85,.18)}
.har-feil input,.har-feil select{border-color:#9E3A2A}
.feil{font-size:.83rem;color:#9E3A2A;margin-top:6px;min-height:0}
.feil:empty{display:none}
.avkryss{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}
.avkryss label{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:.93rem;margin:0;cursor:pointer;line-height:1.4;min-height:28px}
.avkryss input{width:19px;height:19px;flex:none;margin-top:1px;accent-color:var(--kobber)}
.teller{font-size:.78rem;color:var(--dempet);text-align:right;margin-top:5px}
#aapne-epost{margin-top:6px}
.skjema-hjelp{font-size:.84rem;color:var(--dempet);margin-top:12px;line-height:1.55;max-width:60ch}
.skjema-hjelp a,.skjema-kvittering a{color:var(--kobber);text-decoration:underline;text-underline-offset:2px}
.skjema-kvittering{margin-top:18px;padding:16px 18px;background:rgba(30,43,37,.07);border-left:3px solid var(--gronn);font-size:.93rem;line-height:1.6}
.kontakt-tilbud{margin-top:18px;text-align:center}
.kontakt-tilbud a{color:var(--sand);font-weight:600;border-bottom:1px solid rgba(217,195,165,.5);padding-bottom:2px}
.kontakt-tilbud a:hover{border-color:var(--sand)}
@media(max-width:720px){
  .skjema-rad,.avkryss{grid-template-columns:1fr}
  #aapne-epost{width:100%;justify-content:center;white-space:normal;text-align:center}
}

.tilbud-uthev{color:var(--kobber);font-weight:600}

/* ---------- lanseringstilbud ---------- */
.kampanje-merke{
  display:inline-flex;align-items:center;gap:12px;flex-wrap:nowrap;
  margin-bottom:28px;padding:12px 20px 12px 16px;border-radius:999px;font-size:1rem !important;
  background:rgba(185,120,85,.1);border:1px solid rgba(185,120,85,.42);
  color:var(--blekk);font-size:.9rem;line-height:1.35;
  transition:background .25s,border-color .25s;
}
.kampanje-merke strong{color:var(--kobber);font-weight:700}
.kampanje-merke:hover{background:rgba(185,120,85,.17);border-color:var(--kobber)}
.kampanje-merke .pil{color:var(--kobber);transition:transform .25s}
.kampanje-merke:hover .pil{transform:translateX(4px)}
.kampanje-prikk{width:8px;height:8px;border-radius:50%;background:var(--kobber);flex:none;position:relative}
.kampanje-prikk::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--kobber);opacity:0;animation:puls 2.4s ease-out infinite}
@keyframes puls{0%{transform:scale(.6);opacity:.7}100%{transform:scale(1.6);opacity:0}}
.pk-kampanje{
  margin:10px 0 0;padding:8px 12px;border-radius:2px;display:inline-block;
  background:rgba(217,195,165,.14);border:1px solid rgba(217,195,165,.34);
  font-size:.86rem;color:var(--sand);
}
.pk-kampanje strong{color:var(--krem);font-weight:700}
@media(max-width:720px){
  .kampanje-merke{display:flex;border-radius:12px;font-size:.9rem !important;padding:12px 14px;margin-bottom:22px;gap:11px}
  .kampanje-merke > span:nth-child(2){flex:1;min-width:0}
}
@media(prefers-reduced-motion:reduce){.kampanje-prikk::after{animation:none}}

/* ---------- kampanjetopp med skjema ---------- */
.kampanje-hero{padding:clamp(118px,15vh,160px) 0 clamp(60px,7vw,96px)}
.kh-rutenett{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(36px,5vw,76px);align-items:start;position:relative;z-index:1;
}
.kampanje-hero h1{font-size:clamp(2.6rem,5.6vw,4.9rem);margin-top:4px}
.kampanje-hero .hero-under{margin-top:22px;max-width:40ch}
.kh-punkter{list-style:none;margin-top:26px;display:flex;flex-direction:column;gap:12px}
.kh-punkter li{position:relative;padding-left:30px;font-size:1.02rem;line-height:1.5;color:var(--blekk)}
.kh-punkter li::before{
  content:"";position:absolute;left:0;top:.2em;width:18px;height:18px;border-radius:50%;
  background:var(--kobber) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F3EDE3' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat;
}
.kh-lenke{margin-top:28px}
.kh-skjema{
  background:#fff;border:1px solid var(--strek);border-radius:4px;
  padding:clamp(22px,2.6vw,34px);box-shadow:0 24px 60px rgba(28,27,23,.10);
}
.kh-skjema-tittel{font-family:var(--serif);font-size:1.45rem;font-weight:600;letter-spacing:-.015em;line-height:1.2}
.kh-skjema-under{font-size:.9rem;color:var(--dempet);margin-top:4px;margin-bottom:20px}
.kh-skjema .skjema{margin-top:0;max-width:none;background:none;border:0;padding:0}
.kh-skjema .felt{margin-bottom:16px}
@media(max-width:1000px){
  .kh-rutenett{grid-template-columns:1fr}
  .kh-tekst{max-width:640px}
}
@media(max-width:720px){
  .kampanje-hero{padding-top:108px}
  .kh-punkter li{font-size:.97rem}
  .kh-skjema{padding:20px 18px;margin:0 -4px}
}

/* ---------- anbefalte kombinasjoner ---------- */
#tilbud{scroll-margin-top:92px}
.kombo-rutenett{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:clamp(18px,2.4vw,26px);margin-top:clamp(36px,4.5vw,56px)}
.kombo{
  border:1px solid rgba(217,195,165,.38);border-radius:3px;padding:clamp(24px,2.8vw,32px);
  background:rgba(243,237,227,.05);display:flex;flex-direction:column;transition:transform .3s,border-color .3s,background .3s;
}
.kombo:hover{transform:translateY(-4px);border-color:rgba(217,195,165,.6);background:rgba(243,237,227,.08)}
.kombo-for{font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--sand);margin-bottom:10px}
.kombo h3{font-size:1.3rem;color:var(--krem);line-height:1.25}
.kombo ul{list-style:none;margin:18px 0 22px;display:flex;flex-direction:column;gap:9px}
.kombo li{font-size:.9rem;color:var(--dempet-lys);padding-left:20px;position:relative;line-height:1.5}
.kombo li::before{content:"";position:absolute;left:0;top:.6em;width:9px;height:1px;background:var(--sand)}
.kombo-pris{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:auto}
.kombo-tall{font-family:var(--serif);font-size:clamp(1.9rem,3vw,2.3rem);font-weight:600;letter-spacing:-.03em;color:var(--krem);line-height:1}
.kombo-periode{font-size:.82rem;color:var(--sand)}
.kombo-vanlig{font-size:.84rem;color:var(--dempet-lys);margin-top:8px}
.kombo-vanlig s{color:var(--dempet-lys)}
.kombo-deretter{font-size:.82rem;color:var(--dempet-lys);margin-top:6px;line-height:1.5;padding-top:10px;border-top:1px solid var(--strek-lys)}
.kombo .btn{margin-top:18px;justify-content:center}
.kombo-skille{height:1px;background:var(--strek-lys);margin:clamp(48px,6vw,72px) 0 clamp(44px,5vw,64px)}
.valgt-blink{animation:valgtBlink 1.6s ease}
@keyframes valgtBlink{0%,100%{box-shadow:0 0 0 0 rgba(185,120,85,0)}20%{box-shadow:0 0 0 5px rgba(185,120,85,.45)}}
@media(max-width:720px){
  .kombo-rutenett.sveip{
    display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;
    margin-left:calc(-1 * clamp(20px,5vw,56px));margin-right:calc(-1 * clamp(20px,5vw,56px));
    padding:0 clamp(20px,5vw,56px) 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  .kombo-rutenett.sveip::-webkit-scrollbar{display:none}
  .kombo-rutenett.sveip > .kombo{flex:0 0 84%;scroll-snap-align:start;scroll-margin-left:clamp(20px,5vw,56px)}
  .kombo-rutenett.sveip > .kombo:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){.valgt-blink{animation:none}}
/* sveip-hint må fortsatt stå sist */
@media(max-width:720px){.sveip-hint{display:block}}

/* kombinasjoner: engangs og per måned hver for seg */
.kombo-priser{margin-top:auto;display:flex;flex-direction:column;gap:12px;padding-top:4px}
.kombo-linje{display:grid;grid-template-columns:84px 1fr;gap:10px;align-items:baseline;padding-bottom:12px;border-bottom:1px solid var(--strek-lys)}
.kombo-linje dt{font-size:.7rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--sand)}
.kombo-linje dd{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.kombo-linje .kombo-tall{font-size:clamp(1.5rem,2.3vw,1.8rem)}
.kombo-linje s{font-size:.84rem;color:var(--dempet-lys)}
.kombo-linje .kombo-periode{flex-basis:100%;font-size:.8rem;color:var(--dempet-lys);line-height:1.45}
.kombo-drift{font-size:.82rem;color:var(--dempet-lys);margin-top:10px;line-height:1.5}
.kombo-spart{font-size:.9rem;font-weight:600;color:var(--sand);margin-top:10px}
