/* ============================================================
   Leap Learning — Brand Design Book 2026
   Sky Blue #7acdec · Sunny Orange #fbb835 · White · Ink #273238
   Nunito: 900 headlines · 800 subheads/buttons · 700 emphasis · 600 body
   Direction: minimal, professional, photography-led.
   Orange = action only. Sky = accent only. White carries the page.
   ============================================================ */
:root{
  --sky:#7acdec;
  --sky-tint:#f2fafd;
  --orange:#fbb835;
  --orange-deep:#eda51e;
  --sky-deep:#5cc2e7;
  --white:#ffffff;
  --ink:#273238;
  --ink-70:#4d5a62;
  --ink-40:#8b969c;
  --line:#e6edf0;
  --maxw:1340px;
  --r:14px;
  --shadow:0 8px 28px rgba(39,50,56,.08);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Nunito',system-ui,sans-serif;font-weight:600;
  color:var(--ink);background:var(--white);line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
h1,h2{font-weight:900;line-height:1.15;letter-spacing:-.015em}
h3{font-weight:800;line-height:1.3}
.eyebrow{
  font-weight:800;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-70);display:flex;align-items:center;gap:10px;margin-bottom:14px;
}
.eyebrow::before{content:"";width:26px;height:3px;background:var(--sky);border-radius:2px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:inherit;font-weight:800;font-size:.98rem;
  padding:.85em 1.7em;border-radius:999px;border:0;cursor:pointer;
  transition:background .15s,color .15s,border-color .15s,box-shadow .15s;
}
:focus-visible{outline:3px solid var(--sky);outline-offset:2px;border-radius:6px}
.btn-primary{background:var(--sky);color:var(--ink)}
.btn-primary:hover{background:var(--sky-deep)}
.btn-outline{background:transparent;color:var(--ink);border:2px solid var(--ink)}
.btn-outline:hover{background:var(--orange);border-color:var(--orange);color:var(--ink)}

/* ---------------- Main header (floating, rounded) ---------------- */
header.main{
  position:sticky;top:34px;z-index:100;background:transparent;
  padding:0 20px;
}
.nav{
  display:flex;align-items:center;height:72px;gap:28px;
  width:80%;max-width:1180px;margin:0 auto;background:var(--white);
  border:1px solid var(--line);border-radius:999px;
  box-shadow:0 6px 24px rgba(39,50,56,.09);
  padding:0 12px 0 26px;
}
.brand-lockup{height:42px;width:auto}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:1.08rem;letter-spacing:.03em}
.brand svg{width:38px;height:38px;flex:none}
nav.menu{display:flex;align-items:center;gap:6px;margin-left:auto}
nav.menu > .item > a,
nav.menu > .item > button{
  font-family:inherit;font-weight:500;font-size:.95rem;color:var(--ink);
  background:none;border:0;cursor:pointer;padding:10px 14px;border-radius:8px;
  display:flex;align-items:center;gap:6px;transition:background .15s,color .15s;
}
nav.menu > .item > a:hover,
nav.menu > .item > button:hover{background:var(--sky-tint)}
.item{position:relative}
.item .chev{width:10px;height:10px;transition:transform .2s}
.item .chev path{stroke:var(--ink);stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.dropdown{
  position:absolute;top:calc(100% + 10px);left:0;min-width:240px;
  background:var(--white);border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--shadow);padding:8px;
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .18s,transform .18s,visibility .18s;
}
.item.open > .dropdown{opacity:1;visibility:visible;transform:none}
.item.open .chev{transform:rotate(180deg)}
.dropdown a{
  display:block;padding:10px 14px;border-radius:9px;font-weight:700;font-size:.93rem;
  color:var(--ink-70);transition:background .12s,color .12s;
}
.dropdown a:hover{background:var(--sky-tint);color:var(--ink)}
.dropdown .soon-item{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 14px;border-radius:9px;font-weight:700;font-size:.93rem;
  color:var(--ink-40);cursor:default;
}
.dropdown .soon-tag{
  font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-40);background:var(--sky-tint);padding:3px 9px;border-radius:999px;flex:none;
}
.dropdown .flag{
  display:inline-block;margin-left:8px;font-size:.68rem;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ink);
  background:var(--orange);padding:2px 8px;border-radius:999px;
}
.nav > .btn{margin-left:6px;padding:.7em 1.4em;font-size:.92rem}
.lang-item .globe{width:17px;height:17px;fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linecap:round}
.lang-menu{min-width:200px;right:0;left:auto}
.lang-menu .active{display:flex;justify-content:space-between;align-items:center;color:var(--ink)}
.lang-menu .tick{color:var(--sky);font-weight:900}
.lang-menu .soon{display:block;padding:10px 14px;font-size:.82rem;font-weight:700;color:var(--ink-40)}
.menu-toggle{display:none;margin-left:auto;background:none;border:0;cursor:pointer;padding:8px}
.menu-toggle svg{width:26px;height:26px;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round}

/* ---------------- Hero (full-screen photo) ---------------- */
.hero{
  position:relative;margin-top:-86px;width:100%;max-width:100%;
  height:calc(100svh + 86px);min-height:600px;
  display:flex;align-items:flex-end;overflow:hidden;
  background:#efe3d2;
}
.hero .bg{
  position:absolute;inset:0;
  background-size:cover;background-position:78% center;background-repeat:no-repeat;
}
.hero .wrap{position:relative;z-index:2;width:100%;padding-top:120px;padding-bottom:clamp(1rem,2.5vh,2rem)}
.hero-copy{max-width:min(46%,560px)}
.hero-mobile-img{display:none}
.hero-copy .lead{text-shadow:0 1px 3px rgba(255,255,255,.55)}
.hero-copy .btn{text-shadow:none}
.hero h1{font-size:clamp(1.9rem,3.6vw,2.9rem);color:var(--ink)}
.hero h1 .underline{position:relative;white-space:nowrap}
.hero h1 .underline::after{display:none}
.hero p.lead{margin:18px 0 28px;font-size:1.02rem;color:var(--ink);max-width:27em}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}

/* ---------------- Sections ---------------- */
section{padding:96px 0}
.section-head{max-width:620px;margin-bottom:56px}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head.center .eyebrow{justify-content:center}
.section-head h2{font-size:clamp(1.8rem,3.6vw,2.5rem)}
.section-head p{margin-top:14px;color:var(--ink-70);font-size:1.05rem}



/* ---------------- Our reach ---------------- */
.reach{background:linear-gradient(180deg,var(--white) 0%,var(--sky-tint) 40%,var(--white) 100%);overflow:hidden}
.reach-head{margin-bottom:22px}
.reach-head h2{font-size:clamp(1.8rem,3.6vw,2.5rem);max-width:12em}
.reach-head h2 .hl{color:var(--sky)}
.stat-chips{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:44px}
.chip{
  display:flex;align-items:center;gap:12px;background:var(--white);
  border:1px solid var(--line);border-radius:999px;padding:10px 22px 10px 12px;
  box-shadow:0 6px 20px rgba(39,50,56,.06);
}
.chip .ci{
  width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;
}
.chip .ci svg{width:20px;height:20px;fill:none;stroke:var(--white);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.chip .cn{font-weight:900;font-size:1.25rem;line-height:1.1}
.chip .cl{font-weight:700;font-size:.8rem;color:var(--ink-40)}
.reach-filter{display:flex;justify-content:flex-start;margin:0 0 26px}
.filter-pill{
  display:inline-flex;align-items:center;gap:10px;background:var(--white);
  border:1px solid var(--line);border-radius:999px;padding:8px 10px 8px 18px;
  box-shadow:0 6px 20px rgba(39,50,56,.06);
}
.filter-pill > svg{width:17px;height:17px;fill:none;stroke:var(--ink-40);stroke-width:1.8;stroke-linecap:round}
.filter-pill label{font-weight:800;font-size:.85rem;color:var(--ink-40)}
.filter-pill select{
  font-family:inherit;font-weight:800;font-size:.95rem;color:var(--ink);
  border:0;background:var(--sky-tint);border-radius:999px;padding:.5em 1em;cursor:pointer;outline-offset:2px;
}
.chip .cn,.chip .cl{transition:opacity .18s}
.chips-fade .cn,.chips-fade .cl{opacity:0}
.mapwrap{position:relative;max-width:1100px;margin:0 auto}
.dotmap{width:100%;height:auto}
.pin{
  transition:opacity .35s ease,transform .35s ease,border-color .35s ease;
  position:absolute;transform:translate(-50%,-100%);
  width:70px;height:70px;border-radius:50%;border:4px solid var(--orange);
  overflow:hidden;background:var(--white);box-shadow:0 8px 22px rgba(39,50,56,.18);
}
.pin::after{
  content:"";position:absolute;left:50%;bottom:-13px;transform:translateX(-50%);
  border:7px solid transparent;border-top-color:var(--orange);
}
.pin img{width:100%;height:100%;object-fit:cover}
.pin .ph-ic{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--sky-tint)}
.pin .ph-ic svg{width:22px;height:22px;stroke:var(--ink-40);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.pin.lg{width:86px;height:86px}
.pin.sm{width:56px;height:56px;border-width:3px}
.pin-dim{opacity:.14}
.pin-active{transform:translate(-50%,-100%) scale(1.18);z-index:2;border-color:var(--sky)}

/* ---------------- Testimonials marquee ---------------- */
.testi{padding-top:56px}
.marquee{overflow:hidden;position:relative;padding:16px 0 26px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
.track{display:flex;gap:26px;width:max-content;animation:slide 55s linear infinite}
.marquee:hover .track{animation-play-state:paused}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  .marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .track{animation:none}
}
.quote{
  width:320px;flex:none;border-radius:20px;padding:26px 26px 22px;
  box-shadow:0 10px 26px rgba(39,50,56,.07);border:1px solid rgba(39,50,56,.05);
}
.quote:nth-child(4n+1){background:var(--sky-tint);transform:rotate(-1.2deg)}
.quote:nth-child(4n+2){background:#fef3da;transform:rotate(1deg)}
.quote:nth-child(4n+3){background:var(--white);transform:rotate(-.6deg)}
.quote:nth-child(4n){background:#eaf7fc;transform:rotate(1.3deg)}
.quote .qm{font-size:2.4rem;font-weight:900;line-height:.6;color:var(--sky);opacity:.55;display:block;margin-bottom:12px}
.quote p{font-size:.93rem;font-weight:700;color:var(--ink);line-height:1.55}
.quote .who{margin-top:16px;padding-top:14px;border-top:1px solid rgba(39,50,56,.1)}
.quote .who b{display:block;font-weight:800;font-size:.9rem}
.quote .who span{font-size:.78rem;font-weight:700;color:var(--ink-40)}

/* Intro: physical + digital */
.intro .wrap{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center}
.intro p{color:var(--ink-70);font-size:1.05rem;margin-top:14px;max-width:30em}
.intro p + p{margin-top:12px}
.video-frame{
  position:relative;border-radius:20px;overflow:hidden;
  border:1px solid var(--line);box-shadow:var(--shadow);background:var(--ink);
}
.video-frame::before{content:"";display:block;padding-top:56.25%}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-poster{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;cursor:pointer;background:var(--ink)}
.video-poster img{width:100%;height:100%;object-fit:cover;opacity:.92;transition:opacity .2s,transform .3s}
.video-poster:hover img{opacity:1;transform:scale(1.02)}
.play-btn{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:76px;height:76px;border-radius:50%;background:var(--sky);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 30px rgba(39,50,56,.35);
  transition:background .15s,transform .2s;
}
.video-poster:hover .play-btn{background:var(--orange);transform:translate(-50%,-50%) scale(1.06)}
.play-btn svg{width:30px;height:30px;fill:var(--ink);margin-left:3px}

/* What we do */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.tile{
  border:1px solid var(--line);border-radius:20px;padding:34px 30px;
  transition:box-shadow .2s,transform .2s;background:var(--white);
}
.tile:hover{box-shadow:var(--shadow);transform:translateY(-4px)}
.tile .ic{
  width:52px;height:52px;border-radius:14px;background:var(--sky-tint);
  display:flex;align-items:center;justify-content:center;margin-bottom:22px;
}
.tile .ic svg{width:26px;height:26px;stroke:var(--ink);stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
.tile h3{font-size:1.15rem;margin-bottom:10px}
.tile p{color:var(--ink-70);font-size:.96rem}

/* Approach */
.approach{background:var(--sky-tint)}
.approach .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.steps{display:grid;gap:14px}
.step{
  display:flex;gap:20px;background:var(--white);border:1px solid var(--line);
  border-radius:16px;padding:22px 24px;align-items:flex-start;
}
.step .n{
  flex:none;width:38px;height:38px;border-radius:50%;background:var(--ink);color:var(--white);
  font-weight:900;font-size:1rem;display:flex;align-items:center;justify-content:center;
}
.step h3{font-size:1.05rem}
.step p{color:var(--ink-70);font-size:.93rem;margin-top:3px}

/* Solutions */
.sol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.sol{
  border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--white);
  display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s;
}
.sol:hover{box-shadow:var(--shadow);transform:translateY(-4px)}
.sol .photo{border:0;border-radius:0;border-bottom:1px solid var(--line)}
.sol .photo::before{padding-top:56%}
.sol .body{padding:26px 28px 30px;display:flex;flex-direction:column;gap:10px;flex:1}
.sol .kicker{
  align-self:flex-start;font-size:.7rem;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;background:var(--orange);color:var(--ink);
  padding:3px 10px;border-radius:999px;
}
.sol h3{font-size:1.2rem}
.sol p{color:var(--ink-70);font-size:.95rem;flex:1}
.sol .more{font-weight:800;font-size:.9rem;display:inline-flex;align-items:center;gap:6px;color:var(--ink)}
.sol .more svg{width:14px;height:14px;stroke:var(--ink);stroke-width:2.4;fill:none;stroke-linecap:round;transition:transform .15s}
.sol:hover .more svg{transform:translateX(4px)}
.sol.wide{grid-column:span 1}

/* Impact */
.impact .wrap{
  border:1px solid var(--line);border-radius:24px;padding:64px 48px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:32px;text-align:center;
  background:linear-gradient(180deg,var(--white),var(--sky-tint));
}
.impact .num{font-size:clamp(2rem,4vw,2.9rem);font-weight:900}
.impact .num em{font-style:normal;color:var(--sky)}
.impact .lbl{color:var(--ink-70);font-weight:700;font-size:.92rem;margin-top:4px}

/* Download CTA — white, matching other sections */
.cta{background:var(--white);color:var(--ink)}
.cta .wrap{display:grid;gap:40px;align-items:center}
.cta h2{font-size:clamp(2rem,4.2vw,3rem);line-height:1.12}
.cta p{margin:18px 0 34px;color:var(--ink-70);font-size:1.08rem;max-width:26em;font-weight:700}
.cta-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:640px}
.store{
  display:flex;align-items:center;gap:16px;background:var(--white);
  border:2px solid var(--line);border-radius:18px;padding:18px 24px;
  box-shadow:0 8px 22px rgba(39,50,56,.07);
  transition:transform .18s,box-shadow .18s,border-color .18s;
}
.store:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(39,50,56,.14);border-color:var(--sky)}
.store svg{width:30px;height:30px;fill:var(--ink);flex:none}
.store .b{font-size:1.08rem}
.store .s{font-size:.68rem;font-weight:700;color:var(--ink-40);letter-spacing:.04em}
.store .b{font-weight:800;font-size:1rem;line-height:1.15;color:var(--ink)}


/* ---------------- Leap believes (Curious-Learning-style card) ---------------- */
.believes-sec{
  background:linear-gradient(180deg,var(--white) 0%,var(--white) 46%,#0b0e10 46%,#0b0e10 100%);
  padding-bottom:110px;
}
.believes{
  background:var(--sky);border-radius:40px;padding:56px 56px 60px;
  border:12px solid var(--white);
  box-shadow:0 20px 50px rgba(39,50,56,.18);
}
.believes .pill{
  display:inline-block;background:var(--white);border-radius:999px;
  padding:16px 36px;font-weight:900;font-size:clamp(1.5rem,3vw,2.1rem);
  color:var(--ink);box-shadow:0 8px 22px rgba(39,50,56,.12);margin-bottom:44px;
}
.belief{padding:11px 0 11px 12px}
.belief p{font-size:clamp(1rem,1.9vw,1.2rem);font-weight:700;color:var(--ink)}
.belief p b{font-weight:900}

/* ---------------- Footer (black, minimal) ---------------- */
footer{background:#0b0e10;color:var(--white);padding:84px 0 36px}
.foot-top{display:flex;justify-content:space-between;align-items:flex-start;gap:56px;flex-wrap:wrap}
.foot-id{display:flex;align-items:center;gap:20px}
.foot-id img{width:150px !important;height:auto !important;object-fit:contain !important;background:#fff;padding:10px 14px;border-radius:14px;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.foot-id .tag{font-weight:900;font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.15;letter-spacing:-.01em}
.foot-news{max-width:400px;width:100%}
.foot-news h4{font-weight:800;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:14px}
.news-form{display:flex;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:5px;transition:border-color .2s}
.news-form:focus-within{border-color:var(--sky)}
.news-form input{
  flex:1;min-width:0;background:none;border:0;outline:none;color:var(--white);
  font-family:inherit;font-weight:700;font-size:.92rem;padding:0 18px;
}
.news-form input::placeholder{color:rgba(255,255,255,.35)}
.news-form button{
  font-family:inherit;font-weight:800;font-size:.9rem;color:var(--ink);
  background:var(--sky);border:0;border-radius:999px;padding:.75em 1.5em;cursor:pointer;
  transition:background .15s;flex:none;
}
.news-form button:hover{background:var(--orange)}
.foot-rule{height:1px;background:rgba(255,255,255,.12);margin:52px 0 30px}
.foot-mid{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.offices{display:flex;gap:36px;flex-wrap:wrap}
.office{display:flex;gap:10px;align-items:flex-start;font-weight:700;font-size:.9rem;color:rgba(255,255,255,.65)}
.office svg{width:16px;height:16px;flex:none;margin-top:3px;stroke:var(--sky);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.office b{display:block;color:var(--white);font-weight:800}
.foot-social{display:flex;gap:14px;align-items:center}
.foot-social a{
  width:54px;height:54px;border:2px solid rgba(255,255,255,.9);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  transition:background .18s,border-color .18s,transform .18s,box-shadow .18s;
}
.foot-social a:hover,.foot-social a:focus-visible{
  background:var(--sky);border-color:var(--sky);transform:translateY(-4px) scale(1.06);
  box-shadow:0 10px 24px rgba(122,205,236,.35);
}
.foot-social a:hover svg{fill:var(--ink)}
.foot-social svg{width:22px;height:22px;fill:var(--white);transition:fill .18s}
.social-label{
  font-weight:800;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--white);margin-bottom:14px;text-align:right;
}
.foot-bottom{
  margin-top:30px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-size:.84rem;color:rgba(255,255,255,.4);font-weight:700;
}
.foot-bottom a{color:rgba(255,255,255,.55);transition:color .12s}
.foot-bottom a:hover{color:var(--white)}
@media (min-width:1600px){
  :root{--maxw:1440px}
}
/* ---------------- In-page screens ---------------- */
.page-hero{position:relative;background:var(--sky-tint);padding:150px 0 70px;border-bottom:1px solid var(--line);overflow:hidden}
.page-hero .ph-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.page-hero .ph-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,14,16,.04) 0%,rgba(11,14,16,.18) 40%,rgba(11,14,16,.70) 100%),
             linear-gradient(90deg,rgba(11,14,16,.35) 0%,rgba(11,14,16,0) 60%);
}
.page-hero.has-img h1,.page-hero.has-img p,.page-hero.has-img .eyebrow{text-shadow:0 1px 2px rgba(0,0,0,.35)}
/* per-page background focal point */
.page-hero.hero-leap-app .ph-bg{background-position:center center}
.page-hero.has-img{min-height:66svh;display:flex;align-items:flex-end;padding:170px 0 56px;border-bottom:0}
.page-hero .wrap{position:relative;z-index:1}
.page-hero .eyebrow,.page-hero h1,.page-hero p{text-align:left;margin-left:0;margin-right:auto}
.page-hero.has-img .eyebrow,.page-hero.has-img h1,.page-hero.has-img p{margin-left:0}
.page-hero h1{max-width:15em}
.page-hero p{max-width:32em}
.page-hero.has-img .wrap{position:relative;z-index:1;max-width:none;margin-left:0;padding-left:40px;padding-right:32px}
.page-hero.has-img h1{color:var(--white)}
.page-hero.has-img p{color:rgba(255,255,255,.88)}
.page-hero.has-img .eyebrow{color:var(--white)}
.page-hero.has-img .eyebrow::before{background:var(--orange)}
.page-hero h1{font-size:clamp(2rem,4vw,3rem)}
.page-body{padding:76px 0 104px;min-height:32vh}
.page-empty{
  border:2px dashed var(--line);border-radius:24px;padding:64px 40px;text-align:center;
  color:var(--ink-40);font-weight:700;
}
.page-empty b{display:block;color:var(--ink);font-weight:900;font-size:1.1rem;margin-bottom:8px}
nav.menu a.current{background:var(--sky-tint);color:var(--ink)}

.page-hero p{margin-top:14px;color:var(--ink-70);font-size:1.08rem;max-width:38em;font-weight:700}
.sec{margin-bottom:64px}
.sec h2{font-size:clamp(1.4rem,2.6vw,1.9rem);margin-bottom:8px}
.sec > p{color:var(--ink-70);font-size:1rem;max-width:46em}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:26px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px}
.box{border:1px solid var(--line);border-radius:20px;padding:28px 26px;background:var(--white)}
.box h3{font-size:1.08rem;margin-bottom:8px}
.box p{color:var(--ink-70);font-size:.95rem}
.box ul{display:grid;gap:9px;margin-top:12px}
.box li{display:flex;gap:10px;color:var(--ink-70);font-size:.95rem;font-weight:700}
.box li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sky);flex:none;margin-top:8px}
.tint{background:var(--sky-tint);border-color:transparent}
.warm{background:#fef6e6;border-color:transparent}
.warm li::before{background:var(--orange)}
.kv{display:flex;gap:14px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line)}
.kv:last-child{border-bottom:0}
.kv b{flex:none;width:190px;font-weight:900;font-size:.95rem}
.kv span{color:var(--ink-70);font-size:.96rem;font-weight:700}
.note{border-left:4px solid var(--orange);background:#fef6e6;border-radius:0 14px 14px 0;padding:20px 24px;color:var(--ink-70);font-weight:700;font-size:.96rem}
.page-empty{border:2px dashed var(--line);border-radius:24px;padding:64px 40px;text-align:center;color:var(--ink-40);font-weight:700}
.page-empty b{display:block;color:var(--ink);font-weight:900;font-size:1.1rem;margin-bottom:8px}
.page-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.cmp{margin-top:26px;overflow-x:auto;border:1px solid var(--line);border-radius:20px}
.cmp table{border-collapse:collapse;width:100%;min-width:720px}
.cmp th,.cmp td{text-align:left;padding:16px 18px;border-bottom:1px solid var(--line);font-size:.93rem;color:var(--ink-70);vertical-align:top}
.cmp thead th{background:var(--sky-tint);color:var(--ink);font-weight:900;font-size:.95rem}
.cmp tbody tr:last-child td{border-bottom:0}
.cmp td b{color:var(--ink)}


/* ================= Leap Lab — graphical page ================= */
.lab-band{
  background:linear-gradient(135deg,var(--sky-tint) 0%,#fdf3e0 100%);
  border-radius:26px;padding:34px;margin-bottom:64px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
}
.lab-stat{background:var(--white);border-radius:18px;padding:22px 20px;box-shadow:0 6px 18px rgba(39,50,56,.06)}
.lab-stat .n{font-size:clamp(1.7rem,3.2vw,2.4rem);font-weight:900;line-height:1}
.lab-stat .l{font-weight:700;color:var(--ink-70);font-size:.88rem;margin-top:6px}
.lab-stat.b .n{color:var(--sky)} .lab-stat.o .n{color:var(--orange)}

.split-media{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.ph-img{
  position:relative;border:2px dashed var(--line);border-radius:22px;background:var(--sky-tint);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  color:var(--ink-40);font-weight:700;font-size:.85rem;text-align:center;padding:24px;min-height:260px;
}
.ph-img svg{width:34px;height:34px;stroke:var(--ink-40);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ph-img.tall{min-height:340px}
.ph-img.wide{min-height:200px}

/* station map */
.stationmap{background:var(--white);border:1px solid var(--line);border-radius:24px;padding:34px 30px;margin-top:26px}
.smrow{margin-bottom:26px}
.smrow:last-child{margin-bottom:0}
.smrow h4{font-weight:900;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-40);margin-bottom:14px}
.dots{display:flex;gap:12px;flex-wrap:wrap}
.dot-st{
  width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;
  font-weight:900;color:var(--white);font-size:1.05rem;box-shadow:0 6px 14px rgba(39,50,56,.14);
}
.dot-st.logic{width:auto;padding:0 22px;background:var(--ink)}

/* numbered flow */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:26px}
.fstep{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:26px 22px;position:relative}
.fstep .fn{
  width:38px;height:38px;border-radius:50%;background:var(--sky);color:var(--ink);
  display:flex;align-items:center;justify-content:center;font-weight:900;margin-bottom:16px;
}
.fstep:nth-child(even) .fn{background:var(--orange)}
.fstep p{color:var(--ink-70);font-size:.93rem;font-weight:700}

/* room option cards with floor plans */
.rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px}
.room{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--white);transition:box-shadow .2s,transform .2s}
.room:hover{box-shadow:var(--shadow);transform:translateY(-4px)}
.room .plan{background:var(--sky-tint);padding:22px;display:flex;justify-content:center}
.room .plan svg{width:100%;max-width:210px;height:auto}
.room .rb{padding:22px 24px 26px}
.room h3{font-size:1.02rem;margin-bottom:6px}
.room p{color:var(--ink-70);font-size:.92rem}

