/* The public pages use the same typography and card rhythm as the app. */
.marketing-shell,.movely-landing { font-family: var(--mv-font-body); font-size: 15px; line-height: 1.6; }
.marketing-shell { --marketing-navy:#20352b; --marketing-green:#486236; --marketing-blue:#486236; --marketing-cream:#f2f3ed; --marketing-paper:#fffdf7; }
.marketing-shell :is(h1,h2,h3),.movely-landing :is(h1,h2,h3) { font-family: var(--mv-font-display); font-weight: 600; letter-spacing: -.015em; }
.marketing-shell .marketing-hero h1,.movely-landing .hero h1 { font-size: clamp(56px,6.2vw,88px); line-height: .99; letter-spacing: -.025em; }
.marketing-shell :is(.marketing-section-heading h2,.marketing-showcase h2,.marketing-final h2),.movely-landing h2,.mv-trust .mv-loop-head h2 { font-family: var(--mv-font-display); font-size: clamp(36px,4.3vw,56px); font-weight: 600; line-height: 1.05; }
.marketing-shell h3,.movely-landing h3 { font-size: 28px; line-height: 1.12; }
.marketing-shell :is(.marketing-kicker,.marketing-pill),.movely-landing :is(.overline,.mini-label,.window-bar,.hero-label,.discipline-line),.mv-trust :is(.mv-trust-kicker,.mv-step-meta,.mv-flow figcaption) { font-family: var(--mv-font-meta); font-size: 12px; line-height: 1.5; letter-spacing: .05em; }
.marketing-shell :is(.marketing-lead,.marketing-section-heading>p:last-child),.movely-landing :is(.hero-intro,.section-intro,.feature-copy>p,.library-copy>p,.continuity-grid p,.faq-list p) { font-family: var(--mv-font-body); font-size: 16px; line-height: 1.6; }
.movely-landing .hero h1 { margin: 20px 0 24px; }
.movely-landing .hero-intro { max-width: 390px; }
.movely-landing .hero-actions { gap: 12px; margin-top: 32px; }
.movely-landing .hero-label { gap: 16px; }
.movely-landing .hero-stamp { display: none; }
.movely-landing :is(.platform,.visits,.athlete-section,.continuity,.questions,.closing) { padding-block: 80px; }
.movely-landing .library-section { padding-block: 32px 80px; }
.movely-landing .section-heading { gap: 32px; margin-bottom: 32px; }
.movely-landing .feature-panel { gap: 48px; }
.movely-landing .feature-copy h3 { margin-bottom: 16px; }
.movely-landing .feature-copy p { font-size: 16px; line-height: 1.6; }
.movely-landing :is(.button,.feature-tabs button) { border-radius: var(--mv-radius-control); font-family: var(--mv-font-body); font-size: 14px; letter-spacing: 0; }
.movely-landing :is(.browser-shot,.video-card,.continuity-grid article,.library-visual),.marketing-shell :is(.marketing-feature-card,.marketing-price-card),.mv-trust :is(.mv-flow,.mv-reassurance-grid article) { border-radius: var(--mv-radius-card); box-shadow: none; }
.movely-landing .continuity-grid { gap: 24px; }
.movely-landing .continuity-grid article { padding: 24px; }
.movely-landing .continuity-grid h3 { margin-block: 20px 12px; }
.movely-landing .closing h2 { max-width: 620px; margin: 24px auto; }
.movely-landing .closing>.button { margin-top: 8px; }
.movely-landing .site-footer p { font-size: 14px; line-height: 1.5; }
.mv-trust { --mv-trust-sans:var(--mv-font-body); --mv-trust-display:var(--mv-font-display); }
.mv-trust .mv-coaches-head h2 { font-family: var(--mv-font-display); font-weight: 600; }
.mv-trust .mv-coach-copy h3 { font-family: var(--mv-font-display); font-size: 28px; font-weight: 600; }
.mv-trust .mv-reassurance-grid h3 { font-family: var(--mv-font-display); font-size: 28px; font-weight: 600; line-height: 1.12; }
.mv-trust .mv-reassurance-grid p { font-family: var(--mv-font-body); font-size: 15px; line-height: 1.6; }
.mv-trust .mv-flow-step h3 { font-family: var(--mv-font-display); font-size: 28px; font-weight: 600; }
.mv-trust .mv-loop-head { margin-bottom: 32px; }
.mv-trust :is(.mv-mini-feedback>span,.mv-mini-feedback b,.mv-mini-decision>span,.mv-step-meta,.mv-flow-foot,.mv-week-legend) { font-size: 12px; line-height: 1.5; }
@media(max-width: 760px) {
 .marketing-shell .marketing-hero h1,.movely-landing .hero h1 { font-size: clamp(48px,12.5vw,68px); line-height: 1.02; }
 .movely-landing .wrap { padding-inline: 20px; }
 .movely-landing :is(.platform,.visits,.athlete-section,.continuity,.questions,.closing) { padding-block: 48px; }
 .movely-landing .library-section { padding-block: 24px 48px; }
 .marketing-shell :is(.marketing-section-heading h2,.marketing-showcase h2,.marketing-final h2),.movely-landing h2,.mv-trust .mv-loop-head h2 { font-size: 36px; line-height: 1.08; }
 .movely-landing h3,.mv-trust :is(.mv-reassurance-grid h3,.mv-flow-step h3) { font-size: 26px; }
 .movely-landing .section-heading { margin-bottom: 24px; gap: 20px; }
 .movely-landing .hero-actions { margin-top: 24px; }
 .movely-landing .feature-panel { gap: 24px; }
 .movely-landing .continuity-grid { gap: 16px; }
 .movely-landing .continuity-grid article { padding: 20px; }
 .movely-landing .hero-intro { font-size: 16px; }
 .movely-landing .hero-intro br { display: none; }
 .mv-trust .mv-coach-copy h3 { font-size: 25px; }
 .mv-trust .mv-trust-wrap { padding-inline: 20px; }
}
@media(max-width: 359px) {
 .movely-landing .wrap,.mv-trust .mv-trust-wrap { padding-inline: 16px; }
 .movely-landing .hero h1 { font-size: 48px; }
}
