/* Nordic Multiforms — felles styling
 *
 * BREAKPOINTS (industri-standard, ikke endre uten å oppdatere skill):
 *   Desktop:       ≥1024px  — 2-kolonne hero, full grid
 *   Tablet:        640–1024px — 1-kolonne hero, visual sentrert under tekst
 *   Mobile:        <640px   — kompakt, visual mindre eller skjult
 *   Smal-mobil:    <400px   — krymp logo + padding (iPhone SE)
 *
 * Hover NB: hero-2col, e-hero-inner, kurs-hero-inner, bus-hero-inner og
 * skj-hero-inner stables ALLE på <1024px (ikke 880px som tidligere).
 */


/* ============================================ LUCIDE IKONER ============================================ */
/* Standard: arve farge fra forelder, vertikal-justert med tekst */
[data-lucide], svg.lucide { width: 1em; height: 1em; stroke-width: 2; vertical-align: -0.15em; display: inline-block; flex-shrink: 0; }
/* Liste-haker: korall, litt større */
.icon-check, li > [data-lucide="check"], li > svg.lucide-check { color: var(--nm-coral); width: 1.1em; height: 1.1em; margin-right: 6px; }
/* Store ikoner i pillar-/value-/product-icon-bokser */
.pillar-icon [data-lucide], .pillar-icon svg.lucide,
.value-icon [data-lucide], .value-icon svg.lucide,
.product-icon [data-lucide], .product-icon svg.lucide,
.usecase-icon [data-lucide], .usecase-icon svg.lucide,
.field-type .icon [data-lucide], .field-type .icon svg.lucide,
.icon-xl [data-lucide], .icon-xl svg.lucide { width: 40px; height: 40px; stroke-width: 1.75; }
/* Trust-badge ikoner: liten, koral */
.trust-badge [data-lucide], .trust-badge svg.lucide { width: 1.1em; height: 1.1em; color: var(--nm-coral); margin-right: 4px; }
/* Footer-CTA ikon-tekst */
small [data-lucide], small svg.lucide { color: var(--nm-coral); margin-right: 2px; }

/* Hamburger-meny for mobil */
.nm-mobile-toggle { display: none !important; background: none; border: none; padding: 8px; cursor: pointer; color: var(--nm-navy); border-radius: 8px; align-items: center; justify-content: center; }
.nm-mobile-toggle:hover { background: var(--gray-100); }
.nm-mobile-toggle svg { display: block; width: 28px; height: 28px; }
.nm-mobile-toggle .nm-mobile-icon-close { display: none !important; }
.nm-mobile-toggle[aria-expanded="true"] .nm-mobile-icon-open { display: none !important; }
.nm-mobile-toggle[aria-expanded="true"] .nm-mobile-icon-close { display: block !important; }
.nm-nav-wrap { display: flex; align-items: center; gap: var(--space-4); }

@media (max-width: 880px) {
  .nm-mobile-toggle { display: flex !important; }
  .nm-header-inner { position: relative; }
}

/* Smal mobil (iPhone SE og lignende): krymp logo + padding */
@media (max-width: 400px) {
  .container { padding-left: var(--space-2); padding-right: var(--space-2); }
  .nm-logo-img { height: 26px; }
  .nm-header-inner { gap: var(--space-2); }
  .nm-mobile-toggle { padding: 6px; }
  .nm-mobile-toggle svg { width: 24px; height: 24px; }
}

@media (max-width: 880px) {
  .nm-header-inner.dummy { /* prevent block-collapse */ }
  .nm-nav-wrap {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    background: var(--white);
    padding: 16px;
    box-shadow: var(--shadow-lg);
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    border-radius: 12px;
    z-index: 100;
  }
  .nm-nav-wrap.open { display: flex; }
  .nm-nav-wrap .nm-nav {
    display: flex !important;
    flex-direction: column;
    gap: 4px;
    width: 100%;
  }
  .nm-nav-wrap .nm-nav a {
    padding: 12px 16px;
    border-radius: 8px;
    display: block;
  }
  .nm-nav-wrap .nm-header-cta {
    flex-direction: column;
    align-items: stretch;
    border-top: 1px solid var(--gray-100);
    padding-top: 12px;
    margin-top: 4px;
  }
  .nm-nav-wrap .nm-header-cta .nm-btn,
  .nm-nav-wrap .nm-header-cta .nm-link {
    width: 100%;
    text-align: center;
  }
}

/* Awesomeit-ikoner — identiske med admin-panelet (grå #7c7c7c stroke) */
.field-type .icon img.awesomeit { width: 32px; height: 32px; display: block; margin: 0 auto; }

/* Pricing-bryter (1-2 brukere / Hele bedriften) */
.pricing-toggle { display: inline-flex; background: var(--nm-cream); border-radius: 999px; padding: 4px; gap: 4px; }
.pricing-toggle button { border: none; background: transparent; padding: 10px 24px; border-radius: 999px; font-family: var(--font-body); font-weight: 600; font-size: 15px; cursor: pointer; color: var(--gray-700); transition: all 0.15s ease; }
.pricing-toggle button:hover { color: var(--nm-navy); }
.pricing-toggle button.active { background: var(--nm-coral); color: var(--white); box-shadow: var(--shadow-sm); }
/* 2-card grid (hovedplan + Enterprise) */
.pricing-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); margin-top: -120px; position: relative; }

/* Integrasjons-card illustrasjon (topp-bilde med leverandørens logo) */
.int-illustration {
  width: 100%;
  max-width: 280px;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: contain;
  border-radius: 12px;
  margin: 0 auto 16px;
  display: block;
  background: var(--nm-cream);
}

/* ============================================ HERO 2-KOLONNE (gjenbrukbar) ============================================ */
.hero-2col { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--space-6); align-items: center; max-width: 1100px; margin: 0 auto; }
.hero-2col img { width: 100%; height: auto; max-width: 380px; border-radius: 20px; display: block; margin: 0 auto; }
@media (max-width: 1024px) {
  .hero-2col { grid-template-columns: 1fr; gap: var(--space-4); text-align: center; }
  .hero-2col .nm-btn { margin: 4px; }
}



@media (max-width: 1024px) {
  .nm-nav { display: none; }
  .nm-hero-inner { grid-template-columns: 1fr; }
  .nm-hero-visual { aspect-ratio: 1/1; max-width: 400px; margin: 0 auto; }
  .nm-hero h1 { font-size: 36px; }
  .nm-track-grid { grid-template-columns: 1fr 1fr; }
  .nm-steps { grid-template-columns: 1fr; }
  .nm-case-card { grid-template-columns: 1fr; padding: var(--space-4); }
  .nm-case h3 { font-size: 26px; }
  .nm-security-grid { grid-template-columns: 1fr; }
  .nm-footer-inner { grid-template-columns: 1fr 1fr; }
  section { padding: var(--space-8) 0; }
}

