
:root{
  --isbat-red:#ed1c24; --isbat-red-dk:#c01018; --brand-red:#FF0033;
  /* Grønn som hovedfarge (blå-aliaser peker nå på grønt) */
  --grass-900:#06281a; --grass-800:#0e3a22; --grass-700:#15803d; --grass-600:#16a34a; --grass-500:#22c55e; --grass-100:#dcfce7;
  --isbat-blue:#0e3a22; --isbat-blue-dk:#0c5a32; --isbat-blue-deep:#06281a;
  --ice-blue:#86efac; --aqua-600:#15803d; --aqua-500:#22c55e; --aqua-100:#dcfce7;
  --text-900:#0a1f14; --text-700:#26392c; --text-500:#5a6f60;
  --bg-ice:#f3faf5; --bg-ice-2:#e9f6ee; --line:#d6e8dc;
  --soft:0 14px 36px rgba(6,40,26,.10); --float:0 22px 56px rgba(6,40,26,.16);
  --r:22px; --r2:15px; --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; font-family:Inter,system-ui,"Segoe UI",sans-serif;
  color:var(--text-700); line-height:1.65;
  background:linear-gradient(180deg,#e9f6ee 0%,#f6fcf8 32%,#f6fcf8 100%);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:Outfit,system-ui,sans-serif;color:var(--isbat-blue);line-height:1.12;margin:0 0 .5em;letter-spacing:-.02em}
h1{font-weight:900} h2{font-weight:800} h3{font-weight:700}
p{margin:0 0 1em}
a{color:var(--isbat-blue);text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.eyebrow{display:inline-flex;align-items:center;gap:.55em;font-family:Outfit;font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--aqua-600)}
.eyebrow::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--isbat-red);box-shadow:0 0 0 4px rgba(237,28,36,.14)}
.accent-red{color:var(--isbat-red)}
.accent-aqua{color:var(--aqua-600)}
section{padding:clamp(64px,9vw,128px) 0;scroll-margin-top:90px}
.section-head{max-width:760px;margin:0 0 clamp(28px,4vw,52px)}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head h2{font-size:clamp(1.7rem,3.6vw,2.7rem);margin:.35em 0 .35em}
.section-head .ingress{font-size:1.08rem;color:var(--text-700)}

/* Skip link */
.skip{position:absolute;left:-9999px;top:0;background:var(--isbat-blue);color:#fff;padding:12px 18px;border-radius:0 0 12px 0;z-index:2000}
.skip:focus{left:0}
:focus-visible{outline:3px solid var(--aqua-500);outline-offset:2px;border-radius:6px}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.5em;font-family:Outfit;font-weight:700;font-size:.98rem;padding:.85em 1.5em;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;text-align:center}
.btn-primary{background:var(--isbat-red);color:#fff;box-shadow:0 10px 26px rgba(237,28,36,.28)}
.btn-primary:hover{background:var(--isbat-red-dk);transform:translateY(-2px);box-shadow:0 16px 34px rgba(237,28,36,.36)}
.btn-blue{background:var(--isbat-blue);color:#fff}
.btn-blue:hover{background:var(--isbat-blue-dk);transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--isbat-blue);border-color:var(--line)}
.btn-outline.light{color:#fff;border-color:rgba(255,255,255,.4)}
.btn-outline:hover{border-color:var(--isbat-blue);transform:translateY(-2px)}
.btn-outline.light:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn-ghost{background:transparent;color:var(--isbat-blue);padding:.4em 0}
.btn-ghost:hover{color:var(--isbat-red)}

/* Topnav */
.topnav{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.topnav .wrap{display:flex;align-items:center;gap:18px;height:74px}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}
.brand img{height:38px;width:auto}
.nav-links{display:flex;align-items:center;gap:4px;margin-left:auto;flex-wrap:wrap}
.nav-links a{font-family:Outfit;font-weight:600;font-size:.92rem;color:var(--text-700);padding:.5em .7em;border-radius:10px;transition:color .18s,background .18s}
.nav-links a:hover{color:var(--isbat-blue);background:var(--bg-ice-2)}
.nav-links a.active{color:var(--isbat-blue);background:var(--aqua-100)}
.nav-sep{width:1px;height:18px;background:var(--line);margin:0 4px;flex:0 0 auto}
@media(max-width:980px){.nav-sep{display:none}}
.nav-tools{display:flex;align-items:center;gap:10px;flex-shrink:0}
.nav-phone{font-family:Outfit;font-weight:700;color:var(--isbat-blue);white-space:nowrap;font-size:.95rem}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:10px;width:44px;height:44px;cursor:pointer;align-items:center;justify-content:center}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--isbat-blue);position:relative}
.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--isbat-blue)}
.nav-toggle span::before{top:-6px}.nav-toggle span::after{top:6px}

