/* Hallmark · shape: Conversational · genre: editorial · theme: Loom (deal 1/3, seed soft-calm-wellness-free-b62f·888565f3·2026-10-24·r0) · job: hire · draw: 557d42
 * hero: Index · nav: slab · footer: mast · imagery: photographs · signature: the sample checkup set as a paper document · loom: accent moved from indigo to moss for the Morning Practice brief
 * axes: light/roman-serif/cool · posture: committed · contrast: pass · fold: pass · v2.0.0 */
/* Hallmark · pre-emit critique: P4 H4 E4 S4 R4 V4 · weakest: H, the hero headline was cut to five words so the original promise moved to the report section heading */
/* Version D · fonts and palette sampled from the reference post: Plus Jakarta Sans (display), Inter (body), Instrument Serif italic (accent); #FAFAF8 page, #0A0F1A ink, #5A3CF0 violet, #EFEAFD pill · tighter scale · was: Version C · palette and type: Evening Class (dusty lilac, dusk, sand, rice paper, plum ink; Young Serif + Manrope) · hero composition follows the reference post: centred tag, two-line headline, lead, one CTA, ticks, framed board window */
@import url("./tokens.css");
@import url("./base.css");

.brand .dot { fill: var(--color-sage); }

/* nav: logo left, links centred, one quiet link right */
.slab { background: color-mix(in oklab, var(--color-paper) 88%, white); border-bottom: var(--rule-hair) solid var(--color-rule); position: relative; z-index: var(--z-raised); }
.slab-in { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: var(--space-xl); min-height: 68px; }
.brand { display: inline-flex; align-items: center; gap: var(--space-sm); text-decoration: none; font-family: var(--font-display); font-size: var(--text-lg); color: var(--color-ink); padding-block: var(--space-xs); justify-self: start; }
.brand svg { color: var(--color-accent); }
.slab-links { display: flex; gap: var(--space-xl); }
.slab-links a { text-decoration: none; font-size: var(--text-sm); color: var(--color-ink-2); padding-block: var(--space-sm); transition: color var(--dur-micro) var(--ease-out); }
.slab-mail { justify-self: end; text-decoration: none; font-size: var(--text-sm); font-weight: 600; color: var(--color-ink); padding: var(--space-xs) var(--space-md); border: 1.5px solid var(--color-ink); border-radius: var(--radius-pill); min-height: 40px; display: inline-flex; align-items: center; transition: background-color var(--dur-short) var(--ease-out); }
@media (hover: hover) { .slab-links a:hover, .mail-line:hover { color: var(--color-accent-2); text-decoration: underline; } .slab-mail:hover { background: var(--color-paper-2); } }

/* buttons */
.btn { display: inline-flex; align-items: center; min-height: 54px; padding: 0 var(--space-xl); background: var(--color-accent); color: var(--color-accent-ink); text-decoration: none; font-weight: 600; font-size: var(--text-lg); border-radius: var(--radius-pill); box-shadow: 0 6px 18px -8px color-mix(in oklab, var(--color-accent) 60%, transparent); transition: background-color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out); }
.btn:active { transform: scale(0.97); }
@media (hover: hover) { .btn:hover { background: var(--color-accent-2); } }