@media (max-width: 500px) {
  .nm-track-grid { grid-template-columns: 1fr; }
  .nm-footer-inner { grid-template-columns: 1fr; }
  .nm-header-cta .nm-link { display: none; }
}
:root { --nm-navy:        #2c3546;
  --nm-pink:        #ffd7d7;
  --nm-cream:       #f7f5f3;
  --nm-teal:        #145971;
  --nm-teal-light:  #82c0c7;
  --nm-coral:       #fc5e58;
  --nm-coral-dark:  #b01235;
  --gray-900: #1a1d23;
  --gray-700: #4a5060;
  --gray-500: #7a8090;
  --gray-300: #d4d8e0;
  --gray-100: #f1f3f6;
  --white:    #ffffff;
  --font-heading: Calibri, "Calibri Light", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;
  --font-body:    "Calibri Light", Calibri, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;
  --space-1: 8px;  --space-2: 16px;  --space-3: 24px;  --space-4: 32px;
  --space-6: 48px; --space-8: 64px;  --space-12: 96px;
  --radius-sm: 6px; --radius-md: 12px; --radius-lg: 20px; --radius-pill: 999px;
  --shadow-sm: 0 1px 3px rgba(44, 53, 70, 0.08);
  --shadow-md: 0 4px 12px rgba(44, 53, 70, 0.10);
  --shadow-lg: 0 12px 32px rgba(44, 53, 70, 0.12); }
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-body); color: var(--nm-navy); background: var(--white); line-height: 1.55; -webkit-font-smoothing: antialiased; padding-bottom: 60px; }
a { color: var(--nm-teal); text-decoration: none; }
a:hover { text-decoration: underline; }
.container { max-width: 1280px; margin: 0 auto; padding: 0 var(--space-4); }
/* ============================================ HEADER ============================================ */
.nm-header { position: sticky; top: 0; z-index: 100; background: rgba(255, 255, 255, 0.92); backdrop-filter: blur(12px); border-bottom: 1px solid var(--gray-100); }
.nm-header-inner { display: flex; align-items: center; justify-content: space-between; padding: var(--space-2) 0; gap: var(--space-4); }
.nm-logo { display: flex; align-items: center; text-decoration: none; }
.nm-logo-img { height: 32px; width: auto; display: block; }
.nm-nav { display: flex; gap: var(--space-3); list-style: none; }
.nm-nav a { color: var(--gray-700); font-weight: 500; font-size: 15px; padding: var(--space-1) var(--space-2); border-radius: var(--radius-sm); transition: all 0.15s ease; text-decoration: none; }
.nm-nav a:hover { background: var(--gray-100); color: var(--nm-navy); }
.nm-header-cta { display: flex; gap: var(--space-2); align-items: center; }
.nm-link { color: var(--nm-navy); font-weight: 500; font-size: 15px; padding: var(--space-1) var(--space-2); text-decoration: none; }
.nm-btn { display: inline-block; padding: 12px 24px; border: none; border-radius: var(--radius-pill); font-family: var(--font-body); font-weight: 600; font-size: 15px; text-decoration: none; cursor: pointer; transition: all 0.15s ease; text-align: center; }
.nm-btn-primary { background: var(--nm-coral); color: var(--white); box-shadow: var(--shadow-md); }
.nm-btn-primary:hover { background: var(--nm-coral-dark); transform: translateY(-1px); box-shadow: var(--shadow-lg); }
.nm-btn-secondary { background: transparent; color: var(--nm-navy); border: 2px solid var(--nm-navy); }
.nm-btn-secondary:hover { background: var(--nm-navy); color: var(--white); }
.nm-btn-ghost { background: transparent; color: var(--nm-navy); padding: 12px 8px; }
.nm-btn-ghost:hover { color: var(--nm-coral); }
/* ============================================ HERO ============================================ */
.nm-hero { background: linear-gradient(135deg, var(--nm-pink) 0%, var(--nm-cream) 100%); padding: var(--space-12) var(--space-4); position: relative; overflow: hidden; }
.nm-hero::before { content: ""; position: absolute; top: -100px; right: -100px; width: 400px; height: 400px; background: radial-gradient(circle, var(--nm-teal-light) 0%, transparent 70%); opacity: 0.25; border-radius: 50%; pointer-events: none; }
.nm-hero-inner { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--space-8); align-items: center; position: relative; }
.nm-hero-eyebrow { display: inline-flex; align-items: center; gap: var(--space-1); background: rgba(255, 255, 255, 0.6); border: 1px solid rgba(20, 89, 113, 0.15); color: var(--nm-teal); font-weight: 600; font-size: 13px; letter-spacing: 0.5px; padding: 6px 14px; border-radius: var(--radius-pill); margin-bottom: var(--space-3); }
.nm-hero h1 { font-family: var(--font-heading); font-weight: 800; font-size: clamp(36px, 5vw, 56px); line-height: 1.08; color: var(--nm-navy); margin-bottom: var(--space-3); letter-spacing: -0.02em; }
.nm-hero h1 .nm-hero-accent { background: linear-gradient(120deg, var(--nm-teal) 0%, var(--nm-coral) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.nm-hero p.lede { font-size: 19px; line-height: 1.6; color: var(--gray-700); max-width: 540px; margin-bottom: var(--space-4); }
.nm-hero-cta-row { display: flex; gap: var(--space-2); flex-wrap: wrap; margin-bottom: var(--space-6); }
.nm-hero-cta-row .nm-btn { padding: 16px 32px; font-size: 16px; }
.nm-trust { display: flex; align-items: center; gap: var(--space-3); font-size: 14px; color: var(--gray-700); }
.nm-trust-avatars { display: flex; }
.nm-trust-avatar { width: 32px; height: 32px; border-radius: 50%; border: 2px solid var(--white); margin-left: -8px; display: grid; place-items: center; color: var(--white); font-size: 12px; font-weight: 600; }
.nm-trust-avatar:first-child { margin-left: 0; background: var(--nm-coral); }
.nm-trust-avatar:nth-child(2) { background: var(--nm-teal); }
.nm-trust-avatar:nth-child(3) { background: var(--nm-navy); }
.nm-trust-avatar:nth-child(4) { background: var(--nm-teal-light); color: var(--nm-navy); }
.nm-hero-visual { position: relative; aspect-ratio: 4/3; }
.nm-hero-card { position: absolute; background: var(--white); border-radius: var(--radius-md); padding: var(--space-3); box-shadow: var(--shadow-lg); border: 1px solid var(--gray-100); display: flex; flex-direction: column; gap: 8px; min-width: 220px; }
.nm-hero-card-1 { top: 10%; left: 5%; transform: rotate(-3deg); }
.nm-hero-card-2 { top: 35%; right: 5%; transform: rotate(2deg); }
.nm-hero-card-3 { bottom: 10%; left: 20%; transform: rotate(-1deg); }
.nm-card-label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.8px; color: var(--gray-500); font-weight: 600; }
.nm-card-title { font-family: var(--font-heading); font-weight: 700; font-size: 15px; color: var(--nm-navy); }
.nm-card-row { display: flex; align-items: center; gap: 8px; padding: 6px 8px; background: var(--gray-100); border-radius: var(--radius-sm); font-size: 13px; color: var(--gray-700); }
.nm-card-row.success { background: rgba(20, 89, 113, 0.08); color: var(--nm-teal); }
.nm-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--nm-coral); }
.nm-dot.success { background: var(--nm-teal); }
/* ============================================ TRUST-STRIP ============================================ */
.nm-trust-strip { background: var(--white); padding: var(--space-3) var(--space-4); border-top: 1px solid var(--gray-100); border-bottom: 1px solid var(--gray-100); }
.nm-trust-strip-inner { max-width: 1280px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-3); }
.nm-trust-label { color: var(--gray-500); font-size: 13px; font-weight: 500; }
.nm-customer-logos { display: flex; align-items: center; gap: var(--space-4); flex-wrap: wrap; }
.nm-customer-logos .logo { font-family: var(--font-heading); font-weight: 700; color: var(--gray-500); opacity: 0.75; font-size: 14px; }
/* ============================================ SECTION FELLES ============================================ */
section { padding: var(--space-12) 0; }
.section-eyebrow { display: inline-block; color: var(--nm-coral); font-weight: 600; font-size: 13px; letter-spacing: 0.8px; text-transform: uppercase; margin-bottom: var(--space-2); }
.section-title { font-family: var(--font-heading); font-weight: 800; font-size: clamp(28px, 3.5vw, 40px); color: var(--nm-navy); margin-bottom: var(--space-2); letter-spacing: -0.01em; line-height: 1.15; }
.section-lede { font-size: 18px; color: var(--gray-700); max-width: 680px; margin: 0 auto; line-height: 1.5; }
.section-head { text-align: center; margin-bottom: var(--space-8); }
/* ============================================ BRANSJE-SPOR ============================================ */
.nm-tracks { background: var(--white); }
.nm-track-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-3); }
.nm-track-card { display: flex; flex-direction: column; padding: var(--space-4); background: var(--white); border: 1px solid var(--gray-100); border-radius: var(--radius-lg); text-decoration: none; color: inherit; transition: all 0.2s ease; position: relative; overflow: hidden; }
.nm-track-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--track-color, var(--nm-teal)); }
.nm-track-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: var(--track-color, var(--nm-teal)); }
.nm-track-icon { width: 56px; height: 56px; border-radius: var(--radius-md); background: var(--track-bg, rgba(20, 89, 113, 0.1)); color: var(--track-color, var(--nm-teal)); display: grid; place-items: center; margin-bottom: var(--space-3); font-size: 28px; }
.nm-track-card h3 { font-family: var(--font-heading); font-weight: 700; font-size: 20px; color: var(--nm-navy); margin-bottom: var(--space-1); }
.nm-track-card p { color: var(--gray-700); font-size: 15px; margin-bottom: var(--space-3); }
.nm-track-card .nm-track-arrow { margin-top: auto; color: var(--track-color, var(--nm-teal)); font-weight: 600; font-size: 14px; display: flex; align-items: center; gap: 4px; }
.track-buss { --track-color: var(--nm-coral); --track-bg: rgba(252, 94, 88, 0.10); }
.track-kurs { --track-color: var(--nm-teal); --track-bg: rgba(20, 89, 113, 0.10); }
.track-skjema { --track-color: var(--nm-navy); --track-bg: rgba(44, 53, 70, 0.10); }
.track-forening { --track-color: var(--nm-teal-light); --track-bg: rgba(130, 192, 199, 0.20); }
/* ============================================ HOW IT WORKS ============================================ */
.nm-how { background: var(--nm-cream); }
.nm-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.nm-step { position: relative; padding: var(--space-3); }
.nm-step-num { width: 48px; height: 48px; background: var(--nm-navy); color: var(--white); border-radius: 50%; display: grid; place-items: center; font-family: var(--font-heading); font-weight: 800; font-size: 20px; margin-bottom: var(--space-2); }
.nm-step h3 { font-family: var(--font-heading); font-weight: 700; font-size: 22px; color: var(--nm-navy); margin-bottom: var(--space-1); }
.nm-step p { color: var(--gray-700); font-size: 15px; }
/* ============================================ CASE STUDY ============================================ */
.nm-case { background: var(--white); }
.nm-case-card { background: linear-gradient(135deg, var(--nm-navy) 0%, var(--nm-teal) 100%); color: var(--white); border-radius: var(--radius-lg); padding: var(--space-8); display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--space-6); align-items: center; position: relative; overflow: hidden; }
.nm-case-card::before { content: ""; position: absolute; top: -100px; right: -100px; width: 300px; height: 300px; background: radial-gradient(circle, var(--nm-pink) 0%, transparent 70%); opacity: 0.2; border-radius: 50%; }
.nm-case-label { color: var(--nm-pink); font-weight: 600; font-size: 13px; letter-spacing: 0.8px; text-transform: uppercase; margin-bottom: var(--space-2); }
.nm-case h3 { font-family: var(--font-heading); font-weight: 800; font-size: 32px; line-height: 1.15; margin-bottom: var(--space-3); }
.nm-case blockquote { font-size: 17px; line-height: 1.55; color: rgba(255, 255, 255, 0.92); font-style: italic; border-left: 3px solid var(--nm-pink); padding-left: var(--space-3); margin-bottom: var(--space-3); }
.nm-case-author { font-size: 14px; color: rgba(255, 255, 255, 0.8); }
.nm-case-author b { color: var(--white); }
.nm-case-stats { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); position: relative; }
.nm-stat { background: rgba(255, 255, 255, 0.10); padding: var(--space-3); border-radius: var(--radius-md); backdrop-filter: blur(8px); }
.nm-stat-num { font-family: var(--font-heading); font-weight: 800; font-size: 32px; color: var(--nm-pink); margin-bottom: 4px; }
.nm-stat-label { font-size: 13px; color: rgba(255, 255, 255, 0.85); }
/* ============================================ TRUST/SECURITY ============================================ */
.nm-security { background: var(--gray-100); }
.nm-security-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); margin-bottom: var(--space-6); }
.nm-security-card { background: var(--white); padding: var(--space-4); border-radius: var(--radius-md); }
.nm-security-icon { width: 40px; height: 40px; border-radius: var(--radius-sm); background: rgba(20, 89, 113, 0.10); color: var(--nm-teal); display: grid; place-items: center; margin-bottom: var(--space-2); font-size: 20px; }
.nm-security-card h4 { font-family: var(--font-heading); font-weight: 700; font-size: 17px; color: var(--nm-navy); margin-bottom: 6px; }
.nm-security-card p { color: var(--gray-700); font-size: 14px; }
.nm-integrations { background: var(--white); padding: var(--space-4); border-radius: var(--radius-md); display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-3); }
.nm-integrations-label { font-family: var(--font-heading); font-weight: 700; color: var(--nm-navy); font-size: 16px; }
.nm-integration-logos { display: flex; gap: var(--space-4); flex-wrap: wrap; align-items: center; }
.nm-integration-logos span { font-family: var(--font-heading); font-weight: 600; color: var(--gray-500); font-size: 14px; padding: 6px 12px; border: 1px solid var(--gray-300); border-radius: var(--radius-sm); }
/* ============================================ FINAL CTA ============================================ */
.nm-cta-final { background: linear-gradient(135deg, var(--nm-pink) 0%, var(--nm-cream) 100%); text-align: center; padding: var(--space-12) var(--space-4); }
.nm-cta-final h2 { font-family: var(--font-heading); font-weight: 800; font-size: clamp(28px, 4vw, 44px); color: var(--nm-navy); margin-bottom: var(--space-2); line-height: 1.1; }
.nm-cta-final p { font-size: 18px; color: var(--gray-700); max-width: 580px; margin: 0 auto var(--space-4); }
.nm-cta-row { display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; margin-bottom: var(--space-3); }
.nm-cta-row .nm-btn { padding: 16px 32px; font-size: 16px; }
.nm-cta-final small { color: var(--gray-500); font-size: 13px; }
/* ============================================ FOOTER ============================================ */
.nm-footer { background: var(--nm-navy); color: rgba(255, 255, 255, 0.85); padding: var(--space-8) var(--space-4) var(--space-4); }
.nm-footer-inner { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: var(--space-6); }
.nm-footer h5 { font-family: var(--font-heading); font-weight: 700; color: var(--white); font-size: 14px; margin-bottom: var(--space-2); text-transform: uppercase; letter-spacing: 0.5px; }
.nm-footer-col p { font-size: 14px; line-height: 1.55; color: rgba(255, 255, 255, 0.7); }
.nm-footer-col ul { list-style: none; }
.nm-footer-col li { margin-bottom: 8px; }
.nm-footer-col a { color: rgba(255, 255, 255, 0.7); font-size: 14px; text-decoration: none; }
.nm-footer-col a:hover { color: var(--nm-pink); }
.nm-footer-contact { display: flex; align-items: center; gap: var(--space-2); margin-bottom: var(--space-2); }
.nm-footer-contact-avatar { width: 48px; height: 48px; border-radius: 50%; background: var(--nm-pink); color: var(--nm-navy); display: grid; place-items: center; font-family: var(--font-heading); font-weight: 700; font-size: 18px; }
.nm-footer-contact b { color: var(--white); display: block; font-size: 15px; }
.nm-footer-contact small { color: rgba(255, 255, 255, 0.6); font-size: 13px; }
.nm-footer-bottom { max-width: 1280px; margin: var(--space-6) auto 0; padding-top: var(--space-3); border-top: 1px solid rgba(255, 255, 255, 0.1); display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--space-2); font-size: 13px; color: rgba(255, 255, 255, 0.55); }
/* ============================================ MOBIL ============================================ */



/* MOCKUP META */
.mockup-banner { position: fixed; bottom: 0; left: 0; right: 0; background: var(--nm-navy); color: var(--white); padding: 12px 20px; font-size: 13px; display: flex; justify-content: space-between; align-items: center; z-index: 1000; font-family: var(--font-body); }
.mockup-banner b { color: var(--nm-pink); }

@media (max-width: 880px) {
  .nm-nav { display: none; }
  .pricing-grid { grid-template-columns: 1fr; margin-top: -60px; }
  .pricing-card.featured { transform: none; }
  .included-grid { grid-template-columns: 1fr; }
  .addon-row { grid-template-columns: 1fr; gap: 8px; text-align: left; }
  .enterprise-inner { grid-template-columns: 1fr; }
  .nm-footer-inner { grid-template-columns: 1fr 1fr; }
}
:root { --nm-navy: #222222; --nm-mint: #ceede7; --nm-pink: #ffd7d7; --nm-cream: #f7f5f3;
  --nm-teal: #145971; --nm-teal-light: #82c0c7;
  --nm-coral: #fc5e58; --nm-coral-dark: #b01235;
  --gray-900: #1a1d23; --gray-700: #4a5060; --gray-500: #7a8090;
  --gray-300: #d4d8e0; --gray-100: #f1f3f6; --white: #ffffff;
  --font-heading: Calibri, "Calibri Light", Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-body: "Calibri Light", Calibri, Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  --space-1: 8px; --space-2: 16px; --space-3: 24px; --space-4: 32px;
  --space-6: 48px; --space-8: 64px; --space-12: 96px;
  --radius-sm: 6px; --radius-md: 12px; --radius-lg: 20px; --radius-pill: 999px;
  --shadow-sm: 0 1px 3px rgba(44, 53, 70, 0.08);
  --shadow-md: 0 4px 12px rgba(44, 53, 70, 0.10);
  --shadow-lg: 0 12px 32px rgba(44, 53, 70, 0.12); }
