/*
  Typography-only override.
  Matches the supplied Pegasos reference: Cormorant Garamond headings,
  Inter UI/body text, slate text hierarchy, and muted gold accents.
  No layout, background, glass, image, spacing, or animation rules are changed.
*/
:root{
  --ref-heading:"Cormorant Garamond", Georgia, "Times New Roman", serif;
  --ref-body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ref-slate-100:#f1f5f9;
  --ref-slate-200:#e2e8f0;
  --ref-slate-300:#cbd5e1;
  --ref-slate-400:#94a3b8;
  --ref-slate-500:#64748b;
  --ref-gold:#c8a96e;
  --ref-black:#09090b;
}

html,body,button,input,textarea,select{
  font-family:var(--ref-body) !important;
}
body{
  color:var(--ref-slate-100) !important;
  font-size:16px !important;
  font-weight:400 !important;
  line-height:1.625 !important;
}

h1,h2,h3,h4,h5,h6,
.review-score strong,
.score-block>strong{
  font-family:var(--ref-heading) !important;
  color:var(--ref-slate-100) !important;
  text-wrap:balance;
}

/* Header typography */
.desktop-nav,
.mobile-nav{
  font-family:var(--ref-body) !important;
  font-size:14px !important;
  line-height:1.4 !important;
}
.desktop-nav>a:not(.nav-cta),
.mobile-nav a{
  color:var(--ref-slate-300) !important;
  font-size:14px !important;
  font-weight:400 !important;
  letter-spacing:.025em !important;
}
.desktop-nav>a:not(.nav-cta):hover,
.mobile-nav a:hover{
  color:var(--ref-gold) !important;
}
.nav-cta{
  font-family:var(--ref-body) !important;
  font-size:14px !important;
  font-weight:500 !important;
  letter-spacing:.025em !important;
  color:var(--ref-black) !important;
}

/* Hero typography */
.rating-pill{
  color:var(--ref-slate-300) !important;
  font-size:12px !important;
  font-weight:400 !important;
  line-height:1.45 !important;
  letter-spacing:.025em !important;
}
.stars{color:var(--ref-gold) !important}
.hero h1{
  font-size:clamp(36px,6vw,72px) !important;
  line-height:1.08 !important;
  letter-spacing:-.035em !important;
  font-weight:300 !important;
  color:var(--ref-slate-100) !important;
}
.hero h1 em,
h2 em{
  font-family:var(--ref-heading) !important;
  color:var(--ref-gold) !important;
  font-style:normal !important;
  font-weight:500 !important;
}
.hero-text{
  color:var(--ref-slate-400) !important;
  font-size:clamp(16px,1.35vw,18px) !important;
  font-weight:400 !important;
  line-height:1.7 !important;
}
.hero-note{
  color:var(--ref-slate-500) !important;
  font-size:12px !important;
  line-height:1.5 !important;
  letter-spacing:.025em !important;
}
.scroll-indicator{
  color:var(--ref-slate-300) !important;
  font-size:10px !important;
  font-weight:500 !important;
}

/* Buttons */
.btn{
  font-family:var(--ref-body) !important;
  font-size:16px !important;
  font-weight:500 !important;
  line-height:1.2 !important;
  letter-spacing:.025em !important;
}
.btn-primary,.btn-dark{color:var(--ref-black) !important}
.btn-ghost{color:var(--ref-slate-300) !important}

/* Shared headings and section copy */
.eyebrow{
  font-family:var(--ref-body) !important;
  color:var(--ref-gold) !important;
  font-size:14px !important;
  line-height:1.4 !important;
  font-weight:500 !important;
  letter-spacing:.2em !important;
}
.eyebrow.dark{color:var(--ref-gold) !important}
.statement h2,
.section-heading h2,
.split-copy h2,
.trust-title h2,
.location-copy h2,
.contact-copy h2,
.cta-inner h2{
  font-size:clamp(30px,3.5vw,36px) !important;
  line-height:1.2 !important;
  letter-spacing:-.025em !important;
  font-weight:300 !important;
  color:var(--ref-slate-100) !important;
}
.statement p,
.section-heading p,
.split-copy p,
.location-copy>p,
.contact-copy>p,
.cta-inner p{
  color:var(--ref-slate-400) !important;
  font-size:16px !important;
  line-height:1.7 !important;
  font-weight:400 !important;
}
.statement p{
  font-size:clamp(16px,1.35vw,18px) !important;
}
.text-link{
  font-family:var(--ref-body) !important;
  color:var(--ref-gold) !important;
  font-size:14px !important;
  font-weight:500 !important;
  line-height:1.4 !important;
  letter-spacing:.025em !important;
}

