/* One scale for application text. Map labels and geometry keep their own styles.
   iOS body starts at 17px and follows Dynamic Type; rem preserves that scale. */
@font-face{font-family:Inter;src:url('./fonts/Inter.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{
  --font-body:-apple-system,BlinkMacSystemFont,Inter,'Segoe UI',sans-serif;
  --font-heading:Manrope,var(--font-body);
  --type-title:1.5882352941rem;
  --type-heading:1rem;
  --type-body:.9411764706rem;
  --type-copy:.8823529412rem;
  --type-description:.8235294118rem;
  --type-navigation:.7058823529rem;
  --type-label:.6470588235rem;
  font-family:var(--font-body);font-size:106.25%;
  -webkit-text-size-adjust:auto;text-size-adjust:auto;
}
@supports(font:-apple-system-body){:root{font:-apple-system-body;font-family:var(--font-body)}}
body{font-family:var(--font-body);font-size:var(--type-body);font-weight:400;line-height:1.5}
button,input,select,textarea{font-family:var(--font-body);letter-spacing:normal}
.brand{font-family:var(--font-heading);font-size:var(--type-body);font-weight:700;letter-spacing:normal;line-height:1.5}
.brand-name{white-space:nowrap}.brand-name b{font-weight:700}
.brand .city{font-family:var(--font-body);font-size:var(--type-label);font-weight:500;letter-spacing:normal}
.heading h1,.heading h2,.sheet-content h2{font-family:var(--font-heading);font-size:var(--type-title);font-weight:700;letter-spacing:-.0470588235rem;line-height:1.15}
.sheet-content h3,.settings-title,.info-copy h3,.permission-card h3,.step h3{font-family:var(--font-heading);font-size:var(--type-heading);font-weight:650;letter-spacing:-.0176470588rem;line-height:1.35}
.heading p,.muted,.empty,.hint,.info-copy,.permission-card p,.step p,.step details,.navigation-stops,.navigation-signal{font-size:var(--type-description);font-weight:400;letter-spacing:normal;line-height:1.55}
.search-box input,.form-input,.setting-row select,.home-search{font-size:var(--type-body);font-weight:400;line-height:1.5}
.search-option strong,.stop-row .row-copy strong,.variant-row,.arrival-row .destination,.setting-row,.location-summary{font-size:var(--type-copy);font-weight:500;line-height:1.45}
.search-option strong{text-transform:none}
.saved-place strong{font-size:var(--type-body);font-weight:500;line-height:1.45}
.setting-row strong{font-weight:500}
.saved-place small,.stop-row .row-copy small,.search-option small,.variant-row small,.setting-row small,.route-card small{font-size:var(--type-description);font-weight:400;letter-spacing:normal;line-height:1.5}
.bottom-nav button{font-family:var(--font-body);font-size:var(--type-navigation);font-weight:500;letter-spacing:normal;line-height:1.25}
.eyebrow,.route-label{font-size:var(--type-label);font-weight:700;letter-spacing:.0588235294rem;line-height:1.45;text-transform:none}
.field-label{font-size:var(--type-description);font-weight:500;letter-spacing:normal;line-height:1.5}
.source-tag,.arrival-time small{font-size:var(--type-label);font-weight:400;line-height:1.5}
.distance,.text-button,.location-summary .text-button,.route-summary,.step time{font-size:var(--type-description);letter-spacing:normal;line-height:1.5}
.primary,.secondary,.chip,.quick-places button{font-size:var(--type-copy);font-weight:500;line-height:1.5}
.arrival-time,.navigation-alert,.navigation-resume{font-size:var(--type-body);font-weight:500;line-height:1.5}
.route-card-top strong{font-size:1.4117647059rem;font-weight:700;letter-spacing:-.0294117647rem;line-height:1.25}
.route-card-top span{font-size:var(--type-description);font-weight:400;line-height:1.5}
.line-badge,.line-list button{font-size:1.0588235294rem;font-weight:700;letter-spacing:normal;line-height:1.35}
.route-summary .line-badge,.step .line-badge{font-size:var(--type-description);font-weight:700}
.sheet .sheet-handle .sheet-open-hint{font-size:var(--type-description);font-weight:500;line-height:1.5;background:none}
/* Let large accessibility text grow controls instead of clipping inside them. */
.form-input{height:max(48px,3em)}
.search-box{min-height:58px;height:max(58px,3.625em)}
@media(prefers-reduced-motion:reduce){.sheet{transition:none}}
