/* ═══════════════════════════════════════════════════════════
   mp-home.css: the homepage (views/home/index.jinja), on top of mp-dark.css.
   Redesign 2026-10-22: hero text bottom-left with the big logo centre-right,
   stats pulse, product rows whose drawers open with the scroll (GSAP), belt,
   customer voices, "Af hverju" pulse, Gervigreind console, contact.
   One purple current drifts behind every section. Classes use the hm- prefix.
═══════════════════════════════════════════════════════════ */

:root {
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  --solid-card: #1B1D27;
  --drawer: #181A23;
}

/* The Funnel fonts (@font-face, --font-display, --font-body, body and heading defaults)
   live in mp-dark.css; this file only sets the homepage-specific heading weights at the end. */

/* the drawers tuck under their cards with a negative margin; never let that scroll sideways */
body { overflow-x: clip; }
::selection { background: rgba(215,148,230,.35); color: #fff; }

/* ── Background current ───────────────────────────────────── */
.hm-flow { position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.hm-flow__blob { position: absolute; width: 75vmax; height: 75vmax; border-radius: 50%; will-change: transform; }
.hm-flow__a { left: 20vw; top: -30vmax; background: radial-gradient(closest-side, rgba(131,55,148,.30), rgba(131,55,148,0)); }
.hm-flow__b { left: -35vmax; top: 30vh; background: radial-gradient(closest-side, rgba(215,148,230,.10), rgba(215,148,230,0)); }
.hm-flow__c { right: -30vmax; top: 60vh; background: radial-gradient(closest-side, rgba(40,199,111,.05), rgba(40,199,111,0)); }
@media (prefers-reduced-motion: no-preference) {
  .hm-flow__a { animation: hm-drift 38s var(--ease-in-out) infinite alternate; }
  .hm-flow__b { animation: hm-drift 46s var(--ease-in-out) infinite alternate-reverse; }
}
@keyframes hm-drift { to { translate: 6vw 4vh; } }
.mp-features, .mp-belt, .mp-contact { background: transparent; }

/* ── Shared ───────────────────────────────────────────────── */
.hm-h2 { font-size: var(--fs-h2); font-weight: 800; letter-spacing: -.03em; line-height: 1.08; color: var(--text-strong); text-wrap: balance; }
.hm-lede { font-size: var(--fs-lede-lg); line-height: 1.55; color: var(--text-85); max-width: 56ch; }
/* one purple phrase per heading, only where it carries the point */
.mp-belt h2 em, .hm-why h2 em, .mp-contact h2 em { font-style: normal; color: var(--primary-lighter); }
.hm-wires { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 0; }
.hm-wires .hm-wire { fill: none; stroke: rgba(255,255,255,.16); stroke-width: 1.5; stroke-dasharray: 3 6; }
.mp-btn { transition: background .18s, border-color .18s, color .18s, transform 160ms var(--ease-out); }
.mp-btn:active { transform: scale(.97); }

/* ── 1. Hero ──────────────────────────────────────────────── */
.hm-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 58fr) minmax(0, 42fr);   /* room for the h1 in three lines */
  align-items: center;
  gap: 32px;
  /* content-led height, capped, so there is no empty band above the h1 on tall screens */
  min-height: min(calc(100svh - var(--header-h)), 700px);
  max-width: var(--container);   /* same edge as the header logo */
  margin: 0 auto;
  padding: 48px var(--gutter) 72px;
}
.hm-hero__text { position: relative; z-index: 1; }
.hm-hero__h1 { font-size: clamp(30px, 4.5vw, 66px); font-weight: 800; letter-spacing: -.035em; line-height: 1.02; color: var(--text-strong); text-wrap: balance; margin-bottom: 24px; }
.hm-hero__h1 em { font-style: normal; color: var(--primary-lighter); }
.hm-hero__lede { font-size: var(--fs-lede-lg); line-height: 1.55; color: var(--text-85); max-width: 46ch; margin-bottom: 36px; }
.hm-hero__buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.hm-hero__art { align-self: center; justify-self: center; width: 100%; max-width: 860px; }
.hm-logo { display: block; width: 100%; height: auto; overflow: visible; }
.hm-logo .hm-line { fill: none; stroke: #fff; stroke-width: 11; stroke-linejoin: round; stroke-linecap: round; }
.hm-logo .hm-lockglow .hm-line { stroke-width: 22; }
.hm-logo--intro .hm-d1, .hm-logo--intro .hm-d2 { opacity: 0; }
@media (max-width: 1023px) {
  .hm-hero { grid-template-columns: 1fr; min-height: 0; padding-top: 24px; }
  .hm-hero__art { order: -1; max-width: 560px; }
}

/* ── 2. Stats ─────────────────────────────────────────────── */
.hm-stats { position: relative; padding: 48px var(--gutter); }
.hm-stats__grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; max-width: var(--container); margin: 0 auto; text-align: center; }
.hm-stat__value { font-size: 56px; font-weight: 800; letter-spacing: -.035em; line-height: 1; color: var(--text-strong); font-variant-numeric: tabular-nums; margin-bottom: 10px; transition: opacity .4s; }
.hm-stat__label { font-size: 15px; color: rgba(255,255,255,.75); }
.hm-stat__value.is-waiting { opacity: 0; }
.hm-stat__value.is-hit { animation: hm-hit 1.4s var(--ease-out); }
@keyframes hm-hit { 0% { color: var(--primary-lighter); text-shadow: 0 0 24px rgba(215,148,230,.9); } 100% { color: #fff; text-shadow: 0 0 0 rgba(215,148,230,0); } }
@media (max-width: 1023px) { .hm-stats__grid { grid-template-columns: repeat(2, 1fr); row-gap: 40px; } .hm-stat__value { font-size: 44px; } }

/* ── 3. Products: rows with drawers ───────────────────────── */
.hm-products { padding: var(--section-pad-lg) var(--gutter) 40px; }
.hm-products__head { max-width: var(--container); margin: 0 auto 64px; }
.hm-products__head .hm-h2 { margin-bottom: 16px; }
.hm-row { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); max-width: var(--container); margin: 0 auto 64px; min-height: 400px; }
.hm-row--flip { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.hm-row--flip .hm-card { order: 2; }
.hm-card {
  position: relative; z-index: 2;
  display: flex; flex-direction: column; justify-content: flex-end; gap: 14px;
  padding: 40px;
  border-radius: var(--r-glass);
  background: var(--solid-card);
  border: 1px solid var(--border-strong);
  transition: border-color .4s var(--ease-out);
}
.hm-row.is-open .hm-card { border-color: rgba(215,148,230,.45); }
.hm-card h3 { font-size: var(--fs-h3); font-weight: 800; letter-spacing: -.02em; color: #fff; }
.hm-card__q { font-size: 18px; font-weight: 600; color: var(--primary-lighter); line-height: 1.4; }
.hm-card p { font-size: 16px; line-height: 1.6; color: var(--text); }
.hm-card__more { margin-top: 8px; font-size: 15px; font-weight: 600; color: #fff; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: rgba(215,148,230,.6); }
.hm-drawer {
  position: relative; z-index: 1;
  margin-left: -18px;
  border-radius: 0 var(--r-glass) var(--r-glass) 0;
  background: linear-gradient(90deg, rgba(131,55,148,.16), rgba(255,255,255,.025) 60%), var(--drawer);
  border: 1px solid var(--border);
  border-left: 0;
  overflow: hidden;
}
.hm-row--flip .hm-drawer { margin-left: 0; margin-right: -18px; border-radius: var(--r-glass) 0 0 var(--r-glass); border-left: 1px solid var(--border); border-right: 0;
  background: linear-gradient(270deg, rgba(131,55,148,.16), rgba(255,255,255,.025) 60%), var(--drawer); }
.hm-drawer__inner { height: 100%; display: flex; flex-direction: column; justify-content: center; gap: 28px; padding: 36px 40px 36px 58px; }
.hm-row--flip .hm-drawer__inner { padding: 36px 58px 36px 40px; }
.hm-drawer__text { font-size: 17px; line-height: 1.6; color: var(--text-85); max-width: 56ch; }
@media (max-width: 1023px) {
  .hm-row, .hm-row--flip { grid-template-columns: 1fr; min-height: 0; margin-bottom: 40px; }
  .hm-row--flip .hm-card { order: 0; }
  .hm-card { padding: 28px; }
  .hm-drawer, .hm-row--flip .hm-drawer { margin: -16px 0 0; border: 1px solid var(--border); border-top: 0; border-radius: 0 0 var(--r-glass) var(--r-glass); }
  .hm-drawer__inner, .hm-row--flip .hm-drawer__inner { padding: 36px 22px 26px; }
}

/* diagrams inside drawers */
.hm-diagram { position: relative; }
.hm-tile { width: 56px; height: 56px; border-radius: var(--r-tile); background: #fff; display: grid; place-items: center; transition: box-shadow .5s var(--ease-out), transform .5s var(--ease-out); }
.hm-tile img { width: 34px; height: 34px; object-fit: contain; }
.hm-tile.is-hit { box-shadow: 0 0 0 3px rgba(215,148,230,.55), 0 6px 28px rgba(215,148,230,.45); transform: scale(1.04); transition-duration: .12s; }
.hm-node { display: grid; justify-items: center; gap: 8px; text-align: center; }
.hm-node__mark { width: 72px; height: 72px; border-radius: 18px; background: #0F1016; border: 1px solid rgba(215,148,230,.4); display: grid; place-items: center; transition: box-shadow .5s var(--ease-out); }
.hm-node__mark svg { width: 48px; }
.hm-node__mark.is-hit { box-shadow: 0 0 0 3px rgba(215,148,230,.5), 0 0 36px rgba(131,55,148,.8); transition-duration: .12s; }
.hm-cap { font-size: 14px; font-weight: 700; color: #fff; }
.hm-sub { font-size: 13px; color: var(--text-62); }
.hm-flowd { display: grid; grid-template-columns: auto minmax(40px, 1fr) auto minmax(40px, 1fr) auto; align-items: center; gap: 0 8px; }
.hm-flowd__col { display: grid; justify-items: center; gap: 10px; text-align: center; position: relative; z-index: 1; }
.hm-flowd__tiles { display: grid; gap: 12px; }
.hm-flowd__verb { align-self: start; text-align: center; font-size: 13px; font-weight: 600; color: var(--primary-light); padding-top: 6px; }
.hm-flowd .hm-node { position: relative; z-index: 1; }
.hm-sync { display: grid; grid-template-columns: auto minmax(28px, .7fr) auto minmax(28px, .7fr) minmax(150px, 1.6fr); align-items: center; gap: 0 8px; }
.hm-sync__src-item span { min-width: 0; }
@media (max-width: 1279px) { .hm-sync > .hm-flowd__verb { visibility: hidden; } }
.hm-sync__src { display: grid; gap: 14px; position: relative; z-index: 1; }
.hm-sync__src-item { display: flex; align-items: center; gap: 12px; font-size: 14px; font-weight: 600; color: #fff; }
.hm-sync__dst { display: grid; gap: 10px; position: relative; z-index: 1; justify-items: start; }
.hm-docs { list-style: none; display: grid; gap: 6px; width: 100%; }
.hm-doc { font-size: 13px; color: var(--text-85); padding: 8px 12px; border-radius: 8px; background: rgba(255,255,255,.05); border: 1px solid var(--border); transition: background .6s var(--ease-out), border-color .6s var(--ease-out); }
.hm-doc.is-new { background: rgba(131,55,148,.35); border-color: rgba(215,148,230,.6); transition-duration: .1s; }
.hm-access { display: grid; gap: 34px; justify-items: center; }
.hm-access__consumers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; width: 100%; position: relative; z-index: 1; }
.hm-chip { font-size: 13px; font-weight: 600; text-align: center; color: #fff; padding: 10px 8px; border-radius: 10px; background: rgba(255,255,255,.06); border: 1px solid var(--border); transition: box-shadow .5s var(--ease-out); }
.hm-chip--ai { border-color: rgba(215,148,230,.5); }
.hm-chip.is-hit { box-shadow: 0 0 0 2px rgba(215,148,230,.6), 0 0 24px rgba(131,55,148,.7); transition-duration: .1s; }
.hm-layer { position: relative; z-index: 1; width: 100%; padding: 14px 18px; border-radius: 12px; text-align: center; background: rgba(255,255,255,.04); border: 1px solid var(--border); }
.hm-layer--gate { background: rgba(131,55,148,.22); border-color: rgba(215,148,230,.45); transition: box-shadow .4s var(--ease-out); }
.hm-layer--gate.is-deny { box-shadow: 0 0 0 2px rgba(255,255,255,.5); transition-duration: .08s; }
.hm-layer__title { font-size: 15px; font-weight: 700; color: #fff; }
.hm-layer__sub { font-size: 13px; color: var(--text-70); margin-top: 2px; }
.hm-deny { position: absolute; right: 14px; top: 50%; translate: 0 -50%; font-size: 13px; font-weight: 700; color: #fff; padding: 3px 9px; border-radius: 99px; background: rgba(0,0,0,.45); opacity: 0; transition: opacity .3s; }
.hm-layer--gate.is-deny .hm-deny { opacity: 1; transition-duration: .05s; }
@media (max-width: 767px) {
  .hm-flowd { grid-template-columns: 1fr; gap: 34px; justify-items: center; }
  .hm-flowd__tiles { grid-auto-flow: column; }
  .hm-flowd__verb { display: none; }
  .hm-sync { grid-template-columns: 1fr; gap: 34px; justify-items: center; }
  .hm-sync > .hm-flowd__verb { display: none; }
  .hm-sync__src { grid-auto-flow: column; gap: 10px; }
  .hm-sync__src-item span { display: none; }
  .hm-access__consumers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ── 4. Belt (mp-dark.css) ───────────────────────────────── */
.mp-belt { padding-top: 80px; }

/* ── 5. Af hverju: pulse through the gaps ─────────────────── */
.hm-why .mp-features__grid { position: relative; }
.hm-why .mp-feature-card { position: relative; z-index: 1; transition: opacity .7s var(--ease-out), border-color .7s var(--ease-out), background .7s var(--ease-out), translate .7s var(--ease-out); }
.hm-why .mp-feature-card.is-dim { opacity: .28; translate: 0 10px; }
.hm-why .mp-feature-card.is-lit { border-color: rgba(215,148,230,.5); background: rgba(131,55,148,.09); }
.hm-why h2 { text-wrap: balance; }

/* ── 6. Gervigreind ───────────────────────────────────────── */
.hm-ai { position: relative; padding: var(--section-pad-lg) var(--gutter); isolation: isolate; }
.hm-ai::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(50% 45% at 72% 42%, rgba(131,55,148,.42), rgba(131,55,148,0) 70%),
    radial-gradient(40% 35% at 20% 80%, rgba(215,148,230,.12), rgba(215,148,230,0) 70%); }
.hm-ai__h2 { max-width: var(--container); margin: 0 auto 48px; font-size: clamp(36px, 5.2vw, 76px); font-weight: 800; letter-spacing: -.04em; line-height: 1.02; color: #fff; text-wrap: balance; }
.hm-ai__top { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 56px; align-items: start; max-width: var(--container); margin: 0 auto; }
.hm-ai__h2 em { font-style: normal; color: var(--primary-lighter); }
.hm-ai .hm-lede { margin-bottom: 32px; }
.hm-console { position: relative; border-radius: 18px; background: rgba(13,14,20,.88); border: 1px solid rgba(215,148,230,.28); box-shadow: 0 30px 80px rgba(0,0,0,.45); overflow: hidden; }
.hm-console__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--border); }
.hm-console__title { font-size: 14px; font-weight: 700; color: #fff; }
.hm-badge { font-size: 13px; font-weight: 700; color: var(--primary-lighter); padding: 3px 10px; border-radius: 99px; background: rgba(131,55,148,.3); }
.hm-console__body { position: relative; padding: 20px 18px 18px; }
.hm-console__sources { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 30px; }
.hm-src { display: flex; align-items: center; gap: 10px; }
.hm-src .hm-tile { width: 44px; height: 44px; border-radius: 10px; }
.hm-src .hm-tile img { width: 26px; height: 26px; }
.hm-src__name { font-size: 13px; font-weight: 600; color: #fff; }
.hm-src__state { font-size: 13px; color: var(--success-light); }
.hm-src__state--locked { color: var(--text-55); }
.hm-mcp { position: relative; z-index: 1; display: flex; align-items: center; gap: 8px; width: max-content; margin: 0 auto 26px; padding: 8px 14px; border-radius: 99px; background: #0F1016; border: 1px solid rgba(215,148,230,.45); font-size: 13px; font-weight: 700; color: #fff; transition: box-shadow .5s var(--ease-out); }
.hm-mcp svg { width: 22px; }
.hm-mcp.is-hit { box-shadow: 0 0 0 3px rgba(215,148,230,.45), 0 0 30px rgba(131,55,148,.8); transition-duration: .1s; }
.hm-mcp.is-deny { box-shadow: 0 0 0 2px rgba(255,255,255,.6); transition-duration: .08s; }
.hm-log { position: relative; z-index: 1; display: grid; gap: 10px; min-height: 280px; align-content: start; }
.hm-msg { max-width: 88%; font-size: 15px; line-height: 1.55; padding: 12px 14px; border-radius: 14px; }
.hm-msg--q { justify-self: end; background: var(--primary); color: #fff; border-bottom-right-radius: 4px; }
.hm-msg--a { justify-self: start; background: rgba(255,255,255,.06); color: var(--text-85); border-bottom-left-radius: 4px; }
.hm-tool { justify-self: start; font-size: 13px; color: var(--text-70); display: flex; gap: 8px; align-items: baseline; }
.hm-tool b { color: #fff; font-weight: 600; }
.hm-tool__ok { color: var(--success-light); font-weight: 700; }
.hm-tool__no { color: var(--primary-lighter); font-weight: 700; }
.hm-bars { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; align-items: end; height: 92px; margin-top: 12px; }
.hm-bars div { position: relative; background: rgba(215,148,230,.35); border-radius: 4px 4px 0 0; transform-origin: bottom; }
.hm-bars div.is-top { background: var(--primary-light); }
.hm-bars span { position: absolute; bottom: -20px; left: 0; right: 0; text-align: center; font-size: 13px; color: var(--text-62); }
.hm-bars-wrap { padding-bottom: 20px; }
.hm-asks { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 8px; padding: 14px 18px 18px; border-top: 1px solid var(--border); }
.hm-ask { font: inherit; font-size: 13px; font-weight: 600; color: #fff; padding: 9px 14px; border-radius: 99px; border: 1px solid rgba(215,148,230,.4); background: rgba(131,55,148,.14); cursor: pointer; transition: background .18s, border-color .18s, transform 160ms var(--ease-out); }
.hm-ask:active { transform: scale(.97); }
.hm-ask[aria-pressed="true"] { background: var(--primary); border-color: var(--primary); }
.hm-ask:disabled { cursor: default; opacity: .55; }
.hm-ask:focus-visible, .hm-voices__tab:focus-visible { outline: 2px solid var(--primary-light); outline-offset: 2px; }
@media (hover: hover) and (pointer: fine) { .hm-ask:not(:disabled):hover { background: rgba(131,55,148,.32); } }
.hm-steps { position: relative; display: flex; gap: 6px; max-width: var(--container); margin: 80px auto 0; }
.hm-step { flex: 1 1 0; min-width: 0; padding: 30px 28px 32px; background: rgba(255,255,255,.035); transition: background .8s var(--ease-out); }
.hm-step:first-child { border-radius: 14px 0 0 14px; }
.hm-step:last-child { border-radius: 0 14px 14px 0; flex-grow: 1.35; }
.hm-step.is-lit { background: rgba(131,55,148,.2); }
.hm-step:last-child.is-lit { background: rgba(131,55,148,.38); }
.hm-step h3 { font-size: 22px; font-weight: 800; color: #fff; margin-bottom: 10px; }
.hm-step p { font-size: 16px; line-height: 1.6; color: var(--text-85); }
.hm-ai__cta { display: flex; gap: 12px; flex-wrap: wrap; }
@media (max-width: 1023px) {
  .hm-ai__top { grid-template-columns: 1fr; gap: 40px; }
  .hm-steps { flex-direction: column; }
  .hm-step:first-child { border-radius: 14px 14px 0 0; }
  .hm-step:last-child { border-radius: 0 0 14px 14px; }
}
@media (max-width: 480px) { .hm-console__sources { flex-direction: column; align-items: flex-start; } .hm-msg { max-width: 100%; } }

/* ── 4b. Reynsla viðskiptavina: one voice at a time, set large ── */
.hm-voices { padding: var(--section-pad) var(--gutter); }
.hm-voices__head { max-width: var(--container); margin: 0 auto 40px; }
/* All voices share one grid cell, so the stage is always as tall as the longest
   quote and nothing below it moves when they cross-fade. */
.hm-voices__stage { display: grid; max-width: var(--container); margin: 0 auto; }
.hm-voice { grid-area: 1 / 1; display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); gap: 48px; align-items: start;
  opacity: 0; visibility: hidden; translate: 0 8px;
  transition: opacity .35s var(--ease-out), translate .35s var(--ease-out), visibility 0s linear .35s; }
.hm-voice.is-active { opacity: 1; visibility: visible; translate: 0 0; transition-delay: .12s, .12s, 0s; }
.hm-voices__logo { display: grid; place-items: center; height: 80px; max-width: 220px; border-radius: var(--r-card); background: #fff; margin-bottom: 18px; }
.hm-voices__logo img { max-height: 34px; max-width: 70%; object-fit: contain; }
.hm-voices__name { font-size: 16px; font-weight: 700; color: #fff; }
.hm-voices__role { font-size: 14px; color: var(--text-70); margin-top: 3px; }
.hm-voices__open { font-size: clamp(21px, 2vw, 28px); font-weight: 700; line-height: 1.3; letter-spacing: -.015em; color: #fff; text-wrap: balance; margin-bottom: 16px; }
.hm-voices__rest { font-size: 17px; line-height: 1.65; color: var(--text-85); max-width: 64ch; }
.hm-voices__tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; max-width: var(--container); margin: 40px auto 0; }
.hm-voices__tab { position: relative; overflow: hidden; display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-radius: 12px; border: 1px solid var(--border); background: rgba(255,255,255,.03); cursor: pointer; font: inherit; font-size: 15px; font-weight: 600; color: var(--text-70); text-align: left; transition: border-color .2s, background .2s, color .2s, transform 160ms var(--ease-out); }
.hm-voices__tab:active { transform: scale(.98); }
.hm-voices__tab img { flex: none; height: 26px; width: 76px; object-fit: contain; background: #fff; border-radius: 6px; padding: 4px 8px; }
.hm-voices__tab[aria-pressed="true"] { border-color: rgba(215,148,230,.5); background: rgba(131,55,148,.16); color: #fff; }
.hm-voices__bar { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(215,148,230,.12); opacity: 0; }
.hm-voices__tab[aria-pressed="true"] .hm-voices__bar { opacity: 1; }
.hm-voices__fill { position: absolute; inset: 0; transform-origin: left; transform: scaleX(0); background: linear-gradient(90deg, rgba(131,55,148,.6), #B45CC8 85%, #F6E6FA); }
@media (max-width: 1023px) { .hm-voice { grid-template-columns: 1fr; gap: 24px; } .hm-voices__logo { height: 68px; max-width: 200px; } }
@media (prefers-reduced-motion: reduce) { .hm-voice, .hm-voice.is-active { transition: none; translate: 0 0; } }
@media (max-width: 767px) { .hm-voices__tab span { display: none; } .hm-voices__tab { justify-content: center; padding: 12px; } .hm-voices__tab img { width: 100%; } }

/* prototype note on the form */
.hm-sent { margin-top: 12px; font-size: 14px; color: var(--success-light); }


/* mini logo inside diagram nodes */
.hm-mini { fill: none; stroke: #fff; stroke-width: 16; stroke-linejoin: round; }

/* ── Heading font (keep last: overrides the weights and tracking set above) ── */
.hm-hero__h1, .hm-h2, .hm-ai__h2, .mp-belt h2, .mp-features h2, .mp-contact h2 {
  font-family: var(--font-display);
  font-weight: 800;
  letter-spacing: -.03em;
  font-size-adjust: none;   /* headings keep their exact sizes */
}
.hm-card h3, .hm-step h3, .hm-voices__open, .hm-stat__value, .mp-form-card h3, .mp-feature-card h3 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size-adjust: none;
}