/* HEADER */
.nm-header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,0.92); backdrop-filter: blur(12px); border-bottom: 1px solid var(--gray-100); }
.nm-nav a { color: var(--gray-700); font-weight: 500; font-size: 15px; padding: var(--space-1) var(--space-2); border-radius: var(--radius-sm); }
.nm-nav a.active { color: var(--nm-navy); font-weight: 600; }
.nm-link { color: var(--nm-navy); font-weight: 500; font-size: 15px; padding: var(--space-1) var(--space-2); }
/* PAGE HERO (mindre enn forsiden) */
.page-hero { background: linear-gradient(135deg, var(--nm-pink) 0%, var(--nm-cream) 100%); padding: var(--space-8) var(--space-4); text-align: center; position: relative; overflow: hidden; }
.page-hero h1 { font-family: var(--font-heading); font-weight: 800; font-size: clamp(36px, 5vw, 52px); line-height: 1.1; color: var(--nm-navy); margin-bottom: var(--space-2); letter-spacing: -0.02em; }
.page-hero p { font-size: 19px; color: var(--gray-700); max-width: 640px; margin: 0 auto; }
.page-hero .eyebrow { display: inline-block; color: var(--nm-coral); font-weight: 600; font-size: 13px; letter-spacing: 0.8px; text-transform: uppercase; margin-bottom: var(--space-2); }
/* PRICING GRID */
.pricing-section { padding: var(--space-12) 0; }
.pricing-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--space-3); margin-top: -120px; position: relative; }
/* Pris-kortet: bredere på PC (800px), full bredde på mobil */
.pricing-card-wrap { max-width: 800px; margin: 0 auto; }
@media (max-width: 640px) { .pricing-card-wrap { max-width: 100%; } }
.pricing-card { background: var(--white); border-radius: var(--radius-lg); padding: var(--space-6) var(--space-4); border: 1px solid var(--gray-100); box-shadow: var(--shadow-md); display: flex; flex-direction: column; }
.pricing-card.featured { border: 2px solid var(--nm-coral); transform: translateY(-12px); box-shadow: var(--shadow-lg); position: relative; }
.pricing-card.featured::before { display: none; }
.pricing-card-icon { width: 64px; height: 64px; border-radius: 16px; background: var(--nm-cream); color: var(--nm-coral); display: grid; place-items: center; margin-bottom: var(--space-3); }
.pricing-card-icon svg { width: 32px; height: 32px; stroke-width: 1.75; }
.pricing-tier-name { font-family: var(--font-heading); font-weight: 700; font-size: 18px; color: var(--gray-700); margin-bottom: var(--space-1); }
.pricing-price { display: flex; align-items: baseline; gap: 6px; margin-bottom: var(--space-2); }
.pricing-amount { font-family: var(--font-heading); font-weight: 800; font-size: 44px; color: var(--nm-navy); letter-spacing: -0.02em; }
.pricing-period { color: var(--gray-500); font-size: 16px; }
.pricing-desc { color: var(--gray-700); font-size: 15px; margin-bottom: var(--space-3); min-height: 48px; }
.pricing-features { list-style: none; margin-bottom: var(--space-4); flex: 1; }
.pricing-features li { display: flex; align-items: start; gap: 8px; padding: 8px 0; font-size: 15px; color: var(--gray-700); border-bottom: 1px solid var(--gray-100); }
.pricing-features li:last-child { border-bottom: none; }
.pricing-features li::before { content: "✓"; color: var(--nm-teal); font-weight: 700; flex-shrink: 0; }
.pricing-features li.muted { color: var(--gray-500); }
.pricing-features li.muted::before { content: "—"; color: var(--gray-300); }
.pricing-card .nm-btn { width: 100%; }
/* WHAT'S INCLUDED */
.included-section { background: var(--nm-cream); padding: var(--space-12) 0; }
.included-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.included-item { display: flex; gap: var(--space-2); align-items: start; }
.included-icon { flex-shrink: 0; width: 40px; height: 40px; background: var(--white); border-radius: var(--radius-sm); display: grid; place-items: center; color: var(--nm-teal); font-size: 20px; }
.included-item h4 { font-family: var(--font-heading); font-weight: 700; font-size: 16px; color: var(--nm-navy); margin-bottom: 4px; }
.included-item p { color: var(--gray-700); font-size: 14px; }
/* ADDONS */
.addons-section { padding: var(--space-12) 0; }
.section-head { text-align: center; margin-bottom: var(--space-6); }
.section-head .eyebrow { display: inline-block; color: var(--nm-coral); font-weight: 600; font-size: 13px; letter-spacing: 0.8px; text-transform: uppercase; margin-bottom: var(--space-2); }
.section-head h2 { font-family: var(--font-heading); font-weight: 800; font-size: clamp(28px, 3.5vw, 36px); color: var(--nm-navy); }
.addons-table { background: var(--white); border: 1px solid var(--gray-100); border-radius: var(--radius-lg); overflow: hidden; max-width: 800px; margin: 0 auto; }
.addon-row { display: grid; grid-template-columns: 1fr 1fr auto; gap: var(--space-3); padding: var(--space-3) var(--space-4); align-items: center; border-bottom: 1px solid var(--gray-100); }
.addon-row:last-child { border-bottom: none; }
.addon-name { font-family: var(--font-heading); font-weight: 600; color: var(--nm-navy); font-size: 16px; }
.addon-desc { color: var(--gray-700); font-size: 14px; }
.addon-price { font-family: var(--font-heading); font-weight: 700; color: var(--nm-teal); font-size: 17px; white-space: nowrap; }
/* ENTERPRISE CTA */
.enterprise-cta { background: linear-gradient(135deg, var(--nm-navy) 0%, var(--nm-teal) 100%); color: var(--white); padding: var(--space-12) 0; position: relative; overflow: hidden; }
.enterprise-cta::before { content: ""; position: absolute; top: -100px; right: -100px; width: 400px; height: 400px; background: radial-gradient(circle, var(--nm-pink) 0%, transparent 70%); opacity: 0.15; border-radius: 50%; }
.enterprise-inner { display: grid; grid-template-columns: 1.3fr 1fr; gap: var(--space-6); align-items: center; position: relative; }
.enterprise-cta h2 { font-family: var(--font-heading); font-weight: 800; font-size: clamp(28px, 4vw, 40px); margin-bottom: var(--space-2); line-height: 1.1; }
.enterprise-cta p { font-size: 18px; color: rgba(255,255,255,0.85); margin-bottom: var(--space-3); }
.enterprise-cta .nm-btn-primary { background: var(--nm-pink); color: var(--nm-navy); }
.enterprise-cta .nm-btn-primary:hover { background: var(--white); }
.enterprise-features { display: grid; gap: var(--space-2); }
.enterprise-feature { display: flex; align-items: center; gap: 10px; background: rgba(255,255,255,0.10); padding: 12px 16px; border-radius: var(--radius-md); backdrop-filter: blur(8px); }
.enterprise-feature span:first-child { font-size: 20px; }
/* FAQ */
.faq-section { background: var(--nm-cream); padding: var(--space-12) 0; }
.faq-list { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: var(--space-2); }
.faq-item { background: var(--white); border-radius: var(--radius-md); padding: var(--space-3) var(--space-4); }
.faq-item summary { font-family: var(--font-heading); font-weight: 700; color: var(--nm-navy); font-size: 17px; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.faq-item summary::after { content: "+"; font-size: 24px; color: var(--nm-coral); transition: transform 0.2s; }
.faq-item[open] summary::after { transform: rotate(45deg); }
.faq-item p { color: var(--gray-700); font-size: 15px; padding-top: var(--space-2); }
/* FOOTER */
.nm-footer { background: var(--nm-navy); color: rgba(255,255,255,0.85); padding: var(--space-8) var(--space-4) var(--space-4); }
.nm-footer-col p { font-size: 14px; line-height: 1.55; color: rgba(255,255,255,0.7); }
.nm-footer-col a { color: rgba(255,255,255,0.7); font-size: 14px; }
.nm-footer-col a:hover { color: var(--nm-pink); text-decoration: none; }
.nm-footer-contact small { color: rgba(255,255,255,0.6); font-size: 13px; }
.nm-footer-bottom { max-width: 1280px; margin: var(--space-6) auto 0; padding-top: var(--space-3); border-top: 1px solid rgba(255,255,255,0.1); display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--space-2); font-size: 13px; color: rgba(255,255,255,0.55); }
/* MOBIL */


.mockup-banner { position: fixed; bottom: 0; left: 0; right: 0; background: var(--nm-navy); color: var(--white); padding: 12px 20px; font-size: 13px; display: flex; justify-content: space-between; align-items: center; z-index: 1000; }

@media (max-width: 880px) {
  .nm-nav { display: none; }
  .contact-grid { grid-template-columns: 1fr; }
  .form-wrap { position: static; }
  .alt-contact-inner { grid-template-columns: 1fr; }
  .process-steps { grid-template-columns: 1fr 1fr; }
  .nm-footer-inner { grid-template-columns: 1fr 1fr; }
}
/* MAIN LAYOUT */
.contact-main { padding: var(--space-12) 0; min-height: calc(100vh - 200px); }
.contact-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--space-8); align-items: start; }
/* LEFT: intro + form */
.contact-intro .eyebrow { display: inline-block; color: var(--nm-coral); font-weight: 600; font-size: 13px; letter-spacing: 0.8px; text-transform: uppercase; margin-bottom: var(--space-2); }
.contact-intro h1 { font-family: var(--font-heading); font-weight: 800; font-size: clamp(36px, 5vw, 52px); line-height: 1.05; color: var(--nm-navy); margin-bottom: var(--space-3); letter-spacing: -0.02em; }
.contact-intro h1 .accent { color: var(--nm-coral); }
.contact-intro p.lede { font-size: 19px; color: var(--gray-700); margin-bottom: var(--space-6); }
.contact-options { display: flex; flex-direction: column; gap: var(--space-3); margin-bottom: var(--space-6); }
.contact-option { display: flex; align-items: start; gap: var(--space-3); padding: var(--space-3); background: var(--nm-cream); border-radius: var(--radius-md); border: 1px solid var(--gray-100); transition: all 0.15s ease; }
.contact-option:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
.contact-option-icon { width: 48px; height: 48px; border-radius: var(--radius-sm); background: var(--white); color: var(--nm-coral); display: grid; place-items: center; font-size: 22px; flex-shrink: 0; }
.contact-option-body { flex: 1; }
.contact-option h3 { font-family: var(--font-heading); font-weight: 700; font-size: 17px; color: var(--nm-navy); margin-bottom: 2px; }
.contact-option p { color: var(--gray-700); font-size: 14px; margin-bottom: 6px; }
.contact-option a { font-weight: 600; color: var(--nm-coral); }
/* FORM */
.form-wrap { background: var(--nm-cream); padding: var(--space-6); border-radius: var(--radius-lg); border: 1px solid var(--gray-100); position: sticky; top: 80px; }
.form-wrap h2 { font-family: var(--font-heading); font-weight: 800; font-size: 26px; color: var(--nm-navy); margin-bottom: var(--space-1); }
.form-wrap p.subtitle { color: var(--gray-700); font-size: 15px; margin-bottom: var(--space-4); }
.form-group { margin-bottom: var(--space-3); }
.form-group label { display: block; font-weight: 600; font-size: 14px; color: var(--nm-navy); margin-bottom: 6px; }
.form-group .required { color: var(--nm-coral); }
.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="tel"],
.form-group select,
.form-group textarea { width: 100%; padding: 12px 14px; border: 1px solid var(--gray-300); border-radius: var(--radius-sm); font-family: var(--font-body); font-size: 15px; color: var(--nm-navy); background: var(--white); transition: border 0.15s ease, box-shadow 0.15s ease; }
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { outline: none; border-color: var(--nm-coral); box-shadow: 0 0 0 3px rgba(252, 94, 88, 0.15); }
.form-group textarea { resize: vertical; min-height: 100px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2); }
.form-submit { width: 100%; padding: 16px; font-size: 16px; }
.form-meta { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--gray-500); margin-top: var(--space-2); }
.form-meta::before { content: "🔒"; font-size: 14px; }
/* ALT CONTACT BLOCK */
.alt-contact { background: var(--nm-navy); color: var(--white); padding: var(--space-12) 0; }
.alt-contact-inner { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6); align-items: center; }
.alt-contact h2 { font-family: var(--font-heading); font-weight: 800; font-size: clamp(28px, 4vw, 38px); margin-bottom: var(--space-2); color: var(--white); line-height: 1.1; }
.alt-contact p { color: rgba(255,255,255,0.85); font-size: 17px; margin-bottom: var(--space-3); }
.alt-contact .nm-btn-primary { background: var(--nm-pink); color: var(--nm-navy); }
.alt-contact .nm-btn-primary:hover { background: var(--white); }
.remi-card { background: rgba(255,255,255,0.08); border-radius: var(--radius-lg); padding: var(--space-4); backdrop-filter: blur(8px); display: flex; gap: var(--space-3); align-items: center; }
.remi-photo { width: 88px; height: 88px; border-radius: 50%; background: var(--nm-pink); color: var(--nm-navy); display: grid; place-items: center; font-family: var(--font-heading); font-weight: 800; font-size: 36px; flex-shrink: 0; }
.remi-card h4 { font-family: var(--font-heading); font-weight: 700; font-size: 18px; color: var(--white); margin-bottom: 2px; }
.remi-card .role { color: var(--nm-pink); font-size: 14px; margin-bottom: var(--space-1); }
.remi-card .contact-links { display: flex; gap: var(--space-2); font-size: 14px; }
.remi-card .contact-links a { color: rgba(255,255,255,0.85); }
.remi-card .contact-links a:hover { color: var(--nm-pink); }
/* PROCESS REASSURANCE */
.process-reassure { background: var(--nm-cream); padding: var(--space-12) 0; }
.process-head { text-align: center; margin-bottom: var(--space-6); }
.process-head .eyebrow { display: inline-block; color: var(--nm-coral); font-weight: 600; font-size: 13px; letter-spacing: 0.8px; text-transform: uppercase; margin-bottom: var(--space-2); }
.process-head h2 { font-family: var(--font-heading); font-weight: 800; font-size: 28px; color: var(--nm-navy); }
.process-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-2); max-width: 980px; margin: 0 auto; }
.process-step { background: var(--white); padding: var(--space-3); border-radius: var(--radius-md); text-align: center; }
.process-step .num { font-family: var(--font-heading); font-weight: 800; font-size: 32px; color: var(--nm-coral); margin-bottom: 4px; }
.process-step h4 { font-family: var(--font-heading); font-weight: 700; font-size: 15px; color: var(--nm-navy); margin-bottom: 4px; }
.process-step p { font-size: 13px; color: var(--gray-700); }

