/* Homepage only: Apple-variant typography, spacing and buttons on top of the brand styles.
   Scope excludes .ob-faq and .footer on purpose. */
body { letter-spacing: -0.012em; }

/* eyebrows → 21px sentence-case grey (section-level only) */
.hero .eyebrow, .fix-head .eyebrow, .process .eyebrow, .ob-fit > .eyebrow, .ob-price > .eyebrow, .roi-head .eyebrow, .audit-copy .eyebrow, .pb-mindset .eyebrow, .testi .eyebrow, .reveal-inner .eyebrow, .symptoms .sym-eye, .symptoms-static .eyebrow, .clients-eye, .chat-eye {
  font-size: 21px; line-height: 1.19; font-weight: 600; letter-spacing: .011em; text-transform: none; color: #000; }
.hero .eyebrow, .process .eyebrow, .pb-mindset .eyebrow, .reveal-inner .eyebrow, .symptoms .sym-eye, .symptoms-static .eyebrow, .clients-eye, .chat-eye { color: rgba(255,255,255,.6); }
.pb-mindset .eyebrow { font-size: 17px; }

/* headings */
.hero-v2 h1 { font-size: var(--fs-display); line-height: 1.05; letter-spacing: -0.015em; max-width: 1100px; }
.symptoms h2, .reveal-inner h2, .fix-head h2, .process h2, .team-sec h2, .testi h2, .founder h2 {
  font-size: var(--fs-h1); line-height: 1.07; font-weight: 700; letter-spacing: -0.005em; }
.fix-head h2, .team-sec h2, .process h2 { margin-top: 12px; }
.fix-group { font-size: 28px; line-height: 1.14; }
.fix-card h3, .plan h3, .cmp3 h3 { font-size: var(--fs-h4); line-height: 1.17; }
.plan h3 { font-size: var(--fs-h4); line-height: 1.2; }
.audit h3 { font-size: var(--fs-h3); line-height: 1.12; }
.roi-head h3 { font-size: var(--fs-h3); line-height: 1.12; }
.pb-mindset .q { font-size: 28px; line-height: 1.2; }

/* subheads → 28px grey, light */
.hero-sub, .how-sub, .team-sec .sub, .process .how-sub { font-size: var(--fs-lead); line-height: 1.14; letter-spacing: .007em; font-weight: 400; color: #6b6560; max-width: 760px; margin-left: auto; margin-right: auto; }
.hero-sub, .process .how-sub { color: rgba(255,255,255,.72); font-size: 24px; line-height: 1.3; }
.hero-sub strong { color: var(--gold); }
.reveal-inner p.rv { font-size: 28px; line-height: 1.25; font-weight: 500; }
.fix-card > p, .plan ul, .cmp3 p, .fit li, .deliv li, .audit .lede, .roi-head p:not(.eyebrow) { font-size: var(--fs-body-lg); line-height: 1.47; }

/* spacing */
.hero-v2 .hero-inner { padding-top: 190px; padding-bottom: 0; }
.hero-v2 .hero-cta2 { margin-top: 36px; }
.fix, .team-sec, .process, .founder { padding-top: 120px; padding-bottom: 110px; }
.ob-fit, .ob-cmp { padding-top: 0; }
.fix-head, .team-sec .sub { margin-bottom: 8px; }
.fix-grid, .plans, .cmp3, .fit-grid { margin-top: 48px; }
.fix-group { margin-top: 80px; }
.symptoms .pin, .ob-problem .pin { padding-left: 22px; padding-right: 22px; }

/* radius */
.card, .fix-card, .plan, .audit, .roi, .symptom, .symptom-s, .testi-card, .pb-mindset, .cmp3 .card, .fit, .guarantee, .viz, .mail-card, .stat-card, .process-steps > div { border-radius: 24px; }
.proof-pill, .fix-copy .n { border-radius: 980px; }
.win, .win.small, .hype-win, .process-win { border-radius: 18px; }

/* buttons: size and text style come from the design system tokens (system.css) */
.cta-row { gap: 16px; }
.ba-toggle button { font-size: 15px; padding: 0 22px; height: 40px; }

/* calculator inputs */
.calc input { height: 52px; border-radius: 14px; font-size: 19px; }
.calc-out > div { border-radius: 18px; padding: 24px; }
.calc-out strong { font-size: 36px; }

@media (max-width: 810px) {
  .hero-v2 h1 { line-height: 1.08; }
  .symptoms h2, .reveal-inner h2, .fix-head h2, .process h2, .team-sec h2, .testi h2, .founder h2 { line-height: 1.12; }
  .hero-sub, .process .how-sub { font-size: var(--fs-lead); }
  .hero-sub, .how-sub, .team-sec .sub, .process .how-sub { line-height: 1.35; }
  .reveal-inner p.rv { font-size: 20px; line-height: 1.35; }
  .hero .eyebrow, .fix-head .eyebrow, .process .eyebrow, .ob-fit > .eyebrow, .ob-price > .eyebrow, .roi-head .eyebrow, .audit-copy .eyebrow, .testi .eyebrow { font-size: 17px; }
  .fix, .team-sec, .process, .founder { padding-top: 80px; padding-bottom: 72px; }
  .hero-v2 .hero-inner { padding-top: 130px; }
}

.chat h2 { font-size: 44px; line-height: 1.12; letter-spacing: -0.6px; font-weight: 700; }
.big-quote p { font-size: 52px; line-height: 1.1; letter-spacing: -0.02em; }
@media (max-width: 1068px) { .big-quote p { font-size: 40px; } }
@media (max-width: 810px) { .chat h2 { font-size: 28px; line-height: 1.15; } .big-quote p { font-size: 26px; } }
