
/* ══════════════════════════════════════════════════════════════════
   ANIMER AS — DESIGN SYSTEM
   Brand: #1E0A5F dark purple · #02CCD0 turquoise
   ══════════════════════════════════════════════════════════════════ */
:root{
  --bg:#1E0A5F;
  --bg-deep:#140640;
  --bg-deeper:#0C0328;
  --teal:#02CCD0;
  --teal-lo:#00A5A9;
  --coral:#FD6C7D;
  --green:#14DEA7;
  --midpurp:#36217C;
  --blue:#0F3BB4;
  --blue-br:#3768EE;
  --orange:#FFA143;
  --white:#F9FAFA;
  --w70:rgba(255,255,255,.96);
  --w55:rgba(255,255,255,.90);
  --w40:rgba(255,255,255,.82);
  --w28:rgba(255,255,255,.74);
  --w14:rgba(249,250,250,.16);
  --glass:rgba(54,33,124,.38);
  --glass-hi:rgba(54,33,124,.62);
  --line:rgba(2,204,208,.15);
  --line-hi:rgba(2,204,208,.45);
  --head:'Nunito','Montserrat',sans-serif;
  --body:'Montserrat',sans-serif;
  --r-sm:12px; --r:18px; --r-lg:26px; --r-xl:34px;
  --shadow:0 30px 80px rgba(0,0,0,.42);
  --glow:0 0 60px rgba(2,204,208,.18);
  --ease:cubic-bezier(.22,.61,.36,1);
  --nav-h:74px;
  /* RGB-triplet tokens (no # / no alpha) so existing rgba(...,X) calls can
     keep their hand-tuned alpha values while swapping the base color per tema */
  --bg-rgb:30,10,95;       /* = #1E0A5F, --bg */
  --bgdeep-rgb:20,6,64;    /* darker-than-bg panels (header, modals) */
  --panel-rgb:12,3,40;     /* deepest sunken panels (inputs, dropdowns, chips) */
}
/* ── LYS SIDE — samme variabelsystem, snudd om ──────────────────
   Aksentfargene (teal/coral/green/midpurp/blue/orange) er identiske
   i begge temaer. Kun bakgrunn, tekstkontrast og glass/skygge endres. */
[data-theme="light"]{
  --bg:#F7F6FC;
  --bg-deep:#EFEDF9;
  --bg-deeper:#E4E0F3;
  --white:#170A45;
  --w70:rgba(23,10,69,.88);
  --w55:rgba(23,10,69,.72);
  --w40:rgba(23,10,69,.58);
  --w28:rgba(23,10,69,.44);
  --w14:rgba(23,10,69,.09);
  --glass:rgba(255,255,255,.72);
  --glass-hi:rgba(255,255,255,.92);
  --line:rgba(0,165,169,.16);
  --line-hi:rgba(0,165,169,.4);
  --shadow:0 30px 80px rgba(23,10,69,.14);
  --glow:0 0 50px rgba(2,204,208,.14);
  /* Same RGB-triplet trick, flipped to light panels. Sunken/recessed surfaces
     (inputs, dropdowns, chips, modals) become white instead of near-black. */
  --bg-rgb:247,246,252;
  --bgdeep-rgb:239,237,249;
  --panel-rgb:255,255,255;
}
.m-tema{display:flex;align-items:center;justify-content:space-between;gap:.8rem;width:100%;
  padding:.9rem 0;background:none;border:none;cursor:pointer;color:var(--w55);
  font-size:1rem;font-weight:600;font-family:var(--body);border-top:1px solid var(--line);margin-top:.4rem}
.m-tema:hover{color:var(--teal)}
.m-tema .ikon{display:block;width:19px;height:19px;flex-shrink:0}
.m-tema .i-moon{display:none}
[data-theme="light"] .m-tema .i-sun{display:none}
[data-theme="light"] .m-tema .i-moon{display:block}
.valg{display:flex;align-items:center;gap:.15rem;flex-shrink:0}
.valg .strek{width:1px;height:15px;background:var(--w14);flex-shrink:0;margin:0 .2rem}
.tema .tm-l,.tema .tm-m{transition:color .22s var(--ease),opacity .22s var(--ease)}
.tema .tm-m{color:var(--teal);opacity:1}
.tema .tm-l{color:inherit;opacity:.72}
[data-theme="light"] .tema .tm-m{color:inherit;opacity:.72}
[data-theme="light"] .tema .tm-l{color:var(--teal);opacity:1}
@media(max-width:1040px){
  .tema .tm-l,.tema .tm-m,.tema .skille{display:none}
  .tema .ikon{display:block}
}
.tema .ikon{display:none;width:17px;height:17px}
.tema .ikon .i-moon{display:none}
[data-theme="light"] .tema .ikon .i-sun{display:none}
[data-theme="light"] .tema .ikon .i-moon{display:block}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--bg);color:var(--white);font-family:var(--body);
  line-height:1.65;overflow-x:hidden;font-size:16px;
  -webkit-font-smoothing:antialiased;
}
body.loading{overflow:hidden}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}
img,svg{display:block;max-width:100%}
::selection{background:var(--teal);color:var(--bg)}
/* scrollbar */
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:var(--bg-deeper)}
::-webkit-scrollbar-thumb{background:var(--midpurp);border-radius:10px}
::-webkit-scrollbar-thumb:hover{background:var(--teal-lo)}

/* ── TYPE SCALE ───────────────────────────────────────────────── */
h1,h2,h3,h4{font-family:var(--head);font-weight:900;line-height:1.06;letter-spacing:-.02em}
h1{font-size:clamp(2.6rem,6vw,5.4rem)}
h2{font-size:clamp(2rem,4.2vw,3.4rem);line-height:1.08}
h3{font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.2}
h4{font-size:1rem}
p{font-size:1rem}
.display{font-size:clamp(3rem,8vw,7rem);line-height:.94;letter-spacing:-.035em}
.lead{font-size:clamp(1rem,1.6vw,1.15rem);color:var(--w55);line-height:1.8;max-width:60ch}
.small{font-size:.82rem}
.tiny{font-size:.72rem}
.teal{color:var(--teal)} .coral{color:var(--coral)} .green{color:var(--green)}
.orange{color:var(--orange)} .muted{color:var(--w40)}
.grad{background:linear-gradient(120deg,var(--teal),var(--green));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.grad-c{background:linear-gradient(120deg,var(--coral),var(--orange));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.grad-b{background:linear-gradient(120deg,var(--blue-br),var(--teal));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.outline-txt{-webkit-text-stroke:1.5px var(--line-hi);-webkit-text-fill-color:transparent;color:transparent}

/* ── LAYOUT ───────────────────────────────────────────────────── */
.wrap{width:min(1280px,92vw);margin-inline:auto}
.wrap-n{width:min(1000px,92vw);margin-inline:auto}
.wrap-t{width:min(780px,92vw);margin-inline:auto}
section{padding:clamp(4rem,8vw,7.5rem) 0;position:relative}
.grid{display:grid;gap:1.5rem}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.flex{display:flex}
.between{justify-content:space-between}
.center{align-items:center}
.txt-c{text-align:center}
.mx{margin-inline:auto}

.eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  font-size:.7rem;font-weight:800;color:var(--teal);
  text-transform:uppercase;letter-spacing:.22em;margin-bottom:1rem;
}
.eyebrow::before{content:'';width:22px;height:2px;background:var(--teal);border-radius:2px}
.eyebrow.c::before{display:none}

/* ── PRELOADER ────────────────────────────────────────────────── */
#preloader{
  position:fixed;inset:0;z-index:99999;background:var(--bg-deeper);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.6rem;
  transition:opacity .7s var(--ease),visibility .7s;
}
#preloader.done{opacity:0;visibility:hidden}
.pl-logo{width:230px;height:auto;color:var(--teal);animation:plbounce 1.4s ease-in-out infinite}
@keyframes plbounce{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-9px) scale(1.03)}}
.pl-bar{width:190px;height:2px;background:rgba(2,204,208,.16);border-radius:2px;overflow:hidden}
.pl-fill{height:100%;width:0;background:linear-gradient(90deg,var(--teal),var(--green));border-radius:2px;transition:width .25s linear}
.pl-txt{font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--w28)}

/* ── CURSOR ───────────────────────────────────────────────────── */

/* ── PROGRESS ─────────────────────────────────────────────────── */
#prog{position:fixed;top:0;left:0;height:2.5px;width:0;background:linear-gradient(90deg,var(--teal),var(--green),var(--coral));z-index:9999;transition:width .08s linear}

/* ── NAV ──────────────────────────────────────────────────────── */
header{
  position:fixed;top:0;left:0;right:0;z-index:9000;height:var(--nav-h);
  display:flex;align-items:center;
  background:rgba(var(--bgdeep-rgb),.55);backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);
  border-bottom:1px solid rgba(2,204,208,.08);transition:background .35s,box-shadow .35s,height .35s;
}
header.solid{background:rgba(var(--panel-rgb),.97);box-shadow:0 8px 40px rgba(0,0,0,.5)}
.nav-in{width:min(1400px,94vw);margin-inline:auto;display:flex;align-items:center;justify-content:flex-start;gap:1.6rem}
.logo{display:flex;align-items:center;flex-shrink:0;transition:transform .28s var(--ease)}
.logo:hover{transform:translateY(-1px)}
.logo-mark{width:130px;height:auto;color:var(--teal);display:block;transition:color .3s}
.logo:hover .logo-mark{color:#00e6ea}
@keyframes pip{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}

.nav-main{display:flex;align-items:center;gap:.35rem}
.nav-item{position:relative}
.nav-link{
  display:flex;align-items:center;gap:.32rem;padding:.55rem .85rem;border-radius:9px;
  font-size:.855rem;font-weight:600;color:var(--w55);transition:.22s;cursor:pointer;
  background:none;border:none;white-space:nowrap;
}
.nav-link:hover,.nav-link.active{color:var(--teal);background:rgba(2,204,208,.07)}
.nav-link .car{font-size:.55rem;opacity:.6;transition:transform .25s}
.nav-item:hover .car{transform:rotate(180deg)}

.mega{
  position:absolute;top:calc(100% + 14px);left:0;transform:translateY(-10px);
  max-width:calc(100vw - 3rem);
  background:rgba(var(--panel-rgb),.985);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:1.6rem;box-shadow:var(--shadow);backdrop-filter:blur(30px);
  opacity:0;visibility:hidden;transition:.28s var(--ease);z-index:60;
}
.nav-item:hover .mega{opacity:1;visibility:visible;transform:translateY(0)}
/* De siste punktene i menyen åpner mot høyre så de ikke går utenfor skjermen */
.nav-item:nth-last-child(-n+2) .mega{left:auto;right:0}
.mega::before{content:'';position:absolute;top:-14px;left:0;right:0;height:14px}
.mega-w{width:640px}
.mega-n{width:340px}
.mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:.3rem}
.mega-l{
  display:flex;gap:.85rem;padding:.7rem .8rem;border-radius:var(--r-sm);transition:.2s;align-items:flex-start;
}
.mega-l:hover{background:rgba(2,204,208,.08)}
.mega-ic{
  width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  font-size:1rem;flex-shrink:0;background:rgba(2,204,208,.1);border:1px solid rgba(2,204,208,.16);
}
.mega-t{font-size:.83rem;font-weight:700;margin-bottom:.1rem}
.mega-d{font-size:.71rem;color:var(--w40);line-height:1.45}
.mega-foot{
  margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
}
.mega-foot span{font-size:.75rem;color:var(--w40)}

.nav-cta{display:flex;align-items:center;gap:.7rem;flex-shrink:0;margin-left:auto}
.lang{display:flex;gap:.15rem;font-size:.72rem;font-weight:800;color:var(--w28);align-items:center;background:none;border:none;cursor:pointer;padding:.35rem .5rem;border-radius:8px;transition:.22s;letter-spacing:.04em}
.lang:hover{background:rgba(2,204,208,.08);color:var(--white)}
.lang b{color:var(--teal)}
.lang .alt{opacity:.75}
.lang b{color:var(--teal)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.burger span{width:24px;height:2px;background:var(--white);border-radius:2px;transition:.3s}
.burger.on span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.on span:nth-child(2){opacity:0}
.burger.on span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

#mobile{
  position:fixed;inset:var(--nav-h) 0 0;z-index:8000;background:rgba(var(--panel-rgb),.99);
  backdrop-filter:blur(30px);padding:2rem 6% 4rem;overflow-y:auto;
  transform:translateX(100%);transition:transform .4s var(--ease);
}
#mobile.on{transform:translateX(0)}
#mobile a{display:block;padding:.95rem 0;font-family:var(--head);font-size:1.5rem;border-bottom:1px solid rgba(2,204,208,.07);color:var(--w70)}
#mobile a:hover{color:var(--teal)}
#mobile .m-sub{font-size:.9rem;font-family:var(--body);font-weight:600;padding:.55rem 0 .55rem 1rem;color:var(--w40);border:none}

/* ── BUTTONS ──────────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  padding:.85rem 1.7rem;border-radius:60px;font-weight:700;font-size:.875rem;
  letter-spacing:.01em;cursor:pointer;border:none;transition:.28s var(--ease);
  white-space:nowrap;position:relative;overflow:hidden;
}
.btn-p{background:var(--teal);color:var(--bg-deeper)}
.btn-p:hover{background:#00e6ea;transform:translateY(-3px);box-shadow:0 14px 40px rgba(2,204,208,.42)}
.btn-o{background:transparent;color:var(--white);box-shadow:inset 0 0 0 1.5px var(--line-hi)}
.btn-o:hover{box-shadow:inset 0 0 0 1.5px var(--teal);color:var(--teal);transform:translateY(-3px);background:rgba(2,204,208,.05)}
.btn-c{background:var(--coral);color:#fff}
.btn-c:hover{background:#ff8593;transform:translateY(-3px);box-shadow:0 14px 40px rgba(253,108,125,.4)}
.btn-g{background:rgba(249,250,250,.06);color:var(--white);box-shadow:inset 0 0 0 1px var(--w14)}
.btn-g:hover{background:rgba(249,250,250,.11);transform:translateY(-3px)}
.btn-sm{padding:.6rem 1.2rem;font-size:.79rem}
.btn-lg{padding:1.05rem 2.3rem;font-size:.98rem}
.btn-full{width:100%}
.link-a{color:var(--teal);font-weight:700;font-size:.86rem;display:inline-flex;align-items:center;gap:.4rem;transition:gap .2s}
.link-a:hover{gap:.7rem}

/* ── REVEAL ───────────────────────────────────────────────────── */
/* ── Filmutdrag på casesidene ──────────────────────────────────
   En stum snutt som går i løkke til noen trykker. Da byttes den
   mot hele filmen, med lyd og kontroller, i samme ramme. */
.film{margin:0;background:var(--bg-deeper);border-radius:18px;overflow:hidden;
  border:1px solid var(--line);position:relative}
.film video,.film-fallback{width:100%;height:auto;aspect-ratio:16/9;display:block;
  background:var(--bg-deeper);cursor:pointer}
.film.spiller video{cursor:default}
.film figcaption{display:flex;flex-wrap:wrap;gap:.7rem 1rem;align-items:center;
  padding:1rem 1.2rem;font-size:.9rem;line-height:1.5;color:var(--w70)}
.film-tag{font-size:.64rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--teal);border:1px solid rgba(2,204,208,.35);border-radius:20px;
  padding:.3rem .65rem;white-space:nowrap}
.film-cap{flex:1 1 14rem}
.film-btn{margin-left:auto;display:inline-flex;align-items:center;gap:.6rem;
  background:var(--teal);color:var(--bg-deeper);border:0;border-radius:40px;
  padding:.7rem 1.25rem;font-family:var(--font);font-weight:800;font-size:.86rem;
  cursor:pointer;white-space:nowrap;transition:transform .15s var(--ease),filter .15s}
.film-btn:hover{transform:translateY(-1px);filter:brightness(1.08)}
.film-btn::before{content:"";border-left:.7em solid currentColor;
  border-top:.45em solid transparent;border-bottom:.45em solid transparent}
.film-btn[hidden]{display:none}
@media(max-width:620px){
  .film figcaption{padding:.9rem 1rem}
  .film-btn{margin-left:0;width:100%;justify-content:center}
}
.rv{opacity:0;transform:translateY(38px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv-l{opacity:0;transform:translateX(-40px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
.rv-l.in{opacity:1;transform:none}
.rv-r{opacity:0;transform:translateX(40px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
.rv-r.in{opacity:1;transform:none}
.rv-s{opacity:0;transform:scale(.94);transition:opacity .85s var(--ease),transform .85s var(--ease)}
.rv-s.in{opacity:1;transform:none}

/* ── KEYFRAMES ────────────────────────────────────────────────── */
@keyframes fl1{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-22px) rotate(16deg)}}
@keyframes fl2{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(-12deg)}}
@keyframes fl3{0%,100%{transform:translateY(-10px)}50%{transform:translateY(12px)}}
@keyframes puls{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.35)}}
@keyframes blob{0%,100%{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}33%{border-radius:30% 60% 70% 40%/50% 60% 30% 60%}66%{border-radius:50% 60% 30% 40%/40% 50% 60% 50%}}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes spinr{to{transform:rotate(-360deg)}}
@keyframes glowp{0%,100%{box-shadow:0 0 30px rgba(2,204,208,.14)}50%{box-shadow:0 0 70px rgba(2,204,208,.34)}}
@keyframes shimmer{to{background-position:200% center}}

/* ── DECOR ────────────────────────────────────────────────────── */
.blob{position:absolute;pointer-events:none;border-radius:50%;filter:blur(2px);z-index:0}
.tri{width:0;height:0;border-style:solid}
.deco{position:absolute;pointer-events:none;z-index:1}
.mesh{
  position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.55;
  background:
    radial-gradient(600px 400px at 12% 18%,rgba(2,204,208,.12),transparent 65%),
    radial-gradient(700px 500px at 88% 32%,rgba(253,108,125,.08),transparent 65%),
    radial-gradient(500px 400px at 50% 90%,rgba(20,222,167,.07),transparent 65%);
}
.gridlines{
  position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.35;
  background-image:linear-gradient(rgba(2,204,208,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(2,204,208,.045) 1px,transparent 1px);
  background-size:70px 70px;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,black,transparent);
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,black,transparent);
}
#px{position:absolute;inset:0;z-index:0;pointer-events:none}

/* ── CARDS ────────────────────────────────────────────────────── */
.card{
  background:var(--glass);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:1.8rem;backdrop-filter:blur(16px);transition:.35s var(--ease);position:relative;overflow:hidden;
}
.card:hover{border-color:var(--line-hi);transform:translateY(-7px);box-shadow:var(--glow),0 28px 60px rgba(0,0,0,.32)}
.card-top{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--teal),transparent);opacity:0;transition:.35s}
.card:hover .card-top{opacity:1}

/* ── PAGES / ROUTER ───────────────────────────────────────────── */
.page{display:none;animation:pgIn .55s var(--ease)}
.page.on{display:block}
@keyframes pgIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.pg-head{padding:calc(var(--nav-h) + 4.5rem) 0 3rem;position:relative;overflow:hidden}
.pg-head .wrap{position:relative;z-index:2}
.crumb{font-size:.72rem;color:var(--w28);letter-spacing:.14em;text-transform:uppercase;margin-bottom:1.1rem}
.crumb b{color:var(--teal);font-weight:700}