/* hero: centred stack, then the framed board */
.hero { padding-top: var(--space-3xl); background: linear-gradient(180deg, var(--color-paper) 0%, var(--color-paper) 55%, var(--color-paper-2) 100%); }
.hero-in { display: flex; flex-direction: column; align-items: center; text-align: center; }
.tag { display: inline-block; padding: 4px 14px; border: 1.5px solid var(--color-lilac); background: color-mix(in oklab, var(--color-lilac) 18%, var(--color-paper)); color: var(--color-accent-2); border-radius: 999px; font-size: var(--text-sm); font-weight: 600; }
.hero h1 { margin-top: var(--space-lg); font-size: clamp(2.5rem, 3.6vw + 0.9rem, 4.5rem); line-height: 1.05; max-width: none; letter-spacing: -0.02em; }
.hero h1 span { color: var(--color-accent); }
.hero .lead { margin-top: var(--space-lg); color: var(--color-ink-2); max-width: 46ch; font-size: var(--text-lead); }
.hero-act { margin-top: var(--space-xl); }
.ticks { list-style: none; margin: var(--space-lg) 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-xs) var(--space-lg); font-size: var(--text-sm); color: var(--color-ink-2); }
.ticks li::before { content: "\2713"; margin-right: 6px; color: var(--color-accent); }
.ticks .hi { color: var(--color-accent); font-weight: 600; }
.stage { position: relative; margin-top: var(--space-2xl); max-width: 1200px; }
.stage-photo { position: absolute; inset: 0 var(--gutter) auto; height: 300px; margin: 0; border-radius: var(--radius-card); overflow: hidden; }
.stage-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 70%; filter: saturate(0.8) contrast(0.95); }
.window { position: relative; z-index: 1; margin: 0 auto; max-width: 1040px; transform: translateY(64px); background: color-mix(in oklab, var(--color-paper) 70%, white); border: 1px solid var(--color-rule); border-radius: var(--radius-card); box-shadow: 0 30px 60px -30px color-mix(in oklab, var(--color-ink) 35%, transparent); overflow: hidden; }
.win-bar { display: flex; align-items: center; gap: var(--space-lg); padding: var(--space-md) var(--space-lg); border-bottom: 1px solid var(--color-rule); }
.dots { display: inline-flex; gap: 7px; } .dots i { width: 11px; height: 11px; border-radius: 50%; background: var(--color-paper-3); } .dots i:nth-child(2) { background: var(--color-sand); } .dots i:nth-child(3) { background: var(--color-lilac); }
.win-title { font-family: var(--font-body); font-weight: 600; font-size: var(--text-sm); letter-spacing: 0; max-width: none; }
.win-note { margin-left: auto; font-size: var(--text-xs); color: var(--color-muted); padding: 3px 10px; border: 1px solid var(--color-rule); border-radius: 999px; }
.board { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-lg); padding: var(--space-xl) var(--space-xl) var(--space-2xl); text-align: left; }
.lane h3 { display: flex; align-items: center; gap: var(--space-xs); font-family: var(--font-body); font-size: var(--text-sm); font-weight: 600; letter-spacing: 0; margin-bottom: var(--space-md); }
.lane h3 i { width: 8px; height: 8px; border-radius: 50%; } .l1 { background: var(--color-sand); } .l2 { background: var(--color-lilac); } .l3 { background: var(--color-accent); }
.count { font-size: var(--text-xs); padding: 0 6px; border-radius: 6px; background: var(--color-paper-2); color: var(--color-muted); }
.card { background: #fff; border: 1px solid var(--color-rule); border-radius: 12px; padding: var(--space-md); margin-bottom: var(--space-md); }
.card p { margin-top: var(--space-sm); font-weight: 500; font-size: var(--text-sm); }
.card small { display: block; margin-top: var(--space-sm); padding-top: var(--space-sm); border-top: 1px solid var(--color-rule); color: var(--color-muted); font-size: var(--text-xs); }
.chip { display: inline-block; font-size: var(--text-xs); font-weight: 600; padding: 2px 8px; border: 1px solid var(--color-rule); border-radius: 6px; color: var(--color-ink-2); }
.card.now { border-color: var(--color-lilac); box-shadow: 0 0 0 4px color-mix(in oklab, var(--color-lilac) 22%, transparent); transform: translateY(14px); }
.card.done p { color: var(--color-muted); }
.card.done small { color: var(--color-accent); font-weight: 600; }
.for { margin-top: 112px; padding-bottom: var(--space-2xl); text-align: center; font-size: var(--text-md); font-weight: 600; color: var(--color-ink-2); }

/* the sample report as a document */
.report-sec { padding-block: var(--section-gap); background: var(--color-paper); }
.report-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-3xl); align-items: start; }
.report-intro h2 { font-size: var(--text-display-s); max-width: 16ch; }
.report-photo { margin: var(--space-xl) 0 0; aspect-ratio: 4 / 5; max-width: 360px; overflow: hidden; border-radius: var(--radius-card); }
.report-photo img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.88) contrast(0.96); }
.report-text { padding-top: var(--space-md); }
.report-text .lead { color: var(--color-ink-2); max-width: 40ch; }
.report { background: var(--color-paper); padding: var(--space-2xl); border-top: var(--rule-ink) solid var(--color-accent); }
.report-head h3 { font-size: var(--text-2xl); }
.report-note { margin-top: var(--space-xs); font-size: var(--text-sm); color: var(--color-muted); }
.report-cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-xl); margin-top: var(--space-xl); }
.report h4 { margin: 0 0 var(--space-sm); font-size: var(--text-md); font-weight: 500; }
.report ul { list-style: none; margin: 0; padding: 0; }
.report li { padding: var(--space-sm) 0; border-top: var(--rule-hair) solid var(--color-rule); font-size: var(--text-sm); line-height: 1.4; }
.report li b { display: block; font-weight: 500; color: var(--color-muted); }
.fixed li { color: var(--color-accent-2); }