/* tablet scale */
.tabscale{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px}
.tabscale i{
  width:26px;height:34px;border-radius:5px;border:2px solid var(--sky);background:var(--sky-tint);display:block;
}
.tabscale i.off{border-color:var(--line);background:var(--white)}
.tabscale span{font-weight:800;font-size:.85rem;color:var(--ink-70);margin-left:8px}

/* who does what */
.who{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:26px}
.who-card{border-radius:22px;padding:30px 28px}
.who-card.a{background:var(--sky);color:var(--ink)}
.who-card.b{background:var(--orange);color:var(--ink)}
.who-card h3{font-size:1.1rem;margin-bottom:12px}
.who-card p{font-weight:700;font-size:.95rem}
.who-card .tick{display:flex;gap:10px;margin-top:12px;font-weight:700;font-size:.93rem;align-items:flex-start}
.who-card .tick svg{width:18px;height:18px;flex:none;margin-top:3px;stroke:var(--ink);stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* pricing cards */
.price{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px}
.pcard{border:1px solid var(--line);border-radius:22px;padding:30px 26px;background:var(--white)}
.pcard .pi{width:46px;height:46px;border-radius:14px;background:var(--sky-tint);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.pcard .pi svg{width:22px;height:22px;stroke:var(--ink);stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
.pcard h3{font-size:1.02rem;margin-bottom:8px}
.pcard p{color:var(--ink-70);font-size:.93rem}

/* gallery strip */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px}

@media (max-width:1000px){
  .lab-band{grid-template-columns:1fr 1fr}
  .split-media,.who,.price,.rooms,.gallery{grid-template-columns:1fr}
  .flow{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .lab-band{grid-template-columns:1fr 1fr;padding:20px}
  .flow{grid-template-columns:1fr}
  
  
  
}


/* ---- How it works: journey ---- */














/* ---- Room options v2 ---- */
.rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px}
.room{border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--white);display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s,border-color .2s}
.room:hover{box-shadow:var(--shadow);transform:translateY(-4px);border-color:var(--sky)}
.room .rtag{
  font-weight:800;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;
  padding:12px 22px;background:var(--sky-tint);color:var(--ink-70);border-bottom:1px solid var(--line);
}
.room .plan{padding:24px 22px;display:flex;justify-content:center;background:var(--white)}
.room .plan svg{width:100%;max-width:230px;height:auto}
.room .rb{padding:0 24px 26px;flex:1}
.room h3{font-size:1.05rem;margin-bottom:6px}
.room p{color:var(--ink-70);font-size:.93rem}
.legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:22px;justify-content:center}
.legend span{display:flex;align-items:center;gap:8px;font-weight:800;font-size:.82rem;color:var(--ink-70)}
.legend i{width:14px;height:14px;border-radius:4px;display:block}


/* ================= Buy a licence ================= */
.lic-wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:32px;margin-top:28px;align-items:start}
.lic-panel{border:1px solid var(--line);border-radius:24px;background:var(--white);padding:32px 30px}
.lic-step{margin-bottom:30px}
.lic-step:last-child{margin-bottom:0}
.lic-step .sh{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.lic-step .sn{
  width:28px;height:28px;border-radius:50%;background:var(--ink);color:var(--white);
  font-weight:900;font-size:.8rem;display:flex;align-items:center;justify-content:center;flex:none;
}
.lic-step h3{font-size:1.02rem}
.lic-select{
  width:100%;font-family:inherit;font-weight:800;font-size:1rem;color:var(--ink);
  background:var(--white);border:2px solid var(--line);border-radius:14px;
  padding:14px 16px;cursor:pointer;transition:border-color .15s;
}
.lic-select:hover,.lic-select:focus{border-color:var(--sky);outline:none}
.subj-list{display:grid;gap:12px}
.subj{
  display:flex;align-items:center;gap:14px;border:2px solid var(--line);border-radius:16px;
  padding:16px 18px;cursor:pointer;transition:border-color .15s,background .15s;
}
.subj:hover{border-color:var(--sky);background:var(--sky-tint)}
.subj.on{border-color:var(--sky);background:var(--sky-tint)}
.subj input{position:absolute;opacity:0;pointer-events:none}
.subj .cb{
  width:24px;height:24px;border-radius:8px;border:2px solid var(--line);flex:none;
  display:flex;align-items:center;justify-content:center;background:var(--white);transition:background .15s,border-color .15s;
}
.subj.on .cb{background:var(--sky);border-color:var(--sky)}
.subj .cb svg{width:14px;height:14px;stroke:var(--ink);stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.subj.on .cb svg{opacity:1}
.subj .info{flex:1}
.subj .info b{display:block;font-weight:900;font-size:1rem}
.subj .info span{color:var(--ink-70);font-weight:700;font-size:.86rem}
.subj .amt{font-weight:900;font-size:1.02rem;white-space:nowrap}
.subj .amt em{font-style:normal;font-weight:700;font-size:.78rem;color:var(--ink-40);display:block;text-align:right}
.subj.dis{opacity:.45;pointer-events:none}

.lic-field{display:grid;gap:12px}
.lic-input{
  width:100%;font-family:inherit;font-weight:700;font-size:.98rem;color:var(--ink);
  border:2px solid var(--line);border-radius:14px;padding:13px 16px;outline:none;transition:border-color .15s;
}
.lic-input:focus{border-color:var(--sky)}
.lic-input::placeholder{color:var(--ink-40)}
.lic-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* summary */
.lic-sum{
  border:1px solid var(--line);border-radius:24px;padding:28px 26px;background:var(--sky-tint);
  position:sticky;top:110px;
}
.lic-sum h3{font-size:1.05rem;margin-bottom:16px}
.sum-line{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px dashed rgba(39,50,56,.16);font-weight:700;font-size:.93rem;color:var(--ink-70)}
.sum-line b{color:var(--ink);font-weight:800}
.sum-empty{color:var(--ink-40);font-weight:700;font-size:.92rem;padding:10px 0}
.sum-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:18px;padding-top:16px;border-top:2px solid rgba(39,50,56,.18)}
.sum-total span{font-weight:800;font-size:.95rem}
.sum-total b{font-weight:900;font-size:1.7rem}
.sum-note{color:var(--ink-70);font-weight:700;font-size:.8rem;margin-top:8px}
.lic-sum .btn{width:100%;justify-content:center;margin-top:20px}
.lic-sum .btn[disabled]{opacity:.45;cursor:not-allowed}
.trial-card{border:2px dashed var(--sky);border-radius:20px;padding:22px 24px;margin-top:20px;background:var(--white)}
.trial-card h4{font-weight:900;font-size:1rem;margin-bottom:6px}
.trial-card p{color:var(--ink-70);font-weight:700;font-size:.9rem;margin-bottom:14px}

/* success */
.lic-done{border:1px solid var(--line);border-radius:24px;padding:40px 34px;background:var(--white);text-align:center}
.lic-done .ok{
  width:64px;height:64px;border-radius:50%;background:var(--sky);margin:0 auto 20px;
  display:flex;align-items:center;justify-content:center;
}
.lic-done .ok svg{width:30px;height:30px;stroke:var(--ink);stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}
.lic-done h3{font-size:1.4rem;margin-bottom:8px}
.lic-done > p{color:var(--ink-70);font-weight:700;max-width:34em;margin:0 auto}
.code-box{background:var(--sky-tint);border-radius:18px;padding:24px;margin:24px auto 0;max-width:440px;text-align:left}
.code-row{margin-bottom:16px}
.code-row:last-child{margin-bottom:0}
.code-row label{display:block;font-weight:800;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-40);margin-bottom:6px}
.code-val{
  display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--white);
  border:1px solid var(--line);border-radius:12px;padding:12px 14px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;font-size:1.02rem;letter-spacing:.04em;
}
.code-val button{
  font-family:inherit;font-weight:800;font-size:.78rem;color:var(--ink);background:var(--sky);
  border:0;border-radius:999px;padding:.45em 1em;cursor:pointer;flex:none;
}
.code-val button:hover{background:var(--orange)}
.demo-flag{
  margin-top:22px;border-left:4px solid var(--orange);background:#fef6e6;border-radius:0 12px 12px 0;
  padding:16px 20px;text-align:left;color:var(--ink-70);font-weight:700;font-size:.88rem;
}
@media (max-width:1000px){
  .lic-wrap{grid-template-columns:1fr}
  .lic-sum{position:static}
}
@media (max-width:720px){
  .lic-row{grid-template-columns:1fr}
}


/* ---- Licence modal ---- */
.lic-teaser{
  border:1px solid var(--line);border-radius:24px;padding:34px 32px;margin-top:26px;
  background:linear-gradient(135deg,var(--sky-tint) 0%,#fef6e6 100%);
  display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;
}
.lic-teaser h3{font-size:1.25rem;margin-bottom:6px}
.lic-teaser p{color:var(--ink-70);font-weight:700;font-size:.96rem;max-width:34em}
.lic-teaser .acts{display:flex;gap:12px;flex-wrap:wrap}
.modal-back{
  position:fixed;inset:0;background:rgba(11,14,16,.55);z-index:200;
  display:flex;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto;
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
}
.modal-back[hidden]{display:none}
.modal{
  background:var(--white);border-radius:26px;width:100%;max-width:960px;
  box-shadow:0 30px 80px rgba(11,14,16,.4);position:relative;overflow:hidden;
  animation:pop .22s ease;
}
@keyframes pop{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
.modal-head{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:24px 28px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--white);z-index:2;
}
.modal-head h3{font-size:1.15rem}
.modal-head p{color:var(--ink-70);font-weight:700;font-size:.88rem;margin-top:2px}
.modal-close{
  width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--white);
  cursor:pointer;flex:none;display:flex;align-items:center;justify-content:center;transition:background .15s;
}
.modal-close:hover{background:var(--sky-tint)}
.modal-close svg{width:18px;height:18px;stroke:var(--ink);stroke-width:2.4;fill:none;stroke-linecap:round}
.modal-body{padding:28px}
.modal .lic-wrap{margin-top:0}
.modal .lic-panel{border:0;padding:0}
.modal .lic-sum{position:static}


