/* Targeted typography repair. No new content, imagery or page ordering. */
:root{
  --type-h1:56px;
  --type-h2:36px;
  --type-h3:24px;
  --type-body:18px;
  --type-ui:16px;
  --type-note:14px;
}
body{font-size:var(--type-body);line-height:1.65}
h1,h2,h3,h4,.nav-card-title,.popular-photo-copy>span:first-child{
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  -webkit-hyphens:none;
  text-wrap:pretty;
}
h1{font-size:var(--type-h1);line-height:1.13}
h2{font-size:var(--type-h2);line-height:1.2}
h3{font-size:var(--type-h3);line-height:1.3}
.wrap{width:min(1280px,calc(100% - 64px))}
.home-hero{grid-template-columns:1.08fr 1fr;gap:40px}
.home-hero h1,.page-hero h1,.text-hero h1{
  max-width:none;
  width:100%;
  font-size:var(--type-h1);
  line-height:1.13;
}
.home-hero .hero-copy{min-width:0}
.home-hero .hero-copy>p:not(.location),.lead,.page-hero .lead,.text-hero .lead{
  max-width:none;
  font-size:var(--type-body);
  line-height:1.65;
}
.page-hero{grid-template-columns:1.1fr 1fr;gap:40px}
.content-layout.has-toc,.template-article .content-layout{
  grid-template-columns:minmax(0,1fr) 224px;
  gap:48px;
}
.content-layout,.template-utility .content-layout{max-width:1200px}
.content-section h2,.template-about .content-section>h2{max-width:none;font-size:var(--type-h2)}
.prose,.template-article .prose,.structured-content>.prose,.structured-content>p,.structured-content>ul{
  max-width:none;
}
.content-layout:not(.has-toc) .prose{max-width:88ch}
.prose p,.prose ul,.prose ol,.structured-content>p,.structured-content>ul,
.feature-list li,.popular-copy p,.approach .lead,.consultation>div>p,
.faq-answer p,.price-item p,.price-item ul,.excerpt-card p{
  font-size:var(--type-body);
  line-height:1.65;
}
.prose h3,.fact-copy-grid h3,.price-item h3,.contact-cards h2,.excerpt-card h3{
  font-size:var(--type-h3);
  line-height:1.3;
}
.section-head h2,.popular-copy h2,.consultation h2,.faq h2{font-size:var(--type-h2)}
.nav-card-title,.small-grid .nav-card-title{font-size:var(--type-h3);line-height:1.3}
.button,.button.compact,.text-link,.body-links,.field label,.faq summary,
.contents summary,.contents a,.card-action,.price-nav,.social-links{font-size:var(--type-ui)}
.quiet,.source-note,.source-warning,.demo-note,.form-preview,.consent,.field label span,
.hero-action>span,.home-hero .hero-action>span,.location,.home-hero .location,
.facts dt,.contact-cards p,.field-error,.form-feedback,.footer-brand p,.footer-grid nav a,
.team-person figcaption span,.photo figcaption,.popular-photo-copy>span:last-child{
  font-size:var(--type-note);
  line-height:1.55;
}
.preview-bar{font-size:12px}
.popular-tabs button{font-size:var(--type-note)}
.popular-photo-copy>span:first-child{font-size:22px;line-height:1.3}
.team-person figcaption,.team-person figcaption strong{font-size:var(--type-ui)}
.fact-copy-grid p{font-size:var(--type-body);line-height:1.65}
.home-about .about-head{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:40px}
.home-about .about-head h2{margin:0}
.home-about .video-link{display:flex;align-items:center;gap:18px;font-size:var(--type-ui)}
.home-about .video-link small{display:block;margin-top:4px;font-size:var(--type-note);color:var(--muted)}
.home-about .play{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;width:56px;height:56px;flex-shrink:0;font-size:24px;color:var(--brand)}
.home-about .about-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.home-about .about-item{min-width:0;padding:28px 26px;min-height:190px;border-radius:18px;background:#f2f5fa;display:flex;align-items:flex-end}
.home-about .about-item p{margin:0;font-size:20px;line-height:1.45;letter-spacing:-.025em;overflow-wrap:normal;word-break:normal}
.home-about .about-guarantee{grid-row:span 2;min-height:396px;background:#173471;color:#fff;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}
.home-about .about-guarantee p{font-size:28px;line-height:1.25}
.home-about .guarantee-mark{width:64px;height:64px;color:white}
@media(min-width:1440px){.wrap{width:min(1280px,calc(100% - 96px))}}
@media(max-width:1199px){
  :root{--type-h1:48px;--type-h2:34px}
  .home-hero,.page-hero{gap:32px}
  .home-about .about-item{padding:24px;min-height:180px}
  .home-about .about-guarantee{min-height:376px}
}
@media(max-width:959px){
  :root{--type-h1:44px;--type-h2:32px}
  .wrap{width:calc(100% - 48px)}
  .home-hero,.page-hero{display:flex;flex-direction:column;align-items:stretch;gap:30px}
  .home-hero .hero-visual,.page-hero .hero-visual{min-height:0;max-height:470px}
  .home-hero .hero-visual img,.page-hero .hero-visual img{aspect-ratio:1.8}
  .hero-action{flex-direction:row;align-items:center}
  .hero-action>span{max-width:28ch}
  .content-layout.has-toc,.template-article .content-layout{display:flex;gap:32px}
  .home-about .about-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-about .about-guarantee{grid-row:auto;min-height:200px}
  .home-about .about-guarantee .guarantee-mark{width:40px;height:40px}
  .home-about .about-guarantee p{font-size:26px;margin-top:20px}
  .home-about .about-item:last-child{grid-column:span 2;min-height:100px}
}
@media(max-width:699px){
  :root{--type-h1:clamp(28px,8.3vw,38px);--type-h2:clamp(24px,7vw,28px);--type-h3:22px;--type-body:17px}
  .wrap{width:calc(100% - 40px)}
  .home-hero h1,.page-hero h1,.text-hero h1{font-size:var(--type-h1);max-width:none}
  .home-hero p,.home-hero .lead,.page-hero .lead,.text-hero .lead,.template-utility .text-hero .lead{font-size:var(--type-body)}
  .hero-action{flex-direction:column;align-items:stretch}
  .hero-action>span{max-width:none}
  .home-hero .hero-action>span{font-size:var(--type-note)}
  .home-hero .hero-visual,.page-hero .hero-visual{max-height:none}
  .home-hero .hero-visual img,.page-hero .hero-visual img{aspect-ratio:1.3}
  .template-service-catalog .body-card-links .nav-card-title{font-size:var(--type-h3)}
  .popular-photo-copy>span:first-child{font-size:18px}
  .popular-main .popular-photo-copy>span:first-child,.popular-extra .popular-photo-copy>span:first-child{font-size:22px}
  .popular-copy p{font-size:var(--type-body)}
  .home-about .about-head{align-items:flex-start;flex-direction:column;gap:24px;margin-bottom:28px}
  .home-about .about-item{padding:24px;min-height:170px}
  .home-about .about-item p{font-size:20px}
  .home-about .about-guarantee{min-height:200px}
}
@media(max-width:440px){
  .template-service-catalog .body-card-links .nav-card{display:flex;flex-direction:column}
  .template-service-catalog .body-card-links .nav-card>img{height:150px;min-height:0;aspect-ratio:auto;width:100%}
  .template-service-catalog .body-card-links .nav-card-copy{padding:20px;gap:18px}
  .home-about .about-grid{grid-template-columns:1fr;gap:12px}
  .home-about .about-item{min-height:130px}
  .home-about .about-item:last-child{grid-column:auto;min-height:100px}
  .home-about .about-guarantee{min-height:185px}
}
@media(max-width:359px){.wrap{width:calc(100% - 32px)}.popular-photo-copy>span:first-child{font-size:17px}}
