/*
  Typography concept: Newsreader + Gilroy-ready geometric sans.
  Gilroy is listed first, but is not embedded without a confirmed webfont license.
  Manrope is the bundled open-font fallback used by this prototype.
*/
@font-face{
  font-family:"Newsreader";
  src:url("assets/fonts/Newsreader-Variable.ttf") format("truetype");
  font-style:normal;
  font-weight:400 600;
  font-display:swap;
}
@font-face{
  font-family:"Newsreader";
  src:url("assets/fonts/Newsreader-Italic-Variable.ttf") format("truetype");
  font-style:italic;
  font-weight:400 500;
  font-display:swap;
}
@font-face{
  font-family:"Manrope";
  src:url("assets/fonts/Manrope-Variable.ttf") format("truetype");
  font-style:normal;
  font-weight:400 600;
  font-display:swap;
}
:root{
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Gilroy","Manrope","Segoe UI",Arial,sans-serif;
}

body{font-family:var(--sans);font-size:18px;line-height:1.62;letter-spacing:-.008em;font-optical-sizing:auto}
p{max-width:68ch}
.eyebrow{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.17em;line-height:1.35}
.main-nav{gap:clamp(14px,1.4vw,22px)}
.main-nav>a:not(.schedule-nav){font-family:var(--sans);font-size:15px;font-weight:500;letter-spacing:-.01em}
.schedule-nav,.button{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.045em}
.schedule-large{font-size:15px}
.topbar{font-size:12px}.topbar a{font-size:12px;font-weight:500}

/* Serif carries family, meaning, legacy, and emotional statements. */
.hero h1,.about-copy h2,.section-heading h2,.values h2,.legacy h2,.faq h2,.schedule h2,
.testimonials h2,.learning-copy h2,.tools-hero h1,.tool-library-heading h2,.conversation-grid h2{
  font-family:var(--serif);font-weight:500;letter-spacing:-.038em
}
.hero h1,.tools-hero h1{font-size:clamp(4rem,5.5vw,4.75rem);line-height:.98}
.about-copy h2,.section-heading h2,.values h2,.legacy h2,.faq h2,.schedule h2,
.testimonials h2,.learning-copy h2,.tool-library-heading h2,.conversation-grid h2{
  font-size:clamp(2.625rem,4vw,3.25rem);line-height:1.08
}
.hero h1 em,.section-heading h2 em{font-family:var(--serif);font-weight:400}
.testimonial-slide blockquote{font-family:var(--serif);font-weight:400}

/* Sans carries clarity, structure, action, and professional expertise. */
.hero-lead,.lead-copy{font-family:var(--sans)!important;font-size:19px!important;font-weight:400;line-height:1.65!important;letter-spacing:-.012em}
.about-copy>p:not(.eyebrow),.section-heading>p:last-child,.values-copy>p:not(.eyebrow),
.legacy p,.schedule-copy>p:not(.eyebrow),.learning-copy>p:not(.eyebrow){font-size:18px;line-height:1.62}
.portrait-caption span{font-family:var(--sans);font-size:20px;font-weight:600;letter-spacing:-.015em}
.portrait-caption small{font-size:12px;font-weight:500}
.service-card h3,.family-grid h3,.process-grid h3,.form-heading h3,
.learning-preview li b,.tool-chooser b,.input-heading h2,.takeaway-block h3{
  font-family:var(--sans);font-weight:600;letter-spacing:-.025em
}
.service-card h3{font-size:clamp(1.5rem,2vw,1.75rem);line-height:1.2}
.service-cta h3{font-family:var(--serif);font-weight:500;font-size:2.25rem}
.service-card p{font-size:17px;line-height:1.62}
.family-grid h3,.process-grid h3{font-size:24px;line-height:1.22}
.family-grid p,.process-grid p{font-size:16.5px;line-height:1.58}
.assurance-grid p{font-size:15px}.assurance-grid span{font-family:var(--sans);font-style:normal;font-size:12px;font-weight:500}
.service-top small,.family-grid span,.process-grid span,.learning-preview li>span{font-family:var(--sans);font-style:normal;font-weight:500}
.faq-item button{font-family:var(--serif);font-size:24px;font-weight:500}.faq-item>div p{font-size:17px;line-height:1.62}
.text-link{font-size:13px;font-weight:600}.value-tags span{font-size:12px;font-weight:500}
.locations address{font-size:15px}.locations address span{font-size:12px}.locations address b{font-size:17px}
.schedule-form label{font-size:12px;font-weight:500}.schedule-form input,.schedule-form select,.schedule-form textarea{font-size:16px;line-height:1.45}
.form-heading h3{font-size:28px}.form-heading p{font-size:15px}.form-note{font-size:13px;line-height:1.5}.form-message{font-size:15px}
.testimonial-slide figcaption{font-size:12px;font-weight:500}.testimonial-slide figcaption span{font-size:11px}
.testimonial-controls [data-testimonial-pause]{font-size:12px;font-weight:600}.testimonial-disclosure{font-size:13px;line-height:1.55}
.preview-heading span,.preview-labels{font-size:12px}.preview-heading b{font-family:var(--sans);font-size:20px;font-weight:600}.learning-preview li b{font-size:19px}.learning-preview li small{font-size:14px;line-height:1.45}