/* how it works */
.how { padding-block: var(--section-gap); }
.how-grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--space-3xl); align-items: start; }
.how-photo { margin: 0; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--radius-card); }
.how-photo img, .check-photo img, .faq-photo img, .close-photo img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.88) contrast(0.96); }
.how-steps { display: grid; gap: var(--space-xl); padding-top: var(--space-xl); }
.how-steps h2 { margin-bottom: var(--space-md); }
.step { border-top: var(--rule-hair) solid var(--color-rule); padding-top: var(--space-lg); }
.step h3 { font-size: var(--text-2xl); }
.step p { margin-top: var(--space-sm); color: var(--color-ink-2); max-width: 48ch; }

/* what I check */
.check { padding-block: var(--section-gap); background: var(--color-paper-2); }
.check-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-template-areas: "g p" "w b"; gap: var(--space-2xl) var(--space-3xl); margin-top: var(--space-2xl); }
.check-col.wide { grid-area: g; }
.check-photo { grid-area: p; margin: 0; aspect-ratio: 16 / 9; overflow: hidden; }
.check-col h3 { font-size: var(--text-2xl); padding-bottom: var(--space-sm); border-bottom: var(--rule-ink) solid var(--color-rule-ink); }
.check-col ul { list-style: none; margin: 0; padding: 0; }
.check-col li { text-wrap: pretty; padding: var(--space-sm) 0; border-bottom: var(--rule-hair) solid var(--color-rule); }
.check-then { margin-top: var(--space-2xl); font-size: var(--text-lead); max-width: 40ch; }

/* guarantee band */
.promise { background: var(--color-accent); color: var(--color-accent-ink); padding-block: var(--section-gap-s); }
.promise-in { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); gap: var(--space-3xl); align-items: baseline; }
.promise h2 { color: var(--color-accent-ink); }
.promise { padding-block: var(--section-gap); }
.promise .lead { max-width: 30ch; font-family: var(--font-display); font-size: var(--text-display-s); line-height: 1.12; }

/* pricing */
.pricing { padding-block: var(--section-gap); }
.pricing-grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--space-3xl); }
.price-rows { border-top: var(--rule-ink) solid var(--color-rule-ink); }
.price { display: grid; grid-template-columns: minmax(0, 14rem) minmax(0, 1fr) auto; gap: var(--space-lg); align-items: baseline; padding: var(--space-lg) 0; border-bottom: var(--rule-hair) solid var(--color-rule); }
.price h3 { font-size: var(--text-2xl); font-variant-numeric: tabular-nums; }
.price p { color: var(--color-muted); }
.price .amt { font-family: var(--font-display); font-size: var(--text-3xl); color: var(--color-ink); font-variant-numeric: tabular-nums; }
.price.main .amt { color: var(--color-accent); }

/* conversational FAQ */
.faq { padding-block: var(--section-gap); background: var(--color-paper-2); }
.faq-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-3xl); align-items: start; }
.faq-side { position: sticky; top: var(--space-xl); }
.faq-side h2 { max-width: 12ch; }
.faq-photo { margin: var(--space-xl) 0 0; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--radius-card); }
.qa { padding: var(--space-xl) 0; border-top: var(--rule-hair) solid var(--color-rule); }
.qa:first-child { border-top: var(--rule-ink) solid var(--color-rule-ink); }
.qa h3 { font-size: var(--text-2xl); }
.qa p { margin-top: var(--space-sm); font-size: var(--text-lead); color: var(--color-ink-2); }