@media (max-width: 1024px) {
  .nm-nav { display: none; }
  .bus-hero-inner { grid-template-columns: 1fr; }
  .ticket-visual { aspect-ratio: 1/1; max-width: 360px; margin: 0 auto; }
  .products-grid { grid-template-columns: 1fr; }
  .process-flow { grid-template-columns: 1fr 1fr; }
  .process-step::after { display: none; }
  .case-card { grid-template-columns: 1fr; padding: var(--space-4); }
  .case-card h3 { font-size: 24px; }
  .integration-tiles { grid-template-columns: 1fr 1fr; }
  .nm-footer-inner { grid-template-columns: 1fr 1fr; }
  section { padding: var(--space-8) 0; }
}
:root { --nm-navy: #222222; --nm-mint: #ceede7; --nm-pink: #ffd7d7; --nm-cream: #f7f5f3;
  --nm-teal: #145971; --nm-teal-light: #82c0c7;
  --nm-coral: #fc5e58; --nm-coral-dark: #b01235;
  --gray-900: #1a1d23; --gray-700: #4a5060; --gray-500: #7a8090;
  --gray-300: #d4d8e0; --gray-100: #f1f3f6; --white: #ffffff;
  --font-heading: Calibri, "Calibri Light", Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-body: "Calibri Light", Calibri, Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  --space-1: 8px; --space-2: 16px; --space-3: 24px; --space-4: 32px;
  --space-6: 48px; --space-8: 64px; --space-12: 96px;
  --radius-sm: 6px; --radius-md: 12px; --radius-lg: 20px; --radius-pill: 999px;
  --shadow-sm: 0 1px 3px rgba(44,53,70,0.08);
  --shadow-md: 0 4px 12px rgba(44,53,70,0.10);
  --shadow-lg: 0 12px 32px rgba(44,53,70,0.12); }
/* HERO — bransje-spesifikk */
.bus-hero { background: linear-gradient(135deg, var(--nm-pink) 0%, var(--nm-cream) 100%); padding: var(--space-8) var(--space-4); position: relative; overflow: hidden; }
.bus-hero::before { content: ""; position: absolute; top: -100px; right: -50px; width: 400px; height: 400px; background: radial-gradient(circle, var(--nm-teal-light) 0%, transparent 70%); opacity: 0.25; border-radius: 50%; pointer-events: none; }
.bus-hero-inner { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--space-6); align-items: center; position: relative; }
.bus-hero .eyebrow { display: inline-flex; align-items: center; gap: 6px; background: rgba(255,255,255,0.6); border: 1px solid rgba(20,89,113,0.15); color: var(--nm-teal); font-weight: 600; font-size: 13px; letter-spacing: 0.5px; padding: 6px 14px; border-radius: var(--radius-pill); margin-bottom: var(--space-3); }
.bus-hero h1 { font-family: var(--font-heading); font-weight: 800; font-size: clamp(36px, 5vw, 54px); line-height: 1.08; color: var(--nm-navy); margin-bottom: var(--space-3); letter-spacing: -0.02em; }
.bus-hero h1 .accent { color: var(--nm-coral); }
.bus-hero p.lede { font-size: 19px; color: var(--gray-700); margin-bottom: var(--space-4); max-width: 540px; }
.bus-hero-cta { display: flex; gap: var(--space-2); flex-wrap: wrap; margin-bottom: var(--space-4); }
.bus-hero-cta .nm-btn { padding: 16px 32px; font-size: 16px; }
.bus-trust { display: flex; align-items: center; gap: var(--space-2); font-size: 14px; color: var(--gray-700); }
.bus-trust b { color: var(--nm-navy); }
/* TICKET VISUAL — animert digital billett */
.ticket-visual { position: relative; aspect-ratio: 4/4; display: grid; place-items: center; }
.ticket { background: var(--white); border-radius: var(--radius-lg); padding: 0; max-width: 320px; width: 100%; box-shadow: var(--shadow-lg); overflow: hidden; position: relative; }
.ticket-head { background: linear-gradient(135deg, var(--nm-navy) 0%, var(--nm-teal) 100%); color: var(--white); padding: var(--space-3); }
.ticket-route { font-family: var(--font-heading); font-weight: 800; font-size: 22px; margin-bottom: 4px; }
.ticket-time { color: rgba(255,255,255,0.85); font-size: 13px; }
.ticket-divider { display: flex; align-items: center; justify-content: center; padding: 0 var(--space-3); margin-top: -8px; position: relative; }
.ticket-divider::before, .ticket-divider::after { content: ""; flex: 1; border-top: 2px dashed var(--gray-300); }
.ticket-divider span { background: var(--white); padding: 0 8px; color: var(--gray-500); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; }
.ticket-divider::before { margin-right: -1px; }
.ticket-body { padding: var(--space-3); display: grid; grid-template-columns: 1fr auto; gap: var(--space-2); align-items: center; }
.ticket-info span { display: block; font-size: 12px; color: var(--gray-500); text-transform: uppercase; letter-spacing: 0.5px; font-weight: 600; margin-bottom: 2px; }
.ticket-info b { font-family: var(--font-heading); color: var(--nm-navy); font-size: 16px; }
.ticket-info p { color: var(--gray-700); font-size: 13px; }
.ticket-qr { width: 80px; height: 80px; background: var(--nm-navy); border-radius: var(--radius-sm); display: grid; place-items: center; color: var(--white); position: relative; overflow: hidden; }
.ticket-qr::before { content: ""; position: absolute; inset: 8px; background:
  repeating-linear-gradient(0deg, var(--white) 0, var(--white) 4px, var(--nm-navy) 4px, var(--nm-navy) 8px),
  repeating-linear-gradient(90deg, var(--white) 0, var(--white) 4px, transparent 4px, transparent 8px);
  background-blend-mode: difference; }
.ticket-foot { background: var(--nm-cream); padding: var(--space-2) var(--space-3); display: flex; justify-content: space-between; align-items: center; font-size: 12px; color: var(--gray-700); }
.ticket-foot .vipps { font-family: var(--font-heading); font-weight: 700; color: var(--nm-coral); }
.ticket-floater { position: absolute; background: var(--white); border-radius: var(--radius-md); padding: 12px 16px; box-shadow: var(--shadow-md); font-size: 13px; color: var(--gray-700); display: flex; align-items: center; gap: 8px; }
.ticket-floater-1 { top: 0; right: -10px; transform: rotate(3deg); }
.ticket-floater-2 { bottom: 5%; left: -10px; transform: rotate(-3deg); }
.ticket-floater b { color: var(--nm-navy); }
.ticket-floater::before { content: ""; display: block; width: 8px; height: 8px; border-radius: 50%; background: var(--nm-teal); }
/* SECTIONS COMMON */
section { padding: var(--space-12) 0; }
.section-head h2 { font-family: var(--font-heading); font-weight: 800; font-size: clamp(28px, 3.5vw, 40px); color: var(--nm-navy); margin-bottom: var(--space-2); letter-spacing: -0.01em; line-height: 1.15; }
.section-head p { font-size: 18px; color: var(--gray-700); max-width: 680px; margin: 0 auto; line-height: 1.5; }
/* 4-PRODUKT GRID */
.products-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-3); }
.product-card { background: var(--white); border: 1px solid var(--gray-100); border-radius: var(--radius-lg); padding: var(--space-4); display: grid; grid-template-columns: 64px 1fr; gap: var(--space-3); align-items: start; transition: all 0.2s ease; }
.product-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: var(--nm-coral); }
.product-icon { width: 56px; height: 56px; border-radius: var(--radius-md); background: rgba(252,94,88,0.10); color: var(--nm-coral); display: grid; place-items: center; font-size: 28px; }
.product-icon.teal { background: rgba(20,89,113,0.10); color: var(--nm-teal); }
.product-card h3 { font-family: var(--font-heading); font-weight: 700; font-size: 20px; color: var(--nm-navy); margin-bottom: 4px; }
.product-card p { color: var(--gray-700); font-size: 15px; margin-bottom: var(--space-2); }
.product-features { display: flex; flex-wrap: wrap; gap: 6px; }
.product-feature { background: var(--gray-100); color: var(--gray-700); font-size: 12px; padding: 4px 10px; border-radius: var(--radius-pill); font-weight: 500; }
/* PROCESS — bussbestilling-flyt */
.process { background: var(--nm-cream); }
.process-flow { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-2); align-items: stretch; }
.process-step { background: var(--white); padding: var(--space-3); border-radius: var(--radius-md); position: relative; text-align: center; }
.process-step .num { width: 32px; height: 32px; background: var(--nm-coral); color: var(--white); border-radius: 50%; display: grid; place-items: center; font-family: var(--font-heading); font-weight: 800; font-size: 14px; margin: 0 auto var(--space-2); }
.process-step:not(:last-child)::after { content: "→"; position: absolute; right: -16px; top: 50%; transform: translateY(-50%); color: var(--nm-coral); font-size: 24px; font-weight: 700; z-index: 1; }
/* CASE — Oslobuss */
.case { background: var(--white); }
.case-card { background: linear-gradient(135deg, var(--nm-navy) 0%, var(--nm-teal) 100%); color: var(--white); border-radius: var(--radius-lg); padding: var(--space-8); display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--space-6); align-items: center; position: relative; overflow: hidden; }
.case-card::before { content: ""; position: absolute; top: -100px; right: -100px; width: 300px; height: 300px; background: radial-gradient(circle, var(--nm-pink) 0%, transparent 70%); opacity: 0.2; border-radius: 50%; }
.case-label { color: var(--nm-pink); font-weight: 600; font-size: 13px; letter-spacing: 0.8px; text-transform: uppercase; margin-bottom: var(--space-2); }
.case-card h3 { font-family: var(--font-heading); font-weight: 800; font-size: 32px; line-height: 1.15; margin-bottom: var(--space-3); color: var(--white); }
.case-card blockquote { font-size: 17px; line-height: 1.55; color: rgba(255,255,255,0.92); font-style: italic; border-left: 3px solid var(--nm-pink); padding-left: var(--space-3); margin-bottom: var(--space-3); }
.case-author { font-size: 14px; color: rgba(255,255,255,0.8); }
.case-author b { color: var(--white); }
.case-stats { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); position: relative; }
.stat { background: rgba(255,255,255,0.10); padding: var(--space-3); border-radius: var(--radius-md); backdrop-filter: blur(8px); }
.stat-num { font-family: var(--font-heading); font-weight: 800; font-size: 28px; color: var(--nm-pink); margin-bottom: 4px; }
.stat-label { font-size: 13px; color: rgba(255,255,255,0.85); }
/* KUNDER */
.bus-customers { background: var(--gray-100); padding: var(--space-8) var(--space-4); }
.customers-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: var(--space-3); align-items: center; max-width: 1100px; margin: 0 auto; }
.customer-logo { background: var(--white); border-radius: var(--radius-md); padding: var(--space-3); text-align: center; font-family: var(--font-heading); font-weight: 700; font-size: 14px; color: var(--gray-700); letter-spacing: 0.5px; }
.bus-customers-head { text-align: center; margin-bottom: var(--space-6); }
.bus-customers-head h3 { font-family: var(--font-heading); font-weight: 700; font-size: 20px; color: var(--nm-navy); }
/* INTEGRATIONS */
.integrations { background: var(--white); }
.integration-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-2); margin-bottom: var(--space-4); }
.integration-tile { background: var(--nm-cream); padding: var(--space-3); border-radius: var(--radius-md); text-align: center; text-decoration: none; color: inherit; display: block; transition: all 0.15s ease; border: 1px solid transparent; }
a.integration-tile:hover { background: var(--white); border-color: var(--nm-coral); transform: translateY(-2px); box-shadow: var(--shadow-md); text-decoration: none; }
.integration-tile h4 { font-family: var(--font-heading); font-weight: 700; font-size: 16px; color: var(--nm-navy); margin-bottom: 4px; }
.integration-tile p { font-size: 13px; color: var(--gray-700); }
/* CTA */
.bus-cta { background: linear-gradient(135deg, var(--nm-pink) 0%, var(--nm-cream) 100%); text-align: center; padding: var(--space-12) var(--space-4); }
.bus-cta h2 { font-family: var(--font-heading); font-weight: 800; font-size: clamp(28px, 4vw, 44px); color: var(--nm-navy); margin-bottom: var(--space-2); line-height: 1.1; }
.bus-cta p { font-size: 18px; color: var(--gray-700); max-width: 580px; margin: 0 auto var(--space-4); }
.bus-cta .nm-btn { padding: 16px 32px; font-size: 16px; }
.bus-cta-row { display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; margin-bottom: var(--space-3); }
.bus-cta small { color: var(--gray-500); font-size: 13px; }