/* Hero */
.hero{position:relative;background:linear-gradient(160deg,#06281a 0%,#0c5a32 55%,#16a34a 100%);color:#fff;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(900px 500px at 82% 18%,rgba(34,197,94,.28),transparent 60%);pointer-events:none;z-index:1}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,64px);align-items:center;padding-top:clamp(48px,7vw,90px);padding-bottom:clamp(48px,7vw,90px)}
.hero .eyebrow{color:var(--ice-blue)}
.hero .eyebrow::before{background:var(--isbat-red);box-shadow:0 0 0 4px rgba(237,28,36,.25)}
.hero h1{color:#fff;font-size:clamp(2.2rem,5.4vw,4rem);margin:.4em 0 .35em}
.hero p.ingress{font-size:1.18rem;color:rgba(234,255,243,.9);max-width:560px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.breadcrumb{font-size:.85rem;color:rgba(234,255,243,.62);margin-bottom:6px}
.breadcrumb a{color:rgba(234,255,243,.82)}
.breadcrumb a:hover{color:#fff}
.hero-media{position:relative}

/* Ken Burns hero-slider */
.kb-slider{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--float);width:100%;height:clamp(300px,40vw,460px);border:1px solid rgba(255,255,255,.14);background:#06281a}
.kb-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease;will-change:opacity,transform}
.kb-slide.is-active{opacity:1;animation:kenburns 7s ease-out forwards}
.kb-slider::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(6,40,26,.55) 0%,rgba(12,90,50,.28) 55%,rgba(6,40,26,.5) 100%);pointer-events:none;z-index:2}
@keyframes kenburns{from{transform:scale(1) translate(0,0)}to{transform:scale(1.12) translate(-1.5%,-1.5%)}}
.hero-badge{position:absolute;bottom:-22px;left:-14px;z-index:3;background:#fff;color:var(--isbat-blue);border-radius:var(--r2);padding:14px 20px;box-shadow:var(--float);font-family:Outfit;font-weight:800;display:flex;gap:16px}
.hero-badge b{display:block;font-size:1.5rem;color:var(--isbat-red);line-height:1}
.hero-badge span{font-size:.72rem;font-weight:600;color:var(--text-500);text-transform:uppercase;letter-spacing:.06em}

/* Trust bar */
.trustbar{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trustbar .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-top:34px;padding-bottom:34px}
.trust-item{text-align:center}
.trust-item b{display:block;font-family:Outfit;font-weight:800;font-size:clamp(1.5rem,2.6vw,2.1rem);color:var(--isbat-blue)}
.trust-item span{font-size:.85rem;color:var(--text-500)}

/* Cards generic */
.grid{display:grid;gap:22px}
.g4{grid-template-columns:repeat(4,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--soft);transition:transform .18s ease,box-shadow .18s ease}
.card:hover{transform:translateY(-3px);box-shadow:var(--float)}
.card h3{font-size:1.18rem;margin-bottom:.4em}
.card p{font-size:.96rem;color:var(--text-700);margin-bottom:0}
.card .icon{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:var(--aqua-100);color:var(--aqua-600);margin-bottom:16px;font-size:1.3rem}
.card-link{display:flex;flex-direction:column;height:100%}
.card-link .arrow{margin-top:auto;padding-top:16px;font-family:Outfit;font-weight:700;color:var(--isbat-red);font-size:.95rem}
.card-link:hover .arrow{letter-spacing:.02em}
.kicker{font-family:Outfit;font-weight:700;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--aqua-600);margin-bottom:6px}

/* Two column feature */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,60px);align-items:center}
.feature.rev{direction:rtl}.feature.rev>*{direction:ltr}
.feature img{border-radius:var(--r);box-shadow:var(--soft);width:100%;height:clamp(280px,32vw,420px);object-fit:cover}
.feature h2{font-size:clamp(1.6rem,3.2vw,2.4rem)}

/* Value grid (8 reasons) */
.value{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:24px;box-shadow:var(--soft);transition:transform .18s,box-shadow .18s}
.value:hover{transform:translateY(-3px);box-shadow:var(--float)}
.value .num{font-family:Outfit;font-weight:800;font-size:.85rem;background:var(--aqua-100);width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;color:var(--aqua-600)}
.value h3{font-size:1.08rem;margin-bottom:.25em}
.value .micro{font-family:Outfit;font-weight:700;font-size:.82rem;color:var(--aqua-600);margin-bottom:.5em}
.value p{font-size:.92rem;margin-bottom:0;color:var(--text-700)}