/* ── STICKY CTA ───────────────────────────────────────────────── */
#sticky{
  position:fixed;left:50%;bottom:1.4rem;transform:translateX(-50%) translateY(160%);
  z-index:7000;display:flex;align-items:center;gap:1.4rem;
  background:rgba(var(--panel-rgb),.96);border:1px solid var(--line-hi);border-radius:60px;
  padding:.65rem .7rem .65rem 1.6rem;backdrop-filter:blur(24px);
  box-shadow:0 20px 60px rgba(0,0,0,.5);transition:transform .5s var(--ease);
  max-width:94vw;
}
#sticky.on{transform:translateX(-50%) translateY(0)}
#sticky p{font-size:.83rem;font-weight:600;white-space:nowrap}
#sticky .x{background:none;border:none;color:var(--w28);cursor:pointer;font-size:1.1rem;padding:0 .3rem}
#sticky .x:hover{color:var(--white)}
@media(max-width:640px){#sticky p{display:none}#sticky{padding:.55rem}}

/* ── TO TOP ───────────────────────────────────────────────────── */
#top{
  position:fixed;right:1.6rem;bottom:1.6rem;z-index:6000;width:46px;height:46px;border-radius:50%;
  background:var(--teal);color:var(--bg-deeper);border:none;cursor:pointer;font-size:1.15rem;
  display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;
  transition:.3s;box-shadow:0 10px 34px rgba(2,204,208,.42);
}
#top.on{opacity:1;pointer-events:all}
#top:hover{transform:translateY(-4px)}
@media(max-width:640px){#top{right:1rem;bottom:5.5rem;width:42px;height:42px}}

/* ── MARQUEE ──────────────────────────────────────────────────── */
.mq-wrap{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq{display:flex;gap:3.2rem;width:max-content;animation:mq 34s linear infinite}
.mq:hover{animation-play-state:paused}
.mq-i{font-family:var(--head);font-size:1.05rem;color:var(--w28);white-space:nowrap;transition:color .3s;letter-spacing:.01em}
.mq-i:hover{color:var(--teal)}
.mq-s{color:var(--teal);opacity:.35}
.mq-big{animation-duration:44s}
.mq-big .mq-i{font-size:clamp(2.2rem,5vw,4rem);color:transparent;-webkit-text-stroke:1.2px rgba(2,204,208,.22)}
.mq-big .mq-i:hover{-webkit-text-stroke:1.2px var(--teal)}

/* ── RESPONSIVE BASE ──────────────────────────────────────────── */
@media(max-width:1180px){
  .nav-main{display:none}
  .burger{display:flex}
  .lang{display:none}
  .g4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .g3{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
  .g2,.g3,.g4{grid-template-columns:1fr}
  .nav-cta .btn{padding:.55rem 1.1rem;font-size:.78rem}
}
/* ══════════════════════════════════════════════════════════════════
   HOME — HERO
   ══════════════════════════════════════════════════════════════════ */
#hero{min-height:100vh;display:flex;align-items:center;padding:calc(var(--nav-h) + 3rem) 0 4rem;overflow:hidden}
.hero-in{position:relative;z-index:3;display:grid;grid-template-columns:1.15fr .85fr;gap:4rem;align-items:center}
.hero-badge{
  display:inline-flex;align-items:center;gap:.6rem;padding:.42rem 1.05rem;
  background:rgba(2,204,208,.09);border:1px solid rgba(2,204,208,.28);border-radius:60px;
  font-size:.7rem;font-weight:800;color:var(--teal);letter-spacing:.16em;text-transform:uppercase;margin-bottom:1.6rem;
}
.hero-badge .lv{width:6px;height:6px;background:var(--teal);border-radius:50%;animation:puls 2s ease-in-out infinite}
#hero h1{margin-bottom:1.5rem}
.hero-sub{font-size:clamp(1rem,1.7vw,1.18rem);color:var(--w55);max-width:47ch;line-height:1.8;margin-bottom:2.4rem}
.hero-btns{display:flex;gap:.9rem;flex-wrap:wrap;margin-bottom:3rem}
.hero-kpi{display:flex;gap:2.6rem;flex-wrap:wrap;padding-top:2rem;border-top:1px solid var(--line)}
.kpi-n{font-family:var(--head);font-size:2rem;color:var(--teal);line-height:1}
.kpi-l{font-size:.68rem;color:var(--w28);text-transform:uppercase;letter-spacing:.14em;margin-top:.3rem}

/* Hero visual */
.hero-vis{position:relative;display:flex;align-items:center;justify-content:center;min-height:460px}
.orb{position:absolute;border-radius:50%;border:1px dashed rgba(2,204,208,.2)}
.orb1{width:440px;height:440px;animation:spin 42s linear infinite}
.orb2{width:330px;height:330px;border-color:rgba(253,108,125,.16);animation:spinr 30s linear infinite}
.orb3{width:550px;height:550px;border-color:rgba(20,222,167,.1);animation:spin 60s linear infinite}
.orb-d{position:absolute;border-radius:50%;top:0;left:50%;transform:translate(-50%,-50%)}
.od1{width:13px;height:13px;background:var(--teal);box-shadow:0 0 22px var(--teal)}
.od2{width:10px;height:10px;background:var(--coral);box-shadow:0 0 18px var(--coral)}
.od3{width:8px;height:8px;background:var(--green);box-shadow:0 0 16px var(--green)}
.reel{
  position:relative;z-index:4;width:min(340px,80%);aspect-ratio:16/10;
  background:linear-gradient(150deg,rgba(54,33,124,.85),rgba(var(--bg-rgb),.9));
  border:1px solid rgba(2,204,208,.32);border-radius:var(--r-xl);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;
  backdrop-filter:blur(16px);cursor:pointer;animation:glowp 4.5s ease-in-out infinite;
  box-shadow:0 40px 100px rgba(0,0,0,.5);overflow:hidden;
}
.reel::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(115deg,transparent 30%,rgba(2,204,208,.08) 50%,transparent 70%);
  background-size:250% 100%;animation:shimmer 3.5s linear infinite;
}
.play{
  width:70px;height:70px;border-radius:50%;background:var(--teal);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 48px rgba(2,204,208,.55);transition:transform .25s var(--ease);position:relative;z-index:2;
}
.reel:hover .play{transform:scale(1.13)}
.reel-l{font-size:.7rem;color:var(--w40);font-weight:700;letter-spacing:.16em;text-transform:uppercase;position:relative;z-index:2}
.fchip{
  position:absolute;z-index:6;display:flex;align-items:center;gap:.5rem;
  background:rgba(var(--panel-rgb),.9);border:1px solid rgba(2,204,208,.24);border-radius:12px;
  padding:.6rem 1rem;font-size:.74rem;font-weight:600;color:var(--w70);
  backdrop-filter:blur(14px);box-shadow:0 12px 34px rgba(0,0,0,.4);
}
.fc1{top:6%;left:-4%;animation:fl1 7s ease-in-out infinite}
.fc2{bottom:10%;right:-6%;animation:fl2 8s ease-in-out infinite 1s}
.fc3{bottom:38%;left:-12%;animation:fl3 9s ease-in-out infinite .5s}

/* ══════════════════════════════════════════════════════════════════
   LOGO STRIP
   ══════════════════════════════════════════════════════════════════ */
.strip{padding:2.2rem 0;background:rgba(var(--bgdeep-rgb),.55);border-block:1px solid rgba(2,204,208,.09)}
.strip-l{text-align:center;font-size:.66rem;color:var(--w28);text-transform:uppercase;letter-spacing:.26em;margin-bottom:1.4rem}

/* ══════════════════════════════════════════════════════════════════
   CAPABILITIES / SERVICES
   ══════════════════════════════════════════════════════════════════ */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.svc{
  background:var(--glass);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:1.9rem;transition:.35s var(--ease);position:relative;overflow:hidden;cursor:default;
}
.svc:hover{transform:translateY(-8px);border-color:var(--line-hi);box-shadow:var(--glow),0 30px 64px rgba(0,0,0,.34)}
.svc-ic{
  width:52px;height:52px;border-radius:15px;display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;margin-bottom:1.2rem;transition:.35s var(--ease);
}
.svc:hover .svc-ic{transform:scale(1.09) rotate(-6deg)}
.i-t{background:rgba(2,204,208,.12);border:1px solid rgba(2,204,208,.24)}
.i-c{background:rgba(253,108,125,.12);border:1px solid rgba(253,108,125,.24)}
.i-g{background:rgba(20,222,167,.12);border:1px solid rgba(20,222,167,.24)}
.i-o{background:rgba(255,161,67,.12);border:1px solid rgba(255,161,67,.24)}
.i-b{background:rgba(55,104,238,.14);border:1px solid rgba(55,104,238,.26)}
.i-p{background:rgba(139,116,218,.14);border:1px solid rgba(139,116,218,.26)}
.svc h3{font-size:1.08rem;margin-bottom:.55rem}
.svc p{font-size:.845rem;color:var(--w40);line-height:1.7;margin-bottom:1rem}
.svc-tags{display:flex;flex-wrap:wrap;gap:.35rem}
.tag{
  font-size:.66rem;padding:.24rem .6rem;border-radius:60px;
  background:rgba(249,250,250,.05);border:1px solid var(--w14);color:var(--w40);font-weight:600;
}

/* ══════════════════════════════════════════════════════════════════
   SPLIT / WHY
   ══════════════════════════════════════════════════════════════════ */
.split{display:grid;grid-template-columns:1fr 1fr;gap:4.5rem;align-items:center}
.split.rev>*:first-child{order:2}
.stat-box{
  background:var(--glass);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:1.6rem;text-align:center;transition:.3s var(--ease);
}
.stat-box:hover{border-color:var(--line-hi);transform:translateY(-5px)}
.sb-n{font-family:var(--head);font-size:clamp(2rem,4vw,2.9rem);line-height:1;margin-bottom:.4rem}
.sb-l{font-size:.73rem;color:var(--w40);line-height:1.5}
.checklist li{display:flex;gap:.8rem;align-items:flex-start;padding:.65rem 0;font-size:.9rem;color:var(--w70)}
.checklist li::before{
  content:'✓';color:var(--teal);font-weight:900;flex-shrink:0;
  width:20px;height:20px;background:rgba(2,204,208,.11);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:.7rem;margin-top:2px;
}

/* ══════════════════════════════════════════════════════════════════
   PROCESS TIMELINE
   ══════════════════════════════════════════════════════════════════ */
.tl{position:relative;padding-left:0}
.tl-row{
  display:grid;grid-template-columns:80px 1fr;gap:1.6rem;padding:1.3rem 0;
  border-bottom:1px solid rgba(2,204,208,.08);transition:.3s;cursor:pointer;
}
.tl-row:hover{background:rgba(2,204,208,.03)}
.tl-row:last-child{border-bottom:none}
.tl-n{
  font-family:var(--head);font-size:2.2rem;line-height:1;
  color:transparent;-webkit-text-stroke:1.4px var(--line-hi);transition:.3s;
}
.tl-row:hover .tl-n{-webkit-text-stroke:1.4px var(--teal);color:rgba(2,204,208,.09)}
.tl-b h3{font-size:1.12rem;margin-bottom:.4rem}
.tl-b p{font-size:.86rem;color:var(--w40);line-height:1.7;max-width:60ch}
.tl-meta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.7rem}
.tl-meta span{font-size:.68rem;color:var(--teal);background:rgba(2,204,208,.08);padding:.22rem .65rem;border-radius:60px;font-weight:700;letter-spacing:.04em}

.pstep-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;position:relative}
.pstep-grid::before{content:'';position:absolute;top:26px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(2,204,208,.3),rgba(253,108,125,.3),transparent)}
.pst{text-align:center;position:relative}
.pst-n{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.1rem;font-family:var(--head);font-size:1.15rem;background:var(--bg);position:relative;z-index:2}
.pn1{border:2px solid var(--teal);color:var(--teal)}
.pn2{border:2px solid var(--coral);color:var(--coral)}
.pn3{border:2px solid var(--green);color:var(--green)}
.pn4{border:2px solid var(--orange);color:var(--orange)}
.pst h4{font-size:.98rem;margin-bottom:.45rem;font-family:var(--head)}
.pst p{font-size:.8rem;color:var(--w40);line-height:1.65;max-width:210px;margin-inline:auto}

/* ══════════════════════════════════════════════════════════════════
   CASES
   ══════════════════════════════════════════════════════════════════ */
