#brx-content.wordpress>h1:first-child{display:none!important}
#brx-content.wordpress{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}
#brx-content .elementor-widget-html{overflow:visible!important;overflow-x:clip!important}

/* ============================================================================
   ISHELLA 2.5 — Kunnskapssenter (RED-FORWARD + ICE)
   Atmosfærisk ramme rundt eksisterende komponenter.
   Scoped til .is25-ks-wrap så den ikke konflikter med WP chrome.
   ============================================================================ */
/* Typografi-fallbacks (overrides bare hvis WP ikke har levert v24-tokens) */
:where(.is25-ks-wrap) {
  --v24-fs-xxs: .72rem;
  --v24-fs-xs:  .82rem;
  --v24-fs-sm:  .92rem;
  --v24-fs-md:  1rem;
  --v24-fs-lg:  1.12rem;
  --v24-fs-xl:  1.4rem;
  --v24-fs-2xl: clamp(1.6rem, 3vw, 2.1rem);
  --v24-fs-3xl: clamp(2.1rem, 5vw, 3.6rem);
  --v24-radius-sm: 12px;
  --v24-radius-md: 16px;
  --v24-radius-pill: 999px;
  --v24-bg-base:  #050a18;
  --v24-bg-deep:  #03060d;
  --v24-text-primary: #f1f5f9;
  --isbat-font-heading: 'Outfit', system-ui, sans-serif;
}

.is25-ks-wrap {
  --is25-ice:        #38bdf8;
  --is25-ice-bright: #7dd3fc;
  --is25-ice-pale:   #bae6fd;
  --is25-ice-deep:   #0284c7;
  --is25-red:        #ff0033;
  --is25-red-bright: #ff3b61;
  --is25-red-deep:   #cc0029;
  --is25-emerald:    #34d399;
  --is25-amber:      #fcb900;
  --is25-purple:     #9b51e0;
  --is25-bg-deep:    #03060d;
  --is25-bg-base:    #050a18;
  --is25-grad-red:   linear-gradient(135deg, var(--is25-red-bright) 0%, var(--is25-red) 50%, var(--is25-red-deep) 100%);
  --is25-grad-ice:   linear-gradient(135deg, var(--is25-ice-bright) 0%, var(--is25-ice) 50%, var(--is25-ice-deep) 100%);
  --is25-grad-mix:   linear-gradient(135deg, var(--is25-red-bright) 0%, var(--is25-ice) 70%, var(--is25-ice-bright) 100%);
  --is25-glow-ice:   0 0 60px rgba(56,189,248,.32), 0 0 120px rgba(56,189,248,.14);
  --is25-glow-red:   0 0 60px rgba(255,0,51,.32), 0 0 120px rgba(255,0,51,.14);

  position: relative;
  isolation: isolate;
  overflow: hidden;
}

/* Aurora bakgrunn — multi-layer radial gradients, scoped */
.is25-ks-wrap::before {
  content: "";
  position: absolute; inset: 0; z-index: -2;
  pointer-events: none;
  background:
    radial-gradient(ellipse 70% 50% at 8% 6%,   rgba(255,0,51,.20) 0%, transparent 62%),
    radial-gradient(ellipse 55% 45% at 92% 18%, rgba(56,189,248,.18) 0%, transparent 65%),
    radial-gradient(ellipse 50% 45% at 50% 92%, rgba(155,81,224,.10) 0%, transparent 70%),
    radial-gradient(ellipse 40% 35% at 20% 80%, rgba(56,189,248,.10) 0%, transparent 70%),
    linear-gradient(180deg, var(--is25-bg-deep) 0%, var(--is25-bg-base) 60%, var(--is25-bg-deep) 100%);
  background-attachment: fixed;
  animation: is25KsAurora 32s ease-in-out infinite alternate;
}

/* Subtle film grain overlay */
.is25-ks-wrap::after {
  content: "";
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  opacity: .28; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .5 0'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.6'/></svg>");
}

@keyframes is25KsAurora {
  0%   { background-position: 0% 0%, 100% 0%, 50% 100%, 20% 80%, 0 0; }
  100% { background-position: 6% 8%, 94% 22%, 55% 92%, 24% 76%, 0 0; }
}

/* Floating ice particles overlay (decorative) */
.is25-ks-wrap .is25-ice-shimmer {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image:
    radial-gradient(circle at 18% 22%, rgba(186,230,253,.30) 0, transparent 1px),
    radial-gradient(circle at 72% 38%, rgba(125,211,252,.26) 0, transparent 1px),
    radial-gradient(circle at 42% 78%, rgba(56,189,248,.20) 0, transparent 1px),
    radial-gradient(circle at 88% 88%, rgba(186,230,253,.18) 0, transparent 1px),
    radial-gradient(circle at 12% 62%, rgba(125,211,252,.16) 0, transparent 1px);
  background-size: 240px 240px, 320px 320px, 280px 280px, 360px 360px, 200px 200px;
  animation: is25KsShimmer 22s linear infinite;
  opacity: .5;
}
@keyframes is25KsShimmer {
  0%   { transform: translateY(0); }
  100% { transform: translateY(-140px); }
}

