/* Modern system typography, no external font requests */
:root{
  --font-ui:"Segoe UI Variable Text","SF Pro Text",Roboto,"Noto Sans",Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --font-display:"Segoe UI Variable Display","SF Pro Display","Avenir Next",Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}

html{
  font-size:16px;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

body,
button,
input,
textarea,
select{
  font-family:var(--font-ui);
  font-kerning:normal;
  font-variant-ligatures:common-ligatures contextual;
  font-feature-settings:"kern" 1,"liga" 1,"calt" 1;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

body{
  line-height:1.62;
  letter-spacing:-.008em;
}

h1,h2,h3,h4,h5,h6,
.brand,
.phone,
.contact-phone,
.eyebrow,
.step-no,
.form-badge,
.status,
.footer-disclosure__label,
.footer-disclosure-label,
.legal-badge,
button{
  font-family:var(--font-display);
}

.brand{
  font-weight:780;
  letter-spacing:.055em;
  line-height:1;
}

.phone,
.contact-phone{
  font-variant-numeric:tabular-nums;
  font-feature-settings:"kern" 1,"tnum" 1;
}

/* Header and small interface copy */
.top-row{letter-spacing:-.005em}
.phone{font-weight:760;letter-spacing:-.015em}
.eyebrow{
  font-weight:720;
  letter-spacing:.095em;
  line-height:1.2;
}
.hero-note,
.status,
.form-badge{
  letter-spacing:-.005em;
}
.hero-note{font-size:13.5px;line-height:1.48}
.form-badge{font-weight:650;line-height:1.35}
.consent{
  font-size:11.5px;
  line-height:1.55;
  letter-spacing:0;
}
.consent a,
.footer-bottom a{
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.lead-form input{
  font-size:16px;
  font-weight:520;
  letter-spacing:-.01em;
}
.lead-form input::placeholder{
  color:#7b8d9d;
  opacity:1;
  font-weight:450;
}
.step-no{
  font-weight:800;
  letter-spacing:.16em;
}
.contact-phone{
  font-weight:780;
  letter-spacing:-.055em;
  line-height:.98;
}
.toast{
  font-weight:720;
  letter-spacing:-.015em;
  line-height:1.35;
}

/* Footer readability */
.footer-disclosure__person strong,
.footer-disclosure-person strong{
  font-family:var(--font-display);
  font-weight:720;
  letter-spacing:-.018em;
}
.footer-disclosure__person span,
.footer-disclosure-person span,
.footer-disclosure__item p,
.footer-disclosure-grid p{
  letter-spacing:0;
}
.footer-disclosure__item b,
.footer-disclosure-grid b{
  font-family:var(--font-display);
  font-weight:680;
  letter-spacing:-.01em;
}
.footer-bottom,
.footer-note{
  letter-spacing:0;
}
.footer-links a{
  font-weight:590;
  letter-spacing:-.008em;
}

/* Legal and informational pages */
.legal-hero h1{
  font-family:var(--font-display);
  font-weight:770;
  letter-spacing:-.052em;
  line-height:1.01;
  text-wrap:balance;
}
.legal-hero p{
  font-size:clamp(16.5px,1.8vw,19px);
  line-height:1.62;
  letter-spacing:-.012em;
  text-wrap:pretty;
}
.legal-hero .eyebrow{
  font-size:12px;
}
.crumbs,
.meta{
  letter-spacing:0;
}
.meta b{
  font-family:var(--font-display);
  font-weight:680;
}
.paper{
  font-size:17px;
  line-height:1.76;
}
.paper h2{
  font-family:var(--font-display);
  font-weight:750;
  letter-spacing:-.038em;
  line-height:1.12;
  text-wrap:balance;
}
.paper h3{
  font-family:var(--font-display);
  font-size:18px;
  font-weight:660;
  line-height:1.52;
  letter-spacing:-.018em;
  text-wrap:pretty;
}
.paper p,
.paper li,
.notice{
  letter-spacing:-.004em;
  text-wrap:pretty;
}
.paper p{
  color:#294052;
}
.paper li::marker{
  color:#0d91d0;
  font-weight:700;
}
.notice strong{
  font-family:var(--font-display);
  font-weight:720;
}
.side-card h3{
  font-family:var(--font-display);
  font-weight:720;
  letter-spacing:-.025em;
}
.toc a{
  font-size:14.5px;
  line-height:1.4;
  font-weight:540;
}
.back{
  font-family:var(--font-display);
  font-weight:680;
  letter-spacing:-.012em;
}
.cookie-table{
  line-height:1.55;
  letter-spacing:-.004em;
}
.cookie-table th{
  font-family:var(--font-display);
  font-weight:700;
  letter-spacing:-.012em;
}
.legal-badge{
  font-weight:720;
  letter-spacing:.01em;
}

/* Better rhythm on narrow screens */
@media (max-width:850px){
  .paper{font-size:16.5px;line-height:1.72}
  .paper h2{line-height:1.16}
  .paper h3{font-size:17.5px;line-height:1.5}
  .footer-links{line-height:1.55}
}

@media (max-width:540px){
  body{letter-spacing:-.006em}
  .brand{letter-spacing:.045em}
  .phone{font-size:13.5px;font-weight:740}
  .legal-hero h1{
    font-size:clamp(35px,10vw,43px);
    line-height:1.02;
    letter-spacing:-.047em;
  }
  .legal-hero p{font-size:16px;line-height:1.58}
  .paper{font-size:16px;line-height:1.7}
  .paper h2{
    font-size:clamp(23px,7vw,29px);
    margin-top:38px;
    letter-spacing:-.032em;
  }
  .paper h3{
    font-size:17px;
    line-height:1.48;
    margin-top:24px;
  }
  .contact-phone{letter-spacing:-.045em}
  .footer-disclosure__person strong,
  .footer-disclosure-person strong{font-size:16px;line-height:1.35}
}