.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2.4rem;justify-content:center}
.filt.sm{padding:.32rem .75rem;font-size:.76rem}
.filt-l{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--w28);align-self:center;margin-right:.3rem}
.filt{
  padding:.5rem 1.15rem;border-radius:60px;font-size:.78rem;font-weight:700;cursor:pointer;
  background:transparent;border:1px solid var(--w14);color:var(--w40);transition:.25s;
}
.filt:hover{border-color:var(--line-hi);color:var(--white)}
.filt.on{background:var(--teal);border-color:var(--teal);color:var(--bg-deeper)}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.case{
  background:var(--glass);border:1px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;transition:.38s var(--ease);cursor:pointer;
}
.case:hover{transform:translateY(-9px);border-color:var(--line-hi);box-shadow:var(--glow),0 30px 64px rgba(0,0,0,.36)}
.case.hide{display:none}
.case-th{aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;font-size:3.4rem;position:relative;overflow:hidden}
.case-th::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(var(--panel-rgb),.6),transparent 55%)}
.case-th .pl{position:absolute;z-index:2;width:52px;height:52px;border-radius:50%;background:rgba(2,204,208,.92);display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);transition:.3s var(--ease)}
.case:hover .case-th .pl{opacity:1;transform:scale(1)}
.th1{background:linear-gradient(135deg,#1E0A5F,#36217C,#02CCD0)}
.th2{background:linear-gradient(135deg,#1E0A5F,#3768EE,#FD6C7D)}
.th3{background:linear-gradient(135deg,#0F3BB4,#36217C,#14DEA7)}
.th4{background:linear-gradient(135deg,#36217C,#FFA143,#FD6C7D)}
.th5{background:linear-gradient(135deg,#1E0A5F,#14DEA7,#02CCD0)}
.th6{background:linear-gradient(135deg,#3768EE,#1E0A5F,#FFA143)}
.th7{background:linear-gradient(135deg,#36217C,#02CCD0,#0F3BB4)}
.th8{background:linear-gradient(135deg,#1E0A5F,#FD6C7D,#36217C)}
.th9{background:linear-gradient(135deg,#0C0328,#14DEA7,#36217C)}
.case-b{padding:1.4rem}
.case-cl{font-size:.66rem;font-weight:800;color:var(--teal);text-transform:uppercase;letter-spacing:.18em;margin-bottom:.4rem}
.case-t{font-family:var(--head);font-size:1.02rem;line-height:1.3;margin-bottom:.7rem}
.case-res{display:flex;gap:1.2rem;padding-top:.85rem;margin-top:.85rem;border-top:1px solid rgba(2,204,208,.1)}
.cr-n{font-family:var(--head);font-size:1.15rem;color:var(--green);line-height:1}
.cr-l{font-size:.63rem;color:var(--w28);margin-top:.15rem;letter-spacing:.04em}

/* ══════════════════════════════════════════════════════════════════
   PRICING
   ══════════════════════════════════════════════════════════════════ */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;align-items:start}
.pk{
  background:var(--glass);border:1px solid var(--line);border-radius:var(--r-xl);
  padding:2.1rem;position:relative;overflow:hidden;transition:.38s var(--ease);backdrop-filter:blur(18px);
}
.pk:hover{transform:translateY(-9px);border-color:var(--line-hi);box-shadow:var(--glow),0 32px 70px rgba(0,0,0,.36)}
.pk.hot{border-color:var(--teal);background:rgba(2,204,208,.06);transform:scale(1.03)}
.pk.hot:hover{transform:scale(1.03) translateY(-9px)}
.pk-badge{position:absolute;top:1.2rem;right:1.2rem;background:var(--teal);color:var(--bg-deeper);font-size:.62rem;font-weight:900;padding:.3rem .8rem;border-radius:60px;text-transform:uppercase;letter-spacing:.14em}
.pk-n{font-family:var(--head);font-size:1.5rem;margin-bottom:.2rem}
.pk-d{font-size:.76rem;color:var(--w28);margin-bottom:1.6rem}
.pk-f{font-size:.66rem;color:var(--w28);text-transform:uppercase;letter-spacing:.16em}
.pk-a{font-family:var(--head);font-size:2.7rem;color:var(--teal);line-height:1.1;margin-bottom:.3rem}
.pk-a span{font-size:.95rem;color:var(--w28);font-family:var(--body);font-weight:600}
.pk-time{font-size:.74rem;color:var(--w40);margin-bottom:1.5rem}
.pk-hr{height:1px;background:rgba(2,204,208,.13);margin-bottom:1.4rem}
.pk-l{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.9rem}
.pk-l li{display:flex;gap:.6rem;align-items:flex-start;font-size:.85rem;color:var(--w70);line-height:1.55}
.pk-l li::before{content:'✓';color:var(--teal);font-weight:900;flex-shrink:0;font-size:.8rem;margin-top:2px}
.pk-l li.no{color:rgba(255,255,255,.36)}
.pk-l li.no::before{content:'—';color:rgba(255,255,255,.3)}

/* Retainer */
.ret-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.ret{
  background:linear-gradient(150deg,rgba(54,33,124,.5),rgba(var(--bg-rgb),.35));
  border:1px solid var(--line);border-radius:var(--r-lg);padding:1.9rem;transition:.35s var(--ease);
}
.ret:hover{transform:translateY(-7px);border-color:var(--line-hi);box-shadow:var(--glow)}
.ret-n{font-family:var(--head);font-size:1.25rem;margin-bottom:.25rem}
.ret-p{font-family:var(--head);font-size:2rem;color:var(--green);line-height:1.2;margin:.9rem 0 .2rem}
.ret-p span{font-size:.8rem;color:var(--w28);font-family:var(--body);font-weight:600}

/* Estimator */
.est{
  background:linear-gradient(155deg,rgba(54,33,124,.55),rgba(var(--bgdeep-rgb),.7));
  border:1px solid var(--line-hi);border-radius:var(--r-xl);padding:clamp(1.6rem,4vw,3rem);
  backdrop-filter:blur(22px);box-shadow:var(--shadow);
}
.est-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:3rem;align-items:start}
.est-f{margin-bottom:1.7rem}
.est-f>label{display:block;font-size:.7rem;font-weight:800;color:var(--w40);text-transform:uppercase;letter-spacing:.16em;margin-bottom:.75rem}
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.55rem}
.opt{
  padding:.75rem .85rem;border-radius:var(--r-sm);border:1px solid var(--w14);
  background:rgba(var(--bg-rgb),.4);cursor:pointer;transition:.22s;text-align:center;
}
.opt:hover{border-color:var(--line-hi)}
.opt.on{border-color:var(--teal);background:rgba(2,204,208,.11)}
.opt-t{font-size:.83rem;font-weight:700;margin-bottom:.1rem}
.opt-s{font-size:.66rem;color:var(--w28)}
.est-adds{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.add{
  display:flex;align-items:center;gap:.6rem;padding:.65rem .8rem;border-radius:var(--r-sm);
  border:1px solid var(--w14);background:rgba(var(--bg-rgb),.4);cursor:pointer;transition:.22s;font-size:.78rem;
}
.add:hover{border-color:var(--line-hi)}
.add.on{border-color:var(--teal);background:rgba(2,204,208,.1)}
.add .bx{width:17px;height:17px;border-radius:5px;border:1.5px solid var(--w28);display:flex;align-items:center;justify-content:center;font-size:.62rem;flex-shrink:0;transition:.2s}
.add.on .bx{background:var(--teal);border-color:var(--teal);color:var(--bg-deeper);font-weight:900}
.add .pr{margin-left:auto;color:var(--teal);font-weight:700;font-size:.74rem;white-space:nowrap}
.est-out{
  background:rgba(var(--panel-rgb),.6);border:1px solid var(--line-hi);border-radius:var(--r-lg);
  padding:1.8rem;position:sticky;top:calc(var(--nav-h) + 1.5rem);
}
.est-lbl{font-size:.68rem;color:var(--w28);text-transform:uppercase;letter-spacing:.18em;margin-bottom:.5rem}
.est-val{font-family:var(--head);font-size:clamp(1.7rem,3.4vw,2.4rem);color:var(--teal);line-height:1.15;margin-bottom:.35rem}
.est-note{font-size:.7rem;color:var(--w28);line-height:1.6}
.est-break{margin:1.3rem 0;padding:1.1rem 0;border-block:1px solid rgba(2,204,208,.1);display:flex;flex-direction:column;gap:.45rem}
.eb-row{display:flex;justify-content:space-between;font-size:.78rem}
.eb-row span:first-child{color:var(--w40)}
.eb-row span:last-child{color:var(--w70);font-weight:600}

/* ══════════════════════════════════════════════════════════════════
   INDUSTRIES
   ══════════════════════════════════════════════════════════════════ */
.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.ind{
  background:var(--glass);border:1px solid var(--line);border-radius:var(--r);
  padding:1.6rem;transition:.32s var(--ease);position:relative;overflow:hidden;
}
.ind:hover{transform:translateY(-6px);border-color:var(--line-hi);background:rgba(2,204,208,.06)}
.ind-ic{font-size:1.9rem;margin-bottom:.9rem}
.ind h4{font-family:var(--head);font-size:.98rem;margin-bottom:.4rem}
.ind p{font-size:.76rem;color:var(--w40);line-height:1.6}
.ind-k{margin-top:.9rem;font-size:.68rem;color:var(--teal);font-weight:700}

/* ══════════════════════════════════════════════════════════════════
   TEAM
   ══════════════════════════════════════════════════════════════════ */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem}
.tm{
  background:var(--glass);border:1px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;transition:.35s var(--ease);
}
.tm:hover{transform:translateY(-8px);border-color:var(--line-hi);box-shadow:var(--glow)}
.tm-av{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-family:var(--head);font-size:3.4rem;position:relative;overflow:hidden}
.tm-av::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(var(--panel-rgb),.55),transparent 60%)}
.av1{background:linear-gradient(140deg,#36217C,#02CCD0)}
.av2{background:linear-gradient(140deg,#1E0A5F,#FD6C7D)}
.av3{background:linear-gradient(140deg,#0F3BB4,#14DEA7)}
.av4{background:linear-gradient(140deg,#36217C,#FFA143)}
.av5{background:linear-gradient(140deg,#1E0A5F,#3768EE)}
.av6{background:linear-gradient(140deg,#14DEA7,#36217C)}
.tm-b{padding:1.2rem}
.tm-n{font-family:var(--head);font-size:1rem;margin-bottom:.2rem}
.tm-r{font-size:.74rem;color:var(--teal);font-weight:700;margin-bottom:.55rem}
.tm-d{font-size:.75rem;color:var(--w40);line-height:1.6}

/* ══════════════════════════════════════════════════════════════════
   TESTIMONIALS
   ══════════════════════════════════════════════════════════════════ */
.quote-big{
  background:linear-gradient(150deg,rgba(2,204,208,.07),rgba(54,33,124,.35));
  border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(2rem,5vw,3.6rem);
  position:relative;overflow:hidden;
}
.quote-big::before{content:'"';position:absolute;top:-2rem;left:1.5rem;font-family:var(--head);font-size:12rem;color:rgba(2,204,208,.07);line-height:1}
.qb-txt{font-size:clamp(1.05rem,2.2vw,1.5rem);line-height:1.65;font-weight:500;position:relative;z-index:2;margin-bottom:1.8rem}
.qb-who{display:flex;align-items:center;gap:1rem;position:relative;z-index:2}
.qb-av{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--head);font-size:1.3rem;flex-shrink:0}
.t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.tst{background:var(--glass);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.7rem;transition:.32s var(--ease)}
.tst:hover{border-color:var(--line-hi);transform:translateY(-5px)}
.stars{color:var(--orange);font-size:.82rem;letter-spacing:.18em;margin-bottom:.9rem}
.tst-q{font-size:.875rem;color:var(--w70);line-height:1.75;margin-bottom:1.2rem;font-style:italic}
.tst-w{display:flex;align-items:center;gap:.7rem}
.tst-av{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--head);font-size:1rem;flex-shrink:0}

/* ══════════════════════════════════════════════════════════════════
   FAQ
   ══════════════════════════════════════════════════════════════════ */
.faq{display:flex;flex-direction:column;gap:.7rem}
.fq{background:var(--glass);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:border-color .3s}
.fq.on{border-color:var(--line-hi)}
.fq-q{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 1.5rem;cursor:pointer;font-weight:600;font-size:.92rem}
.fq-i{width:24px;height:24px;border-radius:50%;border:1.5px solid rgba(2,204,208,.4);display:flex;align-items:center;justify-content:center;color:var(--teal);flex-shrink:0;transition:transform .3s;font-size:.95rem}
.fq.on .fq-i{transform:rotate(45deg);background:var(--teal);color:var(--bg-deeper)}
.fq-a{max-height:0;overflow:hidden;transition:max-height .42s var(--ease),padding .3s;padding:0 1.5rem;font-size:.87rem;color:var(--w55);line-height:1.8}
.fq.on .fq-a{max-height:400px;padding:0 1.5rem 1.3rem}

/* ══════════════════════════════════════════════════════════════════
   INSIGHTS
   ══════════════════════════════════════════════════════════════════ */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.post{background:var(--glass);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:.35s var(--ease);cursor:pointer}
.post:hover{transform:translateY(-7px);border-color:var(--line-hi);box-shadow:var(--glow)}
.post-th{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;font-size:2.6rem}
.post-b{padding:1.4rem}
.post-m{display:flex;gap:.7rem;font-size:.66rem;color:var(--w28);margin-bottom:.6rem;text-transform:uppercase;letter-spacing:.1em}
.post-m b{color:var(--teal);font-weight:700}
.post-t{font-family:var(--head);font-size:1.02rem;line-height:1.32;margin-bottom:.6rem}
.post-e{font-size:.8rem;color:var(--w40);line-height:1.65}

/* ══════════════════════════════════════════════════════════════════
   CONTACT / BRIEF
   ══════════════════════════════════════════════════════════════════ */
.contact-split{display:grid;grid-template-columns:.85fr 1.15fr;gap:3rem;align-items:start}
.ci{display:flex;gap:1rem;padding:1.1rem 0;border-bottom:1px solid rgba(2,204,208,.09)}
.ci-ic{width:40px;height:40px;border-radius:11px;background:rgba(2,204,208,.1);border:1px solid rgba(2,204,208,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.05rem}
.ci-l{font-size:.68rem;color:var(--w28);text-transform:uppercase;letter-spacing:.14em}
.ci-v{font-size:.92rem;font-weight:600;margin-top:.1rem}
.form-card{background:var(--glass);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(1.5rem,3.5vw,2.6rem);backdrop-filter:blur(20px)}
.steps{display:flex;gap:.5rem;margin-bottom:2rem}
.stp{flex:1;height:3px;background:rgba(249,250,250,.09);border-radius:3px;overflow:hidden;position:relative}
.stp::after{content:'';position:absolute;inset:0;background:var(--teal);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.stp.done::after{transform:scaleX(1)}
.step-lbl{font-size:.68rem;color:var(--teal);text-transform:uppercase;letter-spacing:.18em;font-weight:800;margin-bottom:.5rem}
.fstep{display:none}
.fstep.on{display:block;animation:pgIn .4s var(--ease)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.fg{display:flex;flex-direction:column;gap:.4rem}
.fg.full{grid-column:1/-1}
.fg label{font-size:.68rem;font-weight:800;color:var(--w40);text-transform:uppercase;letter-spacing:.14em}
.fg input,.fg select,.fg textarea{
  background:rgba(var(--panel-rgb),.55);border:1px solid rgba(2,204,208,.18);border-radius:11px;
  padding:.85rem 1rem;font-size:.9rem;outline:none;transition:.22s;resize:vertical;-webkit-appearance:none;appearance:none;
}
.fg select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%2302CCD0' stroke-width='1.6' fill='none' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.4rem}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(2,204,208,.1)}
.fg textarea{min-height:110px}
.fg select option{background:var(--bg-deep)}
.fnav{display:flex;gap:.8rem;margin-top:1.6rem}
.fnote{font-size:.7rem;color:var(--w28);text-align:center;margin-top:1rem;line-height:1.6}
#done{display:none;text-align:center;padding:2.5rem 1rem}
#done h3{font-family:var(--head);font-size:1.7rem;color:var(--teal);margin:.8rem 0 .5rem}
#done p{color:var(--w55);font-size:.92rem;max-width:38ch;margin-inline:auto}

/* ══════════════════════════════════════════════════════════════════
   CTA BAND
   ══════════════════════════════════════════════════════════════════ */
.cta-band{
  background:linear-gradient(140deg,rgba(2,204,208,.1),rgba(54,33,124,.4),rgba(253,108,125,.06));
  border-block:1px solid var(--line);position:relative;overflow:hidden;
}

/* ══════════════════════════════════════════════════════════════════
   AWARDS
   ══════════════════════════════════════════════════════════════════ */
.aw-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.aw{
  border:1px solid var(--line);border-radius:var(--r);padding:1.4rem;text-align:center;
  background:rgba(54,33,124,.22);transition:.3s var(--ease);
}
.aw:hover{border-color:var(--line-hi);transform:translateY(-5px)}
.aw-ic{font-size:1.7rem;margin-bottom:.6rem}
.aw-t{font-size:.82rem;font-weight:700;margin-bottom:.2rem}
.aw-y{font-size:.68rem;color:var(--w28)}

/* ══════════════════════════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════════════════════════ */
footer{background:var(--bg-deeper);border-top:1px solid rgba(2,204,208,.1);padding:4rem 0 2rem;position:relative;overflow:hidden}
.f-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1.2fr;gap:2.6rem;margin-bottom:3rem;position:relative;z-index:2}
.f-logo{width:168px;height:auto;color:var(--teal);margin-bottom:1rem;display:block}
.f-tag{font-size:.82rem;color:var(--w40);line-height:1.75;max-width:30ch;margin-bottom:1.3rem}
.f-soc{display:flex;gap:.5rem}
.f-soc a{
  width:34px;height:34px;border-radius:9px;border:1px solid var(--w14);
  display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;
  color:var(--w40);transition:.25s;
}
.f-soc a:hover{border-color:var(--teal);color:var(--teal);background:rgba(2,204,208,.07);transform:translateY(-3px)}
.f-col h4{font-size:.67rem;text-transform:uppercase;letter-spacing:.2em;color:var(--w28);margin-bottom:1.1rem;font-family:var(--body);font-weight:800}
.f-col li{margin-bottom:.55rem}
.f-col a{font-size:.845rem;color:var(--w55);transition:.2s;cursor:pointer}
.f-col a:hover{color:var(--teal)}
.f-news input{
  width:100%;background:rgba(var(--bg-rgb),.6);border:1px solid rgba(2,204,208,.2);border-radius:10px;
  padding:.7rem .9rem;font-size:.82rem;outline:none;margin-bottom:.6rem;transition:.2s;
}
.f-news input:focus{border-color:var(--teal)}
.f-bot{
  display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;
  padding-top:1.8rem;border-top:1px solid rgba(2,204,208,.08);
  font-size:.76rem;color:var(--w28);position:relative;z-index:2;
}
.f-bot-l{display:flex;gap:1.4rem;flex-wrap:wrap}
.f-bot-l a{color:var(--w28);transition:.2s}
.f-bot-l a:hover{color:var(--teal)}

/* ══════════════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════════════ */
@media(max-width:1180px){
  .hero-in{grid-template-columns:1fr;gap:3rem}
  .hero-vis{display:none}
  .f-top{grid-template-columns:1fr 1fr 1fr;gap:2rem}
  .team-grid,.ind-grid,.aw-grid{grid-template-columns:repeat(3,1fr)}
  .est-grid{grid-template-columns:1fr;gap:2rem}
  .est-out{position:static}
}
@media(max-width:980px){
  .svc-grid,.case-grid,.price-grid,.ret-grid,.post-grid,.t-grid{grid-template-columns:repeat(2,1fr)}
  .split{grid-template-columns:1fr;gap:2.5rem}
  .split.rev>*:first-child{order:0}
  .contact-split{grid-template-columns:1fr;gap:2rem}
  .pstep-grid{grid-template-columns:repeat(2,1fr)}
  .pstep-grid::before{display:none}
  .pk.hot{transform:none}
  .pk.hot:hover{transform:translateY(-9px)}
}
@media(max-width:720px){
  .svc-grid,.case-grid,.price-grid,.ret-grid,.post-grid,.t-grid,.team-grid,.ind-grid,.aw-grid{grid-template-columns:1fr}
  .f-top{grid-template-columns:1fr;gap:2rem}
  .frow{grid-template-columns:1fr}
  .est-adds{grid-template-columns:1fr}
  .hero-kpi{gap:1.6rem}
  .tl-row{grid-template-columns:56px 1fr;gap:1rem}
  .tl-n{font-size:1.6rem}
  .case-res{gap:.9rem}
  .pstep-grid{grid-template-columns:1fr}
  .hero-btns .btn{width:100%}
}

/* ══════════════════════════════════════════════════════════════════
   ICON SYSTEM (line SVG — no emoji)
   ══════════════════════════════════════════════════════════════════ */
#sprite{position:absolute;width:0;height:0;overflow:hidden}
.ic{
  width:1em;height:1em;flex-shrink:0;
  fill:none;stroke:currentColor;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round;
  vertical-align:middle;
}
.svc-ic .ic{width:26px;height:26px;stroke-width:1.5}
.svc-ic.i-t{color:var(--teal)} .svc-ic.i-c{color:var(--coral)} .svc-ic.i-g{color:var(--green)}
.svc-ic.i-o{color:var(--orange)} .svc-ic.i-b{color:#6D91F3} .svc-ic.i-p{color:#BFB2EA}
.mega-ic .ic{width:17px;height:17px}
.mega-ic.i-t{color:var(--teal)} .mega-ic.i-c{color:var(--coral)} .mega-ic.i-g{color:var(--green)}
.mega-ic.i-o{color:var(--orange)} .mega-ic.i-b{color:#6D91F3} .mega-ic.i-p{color:#BFB2EA}
.ind-ic{color:var(--teal);margin-bottom:1rem;display:block}
.ind-ic .ic{width:30px;height:30px;stroke-width:1.4}
.ind:hover .ind-ic{color:var(--white)}
.case-th .ic{width:58px;height:58px;stroke-width:1.1;color:rgba(255,255,255,.85);position:relative;z-index:1}
.post-th .ic{width:42px;height:42px;stroke-width:1.2;color:rgba(255,255,255,.85)}
.fchip .ic{width:15px;height:15px;color:var(--teal)}
.ci-ic .ic{width:18px;height:18px;color:var(--teal)}
.aw-ic{color:var(--teal);margin-bottom:.7rem;display:block}
.aw-ic .ic{width:26px;height:26px;stroke-width:1.4}
.val-ic .ic{width:26px;height:26px}
.grt-ic{color:var(--teal);margin-bottom:.9rem;display:block}
.grt-ic .ic{width:30px;height:30px;stroke-width:1.4}
.done-ic{color:var(--teal)}
.done-ic .ic{width:56px;height:56px;stroke-width:1.4}
.reel .play .ic{width:22px;height:22px;stroke:none;fill:var(--bg-deeper)}
.case-th .pl .ic{width:16px;height:16px;stroke:none;fill:var(--bg-deeper)}

/* ══════════════════════════════════════════════════════════════════
   10-ÅRS JUBILEUM
   ══════════════════════════════════════════════════════════════════ */
#confetti{position:fixed;inset:0;z-index:99990;pointer-events:none}
/* Jubileumsbånd i hero */
.jub-hero{
  display:inline-flex;align-items:center;gap:.85rem;
  padding:.55rem 1.5rem .55rem .6rem;border-radius:60px;margin-bottom:1.5rem;
  font-size:.82rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:var(--white);cursor:pointer;position:relative;overflow:hidden;
  background:linear-gradient(115deg,rgba(255,161,67,.16),rgba(253,108,125,.13) 45%,rgba(2,204,208,.14));
  border:1px solid rgba(255,161,67,.45);
  box-shadow:0 0 34px rgba(255,161,67,.14);
  transition:transform .3s var(--ease),box-shadow .3s;
}
.jub-hero:hover{transform:translateY(-2px);box-shadow:0 0 46px rgba(255,161,67,.28)}
.jub-hero::after{
  content:'';position:absolute;top:0;left:-60%;width:45%;height:100%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.42),transparent);
  transform:skewX(-22deg);animation:jubSweep 4.2s ease-in-out infinite;
}
@keyframes jubSweep{0%{left:-60%}45%{left:130%}100%{left:130%}}
.jub-hero .n{
  font-family:var(--head);font-size:1.55rem;font-weight:1000;line-height:1;
  padding:.22rem .6rem;border-radius:50px;color:#0C0328;letter-spacing:-.02em;
  background:linear-gradient(115deg,var(--orange),var(--coral) 55%,var(--teal));
  background-size:240% auto;animation:jubShift 4s linear infinite;
  box-shadow:0 4px 18px rgba(255,161,67,.35);
}
@keyframes jubShift{to{background-position:240% center}}
.jub-hero .yr{color:var(--orange);font-weight:800}

/* ══════════════════════════════════════════════════════════════════
   BRANSJESIDER
   ══════════════════════════════════════════════════════════════════ */
.br-hero{padding:calc(var(--nav-h) + 4.5rem) 0 3.5rem;position:relative;overflow:hidden}
.br-hero .wrap{position:relative;z-index:2}
.br-top{display:flex;align-items:center;gap:1.2rem;margin-bottom:1.6rem;flex-wrap:wrap}
.br-badge{
  width:64px;height:64px;border-radius:19px;display:flex;align-items:center;justify-content:center;
  background:rgba(2,204,208,.12);border:1px solid rgba(2,204,208,.3);color:var(--teal);flex-shrink:0;
}
.br-badge .ic{width:32px;height:32px;stroke-width:1.4}
.br-kw{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:1.6rem}
.br-kw span{
  font-size:.7rem;padding:.32rem .8rem;border-radius:60px;font-weight:600;
  background:rgba(2,204,208,.08);border:1px solid rgba(2,204,208,.22);color:var(--w70);
}
.br-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.6rem}
.br-st{background:var(--glass);border:1px solid var(--line);border-radius:var(--r);padding:1.3rem;text-align:center}
.br-st-n{font-family:var(--head);font-size:1.9rem;color:var(--teal);line-height:1}
.br-st-l{font-size:.72rem;color:var(--w40);margin-top:.35rem;line-height:1.45}

.pain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.pain{
  background:linear-gradient(150deg,rgba(253,108,125,.07),rgba(54,33,124,.3));
  border:1px solid rgba(253,108,125,.2);border-radius:var(--r-lg);padding:1.7rem;transition:.32s var(--ease);
}
.pain:hover{border-color:rgba(253,108,125,.45);transform:translateY(-6px)}
.pain-n{font-family:var(--head);font-size:.9rem;color:var(--coral);margin-bottom:.7rem;letter-spacing:.1em}
.pain h4{font-family:var(--head);font-size:1.05rem;margin-bottom:.5rem;line-height:1.3}
.pain p{font-size:.85rem;color:var(--w55);line-height:1.7}

.sol-list{display:flex;flex-direction:column;gap:.9rem}
.sol{
  display:flex;gap:1.1rem;align-items:flex-start;padding:1.3rem 1.5rem;
  background:var(--glass);border:1px solid var(--line);border-radius:var(--r);transition:.3s var(--ease);
}
.sol:hover{border-color:var(--line-hi);transform:translateX(6px);background:rgba(2,204,208,.05)}
.sol-ic{
  width:40px;height:40px;border-radius:11px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  background:rgba(2,204,208,.1);border:1px solid rgba(2,204,208,.22);color:var(--teal);
}
.sol-ic .ic{width:20px;height:20px}
.sol h4{font-family:var(--head);font-size:1rem;margin-bottom:.3rem}
.sol p{font-size:.85rem;color:var(--w55);line-height:1.7}

/* Videokort */
.vid-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.vid{
  background:var(--glass);border:1px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;transition:.36s var(--ease);cursor:pointer;
}
.vid:hover{transform:translateY(-8px);border-color:var(--line-hi);box-shadow:var(--glow),0 28px 60px rgba(0,0,0,.35)}
.vid-th{aspect-ratio:16/9;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.vid-th::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(var(--panel-rgb),.75),rgba(var(--panel-rgb),.05) 60%)}
.vid-th .ic{width:52px;height:52px;stroke-width:1.1;color:rgba(255,255,255,.8);position:relative;z-index:1}
.vid-play{
  position:absolute;z-index:3;width:56px;height:56px;border-radius:50%;
  background:rgba(2,204,208,.95);display:flex;align-items:center;justify-content:center;
  opacity:0;transform:scale(.75);transition:.3s var(--ease);
  box-shadow:0 0 34px rgba(2,204,208,.5);
}
.vid:hover .vid-play{opacity:1;transform:scale(1)}
.vid-play svg{width:18px;height:18px;fill:var(--bg-deeper);stroke:none;margin-left:2px}
.vid-dur{
  position:absolute;bottom:.7rem;right:.7rem;z-index:3;
  background:rgba(var(--panel-rgb),.85);border:1px solid var(--line);border-radius:60px;
  padding:.18rem .6rem;font-size:.66rem;font-weight:700;color:var(--w70);
}
.vid-type{
  position:absolute;top:.7rem;left:.7rem;z-index:3;
  background:rgba(2,204,208,.9);color:var(--bg-deeper);border-radius:60px;
  padding:.2rem .65rem;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;
}
.vid-b{padding:1.3rem}
.vid-cl{font-size:.66rem;font-weight:800;color:var(--teal);text-transform:uppercase;letter-spacing:.18em;margin-bottom:.4rem}
.vid-t{font-family:var(--head);font-size:1rem;line-height:1.32;margin-bottom:.55rem}
.vid-d{font-size:.8rem;color:var(--w40);line-height:1.65}
.vid-meta{display:flex;gap:.9rem;margin-top:.9rem;padding-top:.9rem;border-top:1px solid rgba(2,204,208,.1);flex-wrap:wrap}
.vid-meta span{font-size:.68rem;color:var(--w40)}
.vid-meta b{color:var(--green);font-weight:700}

.br-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-top:2rem}
.br-nav a{
  display:flex;align-items:center;gap:.7rem;padding:.9rem 1.1rem;border-radius:var(--r-sm);
  background:var(--glass);border:1px solid var(--line);font-size:.83rem;font-weight:600;transition:.25s;
}
.br-nav a:hover{border-color:var(--line-hi);color:var(--teal);transform:translateY(-3px)}
.br-nav a .ic{width:18px;height:18px;color:var(--teal);flex-shrink:0}

@media(max-width:980px){
  .pain-grid,.vid-grid{grid-template-columns:repeat(2,1fr)}
  .br-stats{grid-template-columns:repeat(2,1fr)}
  .br-nav{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .pain-grid,.vid-grid,.br-stats,.br-nav{grid-template-columns:1fr}
}

/* ══════════════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════════════ */
@media(max-width:1180px){
  .hero-in{grid-template-columns:1fr;gap:3rem}
  .hero-vis{display:none}
  .f-top{grid-template-columns:1fr 1fr 1fr;gap:2rem}
  .team-grid,.ind-grid,.aw-grid{grid-template-columns:repeat(3,1fr)}
  .est-grid{grid-template-columns:1fr;gap:2rem}
  .est-out{position:static}
}
@media(max-width:980px){
  .svc-grid,.case-grid,.price-grid,.ret-grid,.post-grid,.t-grid{grid-template-columns:repeat(2,1fr)}
  .split{grid-template-columns:1fr;gap:2.5rem}
  .split.rev>*:first-child{order:0}
  .contact-split{grid-template-columns:1fr;gap:2rem}
  .pstep-grid{grid-template-columns:repeat(2,1fr)}
  .pstep-grid::before{display:none}
  .pk.hot{transform:none}
  .pk.hot:hover{transform:translateY(-9px)}
}
@media(max-width:720px){
  .svc-grid,.case-grid,.price-grid,.ret-grid,.post-grid,.t-grid,.team-grid,.ind-grid,.aw-grid{grid-template-columns:1fr}
  .f-top{grid-template-columns:1fr;gap:2rem}
  .frow{grid-template-columns:1fr}
  .est-adds{grid-template-columns:1fr}
  .hero-kpi{gap:1.6rem}
  .tl-row{grid-template-columns:56px 1fr;gap:1rem}
  .tl-n{font-size:1.6rem}
  .case-res{gap:.9rem}
  .pstep-grid{grid-template-columns:1fr}
  .hero-btns .btn{width:100%}
  .jub-hero{font-size:.72rem;gap:.6rem;padding:.45rem 1.1rem .45rem .5rem}
  .jub-hero .n{font-size:1.25rem}
  .logo-mark{width:108px}
}

/* ══════════════════════════════════════════════════════════════════
   TJENESTESIDER
   ══════════════════════════════════════════════════════════════════ */
.sv-hero{padding:calc(var(--nav-h) + 4.5rem) 0 3.5rem;position:relative;overflow:hidden}
.sv-hero .wrap{position:relative;z-index:2}
.sv-two{display:grid;grid-template-columns:1.1fr .9fr;gap:3.5rem;align-items:center}
.sv-badge{
  width:70px;height:70px;border-radius:20px;display:flex;align-items:center;justify-content:center;
  background:rgba(2,204,208,.12);border:1px solid rgba(2,204,208,.32);color:var(--teal);
  margin-bottom:1.4rem;
}
.sv-badge .ic{width:34px;height:34px;stroke-width:1.4}
.sv-facts{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:2rem}
.sv-fact{background:var(--glass);border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.2rem}
.sv-fact-l{font-size:.66rem;color:var(--w28);text-transform:uppercase;letter-spacing:.16em;margin-bottom:.25rem}
.sv-fact-v{font-family:var(--head);font-size:1.15rem;color:var(--teal);line-height:1.2}

.use-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.use{
  background:var(--glass);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:1.6rem;transition:.32s var(--ease);
}
.use:hover{transform:translateY(-6px);border-color:var(--line-hi);background:rgba(2,204,208,.05)}
.use-ic{width:38px;height:38px;border-radius:11px;background:rgba(2,204,208,.1);border:1px solid rgba(2,204,208,.22);color:var(--teal);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}
.use-ic .ic{width:19px;height:19px}
.use h4{font-family:var(--head);font-size:1rem;margin-bottom:.45rem}
.use p{font-size:.84rem;color:var(--w55);line-height:1.7}

.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.ba{border-radius:var(--r-lg);padding:1.8rem;border:1px solid}
.ba.before{background:rgba(253,108,125,.06);border-color:rgba(253,108,125,.25)}
.ba.after{background:rgba(20,222,167,.06);border-color:rgba(20,222,167,.28)}
.ba-h{display:flex;align-items:center;gap:.6rem;font-family:var(--head);font-size:1.05rem;margin-bottom:1.1rem}
.ba.before .ba-h{color:var(--coral)}
.ba.after .ba-h{color:var(--green)}
.ba ul{display:flex;flex-direction:column;gap:.65rem}
.ba li{display:flex;gap:.6rem;font-size:.86rem;color:var(--w70);line-height:1.6}
.ba.before li::before{content:'✕';color:var(--coral);flex-shrink:0;font-weight:800;font-size:.78rem;margin-top:2px}
.ba.after li::before{content:'✓';color:var(--green);flex-shrink:0;font-weight:800;font-size:.78rem;margin-top:2px}

.spec-table{width:100%;border-collapse:collapse;font-size:.87rem;margin-top:1.2rem}
.spec-table th{
  text-align:left;padding:.85rem 1rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;
  color:var(--w40);border-bottom:1px solid var(--line);font-weight:800;
}
.spec-table td{padding:.9rem 1rem;border-bottom:1px solid rgba(2,204,208,.08);color:var(--w70);vertical-align:top}
.spec-table tr:last-child td{border-bottom:none}
.spec-table td:first-child{font-weight:600;color:var(--white);width:34%}
.spec-table .hl{color:var(--teal);font-weight:700}

/* ══════════════════════════════════════════════════════════════════
   ARTIKLER
   ══════════════════════════════════════════════════════════════════ */
.art-hero{padding:calc(var(--nav-h) + 4rem) 0 2.5rem;position:relative;overflow:hidden}
.art-hero .wrap-t{position:relative;z-index:2}
.art-meta{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;font-size:.72rem;color:var(--w40);margin-bottom:1.2rem}
.art-meta b{color:var(--teal);font-weight:800;text-transform:uppercase;letter-spacing:.14em}
.art-hero h1{font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.1}
.art-lede{font-size:clamp(1.02rem,1.7vw,1.2rem);color:var(--w55);line-height:1.85;margin-top:1.4rem}
.art-layout{display:grid;grid-template-columns:230px 1fr;gap:3.5rem;align-items:start}
.toc{position:sticky;top:calc(var(--nav-h) + 1.5rem)}
.toc-h{font-size:.66rem;text-transform:uppercase;letter-spacing:.2em;color:var(--w28);font-weight:800;margin-bottom:1rem}
.toc a{
  display:block;font-size:.82rem;color:var(--w40);padding:.42rem 0 .42rem .9rem;
  border-left:2px solid rgba(2,204,208,.14);transition:.22s;line-height:1.5;
}
.toc a:hover,.toc a.on{color:var(--teal);border-left-color:var(--teal)}
.art-body{max-width:70ch}
.art-body h2{font-size:clamp(1.4rem,2.6vw,1.9rem);margin:2.8rem 0 1rem;scroll-margin-top:110px}
.art-body h2:first-child{margin-top:0}
.art-body h3{font-size:1.12rem;margin:1.9rem 0 .7rem;color:var(--teal)}
.art-body p{font-size:1rem;line-height:1.9;color:var(--w70);margin-bottom:1.15rem}
.art-body ul,.art-body ol{margin:0 0 1.3rem 0;display:flex;flex-direction:column;gap:.6rem}
.art-body ul li{display:flex;gap:.75rem;font-size:.97rem;line-height:1.8;color:var(--w70)}
.art-body ul li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--teal);flex-shrink:0;margin-top:.68rem}
.art-body ol{counter-reset:oli;list-style:none}
.art-body ol li{display:flex;gap:.8rem;font-size:.97rem;line-height:1.8;color:var(--w70);counter-increment:oli}
.art-body ol li::before{content:counter(oli) '.';color:var(--teal);font-weight:800;flex-shrink:0;font-family:var(--head)}
.art-body strong{color:var(--white);font-weight:700}
.art-body a{color:var(--teal);font-weight:600;border-bottom:1px solid rgba(2,204,208,.3);transition:.2s}
.art-body a:hover{border-bottom-color:var(--teal)}
.pull{
  margin:2rem 0;padding:1.5rem 1.8rem;border-left:3px solid var(--teal);
  background:rgba(2,204,208,.06);border-radius:0 var(--r) var(--r) 0;
}
.pull p{font-size:1.05rem;font-style:italic;color:var(--white);margin:0;line-height:1.75}
.note{
  margin:1.8rem 0;padding:1.3rem 1.6rem;border:1px solid rgba(255,161,67,.32);
  background:rgba(255,161,67,.07);border-radius:var(--r);
}
.note p{font-size:.92rem;margin:0;color:var(--w70)}
.note b{color:var(--orange)}
.art-cta{
  margin:2.6rem 0;padding:1.9rem;border-radius:var(--r-lg);text-align:center;
  background:linear-gradient(140deg,rgba(2,204,208,.1),rgba(54,33,124,.4));border:1px solid var(--line-hi);
}
.art-cta h4{font-family:var(--head);font-size:1.2rem;margin-bottom:.6rem}
.art-cta p{font-size:.9rem;color:var(--w55);margin-bottom:1.3rem}
.art-share{display:flex;gap:.6rem;align-items:center;margin-top:3rem;padding-top:1.8rem;border-top:1px solid var(--line)}
.art-share span{font-size:.74rem;color:var(--w28);text-transform:uppercase;letter-spacing:.14em;margin-right:.4rem}
.art-share a{
  width:34px;height:34px;border-radius:9px;border:1px solid var(--w14);display:flex;
  align-items:center;justify-content:center;font-size:.72rem;font-weight:800;color:var(--w40);transition:.25s;
}
.art-share a:hover{border-color:var(--teal);color:var(--teal);background:rgba(2,204,208,.07)}

/* ══════════════════════════════════════════════════════════════════
   CASE-STUDIER
   ══════════════════════════════════════════════════════════════════ */
.cs-hero{padding:calc(var(--nav-h) + 4rem) 0 0;position:relative;overflow:hidden}
.cs-hero .wrap{position:relative;z-index:2}
.cs-client{font-family:var(--head);font-size:.9rem;color:var(--teal);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.9rem}
.cs-cover{
  margin-top:2.6rem;aspect-ratio:21/9;border-radius:var(--r-xl);position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;border:1px solid var(--line-hi);cursor:pointer;
}
.cs-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(var(--panel-rgb),.75),rgba(var(--panel-rgb),.05) 65%)}
.cs-cover .ic{width:78px;height:78px;stroke-width:1;color:rgba(255,255,255,.75);position:relative;z-index:1}
.cs-cover .vid-play{opacity:1;transform:scale(1);width:74px;height:74px}
.cs-cover .vid-play svg{width:24px;height:24px}
.cs-cover-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.cs-wide{margin:2.4rem 0;border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--line)}
.cs-wide img{display:block;width:100%;height:auto}
.cs-wide figcaption{padding:.9rem 1.2rem;font-size:.86rem;line-height:1.55;color:var(--muted);background:var(--glass)}
.cs-flow{margin:2rem 0 .5rem}
.cs-flow figure{margin:0 0 1.15rem;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);background:var(--glass)}
.cs-flow img{display:block;width:100%;height:auto}
.cs-flow figcaption{padding:.8rem 1.1rem;font-size:.86rem;line-height:1.55;color:var(--muted)}
.cs-pair{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem;margin-bottom:1.15rem}
.cs-pair figure{margin:0}
@media(max-width:820px){.cs-pair{grid-template-columns:1fr;gap:0}}
.cs-gal{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;margin:2rem 0 .5rem}
.cs-gal figure{margin:0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);background:var(--glass)}
.cs-gal img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.cs-gal figcaption{padding:.75rem .95rem;font-size:.83rem;line-height:1.5;color:var(--muted)}
.cs-films{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;margin-top:1.4rem}
.cs-film{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);
  background:var(--glass);cursor:pointer;transition:border-color .16s,transform .16s}
.cs-film:hover{border-color:var(--line-hi);transform:translateY(-4px)}
.cs-film-th{position:relative;aspect-ratio:16/9;overflow:hidden}
.cs-film-th img{display:block;width:100%;height:100%;object-fit:cover}
.cs-film-th .vid-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);opacity:1;width:54px;height:54px}
.cs-film-th .vid-play svg{width:18px;height:18px}
.cs-film-b{padding:.9rem 1.1rem 1rem}
.cs-film-b h5{font-size:1rem;margin:0 0 .25rem;font-weight:700}
.cs-film-b p{font-size:.85rem;line-height:1.5;color:var(--muted);margin:0}
.cs-film-d{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--teal,#02CCD0);margin-top:.5rem}
.cs-note{border-left:3px solid var(--teal,#02CCD0);padding:.2rem 0 .2rem 1.1rem;margin:1.6rem 0;
  font-size:.98rem;line-height:1.65;color:var(--muted);font-style:italic}
@media(max-width:820px){.cs-gal,.cs-films{grid-template-columns:1fr}}
.cs-bar{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:-1px;
  background:var(--glass);border:1px solid var(--line);border-radius:0 0 var(--r-lg) var(--r-lg);overflow:hidden;
}
.cs-bar div{padding:1.3rem 1.4rem;border-right:1px solid var(--line)}
.cs-bar div:last-child{border-right:none}
.cs-bar-l{font-size:.65rem;color:var(--w28);text-transform:uppercase;letter-spacing:.16em;margin-bottom:.3rem}
.cs-bar-v{font-size:.92rem;font-weight:700;color:var(--white)}
.cs-res{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;margin-top:2rem}
.cs-r{
  background:linear-gradient(150deg,rgba(20,222,167,.08),rgba(54,33,124,.3));
  border:1px solid rgba(20,222,167,.25);border-radius:var(--r-lg);padding:1.5rem;text-align:center;
}
.cs-r-n{font-family:var(--head);font-size:2.1rem;color:var(--green);line-height:1;margin-bottom:.4rem}
.cs-r-l{font-size:.75rem;color:var(--w55);line-height:1.5}
.cs-sec{display:grid;grid-template-columns:200px 1fr;gap:2.5rem;padding:2.2rem 0;border-bottom:1px solid rgba(2,204,208,.09)}
.cs-sec:last-child{border-bottom:none}
.cs-sec-h{font-family:var(--head);font-size:1.15rem;color:var(--teal);line-height:1.3}
.cs-sec-b p{font-size:.97rem;line-height:1.9;color:var(--w70);margin-bottom:1rem}
.cs-sec-b p:last-child{margin-bottom:0}
.cs-sec-b ul{display:flex;flex-direction:column;gap:.6rem;margin-top:.4rem}
.cs-sec-b li{display:flex;gap:.7rem;font-size:.93rem;color:var(--w70);line-height:1.7}
.cs-sec-b li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--teal);flex-shrink:0;margin-top:.62rem}

.cs-card{
  background:var(--glass);border:1px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;transition:.36s var(--ease);cursor:pointer;display:block;
}
.cs-card:hover{transform:translateY(-8px);border-color:var(--line-hi);box-shadow:var(--glow),0 28px 62px rgba(0,0,0,.35)}
.cs-th{aspect-ratio:16/10;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.cs-th::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(var(--panel-rgb),.78),rgba(var(--panel-rgb),.05) 62%)}
.cs-th .ic{width:56px;height:56px;stroke-width:1.1;color:rgba(255,255,255,.8);position:relative;z-index:1}
.cs-tag{
  position:absolute;top:.8rem;left:.8rem;z-index:3;background:rgba(var(--panel-rgb),.85);
  border:1px solid var(--line-hi);border-radius:60px;padding:.22rem .7rem;
  font-size:.63rem;font-weight:800;color:var(--teal);text-transform:uppercase;letter-spacing:.12em;
}
.cs-b{padding:1.5rem}
.cs-cl{font-size:.67rem;font-weight:800;color:var(--teal);text-transform:uppercase;letter-spacing:.18em;margin-bottom:.45rem}
.cs-t{font-family:var(--head);font-size:1.08rem;line-height:1.3;margin-bottom:.6rem}
.cs-e{font-size:.83rem;color:var(--w40);line-height:1.7;margin-bottom:1rem}
.cs-mini{display:flex;gap:1.3rem;padding-top:.95rem;border-top:1px solid rgba(2,204,208,.1)}
.cs-mini-n{font-family:var(--head);font-size:1.1rem;color:var(--green);line-height:1}
.cs-mini-l{font-size:.63rem;color:var(--w28);margin-top:.15rem}
.cs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.cs-feat{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}

/* Bilde fra filmen i kortene, og et kort klipp som spilles under musepekeren.
   Fargeflaten (.th1 …) ligger igjen bak som reserve hvis bildet mangler.
   Klippet lages først ved første hover (se prevStart), så ingenting lastes før noen vil se det. */
.cs-img,.vid-img,.prev-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
/* 3 % forstørret i hvile: kildebildene har noen ganger en hårstrek i kanten, og den skal ikke synes */
.cs-img,.vid-img{transform:scale(1.03);transition:transform .8s var(--ease)}
.cs-card:hover .cs-img,.vid:hover .vid-img{transform:scale(1.09)}
.prev-video{opacity:0;transition:opacity .4s ease;pointer-events:none}
.prev-pa .prev-video{opacity:1}
.has-img .ic{opacity:0}
@media(prefers-reduced-motion:reduce){
  .cs-img,.vid-img{transition:none}
  .cs-card:hover .cs-img,.vid:hover .vid-img{transform:scale(1.03)}
}

/* ══════════════════════════════════════════════════════════════════
   VIDEO LIGHTBOX
   ══════════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════
   AMBASSADØRPROGRAM
   ══════════════════════════════════════════════════════════════ */
.amb-wrap{max-width:940px;margin:0 auto;padding:clamp(4.5rem,9vw,7rem) clamp(1rem,4vw,2rem) 6rem}
.amb-hero{text-align:center;margin-bottom:3rem}
.amb-hero h1{font-size:clamp(2.1rem,5.5vw,3.4rem);line-height:1.08;margin:.8rem 0 1.2rem}
.amb-hero .lead{max-width:640px;margin:0 auto;color:var(--w70);font-size:1.02rem;line-height:1.8}

.amb-trapp{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-bottom:2.5rem}
.amb-t{padding:1.4rem 1.2rem;text-align:center;border-radius:var(--r);
  background:var(--glass);border:1px solid var(--line)}
.amb-t:first-child{border-color:var(--line-hi);background:rgba(2,204,208,.06)}
.amb-t-p{font-family:var(--head);font-size:1.9rem;color:var(--teal);line-height:1}
.amb-t-n{font-size:.86rem;font-weight:700;margin:.45rem 0 .2rem}
.amb-t-k{font-size:.73rem;color:var(--w40);line-height:1.5}

.amb-vilkar{padding:1.8rem clamp(1.2rem,4vw,2.2rem);border-radius:var(--r-xl);
  background:var(--glass);border:1px solid var(--line);margin-bottom:2.5rem}
.amb-vilkar h3{font-size:1.1rem;margin-bottom:1.1rem}
.amb-vilkar ol{margin:0;padding-left:1.3rem;display:flex;flex-direction:column;gap:.85rem}
.amb-vilkar li{font-size:.9rem;line-height:1.75;color:var(--w70)}
.amb-vilkar li b{color:var(--white)}
.amb-fin{font-size:.84rem;line-height:1.75;color:var(--w55);margin-top:1.3rem;
  padding-top:1.2rem;border-top:1px solid var(--line)}
.amb-form{margin-bottom:2rem}
.amb-form h3{font-size:1.15rem;margin-bottom:1.3rem}
.hint-i{display:block;font-size:.72rem;color:var(--w40);font-weight:400;margin-top:.15rem}

/* Hvem passer / passer ikke */
.amb-hvem{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:2.5rem}
.amb-hvem-c{padding:1.4rem 1.5rem;border-radius:var(--r);border:1px solid var(--line);background:var(--glass)}
.amb-hvem-c.ja{border-color:rgba(20,222,167,.25);background:rgba(20,222,167,.04)}
.amb-hvem-c.nei{border-color:rgba(253,108,125,.2);background:rgba(253,108,125,.04)}
.amb-hvem-c h4{font-size:.92rem;margin-bottom:.8rem}
.amb-hvem-c.ja h4{color:var(--green)}
.amb-hvem-c.nei h4{color:var(--coral)}
.amb-hvem-c ul{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.5rem}
.amb-hvem-c li{font-size:.84rem;line-height:1.65;color:var(--w70)}

/* Stegvis søknad */
.amb-stegvis{display:flex;gap:.4rem;margin-bottom:1.8rem;flex-wrap:wrap}
.amb-sn{display:flex;align-items:center;gap:.5rem;padding:.5rem .9rem;border-radius:60px;
  font-size:.78rem;font-weight:600;color:var(--w40);background:rgba(var(--panel-rgb),.5);
  border:1px solid var(--line);transition:.25s}
.amb-sn span{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;
  background:rgba(255,255,255,.08);font-size:.68rem;font-weight:800;flex-shrink:0}
.amb-sn.on{color:var(--white);border-color:var(--teal);background:rgba(2,204,208,.1)}
.amb-sn.on span{background:var(--teal);color:var(--bg-deeper)}
.amb-sn.done{color:var(--green);border-color:rgba(20,222,167,.3)}
.amb-sn.done span{background:var(--green);color:var(--bg-deeper)}

.amb-panel{display:none}
.amb-panel.on{display:block;animation:ambIn .3s var(--ease)}
@keyframes ambIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.amb-panel h3{font-size:1.15rem;margin-bottom:.5rem}
.amb-panel .fg{margin-bottom:1.6rem}
.amb-panel .fg label{margin-bottom:.7rem;display:block}
.amb-nav{display:flex;justify-content:space-between;gap:.7rem;margin-top:1.8rem;
  padding-top:1.4rem;border-top:1px solid var(--line)}

.amb-radio{display:flex;flex-direction:column;gap:.6rem}
.amb-rb{display:block;width:100%;text-align:left;padding:1.05rem 1.2rem;border-radius:13px;cursor:pointer;
  background:rgba(var(--panel-rgb),.5);border:1px solid var(--line);transition:.2s;font-family:var(--body)}
.amb-rb:hover{border-color:var(--line-hi)}
.amb-rb.on{border-color:var(--teal);background:rgba(2,204,208,.09)}
.amb-rb b{display:block;font-size:.92rem;font-weight:600;color:var(--white);line-height:1.45}
.amb-rb span{display:block;font-size:.78rem;color:var(--w40);margin-top:.3rem;line-height:1.6}
.amb-rb.on b{color:var(--teal)}

.amb-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.amb-chip{padding:.6rem 1.05rem;border-radius:60px;font-size:.82rem;font-weight:600;cursor:pointer;
  background:rgba(var(--panel-rgb),.5);border:1px solid var(--line);color:var(--w55);transition:.2s;font-family:var(--body)}
.amb-chip:hover{border-color:var(--line-hi);color:var(--white)}
.amb-chip.on{background:rgba(2,204,208,.14);border-color:var(--teal);color:var(--teal)}
.amb-tell{font-size:.72rem;color:var(--w28);margin-top:.4rem;text-align:right}

.amb-sum-box{padding:1.1rem 1.3rem;border-radius:var(--r);margin-bottom:1.4rem;
  background:rgba(2,204,208,.05);border:1px solid var(--line-hi)}
.amb-agree{display:flex;gap:.8rem;align-items:flex-start;padding:.9rem 1.1rem;border-radius:11px;
  margin-bottom:.6rem;cursor:pointer;background:rgba(var(--panel-rgb),.5);border:1px solid var(--line);transition:.2s}
.amb-agree:hover{border-color:var(--line-hi)}
.amb-agree.on{border-color:var(--teal);background:rgba(2,204,208,.07)}
.amb-agree .bx2{display:grid;place-items:center;width:19px;height:19px;border-radius:5px;flex-shrink:0;
  margin-top:.1rem;border:1.5px solid var(--w28);font-size:.7rem;color:var(--bg-deeper);font-weight:800}
.amb-agree.on .bx2{background:var(--teal);border-color:var(--teal)}
.amb-agree span{font-size:.82rem;line-height:1.65;color:var(--w70)}

/* Vurdering i admin */
.amb-vurd{display:flex;align-items:center;gap:.55rem;margin-top:.5rem}
.amb-vb{flex:1;max-width:130px;height:5px;border-radius:60px;background:rgba(255,255,255,.08);overflow:hidden}
.amb-vb i{display:block;height:100%;border-radius:60px}
.amb-vt{font-size:.7rem;font-weight:700}
.amb-vt.sterk{color:var(--green)} .amb-vb.sterk i{background:var(--green)}
.amb-vt.ok{color:var(--orange)}   .amb-vb.ok i{background:var(--orange)}
.amb-vt.svak{color:var(--w40)}    .amb-vb.svak i{background:var(--w40)}
.amb-tag{display:inline-block;font-size:.68rem;font-weight:600;padding:.15rem .55rem;border-radius:60px;
  background:rgba(2,204,208,.1);color:var(--teal);margin:.15rem .2rem 0 0}
.amb-tag.grå{background:rgba(255,255,255,.06);color:var(--w40)}

.amb-inn{padding:1.5rem clamp(1.2rem,4vw,2rem);border-radius:var(--r-xl);
  background:rgba(var(--panel-rgb),.5);border:1px dashed var(--line-hi);text-align:center}
.amb-inn h3{font-size:1rem;margin-bottom:.35rem}
.amb-inn p{font-size:.84rem;color:var(--w40);margin-bottom:1rem}
.amb-inn-r{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}
.amb-inn-r input{
  width:190px;text-align:center;letter-spacing:.26em;text-transform:uppercase;font-weight:700;
  background:rgba(var(--panel-rgb),.7);border:1px solid var(--line-hi);border-radius:11px;
  padding:.8rem 1rem;color:var(--white);outline:none;font-family:var(--body);
}
.amb-inn-r input:focus{border-color:var(--teal)}

/* ── Dashbord ─────────────────────────────────────────────────── */
.amb-topp{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1.8rem;flex-wrap:wrap}
.amb-topp h1{font-size:clamp(1.9rem,4.5vw,2.6rem);line-height:1.1;margin:.5rem 0 .7rem}
.amb-niva{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;font-size:.88rem;color:var(--w70)}
.amb-badge{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  padding:.25rem .7rem;border-radius:60px;background:rgba(2,204,208,.16);color:var(--teal)}
.amb-badge.pause{background:rgba(255,255,255,.08);color:var(--w40)}
.amb-varsel{padding:1rem 1.2rem;border-radius:var(--r);margin-bottom:1.4rem;font-size:.85rem;line-height:1.7;
  background:rgba(255,161,67,.08);border:1px solid rgba(255,161,67,.3);color:var(--w70)}

.amb-neste{padding:1.1rem 1.3rem;border-radius:var(--r);margin-bottom:1.4rem;
  background:rgba(2,204,208,.06);border:1px solid var(--line-hi)}
.amb-neste b{display:block;font-size:.92rem;margin-bottom:.15rem}
.amb-neste span{font-size:.78rem;color:var(--w40)}
.amb-bar{height:5px;border-radius:60px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:.8rem}
.amb-bar i{display:block;height:100%;border-radius:60px;background:linear-gradient(90deg,var(--teal),var(--green))}

.amb-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-bottom:1.4rem}
.amb-k{padding:1.2rem 1.1rem;border-radius:var(--r);background:var(--glass);border:1px solid var(--line)}
.amb-k.ok{border-color:rgba(20,222,167,.3);background:rgba(20,222,167,.06)}
.amb-k-n{font-family:var(--head);font-size:1.7rem;line-height:1}
.amb-k.ok .amb-k-n{color:var(--green);font-size:1.35rem}
.amb-k-l{font-size:.72rem;color:var(--w40);margin-top:.35rem;line-height:1.45}

.amb-kort{padding:1.5rem clamp(1.1rem,3.5vw,1.8rem);border-radius:var(--r-xl);
  background:var(--glass);border:1px solid var(--line);margin-bottom:1rem}
.amb-kort h3{font-size:1.02rem;margin-bottom:.9rem}
.amb-hj{font-size:.8rem;color:var(--w40);line-height:1.7}
.amb-tom{font-size:.86rem;color:var(--w40);line-height:1.7}

.amb-lenke{display:flex;gap:.5rem;margin:.9rem 0}
.amb-lenke input{
  flex:1;min-width:0;background:rgba(var(--panel-rgb),.7);border:1px solid var(--line-hi);border-radius:11px;
  padding:.75rem .95rem;color:var(--teal);outline:none;font-size:.84rem;font-family:var(--body);
}
.amb-lenke.sm input{font-size:.75rem;padding:.6rem .8rem}
.amb-sider{display:flex;flex-wrap:wrap;gap:.35rem}
.amb-sb{padding:.4rem .8rem;border-radius:60px;font-size:.76rem;font-weight:600;cursor:pointer;
  background:transparent;border:1px solid var(--line);color:var(--w40);transition:.2s;font-family:var(--body)}
.amb-sb:hover{border-color:var(--line-hi);color:var(--white)}
.amb-sb.on{background:rgba(2,204,208,.14);border-color:var(--teal);color:var(--teal)}
.amb-kode{font-size:.78rem;color:var(--w40);margin-top:.9rem}
.amb-kode b{color:var(--white);letter-spacing:.15em}

.amb-trakt{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}
.amb-s{padding:1rem .8rem;border-radius:var(--r);text-align:center;
  background:rgba(var(--panel-rgb),.45);border:1px solid var(--line)}
.amb-s-n{font-family:var(--head);font-size:1.5rem;line-height:1;color:var(--teal)}
.amb-s-t{font-size:.75rem;font-weight:600;margin-top:.35rem}
.amb-s-k{font-size:.68rem;color:var(--w40);margin-top:.2rem;line-height:1.4}

.amb-liste{display:flex;flex-direction:column;gap:.45rem}
.amb-l{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.85rem 1rem;border-radius:var(--r);background:rgba(var(--panel-rgb),.45);
  border:1px solid var(--line);border-left:3px solid var(--w28)}
.amb-l.ok{border-left-color:var(--green)}
.amb-l.tilbud{border-left-color:var(--orange)}
.amb-l.mote{border-left-color:var(--blue-br,#3768EE)}
.amb-l.nei{border-left-color:var(--coral);opacity:.6}
.amb-l-n{font-size:.88rem;font-weight:700;line-height:1.3}
.amb-l-s{font-size:.75rem;color:var(--w40);margin-top:.15rem}
.amb-l-d{text-align:right;flex-shrink:0}
.amb-l-p{display:block;font-size:.68rem;font-weight:700;color:var(--w55)}
.amb-l-dt{font-size:.7rem;color:var(--w28)}

.amb-sum{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:1rem}
.amb-sum>div{padding:1rem 1.1rem;border-radius:var(--r);background:rgba(var(--panel-rgb),.45);border:1px solid var(--line)}
.amb-sum>div.ok{border-color:rgba(20,222,167,.3);background:rgba(20,222,167,.06)}
.amb-sum span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--w40);margin-bottom:.3rem}
.amb-sum b{font-family:var(--head);font-size:1.25rem;font-weight:400}
.amb-sum>div.ok b{color:var(--green)}
.amb-sum>div.vent b{color:var(--orange)}
.amb-plinjer{display:flex;flex-direction:column;gap:.3rem}
.amb-p{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.6rem 0;border-bottom:1px solid rgba(2,204,208,.07)}
.amb-p:last-child{border:none}
.amb-p-k{font-size:.85rem;font-weight:600}
.amb-p-s{font-size:.72rem;color:var(--w40);margin-top:.1rem}
.amb-p-b{font-family:var(--head);font-size:.98rem;flex-shrink:0}
.amb-p-b.ok{color:var(--green)}
.amb-p-b.vent{color:var(--orange)}
.amb-p-b.nei{color:var(--w28)}

/* Admin */
.amb-mot{font-size:.78rem;color:var(--w55);line-height:1.6;margin-top:.4rem;font-style:italic}
.amb-kd{display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.14em;
  padding:.1rem .5rem;border-radius:5px;background:rgba(2,204,208,.14);color:var(--teal);margin-left:.5rem}
.amb-sats{display:inline-block;font-size:.68rem;font-weight:700;padding:.1rem .5rem;border-radius:5px;
  background:rgba(255,255,255,.07);color:var(--w55);margin-left:.3rem}
.amb-sats.egen{background:rgba(255,161,67,.16);color:var(--orange)}
.amb-kjent{display:inline-block;font-size:.65rem;font-weight:700;padding:.1rem .5rem;border-radius:5px;
  background:rgba(255,161,67,.16);color:var(--orange);margin-left:.4rem}

@media(max-width:820px){
  .amb-trapp{grid-template-columns:1fr}
  .amb-kpi{grid-template-columns:1fr 1fr}
  .amb-trakt{grid-template-columns:1fr 1fr 1fr}
  .amb-sum{grid-template-columns:1fr}
}
@media(max-width:520px){
  .amb-trakt{grid-template-columns:1fr 1fr}
  .amb-l{flex-direction:column;align-items:flex-start;gap:.5rem}
  .amb-l-d{text-align:left}
}

/* ══════════════════════════════════════════════════════════════
   BRØNNØYSUND-OPPSLAG
   ══════════════════════════════════════════════════════════════ */
.brreg-wrap{position:relative}
input.brreg-ok{border-color:rgba(20,222,167,.5) !important}
.brreg-liste{
  display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:600;
  max-height:290px;overflow-y:auto;padding:.35rem;
  background:rgba(var(--bgdeep-rgb),.985);border:1px solid var(--line-hi);border-radius:12px;
  box-shadow:0 22px 60px rgba(0,0,0,.5);backdrop-filter:blur(18px);
}
.brreg-liste.on{display:block}
.brreg-tr{
  display:block;width:100%;text-align:left;padding:.6rem .75rem;border:none;border-radius:8px;
  background:transparent;cursor:pointer;transition:background .15s;font-family:var(--body);
}
.brreg-tr:hover,.brreg-tr.on{background:rgba(2,204,208,.12)}
.brreg-n{display:block;font-size:.88rem;font-weight:600;color:var(--white);line-height:1.35}
.brreg-m{display:block;font-size:.72rem;color:var(--w40);margin-top:.12rem}

/* Firmakort i admin */
.bd-kort{
  padding:1rem 1.15rem;border-radius:var(--r);margin-bottom:1rem;
  background:rgba(2,204,208,.05);border:1px solid var(--line-hi);
}
.bd-topp{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;margin-bottom:.8rem}
.bd-navn{font-size:.95rem;font-weight:700;line-height:1.3}
.bd-org{font-family:var(--head);font-size:.86rem;color:var(--teal);margin-top:.15rem}
.bd-rad{display:flex;justify-content:space-between;gap:1rem;font-size:.78rem;padding:.3rem 0;border-bottom:1px solid rgba(2,204,208,.07)}
.bd-rad:last-of-type{border:none}
.bd-rad span{color:var(--w40);flex-shrink:0}
.bd-rad b{color:var(--w70);font-weight:600;text-align:right}
.bd-flagg{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.7rem}
.bd-f{font-size:.68rem;font-weight:700;padding:.2rem .6rem;border-radius:60px;letter-spacing:.02em}
.bd-f.ok{background:rgba(20,222,167,.14);color:var(--green)}
.bd-f.nei{background:rgba(255,255,255,.07);color:var(--w40)}
.bd-f.fare{background:rgba(253,108,125,.18);color:var(--coral)}
.bd-tom{font-size:.8rem;color:var(--w40);line-height:1.6}


/* ── Ambassadør: regnestykke, demo og delbart innhold ────────── */
.amb-regne{
  padding:1.8rem clamp(1.2rem,4vw,2.2rem);border-radius:var(--r-xl);margin-bottom:1rem;
  background:linear-gradient(135deg,rgba(2,204,208,.1),rgba(54,33,124,.35));
  border:1px solid var(--line-hi);
}
.amb-regne h3{font-size:1.15rem;margin-bottom:.4rem}
.amb-regne>p{font-size:.86rem;line-height:1.75;color:var(--w70);margin-bottom:1.4rem;max-width:60ch}
.amb-r-tall{font-size:.84rem;color:var(--w55);margin-bottom:.2rem}
.amb-r-tall span{font-family:var(--head);font-size:1.5rem;font-weight:800;color:var(--white);margin-right:.4rem}
.amb-r-ut{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:1.3rem}
.amb-r-k{padding:1rem 1.1rem;border-radius:var(--r);background:rgba(var(--panel-rgb),.45);border:1px solid var(--line)}
.amb-r-k.stor{border-color:var(--teal);background:rgba(2,204,208,.12)}
.amb-r-l{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--w40);margin-bottom:.3rem}
.amb-r-v{font-family:var(--head);font-size:1.35rem;font-weight:800;line-height:1}
.amb-r-k.stor .amb-r-v{color:var(--teal);font-size:1.6rem}
.amb-r-fin{font-size:.72rem;color:var(--w28);margin-top:1rem;line-height:1.6}
.amb-t-e{font-size:.7rem;color:var(--teal);font-weight:700;margin-top:.5rem;
  padding-top:.5rem;border-top:1px solid var(--line)}
.amb-t-e span{color:var(--w28);font-weight:400}

.amb-demo-info{
  margin-top:1.6rem;padding:1.1rem 1.3rem;border-radius:var(--r);text-align:left;
  background:rgba(255,161,67,.08);border:1px solid rgba(255,161,67,.3);
}
.amb-demo-info b{display:block;font-size:.9rem;color:var(--orange);margin-bottom:.35rem}
.amb-demo-info span{font-size:.83rem;line-height:1.75;color:var(--w70)}
.amb-demo-merke{
  display:inline-block;margin:2rem 0 1rem;padding:.4rem .95rem;border-radius:60px;
  font-size:.72rem;font-weight:700;letter-spacing:.06em;
  background:rgba(255,161,67,.16);color:var(--orange);
}
.amb-innhold{margin-top:1.4rem;padding-top:1.3rem;border-top:1px solid var(--line)}
.amb-innhold h4{font-size:.95rem;margin-bottom:.35rem}
.amb-innhold>p{font-size:.79rem;color:var(--w40);line-height:1.7;margin-bottom:.9rem}
.amb-inn-r2{
  display:flex;align-items:center;gap:.8rem;padding:.65rem .85rem;margin-bottom:.4rem;
  border-radius:10px;background:rgba(var(--panel-rgb),.45);border:1px solid var(--line);
}
.amb-inn-t{font-size:.84rem;font-weight:600;line-height:1.35}
.amb-inn-u{font-size:.71rem;color:var(--w40);margin-top:.1rem}
.amb-inn-r2>div:first-child{flex:1;min-width:0}
.amb-inn-k{
  flex-shrink:0;padding:.35rem .8rem;border-radius:60px;font-size:.72rem;font-weight:600;
  cursor:pointer;background:rgba(2,204,208,.12);border:1px solid var(--line-hi);color:var(--teal);
  font-family:var(--body);transition:.2s;
}
.amb-inn-k:hover{background:rgba(2,204,208,.25)}
@media(max-width:640px){ .amb-r-ut{grid-template-columns:1fr} }

/* ── Briefens nye felter ─────────────────────────────────────── */
.fg-v{float:right;font-weight:700;color:var(--teal);font-size:.82rem}
.skala{
  -webkit-appearance:none;appearance:none;width:100%;height:5px;border-radius:60px;outline:none;
  background:linear-gradient(90deg,var(--teal),var(--green));margin:.7rem 0 .35rem;cursor:pointer;
}
.skala::-webkit-slider-thumb{
  -webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--white);
  border:3px solid var(--teal);cursor:grab;box-shadow:0 3px 10px rgba(0,0,0,.35);
}
.skala::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--white);
  border:3px solid var(--teal);cursor:grab}
.skala:disabled{opacity:.35;cursor:not-allowed}
.skala-m{display:flex;justify-content:space-between;font-size:.68rem;color:var(--w28)}
.fg-hake{display:flex;align-items:center;gap:.45rem;margin-top:.6rem;font-size:.8rem;
  color:var(--w55);cursor:pointer;font-weight:400}
/* Egen avkryssingsboks. Nettleserens egen blir nesten usynlig mot
   den mørke bakgrunnen, så vi tegner den selv med en tydelig hake. */
.fg-hake input{
  -webkit-appearance:none;appearance:none;flex-shrink:0;position:relative;
  width:21px;height:21px;border-radius:6px;cursor:pointer;
  border:2px solid var(--w28);background:rgba(var(--panel-rgb),.5);
  transition:background .18s var(--ease),border-color .18s var(--ease);
}
.fg-hake:hover input{border-color:var(--line-hi)}
.fg-hake input:checked{background:var(--teal);border-color:var(--teal)}
.fg-hake input:checked::after{
  content:'';position:absolute;left:6px;top:2px;width:5px;height:10px;
  border:solid var(--bg-deeper);border-width:0 2.5px 2.5px 0;transform:rotate(45deg);
}
.fg-hake input:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.fg-hake:has(input:checked){color:var(--white);font-weight:600}
.spenn{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.spenn input{flex:1;min-width:110px}
.spenn>span{color:var(--w40);font-size:.9rem}
.spenn-e{font-size:.76rem;color:var(--w28);white-space:nowrap}
.vedlegg-felt{
  display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:1.5rem 1rem;
  border-radius:var(--r);border:1.5px dashed var(--line-hi);background:rgba(2,204,208,.04);
  cursor:pointer;text-align:center;transition:.2s;
}
.vedlegg-felt:hover,.vedlegg-felt.over{border-color:var(--teal);background:rgba(2,204,208,.09)}
.vedlegg-felt svg{width:26px;height:26px;color:var(--teal);margin-bottom:.3rem}
.vedlegg-felt b{font-size:.86rem;font-weight:600}
.vedlegg-felt span{font-size:.74rem;color:var(--w40)}
.vedlegg-liste{display:flex;flex-direction:column;gap:.35rem;margin-top:.6rem}
.vedlegg-rad{
  display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;border-radius:9px;
  background:rgba(var(--panel-rgb),.5);border:1px solid var(--line);font-size:.8rem;
}
.vedlegg-rad svg{width:16px;height:16px;color:var(--teal);flex-shrink:0}
.vedlegg-rad b{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vedlegg-rad span{font-size:.72rem;color:var(--w28);flex-shrink:0}
.vedlegg-rad button{background:none;border:none;color:var(--coral);cursor:pointer;font-size:.85rem;padding:0 .2rem}
input[type=date]{color-scheme:dark}
[data-theme="light"] input[type=date]{color-scheme:light}

/* ── Notater ─────────────────────────────────────────────────── */
.nt-ny{padding:.85rem;border-radius:11px;margin-bottom:.9rem;
  background:rgba(2,204,208,.05);border:1px dashed var(--line-hi)}
.nt-ny textarea{
  width:100%;min-height:62px;resize:vertical;border-radius:9px;padding:.55rem .7rem;
  background:rgba(var(--panel-rgb),.6);border:1px solid var(--line);color:var(--white);
  font-family:var(--body);font-size:.84rem;line-height:1.6;outline:none;
}
.nt-ny textarea:focus{border-color:var(--teal)}
.nt-rad{display:flex;align-items:center;gap:.55rem;margin-top:.55rem;flex-wrap:wrap}
.nt-rad label{font-size:.76rem;color:var(--w55);display:flex;align-items:baseline;gap:.35rem}
.nt-rad label span{font-size:.68rem;color:var(--w28)}
.nt-rad input[type=date]{
  border-radius:8px;padding:.4rem .6rem;font-size:.8rem;color-scheme:dark;
  background:rgba(var(--panel-rgb),.7);border:1px solid var(--line);color:var(--white);
  font-family:var(--body);outline:none;
}
.nt-rad input[type=date]:focus{border-color:var(--teal)}
.nt-rad .ad-btn{margin-left:auto}
.nt{display:flex;gap:.8rem;align-items:flex-start;padding:.7rem .85rem;margin-bottom:.45rem;
  border-radius:10px;background:var(--glass);border:1px solid var(--line);border-left:3px solid var(--w28)}
.nt.forfalt{border-left-color:var(--orange)}
.nt.gjort{opacity:.5;border-left-color:var(--green)}
.nt-b{flex:1;min-width:0}
.nt-t{font-size:.85rem;line-height:1.65;white-space:pre-wrap;word-break:break-word}
.nt-m{font-size:.7rem;color:var(--w40);margin-top:.3rem}
.nt-m b{color:var(--orange);font-weight:600}
.nt.gjort .nt-m b{color:var(--green)}
.nt-a{display:flex;gap:.3rem;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;max-width:160px}

/* ══════════════════════════════════════════════════════════════
   KOMMENTARLAG
   ──────────────────────────────────────────────────────────────
   Et lag over nettstedet der teamet kan feste kommentarer til
   det de faktisk peker på. Hver kommentar husker hvilken rute og
   hvilken adminvisning den ble laget i, så ingenting havner på
   feil side. Alt ligger i nettleseren til den som skriver, og
   hentes ut med Eksporter.
   ══════════════════════════════════════════════════════════════ */
#kmFab{
  position:fixed;left:1.4rem;bottom:1.4rem;z-index:9500;
  display:flex;align-items:stretch;border-radius:60px;overflow:hidden;
  border:1px solid rgba(2,204,208,.35);background:rgba(20,6,64,.94);
  backdrop-filter:blur(18px);box-shadow:0 14px 40px rgba(0,0,0,.45);transition:.22s var(--ease);
}
#kmFab:hover{border-color:var(--teal)}
#kmFab.pa{background:var(--coral);border-color:var(--coral)}
.km-fb{
  display:flex;align-items:center;gap:.5rem;padding:.7rem 1.05rem;cursor:pointer;
  background:none;border:none;color:var(--white);font-family:var(--body);
  font-size:.82rem;font-weight:600;transition:background .18s;white-space:nowrap;
}
.km-fb:hover{background:rgba(255,255,255,.09)}
#kmFab.pa .km-fb{color:#0C0328;font-weight:700}
#kmFab.pa .km-fb:hover{background:rgba(0,0,0,.1)}
.km-fb svg{width:17px;height:17px;flex-shrink:0}
.km-fdel{width:1px;background:rgba(255,255,255,.16);flex-shrink:0}
#kmFab.pa .km-fdel{background:rgba(0,0,0,.18)}
.km-fb .tall{
  display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:60px;
  background:var(--teal);color:#0C0328;font-family:var(--head);font-size:.66rem;font-weight:900;
}
#kmFab.pa .km-fb .tall{background:#0C0328;color:var(--coral)}
@media(max-width:700px){ .km-fb .txt{display:none} .km-fb{padding:.75rem .85rem} #kmFab{left:.9rem;bottom:.9rem} }

/* ── Vedlegg ────────────────────────────────────────────────── */
.km-ved{display:flex;flex-direction:column;gap:.5rem;margin-top:.6rem}
.km-v{
  display:flex;gap:.55rem;padding:.5rem;border-radius:10px;
  background:rgba(var(--panel-rgb),.5);border:1px solid var(--line);
}
.km-v img{
  width:62px;height:44px;object-fit:cover;border-radius:6px;flex-shrink:0;cursor:pointer;
  background:rgba(0,0,0,.3);
}
.km-v-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3rem}
.km-v-b input{
  width:100%;border-radius:7px;padding:.32rem .5rem;font-size:.7rem;
  background:rgba(var(--panel-rgb),.75);border:1px solid var(--line);color:var(--white);
  font-family:var(--body);outline:none;
}
.km-v-b input:focus{border-color:var(--teal)}
.km-v-n{font-size:.67rem;color:var(--w40);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.km-v-x{
  align-self:flex-start;width:22px;height:22px;border-radius:50%;flex-shrink:0;cursor:pointer;
  background:rgba(253,108,125,.15);border:none;color:var(--coral);font-size:.85rem;line-height:1;
}
.km-v-x:hover{background:rgba(253,108,125,.3)}
.km-legg{
  display:flex;align-items:center;gap:.5rem;margin-top:.55rem;font-size:.7rem;color:var(--w40);
}
.km-legg button{
  display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;border-radius:60px;
  font-size:.72rem;font-weight:600;cursor:pointer;font-family:var(--body);
  background:rgba(249,250,250,.07);border:1px solid rgba(249,250,250,.13);color:var(--white);
}
.km-legg button:hover{background:rgba(249,250,250,.15)}
.km-legg svg{width:13px;height:13px}

/* Bilder i kommentarkortet */
.km-kbilder{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}
.km-kbilder a,.km-kbilder img{
  width:56px;height:40px;object-fit:cover;border-radius:6px;cursor:pointer;display:block;
  border:1px solid var(--line);background:rgba(0,0,0,.3);
}
.km-klenke{font-size:.66rem;color:var(--teal);margin-top:.3rem;display:block;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Full visning */
#kmBilde{
  position:fixed;inset:0;z-index:9900;display:none;place-items:center;padding:2rem;
  background:rgba(6,1,22,.9);backdrop-filter:blur(10px);cursor:zoom-out;
}
#kmBilde.on{display:grid}
#kmBilde img{max-width:100%;max-height:86vh;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
#kmBilde .lenke{
  position:absolute;bottom:1.2rem;left:50%;transform:translateX(-50%);
  font-size:.78rem;color:var(--teal);background:rgba(20,6,64,.9);padding:.5rem 1rem;border-radius:60px;
}

/* Nåler */
#kmPins{position:absolute;top:0;left:0;width:0;height:0;z-index:9400}
.km-pin{
  position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;
  border-radius:50% 50% 50% 3px;transform:rotate(-45deg);cursor:pointer;
  background:var(--coral);border:2px solid rgba(12,3,40,.4);
  box-shadow:0 5px 16px rgba(0,0,0,.45);display:grid;place-items:center;
  transition:transform .18s var(--ease),background .18s;
}
.km-pin b{transform:rotate(45deg);font-family:var(--head);font-size:.7rem;font-weight:900;color:#0C0328}
.km-pin:hover{transform:rotate(-45deg) scale(1.15)}
.km-pin.valgt{background:var(--teal);transform:rotate(-45deg) scale(1.2);z-index:2}
.km-pin.opp{background:var(--green)}
.km-pin.omtrent{background:var(--orange)}

/* Skrivemodus */
body.km-modus{cursor:crosshair}
/* I skrivemodus skal ingenting på nettstedet reagere på klikk — men
   kommentarverktøyet selv må fortsatt virke. Begge reglene er !important,
   så den som slår gjennom avgjøres av spesifisitet. Derfor holdes den
   første regelen bevisst enkel: hadde den hatt :not(#…) ville den fått
   en id i spesifisiteten og vunnet over unntakene under. */
body.km-modus a,body.km-modus button,body.km-modus input,
body.km-modus select,body.km-modus textarea{pointer-events:none !important}
#kmFab,#kmPanel,#kmPanel *,#kmBoble,#kmBoble *,#kmLogin,#kmLogin *,
#kmEks,#kmEks *,#kmPins,.km-pin{pointer-events:auto !important}
#kmHjelp{
  position:fixed;left:50%;top:1rem;transform:translateX(-50%);z-index:9600;display:none;
  padding:.55rem 1.1rem;border-radius:60px;font-size:.8rem;font-weight:600;
  background:var(--coral);color:#0C0328;box-shadow:0 10px 30px rgba(0,0,0,.4);
}
body.km-modus #kmHjelp{display:block}

/* Skriveboble */
#kmBoble{
  position:absolute;z-index:9700;width:300px;padding:.9rem;border-radius:13px;display:none;
  background:rgba(20,6,64,.985);border:1px solid rgba(2,204,208,.35);
  box-shadow:0 22px 60px rgba(0,0,0,.6);backdrop-filter:blur(22px);
}
#kmBoble.on{display:block}
#kmBoble .sted{font-size:.66rem;color:var(--w40);margin-bottom:.5rem;line-height:1.5;word-break:break-all}
#kmBoble textarea{
  width:100%;min-height:80px;resize:vertical;border-radius:9px;padding:.6rem .7rem;
  background:rgba(var(--panel-rgb),.7);border:1px solid var(--line);color:var(--white);
  font-family:var(--body);font-size:.84rem;line-height:1.6;outline:none;
}
#kmBoble textarea:focus{border-color:var(--teal)}
.km-bb{display:flex;gap:.4rem;justify-content:flex-end;margin-top:.6rem}

/* Panel */
#kmPanel{
  position:fixed;left:1.4rem;bottom:5.2rem;z-index:9550;width:min(370px,calc(100vw - 2.8rem));
  max-height:min(72vh,640px);display:none;flex-direction:column;border-radius:16px;overflow:hidden;
  background:rgba(20,6,64,.985);border:1px solid rgba(2,204,208,.28);
  box-shadow:0 26px 70px rgba(0,0,0,.6);backdrop-filter:blur(22px);
}
#kmPanel.on{display:flex}
.km-topp{padding:.9rem 1rem .75rem;border-bottom:1px solid var(--line);flex-shrink:0}
.km-topp h3{font-size:.98rem;margin-bottom:.15rem}
.km-topp p{font-size:.72rem;color:var(--w40);line-height:1.5}
.km-hvem{display:flex;align-items:center;gap:.5rem;margin-top:.7rem}
.km-av{
  display:grid;place-items:center;width:26px;height:26px;border-radius:50%;flex-shrink:0;
  background:var(--teal);color:#0C0328;font-family:var(--head);font-size:.72rem;font-weight:900;
}
.km-hvem b{flex:1;font-size:.8rem;font-weight:600}
.km-faner{display:flex;gap:.25rem;margin-top:.75rem}
.km-fane{
  flex:1;padding:.4rem;border-radius:8px;font-size:.71rem;font-weight:600;text-align:center;
  color:var(--w40);background:rgba(249,250,250,.05);transition:.2s;cursor:pointer;border:none;
  font-family:var(--body);
}
.km-fane:hover{color:var(--white)}
.km-fane.on{background:rgba(2,204,208,.16);color:var(--teal)}
.km-liste{flex:1;overflow-y:auto;padding:.7rem;min-height:0}
.km-bunn{
  flex-shrink:0;display:flex;gap:.35rem;padding:.7rem;border-top:1px solid var(--line);flex-wrap:wrap;
}
.km-b{
  padding:.42rem .8rem;border-radius:60px;font-size:.73rem;font-weight:600;cursor:pointer;
  background:rgba(249,250,250,.07);border:1px solid rgba(249,250,250,.13);color:var(--white);
  transition:.2s;font-family:var(--body);
}
.km-b:hover{background:rgba(249,250,250,.15)}
.km-b.pri{background:var(--teal);border-color:var(--teal);color:#0C0328;font-weight:700}
.km-b.pri:hover{background:#15e3e7}
.km-b.fare{color:var(--coral);border-color:rgba(253,108,125,.3)}

.km-k{
  padding:.75rem .85rem;border-radius:10px;margin-bottom:.45rem;cursor:pointer;
  background:rgba(249,250,250,.05);border:1px solid transparent;border-left:3px solid var(--coral);
  transition:.18s;
}
.km-k:hover{background:rgba(249,250,250,.09)}
.km-k.valgt{border-color:rgba(2,204,208,.3);border-left-color:var(--teal);background:rgba(2,204,208,.09)}
.km-k.opp{opacity:.55;border-left-color:var(--green)}
.km-k.omtrent{border-left-color:var(--orange)}
.km-kt{display:flex;align-items:center;gap:.45rem;margin-bottom:.35rem}
.km-nr{
  display:grid;place-items:center;width:18px;height:18px;border-radius:50%;flex-shrink:0;
  background:var(--coral);color:#0C0328;font-family:var(--head);font-size:.63rem;font-weight:900;
}
.km-k.opp .km-nr{background:var(--green)}
.km-k.omtrent .km-nr{background:var(--orange)}
.km-kn{font-size:.77rem;font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.km-kd{font-size:.66rem;color:var(--w28);flex-shrink:0}
.km-kx{font-size:.8rem;line-height:1.6;color:var(--w70);word-break:break-word;white-space:pre-wrap}
.km-sti{
  display:inline-block;margin-top:.45rem;padding:.12rem .5rem;border-radius:60px;
  background:rgba(2,204,208,.1);color:var(--teal);font-size:.63rem;font-weight:600;
  max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.km-sti.adv{background:rgba(255,161,67,.15);color:var(--orange)}
.km-ka{display:flex;gap:.3rem;margin-top:.55rem;flex-wrap:wrap}
.km-svar{margin-top:.5rem;padding-left:.6rem;border-left:1px solid var(--line)}
.km-svar div{font-size:.74rem;line-height:1.55;color:var(--w70);margin-bottom:.25rem}
.km-svar b{color:var(--teal);font-weight:600}
.km-si{display:flex;gap:.3rem;margin-top:.45rem}
.km-si input{
  flex:1;min-width:0;border-radius:8px;padding:.38rem .55rem;font-size:.74rem;
  background:rgba(var(--panel-rgb),.6);border:1px solid var(--line);color:var(--white);
  font-family:var(--body);outline:none;
}
.km-gr{
  font-size:.62rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--w28);
  margin:.75rem .25rem .45rem;display:flex;align-items:center;gap:.5rem;
}
.km-gr:first-child{margin-top:.1rem}
.km-gr hr{flex:1;border:none;border-top:1px solid var(--line)}
.km-annen{
  display:flex;align-items:center;gap:.55rem;padding:.55rem .75rem;border-radius:9px;margin-bottom:.35rem;
  background:rgba(249,250,250,.03);border:1px dashed rgba(249,250,250,.12);
  font-size:.75rem;cursor:pointer;transition:.18s;
}
.km-annen:hover{border-color:rgba(2,204,208,.3);background:rgba(2,204,208,.06)}
.km-annen b{flex:1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.km-annen .tall{
  display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:60px;
  background:var(--coral);color:#0C0328;font-family:var(--head);font-size:.64rem;font-weight:900;
}
.km-tom{padding:1.6rem .8rem;text-align:center;font-size:.78rem;color:var(--w28);line-height:1.7}

/* Innlogging */
#kmLogin{
  position:fixed;inset:0;z-index:9800;display:none;place-items:center;padding:1.5rem;
  background:rgba(6,1,22,.82);backdrop-filter:blur(10px);
}
#kmLogin.on{display:grid}
.km-log{
  width:min(390px,100%);padding:1.6rem;border-radius:18px;text-align:center;
  background:rgba(20,6,64,.99);border:1px solid rgba(2,204,208,.3);box-shadow:0 30px 80px rgba(0,0,0,.6);
}
.km-log h3{font-size:1.1rem;margin-bottom:.4rem}
.km-log p{font-size:.82rem;color:var(--w55);line-height:1.65;margin-bottom:1.2rem}
.km-folk{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-bottom:1rem}
.km-folk button{
  padding:.5rem .95rem;border-radius:60px;font-size:.8rem;font-weight:600;cursor:pointer;
  background:rgba(249,250,250,.06);border:1px solid rgba(249,250,250,.13);color:var(--white);
  transition:.2s;font-family:var(--body);
}
.km-folk button:hover{border-color:var(--teal);background:rgba(2,204,208,.12)}
.km-log input{
  width:100%;border-radius:10px;padding:.65rem .8rem;font-size:.85rem;text-align:center;
  background:rgba(var(--panel-rgb),.7);border:1px solid var(--line);color:var(--white);
  font-family:var(--body);outline:none;margin-bottom:.7rem;
}
.km-log input:focus{border-color:var(--teal)}
.km-log .fin{font-size:.7rem;color:var(--w28);line-height:1.6;margin-top:1rem}

/* Eksportvindu */
#kmEks{
  position:fixed;inset:0;z-index:9800;display:none;place-items:center;padding:1.5rem;
  background:rgba(6,1,22,.82);backdrop-filter:blur(10px);
}
#kmEks.on{display:grid}
.km-eks{
  width:min(680px,100%);max-height:84vh;display:flex;flex-direction:column;border-radius:18px;overflow:hidden;
  background:rgba(20,6,64,.99);border:1px solid rgba(2,204,208,.3);box-shadow:0 30px 80px rgba(0,0,0,.6);
}
.km-eks-t{padding:1.1rem 1.3rem .9rem;border-bottom:1px solid var(--line)}
.km-eks-t h3{font-size:1.05rem;margin-bottom:.2rem}
.km-eks-t p{font-size:.78rem;color:var(--w40);line-height:1.6}
.km-eks textarea{
  flex:1;min-height:260px;resize:none;padding:1rem 1.2rem;border:none;outline:none;
  background:rgba(var(--panel-rgb),.55);color:var(--w70);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;line-height:1.65;
}
.km-eks-b{display:flex;gap:.4rem;padding:.8rem 1.2rem;border-top:1px solid var(--line);flex-wrap:wrap}

@media print{ #kmFab,#kmPanel,#kmPins,#kmBoble,#kmHjelp{display:none !important} }

/* ══════════════════════════════════════════════════════════════
   VIDEOVISNING — fullskjerm med ambient bakgrunn
   ──────────────────────────────────────────────────────────────
   Ingenting legger seg oppå filmen. All tekst ligger i en tynn
   stripe under bildet.
   ══════════════════════════════════════════════════════════════ */
/* Filmvinduet er mørkt i begge temaer, med vilje. En film ses best mot
   mørk bakgrunn, og den ambiente fargen fra plakatbildet krever det. */
#vv{
  position:fixed;inset:0;z-index:99996;display:none;
  background:#0C0328;overflow:hidden;
}
#vv.on{display:block;animation:vvIn .35s var(--ease)}
@keyframes vvIn{from{opacity:0}to{opacity:1}}

/* Ambient — miniatyrbildet blurret opp bak spilleren */
.vv-amb{position:absolute;inset:-12%;z-index:0}
.vv-amb-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:blur(90px) saturate(2.1) brightness(.85);transform:scale(1.15);
  opacity:0;transition:opacity .7s ease;
}
.vv-amb-img.on{opacity:.62}
.vv-amb-fall{position:absolute;inset:0;filter:blur(90px) saturate(1.6);opacity:.5;transition:opacity .6s ease}
.vv-amb-fall.skjul{opacity:0}
.vv-vign{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(120% 90% at 50% 45%, transparent 30%, rgba(var(--panel-rgb),.72) 100%)}

/* Scene */
.vv-scene{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;
  align-items:center;justify-content:center;padding:4.2rem 1rem 5rem}
.vv-kat{
  position:absolute;top:1.5rem;left:50%;transform:translateX(-50%);
  font-size:.82rem;font-weight:600;color:rgba(255,255,255,.9);text-align:center;
  display:flex;align-items:center;gap:.6rem;white-space:nowrap;
  text-shadow:0 2px 14px rgba(0,0,0,.55);
}
.vv-kat b{font-weight:700}
.vv-kat i{width:1px;height:13px;background:rgba(255,255,255,.32);display:block}

.vv-kol{width:min(1180px,94vw);display:flex;flex-direction:column}
.vv-boks{
  position:relative;width:100%;aspect-ratio:16/9;max-height:68vh;
  border-radius:14px 14px 0 0;overflow:hidden;background:#000;
  box-shadow:0 40px 120px rgba(0,0,0,.65), 0 0 0 1px rgba(255,255,255,.07);
}
.vv-boks iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vv-tom{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.7rem;text-align:center;padding:2rem;color:var(--w55)}
.vv-tom svg{width:42px;height:42px;color:var(--w28)}
.vv-tom h4{font-size:1.02rem;color:var(--white)}
.vv-tom p{font-size:.85rem;max-width:380px;line-height:1.65}

/* Fremdrift — rett under filmen, aldri oppå */
.vv-bar{height:2px;background:rgba(255,255,255,.14);flex-shrink:0}
.vv-bar i{display:block;height:100%;width:0;background:var(--teal);transition:width .25s linear}
.vv-bar.skjul{background:transparent}
.vv-bar.skjul i{width:0 !important}

/* Tekststripen */
.vv-strip{
  display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;
  padding:.85rem 1.15rem;border-radius:0 0 14px 14px;
  background:rgba(10,3,34,.78);backdrop-filter:blur(18px);
  box-shadow:0 24px 60px rgba(0,0,0,.4), 0 0 0 1px rgba(255,255,255,.06);
}
.vv-navn{min-width:0;display:flex;align-items:baseline;gap:.55rem;flex-wrap:wrap}
.vv-cl{font-size:.92rem;font-weight:700;line-height:1.35;white-space:nowrap}
.vv-sep{width:3px;height:3px;border-radius:50%;background:var(--w28);flex-shrink:0;align-self:center}
.vv-t{font-size:.87rem;color:rgba(255,255,255,.72);line-height:1.35}
.vv-d{font-size:.75rem;color:rgba(255,255,255,.42);white-space:nowrap;flex-shrink:0;
  font-variant-numeric:tabular-nums}

/* Knapper oppe til høyre */
.vv-topp{position:absolute;top:1.2rem;right:1.2rem;z-index:6;display:flex;flex-direction:column;gap:.5rem}
.vv-rb{
  display:grid;place-items:center;width:44px;height:44px;border-radius:50%;cursor:pointer;
  background:rgba(255,255,255,.1);border:none;color:#fff;
  backdrop-filter:blur(10px);transition:.2s;
}
.vv-rb:hover{background:rgba(255,255,255,.2)}
.vv-rb svg{width:19px;height:19px}
.vv-rb.x{font-size:1.15rem;line-height:1}

/* Piler — kommer først når man har beveget seg videre */
.vv-nav{
  position:absolute;right:1.2rem;bottom:1.6rem;z-index:6;display:flex;flex-direction:column;gap:.55rem;
  opacity:0;transform:translateY(10px);transition:.35s var(--ease);pointer-events:none;
}
.vv-nav.on{opacity:1;transform:none;pointer-events:auto}
.vv-nb{
  display:grid;place-items:center;width:44px;height:44px;border-radius:50%;cursor:pointer;
  background:rgba(255,255,255,.1);border:none;color:#fff;backdrop-filter:blur(10px);transition:.2s;
}
.vv-nb:hover:not(:disabled){background:rgba(2,204,208,.35)}
.vv-nb:disabled{opacity:.22;cursor:default}
.vv-nb svg{width:18px;height:18px;stroke:currentColor;stroke-width:2.4;fill:none;
  stroke-linecap:round;stroke-linejoin:round}
.vv-tell{position:absolute;left:1.4rem;top:1.5rem;z-index:6;font-size:.75rem;
  color:rgba(255,255,255,.45);font-variant-numeric:tabular-nums}

/* Veien videre */
.vv-cta{
  position:absolute;left:1.4rem;bottom:1.6rem;z-index:6;display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;
}
.vv-cb{
  display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.1rem;border-radius:60px;
  font-size:.8rem;font-weight:600;cursor:pointer;text-decoration:none;transition:.22s;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);color:#fff;
  backdrop-filter:blur(10px);font-family:var(--body);white-space:nowrap;
  max-width:340px;overflow:hidden;text-overflow:ellipsis;
}
.vv-cb:hover{background:rgba(255,255,255,.2)}
.vv-cb.pri{background:var(--teal);border-color:var(--teal);color:var(--bg-deeper);font-weight:700}
.vv-cb.pri:hover{background:#15e3e7}
.vv-cb.klar{border-color:var(--teal);background:rgba(2,204,208,.2);color:#fff;animation:vvPuls 2.4s ease-in-out infinite}
@keyframes vvPuls{0%,100%{box-shadow:0 0 0 0 rgba(2,204,208,0)}50%{box-shadow:0 0 0 5px rgba(2,204,208,.14)}}

@media(max-width:900px){
  .vv-scene{padding:3.4rem .6rem 5.4rem}
  .vv-kol{width:100%}
  .vv-boks{max-height:52vh;border-radius:11px 11px 0 0}
  .vv-strip{flex-direction:column;align-items:flex-start;gap:.3rem;padding:.7rem .9rem;border-radius:0 0 11px 11px}
  .vv-d{white-space:normal}
  .vv-topp{top:.7rem;right:.7rem;flex-direction:row}
  .vv-rb{width:40px;height:40px}
  .vv-tell{left:.9rem;top:1rem}
  .vv-nav{right:.6rem;bottom:.7rem;flex-direction:row}
  .vv-nb{width:40px;height:40px}
  .vv-cta{left:.6rem;bottom:.7rem;right:6rem}
  .vv-cb{padding:.55rem .85rem;font-size:.76rem;max-width:none}
}
@media(prefers-reduced-motion:reduce){
  #vv.on{animation:none}
  .vv-amb-img,.vv-amb-fall,.vv-nav,.vv-cta{transition:none}
  .vv-cb.klar{animation:none}
}

#lb{
  position:fixed;inset:0;z-index:99995;display:none;
  align-items:center;justify-content:center;padding:2rem;
  background:rgba(6,1,22,.93);backdrop-filter:blur(14px);
}
#lb.on{display:flex;animation:lbIn .3s var(--ease)}
@keyframes lbIn{from{opacity:0}to{opacity:1}}
.lb-box{
  width:min(1000px,100%);max-height:92vh;overflow-y:auto;
  background:rgba(var(--bgdeep-rgb),.96);border:1px solid var(--line-hi);border-radius:var(--r-xl);
  box-shadow:0 40px 120px rgba(0,0,0,.6);animation:lbUp .38s var(--ease);
}
@keyframes lbUp{from{transform:translateY(28px) scale(.97)}to{transform:none}}
.lb-frame{aspect-ratio:16/9;background:#000;position:relative;border-radius:var(--r-xl) var(--r-xl) 0 0;overflow:hidden}
.lb-frame iframe,.lb-frame video{width:100%;height:100%;border:0;display:block}
.lb-empty{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:1rem;text-align:center;padding:2rem;
  background:linear-gradient(140deg,#1E0A5F,#36217C 55%,#0F3BB4);
}
.lb-empty .ic{width:56px;height:56px;color:rgba(255,255,255,.55);stroke-width:1.2}
.lb-empty h4{font-family:var(--head);font-size:1.1rem}
.lb-empty p{font-size:.84rem;color:var(--w55);max-width:44ch;line-height:1.7}
.lb-empty code{
  font-family:ui-monospace,Menlo,monospace;font-size:.76rem;color:var(--teal);
  background:rgba(2,204,208,.1);padding:.2rem .5rem;border-radius:6px;
}
.lb-body{padding:1.6rem 1.8rem 1.8rem}
.lb-cl{font-size:.68rem;font-weight:800;color:var(--teal);text-transform:uppercase;letter-spacing:.18em;margin-bottom:.4rem}
.lb-t{font-family:var(--head);font-size:1.25rem;line-height:1.3;margin-bottom:.6rem}
.lb-d{font-size:.88rem;color:var(--w55);line-height:1.75;margin-bottom:1.4rem}
.lb-foot{
  display:flex;justify-content:space-between;align-items:center;gap:1.2rem;flex-wrap:wrap;
  padding-top:1.3rem;border-top:1px solid var(--line);
}
.lb-meta{display:flex;gap:1.4rem;flex-wrap:wrap}
.lb-meta div{font-size:.74rem;color:var(--w40)}
.lb-meta b{display:block;color:var(--white);font-size:.85rem;font-weight:700;margin-top:.1rem}
.lb-x{
  position:absolute;top:-46px;right:0;width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.1);border:1px solid var(--w14);color:var(--white);
  cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:.22s;
}
.lb-x:hover{background:var(--teal);color:var(--bg-deeper);border-color:var(--teal)}
.lb-wrap{position:relative;width:min(1000px,100%)}

/* ══════════════════════════════════════════════════════════════════
   VIDEOGALLERI (Arbeid)
   ══════════════════════════════════════════════════════════════════ */
.vg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}

/* ══════════════════════════════════════════════════════════════════
   KONTAKTSKJEMA
   ══════════════════════════════════════════════════════════════════ */
.k-topics{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;margin-bottom:.4rem}
.k-topic{
  display:flex;align-items:center;gap:.6rem;padding:.75rem .9rem;border-radius:var(--r-sm);
  border:1px solid var(--w14);background:rgba(var(--panel-rgb),.5);cursor:pointer;transition:.22s;font-size:.83rem;
}
.k-topic:hover{border-color:var(--line-hi)}
.k-topic.on{border-color:var(--teal);background:rgba(2,204,208,.1)}
.k-topic .rd{width:16px;height:16px;border-radius:50%;border:1.6px solid var(--w28);flex-shrink:0;transition:.2s;position:relative}
.k-topic.on .rd{border-color:var(--teal)}
.k-topic.on .rd::after{content:'';position:absolute;inset:3px;border-radius:50%;background:var(--teal)}
.k-topic.locked{cursor:default}
.k-topic.locked:hover{border-color:var(--teal)}

/* ══════════════════════════════════════════════════════════════════
   RESPONSIVT — NYE MODULER
   ══════════════════════════════════════════════════════════════════ */
@media(max-width:1100px){
  .art-layout{grid-template-columns:1fr;gap:2rem}
  .toc{position:static;display:flex;flex-wrap:wrap;gap:.4rem}
  .toc-h{width:100%;margin-bottom:.5rem}
  .toc a{border-left:none;border:1px solid var(--line);border-radius:60px;padding:.4rem .9rem;font-size:.76rem}
  .toc a:hover,.toc a.on{border-color:var(--teal)}
  .sv-two{grid-template-columns:1fr;gap:2.5rem}
  .cs-sec{grid-template-columns:1fr;gap:.8rem;padding:1.8rem 0}
}
@media(max-width:980px){
  .use-grid,.cs-grid,.cs-feat,.vg-grid{grid-template-columns:repeat(2,1fr)}
  .cs-res,.cs-bar{grid-template-columns:repeat(2,1fr)}
  .cs-bar div:nth-child(2){border-right:none}
  .ba-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .use-grid,.cs-grid,.cs-feat,.vg-grid,.cs-res,.sv-facts,.k-topics{grid-template-columns:1fr}
  .cs-bar{grid-template-columns:1fr}
  .cs-bar div{border-right:none;border-bottom:1px solid var(--line)}
  .lb-box{border-radius:var(--r-lg)}
  #lb{padding:1rem}
  .lb-x{top:-42px}
  .spec-table{font-size:.8rem}
  .spec-table th,.spec-table td{padding:.7rem .6rem}
}

/* ══════════════════════════════════════════════════════════════════
   KUNDESTRIPE — outline-stil
   ══════════════════════════════════════════════════════════════════ */
.mq-mid{animation-duration:40s;gap:2.6rem}
.mq-mid .mq-i{
  font-size:clamp(1.35rem,2.6vw,2rem);letter-spacing:.01em;
  color:var(--teal);-webkit-text-stroke:0;
  text-shadow:0 0 22px rgba(2,204,208,.45),0 0 44px rgba(2,204,208,.18);
  transition:color .3s,text-shadow .3s,transform .3s;
}
.mq-mid .mq-i:hover{color:#5CF3F6;text-shadow:0 0 26px rgba(2,204,208,.7),0 0 60px rgba(2,204,208,.3);transform:translateY(-2px)}
.mq-mid .mq-s{-webkit-text-stroke:none;color:rgba(2,204,208,.3);font-size:1rem;align-self:center}
.strip{padding:2.6rem 0}

/* ══════════════════════════════════════════════════════════════════
   JUBILEUMSBANNER — sentrert
   ══════════════════════════════════════════════════════════════════ */
#jubOverlay{
  position:fixed;inset:0;z-index:99993;display:none;
  align-items:center;justify-content:center;pointer-events:none;padding:2rem;
}
#jubOverlay.on{display:flex}
.jub-card{
  pointer-events:auto;text-align:center;position:relative;overflow:hidden;
  padding:clamp(2rem,5vw,3.2rem) clamp(2rem,6vw,4.5rem);border-radius:var(--r-xl);
  background:linear-gradient(150deg,rgba(var(--bg-rgb),.97),rgba(54,33,124,.95));
  border:1px solid rgba(255,161,67,.5);
  box-shadow:0 40px 130px rgba(0,0,0,.6),0 0 90px rgba(255,161,67,.22);
  animation:jubIn .8s var(--ease);max-width:min(620px,92vw);
}
@keyframes jubIn{
  0%{opacity:0;transform:scale(.72) translateY(30px)}
  55%{opacity:1;transform:scale(1.05) translateY(0)}
  75%{transform:scale(.98)}
  100%{transform:scale(1)}
}
#jubOverlay.out .jub-card{animation:jubOut .6s var(--ease) forwards}
@keyframes jubOut{to{opacity:0;transform:scale(.9) translateY(-24px)}}
.jub-card::after{
  content:'';position:absolute;top:0;left:-60%;width:45%;height:100%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.28),transparent);
  transform:skewX(-22deg);animation:jubSweep 3.4s ease-in-out infinite;
}
.jub-num{cursor:pointer;
  font-family:var(--head);font-size:clamp(4.5rem,14vw,8rem);font-weight:1000;line-height:.9;
  letter-spacing:-.05em;display:block;margin-bottom:.4rem;
  background:linear-gradient(115deg,var(--orange),var(--coral) 45%,var(--teal));
  background-size:250% auto;-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;animation:jubShift 3.5s linear infinite;
  filter:drop-shadow(0 6px 26px rgba(255,161,67,.4));
}
.jub-txt{
  font-family:var(--head);font-size:clamp(1.15rem,3vw,1.75rem);line-height:1.25;
  margin-bottom:.7rem;position:relative;z-index:2;
}
.jub-yr{
  font-size:.78rem;font-weight:800;letter-spacing:.28em;text-transform:uppercase;
  color:var(--orange);position:relative;z-index:2;
}
.jub-close{
  margin-top:1.7rem;position:relative;z-index:2;
  background:rgba(255,255,255,.08);border:1px solid var(--w14);color:var(--white);
  padding:.6rem 1.5rem;border-radius:60px;font-size:.8rem;font-weight:700;cursor:pointer;transition:.22s;
}
.jub-close:hover{background:var(--teal);color:var(--bg-deeper);border-color:var(--teal)}

/* ══════════════════════════════════════════════════════════════════
   MØTEBOOKING
   ══════════════════════════════════════════════════════════════════ */
.bk-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}
.bk-panel{background:var(--glass);border:1px solid var(--line);border-radius:var(--r-xl);padding:1.8rem;backdrop-filter:blur(18px)}
.bk-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.3rem}
.bk-mon{font-family:var(--head);font-size:1.1rem;text-transform:capitalize}
.bk-navb{display:flex;gap:.4rem}
.bk-navb button{
  width:32px;height:32px;border-radius:9px;border:1px solid var(--w14);background:transparent;
  color:var(--white);cursor:pointer;transition:.22s;font-size:.9rem;
}
.bk-navb button:hover:not(:disabled){border-color:var(--teal);color:var(--teal)}
.bk-navb button:disabled{opacity:.25;cursor:not-allowed}
.bk-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem;margin-bottom:.5rem}
.bk-dow span{text-align:center;font-size:.66rem;color:var(--w28);text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.bk-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem}
.bk-day{
  aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:10px;
  font-size:.86rem;font-weight:600;cursor:pointer;transition:.2s;border:1px solid transparent;position:relative;
}
.bk-day.avail{background:rgba(2,204,208,.07);border-color:rgba(2,204,208,.2);color:var(--white)}
.bk-day.avail:hover{background:rgba(2,204,208,.18);border-color:var(--teal);transform:translateY(-2px)}
.bk-day.off{color:rgba(255,255,255,.16);cursor:not-allowed}
.bk-day.on{background:var(--teal);color:var(--bg-deeper);border-color:var(--teal);font-weight:800}
.bk-day.today::after{content:'';position:absolute;bottom:5px;width:4px;height:4px;border-radius:50%;background:var(--orange)}
.bk-day.on.today::after{background:var(--bg-deeper)}
.bk-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.5rem;margin-top:.4rem}
.bk-slot{
  padding:.6rem .4rem;border-radius:10px;text-align:center;font-size:.85rem;font-weight:700;
  border:1px solid var(--w14);background:rgba(var(--panel-rgb),.5);cursor:pointer;transition:.2s;
}
.bk-slot:hover{border-color:var(--line-hi);transform:translateY(-2px)}
.bk-slot.on{background:var(--teal);color:var(--bg-deeper);border-color:var(--teal)}
.bk-empty{padding:2.4rem 1rem;text-align:center;color:var(--w40);font-size:.88rem;line-height:1.7}
.bk-empty .ic{width:34px;height:34px;color:var(--w28);margin:0 auto .8rem}
.bk-sum{
  display:flex;align-items:center;gap:.9rem;padding:1rem 1.2rem;margin-bottom:1.4rem;
  background:rgba(2,204,208,.09);border:1px solid var(--line-hi);border-radius:var(--r);
}
.bk-sum .ic{width:20px;height:20px;color:var(--teal);flex-shrink:0}
.bk-sum-l{font-size:.68rem;color:var(--w40);text-transform:uppercase;letter-spacing:.14em}
.bk-sum-v{font-size:.95rem;font-weight:700}
.bk-type{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-bottom:1.4rem}
.bk-tz{font-size:.72rem;color:var(--w28);margin-top:1rem;text-align:center}
@media(max-width:900px){.bk-grid{grid-template-columns:1fr}}
@media(max-width:520px){.bk-type{grid-template-columns:1fr}}