/* Case section */
.case{background:linear-gradient(150deg,var(--isbat-blue-deep),var(--isbat-blue-dk));color:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--float)}
.case-inner{display:grid;grid-template-columns:1fr 1fr;gap:0}
.case-text{padding:clamp(32px,4vw,52px)}
.case-text h2{color:#fff;font-size:clamp(1.6rem,3.2vw,2.4rem)}
.case-text .ingress{color:rgba(255,255,255,.85)}
.case-text .eyebrow{color:var(--ice-blue)}
.case-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:24px 0}
.case-stat{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:var(--r2);padding:14px 16px}
.case-stat b{display:block;font-family:Outfit;font-weight:800;font-size:1.4rem;color:#fff}
.case-stat span{font-size:.78rem;color:rgba(255,255,255,.7)}
.case-results{list-style:none;padding:0;margin:0 0 24px}
.case-results li{position:relative;padding-left:30px;margin-bottom:12px;color:rgba(255,255,255,.9);font-size:.98rem}
.case-results li::before{content:"";position:absolute;left:0;top:6px;width:16px;height:9px;border-left:2.5px solid var(--grass-500);border-bottom:2.5px solid var(--grass-500);transform:rotate(-45deg)}
.case-media{position:relative;min-height:340px}
.case-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* Deep box */
.deepbox{background:var(--bg-ice-2);border:1px solid var(--line);border-left:5px solid var(--aqua-500);border-radius:var(--r2);padding:28px 30px}
.deepbox h3{font-size:1.2rem;margin-bottom:.4em}
.partner-logos{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:20px}
.partner-logos img{height:38px;width:auto}

/* Process */
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:26px;box-shadow:var(--soft);position:relative;transition:transform .18s,box-shadow .18s}
.step:hover{transform:translateY(-3px);box-shadow:var(--float)}
.step .pnum{font-family:Outfit;font-weight:900;font-size:2.2rem;line-height:1;margin-bottom:8px;-webkit-text-stroke:1px var(--aqua-500);color:transparent}
.step h3{font-size:1.12rem;margin-bottom:.3em}
.step p{font-size:.92rem;margin-bottom:0;color:var(--text-700)}

/* FAQ */
.faq{max-width:880px;margin:0 auto}
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r2);margin-bottom:14px;box-shadow:var(--soft);overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:22px 26px;font-family:Outfit;font-weight:700;font-size:1.06rem;color:var(--isbat-blue);display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary .plus{flex-shrink:0;width:26px;height:26px;border-radius:50%;border:2px solid var(--aqua-500);position:relative;transition:transform .25s}
.faq summary .plus::before,.faq summary .plus::after{content:"";position:absolute;background:var(--aqua-600);border-radius:2px}
.faq summary .plus::before{top:50%;left:6px;right:6px;height:2px;transform:translateY(-50%)}
.faq summary .plus::after{left:50%;top:6px;bottom:6px;width:2px;transform:translateX(-50%);transition:opacity .25s}
.faq details[open] summary .plus{transform:rotate(180deg)}
.faq details[open] summary .plus::after{opacity:0}
.faq .answer{padding:0 26px 22px;color:var(--text-700);font-size:.98rem}

