/* ============================================================
   LETTER STYLE — long-form direct-response sales page
   "The Patient Acquisition System" · /clinics/
   Loaded AFTER funnels.css. Reuses shared tokens + components;
   letter components are lf-* namespaced (global here — the file
   is only linked from the clinics page).
   v3: no navbar · centered prelander hero · trimmed narrative ·
   section background patterns · varied mid-letter CTAs ·
   3-step form · extra clinic media.
   ============================================================ */

/* ---------- 01 · hero (centered news-prelander) ---------- */
.lf-hero { text-align: center; }
.lf-hero__grid { display: grid; gap: 0; justify-items: center; }

.lf-hero .hero__eyebrow { margin-inline: auto; }
.lf-hero h1.display-1 { max-width: 21ch; margin-inline: auto; }

.lf-hero .hero__sub { max-width: 62ch; margin-inline: auto; }
.lf-hero .hero__sub p { font-size: 1.04rem; line-height: 1.7; color: var(--ink-70); }
.lf-hero .hero__sub strong { color: var(--ink); }

.lf-hero .hero__actions { justify-content: center; }
.lf-hero .hero__actions .btn { min-width: 0; }
body.f-letter .lf-hero { padding-block: clamp(64px, 9vw, 112px) clamp(72px, 10vw, 124px); }

/* ---------- section heading treatment (centered everywhere) ---------- */
body.f-letter .section .shead { text-align: center; margin-inline: auto; justify-items: center; }
body.f-letter .section .shead .intro { margin-inline: auto; text-align: center; }
body.f-letter .section .mono-label { justify-content: center; }

/* ---------- narrative blocks (centered) ---------- */
.lf-narr { max-width: 680px; display: grid; gap: 14px; margin-inline: auto; text-align: center; }
.lf-narr p { font-size: 1.02rem; line-height: 1.74; color: var(--ink-70); }
.lf-narr strong { color: var(--ink); font-weight: 640; }
.lf-narr .lf-lead { font-size: clamp(1.09rem, 1rem + .5vw, 1.24rem); line-height: 1.6; color: var(--ink); font-weight: 540; }

/* big statement line */
.lf-punch {
  margin-top: clamp(30px, 5vw, 48px);
  font-size: clamp(1.4rem, 1.04rem + 1.8vw, 2.05rem);
  line-height: 1.24; font-weight: 640; letter-spacing: -.02em;
  max-width: 640px; margin-inline: auto; text-align: center;
}
.lf-punch .acc { color: var(--green-dark); }

/* centered short intro line above card grids */
.lf-intro {
  max-width: 560px; margin: clamp(16px, 2.5vw, 24px) auto 0;
  font-size: 1.02rem; color: var(--ink-70); text-align: center;
}
.lf-intro strong { color: var(--ink); }

/* centered points list (hidden-cost bullets) */
.lf-points { max-width: 500px; margin-inline: auto; }

/* ---------- mid-letter CTA strip ---------- */
.lf-cta {
  display: grid; gap: 14px; justify-items: center; text-align: center;
  margin-top: clamp(40px, 6vw, 62px);
  padding-top: clamp(34px, 5vw, 50px);
  border-top: 1px solid var(--line);
}
.lf-cta--tight { border-top: 0; padding-top: clamp(30px, 4.5vw, 44px); margin-top: clamp(28px, 4vw, 44px); }
.lf-cta h3 {
  font-size: clamp(1.25rem, 1rem + 1.2vw, 1.72rem);
  line-height: 1.24; max-width: 30ch; font-weight: 640;
}
.lf-cta h3 .acc { color: var(--green-dark); }
.lf-cta p { font-size: .92rem; color: var(--gray); max-width: 52ch; }
.lf-cta .btn { margin-top: 4px; }