/* Trust strip */
.trust-item{
  color:var(--ref-slate-400) !important;
  font-family:var(--ref-body) !important;
  font-size:13px !important;
  line-height:1.45 !important;
  font-weight:400 !important;
  letter-spacing:.015em !important;
}
.trust-icon{color:var(--ref-gold) !important}

/* Small supporting text */
.floating-rating,
.map-address{
  font-family:var(--ref-body) !important;
  color:var(--ref-slate-300) !important;
  font-size:12px !important;
  line-height:1.45 !important;
}
.feature-list span{
  color:var(--ref-slate-300) !important;
  font-family:var(--ref-body) !important;
  font-size:14px !important;
  font-weight:400 !important;
  line-height:1.5 !important;
}

/* Service cards */
.card-no{
  color:var(--ref-slate-500) !important;
  font-family:var(--ref-body) !important;
  font-size:12px !important;
  font-weight:500 !important;
  letter-spacing:.08em !important;
}
.service-card h3{
  color:var(--ref-slate-100) !important;
  font-size:18px !important;
  line-height:1.35 !important;
  letter-spacing:-.01em !important;
  font-weight:500 !important;
}
.service-card p{
  color:var(--ref-slate-400) !important;
  font-family:var(--ref-body) !important;
  font-size:14px !important;
  line-height:1.65 !important;
  font-weight:400 !important;
}
.service-card a{
  color:var(--ref-gold) !important;
  font-family:var(--ref-body) !important;
  font-size:12px !important;
  font-weight:500 !important;
  letter-spacing:.04em !important;
}

/* Trust section */
.score-block>strong{
  color:var(--ref-gold) !important;
  font-size:clamp(60px,7vw,76px) !important;
  line-height:.9 !important;
  font-weight:300 !important;
}
.score-block p{
  color:var(--ref-slate-400) !important;
  font-family:var(--ref-body) !important;
  font-size:14px !important;
  line-height:1.65 !important;
}
.trust-points b{
  color:var(--ref-gold) !important;
  font-family:var(--ref-body) !important;
  font-size:13px !important;
  font-weight:500 !important;
}
.trust-points strong{
  color:var(--ref-slate-200) !important;
  font-family:var(--ref-body) !important;
  font-size:14px !important;
  font-weight:500 !important;
}
.trust-points span{
  color:var(--ref-slate-400) !important;
  font-family:var(--ref-body) !important;
  font-size:14px !important;
  font-weight:400 !important;
}

/* Reviews */
.review-score strong{
  color:var(--ref-slate-100) !important;
  font-size:clamp(48px,5vw,60px) !important;
  line-height:1 !important;
  font-weight:300 !important;
}
.review-score>span,
.review-score small{
  color:var(--ref-slate-400) !important;
  font-family:var(--ref-body) !important;
  font-size:14px !important;
  line-height:1.5 !important;
}
.review-card blockquote{
  font-family:var(--ref-body) !important;
  color:var(--ref-slate-300) !important;
  font-size:clamp(16px,1.5vw,18px) !important;
  line-height:1.7 !important;
  font-style:italic !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
}
.review-footer{
  color:var(--ref-slate-400) !important;
  font-family:var(--ref-body) !important;
  font-size:13px !important;
  line-height:1.5 !important;
  font-weight:400 !important;
}
.review-footer a{color:var(--ref-gold) !important}