/* Calculator data stays geometric, steady, and tabular. */
.tools-intro>p:first-child{font-family:var(--sans);font-size:18px;line-height:1.62}.tools-note{font-size:12px;font-weight:500}
.tool-library-heading>p{font-size:17px}.tool-chooser span{font-size:12px;font-weight:500}.tool-chooser b{font-size:21px}.tool-chooser small{font-size:14px;line-height:1.48}
.input-heading h2{font-size:27px}.input-heading>p:last-child{font-size:15px;line-height:1.55}
.calc-field label,.calc-field legend{font-size:12px;font-weight:500}.calc-field label output{font-size:13px}.calc-field .field-help{font-size:13px}
.reset-button{font-family:var(--sans);font-size:12px;font-weight:600}.split-labels{font-size:12px;font-weight:500}
.split-values{font-family:var(--sans);font-weight:500;font-variant-numeric:tabular-nums}.split-delta{font-family:var(--sans);font-size:16px}.split-delta b{font-weight:500}
.headline-result>span{font-size:12px;font-weight:500}.headline-result strong{font-family:var(--sans);font-weight:500;letter-spacing:-.045em;font-variant-numeric:tabular-nums}.headline-result p{font-family:var(--sans);font-size:18px}
.calculator-chart .axis{font-family:var(--sans)}.calculator-chart .axis-title,.calculator-chart .warn-text{font-family:var(--sans);font-weight:600}
.result-figure figcaption{font-size:14px;line-height:1.55}.takeaway-block h3{font-size:22px}.takeaway-block li{font-size:16px;line-height:1.58}
.assumption-strip{font-size:13px;line-height:1.5}.data-table summary{font-size:12px;font-weight:600}.table-wrap table{font-family:var(--sans);font-size:14px;font-variant-numeric:tabular-nums}
.calculator-disclosures h2{font-family:var(--sans);font-size:21px;font-weight:600}.calculator-disclosures p{font-size:14px;line-height:1.58}
.authority-links h3{font-family:var(--sans);font-size:13px;font-weight:600}.authority-links p,.authority-links a{font-family:var(--sans);font-size:14px;line-height:1.55}.authority-links .source-note{font-size:13px}

/* Footer and legal copy remain readable rather than using tiny luxury type. */
.footer-grid h3{font-size:12px;font-weight:500}.footer-grid a,.footer-grid>div>p{font-size:14px;line-height:1.55}.powered{font-size:12px;line-height:1.5}.disclosure{font-size:13px;line-height:1.58}

@media(max-width:820px){
  .main-nav>a:not(.schedule-nav){font-family:var(--sans);font-size:25px;font-weight:500}
  .main-nav .schedule-nav{font-size:14px}
}
@media(max-width:560px){
  body{font-size:17px}
  .hero h1,.tools-hero h1{font-size:clamp(3.25rem,14vw,4rem)}
  .about-copy h2,.section-heading h2,.values h2,.legacy h2,.faq h2,.schedule h2,
  .testimonials h2,.learning-copy h2,.tool-library-heading h2,.conversation-grid h2{font-size:2.65rem}
  .hero-lead,.lead-copy{font-size:18px!important}
  .button,.schedule-large{font-size:13px}
  .testimonial-slide blockquote{font-size:1.8rem;line-height:1.38}
}