/* ══════════════════════════════════════════════════════════════════
   ADMINPANEL
   ══════════════════════════════════════════════════════════════════ */
#p-admin{background:var(--bg-deep);min-height:100vh}
.ad-wrap{padding-top:calc(var(--nav-h) + 2rem);padding-bottom:4rem}
.ad-shell{display:grid;grid-template-columns:230px minmax(0,1fr);gap:2rem;align-items:start}
.ad-shell>*{min-width:0}

/* Innlogging */
.ad-gate{
  max-width:420px;margin:6rem auto;padding:2.4rem;border-radius:var(--r-xl);
  background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(18px);text-align:center;
}
.ad-gate .ic{width:38px;height:38px;color:var(--teal);margin:0 auto 1rem}
.ad-gate h2{font-size:1.5rem;margin-bottom:.5rem}
.ad-gate p{font-size:.86rem;color:var(--w40);margin-bottom:1.6rem;line-height:1.7}
.ad-gate input{
  width:100%;background:rgba(var(--panel-rgb),.6);border:1px solid rgba(2,204,208,.22);
  border-radius:11px;padding:.9rem 1rem;font-size:1rem;text-align:center;outline:none;
  letter-spacing:.3em;margin-bottom:.9rem;color:var(--white);
}
.ad-gate input:focus{border-color:var(--teal)}
.ad-err{color:var(--coral);font-size:.82rem;margin-top:.8rem;display:none}