/* info cards icons */
.grid2 .box .ic{width:46px;height:46px;border-radius:13px;background:var(--sky-tint);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.grid2 .box .ic svg{width:24px;height:24px;fill:none;stroke:var(--ink);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.grid2 .box:nth-child(2) .ic{background:#fef6e6}
.grid2 .box:nth-child(4) .ic{background:#fef6e6}
/* safety block */
.safety{display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:center;background:var(--sky-tint);border-radius:24px;padding:36px 34px;margin-top:8px}
.safety-ring{width:150px;height:150px;flex:none}
.safety h3{font-size:1.2rem;margin-bottom:10px}
.safety p{color:var(--ink-70);font-size:.98rem;max-width:44em}
.safety p + p{margin-top:10px}
@media (max-width:1000px){
  .grid2[style*="repeat(4"]{grid-template-columns:1fr 1fr !important}
  .safety{grid-template-columns:1fr;text-align:center;justify-items:center}
}
@media (max-width:720px){
  .grid2[style*="repeat(4"]{grid-template-columns:1fr !important}
}


/* ---- Redrawn loop ---- */
.loopwrap{margin-top:26px}
.loop-lane{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:14px;align-items:stretch}
.loop-node{border:1px solid var(--line);border-radius:20px;padding:26px 22px;background:var(--white);text-align:center;box-shadow:0 6px 18px rgba(39,50,56,.06)}
.loop-node.cls{background:var(--sky-tint);border-color:transparent}
.loop-node.home{background:#fef6e6;border-color:transparent}
.loop-node.back{background:var(--sky-tint);border-color:transparent}
.loop-node .ln-ic{width:52px;height:52px;border-radius:15px;background:var(--white);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;box-shadow:0 4px 12px rgba(39,50,56,.1)}
.loop-node .ln-ic svg{width:26px;height:26px;fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.loop-node b{display:block;font-size:1.05rem;font-weight:900;margin-bottom:6px}
.loop-node span{color:var(--ink-70);font-size:.9rem;font-weight:700}
.loop-arrow{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.loop-arrow svg{width:40px;height:24px}
.loop-arrow em{font-style:normal;font-weight:800;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-40)}
.loop-note{display:flex;gap:16px;align-items:center;margin-top:20px;background:var(--white);border:2px dashed var(--sky);border-radius:20px;padding:20px 24px}
.loop-note .ln-ic{width:46px;height:46px;border-radius:13px;background:var(--sky-tint);display:flex;align-items:center;justify-content:center;flex:none}
.loop-note .ln-ic svg{width:24px;height:24px;fill:var(--orange)}
.loop-note div:last-child{font-weight:700;color:var(--ink-70);font-size:.96rem}
.loop-note b{color:var(--ink)}
@media (max-width:900px){
  .loop-lane{grid-template-columns:1fr}
  .loop-arrow{transform:rotate(90deg);margin:2px 0}
}


/* ---- Payment step ---- */
.pay-wrap{display:grid;grid-template-columns:1.3fr .7fr;gap:26px;align-items:start}
.pay-card{border:1px solid var(--line);border-radius:18px;padding:24px 24px 26px}
.pay-methods{display:flex;gap:10px;margin-bottom:22px;flex-wrap:wrap}
.pay-tab{display:flex;align-items:center;gap:8px;border:2px solid var(--line);border-radius:12px;padding:10px 16px;font-weight:800;font-size:.88rem;cursor:pointer;transition:border-color .15s,background .15s}
.pay-tab.on{border-color:var(--sky);background:var(--sky-tint)}
.pay-tab svg{width:20px;height:20px}
.pay-field{margin-bottom:14px}
.pay-field label{display:block;font-weight:800;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-40);margin-bottom:6px}
.pay-input{width:100%;font-family:inherit;font-weight:700;font-size:.98rem;border:2px solid var(--line);border-radius:12px;padding:13px 14px;outline:none;transition:border-color .15s}
.pay-input:focus{border-color:var(--sky)}
.pay-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pay-back{background:none;border:0;font-family:inherit;font-weight:800;font-size:.9rem;color:var(--ink-70);cursor:pointer;padding:0;margin-bottom:18px;display:inline-flex;align-items:center;gap:6px}
.pay-back svg{width:16px;height:16px;stroke:var(--ink-70);stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.pay-secure{display:flex;align-items:center;gap:8px;color:var(--ink-40);font-weight:700;font-size:.82rem;margin-top:14px}
.pay-secure svg{width:15px;height:15px;stroke:var(--ink-40);stroke-width:1.8;fill:none}
.pay-sum-card{border:1px solid var(--line);border-radius:18px;padding:22px;background:var(--sky-tint)}

/* ---- Solution closing band (below content) ---- */
.next-band{background:var(--ink);color:var(--white);border-radius:26px;padding:44px 40px;margin-top:20px;display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.next-band h3{font-size:1.5rem;margin-bottom:6px}
.next-band p{color:rgba(255,255,255,.72);font-weight:700;font-size:.98rem;max-width:32em}
.next-band .btn-outline{border-color:var(--white);color:var(--white)}
.next-band .btn-outline:hover{background:var(--white);color:var(--ink)}
@media (max-width:720px){.pay-wrap{grid-template-columns:1fr}}

/* ---------------- Motion ---------------- */
@media (prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
  .reveal.in{opacity:1;transform:none}
}

/* ---------------- Responsive ---------------- */
@media (max-width:1000px){
  .approach .wrap,.cta .wrap,.intro .wrap{grid-template-columns:1fr;gap:44px}
  .pin{width:52px;height:52px;border-width:3px}
  .pin.lg{width:64px;height:64px}
  .pin.sm{width:42px;height:42px}
  .quote{width:270px}
  .grid2,.grid3{grid-template-columns:1fr}
  .kv{flex-direction:column;gap:4px}
  .kv b{width:auto}
  .cta-buttons{grid-template-columns:1fr;max-width:none}

  .believes{padding:34px 24px 38px;border-radius:28px}
  .social-label{text-align:left}
  .grid-3,.sol-grid{grid-template-columns:1fr 1fr}
  .impact .wrap{grid-template-columns:1fr 1fr;padding:44px 32px}
}
@media (max-width:1199px){
  .grid-3,.sol-grid{grid-template-columns:1fr}
  .menu-toggle{display:block}
  .brand-lockup{height:34px}
  header.main{padding:0 12px;top:10px}
  .nav{height:62px;padding:0 8px 0 18px;gap:14px}
  .menu-toggle{display:block}
  /* Mobile menu: solid full-width panel anchored under the header */
  header.main nav.menu{
    display:none;position:fixed;top:78px;left:12px;right:12px;
    background:#ffffff !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;
    flex-direction:column;align-items:stretch;gap:0;
    padding:8px 0 !important;border:1px solid var(--line);border-radius:18px !important;
    box-shadow:0 18px 50px rgba(20,30,40,.22);
    max-height:calc(100dvh - 96px);overflow-y:auto;overflow-x:hidden;
    z-index:1200;-webkit-overflow-scrolling:touch;
  }
  header.main nav.menu.open{display:flex}
  /* Each top-level row */
  nav.menu > .item{width:100%}
  nav.menu > .item > a,
  nav.menu > .item > button{
    width:100%;display:flex;align-items:center;justify-content:space-between;
    padding:15px 20px;border-radius:0;border:0;border-bottom:1px solid var(--line);
    background:transparent;font-size:1.02rem;color:var(--ink);text-align:left;
  }
  nav.menu > .item:last-child > a,
  nav.menu > .item:last-child > button{border-bottom:0}
  nav.menu > .item > a:hover,
  nav.menu > .item > button:hover{background:#f4f8fb}
  /* Submenus expand inline, indented, tinted */
  .dropdown{
    position:static;opacity:1;visibility:visible;transform:none;
    border:0;box-shadow:none;display:none;padding:4px 0;background:#f7fafc;
  }
  .item.open > .dropdown{display:block}
  .item:hover > .dropdown{display:none}
  .item.open:hover > .dropdown{display:block}
  .dropdown a,.dropdown .soon-item{
    display:flex;align-items:center;padding:12px 20px 12px 34px;
    border-bottom:1px solid rgba(0,0,0,.04);color:var(--ink);font-size:.98rem;
  }
  .dropdown a:last-child,.dropdown .soon-item:last-child{border-bottom:0}
  /* Header CTA button visible in the menu, full width */
  .nav > .btn{display:none}
  /* Chevron sits on the right of the row */
  nav.menu .chev{margin-left:auto}
  section{padding:64px 0}
  .hero{min-height:94svh}
  .hero .bg{background-position:66% 30%}
  .hero .wrap{display:flex;align-items:flex-end;min-height:94svh;padding-top:130px;padding-bottom:28px}
  .hero-copy{max-width:none}
  
}

.ladder-rung{
  padding:10px 18px;border-radius:10px;font-weight:800;font-size:.92rem;
  text-align:center;font-family:Nunito,sans-serif;
  transition:transform .15s;
}
.ladder-rung:hover{transform:scale(1.04)}

/* Enquiry modal */
.enquiry-modal{max-width:520px;width:94vw}
.enq-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.enq-field{display:flex;flex-direction:column;gap:4px}
.enq-field.full{grid-column:1/-1}
.enq-field label{font-size:.82rem;font-weight:700;color:var(--ink)}
.enq-field input,.enq-field textarea{
  border:1.5px solid var(--line);border-radius:10px;padding:10px 14px;
  font-family:Nunito,sans-serif;font-size:.95rem;background:var(--white);
  transition:border-color .15s;
}
.enq-field input:focus,.enq-field textarea:focus{outline:none;border-color:var(--sky)}
.enq-field textarea{resize:vertical}
.enq-form .btn{margin-top:6px}
.enq-note{grid-column:1/-1;text-align:center;font-size:.8rem;color:var(--ink-40);margin:0}
.enq-success{text-align:center;padding:40px 20px}
.enq-success h3{color:var(--sky);margin-bottom:8px}
@media(max-width:600px){.enq-form{grid-template-columns:1fr}}

.page-hero.hero-fc .ph-bg{background-position:center 40%}













/* ===== About pages: shared editorial system ===== */
.about-head{padding:150px 0 0}
.about-label{display:block;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-40);margin-bottom:14px}
.about-title{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:900;letter-spacing:-.015em;line-height:1.05;padding-bottom:24px;border-bottom:1px solid var(--line)}

.abx-open{padding:44px 0 8px;max-width:46em}
.abx-huge{font-size:clamp(1.35rem,2.4vw,1.8rem);font-weight:900;line-height:1.25;letter-spacing:-.01em;max-width:22em}
.abx-openp{margin-top:14px;font-size:1.02rem;line-height:1.65;color:var(--ink-70);font-weight:600;max-width:38em}

.abx-quote{margin:56px 0;padding:36px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.abx-quote p{font-size:clamp(1.2rem,2.2vw,1.6rem);font-weight:900;line-height:1.4;max-width:32em}
.abx-quote span{display:inline-block;margin-top:14px;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-40)}

.abx-label{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--sky-deep)}
.abx-mark{width:44px;height:44px;margin-bottom:16px}
.abx-mark svg{width:100%;height:100%}

.abx-duo{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin:56px 0;padding:44px 0;border-bottom:1px solid var(--line)}
.abx-duo-col .abx-label{margin-bottom:12px}
.abx-duo-text{margin-top:8px;font-size:1.05rem;font-weight:700;line-height:1.55;max-width:26em;color:var(--ink-70)}

.abx-rows{margin:56px 0 0}
.abx-rows-head{padding-bottom:16px}
.abx-row{display:grid;grid-template-columns:150px 1fr;gap:28px;padding:26px 0;border-top:1px solid var(--line);align-items:start}
.abx-row-key{font-weight:900;font-size:1.05rem;color:var(--ink)}
.abx-row-num{font-weight:900;font-size:1rem;color:var(--ink-40);letter-spacing:.06em}
.abx-row h3{font-size:1.12rem;font-weight:900;margin-bottom:6px}
.abx-row p{color:var(--ink-70);font-weight:600;font-size:1rem;line-height:1.6;max-width:44em}

.abx-band{margin:64px 0;background:var(--sky-tint);border-radius:24px;padding:44px 46px}
.abx-band p{font-size:clamp(1.08rem,1.8vw,1.35rem);font-weight:800;line-height:1.45;max-width:32em;color:var(--ink)}

.abx-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:48px 0 8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.abx-stat{padding:34px 10px;text-align:center;border-left:1px solid var(--line)}
.abx-stat:first-child{border-left:0}
.abx-stat b{display:block;font-size:clamp(1.9rem,3.6vw,2.8rem);font-weight:900;color:var(--ink)}
.abx-stat span{display:inline-block;margin-top:4px;font-size:.82rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-40)}

.abx-toc{margin:64px 0 0;padding-top:36px;border-top:1px solid var(--line)}
.abx-toc-flow{display:flex;align-items:stretch;gap:22px;margin-top:22px}
.abx-toc-step{flex:1}
.abx-toc-step b{display:block;font-size:1.15rem;font-weight:900;margin-bottom:8px}
.abx-toc-step p{color:var(--ink-70);font-weight:600;font-size:.98rem;line-height:1.55}
.abx-toc-sep{width:1px;background:var(--line);flex:none}

.abx-strip{margin:64px 0;padding:36px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.abx-ladder{display:flex;gap:6px;margin-top:18px}
.abx-ladder i{flex:1;height:34px;border-radius:8px}
.abx-strip-note{margin-top:16px;color:var(--ink-70);font-weight:600;font-size:.98rem;max-width:36em}

.abx-close{margin:64px 0 8px;text-align:center}
.abx-close-line{font-size:clamp(1.05rem,1.8vw,1.3rem);font-weight:800;margin-bottom:22px;color:var(--ink)}

@media(max-width:820px){
  .about-head{padding-top:120px}
  .abx-duo{grid-template-columns:1fr;gap:36px}
  .abx-row{grid-template-columns:1fr;gap:8px}
  .abx-toc-flow{flex-direction:column}
  .abx-toc-sep{width:auto;height:1px}
  .abx-stats{grid-template-columns:1fr 1fr}
  .abx-stat:nth-child(3){border-left:0;border-top:1px solid var(--line)}
  .abx-stat:nth-child(4){border-top:1px solid var(--line)}
  .abx-band{padding:32px 26px}
}

/* About refinements */
.abx-rule{display:block;width:44px;height:5px;border-radius:3px;margin-bottom:16px}
.page-body.about-mode{padding-top:24px}
.abx-open{padding-top:36px}

/* About figures */
.abx-figure{margin:44px 0;border:1px solid var(--line);border-radius:24px;padding:34px 36px;background:linear-gradient(180deg,#fbfdfe,#f4f9fb)}
.abx-figure > svg{width:100%;height:auto;display:block}
.abx-figcap{margin-top:18px;color:var(--ink-70);font-weight:600;font-size:.96rem;max-width:40em;text-align:center;margin-left:auto;margin-right:auto}
.ladder-fig svg{max-height:340px}
.split-fig{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:center}
.split-donut svg{width:100%;max-width:200px;margin:0 auto;display:block}
.split-legend div{display:flex;align-items:center;gap:12px;font-weight:800;font-size:1rem;margin-bottom:12px}
.split-legend .dot{width:16px;height:16px;border-radius:50%;flex:none}
.split-legend p{color:var(--ink-70);font-weight:600;font-size:.98rem;margin-top:8px;line-height:1.55}
@media(max-width:820px){
  .abx-figure{padding:22px 20px}
  .split-fig{grid-template-columns:1fr;gap:24px}
}

.toc-cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:20px}
.toc-cap-grid p{color:var(--ink-70);font-weight:600;font-size:.96rem;line-height:1.55}
.toc-cap-grid b{color:var(--ink);font-weight:900}
@media(max-width:820px){.toc-cap-grid{grid-template-columns:1fr}}

/* What we do: 3-step cards */
.wwd3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:40px 0;position:relative}
.wwd3-card{border:1px solid var(--line);border-radius:24px;padding:32px 28px;background:var(--white);position:relative;transition:box-shadow .18s,transform .18s}
.wwd3-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.wwd3-step{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-40);margin-bottom:18px}
.wwd3-ic{width:60px;height:60px;border-radius:18px;background:var(--sky-tint);display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.wwd3-ic svg{width:30px;height:30px;stroke:var(--ink);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.wwd3-card:nth-child(2) .wwd3-ic{background:#fff5e2}
.wwd3-card:nth-child(3) .wwd3-ic{background:#eef7e6}
.wwd3-card h3{font-size:1.25rem;font-weight:900;margin-bottom:8px}
.wwd3-card p{color:var(--ink-70);font-weight:600;font-size:1rem;line-height:1.55}
@media(max-width:820px){.wwd3{grid-template-columns:1fr}}

/* full-bleed slot for the moved reach section */
.bleed-slot{width:100vw;margin-left:calc(50% - 50vw);margin-top:24px;margin-bottom:24px}
.page-body{overflow-x:clip}

/* Team grid — square photos, Curious Learning style */
.tm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:44px 0}
.tm-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:0;background:none;border:0;padding:0;cursor:pointer;font-family:Nunito,sans-serif}
.tm-photo{width:100%;aspect-ratio:1/1;border-radius:16px;overflow:hidden;background:var(--sky-tint);display:flex;align-items:center;justify-content:center;margin-bottom:14px;transition:transform .2s,box-shadow .2s}
.tm-card:hover .tm-photo{transform:translateY(-4px);box-shadow:var(--shadow)}
.tm-photo img{width:100%;height:100%;object-fit:cover;display:block}
.tm-ph-ph{font-weight:900;font-size:2.4rem;color:var(--sky-deep)}
.tm-name{font-weight:900;font-size:1.14rem;color:var(--ink);line-height:1.2}
.tm-role{font-weight:700;font-size:.95rem;color:var(--ink-70);margin-top:4px;line-height:1.35}
.tm-meta{font-weight:700;font-size:.85rem;color:var(--ink-40);margin-top:6px}
@media(max-width:820px){.tm-grid{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:520px){.tm-grid{grid-template-columns:1fr;gap:24px}}

/* Partner cards */
.pt-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin:44px 0}
.pt-card{border:1px solid var(--line);border-radius:22px;padding:28px 30px;background:var(--white);transition:box-shadow .18s,transform .18s}
.pt-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.pt-head{display:flex;align-items:center;gap:16px;margin-bottom:14px}
.pt-mono{width:54px;height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.1rem;letter-spacing:.03em;flex:none}
.pt-head h3{font-size:1.2rem;font-weight:900;line-height:1.15}
.pt-tag{display:inline-block;font-size:.8rem;font-weight:800;color:var(--ink-40);margin-top:3px}
.pt-card > p{color:var(--ink-70);font-weight:600;font-size:.98rem;line-height:1.6}
@media(max-width:820px){.pt-grid{grid-template-columns:1fr;gap:20px}}

/* Resources */
.res-chips{display:flex;gap:10px;flex-wrap:wrap;margin:36px 0 8px}
.res-chip{font-family:Nunito,sans-serif;font-weight:800;font-size:.9rem;color:var(--ink-70);background:var(--white);border:1px solid var(--line);border-radius:999px;padding:9px 20px;cursor:pointer;transition:all .15s}
.res-chip:hover{background:var(--sky-tint);color:var(--ink)}
.res-chip.on{background:var(--ink);border-color:var(--ink);color:var(--white)}
.res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin:32px 0 8px}
.res-card{border:1.5px dashed var(--line);border-radius:22px;padding:0 0 26px;overflow:hidden;background:var(--white)}
.res-thumb{height:150px;background:linear-gradient(160deg,#fbfdfe,#f1f7fa);display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.res-thumb svg{width:44px;height:44px;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.res-tag{display:inline-block;font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 14px;border-radius:999px;margin:0 26px 12px}
.res-card h3{font-size:1.15rem;font-weight:900;margin:0 26px 6px;color:var(--ink-40)}
.res-card p{margin:0 26px;color:var(--ink-40);font-weight:600;font-size:.94rem;line-height:1.55}
@media(max-width:900px){.res-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.res-grid{grid-template-columns:1fr}}

/* Norwegian hero: black headline, no dark veil, and illustration pushed down below header */
.hero h1{color:#fbb835 !important;text-shadow:none!important}
.hero .lead{color:#0b2f40!important;font-weight:600;text-shadow:0 0 2px rgba(255,255,255,.9),0 0 12px rgba(255,255,255,.75)!important}
.hero .veil{display:none}


/* NO hero: keep image behind header, shift subject down so it doesn't clash with nav */
.hero .bg{background-position:right 78%!important;background-size:cover!important}
@media(max-width:820px){
  .hero .bg{background-position:center 70%!important}
}

/* NO header: subtle glass backdrop so text and chevrons stay legible over the illustration */
header.main nav.menu{background:rgba(255,255,255,.75);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-radius:999px;padding:6px 14px}
header.main nav.menu > .item > a,
header.main nav.menu > .item > button{color:var(--ink)!important;text-shadow:none!important}
header.main nav.menu .chev{stroke:var(--ink)!important;opacity:.8}
header.main nav.menu > .item > a:hover,
header.main nav.menu > .item > button:hover{color:var(--sky-deep)!important}

/* Norwegian intro slider (replaces YouTube video) */
.intro-slider{position:relative;overflow:hidden;background:#0e1a20}
.slider-track{position:absolute;inset:0;width:100%;height:100%}
.slider-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .55s ease}
.slider-slide.active{opacity:1}
.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.9);border:0;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.2);transition:background .15s,transform .15s;z-index:2}
.slider-arrow:hover{background:#fff;transform:translateY(-50%) scale(1.06)}
.slider-arrow svg{width:22px;height:22px}
.slider-prev{left:14px}
.slider-next{right:14px}
.slider-dots{position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:center;gap:8px;z-index:2}
.slider-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.55);border:0;padding:0;cursor:pointer;transition:background .18s,transform .18s}
.slider-dot:hover{background:rgba(255,255,255,.85)}
.slider-dot.active{background:#fff;transform:scale(1.25)}
@media(max-width:520px){
  .slider-arrow{width:40px;height:40px}
  .slider-prev{left:8px}
  .slider-next{right:8px}
}

/* Lek og lær section */
.playlearn{padding:104px 0;background:var(--white)}
.playlearn .wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.playlearn-head{max-width:660px;margin-bottom:56px}
.playlearn-head .eyebrow{display:inline-block;font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--sky-deep);margin-bottom:14px}
.playlearn-head h2{font-size:clamp(1.9rem,3.6vw,2.7rem);font-weight:900;line-height:1.1;letter-spacing:-.01em;margin-bottom:16px}
.playlearn-lead{font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.6;color:var(--ink-70);font-weight:600}
.playlearn-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.pl-card{background:var(--white);border-radius:22px;padding:32px 28px;border:1px solid var(--line);transition:transform .18s,box-shadow .18s}
.pl-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(39,50,56,.08)}
.pl-ic{width:60px;height:60px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.pl-ic svg{width:30px;height:30px}
.pl-card h3{font-size:1.15rem;font-weight:900;margin-bottom:10px;color:var(--ink)}
.pl-card p{color:var(--ink-70);font-weight:600;font-size:.98rem;line-height:1.55}
.playlearn-cta{display:flex;gap:14px;justify-content:center;margin-top:56px;flex-wrap:wrap}
@media(max-width:1000px){.playlearn-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.playlearn-grid{grid-template-columns:1fr}.playlearn{padding:72px 0}}


.inline-link{color:var(--sky-deep);font-weight:800;text-decoration:underline;text-underline-offset:2px}
.inline-link:hover{color:var(--ink)}

/* Leap Lab — station lists + mini eyebrow */
.mini-eyebrow{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
.station-list{margin:18px 0 0;padding:0;list-style:none;counter-reset:st}
.station-list li{position:relative;padding:9px 0 9px 44px;border-bottom:1px solid var(--line);font-weight:700;color:var(--ink);line-height:1.4}
.station-list li:last-child{border-bottom:0}
.station-list li:before{counter-increment:st;content:counter(st);position:absolute;left:0;top:7px;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:900;color:#fff}
.station-blue li:before{background:#2979ff}
.station-green li:before{background:#8bc34a}

/* Voksenopplæring section */
.adultlit{padding:96px 0;background:var(--white)}
.adultlit .wrap{max-width:1160px;margin:0 auto;padding:0 20px}
.adultlit-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;background:linear-gradient(135deg,#eaf7fc 0%,#f4fafd 60%,#fff5e2 100%);border-radius:28px;padding:52px 56px}
.adultlit-copy .eyebrow{display:inline-block;font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--sky-deep);margin-bottom:14px}
.adultlit-copy h2{font-size:clamp(1.7rem,3vw,2.3rem);font-weight:900;line-height:1.12;margin-bottom:16px;color:var(--ink)}
.adultlit-copy p{color:var(--ink-70);font-weight:600;line-height:1.62;margin-bottom:14px}
.adultlit-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}
.adultlit-art{display:flex;justify-content:center}
.adultlit-art svg{width:100%;max-width:300px;height:auto}
@media(max-width:820px){
  .adultlit-inner{grid-template-columns:1fr;gap:28px;padding:36px 28px}
  .adultlit-art{order:-1;max-width:220px;margin:0 auto}
}

/* Voksenopplæring photo */
.adultlit-art img{max-height:420px;box-shadow:0 14px 34px rgba(39,50,56,.14)}
@media(max-width:820px){.adultlit-art img{max-height:320px}}

.adultlit-art img{max-height:420px;box-shadow:0 14px 34px rgba(39,50,56,.14)}

/* =====================================================================
   RESPONSIVE SYSTEM — tokens, container, fluid type, adaptive grids
   (single source of truth; applies at every width)
   ===================================================================== */
:root{
  --fs-h1: clamp(1.9rem, 1.15rem + 2.8vw, 3.2rem);
  --fs-h2: clamp(1.55rem, 1.05rem + 2vw, 2.6rem);
  --fs-h3: clamp(1.05rem, .95rem + .45vw, 1.3rem);
  --fs-lead: clamp(1rem, .9rem + .45vw, 1.2rem);
  --fs-body: clamp(.95rem, .9rem + .25vw, 1.05rem);
  --fs-eyebrow: clamp(.76rem, .7rem + .22vw, .84rem);
  --sp-section: clamp(3.25rem, 1.75rem + 5vw, 6.5rem);
  --sp-gap: clamp(.9rem, .55rem + 1.3vw, 1.75rem);
  --pad-card: clamp(1.15rem, .8rem + 1.6vw, 2rem);
  --gutter: clamp(1.1rem, 4vw, 2.25rem);
  --radius: 20px;
  --tap: 44px;
}
*,*::before,*::after{box-sizing:border-box}
img,svg,video{max-width:100%;height:auto}
p,h1,h2,h3,h4,li,a,span,dd,dt{overflow-wrap:anywhere}

/* Container */
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.playlearn .wrap,.adultlit .wrap{padding-inline:var(--gutter)}

/* Fluid type */
h1{font-size:var(--fs-h1);line-height:1.08}
h2{font-size:var(--fs-h2);line-height:1.15}
h3{font-size:var(--fs-h3)}
.lead,.playlearn-lead,.abx-openp{font-size:var(--fs-lead)}
.eyebrow,.about-label,.abx-label,.mini-eyebrow,.wwd3-step,.pt-tag,.s{font-size:var(--fs-eyebrow)}
.tm-meta{font-size:.8rem}

/* Spacing scale */
section{padding-block:var(--sp-section)}
.playlearn,.adultlit,.intro,.reach,.download,.believes{padding-block:var(--sp-section)}

/* Touch targets & focus */
.btn{min-height:var(--tap)}
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--sky-deep);outline-offset:3px;border-radius:8px}

/* Adaptive grids — columns come from available space, not device names */
.g-1{display:grid;grid-template-columns:1fr}
.g-2,.grid2,.split-media,.wwd-open-grid,.adultlit-inner,.wwd-stage{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.g-3,.grid3,.rooms,.price,.gallery,.grid-3,.sol-grid,.wwd3,.res-grid,.wwd-fits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.g-4,.flow,.playlearn-grid,.lab-band{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(210px,22%)),1fr))}
.abx-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}
.tm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(155px,21%)),1fr))}
.g-2,.g-3,.g-4,.grid2,.grid3,.rooms,.price,.gallery,.grid-3,.sol-grid,.wwd3,.res-grid,.flow,.playlearn-grid,.lab-band,.tm-grid,.wwd-fits-grid{gap:var(--sp-gap)}
.gap-sm{gap:.9rem}.gap-lg{gap:clamp(1.5rem,3vw,2.5rem)}.mt-lg{margin-top:2rem}.center{text-align:center}
.split-media,.wwd-open-grid,.adultlit-inner{gap:clamp(1.5rem,3.5vw,3.5rem);align-items:center}
.adultlit-inner{padding:clamp(1.5rem,4vw,3.5rem)}
.split-media .ph-img.tall{min-height:min(60vw,320px)}