/* Scroll-progress bar — gradient red→ice */
.is25-progress {
  position: fixed; top: 0; left: 0; height: 2px; width: 0%;
  background: linear-gradient(90deg, var(--is25-red, #ff0033), var(--is25-red-bright, #ff3b61), var(--is25-ice, #38bdf8), var(--is25-ice-bright, #7dd3fc));
  z-index: 9999; pointer-events: none;
  box-shadow: 0 0 8px rgba(56,189,248,.55);
}

/* Skip link i ishella-2.5 stil */
.is25-skip {
  position: absolute; top: -100%; left: 16px; z-index: 9999;
  padding: 12px 22px;
  background: var(--is25-red, #ff0033);
  color: #fff; font-weight: 700;
  border-radius: 10px;
  transition: top .3s;
}
.is25-skip:focus { top: 16px; }

/* Hero glow-pill polish (gradient border på tags) */
.is25-ks-wrap .is25-ks-hero-label {
  background: rgba(56,189,248,.10);
  border: 1px solid rgba(125,211,252,.32);
  backdrop-filter: blur(10px);
  border-radius: 999px;
  padding: 8px 16px;
  display: inline-flex; align-items: center; gap: 8px;
  box-shadow: 0 0 20px rgba(56,189,248,.16), inset 0 0 10px rgba(186,230,253,.08);
}

@media (prefers-reduced-motion: reduce) {
  .is25-ks-wrap::before,
  .is25-ks-wrap .is25-ice-shimmer { animation: none !important; }
}

/* @import for Inter/JetBrains-Mono fjernet — fonts allerede lastet av WP-temaet,
   og @import mid-stylesheet (etter inline page-CSS) blir ignorert av nettleseren */

:root{--ease:cubic-bezier(.22,1,.36,1);--ease-expo:cubic-bezier(.19,1,.22,1);--radius-sm:var(--v24-radius-sm);--radius-md:var(--v24-radius-md);--radius-lg:22px;--radius-full:var(--v24-radius-pill);--emerald:#34d399}

/* ==========================================================================
   Kunnskapssenter – Base + Components
   ISHELLA V2.1 scoped
   ========================================================================== */
.elementor-widget-html { color: var(--text-primary, #f1f5f9); background-color: var(--bg-deep, #020617); font-family: var(--font-body, sans-serif); color-scheme: dark; }

/* Scoped reset — Astra handles html/body globals */
.is25-ks-wrap *, .is25-ks-wrap *::before, .is25-ks-wrap *::after {
    margin:0; padding:0; box-sizing:border-box;
}
.is25-ks-wrap img { max-width:100%; height:auto; display:block; }
.is25-ks-wrap a { text-decoration:none; color:inherit; }
.is25-ks-wrap h1,.is25-ks-wrap h2,.is25-ks-wrap h3,
.is25-ks-wrap h4,.is25-ks-wrap h5,.is25-ks-wrap h6 {
    font-family:var(--isbat-font-heading); font-weight:800; line-height:1.1; letter-spacing:-.025em;
}
.is25-ks-wrap {
    --brand-red: #FF0033;
    --brand-red-hover: #ff1a4a;
    --brand-red-deep: #cc0029;
    --brand-blue: rgb(0,51,153);
    --bg-deep: #020617;
    --bg-surface: #0b1122;
    --bg-elevated: #151f30;
    --ice-blue: #38bdf8;
    --ice-blue-light: #7dd3fc;
    --text-primary: #f1f5f9;
    --text-secondary: #f0f4f8;
    --text-muted: #dce4ed;
    --border-subtle: rgba(255,255,255,.15);
    --font-heading: 'Outfit', sans-serif;
    --font-body: 'Plus Jakarta Sans', sans-serif;
    --ease: cubic-bezier(.25,.46,.45,.94);
    --radius-full: 100px;
    background: var(--bg-deep);
    color: var(--text-primary);
    font-family: var(--font-body);
    min-height:70vh;
}

/* --- HERO --- */
.is25-ks-hero { padding:clamp(4.5rem,10vw,7rem) 1.5rem clamp(2.5rem,5vw,3.5rem); text-align:center; position:relative; }
.is25-ks-hero-inner { max-width:800px; margin:0 auto; }
.is25-ks-hero-label { color:var(--ice-blue); font-size:var(--v24-fs-xs); font-weight:700; letter-spacing:.15em; text-transform:uppercase; margin-bottom:.75rem; }
.is25-ks-hero h1 { font-family:var(--font-heading); font-size:var(--v24-fs-3xl); font-weight:800; line-height:1.15; margin-bottom:1.25rem; }
.is25-ks-hero-desc { color:var(--text-secondary); font-size:var(--v24-fs-lg); line-height:1.7; max-width:640px; margin:0 auto; }
.is25-ks-hero-meta {
    display:flex; align-items:center; justify-content:center; gap:1.5rem;
    margin-top:1.5rem; font-size:var(--v24-fs-xs); color:var(--text-muted); font-weight:500;
}
.is25-ks-hero-meta span { display:inline-flex; align-items:center; gap:.45rem; }
.is25-ks-hero-meta i { font-size:var(--v24-fs-xxs); color:var(--ice-blue); opacity:.7; }
.is25-ks-scroll-hint {
    display:block; margin:2rem auto 0; width:32px; height:32px;
    color:var(--ice-blue); opacity:.4;
    animation:svKsFloat 2.5s ease-in-out infinite;
}
@keyframes svKsFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(6px); } }

/* --- ARTICLES SECTION --- */
.is25-ks-articles { padding:0 1.5rem 4rem; }
.is25-ks-articles-inner { max-width:1100px; margin:0 auto; }

/* --- SEARCH TOOLS --- */
.is25-ks-tools {
    display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:0 0 2rem;
    position:sticky; top:8px; z-index:40;
    background:rgba(11,18,32,.92); backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    padding:10px; border-radius:12px;
    border:1px solid rgba(148,163,184,.18);
}
.is25-ks-search {
    flex:1; min-width:260px; padding:12px 14px; border-radius:10px;
    border:1px solid rgba(148,163,184,.3); background:rgba(17,24,39,.85);
    color:#f1f5f9; font-size:var(--v24-fs-sm);
    transition:border-color .2s,box-shadow .2s;
}
.is25-ks-search::placeholder { color:#9db0c4; }
.is25-ks-search:focus { outline:2px solid var(--ice-blue); outline-offset:2px; border-color:var(--ice-blue); box-shadow:0 0 0 3px rgba(56,189,248,.2); }
.is25-ks-count { font-size:var(--v24-fs-xs); color:#c8d7e8; }
.is25-ks-article-card.is25-ks-hidden { display:none !important; }

/* --- CLUSTER SECTIONS --- */
.is25-ks-cluster { --cluster-accent: var(--ice-blue); }
.is25-ks-cluster + .is25-ks-cluster {
    border-top:1px solid rgba(148,163,184,.08);
    padding-top:clamp(2.5rem,4vw,3.5rem);
    margin-top:clamp(2.5rem,4vw,3.5rem);
}
.is25-ks-cluster-title {
    font-family:var(--font-heading); font-size:var(--v24-fs-xl); color:var(--text-primary);
    margin:0 0 1.25rem; padding-left:14px;
    border-left:3px solid var(--cluster-accent);
    border-bottom:none;
    letter-spacing:-.01em;
}

/* --- ARTICLE GRID --- */
.is25-ks-article-grid {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:1.25rem; margin-bottom:0;
}
.is25-ks-grid--2 { grid-template-columns:repeat(2,1fr); max-width:740px; }
.is25-ks-grid--3 { grid-template-columns:repeat(3,1fr); }

/* --- ARTICLE CARDS --- */
.is25-ks-article-card {
    display:flex; flex-direction:column;
    padding:1.5rem 1.5rem 1.25rem;
    background:linear-gradient(160deg,rgba(17,24,39,.7),rgba(15,23,42,.6));
    backdrop-filter:blur(16px) saturate(1.3);
    -webkit-backdrop-filter:blur(16px) saturate(1.3);
    border:1px solid var(--border-subtle);
    border-top:2px solid var(--cluster-accent);
    border-radius:16px;
    text-decoration:none;
    transition:all .35s var(--ease);
    position:relative;
    overflow:hidden;
    min-height:190px;
}
.is25-ks-article-card::before {
    content:''; position:absolute; inset:0;
    background:linear-gradient(135deg,rgba(56,189,248,.04) 0%,transparent 60%);
    border-radius:inherit; pointer-events:none;
    transition:opacity .35s; opacity:0;
}
.is25-ks-article-card:hover {
    border-color:rgba(56,189,248,.22);
    background:linear-gradient(160deg,rgba(26,35,50,.8),rgba(20,30,48,.75));
    transform:translateY(-3px);
    box-shadow:0 12px 40px rgba(0,0,0,.35),0 0 0 1px rgba(56,189,248,.08);
}
.is25-ks-article-card:hover::before { opacity:1; }
.is25-ks-article-card:focus-visible { outline:2px solid var(--ice-blue); outline-offset:2px; }

.is25-ks-card-header { display:flex; align-items:center; gap:.75rem; margin-bottom:.65rem; }
.is25-ks-card-icon {
    color:var(--cluster-accent); font-size:var(--v24-fs-md);
    width:36px; height:36px; display:flex; align-items:center; justify-content:center;
    background:rgba(56,189,248,.1); border-radius:10px; flex-shrink:0;
    transition:background .3s,color .3s;
}
.is25-ks-article-card:hover .is25-ks-card-icon { background:rgba(56,189,248,.18); color:var(--ice-blue-light); }
.is25-ks-card-title { font-family:var(--font-heading); font-size:var(--v24-fs-md); color:var(--text-primary); margin:0; font-weight:700; line-height:1.3; text-wrap:balance; }
.is25-ks-card-desc { color:var(--text-muted); font-size:var(--v24-fs-sm); line-height:1.55; margin:0; flex:1; }
.is25-ks-card-arrow {
    display:flex; align-items:center; gap:6px; margin-top:.75rem;
    font-size:var(--v24-fs-xs); font-weight:600; color:var(--ice-blue);
    opacity:.6; transition:opacity .3s,transform .3s;
}
.is25-ks-article-card:hover .is25-ks-card-arrow { opacity:1; transform:translateX(3px); }

/* --- CTA SECTION --- */
.is25-ks-cta-section {
    margin-top:clamp(3rem,5vw,4.5rem);
    padding:clamp(2rem,4vw,3rem) 1.5rem;
    background:linear-gradient(160deg,rgba(17,24,39,.6),rgba(15,23,42,.5));
    backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
    border:1px solid var(--border-subtle);
    border-radius:16px; text-align:center;
}
.is25-ks-cta-section .is25-ks-cta-title {
    font-family:var(--font-heading); font-size:var(--v24-fs-xl);
    color:var(--text-primary); margin:0 0 1rem; font-weight:800;
}
.is25-ks-cta-section p {
    color:var(--text-muted); font-size:var(--v24-fs-sm); line-height:1.65;
    max-width:600px; margin:0 auto 1.5rem;
}
.is25-ks-btn-group { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }
.is25-ks-btn {
    display:inline-flex; align-items:center; gap:8px;
    padding:13px 28px; font-family:var(--font-heading); font-size:var(--v24-fs-xs);
    font-weight:700; letter-spacing:.03em; text-transform:uppercase;
    border-radius:10px; border:none; cursor:pointer;
    transition:all .35s var(--ease); position:relative; overflow:hidden;
}
.is25-ks-btn i { font-size:var(--v24-fs-xxs); transition:transform .3s var(--ease); }
.is25-ks-btn:hover i { transform:translateX(3px); }
.is25-ks-btn--primary {
    background:linear-gradient(135deg,var(--brand-red),var(--brand-red-deep));
    color:#fff; box-shadow:0 4px 20px rgba(255,0,51,.25);
}
.is25-ks-btn--primary:hover {
    transform:translateY(-2px);
    box-shadow:0 6px 28px rgba(255,0,51,.35);
}
.is25-ks-btn--ghost {
    background:rgba(56,189,248,.1); color:var(--ice-blue);
    border:1px solid rgba(56,189,248,.3);
}
.is25-ks-btn--ghost:hover {
    background:rgba(56,189,248,.18); color:#fff;
    border-color:rgba(56,189,248,.5);
}
.is25-ks-btn:focus-visible { outline:2px solid var(--ice-blue); outline-offset:3px; }

/* --- UI ELEMENTS --- */
.isbat-ui-progress { position:fixed; top:0; left:0; height:3px; width:0; background:linear-gradient(90deg,#FF0033,#38bdf8); z-index:9999; transition:width .12s ease; pointer-events:none; }
.isbat-ui-top { position:fixed; right:max(16px,env(safe-area-inset-right)); bottom:max(16px,env(safe-area-inset-bottom)); width:44px; height:44px; border-radius:999px; border:1px solid rgba(56,189,248,.45); background:rgba(8,16,32,.92); color:#7dd3fc; display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transform:translateY(6px); transition:.2s; cursor:pointer; z-index:9998; }
.isbat-ui-top.is-visible { opacity:1; visibility:visible; transform:none; }
.isbat-ui-top:hover { color:#fff; border-color:#7dd3fc; }

/* --- SKIP LINK & A11Y --- */
.sv-skip-link { position:absolute; top:-100%; left:16px; z-index:9999; padding:12px 24px; background:var(--brand-red); color:#fff; font-weight:700; border-radius:8px; transition:top .3s; }
.sv-skip-link:focus { top:16px; }
img[loading="lazy"] { background:none !important; animation:none !important; }
.is25-ks-card-title { text-wrap:balance; letter-spacing:-.012em; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline:2px solid #38bdf8; outline-offset:3px; }

/* --- TABLET --- */
@media(min-width:769px) and (max-width:1024px) {
    .is25-ks-article-grid { grid-template-columns:repeat(2,1fr); }
    .is25-ks-grid--2 { max-width:none; }
    .is25-ks-grid--3 { grid-template-columns:repeat(2,1fr); }
}

/* --- MOBILE --- */
@media(max-width:768px) {
    .is25-ks-wrap { padding-bottom:32px; }
    .is25-ks-hero { padding:3.5rem 1.25rem 2rem; }
    .is25-ks-hero-meta { gap:1rem; font-size:var(--v24-fs-xs); }
    .is25-ks-article-grid,
    .is25-ks-grid--2,
    .is25-ks-grid--3 { grid-template-columns:1fr; gap:1rem; max-width:none; }
    .is25-ks-article-card { padding:1.25rem 1.25rem 1rem; min-height:auto; }
    .is25-ks-tools { top:4px; }
    .is25-ks-search { min-width:100%; }
    .is25-ks-cluster + .is25-ks-cluster { margin-top:2rem; padding-top:2rem; }
    .is25-ks-btn-group { flex-direction:column; align-items:center; }
    .is25-ks-btn-group .is25-ks-btn { width:100%; max-width:320px; justify-content:center; }
    .is25-ks-scroll-hint { display:none; }
}

/* --- SMALL MOBILE --- */
@media(max-width:375px) {
    .is25-ks-hero h1 { font-size:var(--v24-fs-2xl); }
    .is25-ks-hero-desc { font-size:var(--v24-fs-sm); }
    .is25-ks-cluster-title { font-size:var(--v24-fs-lg); }
    .is25-ks-card-title { font-size:var(--v24-fs-sm); }
    .is25-ks-card-desc { font-size:var(--v24-fs-xs); }
    .is25-ks-cta-section { padding:2rem 1rem; }
}

/* --- REDUCED MOTION --- */
@media(prefers-reduced-motion:reduce) {
    .isbat-ui-progress, .isbat-ui-top { transition:none !important; }
    .is25-ks-scroll-hint { animation:none; }
    * { scroll-behavior:auto !important; }
}

/* ==========================================================================
   Kunnskapssenter – Unified Dark Theme Overrides
   ========================================================================== */
:root {
  --ud-bg:#030712;
  --ud-surface:#0b1220;
  --ud-card:#111827;
  --ud-border:rgba(148,163,184,.25);
  --ud-text:#e5edf7;
  --ud-muted:#a9bbcf;
  --ud-title:#f8fbff;
  --ud-red:#ff0033;
  --ud-cyan:#38bdf8;
}
.elementor-widget-html { background:var(--ud-bg) !important; color:var(--ud-text) !important; }
.sv-kunnskapssenter-page .is25-ks-wrap { background:linear-gradient(180deg,#030712 0%,#071427 40%,#030712 100%) !important; color:var(--ud-text) !important; }
.sv-kunnskapssenter-page .is25-ks-hero { background:radial-gradient(1200px 420px at 85% -20%, rgba(255,0,51,.18), transparent 60%),radial-gradient(900px 320px at 10% 0%, rgba(56,189,248,.2), transparent 62%),linear-gradient(180deg,#0a1a31 0%,#0b1220 100%) !important; border-bottom:1px solid var(--ud-border) !important; }
.sv-kunnskapssenter-page h1,
.sv-kunnskapssenter-page h2,
.sv-kunnskapssenter-page h3 { color:var(--ud-title) !important; letter-spacing:-.02em !important; text-wrap:balance; }
.sv-kunnskapssenter-page .sv-tagline,
.sv-kunnskapssenter-page .is25-ks-hero-desc,
.sv-kunnskapssenter-page p { color:var(--ud-text) !important; }
.sv-kunnskapssenter-page .is25-ks-article-card { background:linear-gradient(160deg,rgba(17,24,39,.88),rgba(15,23,42,.84)) !important; border:1px solid var(--ud-border) !important; border-top:2px solid var(--cluster-accent, var(--ud-cyan)) !important; box-shadow:0 10px 30px rgba(0,0,0,.28) !important; }
.sv-kunnskapssenter-page .is25-ks-article-card:hover { border-color:rgba(56,189,248,.45) !important; transform:translateY(-2px) !important; }
.sv-kunnskapssenter-page .is25-ks-btn { min-height:46px !important; font-weight:700 !important; }
.sv-kunnskapssenter-page .is25-ks-btn--primary { background:linear-gradient(135deg,#ff0033,#d7002c) !important; color:#fff !important; }
.sv-kunnskapssenter-page .is25-ks-btn--ghost { background:rgba(56,189,248,.12) !important; border:1px solid rgba(56,189,248,.45) !important; color:#cdeeff !important; }
.sv-kunnskapssenter-page .is25-ks-btn--ghost:hover { background:rgba(56,189,248,.2) !important; color:#fff !important; }
.sv-kunnskapssenter-page .sv-badge,
.sv-kunnskapssenter-page .is25-ks-hero-label { color:#7dd3fc !important; border-color:rgba(56,189,248,.35) !important; }
.sv-kunnskapssenter-page .is25-ks-tools { background:rgba(11,18,32,.92) !important; border:1px solid var(--ud-border) !important; }
.sv-kunnskapssenter-page .is25-ks-search { background:rgba(17,24,39,.9) !important; border:1px solid rgba(148,163,184,.35) !important; color:#e5edf7 !important; }
.sv-kunnskapssenter-page .is25-ks-search:focus { outline:2px solid var(--ud-cyan) !important; box-shadow:0 0 0 3px rgba(56,189,248,.2) !important; }
.sv-kunnskapssenter-page a { color:#7dd3fc; }
.sv-kunnskapssenter-page a:hover { color:#cdeeff; }
html { scroll-padding-top:0.75rem; }
@media(max-width:760px) {
  .sv-kunnskapssenter-page .is25-ks-article-grid { grid-template-columns:1fr !important; }
}

.is25-ks-cluster-header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}
.is25-ks-cluster-header .is25-ks-cluster-title{margin:0}
.is25-ks-cluster-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem;font-weight:600;color:var(--cluster-accent,var(--ice-blue));text-decoration:none;padding:.45rem .9rem;border-radius:999px;border:1px solid currentColor;background:rgba(255,255,255,.03);transition:background .2s ease,transform .2s ease}
.is25-ks-cluster-link:hover{background:rgba(255,255,255,.08);transform:translateX(2px)}
.is25-ks-cluster-link i{font-size:.75rem}

/* ==========================================================================
   Kunnskapssenter — Sprint B: Tools (Energi-kalkulator, benchmark, tiltak)
   ISHELLA V2.5 scoped — kun aktivt under .is25-ks-wrap
   ========================================================================== */

/* --- Energi-side hero-variant + jump-pill --- */
.is25-ks-wrap .is25-ks-energi-hero { --cluster-accent: #ff0033; --cluster-accent-soft: rgba(255,0,51,.14); }
.is25-ks-wrap .is25-ks-breadcrumb {
    display:flex; flex-wrap:wrap; gap:.5rem; align-items:center;
    justify-content:center;
    font-size:var(--v24-fs-xs,.8125rem); color:var(--text-muted);
    margin-bottom:1.25rem;
}
.is25-ks-wrap .is25-ks-breadcrumb a { color:var(--text-secondary); text-decoration:none; transition:color .2s; }
.is25-ks-wrap .is25-ks-breadcrumb a:hover { color:var(--ice-blue); }
.is25-ks-wrap .is25-ks-breadcrumb-sep { color:var(--text-muted); opacity:.55; }
.is25-ks-wrap .is25-ks-hero-jump {
    display:inline-flex; align-items:center; gap:.45rem;
    margin-top:1.5rem; padding:.55rem 1.1rem;
    border-radius:999px; border:1px solid rgba(255,0,51,.4);
    background:rgba(255,0,51,.08); color:#ff0033;
    font-size:.8125rem; font-weight:600; text-decoration:none;
    transition:background .2s, transform .2s;
}
.is25-ks-wrap .is25-ks-hero-jump:hover { background:rgba(255,0,51,.18); transform:translateY(-1px); }

/* --- Section heads (felles for tool/bench/tiltak/cases) --- */
.is25-ks-wrap .is25-ks-section-head { max-width:880px; margin:0 auto 2rem; text-align:center; }
.is25-ks-wrap .is25-ks-section-head h2 {
    font-family:var(--font-heading); font-size:clamp(1.6rem,3vw,2.25rem);
    margin:0 0 .65rem; color:var(--text-primary); letter-spacing:-.015em;
}
.is25-ks-wrap .is25-ks-section-head p {
    color:var(--text-muted); font-size:1rem; line-height:1.65; margin:0;
}

/* --- Tool-section wrapper --- */
.is25-ks-wrap .is25-ks-tool-section {
    padding:clamp(2.5rem,5vw,4.5rem) 1.5rem;
    background:radial-gradient(ellipse at top,rgba(255,0,51,.08) 0%,transparent 55%),
               linear-gradient(180deg,rgba(11,17,34,.4),var(--bg-deep));
}
.is25-ks-wrap .is25-ks-tool-inner { max-width:1100px; margin:0 auto; }
.is25-ks-wrap .is25-ks-tool-head { text-align:center; margin-bottom:2.25rem; }
.is25-ks-wrap .is25-ks-tool-badge {
    display:inline-flex; align-items:center; gap:.45rem;
    padding:.4rem .9rem; border-radius:999px;
    background:linear-gradient(135deg,rgba(255,0,51,.25),rgba(204,0,41,.18));
    border:1px solid rgba(255,0,51,.3);
    color:#ffb3c1; font-size:.75rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
    margin-bottom:1rem;
}
.is25-ks-wrap .is25-ks-tool-head h2 {
    font-family:var(--font-heading); font-size:clamp(1.75rem,3.5vw,2.5rem);
    margin:0 0 .75rem; color:var(--text-primary); letter-spacing:-.02em;
}
.is25-ks-wrap .is25-ks-tool-lede { color:var(--text-muted); font-size:1.05rem; line-height:1.65; max-width:680px; margin:0 auto; }

/* --- Calculator: layout --- */
.is25-ks-wrap .is25-ks-calc {
    display:grid; grid-template-columns:1fr 1fr; gap:1.75rem;
    background:linear-gradient(160deg,rgba(17,24,39,.85),rgba(15,23,42,.7));
    border:1px solid var(--border-subtle); border-left:3px solid #ff0033;
    border-radius:18px; padding:clamp(1.5rem,3vw,2.25rem);
    backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
    box-shadow:0 18px 48px rgba(0,0,0,.32);
}
.is25-ks-wrap .is25-ks-calc-inputs,
.is25-ks-wrap .is25-ks-calc-options {
    display:flex; flex-direction:column; gap:1rem;
    border:none; padding:0; margin:0;
}
.is25-ks-wrap .is25-ks-calc-legend {
    font-family:var(--font-heading); font-size:.85rem; font-weight:700;
    color:#ff0033; letter-spacing:.08em; text-transform:uppercase;
    padding:0; margin-bottom:.25rem;
}
.is25-ks-wrap .is25-ks-calc-input { display:flex; flex-direction:column; gap:.4rem; }
.is25-ks-wrap .is25-ks-calc-input > label {
    font-size:.875rem; font-weight:600; color:var(--text-secondary);
    display:flex; justify-content:space-between; align-items:baseline;
}
.is25-ks-wrap .is25-ks-calc-meta { font-size:.75rem; color:var(--text-muted); font-weight:500; }
.is25-ks-wrap .is25-ks-calc-help { font-size:.75rem; color:var(--text-muted); margin:.15rem 0 0; }
.is25-ks-wrap .is25-ks-calc-input select,
.is25-ks-wrap .is25-ks-calc-input input[type="number"],
.is25-ks-wrap .is25-ks-calc-input input[type="text"] {
    width:100%; padding:.7rem .85rem; border-radius:10px;
    border:1px solid rgba(148,163,184,.3); background:rgba(8,14,28,.85);
    color:var(--text-primary); font-size:.95rem; font-family:inherit;
    transition:border-color .2s, box-shadow .2s;
}
.is25-ks-wrap .is25-ks-calc-input select:focus,
.is25-ks-wrap .is25-ks-calc-input input:focus {
    outline:none; border-color:#ff0033; box-shadow:0 0 0 3px rgba(255,0,51,.18);
}
.is25-ks-wrap .is25-ks-calc-input input[type="range"] {
    width:100%; accent-color:#ff0033; margin-top:.25rem;
}
.is25-ks-wrap .is25-ks-calc-hidden { display:none !important; }

/* --- Calculator: radio + check --- */
.is25-ks-wrap .is25-ks-calc-radiogroup,
.is25-ks-wrap .is25-ks-calc-options {
    border:1px dashed rgba(148,163,184,.18); border-radius:12px;
    padding:1rem 1.1rem; background:rgba(8,14,28,.4);
}
.is25-ks-wrap .is25-ks-calc-radiogroup legend,
.is25-ks-wrap .is25-ks-calc-options legend {
    padding:0 .5rem;
}
.is25-ks-wrap .is25-ks-calc-radio,
.is25-ks-wrap .is25-ks-calc-check {
    display:grid; grid-template-columns:auto 1fr; align-items:center;
    column-gap:.7rem; row-gap:0; padding:.55rem .25rem;
    cursor:pointer; border-radius:8px; transition:background .15s;
}
.is25-ks-wrap .is25-ks-calc-radio:hover,
.is25-ks-wrap .is25-ks-calc-check:hover { background:rgba(255,0,51,.06); }
.is25-ks-wrap .is25-ks-calc-radio input,
.is25-ks-wrap .is25-ks-calc-check input { accent-color:#ff0033; transform:scale(1.1); }
.is25-ks-wrap .is25-ks-calc-radio span,
.is25-ks-wrap .is25-ks-calc-check span { font-weight:600; color:var(--text-primary); font-size:.95rem; }
.is25-ks-wrap .is25-ks-calc-radio small,
.is25-ks-wrap .is25-ks-calc-check small {
    grid-column:2; color:var(--text-muted); font-size:.78rem; margin-top:.15rem;
}

/* --- Calculator: output cards --- */
.is25-ks-wrap .is25-ks-calc-output {
    grid-column:1 / -1;
    display:grid; grid-template-columns:1fr 1fr; gap:1rem;
    margin-top:.5rem;
}
.is25-ks-wrap .is25-ks-calc-result-card {
    padding:1.5rem; border-radius:14px;
    background:linear-gradient(160deg,rgba(8,14,28,.85),rgba(11,17,34,.7));
    border:1px solid rgba(148,163,184,.22);
    display:flex; flex-direction:column; gap:.4rem;
    transition:transform .2s, border-color .2s;
}
.is25-ks-wrap .is25-ks-calc-result-card:hover { transform:translateY(-2px); }
.is25-ks-wrap .is25-ks-calc-result-primary { border-left:3px solid #ff0033; }
.is25-ks-wrap .is25-ks-calc-result-savings { border-left:3px solid #34d399; }
.is25-ks-wrap .is25-ks-calc-result-label {
    font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
    color:var(--text-muted);
}
.is25-ks-wrap .is25-ks-calc-result-value {
    font-family:var(--font-heading); font-size:clamp(1.65rem,3vw,2.25rem);
    font-weight:800; color:var(--text-primary); letter-spacing:-.02em; line-height:1.1;
}
.is25-ks-wrap .is25-ks-calc-result-savings .is25-ks-calc-result-value { color:#6ee7b7; }
.is25-ks-wrap .is25-ks-calc-unit {
    font-size:.875rem; font-weight:500; color:var(--text-muted); text-transform:lowercase;
}
.is25-ks-wrap .is25-ks-calc-result-sub {
    font-size:.875rem; color:var(--text-muted);
}

/* --- Calculator: CTA + method --- */
.is25-ks-wrap .is25-ks-calc-cta {
    grid-column:1 / -1;
    display:flex; flex-wrap:wrap; gap:.75rem; justify-content:center;
    margin-top:.5rem;
}
.is25-ks-wrap .is25-ks-calc-method {
    grid-column:1 / -1;
    border-top:1px dashed rgba(148,163,184,.2); padding-top:1.25rem; margin-top:.75rem;
}
.is25-ks-wrap .is25-ks-calc-method summary {
    cursor:pointer; font-size:.875rem; color:#ff0033; font-weight:600;
    list-style:none; display:inline-flex; align-items:center; gap:.5rem;
    padding:.4rem .85rem; border-radius:999px;
    background:rgba(255,0,51,.08); border:1px solid rgba(255,0,51,.25);
    transition:background .2s;
}
.is25-ks-wrap .is25-ks-calc-method summary::-webkit-details-marker { display:none; }
.is25-ks-wrap .is25-ks-calc-method summary:hover { background:rgba(255,0,51,.16); }
.is25-ks-wrap .is25-ks-calc-method[open] summary { margin-bottom:1rem; }
.is25-ks-wrap .is25-ks-calc-method-body p { color:var(--text-muted); font-size:.95rem; line-height:1.65; margin:0 0 .85rem; }
.is25-ks-wrap .is25-ks-calc-formula {
    background:rgba(0,0,0,.5); border:1px solid rgba(148,163,184,.25);
    border-radius:10px; padding:1rem; overflow-x:auto;
    font-family:'JetBrains Mono', ui-monospace, monospace;
    font-size:.82rem; line-height:1.55; color:#cdeeff;
    margin:0 0 .85rem; white-space:pre;
}
.is25-ks-wrap .is25-ks-calc-note { font-size:.85rem; color:var(--text-muted); }
.is25-ks-wrap .is25-ks-calc-note a { color:#ff0033; text-decoration:underline; }

/* --- Benchmark table --- */
.is25-ks-wrap .is25-ks-bench-section { padding:clamp(2.5rem,5vw,4rem) 1.5rem; }
.is25-ks-wrap .is25-ks-bench-inner { max-width:1100px; margin:0 auto; }
.is25-ks-wrap .is25-ks-bench-tablewrap {
    overflow-x:auto; border:1px solid var(--border-subtle); border-radius:14px;
    background:linear-gradient(160deg,rgba(17,24,39,.7),rgba(15,23,42,.6));
    backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
}
.is25-ks-wrap .is25-ks-bench-tablewrap:focus { outline:2px solid #ff0033; outline-offset:2px; }
.is25-ks-wrap .is25-ks-bench-table {
    width:100%; min-width:680px; border-collapse:collapse; font-size:.95rem;
}
.is25-ks-wrap .is25-ks-bench-table thead th {
    text-align:left; padding:1rem 1.1rem; font-family:var(--font-heading);
    font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
    color:#ff0033; border-bottom:2px solid rgba(255,0,51,.4);
    background:rgba(255,0,51,.06);
}
.is25-ks-wrap .is25-ks-bench-table tbody th[scope="row"] {
    text-align:left; padding:.85rem 1.1rem; font-weight:700; color:var(--text-primary);
    background:rgba(8,14,28,.4); position:sticky; left:0;
    border-right:1px solid rgba(148,163,184,.15);
}
.is25-ks-wrap .is25-ks-bench-table td {
    padding:.85rem 1.1rem; color:var(--text-secondary);
    border-bottom:1px solid rgba(148,163,184,.1);
}
.is25-ks-wrap .is25-ks-bench-table tbody tr:last-child td,
.is25-ks-wrap .is25-ks-bench-table tbody tr:last-child th { border-bottom:none; }
.is25-ks-wrap .is25-ks-bench-table tbody tr:hover td,
.is25-ks-wrap .is25-ks-bench-table tbody tr:hover th { background:rgba(255,0,51,.04); }
.is25-ks-wrap .is25-ks-bench-note {
    margin:1rem 0 0; font-size:.85rem; color:var(--text-muted);
    display:flex; align-items:flex-start; gap:.5rem;
}
.is25-ks-wrap .is25-ks-bench-note i { color:#ff0033; margin-top:.15rem; }
.is25-ks-wrap .is25-ks-bench-note a { color:#ff0033; text-decoration:underline; }

/* --- Indicative-data marker --- */
.is25-ks-wrap [data-confirm="indicative"]::after { content:"*"; color:#ff0033; margin-left:.15em; font-weight:600; }
.is25-ks-wrap [data-confirm="archive"]::after { content:""; }

/* --- Tiltak-grid --- */
.is25-ks-wrap .is25-ks-tiltak-section { padding:clamp(2.5rem,5vw,4rem) 1.5rem; }
.is25-ks-wrap .is25-ks-tiltak-inner { max-width:1200px; margin:0 auto; }
.is25-ks-wrap .is25-ks-tiltak-grid {
    list-style:none; padding:0; margin:0;
    display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem;
    counter-reset:tiltak;
}
.is25-ks-wrap .is25-ks-tiltak-card {
    display:flex; flex-direction:column; gap:.75rem;
    padding:1.4rem 1.4rem 1.25rem;
    background:linear-gradient(160deg,rgba(17,24,39,.78),rgba(15,23,42,.65));
    border:1px solid var(--border-subtle); border-radius:14px;
    transition:transform .25s var(--ease), border-color .25s, box-shadow .25s;
    backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
}
.is25-ks-wrap .is25-ks-tiltak-card:hover {
    transform:translateY(-3px); border-color:rgba(255,0,51,.35);
    box-shadow:0 14px 40px rgba(0,0,0,.32);
}
.is25-ks-wrap .is25-ks-tiltak-head { display:flex; align-items:center; gap:.75rem; }
.is25-ks-wrap .is25-ks-tiltak-head h3 {
    font-family:var(--font-heading); font-size:1rem; font-weight:700;
    color:var(--text-primary); margin:0; line-height:1.25; letter-spacing:-.01em;
}
.is25-ks-wrap .is25-ks-roi-badge {
    flex-shrink:0; width:36px; height:36px; border-radius:10px;
    display:inline-flex; align-items:center; justify-content:center;
    font-family:var(--font-heading); font-size:1.05rem; font-weight:800;
    color:#0a0f1c;
}
.is25-ks-wrap .is25-ks-roi-badge--green  { background:linear-gradient(135deg,#34d399,#10b981); }
.is25-ks-wrap .is25-ks-roi-badge--yellow { background:linear-gradient(135deg,#38bdf8,#0ea5e9); color:#fff; }
.is25-ks-wrap .is25-ks-roi-badge--red    { background:linear-gradient(135deg,#fb7185,#e11d48); color:#fff; }
.is25-ks-wrap .is25-ks-tiltak-card p {
    font-size:.875rem; color:var(--text-muted); line-height:1.55; margin:0; flex:1;
}
.is25-ks-wrap .is25-ks-tiltak-meta {
    display:grid; grid-template-columns:1fr; gap:.4rem;
    padding:.85rem; margin:0;
    background:rgba(8,14,28,.5); border-radius:10px;
    border:1px solid rgba(148,163,184,.12);
}
.is25-ks-wrap .is25-ks-tiltak-meta div {
    display:flex; justify-content:space-between; align-items:baseline; gap:.5rem;
}
.is25-ks-wrap .is25-ks-tiltak-meta dt {
    font-size:.72rem; font-weight:600; color:var(--text-muted);
    letter-spacing:.05em; text-transform:uppercase;
}
.is25-ks-wrap .is25-ks-tiltak-meta dd {
    font-size:.85rem; font-weight:700; color:var(--text-primary); margin:0;
    font-variant-numeric:tabular-nums;
}
.is25-ks-wrap .is25-ks-tiltak-cta {
    display:inline-flex; align-items:center; gap:.4rem;
    font-size:.78rem; font-weight:600; color:#ff0033;
    text-decoration:none; align-self:flex-start;
    transition:gap .2s;
}
.is25-ks-wrap .is25-ks-tiltak-cta:hover { gap:.65rem; }

/* --- Article cards extensions: meta-row + tags --- */
.is25-ks-wrap .is25-ks-card-meta-row {
    display:flex; gap:1rem; font-size:.78rem; color:var(--text-muted);
    margin:0 0 .55rem;
}
.is25-ks-wrap .is25-ks-card-meta-row span { display:inline-flex; align-items:center; gap:.35rem; }
.is25-ks-wrap .is25-ks-card-tags {
    display:flex; gap:.4rem; flex-wrap:wrap; margin-top:auto; padding-top:.5rem;
}
.is25-ks-wrap .is25-ks-tag {
    padding:.2rem .6rem; border-radius:999px;
    background:rgba(56,189,248,.1); border:1px solid rgba(56,189,248,.25);
    color:#7dd3fc; font-size:.7rem; font-weight:600; letter-spacing:.02em;
}

/* --- Cases section --- */
.is25-ks-wrap .is25-ks-cases-section { padding:clamp(2.5rem,5vw,4rem) 1.5rem; }
.is25-ks-wrap .is25-ks-cases-inner { max-width:1200px; margin:0 auto; }
.is25-ks-wrap .is25-ks-cases-grid {
    display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem;
}
.is25-ks-wrap .is25-ks-case-card {
    padding:1.5rem 1.5rem 1.25rem;
    background:linear-gradient(160deg,rgba(17,24,39,.78),rgba(15,23,42,.65));
    border:1px solid var(--border-subtle); border-radius:14px;
    display:flex; flex-direction:column; gap:.85rem;
    transition:transform .25s var(--ease), border-color .25s;
}
.is25-ks-wrap .is25-ks-case-card:hover { transform:translateY(-3px); border-color:rgba(56,189,248,.35); }
.is25-ks-wrap .is25-ks-case-head h3 {
    font-family:var(--font-heading); font-size:1.15rem; margin:.4rem 0 0;
    color:var(--text-primary); letter-spacing:-.01em;
}
.is25-ks-wrap .is25-ks-case-tag {
    display:inline-block; font-size:.7rem; font-weight:700;
    padding:.2rem .6rem; border-radius:999px;
    background:rgba(255,0,51,.14); color:#ffb3c1;
    letter-spacing:.06em; text-transform:uppercase;
}
.is25-ks-wrap .is25-ks-case-meta {
    display:grid; gap:.4rem; margin:0;
    padding:.75rem .85rem; border-radius:10px;
    background:rgba(8,14,28,.4); border:1px solid rgba(148,163,184,.12);
}
.is25-ks-wrap .is25-ks-case-meta div { display:flex; justify-content:space-between; gap:.5rem; }
.is25-ks-wrap .is25-ks-case-meta dt { font-size:.72rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:.05em; font-weight:600; }
.is25-ks-wrap .is25-ks-case-meta dd { font-size:.85rem; color:var(--text-primary); margin:0; font-weight:600; text-align:right; }
.is25-ks-wrap .is25-ks-case-card > p { font-size:.85rem; color:var(--text-muted); margin:0; }

/* --- Author block --- */
.is25-ks-wrap .is25-ks-author-section { padding:clamp(2rem,4vw,3rem) 1.5rem; }
.is25-ks-wrap .is25-ks-author-inner { max-width:880px; margin:0 auto; }
.is25-ks-wrap .is25-ks-author-block {
    padding:1.5rem 1.75rem;
    background:linear-gradient(160deg,rgba(17,24,39,.7),rgba(15,23,42,.55));
    border:1px solid var(--border-subtle); border-left:3px solid #ff0033;
    border-radius:14px;
}
.is25-ks-wrap .is25-ks-author-head { display:flex; gap:1rem; align-items:flex-start; }
.is25-ks-wrap .is25-ks-author-avatar {
    flex-shrink:0; width:48px; height:48px; border-radius:50%;
    display:inline-flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg,#ff0033,#cc0029);
    color:#0a0f1c; font-size:1.2rem;
}
.is25-ks-wrap .is25-ks-author-name { font-family:var(--font-heading); font-size:1.05rem; font-weight:700; color:var(--text-primary); margin:0; }
.is25-ks-wrap .is25-ks-author-role { font-size:.85rem; color:var(--text-muted); margin:.15rem 0 0; }
.is25-ks-wrap .is25-ks-author-date { font-size:.78rem; color:var(--text-muted); margin:.45rem 0 0; opacity:.85; }
.is25-ks-wrap .is25-ks-author-sources { margin-top:1rem; }
.is25-ks-wrap .is25-ks-author-sources summary {
    cursor:pointer; font-size:.85rem; color:var(--ice-blue); font-weight:600;
    list-style:none; padding:.35rem 0;
}
.is25-ks-wrap .is25-ks-author-sources summary::-webkit-details-marker { display:none; }
.is25-ks-wrap .is25-ks-author-sources summary::before { content:"+ "; color:#ff0033; }
.is25-ks-wrap .is25-ks-author-sources[open] summary::before { content:"− "; }
.is25-ks-wrap .is25-ks-author-sources ul {
    margin:.65rem 0 0; padding-left:1.1rem;
    color:var(--text-muted); font-size:.875rem; line-height:1.65;
}
.is25-ks-wrap .is25-ks-author-sources li + li { margin-top:.35rem; }

/* --- Other (related categories) — variant for 2 cols --- */
.is25-ks-wrap .is25-ks-cat-grid--2 { grid-template-columns:repeat(2,1fr); }
.is25-ks-wrap .is25-ks-other-inner h2 {
    font-family:var(--font-heading); font-size:clamp(1.4rem,2.5vw,1.85rem);
    text-align:center; margin:0 0 1.5rem; color:var(--text-primary);
}

/* --- TABLET (769–1024) --- */
@media(min-width:769px) and (max-width:1024px) {
    .is25-ks-wrap .is25-ks-tiltak-grid { grid-template-columns:repeat(3,1fr); }
    .is25-ks-wrap .is25-ks-cases-grid { grid-template-columns:repeat(2,1fr); }
}

/* --- MOBILE (≤768) --- */
@media(max-width:768px) {
    .is25-ks-wrap .is25-ks-calc { grid-template-columns:1fr; gap:1.25rem; padding:1.25rem; }
    .is25-ks-wrap .is25-ks-calc-output { grid-template-columns:1fr; }
    .is25-ks-wrap .is25-ks-calc-cta { flex-direction:column; }
    .is25-ks-wrap .is25-ks-calc-cta .is25-ks-btn { width:100%; justify-content:center; }
    .is25-ks-wrap .is25-ks-tiltak-grid { grid-template-columns:1fr; gap:1rem; }
    .is25-ks-wrap .is25-ks-cases-grid { grid-template-columns:1fr; }
    .is25-ks-wrap .is25-ks-cat-grid--2 { grid-template-columns:1fr; }
    .is25-ks-wrap .is25-ks-bench-tablewrap { border-radius:10px; }
    .is25-ks-wrap .is25-ks-bench-table thead th,
    .is25-ks-wrap .is25-ks-bench-table tbody th,
    .is25-ks-wrap .is25-ks-bench-table tbody td { padding:.7rem .85rem; font-size:.85rem; }
    .is25-ks-wrap .is25-ks-author-head { flex-direction:column; gap:.5rem; }
    .is25-ks-wrap .is25-ks-author-block { padding:1.25rem; }
}

/* --- SMALL MOBILE (≤375) --- */
@media(max-width:375px) {
    .is25-ks-wrap .is25-ks-calc-result-value { font-size:1.4rem; }
    .is25-ks-wrap .is25-ks-tiltak-card { padding:1.15rem; }
    .is25-ks-wrap .is25-ks-tiltak-meta { padding:.7rem; }
}

/* --- Reduced motion --- */
@media(prefers-reduced-motion:reduce) {
    .is25-ks-wrap .is25-ks-tiltak-card,
    .is25-ks-wrap .is25-ks-case-card,
    .is25-ks-wrap .is25-ks-calc-result-card,
    .is25-ks-wrap .is25-ks-hero-jump { transition:none !important; }
    .is25-ks-wrap .is25-ks-tiltak-card:hover,
    .is25-ks-wrap .is25-ks-case-card:hover { transform:none !important; }
}

/* ==========================================================================
   Kunnskapssenter — Sprint C: Tools (Konfigurator, sammenligning, TCO, kalender)
   ISHELLA V2.5 scoped — Ismaskin-temafarge: lilla #9b51e0
   ========================================================================== */

/* --- Ismaskin-side hero-variant + actions --- */
.is25-ks-wrap .is25-ks-ismaskiner-hero { --cluster-accent: #9b51e0; }
.is25-ks-wrap .is25-ks-hero-actions { display:flex; flex-wrap:wrap; gap:.6rem; justify-content:center; margin-top:1.5rem; }
.is25-ks-wrap .is25-ks-hero-jump--alt {
    border-color:rgba(155,81,224,.4); background:rgba(155,81,224,.08); color:#c4a3f0;
}
.is25-ks-wrap .is25-ks-hero-jump--alt:hover { background:rgba(155,81,224,.18); }
.is25-ks-wrap .is25-ks-ismaskiner-hero .is25-ks-hero-jump {
    border-color:rgba(155,81,224,.4); background:rgba(155,81,224,.08); color:#c4a3f0;
}
.is25-ks-wrap .is25-ks-ismaskiner-hero .is25-ks-hero-jump:hover { background:rgba(155,81,224,.18); }

/* --- Tool-section ism-tema --- */
.is25-ks-wrap .is25-ks-tool-section--ism {
    background:radial-gradient(ellipse at top,rgba(155,81,224,.10) 0%,transparent 55%),
               linear-gradient(180deg,rgba(11,17,34,.4),var(--bg-deep));
}
.is25-ks-wrap .is25-ks-tool-badge--ism {
    background:linear-gradient(135deg,rgba(155,81,224,.2),rgba(56,189,248,.15));
    border-color:rgba(155,81,224,.35); color:#d1b4f5;
}
.is25-ks-wrap .is25-ks-tool-section--tco {
    background:radial-gradient(ellipse at top,rgba(255,0,51,.10) 0%,transparent 55%),
               linear-gradient(180deg,rgba(11,17,34,.4),var(--bg-deep));
}
.is25-ks-wrap .is25-ks-tool-badge--tco {
    background:linear-gradient(135deg,rgba(255,0,51,.22),rgba(204,0,41,.18)); border-color:rgba(255,0,51,.4); color:#ffb3c1;
}
.is25-ks-wrap .is25-ks-tool-badge--lena {
    background:linear-gradient(135deg,rgba(56,189,248,.2),rgba(155,81,224,.15));
    border-color:rgba(56,189,248,.35); color:#9ee5ff;
}

/* --- KONFIGURATOR — wizard --- */
.is25-ks-wrap .is25-ks-config-wizard {
    max-width:880px; margin:0 auto;
    background:linear-gradient(160deg,rgba(17,24,39,.85),rgba(15,23,42,.7));
    border:1px solid var(--border-subtle); border-left:3px solid #9b51e0;
    border-radius:18px; padding:clamp(1.5rem,3vw,2.25rem);
    backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
    box-shadow:0 18px 48px rgba(0,0,0,.32);
}
.is25-ks-wrap .is25-ks-config-progress {
    list-style:none; padding:0; margin:0 0 1.75rem;
    display:flex; gap:.5rem; align-items:center; flex-wrap:wrap;
}
.is25-ks-wrap .is25-ks-config-progress li {
    display:flex; align-items:center; gap:.55rem;
    padding:.45rem .85rem; border-radius:999px;
    border:1px solid rgba(148,163,184,.2); color:var(--text-muted);
    font-size:.8rem; font-weight:600; transition:all .25s var(--ease);
}
.is25-ks-wrap .is25-ks-config-progress li span {
    width:24px; height:24px; border-radius:50%;
    background:rgba(148,163,184,.15); color:var(--text-secondary);
    display:inline-flex; align-items:center; justify-content:center;
    font-size:.78rem; font-weight:700;
}
.is25-ks-wrap .is25-ks-config-progress li.is-active {
    border-color:rgba(155,81,224,.5); background:rgba(155,81,224,.1); color:#d1b4f5;
}
.is25-ks-wrap .is25-ks-config-progress li.is-active span { background:#9b51e0; color:#fff; }
.is25-ks-wrap .is25-ks-config-progress li.is-done {
    border-color:rgba(52,211,153,.4); color:#6ee7b7;
}
.is25-ks-wrap .is25-ks-config-progress li.is-done span { background:#10b981; color:#fff; }

.is25-ks-wrap .is25-ks-config-step { display:none; border:none; padding:0; margin:0; }
.is25-ks-wrap .is25-ks-config-step.is-active { display:block; animation:svKsFade .35s var(--ease); }
.is25-ks-wrap .is25-ks-config-step legend {
    font-family:var(--font-heading); font-size:1.25rem; color:var(--text-primary);
    margin:0 0 1.25rem; padding:0; font-weight:700; letter-spacing:-.01em;
}
@keyframes svKsFade { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }

.is25-ks-wrap .is25-ks-config-options {
    display:grid; grid-template-columns:repeat(2,1fr); gap:.75rem; padding:0;
    border:none; margin:0;
}
.is25-ks-wrap .is25-ks-config-option {
    cursor:pointer; padding:1rem 1.25rem;
    border:1px solid rgba(148,163,184,.22); border-radius:12px;
    background:rgba(8,14,28,.4); transition:all .2s var(--ease);
    display:flex; flex-direction:column; gap:.25rem;
    position:relative; overflow:hidden;
}
.is25-ks-wrap .is25-ks-config-option:hover {
    border-color:rgba(155,81,224,.4); background:rgba(155,81,224,.06);
}
.is25-ks-wrap .is25-ks-config-option input { position:absolute; opacity:0; pointer-events:none; }
.is25-ks-wrap .is25-ks-config-option:has(input:checked) {
    border-color:#9b51e0; background:rgba(155,81,224,.12);
    box-shadow:0 0 0 3px rgba(155,81,224,.18);
}
.is25-ks-wrap .is25-ks-config-option input:focus-visible ~ * { outline:2px solid #9b51e0; outline-offset:2px; }
.is25-ks-wrap .is25-ks-config-option-title {
    font-family:var(--font-heading); font-size:1rem; font-weight:700;
    color:var(--text-primary); letter-spacing:-.01em;
}
.is25-ks-wrap .is25-ks-config-option-desc { color:var(--text-muted); font-size:.825rem; }

.is25-ks-wrap .is25-ks-config-controls {
    display:flex; gap:.75rem; justify-content:space-between; margin-top:1.75rem;
}
.is25-ks-wrap .is25-ks-config-validation {
    margin:.85rem 0 0; padding:.55rem .85rem; border-radius:8px;
    background:rgba(255,0,51,.12); color:#ffb3c1; font-size:.85rem; font-weight:600;
    border:1px solid rgba(255,0,51,.25);
}

/* --- KONFIGURATOR — anbefaling-resultat --- */
.is25-ks-wrap .is25-ks-config-result { display:block; margin-top:1.5rem; animation:svKsFade .4s var(--ease); }
.is25-ks-wrap .is25-ks-config-result[hidden] { display:none; }
.is25-ks-wrap .is25-ks-config-result-title {
    font-family:var(--font-heading); font-size:1.4rem; margin:0 0 .5rem;
    color:#c4a3f0; letter-spacing:-.01em;
}
.is25-ks-wrap .is25-ks-config-result-lede { color:var(--text-secondary); margin:0 0 1.25rem; font-size:.95rem; }
.is25-ks-wrap .is25-ks-config-result-lede span { color:#c4a3f0; font-weight:600; }
.is25-ks-wrap .is25-ks-config-result-note { font-size:.85rem; color:var(--text-muted); margin:1rem 0; }
.is25-ks-wrap .is25-ks-config-result-note a { color:#9ee5ff; text-decoration:underline; }

.is25-ks-wrap .is25-ks-recommendation-grid {
    display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; margin:0 0 1rem;
}
.is25-ks-wrap .is25-ks-recommendation-card {
    padding:1.5rem 1.5rem 1.25rem;
    background:linear-gradient(160deg,rgba(8,14,28,.85),rgba(11,17,34,.7));
    border:1px solid rgba(148,163,184,.22); border-radius:14px;
    display:flex; flex-direction:column; gap:.65rem;
    position:relative;
}
.is25-ks-wrap .is25-ks-recommendation-card.is-primary {
    border:1px solid rgba(155,81,224,.5);
    box-shadow:0 0 0 1px rgba(155,81,224,.2), 0 14px 38px rgba(155,81,224,.18);
}
.is25-ks-wrap .is25-ks-recommendation-rank {
    position:absolute; top:-10px; right:14px;
    padding:.25rem .7rem; border-radius:999px;
    font-size:.7rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
    background:rgba(148,163,184,.2); color:var(--text-secondary);
}
.is25-ks-wrap .is25-ks-recommendation-card.is-primary .is25-ks-recommendation-rank {
    background:linear-gradient(135deg,#9b51e0,#7c3aed); color:#fff;
}
.is25-ks-wrap .is25-ks-recommendation-tag {
    font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
    color:#9ee5ff;
}
.is25-ks-wrap .is25-ks-recommendation-card h4 {
    font-family:var(--font-heading); font-size:1.15rem; margin:0;
    color:var(--text-primary); letter-spacing:-.01em;
}
.is25-ks-wrap .is25-ks-recommendation-card p { color:var(--text-muted); font-size:.9rem; line-height:1.55; margin:0; flex:1; }
.is25-ks-wrap .is25-ks-recommendation-actions {
    display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.5rem;
}
.is25-ks-wrap .is25-ks-recommendation-actions .is25-ks-btn {
    flex:1 1 auto; min-width:0; justify-content:center;
    font-size:.72rem; padding:.7rem 1rem;
}

/* --- SAMMENLIGNINGSTABELL --- */
.is25-ks-wrap .is25-ks-compare-section { padding:clamp(2.5rem,5vw,4rem) 1.5rem; }
.is25-ks-wrap .is25-ks-compare-inner { max-width:1200px; margin:0 auto; }
.is25-ks-wrap .is25-ks-compare-toolbar {
    display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; align-items:center;
    margin:0 0 1.25rem;
}
.is25-ks-wrap .is25-ks-compare-toggle {
    display:inline-flex; align-items:center; gap:.5rem; cursor:pointer;
    padding:.5rem .9rem; border-radius:999px;
    background:rgba(155,81,224,.1); border:1px solid rgba(155,81,224,.3);
    color:#d1b4f5; font-size:.85rem; font-weight:600;
    transition:background .2s;
}
.is25-ks-wrap .is25-ks-compare-toggle:hover { background:rgba(155,81,224,.18); }
.is25-ks-wrap .is25-ks-compare-toggle input { accent-color:#9b51e0; transform:scale(1.1); }
.is25-ks-wrap .is25-ks-compare-link {
    color:#9ee5ff; font-size:.85rem; font-weight:600; text-decoration:none;
    display:inline-flex; align-items:center; gap:.4rem;
}
.is25-ks-wrap .is25-ks-compare-link:hover { color:#fff; }

.is25-ks-wrap .is25-ks-compare-tablewrap {
    overflow-x:auto; border:1px solid var(--border-subtle); border-radius:14px;
    background:linear-gradient(160deg,rgba(17,24,39,.7),rgba(15,23,42,.6));
    backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
}
.is25-ks-wrap .is25-ks-compare-tablewrap:focus { outline:2px solid #9b51e0; outline-offset:2px; }
.is25-ks-wrap .is25-ks-compare-table {
    width:100%; min-width:760px; border-collapse:collapse; font-size:.92rem;
}
.is25-ks-wrap .is25-ks-compare-table thead th {
    text-align:left; padding:1rem 1.1rem; vertical-align:bottom;
    color:var(--text-primary); border-bottom:2px solid rgba(155,81,224,.4);
    background:rgba(155,81,224,.06);
}
.is25-ks-wrap .is25-ks-compare-table thead th.is25-ks-cmp-rowhead {
    font-family:var(--font-heading); font-size:.78rem; font-weight:700;
    letter-spacing:.08em; text-transform:uppercase; color:#c4a3f0;
}
.is25-ks-wrap .is25-ks-cmp-modeltag {
    display:block; font-size:.7rem; font-weight:600; letter-spacing:.06em;
    color:#9ee5ff; text-transform:uppercase; margin-bottom:.25rem;
}
.is25-ks-wrap .is25-ks-cmp-modelname {
    display:block; font-family:var(--font-heading); font-size:1rem; font-weight:700;
    color:var(--text-primary); letter-spacing:-.01em;
}
.is25-ks-wrap .is25-ks-compare-table tbody th[scope="row"] {
    text-align:left; padding:.85rem 1.1rem; font-weight:700; color:var(--text-primary);
    background:rgba(8,14,28,.4); position:sticky; left:0; z-index:1;
    border-right:1px solid rgba(148,163,184,.15);
    font-size:.85rem; letter-spacing:-.01em;
}
.is25-ks-wrap .is25-ks-compare-table td {
    padding:.85rem 1.1rem; color:var(--text-secondary);
    border-bottom:1px solid rgba(148,163,184,.1);
    transition:background .2s, color .2s;
    vertical-align:top;
}
.is25-ks-wrap .is25-ks-compare-table tbody tr:last-child td,
.is25-ks-wrap .is25-ks-compare-table tbody tr:last-child th { border-bottom:none; }
.is25-ks-wrap .is25-ks-compare-table tbody tr:hover td,
.is25-ks-wrap .is25-ks-compare-table tbody tr:hover th { background:rgba(155,81,224,.04); }
.is25-ks-wrap .is25-ks-cmp-note {
    display:block; font-size:.7rem; color:#6ee7b7; font-weight:600; margin-top:.15rem;
}

.is25-ks-wrap .is25-ks-compare-table.is-highlighted .is25-ks-cmp-best {
    background:rgba(52,211,153,.14) !important; color:#a7f3d0;
    box-shadow:inset 3px 0 0 #34d399;
}
.is25-ks-wrap .is25-ks-compare-table.is-highlighted .is25-ks-cmp-worst {
    background:rgba(239,68,68,.10) !important; color:#fca5a5;
    box-shadow:inset 3px 0 0 #ef4444;
}
.is25-ks-wrap .is25-ks-cmp-actionrow td { padding-top:1.25rem; padding-bottom:1.25rem; vertical-align:middle; }
.is25-ks-wrap .is25-ks-cmp-cta {
    display:inline-block; padding:.55rem 1rem;
    background:linear-gradient(135deg,#9b51e0,#7c3aed); color:#fff;
    border-radius:8px; font-size:.78rem; font-weight:700; letter-spacing:.02em;
    text-decoration:none; transition:transform .2s;
}
.is25-ks-wrap .is25-ks-cmp-cta:hover { transform:translateY(-1px); }
.is25-ks-wrap .is25-ks-cmp-link {
    display:block; margin-top:.35rem; font-size:.78rem; color:#9ee5ff;
    text-decoration:none;
}
.is25-ks-wrap .is25-ks-cmp-link:hover { color:#fff; }

/* --- TCO-KALKULATOR --- */
.is25-ks-wrap .is25-ks-calc--tco { border-left-color:#ff0033; }
.is25-ks-wrap .is25-ks-calc--tco .is25-ks-calc-legend { color:#ff0033; }
.is25-ks-wrap .is25-ks-calc--tco .is25-ks-calc-input select:focus,
.is25-ks-wrap .is25-ks-calc--tco .is25-ks-calc-input input:focus { border-color:#ff0033; box-shadow:0 0 0 3px rgba(255,0,51,.18); }

.is25-ks-wrap .is25-ks-tco-output { grid-template-columns:1fr 1fr; }
.is25-ks-wrap .is25-ks-tco-result-card {
    padding:1.5rem; border-radius:14px;
    background:linear-gradient(160deg,rgba(8,14,28,.85),rgba(11,17,34,.7));
    border:1px solid rgba(148,163,184,.22);
    display:flex; flex-direction:column; gap:.5rem;
}
.is25-ks-wrap .is25-ks-tco-with { border-left:3px solid #34d399; }
.is25-ks-wrap .is25-ks-tco-without { border-left:3px solid #ef4444; }
.is25-ks-wrap .is25-ks-tco-breakdown {
    list-style:none; padding:0; margin:.5rem 0 0;
    display:grid; gap:.4rem;
    font-size:.82rem; color:var(--text-muted);
}
.is25-ks-wrap .is25-ks-tco-breakdown li {
    display:flex; justify-content:space-between; gap:.5rem;
    padding-bottom:.35rem; border-bottom:1px dashed rgba(148,163,184,.12);
}
.is25-ks-wrap .is25-ks-tco-breakdown li:last-child { border-bottom:none; }
.is25-ks-wrap .is25-ks-tco-breakdown span {
    color:var(--text-primary); font-weight:600; font-variant-numeric:tabular-nums;
}

.is25-ks-wrap .is25-ks-tco-summary {
    grid-column:1 / -1;
    padding:1.25rem 1.5rem; border-radius:14px;
    display:flex; flex-wrap:wrap; gap:1rem; align-items:center; justify-content:space-between;
    transition:background .25s, border-color .25s;
}
.is25-ks-wrap .is25-ks-tco-summary.is-positive {
    background:linear-gradient(135deg,rgba(52,211,153,.18),rgba(56,189,248,.1));
    border:1px solid rgba(52,211,153,.4);
}
.is25-ks-wrap .is25-ks-tco-summary.is-negative {
    background:linear-gradient(135deg,rgba(239,68,68,.22),rgba(255,0,51,.12));
    border:1px solid rgba(239,68,68,.4);
}
.is25-ks-wrap .is25-ks-tco-delta-label {
    font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
    color:var(--text-muted); display:block;
}
.is25-ks-wrap .is25-ks-tco-delta-value {
    font-family:var(--font-heading); font-size:clamp(1.4rem,3vw,2rem); font-weight:800;
    color:var(--text-primary); letter-spacing:-.02em;
}
.is25-ks-wrap .is25-ks-tco-summary.is-positive .is25-ks-tco-delta-value { color:#6ee7b7; }
.is25-ks-wrap .is25-ks-tco-summary.is-negative .is25-ks-tco-delta-value { color:#fca5a5; }
.is25-ks-wrap .is25-ks-tco-delta-msg {
    font-size:.95rem; color:var(--text-secondary); flex:0 1 auto;
    text-align:right;
}

/* --- VEDLIKEHOLDSKALENDER --- */
.is25-ks-wrap .is25-ks-cal-section { padding:clamp(2.5rem,5vw,4rem) 1.5rem; }
.is25-ks-wrap .is25-ks-cal-inner { max-width:1200px; margin:0 auto; }
.is25-ks-wrap .is25-ks-cal-12 {
    list-style:none; padding:0; margin:0;
    display:grid; grid-template-columns:repeat(4,1fr); gap:.85rem;
}
.is25-ks-wrap .is25-ks-cal-month {
    background:linear-gradient(160deg,rgba(17,24,39,.78),rgba(15,23,42,.65));
    border:1px solid var(--border-subtle); border-radius:14px;
    overflow:hidden; transition:border-color .25s;
}
.is25-ks-wrap .is25-ks-cal-month:hover { border-color:rgba(56,189,248,.35); }
.is25-ks-wrap .is25-ks-cal-month--start,
.is25-ks-wrap .is25-ks-cal-month--mid,
.is25-ks-wrap .is25-ks-cal-month--end {
    border-color:rgba(155,81,224,.4);
    background:linear-gradient(160deg,rgba(155,81,224,.12),rgba(15,23,42,.7));
}
.is25-ks-wrap .is25-ks-cal-month details > summary {
    cursor:pointer; padding:1rem 1.1rem;
    display:flex; align-items:center; gap:.65rem; flex-wrap:wrap;
    list-style:none; transition:background .2s;
}
.is25-ks-wrap .is25-ks-cal-month details > summary::-webkit-details-marker { display:none; }
.is25-ks-wrap .is25-ks-cal-month details > summary:hover { background:rgba(155,81,224,.06); }
.is25-ks-wrap .is25-ks-cal-month details[open] > summary { background:rgba(155,81,224,.08); border-bottom:1px solid rgba(148,163,184,.12); }
.is25-ks-wrap .is25-ks-cal-num {
    flex-shrink:0; width:42px; height:42px; border-radius:10px;
    display:inline-flex; align-items:center; justify-content:center;
    font-family:var(--font-heading); font-size:.78rem; font-weight:800;
    background:linear-gradient(135deg,#9b51e0,#7c3aed); color:#fff;
    text-transform:uppercase; letter-spacing:.04em;
}
.is25-ks-wrap .is25-ks-cal-title {
    flex:1; font-family:var(--font-heading); font-size:.92rem; font-weight:700;
    color:var(--text-primary); letter-spacing:-.01em;
}
.is25-ks-wrap .is25-ks-cal-tag {
    flex:0 0 auto; padding:.2rem .55rem; border-radius:999px;
    background:rgba(255,0,51,.15); color:#ff7a93;
    font-size:.65rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
}
.is25-ks-wrap .is25-ks-cal-month details > ul {
    margin:0; padding:1rem 1.25rem 1.1rem 2.5rem;
    list-style:disc; color:var(--text-muted); font-size:.85rem; line-height:1.55;
}
.is25-ks-wrap .is25-ks-cal-month details > ul li + li { margin-top:.35rem; }
.is25-ks-wrap .is25-ks-cal-note {
    margin:1.25rem 0 0; font-size:.85rem; color:var(--text-muted);
    display:flex; align-items:flex-start; gap:.5rem;
}
.is25-ks-wrap .is25-ks-cal-note i { color:#9b51e0; margin-top:.15rem; }
.is25-ks-wrap .is25-ks-cal-note a { color:#9ee5ff; text-decoration:underline; }

/* --- LENA-section --- */
.is25-ks-wrap .is25-ks-lena-section { padding:clamp(2.5rem,5vw,4rem) 1.5rem; }
.is25-ks-wrap .is25-ks-lena-inner { max-width:1100px; margin:0 auto; }
.is25-ks-wrap .is25-ks-section-head--left { text-align:left; max-width:880px; margin:0 0 1.75rem; }
.is25-ks-wrap .is25-ks-section-head--left h2 { font-size:clamp(1.5rem,2.8vw,2rem); }
.is25-ks-wrap .is25-ks-lena-card {
    padding:clamp(1.5rem,3vw,2.25rem);
    background:linear-gradient(160deg,rgba(17,24,39,.85),rgba(15,23,42,.7));
    border:1px solid var(--border-subtle); border-left:3px solid #38bdf8;
    border-radius:18px;
}
.is25-ks-wrap .is25-ks-lena-card h3 {
    font-family:var(--font-heading); font-size:1.25rem; margin:0 0 1rem;
    color:var(--text-primary); letter-spacing:-.01em;
}
.is25-ks-wrap .is25-ks-lena-bullets {
    list-style:none; padding:0; margin:0 0 1.5rem;
    display:grid; gap:.55rem;
    color:var(--text-secondary); font-size:.92rem; line-height:1.55;
}
.is25-ks-wrap .is25-ks-lena-bullets li {
    padding-left:1.5rem; position:relative;
}
.is25-ks-wrap .is25-ks-lena-bullets li::before {
    content:""; position:absolute; left:0; top:.55em;
    width:8px; height:8px; border-radius:50%; background:#38bdf8;
}
.is25-ks-wrap .is25-ks-lena-bullets strong { color:var(--text-primary); }
.is25-ks-wrap .is25-ks-lena-specs {
    display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem;
    padding:1rem 1.25rem; margin:0 0 1.5rem;
    background:rgba(8,14,28,.5); border-radius:10px;
    border:1px solid rgba(148,163,184,.12);
}
.is25-ks-wrap .is25-ks-lena-specs div { display:flex; flex-direction:column; gap:.15rem; }
.is25-ks-wrap .is25-ks-lena-specs dt {
    font-size:.7rem; font-weight:600; color:var(--text-muted);
    letter-spacing:.05em; text-transform:uppercase;
}
.is25-ks-wrap .is25-ks-lena-specs dd { font-size:.85rem; font-weight:600; color:var(--text-primary); margin:0; }

/* --- TABLET (769–1024) --- */
@media(min-width:769px) and (max-width:1024px) {
    .is25-ks-wrap .is25-ks-cal-12 { grid-template-columns:repeat(3,1fr); }
    .is25-ks-wrap .is25-ks-config-options { grid-template-columns:repeat(2,1fr); }
    .is25-ks-wrap .is25-ks-lena-specs { grid-template-columns:repeat(2,1fr); }
}

/* --- MOBILE (≤768) --- */
@media(max-width:768px) {
    .is25-ks-wrap .is25-ks-config-wizard { padding:1.25rem; }
    .is25-ks-wrap .is25-ks-config-options { grid-template-columns:1fr; }
    .is25-ks-wrap .is25-ks-config-progress { gap:.35rem; font-size:.7rem; }
    .is25-ks-wrap .is25-ks-config-progress li { padding:.35rem .65rem; }
    .is25-ks-wrap .is25-ks-config-progress li span { width:20px; height:20px; font-size:.7rem; }
    .is25-ks-wrap .is25-ks-recommendation-grid { grid-template-columns:1fr; }
    .is25-ks-wrap .is25-ks-recommendation-actions { flex-direction:column; }
    .is25-ks-wrap .is25-ks-tco-output { grid-template-columns:1fr; }
    .is25-ks-wrap .is25-ks-tco-summary { flex-direction:column; align-items:flex-start; gap:.5rem; }
    .is25-ks-wrap .is25-ks-tco-delta-msg { text-align:left; }
    .is25-ks-wrap .is25-ks-cal-12 { grid-template-columns:1fr; gap:.65rem; }
    .is25-ks-wrap .is25-ks-cal-month details > ul { padding-left:1.85rem; }
    .is25-ks-wrap .is25-ks-lena-specs { grid-template-columns:1fr 1fr; }
    .is25-ks-wrap .is25-ks-cmp-actionrow td { padding:1rem .85rem; }
    .is25-ks-wrap .is25-ks-cmp-cta { width:100%; text-align:center; }
}

@media(max-width:375px) {
    .is25-ks-wrap .is25-ks-config-progress li:not(.is-active):not(.is-done) span { background:rgba(148,163,184,.1); }
    .is25-ks-wrap .is25-ks-recommendation-card { padding:1.25rem; }
    .is25-ks-wrap .is25-ks-lena-specs { grid-template-columns:1fr; }
    .is25-ks-wrap .is25-ks-tco-delta-value { font-size:1.2rem; }
}

@media(prefers-reduced-motion:reduce) {
    .is25-ks-wrap .is25-ks-config-step.is-active,
    .is25-ks-wrap .is25-ks-config-result { animation:none !important; }
    .is25-ks-wrap .is25-ks-cal-month,
    .is25-ks-wrap .is25-ks-recommendation-card,
    .is25-ks-wrap .is25-ks-config-option,
    .is25-ks-wrap .is25-ks-cmp-cta,
    .is25-ks-wrap .is25-ks-tco-summary { transition:none !important; }
    .is25-ks-wrap .is25-ks-cmp-cta:hover { transform:none !important; }
}

/* ==========================================================================
   Kunnskapssenter — Sprint D: Underkategori-sider (Bygg, Kjøling, Drift)
   ISHELLA V2.5 scoped — kategori-aksenter rød/grønn/cyan
   ========================================================================== */

/* --- Hero-varianter per kategori (--cluster-accent-soft brukes av inline page CSS for hero-label) --- */
.is25-ks-wrap .is25-ks-bygg-hero      { --cluster-accent: #ff0033; --cluster-accent-soft: rgba(255,0,51,.14); }
.is25-ks-wrap .is25-ks-kjoling-hero   { --cluster-accent: #34d399; --cluster-accent-soft: rgba(52,211,153,.14); }
.is25-ks-wrap .is25-ks-drift-hero     { --cluster-accent: #38bdf8; --cluster-accent-soft: rgba(56,189,248,.14); }
.is25-ks-wrap .is25-ks-ismaskiner-hero { --cluster-accent-soft: rgba(155,81,224,.14); }

.is25-ks-wrap .is25-ks-bygg-hero .is25-ks-hero-jump {
    border-color:rgba(255,0,51,.4); background:rgba(255,0,51,.08); color:#ffb3c1;
}
.is25-ks-wrap .is25-ks-bygg-hero .is25-ks-hero-jump:hover { background:rgba(255,0,51,.18); }
.is25-ks-wrap .is25-ks-kjoling-hero .is25-ks-hero-jump {
    border-color:rgba(52,211,153,.4); background:rgba(52,211,153,.08); color:#a7f3d0;
}
.is25-ks-wrap .is25-ks-kjoling-hero .is25-ks-hero-jump:hover { background:rgba(52,211,153,.18); }
.is25-ks-wrap .is25-ks-drift-hero .is25-ks-hero-jump {
    border-color:rgba(56,189,248,.4); background:rgba(56,189,248,.08); color:#bae6fd;
}
.is25-ks-wrap .is25-ks-drift-hero .is25-ks-hero-jump:hover { background:rgba(56,189,248,.18); }

/* --- Tool-section varianter per kategori --- */
.is25-ks-wrap .is25-ks-tool-section--bygg {
    background:radial-gradient(ellipse at top,rgba(255,0,51,.10) 0%,transparent 55%),
               linear-gradient(180deg,rgba(11,17,34,.4),var(--bg-deep));
}
.is25-ks-wrap .is25-ks-tool-badge--bygg {
    background:linear-gradient(135deg,rgba(255,0,51,.25),rgba(204,0,41,.18));
    border-color:rgba(255,0,51,.35); color:#ffb3c1;
}
.is25-ks-wrap .is25-ks-tool-section--budsjett {
    background:radial-gradient(ellipse at top,rgba(255,0,51,.10) 0%,transparent 55%),
               linear-gradient(180deg,rgba(11,17,34,.4),var(--bg-deep));
}
.is25-ks-wrap .is25-ks-tool-badge--budsjett {
    background:linear-gradient(135deg,rgba(255,0,51,.2),rgba(255,0,51,.15));
    border-color:rgba(255,0,51,.35); color:#ffb3c1;
}
.is25-ks-wrap .is25-ks-tool-section--drift {
    background:radial-gradient(ellipse at top,rgba(56,189,248,.10) 0%,transparent 55%),
               linear-gradient(180deg,rgba(11,17,34,.4),var(--bg-deep));
}
.is25-ks-wrap .is25-ks-tool-badge--drift {
    background:linear-gradient(135deg,rgba(56,189,248,.2),rgba(155,81,224,.15));
    border-color:rgba(56,189,248,.35); color:#bae6fd;
}

/* --- BYGG-LØYPE — 12-stegs timeline --- */
.is25-ks-wrap .is25-ks-timeline {
    list-style:none; padding:0; margin:0;
    display:grid; grid-template-columns:repeat(4,1fr); gap:.85rem;
    counter-reset:timeline;
}
.is25-ks-wrap .is25-ks-timeline-step {
    background:linear-gradient(160deg,rgba(17,24,39,.78),rgba(15,23,42,.65));
    border:1px solid var(--border-subtle); border-radius:14px;
    overflow:hidden; transition:border-color .25s, transform .25s var(--ease);
}
.is25-ks-wrap .is25-ks-timeline-step:hover {
    border-color:rgba(255,0,51,.35);
    transform:translateY(-2px);
}
.is25-ks-wrap .is25-ks-timeline-phase--idea     { border-left:3px solid #94a3b8; }
.is25-ks-wrap .is25-ks-timeline-phase--planning { border-left:3px solid #ff0033; }
.is25-ks-wrap .is25-ks-timeline-phase--anbud    { border-left:3px solid #ff0033; }
.is25-ks-wrap .is25-ks-timeline-phase--build    { border-left:3px solid #34d399; }
.is25-ks-wrap .is25-ks-timeline-phase--launch   { border-left:3px solid #9b51e0; }
.is25-ks-wrap .is25-ks-timeline-phase--operate  { border-left:3px solid #38bdf8; }
.is25-ks-wrap .is25-ks-timeline-step details > summary {
    cursor:pointer; padding:1rem 1.1rem;
    display:flex; align-items:center; gap:.65rem;
    list-style:none; transition:background .2s;
}
.is25-ks-wrap .is25-ks-timeline-step details > summary::-webkit-details-marker { display:none; }
.is25-ks-wrap .is25-ks-timeline-step details > summary:hover { background:rgba(255,0,51,.04); }
.is25-ks-wrap .is25-ks-timeline-step details[open] > summary { border-bottom:1px solid rgba(148,163,184,.12); }
.is25-ks-wrap .is25-ks-timeline-num {
    flex-shrink:0; width:38px; height:38px; border-radius:10px;
    display:inline-flex; align-items:center; justify-content:center;
    font-family:var(--font-heading); font-size:1rem; font-weight:800;
    background:linear-gradient(135deg,#ff0033,#cc0029); color:#fff;
}
.is25-ks-wrap .is25-ks-timeline-meta { display:flex; flex-direction:column; gap:.15rem; flex:1; }
.is25-ks-wrap .is25-ks-timeline-title {
    font-family:var(--font-heading); font-size:.95rem; font-weight:700;
    color:var(--text-primary); letter-spacing:-.01em;
}
.is25-ks-wrap .is25-ks-timeline-time {
    font-size:.72rem; color:var(--text-muted);
    letter-spacing:.04em; font-weight:600;
}
.is25-ks-wrap .is25-ks-timeline-step details > ul {
    margin:0; padding:1rem 1.25rem 1.1rem 2.5rem;
    list-style:disc; color:var(--text-muted); font-size:.85rem; line-height:1.55;
}
.is25-ks-wrap .is25-ks-timeline-step details > ul li + li { margin-top:.4rem; }
.is25-ks-wrap .is25-ks-timeline-step details > ul a { color:#7dd3fc; text-decoration:underline; }
.is25-ks-wrap .is25-ks-timeline-step details > ul strong { color:var(--text-secondary); }

/* --- BUDSJETT-KALKULATOR ekstra --- */
.is25-ks-wrap .is25-ks-calc--budsjett { border-left-color:#ff0033; }
.is25-ks-wrap .is25-ks-calc--budsjett .is25-ks-calc-legend { color:#ff0033; }
.is25-ks-wrap .is25-ks-calc--budsjett .is25-ks-calc-input select:focus,
.is25-ks-wrap .is25-ks-calc--budsjett .is25-ks-calc-input input:focus { border-color:#ff0033; box-shadow:0 0 0 3px rgba(255,0,51,.18); }

.is25-ks-wrap .is25-ks-budsjett-breakdown {
    grid-column:auto;
    padding:1.5rem; border-radius:14px;
    background:linear-gradient(160deg,rgba(8,14,28,.85),rgba(11,17,34,.7));
    border:1px solid rgba(148,163,184,.22); border-left:3px solid #ff0033;
}
.is25-ks-wrap .is25-ks-budsjett-breakdown h3 {
    font-family:var(--font-heading); font-size:1rem; font-weight:700;
    color:var(--text-primary); margin:0 0 .85rem;
}
.is25-ks-wrap .is25-ks-budsjett-phases {
    list-style:none; padding:0; margin:0;
    display:grid; gap:.5rem;
}
.is25-ks-wrap .is25-ks-budsjett-phases li {
    display:flex; justify-content:space-between; gap:.5rem;
    padding:.5rem 0; border-bottom:1px dashed rgba(148,163,184,.12);
    font-size:.82rem; color:var(--text-muted);
}
.is25-ks-wrap .is25-ks-budsjett-phases li:last-child { border-bottom:none; }
.is25-ks-wrap .is25-ks-bud-phase { color:var(--text-secondary); font-weight:600; }
.is25-ks-wrap .is25-ks-budsjett-phases li > :last-child {
    color:var(--text-primary); font-weight:600; font-variant-numeric:tabular-nums;
}

/* --- DOWNLOAD-PAKKE (felles for alle 3 sider) --- */
.is25-ks-wrap .is25-ks-download-section { padding:clamp(2.5rem,5vw,4rem) 1.5rem; }
.is25-ks-wrap .is25-ks-download-inner { max-width:1200px; margin:0 auto; }
.is25-ks-wrap .is25-ks-download-grid {
    display:grid; grid-template-columns:repeat(4,1fr); gap:1rem;
}
.is25-ks-wrap .is25-ks-download-grid--3 { grid-template-columns:repeat(3,1fr); }
.is25-ks-wrap .is25-ks-download-card {
    padding:1.5rem 1.5rem 1.25rem;
    background:linear-gradient(160deg,rgba(17,24,39,.78),rgba(15,23,42,.65));
    border:1px solid var(--border-subtle); border-radius:14px;
    display:flex; flex-direction:column; gap:.65rem;
    transition:border-color .25s, transform .25s var(--ease);
}
.is25-ks-wrap .is25-ks-download-card:hover {
    border-color:rgba(56,189,248,.35);
    transform:translateY(-3px);
}
.is25-ks-wrap .is25-ks-download-icon {
    font-size:1.6rem; color:#ff0033;
    width:48px; height:48px; border-radius:10px;
    display:inline-flex; align-items:center; justify-content:center;
    background:rgba(255,0,51,.12); border:1px solid rgba(255,0,51,.25);
}
.is25-ks-wrap .is25-ks-download-card h3 {
    font-family:var(--font-heading); font-size:1rem; font-weight:700;
    color:var(--text-primary); margin:0; line-height:1.3;
}
.is25-ks-wrap .is25-ks-download-card p {
    color:var(--text-muted); font-size:.85rem; line-height:1.55; margin:0; flex:1;
}
.is25-ks-wrap .is25-ks-download-link {
    display:inline-flex; align-items:center; gap:.4rem;
    font-size:.78rem; font-weight:600; color:#ff0033;
    text-decoration:none; align-self:flex-start;
    padding-top:.5rem;
    transition:gap .2s;
}
.is25-ks-wrap .is25-ks-download-link:hover { gap:.65rem; color:#ffd76b; }

/* --- KJØLEMEDIE — green compare-table variant --- */
.is25-ks-wrap .is25-ks-compare-toggle--green {
    background:rgba(52,211,153,.1); border-color:rgba(52,211,153,.3); color:#a7f3d0;
}
.is25-ks-wrap .is25-ks-compare-toggle--green:hover { background:rgba(52,211,153,.18); }
.is25-ks-wrap .is25-ks-compare-toggle--green input { accent-color:#34d399; }
.is25-ks-wrap .is25-ks-compare-table--green thead th {
    border-bottom-color:rgba(52,211,153,.4); background:rgba(52,211,153,.06);
}
.is25-ks-wrap .is25-ks-compare-table--green thead th.is25-ks-cmp-rowhead { color:#a7f3d0; }
.is25-ks-wrap .is25-ks-compare-table--green tbody tr:hover td,
.is25-ks-wrap .is25-ks-compare-table--green tbody tr:hover th { background:rgba(52,211,153,.04); }
.is25-ks-wrap .is25-ks-compare-table--green .is25-ks-cmp-modeltag { color:#a7f3d0; }

/* --- STANDARDS GRID --- */
.is25-ks-wrap .is25-ks-standards-section { padding:clamp(2.5rem,5vw,4rem) 1.5rem; }
.is25-ks-wrap .is25-ks-standards-inner { max-width:1200px; margin:0 auto; }
.is25-ks-wrap .is25-ks-standards-grid {
    display:grid; grid-template-columns:repeat(3,1fr); gap:1rem;
}
.is25-ks-wrap .is25-ks-standard-card {
    padding:1.5rem 1.5rem 1.25rem;
    background:linear-gradient(160deg,rgba(17,24,39,.78),rgba(15,23,42,.65));
    border:1px solid var(--border-subtle); border-radius:14px;
    display:flex; flex-direction:column; gap:.5rem;
    transition:border-color .25s, transform .25s var(--ease);
}
.is25-ks-wrap .is25-ks-standard-card:hover {
    border-color:rgba(52,211,153,.35);
    transform:translateY(-3px);
}
.is25-ks-wrap .is25-ks-standard-card--regulation { border-left:3px solid #ef4444; }
.is25-ks-wrap .is25-ks-standard-card--norm       { border-left:3px solid #38bdf8; }
.is25-ks-wrap .is25-ks-standard-card--guideline  { border-left:3px solid #34d399; }

.is25-ks-wrap .is25-ks-standard-badge {
    align-self:flex-start;
    padding:.2rem .65rem; border-radius:999px;
    background:rgba(52,211,153,.12); color:#a7f3d0;
    font-size:.68rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
    border:1px solid rgba(52,211,153,.25);
}
.is25-ks-wrap .is25-ks-standard-card--regulation .is25-ks-standard-badge {
    background:rgba(239,68,68,.12); color:#fca5a5; border-color:rgba(239,68,68,.25);
}
.is25-ks-wrap .is25-ks-standard-card--norm .is25-ks-standard-badge {
    background:rgba(56,189,248,.12); color:#bae6fd; border-color:rgba(56,189,248,.25);
}
.is25-ks-wrap .is25-ks-standard-card h3 {
    font-family:var(--font-heading); font-size:1.05rem; font-weight:700;
    color:var(--text-primary); margin:0; letter-spacing:-.01em;
}
.is25-ks-wrap .is25-ks-standard-meta {
    font-size:.78rem; color:var(--text-muted); margin:0; font-style:italic;
}
.is25-ks-wrap .is25-ks-standard-card > p:not(.is25-ks-standard-meta) {
    font-size:.875rem; color:var(--text-muted); line-height:1.55; margin:0; flex:1;
}
.is25-ks-wrap .is25-ks-standard-card a:not(.is25-ks-standard-meta a) { color:#7dd3fc; text-decoration:underline; }
.is25-ks-wrap .is25-ks-standard-link {
    display:inline-flex; align-items:center; gap:.4rem;
    font-size:.78rem; font-weight:600; color:#34d399;
    text-decoration:none; align-self:flex-start; padding-top:.5rem;
    transition:gap .2s;
}
.is25-ks-wrap .is25-ks-standard-link:hover { gap:.65rem; color:#6ee7b7; }

/* --- SESONGSYKLUS — sirkulær 12-mnd visualisering --- */
.is25-ks-wrap .is25-ks-cycle-wrap {
    display:grid; grid-template-columns:340px 1fr; gap:2.5rem;
    align-items:start;
}
.is25-ks-wrap .is25-ks-cycle-visual {
    position:sticky; top:2rem;
    width:300px; height:300px; margin:0 auto;
    border-radius:50%;
    background:conic-gradient(
        from 0deg,
        rgba(34,197,94,.4) 0% 25%,    /* sesongstart aug-okt */
        rgba(56,189,248,.4) 25% 50%,  /* drift okt-mar */
        rgba(255,0,51,.4) 50% 75%,    /* sesongslutt mar-mai */
        rgba(155,81,224,.4) 75% 100%  /* sommerlagring mai-aug */
    );
    box-shadow:0 24px 64px rgba(0,0,0,.4), inset 0 0 0 1px rgba(255,255,255,.08);
    position:relative;
}
.is25-ks-wrap .is25-ks-cycle-ring {
    position:absolute; inset:0;
    pointer-events:none;
}
.is25-ks-wrap .is25-ks-cycle-month {
    position:absolute;
    font-family:var(--font-heading); font-size:.78rem; font-weight:700;
    color:var(--text-secondary); letter-spacing:.06em;
    background:rgba(8,14,28,.85);
    padding:.25rem .55rem; border-radius:999px;
    border:1px solid rgba(148,163,184,.22);
}
.is25-ks-wrap .is25-ks-cycle-month--aug { top:8%;   left:50%; transform:translateX(-50%); }
.is25-ks-wrap .is25-ks-cycle-month--okt { top:22%;  right:6%; }
.is25-ks-wrap .is25-ks-cycle-month--des { bottom:22%; right:6%; }
.is25-ks-wrap .is25-ks-cycle-month--feb { bottom:8%; left:50%; transform:translateX(-50%); }
.is25-ks-wrap .is25-ks-cycle-month--apr { bottom:22%; left:6%; }
.is25-ks-wrap .is25-ks-cycle-month--jun { top:22%;  left:6%; }
.is25-ks-wrap .is25-ks-cycle-center {
    position:absolute; inset:24%;
    border-radius:50%;
    background:linear-gradient(160deg,rgba(8,14,28,.95),rgba(11,17,34,.85));
    border:1px solid rgba(148,163,184,.22);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center; gap:.25rem;
}
.is25-ks-wrap .is25-ks-cycle-center-label {
    font-size:.7rem; font-weight:600; color:var(--text-muted);
    letter-spacing:.08em; text-transform:uppercase;
}
.is25-ks-wrap .is25-ks-cycle-center-num {
    font-family:var(--font-heading); font-size:1.5rem; font-weight:800;
    color:var(--text-primary); letter-spacing:-.02em;
}
.is25-ks-wrap .is25-ks-cycle-phases {
    list-style:none; padding:0; margin:0;
    display:flex; flex-direction:column; gap:.85rem;
}
.is25-ks-wrap .is25-ks-cycle-phase {
    background:linear-gradient(160deg,rgba(17,24,39,.78),rgba(15,23,42,.65));
    border:1px solid var(--border-subtle); border-radius:14px;
    overflow:hidden; transition:border-color .25s, transform .2s var(--ease);
}
.is25-ks-wrap .is25-ks-cycle-phase:hover { transform:translateX(3px); }
.is25-ks-wrap .is25-ks-cycle-phase--start   { border-left:3px solid #34d399; }
.is25-ks-wrap .is25-ks-cycle-phase--operate { border-left:3px solid #38bdf8; }
.is25-ks-wrap .is25-ks-cycle-phase--end     { border-left:3px solid #ff0033; }
.is25-ks-wrap .is25-ks-cycle-phase--summer  { border-left:3px solid #9b51e0; }
.is25-ks-wrap .is25-ks-cycle-phase details > summary {
    cursor:pointer; padding:1rem 1.25rem;
    display:flex; align-items:center; gap:.85rem;
    list-style:none; transition:background .2s;
}
.is25-ks-wrap .is25-ks-cycle-phase details > summary::-webkit-details-marker { display:none; }
.is25-ks-wrap .is25-ks-cycle-phase details > summary:hover { background:rgba(56,189,248,.04); }
.is25-ks-wrap .is25-ks-cycle-phase-num {
    flex-shrink:0; width:42px; height:42px; border-radius:10px;
    display:inline-flex; align-items:center; justify-content:center;
    font-family:var(--font-heading); font-size:1.1rem; font-weight:800;
}
.is25-ks-wrap .is25-ks-cycle-phase--start   .is25-ks-cycle-phase-num { background:linear-gradient(135deg,#34d399,#10b981); color:#fff; }
.is25-ks-wrap .is25-ks-cycle-phase--operate .is25-ks-cycle-phase-num { background:linear-gradient(135deg,#38bdf8,#0ea5e9); color:#fff; }
.is25-ks-wrap .is25-ks-cycle-phase--end  .is25-ks-cycle-phase-num { background:linear-gradient(135deg,#ff0033,#cc0029); color:#fff; }
.is25-ks-wrap .is25-ks-cycle-phase--summer  .is25-ks-cycle-phase-num { background:linear-gradient(135deg,#9b51e0,#7c3aed); color:#fff; }
.is25-ks-wrap .is25-ks-cycle-phase-meta { display:flex; flex-direction:column; gap:.15rem; flex:1; }
.is25-ks-wrap .is25-ks-cycle-phase-title {
    font-family:var(--font-heading); font-size:1rem; font-weight:700;
    color:var(--text-primary); letter-spacing:-.01em;
}
.is25-ks-wrap .is25-ks-cycle-phase-mnd {
    font-size:.78rem; color:var(--text-muted); letter-spacing:.04em; font-weight:600;
}
.is25-ks-wrap .is25-ks-cycle-phase details > ul {
    margin:0; padding:1rem 1.5rem 1.15rem 3.5rem;
    list-style:disc; color:var(--text-muted); font-size:.875rem; line-height:1.6;
}
.is25-ks-wrap .is25-ks-cycle-phase details > ul li + li { margin-top:.4rem; }
.is25-ks-wrap .is25-ks-cycle-phase details > ul strong { color:var(--text-secondary); }
.is25-ks-wrap .is25-ks-cycle-phase details > ul a { color:#7dd3fc; text-decoration:underline; }

/* --- FAQ accordion --- */
.is25-ks-wrap .is25-ks-faq-section { padding:clamp(2.5rem,5vw,4rem) 1.5rem; }
.is25-ks-wrap .is25-ks-faq-inner { max-width:880px; margin:0 auto; }
.is25-ks-wrap .is25-ks-faq-list {
    list-style:none; padding:0; margin:0;
    display:flex; flex-direction:column; gap:.65rem;
    counter-reset:faq;
}
.is25-ks-wrap .is25-ks-faq-item {
    background:linear-gradient(160deg,rgba(17,24,39,.78),rgba(15,23,42,.65));
    border:1px solid var(--border-subtle); border-radius:12px;
    overflow:hidden; transition:border-color .25s;
}
.is25-ks-wrap .is25-ks-faq-item:hover { border-color:rgba(56,189,248,.35); }
.is25-ks-wrap .is25-ks-faq-item details > summary {
    cursor:pointer; padding:1rem 1.25rem;
    display:flex; align-items:center; gap:1rem;
    list-style:none; transition:background .2s;
}
.is25-ks-wrap .is25-ks-faq-item details > summary::-webkit-details-marker { display:none; }
.is25-ks-wrap .is25-ks-faq-item details > summary:hover { background:rgba(56,189,248,.04); }
.is25-ks-wrap .is25-ks-faq-item details[open] > summary { border-bottom:1px solid rgba(148,163,184,.12); }
.is25-ks-wrap .is25-ks-faq-q {
    flex:1; font-family:var(--font-heading); font-size:.95rem; font-weight:700;
    color:var(--text-primary); letter-spacing:-.01em;
}
.is25-ks-wrap .is25-ks-faq-icon {
    flex-shrink:0; color:var(--text-muted); font-size:.85rem;
    transition:transform .25s var(--ease);
}
.is25-ks-wrap .is25-ks-faq-item details[open] > summary .is25-ks-faq-icon { transform:rotate(180deg); color:#38bdf8; }
.is25-ks-wrap .is25-ks-faq-a {
    padding:1rem 1.25rem 1.15rem;
    color:var(--text-muted); font-size:.92rem; line-height:1.65;
}
.is25-ks-wrap .is25-ks-faq-a p { margin:0; }
.is25-ks-wrap .is25-ks-faq-a p + p { margin-top:.6rem; }
.is25-ks-wrap .is25-ks-faq-a strong { color:var(--text-secondary); }
.is25-ks-wrap .is25-ks-faq-a a { color:#7dd3fc; text-decoration:underline; }

/* --- 3-kolonne kategori-grid (fra Drift som har 3 relaterte) --- */
.is25-ks-wrap .is25-ks-cat-grid--3 { grid-template-columns:repeat(3,1fr); }

/* --- TABLET (769–1024) --- */
@media(min-width:769px) and (max-width:1024px) {
    .is25-ks-wrap .is25-ks-timeline { grid-template-columns:repeat(3,1fr); }
    .is25-ks-wrap .is25-ks-download-grid,
    .is25-ks-wrap .is25-ks-download-grid--3 { grid-template-columns:repeat(2,1fr); }
    .is25-ks-wrap .is25-ks-standards-grid { grid-template-columns:repeat(2,1fr); }
    .is25-ks-wrap .is25-ks-cycle-wrap { grid-template-columns:280px 1fr; gap:1.5rem; }
    .is25-ks-wrap .is25-ks-cycle-visual { width:260px; height:260px; }
    .is25-ks-wrap .is25-ks-cat-grid--3 { grid-template-columns:repeat(2,1fr); }
}

/* --- MOBILE (≤768) --- */
@media(max-width:768px) {
    .is25-ks-wrap .is25-ks-timeline { grid-template-columns:1fr; gap:.65rem; }
    .is25-ks-wrap .is25-ks-timeline-step details > ul { padding-left:2rem; }
    .is25-ks-wrap .is25-ks-download-grid,
    .is25-ks-wrap .is25-ks-download-grid--3 { grid-template-columns:1fr; }
    .is25-ks-wrap .is25-ks-standards-grid { grid-template-columns:1fr; }
    .is25-ks-wrap .is25-ks-cycle-wrap { grid-template-columns:1fr; gap:2rem; }
    .is25-ks-wrap .is25-ks-cycle-visual {
        position:static; width:240px; height:240px;
    }
    .is25-ks-wrap .is25-ks-cycle-phase details > ul { padding-left:2.5rem; }
    .is25-ks-wrap .is25-ks-faq-q { font-size:.88rem; }
    .is25-ks-wrap .is25-ks-cat-grid--3 { grid-template-columns:1fr; }
    .is25-ks-wrap .is25-ks-budsjett-breakdown { padding:1.25rem; }
}

@media(max-width:375px) {
    .is25-ks-wrap .is25-ks-cycle-visual { width:200px; height:200px; }
    .is25-ks-wrap .is25-ks-cycle-month { font-size:.65rem; padding:.15rem .4rem; }
    .is25-ks-wrap .is25-ks-cycle-center-num { font-size:1.15rem; }
    .is25-ks-wrap .is25-ks-timeline-num { width:32px; height:32px; font-size:.85rem; }
}

@media(prefers-reduced-motion:reduce) {
    .is25-ks-wrap .is25-ks-timeline-step,
    .is25-ks-wrap .is25-ks-cycle-phase,
    .is25-ks-wrap .is25-ks-faq-item,
    .is25-ks-wrap .is25-ks-standard-card,
    .is25-ks-wrap .is25-ks-download-card,
    .is25-ks-wrap .is25-ks-faq-icon { transition:none !important; }
    .is25-ks-wrap .is25-ks-timeline-step:hover,
    .is25-ks-wrap .is25-ks-cycle-phase:hover,
    .is25-ks-wrap .is25-ks-standard-card:hover,
    .is25-ks-wrap .is25-ks-download-card:hover { transform:none !important; }
}

/* ==========================================================================
   Layout-fix-overrides — overstyrer inline page-CSS som konflikter med
   nye Sprint B/C/D-komponenter (kategori-sider hadde egen .is25-ks-cat-page CSS)
   ========================================================================== */

/* Section-head: overstyr inline `.is25-ks-section-heading` flex-divider og display:flex
   slik at h2 sentreres som forventet i .is25-ks-section-head wrapper */
.is25-ks-wrap .is25-ks-section-head h2,
.is25-ks-wrap .is25-ks-section-head .is25-ks-section-heading {
    display:block;
    text-align:center;
    font-family:var(--font-heading);
    margin:0 0 .65rem;
}
.is25-ks-wrap .is25-ks-section-head h2::after,
.is25-ks-wrap .is25-ks-section-head .is25-ks-section-heading::after {
    display:none;
    content:none;
}

/* .is25-ks-section-head--left variant beholder venstre-justering */
.is25-ks-wrap .is25-ks-section-head--left h2,
.is25-ks-wrap .is25-ks-section-head--left .is25-ks-section-heading {
    text-align:left;
}

/* Author-section: behold venstre-justering, drep flex-divider */
.is25-ks-wrap .is25-ks-author-section h2.is25-ks-section-heading {
    display:block;
    text-align:left;
}
.is25-ks-wrap .is25-ks-author-section h2.is25-ks-section-heading::after {
    display:none;
    content:none;
}

/* Other-section h2: overstyr eventuelle flex-dividers fra inline CSS */
.is25-ks-wrap .is25-ks-other h2,
.is25-ks-wrap .is25-ks-other-inner h2 {
    display:block;
    text-align:center;
}
.is25-ks-wrap .is25-ks-other h2::after,
.is25-ks-wrap .is25-ks-other-inner h2::after {
    display:none;
    content:none;
}

/* Articles-section: overstyr inline padding (5rem bottom) til moderate verdi */
.is25-ks-wrap .is25-ks-articles {
    padding:clamp(2.5rem,5vw,4rem) 1.5rem;
}

/* Sticky table-headers: gjør 100% opake (inline page CSS lar bakgrunnen lekke) */
.is25-ks-wrap .is25-ks-bench-table tbody th[scope="row"],
.is25-ks-wrap .is25-ks-compare-table tbody th[scope="row"] {
    background:rgba(11,17,34,.97);
}

/* Sticky-position trenger lukket overflow-kontekst — gi tablewrap explicit isolation */
.is25-ks-wrap .is25-ks-bench-tablewrap,
.is25-ks-wrap .is25-ks-compare-tablewrap {
    isolation:isolate;
}

/* Hero meta-row icons skal følge cluster-accent (inline CSS gjør dette,
   men sikre at det også gjelder vår nye .is25-ks-hero-jump i hero-actions) */
.is25-ks-wrap .is25-ks-hero-meta i { color:var(--cluster-accent, var(--ice-blue)); }

/* Hero-label (kategori-pill): kanonisk CSS forces color:var(--ice-blue),
   men kategori-sider trenger var(--cluster-accent) for korrekt fargekoding */
.is25-ks-wrap .is25-ks-hero-label {
    color:var(--cluster-accent, var(--ice-blue));
    background:var(--cluster-accent-soft, rgba(56,189,248,.12));
    border:1px solid var(--cluster-accent, var(--ice-blue));
}

/* Anchor-scroll-margin: hero-actions linker til sections lenger ned;
   lat scroll-target ikke skjules under WP sticky-header */
.is25-ks-wrap section[id] {
    scroll-margin-top:80px;
}

/* Article-grid mobile: overstyr eventuelle inline auto-fill regler */
@media(max-width:480px) {
    .is25-ks-wrap .is25-ks-article-grid {
        grid-template-columns:1fr !important;
    }
    .is25-ks-wrap .is25-ks-grid--2,
    .is25-ks-wrap .is25-ks-grid--3 {
        grid-template-columns:1fr !important;
    }
}

/* Cycle-visual: hindre overflow når sticky aktiveres på desktop */
.is25-ks-wrap .is25-ks-cycle-wrap { isolation:isolate; }

/* ==========================================================================
   ISHELLA V2.5 — Glass-effekter, animasjoner, symmetrisk luft (round 2)
   Tunes opp transparens, blur, hover-respons og padding-konsistens
   ========================================================================== */

/* --- Glassmorphism: sterkere blur + gradient-overlay på alle hovedkort --- */
.is25-ks-wrap .is25-ks-calc,
.is25-ks-wrap .is25-ks-config-wizard,
.is25-ks-wrap .is25-ks-tiltak-card,
.is25-ks-wrap .is25-ks-recommendation-card,
.is25-ks-wrap .is25-ks-case-card,
.is25-ks-wrap .is25-ks-cal-month,
.is25-ks-wrap .is25-ks-cycle-phase,
.is25-ks-wrap .is25-ks-faq-item,
.is25-ks-wrap .is25-ks-standard-card,
.is25-ks-wrap .is25-ks-download-card,
.is25-ks-wrap .is25-ks-timeline-step,
.is25-ks-wrap .is25-ks-author-block,
.is25-ks-wrap .is25-ks-bench-tablewrap,
.is25-ks-wrap .is25-ks-compare-tablewrap,
.is25-ks-wrap .is25-ks-lena-card,
.is25-ks-wrap .is25-ks-tco-result-card,
.is25-ks-wrap .is25-ks-calc-result-card,
.is25-ks-wrap .is25-ks-budsjett-breakdown {
    backdrop-filter:blur(22px) saturate(1.45) !important;
    -webkit-backdrop-filter:blur(22px) saturate(1.45) !important;
    background:linear-gradient(160deg,rgba(17,24,39,.62) 0%,rgba(15,23,42,.5) 60%,rgba(17,24,39,.55) 100%);
    border-color:rgba(255,255,255,.08);
    position:relative;
    overflow:hidden;
}

/* Subtle inner glow på glasskort (lyseffekt øverst) */
.is25-ks-wrap .is25-ks-calc::before,
.is25-ks-wrap .is25-ks-config-wizard::before,
.is25-ks-wrap .is25-ks-author-block::before,
.is25-ks-wrap .is25-ks-lena-card::before,
.is25-ks-wrap .is25-ks-tiltak-card::before,
.is25-ks-wrap .is25-ks-recommendation-card::before,
.is25-ks-wrap .is25-ks-case-card::before,
.is25-ks-wrap .is25-ks-standard-card::before,
.is25-ks-wrap .is25-ks-download-card::before,
.is25-ks-wrap .is25-ks-timeline-step::before,
.is25-ks-wrap .is25-ks-cycle-phase::before,
.is25-ks-wrap .is25-ks-faq-item::before,
.is25-ks-wrap .is25-ks-cal-month::before {
    content:""; position:absolute; inset:0;
    background:linear-gradient(135deg,rgba(255,255,255,.06) 0%,transparent 50%,transparent 100%);
    pointer-events:none;
    border-radius:inherit;
    opacity:.85;
    transition:opacity .35s var(--ease, cubic-bezier(.22,1,.36,1));
}

/* Hover: heve kortet + intensivere glassrefleks */
.is25-ks-wrap .is25-ks-tiltak-card:hover::before,
.is25-ks-wrap .is25-ks-recommendation-card:hover::before,
.is25-ks-wrap .is25-ks-case-card:hover::before,
.is25-ks-wrap .is25-ks-standard-card:hover::before,
.is25-ks-wrap .is25-ks-download-card:hover::before,
.is25-ks-wrap .is25-ks-timeline-step:hover::before,
.is25-ks-wrap .is25-ks-cycle-phase:hover::before,
.is25-ks-wrap .is25-ks-faq-item:hover::before,
.is25-ks-wrap .is25-ks-cal-month:hover::before {
    opacity:1;
    background:linear-gradient(135deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,.02) 50%,transparent 100%);
}

/* Sterkere hover-transform med smooth easing */
.is25-ks-wrap .is25-ks-tiltak-card,
.is25-ks-wrap .is25-ks-recommendation-card,
.is25-ks-wrap .is25-ks-case-card,
.is25-ks-wrap .is25-ks-standard-card,
.is25-ks-wrap .is25-ks-download-card,
.is25-ks-wrap .is25-ks-timeline-step,
.is25-ks-wrap .is25-ks-cycle-phase,
.is25-ks-wrap .is25-ks-faq-item,
.is25-ks-wrap .is25-ks-cal-month,
.is25-ks-wrap .is25-ks-cat-card,
.is25-ks-wrap .is25-ks-article-card {
    transition:transform .4s cubic-bezier(.22,.61,.36,1),
               border-color .35s var(--ease, cubic-bezier(.22,1,.36,1)),
               box-shadow .4s cubic-bezier(.22,.61,.36,1);
    will-change:transform;
}
.is25-ks-wrap .is25-ks-tiltak-card:hover,
.is25-ks-wrap .is25-ks-case-card:hover,
.is25-ks-wrap .is25-ks-standard-card:hover,
.is25-ks-wrap .is25-ks-download-card:hover,
.is25-ks-wrap .is25-ks-timeline-step:hover {
    transform:translateY(-5px);
    box-shadow:0 22px 60px rgba(0,0,0,.45),
               0 0 0 1px rgba(255,255,255,.06);
}
.is25-ks-wrap .is25-ks-recommendation-card:hover { transform:translateY(-4px); box-shadow:0 22px 60px rgba(0,0,0,.42); }
.is25-ks-wrap .is25-ks-cycle-phase:hover { transform:translateX(4px); }
.is25-ks-wrap .is25-ks-cat-card:hover {
    transform:translateY(-3px);
    box-shadow:0 16px 40px rgba(0,0,0,.35);
}
.is25-ks-wrap .is25-ks-article-card:hover {
    transform:translateY(-4px);
    box-shadow:0 18px 50px rgba(0,0,0,.4),
               0 0 0 1px rgba(255,255,255,.05);
}

/* Knapper: mer luft + softere hover */
.is25-ks-wrap .is25-ks-btn {
    padding:14px 32px;
    transition:transform .3s cubic-bezier(.22,.61,.36,1),
               box-shadow .3s cubic-bezier(.22,.61,.36,1),
               background-color .25s,
               border-color .25s;
}
.is25-ks-wrap .is25-ks-btn--primary:hover {
    transform:translateY(-2px) scale(1.01);
    box-shadow:0 14px 36px rgba(255,0,51,.45),
               0 0 0 1px rgba(255,255,255,.08);
}
.is25-ks-wrap .is25-ks-btn--ghost:hover {
    transform:translateY(-1px);
}

/* Mer luft i tool-sections + cards (symmetrisk padding) */
.is25-ks-wrap .is25-ks-tool-section,
.is25-ks-wrap .is25-ks-bench-section,
.is25-ks-wrap .is25-ks-tiltak-section,
.is25-ks-wrap .is25-ks-cases-section,
.is25-ks-wrap .is25-ks-cal-section,
.is25-ks-wrap .is25-ks-faq-section,
.is25-ks-wrap .is25-ks-standards-section,
.is25-ks-wrap .is25-ks-download-section,
.is25-ks-wrap .is25-ks-lena-section,
.is25-ks-wrap .is25-ks-articles,
.is25-ks-wrap .is25-ks-author-section,
.is25-ks-wrap .is25-ks-compare-section,
.is25-ks-wrap .is25-ks-cta {
    padding-top:clamp(3.5rem,6vw,5.5rem);
    padding-bottom:clamp(3.5rem,6vw,5.5rem);
    padding-left:1.5rem;
    padding-right:1.5rem;
}

/* Tool-section: ekstra trang side-margin lengre opp på innholdet */
.is25-ks-wrap .is25-ks-tool-head {
    margin-bottom:2.75rem;
    padding:0 .5rem;
}
.is25-ks-wrap .is25-ks-section-head {
    margin-bottom:2.5rem;
    padding:0 .5rem;
}

/* Calc + wizard: mer padding inni */
.is25-ks-wrap .is25-ks-calc,
.is25-ks-wrap .is25-ks-config-wizard {
    padding:clamp(2rem,3.5vw,2.75rem) clamp(1.75rem,3vw,2.5rem);
    gap:1.85rem;
}

/* Card-padding (alle kort): symmetrisk og litt mer luft */
.is25-ks-wrap .is25-ks-tiltak-card,
.is25-ks-wrap .is25-ks-case-card,
.is25-ks-wrap .is25-ks-standard-card,
.is25-ks-wrap .is25-ks-download-card,
.is25-ks-wrap .is25-ks-recommendation-card {
    padding:1.65rem 1.65rem 1.4rem;
    gap:.85rem;
}

/* Author block: mer pust */
.is25-ks-wrap .is25-ks-author-block { padding:1.85rem 2rem; }
.is25-ks-wrap .is25-ks-lena-card { padding:clamp(1.85rem,3vw,2.5rem) clamp(1.85rem,3vw,2.5rem); }

/* CTA: symmetrisk + mer pust */
.is25-ks-wrap .is25-ks-cta-inner { padding:clamp(.5rem,2vw,1.5rem) 1.5rem; }
.is25-ks-wrap .is25-ks-cta h2 { margin-bottom:1.25rem; }
.is25-ks-wrap .is25-ks-cta p { margin-bottom:2.25rem; line-height:1.7; max-width:640px; margin-left:auto; margin-right:auto; }
.is25-ks-wrap .is25-ks-btn-group { gap:.85rem; }

/* Articles-grid: økt gap for mer luft mellom kort */
.is25-ks-wrap .is25-ks-article-grid,
.is25-ks-wrap .is25-ks-tiltak-grid,
.is25-ks-wrap .is25-ks-cases-grid,
.is25-ks-wrap .is25-ks-cal-12,
.is25-ks-wrap .is25-ks-standards-grid,
.is25-ks-wrap .is25-ks-download-grid,
.is25-ks-wrap .is25-ks-cat-grid,
.is25-ks-wrap .is25-ks-recommendation-grid,
.is25-ks-wrap .is25-ks-timeline {
    gap:1.35rem;
}

/* Hero: mer pust over og under */
.is25-ks-wrap .is25-ks-hero {
    padding:clamp(5rem,11vw,8rem) 1.5rem clamp(3rem,6vw,4.5rem);
}
.is25-ks-wrap .is25-ks-hero-desc { line-height:1.7; max-width:680px; margin-left:auto; margin-right:auto; }
.is25-ks-wrap .is25-ks-hero-meta { margin-top:1.85rem; gap:1.85rem; row-gap:.6rem; }
.is25-ks-wrap .is25-ks-hero-actions { margin-top:2rem; gap:.85rem; }

/* Konfigurator-progress: mer pust */
.is25-ks-wrap .is25-ks-config-progress { margin:0 0 2.25rem; gap:.65rem; }
.is25-ks-wrap .is25-ks-config-step legend { margin-bottom:1.65rem; }

/* Tabellpadding: jevn */
.is25-ks-wrap .is25-ks-bench-table thead th,
.is25-ks-wrap .is25-ks-bench-table tbody th,
.is25-ks-wrap .is25-ks-bench-table tbody td,
.is25-ks-wrap .is25-ks-compare-table thead th,
.is25-ks-wrap .is25-ks-compare-table tbody th,
.is25-ks-wrap .is25-ks-compare-table tbody td {
    padding:1rem 1.25rem;
}

/* Subtle entrance-animation når sider lastes (én gang, respekterer reduced-motion) */
@keyframes svKsRise {
    from { opacity:0; transform:translateY(14px); }
    to   { opacity:1; transform:translateY(0); }
}
.is25-ks-wrap .is25-ks-hero,
.is25-ks-wrap .is25-ks-tool-section,
.is25-ks-wrap .is25-ks-bench-section,
.is25-ks-wrap .is25-ks-tiltak-section,
.is25-ks-wrap .is25-ks-cases-section,
.is25-ks-wrap .is25-ks-cal-section,
.is25-ks-wrap .is25-ks-faq-section,
.is25-ks-wrap .is25-ks-standards-section,
.is25-ks-wrap .is25-ks-download-section,
.is25-ks-wrap .is25-ks-lena-section,
.is25-ks-wrap .is25-ks-articles,
.is25-ks-wrap .is25-ks-author-section,
.is25-ks-wrap .is25-ks-compare-section,
.is25-ks-wrap .is25-ks-other,
.is25-ks-wrap .is25-ks-cta {
    animation:svKsRise .6s cubic-bezier(.22,.61,.36,1) backwards;
}
.is25-ks-wrap .is25-ks-tool-section            { animation-delay:.05s; }
.is25-ks-wrap .is25-ks-bench-section,
.is25-ks-wrap .is25-ks-compare-section          { animation-delay:.1s; }
.is25-ks-wrap .is25-ks-tiltak-section,
.is25-ks-wrap .is25-ks-cal-section              { animation-delay:.15s; }
.is25-ks-wrap .is25-ks-faq-section,
.is25-ks-wrap .is25-ks-cases-section,
.is25-ks-wrap .is25-ks-standards-section,
.is25-ks-wrap .is25-ks-download-section         { animation-delay:.2s; }

/* Kort-stagger inne i grid (subtilt) */
.is25-ks-wrap .is25-ks-tiltak-card,
.is25-ks-wrap .is25-ks-case-card,
.is25-ks-wrap .is25-ks-standard-card,
.is25-ks-wrap .is25-ks-download-card,
.is25-ks-wrap .is25-ks-cal-month,
.is25-ks-wrap .is25-ks-timeline-step {
    animation:svKsRise .55s cubic-bezier(.22,.61,.36,1) backwards;
}
.is25-ks-wrap .is25-ks-tiltak-card:nth-child(1),
.is25-ks-wrap .is25-ks-case-card:nth-child(1),
.is25-ks-wrap .is25-ks-standard-card:nth-child(1),
.is25-ks-wrap .is25-ks-download-card:nth-child(1),
.is25-ks-wrap .is25-ks-cal-month:nth-child(1),
.is25-ks-wrap .is25-ks-timeline-step:nth-child(1)  { animation-delay:.05s; }
.is25-ks-wrap .is25-ks-tiltak-card:nth-child(2),
.is25-ks-wrap .is25-ks-case-card:nth-child(2),
.is25-ks-wrap .is25-ks-standard-card:nth-child(2),
.is25-ks-wrap .is25-ks-download-card:nth-child(2),
.is25-ks-wrap .is25-ks-cal-month:nth-child(2),
.is25-ks-wrap .is25-ks-timeline-step:nth-child(2)  { animation-delay:.10s; }
.is25-ks-wrap .is25-ks-tiltak-card:nth-child(3),
.is25-ks-wrap .is25-ks-case-card:nth-child(3),
.is25-ks-wrap .is25-ks-standard-card:nth-child(3),
.is25-ks-wrap .is25-ks-download-card:nth-child(3),
.is25-ks-wrap .is25-ks-cal-month:nth-child(3),
.is25-ks-wrap .is25-ks-timeline-step:nth-child(3)  { animation-delay:.15s; }
.is25-ks-wrap .is25-ks-tiltak-card:nth-child(4),
.is25-ks-wrap .is25-ks-cal-month:nth-child(4),
.is25-ks-wrap .is25-ks-timeline-step:nth-child(4)  { animation-delay:.20s; }
.is25-ks-wrap .is25-ks-tiltak-card:nth-child(5),
.is25-ks-wrap .is25-ks-cal-month:nth-child(5),
.is25-ks-wrap .is25-ks-timeline-step:nth-child(5)  { animation-delay:.25s; }
.is25-ks-wrap .is25-ks-tiltak-card:nth-child(6),
.is25-ks-wrap .is25-ks-cal-month:nth-child(6),
.is25-ks-wrap .is25-ks-timeline-step:nth-child(6)  { animation-delay:.30s; }
.is25-ks-wrap .is25-ks-tiltak-card:nth-child(n+7) { animation-delay:.35s; }
.is25-ks-wrap .is25-ks-cal-month:nth-child(n+7),
.is25-ks-wrap .is25-ks-timeline-step:nth-child(n+7) { animation-delay:.35s; }

/* Glass-effekt: input-fokus blir mer signaltydelig */
.is25-ks-wrap .is25-ks-calc-input input:focus,
.is25-ks-wrap .is25-ks-calc-input select:focus {
    box-shadow:0 0 0 4px rgba(255,0,51,.18),
               inset 0 1px 0 rgba(255,255,255,.06);
}

/* Reduserer alle animasjoner for prefers-reduced-motion */
@media(prefers-reduced-motion:reduce) {
    .is25-ks-wrap *,
    .is25-ks-wrap *::before,
    .is25-ks-wrap *::after {
        animation:none !important;
        transition:none !important;
    }
    .is25-ks-wrap .is25-ks-tiltak-card:hover,
    .is25-ks-wrap .is25-ks-case-card:hover,
    .is25-ks-wrap .is25-ks-standard-card:hover,
    .is25-ks-wrap .is25-ks-download-card:hover,
    .is25-ks-wrap .is25-ks-timeline-step:hover,
    .is25-ks-wrap .is25-ks-cycle-phase:hover,
    .is25-ks-wrap .is25-ks-cat-card:hover,
    .is25-ks-wrap .is25-ks-article-card:hover,
    .is25-ks-wrap .is25-ks-recommendation-card:hover,
    .is25-ks-wrap .is25-ks-btn:hover { transform:none !important; }
}

/* ==========================================================================
   ISHELLA 2.5 — Manglende baseline for relaterte tema og andre seksjoner
   (i WP får disse baseline fra inline page CSS — vi inkluderer her så
   kortene rendrer riktig også når CSS-en lastes alene)
   ========================================================================== */

/* "Relaterte tema" / "Other"-seksjon */
.is25-ks-wrap .is25-ks-other {
    padding: clamp(2.5rem, 5vw, 4rem) 1.5rem;
    position: relative;
}
.is25-ks-wrap .is25-ks-other-inner {
    max-width: 1200px;
    margin: 0 auto;
}

/* Kategori-grid */
.is25-ks-wrap .is25-ks-cat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.35rem;
    margin: 0;
}

/* Kategori-kort — bruker --card-color / --card-color-soft fra inline style="" */
.is25-ks-wrap .is25-ks-cat-card {
    --_color:      var(--card-color, #38bdf8);
    --_color-soft: var(--card-color-soft, rgba(56,189,248,.14));

    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.4rem 1.5rem;
    background: linear-gradient(160deg, rgba(17,24,39,.62) 0%, rgba(15,23,42,.5) 60%, rgba(17,24,39,.55) 100%);
    border: 1px solid rgba(255,255,255,.08);
    border-left: 3px solid var(--_color);
    border-radius: 14px;
    text-decoration: none;
    color: inherit;
    backdrop-filter: blur(18px) saturate(1.35);
    -webkit-backdrop-filter: blur(18px) saturate(1.35);
    overflow: hidden;
}
.is25-ks-wrap .is25-ks-cat-card::before {
    content: "";
    position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(135deg, rgba(255,255,255,.05) 0%, transparent 50%);
    border-radius: inherit;
    opacity: .85;
    transition: opacity .35s var(--ease, cubic-bezier(.22,1,.36,1));
}
.is25-ks-wrap .is25-ks-cat-card:hover::before { opacity: 1; }

/* Ikon-sirkel */
.is25-ks-wrap .is25-ks-cat-card-icon {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    display: inline-grid;
    place-items: center;
    border-radius: 12px;
    background: var(--_color-soft);
    border: 1px solid var(--_color);
    color: var(--_color);
    font-size: 1.2rem;
    box-shadow: inset 0 0 14px rgba(255,255,255,.04);
}

/* Body — title + meta */
.is25-ks-wrap .is25-ks-cat-card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: .25rem;
    min-width: 0;
}
.is25-ks-wrap .is25-ks-cat-card-title {
    font-family: var(--font-heading, 'Outfit', sans-serif);
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--text-primary, #f1f5f9);
    letter-spacing: -.01em;
    line-height: 1.3;
}
.is25-ks-wrap .is25-ks-cat-card-meta {
    font-size: .85rem;
    color: var(--text-muted, #aebfd1);
    line-height: 1.45;
}

/* "Relaterte tema"-heading sentrert */
.is25-ks-wrap .is25-ks-other-inner h2 {
    font-family: var(--font-heading, 'Outfit', sans-serif);
    font-size: clamp(1.4rem, 2.5vw, 1.85rem);
    font-weight: 800;
    color: var(--text-primary, #f1f5f9);
    text-align: center;
    margin: 0 0 1.75rem;
    letter-spacing: -.015em;
}

/* CTA-seksjon baseline (gammel CTA-form bruker is25-ks-cta — ikke vår nye is25-ks-next) */
.is25-ks-wrap .is25-ks-cta-inner {
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
}
.is25-ks-wrap .is25-ks-cta h2 {
    font-family: var(--font-heading, 'Outfit', sans-serif);
    font-size: clamp(1.85rem, 3.5vw, 2.5rem);
    font-weight: 800;
    color: var(--text-primary, #f1f5f9);
    letter-spacing: -.02em;
    margin: 0 0 1rem;
}
.is25-ks-wrap .is25-ks-cta p {
    color: var(--text-secondary, #d7e2ee);
    font-size: 1rem;
    line-height: 1.65;
    margin: 0 auto 1.75rem;
    max-width: 640px;
}
.is25-ks-wrap .is25-ks-btn-group {
    display: flex;
    flex-wrap: wrap;
    gap: .85rem;
    justify-content: center;
}

/* Forfatter-seksjon: "Om dette innholdet"-heading */
.is25-ks-wrap .is25-ks-author-section h2 {
    font-family: var(--font-heading, 'Outfit', sans-serif);
    font-size: clamp(1.25rem, 2.2vw, 1.6rem);
    font-weight: 800;
    color: var(--text-primary, #f1f5f9);
    margin: 0 0 1.25rem;
    letter-spacing: -.01em;
}

/* Section-head fallback når det brukes uten WP inline-CSS */
.is25-ks-wrap .is25-ks-section-head {
    text-align: center;
    max-width: 880px;
    margin: 0 auto 2rem;
    padding: 0 .5rem;
}
.is25-ks-wrap .is25-ks-section-head > h2,
.is25-ks-wrap .is25-ks-section-head > .is25-ks-section-heading {
    font-family: var(--font-heading, 'Outfit', sans-serif);
    font-size: clamp(1.6rem, 3vw, 2.25rem);
    font-weight: 800;
    color: var(--text-primary, #f1f5f9);
    letter-spacing: -.015em;
    margin: 0 0 .65rem;
    line-height: 1.2;
}
.is25-ks-wrap .is25-ks-section-head > p {
    color: var(--text-muted, #aebfd1);
    font-size: 1rem;
    line-height: 1.65;
    margin: 0;
}

@media (min-width: 769px) and (max-width: 1024px) {
    .is25-ks-wrap .is25-ks-cat-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .is25-ks-wrap .is25-ks-cat-grid { grid-template-columns: 1fr; gap: 1rem; }
    .is25-ks-wrap .is25-ks-cat-card { padding: 1.2rem 1.3rem; }
}

/* ==========================================================================
   ISHELLA 2.5 — ROUND 3 POLISH (round 3)
   - Symmetrisk padding pa alle hovedkort
   - Mer luft og konsistent vertikal rytme
   - Mer ice glass-animasjon: glow-puls, sveipende lysrefleks, kursor-tracket glow
   - Mobil-vennlig (768/600/480/375 breakpoints)
   ========================================================================== */

/* --- Symmetrisk kort-padding (override tidligere asymmetri) --- */
.is25-ks-wrap .is25-ks-tiltak-card,
.is25-ks-wrap .is25-ks-case-card,
.is25-ks-wrap .is25-ks-standard-card,
.is25-ks-wrap .is25-ks-download-card,
.is25-ks-wrap .is25-ks-recommendation-card,
.is25-ks-wrap .is25-ks-next-card {
    padding: 1.65rem;
}

.is25-ks-wrap .is25-ks-cat-card {
    padding: 1.5rem;
}

.is25-ks-wrap .is25-ks-article-card {
    padding: 1.5rem;
}

.is25-ks-wrap .is25-ks-author-block {
    padding: 1.85rem;
}

.is25-ks-wrap .is25-ks-cycle-phase details > summary,
.is25-ks-wrap .is25-ks-cal-month details > summary,
.is25-ks-wrap .is25-ks-timeline-step details > summary {
    padding: 1.1rem 1.25rem;
}

.is25-ks-wrap .is25-ks-faq-item details > summary {
    padding: 1.1rem 1.25rem;
}

/* --- Konsistent vertikal rytme mellom seksjoner --- */
.is25-ks-wrap .is25-ks-tool-section,
.is25-ks-wrap .is25-ks-bench-section,
.is25-ks-wrap .is25-ks-tiltak-section,
.is25-ks-wrap .is25-ks-cases-section,
.is25-ks-wrap .is25-ks-cal-section,
.is25-ks-wrap .is25-ks-faq-section,
.is25-ks-wrap .is25-ks-standards-section,
.is25-ks-wrap .is25-ks-download-section,
.is25-ks-wrap .is25-ks-lena-section,
.is25-ks-wrap .is25-ks-articles,
.is25-ks-wrap .is25-ks-author-section,
.is25-ks-wrap .is25-ks-compare-section,
.is25-ks-wrap .is25-ks-other,
.is25-ks-wrap .is25-ks-next-section,
.is25-ks-wrap .is25-ks-cta {
    padding-block: clamp(4rem, 7vw, 6.5rem);
    padding-inline: clamp(1rem, 3vw, 1.75rem);
}

/* Hero faar litt ekstra luft */
.is25-ks-wrap .is25-ks-hero {
    padding: clamp(5rem, 11vw, 8.5rem) clamp(1rem, 3vw, 1.75rem) clamp(3.5rem, 6vw, 5rem);
}

/* Section-head: konsistent margin og padding */
.is25-ks-wrap .is25-ks-section-head,
.is25-ks-wrap .is25-ks-tool-head {
    margin-bottom: clamp(2rem, 4vw, 3rem);
    padding: 0 1rem;
}

/* --- Subtile sveipende lysrefleks paa glasskort (ice shimmer sweep) --- */
@keyframes is25KsGlassSweep {
    0%   { transform: translateX(-110%) skewX(-12deg); opacity: 0; }
    35%  { opacity: .85; }
    70%  { opacity: .6; }
    100% { transform: translateX(220%) skewX(-12deg); opacity: 0; }
}

.is25-ks-wrap .is25-ks-tiltak-card,
.is25-ks-wrap .is25-ks-case-card,
.is25-ks-wrap .is25-ks-standard-card,
.is25-ks-wrap .is25-ks-download-card,
.is25-ks-wrap .is25-ks-recommendation-card,
.is25-ks-wrap .is25-ks-next-card,
.is25-ks-wrap .is25-ks-cat-card,
.is25-ks-wrap .is25-ks-cal-month,
.is25-ks-wrap .is25-ks-timeline-step,
.is25-ks-wrap .is25-ks-article-card {
    overflow: hidden;
}

.is25-ks-wrap .is25-ks-tiltak-card::after,
.is25-ks-wrap .is25-ks-case-card::after,
.is25-ks-wrap .is25-ks-standard-card::after,
.is25-ks-wrap .is25-ks-download-card::after,
.is25-ks-wrap .is25-ks-recommendation-card::after,
.is25-ks-wrap .is25-ks-next-card::after,
.is25-ks-wrap .is25-ks-cat-card::after {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 38%;
    height: 100%;
    background: linear-gradient(
        100deg,
        transparent 0%,
        rgba(186, 230, 253, 0.10) 40%,
        rgba(255, 255, 255, 0.18) 50%,
        rgba(186, 230, 253, 0.10) 60%,
        transparent 100%
    );
    transform: translateX(-110%) skewX(-12deg);
    pointer-events: none;
    z-index: 0;
    opacity: 0;
}

.is25-ks-wrap .is25-ks-tiltak-card:hover::after,
.is25-ks-wrap .is25-ks-case-card:hover::after,
.is25-ks-wrap .is25-ks-standard-card:hover::after,
.is25-ks-wrap .is25-ks-download-card:hover::after,
.is25-ks-wrap .is25-ks-recommendation-card:hover::after,
.is25-ks-wrap .is25-ks-next-card:hover::after,
.is25-ks-wrap .is25-ks-cat-card:hover::after {
    animation: is25KsGlassSweep 1.4s cubic-bezier(.22,1,.36,1);
}

/* Ensure card content sits over the sweep overlay */
.is25-ks-wrap .is25-ks-tiltak-card > *,
.is25-ks-wrap .is25-ks-case-card > *,
.is25-ks-wrap .is25-ks-standard-card > *,
.is25-ks-wrap .is25-ks-download-card > *,
.is25-ks-wrap .is25-ks-recommendation-card > *,
.is25-ks-wrap .is25-ks-next-card > *,
.is25-ks-wrap .is25-ks-cat-card > * {
    position: relative;
    z-index: 1;
}

/* --- Ice-glow puls paa hover (subtilt, ice-tint) --- */
@keyframes is25KsIceGlow {
    0%, 100% { box-shadow: 0 18px 48px rgba(0,0,0,.42), 0 0 0 1px rgba(255,255,255,.05), 0 0 28px rgba(56,189,248,.10); }
    50%      { box-shadow: 0 22px 60px rgba(0,0,0,.48), 0 0 0 1px rgba(125,211,252,.20), 0 0 56px rgba(56,189,248,.28); }
}

.is25-ks-wrap .is25-ks-tiltak-card:hover,
.is25-ks-wrap .is25-ks-case-card:hover,
.is25-ks-wrap .is25-ks-standard-card:hover,
.is25-ks-wrap .is25-ks-download-card:hover,
.is25-ks-wrap .is25-ks-cat-card:hover,
.is25-ks-wrap .is25-ks-next-card:hover {
    animation: is25KsIceGlow 2.4s ease-in-out infinite;
}

/* --- Kursor-tracked ice glow (radial-light som folger musen, satt av JS) --- */
.is25-ks-wrap .is25-ks-tiltak-card,
.is25-ks-wrap .is25-ks-case-card,
.is25-ks-wrap .is25-ks-standard-card,
.is25-ks-wrap .is25-ks-download-card,
.is25-ks-wrap .is25-ks-recommendation-card,
.is25-ks-wrap .is25-ks-next-card,
.is25-ks-wrap .is25-ks-cat-card {
    --is25-mx: 50%;
    --is25-my: 50%;
}

.is25-ks-wrap .is25-ks-tiltak-card::before,
.is25-ks-wrap .is25-ks-case-card::before,
.is25-ks-wrap .is25-ks-standard-card::before,
.is25-ks-wrap .is25-ks-download-card::before,
.is25-ks-wrap .is25-ks-next-card::before,
.is25-ks-wrap .is25-ks-cat-card::before {
    background:
        radial-gradient(420px circle at var(--is25-mx) var(--is25-my),
            rgba(125,211,252,.18) 0%,
            rgba(125,211,252,.04) 30%,
            transparent 60%),
        linear-gradient(135deg, rgba(255,255,255,.06) 0%, transparent 50%);
    opacity: .7;
}

.is25-ks-wrap .is25-ks-tiltak-card:hover::before,
.is25-ks-wrap .is25-ks-case-card:hover::before,
.is25-ks-wrap .is25-ks-standard-card:hover::before,
.is25-ks-wrap .is25-ks-download-card:hover::before,
.is25-ks-wrap .is25-ks-next-card:hover::before,
.is25-ks-wrap .is25-ks-cat-card:hover::before {
    opacity: 1;
}

/* --- Knapper: hover sweep, ice ring fokus --- */
.is25-ks-wrap .is25-ks-btn {
    position: relative;
    overflow: hidden;
    min-height: 48px;
}
.is25-ks-wrap .is25-ks-btn::after {
    content: "";
    position: absolute;
    top: 0; left: -120%;
    width: 80%;
    height: 100%;
    background: linear-gradient(100deg, transparent 0%, rgba(255,255,255,.18) 50%, transparent 100%);
    transform: skewX(-18deg);
    transition: left .7s cubic-bezier(.22,1,.36,1);
    pointer-events: none;
}
.is25-ks-wrap .is25-ks-btn:hover::after {
    left: 130%;
}
.is25-ks-wrap .is25-ks-btn:focus-visible {
    outline: 2px solid #7dd3fc;
    outline-offset: 3px;
    box-shadow: 0 0 0 4px rgba(125,211,252,.25), 0 0 24px rgba(56,189,248,.4);
}

/* --- Eyebrow / badge: subtil pulserende sirkel-glow --- */
@keyframes is25KsBadgePulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(56,189,248,.0), inset 0 0 0 1px rgba(125,211,252,.18); }
    50%      { box-shadow: 0 0 0 6px rgba(56,189,248,.06), inset 0 0 0 1px rgba(125,211,252,.32); }
}
.is25-ks-wrap .is25-ks-tool-badge {
    animation: is25KsBadgePulse 4s ease-in-out infinite;
}

/* --- Forfatter-avatar: subtil ice-flicker --- */
@keyframes is25KsAvatarFlicker {
    0%, 90%, 100% { filter: drop-shadow(0 0 0 rgba(125,211,252,0)); }
    93%           { filter: drop-shadow(0 0 12px rgba(125,211,252,.6)); }
    96%           { filter: drop-shadow(0 0 4px rgba(125,211,252,.2)); }
}
.is25-ks-wrap .is25-ks-author-avatar {
    animation: is25KsAvatarFlicker 7s ease-in-out infinite;
}

/* --- Frosted ice-vein detail paa hero --- */
.is25-ks-wrap .is25-ks-hero {
    position: relative;
    overflow: hidden;
}
.is25-ks-wrap .is25-ks-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        radial-gradient(800px circle at 12% 18%, rgba(125,211,252,.12) 0%, transparent 50%),
        radial-gradient(700px circle at 88% 22%, rgba(255,0,51,.10) 0%, transparent 55%),
        radial-gradient(600px circle at 50% 100%, rgba(155,81,224,.08) 0%, transparent 55%);
    z-index: 0;
}
.is25-ks-wrap .is25-ks-hero > * {
    position: relative;
    z-index: 1;
}

/* --- Ice shimmer: litt sterkere og mer levende --- */
.is25-ks-wrap .is25-ice-shimmer {
    background-image:
        radial-gradient(circle at 18% 22%, rgba(186,230,253,.40) 0, transparent 1.5px),
        radial-gradient(circle at 72% 38%, rgba(125,211,252,.34) 0, transparent 1.5px),
        radial-gradient(circle at 42% 78%, rgba(56,189,248,.28) 0, transparent 1.5px),
        radial-gradient(circle at 88% 88%, rgba(186,230,253,.24) 0, transparent 1.5px),
        radial-gradient(circle at 12% 62%, rgba(125,211,252,.22) 0, transparent 1.5px),
        radial-gradient(circle at 58% 12%, rgba(125,211,252,.18) 0, transparent 1px),
        radial-gradient(circle at 32% 50%, rgba(186,230,253,.16) 0, transparent 1px);
    background-size: 240px 240px, 320px 320px, 280px 280px, 360px 360px, 200px 200px, 420px 420px, 380px 380px;
    opacity: .65;
}

/* --- Reveal-paa-scroll (settes av JS via .is25-revealed) --- */
.is25-ks-wrap .is25-ks-tiltak-card,
.is25-ks-wrap .is25-ks-case-card,
.is25-ks-wrap .is25-ks-standard-card,
.is25-ks-wrap .is25-ks-download-card,
.is25-ks-wrap .is25-ks-cat-card,
.is25-ks-wrap .is25-ks-next-card,
.is25-ks-wrap .is25-ks-cal-month,
.is25-ks-wrap .is25-ks-timeline-step,
.is25-ks-wrap .is25-ks-article-card,
.is25-ks-wrap .is25-ks-recommendation-card {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1);
}
.is25-ks-wrap .is25-revealed {
    opacity: 1;
    transform: translateY(0);
}

/* --- Mobile-friendly: 480 / 600 / 768 --- */
@media (max-width: 768px) {
    .is25-ks-wrap .is25-ks-tool-section,
    .is25-ks-wrap .is25-ks-bench-section,
    .is25-ks-wrap .is25-ks-tiltak-section,
    .is25-ks-wrap .is25-ks-cases-section,
    .is25-ks-wrap .is25-ks-cal-section,
    .is25-ks-wrap .is25-ks-faq-section,
    .is25-ks-wrap .is25-ks-standards-section,
    .is25-ks-wrap .is25-ks-download-section,
    .is25-ks-wrap .is25-ks-lena-section,
    .is25-ks-wrap .is25-ks-articles,
    .is25-ks-wrap .is25-ks-author-section,
    .is25-ks-wrap .is25-ks-compare-section,
    .is25-ks-wrap .is25-ks-other,
    .is25-ks-wrap .is25-ks-next-section,
    .is25-ks-wrap .is25-ks-cta {
        padding-block: clamp(2.5rem, 8vw, 4rem);
        padding-inline: 1rem;
    }
    .is25-ks-wrap .is25-ks-hero {
        padding: clamp(3rem, 10vw, 5rem) 1rem clamp(2.25rem, 7vw, 3.5rem);
    }
    .is25-ks-wrap .is25-ks-section-head,
    .is25-ks-wrap .is25-ks-tool-head {
        padding: 0 .5rem;
        margin-bottom: 1.75rem;
    }
    .is25-ks-wrap .is25-ks-hero-meta {
        gap: .75rem 1.25rem;
        font-size: .82rem;
    }
    .is25-ks-wrap .is25-ks-hero-actions {
        flex-direction: column;
        align-items: stretch;
        gap: .65rem;
    }
    .is25-ks-wrap .is25-ks-hero-actions .is25-ks-hero-jump {
        justify-content: center;
        text-align: center;
        padding: .85rem 1.1rem;
    }
    .is25-ks-wrap .is25-ks-btn {
        min-height: 50px;
        padding-inline: 1.25rem;
        width: 100%;
        justify-content: center;
    }
    .is25-ks-wrap .is25-ks-btn-group .is25-ks-btn { max-width: 100%; }
    .is25-ks-wrap .is25-ks-tiltak-card,
    .is25-ks-wrap .is25-ks-case-card,
    .is25-ks-wrap .is25-ks-standard-card,
    .is25-ks-wrap .is25-ks-download-card,
    .is25-ks-wrap .is25-ks-recommendation-card,
    .is25-ks-wrap .is25-ks-next-card,
    .is25-ks-wrap .is25-ks-cat-card,
    .is25-ks-wrap .is25-ks-article-card {
        padding: 1.4rem;
    }
    .is25-ks-wrap .is25-ks-author-block { padding: 1.4rem; }
}

@media (max-width: 600px) {
    .is25-ks-wrap .is25-ks-cat-grid,
    .is25-ks-wrap .is25-ks-tiltak-grid,
    .is25-ks-wrap .is25-ks-cases-grid,
    .is25-ks-wrap .is25-ks-standards-grid,
    .is25-ks-wrap .is25-ks-download-grid,
    .is25-ks-wrap .is25-ks-cal-12,
    .is25-ks-wrap .is25-ks-timeline,
    .is25-ks-wrap .is25-ks-recommendation-grid,
    .is25-ks-wrap .is25-ks-article-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    .is25-ks-wrap .is25-ks-config-progress { gap: .35rem; }
    .is25-ks-wrap .is25-ks-config-progress li {
        padding: .35rem .6rem;
        font-size: .72rem;
    }
    .is25-ks-wrap .is25-ks-faq-q { font-size: .9rem; }
}

@media (max-width: 480px) {
    .is25-ks-wrap .is25-ks-hero h1 { font-size: clamp(1.7rem, 8vw, 2.2rem); }
    .is25-ks-wrap .is25-ks-hero-desc { font-size: .94rem; }
    .is25-ks-wrap .is25-ks-section-head > h2,
    .is25-ks-wrap .is25-ks-section-head > .is25-ks-section-heading,
    .is25-ks-wrap .is25-ks-tool-head h2 { font-size: clamp(1.4rem, 6vw, 1.7rem); }
    .is25-ks-wrap .is25-ks-tiltak-card h3,
    .is25-ks-wrap .is25-ks-case-card h3,
    .is25-ks-wrap .is25-ks-standard-card h3,
    .is25-ks-wrap .is25-ks-download-card h3,
    .is25-ks-wrap .is25-ks-recommendation-card h4,
    .is25-ks-wrap .is25-ks-next-card h3 { font-size: 1rem; }
    .is25-ks-wrap .is25-ks-cat-card { padding: 1.1rem 1.2rem; gap: .85rem; }
    .is25-ks-wrap .is25-ks-cat-card-icon { width: 44px; height: 44px; font-size: 1rem; }
    .is25-ks-wrap .is25-ks-cycle-visual { width: 200px; height: 200px; }
    .is25-ks-wrap .is25-ks-cycle-month { font-size: .65rem; padding: .15rem .4rem; }
    .is25-ks-wrap .is25-ks-bench-tablewrap,
    .is25-ks-wrap .is25-ks-compare-tablewrap { font-size: .85rem; }
}

/* --- Touch-friendly tap targets pa mobil --- */
@media (hover: none) and (pointer: coarse) {
    .is25-ks-wrap .is25-ks-cat-card,
    .is25-ks-wrap .is25-ks-article-card,
    .is25-ks-wrap .is25-ks-tiltak-card,
    .is25-ks-wrap .is25-ks-case-card,
    .is25-ks-wrap .is25-ks-standard-card,
    .is25-ks-wrap .is25-ks-download-card,
    .is25-ks-wrap .is25-ks-recommendation-card,
    .is25-ks-wrap .is25-ks-next-card,
    .is25-ks-wrap .is25-ks-cycle-phase,
    .is25-ks-wrap .is25-ks-timeline-step,
    .is25-ks-wrap .is25-ks-cal-month,
    .is25-ks-wrap .is25-ks-faq-item,
    .is25-ks-wrap .is25-ks-tool-badge {
        animation: none !important;
    }
    .is25-ks-wrap .is25-ks-btn {
        min-height: 52px;
    }
    .is25-ks-wrap .is25-ks-faq-q,
    .is25-ks-wrap .is25-ks-cycle-phase details > summary,
    .is25-ks-wrap .is25-ks-cal-month details > summary,
    .is25-ks-wrap .is25-ks-timeline-step details > summary {
        min-height: 56px;
    }
}

/* --- Reduced motion: skru av alt unodvendig --- */
@media (prefers-reduced-motion: reduce) {
    .is25-ks-wrap .is25-ks-tiltak-card::after,
    .is25-ks-wrap .is25-ks-case-card::after,
    .is25-ks-wrap .is25-ks-standard-card::after,
    .is25-ks-wrap .is25-ks-download-card::after,
    .is25-ks-wrap .is25-ks-recommendation-card::after,
    .is25-ks-wrap .is25-ks-next-card::after,
    .is25-ks-wrap .is25-ks-cat-card::after,
    .is25-ks-wrap .is25-ks-tool-badge,
    .is25-ks-wrap .is25-ks-author-avatar,
    .is25-ks-wrap .is25-ks-btn::after { animation: none !important; }
    .is25-ks-wrap .is25-ks-tiltak-card:hover,
    .is25-ks-wrap .is25-ks-case-card:hover,
    .is25-ks-wrap .is25-ks-standard-card:hover,
    .is25-ks-wrap .is25-ks-download-card:hover,
    .is25-ks-wrap .is25-ks-cat-card:hover,
    .is25-ks-wrap .is25-ks-next-card:hover { animation: none !important; }
    .is25-ks-wrap .is25-revealed,
    .is25-ks-wrap .is25-ks-tiltak-card,
    .is25-ks-wrap .is25-ks-case-card,
    .is25-ks-wrap .is25-ks-standard-card,
    .is25-ks-wrap .is25-ks-download-card,
    .is25-ks-wrap .is25-ks-cat-card,
    .is25-ks-wrap .is25-ks-next-card,
    .is25-ks-wrap .is25-ks-cal-month,
    .is25-ks-wrap .is25-ks-timeline-step,
    .is25-ks-wrap .is25-ks-article-card,
    .is25-ks-wrap .is25-ks-recommendation-card {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ==========================================================================
   KUNNSKAPSSENTER INDEX — Forbedret design og animasjoner
   ========================================================================== */

/* --- 1. Staggered card reveal — kaskaderende inngang per kort --- */
.is25-ks-wrap .is25-ks-article-card:nth-child(1) { transition-delay: .05s; }
.is25-ks-wrap .is25-ks-article-card:nth-child(2) { transition-delay: .12s; }
.is25-ks-wrap .is25-ks-article-card:nth-child(3) { transition-delay: .19s; }
.is25-ks-wrap .is25-ks-article-card:nth-child(4) { transition-delay: .26s; }
.is25-ks-wrap .is25-ks-article-card:nth-child(5) { transition-delay: .33s; }
.is25-ks-wrap .is25-ks-article-card:nth-child(n+6) { transition-delay: .38s; }

/* --- 2. Cursor-følgende glow på artikkelkort --- */
.is25-ks-wrap .is25-ks-article-card::after {
    content: '';
    position: absolute; inset: 0;
    border-radius: inherit;
    opacity: 0;
    transition: opacity .4s;
    background: radial-gradient(
        500px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),
        rgba(56,189,248,.07), transparent 40%
    );
    pointer-events: none;
    z-index: 1;
}
@media (hover: hover) {
    .is25-ks-wrap .is25-ks-article-card:hover::after { opacity: 1; }
}

/* --- 3. Kategori-filtertabs --- */
.is25-ks-filter-tabs {
    display: flex; flex-wrap: wrap; gap: 8px;
    justify-content: center;
    max-width: 880px; margin: 0 auto 2.5rem;
    padding: 6px;
    background: rgba(11,18,32,.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(148,163,184,.12);
    border-radius: 999px;
}
.is25-ks-filter-tab {
    font-family: var(--font-heading);
    font-size: var(--v24-fs-xs);
    font-weight: 600;
    color: var(--text-muted);
    background: transparent;
    border: 1px solid transparent;
    border-radius: 999px;
    padding: 8px 20px;
    cursor: pointer;
    transition: all .25s var(--ease);
    letter-spacing: .02em;
}
.is25-ks-filter-tab:hover {
    color: var(--text-primary);
    background: rgba(56,189,248,.08);
}
.is25-ks-filter-tab.is-active {
    color: #fff;
    background: rgba(56,189,248,.18);
    border-color: rgba(56,189,248,.35);
    box-shadow: 0 0 12px rgba(56,189,248,.12);
}
.is25-ks-filter-tab:focus-visible { outline: 2px solid var(--is25-ice); outline-offset: 2px; }
.is25-ks-articles.is25-ks-filtered-out { display: none; }

/* --- 4. Søkelinje --- */
.is25-ks-search-wrap {
    max-width: 600px; margin: 0 auto 2rem;
    position: relative;
}
.is25-ks-search-wrap .is25-ks-search-icon {
    position: absolute; left: 16px; top: 50%; transform: translateY(-50%);
    color: var(--text-muted); font-size: .85rem;
    pointer-events: none;
    transition: color .25s;
}
.is25-ks-search-wrap .is25-ks-search-input {
    width: 100%; padding: 13px 14px 13px 42px;
    border-radius: 12px;
    border: 1px solid rgba(148,163,184,.2);
    background: rgba(17,24,39,.75);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: var(--text-primary);
    font-size: var(--v24-fs-sm);
    font-family: var(--font-body);
    transition: border-color .25s, box-shadow .25s;
}
.is25-ks-search-wrap .is25-ks-search-input::placeholder { color: #8b9cb8; }
.is25-ks-search-wrap .is25-ks-search-input:focus {
    outline: none;
    border-color: var(--is25-ice);
    box-shadow: 0 0 0 3px rgba(56,189,248,.15), 0 0 24px rgba(56,189,248,.08);
}
.is25-ks-search-wrap .is25-ks-search-input:focus ~ .is25-ks-search-icon { color: var(--is25-ice); }
.is25-ks-search-count {
    text-align: center; margin-top: .5rem;
    font-size: var(--v24-fs-xs); color: var(--text-muted);
    transition: opacity .25s;
}
.is25-ks-no-results {
    text-align: center; padding: 3rem 1rem;
    color: var(--text-muted); font-size: var(--v24-fs-sm);
    display: none;
}
.is25-ks-no-results.is-visible { display: block; }

/* --- 5. Kategorifarge-differensiering --- */
.is25-ks-wrap .is25-ks-article-card .is25-ks-card-icon {
    background: var(--cluster-accent-soft, rgba(56,189,248,.1));
    color: var(--cluster-accent, var(--ice-blue));
}
.is25-ks-wrap .is25-ks-article-card:hover .is25-ks-card-icon {
    background: var(--cluster-accent-hover, rgba(56,189,248,.18));
}
.is25-ks-wrap .is25-ks-article-card:hover {
    border-color: var(--cluster-accent-border, rgba(56,189,248,.22));
}

/* --- 6. Section headings — gradient tekst + dekorativ linje --- */
.is25-ks-wrap .is25-ks-articles .is25-ks-section-head h2 {
    background: linear-gradient(135deg, var(--v24-text-primary, #f1f5f9) 55%, var(--is25-ice-bright, #7dd3fc) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    position: relative;
    padding-bottom: .75rem;
}
.is25-ks-wrap .is25-ks-articles .is25-ks-section-head h2::after {
    content: '';
    display: block;
    width: 48px; height: 3px;
    margin: .65rem auto 0;
    background: var(--is25-grad-mix);
    border-radius: 2px;
    opacity: .7;
}

/* --- 7. Hero-inngangsanimasjon — staggered svKsRise --- */
.is25-ks-wrap .is25-ks-hero-label {
    animation: svKsRise .55s cubic-bezier(.22,.61,.36,1) .08s backwards;
}
.is25-ks-wrap .is25-ks-hero h1 {
    animation: svKsRise .6s cubic-bezier(.22,.61,.36,1) .14s backwards;
}
.is25-ks-wrap .is25-ks-hero-desc {
    animation: svKsRise .6s cubic-bezier(.22,.61,.36,1) .20s backwards;
}
.is25-ks-wrap .is25-ks-hero-actions {
    animation: svKsRise .55s cubic-bezier(.22,.61,.36,1) .26s backwards;
}
.is25-ks-wrap .eh-kpi-strip {
    animation: svKsRise .55s cubic-bezier(.22,.61,.36,1) .32s backwards;
}
.is25-ks-wrap .eh-kpi:nth-child(1) { animation: svKsRise .5s cubic-bezier(.22,.61,.36,1) .34s backwards; }
.is25-ks-wrap .eh-kpi:nth-child(2) { animation: svKsRise .5s cubic-bezier(.22,.61,.36,1) .38s backwards; }
.is25-ks-wrap .eh-kpi:nth-child(3) { animation: svKsRise .5s cubic-bezier(.22,.61,.36,1) .42s backwards; }
.is25-ks-wrap .eh-kpi:nth-child(4) { animation: svKsRise .5s cubic-bezier(.22,.61,.36,1) .46s backwards; }

/* --- 10. CTA glow --- */
.is25-ks-wrap .is25-ks-cta {
    position: relative;
}
.is25-ks-wrap .is25-ks-cta::before {
    content: '';
    position: absolute; inset: 0;
    background: radial-gradient(ellipse at center, rgba(255,0,51,.05) 0%, transparent 55%);
    pointer-events: none;
    z-index: -1;
}
.is25-ks-wrap .is25-ks-cta > .is25-ks-cta-inner {
    border: 1px solid rgba(56,189,248,.08);
    border-radius: 20px;
    padding: clamp(2rem,4vw,3rem) clamp(1.5rem,3vw,2.5rem);
    background: linear-gradient(160deg, rgba(17,24,39,.5) 0%, rgba(15,23,42,.4) 100%);
    transition: border-color .6s;
}
.is25-ks-wrap .is25-ks-cta > .is25-ks-cta-inner:hover {
    border-color: rgba(56,189,248,.20);
}

/* --- Mobil-tilpasning for nye elementer --- */
@media (max-width: 768px) {
    .is25-ks-filter-tabs {
        border-radius: 14px;
        padding: 5px;
        gap: 4px;
    }
    .is25-ks-filter-tab {
        padding: 7px 14px;
        font-size: .78rem;
    }
    .is25-ks-search-wrap { margin-bottom: 1.5rem; }
}
@media (max-width: 480px) {
    .is25-ks-filter-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        justify-content: flex-start;
    }
    .is25-ks-filter-tabs::-webkit-scrollbar { display: none; }
    .is25-ks-filter-tab { white-space: nowrap; flex-shrink: 0; }
}

/* ==========================================================================
   Bench/spec table utilities
   Used i artikkelsider med tekniske tabeller (sikkerhetsnett-orfa,
   iihf-arenaguide, barekraftig-ishall mfl). Erstatter gjentatt inline-CSS.
   ========================================================================== */
.is25-ks-bench-section {
    background: rgba(56,189,248,.08);
    border-bottom: 1px solid rgba(56,189,248,.25);
    padding: .65rem 1.1rem;
}
.is25-ks-bench-section--bordered { border-top: 1px solid rgba(56,189,248,.25); }
.is25-ks-bench-section--green {
    background: rgba(52,211,153,.08);
    border-bottom-color: rgba(52,211,153,.25);
}
.is25-ks-bench-section--green.is25-ks-bench-section--bordered { border-top-color: rgba(52,211,153,.25); }
.is25-ks-bench-section--amber {
    background: rgba(251,146,60,.08);
    border-bottom-color: rgba(251,146,60,.25);
}
.is25-ks-bench-section--amber.is25-ks-bench-section--bordered { border-top-color: rgba(251,146,60,.25); }

.is25-ks-bench-section-label {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    font-family: var(--font-display, 'Outfit', sans-serif);
    font-size: var(--v24-fs-xs, .82rem);
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ice-blue-bright, #7dd3fc);
}
.is25-ks-bench-section-label--green { color: var(--is25-green-bright, #34d399); }
.is25-ks-bench-section-label--amber { color: var(--is25-amber-bright, #fbbf24); }

.is25-ks-bench-row-label {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
}
.is25-ks-bench-row-icon {
    color: var(--ice-blue, #38bdf8);
    width: 18px;
    text-align: center;
}

.is25-ks-bench-mono {
    font-family: var(--font-mono, 'JetBrains Mono', monospace);
    font-weight: 700;
    color: var(--ice-blue-bright, #7dd3fc);
}
.is25-ks-bench-mono--amber { color: var(--is25-amber-bright, #fbbf24); }
.is25-ks-bench-mono--green { color: var(--is25-green-bright, #34d399); }
.is25-ks-bench-mono--red { color: #fca5a5; }
.is25-ks-bench-mono--orange { color: #fdba74; }

.is25-ks-bench-row-icon--green { color: var(--is25-green-bright, #34d399); }
.is25-ks-bench-row-icon--orange { color: #fb923c; }
.is25-ks-bench-row-icon--red { color: #ef4444; }
.is25-ks-bench-section-label--orange { color: #fb923c; }

.is25-ks-bench-name--good { color: var(--is25-green-bright, #34d399); font-weight: 700; }
.is25-ks-bench-name--bad { color: #fca5a5; font-weight: 700; }
.is25-ks-bench-name--mid { color: #fdba74; font-weight: 700; }

.is25-ks-bench-meta {
    color: var(--text-muted, #94a3b8);
    font-size: .88rem;
}
.is25-ks-bench-meta--source { font-size: .92rem; }

/* ==========================================================================
   Reading utilities
   Brukes på artikkelsider med narrative paragrafer og smal lese-bredde.
   ========================================================================== */
.is25-ks-articles-inner--narrow { max-width: 880px; }

.is25-ks-prose p {
    color: var(--text-secondary);
    line-height: 1.75;
    margin-bottom: 1.25rem;
}
.is25-ks-prose p:last-child { margin-bottom: 0; }

.is25-visually-hidden {
    position: absolute;
    clip: rect(0 0 0 0);
    width: 1px;
    height: 1px;
    overflow: hidden;
    white-space: nowrap;
    border: 0;
    padding: 0;
    margin: -1px;
}

/* ==========================================================================
   In-page TOC
   Brukes på lange artikkelsider (>=10 H2 eller >=10 min lesetid).
   Mønster: <details open> for å la brukere kollapse på mobil.
   ========================================================================== */
.is25-ks-toc {
    max-width: 880px;
    margin: 1.5rem auto 2rem;
    padding: 0 1.5rem;
}
.is25-ks-toc > details {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(56, 189, 248, 0.18);
    border-radius: 12px;
    padding: 0.75rem 1.25rem;
}
.is25-ks-toc > details > summary {
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.35rem 0;
    user-select: none;
}
.is25-ks-toc > details > summary::-webkit-details-marker { display: none; }
.is25-ks-toc-label {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--ice-blue-bright, #7dd3fc);
}
.is25-ks-toc-chevron {
    transition: transform 0.25s ease;
    color: var(--ice-blue, #38bdf8);
    font-size: 0.85rem;
}
.is25-ks-toc > details[open] .is25-ks-toc-chevron { transform: rotate(180deg); }
.is25-ks-toc-list {
    list-style: none;
    margin: 0.85rem 0 0.25rem;
    padding: 0;
    columns: 2;
    column-gap: 1.5rem;
}
.is25-ks-toc-list > li {
    break-inside: avoid;
    margin-bottom: 0.4rem;
}
.is25-ks-toc-list a {
    display: inline-flex;
    align-items: baseline;
    gap: 0.45rem;
    color: var(--text-secondary, #cbd5e1);
    font-size: 0.9rem;
    line-height: 1.4;
    text-decoration: none;
    padding: 0.2rem 0;
    transition: color 0.15s ease;
}
.is25-ks-toc-list a:hover,
.is25-ks-toc-list a:focus-visible {
    color: var(--ice-blue-bright, #7dd3fc);
}
.is25-ks-toc-list a:focus-visible {
    outline: 2px solid var(--ice-blue, #38bdf8);
    outline-offset: 2px;
    border-radius: 3px;
}
.is25-ks-toc-list a::before {
    content: "›";
    color: var(--ice-blue, #38bdf8);
    opacity: 0.7;
    font-weight: 700;
    flex-shrink: 0;
}

@media (max-width: 720px) {
    .is25-ks-toc-list { columns: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .is25-ks-toc-chevron { transition: none; }
}
