/* ============================================================
   GTM section design variants — gallery + variant styles.
   Builds on abmp3.css + scroll.css + gtm-sections.css tokens.
   Prefix: .gv-*
   ============================================================ */

/* ---------- gallery shell ---------- */
.gv-body { background: var(--abm-paper-2); margin: 0; }
.gv-top {
  position: sticky; top: 0; z-index: 50;
  background: var(--abm-ink); color: #F4F1EA;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  padding: 16px 40px; border-bottom: 1px solid rgba(255,255,255,0.1);
}
.gv-top-l { display: flex; align-items: baseline; gap: 14px; }
.gv-top-title { font-family: var(--abm-display); font-size: 19px; font-weight: 600; letter-spacing: -0.02em; color: #fff; }
.gv-top-sub { font-family: var(--abm-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(244,241,234,0.5); }
.gv-nav { display: flex; gap: 6px; }
.gv-nav a {
  font-family: var(--abm-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: rgba(244,241,234,0.62); text-decoration: none; padding: 7px 12px; border: 1px solid rgba(255,255,255,0.12);
  transition: background .15s, color .15s, border-color .15s;
}
.gv-nav a:hover { color: #fff; border-color: var(--abm-ember); background: rgba(0,109,78,0.3); }

/* section group */
.gv-group { padding: 0 0 24px; }
.gv-group-head {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap;
  max-width: 1320px; margin: 0 auto; padding: 64px 40px 8px;
}
.gv-group-no { font-family: var(--abm-mono); font-size: 13px; font-weight: 600; letter-spacing: 0.12em; color: var(--abm-ember); }
.gv-group-title { font-family: var(--abm-display); font-size: 30px; font-weight: 600; letter-spacing: -0.02em; color: var(--abm-ink); margin: 6px 0 0; }
.gv-group-note { font-size: 14px; color: var(--abm-muted); max-width: 46ch; line-height: 1.5; }

/* one variant frame */
.gv-frame { max-width: 1320px; margin: 0 auto; padding: 22px 40px 0; }
.gv-frame-bar {
  display: flex; align-items: center; gap: 14px; margin-bottom: 10px;
}
.gv-badge {
  font-family: var(--abm-mono); font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  color: #fff; background: var(--abm-ink); padding: 6px 11px;
}
.gv-frame-desc { font-size: 13.5px; color: var(--abm-muted); font-weight: 500; letter-spacing: -0.005em; }
.gv-stage {
  background: var(--abm-paper); border: 1px solid var(--abm-line);
  box-shadow: 0 1px 0 rgba(7,19,29,0.04);
  overflow: hidden;
}
.gv-stage--dark { background: var(--abm-navy); }
.gv-pad { padding: 64px 56px; }
.gv-pad-lg { padding: 72px 56px; }
@media (max-width: 860px) {
  .gv-top { padding: 12px 20px; flex-wrap: wrap; }
  .gv-nav { display: none; }
  .gv-group-head, .gv-frame { padding-left: 20px; padding-right: 20px; }
  .gv-pad, .gv-pad-lg { padding: 40px 24px; }
}

/* shared kicker (local copy so gallery is standalone) */
.gv-kick { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.gv-kick .bar { width: 24px; height: 1px; background: var(--abm-ember); }

/* ============================================================
   SECTION 1 · THE PROBLEM
   ============================================================ */
/* shared headline helper: year emphasis */
.gv-yr { color: var(--abm-ember); font-style: italic; font-family: var(--abm-serif); font-weight: 400; }

/* --- 1A · three-era timeline --- */
.gv1a-h { font-family: var(--abm-display); font-size: clamp(30px,3.6vw,46px); font-weight: 500; letter-spacing: -0.025em; line-height: 1.04; margin: 0; max-width: 20ch; }
.gv1a-rail { position: relative; margin-top: 56px; }
.gv1a-line { position: absolute; left: 0; right: 0; top: 34px; height: 1px; background: var(--abm-line-2); }
.gv1a-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; position: relative; }
.gv1a-cell { background: var(--abm-card); border: 1px solid var(--abm-line); padding: 0 24px 26px; }
.gv1a-dot { width: 11px; height: 11px; background: var(--abm-ember); margin: -6px 0 0 26px; position: relative; }
.gv1a-cell:nth-child(2) .gv1a-dot { background: var(--abm-blue); }
.gv1a-cell:nth-child(3) .gv1a-dot { background: var(--abm-amber); }
.gv1a-yr { font-family: var(--abm-mono); font-size: 44px; font-weight: 700; letter-spacing: -0.03em; color: var(--abm-ink); line-height: 1; margin-top: 26px; font-variant-numeric: tabular-nums; }
.gv1a-tag { font-family: var(--abm-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--abm-ember); margin-top: 14px; }
.gv1a-cell:nth-child(2) .gv1a-tag { color: var(--abm-blue); }
.gv1a-cell:nth-child(3) .gv1a-tag { color: #C2604D; }
.gv1a-cap { font-size: 14.5px; line-height: 1.5; color: var(--abm-ink-2); margin: 8px 0 0; }
.gv1a-body { font-size: 17px; line-height: 1.55; color: var(--abm-ink-2); max-width: 60ch; margin: 40px 0 0; }
.gv1a-body strong { color: var(--abm-ink); font-weight: 600; }

/* --- 1B · ledger --- */
.gv1b-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 56px; align-items: start; }
.gv1b-h { font-family: var(--abm-display); font-size: clamp(30px,3.4vw,44px); font-weight: 500; letter-spacing: -0.025em; line-height: 1.05; margin: 0; max-width: 14ch; }
.gv1b-body { font-size: 16.5px; line-height: 1.55; color: var(--abm-ink-2); margin: 22px 0 0; max-width: 46ch; }
.gv1b-ledger { background: var(--abm-card); border: 1px solid var(--abm-line); }
.gv1b-led-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 22px; border-bottom: 1px solid var(--abm-line); background: var(--abm-paper-2); }
.gv1b-led-t { font-family: var(--abm-mono); font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--abm-muted); }
.gv1b-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 22px; border-bottom: 1px solid var(--abm-line); }
.gv1b-row-l { font-size: 15.5px; color: var(--abm-ink); font-weight: 500; }
.gv1b-row-r { display: inline-flex; align-items: center; gap: 8px; font-family: var(--abm-mono); font-size: 12px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--abm-ember); }
.gv1b-row-r svg { width: 13px; height: 13px; }
.gv1b-miss { padding: 22px; background: var(--abm-ink); }
.gv1b-miss-t { display: flex; align-items: center; gap: 10px; }
.gv1b-miss-x { width: 22px; height: 22px; flex: 0 0 auto; display: grid; place-items: center; background: var(--abm-amber); color: var(--abm-ink); font-weight: 700; font-size: 15px; }
.gv1b-miss-lab { font-family: var(--abm-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--abm-amber); }
.gv1b-miss-h { font-family: var(--abm-display); font-size: 19px; font-weight: 500; letter-spacing: -0.015em; color: #F6F3EC; margin: 12px 0 0; line-height: 1.25; }

/* --- 1C · centered oversized type + subtle vertical gap meter --- */
.gv1c-head { max-width: 880px; margin: 0 auto; text-align: center; }
.gv1c-h { font-family: var(--abm-display); font-size: clamp(30px,3.4vw,46px); font-weight: 500; letter-spacing: -0.028em; line-height: 1.08; margin: 0 auto; max-width: 18ch; }
.gv1c-h .b22 { color: var(--abm-faint); }
.gv1c-h .b26 { color: var(--abm-ember); }
.gv1c-h .b27 { background: var(--abm-ink); color: #F6F3EC; padding: 0 0.14em; }
.gv1c-body { font-size: 16.5px; line-height: 1.55; color: var(--abm-ink-2); max-width: 56ch; margin: 22px auto 0; }
.gv1c-body strong { color: var(--abm-ink); font-weight: 600; }
.gv1c-vmeter { display: flex; justify-content: center; gap: 56px; margin: 48px auto 0; }
.gv1c-vcol { display: flex; flex-direction: column; align-items: center; width: 132px; }
.gv1c-vpct { font-family: var(--abm-mono); font-size: 14px; font-weight: 600; letter-spacing: 0.02em; color: var(--abm-ember); margin-bottom: 10px; }
.gv1c-vpct--dim { color: var(--abm-faint); }
.gv1c-vtrack { width: 46px; height: 150px; display: flex; align-items: flex-end; border-bottom: 1px solid var(--abm-line-2); background: linear-gradient(var(--abm-line) 0 0) no-repeat center / 1px 100%; }
.gv1c-vfill { width: 100%; background: rgba(0,109,78,0.18); }
.gv1c-vfill--full { background: rgba(0,109,78,0.32); }
.gv1c-vlab { font-size: 12.5px; line-height: 1.35; color: var(--abm-muted); text-align: center; margin-top: 14px; max-width: 14ch; }
.gv1c-foot { font-family: var(--abm-mono); font-size: 12px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--abm-muted); text-align: center; margin: 36px 0 0; }

@media (max-width: 860px) {
  .gv1a-grid { grid-template-columns: 1fr; }
  .gv1a-line { display: none; }
  .gv1b-grid { grid-template-columns: 1fr; gap: 28px; }
  .gv1c-vmeter { gap: 32px; }
}

/* ============================================================
   SECTION 2 · FIT / DISQUALIFICATION
   ============================================================ */
.gv2-h { font-family: var(--abm-display); font-size: clamp(28px,3.2vw,40px); font-weight: 500; letter-spacing: -0.02em; line-height: 1.08; margin: 0; max-width: 22ch; }
.gv2-lede { font-size: 16.5px; line-height: 1.55; color: var(--abm-ink-2); max-width: 70ch; margin: 18px 0 0; }

/* --- 2A · right/wrong split with perforation --- */
.gv2a-split { display: grid; grid-template-columns: 1fr 1fr; margin-top: 48px; border: 1px solid var(--abm-line); }
.gv2a-side { padding: 34px 36px 30px; }
.gv2a-side--yes { background: var(--abm-card); }
.gv2a-side--no { background: var(--abm-paper-2); border-left: 2px dashed var(--abm-line-2); }
.gv2a-bann { display: flex; align-items: center; gap: 13px; margin-bottom: 24px; }
.gv2a-mark { width: 40px; height: 40px; flex: 0 0 auto; display: grid; place-items: center; font-weight: 700; font-size: 20px; }
.gv2a-mark--yes { background: var(--abm-ember); color: #fff; }
.gv2a-mark--no { background: var(--abm-ink); color: #fff; }
.gv2a-mark--no svg, .gv2a-mark--yes svg { width: 20px; height: 20px; }
.gv2a-kind { font-family: var(--abm-display); font-size: 22px; font-weight: 600; letter-spacing: -0.02em; color: var(--abm-ink); line-height: 1; }
.gv2a-kind small { display: block; font-family: var(--abm-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--abm-muted); margin-top: 5px; }
.gv2a-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 15px; }
.gv2a-list li { display: flex; gap: 12px; font-size: 15px; line-height: 1.5; color: var(--abm-ink-2); }
.gv2a-mk { flex: 0 0 auto; width: 20px; height: 20px; display: grid; place-items: center; margin-top: 1px; }
.gv2a-mk--yes { background: rgba(0,109,78,0.12); color: var(--abm-ember); }
.gv2a-mk--no { background: rgba(7,19,29,0.08); color: var(--abm-muted); font-weight: 700; }
.gv2a-mk svg { width: 12px; height: 12px; }
.gv2a-foot { margin: 26px 0 0; padding-top: 18px; border-top: 1px solid var(--abm-line); font-size: 14px; font-weight: 500; letter-spacing: -0.01em; }
.gv2a-side--yes .gv2a-foot { color: var(--abm-ink); }
.gv2a-side--no .gv2a-foot { color: var(--abm-muted); border-top-color: var(--abm-line); }

/* --- 2B · scorecard --- */
.gv2b-wrap { max-width: 760px; margin: 44px auto 0; }
.gv2b-card { background: var(--abm-card); border: 1px solid var(--abm-line); border-top: 3px solid var(--abm-ember); }
.gv2b-cap { display: flex; align-items: center; justify-content: space-between; padding: 18px 26px; border-bottom: 1px solid var(--abm-line); }
.gv2b-cap-t { font-family: var(--abm-display); font-size: 18px; font-weight: 600; letter-spacing: -0.015em; color: var(--abm-ink); }
.gv2b-cap-n { font-family: var(--abm-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--abm-ember); }
.gv2b-item { display: flex; align-items: flex-start; gap: 16px; padding: 18px 26px; border-bottom: 1px solid var(--abm-line); }
.gv2b-check { flex: 0 0 auto; width: 24px; height: 24px; border: 1.5px solid var(--abm-ember); display: grid; place-items: center; color: var(--abm-ember); margin-top: 1px; }
.gv2b-check svg { width: 14px; height: 14px; }
.gv2b-txt { font-size: 15.5px; line-height: 1.5; color: var(--abm-ink-2); }
.gv2b-score { padding: 22px 26px; display: flex; align-items: center; gap: 14px; background: var(--abm-paper-2); }
.gv2b-score-big { font-family: var(--abm-display); font-size: 17px; font-weight: 600; letter-spacing: -0.015em; color: var(--abm-ink); }
.gv2b-not { margin: 26px auto 0; max-width: 760px; }
.gv2b-not-h { font-family: var(--abm-mono); font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--abm-muted); margin-bottom: 14px; }
.gv2b-not-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 26px; }
.gv2b-not-item { display: flex; gap: 11px; font-size: 14px; line-height: 1.45; color: var(--abm-muted); }
.gv2b-not-x { flex: 0 0 auto; color: var(--abm-faint); font-weight: 700; }