@media (max-width: 1024px) {
  .nm-nav { display: none; }
  .kurs-hero-inner { grid-template-columns: 1fr; }
  .event-visual { aspect-ratio: 1/1; max-width: 360px; margin: 0 auto; }
  .products-grid { grid-template-columns: 1fr; }
  .process-flow { grid-template-columns: 1fr 1fr; }
  .process-step::after { display: none; }
  .scenarios-grid { grid-template-columns: 1fr; }
  .case-card { grid-template-columns: 1fr; padding: var(--space-4); }
  .case-card h3 { font-size: 24px; }
  .nm-footer-inner { grid-template-columns: 1fr 1fr; }
  section { padding: var(--space-8) 0; }
}
/* HERO */
.kurs-hero { background: linear-gradient(135deg, var(--nm-pink) 0%, var(--nm-cream) 100%); padding: var(--space-8) var(--space-4); position: relative; overflow: hidden; }
.kurs-hero::before { content: ""; position: absolute; top: -100px; left: -50px; width: 400px; height: 400px; background: radial-gradient(circle, var(--nm-teal-light) 0%, transparent 70%); opacity: 0.25; border-radius: 50%; pointer-events: none; }
.kurs-hero-inner { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--space-6); align-items: center; position: relative; }
.kurs-hero .eyebrow { display: inline-flex; align-items: center; gap: 6px; background: rgba(255,255,255,0.6); border: 1px solid rgba(20,89,113,0.15); color: var(--nm-teal); font-weight: 600; font-size: 13px; letter-spacing: 0.5px; padding: 6px 14px; border-radius: var(--radius-pill); margin-bottom: var(--space-3); }
.kurs-hero h1 { font-family: var(--font-heading); font-weight: 800; font-size: clamp(36px, 5vw, 54px); line-height: 1.08; color: var(--nm-navy); margin-bottom: var(--space-3); letter-spacing: -0.02em; }
.kurs-hero h1 .accent { color: var(--nm-teal); }
.kurs-hero p.lede { font-size: 19px; color: var(--gray-700); margin-bottom: var(--space-4); max-width: 540px; }
.kurs-hero-cta { display: flex; gap: var(--space-2); flex-wrap: wrap; margin-bottom: var(--space-4); }
.kurs-hero-cta .nm-btn { padding: 16px 32px; font-size: 16px; }
.kurs-trust { display: flex; align-items: center; gap: var(--space-2); font-size: 14px; color: var(--gray-700); }
.kurs-trust b { color: var(--nm-navy); }
/* EVENTSIDE MOCKUP — visuell side */
.event-visual { position: relative; aspect-ratio: 4/4; display: grid; place-items: center; }
.event-card { background: var(--white); border-radius: var(--radius-lg); max-width: 360px; width: 100%; box-shadow: var(--shadow-lg); overflow: hidden; position: relative; }
.event-banner { background: linear-gradient(135deg, var(--nm-teal) 0%, var(--nm-navy) 100%); color: var(--white); padding: var(--space-3); position: relative; }
.event-banner-tag { display: inline-block; background: rgba(255,255,255,0.20); padding: 4px 10px; border-radius: var(--radius-pill); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: var(--space-1); }
.event-banner h3 { font-family: var(--font-heading); font-weight: 800; font-size: 20px; line-height: 1.2; color: var(--white); margin-bottom: 4px; }
.event-banner .date { color: rgba(255,255,255,0.85); font-size: 13px; }
.event-body { padding: var(--space-3); }
.event-row { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--gray-100); font-size: 14px; }
.event-row:last-child { border-bottom: none; }
.event-row .icon { width: 32px; height: 32px; border-radius: var(--radius-sm); background: var(--gray-100); display: grid; place-items: center; flex-shrink: 0; font-size: 16px; }
.event-row .text { flex: 1; color: var(--gray-700); }
.event-row .text b { color: var(--nm-navy); display: block; font-size: 14px; }
.event-row .text small { color: var(--gray-500); font-size: 12px; }
.event-foot { background: var(--nm-cream); padding: var(--space-2) var(--space-3); display: flex; justify-content: space-between; align-items: center; }
.event-foot .price { font-family: var(--font-heading); font-weight: 800; color: var(--nm-navy); font-size: 17px; }
.event-foot .price small { color: var(--gray-500); font-weight: 400; font-size: 12px; }
.event-foot button { background: var(--nm-coral); color: var(--white); padding: 8px 16px; border-radius: var(--radius-pill); border: none; font-weight: 600; font-size: 13px; cursor: pointer; font-family: var(--font-body); }
.event-floater { position: absolute; background: var(--white); border-radius: var(--radius-md); padding: 12px 16px; box-shadow: var(--shadow-md); font-size: 13px; color: var(--gray-700); display: flex; align-items: center; gap: 8px; }
.event-floater-1 { top: 5%; right: -10px; transform: rotate(3deg); }
.event-floater-2 { bottom: 8%; left: -10px; transform: rotate(-3deg); }
.event-floater b { color: var(--nm-navy); }
.event-floater::before { content: ""; display: block; width: 8px; height: 8px; border-radius: 50%; background: var(--nm-teal); }
/* SECTIONS */
section { padding: var(--space-12) 0; }
/* 4 PRODUKTER */
.products-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-3); }
.product-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: var(--nm-teal); }
.product-icon { width: 56px; height: 56px; border-radius: var(--radius-md); background: rgba(20,89,113,0.10); color: var(--nm-teal); display: grid; place-items: center; font-size: 28px; }
.product-icon.coral { background: rgba(252,94,88,0.10); color: var(--nm-coral); }
/* PROCESS */
.process { background: var(--nm-cream); }
.process-step .num { width: 32px; height: 32px; background: var(--nm-teal); color: var(--white); border-radius: 50%; display: grid; place-items: center; font-family: var(--font-heading); font-weight: 800; font-size: 14px; margin: 0 auto var(--space-2); }
.process-step:not(:last-child)::after { content: "→"; position: absolute; right: -16px; top: 50%; transform: translateY(-50%); color: var(--nm-teal); font-size: 24px; font-weight: 700; z-index: 1; }
/* SCENARIOS — flere kurs-typer */
.scenarios { background: var(--white); }
.scenarios-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); }
.scenario { padding: var(--space-4); background: var(--gray-100); border-radius: var(--radius-md); border-left: 4px solid var(--nm-teal); }
.scenario h4 { font-family: var(--font-heading); font-weight: 700; font-size: 17px; color: var(--nm-navy); margin-bottom: var(--space-1); }
.scenario p { color: var(--gray-700); font-size: 14px; margin-bottom: var(--space-2); }
.scenario ul { list-style: none; }
.scenario li { font-size: 13px; color: var(--gray-700); padding: 4px 0; display: flex; align-items: start; gap: 6px; }
.scenario li::before { content: "✓"; color: var(--nm-teal); font-weight: 700; }
/* CASE */
.case { background: var(--nm-cream); }
/* KUNDER */
.kurs-customers { background: var(--white); padding: var(--space-8) var(--space-4); }
.customers-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: var(--space-3); align-items: center; max-width: 1100px; margin: 0 auto; }
.customer-logo { background: var(--gray-100); border-radius: var(--radius-md); padding: var(--space-3); text-align: center; font-family: var(--font-heading); font-weight: 700; font-size: 13px; color: var(--gray-700); letter-spacing: 0.5px; }
.kurs-customers-head { text-align: center; margin-bottom: var(--space-6); }
.kurs-customers-head h3 { font-family: var(--font-heading); font-weight: 700; font-size: 20px; color: var(--nm-navy); }
/* CTA */
.kurs-cta { background: linear-gradient(135deg, var(--nm-pink) 0%, var(--nm-cream) 100%); text-align: center; padding: var(--space-12) var(--space-4); }
.kurs-cta h2 { font-family: var(--font-heading); font-weight: 800; font-size: clamp(28px, 4vw, 44px); color: var(--nm-navy); margin-bottom: var(--space-2); line-height: 1.1; }
.kurs-cta p { font-size: 18px; color: var(--gray-700); max-width: 580px; margin: 0 auto var(--space-4); }
.kurs-cta .nm-btn { padding: 16px 32px; font-size: 16px; }
.kurs-cta-row { display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; margin-bottom: var(--space-3); }
.kurs-cta small { color: var(--gray-500); font-size: 13px; }

