/* Insiqt.ai — delt stilark for alle sider.
   Endre her, ikke i den enkelte HTML-filen. */

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    :root {
      --primary:       #080F1E;
      --secondary:     #0D1829;
      --surface:       #111E33;
      --accent:        #2563EB;
      --accent-hover:  #1D4ED8;
      --accent-glow:   rgba(37,99,235,0.18);
      --highlight:     #06B6D4;
      --success:       #10B981;
      --warning:       #F59E0B;
      --danger:        #EF4444;
      --text-primary:  #F1F5F9;
      --text-secondary:#7E95B5;
      --text-muted:    #3D5275;
      --border:        rgba(255,255,255,0.07);
      --border-hover:  rgba(37,99,235,0.4);
      --card-bg:       rgba(13,24,41,0.85);
      --radius:        14px;
      --radius-sm:     8px;
      --shadow:        0 24px 60px rgba(0,0,0,0.4);
    }
    html { scroll-behavior: smooth; }
    body { font-family:'Inter',sans-serif; background:var(--primary); color:var(--text-primary); line-height:1.6; overflow-x:hidden; }
    a { text-decoration:none; color:inherit; }
    .container { max-width:1200px; margin:0 auto; padding:0 28px; }
    .container-wide { max-width:1400px; margin:0 auto; padding:0 28px; }

    /* ── GRADIENT TEXT ── */
    .g-blue  { background:linear-gradient(135deg,#2563EB,#06B6D4); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
    .g-green { background:linear-gradient(135deg,#10B981,#06B6D4); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }

    /* ── BUTTONS ── */
    .btn { display:inline-flex; align-items:center; gap:8px; padding:13px 26px; border-radius:var(--radius-sm); font-size:15px; font-weight:600; cursor:pointer; transition:all 150ms ease; border:none; outline:none; white-space:nowrap; font-family:inherit; text-decoration:none; }
    .btn:hover { transform:scale(1.02); }
    .btn:active { transform:scale(0.98); }
    .btn-primary { background:var(--accent); color:#fff; }
    .btn-primary:hover { background:var(--accent-hover); box-shadow:0 0 24px rgba(37,99,235,0.4); }
    .btn-ghost  { background:transparent; color:var(--text-primary); border:1px solid var(--border); }
    .btn-ghost:hover { border-color:rgba(255,255,255,0.2); background:rgba(255,255,255,0.04); }
    .btn-white  { background:#fff; color:#0D1829; }
    .btn-white:hover { background:#E2E8F0; }
    .btn-ghost-white { background:transparent; color:#fff; border:1px solid rgba(255,255,255,0.35); }
    .btn-ghost-white:hover { background:rgba(255,255,255,0.08); }
    .btn-lg { padding:16px 32px; font-size:16px; }

    /* ── NAV ── */
    nav { position:fixed; top:0; left:0; right:0; z-index:100; backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); background:rgba(8,15,30,0.85); border-bottom:1px solid var(--border); }
    .nav-inner { display:flex; align-items:center; justify-content:space-between; height:68px; }
    .nav-logo { font-size:20px; font-weight:800; letter-spacing:-0.5px; }
    .nav-logo span { color:var(--accent); }
    .nav-tagline { font-size:11px; color:var(--text-muted); font-weight:500; letter-spacing:0.5px; margin-left:10px; border-left:1px solid var(--border); padding-left:10px; }
    .nav-links { display:flex; align-items:center; gap:28px; }
    .nav-links a { font-size:14px; font-weight:500; color:var(--text-secondary); transition:color 150ms; }
    .nav-links a:hover { color:var(--text-primary); }
    .nav-actions { display:flex; align-items:center; gap:10px; }
    .hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; background:none; border:none; }
    .hamburger span { display:block; width:24px; height:2px; background:var(--text-primary); border-radius:2px; transition:all 250ms ease; }
    .mobile-menu { display:none; position:fixed; top:68px; left:0; right:0; bottom:0; background:var(--primary); z-index:99; padding:32px 24px; flex-direction:column; gap:20px; border-top:1px solid var(--border); overflow-y:auto; }
    .mobile-menu.open { display:flex; }
    .mobile-menu a { font-size:17px; font-weight:500; color:var(--text-secondary); padding:12px 0; border-bottom:1px solid var(--border); }
    .mobile-menu a:hover { color:var(--text-primary); }
    .mobile-menu-actions { display:flex; flex-direction:column; gap:10px; margin-top:8px; }

    /* ── SECTION CHROME ── */
    .section { padding:100px 0; }
    .section-sm { padding:72px 0; }
    .section-header { text-align:center; margin-bottom:64px; }
    /* ── IKONSYSTEM ──
       .ic skalerer med containerens font-size og arver farge via currentColor. */
    .ic { width:1em; height:1em; display:block; flex-shrink:0; fill:none; stroke:currentColor;
          stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
    .ic-lg { stroke-width:1.5; }
    .ic-bold { stroke-width:2.1; }
    .feat-icon, .app-list-icon, .benefit-icon, .rest-benefit-icon { color:#60A5FA; }
    .ai-icon-warn { color:#FCD34D; } .ai-icon-blue { color:#60A5FA; }
    .ai-icon-green { color:#34D399; } .ai-icon-red { color:#F87171; }
    .role-icon { color:#60A5FA; } .role-icon-green { color:#34D399; }
    .solution-tag .ic { color:#60A5FA; }
    .problem-item .ic { color:#F87171; margin-top:3px; }
    .problem-item .ic-ok, .problem-col-head .ic-ok { color:#34D399; }
    .section-tag .ic-sparkle-c, .feat-icon .ic-sparkle-c, .benefit-icon .ic-sparkle-c { color:inherit; }
    .problem-col-head .ic { color:#F87171; }
    .t-stars { display:flex; gap:2px; }
    .t-stars .ic { width:13px; height:13px; }
    .cookie-text .ic, .alert-pill .ic, .phone-warn .ic { display:inline-block; vertical-align:-0.15em; }
    .alert-dot { width:8px; height:8px; border-radius:50%; background:#EF4444; flex-shrink:0; }

    .section-tag { display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:1.2px; color:var(--accent); background:rgba(37,99,235,0.1); border:1px solid rgba(37,99,235,0.2); padding:5px 14px; border-radius:100px; margin-bottom:20px; }
    .section-title { font-size:clamp(28px,4vw,44px); font-weight:800; line-height:1.15; letter-spacing:-0.8px; }
    .section-sub { font-size:17px; color:var(--text-secondary); margin-top:14px; max-width:600px; margin-left:auto; margin-right:auto; line-height:1.7; }
    .divider { height:1px; background:var(--border); }

    /* ── BADGE/PILL ── */
    .badge { display:inline-flex; align-items:center; gap:7px; border:1px solid rgba(37,99,235,0.35); background:rgba(37,99,235,0.08); color:#93C5FD; padding:7px 16px; border-radius:100px; font-size:13px; font-weight:500; }

    /* ── HERO ── */
    #hero { min-height:100vh; display:flex; align-items:center; padding:120px 0 80px; position:relative; overflow:hidden; }
    .hero-bg { position:absolute; inset:0; pointer-events:none; }
    .hero-grid-pattern { position:absolute; inset:0; background-image:linear-gradient(rgba(37,99,235,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,0.04) 1px,transparent 1px); background-size:64px 64px; animation:grid-drift 40s linear infinite; }
    @keyframes grid-drift { 0%{transform:translateY(0)} 100%{transform:translateY(64px)} }
    .hero-glow-1 { position:absolute; top:-20%; left:50%; transform:translateX(-50%); width:800px; height:500px; background:radial-gradient(ellipse,rgba(37,99,235,0.12) 0%,transparent 70%); pointer-events:none; }
    .hero-glow-2 { position:absolute; top:30%; right:-10%; width:500px; height:500px; background:radial-gradient(ellipse,rgba(6,182,212,0.06) 0%,transparent 70%); pointer-events:none; }
    .hero-inner { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; text-align:center; gap:28px; max-width:900px; margin:0 auto; }
    .hero-h1 { font-size:clamp(36px,6.5vw,72px); font-weight:800; line-height:1.08; letter-spacing:-2px; }
    .hero-sub { font-size:clamp(16px,2.2vw,19px); color:var(--text-secondary); max-width:640px; line-height:1.75; }
    .hero-cta { display:flex; gap:12px; flex-wrap:wrap; justify-content:center; }
    .hero-trust { display:flex; gap:24px; flex-wrap:wrap; justify-content:center; }
    .hero-trust span { font-size:13px; color:var(--text-secondary); display:flex; align-items:center; gap:6px; }
    .hero-trust span::before { content:"✓"; color:var(--success); font-weight:700; }

    /* Dashboard visual */
    .hero-visual { width:100%; max-width:1000px; margin:0 auto; position:relative; }
    .hero-visual-glow { position:absolute; bottom:-60px; left:50%; transform:translateX(-50%); width:60%; height:120px; background:radial-gradient(ellipse,rgba(37,99,235,0.35) 0%,transparent 70%); filter:blur(24px); pointer-events:none; }
    .browser-frame { background:#0D1829; border-radius:14px; border:1px solid rgba(255,255,255,0.09); overflow:hidden; box-shadow:0 40px 100px rgba(0,0,0,0.6); animation:float 7s ease-in-out infinite; }
    @keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
    /* Safari-style window chrome */
    .browser-bar { display:flex; align-items:center; gap:14px; background:linear-gradient(180deg,#252E40 0%,#1B2331 100%); padding:9px 14px; border-bottom:1px solid rgba(0,0,0,0.45); }
    .sf-left, .sf-right { display:flex; align-items:center; gap:15px; flex:1; min-width:0; color:rgba(255,255,255,0.5); }
    .sf-right { justify-content:flex-end; }
    .sf-left svg, .sf-right svg { display:block; flex-shrink:0; }
    .browser-dots { display:flex; gap:8px; flex-shrink:0; }
    .browser-dots span { width:12px; height:12px; border-radius:50%; }
    .dot-r{background:#FF5F57} .dot-y{background:#FEBC2E} .dot-g{background:#28C840}
    .sf-nav { display:flex; align-items:center; gap:16px; margin-left:4px; }
    .browser-url { display:flex; align-items:center; justify-content:center; gap:6px; width:min(320px,44%); flex-shrink:0; background:rgba(0,0,0,0.3); border-radius:7px; padding:5px 12px; font-size:12.5px; color:rgba(255,255,255,0.75); }
    .browser-url svg { flex-shrink:0; opacity:0.65; }
    @media (max-width:768px) { .sf-nav, .sf-right { display:none; } .browser-url { width:auto; flex:1; } }
    /* ── DASHBOARD MOCKUP ── */
    .dash-body { display:flex; height:460px; overflow:hidden; text-align:left; }
    /* Mockup-utsnitt er illustrasjoner, ikke noe som skal leses.
       scale() dekker den gjennomsiktige kanten uskarphet lager i ytterkant. */
    .mock { filter:blur(2.2px); transform:scale(1.015); transform-origin:center;
            user-select:none; pointer-events:none; }
    .mock-cap { font-size:10.5px; color:#8A94A6; text-align:center;
                letter-spacing:0.3px; margin-top:14px; }
    /* Sidebar */
    .dash-sidebar { width:142px; background:#060C1A; border-right:1px solid rgba(255,255,255,0.05); display:flex; flex-direction:column; flex-shrink:0; overflow:hidden; }
    .dash-sidebar-logo { padding:9px 11px; border-bottom:1px solid rgba(255,255,255,0.05); flex-shrink:0; }
    .dash-sidebar-name { font-size:12px; font-weight:800; color:#F1F5F9; letter-spacing:-0.4px; }
    .dash-sidebar-name span { color:#2563EB; }
    .dash-sidebar-tag { font-size:6.5px; color:rgba(126,149,181,0.5); margin-top:1px; }
    .dash-nav-scroll { flex:1; overflow:hidden; }
    .dash-nav-section { font-size:7.5px; color:rgba(62,82,117,0.95); text-transform:uppercase; letter-spacing:0.8px; padding:7px 11px 2px; }
    .dash-nav-item { display:flex; align-items:center; gap:6px; padding:4.5px 11px; font-size:9px; color:rgba(126,149,181,0.65); cursor:default; }
    .dash-nav-item.active { background:rgba(37,99,235,0.14); color:#93C5FD; border-right:2px solid #2563EB; font-weight:600; }
    .dash-nav-icon { width:11px; height:11px; flex-shrink:0; display:block; opacity:0.85; }
    .dash-nav-badge { margin-left:auto; background:#EF4444; color:#fff; font-size:6.5px; font-weight:700; min-width:11px; height:11px; border-radius:6px; display:flex; align-items:center; justify-content:center; padding:0 3px; }
    .dash-user { display:flex; align-items:center; gap:6px; padding:8px 11px; border-top:1px solid rgba(255,255,255,0.05); flex-shrink:0; }
    .dash-avatar { width:17px; height:17px; border-radius:50%; background:#2563EB; color:#fff; font-size:7px; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
    .dash-user-name { font-size:8.5px; font-weight:600; color:#CBD5E1; line-height:1.25; }
    .dash-user-role { font-size:6.5px; color:rgba(126,149,181,0.5); }
    /* Main */
    .dash-main { flex:1; padding:11px 13px; display:flex; flex-direction:column; gap:9px; overflow:hidden; min-width:0; }
    .dash-main-header { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
    .dash-main-title { font-size:14px; font-weight:800; color:#F1F5F9; letter-spacing:-0.3px; }
    .dash-main-meta { font-size:7.5px; color:rgba(126,149,181,0.6); line-height:1.55; margin-top:2px; }
    .dash-refresh { font-size:8.5px; font-weight:600; color:rgba(203,213,225,0.85); background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); padding:4px 10px; border-radius:5px; flex-shrink:0; }
    /* Oversikt stat cards */
    .ov-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; }
    .ov-card { background:rgba(8,15,30,0.85); border-radius:8px; padding:9px 10px; border:1px solid rgba(255,255,255,0.05); min-width:0; }
    .ov-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:6px; margin-bottom:6px; }
    .ov-card-label { font-size:8px; line-height:1.3; font-weight:700; letter-spacing:0.7px; text-transform:uppercase; color:#38BDF8; }
    .ov-card-sub { font-size:7.5px; line-height:1.3; color:rgba(126,149,181,0.55); margin-top:1px; }
    .ov-card-icon { width:18px; height:18px; border-radius:5px; background:rgba(37,99,235,0.14); border:1px solid rgba(37,99,235,0.22); display:flex; align-items:center; justify-content:center; color:#60A5FA; flex-shrink:0; }
    .ov-card-icon .ic { width:11px; height:11px; stroke-width:1.9; }
    .ov-row { display:flex; align-items:baseline; justify-content:space-between; gap:4px; padding:3px 0; border-top:1px solid rgba(255,255,255,0.04); }
    .ov-row:first-of-type { border-top:none; }
    .ov-row-label { font-size:7px; line-height:1.3; color:rgba(126,149,181,0.7); white-space:nowrap; }
    .ov-row-right { text-align:right; min-width:0; }
    .ov-row-value { display:block; font-size:10.5px; line-height:1.25; font-weight:700; color:#E2E8F0; white-space:nowrap; }
    .ov-row-note { display:block; font-size:6.5px; line-height:1.3; color:rgba(126,149,181,0.45); white-space:nowrap; }
    .v-red{color:#F87171} .v-green{color:#34D399} .v-mute{color:rgba(126,149,181,0.5)}
    /* Likviditet */
    .ov-liq { background:rgba(8,15,30,0.85); border-radius:8px; padding:10px 12px; border:1px solid rgba(255,255,255,0.05); display:flex; flex-direction:column; gap:8px; flex:1; min-height:0; }
    .ov-liq-top { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
    .ov-liq-head { font-size:8px; font-weight:700; letter-spacing:0.7px; text-transform:uppercase; color:#38BDF8; margin-bottom:3px; }
    .ov-liq-title { font-size:12.5px; line-height:1.3; font-weight:700; color:#F1F5F9; }
    .ov-liq-stats { display:flex; gap:16px; flex-shrink:0; }
    .ov-stat { text-align:right; }
    .ov-stat-label { font-size:7px; line-height:1.3; color:rgba(126,149,181,0.55); margin-bottom:1px; }
    .ov-stat-value { font-size:11px; line-height:1.25; font-weight:700; color:#E2E8F0; white-space:nowrap; }
    .ov-stat-note { font-size:6.5px; line-height:1.3; color:rgba(126,149,181,0.42); white-space:nowrap; }
    .ov-tabs { display:flex; gap:5px; flex-wrap:wrap; }
    .ov-tab { font-size:7.5px; font-weight:600; padding:3px 8px; border-radius:4px; background:rgba(255,255,255,0.045); color:rgba(126,149,181,0.7); white-space:nowrap; }
    .ov-tab.active { background:#2563EB; color:#fff; }
    .ov-timeline { position:relative; padding-top:14px; }
    .ov-track { display:flex; height:7px; border-radius:4px; overflow:hidden; }
    .ov-track-fill { width:42%; background:#10B981; }
    .ov-track-rest { flex:1; background:repeating-linear-gradient(135deg,rgba(239,68,68,0.32) 0 4px,rgba(239,68,68,0.09) 4px 8px); }
    .ov-marker { position:absolute; top:0; left:42%; transform:translateX(-50%); font-size:7px; font-weight:600; color:#FCA5A5; background:rgba(239,68,68,0.13); border:1px solid rgba(239,68,68,0.3); padding:1px 6px; border-radius:3px; white-space:nowrap; }
    .ov-marker::after { content:""; position:absolute; left:50%; top:100%; width:1px; height:6px; background:rgba(239,68,68,0.5); }
    .ov-axis { display:flex; justify-content:space-between; font-size:6.5px; color:rgba(126,149,181,0.42); margin-top:3px; }
    .ov-liq-bottom { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; padding-top:7px; border-top:1px solid rgba(255,255,255,0.05); margin-top:auto; }
    .ov-bcol-label { font-size:7px; line-height:1.3; font-weight:700; letter-spacing:0.6px; text-transform:uppercase; color:rgba(126,149,181,0.5); margin-bottom:2px; }
    .ov-bcol-value { font-size:12px; line-height:1.25; font-weight:700; color:#E2E8F0; }
    .ov-bcol-note { font-size:6.5px; line-height:1.3; color:rgba(126,149,181,0.42); margin-top:1px; }
    @media (max-width:768px) {
      .dash-body { height:auto; }
      .ov-cards { grid-template-columns:repeat(2,1fr); }
      .ov-liq-top { flex-direction:column; gap:8px; }
      .ov-liq-stats { width:100%; justify-content:space-between; gap:10px; }
      .ov-stat { text-align:left; }
      .ov-liq-bottom { grid-template-columns:repeat(2,1fr); gap:9px; }
    }
    @media (max-width:560px) { .dash-sidebar { display:none; } }

    /* ── LOGO STRIP ── */
    #logos { padding:44px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); overflow:hidden; }
    .logos-label { text-align:center; font-size:12px; font-weight:500; color:var(--text-muted); margin-bottom:24px; text-transform:uppercase; letter-spacing:1px; }
    .logos-track-wrap { position:relative; }
    .logos-track-wrap::before,.logos-track-wrap::after { content:''; position:absolute; top:0; bottom:0; width:120px; z-index:2; pointer-events:none; }
    .logos-track-wrap::before { left:0; background:linear-gradient(90deg,var(--primary),transparent); }
    .logos-track-wrap::after { right:0; background:linear-gradient(-90deg,var(--primary),transparent); }
    .logos-track { display:flex; gap:72px; align-items:center; width:max-content; animation:scroll-logos 20s linear infinite; }
    .logos-track:hover { animation-play-state:paused; }
    @keyframes scroll-logos { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
    .logo-item { font-size:14px; font-weight:600; color:rgba(126,149,181,0.5); white-space:nowrap; letter-spacing:0.5px; transition:color 300ms; }
    .logo-item:hover { color:var(--text-secondary); }

    /* ── PROBLEM ── */
    #problem { background:var(--secondary); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
    .problem-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
    .problem-col-head { display:flex; align-items:center; gap:8px; font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:1px; margin-bottom:20px; }
    .col-bad .problem-col-head { color:var(--danger); }
    .col-good .problem-col-head { color:var(--success); }
    .problem-item { display:flex; align-items:flex-start; gap:12px; font-size:15px; color:var(--text-secondary); line-height:1.55; padding:10px 0; border-bottom:1px solid var(--border); }
    .problem-item:last-child { border-bottom:none; }

    /* ── SOLUTION ── */
    .solution-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
    .solution-list { display:flex; flex-direction:column; gap:8px; }
    .solution-tag { display:inline-flex; align-items:center; gap:8px; font-size:13px; color:var(--text-secondary); background:rgba(37,99,235,0.06); border:1px solid rgba(37,99,235,0.12); border-radius:8px; padding:8px 14px; transition:all 150ms; }
    .solution-tag:hover { border-color:rgba(37,99,235,0.3); color:var(--text-primary); }
    .solution-grid-tags { display:flex; flex-wrap:wrap; gap:8px; }

    /* ── PLATFORM FEATURES ── */
    .features-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
    .feat-card { background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius); padding:24px; backdrop-filter:blur(8px); transition:all 250ms ease; cursor:default; }
    .feat-card:hover { transform:translateY(-4px); border-color:var(--border-hover); background:linear-gradient(135deg,rgba(13,24,41,0.95),rgba(37,99,235,0.05)); }
    .feat-icon { width:40px; height:40px; border-radius:10px; background:rgba(37,99,235,0.12); border:1px solid rgba(37,99,235,0.2); display:flex; align-items:center; justify-content:center; font-size:18px; margin-bottom:16px; }
    .feat-title { font-size:14px; font-weight:600; margin-bottom:6px; }
    .feat-text { font-size:13px; color:var(--text-secondary); line-height:1.6; }

    /* ── DRIVER APP ── */
    .app-section { display:grid; grid-template-columns:1fr 380px; gap:80px; align-items:center; }
    .app-section.reverse { grid-template-columns:380px 1fr; }
    .app-section.reverse .app-content { order:2; }
    .app-section.reverse .app-phone { order:1; }
    .app-list { display:flex; flex-direction:column; gap:14px; margin-top:28px; }
    .app-list-item { display:flex; align-items:flex-start; gap:14px; }
    .app-list-icon { width:36px; height:36px; border-radius:8px; background:rgba(37,99,235,0.12); border:1px solid rgba(37,99,235,0.2); display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0; }
    .app-list-text strong { display:block; font-size:14px; font-weight:600; margin-bottom:2px; }
    .app-list-text span { font-size:13px; color:var(--text-secondary); }
    /* ── IPHONE MOCKUP ── */
    /* Telefonen tegnes i ekte iPhone-mål (390 px logisk bredde) med normale iOS-tekststørrelser,
       og skaleres deretter ned med zoom. Da beholder innholdet riktige proporsjoner i stedet for
       å bli klemt sammen av småpiksler. zoom påvirker layout, så rammen tar riktig plass. */
    .phone-frame { width:390px; zoom:0.68; background:#0A0A0A; border-radius:56px;
                   border:3px solid rgba(255,255,255,0.14); overflow:hidden;
                   box-shadow:0 50px 100px rgba(0,0,0,0.7),0 0 0 1px rgba(255,255,255,0.04);
                   margin:0 auto; }
    .phone-top-area { background:#0A0A0A; padding:10px 19px 0; display:flex; flex-direction:column; align-items:center; }
    .phone-dynamic-island { width:126px; height:37px; background:#000; border-radius:20px; }
    .phone-statusbar { display:flex; justify-content:space-between; align-items:center; width:100%;
                       padding:6px 4px 4px; font-size:12.3px; font-weight:600; color:#F1F5F9; }
    .phone-statusbar-icons { display:flex; align-items:center; gap:4px; }
    .phone-screen { padding:4px 16px 0; display:flex; flex-direction:column; gap:10px; background:#0A0A0A; }
    /* Header */
    .ph-head { display:flex; align-items:flex-start; justify-content:space-between; gap:9px; }
    .ph-greet { font-size:21.3px; font-weight:800; color:#F1F5F9; letter-spacing:-0.6px; line-height:1.15; }
    .ph-sub { font-size:12.3px; color:rgba(148,163,184,0.8); margin-top:4px; }
    .ph-queue { display:flex; align-items:center; gap:4px; font-size:9.0px; font-weight:700; letter-spacing:1px;
                text-transform:uppercase; color:#FBBF24; background:rgba(251,191,36,0.1);
                border:1px solid rgba(251,191,36,0.3); padding:5px 9px; border-radius:100px;
                flex-shrink:0; white-space:nowrap; }
    .ph-dot { width:7px; height:7px; border-radius:50%; background:currentColor; flex-shrink:0; }
    /* Kjøretid */
    .ph-drive { background:linear-gradient(160deg,rgba(37,99,235,0.2),rgba(10,16,32,0.4));
                border:1.5px solid rgba(56,168,232,0.5); border-radius:18px; padding:12px 13px 12px; }
    .ph-drive-lbl { font-size:9.0px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase;
                    color:rgba(203,213,225,0.72); margin-bottom:6px; }
    .ph-drive-row { display:flex; align-items:baseline; gap:8px; }
    .ph-drive-val { font-size:32.8px; font-weight:800; color:#F8FAFC; letter-spacing:-1.5px; line-height:1; }
    .ph-drive-of { font-size:13.1px; color:rgba(148,163,184,0.85); }
    .ph-bar { height:6px; background:rgba(255,255,255,0.14); border-radius:3px; overflow:hidden; margin:10px 0 11px; }
    .ph-bar-fill { height:100%; border-radius:3px; background:#34D399; }
    .ph-drive-foot { font-size:9.8px; color:rgba(148,163,184,0.75); }
    /* Pausevarsel */
    .ph-pause { display:flex; align-items:center; gap:9px; background:rgba(245,158,11,0.07);
                border:1.5px solid rgba(245,158,11,0.45); border-radius:16px; padding:10px 12px; color:#FBBF24; }
    .ph-pause .ic { width:26px; height:26px; stroke-width:1.7; }
    .ph-pause-t { font-size:13.9px; font-weight:700; line-height:1.25; }
    .ph-pause-s { font-size:10.2px; color:rgba(148,163,184,0.82); margin-top:2px; }
    /* Nøkkeltall */
    .ph-stats { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
    .ph-stat { background:rgba(255,255,255,0.035); border:1.5px solid rgba(255,255,255,0.14);
               border-radius:16px; padding:10px 11px; min-width:0; }
    .ph-stat-lbl { font-size:9.0px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase;
                   color:rgba(148,163,184,0.78); margin-bottom:5px; }
    .ph-stat-val { font-size:23.0px; font-weight:800; letter-spacing:-0.8px; line-height:1; }
    .ph-stat-sub { font-size:10.2px; color:rgba(148,163,184,0.72); margin-top:5px; }
    /* Aktivt oppdrag */
    .ph-sec-lbl { font-size:9.0px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase;
                  color:rgba(148,163,184,0.62); margin-top:1px; }
    .ph-job { background:rgba(255,255,255,0.035); border:1.5px solid rgba(255,255,255,0.12);
              border-radius:16px; padding:12px 12px; }
    .ph-job-top { display:flex; align-items:flex-start; justify-content:space-between; gap:9px; }
    .ph-job-name { font-size:15.6px; font-weight:800; color:#F1F5F9; letter-spacing:-0.4px; }
    .ph-job-route { font-size:11.1px; color:rgba(148,163,184,0.8); margin-top:4px; }
    .ph-pill { display:flex; align-items:center; gap:4px; font-size:8.6px; font-weight:700; letter-spacing:0.9px;
               text-transform:uppercase; color:#34D399; background:rgba(52,211,153,0.1);
               border:1px solid rgba(52,211,153,0.32); padding:5px 9px; border-radius:100px;
               flex-shrink:0; white-space:nowrap; }
    .ph-job-rows { margin-top:10px; padding-top:14px; border-top:1px solid rgba(255,255,255,0.1);
                   display:flex; flex-direction:column; gap:6px; }
    .ph-job-row { display:flex; align-items:center; justify-content:space-between; gap:9px;
                  font-size:12.3px; color:rgba(148,163,184,0.88); }
    .ph-job-row strong { font-size:13.1px; font-weight:800; color:#F1F5F9; }
    .ph-tel { display:flex; align-items:center; gap:6px; font-size:13.1px; font-weight:700;
              color:#60A5FA; text-decoration:none; }
    .ph-tel .ic { width:16px; height:16px; }
    /* Knapper */
    .ph-btn-ghost { width:100%; padding:12px; background:rgba(255,255,255,0.045);
                    border:1.5px solid rgba(255,255,255,0.1); border-radius:16px; font-size:13.9px;
                    font-weight:800; color:#F87171; font-family:inherit; cursor:pointer; }
    .ph-btn-go { width:100%; padding:14px; background:#34D399; border:none; border-radius:16px;
                 font-size:15.6px; font-weight:800; color:#06251A; font-family:inherit; cursor:pointer; }
    .ph-cta-note { font-size:9.8px; color:rgba(148,163,184,0.62); text-align:center; }
    /* Tab-bar */
    .ph-tabs { display:grid; grid-template-columns:repeat(5,1fr); gap:3px; background:#0A0A0A;
               padding:10px 10px 3px; margin-top:4px; border-top:1px solid rgba(255,255,255,0.06); }
    .ph-tab { display:flex; flex-direction:column; align-items:center; gap:4px; color:rgba(148,163,184,0.65); }
    .ph-tab-ico { width:42px; height:42px; border-radius:14px; background:rgba(255,255,255,0.05);
                  display:flex; align-items:center; justify-content:center; }
    .ph-tab-ico .ic { width:20px; height:20px; }
    .ph-tab-lbl { font-size:8.6px; font-weight:600; }
    .ph-tab.on { color:#60A5FA; }
    .ph-tab.on .ph-tab-ico { background:#2563EB; color:#fff; }
    .phone-home-area { height:28px; background:#0A0A0A; display:flex; align-items:center; justify-content:center; padding-top:4px; }
    .phone-home-bar { width:140px; height:5px; background:rgba(255,255,255,0.25); border-radius:3px; }
    /* Store badges */
    .store-badges { display:flex; gap:12px; margin-top:28px; flex-wrap:wrap; }
    .store-badge { display:inline-flex; align-items:center; gap:10px; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12); border-radius:12px; padding:10px 18px; transition:all 150ms; text-decoration:none; color:inherit; }
    .store-badge:hover { border-color:rgba(255,255,255,0.28); background:rgba(255,255,255,0.08); transform:translateY(-1px); }
    .store-badge svg { flex-shrink:0; }
    .store-badge-text { display:flex; flex-direction:column; }
    .store-badge-sub { font-size:9.5px; color:rgba(255,255,255,0.45); line-height:1.2; }
    .store-badge-name { font-size:14px; font-weight:700; color:#F1F5F9; line-height:1.2; }

    /* ── PRICING ADD-ONS ── */
    .addon-section { border-top:1px solid var(--border); padding-top:14px; display:flex; flex-direction:column; gap:0; }
    .addon-head { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--text-muted); margin-bottom:8px; }
    .addon-row { display:flex; align-items:center; gap:10px; padding:7px 0; border-bottom:1px solid rgba(255,255,255,0.04); cursor:pointer; }
    .addon-row:last-of-type { border-bottom:none; margin-bottom:4px; }
    .addon-row input[type="checkbox"] { width:15px; height:15px; accent-color:var(--accent); cursor:pointer; flex-shrink:0; }
    .addon-row-info { flex:1; }
    .addon-row-name { font-size:12px; font-weight:500; color:var(--text-secondary); transition:color 150ms; }
    .addon-row:hover .addon-row-name { color:var(--text-primary); }
    .addon-row-price { font-size:12px; font-weight:700; color:var(--text-primary); white-space:nowrap; }
    .addon-total { display:flex; justify-content:space-between; align-items:baseline; padding-top:10px; border-top:1px solid var(--border); margin-top:2px; margin-bottom:2px; }
    .addon-total-label { font-size:11px; color:var(--text-muted); }
    .addon-total-price { font-size:17px; font-weight:800; }

    /* ── REST TIME ── */
    .rest-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
    .rest-card { background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius); padding:28px; backdrop-filter:blur(8px); }
    .rest-card-title { font-size:13px; color:var(--text-muted); text-transform:uppercase; letter-spacing:0.5px; margin-bottom:20px; font-weight:500; }
    .rest-row { margin-bottom:16px; }
    .rest-row:last-child { margin-bottom:0; }
    .rest-row-head { display:flex; justify-content:space-between; align-items:center; font-size:13px; margin-bottom:6px; }
    .rest-row-label { color:var(--text-secondary); }
    .rest-row-val { font-weight:600; }
    .rest-bar { height:6px; background:rgba(255,255,255,0.06); border-radius:3px; }
    .rest-bar-fill { height:100%; border-radius:3px; transition:width 1s ease; }
    .alert-pill { display:flex; align-items:center; gap:10px; padding:12px 16px; border-radius:10px; font-size:13px; font-weight:500; margin-top:10px; }
    .alert-warn { background:rgba(245,158,11,0.1); border:1px solid rgba(245,158,11,0.25); color:var(--warning); }
    .alert-ok   { background:rgba(16,185,129,0.1); border:1px solid rgba(16,185,129,0.25); color:var(--success); }
    .alert-crit { background:rgba(239,68,68,0.1); border:1px solid rgba(239,68,68,0.25); color:var(--danger); }
    .rest-list { display:flex; flex-direction:column; gap:12px; }
    .rest-benefit { display:flex; align-items:flex-start; gap:12px; padding:16px; background:rgba(13,24,41,0.6); border:1px solid var(--border); border-radius:10px; }
    .rest-benefit-icon { font-size:22px; flex-shrink:0; }
    .rest-benefit-text strong { display:block; font-size:14px; font-weight:600; margin-bottom:2px; }
    .rest-benefit-text span { font-size:13px; color:var(--text-secondary); }

    /* ── AI ── */
    #ai { background:var(--secondary); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
    .ai-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
    .ai-cards { display:flex; flex-direction:column; gap:14px; }
    .ai-card { background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius); padding:22px; display:flex; gap:16px; align-items:flex-start; backdrop-filter:blur(8px); transition:border-color 250ms; }
    .ai-card:hover { border-color:var(--border-hover); }
    .ai-icon { width:40px; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:18px; flex-shrink:0; }
    .ai-icon-warn { background:rgba(245,158,11,0.12); border:1px solid rgba(245,158,11,0.25); }
    .ai-icon-blue { background:rgba(37,99,235,0.12); border:1px solid rgba(37,99,235,0.25); }
    .ai-icon-green { background:rgba(16,185,129,0.12); border:1px solid rgba(16,185,129,0.25); }
    .ai-icon-red  { background:rgba(239,68,68,0.12); border:1px solid rgba(239,68,68,0.25); }
    .ai-card-text strong { display:block; font-size:14px; font-weight:600; margin-bottom:4px; }
    .ai-card-text p { font-size:13px; color:var(--text-secondary); line-height:1.6; }
    .ai-saving { display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; color:var(--success); background:rgba(16,185,129,0.1); border:1px solid rgba(16,185,129,0.2); border-radius:6px; padding:3px 10px; margin-top:8px; }

    /* ── THREE ROLES ── */
    .roles-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
    .role-card { background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius); padding:36px; display:flex; flex-direction:column; gap:16px; backdrop-filter:blur(8px); transition:all 250ms; }
    .role-card:hover { transform:translateY(-4px); }
    .role-card.featured { border-color:rgba(37,99,235,0.4); background:rgba(37,99,235,0.06); }
    .role-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1.2px; }
    .role-icon { width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:26px; }
    .role-title { font-size:21px; font-weight:700; line-height:1.25; }
    .role-desc { font-size:14px; color:var(--text-secondary); line-height:1.7; }
    .role-list { list-style:none; display:flex; flex-direction:column; gap:9px; }
    .role-list li { font-size:13px; color:var(--text-secondary); display:flex; gap:8px; }
    .role-list li::before { content:"✓"; color:var(--success); font-weight:700; flex-shrink:0; }

    /* ── BENEFITS ── */
    .benefits-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
    .benefit-item { display:flex; flex-direction:column; gap:10px; padding:24px; background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius); backdrop-filter:blur(8px); transition:border-color 250ms; }
    .benefit-item:hover { border-color:var(--border-hover); }
    .benefit-icon { font-size:28px; }
    .benefit-title { font-size:15px; font-weight:600; }
    .benefit-text { font-size:13px; color:var(--text-secondary); line-height:1.6; }

    /* ── VISION ── */
    #vision { background:var(--secondary); border-top:1px solid var(--border); border-bottom:1px solid var(--border); text-align:center; }
    #vision { position:relative; overflow:hidden; }
    .vision-glow { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:min(680px,90%);
                   height:320px; background:radial-gradient(ellipse,rgba(37,99,235,0.16) 0%,transparent 70%);
                   filter:blur(30px); pointer-events:none; }
    .vision-inner { max-width:780px; margin:0 auto; position:relative; }
    .vision-quote { font-size:clamp(26px,4vw,42px); font-weight:800; line-height:1.25; letter-spacing:-1.2px;
                    margin-bottom:26px; }
    /* Smalere mål enn overskriften — gir hierarki og ~65 tegn per linje */
    .vision-body { font-size:17px; color:var(--text-secondary); line-height:1.8; max-width:620px;
                   margin:0 auto 40px; }
    .vision-flow { display:inline-flex; align-items:center; gap:18px; }
    .vision-chip { font-size:clamp(15px,1.8vw,19px); font-weight:800; letter-spacing:-0.3px;
                   padding:14px 24px; border-radius:14px; white-space:nowrap; }
    .vision-chip.inn { color:#60A5FA; background:rgba(37,99,235,0.1); border:1px solid rgba(37,99,235,0.28); }
    .vision-chip.ut  { color:#34D399; background:rgba(16,185,129,0.1); border:1px solid rgba(16,185,129,0.28); }
    .vision-flow .ic { width:22px; height:22px; color:var(--text-muted); stroke-width:1.8; }
    @media (max-width:560px) { .vision-flow { flex-direction:column; gap:12px; }
                               .vision-chip { width:100%; text-align:center; }
                               .vision-flow .ic { transform:rotate(90deg); } }

    /* ── TESTIMONIALS ── */
    .testimonials-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
    .testimonial-card { background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius); padding:32px; backdrop-filter:blur(8px); display:flex; flex-direction:column; gap:18px; }
    .t-stars { color:#FBBF24; font-size:13px; }
    .t-quote { font-size:15px; color:var(--text-secondary); line-height:1.75; font-style:italic; }
    .t-author { display:flex; align-items:center; gap:12px; }
    .avatar { width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; flex-shrink:0; }
    .av-blue  { background:rgba(37,99,235,0.2);  color:#60A5FA; border:1px solid rgba(37,99,235,0.3); }
    .av-green { background:rgba(16,185,129,0.2); color:#34D399; border:1px solid rgba(16,185,129,0.3); }
    .av-cyan  { background:rgba(6,182,212,0.2);  color:#67E8F9; border:1px solid rgba(6,182,212,0.3); }
    .t-name { font-size:14px; font-weight:600; }
    .t-role { font-size:12px; color:var(--text-muted); }

    /* ── METRICS STRIP ── */
    .metrics-strip { display:grid; grid-template-columns:repeat(4,1fr); margin-top:56px; border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; background:var(--border); gap:1px; }
    .metric-cell { background:var(--card-bg); padding:28px; text-align:center; backdrop-filter:blur(8px); }
    .metric-val { font-size:34px; font-weight:800; }
    .metric-lbl { font-size:13px; color:var(--text-secondary); margin-top:4px; }

    /* ── CTA SECTION ── */
    #cta { padding:100px 0; text-align:center; background:linear-gradient(135deg,rgba(37,99,235,0.12) 0%,rgba(6,182,212,0.06) 100%); border-top:1px solid rgba(37,99,235,0.2); border-bottom:1px solid rgba(37,99,235,0.2); }
    .cta-inner { max-width:640px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:28px; }
    .cta-title { font-size:clamp(30px,5vw,52px); font-weight:800; line-height:1.15; letter-spacing:-0.8px; }
    .cta-sub { font-size:17px; color:var(--text-secondary); line-height:1.7; }
    .cta-trust { display:flex; gap:20px; flex-wrap:wrap; justify-content:center; }
    .cta-trust span { font-size:13px; color:rgba(255,255,255,0.55); display:flex; align-items:center; gap:6px; }
    .cta-trust span::before { content:"✓"; color:var(--success); font-weight:700; }

    /* ── FOOTER ── */
    footer { background:var(--primary); border-top:1px solid var(--border); padding:72px 0 32px; }
    .footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:48px; margin-bottom:56px; }
    .footer-logo { font-size:22px; font-weight:800; margin-bottom:12px; }
    .footer-logo span { color:var(--accent); }
    .footer-tagline-text { font-size:13px; color:var(--text-muted); margin-bottom:20px; font-style:italic; }
    .social-links { display:flex; gap:10px; }
    .social-link { width:36px; height:36px; border-radius:8px; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; color:var(--text-secondary); font-size:15px; transition:all 150ms; }
    .social-link:hover { border-color:rgba(255,255,255,0.2); color:var(--text-primary); background:rgba(255,255,255,0.04); }
    .footer-col h4 { font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:1px; color:var(--text-muted); margin-bottom:18px; }
    .footer-col ul { list-style:none; display:flex; flex-direction:column; gap:11px; }
    .footer-col li a { font-size:14px; color:var(--text-secondary); transition:color 150ms; }
    .footer-col li a:hover { color:var(--text-primary); }
    .soon-tag { font-size:10px; font-weight:600; padding:2px 7px; border-radius:4px; background:rgba(245,158,11,0.1); color:var(--warning); border:1px solid rgba(245,158,11,0.2); margin-left:6px; vertical-align:middle; }
    .footer-bottom { border-top:1px solid var(--border); padding-top:28px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
    .footer-bottom-left { font-size:13px; color:var(--text-secondary); }
    .footer-bottom-left a { color:var(--text-secondary); transition:color 150ms; }
    .footer-bottom-left a:hover { color:var(--text-primary); }
    .footer-bottom-right { font-size:12px; color:var(--text-muted); }

    /* ── COOKIE BANNER ── */
    #cookie-banner { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); width:calc(100% - 48px); max-width:720px; background:var(--surface); border:1px solid rgba(255,255,255,0.1); border-radius:var(--radius); padding:20px 24px; display:flex; align-items:center; justify-content:space-between; gap:20px; z-index:999; box-shadow:0 20px 60px rgba(0,0,0,0.5); backdrop-filter:blur(16px); }
    .cookie-text { font-size:13px; color:var(--text-secondary); line-height:1.6; }
    .cookie-text a { color:var(--accent); }
    .cookie-text a:hover { text-decoration:underline; }
    .cookie-actions { display:flex; gap:8px; flex-shrink:0; }

    /* ── SCROLL ANIMATION ── */
    .fade-up { opacity:0; transform:translateY(24px); transition:opacity 600ms ease, transform 600ms ease; }
    .fade-up.visible { opacity:1; transform:translateY(0); }

    /* ── RESPONSIVE ── */
    @media (max-width:1024px) {
      .features-grid { grid-template-columns:repeat(2,1fr); }
      .benefits-grid { grid-template-columns:repeat(2,1fr); }
      .footer-grid { grid-template-columns:1fr 1fr; }
      .app-section, .app-section.reverse { grid-template-columns:1fr; }
      .app-section.reverse .app-content { order:1; }
      .app-section.reverse .app-phone { order:2; }
      .phone-frame { zoom:0.76; }
      .ai-grid { grid-template-columns:1fr; }
      .rest-grid { grid-template-columns:1fr; }
    }
    @media (max-width:768px) {
      .nav-links,.nav-actions { display:none; }
      .hamburger { display:flex; }
      .section,.section-sm { padding:72px 0; }
      .problem-grid { grid-template-columns:1fr; }
      .solution-grid { grid-template-columns:1fr; }
      .roles-grid { grid-template-columns:1fr; }
      .testimonials-grid { grid-template-columns:1fr; }
      .metrics-strip { grid-template-columns:repeat(2,1fr); }
      .features-grid { grid-template-columns:1fr; }
      .benefits-grid { grid-template-columns:1fr; }
      .footer-grid { grid-template-columns:1fr 1fr; gap:32px; }
      .footer-bottom { flex-direction:column; text-align:center; }
      .dash-sidebar { display:none; }
      .dash-metrics { grid-template-columns:repeat(3,1fr); }
      .dash-row { grid-template-columns:1fr; }
      .dash-alerts-box { display:none; }
      .hero-cta { flex-direction:column; align-items:center; }
      #cookie-banner { flex-direction:column; bottom:0; border-radius:var(--radius) var(--radius) 0 0; width:100%; }
    }
    @media (max-width:480px) {
      .footer-grid { grid-template-columns:1fr; }
      .metrics-strip { grid-template-columns:1fr 1fr; }
    }
    @media (prefers-reduced-motion:reduce) {
      *,*::before,*::after { animation-duration:0.01ms !important; transition-duration:0.01ms !important; }
    }

/* ── AKTIV SIDE I NAV ── */
.nav-links a.active { color:var(--text-primary); }
.nav-links a.active::after { width:100%; }

/* ── UTFORSK VIDERE (kryss-lenker mellom produktsider) ── */
.next-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:900px) { .next-grid { grid-template-columns:1fr; } }
.next-card { display:block; background:var(--card-bg); border:1px solid var(--border);
             border-radius:var(--radius); padding:26px; text-decoration:none;
             backdrop-filter:blur(8px); transition:border-color 200ms, transform 200ms; }
.next-card:hover { border-color:rgba(37,99,235,0.4); transform:translateY(-3px); }
.next-ico { width:40px; height:40px; border-radius:10px; background:rgba(37,99,235,0.12);
            border:1px solid rgba(37,99,235,0.2); color:#60A5FA;
            display:flex; align-items:center; justify-content:center; margin-bottom:16px; font-size:18px; }
.next-title { font-size:17px; font-weight:700; color:var(--text-primary); margin-bottom:6px; }
.next-text { font-size:14px; color:var(--text-secondary); line-height:1.6; }

/* ── FAQ ── */
  .faq-item { border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; }
  .faq-q { width:100%; padding:20px 26px; text-align:left; background:var(--card-bg); color:var(--text-primary); font-size:15px; font-weight:500; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:16px; border:none; outline:none; font-family:inherit; transition:background 150ms; backdrop-filter:blur(8px); }
  .faq-q:hover { background:rgba(13,24,41,0.95); }
  .faq-ic { font-size:20px; color:var(--accent); transition:transform 250ms; flex-shrink:0; }
  .faq-item.open .faq-ic { transform:rotate(45deg); }
  .faq-ans { max-height:0; overflow:hidden; transition:max-height 350ms ease; background:rgba(8,15,30,0.5); }
  .faq-item.open .faq-ans { max-height:300px; }
  .faq-ans-inner { padding:0 26px 20px; font-size:15px; color:var(--text-secondary); line-height:1.7; }

/* ══════════════════════════════════════════════════════════════
   STRATEGISK POSISJONERING — primitiver gjenbrukt på tvers
   Bygger på eksisterende tokens. Ingen nye farger.
   ══════════════════════════════════════════════════════════════ */

/* ── Statusmerker: skiller det som finnes fra det som kommer ── */
.tag-now, .tag-next, .tag-road { display:inline-flex; align-items:center; gap:6px; font-size:11px;
  font-weight:700; letter-spacing:0.6px; text-transform:uppercase; padding:5px 11px;
  border-radius:100px; white-space:nowrap; }
.tag-now  { color:#34D399; background:rgba(16,185,129,0.1);  border:1px solid rgba(16,185,129,0.28); }
.tag-next { color:#60A5FA; background:rgba(37,99,235,0.1);   border:1px solid rgba(37,99,235,0.3); }
.tag-road { color:var(--text-secondary); background:rgba(255,255,255,0.04); border:1px solid var(--border); }

/* ── Verdikjede: Kunde → Oppdrag → … ── */
.chain { display:flex; align-items:stretch; justify-content:center; flex-wrap:wrap; gap:8px; }
.chain-node { display:flex; align-items:center; justify-content:center; text-align:center;
  font-size:13px; font-weight:600; color:var(--text-secondary); background:var(--card-bg);
  border:1px solid var(--border); border-radius:10px; padding:12px 16px; white-space:nowrap;
  transition:border-color 250ms, color 250ms; }
.chain-node:hover { border-color:var(--border-hover); color:var(--text-primary); }
.chain-node.end { color:var(--text-primary); border-color:rgba(37,99,235,0.35);
  background:linear-gradient(140deg,rgba(37,99,235,0.14),var(--card-bg)); }
.chain-sep { display:flex; align-items:center; color:var(--text-muted); flex-shrink:0; }
.chain-sep .ic { width:16px; height:16px; }
@media (max-width:720px) {
  .chain { flex-direction:column; align-items:stretch; }
  .chain-sep { justify-content:center; }
  .chain-sep .ic { transform:rotate(90deg); }
}

/* ── Vertikal flyt i to kolonner: I dag vs Med Insiqt ── */
.vs-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; }
@media (max-width:820px) { .vs-grid { grid-template-columns:1fr; } }
.vs-col { border:1px solid var(--border); border-radius:var(--radius); padding:28px 26px 26px;
  background:var(--card-bg); backdrop-filter:blur(8px); height:100%; }
.vs-col.good { border-color:rgba(37,99,235,0.3);
  background:linear-gradient(150deg,rgba(37,99,235,0.1),var(--card-bg) 55%); }
.vs-head { display:flex; align-items:center; justify-content:space-between; gap:12px;
  font-size:12px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase;
  color:var(--text-muted); margin-bottom:20px; }
.vs-col.good .vs-head { color:#60A5FA; }
.vs-step { font-size:15px; color:var(--text-secondary); padding:11px 0; }
.vs-col.good .vs-step { color:var(--text-primary); font-weight:500; }
.vs-arrow { color:var(--text-muted); height:14px; display:flex; align-items:center; }
.vs-arrow .ic { width:13px; height:13px; transform:rotate(90deg); }

/* ── Lønnsomhetskort ── */
.money-card { border:1px solid rgba(16,185,129,0.28); border-radius:var(--radius);
  background:linear-gradient(150deg,rgba(16,185,129,0.1),var(--card-bg) 60%);
  padding:40px; text-align:center; backdrop-filter:blur(8px); }
.money-val { font-size:clamp(38px,6vw,58px); font-weight:800; letter-spacing:-2px;
  color:#34D399; line-height:1; }
.money-lbl { font-size:15px; color:var(--text-secondary); margin-top:10px; }
.money-split { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border);
  border:1px solid var(--border); border-radius:var(--radius-sm); overflow:hidden; margin-top:32px; }
@media (max-width:640px) { .money-split { grid-template-columns:1fr; } }
.money-part { background:var(--card-bg); padding:22px 16px; }
.money-part-val { font-size:22px; font-weight:800; color:var(--text-primary); letter-spacing:-0.5px; }
.money-part-lbl { font-size:13px; color:var(--text-secondary); margin-top:4px; }

/* ── Insiqt Intelligence: oppdaget → forstått → anbefalt → verdi ── */
.intel-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
@media (max-width:980px) { .intel-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px) { .intel-grid { grid-template-columns:1fr; } }
.intel-step { background:var(--card-bg); border:1px solid var(--border);
  border-radius:var(--radius); padding:26px 24px; backdrop-filter:blur(8px); position:relative; }
.intel-step.value { border-color:rgba(16,185,129,0.3);
  background:linear-gradient(150deg,rgba(16,185,129,0.09),var(--card-bg) 60%); }
.intel-num { font-size:11px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase;
  color:var(--text-muted); margin-bottom:12px; }
.intel-step.value .intel-num { color:#34D399; }
.intel-text { font-size:15px; color:var(--text-primary); line-height:1.6; }
.intel-step.value .intel-text { font-size:19px; font-weight:800; color:#34D399; letter-spacing:-0.5px; }

/* ── Produktkategorier ── */
.cat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:980px) { .cat-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px) { .cat-grid { grid-template-columns:1fr; } }
.cat-card { background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius);
  padding:26px 24px; backdrop-filter:blur(8px); transition:border-color 250ms; }
.cat-card:hover { border-color:var(--border-hover); }
.cat-head { display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.cat-head .ic { width:18px; height:18px; color:#60A5FA; }
.cat-name { font-size:13px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase;
  color:var(--text-primary); }
.cat-list { list-style:none; display:flex; flex-direction:column; gap:9px; }
.cat-list li { display:flex; align-items:center; justify-content:space-between; gap:10px;
  font-size:14px; color:var(--text-secondary); }
.cat-mini { font-size:10px; font-weight:700; letter-spacing:0.5px; text-transform:uppercase;
  color:var(--text-muted); border:1px solid var(--border); border-radius:4px; padding:2px 6px;
  white-space:nowrap; flex-shrink:0; }

/* ── Bransjer ── */
.vert-list { display:flex; flex-direction:column; gap:1px; background:var(--border);
  border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; }
.vert-row { display:grid; grid-template-columns:56px 1fr auto; align-items:center; gap:22px;
  background:var(--card-bg); padding:26px 28px; transition:background 250ms; }
.vert-row:hover { background:var(--surface); }
.vert-row.lead { background:linear-gradient(120deg,rgba(37,99,235,0.12),var(--card-bg) 55%); }
.vert-num { font-size:22px; font-weight:800; color:var(--text-muted); letter-spacing:-0.5px; }
.vert-row.lead .vert-num { color:#60A5FA; }
.vert-name { font-size:17px; font-weight:700; color:var(--text-primary); letter-spacing:-0.2px; }
.vert-desc { font-size:14px; color:var(--text-secondary); margin-top:5px; }
@media (max-width:680px) {
  .vert-row { grid-template-columns:auto 1fr; gap:16px; row-gap:14px; padding:22px 20px; }
  .vert-row > :last-child { grid-column:1 / -1; }
}

/* Lange CTA-etiketter skal brekke i stedet for å sprenge viewporten på mobil */
.btn { max-width:100%; }
@media (max-width:560px) {
  .btn-lg { white-space:normal; text-align:center; line-height:1.35; }
}

/* Kjeder inne i kort har mindre plass — strammes inn så de ikke brekker
   og etterlater en løs pil på slutten av linja. */
.vs-col .chain { gap:6px; }
.vs-col .chain-node { font-size:12px; padding:9px 13px; }
.vs-col .chain-sep .ic { width:14px; height:14px; }

/* Tabeller i de juridiske sidene er bredere enn en mobilskjerm.
   De skal scrolle i sin egen boks, ikke dytte hele siden sidelengs. */
.legal-section table { width:100%; border-collapse:collapse; }
.legal-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; margin:16px 0; }
.legal-table-wrap table { min-width:520px; margin:0; }

/* Lange norske sammensatte ord (Personvernerklæring, Informasjonskapsler)
   må kunne brytes, ellers stikker overskriften ut av mobilskjermen. */
.page-header h1, .legal-section h2 { overflow-wrap:break-word; hyphens:auto; }
@media (max-width:420px) { .page-header h1 { font-size:30px; letter-spacing:-0.8px; } }