/* --- 2C · two cards, dark NO --- */
.gv2c-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 46px; }
.gv2c-card { padding: 32px 32px 30px; }
.gv2c-card--yes { background: var(--abm-card); border: 1px solid var(--abm-line); border-top: 3px solid var(--abm-ember); }
.gv2c-card--no { background: var(--abm-ink); color: #F4F1EA; border-top: 3px solid var(--abm-amber); }
.gv2c-head { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.gv2c-no-num { font-family: var(--abm-mono); font-size: 12px; font-weight: 600; letter-spacing: 0.1em; color: var(--abm-faint); }
.gv2c-card--no .gv2c-no-num { color: rgba(244,241,234,0.5); }
.gv2c-tag { font-family: var(--abm-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 10px; }
.gv2c-tag--yes { background: var(--abm-ember); color: #fff; }
.gv2c-tag--no { background: var(--abm-amber); color: var(--abm-ink); }
.gv2c-sub { font-family: var(--abm-display); font-size: 20px; font-weight: 500; letter-spacing: -0.015em; line-height: 1.2; margin: 0 0 22px; max-width: 26ch; }
.gv2c-card--yes .gv2c-sub { color: var(--abm-ink); }
.gv2c-card--no .gv2c-sub { color: #F6F3EC; }
.gv2c-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 15px; }
.gv2c-list li { display: flex; gap: 12px; font-size: 15px; line-height: 1.5; }
.gv2c-card--yes .gv2c-list li { color: var(--abm-ink-2); }
.gv2c-card--no .gv2c-list li { color: rgba(244,241,234,0.78); }
.gv2c-mk { flex: 0 0 auto; width: 21px; height: 21px; display: grid; place-items: center; margin-top: 1px; }
.gv2c-mk--yes { background: var(--abm-ember); color: #fff; }
.gv2c-mk--no { background: rgba(255,255,255,0.1); color: rgba(244,241,234,0.7); font-weight: 700; }
.gv2c-mk svg { width: 12px; height: 12px; }
.gv2c-foot { margin: 26px 0 0; padding-top: 18px; font-size: 14px; font-weight: 500; }
.gv2c-card--yes .gv2c-foot { border-top: 1px solid var(--abm-line); color: var(--abm-ink); }
.gv2c-card--no .gv2c-foot { border-top: 1px solid rgba(255,255,255,0.14); color: rgba(244,241,234,0.7); }

@media (max-width: 860px) {
  .gv2a-split, .gv2c-cols, .gv2b-not-grid { grid-template-columns: 1fr; }
  .gv2a-side--no { border-left: 0; border-top: 2px dashed var(--abm-line-2); }
}

/* ============================================================
   SECTION 3 · COMPARISON
   ============================================================ */
.gv3-h { font-family: var(--abm-display); font-size: clamp(26px,3vw,38px); font-weight: 500; letter-spacing: -0.02em; line-height: 1.1; margin: 0; max-width: 30ch; }
.gv3-lede { font-size: 15.5px; line-height: 1.5; color: var(--abm-muted); max-width: 60ch; margin: 14px 0 0; }

/* --- 3A · refined table --- */
.gv3a-scroll { overflow-x: auto; margin-top: 40px; border: 1px solid var(--abm-line); }
.gv3a-table { min-width: 920px; background: var(--abm-card); }
.gv3a-tr { display: grid; grid-template-columns: minmax(230px,1.6fr) repeat(4, minmax(150px,1fr)); }
.gv3a-tr:not(:last-child) { border-bottom: 1px solid var(--abm-line); }
.gv3a-tr--head { background: var(--abm-ink); }
.gv3a-th { padding: 18px 16px 16px; display: flex; flex-direction: column; gap: 6px; border-left: 1px solid rgba(255,255,255,0.1); }
.gv3a-th--row { border-left: 0; justify-content: flex-end; }
.gv3a-th-label { font-family: var(--abm-display); font-size: 15px; font-weight: 600; letter-spacing: -0.01em; color: #F4F1EA; line-height: 1.15; }
.gv3a-th-note { font-family: var(--abm-mono); font-size: 9.5px; font-weight: 700; letter-spacing: 0.14em; color: var(--abm-amber); }
.gv3a-th--hi { background: var(--abm-ember); border-left-color: var(--abm-ember); }
.gv3a-th--hi .gv3a-th-label { color: #fff; }
.gv3a-th--hi .gv3a-th-note { color: #fff; }
.gv3a-td { padding: 15px 16px; font-size: 14px; line-height: 1.4; color: var(--abm-ink-2); border-left: 1px solid var(--abm-line); display: flex; align-items: center; }
.gv3a-td--row { border-left: 0; font-weight: 600; color: var(--abm-ink); font-size: 14.5px; background: var(--abm-paper-2); }
.gv3a-td--hi { background: rgba(0,109,78,0.07); border-left-color: rgba(0,109,78,0.28); }
.gv3a-yes { display: inline-flex; align-items: center; gap: 7px; font-weight: 600; color: var(--abm-ember); }
.gv3a-yes svg { width: 14px; height: 14px; }
.gv3a-no { color: var(--abm-faint); }

/* --- 3B · four option cards --- */
.gv3b-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 40px; }
.gv3b-card { background: var(--abm-card); border: 1px solid var(--abm-line); padding: 26px 24px 24px; display: flex; flex-direction: column; }
.gv3b-card--hi { border: 1px solid var(--abm-ember); border-top: 3px solid var(--abm-ember); box-shadow: 0 18px 40px -22px rgba(0,109,78,0.5); }
.gv3b-tag { font-family: var(--abm-mono); font-size: 10px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--abm-ember); margin-bottom: 12px; min-height: 13px; }
.gv3b-card:not(.gv3b-card--hi) .gv3b-tag { color: var(--abm-faint); }
.gv3b-name { font-family: var(--abm-display); font-size: 20px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.1; color: var(--abm-ink); margin: 0 0 18px; }
.gv3b-spec { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 13px; flex: 1; }
.gv3b-spec li { display: flex; flex-direction: column; gap: 3px; padding-bottom: 13px; border-bottom: 1px solid var(--abm-line); }
.gv3b-spec li:last-child { border-bottom: 0; padding-bottom: 0; }
.gv3b-k { font-family: var(--abm-mono); font-size: 10px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--abm-faint); }
.gv3b-v { font-size: 14px; line-height: 1.35; color: var(--abm-ink); font-weight: 500; display: flex; align-items: center; gap: 6px; }
.gv3b-v svg { width: 13px; height: 13px; color: var(--abm-ember); flex: 0 0 auto; }
.gv3b-card--hi .gv3b-v { color: var(--abm-ember-2); }

/* --- 3C · hero column vs others --- */
.gv3c-grid { display: grid; grid-template-columns: 0.95fr 1.05fr; gap: 24px; margin-top: 40px; align-items: start; }
.gv3c-hero { background: var(--abm-ember); color: #fff; padding: 34px 34px 32px; }
.gv3c-hero-tag { font-family: var(--abm-mono); font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,0.7); }
.gv3c-hero-name { font-family: var(--abm-display); font-size: 28px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.05; margin: 10px 0 22px; color: #fff; }
.gv3c-hero-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.gv3c-hero-list li { display: flex; gap: 11px; font-size: 15px; line-height: 1.45; color: rgba(255,255,255,0.92); }
.gv3c-hero-list svg { width: 16px; height: 16px; flex: 0 0 auto; margin-top: 2px; color: #fff; }
.gv3c-others { display: flex; flex-direction: column; gap: 14px; }
.gv3c-other { background: var(--abm-card); border: 1px solid var(--abm-line); padding: 20px 22px; }
.gv3c-other-name { font-family: var(--abm-display); font-size: 17px; font-weight: 600; letter-spacing: -0.015em; color: var(--abm-ink); margin: 0 0 12px; }
.gv3c-other-row { display: flex; align-items: center; gap: 10px; padding: 7px 0; font-size: 13.5px; color: var(--abm-muted); }
.gv3c-other-row b { color: var(--abm-ink); font-weight: 600; margin-left: auto; text-align: right; }
.gv3c-other-k { font-family: var(--abm-mono); font-size: 10px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--abm-faint); }

@media (max-width: 860px) {
  .gv3b-grid { grid-template-columns: 1fr 1fr; }
  .gv3c-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   SECTION 4 · FOUNDER
   ============================================================ */
/* --- 4A · dark strip (refined) --- */
.gv4a { display: grid; grid-template-columns: auto 1fr auto; gap: 32px; align-items: center; background: var(--abm-ink); padding: 40px 44px; }
.gv4a-ava { width: 88px; height: 88px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: var(--abm-ember); color: #fff; font-family: var(--abm-serif); font-style: italic; font-size: 42px; line-height: 1; }
.gv4a-main {}
.gv4a-h { font-family: var(--abm-display); font-size: 27px; font-weight: 500; letter-spacing: -0.02em; line-height: 1.1; margin: 0; color: #F6F3EC; }
.gv4a-bio { margin: 12px 0 0; font-size: 14.5px; line-height: 1.55; color: rgba(244,241,234,0.7); max-width: 64ch; }
.gv4a-bio strong { color: #F6F3EC; font-weight: 600; }
.gv4a-cta { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.gv4a-stats { display: flex; gap: 26px; margin-top: 20px; }
.gv4a-stat-big { font-family: var(--abm-display); font-size: 24px; font-weight: 600; letter-spacing: -0.02em; color: #fff; line-height: 1; }
.gv4a-stat-lab { font-family: var(--abm-mono); font-size: 10px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(244,241,234,0.5); margin-top: 6px; display: block; }

/* --- 4B · business card --- */
.gv4b { display: grid; grid-template-columns: 0.8fr 1.2fr; max-width: 920px; margin: 0 auto; border: 1px solid var(--abm-line); background: var(--abm-card); }
.gv4b-l { background: var(--abm-ink); color: #fff; padding: 40px 36px; display: flex; flex-direction: column; justify-content: space-between; }
.gv4b-initial { font-family: var(--abm-serif); font-style: italic; font-size: 92px; line-height: 0.9; color: var(--abm-amber); }
.gv4b-name { font-family: var(--abm-display); font-size: 26px; font-weight: 600; letter-spacing: -0.02em; color: #F6F3EC; margin: 0; }
.gv4b-role { font-family: var(--abm-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--abm-amber); margin-top: 10px; }
.gv4b-r { padding: 40px 38px; display: flex; flex-direction: column; }
.gv4b-h { font-family: var(--abm-display); font-size: 25px; font-weight: 500; letter-spacing: -0.02em; line-height: 1.1; margin: 0; color: var(--abm-ink); }
.gv4b-bio { font-size: 15px; line-height: 1.6; color: var(--abm-ink-2); margin: 16px 0 0; }
.gv4b-stats { display: flex; gap: 28px; margin: 24px 0; padding: 20px 0; border-top: 1px solid var(--abm-line); border-bottom: 1px solid var(--abm-line); }
.gv4b-stat-big { font-family: var(--abm-display); font-size: 26px; font-weight: 600; letter-spacing: -0.02em; color: var(--abm-ember); line-height: 1; }
.gv4b-stat-lab { font-family: var(--abm-mono); font-size: 10px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: var(--abm-muted); margin-top: 6px; display: block; }
.gv4b-cta { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-top: auto; }
.gv4b-mail { font-size: 14px; color: var(--abm-muted); }
.gv4b-mail a { color: var(--abm-ember); text-decoration: none; border-bottom: 1px solid rgba(0,109,78,0.4); }

/* --- 4C · note from the founder --- */
.gv4c { max-width: 780px; margin: 0 auto; }
.gv4c-lab { font-family: var(--abm-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--abm-ember); margin-bottom: 22px; display: flex; align-items: center; gap: 12px; }
.gv4c-lab .bar { width: 24px; height: 1px; background: var(--abm-ember); }
.gv4c-note { font-family: var(--abm-serif); font-size: 23px; line-height: 1.5; letter-spacing: -0.01em; color: var(--abm-ink); margin: 0; text-wrap: pretty; }
.gv4c-note strong { font-style: normal; font-family: var(--abm-display); font-weight: 600; }
.gv4c-sign { display: flex; align-items: center; gap: 16px; margin-top: 30px; }
.gv4c-sig { font-family: var(--abm-serif); font-style: italic; font-size: 30px; color: var(--abm-ember); }
.gv4c-by { font-size: 13px; color: var(--abm-muted); }
.gv4c-by strong { color: var(--abm-ink); font-weight: 600; display: block; font-size: 14px; }
.gv4c-bottom { display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; margin-top: 34px; padding-top: 28px; border-top: 1px solid var(--abm-line); }
.gv4c-stats { display: flex; gap: 30px; }
.gv4c-stat-big { font-family: var(--abm-display); font-size: 22px; font-weight: 600; letter-spacing: -0.02em; color: var(--abm-ink); line-height: 1; }
.gv4c-stat-lab { font-family: var(--abm-mono); font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--abm-muted); margin-top: 6px; display: block; }

@media (max-width: 860px) {
  .gv4a { grid-template-columns: 1fr; gap: 22px; padding: 32px 26px; }
  .gv4a-stats { flex-wrap: wrap; }
  .gv4b { grid-template-columns: 1fr; }
  .gv4c-note { font-size: 20px; }
}