@media (max-width: 1024px) {
  .nm-nav { display: none; }
  .e-hero-inner { grid-template-columns: 1fr; }
  .event-visual { aspect-ratio: 1/1; max-width: 380px; margin: 0 auto; }
  .products-grid { grid-template-columns: 1fr; }
  .process-flow { grid-template-columns: 1fr 1fr; }
  .process-step::after { display: none; }
  .case-card { grid-template-columns: 1fr; padding: var(--space-4); }
  .case-card h3 { font-size: 24px; }
  .nm-footer-inner { grid-template-columns: 1fr 1fr; }
  section { padding: var(--space-8) 0; }
}
:root { --nm-navy:#222222; --nm-mint:#ceede7; --nm-pink:#ffd7d7; --nm-cream:#f7f5f3; --nm-teal:#145971; --nm-teal-light:#82c0c7; --nm-coral:#fc5e58; --nm-coral-dark:#b01235; --gray-900:#1a1d23; --gray-700:#4a5060; --gray-500:#7a8090; --gray-300:#d4d8e0; --gray-100:#f1f3f6; --white:#ffffff; --font-heading:Calibri,"Calibri Light",Inter,system-ui,-apple-system,"Segoe UI",sans-serif; --font-body:"Calibri Light",Calibri,Inter,system-ui,-apple-system,"Segoe UI",sans-serif; --space-1:8px; --space-2:16px; --space-3:24px; --space-4:32px; --space-6:48px; --space-8:64px; --space-12:96px; --radius-sm:6px; --radius-md:12px; --radius-lg:20px; --radius-pill:999px; --shadow-md:0 4px 12px rgba(44,53,70,0.10); --shadow-lg:0 12px 32px rgba(44,53,70,0.12); }
body { font-family: var(--font-body); color: var(--nm-navy); background: var(--white); line-height: 1.55; padding-bottom: 60px; }
.nm-header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,0.92); backdrop-filter: blur(12px); border-bottom: 1px solid var(--gray-100); }
.nm-btn-primary:hover { background: var(--nm-coral-dark); transform: translateY(-1px); }
.e-hero { background: linear-gradient(135deg, var(--nm-pink) 0%, var(--nm-cream) 100%); padding: var(--space-8) var(--space-4); position: relative; overflow: hidden; }
.e-hero::before { content: ""; position: absolute; top: -100px; right: -50px; width: 400px; height: 400px; background: radial-gradient(circle, var(--nm-teal-light) 0%, transparent 70%); opacity: 0.25; border-radius: 50%; }
.e-hero-inner { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--space-6); align-items: center; position: relative; }
.e-hero .eyebrow { display: inline-flex; align-items: center; gap: 6px; background: rgba(255,255,255,0.6); border: 1px solid rgba(20,89,113,0.15); color: var(--nm-teal); font-weight: 600; font-size: 13px; letter-spacing: 0.5px; padding: 6px 14px; border-radius: var(--radius-pill); margin-bottom: var(--space-3); }
.e-hero h1 { font-family: var(--font-heading); font-weight: 800; font-size: clamp(36px, 5vw, 54px); line-height: 1.08; color: var(--nm-navy); margin-bottom: var(--space-3); letter-spacing: -0.02em; }
.e-hero h1 .accent { color: var(--nm-coral); }
.e-hero p.lede { font-size: 19px; color: var(--gray-700); margin-bottom: var(--space-4); max-width: 540px; }
.e-hero-cta { display: flex; gap: var(--space-2); flex-wrap: wrap; margin-bottom: var(--space-4); }
.e-hero-cta .nm-btn { padding: 16px 32px; font-size: 16px; }
.e-trust { font-size: 14px; color: var(--gray-700); }
.e-trust b { color: var(--nm-navy); }
/* Event-billett mockup */
.event-visual { position: relative; aspect-ratio: 4/4; display: grid; place-items: center; }
.event-card { background: var(--white); border-radius: var(--radius-lg); max-width: 340px; width: 100%; box-shadow: var(--shadow-lg); overflow: hidden; }
.event-banner { background: linear-gradient(135deg, var(--nm-teal) 0%, var(--nm-navy) 100%); color: var(--white); padding: var(--space-3); }
.event-tag { display: inline-block; background: rgba(255,255,255,0.20); padding: 4px 10px; border-radius: var(--radius-pill); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: var(--space-1); }
.event-banner h3 { font-family: var(--font-heading); font-weight: 800; font-size: 22px; line-height: 1.2; color: var(--white); margin-bottom: 4px; }
.event-banner .meta { color: rgba(255,255,255,0.85); font-size: 13px; }
.event-program-item { display: flex; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--gray-100); font-size: 13px; }
.event-program-item:last-child { border: none; }
.event-time { color: var(--nm-coral); font-weight: 700; font-family: var(--font-heading); font-size: 12px; min-width: 50px; }
.event-name { color: var(--nm-navy); font-weight: 600; }
.event-name small { display: block; color: var(--gray-500); font-weight: 400; font-size: 11px; margin-top: 2px; }
.event-people { display: flex; align-items: center; gap: 4px; }
.event-avatar { width: 24px; height: 24px; border-radius: 50%; background: var(--nm-teal); color: var(--white); display: grid; place-items: center; font-size: 10px; font-weight: 600; border: 2px solid var(--white); margin-left: -8px; }
.event-avatar:first-child { margin: 0; }
.event-count { color: var(--gray-700); font-size: 13px; margin-left: 4px; }
.event-foot button { background: var(--nm-coral); color: var(--white); padding: 8px 16px; border-radius: var(--radius-pill); border: none; font-weight: 600; font-size: 12px; cursor: pointer; font-family: var(--font-body); }
.event-floater { position: absolute; background: var(--white); border-radius: var(--radius-md); padding: 10px 14px; box-shadow: var(--shadow-md); font-size: 12px; color: var(--gray-700); display: flex; align-items: center; gap: 8px; }
section { padding: var(--space-12) 0; }
.products-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-3); }
.product-card { background: var(--white); border: 1px solid var(--gray-100); border-radius: var(--radius-lg); padding: var(--space-4); display: grid; grid-template-columns: 64px 1fr; gap: var(--space-3); transition: all 0.2s ease; }
.process { background: var(--nm-cream); }
.process-flow { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-2); }
.case { background: var(--white); }
.customers { background: var(--gray-100); padding: var(--space-8) var(--space-4); }
.customers-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--space-3); align-items: center; max-width: 900px; margin: 0 auto; }
.customers-head { text-align: center; margin-bottom: var(--space-6); }
.customers-head h3 { font-family: var(--font-heading); font-weight: 700; font-size: 20px; color: var(--nm-navy); }
.e-cta { background: linear-gradient(135deg, var(--nm-pink) 0%, var(--nm-cream) 100%); text-align: center; padding: var(--space-12) var(--space-4); }
.e-cta h2 { font-family: var(--font-heading); font-weight: 800; font-size: clamp(28px, 4vw, 44px); color: var(--nm-navy); margin-bottom: var(--space-2); line-height: 1.1; }
.e-cta p { font-size: 18px; color: var(--gray-700); max-width: 580px; margin: 0 auto var(--space-4); }
.e-cta .nm-btn { padding: 16px 32px; font-size: 16px; }
.e-cta-row { display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; margin-bottom: var(--space-3); }
.e-cta small { color: var(--gray-500); font-size: 13px; }
.nm-footer { background: var(--nm-navy); color: rgba(255,255,255,0.85); padding: var(--space-8) var(--space-4) var(--space-4); }
.mockup-banner { position: fixed; bottom: 0; left: 0; right: 0; background: var(--nm-navy); color: var(--white); padding: 12px 20px; font-size: 13px; display: flex; justify-content: space-between; align-items: center; z-index: 1000; }

@media (max-width: 1024px) {
  .nm-nav { display: none; }
  .skj-hero-inner { grid-template-columns: 1fr; }
  .builder-visual { aspect-ratio: 1/1; max-width: 380px; margin: 0 auto; }
  .usecases-grid { grid-template-columns: 1fr; }
  .fields-grid { grid-template-columns: repeat(2, 1fr); }
  .workflow-flow { grid-template-columns: 1fr 1fr; }
  .workflow-step::after { display: none; }
  .case-card { grid-template-columns: 1fr; padding: var(--space-4); }
  .case-card h3 { font-size: 24px; }
  .integration-tiles { grid-template-columns: 1fr 1fr; }
  .depts-grid { grid-template-columns: 1fr; }
  .nm-footer-inner { grid-template-columns: 1fr 1fr; }
  section { padding: var(--space-8) 0; }
}
/* HERO */
.skj-hero { background: linear-gradient(135deg, var(--nm-pink) 0%, var(--nm-cream) 100%); padding: var(--space-8) var(--space-4); position: relative; overflow: hidden; }
.skj-hero::before { content: ""; position: absolute; top: -100px; right: -50px; width: 400px; height: 400px; background: radial-gradient(circle, var(--nm-teal-light) 0%, transparent 70%); opacity: 0.25; border-radius: 50%; pointer-events: none; }
.skj-hero-inner { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--space-6); align-items: center; position: relative; }
.skj-hero .eyebrow { display: inline-flex; align-items: center; gap: 6px; background: rgba(255,255,255,0.6); border: 1px solid rgba(20,89,113,0.15); color: var(--nm-teal); font-weight: 600; font-size: 13px; letter-spacing: 0.5px; padding: 6px 14px; border-radius: var(--radius-pill); margin-bottom: var(--space-3); }
.skj-hero h1 { font-family: var(--font-heading); font-weight: 800; font-size: clamp(36px, 5vw, 54px); line-height: 1.08; color: var(--nm-navy); margin-bottom: var(--space-3); letter-spacing: -0.02em; }
.skj-hero h1 .accent { color: var(--nm-navy); border-bottom: 4px solid var(--nm-coral); padding-bottom: 2px; }
.skj-hero p.lede { font-size: 19px; color: var(--gray-700); margin-bottom: var(--space-4); max-width: 540px; }
.skj-hero-cta { display: flex; gap: var(--space-2); flex-wrap: wrap; margin-bottom: var(--space-4); }
.skj-hero-cta .nm-btn { padding: 16px 32px; font-size: 16px; }
.skj-trust { display: flex; align-items: center; gap: var(--space-2); font-size: 14px; color: var(--gray-700); }
.skj-trust b { color: var(--nm-navy); }
/* SKJEMA-BYGGER MOCKUP — visuell side */
.builder-visual { position: relative; aspect-ratio: 4/4; display: grid; place-items: center; }
.builder { background: var(--white); border-radius: var(--radius-lg); max-width: 400px; width: 100%; box-shadow: var(--shadow-lg); overflow: hidden; position: relative; }
.builder-head { background: var(--nm-cream); padding: var(--space-2) var(--space-3); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--gray-100); }
.builder-tabs { display: flex; gap: 4px; }
.builder-tab { font-size: 12px; padding: 4px 10px; border-radius: var(--radius-sm); color: var(--gray-500); font-weight: 600; }
.builder-tab.active { background: var(--white); color: var(--nm-navy); box-shadow: var(--shadow-sm); }
.builder-action { font-family: var(--font-heading); font-size: 11px; font-weight: 700; color: var(--nm-coral); }
.builder-body { padding: var(--space-3); display: flex; flex-direction: column; gap: var(--space-2); }
.builder-field { background: var(--gray-100); padding: 10px 12px; border-radius: var(--radius-sm); display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--gray-700); border-left: 3px solid var(--gray-300); }
.builder-field.active { border-left-color: var(--nm-coral); background: rgba(252,94,88,0.05); }
.builder-field-icon { width: 24px; height: 24px; display: grid; place-items: center; background: var(--white); border-radius: 4px; flex-shrink: 0; font-size: 14px; }
.builder-field .label { flex: 1; }
.builder-field .label b { display: block; color: var(--nm-navy); font-size: 13px; }
.builder-field .label small { color: var(--gray-500); font-size: 11px; }
.builder-add { border: 2px dashed var(--gray-300); padding: var(--space-2); border-radius: var(--radius-sm); text-align: center; color: var(--gray-500); font-size: 12px; font-weight: 500; }
.builder-floater { position: absolute; background: var(--white); border-radius: var(--radius-md); padding: 10px 14px; box-shadow: var(--shadow-md); font-size: 12px; color: var(--gray-700); display: flex; align-items: center; gap: 8px; }
.builder-floater-1 { top: 0; right: -10px; transform: rotate(3deg); }
.builder-floater-2 { bottom: 5%; left: -15px; transform: rotate(-3deg); }
.builder-floater b { color: var(--nm-navy); }
.builder-floater::before { content: ""; display: block; width: 8px; height: 8px; border-radius: 50%; background: var(--nm-coral); }
/* 4 BRUKSTILFELLER */
.usecases-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-3); }
.usecase-card { background: var(--white); border: 1px solid var(--gray-100); border-radius: var(--radius-lg); padding: var(--space-4); display: grid; grid-template-columns: 64px 1fr; gap: var(--space-3); align-items: start; transition: all 0.2s ease; }
.usecase-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: var(--nm-coral); }
.usecase-icon { width: 56px; height: 56px; border-radius: var(--radius-md); background: rgba(252,94,88,0.10); color: var(--nm-coral); display: grid; place-items: center; font-size: 28px; }
.usecase-icon.teal { background: rgba(20,89,113,0.10); color: var(--nm-teal); }
.usecase-card h3 { font-family: var(--font-heading); font-weight: 700; font-size: 20px; color: var(--nm-navy); margin-bottom: 4px; }
.usecase-card p { color: var(--gray-700); font-size: 15px; margin-bottom: var(--space-2); }
.usecase-features { display: flex; flex-wrap: wrap; gap: 6px; }
.usecase-feature { background: var(--gray-100); color: var(--gray-700); font-size: 12px; padding: 4px 10px; border-radius: var(--radius-pill); font-weight: 500; }
/* FIELD TYPES */
.fields { background: var(--nm-cream); }
.fields-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--space-2); }
.field-type { background: var(--white); padding: var(--space-2); border-radius: var(--radius-md); text-align: center; transition: all 0.15s ease; cursor: default; }
.field-type:hover { transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.field-type .icon { width: 40px; height: 40px; margin: 0 auto var(--space-1); border-radius: var(--radius-sm); background: rgba(252,94,88,0.10); color: var(--nm-coral); display: grid; place-items: center; font-size: 18px; }
.field-type h4 { font-family: var(--font-heading); font-weight: 700; font-size: 13px; color: var(--nm-navy); margin-bottom: 2px; }
.field-type p { font-size: 11px; color: var(--gray-500); }
/* WORKFLOW */
.workflow { background: var(--white); }
.workflow-flow { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-2); align-items: stretch; }
.workflow-step { background: var(--gray-100); padding: var(--space-3); border-radius: var(--radius-md); position: relative; text-align: center; }
.workflow-step .num { width: 32px; height: 32px; background: var(--nm-coral); color: var(--white); border-radius: 50%; display: grid; place-items: center; font-family: var(--font-heading); font-weight: 800; font-size: 14px; margin: 0 auto var(--space-2); }
.workflow-step h4 { font-family: var(--font-heading); font-weight: 700; font-size: 15px; color: var(--nm-navy); margin-bottom: 4px; }
.workflow-step p { font-size: 13px; color: var(--gray-700); }
.workflow-step:not(:last-child)::after { content: "→"; position: absolute; right: -16px; top: 50%; transform: translateY(-50%); color: var(--nm-coral); font-size: 24px; font-weight: 700; z-index: 1; }
.integration-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-2); }
/* DEPARTMENTS — hvem bruker det */
.depts { background: var(--white); }
.depts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); }
.dept { padding: var(--space-4); background: var(--gray-100); border-radius: var(--radius-md); border-left: 4px solid var(--nm-coral); }
.dept h4 { font-family: var(--font-heading); font-weight: 700; font-size: 17px; color: var(--nm-navy); margin-bottom: var(--space-1); }
.dept p { color: var(--gray-700); font-size: 14px; margin-bottom: var(--space-2); }
.dept ul { list-style: none; }
.dept li { font-size: 13px; color: var(--gray-700); padding: 4px 0; display: flex; align-items: start; gap: 6px; }
.dept li::before { content: "✓"; color: var(--nm-coral); font-weight: 700; }
/* CTA */
.skj-cta { background: linear-gradient(135deg, var(--nm-pink) 0%, var(--nm-cream) 100%); text-align: center; padding: var(--space-12) var(--space-4); }
.skj-cta h2 { font-family: var(--font-heading); font-weight: 800; font-size: clamp(28px, 4vw, 44px); color: var(--nm-navy); margin-bottom: var(--space-2); line-height: 1.1; }
.skj-cta p { font-size: 18px; color: var(--gray-700); max-width: 580px; margin: 0 auto var(--space-4); }
.skj-cta .nm-btn { padding: 16px 32px; font-size: 16px; }
.skj-cta-row { display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; margin-bottom: var(--space-3); }
.skj-cta small { color: var(--gray-500); font-size: 13px; }

