/* EHR-5664 — moved out of landing/index.html so the CSP needs no 'unsafe-inline'. */
    /* Mirrors apps/web/src/features/landing/LandingPage.css verbatim,
       with Konkret brand swapped in for Konkret. Its own file since EHR-5664
       (the CSP allows no inline <style>). */
    .landing-root *,
    .landing-root *::before,
    .landing-root *::after { box-sizing: border-box; margin: 0; padding: 0; }

    html, body { margin: 0; padding: 0; }
    body { background: #f6f3ed; }

    .landing-root {
      --landing-bg: #f6f3ed;
      --landing-bg-alt: #ece6d8;
      --landing-surface: #fbf8f0;
      --landing-ink: #1a2230;
      --landing-ink-soft: #3c4658;
      --landing-muted: #6e7588;
      --landing-rule: #ddd5c2;
      --landing-accent: #1f3a5e;
      --landing-accent-soft: #3d5a82;
      --landing-accent-warm: #b85a3a;
      --landing-shadow: 0 1px 0 rgba(13, 27, 46, 0.04), 0 18px 50px -22px rgba(13, 27, 46, 0.16);
      --landing-radius-card: 18px;
      --landing-radius-pill: 999px;
      --landing-display: "Newsreader", "Iowan Old Style", Georgia, serif;
      --landing-body: "Geist", "Helvetica Neue", Arial, sans-serif;
      --landing-mono: "Geist Mono", ui-monospace, monospace;

      font-family: var(--landing-body);
      background: var(--landing-bg);
      color: var(--landing-ink-soft);
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
      font-feature-settings: "ss01", "cv11";
      min-height: 100vh;
    }
    .landing-root a { color: inherit; }

    .landing-skip-link {
      position: absolute; left: -9999px; top: 8px; z-index: 100;
      background: var(--landing-ink); color: #fff; padding: 10px 16px;
      border-radius: 8px; font-family: var(--landing-body); font-size: 13px; text-decoration: none;
    }
    .landing-skip-link:focus, .landing-skip-link:focus-visible {
      left: 12px; outline: 2px solid var(--landing-accent-warm); outline-offset: 2px;
    }

    .landing-display { font-family: var(--landing-display); font-weight: 400; letter-spacing: -0.025em; color: var(--landing-ink); line-height: 1.04; }
    .landing-display em { font-style: italic; color: var(--landing-accent-warm); font-family: "Newsreader", serif; font-weight: 400; }
    .landing-mono { font-family: var(--landing-mono); font-feature-settings: "ss01"; }

    .landing-container { max-width: 1440px; margin: 0 auto; padding: 0 32px; }

    /* ===== NAV ===== */
    .landing-nav {
      position: sticky; top: 0; z-index: 60;
      background: color-mix(in oklab, var(--landing-bg) 85%, transparent);
      backdrop-filter: blur(14px) saturate(1.05);
      border-bottom: 1px solid var(--landing-rule);
    }
    .landing-nav-row { display: flex; align-items: center; justify-content: space-between; padding: 20px 0; gap: 24px; }
    .landing-logo { display: inline-flex; align-items: center; gap: 14px; text-decoration: none; color: var(--landing-ink); }

    /* Konkret brand mark — horizontal lockup PNG served from
       /landing/konkret/. The 4.png variant is the horizontal navy-on-
       transparent lockup; 6.png is the same with a hair more whitespace
       for the footer. */
    .landing-logo img { display: block; height: 44px; width: auto; }
    .landing-foot-brand { display: inline-flex; align-items: center; gap: 14px; }
    .landing-foot-brand img { display: block; height: 56px; width: auto; }
    @media (max-width: 620px) {
      .landing-logo img { height: 36px; }
      .landing-foot-brand img { height: 48px; }
    }
    @media (max-width: 414px) {
      .landing-logo img { height: 32px; }
      .landing-foot-brand img { height: 40px; }
    }

    .landing-nav-links { display: flex; gap: 28px; font-size: 14px; color: var(--landing-ink-soft); }
    .landing-nav-links a { text-decoration: none; }
    .landing-nav-links a:hover { color: var(--landing-ink); }
    .landing-nav-actions { display: flex; align-items: center; gap: 10px; }
    .landing-btn { display: inline-flex; align-items: center; gap: 8px; padding: 11px 18px; font: inherit; font-size: 14px; font-weight: 500; text-decoration: none; cursor: pointer; border: 1px solid transparent; border-radius: var(--landing-radius-pill); transition: transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease; }
    .landing-root .landing-btn-primary { background: var(--landing-accent); color: var(--landing-surface); }
    .landing-root .landing-btn-primary:hover { transform: translateY(-1px); }
    .landing-root .landing-btn-ghost { background: transparent; color: var(--landing-ink); border-color: var(--landing-rule); }
    .landing-root .landing-btn-ghost:hover { border-color: var(--landing-ink); }
    /* CHOOSER BAND (EHR-3483) — the route into the profession pages that a phone
       visitor reaches without scrolling. EHR-3478 put this at 55% down the page,
       which on a phone is screen 5.9 of 10.6; the Facebook traffic this exists
       for is phone traffic, so it never got there. Plain anchors, no JS: it has
       to work in the Facebook in-app browser, it must not need script-src, and a
       crawler should see three real internal links. */
    .landing-chooser { background: var(--landing-bg-alt); border-bottom: 1px solid var(--landing-rule); padding: 56px 0; }
    .landing-chooser-head { max-width: 640px; margin-bottom: 30px; }
    .landing-chooser-head .landing-h2 { font-size: clamp(26px, 2.6vw, 38px); margin-bottom: 10px; max-width: 30ch; }
    .landing-chooser-head p { color: var(--landing-ink-soft); font-size: 16px; }
    .landing-chooser-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
    .landing-chooser-card { display: flex; flex-direction: column; gap: 9px; background: var(--landing-surface); border: 1px solid var(--landing-rule); border-radius: var(--landing-radius-card); padding: 24px; text-decoration: none; transition: border-color .15s ease, transform .15s ease; }
    .landing-chooser-card::before { content: ""; display: block; width: 30px; height: 2px; background: var(--landing-accent-warm); }
    .landing-chooser-card:hover { border-color: var(--landing-ink); transform: translateY(-2px); }
    .landing-chooser-title { font-family: var(--landing-display); font-size: 21px; letter-spacing: -0.02em; color: var(--landing-ink); line-height: 1.2; display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
    .landing-chooser-arrow { color: var(--landing-accent-warm); font-family: var(--landing-body); font-size: 17px; transition: transform .15s ease; }
    .landing-chooser-card:hover .landing-chooser-arrow { transform: translateX(3px); }
    .landing-chooser-desc { color: var(--landing-ink-soft); font-size: 14.5px; line-height: 1.5; }
    /* The considered, in-context route further down (#fyrir-hvern). Text links,
       not a second identical button pair. */
    .landing-prose-links a { color: var(--landing-accent); text-decoration: none; border-bottom: 1px solid color-mix(in oklab, var(--landing-accent) 35%, transparent); }
    .landing-prose-links .landing-sep { color: var(--landing-muted); padding: 0 10px; }

    /* ===== HERO ===== */
    .landing-hero { padding: 96px 0 48px; position: relative; overflow: hidden; background: var(--landing-bg); }
    .landing-kicker { display: inline-flex; align-items: center; gap: 10px; font-family: var(--landing-mono); font-size: 11px; font-weight: 500; color: var(--landing-accent-warm); text-transform: uppercase; letter-spacing: 0.18em; }
    .landing-kicker::before { content: ""; width: 22px; height: 1px; background: currentColor; }
    .landing-kicker--mb { margin-bottom: 16px; }
    .landing-kicker--warm { color: var(--landing-accent-warm); }

    .landing-hero h1 { font-size: clamp(48px, 6.6vw, 96px); line-height: 1.0; letter-spacing: -0.03em; max-width: 14ch; margin-top: 24px; margin-bottom: 28px; }
    .landing-hero-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 64px; align-items: center; }
    .landing-hero-text { display: flex; flex-direction: column; }
    .landing-hero p.landing-lede { font-size: clamp(18px, 1.6vw, 22px); max-width: 520px; color: var(--landing-ink-soft); margin-bottom: 28px; }
    .landing-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
    .landing-hero-actions .landing-btn { padding: 14px 22px; font-size: 15px; }
    .landing-hero-meta { display: flex; flex-wrap: wrap; gap: 18px 28px; font-size: 13px; color: var(--landing-muted); align-items: center; }
    .landing-hero-meta .landing-pip { width: 6px; height: 6px; border-radius: 50%; background: var(--landing-accent); display: inline-block; margin-right: 8px; vertical-align: middle; }

    /* ===== SECTIONS ===== */
    .landing-block { padding: 96px 0; }
    .landing-block.landing-tight { padding: 72px 0; }
    .landing-surface { background: var(--landing-bg-alt); }

    .landing-devices { padding: 18px 0; border-top: 1px solid var(--landing-rule); border-bottom: 1px solid var(--landing-rule); background: var(--landing-bg); }
    .landing-devices-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 18px; }
    .landing-devices-icons { display: inline-flex; align-items: center; gap: 10px; color: var(--landing-ink-soft); }
    .landing-devices-icons svg { display: block; }
    .landing-devices-text { margin: 0; font-size: 14px; color: var(--landing-ink-soft); letter-spacing: 0.01em; }
    .landing-devices-text em { color: var(--landing-accent, var(--landing-ink)); font-style: italic; font-weight: 500; }

    .landing-h2 { font-size: clamp(36px, 4.4vw, 60px); margin-bottom: 20px; max-width: 22ch; letter-spacing: -0.025em; }
    .landing-lede2 { font-size: 18px; color: var(--landing-ink-soft); max-width: 560px; margin-bottom: 0; }
    .landing-header-row { display: grid; grid-template-columns: 0.85fr 1fr; gap: 48px; align-items: end; margin-bottom: 56px; }
    .landing-header-row .landing-h2 { margin-bottom: 0; }

    /* ===== EIGINLEIKAR ===== */
    .landing-features {
      display: grid; grid-template-columns: repeat(3, 1fr);
      gap: 1px; background: var(--landing-rule); border: 1px solid var(--landing-rule); border-radius: var(--landing-radius-card); overflow: hidden;
    }
    .landing-feat-card { background: var(--landing-surface); padding: 32px; display: flex; flex-direction: column; gap: 14px; min-height: 240px; transition: background .2s ease; }
    .landing-feat-card:hover { background: var(--landing-bg-alt); }
    .landing-feat-num { font-family: var(--landing-mono); font-size: 11px; color: var(--landing-accent-warm); letter-spacing: 0.1em; }
    .landing-feat-title { font-family: var(--landing-display); font-weight: 500; letter-spacing: -0.02em; color: var(--landing-ink); font-size: 22px; line-height: 1.2; }
    /* 2026-05-19 — flagship SÍ title must stay on one line at every
       viewport. Shrink the font as the screen narrows so the wording
       fits without word-wrap. */
    .landing-feat-title--nowrap { white-space: nowrap; font-size: clamp(15px, 3.4vw, 28px); }
    .landing-feat-desc { color: var(--landing-ink-soft); font-size: 14.5px; line-height: 1.55; }
    .landing-feat-glyph { width: 36px; height: 36px; display: grid; place-items: center; color: var(--landing-accent); }

    .landing-feat-card--wide { grid-column: 1 / -1; }
    .landing-feat-card.landing-flagship { grid-column: span 3; min-height: auto; padding: 36px 40px; background: var(--landing-ink); color: var(--landing-bg); display: grid; grid-template-columns: 1fr 1.4fr; gap: 40px; align-items: center; }
    .landing-feat-card.landing-flagship:hover { background: var(--landing-ink); }
    .landing-feat-card.landing-flagship .landing-feat-num { color: var(--landing-accent-warm); opacity: 1; margin-top: 18px; }
    .landing-feat-card.landing-flagship .landing-feat-title { color: inherit; font-size: 28px; max-width: 14ch; }
    .landing-feat-card.landing-flagship p { color: inherit; opacity: 0.85; font-size: 15px; line-height: 1.55; margin-top: 10px; }
    .landing-si-pill { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; font-family: var(--landing-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; background: var(--landing-accent-warm); color: var(--landing-ink); width: fit-content; }
    .landing-si-points { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; }
    .landing-si-point { padding: 16px; background: rgba(255,255,255,0.06); border-radius: 12px; border-left: 2px solid var(--landing-accent-warm); }
    .landing-si-point-label { font-family: var(--landing-mono); font-size: 10.5px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--landing-accent-warm); margin-bottom: 6px; }
    .landing-si-point-text { font-size: 13.5px; opacity: 0.92; line-height: 1.45; }

    /* ===== STEPS ===== */
    .landing-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; counter-reset: step; }
    .landing-step {
      background: var(--landing-surface); border: 1px solid var(--landing-rule); border-radius: var(--landing-radius-card);
      padding: 28px; position: relative;
    }
    .landing-step-num { font-family: var(--landing-mono); font-size: 12px; color: var(--landing-accent-warm); margin-bottom: 18px; letter-spacing: 0.12em; display: flex; align-items: center; justify-content: space-between; }
    .landing-step-num::before { content: counter(step, decimal-leading-zero); counter-increment: step; }
    .landing-step-title { font-family: var(--landing-display); font-weight: 500; letter-spacing: -0.02em; color: var(--landing-ink); font-size: 19px; line-height: 1.25; margin-bottom: 8px; }
    .landing-step-desc { color: var(--landing-ink-soft); font-size: 14px; }

    /* ===== ÖRYGGI ===== */
    .landing-security-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: stretch; }
    .landing-check-list { display: flex; flex-direction: column; gap: 14px; }
    .landing-check {
      display: grid; grid-template-columns: 28px 1fr; gap: 16px; padding: 22px; background: var(--landing-surface);
      border: 1px solid var(--landing-rule); border-radius: var(--landing-radius-card); box-shadow: var(--landing-shadow);
    }
    .landing-check-mark { width: 24px; height: 24px; border-radius: 50%; background: var(--landing-accent-warm); color: var(--landing-surface); display: grid; place-items: center; margin-top: 2px; flex-shrink: 0; }
    .landing-check-title { color: var(--landing-ink); font-family: var(--landing-display); font-weight: 500; letter-spacing: -0.02em; font-size: 18px; margin-bottom: 4px; line-height: 1.25; }
    .landing-check-desc { color: var(--landing-ink-soft); font-size: 14.5px; }

    .landing-security-callout {
      background: #1a2230; color: var(--landing-bg); border-radius: var(--landing-radius-card);
      padding: 36px; display: flex; flex-direction: column; gap: 20px;
    }
    .landing-security-callout .landing-h3 { font-family: var(--landing-display); font-weight: 400; letter-spacing: -0.025em; color: inherit; font-size: 28px; line-height: 1.2; }
    .landing-security-callout p { opacity: 0.82; font-size: 15px; }
    .landing-security-callout ul { list-style: none; display: flex; flex-direction: column; gap: 10px; padding-top: 8px; border-top: 1px solid rgba(255,255,255,0.12); }
    .landing-security-callout li { display: grid; grid-template-columns: 20px 1fr; gap: 12px; align-items: start; font-size: 14px; opacity: 0.9; }
    .landing-security-callout li::before { content: "→"; font-family: var(--landing-mono); color: var(--landing-accent-soft); }
    .landing-stack-tags { display: flex; flex-wrap: wrap; gap: 8px; }
    .landing-stack-tag { font-family: var(--landing-mono); font-size: 11px; padding: 6px 10px; border-radius: 999px; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.12); letter-spacing: 0.06em; text-transform: uppercase; }

    /* ===== CTA ===== */
    .landing-cta-block {
      background: #1a2230; color: var(--landing-bg);
      border-radius: var(--landing-radius-card); padding: 56px 56px;
      display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 56px; align-items: center;
    }
    .landing-cta-block .landing-h2 { color: inherit; max-width: 18ch; }
    .landing-cta-block .landing-display em { color: #d6b69a; }
    .landing-cta-block .landing-lede2 { color: inherit; opacity: 0.78; margin-bottom: 24px; }
    .landing-cta-form { display: flex; flex-direction: column; gap: 14px; padding: 28px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); border-radius: var(--landing-radius-card); }
    .landing-cta-form label { font-family: var(--landing-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; opacity: 0.7; }
    .landing-cta-input {
      background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.16); border-radius: var(--landing-radius-pill);
      padding: 14px 20px; color: inherit; font-family: inherit; font-size: 15px; outline: none;
    }
    .landing-cta-input::placeholder { color: rgba(255,255,255,0.45); }
    .landing-cta-textarea { min-height: 84px; resize: vertical; font-family: inherit; line-height: 1.45; }
    .landing-cta-opt { opacity: 0.5; text-transform: none; letter-spacing: 0; font-size: 10px; }
    .landing-cta-submit { background: var(--landing-accent-warm); color: #fbf8f0; border: none; padding: 14px; font: inherit; font-weight: 500; cursor: pointer; border-radius: var(--landing-radius-pill); }
    .landing-cta-submit:hover { transform: translateY(-1px); }
    .landing-cta-submit:disabled { opacity: 0.6; cursor: default; }
    .landing-cta-note { font-family: var(--landing-mono); font-size: 11px; opacity: 0.6; letter-spacing: 0.06em; text-transform: uppercase; }
    .landing-cta-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
    .landing-cta-form label.landing-cta-consent { display: flex; align-items: flex-start; gap: 10px; font-family: var(--landing-body); font-size: 13px; line-height: 1.45; letter-spacing: 0; text-transform: none; opacity: 0.85; }
    .landing-cta-consent input { margin-top: 3px; flex-shrink: 0; }
    .landing-cta-meta { display: flex; gap: 32px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,0.12); margin-top: 18px; }
    .landing-cta-meta-item span { display: block; font-family: var(--landing-mono); font-size: 10px; opacity: 0.6; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 4px; }
    .landing-cta-meta-item strong { font-family: var(--landing-display); font-size: 17px; font-weight: 500; }

    /* ===== FOOTER ===== */
    .landing-footer { padding: 40px 0 48px; border-top: 1px solid var(--landing-rule); }
    .landing-foot { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 24px; }
    .landing-foot-brand { display: flex; align-items: center; gap: 16px; }
    /* footer logo sizing handled by the rule above; keep selector for legacy responsive overrides */
    .landing-foot-brand p { color: var(--landing-muted); font-size: 13px; max-width: 36ch; }
    .landing-foot-links { display: flex; flex-wrap: wrap; gap: 22px; list-style: none; font-size: 14px; }
    .landing-foot-links a { color: var(--landing-ink-soft); text-decoration: none; }
    .landing-foot-links a:hover { color: var(--landing-ink); }
    .landing-foot-copy { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--landing-rule); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 16px; color: var(--landing-muted); font-size: 12px; }
    .landing-foot-copy .landing-mono { font-family: var(--landing-mono); }

    @media (min-width: 1600px) {
      .landing-hero h1 { font-size: clamp(72px, 5.5vw, 112px); max-width: 16ch; }
      .landing-hero p.landing-lede { font-size: 22px; max-width: 620px; }
      .landing-h2 { font-size: clamp(48px, 3.6vw, 72px); }
    }
    @media (max-width: 980px) {
      .landing-hero-grid, .landing-security-grid, .landing-header-row, .landing-cta-block { grid-template-columns: 1fr; gap: 32px; }
      .landing-features, .landing-steps { grid-template-columns: repeat(2, 1fr); }
      .landing-cta-block { padding: 40px 28px; }
      /* EHR-3483 — stacked rows on a phone, which is where this band matters. */
      .landing-chooser-grid { grid-template-columns: 1fr; gap: 12px; }
      .landing-chooser { padding: 40px 0; }
      .landing-chooser-card { padding: 20px; }
    }
    @media (max-width: 880px) {
      .landing-feat-card.landing-flagship { grid-template-columns: 1fr; gap: 24px; padding: 28px; }
      .landing-si-points { grid-template-columns: 1fr; }
    }
    @media (max-width: 620px) {
      .landing-container { padding: 0 18px; }
      .landing-nav-links { display: none; }
      .landing-nav .landing-logo img { height: 44px; }
      /* 2026-05-19 — keep the filled primary CTA on mobile; just
         keep the label on one line so it doesn't wrap to two rows
         under the narrow viewport. */
      .landing-nav .landing-btn-primary {
        white-space: nowrap;
      }
      .landing-foot-brand img { height: 44px; }
      .landing-block { padding: 52px 0; }
      .landing-hero { padding: 48px 0; }
      .landing-features, .landing-steps { grid-template-columns: 1fr; }
      .landing-feat-card { padding: 22px; min-height: auto; gap: 10px; }
      .landing-feat-title { font-size: 19px; }
      .landing-feat-desc { font-size: 14px; }
      .landing-feat-card.landing-flagship { padding: 22px; gap: 18px; }
      .landing-feat-card.landing-flagship .landing-feat-title { font-size: 22px; max-width: none; }
      .landing-feat-card.landing-flagship p { font-size: 14px; }
      .landing-si-pill { font-size: 10px; padding: 5px 10px; }
      .landing-step { padding: 20px; }
      .landing-step-title { font-size: 17px; }
      .landing-step-desc { font-size: 13.5px; }
      .landing-h2 { font-size: clamp(28px, 8vw, 36px); margin-bottom: 14px; }
      .landing-lede2 { font-size: 16px; }
      .landing-header-row { gap: 20px; margin-bottom: 32px; }
    }
    @media (max-width: 414px) {
      .landing-container { padding: 0 14px; }
      .landing-nav .landing-logo img { height: 36px; }
      .landing-foot-brand img { height: 36px; }
      .landing-hero h1 { font-size: clamp(36px, 9vw, 48px); max-width: 100%; overflow-wrap: anywhere; }
      .landing-hero p.landing-lede { font-size: 16px; }
      .landing-kicker { font-size: 10px; letter-spacing: 0.14em; }
      .landing-feat-card { padding: 18px; }
      .landing-feat-title { font-size: 17px; overflow-wrap: anywhere; }
      .landing-feat-desc { font-size: 13.5px; }
      .landing-feat-card.landing-flagship { padding: 18px; }
      .landing-feat-card.landing-flagship .landing-feat-title { font-size: 19px; }
      .landing-feat-card.landing-flagship p { font-size: 13.5px; }
      .landing-si-pill { font-size: 9.5px; letter-spacing: 0.1em; white-space: nowrap; }
      .landing-si-point { padding: 14px; }
      .landing-si-point-text { font-size: 12.5px; }
      .landing-step { padding: 16px; }
      .landing-step-title { font-size: 16px; }
      .landing-step-desc { font-size: 13px; }
      .landing-h2 { font-size: clamp(24px, 9vw, 32px); }
      .landing-cta-block { padding: 28px 18px; }
      .landing-cta-meta { gap: 18px; }
      .landing-cta-meta-item strong { font-size: 15px; }
      .landing-foot-copy { font-size: 11px; }
    }
    .landing-root { overflow-x: hidden; }
    .landing-root .landing-features,
    .landing-root .landing-steps,
    .landing-root .landing-security-grid {
      max-width: 100%;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }

    /* ===== Konkret additions — calm voice / clinical tone ===== */
    /* Trust strip (replaces the device-icons row from the Konkret variant).
       Four short statements separated by a hairline middot, centred. */
    .landing-trust { padding: 18px 0; border-bottom: 1px solid var(--landing-rule); background: var(--landing-bg); }
    .landing-trust-row { list-style: none; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 32px; font-size: 16px; font-weight: 500; color: var(--landing-ink); letter-spacing: 0.01em; margin: 0; padding: 0; } 
    .landing-trust-row li { display: inline-flex; align-items: center; gap: 10px; }
    .landing-trust-row li::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--landing-accent-warm); flex-shrink: 0; }

    .landing-hero-screenshot {
      background: var(--landing-bg-alt);
      border: 1px solid var(--landing-rule);
      border-radius: 12px;
      aspect-ratio: 16 / 10;
      margin-bottom: 24px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--landing-muted);
      font-size: 14px;
      font-family: var(--landing-mono);
      text-transform: uppercase;
      letter-spacing: 0.1em;
      overflow: hidden;
    }
    .landing-hero-screenshot img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: top left;
      display: block;
    }
    /* Calm prose section ("how it feels" / "who it's for") — centred
       narrow column, larger leading, no card. The point is to read like
       a statement rather than a feature list. */
    .landing-prose { max-width: 720px; text-align: center; }
    .landing-prose .landing-kicker { justify-content: center; }
    .landing-prose .landing-h2 { margin-left: auto; margin-right: auto; max-width: 18ch; }
    .landing-prose-text { font-family: var(--landing-display); font-size: clamp(20px, 2vw, 26px); line-height: 1.45; color: var(--landing-ink); max-width: 56ch; margin: 28px auto 0; letter-spacing: -0.005em; }

    /* Feature grid modifiers — default is 3-up; allow 2-up and 4-up
       (used by the problem points and the four product features). */
    .landing-features--3 { grid-template-columns: repeat(3, 1fr); }
    .landing-features--2x2 { grid-template-columns: repeat(2, 1fr); }
    @media (max-width: 980px) {
      .landing-features--3, .landing-features--2x2 { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 620px) {
      .landing-features--3, .landing-features--2x2 { grid-template-columns: 1fr; }
    }

    /* Security check list — 2-up on desktop, calmer than the original
       2-column "check-list + dark callout" layout. */
    .landing-checks-2col { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
    @media (max-width: 720px) { .landing-checks-2col { grid-template-columns: 1fr; } }

    /* Sjúkratryggingar callout — stripped-down flagship card. Same dark
       surface as the Konkret version but single column, no 3-up sub-grid.
       Sits under the 6 feature cards inside the .landing-features grid. */
    .landing-flagship-simple {
      grid-column: 1 / -1;
      background: var(--landing-ink); color: var(--landing-bg);
      padding: 28px 32px; display: flex; flex-direction: column; gap: 12px;
      min-height: auto;
    }
    .landing-flagship-simple:hover { background: var(--landing-ink); }
    .landing-flagship-simple .landing-si-pill { background: var(--landing-accent-warm); color: var(--landing-ink); }
    .landing-flagship-simple .landing-feat-title { color: inherit; font-size: 26px; max-width: 18ch; }
    .landing-flagship-simple p { color: inherit; opacity: 0.85; font-size: 15px; line-height: 1.55; max-width: 68ch; }
    @media (max-width: 620px) {
      .landing-flagship-simple { padding: 22px; }
      .landing-flagship-simple .landing-feat-title { font-size: 21px; }
    }

    /* WHY-NOW + STOFNANDI (samræmt við /salfraedingar) */
    .landing-why { display: grid; grid-template-columns: 1.1fr 1fr; gap: 40px; align-items: center; }
    .landing-why-card { background: var(--landing-ink); color: var(--landing-bg); border-radius: var(--landing-radius-card); padding: 32px 36px; }
    .landing-why-card .landing-big { font-family: var(--landing-display); color: #fff; font-size: clamp(30px, 3.4vw, 46px); line-height: 1.06; letter-spacing: -0.02em; }
    .landing-why-card .landing-big em { color: #d6b69a; font-style: italic; }
    .landing-why-text p { font-size: 16.5px; color: var(--landing-ink-soft); margin-bottom: 14px; }
    .landing-inline-link { color: var(--landing-accent); border-bottom: 1px solid color-mix(in oklab, var(--landing-accent) 35%, transparent); text-decoration: none; }
    .landing-header-row { display: grid; grid-template-columns: 0.9fr 1fr; gap: 40px; align-items: end; margin-bottom: 8px; }
    .landing-header-row .landing-h2 { margin-bottom: 0; }
    .landing-lede2 { font-size: 17px; color: var(--landing-ink-soft); max-width: 620px; }
    .landing-lang { font-size: 13px; font-weight: 500; letter-spacing: .02em; color: var(--landing-ink-soft); text-decoration: none; padding: 6px 8px; border-radius: 8px; }
    .landing-lang:hover { color: var(--landing-ink); background: var(--landing-bg-alt); }
    .landing-founder { display: grid; grid-template-columns: 220px 1fr; gap: 44px; align-items: start; }
    .landing-founder-photo { width: 220px; height: 220px; object-fit: cover; border-radius: var(--landing-radius-card); display: block; background: var(--landing-rule); }
    .landing-founder p { font-size: 16.5px; color: var(--landing-ink-soft); max-width: 58ch; }
    @media (max-width: 900px) {
      .landing-why, .landing-header-row, .landing-founder { grid-template-columns: 1fr; gap: 26px; }
    }

    /* Compliance strip — single calm line under the security checks.
       Replaces the busy "FHIR R4 dark callout + 5 tags" of the Konkret
       page with a one-sentence statement and a quiet middot list. */
    .landing-compliance { margin-top: 28px; padding: 20px 24px; background: var(--landing-surface); border: 1px solid var(--landing-rule); border-radius: var(--landing-radius-card); text-align: center; font-size: 14.5px; color: var(--landing-ink-soft); line-height: 1.55; }
    .landing-compliance strong { color: var(--landing-ink); font-weight: 500; }
    .landing-compliance-tags { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 22px; margin: 12px 0 0; padding: 0; font-family: var(--landing-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--landing-muted); }
    .landing-compliance-tags li { display: inline-flex; align-items: center; }
    .landing-compliance-tags li + li::before { content: "·"; margin-right: 22px; opacity: 0.55; }
  