/* Partners heading only; partner layout remains untouched */
.partners-section .section-heading h2{
  color:var(--ref-slate-100) !important;
  font-size:clamp(30px,3.5vw,36px) !important;
  font-weight:300 !important;
}
.partners-section .section-heading em,
.partners-section .eyebrow{color:var(--ref-gold) !important}

/* Process cards */
.process-card>span{
  font-family:var(--ref-body) !important;
  color:var(--ref-black) !important;
  font-size:14px !important;
  line-height:1 !important;
  font-weight:600 !important;
  letter-spacing:.08em !important;
}
.process-card h3{
  color:var(--ref-slate-100) !important;
  font-size:16px !important;
  line-height:1.35 !important;
  letter-spacing:-.005em !important;
  font-weight:500 !important;
}
.process-card p{
  color:var(--ref-slate-400) !important;
  font-family:var(--ref-body) !important;
  font-size:14px !important;
  line-height:1.65 !important;
  font-weight:400 !important;
}

/* Location */
.location-copy h3{
  color:var(--ref-slate-100) !important;
  font-size:18px !important;
  line-height:1.4 !important;
  font-weight:500 !important;
}
.hours h4{
  color:var(--ref-slate-500) !important;
  font-family:var(--ref-body) !important;
  font-size:12px !important;
  font-weight:500 !important;
  letter-spacing:.12em !important;
}
.hours div{
  color:var(--ref-slate-300) !important;
  font-family:var(--ref-body) !important;
  font-size:14px !important;
  line-height:1.5 !important;
}
.hours div span{color:var(--ref-slate-400) !important}
.hours div b{color:var(--ref-slate-300) !important;font-weight:400 !important}

/* Contact form */
.contact-mini{
  color:var(--ref-gold) !important;
  font-family:var(--ref-body) !important;
  font-size:14px !important;
  line-height:1.55 !important;
  font-weight:400 !important;
}
.contact-form label{
  color:var(--ref-slate-300) !important;
  font-family:var(--ref-body) !important;
  font-size:14px !important;
  line-height:1.5 !important;
  font-weight:500 !important;
}
.contact-form input,
.contact-form textarea,
.contact-form select{
  color:var(--ref-slate-200) !important;
  font-family:var(--ref-body) !important;
  font-size:14px !important;
  line-height:1.5 !important;
  font-weight:400 !important;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder{color:var(--ref-slate-500) !important}
.privacy,
.form-success{
  font-family:var(--ref-body) !important;
  font-size:12px !important;
  line-height:1.55 !important;
  font-weight:400 !important;
}
.privacy{color:var(--ref-slate-500) !important}
.form-success{color:var(--ref-gold) !important}

/* Final CTA and footer */
.cta-inner small{
  color:var(--ref-slate-500) !important;
  font-family:var(--ref-body) !important;
  font-size:12px !important;
  line-height:1.5 !important;
}
.footer,
.footer p,
.footer a{
  font-family:var(--ref-body) !important;
  font-size:14px !important;
  line-height:1.65 !important;
  font-weight:400 !important;
}
.footer h4{
  font-family:var(--ref-body) !important;
  color:var(--ref-slate-200) !important;
  font-size:14px !important;
  line-height:1.4 !important;
  font-weight:500 !important;
  letter-spacing:.04em !important;
}
.footer p,.footer a{color:var(--ref-slate-400) !important}
.footer a:hover{color:var(--ref-gold) !important}
.footer-bottom{
  color:var(--ref-slate-500) !important;
  font-size:12px !important;
  line-height:1.5 !important;
}

@media(max-width:720px){
  body{font-size:15px !important}
  .hero h1{font-size:clamp(36px,11vw,48px) !important;line-height:1.1 !important}
  .statement h2,
  .section-heading h2,
  .split-copy h2,
  .trust-title h2,
  .location-copy h2,
  .contact-copy h2,
  .cta-inner h2,
  .partners-section .section-heading h2{
    font-size:30px !important;
    line-height:1.2 !important;
  }
  .hero-text,.statement p{font-size:16px !important}
  .btn{font-size:14px !important}
}