@media (max-width: 1024px) {
  .nm-nav { display: none; }
  .page-hero-inner { grid-template-columns: 1fr; text-align: center; }
  .founder-photo { margin: 0 auto; width: 160px; height: 160px; font-size: 64px; }
  .values-grid { grid-template-columns: 1fr; }
  .naming-inner { grid-template-columns: 1fr; }
  .nm-footer-inner { grid-template-columns: 1fr 1fr; }
  section { padding: var(--space-8) 0; }
}
.container { max-width: 1080px; margin: 0 auto; padding: 0 var(--space-4); }
.nm-header-inner { max-width: 1280px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; padding: var(--space-2) var(--space-4); gap: var(--space-4); }
.page-hero { background: linear-gradient(135deg, var(--nm-pink) 0%, var(--nm-cream) 100%); padding: var(--space-12) var(--space-4); }
.page-hero-inner { display: grid; grid-template-columns: 1fr auto; gap: var(--space-8); align-items: center; max-width: 1080px; margin: 0 auto; }
.page-hero h1 { font-family: var(--font-heading); font-weight: 800; font-size: clamp(36px, 5vw, 56px); line-height: 1.08; color: var(--nm-navy); margin-bottom: var(--space-3); letter-spacing: -0.02em; }
.page-hero p.lede { font-size: 19px; color: var(--gray-700); }
.founder-photo { width: 220px; height: 220px; border-radius: 50%; background: linear-gradient(135deg, var(--nm-teal) 0%, var(--nm-coral) 100%); display: grid; place-items: center; color: var(--white); font-family: var(--font-heading); font-weight: 800; font-size: 88px; box-shadow: var(--shadow-lg); flex-shrink: 0; }
h2.section-title { font-family: var(--font-heading); font-weight: 800; font-size: clamp(28px, 3.5vw, 36px); color: var(--nm-navy); margin-bottom: var(--space-3); line-height: 1.15; }
.story p { font-size: 17px; color: var(--gray-700); margin-bottom: var(--space-2); }
.story p b { color: var(--nm-navy); }
.timeline { background: var(--nm-cream); }
.timeline-list { max-width: 760px; margin: 0 auto; position: relative; padding-left: var(--space-6); }
.timeline-list::before { content: ""; position: absolute; left: 12px; top: 0; bottom: 0; width: 2px; background: var(--nm-teal); }
.timeline-item { position: relative; padding-bottom: var(--space-4); }
.timeline-item::before { content: ""; position: absolute; left: -36px; top: 6px; width: 16px; height: 16px; border-radius: 50%; background: var(--nm-coral); border: 3px solid var(--nm-cream); }
.timeline-year { font-family: var(--font-heading); font-weight: 800; color: var(--nm-teal); font-size: 18px; margin-bottom: 4px; }
.timeline-event h4 { font-family: var(--font-heading); font-weight: 700; color: var(--nm-navy); font-size: 17px; margin-bottom: 4px; }
.timeline-event p { color: var(--gray-700); font-size: 14px; }
.values { background: var(--white); }
.values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); }
.value { padding: var(--space-4); border-radius: var(--radius-md); background: var(--nm-cream); }
.value-icon { width: 48px; height: 48px; border-radius: var(--radius-sm); background: var(--white); color: var(--nm-coral); display: grid; place-items: center; font-size: 22px; margin-bottom: var(--space-2); }
.value h4 { font-family: var(--font-heading); font-weight: 700; font-size: 17px; color: var(--nm-navy); margin-bottom: var(--space-1); }
.value p { color: var(--gray-700); font-size: 14px; }
.naming { background: var(--nm-navy); color: var(--white); padding: var(--space-12) 0; }
.naming-inner { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6); align-items: center; }
.naming h2 { color: var(--white); font-family: var(--font-heading); font-weight: 800; font-size: clamp(28px, 4vw, 38px); line-height: 1.15; margin-bottom: var(--space-3); }
.naming p { color: rgba(255,255,255,0.85); font-size: 17px; margin-bottom: var(--space-2); }
.naming-word { background: rgba(255,255,255,0.10); padding: var(--space-4); border-radius: var(--radius-md); backdrop-filter: blur(8px); }
.naming-word b { display: block; font-family: var(--font-heading); font-size: 28px; color: var(--nm-pink); margin-bottom: 4px; }
.naming-word p { color: rgba(255,255,255,0.85); font-size: 14px; }
.about-cta { background: linear-gradient(135deg, var(--nm-pink) 0%, var(--nm-cream) 100%); text-align: center; padding: var(--space-12) var(--space-4); }
.about-cta h2 { font-family: var(--font-heading); font-weight: 800; font-size: clamp(28px, 4vw, 44px); color: var(--nm-navy); margin-bottom: var(--space-2); line-height: 1.1; }
.about-cta p { font-size: 18px; color: var(--gray-700); max-width: 580px; margin: 0 auto var(--space-4); }
.about-cta .nm-btn { padding: 16px 32px; font-size: 16px; }
.about-cta-row { display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; margin-bottom: var(--space-3); }
.about-cta small { color: var(--gray-500); font-size: 13px; }

