/* Global typography and Traditional Chinese line-breaking */
html{font-size:16px}
body{font-size:1rem;line-height:1.78;letter-spacing:.012em}
p,li,dd,dt,td,th,a,summary,figcaption{line-break:strict;word-break:normal;overflow-wrap:break-word;text-wrap:pretty}
h1,h2,h3,blockquote{line-break:strict;word-break:normal;overflow-wrap:break-word;text-wrap:balance}
.hero h1{font-size:clamp(3rem,4.5vw,4.8rem);line-height:1.22;letter-spacing:-.035em;max-width:11ch}
.hero-copy>p{font-size:1.08rem;line-height:1.9;max-width:35em}
.page-hero h1{font-size:clamp(2.65rem,4vw,4.15rem);line-height:1.3;letter-spacing:-.025em;max-width:18ch}
.page-hero .lede{font-size:1.06rem;line-height:1.9;max-width:46em}
.intro h2,.section h2,.split h2,.final-cta h2{font-size:clamp(1.85rem,2.8vw,2.8rem);line-height:1.45;letter-spacing:-.018em}
.intro h2{max-width:19ch;margin-left:auto;margin-right:auto}
.intro p{font-size:1.03rem;line-height:1.95;max-width:48em;margin-left:auto;margin-right:auto}
.feature-card h3,.article-card h2,.article-card h3{font-size:1.42rem;line-height:1.55}
.feature-card p,.article-card p,.split-copy>p,.locations-tease p,.prose p{font-size:1rem;line-height:1.88}
.quote-band blockquote{font-size:clamp(1.8rem,3vw,3.25rem);line-height:1.58;max-width:24ch}
.section-head h2{max-width:17ch}
.price-preview h3{font-size:1.22rem;line-height:1.55}
.faq-list summary{font-size:1.22rem;line-height:1.55}
.faq-list p{font-size:1rem;line-height:1.9}
.review-grid p{font-size:1.08rem;line-height:1.85}
.final-cta h2{max-width:19ch}.final-cta p{font-size:1rem;line-height:1.85}
.final-cta .eyebrow{color:#dce9d7}
.prose{font-size:1rem;max-width:820px}.prose h2{font-size:1.65rem;line-height:1.5}
.price-list>div{font-size:1rem}.location-grid h2{font-size:1.45rem}.card-grid.four article b{font-size:1.22rem}
@media(min-width:1051px){
  .nav-wrap{max-width:1480px;padding-left:2.5vw;padding-right:2.5vw}
  nav{gap:1rem;font-size:.84rem}
  .nav-cta{padding:.58rem .95rem}
  .hero{grid-template-columns:minmax(0,.95fr) minmax(440px,45vw);gap:4vw}
  .section,.narrow,.final-cta{max-width:1280px}
  .split-copy{padding:5.5vw}
}
@media(max-width:1250px){
  .menu-btn{display:block}
  #site-nav{position:absolute;top:86px;left:0;right:0;background:#fdfcf9;padding:1.4rem 5vw;display:none;flex-direction:column;align-items:flex-start;border-bottom:1px solid #d8ded4}
  #site-nav.open{display:flex}
}
@media(max-width:1050px){
  .hero h1,.page-hero h1{max-width:16ch}
}
@media(max-width:720px){
  html{font-size:15px}
  #site-nav{top:72px}
  body{line-height:1.75}
  .hero h1{font-size:2.8rem;line-height:1.28;max-width:10ch}
  .page-hero h1{font-size:2.35rem;line-height:1.38;max-width:none}
  .hero-copy>p,.page-hero .lede{font-size:1rem;line-height:1.82}
  .intro h2,.section h2,.split h2,.final-cta h2{font-size:1.8rem;line-height:1.5}
  .section-head h2,.final-cta h2{max-width:none}
  .feature-card h3,.article-card h2,.article-card h3{font-size:1.3rem}
  .quote-band blockquote{font-size:1.65rem;line-height:1.65}
  .faq-list summary{font-size:1.12rem}
}
