/* Typography layer: loads after style.css */
:root{--font:'DM Sans',Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--display:'Manrope','DM Sans',ui-sans-serif,system-ui,sans-serif}
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
body{font-family:var(--font);font-size:1rem;line-height:1.65;font-feature-settings:"kern","liga";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3,h4{font-family:var(--display);line-height:1.15;letter-spacing:-.022em;text-wrap:balance}
h1,.hero h1,.page-hero h1{font-weight:800;letter-spacing:-.032em;line-height:1.08}
.hero h1{font-size:clamp(2rem,3.7vw,3.2rem);max-width:600px}
.hero h1 span{display:block;margin-top:.2em;font-size:.74em;font-weight:700;letter-spacing:-.025em;line-height:1.15}
.page-hero h1{font-size:clamp(2rem,4.2vw,3.1rem)}
.section-heading h2,.route-model-copy h2,.pricing-header h2{font-size:clamp(1.65rem,3vw,2.35rem);letter-spacing:-.028em;line-height:1.17}
p,li{text-wrap:pretty}
.hero-subcopy,.section-heading p,.page-hero p{font-size:clamp(1.02rem,1.5vw,1.15rem);line-height:1.65;color:inherit}
.section-heading p,.page-hero p{max-width:62ch;margin-inline:auto}
.content{font-size:1.0625rem;line-height:1.75}
.content p,.content li{max-width:70ch}
.content h2{font-size:clamp(1.4rem,2.4vw,1.85rem);margin:2.1em 0 .6em}
.content h3{font-size:1.2rem;margin:1.6em 0 .45em;letter-spacing:-.015em}
.content ul,.content ol{padding-left:1.25em}.content li{margin:.4em 0}
.eyebrow,.section-kicker,.card-eyebrow,.route-labels,.route-board-head,.spotlight-badge,.plan-eyebrow,.plan-details-title,.tabs-label,.doc-sidebar h4{font-size:.75rem!important;letter-spacing:.08em!important}
.compact-card h3,.step-card h3,.platform-card h3,.trust-card h3{font-size:1.0625rem;letter-spacing:-.012em}
.compact-card p,.step-card p,.platform-card p,.trust-card p,.faq-answer p{font-size:.95rem;line-height:1.6}
.faq-item summary{font:700 1.02rem/1.45 var(--display);letter-spacing:-.01em}
.brand-text{font-size:1rem;letter-spacing:-.02em}
.start-option strong,.start-option small{font-size:.9rem}
.start-option small{font-size:.8rem}
.plan-price{letter-spacing:-.035em}
.button{font-family:var(--display);font-size:.95rem;letter-spacing:-.005em}
.footer-column h3{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}
.footer-column a,.footer-about p,.footer-bottom{font-size:.9rem;line-height:1.7}
.desktop-nav a{font-size:.92rem}
.guide-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:20px}
.guide-list a{display:block;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;text-decoration:none;color:var(--ink);box-shadow:var(--shadow-soft)}
.guide-list a strong{display:block;font:800 1rem/1.3 var(--display);margin-bottom:4px}
.guide-list a span{font-size:.9rem;color:var(--muted)}
@media(max-width:640px){body{font-size:1rem}.content{font-size:1.03rem}.hero h1{font-size:clamp(1.9rem,8.4vw,2.4rem)}}

/* Header + start menu fixes */
.brand{min-width:max-content;flex:0 0 auto}
.brand-text{font-size:.95rem;white-space:nowrap}
.start-panel-head strong,.start-option strong{color:#06172b}
.start-option small{color:#4f6379}
.start-panel-links a{font-size:.8rem}
.start-panel-note{font-size:.8rem}
@media(max-width:1400px){.header-web{display:none}}
@media(max-width:1100px){
  .desktop-nav{display:none}
  .mobile-menu-button{display:grid}
  .header-actions{margin-left:auto}
}
@media(max-width:560px){
  .brand{min-width:0}
  .brand-text{white-space:normal;line-height:1.1;font-size:.85rem;max-width:112px}
  .brand-text strong{display:block}
}
@media(max-width:360px){.brand-text{max-width:84px;font-size:.76rem}.header-actions .button{padding-inline:9px;font-size:.82rem}.brand img{width:32px;height:32px}}