/* Cards */
.pl-card,.wwd-fit-card,.box,.card,.room,.price-card,.tm-card,.quote,.sol-card{padding:var(--pad-card)}


@media (min-width: 700px){}

/* Media */
.slider-track{position:absolute;inset:0}
.intro-slider,.video-frame{min-height:min(56vw,320px)}
.station-list li{padding-left:44px}

/* Testimonial strip: auto-scroll with pointer; swipe with touch/narrow */
@media (hover:none), (max-width: 700px){
  .marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:8px 0 22px}
  .marquee .track{animation:none;width:max-content;gap:14px;padding:0 var(--gutter)}
  .quote{width:min(82vw,320px);scroll-snap-align:center}
}

/* Licence modal fits any screen */
.modal{width:min(94vw,560px);max-height:88dvh;overflow-y:auto}

/* Footer */
@media (max-width: 700px){footer .wrap,.footer-grid{grid-template-columns:1fr;gap:1.6rem}}

/* Ultrawide: keep content readable, hero art contained */
@media (min-width: 1800px){
  :root{--maxw:1440px}
  .hero .wrap{max-width:1440px}
}

/* Hero — narrow/medium screens get their own composition (one screen, CTAs in thumb zone) */
@media (max-width: 900px){
  .hero{position:relative;display:block;height:100svh;min-height:0;max-height:100svh;overflow:hidden;margin-top:-62px;padding:0;background:#efe3d2}
  .hero .bg{display:block !important;position:absolute;inset:0;z-index:0;
    background-size:cover !important;background-position:70% 30% !important;background-repeat:no-repeat !important;
    -webkit-mask-image:none !important;mask-image:none !important}
  .hero-mobile-img{display:none !important}
  .hero .veil{display:none}
  .hero::after{display:none}
  .hero .wrap{position:absolute;left:0;right:0;top:auto;bottom:calc(18px + env(safe-area-inset-bottom,0px));padding:0 var(--gutter);margin:0;z-index:2}
  .hero-copy{position:relative;z-index:2;max-width:none}
  .hero h1{color:#fbb835 !important;font-size:clamp(1.5rem,6.4vw,2.1rem);margin:0 0 .5rem}
  .hero h1 .underline{color:#000 !important}
  .hero .lead{color:#000 !important;font-size:clamp(.85rem,3.4vw,1rem);line-height:1.4;margin:0}
  .hero-ctas{position:static;display:flex;flex-direction:row;gap:10px;margin:.9rem 0 0}
  .hero-ctas .btn{flex:1 1 0;width:auto;padding:.85em .6em;font-size:clamp(.88rem,3.4vw,1rem);white-space:nowrap}
  .hero-ctas .btn-outline{background:rgba(255,255,255,.92);border-color:#000 !important;color:#000 !important}
}
@media (max-width: 900px) and (max-height: 640px){
  .hero h1{font-size:1.4rem}.hero .lead{font-size:.8rem}.hero-ctas .btn{padding:.7em .5em}
}
@media (min-width: 601px) and (max-width: 900px){
  .hero .wrap{bottom:28px}
  .hero-ctas{max-width:560px}
}

@media (max-width: 900px){
  
  
  .hero::after{display:none !important}
}


.store .s,.playlearn-head .eyebrow,.adultlit-copy .eyebrow{font-size:var(--fs-eyebrow)}

/* Mid-range laptops: keep hero copy in the clear area left of the illustration */
@media (min-width: 901px) and (max-width: 1280px){
  .hero-copy{max-width:min(44vw,500px)}
  .hero h1{font-size:clamp(1.7rem,2.7vw,2.5rem)}
  .hero .lead{font-size:clamp(1.05rem,1.4vw,1.3rem);line-height:1.5}
}

/* Footer */
footer{background:var(--ink);color:#e6edf0;padding-block:clamp(2.5rem,5vw,4rem) 1.5rem}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:clamp(1.5rem,3vw,2.5rem)}
.foot-id img{height:40px;width:auto;background:#fff;padding:6px 12px;border-radius:12px}
.foot-tag{margin-top:.9rem;color:#b9c6cc;max-width:32ch;line-height:1.5}
.foot-col h4{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#9fb0b8;margin:0 0 .8rem}
.foot-col a{display:block;color:#e6edf0;text-decoration:none;padding:.25rem 0;font-weight:700}
.foot-col a:hover{color:var(--sky)}
.foot-col p{margin:0 0 .6rem;line-height:1.55;color:#d3dde2}
.foot-col p a{display:inline;padding:0}
.foot-social{display:flex;gap:.6rem;margin-bottom:.8rem}
.foot-social a{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;padding:0}
.foot-social a:hover{background:var(--sky)}
.foot-social svg{width:20px;height:20px;fill:currentColor}
.foot-small{font-size:.82rem;color:#9fb0b8}
.foot-bottom{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);margin-top:2rem;padding-top:1.1rem;font-size:.82rem;color:#9fb0b8}
.foot-bottom a{color:#e6edf0}

/* Collections / resources */
.coll-link{display:block;padding:.55rem 0;border-bottom:1px solid var(--line);font-weight:800;color:var(--ink);text-decoration:none}
.coll-link:last-child{border-bottom:0}.coll-link:hover{color:var(--sky-deep)}
.box .mini-eyebrow{display:block;margin-bottom:.35rem;color:var(--sky-deep)}
.reach-lead{max-width:62ch;color:var(--ink-70);font-weight:600;margin-top:.6rem}
.cn-text{font-size:.95rem !important;line-height:1.2}
/* Bokstavkongen */
.bk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:.7rem;margin-top:1.2rem}
.bk-item{display:flex;align-items:center;gap:.7rem;padding:.7rem .85rem;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--ink);font-weight:700;font-size:.92rem;line-height:1.25;background:#fff;min-height:var(--tap)}
.bk-item:hover{border-color:var(--sky-deep);box-shadow:var(--shadow)}
.bk-letter{flex:none;width:38px;height:38px;border-radius:10px;background:var(--sky-tint);color:var(--sky-deep);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.2rem;text-transform:uppercase}
.bk-note h3{margin-top:0}
/* Reduced motion */
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none !important;transition:none !important}.reveal{opacity:1;transform:none}}
/* Nav active state */
nav.menu > .item > a[aria-current="page"],nav.menu > .item.active > button{color:var(--sky-deep)}

.bk-teaser{background:var(--white)}
.bk-teaser-inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(1.5rem,3.5vw,3.5rem);align-items:center;background:var(--sky-tint);border-radius:28px;padding:clamp(1.5rem,4vw,3.5rem)}
.bk-teaser-inner .eyebrow{display:inline-block;color:var(--sky-deep);margin-bottom:.8rem}
.bk-teaser-inner p{color:var(--ink-70);font-weight:600;line-height:1.6;margin:0 0 1.2rem;max-width:58ch}
.bk-teaser-letters{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;width:min(100%,360px);margin:0 auto}
.bk-teaser-letters span{aspect-ratio:1;border-radius:18px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:clamp(1.6rem,4vw,2.4rem);background:#fff;box-shadow:var(--shadow);color:var(--ink)}
.bk-teaser-letters span:nth-child(1),.bk-teaser-letters span:nth-child(5){color:var(--sky-deep)}
.bk-teaser-letters span:nth-child(3),.bk-teaser-letters span:nth-child(4){color:var(--orange)}

/* Navigation: never wrap; tighten on laptops */
nav.menu a,nav.menu button,nav.menu span{white-space:nowrap;overflow-wrap:normal}
nav.menu > .item > a,nav.menu > .item > button{font-size:clamp(.88rem,.75rem + .35vw,1rem)}
@media (min-width:1200px) and (max-width:1440px){nav.menu{gap:2px}nav.menu > .item > a,nav.menu > .item > button{padding-inline:.6rem}}
nav.menu > .item > a.current{background:none;box-shadow:inset 0 -2px 0 var(--sky-deep);border-radius:0}
nav.menu > .item.active > button{box-shadow:inset 0 -2px 0 var(--sky-deep);border-radius:0}

.nav > .btn{white-space:nowrap}
@media (min-width:1200px) and (max-width:1440px){.nav > .btn{padding:.6em .95em;font-size:.9rem}}
nav.menu > .item > button{display:inline-flex;align-items:center;gap:.3rem}
nav.menu .chev{flex:none;width:12px;height:12px}

.bk-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,132px),1fr))}
.bk-item{font-size:.95rem}
/* Page hero: gradient veil — image colours visible, text readable at the bottom */

/* ===== Colour scheme: this site is designed light. Prevent OS/in-app dark mode
   from inverting text/background and making content unreadable. ===== */
:root{color-scheme:light}
html{background:#fff}
@media (prefers-color-scheme: dark){
  html,body{background:#fff !important;color:var(--ink) !important}
  /* keep our own dark surfaces (footer/ink hero) intact, but stop UA re-tinting text */
  input,textarea,select{background:#fff;color:var(--ink)}
}
/* Windows/Android high-contrast / forced-colors: keep brand colours legible */
@media (forced-colors: active){
  .btn-primary{forced-color-adjust:none}
}

/* Hero trust line */
.hero-trust{margin:.7rem 0 0;font-size:.85rem;font-weight:700;color:var(--ink-70)}
@media (max-width:900px){.hero-trust{font-size:.78rem;margin-top:.5rem}}
/* Audience cards */
.audience{background:var(--white)}
.audience-head{max-width:60ch;margin-bottom:clamp(1.2rem,3vw,2rem)}
.audience-head .eyebrow{display:inline-block;color:var(--sky-deep);margin-bottom:.6rem}
.audience-head p{color:var(--ink-70);font-weight:600;margin:.4rem 0 0}
.audience-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--sp-gap)}
.aud-card{display:flex;flex-direction:column;background:var(--sky-tint);border-radius:22px;padding:var(--pad-card)}
.aud-tag{display:inline-block;align-self:flex-start;font-size:.74rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--sky-deep);background:#fff;padding:.3rem .65rem;border-radius:999px;margin-bottom:.9rem}
.aud-card h3{margin:0 0 .5rem}
.aud-card p{color:var(--ink-70);font-weight:600;line-height:1.55;margin:0 0 1.1rem;flex:1}
.aud-card .btn{align-self:flex-start}
.aud-link{display:inline-block;font-weight:800;color:var(--sky-deep);text-decoration:none;font-size:.92rem}
.aud-link:hover{color:var(--sky-deep)}
/* Buy steps */
.buysteps{background:var(--white)}
.buysteps-inner{background:var(--ink);color:#fff;border-radius:28px;padding:clamp(1.6rem,4vw,3.5rem);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(1.5rem,3.5vw,3rem);align-items:start}
.buysteps-head .eyebrow{display:inline-block;color:var(--sky);margin-bottom:.6rem}
.buysteps-head h2{color:#fff;margin:0 0 .6rem}
.buysteps-head p{color:rgba(255,255,255,.78);font-weight:600;line-height:1.55;margin:0}
.buysteps-list{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}
.buysteps-list li{display:flex;gap:.9rem;align-items:flex-start}
.bs-num{flex:none;width:36px;height:36px;border-radius:50%;background:var(--sky);color:var(--ink);font-weight:900;display:flex;align-items:center;justify-content:center}
.buysteps-list h3{color:#fff;margin:0 0 .15rem;font-size:1.05rem}
.buysteps-list p{color:rgba(255,255,255,.75);font-weight:600;margin:0;line-height:1.45}
.buysteps-cta{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;grid-column:1/-1}
.buysteps-cta .btn-outline{color:#fff;border-color:rgba(255,255,255,.6)}
.buysteps-cta .btn-outline:hover{background:rgba(255,255,255,.1)}
.buysteps-note{width:100%;margin:.2rem 0 0;font-size:.85rem;color:rgba(255,255,255,.7);font-weight:600}

/* ===== Journey / step list (badge + number left, text right) ===== */
.journey{position:relative;margin-top:2rem;display:flex;flex-direction:column;gap:1.5rem}
.journey::before{content:"";position:absolute;left:27px;top:12px;bottom:12px;width:3px;border-radius:2px;background:linear-gradient(180deg,var(--sky),var(--orange));z-index:0}
.jline{display:none}
.jstep{position:relative;z-index:1;display:grid;grid-template-columns:56px 1fr;column-gap:1rem;align-items:start}
.jstep .jmark{position:relative;width:56px;height:56px;flex:none}
.jstep .jbadge{width:56px;height:56px;border-radius:16px;background:#fff;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(39,50,56,.08)}
.jstep .jbadge svg{width:28px;height:28px;fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.jstep .jn{position:absolute;top:-8px;left:-8px;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;font-weight:900;font-size:.8rem;display:flex;align-items:center;justify-content:center;z-index:2}
.jstep .jtext{padding-top:.15rem}
.jstep h3{font-size:1.12rem;margin:0 0 .3rem}
.jstep p{color:var(--ink-70);font-size:.97rem;margin:0;max-width:52ch;line-height:1.55}
.jstep .jmedia{margin-top:.9rem}
.jstep:nth-child(1) .jbadge{border-color:var(--sky)}
.jstep:nth-child(2) .jbadge{border-color:var(--orange)}
.jstep:nth-child(3) .jbadge{border-color:var(--sky)}
.jstep:nth-child(4) .jbadge{border-color:var(--orange)}
@media (max-width:520px){
  .jstep{grid-template-columns:48px 1fr;column-gap:.8rem}
  .jstep .jmark,.jstep .jbadge{width:48px;height:48px}
  .jstep .jbadge svg{width:24px;height:24px}
  .journey::before{left:23px}
}

/* Be om tilbud – popup */
.tilbud-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(20,30,40,.55);
  display:flex;align-items:center;justify-content:center;padding:18px;overflow-y:auto}
.tilbud-backdrop[hidden]{display:none}
.tilbud-card{position:relative;background:#fff;border-radius:22px;width:min(100%,520px);
  max-height:92dvh;overflow-y:auto;padding:clamp(1.4rem,4vw,2.4rem);box-shadow:0 24px 60px rgba(20,30,40,.35)}
.tilbud-close{position:absolute;top:12px;right:14px;width:38px;height:38px;border:0;border-radius:50%;
  background:var(--sky-tint);color:var(--ink);font-size:1.5rem;line-height:1;cursor:pointer}
.tilbud-close:hover{background:var(--sky)}
.tilbud-eyebrow{font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--sky-deep);margin-bottom:.4rem}
.tilbud-card h2{margin:0 0 .4rem;font-size:clamp(1.3rem,3vw,1.7rem)}
.tilbud-sub{color:var(--ink-70);font-weight:600;margin:0 0 1.2rem;line-height:1.5}
.tilbud-form{display:flex;flex-direction:column;gap:.9rem}
.tilbud-form label{display:flex;flex-direction:column;gap:.3rem;font-weight:800;font-size:.9rem;color:var(--ink)}
.tilbud-form .req{color:#e3453f;margin-left:2px}
.tilbud-form input,.tilbud-form textarea{font-family:inherit;font-size:1rem;font-weight:500;color:var(--ink);
  background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:.7em .8em;width:100%}
.tilbud-form input:focus,.tilbud-form textarea:focus{outline:none;border-color:var(--sky-deep);box-shadow:0 0 0 3px rgba(122,205,236,.3)}
.tilbud-form textarea{resize:vertical;min-height:90px}
.tilbud-err{color:#c0392b;font-weight:700;font-size:.88rem;margin:0}
.tilbud-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.3rem}
.tilbud-actions .btn{flex:1 1 auto}
.tilbud-note{font-size:.8rem;color:var(--ink-40);margin:.2rem 0 0;line-height:1.4}

/* Footer logo – clean, correct aspect ratio on dark bg */
footer .foot-id a{display:inline-block !important;width:auto !important;height:auto !important;line-height:0}
footer .foot-id img{display:block !important;width:160px !important;height:43px !important;object-fit:contain !important;object-position:left center;background:#fff;padding:9px 14px;border-radius:14px;box-shadow:0 4px 14px rgba(0,0,0,.18);box-sizing:content-box}

/* Hero copy – soft readable panel at the bottom (desktop) */
@media (min-width:901px){
  .hero-copy{background:none;padding:0}
  .hero h1,.hero h1 .underline{color:#fbb835 !important}
  .hero .lead{color:#000 !important}
  .hero-trust{color:#000 !important}
}

/* Hero download button: pure black border + text */
.hero-ctas .btn-outline{border-color:#000 !important;color:#000 !important}

/* Header nav: regular weight (not bold) */
nav.menu > .item > a,nav.menu > .item > button{font-weight:500 !important}
.dropdown a{font-weight:500}

/* Hero headline accent: "lære å lære" in sky blue (same as Kjøp lisens) */
.hero h1 .underline{color:#000 !important;text-decoration:none;-webkit-text-decoration:none}
/* Last ned appen (hero outline button): default black border; on hover/focus/active → yellow fill, no border */
.hero-ctas .btn-outline:hover,
.hero-ctas .btn-outline:focus,
.hero-ctas .btn-outline:active,
.hero-ctas .btn-outline:focus-visible{
  background:var(--orange) !important;
  border-color:var(--orange) !important;
  color:var(--ink) !important;
  outline:none !important;box-shadow:none !important;
}

.bk-teaser-img{display:flex;align-items:center;justify-content:center}
.bk-teaser-img img{width:100%;max-width:360px;height:auto;border-radius:20px;display:block}



/* Footer: international social pages in a second row with a label */
.foot-social-intl{margin-top:16px}
.foot-intl-label{display:block;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#9fb0b8;margin-bottom:8px}
.foot-social-intl .foot-social a{width:44px;height:44px}
.foot-social-intl .foot-social svg{width:19px;height:19px}

/* Reach stats – icons + independent language dropdown */
.reach-stats{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px;margin:clamp(1.2rem,3vw,2rem) 0}
.rstat{display:flex;align-items:center;gap:14px;background:var(--white);border:1px solid var(--line);border-radius:18px;padding:16px 20px;box-shadow:var(--shadow);align-self:flex-start}
.rstat .ci{width:46px;height:46px;border-radius:12px;flex:none;display:flex;align-items:center;justify-content:center}
.rstat .ci svg{width:24px;height:24px}
.rstat .cn{font-size:1.6rem;font-weight:900;line-height:1;color:var(--ink)}
.rstat .cl{font-size:.9rem;font-weight:700;color:var(--ink-70);margin-top:4px}
/* language dropdown is self-contained; open state only grows this card */
.rstat-langs{display:block;padding:0;cursor:pointer;align-self:flex-start;position:relative;border-color:var(--sky) !important;transition:border-color .2s}
.rstat-langs summary{display:flex;align-items:center;gap:14px;padding:16px 20px;list-style:none;cursor:pointer}
.rstat-langs summary::-webkit-details-marker{display:none}
.rstat-langs summary .ci{background:var(--sky)}
.lang-caret{margin-left:6px;color:var(--sky-deep);font-size:.9rem;transition:transform .2s}
.rstat-langs[open] .lang-caret{transform:rotate(180deg)}
.lang-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:20;min-width:min(92vw,520px);
  background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 40px rgba(20,30,40,.18);
  padding:14px 18px;max-height:300px;overflow-y:auto}
.lang-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 20px}
.lang-list li{font-size:.9rem;font-weight:600;color:var(--ink);padding:4px 0;border-bottom:1px solid var(--line)}
@media(max-width:600px){.lang-list{grid-template-columns:1fr 1fr}.rstat-langs{width:100%}}

/* Audience card: stacked action buttons */



/* Audience card: text arrow-links (stacked) */

.aud-links .aud-link{margin-top:0}

/* Audience cards – clean, consistent action area pinned to bottom */
.aud-card{padding:clamp(1.4rem,2.5vw,2rem)}
.aud-card p{margin:0 0 1.4rem;flex:1}
.aud-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem;margin-top:auto}
.aud-actions .btn{align-self:stretch;text-align:center;margin-bottom:.2rem}
.aud-actions .aud-link:hover{color:var(--sky-deep);text-decoration:underline}



/* ===== Apper hero: full-bleed image, text on the right (Curious-Learning style) ===== */
body.route-prodhero .page-hero{
  margin-top:-120px;min-height:calc(100svh + 120px);
  display:flex;align-items:flex-end;justify-content:flex-start;
  padding:120px 0 190px;overflow:hidden;background:#eceae6;
}
body.route-prodhero .page-hero .ph-bg{
  position:absolute;inset:0;background-size:cover;background-position:center right;background-repeat:no-repeat;
}
/* soft scrim on the RIGHT so text reads over the image */
body.route-prodhero .page-hero .ph-bg::after{display:none}
body.route-prodhero .page-hero .wrap{position:relative;z-index:3;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 32px}
body.route-prodhero .page-hero .wrap > *{max-width:min(46%,560px)}
body.route-prodhero .page-hero.has-img h1{color:#fff !important;text-shadow:none}
body.route-prodhero .page-hero.has-img p{color:#000 !important;text-shadow:none}
body.route-prodhero .page-hero .eyebrow{display:none !important}
@media(max-width:900px){
  body.route-prodhero .page-hero{margin-top:-96px;min-height:100svh;padding:110px 0 40px;align-items:flex-end}
  body.route-prodhero .page-hero .ph-bg::after{display:none}
  body.route-prodhero .page-hero .wrap > *{margin-left:0;margin-right:auto;max-width:none}
}

/* Product hero supporting text – larger */
body.route-prodhero .page-hero.has-img p{font-size:clamp(1.1rem,1.5vw,1.4rem) !important;line-height:1.5;font-weight:700}
@media(max-width:900px){
  body.route-prodhero .page-hero.has-img p{font-size:clamp(1rem,4vw,1.2rem) !important}
  .hero .lead{font-size:clamp(1rem,4vw,1.15rem) !important}
}

/* Home hero supporting text – larger */
.hero .hero-copy .lead,.hero .lead{font-size:clamp(1.05rem,1.4vw,1.3rem) !important;line-height:1.5}
@media(max-width:900px){.hero .lead{font-size:clamp(1rem,4vw,1.15rem) !important}}

/* Minilab: uses shared prodhero styling */

/* Language dropdown: more visible */
.rstat-langs{border:2px solid var(--sky) !important;border-radius:18px}
.rstat-langs:hover{border-color:var(--sky-deep) !important;box-shadow:0 4px 16px rgba(92,194,231,.25)}
.lang-caret{font-size:1.1rem !important;font-weight:900;color:var(--sky-deep) !important}
.rstat-langs summary::after{content:"Klikk for å se";font-size:.72rem;color:var(--sky-deep);font-weight:700;margin-left:auto;opacity:.8}
.rstat-langs[open] summary::after{content:"Lukk"}

/* ======================================================
   MOBILE RESPONSIVE OVERHAUL  (≤ 900px)
   ====================================================== */
@media (max-width: 900px) {

  /* ---- BASE SPACING ---- */
  :root { --gutter: 1.1rem }
  .wrap { padding: 0 var(--gutter) }

  /* ---- HOME HERO: full-bleed photo + text at bottom ---- */
  .hero {
    margin-top: -96px;
    height: calc(100svh + 96px);
    min-height: 560px;
    align-items: flex-end;
    padding-bottom: 0;
  }
  .hero .wrap {
    padding-bottom: clamp(1.4rem, 5vh, 3rem);
    padding-top: 0;
  }
  .hero-copy { max-width: 100% }
  .hero h1 {
    font-size: clamp(1.8rem, 7.5vw, 2.6rem) !important;
    margin-bottom: .45rem;
    line-height: 1.15;
  }
  .hero .lead {
    font-size: clamp(.95rem, 4vw, 1.15rem) !important;
    line-height: 1.45;
    margin-bottom: .9rem;
  }
  .hero-ctas {
    display: flex;
    flex-direction: row;
    gap: .55rem;
    flex-wrap: wrap;
  }
  .hero-ctas .btn {
    flex: 1 1 140px;
    min-width: 0;
    white-space: nowrap;
    font-size: .88rem;
    padding: .7em .9em;
  }

  /* ---- PRODUCT PAGE HEROES (Apper / Lab / Minilab) ---- */
  body.route-prodhero .page-hero {
    margin-top: -96px;
    min-height: calc(100svh + 96px);
    padding-top: 110px;
    padding-bottom: clamp(1.8rem, 6vh, 3.5rem);
    align-items: flex-end;
    justify-content: flex-start;
  }
  body.route-prodhero .page-hero .wrap {
    max-width: 100%;
    padding: 0 var(--gutter);
  }
  body.route-prodhero .page-hero .wrap > * {
    max-width: 100%;
  }
  body.route-prodhero .page-hero.has-img h1 {
    font-size: clamp(1.7rem, 7vw, 2.4rem) !important;
    line-height: 1.15;
    margin-bottom: .4rem;
  }
  body.route-prodhero .page-hero.has-img p {
    font-size: clamp(.92rem, 3.8vw, 1.1rem) !important;
    line-height: 1.45;
    max-width: 100%;
  }

  /* ---- INNER PAGE HERO (non-product) ---- */
  .page-hero {
    padding: 110px 0 clamp(2rem, 5vh, 3.5rem);
  }
  .page-hero h1 {
    font-size: clamp(1.6rem, 6.5vw, 2.4rem) !important;
    line-height: 1.2;
  }
  .page-hero p {
    font-size: clamp(.92rem, 3.8vw, 1.1rem);
    max-width: 100%;
  }

  /* ---- AUDIENCE CARDS (home "Kom i gang") ---- */
  .audience-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .aud-card { padding: 1.4rem 1.2rem }
  .aud-card h3 { font-size: clamp(1.05rem, 4.5vw, 1.3rem) }
  .aud-card p  { font-size: clamp(.88rem, 3.5vw, 1rem) }
  .aud-actions .btn { font-size: .9rem; padding: .7em 1em }

  /* ---- SECTION HEADINGS ---- */
  h2 { font-size: clamp(1.3rem, 5.5vw, 2rem) !important; line-height: 1.2 }
  h3 { font-size: clamp(1.05rem, 4.2vw, 1.4rem) !important }
  p  { font-size: clamp(.9rem, 3.8vw, 1.05rem) }

  /* ---- FEATURE / CONTENT SECTIONS ---- */
  .feat-grid, .features-grid, [class*="feat-grid"] {
    grid-template-columns: 1fr !important;
    gap: 1.2rem;
  }
  .feat { padding: 1.2rem 1rem }

  /* ---- BELIEFS / REACH ---- */
  .believes { padding: 2rem 1.4rem }
  .belief p { font-size: clamp(.95rem, 4vw, 1.1rem) }
  .reach-stats { gap: .8rem }
  .rstat { padding: 12px 14px }
  .rstat .cn { font-size: 1.3rem }
  .rstat .cl { font-size: .8rem }
  .lang-panel { min-width: min(96vw, 360px) }

  /* ---- TEAM GRID ---- */
  .team-grid { grid-template-columns: 1fr 1fr !important; gap: 1rem }
  .team-card { padding: 1rem }

  /* ---- TESTIMONIALS ---- */
  .testimonial-track { gap: 1rem }
  .testimonial { min-width: min(85vw, 320px); padding: 1.2rem 1rem }
  .testimonial p { font-size: .9rem }

  /* ---- FOOTER ---- */
  .foot-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 1.6rem 1rem;
  }
  .foot-logo-wrap { grid-column: 1 / -1 }

  /* ---- LÆRINGSSTIGEN / LADDER ---- */
  .ladder-wrap { overflow-x: auto }

  /* ---- BOKSTAVKONGEN TEASER ---- */
  .bk-teaser-inner {
    grid-template-columns: 1fr !important;
    gap: 1.4rem;
  }
  .bk-teaser-img img { max-width: 260px; margin: 0 auto }

  /* ---- STORE CARDS ---- */
  .stores { gap: 1rem }
  .store { padding: 1.2rem 1rem }

  /* ---- PLAY/LEARN SECTION ---- */
  .playlearn-inner { grid-template-columns: 1fr !important }

  /* ---- ADULTS LIT SECTION ---- */
  .adultlit-inner {
    grid-template-columns: 1fr !important;
    gap: 1.4rem;
  }
  .adultlit-art img { max-height: 280px }

  /* ---- VOKSENOPPLÆRING ---- */
  .adultlit-copy h2 { font-size: clamp(1.3rem, 5.5vw, 1.9rem) }

  /* ---- PRODUCT CONTENT PAGES ---- */
  .ph-content-grid { grid-template-columns: 1fr !important }
  .ph-section { padding: 2rem 0 }

  /* ---- GENERAL SECTION PADDING ---- */
  section { padding-top: clamp(2.5rem, 8vw, 4rem); padding-bottom: clamp(2.5rem, 8vw, 4rem) }
}

/* ---- VERY SMALL SCREENS ---- */
@media (max-width: 400px) {
  .hero h1 { font-size: clamp(1.5rem, 7vw, 1.9rem) !important }
  .hero-ctas .btn { flex: 0 0 auto; width: 100% }
  .foot-grid { grid-template-columns: 1fr !important }
}

/* ===== Lærelab + Minilab on one page ===== */
.lab-picker{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.lab-pick{background:var(--sky-tint);border:1px solid var(--line);border-radius:20px;padding:28px 28px 30px}
.lab-pick-ml{background:#fef6e6}
.lab-pick h3{margin:8px 0 8px;font-size:1.3rem}
.lab-pick p{color:var(--ink-70);margin:0 0 20px}
.ml-eyebrow{display:inline-block;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--sky-deep)}
.ml-divider-inner{display:grid;grid-template-columns:1.05fr 1fr;gap:36px;align-items:center;background:#fef6e6;border-radius:26px;padding:40px}
.ml-divider h2{margin:8px 0 14px}
.ml-divider p{color:var(--ink-70);margin:0}
.ml-divider img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px;display:block}
#laerelab,#minilab{scroll-margin-top:110px}
@media(max-width:760px){.lab-picker,.ml-divider-inner{grid-template-columns:1fr}.ml-divider-inner{padding:24px;gap:20px}}

/* ===== Text on images: white with brand-blue glow ===== */
body.route-prodhero .page-hero.has-img h1{
  color:#fff!important;
  text-shadow:0 1px 2px rgba(92,194,231,1),0 0 6px rgba(92,194,231,1),0 0 14px rgba(92,194,231,.95),0 0 28px rgba(92,194,231,.8)!important;
}
/* Intro lines on images: black with white glow */
.hero .lead,
body.route-prodhero .page-hero.has-img p{
  color:#000!important;
  text-shadow:0 1px 2px rgba(255,255,255,1),0 0 6px rgba(255,255,255,1),0 0 14px rgba(255,255,255,.95),0 0 28px rgba(255,255,255,.8)!important;
}
/* Home hero: "Last ned appen" without border */
.hero-ctas .btn-outline{border-color:transparent!important}
.hero .lead{font-weight:700}

/* ===== Responsive polish (all screen sizes) ===== */
/* 4-up card rows: 2 columns on tablets / small laptops so text isn't squeezed */
@media (min-width:600px) and (max-width:1180px){
  .g-4,.playlearn-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
/* Minimum readable size for small labels */
.aud-tag{font-size:.78rem}
.room .rtag{font-size:.78rem}
.foot-intl-label{font-size:.76rem}
/* Comfortable tap targets for text links on touch screens */
@media (hover:none),(max-width:1024px){
  .aud-link{padding:7px 0}
  .dropdown a{min-height:44px;display:flex;align-items:center}
}
/* Keep long paragraphs at a readable line length on wide screens */
.box p,.page-body .sec > p{max-width:75ch}
.box.tint{max-width:none}
/* Home hero headline: soft white glow so it reads on the photo at every size */
.hero h1{text-shadow:0 1px 2px rgba(39,50,56,.55),0 0 12px rgba(39,50,56,.35)!important}
.hero h1 .underline{text-shadow:0 0 2px rgba(255,255,255,.95),0 0 10px rgba(255,255,255,.8),0 0 22px rgba(255,255,255,.55)!important}
/* Very wide screens: keep hero copy from stretching */
@media (min-width:1700px){.hero-copy{max-width:620px}}

/* ===== Design & UX polish ===== */
/* Keyboard focus that is easy to see */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,.tm-card:focus-visible{outline:3px solid var(--sky-deep);outline-offset:3px;border-radius:10px}
/* Home hero: "Last ned appen" keeps a soft white pill so it still reads as a button */
.hero-ctas .btn-outline{background:rgba(255,255,255,.92)!important;color:var(--ink)!important}
.hero-ctas .btn-outline:hover{background:#fff!important}
/* Home "Kom i gang": buttons line up across the three cards */
.aud-actions{min-height:8.2rem}
@media (max-width:760px){.aud-actions{min-height:0}}
/* "Ta Leap Learning med hjem": text left, store buttons right on wide screens */
@media (min-width:1000px){
  .cta .reveal{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);column-gap:64px;align-items:center}
  .cta .reveal > *{grid-column:1}
  .cta .reveal > .cta-buttons{grid-column:2;grid-row:1 / span 3;max-width:none}
  .cta p{margin-bottom:0}
}
/* "Hva Leap tror på": dark band now matches the footer, so the card sits on it cleanly */
.believes-sec{background:linear-gradient(180deg,var(--white) 0%,var(--white) 46%,var(--ink) 46%,var(--ink) 100%)!important;padding-bottom:clamp(56px,7vw,96px)}
footer{border-top:0}
/* Footer: logo aligned with the other columns */
.foot-grid{align-items:start}
.foot-id{align-self:start}
/* Bokstavkongen + Voksenopplæring cards: same width as the rest of the page */
.adultlit .wrap{max-width:var(--maxw);padding-inline:var(--gutter)}
.adultlit{padding:clamp(48px,6vw,80px) 0}
/* Bokstavkongen video tiles: wider tiles, no words broken in the middle */
.bk-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr))!important}
.bk-item{word-break:normal;overflow-wrap:normal;hyphens:manual;min-height:56px}
.bk-item .bk-letter{flex:none}
/* Boxes with a closing button: button sits at the bottom, cards line up */
.box:has(> .btn:last-child){display:flex;flex-direction:column;align-items:flex-start}
.box:has(> .btn:last-child) > .btn:last-child{margin-top:auto}
.box:has(> .btn:last-child) > p{margin-bottom:20px}
/* About pages: closing band centred above its centred buttons */
.abx-band{text-align:center}
.abx-band p{margin-inline:auto}
/* Cards: gentle lift on hover (desktop) */
@media (hover:hover){
  .aud-card,.pl-card,.lab-pick,.res-card,.bk-item{transition:transform .2s ease,box-shadow .2s ease}
  .aud-card:hover,.pl-card:hover,.lab-pick:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(39,50,56,.10)}
}
/* Lærelab: sticky in-page navigation */
.lab-subnav{position:sticky;top:118px;z-index:50;display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;
  margin:28px 0 8px;padding:8px;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid var(--line);border-radius:999px;box-shadow:0 8px 24px rgba(39,50,56,.08);width:max-content;max-width:100%}
.lab-subnav::-webkit-scrollbar{display:none}
.lab-subnav button{flex:none;border:0;background:transparent;font:inherit;font-weight:800;font-size:.9rem;color:var(--ink-70);
  padding:.6em 1.05em;border-radius:999px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}
.lab-subnav button:hover{background:var(--sky-tint);color:var(--ink)}
.lab-subnav button.on{background:var(--sky);color:var(--ink)}
@media (max-width:860px){.lab-subnav{top:80px;border-radius:16px;width:auto}}
#lab-what,#lab-stations,#lab-ladder,#lab-rooms,#lab-needs,#lab-price{scroll-margin-top:190px}
#laerelab,#minilab{scroll-margin-top:190px}
@media (max-width:860px){#lab-what,#lab-stations,#lab-ladder,#lab-rooms,#lab-needs,#lab-price,#laerelab,#minilab{scroll-margin-top:150px}}
/* Back-to-top button */
.to-top{position:fixed;right:clamp(14px,3vw,28px);bottom:clamp(14px,3vw,28px);z-index:90;width:48px;height:48px;border-radius:50%;
  border:0;background:var(--ink);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 24px rgba(39,50,56,.25);
  opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .2s,transform .2s,background .15s}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{background:var(--sky-deep)}
.to-top svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* ===== Lærelab: three lab types ===== */
.lab-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:26px}
.lab-type{position:relative;display:flex;flex-direction:column;align-items:flex-start;border-radius:22px;padding:30px 28px 28px;border:1px solid var(--line)}
.lab-type.lt-lit{background:#eef4ff}
.lab-type.lt-num-lab{background:#eef7e6}
.lab-type.lt-mini{background:#fef6e6}
.lab-type .lt-num{position:absolute;top:22px;right:24px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:900;background:#fff;color:var(--ink);box-shadow:0 4px 12px rgba(39,50,56,.08)}
.lab-type h3{margin:8px 0 8px;font-size:1.25rem;padding-right:40px}
.lab-type p{color:var(--ink-70);margin:0 0 22px;flex:1}
.lab-type.lt-lit .ml-eyebrow{color:#2979ff}
.lab-type.lt-num-lab .ml-eyebrow{color:#5a9e2f}
.lab-type.lt-mini .ml-eyebrow{color:#d08a00}
.lt-combo{margin-top:22px;padding:16px 20px;background:var(--sky-tint);border-radius:14px;color:var(--ink)}
.lt-link{border:0;background:none;font:inherit;font-weight:800;color:var(--sky-deep);text-decoration:underline;cursor:pointer;padding:0 0 0 4px}
@media (max-width:900px){.lab-types{grid-template-columns:1fr}}
@media (hover:hover){.lab-type{transition:transform .2s,box-shadow .2s}.lab-type:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(39,50,56,.10)}}
[id^="lab-"],#minilab,#laerelab{scroll-margin-top:190px}
@media (max-width:860px){[id^="lab-"],#minilab,#laerelab{scroll-margin-top:150px}}

/* Lærelab: closing contact line (email as plain text) */
.lab-contact{margin-top:28px;font-size:1.1rem;font-weight:700;color:var(--ink)}
.lab-email{font-weight:900;color:var(--ink);background:var(--sky-tint);padding:.15em .5em;border-radius:8px;user-select:all;-webkit-user-select:all;white-space:nowrap}

/* Apper: all ways to use the apps in one place */
.use-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}
.use-grid .box{display:flex;flex-direction:column;align-items:flex-start}
.use-grid .box > p{margin-bottom:20px}
.use-grid .box > .btn:last-child,.use-grid .use-actions{margin-top:auto}
.use-actions{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:760px){.use-grid{grid-template-columns:1fr!important}}
#bruk-appene{scroll-margin-top:120px}

/* Bokstavkongen hero: light product photo, so dark text with a white glow */
body.route-prodhero .page-hero.hero-bk .ph-bg{background-position:center 35%}
body.route-prodhero .page-hero.hero-bk .ph-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.55) 26%,rgba(255,255,255,0) 46%)}
body.route-prodhero .page-hero.hero-bk.has-img h1{color:var(--ink)!important;text-shadow:0 0 2px #fff,0 0 12px rgba(255,255,255,.9)!important}

@media (min-width:861px){
  body.route-prodhero .page-hero.hero-bk{background:linear-gradient(135deg,var(--sky-tint) 0%,#fef6e6 100%)}
  body.route-prodhero .page-hero.hero-bk .ph-bg{inset:auto;left:44%;right:clamp(24px,4vw,64px);top:54%;transform:translateY(-50%);
    aspect-ratio:3/2;max-height:72%;background-size:cover;background-position:center;border-radius:28px;box-shadow:0 24px 60px rgba(39,50,56,.18)}
  body.route-prodhero .page-hero.hero-bk .ph-bg::before{display:none}
  body.route-prodhero .page-hero.hero-bk .wrap{align-self:center}
}

/* Romalternativer: four top-down room plans */
.rooms.rooms-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.rooms-4 .room .plan{padding:14px 10px}
.rooms-4 .room .plan svg{max-width:100%}
.rooms-4 .rtag{display:flex;align-items:center;justify-content:space-between;gap:8px;white-space:nowrap}
.rec-badge{font-size:.75rem;letter-spacing:.06em;background:#fff;color:var(--ink);padding:.25em .7em;border-radius:999px}
.rooms-4 .room-rec{border-color:var(--sky);box-shadow:0 0 0 2px var(--sky) inset}

@media (max-width:1180px){.rooms.rooms-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:600px){.rooms.rooms-4{grid-template-columns:1fr!important}}

/* Lærelab hero: real lab photo on a light wall – centred, dark heading */
body.route-prodhero .page-hero.hero-lab .ph-bg{background-position:30% 40%}

/* Ressurser: photo on each card */
.grid3:has(> .res-has-img){grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media (max-width:1000px){.grid3:has(> .res-has-img){grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:600px){.grid3:has(> .res-has-img){grid-template-columns:1fr!important}}

.res-has-img{display:flex;flex-direction:column}
.res-img{margin:0 0 18px;border-radius:14px;overflow:hidden;aspect-ratio:16/10;background:var(--sky-tint)}
.res-img img{width:100%;height:100%;object-fit:cover;display:block}

/* Sheet update: trust line, reach band, ladders side by side */
.hero-trust{margin-top:16px;font-weight:800;font-size:.95rem;color:var(--ink);text-shadow:0 0 2px #fff,0 0 10px rgba(255,255,255,.9)}
.reach-band{padding:clamp(48px,6vw,88px) 0}
.reach-inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center;background:linear-gradient(135deg,var(--sky-tint),#fef6e6);border-radius:28px;padding:clamp(28px,4vw,56px)}
.reach-copy h2{margin:8px 0 12px}
.reach-copy p{color:var(--ink-70);font-weight:600;max-width:52ch}
.reach-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.rs{background:#fff;border-radius:18px;padding:20px 14px;text-align:center;box-shadow:0 8px 22px rgba(39,50,56,.06)}
.rs b{display:block;font-size:clamp(1.6rem,3vw,2.3rem);font-weight:900;color:var(--ink);line-height:1.1}
.rs span{display:block;margin-top:4px;font-weight:700;color:var(--ink-70);font-size:.9rem}
@media (max-width:860px){.reach-inner{grid-template-columns:1fr}}
.ladder-pair{grid-template-columns:1fr 1fr!important;align-items:end}
.ladder-pair .ladder-rung{min-height:34px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.15}
@media (max-width:600px){.ladder-pair{gap:12px!important}.ladder-pair .ladder-rung{min-height:44px;font-size:.75rem;padding:4px 6px}}

.use-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.use-grid .use-launcher{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:28px;align-items:center}
.use-grid .use-launcher .res-img{margin:0}
.use-launcher .ul-body{display:flex;flex-direction:column;align-items:flex-start}
.use-launcher .ul-body p{margin-bottom:20px}
@media (max-width:760px){.use-grid .use-launcher{grid-template-columns:1fr}}

/* ===== Responsive pass 2 ===== */
/* Logo never distorts on very small phones */
.brand-lockup{object-fit:contain}
/* Team: roles and names never break mid-word */
.tm-name,.tm-role,.tm-meta{overflow-wrap:normal;word-break:normal;hyphens:auto;-webkit-hyphens:auto}
@media (max-width:420px){
  .tm-grid{gap:18px 12px!important}
  .tm-role{font-size:.82rem;line-height:1.3}
  .tm-name{font-size:.95rem}
}
@media (max-width:330px){.tm-grid{grid-template-columns:1fr!important}.tm-card{max-width:240px;margin-inline:auto}}
/* Phones in landscape / short screens: heroes fit in the first view */
@media (max-height:560px) and (orientation:landscape){
  .hero,.hero .wrap{min-height:auto!important}
  .hero .wrap{padding-top:96px!important;padding-bottom:28px!important}
  .hero h1{font-size:clamp(1.5rem,4.2vw,2rem)!important}
  .hero p.lead{margin:10px 0 16px!important;font-size:.95rem!important}
  .hero-trust{margin-top:10px}
  body.route-prodhero .page-hero{min-height:auto!important;padding:110px 0 32px!important}
  body.route-prodhero .page-hero.has-img h1{font-size:clamp(1.6rem,4.5vw,2.2rem)!important}
  body.route-prodhero .page-hero.hero-bk .ph-bg,body.route-prodhero .page-hero .ph-bg{background-position:center 30%}
  .lab-subnav{top:76px}
}
/* Large and ultra-wide screens: scale up gently instead of leaving content tiny */
@media (min-width:1800px){:root{--maxw:1480px}html{font-size:17px}}
@media (min-width:2300px){:root{--maxw:1640px}html{font-size:19px}.hero-copy{max-width:760px}.hero h1{font-size:3.6rem!important}.hero p.lead{font-size:1.25rem!important}}
/* Long words in headings wrap instead of overflowing */
h1,h2,h3{overflow-wrap:break-word;hyphens:manual}
/* Images never wider than their box */
img,svg,video{max-width:100%}

/* Home link in menu (hidden on the home page) */
.menu > .home-item > a{display:flex;align-items:center;height:100%;font-weight:600;color:var(--ink);text-decoration:none;border-radius:999px}
.menu > .home-item > a:hover{color:var(--sky-deep)}
body.is-home .menu > .home-item{display:none}
/* Home hero: "Last ned appen" fills yellow on hover */
.hero-ctas .btn-outline:hover,.hero-ctas .btn-outline:focus-visible{background:var(--orange)!important;border-color:var(--orange)!important;color:var(--ink)!important}
/* Apper: two cards – launcher (2/3) + PC (1/3) */
.use-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr)!important}
.use-grid .use-launcher{grid-column:auto!important;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)!important;align-items:start}
.use-launcher .ul-body .use-actions{margin-top:6px}
@media (max-width:1100px){.use-grid{grid-template-columns:1fr!important}}
@media (max-width:640px){.use-grid .use-launcher{grid-template-columns:1fr!important}}

/* Voksenopplæring photo: portrait crop that always shows the face */
.adultlit-art{width:100%;max-width:440px!important;margin-inline:auto}
.adultlit-art img.adult-photo{display:block;width:100%;height:auto!important;max-height:none!important;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;border-radius:20px}
@media (max-width:860px){.adultlit-art{max-width:320px!important}}
@media (max-width:480px){.adultlit-art{max-width:260px!important}.adultlit-art img.adult-photo{aspect-ratio:1/1;object-position:50% 12%}}

/* "Ta Leap Learning med hjem": short app facts */
.app-facts{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:10px}
.app-facts li{position:relative;padding-left:28px;color:var(--ink-70);font-weight:600;line-height:1.45}
.app-facts li b{color:var(--ink)}
.app-facts li::before{content:"";position:absolute;left:0;top:.2em;width:18px;height:18px;border-radius:50%;background:var(--sky) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23273238' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/12px no-repeat}
.app-more{display:inline-block;margin-top:18px;font-weight:800;color:var(--sky-deep);text-decoration:none}
.app-more:hover{text-decoration:underline}
.cta .store svg[style*="fill:none"] circle{fill:none}
@media (min-width:1000px){.cta .reveal > .cta-buttons{grid-row:1 / span 6!important}}
@media (max-width:999px){.app-more{margin-bottom:24px}}

/* ================= Oppdrag og visjon ================= */
.mv-hero{position:relative;overflow:hidden;margin:28px 0 0;padding:clamp(48px,8vw,104px) clamp(24px,5vw,72px);border-radius:32px;background:linear-gradient(135deg,#eaf7fc 0%,#f6fbfe 55%,#fff5e2 100%);isolation:isolate}
.mv-kicker{display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--sky-deep);background:#fff;padding:.45em 1em;border-radius:999px;box-shadow:0 4px 14px rgba(39,50,56,.06)}
.mv-tag{margin:18px 0 0!important;font-size:clamp(3rem,10.5vw,7.2rem)!important;font-weight:900;line-height:.95;letter-spacing:-.035em;color:var(--ink)}
.mv-tag span{display:inline-block}
.mv-tag em{font-style:normal;display:inline-block;color:var(--ink);background:linear-gradient(transparent 62%,var(--orange) 62%,var(--orange) 90%,transparent 90%);padding:0 .06em}
.mv-sub{margin-top:22px;font-size:clamp(1.05rem,1.6vw,1.3rem);font-weight:700;color:var(--ink-70);max-width:30em}
.mv-blob{position:absolute;border-radius:50%;z-index:-1;filter:blur(.5px)}
.mv-blob.b1{width:clamp(140px,22vw,300px);height:clamp(140px,22vw,300px);right:-60px;top:-60px;background:var(--sky);opacity:.35}
.mv-blob.b2{width:clamp(90px,12vw,160px);height:clamp(90px,12vw,160px);right:16%;bottom:-50px;background:var(--orange);opacity:.35}
.mv-blob.b3{width:44px;height:44px;right:9%;top:46%;background:#8bc34a;opacity:.5}

.mv-statements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:28px 0 0}
.mv-card{position:relative;border-radius:28px;padding:clamp(28px,4vw,48px);overflow:hidden}
.mv-vision{background:var(--ink);color:#fff}
.mv-mission{background:var(--sky);color:var(--ink)}
.mv-card-ic{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;margin-bottom:22px}
.mv-vision .mv-card-ic{background:rgba(255,255,255,.1);color:var(--sky)}
.mv-mission .mv-card-ic{background:rgba(255,255,255,.55);color:var(--ink)}
.mv-card-ic svg{width:26px;height:26px}
.mv-label{display:inline-block;font-size:.8rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.mv-vision .mv-label{color:var(--sky)}
.mv-mission .mv-label{color:var(--ink)}
.mv-statement{margin-top:12px;font-size:clamp(1.35rem,2.6vw,2.05rem)!important;font-weight:900;line-height:1.22;letter-spacing:-.01em}
.mv-vision .mv-statement{color:#fff}

.mv-quote{margin:clamp(56px,8vw,96px) auto;max-width:880px;text-align:center;position:relative}
.mv-qmark{display:block;font-size:clamp(5rem,10vw,8rem);line-height:.6;font-weight:900;color:var(--orange);font-family:Georgia,serif}
.mv-quote blockquote{margin:12px 0 0;font-size:clamp(1.35rem,2.8vw,2.2rem)!important;font-weight:900;line-height:1.3;color:var(--ink);letter-spacing:-.01em}
.mv-quote figcaption{display:inline-flex;align-items:center;gap:14px;margin-top:28px;text-align:left}
.mv-quote figcaption img{width:56px;height:56px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 4px #fff,0 6px 18px rgba(39,50,56,.15)}
.mv-quote figcaption b{display:block;font-weight:900;color:var(--ink)}
.mv-quote figcaption span{font-size:.92rem;font-weight:700;color:var(--ink-70)}

.mv-head{margin-bottom:22px}
.mv-head .mv-label{color:var(--sky-deep)}
.mv-head h3{margin-top:8px;font-size:clamp(1.45rem,2.6vw,2rem)!important;font-weight:900;color:var(--ink)}
.mv-short{padding-top:clamp(40px,6vw,64px);border-top:1px solid var(--line)}
.mv-short-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.mv-short-grid article{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px 26px}
.mv-short-ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;margin-bottom:16px}
.mv-short-ic svg{width:24px;height:24px}
.mv-short-grid h4{font-size:1.2rem;font-weight:900;margin-bottom:8px;color:var(--ink)}
.mv-short-grid p{color:var(--ink-70);font-weight:600;line-height:1.6}

.mv-toc{margin-top:clamp(48px,6vw,64px)}
.mv-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;counter-reset:s}
.mv-steps li{position:relative;background:var(--sky-tint);border-radius:22px;padding:30px 26px 28px;border-top:6px solid var(--c)}
.mv-steps li:not(:last-child)::after{content:"";position:absolute;right:-16px;top:50%;width:14px;height:14px;border-top:3px solid #b9c7ce;border-right:3px solid #b9c7ce;transform:translateY(-50%) rotate(45deg);z-index:1}
.mv-num{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--c);color:var(--ink);font-weight:900;margin-bottom:14px}
.mv-steps h4{font-size:1.25rem;font-weight:900;color:var(--ink);margin-bottom:6px}
.mv-steps p{color:var(--ink-70);font-weight:600;line-height:1.55}

.mv-cta{margin:clamp(56px,8vw,88px) 0 12px;background:var(--ink);border-radius:28px;padding:clamp(36px,5vw,56px) 24px;text-align:center}
.mv-cta-line{font-size:clamp(1.3rem,2.4vw,1.9rem);font-weight:900;color:#fff;margin-bottom:24px}
.mv-cta-line em{font-style:normal;color:var(--orange)}
.mv-btn-light{color:#fff!important;border-color:#fff!important}
.mv-btn-light:hover{background:#fff!important;color:var(--ink)!important}

@media (max-width:900px){
  .mv-statements,.mv-short-grid,.mv-steps{grid-template-columns:1fr}
  .mv-steps li:not(:last-child)::after{right:auto;left:50%;top:auto;bottom:-15px;transform:translateX(-50%) rotate(135deg)}
}
@media (max-width:480px){
  .mv-hero{border-radius:24px}
  .mv-quote figcaption{flex-direction:column;text-align:center;gap:10px}
}

/* ================= Hva vi gjør (same family as Oppdrag og visjon) ================= */
.wd-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,4vw,56px);align-items:center;margin:28px 0 0;padding:clamp(36px,6vw,72px) clamp(24px,5vw,64px);border-radius:32px;background:linear-gradient(135deg,#eaf7fc 0%,#f6fbfe 55%,#fff5e2 100%);overflow:hidden;isolation:isolate}
.wd-title{margin:18px 0 0!important;font-size:clamp(2.1rem,4.6vw,3.8rem)!important;font-weight:900;line-height:1.05;letter-spacing:-.025em;color:var(--ink)}
.wd-title em{font-style:normal;white-space:nowrap;background:linear-gradient(transparent 62%,var(--orange) 62%,var(--orange) 90%,transparent 90%);padding:0 .04em}
.wd-sub{margin-top:20px;font-size:clamp(1rem,1.4vw,1.15rem);font-weight:600;line-height:1.6;color:var(--ink-70);max-width:34em}
.wd-collage{position:relative;aspect-ratio:5/4;width:100%}
.wd-collage img{position:absolute;object-fit:cover;border-radius:24px;box-shadow:0 18px 44px rgba(39,50,56,.18)}
.wd-c1{left:0;top:0;width:78%;height:72%}
.wd-c2{right:0;bottom:0;width:56%;height:56%;border:6px solid #fff}
.wd-collage .mv-blob.b1{right:-40px;top:-40px;width:160px;height:160px}
.wd-collage .mv-blob.b3{left:6%;bottom:6%;width:46px;height:46px}

.wd-how{margin-top:clamp(56px,8vw,88px)}
.wd-flow{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;position:relative}
.wd-flow::before{content:"";position:absolute;left:8%;right:8%;top:44px;border-top:2px dashed #cfdbe1;z-index:0}
.wd-flow li{position:relative;z-index:1;background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px 26px 28px;transition:transform .2s,box-shadow .2s}
.wd-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.wd-ic{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:var(--t);color:var(--ink);box-shadow:inset 0 0 0 2px var(--c)}
.wd-ic svg{width:26px;height:26px}
.wd-n{font-size:2.6rem;font-weight:900;line-height:1;color:transparent;-webkit-text-stroke:2px var(--c);letter-spacing:-.02em}
.wd-flow h4{font-size:1.25rem;font-weight:900;color:var(--ink);margin-bottom:8px}
.wd-flow p{color:var(--ink-70);font-weight:600;line-height:1.6}
@media (hover:hover){.wd-flow li:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(39,50,56,.10)}}

.wd-why{margin-top:clamp(56px,8vw,88px);background:var(--sky);border-radius:28px;padding:clamp(32px,5vw,64px)}
.wd-why .mv-label{color:var(--ink)}
.wd-why-text{margin-top:14px;font-size:clamp(1.35rem,2.8vw,2.25rem)!important;font-weight:900;line-height:1.28;letter-spacing:-.01em;color:var(--ink);max-width:30em}
.wd-why-text em{font-style:normal;color:var(--ink);background:linear-gradient(transparent 60%,rgba(255,255,255,.75) 60%,rgba(255,255,255,.75) 92%,transparent 92%)}

.wd-where{margin-top:clamp(48px,7vw,80px);text-align:center}
.wd-where-line{font-size:clamp(1.3rem,2.6vw,2rem)!important;font-weight:900;line-height:1.3;color:var(--ink);max-width:24em;margin:0 auto}
.wd-chips{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.wd-chips li{display:inline-flex;align-items:center;gap:8px;padding:.6em 1.1em;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:800;color:var(--ink);box-shadow:0 4px 14px rgba(39,50,56,.05)}
.wd-chips li::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--c)}
.wd-chips li.wd-more{background:var(--sky-tint);color:var(--ink-70)}
.wd-chips li.wd-more::before{display:none}

.wd-cta{margin-top:clamp(48px,7vw,80px)}

@media (max-width:900px){
  .wd-hero{grid-template-columns:1fr}
  .wd-collage{max-width:520px;margin:0 auto}
  .wd-flow{grid-template-columns:1fr}
  .wd-flow::before{left:54px;right:auto;top:30px;bottom:30px;border-top:0;border-left:2px dashed #cfdbe1}
}
@media (max-width:480px){.wd-hero{border-radius:24px}.wd-n{font-size:2.1rem}}

/* ================= Vår tilnærming (same family) ================= */
.oa-hero{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,4vw,56px);align-items:center;margin:28px 0 0;padding:clamp(36px,6vw,72px) clamp(24px,5vw,64px);border-radius:32px;background:linear-gradient(135deg,#eaf7fc 0%,#f6fbfe 55%,#fff5e2 100%);overflow:hidden;isolation:isolate}
.oa-hero .mv-blob.b2{right:-40px;bottom:-60px}
.oa-ladder{margin:0;background:#fff;border-radius:24px;padding:22px 22px 18px;box-shadow:0 18px 44px rgba(39,50,56,.12)}
.oa-ladder svg{width:100%;height:auto;display:block}
.oa-ladder figcaption{margin-top:12px;font-size:.95rem;font-weight:700;color:var(--ink-70);line-height:1.5}

.oa-principles{margin-top:clamp(48px,6vw,64px)}
.oa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.oa-grid article{display:grid;grid-template-columns:56px minmax(0,1fr);gap:18px;align-items:start;background:#fff;border:1px solid var(--line);border-left:6px solid var(--c);border-radius:22px;padding:26px 26px 26px 22px;transition:transform .2s,box-shadow .2s}
.oa-n{display:block;font-size:.8rem;font-weight:900;letter-spacing:.14em;color:var(--ink-40);margin-bottom:4px}
.oa-grid h4{font-size:1.2rem;font-weight:900;color:var(--ink);margin-bottom:8px}
.oa-grid p{color:var(--ink-70);font-weight:600;line-height:1.6}
@media (hover:hover){.oa-grid article:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(39,50,56,.10)}}

.oa-session{margin-top:clamp(48px,6vw,64px)}
.oa-path{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;counter-reset:st}
.oa-path li{counter-increment:st;position:relative;background:var(--sky-tint);border-radius:20px;padding:58px 20px 22px}
.oa-path li::before{content:counter(st);position:absolute;left:20px;top:18px;width:30px;height:30px;border-radius:50%;background:var(--c);display:grid;place-items:center;font-weight:900;color:var(--ink);font-size:.95rem}
.oa-path li:not(:last-child)::after{content:"";position:absolute;right:-12px;top:30px;width:10px;height:10px;border-top:3px solid #b9c7ce;border-right:3px solid #b9c7ce;transform:rotate(45deg);z-index:1}
.oa-path b{display:block;font-size:1.08rem;font-weight:900;color:var(--ink);margin-bottom:6px}
.oa-path span{color:var(--ink-70);font-weight:600;font-size:.95rem;line-height:1.5}

.oa-who{margin-top:clamp(48px,6vw,64px);background:var(--ink);border-radius:28px;padding:clamp(30px,5vw,56px)}
.oa-who .mv-label{color:var(--sky)}
.oa-who-list{list-style:none;padding:0;margin:18px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.oa-who-list li{padding:6px 24px 6px 0;margin-right:24px;border-right:1px solid rgba(255,255,255,.14)}
.oa-who-list li:last-child{border-right:0;margin-right:0}
.oa-who-list b{display:block;font-size:clamp(1.15rem,1.8vw,1.45rem);font-weight:900;color:#fff;margin-bottom:6px}
.oa-who-list span{color:rgba(255,255,255,.72);font-weight:600;line-height:1.5}
.oa-who + .mv-cta{background:var(--sky)}
.oa-who + .mv-cta .mv-cta-line{color:var(--ink)}
.oa-who + .mv-cta .mv-cta-line em{color:var(--ink);background:linear-gradient(transparent 60%,rgba(255,255,255,.8) 60%,rgba(255,255,255,.8) 92%,transparent 92%)}
.oa-who + .mv-cta .mv-btn-light{color:var(--ink)!important;border-color:var(--ink)!important}
.oa-who + .mv-cta .btn-primary{background:var(--ink);color:#fff}

@media (max-width:1000px){.oa-path{grid-template-columns:repeat(2,minmax(0,1fr))}.oa-path li:nth-child(2)::after{display:none}}
@media (max-width:900px){
  .oa-hero{grid-template-columns:1fr}
  .oa-grid{grid-template-columns:1fr}
  .oa-who-list{grid-template-columns:1fr;gap:18px}
  .oa-who-list li{border-right:0;margin-right:0;padding:0 0 18px;border-bottom:1px solid rgba(255,255,255,.14)}
  .oa-who-list li:last-child{border-bottom:0;padding-bottom:0}
}
@media (max-width:560px){
  .oa-path{grid-template-columns:1fr}
  .oa-path li::after{display:none}
  .oa-grid article{grid-template-columns:1fr;gap:12px}
  .oa-hero{border-radius:24px}
}

/* ================= Vårt team ================= */
.tp-hero{position:relative;margin:28px 0 0;padding:clamp(36px,6vw,72px) clamp(24px,5vw,64px);border-radius:32px;background:linear-gradient(135deg,#eaf7fc 0%,#f6fbfe 55%,#fff5e2 100%)}
.tp-hero .wd-title{max-width:16em}
.tp-places{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.tp-places li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.45em 1em;font-weight:800;font-size:.9rem;color:var(--ink)}
.tp-section{margin-top:clamp(48px,6vw,72px)}
.tp-hint{margin-top:6px;color:var(--ink-40);font-weight:700;font-size:.92rem}
.tp-loc{display:inline-flex;align-items:center;gap:6px;color:var(--ink-40);font-weight:700;font-size:.9rem}
.tp-loc svg{width:15px;height:15px;flex:none}
.tp-initials{display:grid!important;place-items:center;background:linear-gradient(135deg,#eaf7fc,#fef6e6);color:var(--sky-deep);font-weight:900;font-size:clamp(2rem,4vw,3rem);letter-spacing:.02em}

.tp-lead{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;background:#fff;border:1px solid var(--line);border-radius:28px;padding:clamp(18px,2.5vw,28px)}
.tp-lead-photo{border-radius:22px;overflow:hidden;aspect-ratio:4/5;background:var(--sky-tint)}
.tp-lead-img{width:100%;height:100%;object-fit:cover;display:block}
.tp-lead-body{padding:8px clamp(0px,2vw,24px) 8px 0}
.tp-lead-name{margin:10px 0 6px;font-size:clamp(1.7rem,3vw,2.5rem)!important;font-weight:900;line-height:1.1;color:var(--ink)}
.tp-lead-role{font-size:1.1rem;font-weight:800;color:var(--ink-70);margin-bottom:10px}
.tp-lead-bio{margin-top:18px;font-size:clamp(1.02rem,1.4vw,1.15rem);line-height:1.65;font-weight:600;color:var(--ink-70);max-width:36em}

.tp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.5vw,32px) clamp(14px,2vw,24px)}
.tp-card{all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:4px;cursor:pointer;border-radius:22px}
.tp-card:focus-visible{outline:3px solid var(--sky-deep);outline-offset:6px}
.tp-photo{position:relative;display:block;aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:var(--sky-tint);margin-bottom:12px}
.tp-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.tp-more{position:absolute;right:12px;bottom:12px;width:36px;height:36px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;font-weight:900;font-size:1.3rem;box-shadow:0 6px 16px rgba(39,50,56,.18);transition:background .2s,transform .2s}
.tp-name{font-size:1.1rem;font-weight:900;color:var(--ink);line-height:1.25}
.tp-role{font-size:.95rem;font-weight:700;color:var(--ink-70);line-height:1.4;overflow-wrap:normal;hyphens:auto}
.tp-card .tp-loc{margin-top:4px;font-size:.85rem}
@media (hover:hover){.tp-card:hover .tp-img{transform:scale(1.04)}.tp-card:hover .tp-more{background:var(--sky);transform:rotate(90deg)}}

.ap-cta .tp-cta-sub,.tp-cta .tp-cta-sub{color:rgba(255,255,255,.8);font-weight:700;font-size:1.05rem}
.ap-cta .lab-email,.tp-cta .lab-email{background:rgba(255,255,255,.12);color:#fff}

/* Team modal */
.tm-modal{max-width:640px!important}
.tm-m{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;align-items:start}
.tm-m-img{width:180px;aspect-ratio:4/5;height:auto;border-radius:18px;object-fit:cover;display:block}
.tm-m-meta{font-weight:800;color:var(--ink-40);font-size:.9rem;margin-bottom:10px}
.tm-m-bio{color:var(--ink-70);font-weight:600;line-height:1.65;margin-bottom:16px}

@media (max-width:1000px){.tp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){
  .tp-lead{grid-template-columns:1fr}
  .tp-lead-photo{max-width:320px;aspect-ratio:1/1}
  .tp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tm-m{grid-template-columns:1fr}.tm-m-img{width:140px}
}
@media (max-width:360px){.tp-grid{grid-template-columns:1fr}}
@media (max-width:560px){.wd-title em{white-space:normal}}

/* ================= Apper page ================= */
.ap-download{position:relative;z-index:5;margin:-72px 0 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px 40px;align-items:center;background:var(--ink);color:#fff;border-radius:28px;padding:clamp(26px,3.5vw,40px) clamp(24px,4vw,48px);box-shadow:0 24px 60px rgba(39,50,56,.25)}
.ap-download .mv-label{color:var(--sky)}
.ap-download h2{color:#fff;margin:8px 0 8px;font-size:clamp(1.5rem,2.6vw,2.1rem)!important}
.ap-download p{color:rgba(255,255,255,.75);font-weight:600;max-width:38em}
.ap-dl-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.ap-badges{display:flex;flex-wrap:wrap;gap:12px}
.ap-badge{display:inline-flex;align-items:center;gap:12px;min-width:190px;padding:12px 20px;border-radius:16px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,.12);transition:transform .15s,box-shadow .15s,background .15s}
.ap-badge svg{width:28px;height:28px;flex:none}
.ap-badge span{display:flex;flex-direction:column;font-weight:900;font-size:1.12rem;line-height:1.1}
.ap-badge small{font-size:.75rem;font-weight:700;color:var(--ink-70);margin-bottom:2px}
.ap-badge:hover{transform:translateY(-2px);background:var(--orange)}
.ap-web{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:800;text-decoration:none;opacity:.9}
.ap-web svg{width:18px;height:18px}
.ap-web:hover{opacity:1;text-decoration:underline}
.ap-badges-sm{margin-top:6px}
.ap-badges-sm .ap-badge{min-width:0;padding:10px 16px;background:var(--ink);color:#fff;box-shadow:none}
.ap-badges-sm .ap-badge small{color:rgba(255,255,255,.7)}
.ap-badges-sm .ap-badge:hover{background:#000}

.ap-intro{margin-top:clamp(56px,7vw,88px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center}
.ap-h{margin:10px 0 16px;font-size:clamp(1.9rem,3.6vw,3rem)!important;font-weight:900;line-height:1.08;letter-spacing:-.02em;color:var(--ink)}
.ap-h em{font-style:normal;background:linear-gradient(transparent 62%,var(--orange) 62%,var(--orange) 90%,transparent 90%)}
.ap-intro-copy p{font-size:1.08rem;line-height:1.65;font-weight:600;color:var(--ink-70);max-width:34em}
.ap-intro-img{margin:0;border-radius:28px;overflow:hidden;background:var(--sky-tint);aspect-ratio:4/3;box-shadow:0 18px 44px rgba(39,50,56,.12)}
.ap-intro-img img{width:100%;height:100%;object-fit:cover;display:block}
.ap-feats{list-style:none;padding:0;margin:clamp(32px,4vw,48px) 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ap-feats li{padding:26px 22px;border-left:1px solid var(--line)}
.ap-feats li:first-child{border-left:0;padding-left:0}
.ap-fic{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--t,#eaf7fc);color:var(--ink);margin-bottom:14px}
.ap-fic svg{width:24px;height:24px}
.ap-feats b{display:block;font-size:1.05rem;font-weight:900;color:var(--ink);margin-bottom:4px}
.ap-feats li > span:last-child{color:var(--ink-70);font-weight:600;font-size:.95rem;line-height:1.5}

.ap-section{margin-top:clamp(56px,7vw,88px)}
.ap-colls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.ap-coll{background:#fff;border:1px solid var(--line);border-top:5px solid var(--c);border-radius:20px;padding:22px 22px 10px}
.ap-coll h4{font-size:1.1rem;font-weight:900;color:var(--ink);margin-bottom:8px}
.ap-coll-links a{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid var(--line);font-weight:800;color:var(--ink);text-decoration:none}
.ap-coll-links a i{font-style:normal;color:var(--ink-40);transition:transform .15s,color .15s}
.ap-coll-links a:hover{color:var(--sky-deep)}
.ap-coll-links a:hover i{color:var(--sky-deep);transform:translate(2px,-2px)}

.ap-ways{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:20px;align-items:stretch}
.ap-way{display:flex;flex-direction:column;align-items:flex-start;background:var(--sky-tint);border-radius:24px;padding:clamp(22px,3vw,32px)}
.ap-way h4{font-size:1.2rem;font-weight:900;color:var(--ink);margin-bottom:10px}
.ap-way p{color:var(--ink-70);font-weight:600;line-height:1.6;margin-bottom:12px}
.ap-way > .btn{margin-top:auto}
.ap-way-main{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;align-items:center}
.ap-way-img{border-radius:18px;overflow:hidden;aspect-ratio:4/3}
.ap-way-img img{width:100%;height:100%;object-fit:cover;display:block}

.ap-book{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,64px);align-items:center}
.ap-book-img{margin:0;border-radius:28px;overflow:hidden;aspect-ratio:1/1;background:var(--sky-tint)}
.ap-book-img img{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block}
.ap-h3{margin:10px 0 14px;font-size:clamp(1.6rem,2.8vw,2.3rem)!important;font-weight:900;color:var(--ink)}
.ap-book p{color:var(--ink-70);font-weight:600;line-height:1.65;max-width:34em;margin-bottom:10px}
.ap-cta{margin-top:clamp(56px,7vw,88px)}
.ap-cta .tp-cta-sub{max-width:40em;margin:0 auto}

@media (max-width:1100px){.ap-way-main{grid-template-columns:1fr}}
@media (max-width:960px){
  .ap-download{grid-template-columns:1fr}
  .ap-intro,.ap-book{grid-template-columns:1fr}
  .ap-feats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ap-feats li{border-left:0;padding-left:0}
  .ap-feats li:nth-child(even){padding-left:18px;border-left:1px solid var(--line)}
  .ap-feats li:nth-child(n+3){border-top:1px solid var(--line)}
  .ap-colls{grid-template-columns:1fr}
  .ap-ways{grid-template-columns:1fr}
  .ap-book-img{max-width:420px}
}
@media (max-width:520px){
  .ap-download{margin-top:-40px;border-radius:22px}
  .ap-badges{width:100%}
  .ap-badge{flex:1 1 100%;min-width:0;justify-content:flex-start}
  .ap-feats{grid-template-columns:1fr}
  .ap-feats li,.ap-feats li:nth-child(even){padding:18px 0;border-left:0;border-top:1px solid var(--line)}
  .ap-feats li:first-child{border-top:0}
}

/* Apper hero download badges */
#pageHeroCta:empty{display:none}
.ap-hero-cta{margin-top:22px}
.ap-hero-note{margin-top:14px!important;font-size:.95rem!important;font-weight:700;color:var(--ink)!important;text-shadow:0 0 2px #fff,0 0 10px rgba(255,255,255,.9)!important;max-width:none!important}
.ap-hero-note .ap-web{color:var(--ink);opacity:1;margin-left:0;text-decoration:underline;text-underline-offset:3px}
.ap-hero-note .ap-web svg{display:none}
@media (max-width:520px){.ap-hero-cta .ap-badge{flex:1 1 0;min-width:0;padding:10px 12px}.ap-hero-cta .ap-badge span{font-size:.98rem}.ap-hero-cta .ap-badge svg{width:22px;height:22px}}

/* Apper: home-style store buttons + full app-universe image */
.ap-stores{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:12px}
.ap-stores .store{padding:14px 18px;border-radius:16px;gap:12px}
.ap-stores .store svg{width:26px;height:26px}
.ap-hero-cta .ap-stores .store{box-shadow:0 10px 26px rgba(39,50,56,.18)}
.ap-way .ap-stores{margin-top:6px}
.ap-intro-img{aspect-ratio:auto!important;background:linear-gradient(160deg,#dff3fb,#f2fafd)!important;display:flex;justify-content:center;padding:clamp(18px,3vw,32px);max-height:none}
.ap-intro-img img{width:auto!important;max-width:100%;height:auto!important;max-height:560px;object-fit:contain!important;border-radius:20px;box-shadow:0 16px 36px rgba(39,50,56,.16)}
.ap-way-img{aspect-ratio:auto!important;background:#0b2a55}
.ap-way-img img{height:auto!important;object-fit:contain!important}
@media (max-width:520px){.ap-stores{grid-template-columns:1fr 1fr}.ap-stores .store{padding:12px;gap:8px}.ap-stores .store svg{width:22px;height:22px}.ap-intro-img img{max-height:440px}}

/* Apper hero: compact store buttons */
.ap-hero-cta{margin-top:18px}
.ap-hero-cta .ap-stores{display:flex;flex-wrap:wrap;gap:10px;grid-template-columns:none}
.ap-hero-cta .ap-stores .store{display:inline-flex;width:auto;min-width:0;padding:8px 16px 8px 12px;gap:9px;border-radius:12px;border-width:1px;box-shadow:0 6px 16px rgba(39,50,56,.14)}
.ap-hero-cta .ap-stores .store svg{width:20px;height:20px}
.ap-hero-cta .ap-stores .store .s{font-size:.75rem!important;line-height:1.1;letter-spacing:.02em}
.ap-hero-cta .ap-stores .store .b{font-size:.95rem!important;line-height:1.15}
.ap-hero-cta .ap-stores .store:hover{transform:translateY(-2px)}
.ap-hero-note{margin-top:12px!important;font-size:.9rem!important}
.ap-hero-note .ap-web{font-weight:700;text-decoration-thickness:1px}
.ap-way .ap-stores{display:flex;flex-wrap:wrap;gap:10px}
.ap-way .ap-stores .store{display:inline-flex;padding:8px 16px 8px 12px;gap:9px;border-radius:12px}
.ap-way .ap-stores .store svg{width:20px;height:20px}
.ap-way .ap-stores .store .s{font-size:.75rem!important}
.ap-way .ap-stores .store .b{font-size:.95rem!important}
@media (max-width:520px){.ap-hero-cta .ap-stores .store,.ap-way .ap-stores .store{padding:7px 12px 7px 10px}.ap-hero-cta .ap-stores .store .b,.ap-way .ap-stores .store .b{font-size:.88rem!important}}

/* ================= Lærelab page v2 ================= */
.lab-subnav{margin:28px auto 8px!important;left:0;right:0}
.lb-sec{margin-top:clamp(56px,7vw,88px)}
.lb-sec.lb-what{margin-top:clamp(32px,4vw,48px)}
.lb-center{text-align:center;max-width:720px;margin-inline:auto}
.lb-center h3{margin-inline:auto}
.lb-lead{margin-top:10px;color:var(--ink-70);font-weight:600;line-height:1.6;font-size:1.05rem}
.lb-p{color:var(--ink-70);font-weight:600;line-height:1.65;font-size:1.05rem;margin-bottom:12px;max-width:36em}
.lb-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center}
.lb-rev > figure{order:2}
.lb-img{margin:0;border-radius:24px;overflow:hidden;aspect-ratio:4/3;background:var(--sky-tint);box-shadow:0 18px 44px rgba(39,50,56,.12)}
.lb-img img{width:100%;height:100%;object-fit:cover;display:block}
.lb-feats{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.lb-steps{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.lb-steps li{position:relative;background:#fff;border:1px solid var(--line);border-top:5px solid var(--c);border-radius:22px;padding:26px 22px 24px}
.lb-step-ic{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--sky-tint);color:var(--ink);margin-bottom:14px}
.lb-step-ic svg{width:24px;height:24px}
.lb-step-n{position:absolute;top:22px;right:22px;font-size:2rem;font-weight:900;line-height:1;color:transparent;-webkit-text-stroke:2px var(--c)}
.lb-steps h4{font-size:1.12rem;font-weight:900;color:var(--ink);margin-bottom:6px}
.lb-steps p{color:var(--ink-70);font-weight:600;line-height:1.55;font-size:.97rem}
.lb-center-note{max-width:640px;margin:22px auto 0;text-align:center}
.lb-lab{background:var(--lt);border-radius:32px;padding:clamp(24px,4vw,48px)}
.lb-lab-head{display:flex;align-items:center;gap:16px;margin-bottom:clamp(20px,3vw,32px)}
.lb-lab-num{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:var(--lc);color:#fff;font-size:1.6rem;font-weight:900}
.lb-lab-head .mv-label{color:var(--lc)}
.lb-lab-head h3{margin-top:4px;font-size:clamp(1.45rem,2.6vw,2.1rem)!important;font-weight:900;color:var(--ink)}
.lb-lab .lb-img{box-shadow:0 14px 34px rgba(39,50,56,.12)}
.lb-stations{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.lb-stations li{display:flex;align-items:center;gap:10px;background:#fff;border-radius:12px;padding:10px 12px;font-weight:800;color:var(--ink);font-size:.95rem;line-height:1.3}
.lb-stations i{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--c);color:#fff;font-style:normal;font-size:.8rem;font-weight:900;text-shadow:0 1px 1px rgba(0,0,0,.2)}
.lb-plan{margin-top:clamp(20px,3vw,32px);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:24px;align-items:center;background:#fff;border-radius:22px;padding:clamp(18px,3vw,28px)}
.lb-plan h4{font-size:1.15rem;font-weight:900;color:var(--ink);margin-bottom:6px}
.lb-plan p{color:var(--ink-70);font-weight:600;line-height:1.55}
.lb-plan .plan{max-width:none!important;background:none;padding:0}
.lb-ladder .ladder-pair{max-width:860px;margin:28px auto 0}
.lb-who,.lb-needs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px}
.lb-who article,.lb-needs article{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px 22px}
.lb-who h4,.lb-needs h4{font-size:1.1rem;font-weight:900;color:var(--ink);margin-bottom:6px}
.lb-who p,.lb-needs p{color:var(--ink-70);font-weight:600;line-height:1.55;font-size:.96rem}
.lb-needs .tabscale{margin-top:12px}
#lab-rooms .rooms{margin-top:24px}
.lb-sec .who{margin-top:24px}
.lb-note{margin:18px auto 0;max-width:640px;text-align:center;color:var(--ink-70);font-weight:600}
.lb-price{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;align-items:stretch}
.lb-price-card{background:var(--sky);border-radius:28px;padding:clamp(26px,4vw,44px)}
.lb-price-card .mv-label{color:var(--ink)}
.lb-price-card h3{margin:8px 0 10px;font-size:clamp(1.45rem,2.6vw,2rem)!important;font-weight:900;color:var(--ink)}
.lb-price-card p{color:var(--ink);font-weight:600;line-height:1.6;opacity:.85}
.lb-mail{margin-top:16px;opacity:1!important;font-weight:800!important}
.lb-price-card .lab-email{background:#fff}
.lb-know{background:#fff;border:1px solid var(--line);border-radius:28px;padding:clamp(26px,4vw,44px)}
.lb-know ul{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:12px}
.lb-know li{position:relative;padding-left:30px;color:var(--ink-70);font-weight:600;line-height:1.5}
.lb-know li::before{content:"";position:absolute;left:0;top:.15em;width:20px;height:20px;border-radius:50%;background:#eef7e6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a9e2f' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/13px no-repeat}
.lb-cta .tp-cta-sub{color:rgba(255,255,255,.8);font-weight:700;font-size:1.05rem;max-width:40em;margin:0 auto}
.lb-cta .lab-email{background:rgba(255,255,255,.12);color:#fff}
@media (max-width:1100px){.lb-steps,.lb-who,.lb-needs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
  .lb-split,.lb-price,.lb-plan{grid-template-columns:1fr}
  .lb-rev > figure{order:0}
  .lb-feats{grid-template-columns:1fr!important}
  .lb-feats li,.lb-feats li:nth-child(even){padding:18px 0!important;border-left:0!important;border-top:1px solid var(--line)}
  .lb-feats li:first-child{border-top:0}
}
@media (max-width:560px){
  .lb-steps,.lb-who,.lb-needs,.lb-stations{grid-template-columns:1fr}
  .lb-lab{border-radius:24px;padding:20px 16px}
  .lb-lab-num{width:46px;height:46px;font-size:1.3rem;border-radius:14px}
}

.lb-planfig{margin:0;background:#fff;border-radius:24px;padding:clamp(16px,2.5vw,26px);box-shadow:0 14px 34px rgba(39,50,56,.10)}
.lb-planfig .plan{max-width:none!important;background:none!important;padding:0!important}
.lb-planfig svg{width:100%;height:auto;display:block}
.lb-planfig figcaption{margin-top:12px;text-align:center;color:var(--ink-70);font-weight:700;font-size:.95rem}

/* ================= Bokstavkongen v2 ================= */
.bk2-hero-img{margin:0;border-radius:28px;overflow:hidden;background:#3fb6e3;aspect-ratio:1/1;max-width:460px;justify-self:center;box-shadow:0 18px 44px rgba(39,50,56,.14)}
.bk2-hero-img img{width:100%;height:100%;object-fit:cover;display:block}
.bk2-feats{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.bk2-code{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;background:linear-gradient(135deg,#fdecf2,#eaf2ff);border-radius:32px;padding:clamp(28px,5vw,56px)}
.bk2-code-demo{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.bk2-code-demo span{aspect-ratio:1/1;display:grid;place-items:center;background:#fff;border-radius:16px;font-size:clamp(1.4rem,3vw,2.2rem);font-weight:900;box-shadow:0 6px 16px rgba(39,50,56,.06)}
.bk2-code-demo .v{color:#e53935}
.bk2-code-demo .k{color:#1e63d6}
.bk2-first{display:flex;align-items:center;gap:16px;max-width:560px;margin:26px auto 0;padding:16px 22px;border-radius:20px;background:var(--ink);color:#fff;text-decoration:none;transition:transform .15s}
.bk2-first:hover{transform:translateY(-2px)}
.bk2-first-ic svg{width:44px;height:44px;display:block}
.bk2-first small{display:block;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--sky)}
.bk2-first b{font-size:1.15rem;font-weight:900}
.bk2-first i{margin-left:auto;font-style:normal;font-size:1.3rem;font-weight:900}
.bk2-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:12px;margin-top:22px}
.bk2-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;aspect-ratio:1/1;background:#fff;border:1px solid var(--line);border-radius:20px;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s}
.bk2-l{font-size:2rem;font-weight:900;line-height:1;letter-spacing:.02em}
.bk2-tile.v .bk2-l{color:#e53935}
.bk2-tile.k .bk2-l{color:#1e63d6}
.bk2-t{font-size:.8rem;font-weight:700;color:var(--ink-70)}
.bk2-p{position:absolute;top:8px;right:8px;opacity:0;transition:opacity .15s}
.bk2-p svg{width:20px;height:20px;display:block}
.bk2-tile:hover,.bk2-tile:focus-visible{transform:translateY(-3px);box-shadow:0 12px 26px rgba(39,50,56,.10);border-color:transparent}
.bk2-tile:hover .bk2-p,.bk2-tile:focus-visible .bk2-p{opacity:1}
@media (hover:none){.bk2-p{opacity:.9}}
.bk2-more{margin-top:28px;text-align:center}
.bk2-bonus-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px}
.bk2-bonus{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;background:var(--sky-tint);color:var(--ink);font-weight:800;text-decoration:none;transition:background .15s}
.bk2-bonus svg{width:22px;height:22px}
.bk2-bonus:hover{background:#dff1f9}
@media (max-width:900px){.bk2-code{grid-template-columns:1fr}.bk2-feats{grid-template-columns:1fr!important}.bk2-feats li,.bk2-feats li:nth-child(even){padding:18px 0!important;border-left:0!important;border-top:1px solid var(--line)}.bk2-feats li:first-child{border-top:0}}
@media (max-width:520px){.bk2-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.bk2-l{font-size:1.5rem}.bk2-t{font-size:.75rem}.bk2-tile{border-radius:16px}.bk2-code-demo{gap:6px}.bk2-code-demo span{border-radius:12px}}

/* ================= Ressurser v2 ================= */
.rs-tag{display:inline-block;font-size:.75rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--c)}
.rs-feature{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,48px);align-items:center;background:#eef4ff;border-radius:28px;padding:clamp(20px,3.5vw,40px)}
.rs-feature figure{margin:0;border-radius:20px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 14px 34px rgba(39,50,56,.12)}
.rs-feature img{width:100%;height:100%;object-fit:cover;display:block}
.rs-feature h4{font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:900;color:var(--ink);margin:8px 0 10px}
.rs-feature p{color:var(--ink-70);font-weight:600;line-height:1.6;margin-bottom:16px}
.rs-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.rs-links a{display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:12px;padding:12px 14px;font-weight:800;color:var(--ink);text-decoration:none;transition:background .15s,color .15s}
.rs-links a i{font-style:normal;color:var(--ink-40)}
.rs-links a:hover{color:var(--sky-deep)}
.rs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}
.rs-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:24px;padding:14px 14px 22px;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}
.rs-card figure{margin:0 0 16px;border-radius:16px;overflow:hidden;aspect-ratio:16/10;background:var(--sky-tint)}
.rs-card img{width:100%;height:100%;object-fit:cover;display:block}
.rs-card .rs-tag,.rs-card h4,.rs-card p,.rs-card .rs-go{margin-inline:8px}
.rs-card h4{font-size:1.2rem;font-weight:900;color:var(--ink);margin-top:6px;margin-bottom:6px}
.rs-card p{color:var(--ink-70);font-weight:600;line-height:1.55;flex:1}
.rs-go{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-weight:800;color:var(--sky-deep)}
.rs-go i{font-style:normal;transition:transform .15s}
@media (hover:hover){.rs-card:hover,.rs-row:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(39,50,56,.10)}.rs-card:hover .rs-go i,.rs-row:hover .rs-go i{transform:translate(2px,-2px)}}
.rs-wide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.rs-row{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:20px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:14px;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}
.rs-row figure{margin:0;border-radius:16px;overflow:hidden;aspect-ratio:1/1}
.rs-row img{width:100%;height:100%;object-fit:cover;display:block}
.rs-row h4{font-size:1.2rem;font-weight:900;color:var(--ink);margin:6px 0}
.rs-row p{color:var(--ink-70);font-weight:600;line-height:1.55}
@media (max-width:1000px){.rs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rs-wide{grid-template-columns:1fr}}
@media (max-width:760px){.rs-feature{grid-template-columns:1fr}}
@media (max-width:560px){.rs-grid,.rs-links{grid-template-columns:1fr}.rs-row{grid-template-columns:96px minmax(0,1fr);gap:14px}.rs-row h4{font-size:1.05rem;overflow-wrap:normal;word-break:normal;hyphens:auto;-webkit-hyphens:auto}.rs-feature{border-radius:22px}}

/* ================= Final responsive pass ================= */
/* Comfortable touch targets */
.slider-dot{position:relative}
.slider-dot::after{content:"";position:absolute;inset:-14px;border-radius:50%}
@media (hover:none),(max-width:1024px){
  .foot-col p a,.foot-bottom a{display:inline-flex;align-items:center;min-height:40px}
  .app-more,.ap-web{padding-block:10px}
}
/* Readable line length in offer cards */
.who-card p{max-width:62ch}
/* Anchor jumps never hide headings under the sticky header */
#bk-videos,#buy-licence,#last-ned{scroll-margin-top:110px}
/* Team: keep photos crisp – 3 across on small tablets, 2 across on very small phones */
@media (min-width:561px) and (max-width:760px){.tp-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media (max-width:360px){.tp-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px 10px!important}.tp-name{font-size:.98rem}.tp-role{font-size:.85rem}.tp-card .tp-loc{font-size:.78rem}.tp-more{width:30px;height:30px;right:8px;bottom:8px}}
/* Ressurser: featured image not stretched on one-column layouts */
@media (max-width:760px){.rs-feature figure{width:100%;max-width:440px;justify-self:center}}
/* Phones in landscape / short screens */
@media (max-height:560px) and (orientation:landscape){
  .hero .wrap{padding-top:124px!important}
  body.route-prodhero .page-hero{padding-top:132px!important}
  .lab-subnav{position:static!important;margin:20px auto 0!important}
  [id^="lab-"],#minilab,#laerelab{scroll-margin-top:90px!important}
}
/* Tablets in portrait: shorter heroes (sharper photos, more of the page visible) and larger hero type */
@media (min-width:600px) and (max-width:1100px) and (orientation:portrait){
  .hero,.hero .wrap{min-height:68svh!important}
  body.route-prodhero .page-hero{min-height:calc(68svh + 96px)!important}
  .hero h1{font-size:clamp(2.4rem,6vw,3.3rem)!important}
  .hero .lead,.hero p.lead{font-size:1.15rem!important;max-width:32em!important}
  .hero-copy{max-width:600px!important}
  body.route-prodhero .page-hero.has-img h1{font-size:clamp(2.3rem,5.6vw,3.1rem)!important}
  body.route-prodhero .page-hero.has-img p{font-size:clamp(1.05rem,2.4vw,1.25rem)!important;max-width:34em!important}
}

/* Desktop: menus also open on hover (click/tap still works everywhere) */
@media (hover:hover) and (min-width:1200px){
  .menu > .item:hover > .dropdown,.menu > .item:has(:focus-visible) > .dropdown{opacity:1;visibility:visible;transform:none}
  .menu > .item:hover .chev{transform:rotate(180deg)}
  .menu > .item > .dropdown::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
}

/* ================= Final check 2 ================= */
/* Apper: app books stay side by side on tablets */
@media (min-width:561px) and (max-width:960px){
  .ap-book{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
  .ap-book-img{max-width:none}
}
/* Ressurser: third card spans the row on tablets (no orphan card) */
@media (min-width:561px) and (max-width:1000px){
  .rs-grid > .rs-card:nth-child(3):last-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-rows:auto auto 1fr auto;column-gap:22px;align-items:start;padding:14px}
  .rs-grid > .rs-card:nth-child(3):last-child figure{grid-column:1;grid-row:1/-1;margin:0}
  .rs-grid > .rs-card:nth-child(3):last-child > :not(figure){grid-column:2}
  .rs-grid > .rs-card:nth-child(3):last-child .rs-tag{margin-top:12px;justify-self:start}
  .rs-grid > .rs-card:nth-child(3):last-child .rs-go{justify-self:start;margin-bottom:8px}
}
/* Photo heroes: crisper edge on the white title (same blue glow) */
body.route-prodhero .page-hero.has-img:not(.hero-bk) h1{text-shadow:0 1px 1px rgba(18,84,122,.55),0 1px 2px rgba(92,194,231,1),0 0 6px rgba(92,194,231,1),0 0 14px rgba(92,194,231,.95),0 0 28px rgba(92,194,231,.8)!important}
/* Ressurser hero: same layout as the other product heroes, framed per screen */
body.route-prodhero .page-hero.hero-res .ph-bg{background-position:right center}
@media (max-width:1100px) and (orientation:portrait){body.route-prodhero .page-hero.hero-res .ph-bg{background-position:25% center}}
@media (max-width:599px) and (orientation:portrait){body.route-prodhero .page-hero.hero-res .ph-bg{background-position:50% center}}

/* ================= Round 3: labels, no yellow lines, shop ================= */
/* No yellow marker lines under headline words anywhere */
.mv-tag em,.wd-title em,.ap-h em{background:none!important;padding:0!important}
/* Small uppercase labels: bigger and easier to read everywhere */
.eyebrow,.mv-label,.mv-kicker,.rs-tag,.aud-tag,.mini-eyebrow,.ml-eyebrow,.about-label,.abx-label,.wwd3-step,.tilbud-eyebrow,.bk2-first small,.room .rtag,.res-tag,.playlearn-head .eyebrow,.adultlit-copy .eyebrow,.bk-teaser-inner .eyebrow,.audience-head .eyebrow,.buysteps-head .eyebrow,.social-label{font-size:clamp(.88rem,.84rem + .2vw,.98rem)!important;letter-spacing:.11em!important}
/* Ressurser: online shop as its own big block */
.rs-shop{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:center;background:#fef6e6;border-radius:32px;padding:clamp(22px,4vw,48px)}
.rs-shop-img{margin:0;border-radius:22px;overflow:hidden;background:#fff;aspect-ratio:4/3}
.rs-shop-img img{width:100%;height:100%;object-fit:cover;display:block}
.rs-shop-copy .mv-label{color:#b07600}
.rs-shop-copy h3{font-size:clamp(1.7rem,3.2vw,2.5rem);font-weight:900;color:var(--ink);margin:10px 0 12px;line-height:1.15}
.rs-shop-copy p{color:var(--ink-70);font-weight:600;line-height:1.6;max-width:34em;margin-bottom:22px}
.rs-shop-btn{font-size:1.05rem;padding:.95em 1.6em}
.rs-shop-btn i{font-style:normal}
.rs-wide.rs-one{grid-template-columns:minmax(0,640px)}
@media (max-width:760px){.rs-shop{grid-template-columns:1fr}.rs-shop-img{max-width:480px}}
.room .rtag{font-size:.84rem!important;letter-spacing:.06em!important;gap:8px;flex-wrap:wrap}

/* Round 4: lab names lead the lab-type cards */
.lab-type .lt-name{font-size:clamp(1.6rem,2.4vw,2rem)!important;font-weight:900;line-height:1.1;margin:0 0 6px;color:var(--ink)}
.lab-type .lt-sub{display:block;text-transform:none!important;letter-spacing:0!important;font-size:1.08rem!important;font-weight:800;margin-bottom:10px}
/* Small uppercase labels: larger, calmer spacing, more room below */
.eyebrow,.mv-label,.mv-kicker,.rs-tag,.aud-tag,.mini-eyebrow,.ml-eyebrow:not(.lt-sub),.about-label,.abx-label,.wwd3-step,.tilbud-eyebrow,.bk2-first small,.res-tag,.playlearn-head .eyebrow,.adultlit-copy .eyebrow,.bk-teaser-inner .eyebrow,.audience-head .eyebrow,.buysteps-head .eyebrow,.social-label{font-size:clamp(.95rem,.9rem + .3vw,1.08rem)!important;letter-spacing:.08em!important;font-weight:900!important;line-height:1.3}
.mv-head .mv-label,.lb-split .mv-label,.ap-intro-copy .mv-label,.adultlit-copy .eyebrow,.playlearn-head .eyebrow,.bk-teaser-inner .eyebrow{margin-bottom:12px}
.rs-tag,.aud-tag{font-size:clamp(.85rem,.82rem + .15vw,.95rem)!important}