/* close */
.close { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); max-width: var(--container); margin-inline: auto; }
.close-photo { margin: 0; overflow: hidden; min-height: 560px; }
.close-in { padding-block: var(--section-gap-s); display: flex; flex-direction: column; justify-content: center; gap: var(--space-lg); padding-left: var(--space-3xl); }
.close-in h2 { font-size: var(--text-display-s); }
.close-act { display: flex; flex-wrap: wrap; gap: var(--space-md) var(--space-lg); align-items: center; margin-top: var(--space-sm); }
.mail-line { color: var(--color-accent); font-weight: 500; padding-block: var(--space-sm); transition: color var(--dur-micro) var(--ease-out); }

/* mast footer */
.mast { background: var(--color-ink); color: var(--color-paper); padding: var(--space-3xl) 0 var(--space-xl); }
.mast-word { font-family: var(--font-display); font-size: clamp(3.5rem, 11vw, 10rem); line-height: 0.95; letter-spacing: var(--tracking-display); margin: 0; }
.mast-row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) auto; gap: var(--space-lg); margin-top: var(--space-xl); padding-top: var(--space-lg); border-top: var(--rule-hair) solid var(--color-muted); font-size: var(--text-sm); }
.mast a { color: var(--color-paper); }
.mast :focus-visible, .promise :focus-visible { outline-color: var(--color-paper); }
.credits { margin-top: var(--space-xl); font-size: var(--text-xs); color: var(--color-paper-3); max-width: 58ch; }