/* Sidemeny */
.ad-nav{position:sticky;top:calc(var(--nav-h) + 1.5rem);display:flex;flex-direction:column;gap:.25rem}
.ad-nav h4{
  font-size:.64rem;text-transform:uppercase;letter-spacing:.2em;color:var(--w28);
  font-weight:800;margin:1.2rem 0 .5rem .8rem;
}
.ad-nav h4:first-child{margin-top:0}
.ad-link{
  display:flex;align-items:center;gap:.7rem;padding:.62rem .85rem;border-radius:10px;
  font-size:.86rem;font-weight:600;color:var(--w55);cursor:pointer;transition:.2s;
  background:none;border:none;text-align:left;width:100%;
}
.ad-link:hover{background:rgba(2,204,208,.07);color:var(--white)}
.ad-link.on{background:rgba(2,204,208,.14);color:var(--teal)}
.ad-link .ic{width:16px;height:16px;flex-shrink:0}
.ad-link .cnt{
  margin-left:auto;font-size:.68rem;font-weight:800;color:var(--w28);
  background:rgba(255,255,255,.06);padding:.1rem .45rem;border-radius:60px;
}
.ad-link.on .cnt{background:rgba(2,204,208,.2);color:var(--teal)}

/* Panel */
.ad-panel{min-height:60vh;min-width:0;max-width:100%}
.ad-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1.6rem}
.ad-head h2{font-size:1.6rem;margin-bottom:.3rem}
.ad-head p{font-size:.85rem;color:var(--w40);max-width:56ch;line-height:1.6}
.ad-card{
  background:var(--glass);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:1.5rem;margin-bottom:1rem;
}
.ad-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.9rem;margin-bottom:1.6rem}
.ad-stat{background:var(--glass);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem}
.ad-stat-n{font-family:var(--head);font-size:2rem;color:var(--teal);line-height:1}
.ad-stat-l{font-size:.72rem;color:var(--w40);margin-top:.3rem}