@media (max-width: 1024px) {
  .nm-nav { display: none; }
  .pillars-grid { grid-template-columns: 1fr; }
  .flow-diagram { grid-template-columns: 1fr 1fr; }
  .flow-step:not(:last-child)::after { display: none; }
  .rights-grid { grid-template-columns: 1fr; }
  .nm-footer-inner { grid-template-columns: 1fr 1fr; }
  section { padding: var(--space-8) 0; }
}
.page-hero { background: linear-gradient(135deg, var(--nm-pink) 0%, var(--nm-cream) 100%); padding: var(--space-12) var(--space-4); text-align: center; }
.page-hero .eyebrow { display: inline-flex; gap: 6px; align-items: center; color: var(--nm-coral); font-weight: 600; font-size: 13px; letter-spacing: 0.8px; text-transform: uppercase; margin-bottom: var(--space-2); }
.page-hero p { font-size: 19px; color: var(--gray-700); max-width: 680px; margin: 0 auto; }
.trust-badges { display: flex; justify-content: center; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-4); }
.trust-badge { background: rgba(255,255,255,0.85); border: 1px solid rgba(20,89,113,0.20); padding: 8px 16px; border-radius: var(--radius-pill); font-size: 13px; font-weight: 600; color: var(--nm-teal); display: inline-flex; align-items: center; gap: 6px; }
.section-head h2 { font-family: var(--font-heading); font-weight: 800; font-size: clamp(28px, 3.5vw, 38px); color: var(--nm-navy); line-height: 1.15; }
.pillars-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); }
.pillar { background: var(--white); border: 1px solid var(--gray-100); border-radius: var(--radius-lg); padding: var(--space-4); transition: all 0.15s ease; }
.pillar:hover { box-shadow: var(--shadow-md); }
.pillar-icon { width: 56px; height: 56px; border-radius: var(--radius-md); background: rgba(20,89,113,0.10); color: var(--nm-teal); display: grid; place-items: center; font-size: 28px; margin-bottom: var(--space-3); }
.pillar h3 { font-family: var(--font-heading); font-weight: 700; font-size: 20px; color: var(--nm-navy); margin-bottom: var(--space-1); }
.pillar p { color: var(--gray-700); font-size: 14px; line-height: 1.55; }
.pillar ul { list-style: none; margin-top: var(--space-2); }
.pillar li { font-size: 13px; color: var(--gray-700); padding: 4px 0; display: flex; align-items: start; gap: 6px; }
.pillar li::before { content: "✓"; color: var(--nm-teal); font-weight: 700; flex-shrink: 0; }
.data-flow { background: var(--nm-cream); }
.flow-diagram { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-2); max-width: 980px; margin: 0 auto; }
.flow-step { background: var(--white); padding: var(--space-3); border-radius: var(--radius-md); position: relative; text-align: center; }
.flow-step .icon { width: 48px; height: 48px; background: var(--nm-teal); color: var(--white); border-radius: var(--radius-sm); display: grid; place-items: center; font-size: 20px; margin: 0 auto var(--space-2); }
.flow-step h4 { font-family: var(--font-heading); font-weight: 700; font-size: 15px; color: var(--nm-navy); margin-bottom: 4px; }
.flow-step p { font-size: 13px; color: var(--gray-700); }
.flow-step:not(:last-child)::after { content: "→"; position: absolute; right: -12px; top: 50%; transform: translateY(-50%); color: var(--nm-teal); font-size: 22px; font-weight: 700; z-index: 1; }
.gdpr-rights { background: var(--white); }
.rights-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-3); max-width: 900px; margin: 0 auto; }
.right-item { padding: var(--space-3); background: var(--gray-100); border-radius: var(--radius-md); border-left: 4px solid var(--nm-coral); }
.right-item h4 { font-family: var(--font-heading); font-weight: 700; font-size: 16px; color: var(--nm-navy); margin-bottom: 4px; }
.right-item p { color: var(--gray-700); font-size: 14px; }
.faq { background: var(--nm-cream); }
.faq-item summary { font-family: var(--font-heading); font-weight: 700; color: var(--nm-navy); font-size: 16px; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.sec-cta { background: linear-gradient(135deg, var(--nm-pink) 0%, var(--nm-cream) 100%); text-align: center; padding: var(--space-12) var(--space-4); }
.sec-cta h2 { font-family: var(--font-heading); font-weight: 800; font-size: clamp(28px, 4vw, 38px); color: var(--nm-navy); margin-bottom: var(--space-2); }
.sec-cta p { font-size: 18px; color: var(--gray-700); max-width: 580px; margin: 0 auto var(--space-4); }
.sec-cta .nm-btn { padding: 16px 32px; font-size: 16px; }
.sec-cta-row { display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; margin-bottom: var(--space-3); }

@media (max-width: 880px) {
  .nm-nav { display: none; }
  .int-grid { grid-template-columns: 1fr; }
  .custom-inner { grid-template-columns: 1fr; }
  .nm-footer-inner { grid-template-columns: 1fr 1fr; }
  section { padding: var(--space-8) 0; }
}
.container { max-width: 1200px; margin: 0 auto; padding: 0 var(--space-4); }
.section-head h2 { font-family: var(--font-heading); font-weight: 800; font-size: clamp(26px, 3.5vw, 36px); color: var(--nm-navy); }
.category-section { padding: var(--space-8) 0; }
.category-title { font-family: var(--font-heading); font-weight: 700; font-size: 22px; color: var(--nm-navy); margin-bottom: var(--space-1); display: flex; align-items: center; gap: 10px; }
.category-title .badge { font-size: 12px; font-weight: 600; color: var(--nm-teal); background: rgba(20,89,113,0.10); padding: 4px 10px; border-radius: var(--radius-pill); }
.category-desc { color: var(--gray-700); font-size: 15px; margin-bottom: var(--space-4); }
.int-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); }
.int-card { background: var(--white); border: 1px solid var(--gray-100); border-radius: var(--radius-lg); padding: var(--space-4); transition: all 0.15s ease; }
.int-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: var(--nm-coral); }
.int-head { display: flex; align-items: center; gap: var(--space-2); margin-bottom: var(--space-2); }
.int-logo { width: 48px; height: 48px; border-radius: var(--radius-sm); background: var(--gray-100); display: grid; place-items: center; font-family: var(--font-heading); font-weight: 800; color: var(--nm-navy); font-size: 16px; flex-shrink: 0; }
.int-logo.vipps { background: #FF5B24; color: var(--white); }
.int-logo.stripe { background: #635BFF; color: var(--white); }
.int-logo.nets { background: #00B0EA; color: var(--white); }
.int-logo.tripletex { background: #1B365D; color: var(--white); }
.int-logo.linkmob { background: #003E5C; color: var(--white); }
.int-logo.google { background: #4285F4; color: var(--white); }
.int-logo.vegvesen { background: #FFCC02; color: var(--nm-navy); }
.int-logo.api { background: var(--nm-navy); color: var(--nm-pink); }
.int-logo.webhook { background: var(--nm-teal); color: var(--white); }
.int-logo.bronnoy { background: #E60000; color: var(--white); }
.int-logo.email { background: var(--nm-coral); color: var(--white); }
.int-head h3 { font-family: var(--font-heading); font-weight: 700; font-size: 18px; color: var(--nm-navy); }
.int-head small { color: var(--gray-500); font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px; font-weight: 600; }
.int-card p { color: var(--gray-700); font-size: 14px; margin-bottom: var(--space-2); }
.int-features { display: flex; flex-wrap: wrap; gap: 6px; }
.int-feature { background: var(--gray-100); color: var(--gray-700); font-size: 12px; padding: 3px 8px; border-radius: var(--radius-pill); font-weight: 500; }
.bg-cream { background: var(--nm-cream); }
.custom-cta { background: linear-gradient(135deg, var(--nm-navy) 0%, var(--nm-teal) 100%); color: var(--white); padding: var(--space-12) 0; position: relative; overflow: hidden; }
.custom-cta::before { content: ""; position: absolute; top: -100px; right: -100px; width: 400px; height: 400px; background: radial-gradient(circle, var(--nm-pink) 0%, transparent 70%); opacity: 0.15; border-radius: 50%; }
.custom-inner { display: grid; grid-template-columns: 1.3fr 1fr; gap: var(--space-6); align-items: center; position: relative; }
.custom-cta h2 { font-family: var(--font-heading); font-weight: 800; font-size: clamp(28px, 4vw, 38px); margin-bottom: var(--space-2); color: var(--white); line-height: 1.1; }
.custom-cta p { color: rgba(255,255,255,0.85); font-size: 17px; margin-bottom: var(--space-3); }
.custom-cta .nm-btn-primary { background: var(--nm-pink); color: var(--nm-navy); }
.custom-cta .nm-btn-primary:hover { background: var(--white); }
.custom-stats { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2); }
.custom-stat { background: rgba(255,255,255,0.10); padding: var(--space-3); border-radius: var(--radius-md); backdrop-filter: blur(8px); text-align: center; }
.custom-stat-num { font-family: var(--font-heading); font-weight: 800; font-size: 28px; color: var(--nm-pink); }
.custom-stat-label { font-size: 13px; color: rgba(255,255,255,0.85); }
.int-cta { background: linear-gradient(135deg, var(--nm-pink) 0%, var(--nm-cream) 100%); text-align: center; padding: var(--space-12) var(--space-4); }
.int-cta h2 { font-family: var(--font-heading); font-weight: 800; font-size: clamp(28px, 4vw, 38px); color: var(--nm-navy); margin-bottom: var(--space-2); }
.int-cta p { font-size: 18px; color: var(--gray-700); max-width: 580px; margin: 0 auto var(--space-4); }
.int-cta .nm-btn { padding: 16px 32px; font-size: 16px; }
.int-cta-row { display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; margin-bottom: var(--space-3); }


/* === HERO VISUALER på tablet/mobil (<1024px) ===
 * Stables under teksten. Cards som var position:absolute på desktop
 * tvinges til normal flow (relative) og vises etter hverandre vertikalt.
 */
@media (max-width: 1024px) {
  /* Gi hero-tekst sentrering når den står alene over visual */
  .e-hero-inner > div:first-child,
  .kurs-hero-inner > div:first-child,
  .bus-hero-inner > div:first-child,
  .skj-hero-inner > div:first-child,
  .nm-hero-inner > div:first-child {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
  }
  .e-hero p.lede, .kurs-hero p.lede, .bus-hero p.lede, .skj-hero p.lede,
  .nm-hero p.lede {
    margin-left: auto;
    margin-right: auto;
  }
  .e-hero-cta, .kurs-hero-cta, .bus-hero-cta, .skj-hero-cta,
  .nm-hero-cta-row {
    justify-content: center;
  }

  /* Visualene: skaler ned, sentrer, tving normal flow */
  .nm-hero-visual,
  .ticket-visual,
  .builder-visual,
  .event-visual {
    max-width: 400px;
    margin: 40px auto 0;
    aspect-ratio: auto;
    height: auto;
    position: relative;
  }

  /* Hero-kort på forsiden: 3 kort i absolute-posisjon på desktop —
     stables vertikalt i normal flow på mobil */
  .nm-hero-card {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    margin: 0 auto 16px;
    max-width: 320px;
    width: 100%;
  }

  /* Ticket (buss-hero) og event-card: sentrer, fjern rotate */
  .ticket,
  .event-card,
  .builder {
    margin: 0 auto !important;
    transform: none !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    max-width: 360px;
    width: 100%;
  }

  /* Dekorative "floater"-bobler — skjul på mobil (de er bare pynt) */
  .ticket-floater,
  .event-floater,
  .builder-floater {
    display: none;
  }
}

/* Smal mobil (<640px): kompaktere hero-tekst */
@media (max-width: 640px) {
  .e-hero h1, .kurs-hero h1, .bus-hero h1, .skj-hero h1, .nm-hero h1 {
    font-size: clamp(28px, 8vw, 38px) !important;
  }
}

/* ============================================
 * SISTE-OVERSTYRER for grids på mobil/tablet
 * Må komme ETTER base styles for å vinne kaskaden (samme spesifisitet).
 * Bruker !important fordi base-regelene har samme spesifisitet og kommer etter
 * sin egen @media-blokk.
 *
 * Strategi (Stripe/Linear-måten):
 *   <1024px: ALLE flerkolonne-grids → 1 kolonne
 *   <640px:  fast tightere typografi
 * ============================================ */
@media (max-width: 1024px) {
  /* Hero-grids */
  .bus-hero-inner, .kurs-hero-inner, .e-hero-inner, .skj-hero-inner,
  .nm-hero-inner, .page-hero-inner {
    grid-template-columns: 1fr !important;
  }
  /* Pricing — featured-plan først på mobil (Stripe-måten) */
  .pricing-grid { grid-template-columns: 1fr !important; margin-top: -60px !important; }
  .pricing-grid-2 { grid-template-columns: 1fr !important; margin-top: -60px !important; }
  .pricing-card.featured { transform: none !important; order: -1; }
  /* Products/usecases (4-kolonne) */
  .products-grid { grid-template-columns: 1fr !important; }
  .usecases-grid { grid-template-columns: 1fr !important; }
  /* Contact, scenarios */
  .contact-grid { grid-template-columns: 1fr !important; }
  .scenarios-grid { grid-template-columns: 1fr !important; }
  /* Pillars (sikkerhet, om) */
  .pillars-grid { grid-template-columns: 1fr !important; }
  .values-grid { grid-template-columns: 1fr 1fr !important; }
  /* Integrasjoner */
  .int-grid { grid-template-columns: 1fr !important; }
  /* Skjema-fields beholder 2 kolonner på tablet, 1 på mobil */
  .fields-grid { grid-template-columns: repeat(2, 1fr) !important; }
  /* Kontakt — alt-contact, process-steps */
  .alt-contact-inner { grid-template-columns: 1fr !important; }
  .process-steps { grid-template-columns: repeat(2, 1fr) !important; }
  /* Pris — addon, included, enterprise */
  .included-grid { grid-template-columns: 1fr !important; }
  .addon-row { grid-template-columns: 1fr !important; gap: 8px !important; text-align: left !important; }
  .enterprise-inner { grid-template-columns: 1fr !important; }
  /* Process-flow (5 steg) — 2 kolonner på tablet, ingen pilstrek */
  .process-flow { grid-template-columns: repeat(2, 1fr) !important; }
  .process-step::after { display: none !important; }
  /* Case-card — stabel innhold */
  .case-card { grid-template-columns: 1fr !important; padding: var(--space-4) !important; }
  /* Om-siden */
  .naming-inner { grid-template-columns: 1fr !important; }
  /* Sikkerhet */
  .flow-diagram { grid-template-columns: repeat(2, 1fr) !important; }
  .flow-step:not(:last-child)::after { display: none !important; }
  .rights-grid { grid-template-columns: 1fr !important; }
  /* Integrasjoner */
  .custom-inner { grid-template-columns: 1fr !important; }
  /* Workflow (skjema) */
  .workflow-flow { grid-template-columns: repeat(2, 1fr) !important; }
  .workflow-step::after { display: none !important; }
  /* Integration-tiles (4 → 2 på tablet, 1 på mobil) */
  .integration-tiles { grid-template-columns: repeat(2, 1fr) !important; }
  /* Forside-steps (3 stegs flow) */
  .nm-steps { grid-template-columns: 1fr !important; }
  /* Forside track-grid (4 bransjespor) */
  .nm-track-grid { grid-template-columns: repeat(2, 1fr) !important; }
  /* Forside customer-logos */
  .nm-customer-logos { flex-wrap: wrap; justify-content: center; }
  /* Skjema-feedback inline-eksempler — tving wrap */
  section[class*="hero"] [style*="display: flex"],
  section [style*="display: flex"][style*="gap"] {
    flex-wrap: wrap;
  }
  /* Forhindre generelt overflow på alle img/svg/iframe */
  img, svg, iframe { max-width: 100%; height: auto; }
  /* Forside-case-card (Oslobuss-blokken) */
  .nm-case-card { grid-template-columns: 1fr !important; padding: var(--space-4) !important; }
  /* Sub-elementer som overflower (kurs-pamelding 7 påmeldingskrav m.fl.) */
  .nm-case-card, .nm-case-stats, .case-card, .case-stats { min-width: 0; }
  /* Forside security-grid (3 kolonner) */
  .nm-security-grid { grid-template-columns: 1fr !important; }
  /* Universell: alle grids inni en container skal kunne krympe */
  .container > *, section > .container > * { min-width: 0; }
  /* Forhindre horizontal page scroll */
  body, html { overflow-x: hidden; }
}

@media (max-width: 640px) {
  .integration-tiles { grid-template-columns: 1fr !important; }
  .nm-track-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 640px) {
  .fields-grid { grid-template-columns: 1fr !important; }
  .values-grid { grid-template-columns: 1fr !important; }
}