@media (max-width: 60rem) {
  .slab-links { display: none; }
  .slab-mail { margin-left: auto; border-left: 0; padding-left: 0; }
  .slab-in { grid-template-columns: 1fr auto; }
  .board { grid-template-columns: minmax(0, 1fr); padding: var(--space-lg); }
  .card.now { transform: none; }
  .window { transform: translateY(64px); }
  .stage-photo { height: 260px; }
  .for { margin-top: 112px; }
  .report-grid, .how-grid, .faq-grid, .pricing-grid, .promise-in { grid-template-columns: minmax(0, 1fr); gap: var(--space-xl); }
  .faq-side { position: static; }
  .check-grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "g" "p" "w" "b"; gap: var(--space-xl); }
  .close { grid-template-columns: minmax(0, 1fr); }
  .close-photo { min-height: 0; aspect-ratio: 4 / 3; }
  .close-in { padding-left: var(--gutter); }
}
@media (max-width: 40rem) {
  .slab-in { min-height: 60px; gap: var(--space-md); }
  .hero .ticks { flex-direction: column; align-items: center; }
  .brand { font-size: var(--text-lg); }
  .slab-mail { font-size: var(--text-xs); }
  .hero { padding-top: var(--space-2xl); }
  .hero h1 { font-size: 2.35rem; }
  .hero h1 br { display: none; }
  .stage { margin-top: var(--space-2xl); }
  .stage-photo { inset: 0 0 auto; height: 200px; }
  .window { transform: translateY(120px); }
  .win-note { display: none; }
  .for { margin-top: 112px; }
  .btn { width: 100%; justify-content: center; }
  .index a { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .report { padding: var(--space-lg); }
  .report-cols { grid-template-columns: minmax(0, 1fr); }
  .price { grid-template-columns: minmax(0, 1fr) auto; }
  .price p:not(.amt) { grid-column: 1 / -1; grid-row: 2; }
  .price .amt { grid-row: 1; grid-column: 2; }
  .mast-row { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Version D: reference styling, tighter ---------- */
@media (max-width: 60rem) { :root { --section-gap-s: 48px; --section-gap: 56px; --section-gap-l: 64px; } }
@media (max-width: 40rem) { :root { --section-gap-s: 40px; --section-gap: 48px; --section-gap-l: 56px; } }
body { font-size: 0.9375rem; line-height: 1.55; }
h1, h2, h3 { letter-spacing: var(--tracking-display); }
h3 { letter-spacing: -0.015em; font-weight: 700; }
.slab { background: var(--color-paper); border-bottom: 1px solid var(--color-rule); }
.slab-in { min-height: 56px; }
.brand { font-family: var(--font-display); font-weight: 700; font-size: 1.125rem; letter-spacing: -0.02em; }
.brand svg { color: var(--color-ink); width: 26px; height: 26px; }
.brand .dot { fill: var(--color-ink); }
.slab-links { gap: var(--space-lg); }
.slab-links a { color: var(--color-ink-2); font-size: 0.875rem; }
.slab-mail { border: 1.5px solid var(--color-ink); border-radius: 8px; font-family: var(--font-display); font-weight: 600; font-size: 0.9375rem; min-height: 36px; padding: 0 14px; background: var(--color-white); }
.btn { font-family: var(--font-display); font-weight: 700; font-size: 1.0625rem; min-height: 46px; padding: 0 24px; border-radius: var(--radius-pill); background: var(--color-accent); box-shadow: 0 1px 0 rgba(255,255,255,.25) inset, 0 6px 16px -6px rgba(90,60,240,.55); }
.hero { padding-top: 40px; background: var(--color-paper); }
.tag { border: 1.5px solid var(--color-lilac); background: var(--color-pill-bg); color: var(--color-pill-ink); font-family: var(--font-display); font-weight: 700; font-size: 0.8125rem; padding: 2px 12px; border-radius: 999px; }
.hero h1 { margin-top: 18px; font-size: clamp(2.25rem, 2.6vw + 1rem, 3.5rem); line-height: 1.04; font-weight: 800; letter-spacing: -0.035em; color: var(--color-ink); }
.hero h1 em { font-family: var(--font-accent); font-style: italic; font-weight: 400; color: var(--color-accent); letter-spacing: -0.01em; font-size: 1.08em; }
.hero h1 span { color: inherit; }
.hero .lead { margin-top: 16px; font-size: 1.0625rem; color: var(--color-ink-2); max-width: 48ch; }
.hero-act { margin-top: 24px; }
.ticks { margin-top: 14px; font-size: 0.875rem; color: var(--color-ink-2); gap: 4px 18px; }
.ticks li::before { color: var(--color-ink-2); }
.ticks .hi { color: var(--color-pill-ink); font-weight: 600; }
.ticks .hi::before { color: var(--color-pill-ink); }
.stage { margin-top: 28px; }
.stage-photo { height: 180px; border-radius: var(--radius-card); }
.window { transform: translateY(28px); background: var(--color-white); border: 1px solid var(--color-rule); border-radius: 16px; box-shadow: 0 1px 2px rgba(10,15,26,.04), 0 18px 40px -18px rgba(10,15,26,.18); }
.win-bar { padding: 12px 20px; }
.dots i { background: #FF5F57 !important; } .dots i:nth-child(2) { background: #FEBC2E !important; } .dots i:nth-child(3) { background: #28C840 !important; }
.win-title { font-family: var(--font-display); font-weight: 700; }
.win-note { background: var(--color-deep); color: #fff; border-color: var(--color-deep); font-weight: 500; }
.board { gap: 20px; padding: 20px 28px 28px; }
.lane h3 { font-family: var(--font-display); font-size: 0.9375rem; font-weight: 600; letter-spacing: 0; }
.l1 { background: var(--color-faint) !important; } .l2 { background: var(--color-accent) !important; } .l3 { background: #22B573 !important; }
.count { background: #EFF0F2; color: var(--color-muted); font-weight: 600; }
.card { border-radius: 10px; border: 1px solid var(--color-rule); box-shadow: 0 1px 3px rgba(10,15,26,.06); padding: 12px 14px; margin-bottom: 12px; }
.card p { font-weight: 600; color: var(--color-ink); margin-top: 8px; }
.chip { font-family: var(--font-display); font-weight: 700; font-size: 0.6875rem; text-transform: uppercase; letter-spacing: .04em; border-radius: 6px; padding: 1px 7px; }
.card.now { border-color: var(--color-lilac); box-shadow: 0 0 0 3px rgba(90,60,240,.12), 0 10px 24px -10px rgba(90,60,240,.35); }
.card.done small { color: var(--color-green); }
.for { margin-top: 64px; padding-bottom: 32px; font-family: var(--font-display); font-weight: 700; font-size: 0.875rem; text-transform: uppercase; letter-spacing: .04em; color: var(--color-ink-2); }
h2 { font-weight: 700; }
.report-intro h2, .close-in h2 { font-size: var(--text-display-s); }
.promise .lead { font-family: var(--font-display); font-weight: 600; font-size: clamp(1.25rem, 1vw + 1rem, 1.75rem); letter-spacing: -0.02em; line-height: 1.3; }
.promise { background: var(--color-ink); }
.price .amt, .mast-word { font-family: var(--font-display); font-weight: 800; letter-spacing: -0.03em; }
.price.main .amt { color: var(--color-accent); }
.check, .faq { background: var(--color-paper-2); }
.qa { padding: 20px 0; }
.qa h3, .step h3, .check-col h3, .price h3 { font-size: 1.1875rem; }
.qa p { font-size: 1rem; }
.close-photo { min-height: 420px; }
.mast { padding: var(--space-2xl) 0 var(--space-lg); }
.mast-word { font-size: clamp(2.5rem, 7vw, 6rem); }
.report-photo, .how-photo, .faq-photo, .close-photo, .check-photo { border-radius: var(--radius-card); overflow: hidden; }
@media (max-width: 40rem) { .slab-mail { min-height: 44px; } .slab-links a, .mail-line { min-height: 44px; display: inline-flex; align-items: center; } .hero { padding-top: 28px; } .btn { width: auto; min-width: 240px; justify-content: center; min-height: 48px; } }
@media (max-width: 60rem) { .close-photo { min-height: 0; width: 100%; } }
.mast a { display: inline-block; padding-block: 13px; }
@media (max-width: 40rem) { .board { gap: 4px; padding: 16px; } .for { margin-top: 56px; } }
.brand svg.logo { width: auto; height: 28px; display: block; }

/* Lead form */
.lead-form { margin: 24px auto 0; max-width: 640px; text-align: left; background: var(--color-white); border: 1px solid var(--color-rule); border-radius: var(--radius-card); padding: 20px; box-shadow: 0 10px 30px -18px rgba(10,15,26,.35); color: var(--color-ink); }
.lf-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px; margin-bottom: 16px; }
.lead-form label { display: flex; flex-direction: column; gap: 6px; font: 600 0.875rem/1.3 var(--font-body); color: var(--color-ink-2); }
.lead-form .lf-wide { grid-column: 1 / -1; }
.lead-form .opt { font-weight: 400; color: var(--color-muted); }
.lead-form input { font: 400 1rem/1.4 var(--font-body); color: var(--color-ink); min-height: 46px; padding: 10px 12px; border: 1px solid var(--color-rule-ink); border-radius: 10px; background: var(--color-paper); width: 100%; box-sizing: border-box; }
.lead-form input:focus { outline: 2px solid var(--color-focus); outline-offset: 1px; background: var(--color-white); }
.lead-form .btn { border: 0; cursor: pointer; width: 100%; justify-content: center; }
.lead-form .btn:disabled { opacity: .6; }
.lf-note { margin: 10px 0 0; font-size: .8125rem; color: var(--color-muted); text-align: center; }
.lf-status:empty { display: none; }
.lf-status { margin: 10px 0 0; font-size: .9375rem; text-align: center; }
.lf-status[data-t=ok] { color: var(--color-green); font-weight: 600; } .lf-status[data-t=err] { color: var(--color-error); }
.hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cal-slot { margin-top: 12px; }
@media (max-width: 40rem) { .lf-grid { grid-template-columns: 1fr; } .lead-form { padding: 16px; } .lead-form .btn { min-width: 0; width: 100%; } }
.brand .wordmark{font-family:var(--font-display);font-weight:700;font-size:1.25rem;letter-spacing:-0.02em;color:var(--color-ink)}
.contact{padding:72px 0;border-top:1px solid rgba(7,15,34,.08)}.contact h2{font-family:var(--font-display);font-size:1.6rem;margin:0 0 16px}.contact p{margin:6px 0}
.container.narrow{max-width:760px}
.btn-ghost{background:transparent;color:var(--color-ink);border:1.5px solid currentColor;box-shadow:none}
.doc{padding:56px 0 80px}.doc h1{font-family:var(--font-display);font-size:2.2rem;letter-spacing:-.02em;margin:0 0 8px}.doc h2{font-family:var(--font-display);font-size:1.2rem;margin:32px 0 8px}.doc p,.doc li{line-height:1.65;max-width:68ch}.doc .muted{opacity:.7}
.topbar{padding:20px 0;border-bottom:1px solid rgba(7,15,34,.08)}.topbar a{text-decoration:none}
.cal-wrap{min-height:640px;margin-top:24px}