/* Liste */
.ad-list{display:flex;flex-direction:column;gap:.55rem}
.ad-row{
  display:flex;align-items:center;gap:1rem;padding:.9rem 1.1rem;
  background:var(--glass);border:1px solid var(--line);border-radius:var(--r);transition:.22s;
}
.ad-row:hover{border-color:var(--line-hi)}
.ad-row.off{opacity:.45}
.ad-row-ic{
  width:34px;height:34px;border-radius:9px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  background:rgba(2,204,208,.1);border:1px solid rgba(2,204,208,.2);color:var(--teal);
}
.ad-row-ic .ic{width:17px;height:17px}
.ad-row-b{flex:1;min-width:0}
.ad-row-t{font-size:.9rem;font-weight:700;margin-bottom:.12rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ad-row-s{font-size:.74rem;color:var(--w40);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ad-row-a{display:flex;gap:.4rem;flex-shrink:0}
.ad-btn{
  padding:.42rem .85rem;border-radius:8px;font-size:.75rem;font-weight:700;cursor:pointer;
  background:transparent;border:1px solid var(--w14);color:var(--w55);transition:.2s;
}
.ad-btn:hover{border-color:var(--line-hi);color:var(--white)}
.ad-btn.dang:hover{border-color:var(--coral);color:var(--coral)}
.ad-btn.pri{background:var(--teal);border-color:var(--teal);color:var(--bg-deeper)}
.ad-btn.pri:hover{background:#00e6ea;color:var(--bg-deeper)}

/* Bryter */
.sw{
  width:42px;height:23px;border-radius:60px;background:rgba(255,255,255,.12);
  position:relative;cursor:pointer;transition:.25s;flex-shrink:0;border:none;
}
.sw::after{
  content:'';position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;
  background:var(--w40);transition:.25s;
}
.sw.on{background:rgba(2,204,208,.3)}
.sw.on::after{left:22px;background:var(--teal)}

/* Skjema */
.ad-f{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-bottom:1rem}
.ad-fg{display:flex;flex-direction:column;gap:.35rem}
.ad-fg.full{grid-column:1/-1}
.ad-fg label{font-size:.66rem;font-weight:800;color:var(--w40);text-transform:uppercase;letter-spacing:.13em}
.ad-fg label .hint{text-transform:none;letter-spacing:0;font-weight:600;color:var(--w28);margin-left:.4rem}
.ad-fg input,.ad-fg textarea,.ad-fg select{
  background:rgba(var(--panel-rgb),.55);border:1px solid rgba(2,204,208,.18);border-radius:9px;
  padding:.7rem .85rem;font-size:.87rem;outline:none;color:var(--white);
  transition:.2s;resize:vertical;font-family:var(--body);
}
.ad-fg input:focus,.ad-fg textarea:focus,.ad-fg select:focus{border-color:var(--teal)}
.ad-fg textarea{min-height:90px;line-height:1.6}
.ad-fg textarea.tall{min-height:220px;font-family:ui-monospace,Menlo,monospace;font-size:.8rem}
.ad-fg select option{background:var(--bg-deep)}
.ad-count{font-size:.68rem;color:var(--w28);text-align:right;margin-top:.15rem}
.ad-count.warn{color:var(--orange)}
.ad-actions{display:flex;gap:.6rem;flex-wrap:wrap;padding-top:1.1rem;border-top:1px solid var(--line);margin-top:.4rem}

/* Faner */
.ad-tabs{display:flex;gap:.35rem;margin-bottom:1.2rem;flex-wrap:wrap}
.ad-tab{
  padding:.45rem 1rem;border-radius:60px;font-size:.78rem;font-weight:700;cursor:pointer;
  background:transparent;border:1px solid var(--w14);color:var(--w40);transition:.2s;
}
.ad-tab:hover{border-color:var(--line-hi);color:var(--white)}
.ad-tab.on{background:var(--teal);border-color:var(--teal);color:var(--bg-deeper)}

/* Varsel */
#adToast{
  position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(140%);
  background:var(--teal);color:var(--bg-deeper);padding:.8rem 1.6rem;border-radius:60px;
  font-size:.86rem;font-weight:700;z-index:99994;box-shadow:0 14px 44px rgba(2,204,208,.4);
  transition:transform .4s var(--ease);
}
#adToast.on{transform:translateX(-50%) translateY(0)}
.ad-note{
  padding:.9rem 1.2rem;border-radius:var(--r);font-size:.82rem;line-height:1.65;
  background:rgba(255,161,67,.08);border:1px solid rgba(255,161,67,.3);color:var(--w70);margin-bottom:1.2rem;
}
.ad-note b{color:var(--orange)}
.ad-empty{text-align:center;padding:3rem 1rem;color:var(--w40);font-size:.88rem}
.ad-empty .ic{width:36px;height:36px;color:var(--w28);margin:0 auto 1rem}

@media(max-width:900px){
  .ad-shell{grid-template-columns:1fr}
  .ad-nav{position:static;flex-direction:row;flex-wrap:wrap;gap:.3rem}
  .ad-nav h4{width:100%;margin:.6rem 0 .2rem}
  .ad-link{width:auto}
  .ad-f{grid-template-columns:1fr}
}

/* ══════════════════════════════════════════════════════════════════
   KUNDEADMIN — SALGS- OG PROSJEKTFUNNEL
   ══════════════════════════════════════════════════════════════════ */
.kb{display:grid;gap:.7rem;align-items:start;overflow-x:auto;padding-bottom:1rem}
.kb-5{grid-template-columns:repeat(5,minmax(215px,1fr))}
.kb-6{grid-template-columns:repeat(6,minmax(185px,1fr))}
.kb-col{
  background:rgba(var(--panel-rgb),.42);border:1px solid var(--line);border-radius:var(--r);
  padding:.7rem;min-height:180px;transition:.2s;
}
.kb-col.over{border-color:var(--teal);background:rgba(2,204,208,.07)}
.kb-h{display:flex;align-items:center;gap:.5rem;margin-bottom:.7rem;padding:0 .2rem}
.kb-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.kb-t{font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--w55)}
.kb-n{margin-left:auto;font-size:.68rem;font-weight:800;color:var(--w28);background:rgba(255,255,255,.06);padding:.08rem .42rem;border-radius:60px}
.kb-sum{font-size:.66rem;color:var(--teal);font-weight:700;padding:0 .2rem .55rem;margin-top:-.35rem}
.kb-cards{display:flex;flex-direction:column;gap:.5rem;min-height:60px}

.kc{
  background:var(--glass);border:1px solid var(--line);border-radius:11px;padding:.8rem;
  cursor:grab;transition:.18s;position:relative;
}
.kc:hover{border-color:var(--line-hi);transform:translateY(-2px)}
.kc:active{cursor:grabbing}
.kc.drag{opacity:.4}
.kc-t{font-size:.83rem;font-weight:700;line-height:1.3;margin-bottom:.22rem}
.kc-s{font-size:.71rem;color:var(--w40);line-height:1.4}
.kc-m{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.55rem;align-items:center}
.kc-tag{font-size:.62rem;font-weight:700;padding:.13rem .45rem;border-radius:60px;background:rgba(255,255,255,.07);color:var(--w40)}
.kc-tag.v{background:rgba(20,222,167,.14);color:var(--green)}
.kc-tag.w{background:rgba(255,161,67,.14);color:var(--orange)}
.kc-tag.r{background:rgba(253,108,125,.14);color:var(--coral)}
.kc-sum{margin-left:auto;font-family:var(--head);font-size:.82rem;color:var(--teal)}
.kc-bar{height:3px;border-radius:3px;background:rgba(255,255,255,.08);margin-top:.6rem;overflow:hidden}
.kc-bar i{display:block;height:100%;background:var(--teal);border-radius:3px;transition:width .3s}
.kc-age{position:absolute;top:.55rem;right:.6rem;font-size:.6rem;color:var(--w28)}
.kc-age.old{color:var(--orange)}

/* Detaljvisning */
.dt-grid{display:grid;grid-template-columns:1.4fr .9fr;gap:1.2rem;align-items:start}
.dt-steps{display:flex;gap:.3rem;flex-wrap:wrap;margin-bottom:1.2rem}
.dt-step{
  flex:1;min-width:78px;padding:.55rem .4rem;border-radius:9px;text-align:center;
  font-size:.68rem;font-weight:700;cursor:pointer;transition:.2s;
  background:rgba(255,255,255,.04);border:1px solid var(--w14);color:var(--w40);
}
.dt-step:hover{border-color:var(--line-hi);color:var(--white)}
.dt-step.done{background:rgba(20,222,167,.12);border-color:rgba(20,222,167,.35);color:var(--green)}
.dt-step.on{background:var(--teal);border-color:var(--teal);color:var(--bg-deeper)}
.dt-kv{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid rgba(2,204,208,.08);font-size:.83rem}
.dt-kv:last-child{border:none}
.dt-kv span:first-child{color:var(--w40);flex-shrink:0}
.dt-kv span:last-child{text-align:right;color:var(--white);font-weight:600}
.dt-log{display:flex;flex-direction:column;gap:.5rem;max-height:340px;overflow-y:auto}
.dt-li{display:flex;gap:.65rem;font-size:.78rem;line-height:1.5}
.dt-li i{width:6px;height:6px;border-radius:50%;background:var(--teal);flex-shrink:0;margin-top:.4rem;font-style:normal}
.dt-li time{color:var(--w28);font-size:.68rem;display:block;margin-top:.1rem}
.dt-ap{display:flex;align-items:center;gap:.6rem;padding:.6rem .8rem;border-radius:9px;background:rgba(255,255,255,.04);border:1px solid var(--w14);margin-bottom:.45rem;font-size:.8rem}
.dt-ap.ok{background:rgba(20,222,167,.09);border-color:rgba(20,222,167,.3)}
.dt-ap .chk2{width:19px;height:19px;border-radius:5px;border:1.6px solid var(--w28);display:flex;align-items:center;justify-content:center;font-size:.66rem;cursor:pointer;flex-shrink:0}
.dt-ap.ok .chk2{background:var(--green);border-color:var(--green);color:var(--bg-deeper);font-weight:900}

/* Provisjon */
.pv{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.82rem;border-bottom:1px solid rgba(2,204,208,.07)}
.pv:last-child{border:none;padding-top:.8rem;margin-top:.3rem;border-top:1px solid var(--line-hi);font-weight:700}
.pv span:last-child{font-family:var(--head);color:var(--teal)}

/* Filterrad */
.ad-bar{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-bottom:1.2rem}
.ad-bar input,.ad-bar select{
  background:rgba(var(--panel-rgb),.55);border:1px solid rgba(2,204,208,.18);border-radius:9px;
  padding:.5rem .8rem;font-size:.82rem;outline:none;color:var(--white);
}
.ad-bar input:focus,.ad-bar select:focus{border-color:var(--teal)}
.ad-bar input[type=search]{min-width:200px}
.ad-bar select option{background:var(--bg-deep)}

@media(max-width:900px){
  .dt-grid{grid-template-columns:1fr}
  .kb-5,.kb-6{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));overflow:visible}
}