/* ---------- 02 · situations ---------- */
.lf-sits { display: grid; gap: 13px; margin-top: clamp(28px, 4.5vw, 44px); }
@media (min-width: 900px) {
  .lf-sits { grid-template-columns: 1fr 1fr; gap: 14px; max-width: 900px; margin-inline: auto; }
  .lf-sits .lf-sit:nth-child(5) { grid-column: 1 / -1; }
}
.lf-sit {
  background: var(--paper); border: 1px solid var(--line-soft);
  border-inline-start: 3px solid var(--green);
  border-radius: var(--radius-m); padding: 20px 22px 21px;
  text-align: left;
  transition: box-shadow .18s ease, border-color .18s ease;
}
.lf-sit:hover { box-shadow: var(--shadow-s); border-color: color-mix(in srgb, var(--green) 30%, var(--line-soft)); }
.lf-sit h3 { font-size: 1.02rem; margin-bottom: 5px; }
.lf-sit p { font-size: .92rem; color: var(--ink-70); }

/* ---------- 04 · approach blocks ---------- */
.lf-approach { display: grid; gap: 16px; margin-top: clamp(28px, 4.5vw, 44px); }
@media (min-width: 780px) { .lf-approach { grid-template-columns: 1fr 1fr; gap: 18px; max-width: 900px; margin-inline: auto; } }
.lf-appr {
  background: var(--paper); border: 1px solid var(--line-soft);
  border-radius: var(--radius-m); padding: 25px 24px 26px; text-align: left;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.lf-appr:hover { border-color: color-mix(in srgb, var(--green) 30%, var(--line-soft)); box-shadow: var(--shadow-s); }
.lf-appr__num {
  display: block; margin-bottom: 12px;
  font-family: var(--font-serif); font-style: italic;
  font-size: 2.2rem; line-height: 1; color: var(--green);
}
.lf-appr h3 { font-size: 1.06rem; margin-bottom: 7px; }
.lf-appr p { font-size: .93rem; color: var(--ink-70); }

/* ---------- 05 · old vs system ---------- */
.lf-vs { display: grid; gap: 26px; margin-top: clamp(30px, 4.5vw, 48px); max-width: 900px; margin-inline: auto; }
@media (min-width: 900px) { .lf-vs { grid-template-columns: 1fr 1fr; align-items: stretch; } }
.lf-col { border-radius: var(--radius-l); padding: clamp(22px, 3.2vw, 32px); text-align: left; }
.lf-col--old { background: var(--paper); border: 1px solid var(--line); }
.lf-col--new {
  background: var(--paper);
  border: 1.5px solid color-mix(in srgb, var(--green) 45%, transparent);
  box-shadow: var(--shadow-green, 0 8px 30px rgb(5 150 105 / .12));
}
.lf-col__head { display: flex; align-items: center; gap: 11px; }
.lf-col__head h3 { font-size: 1.1rem; }
.lf-col__sub { margin-top: 4px; font-size: .83rem; color: var(--gray); }
.lf-col__pin {
  inline-size: 32px; block-size: 32px; border-radius: 10px; flex-shrink: 0;
  display: grid; place-items: center;
}
.lf-col--old .lf-col__pin { background: var(--stone); color: var(--gray); border: 1px solid var(--line-soft); }
.lf-col--new .lf-col__pin { background: var(--green); color: #fff; }
.lf-col ul { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 10px; }
.lf-col li { display: flex; gap: 11px; align-items: flex-start; font-size: .93rem; color: var(--ink-70); line-height: 1.5; }
.lf-col li svg { flex-shrink: 0; margin-top: 4.5px; }
.lf-col--old li svg { color: var(--gray-soft); }
.lf-col--new li svg { color: var(--green); }

/* ---------- 06 · personal intro ---------- */
.lf-person { display: grid; gap: clamp(28px, 4vw, 52px); margin-top: clamp(28px, 4.5vw, 46px); align-items: center; }
@media (min-width: 960px) { .lf-person { grid-template-columns: .8fr 1.2fr; } }

.lf-pframe {
  background: var(--paper);
  border: 1px solid color-mix(in srgb, var(--green) 22%, transparent);
  border-radius: var(--radius-l);
  padding: clamp(18px, 2.6vw, 28px) clamp(18px, 2.6vw, 28px) 0;
  display: flex; justify-content: center;
}
.lf-pframe img { width: min(100%, 400px); }

.lf-sign {
  margin-top: 26px; padding-top: 20px;
  border-top: 1px solid var(--line);
  font-family: var(--font-serif); font-style: italic; font-weight: 400;
  font-size: 2.15rem; line-height: 1.05; color: var(--ink);
}
.lf-sign small {
  display: block; margin-top: 9px;
  font-family: var(--font-sans); font-style: normal;
  font-size: .8rem; color: var(--gray); letter-spacing: .02em;
}

/* ---------- 07 · context note (30% with limitations) ---------- */
.lf-note {
  margin-top: clamp(28px, 4.5vw, 44px);
  background: var(--green-tint);
  border: 1px solid color-mix(in srgb, var(--green) 24%, transparent);
  border-radius: var(--radius-m); padding: 22px 24px;
  max-width: 780px; margin-inline: auto; text-align: left;
}
.lf-note h3 { font-size: .98rem; margin-bottom: 7px; color: var(--green-deep); }
.lf-note p { font-size: .92rem; color: var(--ink-70); }
.lf-note .fineprint { margin-top: 11px; }

/* ---------- 08 · offer modules ---------- */
.lf-modules { display: grid; margin-top: clamp(26px, 4.5vw, 42px); max-width: 900px; margin-inline: auto; }
@media (min-width: 880px) { .lf-modules { grid-template-columns: 1fr 1fr; gap: 0 clamp(34px, 5vw, 70px); } }
.lf-module {
  display: grid; grid-template-columns: 52px 1fr; gap: 16px;
  padding: 24px 4px 25px; border-top: 1px solid var(--line); text-align: left;
}
.lf-module__num {
  font-family: var(--font-mono); font-size: .8rem; letter-spacing: .09em;
  color: var(--green-dark); padding-top: 5px;
}
.lf-module h3 { font-size: 1.05rem; margin-bottom: 6px; }
.lf-module p { font-size: .92rem; color: var(--ink-70); }

/* ---------- 11 · FAQ ---------- */
.lf-faq { max-width: 780px; margin: clamp(26px, 4.5vw, 42px) auto 0; display: grid; border-top: 1px solid var(--line); }
.lf-faq__item { border-bottom: 1px solid var(--line); }
.lf-faq__item summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 16px; padding: 18px 4px; }
.lf-faq__item summary::-webkit-details-marker { display: none; }
.lf-faq__q { flex: 1; font-weight: 620; font-size: 1rem; letter-spacing: -.01em; line-height: 1.4; text-align: left; }
.lf-faq__ic {
  position: relative; flex-shrink: 0;
  inline-size: 30px; block-size: 30px; border-radius: 999px;
  border: 1px solid var(--line); color: var(--green-dark);
  display: grid; place-items: center;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.lf-faq__ic::before, .lf-faq__ic::after { content: ""; position: absolute; background: currentColor; border-radius: 2px; }
.lf-faq__ic::before { width: 11px; height: 1.6px; }
.lf-faq__ic::after { width: 1.6px; height: 11px; transition: transform .2s ease; }
.lf-faq__item[open] .lf-faq__ic { background: var(--green); color: #fff; border-color: var(--green); }
.lf-faq__item[open] .lf-faq__ic::after { transform: scaleY(0); }
.lf-faq__a p { padding: 2px 46px 20px 4px; font-size: .94rem; color: var(--ink-70); text-align: left; }

/* ---------- media: photo bands + system diagram ---------- */
.lf-band { margin-top: clamp(32px, 5vw, 52px); }
.lf-band img {
  width: 100%; aspect-ratio: 21 / 9; object-fit: cover;
  border-radius: var(--radius-l); box-shadow: var(--shadow-m);
}
.lf-band--a img { object-position: 22% center; }   /* treatment area crop */
@media (max-width: 640px) { .lf-band img { aspect-ratio: 16 / 10; } }

.lf-media {
  display: grid; gap: 18px; margin-top: clamp(32px, 5vw, 52px);
}
.lf-media__diagram {
  background: var(--paper); border: 1px solid var(--line-soft);
  border-radius: var(--radius-l); box-shadow: var(--shadow-s);
  padding: clamp(18px, 3vw, 30px);
  width: 100%; max-width: 840px; margin-inline: auto;
  display: flex; align-items: center;
}
.lf-media__diagram svg { width: 100%; height: auto; }

/* ---------- 12 · final invitation ---------- */
.lf-final__trust {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 18px;
  margin-top: 20px;
  font-family: var(--font-mono); font-size: .72rem; letter-spacing: .08em;
  text-transform: uppercase; color: rgb(255 255 255 / .62);
}
.lf-final__trust i { display: none; }
.lf-final__dir {
  margin-top: 24px; font-size: .86rem; color: rgb(255 255 255 / .55);
}
.lf-final__dir a { color: rgb(255 255 255 / .85); text-decoration: none; border-bottom: 1px solid rgb(255 255 255 / .3); }
.lf-final__dir a:hover { color: #fff; }

/* form head inside mform */
.lf-formhead { margin: 0 0 4px; }
.lf-formsub { font-size: .9rem; color: var(--ink-70); margin: 0 0 16px; padding-bottom: 16px; border-bottom: 1px solid var(--line-soft); }

/* ---------- decorative section patterns ---------- */
/* narrower, properly centered letter column on desktop */
body.f-letter .container { max-width: 1004px; }
.lf-pat-dots {
  background-image: radial-gradient(rgba(5, 150, 105, .075) 1.15px, transparent 1.15px);
  background-size: 21px 21px;
}
.lf-pat-grid {
  background-image:
    linear-gradient(rgba(17, 17, 17, .032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17, 17, 17, .032) 1px, transparent 1px);
  background-size: 32px 32px;
}
.lf-pat-lines {
  background-image: repeating-linear-gradient(45deg, rgba(17, 17, 17, .026) 0 1px, transparent 1px 15px);
}
.lf-pat-tint {
  background-color: var(--green-tint);
  background-image: radial-gradient(rgba(6, 95, 70, .07) 1.15px, transparent 1.15px);
  background-size: 21px 21px;
}

/* ---------- pre-launch audit fixes ---------- */
/* timeline block centered in the letter column */
body.f-letter .process { margin-inline: auto; }

/* fact bar: lock value baselines together, keep all four facts visible on mobile */
body.f-letter .factbar__grid > .fact {
  display: flex; flex-direction: column; justify-content: flex-end;
}

/* dark final panel */
body.f-letter .assess .mono-label { color: rgb(255 255 255 / .55); margin-bottom: 14px; }
body.f-letter .assess__copy .display-2 {
  font-size: clamp(1.75rem, 1.3rem + 1.9vw, 2.5rem);
  line-height: 1.16;
}
@media (min-width: 960px) {
  body.f-letter .assess__grid { grid-template-columns: .92fr 1.08fr; }
}

@media (prefers-reduced-motion: reduce) {
  .lf-sit, .lf-appr { transition: none; }
}


/* ============================================================
   CLINIC LETTER — conversion and visual refinement
   ============================================================ */
body.f-letter .lf-hero { text-align: center; }
body.f-letter .lf-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr); justify-items: center; align-items: center; }
body.f-letter .lf-hero .hero__eyebrow { margin-inline: auto; }
body.f-letter .lf-hero h1.display-1 { margin-inline: auto; }
body.f-letter .lf-hero .hero__sub { margin-inline: auto; }
body.f-letter .lf-hero .hero__actions { justify-content: center; }
body.f-letter .lf-hero .hero__micro { margin-inline: auto; }
body.f-letter .lf-hero { padding-block: clamp(52px, 7vw, 88px); }
body.f-letter .lf-hero .hero__actions .btn--ghost { background:rgba(255,255,255,.7); }
body.f-letter .shead { max-width:760px; }
body.f-letter .lf-sit, body.f-letter .lf-appr { box-shadow:0 2px 10px rgba(17,17,17,.025); }
body.f-letter .lf-sit:hover, body.f-letter .lf-appr:hover { transform:translateY(-2px); }
body.f-letter .lf-punch { max-width:760px; }
body.f-letter .lf-note { box-shadow:0 6px 24px rgba(5,150,105,.05); }
body.f-letter .assess__panel { box-shadow:0 22px 70px rgba(0,0,0,.18); }
body.f-letter .mform { border-radius:22px; }
body.f-letter .mform__foot { max-width:58ch; }
body.f-letter .mform input:focus, body.f-letter .mform select:focus, body.f-letter .mform textarea:focus {
  border-color:var(--green); box-shadow:0 0 0 4px rgba(5,150,105,.10); outline:none;
}
body.f-letter .mform .field[data-invalid] input,
body.f-letter .mform .field[data-invalid] select,
body.f-letter .mform .fieldwrap[data-invalid] .choices { border-color:#dc6b6b; }
body.f-letter .mform__nav .btn { min-height:54px; }
body.f-letter .fdone { scroll-margin-top:90px; }
body.f-letter .lf-faq__item summary:hover .lf-faq__q { color:var(--green-deep); }
body.f-letter .fout { padding-bottom:max(34px,env(safe-area-inset-bottom)); }
@media (max-width: 899px) {
  body.f-letter .lf-hero__grid { grid-template-columns:1fr; gap:34px; }
  body.f-letter .lf-hero h1.display-1 { max-width:18ch; }
}
@media (max-width: 560px) {
  body.f-letter .lf-hero { text-align:left; padding-block:44px 52px; }
  body.f-letter .lf-hero .hero__actions { display:grid; grid-template-columns:1fr; }
  body.f-letter .lf-hero .hero__actions .btn { width:100%; }
  .lf-visual-top { align-items:flex-start; flex-direction:column; gap:6px; }
  .lf-visual-node { padding:14px 12px; }
  .lf-visual-node b { font-size:.84rem; }
  .lf-visual-node small { font-size:.7rem; }
  .lf-visual-foot { font-size:.58rem; }
}
@media (prefers-reduced-motion: reduce) {
  body.f-letter .lf-sit:hover, body.f-letter .lf-appr:hover { transform:none; }
}


/* ============================================================
   PREMIUM CLINIC FUNNEL — production visual refinement
   ============================================================ */
:root {
  --green: #0b8060;
  --green-dark: #08664d;
  --green-deep: #084b3b;
  --green-soft: #edf6f1;
  --green-tint: #f1f7f3;
  --ink: #17231e;
  --ink-70: #46534c;
  --gray: #68756e;
  --line: #e1e8e3;
  --line-soft: #edf1ee;
  --stone: #f5f7f4;
  --stone-2: #fafbf9;
  --shadow-green: 0 12px 30px rgb(8 102 77 / .18);
}
body.f-letter { background:#fff; }
body.f-letter .hero--band {
  background:
    radial-gradient(ellipse at 92% 8%, rgb(11 128 96 / .12), transparent 38%),
    linear-gradient(135deg,#fbfcfa 0%,#f4f8f4 58%,#f8faf8 100%);
}
body.f-letter .lf-hero__grid {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:center;
  justify-items:center;
  gap:0;
}
body.f-letter .lf-hero-copy { position:relative; z-index:1; min-width:0; max-width:900px; margin-inline:auto; }

/* Low-opacity clinic icons drifting in the hero background (decorative) */
body.f-letter .lf-hero { position:relative; }
.lf-hero-icons { position:absolute; inset:0; z-index:0; pointer-events:none; color:#0b8060; }
.lf-hero-icons svg { position:absolute; opacity:.07; }
.hx-cross { top:13%; left:5%; width:62px; height:62px; }
.hx-tooth { top:20%; right:6%; width:52px; height:52px; }
.hx-clip { bottom:15%; left:8%; width:56px; height:56px; }
.hx-steth { bottom:9%; right:4.5%; width:72px; height:72px; }
@media (max-width: 719px) {
  .lf-hero-icons svg { opacity:.055; }
  .hx-cross { width:44px; height:44px; }
  .hx-tooth { width:38px; height:38px; }
  .hx-clip { width:40px; height:40px; }
  .hx-steth { width:52px; height:52px; }
}
@media (prefers-reduced-motion: no-preference) {
  .lf-hero-icons svg { animation:herofloat 9s ease-in-out infinite alternate; }
  .lf-hero-icons .hx-tooth { animation-delay:-3s; }
  .lf-hero-icons .hx-clip { animation-delay:-5s; }
  .lf-hero-icons .hx-steth { animation-delay:-7s; }
}
@keyframes herofloat { from { transform:translateY(-5px); } to { transform:translateY(6px); } }
body.f-letter .lf-hero h1.display-1 {
  max-width:22ch;
  font-size:clamp(2.65rem,1.7rem + 3.7vw,4.45rem);
  line-height:1.04;
  letter-spacing:-.045em;
}
body.f-letter .lf-hero .hero__eyebrow {
  margin:0 auto 24px;
  font-size:.68rem;
  letter-spacing:.105em;
  padding:8px 13px;
}
body.f-letter .lf-hero .hero__sub { max-width:58ch; margin:24px auto 0; }
body.f-letter .lf-hero .hero__sub p { font-size:1.02rem; line-height:1.72; }
body.f-letter .lf-hero .hero__sub p + p { margin-top:12px; }
body.f-letter .lf-hero .hero__actions { gap:11px; margin-top:28px; justify-content:center; }
.lf-hero-trust { display:flex; flex-wrap:wrap; gap:9px 17px; margin-top:21px; justify-content:center; }
.lf-hero-trust span { display:inline-flex; align-items:center; gap:7px; color:#637169; font-size:.76rem; font-weight:540; }
.lf-hero-trust i { width:5px; height:5px; border-radius:50%; background:#0b8060; }

/* Founder profile: real supplied portrait, premium dark editorial treatment */
body.f-letter .lf-person { grid-template-columns:minmax(360px,1.18fr) minmax(0,1fr); gap:clamp(34px,5vw,70px); align-items:center; }
.lf-founder-visual { position:relative; min-width:0; padding:0 0 18px 6px; }
.lf-founder-stage {
  position:relative; display:flex; justify-content:center; align-items:flex-end;
  min-height:560px; aspect-ratio: .9 / 1; overflow:hidden; isolation:isolate;
  border:1px solid rgb(255 255 255 / .1); border-radius:25px;
  background:
    radial-gradient(ellipse at 68% 18%,rgb(16 185 129 / .25),transparent 36%),
    radial-gradient(ellipse at 20% 85%,rgb(6 95 70 / .38),transparent 44%),
    linear-gradient(150deg,#172a22 0%,#0c1712 75%);
  box-shadow:0 24px 60px rgb(11 34 24 / .17);
}
.lf-founder-stage::before,.lf-founder-stage::after {
  content:""; position:absolute; z-index:-1; border:1px solid rgb(167 243 208 / .13); border-radius:50%;
}
.lf-founder-stage::before { width:78%; aspect-ratio:1; top:8%; left:11%; }
.lf-founder-stage::after { width:98%; aspect-ratio:1; top:0; left:1%; }
.lf-founder-glow { position:absolute; width:72%; height:45%; bottom:-12%; left:14%; background:rgb(16 185 129 / .24); filter:blur(55px); border-radius:50%; }
.lf-founder-stage img { position:relative; z-index:1; width:100%; height:100%; object-fit:contain; object-position:center bottom; align-self:end; }
.lf-founder-tag {
  position:absolute; z-index:2; left:18px; right:18px; bottom:17px;
  display:flex; align-items:center; gap:11px; padding:11px 13px;
  border:1px solid rgb(255 255 255 / .16); border-radius:13px;
  background:rgb(9 22 16 / .72); color:#fff; backdrop-filter:blur(12px);
}
.lf-founder-tag__mark { display:grid; place-items:center; width:35px; height:35px; border-radius:10px; background:#0b8060; color:#fff; font-size:.76rem; font-weight:700; }
.lf-founder-tag b,.lf-founder-tag small { display:block; }
.lf-founder-tag b { font-size:.88rem; font-weight:650; }
.lf-founder-tag small { margin-top:2px; color:rgb(255 255 255 / .62); font-size:.69rem; }

/* Marketing phrase riding the outer ring behind the portrait */
.lf-founder-ring { position:absolute; top:0; left:1%; width:98%; aspect-ratio:1; z-index:0; pointer-events:none; }
.lf-founder-ring text { fill:rgb(167 243 208 / .2); font-family:var(--font-mono); font-size:7.5px; font-weight:600; }
@media (prefers-reduced-motion: no-preference) {
  .lf-founder-ring { animation:ring-spin 80s linear infinite; }
}
@keyframes ring-spin { to { transform:rotate(1turn); } }
.lf-founder-copy { display:grid; gap:11px; align-content:center; text-align:left; }
.lf-founder-heading { max-width:20ch; font-size:clamp(1.24rem,1.02rem + .6vw,1.5rem); line-height:1.26; letter-spacing:-.028em; }
.lf-founder-copy > p:not(.mono-label) { max-width:54ch; color:var(--ink-70); font-size:.88rem; line-height:1.58; }
.lf-founder-copy strong { color:var(--ink); }
.lf-founder-links { display:grid; gap:8px; justify-items:start; margin-top:2px; padding-top:13px; border-top:1px solid var(--line); }
.lf-founder-captionline { color:var(--gray); font:500 .64rem var(--font-mono); letter-spacing:.075em; text-transform:uppercase; }

/* Proof: transparent, contextualized evidence rather than fabricated testimonials */
.lf-proof-section { background:linear-gradient(180deg,#f6f8f5 0%,#fbfcfa 100%); }
.lf-proof-section .shead .intro { max-width:62ch; }
.lf-proof-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:clamp(28px,4.5vw,46px); }
.lf-proof-card {
  min-width:0; display:flex; flex-direction:column; align-items:flex-start;
  min-height:190px; padding:21px 20px 20px; border:1px solid #e3eae4;
  border-radius:17px; background:#fff; box-shadow:0 5px 18px rgb(20 45 33 / .035);
}
.lf-proof-card--primary { background:#0e3d30; border-color:#0e3d30; }
.lf-proof-kicker { display:block; color:#718077; font:600 .59rem var(--font-mono); letter-spacing:.1em; line-height:1.5; }
.lf-proof-card--primary .lf-proof-kicker { color:#a7c7b8; }
.lf-proof-card strong { display:block; margin-top:17px; color:#0b8060; font-size:clamp(1.3rem,1.05rem + .8vw,1.85rem); letter-spacing:-.045em; line-height:1.12; }
.lf-proof-card--primary strong { color:#fff; }
.lf-proof-card p { margin-top:9px; color:#5d6b63; font-size:.82rem; line-height:1.55; }
.lf-proof-card--primary p { color:rgb(255 255 255 / .72); }
.lf-proof-detail {
  display:grid; grid-template-columns:minmax(180px,.52fr) minmax(0,1.48fr); gap:24px;
  margin-top:16px; padding:clamp(22px,3.2vw,32px); border:1px solid #dce8df;
  border-radius:18px; background:#fff;
}
.lf-proof-detail__label { display:flex; align-items:flex-start; gap:10px; color:#1c4937; font-size:.86rem; font-weight:650; line-height:1.4; }
.lf-proof-check { display:grid; place-items:center; flex:0 0 26px; height:26px; border-radius:50%; background:#e7f4ec; color:#0b8060; }
.lf-proof-detail h3 { font-size:1.12rem; line-height:1.3; margin-bottom:9px; }
.lf-proof-detail p { color:#56645c; font-size:.91rem; line-height:1.68; }
.lf-proof-detail .lf-proof-caveat { margin-top:12px; padding-top:12px; border-top:1px solid #edf1ee; color:#768078; font-size:.78rem; }
.lf-proof-footer { display:flex; align-items:center; justify-content:space-between; gap:22px; margin-top:22px; padding-top:22px; border-top:1px solid #e1e8e3; }
.lf-proof-footer > div { display:grid; gap:4px; }
.lf-proof-footer b { color:#26352d; font-size:.95rem; }
.lf-proof-footer span { color:#69766e; font-size:.83rem; }
.lf-proof-footer .btn { white-space:nowrap; }

/* Keep visual rhythm calm: less decorative noise, stronger reading hierarchy */
body.f-letter .lf-pat-dots,body.f-letter .lf-pat-grid,body.f-letter .lf-pat-lines,body.f-letter .lf-pat-tint { background-image:none; }
body.f-letter .section .shead { margin-bottom:4px; }
body.f-letter .lf-cta { border-color:#e7ece8; }
body.f-letter .lf-cta h3 { max-width:34ch; }
body.f-letter .lf-sit,body.f-letter .lf-appr { border-color:#e5ebe6; }
body.f-letter .lf-col--new { border-color:rgb(11 128 96 / .42); }
body.f-letter .assess__band { background:linear-gradient(145deg,#0d3026,#10251d 70%,#123c2e); }
body.f-letter .btn--primary { background:#0b8060; }
body.f-letter .btn--primary:hover { background:#08664d; }

@media (max-width: 899px) {
  body.f-letter .lf-hero__grid { grid-template-columns:1fr; }
  body.f-letter .lf-hero h1.display-1 { max-width:17ch; }
  body.f-letter .lf-person { grid-template-columns:minmax(0,1fr); max-width:720px; margin-inline:auto; }
  .lf-founder-visual { width:min(100%,572px); margin-inline:auto; }
  .lf-founder-stage { min-height:0; }  /* aspect-ratio drives size; prevents min-height x ratio overflow on phones */
  .lf-proof-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px) {
  body.f-letter .lf-hero { padding-block:42px 58px; }
  body.f-letter .lf-hero h1.display-1 { font-size:clamp(2.45rem,10vw,3.35rem); max-width:16ch; }
  body.f-letter .lf-hero .hero__actions { display:grid; grid-template-columns:1fr; }
  body.f-letter .lf-hero .hero__actions .btn { width:100%; }
  .lf-hero-trust { gap:8px 12px; }
  .lf-hero-trust span { font-size:.69rem; }
  .lf-founder-stage { border-radius:20px; }
  .lf-founder-visual { padding-left:6px; }
  .lf-founder-copy { gap:12px; }
  .lf-proof-grid { grid-template-columns:1fr 1fr; gap:9px; }
  .lf-proof-card { min-height:165px; padding:16px 14px; }
  .lf-proof-card strong { font-size:1.35rem; margin-top:13px; }
  .lf-proof-card p { font-size:.76rem; }
  .lf-proof-kicker { font-size:.53rem; }
  .lf-proof-detail { grid-template-columns:1fr; gap:13px; padding:19px 17px; }
  .lf-proof-footer { align-items:stretch; flex-direction:column; }
  .lf-proof-footer .btn { width:100%; }
}
@media (prefers-reduced-motion: reduce) {
  .lf-founder-stage { scroll-behavior:auto; }
}
