/* Explicit heading metrics avoid invalid inherited font shorthand fallbacks. */
@media (min-width:901px){
 main .hero{min-height:100svh;padding-top:calc(78px + clamp(24px,4vh,48px));column-gap:clamp(32px,4vw,64px);grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);grid-template-rows:1fr auto}
 main .hero-copy-area{padding-top:0;min-width:0;align-self:center}
 main .availability{margin-bottom:clamp(16px,2.5vh,26px)}
 main .eyebrow{margin-bottom:clamp(20px,3vh,32px);line-height:1.5;font-size:12px}
 main .hero h1{font-size:clamp(48px,min(5.5vw,8.5vh),78px);font-weight:500;line-height:1.04;letter-spacing:-.055em}
 main .hero h1 span{line-height:1.04}
 main .hero-copy{font-size:clamp(17px,1.3vw,19px);line-height:1.55;margin-top:clamp(20px,3vh,30px);max-width:36em}
 main .hero-actions{margin-top:24px;gap:16px 24px;flex-wrap:wrap}
 main .cta-proof{margin-top:16px;line-height:1.5}
 main .hero-photo{max-width:min(100%,62svh,560px);aspect-ratio:1.02;height:auto;align-self:center;justify-self:end;border:0;border-radius:16px;box-shadow:0 18px 42px #534b411a}
 main .hero-photo img{content:url('/photos/natalya-kotovich-hero-light.png');object-fit:cover!important;object-position:center top!important;transform:scale(1.12);transform-origin:center top}
 main .hero-stats{margin-top:clamp(24px,4vh,40px)}
 main .hero-stats div{min-height:88px;padding-top:20px;padding-bottom:20px}
 main .hero-stats strong{line-height:1.05;font-weight:500;white-space:nowrap;flex-shrink:0}
 main .section{padding-top:clamp(60px,8vh,96px);padding-bottom:clamp(60px,8vh,96px);min-height:0}
 main .section-label{margin-bottom:30px;line-height:1.5}
 main .about h2,main .section-head h2,main .process h2,main .contact h2{font-size:clamp(42px,4.3vw,62px);font-weight:500;line-height:1.08;letter-spacing:-.045em}
 main h2 span{line-height:1.08}
 main .about-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,6vw,80px)}
 main .about-photo{max-width:380px;margin-top:28px}
 main .about-copy{font-size:17px;line-height:1.65}
 main .about-copy .lead{font-size:21px;line-height:1.5}
 main .about-copy p{margin-bottom:20px}
 main .markets{flex-wrap:wrap;row-gap:12px}
 main .section-head{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:32px;margin-bottom:40px}
 main .fit{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px}
 main .fit-card{padding:clamp(28px,3vw,48px);min-width:0}
 main .fit h2{font-size:clamp(34px,3.1vw,46px);font-weight:500;line-height:1.12;margin-bottom:28px;letter-spacing:-.035em}
 main .fit ul{margin-bottom:28px}
 main .fit li{padding:16px 0;line-height:1.55}
 main .quote-photo{min-height:560px;padding:clamp(28px,3vw,46px)}
 main .quote blockquote{font-size:clamp(28px,2.8vw,38px);line-height:1.2}
 main .timeline article{min-width:0;min-height:250px;padding:24px 24px 0 0}
 main .timeline article:not(:first-child){padding-left:24px}
 main .timeline h3{font-size:clamp(21px,1.9vw,27px);font-weight:500;line-height:1.2;overflow-wrap:break-word}
 main .timeline span{margin-top:36px}
 main .contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,80px);align-items:start}
 main .contact-copy,main .lead-form{min-width:0}
 main .lead-form{padding:clamp(28px,3.4vw,48px)}
 main .contact-copy>p{margin-top:24px}
 main .button,main .text-link,main .nav-cta{font-size:14px;line-height:1.4}
 main .availability,main .cta-proof,main .markets span,main .lead-form label,main .lead-form small,main footer p,main footer a{font-size:12px;line-height:1.5}
 main .lead-form input,main .lead-form textarea{font-size:16px;line-height:1.5}
}
@media(min-width:901px) and (max-width:1100px){
 main .hero h1{font-size:clamp(44px,4.8vw,53px)}
 main .nav-links{gap:18px}
 main .nav-links .button{padding-inline:18px}
 main .timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 0}
 main .timeline article:nth-child(2){border-right:0}
 main .timeline article:nth-child(3){padding-left:0}
}
@media(min-width:901px) and (max-height:700px){
 main .hero{padding-top:100px}
 main .availability{margin-bottom:14px}
 main .eyebrow{margin-bottom:18px}
 main .hero h1{font-size:clamp(44px,min(5vw,8vh),58px)}
 main .hero-copy{margin-top:18px;font-size:17px}
 main .hero-actions{margin-top:18px}
 main .cta-proof{margin-top:12px}
 main .hero-stats{margin-top:20px}
 main .hero-stats div{min-height:76px;padding-top:16px;padding-bottom:16px}
}

/* One scale per heading level across every section, in both languages. */
main{--section-heading-size:clamp(36px,3.4vw,48px);--card-heading-size:clamp(22px,1.8vw,28px)}
main .about h2,main .section-head h2,main .fit h2,main .audit-cta h2,main .process h2,main .contact h2{font-size:var(--section-heading-size);font-weight:500;line-height:1.12;letter-spacing:-.035em}
main .about h2 span,main .section-head h2 span,main .fit h2 span,main .audit-cta h2 span,main .process h2 span,main .contact h2 span{font-size:1em;line-height:inherit}
main .service-grid h3,main .timeline h3{font-size:var(--card-heading-size);font-weight:500;line-height:1.2;letter-spacing:-.025em}
@media(max-width:900px){
 main{--section-heading-size:clamp(30px,7.8vw,44px);--card-heading-size:clamp(22px,5.5vw,28px)}
 main[lang=en] .about h2,main[lang=en] .section-head h2,main[lang=en] .contact h2,main[lang=en] .fit h2{font-size:var(--section-heading-size)}
}

/* About: align with the neighbouring sections, without changing type or copy. */
main .about-grid{align-items:start}
main .about-grid>div{min-width:0}
main .about-copy{padding-top:0}
main .about-photo{border-radius:16px;box-shadow:0 18px 42px #534b411a}
main .about .markets{row-gap:0}
@media(min-width:901px){
 main .about-grid{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(32px,4vw,64px)}
 main .about-photo{width:min(100%,380px);max-width:380px;aspect-ratio:3/4;height:auto;margin:28px 0 0}
 main .about .markets{margin-top:24px;column-gap:24px;border-bottom:0}
 main .about .markets span,main .about .markets span:not(:first-child),main .about .markets span:nth-child(2n){min-width:0;border-left:0;border-right:0;padding:10px 0}
}
@media(max-width:900px){
 main .about{gap:24px}
 main .about>.section-label{margin-bottom:0}
 main .about-photo{width:min(100%,380px);max-width:380px;margin:28px auto 0}
}