/* CTA band */
.ctaband{background:linear-gradient(150deg,var(--isbat-blue-deep),var(--isbat-blue));color:#fff;border-radius:var(--r);padding:clamp(34px,5vw,64px);text-align:center;box-shadow:var(--float);position:relative;overflow:hidden}
.ctaband::after{content:"";position:absolute;inset:0;background:radial-gradient(700px 400px at 20% 0%,rgba(34,197,94,.22),transparent 60%);pointer-events:none}
.ctaband>*{position:relative;z-index:2}
.ctaband h2{color:#fff;font-size:clamp(1.7rem,3.4vw,2.6rem)}
.ctaband p{color:rgba(255,255,255,.86);max-width:680px;margin:0 auto 8px}
.ctaband .slogan{font-family:Outfit;font-weight:700;color:var(--ice-blue);letter-spacing:.04em;margin:18px 0 4px}
.ctaband .cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:22px}

/* Related */
.related .card-link h3{color:var(--isbat-blue)}
.related .kicker{color:var(--isbat-red)}

/* Footer */
footer{background:var(--isbat-blue-deep);color:rgba(255,255,255,.78);padding:clamp(44px,6vw,72px) 0 34px;margin-top:20px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px;margin-bottom:36px}
.foot-grid img{height:42px;width:auto;margin-bottom:16px}
.foot-grid h4{color:#fff;font-size:1rem;margin-bottom:14px}
.foot-links{list-style:none;padding:0;margin:0}
.foot-links li{margin-bottom:9px}
.foot-links a{color:rgba(255,255,255,.74);font-size:.94rem}
.foot-links a:hover{color:#fff}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.85rem;color:rgba(255,255,255,.6)}
.foot-bottom a{color:rgba(255,255,255,.74)}

/* Modal */
.modal-overlay{position:fixed;inset:0;background:rgba(0,18,51,.55);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:3000;padding:20px}
.modal-overlay.open{display:flex}
.modal{background:#fff;border-radius:var(--r);max-width:520px;width:100%;padding:clamp(28px,4vw,40px);box-shadow:var(--float);position:relative;max-height:90vh;overflow:auto}
.modal h3{font-size:1.5rem;margin-bottom:.3em}
.modal .close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:1.3rem;color:var(--text-700);line-height:1}
.modal .close:hover{background:var(--bg-ice-2)}
.modal-contact{margin:20px 0;display:grid;gap:12px}
.modal-contact a{display:flex;align-items:center;gap:12px;padding:14px 18px;border:1px solid var(--line);border-radius:var(--r2);font-family:Outfit;font-weight:700;color:var(--isbat-blue);transition:background .18s,transform .18s}
.modal-contact a:hover{background:var(--bg-ice);transform:translateY(-2px)}

/* Gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.gphoto{position:relative;border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;box-shadow:var(--soft);background:#fff;transition:transform .18s ease,box-shadow .18s ease}
.gphoto:hover{transform:translateY(-3px);box-shadow:var(--float)}
.gphoto .frame{overflow:hidden;aspect-ratio:4/3}
.gphoto img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.gphoto:hover img{transform:scale(1.07)}
.gphoto figcaption{padding:13px 15px;font-size:.86rem;color:var(--text-700);font-family:Inter}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.gallery-grid{grid-template-columns:1fr}}

/* Reveal */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}

/* Responsive */
@media(max-width:1080px){
  .nav-links{display:none}
  .nav-toggle{display:flex}
  .nav-links.open{display:flex;position:absolute;top:74px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:14px;border-bottom:1px solid var(--line);box-shadow:var(--soft)}
  .nav-links.open a{padding:.8em 1em}
}
@media(max-width:900px){
  .hero .wrap{grid-template-columns:1fr}
  .hero-media{order:-1}
  .g4,.g3{grid-template-columns:repeat(2,1fr)}
  .trustbar .wrap{grid-template-columns:repeat(2,1fr);gap:26px}
  .feature,.feature.rev{grid-template-columns:1fr;direction:ltr}
  .feature img{order:-1}
  .case-inner{grid-template-columns:1fr}
  .case-media{min-height:240px}
  .process{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .g4,.g3,.g2{grid-template-columns:1fr}
  .trustbar .wrap{grid-template-columns:1fr 1fr}
  .process{grid-template-columns:1fr}
  .case-stats{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr}
  .hero-badge{left:0}
}

/* MOBIL-HERO: én skjermhøyde, slider som bakgrunn, sentrert symmetrisk innhold */
@media(max-width:640px){
  .hero{
    min-height:100vh;
    min-height:calc(100svh - 74px);
    display:flex;align-items:center;
  }
  .hero .wrap{
    display:flex;flex-direction:column;justify-content:center;align-items:center;
    text-align:center;gap:0;
    padding-top:clamp(20px,6vw,34px);padding-bottom:clamp(20px,6vw,34px);
    width:100%;
  }
  /* Slider som full-bleed bakgrunn bak teksten */
  .hero-media{
    position:absolute;inset:0;order:0;z-index:0;
  }
  .kb-slider{
    width:100%;height:100%;border:none;border-radius:0;box-shadow:none;
  }
  .kb-slider::after{
    background:linear-gradient(165deg,rgba(6,40,26,.82) 0%,rgba(12,90,50,.7) 55%,rgba(6,40,26,.84) 100%);
  }
  .hero-badge{display:none}
  /* Tekst over slider */
  .hero-text{position:relative;z-index:2;width:100%;display:flex;flex-direction:column;align-items:center}
  .hero .breadcrumb{margin-bottom:10px}
  .hero h1{font-size:clamp(1.7rem,8vw,2.1rem);line-height:1.1;margin:.35em 0 .4em}
  .hero p.ingress{font-size:1rem;line-height:1.5;max-width:34ch;margin:0 auto 4px}
  .hero-cta{flex-direction:column;align-items:stretch;width:100%;max-width:320px;gap:12px;margin-top:24px}
  .hero-cta .btn{width:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
  *{transition:none!important}
  .kb-slide{animation:none!important;opacity:0}
  .kb-slide.is-active{opacity:1;transform:none!important}
}

/* colorfix 20260531: .btn-blue (--isbat-blue resolves to dark green #0e3a22) had text inherit dark green -> invisible. Force white. */
.isbat-full-local-page .btn-blue,
.isbat-full-local-page a.btn-blue,
.isbat-full-local-page button.btn-blue,
.isbat-full-local-page .btn-blue span{color:#fff!important;-webkit-text-fill-color:#fff}