/* ══════════════════════════════════════════════════════════════════
   TILBUD — kundens side
   ══════════════════════════════════════════════════════════════════ */
#p-tilbud{background:var(--bg-deep);min-height:100vh}
.tb-wrap{padding:calc(var(--nav-h) + 3rem) 0 5rem}
.tb-gate{
  max-width:440px;margin:5rem auto;padding:2.6rem;border-radius:var(--r-xl);
  background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(18px);text-align:center;
}
.tb-gate .logo-mark{width:130px;margin:0 auto 1.6rem}
.tb-gate h2{font-size:1.4rem;margin-bottom:.5rem}
.tb-gate p{font-size:.86rem;color:var(--w40);line-height:1.7;margin-bottom:1.6rem}
.tb-gate input{
  width:100%;background:rgba(var(--panel-rgb),.6);border:1px solid rgba(2,204,208,.22);border-radius:11px;
  padding:.9rem;font-size:1.1rem;text-align:center;letter-spacing:.35em;text-transform:uppercase;
  outline:none;margin-bottom:.9rem;color:var(--white);font-family:var(--head);
}
.tb-gate input:focus{border-color:var(--teal)}

.tb-doc{
  max-width:820px;margin:0 auto;background:rgba(var(--bgdeep-rgb),.6);border:1px solid var(--line);
  border-radius:var(--r-xl);overflow:hidden;box-shadow:0 40px 110px rgba(0,0,0,.4);
}
.tb-top{
  padding:2.4rem clamp(1.5rem,5vw,3rem) 2rem;border-bottom:1px solid var(--line);
  background:linear-gradient(150deg,rgba(2,204,208,.08),rgba(54,33,124,.25));
}
.tb-top .logo-mark{width:118px;margin-bottom:1.6rem}
.tb-meta{display:flex;gap:2rem;flex-wrap:wrap;margin-top:1.4rem}
.tb-meta div{font-size:.72rem;color:var(--w40)}
.tb-meta b{display:block;color:var(--white);font-size:.9rem;font-weight:700;margin-top:.15rem}
.tb-body{padding:0 clamp(1.5rem,5vw,3rem)}
.tb-sec{padding:2rem 0;border-bottom:1px solid rgba(2,204,208,.08)}
.tb-sec:last-of-type{border-bottom:none}
.tb-sec h3{
  font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:var(--teal);
  font-weight:800;margin-bottom:1.1rem;font-family:var(--body);
}
.tb-sec h2{font-size:clamp(1.4rem,3vw,1.9rem);margin-bottom:.8rem}
.tb-sec p{font-size:.95rem;line-height:1.85;color:var(--w70);margin-bottom:.9rem}
.tb-sec p:last-child{margin-bottom:0}
.tb-kv{display:grid;grid-template-columns:180px 1fr;gap:.6rem 1.4rem;font-size:.9rem}
.tb-kv dt{color:var(--w40);line-height:1.7}
.tb-kv dd{color:var(--w70);line-height:1.7}
.tb-quote{
  padding:1.3rem 1.6rem;border-left:3px solid var(--teal);background:rgba(2,204,208,.06);
  border-radius:0 var(--r) var(--r) 0;margin:.4rem 0;
}
.tb-quote p{font-size:.95rem;line-height:1.85;color:var(--white);margin:0}

