/* Client-approved typography and new content sections — 30 September 2026. */
h1,h2,h3{line-height:1.18;letter-spacing:-.035em}
h1{font-size:clamp(2.5rem,4.6vw,4.6rem)}
h2{font-size:clamp(1.85rem,3.1vw,3.1rem)}
h3{font-size:clamp(1.25rem,1.7vw,1.65rem);letter-spacing:-.02em}
.home-hero .hero-copy h1{font-size:clamp(2.7rem,4.6vw,4.6rem);line-height:1.16;max-width:680px}
.page-hero h1{font-size:clamp(2.4rem,4.5vw,4.5rem)}
.detail-block h2,.prose h2{font-size:clamp(1.65rem,2.4vw,2.45rem)}
.expertise-row h3{font-size:clamp(1.3rem,1.9vw,1.8rem)}
.article-intro{font-size:1.3rem!important;line-height:1.65!important}
.faq-layout h2{font-size:1.8rem}
.brand strong{font-weight:600;letter-spacing:.06em;font-size:.88rem}
.desktop-nav{gap:clamp(.7rem,1.3vw,1.25rem)}
.practice-strip-links{grid-template-columns:repeat(3,minmax(0,1fr))}
.practice-strip-links a{font-size:1rem;line-height:1.45}
.principles span{font-size:.79rem;letter-spacing:.045em}
.office-gallery-single{display:block;max-width:1020px;margin-inline:auto}
.office-gallery-single .office-gallery-main{position:relative;width:100%;max-width:100%;min-width:0;min-height:0;height:auto;aspect-ratio:2/1}
.office-gallery-single img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover}
.partners-panel{margin-top:3.5rem;padding-top:3rem;border-top:1px solid var(--line)}
.partners-section{background:var(--mist)}
.partners-inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.partners-copy h2{font-size:clamp(1.65rem,2.5vw,2.45rem);margin-bottom:1.2rem}
.partners-copy>p:not(.eyebrow){max-width:560px;color:var(--muted)}
.partner-cities{border-top:1px solid var(--line)}
.partner-city{display:flex;gap:1rem;align-items:baseline;justify-content:space-between;padding:1.25rem 0;border-bottom:1px solid var(--line)}
.partner-city h3{font-size:1.15rem;margin:0;letter-spacing:-.015em}
.partner-city p{font-size:.78rem;margin:0;color:var(--muted)}
.reviews-section{background:var(--mist);border-top:1px solid var(--line)}
.reviews-section .section-head{align-items:center}
.reviews-section .section-head h2{max-width:720px}
.reviews-rating{text-align:right;flex:none}
.reviews-section .reviews-score{font:500 3rem/1.2 var(--serif);color:var(--navy);margin:0 0 .35rem!important;max-width:none!important}
.reviews-score span{font:400 1.05rem var(--sans);color:var(--muted)}
.reviews-count{font-size:.95rem;margin:0 0 .2rem}
.reviews-section .reviews-date{font-size:.72rem;color:var(--muted);margin:0!important;max-width:none!important}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.review-card{margin:0;background:var(--paper);border:1px solid var(--line);padding:2rem;display:flex;flex-direction:column;min-height:275px}
.review-stars{font-size:.93rem;letter-spacing:.13em;color:var(--blue);margin:0 0 1.25rem}
.review-quote{font:500 clamp(1.05rem,1.6vw,1.25rem)/1.55 var(--serif);color:var(--navy);margin:0 0 1.75rem}
.review-author{margin-top:auto;display:flex;flex-direction:column;gap:.15rem}
.review-author strong{font-size:.9rem;font-weight:600;color:var(--navy)}
.review-author span{font-size:.74rem;color:var(--muted)}
.review-source{margin-top:1rem;color:var(--blue);font-size:.74rem;text-decoration:underline;text-underline-offset:4px}
.reviews-bottom{display:flex;gap:2rem;align-items:center;justify-content:space-between;margin-top:1.7rem}
.reviews-bottom p{font-size:.78rem;color:var(--muted);margin:0}
.reviews-bottom .text-link{font-size:.8rem}
@media(max-width:900px){.home-hero .hero-copy h1{font-size:clamp(2.5rem,4.8vw,3.8rem)}.partners-inner{grid-template-columns:1fr;gap:2rem}.review-card{padding:1.35rem}.reviews-rating{flex:none}.reviews-section .section-head h2{font-size:2.1rem}}
@media(max-width:680px){
 .home-hero .hero-copy h1{font-size:clamp(2.25rem,9.4vw,3.5rem);line-height:1.15}
 .page-hero h1{font-size:clamp(2.1rem,8.5vw,3.2rem)}
 .header-call{font-size:.59rem;padding:.5rem .5rem}
 .brand strong{font-size:.8rem}
 .practice-strip-links{grid-template-columns:1fr}
 .practice-strip-links a,.practice-strip-links a:nth-child(even){padding:1rem 0;border-left:0;border-bottom:1px solid var(--line);min-height:66px}
 .practice-strip-links a:last-child{border-bottom:0}
 .office-gallery-single .office-gallery-main{aspect-ratio:1.6/1;height:auto}
 .partners-panel{padding-top:2.3rem;margin-top:2.5rem}
 .reviews-grid{grid-template-columns:1fr}
 .reviews-rating{text-align:left;margin-top:1.8rem}
 .reviews-section .section-head h2{font-size:1.9rem}
 .reviews-section .reviews-score{font-size:2.3rem}
 .review-card{padding:1.6rem;min-height:240px}
 .reviews-bottom{align-items:flex-start;flex-direction:column;gap:1rem}
 .contact-phone{font-size:2rem}
 .hero-actions .btn{font-size:.79rem;gap:1rem}
}
@media(max-width:380px){.header-call{display:none}.menu-toggle{margin-left:auto}}