.tb-lines{width:100%;border-collapse:collapse;font-size:.9rem}
.tb-lines th{
  text-align:left;padding:.7rem 0;font-size:.66rem;text-transform:uppercase;letter-spacing:.16em;
  color:var(--w40);border-bottom:1px solid var(--line);font-weight:800;
}
.tb-lines th:last-child,.tb-lines td:last-child{text-align:right}
.tb-lines td{padding:.95rem 0;border-bottom:1px solid rgba(2,204,208,.07);color:var(--w70);vertical-align:top}
.tb-lines td:first-child{color:var(--white);font-weight:600;padding-right:1.5rem}
.tb-lines td small{display:block;color:var(--w40);font-weight:400;font-size:.8rem;margin-top:.2rem;line-height:1.6}
.tb-sum{display:flex;justify-content:space-between;padding:.55rem 0;font-size:.92rem}
.tb-sum span:first-child{color:var(--w40)}
.tb-sum.total{
  padding-top:1rem;margin-top:.6rem;border-top:1px solid var(--line-hi);
  font-family:var(--head);font-size:1.4rem;
}
.tb-sum.total span:first-child{color:var(--white);font-family:var(--head)}
.tb-sum.total span:last-child{color:var(--teal)}

.tb-sign{
  margin:0 clamp(1.5rem,5vw,3rem) 2.6rem;padding:2rem;border-radius:var(--r-lg);
  background:linear-gradient(150deg,rgba(2,204,208,.1),rgba(54,33,124,.35));
  border:1px solid var(--line-hi);
}
.tb-sign h3{font-family:var(--head);font-size:1.15rem;margin-bottom:.6rem;color:var(--white);text-transform:none;letter-spacing:0}
.tb-sign p{font-size:.86rem;color:var(--w55);line-height:1.7;margin-bottom:1.3rem}
.tb-sign input{
  width:100%;background:rgba(var(--panel-rgb),.55);border:1px solid rgba(2,204,208,.22);border-radius:11px;
  padding:.85rem 1rem;font-size:.95rem;outline:none;margin-bottom:.8rem;color:var(--white);
}
.tb-sign input:focus{border-color:var(--teal)}
.tb-agree{display:flex;gap:.7rem;align-items:flex-start;font-size:.84rem;color:var(--w70);line-height:1.6;margin-bottom:1.3rem;cursor:pointer}
.tb-agree .bx2{
  width:20px;height:20px;border-radius:6px;border:1.6px solid var(--w28);flex-shrink:0;margin-top:1px;
  display:flex;align-items:center;justify-content:center;font-size:.7rem;transition:.2s;
}
.tb-agree.on .bx2{background:var(--teal);border-color:var(--teal);color:var(--bg-deeper);font-weight:900}
.tb-done{
  margin:0 clamp(1.5rem,5vw,3rem) 2.6rem;padding:2.2rem;border-radius:var(--r-lg);text-align:center;
  background:rgba(20,222,167,.08);border:1px solid rgba(20,222,167,.35);
}
.tb-done .ic{width:46px;height:46px;color:var(--green);margin:0 auto 1rem}
.tb-done h3{font-family:var(--head);font-size:1.4rem;color:var(--green);margin-bottom:.6rem}
.tb-done p{font-size:.9rem;color:var(--w55);line-height:1.75;max-width:46ch;margin-inline:auto}
.tb-stamp{
  display:inline-flex;align-items:center;gap:.5rem;margin-top:1.2rem;padding:.5rem 1.1rem;
  border-radius:60px;background:rgba(255,255,255,.06);border:1px solid var(--w14);
  font-size:.76rem;color:var(--w55);
}
.tb-foot{
  padding:1.6rem clamp(1.5rem,5vw,3rem);border-top:1px solid var(--line);
  font-size:.75rem;color:var(--w28);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
}
.tb-badge{
  display:inline-flex;align-items:center;gap:.45rem;padding:.28rem .8rem;border-radius:60px;
  font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;
}
.tb-badge.utkast{background:rgba(255,255,255,.08);color:var(--w40)}
.tb-badge.sendt{background:rgba(255,161,67,.15);color:var(--orange)}
.tb-badge.signert{background:rgba(20,222,167,.15);color:var(--green)}
.tb-badge.avslatt{background:rgba(253,108,125,.15);color:var(--coral)}

/* Tilbudsbygger i admin */
.tl-line{
  display:grid;grid-template-columns:1fr 150px 40px;gap:.6rem;align-items:start;margin-bottom:.55rem;
}
.tl-line input,.tl-line textarea{
  background:rgba(var(--panel-rgb),.55);border:1px solid rgba(2,204,208,.18);border-radius:9px;
  padding:.6rem .8rem;font-size:.85rem;outline:none;color:var(--white);width:100%;font-family:var(--body);
}
.tl-line textarea{min-height:44px;resize:vertical;line-height:1.5}
.tl-line input:focus,.tl-line textarea:focus{border-color:var(--teal)}
.tl-del{
  background:none;border:1px solid var(--w14);border-radius:9px;color:var(--w40);
  cursor:pointer;font-size:1rem;height:40px;transition:.2s;
}
.tl-del:hover{border-color:var(--coral);color:var(--coral)}
.tl-tot{
  display:flex;justify-content:space-between;padding:.5rem 0;font-size:.88rem;
}
.tl-tot.big{font-family:var(--head);font-size:1.25rem;padding-top:.9rem;margin-top:.5rem;border-top:1px solid var(--line-hi)}
.tl-tot.big span:last-child{color:var(--teal)}
.tl-link{
  display:flex;gap:.5rem;align-items:center;padding:.75rem .9rem;border-radius:10px;
  background:rgba(var(--panel-rgb),.5);border:1px solid var(--line);font-size:.78rem;
  font-family:ui-monospace,Menlo,monospace;color:var(--teal);word-break:break-all;margin-bottom:.5rem;
}
.tl-kode{
  font-family:var(--head);font-size:1.6rem;letter-spacing:.28em;color:var(--teal);
  text-align:center;padding:.9rem;background:rgba(2,204,208,.08);
  border:1px dashed var(--line-hi);border-radius:11px;margin-bottom:.8rem;
}
@media(max-width:640px){
  .tb-kv{grid-template-columns:1fr;gap:.15rem 0}
  .tb-kv dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;margin-top:.7rem}
  .tl-line{grid-template-columns:1fr 110px 38px}
}

/* ══════════════════════════════════════════════════════════════════
   KORREKTURRUNDER I ADMIN
   ══════════════════════════════════════════════════════════════════ */
.kf{background:rgba(var(--panel-rgb),.4);border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.2rem;margin-bottom:.7rem}
.kf.ok{border-color:rgba(20,222,167,.32);background:rgba(20,222,167,.05)}
.kf-h{display:flex;align-items:center;gap:.7rem;margin-bottom:.8rem;flex-wrap:wrap}
.kf-n{
  width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;
  font-family:var(--head);font-size:.78rem;font-weight:900;flex-shrink:0;
  background:rgba(2,204,208,.12);border:1px solid rgba(2,204,208,.28);color:var(--teal);
}
.kf.ok .kf-n{background:rgba(20,222,167,.16);border-color:rgba(20,222,167,.4);color:var(--green)}
.kf-t{font-size:.92rem;font-weight:700}
.kf-s{margin-left:auto;font-size:.7rem;font-weight:800;padding:.16rem .6rem;border-radius:60px;
  background:rgba(255,255,255,.06);color:var(--w40);text-transform:uppercase;letter-spacing:.1em}
.kf.ok .kf-s{background:rgba(20,222,167,.16);color:var(--green)}
.kf-s.over{background:rgba(255,161,67,.16);color:var(--orange)}
.kf-v{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.8rem}
.kf-row{display:grid;grid-template-columns:44px 1fr 1fr 1fr;gap:.6rem;align-items:center;
  padding:.45rem .6rem;border-radius:8px;background:rgba(255,255,255,.03);font-size:.75rem}
.kf-row b{font-family:var(--head);font-size:.82rem;color:var(--teal)}
.kf-row span{color:var(--w40)}
.kf-row span i{display:block;color:var(--white);font-style:normal;font-weight:600;margin-top:.1rem}
.kf-row.gk{background:rgba(20,222,167,.08)}
.kf-row.gk b{color:var(--green)}
.kf-a{display:flex;gap:.4rem;flex-wrap:wrap}
.kf-tid{font-size:.68rem;color:var(--w28);margin-top:.5rem}
.kf-tid b{color:var(--teal);font-weight:700}

/* Roller */
.rl-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.rl{display:flex;align-items:center;gap:.7rem;padding:.6rem .8rem;border-radius:9px;
  background:rgba(var(--panel-rgb),.45);border:1px solid var(--line)}
.rl-t{font-size:.74rem;color:var(--w40);flex-shrink:0;width:96px}
.rl select{flex:1;background:transparent;border:none;color:var(--white);font-size:.85rem;outline:none;font-family:var(--body)}
.rl select option{background:var(--bg-deep)}
.rl.tom{border-color:rgba(255,161,67,.28)}
.rl.tom .rl-t{color:var(--orange)}

/* Statistikk */
.st-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.8rem}
.st-card{background:var(--glass);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem}
.st-t{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--teal);font-weight:800;margin-bottom:.9rem}
.st-row{display:flex;justify-content:space-between;font-size:.8rem;padding:.35rem 0}
.st-row span:first-child{color:var(--w40)}
.st-row b{font-family:var(--head);font-size:.95rem;color:var(--white)}
.st-bar{height:5px;border-radius:5px;background:rgba(255,255,255,.07);margin-top:.5rem;overflow:hidden}
.st-bar i{display:block;height:100%;border-radius:5px}

/* Påminnelser */
.pm{display:flex;align-items:center;gap:.9rem;padding:.85rem 1.1rem;border-radius:var(--r);
  background:rgba(255,161,67,.07);border:1px solid rgba(255,161,67,.28);margin-bottom:.5rem}
.pm-ic{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  background:rgba(255,161,67,.14);color:var(--orange);flex-shrink:0}
.pm-ic .ic{width:16px;height:16px}
.pm-b{flex:1;min-width:0}
.pm-t{font-size:.85rem;font-weight:700;margin-bottom:.1rem}
.pm-s{font-size:.74rem;color:var(--w40)}

/* ══════════════════════════════════════════════════════════════════
   LEVERANSESIDEN
   ══════════════════════════════════════════════════════════════════ */
#p-leveranse{background:var(--bg-deep);min-height:100vh}
.lv-hero{
  padding:3rem clamp(1.5rem,5vw,3rem) 2.6rem;text-align:center;
  background:linear-gradient(150deg,rgba(2,204,208,.12),rgba(54,33,124,.3));
  border-bottom:1px solid var(--line);
}
.lv-hero .logo-mark{width:124px;margin:0 auto 1.6rem}
.lv-tag{
  display:inline-block;padding:.3rem .95rem;border-radius:60px;margin-bottom:1.2rem;
  background:rgba(20,222,167,.15);color:var(--green);
  font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.16em;
}
.lv-hero h1{font-size:clamp(1.8rem,4.6vw,2.9rem);line-height:1.1;margin-bottom:.9rem}
.lv-hero p{font-size:1rem;color:var(--w55);max-width:46ch;margin-inline:auto;line-height:1.7}
.lv-player{aspect-ratio:16/9;border-radius:var(--r-lg);overflow:hidden;background:#000;position:relative;border:1px solid var(--line)}
.lv-player iframe{width:100%;height:100%;border:0;display:block}
.lv-filer{display:flex;flex-direction:column;gap:.5rem}
.lv-fil{display:flex;align-items:center;gap:.9rem;padding:.9rem 1.1rem;border-radius:var(--r);
  background:var(--glass);border:1px solid var(--line);transition:.22s}
.lv-fil:hover{border-color:var(--line-hi);transform:translateX(4px)}
.lv-fil-ic{width:36px;height:36px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;
  justify-content:center;background:rgba(2,204,208,.1);border:1px solid rgba(2,204,208,.2);color:var(--teal)}
.lv-fil-ic .ic{width:17px;height:17px}
.lv-fil-b{flex:1;min-width:0}
.lv-fil-t{font-size:.88rem;font-weight:700}
.lv-fil-s{font-size:.74rem;color:var(--w40);margin-top:.1rem}
.lv-fil-d{font-size:.76rem;color:var(--teal);font-weight:700;flex-shrink:0}
.lv-lagring{display:flex;gap:.9rem;padding:1.1rem 1.3rem;border-radius:var(--r);margin-top:1.4rem;
  background:rgba(2,204,208,.06);border:1px solid var(--line-hi)}
.lv-lagring.ut{background:rgba(255,161,67,.08);border-color:rgba(255,161,67,.35)}
.lv-lagring .ic{width:20px;height:20px;color:var(--teal);flex-shrink:0;margin-top:.15rem}
.lv-lagring.ut .ic{color:var(--orange)}
.lv-lagring b{display:block;font-size:.9rem;margin-bottom:.25rem}
.lv-lagring span{font-size:.83rem;color:var(--w55);line-height:1.7}
.lv-eval{margin-top:.4rem}
.lv-rate{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;
  border-bottom:1px solid rgba(2,204,208,.07)}
.lv-rate>span{font-size:.92rem;color:var(--w70)}
.lv-stars{display:flex;gap:.15rem;flex-shrink:0}
.lv-star{background:none;border:none;cursor:pointer;font-size:1.5rem;line-height:1;
  color:rgba(255,255,255,.16);transition:.15s;padding:0 .1rem}
.lv-star:hover{transform:scale(1.14)}
.lv-star.on{color:var(--orange)}

/* Produktkatalog */
.pk-row{display:grid;grid-template-columns:1fr 130px 40px;gap:.6rem;align-items:start;margin-bottom:.5rem}
.pk-row input,.pk-row textarea{background:rgba(var(--panel-rgb),.55);border:1px solid rgba(2,204,208,.18);
  border-radius:9px;padding:.6rem .8rem;font-size:.85rem;outline:none;color:var(--white);width:100%;font-family:var(--body)}
.pk-row textarea{min-height:42px;resize:vertical;line-height:1.5;margin-top:.35rem}
.pk-row input:focus,.pk-row textarea:focus{border-color:var(--teal)}
.pk-gruppe{margin-bottom:1.4rem}
.pk-gruppe h4{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--teal);
  font-weight:800;margin-bottom:.7rem}

@media(max-width:720px){
  .rl-grid{grid-template-columns:1fr}
  .kf-row{grid-template-columns:38px 1fr;gap:.35rem}
  .pk-row{grid-template-columns:1fr 100px 36px}
  .lv-rate{flex-direction:column;align-items:flex-start;gap:.4rem}
}

/* ══════════════════════════════════════════════════════════════════
   ADMIN — egen arbeidsflate uten nettstedets meny
   ══════════════════════════════════════════════════════════════════ */
body.admin header,
body.admin #sticky,
body.admin footer{display:none !important}
body.admin{background:var(--bg-deep)}
body.admin .ad-wrap{padding-top:calc(var(--adbar-h) + 1.6rem)}

:root{--adbar-h:58px}
#adbar{
  position:fixed;top:0;left:0;right:0;height:var(--adbar-h);z-index:9000;
  display:none;align-items:center;justify-content:space-between;gap:1.5rem;
  padding:0 clamp(1rem,4vw,2rem);
  background:rgba(var(--bgdeep-rgb),.97);border-bottom:1px solid rgba(2,204,208,.12);
  backdrop-filter:blur(22px);
}
body.admin #adbar{display:flex}
.adbar-l{display:flex;align-items:center;gap:1rem;min-width:0}
.adbar-l .logo-mark{width:96px;height:auto;color:var(--teal);flex-shrink:0}
.adbar-tag{
  font-size:.6rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  color:var(--bg-deeper);background:var(--teal);padding:.2rem .55rem;border-radius:60px;flex-shrink:0;
}
.adbar-r{display:flex;align-items:center;gap:.5rem;flex-shrink:0}
.adbar-btn{
  display:flex;align-items:center;gap:.45rem;padding:.45rem .9rem;border-radius:9px;
  font-size:.8rem;font-weight:600;color:var(--w55);background:none;border:1px solid transparent;
  cursor:pointer;transition:.2s;
}
.adbar-btn:hover{background:rgba(2,204,208,.08);color:var(--white)}
.adbar-btn .ic{width:15px;height:15px}
.adbar-btn.ut:hover{color:var(--coral);background:rgba(253,108,125,.08)}
@media(max-width:720px){
  .adbar-btn span{display:none}
  .adbar-l .logo-mark{width:78px}
}

/* Ny produktpost */
.pk-ny{
  display:grid;grid-template-columns:170px 1fr 130px auto;gap:.6rem;align-items:start;
  padding:1rem;border-radius:var(--r);background:rgba(2,204,208,.05);
  border:1px dashed var(--line-hi);margin-bottom:1rem;
}
.pk-ny input,.pk-ny select,.pk-ny textarea{
  background:rgba(var(--panel-rgb),.6);border:1px solid rgba(2,204,208,.2);border-radius:9px;
  padding:.6rem .8rem;font-size:.85rem;outline:none;color:var(--white);width:100%;font-family:var(--body);
}
.pk-ny textarea{min-height:40px;resize:vertical;margin-top:.35rem;line-height:1.5}
.pk-ny select option{background:var(--bg-deep)}
@media(max-width:820px){.pk-ny{grid-template-columns:1fr}}

/* Fakturering */
.fk-row{
  display:flex;align-items:center;gap:1rem;padding:.95rem 1.1rem;margin-bottom:.5rem;
  background:var(--glass);border:1px solid var(--line);border-radius:var(--r);transition:.2s;
}
.fk-row.forfalt{border-color:rgba(255,161,67,.4);background:rgba(255,161,67,.06)}
.fk-row.fakturert{opacity:.55}
.fk-row.oppsagt{opacity:.5;border-style:dashed}
.fk-b{flex:1;min-width:0}
.fk-t{font-size:.9rem;font-weight:700;margin-bottom:.15rem}
.fk-s{font-size:.75rem;color:var(--w40)}
.fk-d{font-size:.78rem;text-align:right;flex-shrink:0}
.fk-d b{display:block;font-family:var(--head);font-size:.95rem;color:var(--teal)}
.fk-a{display:flex;gap:.4rem;flex-shrink:0}
.fk-sum{
  display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.3rem;
  border-radius:var(--r);background:rgba(2,204,208,.08);border:1px solid var(--line-hi);margin-top:1rem;
}
.fk-sum span{font-size:.86rem;color:var(--w55)}
.fk-sum b{font-family:var(--head);font-size:1.4rem;color:var(--teal)}

/* Provisjonssatser */
.sats-row{
  display:grid;grid-template-columns:1fr 90px 1fr;gap:.7rem;align-items:center;
  padding:.6rem 0;border-bottom:1px solid rgba(2,204,208,.07);
}
.sats-row:last-child{border:none}
.sats-row input{
  background:rgba(var(--panel-rgb),.55);border:1px solid rgba(2,204,208,.18);border-radius:8px;
  padding:.45rem .6rem;font-size:.85rem;outline:none;color:var(--white);width:100%;text-align:right;
}
.sats-row input:focus{border-color:var(--teal)}
.sats-t{font-size:.86rem;color:var(--white)}
.sats-d{font-size:.72rem;color:var(--w40);line-height:1.5}

/* ══════════════════════════════════════════════════════════════════
   PROSJEKTKORT — forenklet
   ══════════════════════════════════════════════════════════════════ */
.pk-kort{border-left:3px solid var(--teal)}
.pk-kort.kunde{border-left-color:var(--coral)}
.pk-kort.ferdig{border-left-color:var(--w28)}
.pk-kunde{font-size:.92rem;font-weight:700;line-height:1.25;margin-bottom:.5rem}
.pk-vent{
  display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:700;
  padding:.2rem .6rem .2rem .5rem;border-radius:60px;margin-bottom:.6rem;
}
.pk-vent i{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.pk-vent.oss{background:rgba(2,204,208,.14);color:var(--teal)}
.pk-vent.oss i{background:var(--teal)}
.pk-vent.kunde{background:rgba(253,108,125,.16);color:var(--coral)}
.pk-vent.kunde i{background:var(--coral);animation:puls 2.2s ease-in-out infinite}
.pk-vent.ferdig{background:rgba(255,255,255,.07);color:var(--w40)}
.pk-vent.ferdig i{background:var(--w40)}
.pk-bunn{display:flex;align-items:center;justify-content:space-between;gap:.6rem;font-size:.74rem}
.pk-pl{color:var(--w55);font-weight:600}
.pk-frist{color:var(--w40)}
.pk-frist.snart{color:var(--orange);font-weight:700}
.pk-frist.over{color:var(--coral);font-weight:700}
.pk-fk{font-size:.68rem;font-weight:700;margin-top:.45rem}

/* Fakturastatus i prosjektdetaljen */
.fs-steg{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:1rem}
.fs-b{
  padding:.45rem .85rem;border-radius:60px;font-size:.76rem;font-weight:700;cursor:pointer;
  background:transparent;border:1px solid var(--w14);color:var(--w40);transition:.2s;
}
.fs-b:hover{border-color:var(--line-hi);color:var(--white)}
.fs-b.on{color:var(--bg-deeper);font-weight:800}
.fs-info{
  display:flex;gap:.8rem;align-items:flex-start;padding:.9rem 1.1rem;border-radius:var(--r);
  font-size:.82rem;line-height:1.65;margin-bottom:1rem;
}
.fs-info.vent{background:rgba(255,161,67,.08);border:1px solid rgba(255,161,67,.28);color:var(--w70)}
.fs-info.ok{background:rgba(20,222,167,.08);border:1px solid rgba(20,222,167,.3);color:var(--w70)}
.fs-info .ic{width:18px;height:18px;flex-shrink:0;margin-top:.1rem}
.fs-info.vent .ic{color:var(--orange)}
.fs-info.ok .ic{color:var(--green)}
.fs-hist{display:flex;flex-direction:column;gap:.3rem;margin-top:.8rem}
.fs-hl{display:flex;justify-content:space-between;font-size:.75rem;color:var(--w40)}
.fs-hl b{color:var(--w70);font-weight:600}

/* Provisjonsoversikt splittet */
.pv-split{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:1rem}
.pv-box{padding:1rem 1.2rem;border-radius:var(--r);border:1px solid var(--line);background:rgba(var(--panel-rgb),.4)}
.pv-box.ok{border-color:rgba(20,222,167,.3);background:rgba(20,222,167,.06)}
.pv-box-l{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--w40);margin-bottom:.35rem}
.pv-box-n{font-family:var(--head);font-size:1.5rem;line-height:1}
.pv-box.ok .pv-box-n{color:var(--green)}
.pv-box-n.vent{color:var(--orange)}
@media(max-width:640px){.pv-split{grid-template-columns:1fr}}

/* Faktalinje på videokort — påstand + hvor den er hentet fra */
.vid-fakta{margin-top:.75rem;padding-top:.7rem;border-top:1px solid var(--w14);
  display:flex;flex-direction:column;gap:.15rem}
.vid-fakta-t{font-size:.78rem;font-weight:650;color:var(--teal);line-height:1.35}
.vid-fakta-k{font-size:.68rem;color:var(--w40);line-height:1.35}
