/* Shared typography for comfortable reading on desktop and mobile. */
:root{--muted:#465a50}
body{font-size:17px;line-height:1.6;text-size-adjust:100%;-webkit-text-size-adjust:100%}
p{max-width:68ch}
.topline{font-size:14px;line-height:1.5}
.navlinks,.navlinks a{font-size:15px}
.btn{font-size:16px;line-height:1.4;min-height:54px}
.eyebrow{font-size:13px;line-height:1.6;letter-spacing:1.3px}
.hero h1{line-height:1.12;letter-spacing:-2px}
.hero h1 em{color:#59792b}
.hero p{font-size:18px;line-height:1.75;max-width:48ch}
.hero .hero-note{font-size:15px!important;line-height:1.65}
.photo-tag{font-size:13px;letter-spacing:.7px}
.photo-card strong{font-size:25px;line-height:1.3;max-width:210px}
.photo-card p{font-size:15px;line-height:1.65;color:#e2ebdc}
.benefit strong{font-size:18px;line-height:1.4}
.benefit p{font-size:16px;line-height:1.7}
.benefit .number{font-size:14px;color:#526b43}
.section h2{line-height:1.2;letter-spacing:-1.2px}
.section-head>p,.service p,.about-copy>p,.quote-copy>p,.area p{font-size:17px;line-height:1.75}
.service h3{font-size:23px;line-height:1.35}
.service a,.text-link{font-size:15px;line-height:1.6}
.ticks li{font-size:17px;line-height:1.6}
.step>span{font-size:14px;line-height:1.6}
.step h3{font-size:22px;line-height:1.35}
.step p{font-size:17px;line-height:1.75;color:#e0e9da}
.cert-card h3{font-size:22px;line-height:1.4}
.cert-card p{font-size:16px;line-height:1.75}
.crumb{font-size:15px;line-height:1.6}
.area h3{font-size:22px;line-height:1.4}
.scope-note{font-size:15px;line-height:1.75}
.contact-block small{font-size:14px;line-height:1.6;letter-spacing:.7px}
.contact-block p{font-size:17px;line-height:1.7}
.quote-form h3{font-size:26px;line-height:1.35}
.quote-form>p{font-size:16px;line-height:1.7}
label{font-size:16px;line-height:1.5}
input,select,textarea{font-size:17px;line-height:1.5;min-height:50px}
input::placeholder,textarea::placeholder{color:#68766e}
.consent{font-size:15px;line-height:1.7;font-weight:400}
.fine{font-size:14px!important;line-height:1.75!important}
.status{font-size:16px;line-height:1.75}
.faq-list summary{font-size:19px;line-height:1.6}
.faq-list details p{font-size:17px;line-height:1.8}
.related a{font-size:15px;line-height:1.6}
.closing h2{font-size:32px;line-height:1.3}
.closing p{font-size:17px;line-height:1.7}
.footer p,.footer-links{font-size:16px;line-height:1.8}
.footer p,.footer-bottom{color:#d4e2ce}
.footer-bottom{font-size:14px;line-height:1.7}
.floating-wa{font-size:16px;line-height:1.4}
.lead dl{font-size:16px;line-height:1.75}
.lead p,.lead small,#mail-status,#notice{font-size:15px;line-height:1.7}
@media(min-width:961px) and (max-width:1100px){.navlinks{gap:18px}.nav{gap:20px}.navlinks .btn{padding-inline:16px;gap:12px}.brand img{width:165px}}
@media(min-width:761px) and (max-width:960px){.menu-toggle{display:block;font-size:16px}.navlinks{display:none;position:absolute;top:88px;left:0;right:0;padding:20px 32px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 20px #17342c10}.navlinks.open{display:flex;flex-direction:column;align-items:stretch;gap:4px}.navlinks a{padding:13px;font-size:16px}.navlinks .btn{margin-top:8px}}
@media(max-width:760px){
 body{font-size:16px}
 .topline{font-size:12px;line-height:1.6}
 .navlinks a,.menu-toggle{font-size:16px}
 .eyebrow{font-size:12px;letter-spacing:1px}
 .hero h1,.internal-hero h1{font-size:clamp(35px,9.8vw,46px);line-height:1.16;letter-spacing:-1.3px}
 .hero p{font-size:17px;line-height:1.75}
 .hero .hero-note{font-size:14px!important;line-height:1.7;align-items:flex-start}
 .hero-note .check{margin-top:3px}
 .hero-actions{align-items:stretch}
 .hero-actions .btn{font-size:15px;min-height:56px;line-height:1.4;padding:14px 12px;gap:10px}
 .photo-tag{font-size:12px}
 .photo-card{width:260px}
 .photo-card strong{font-size:23px;line-height:1.3}
 .photo-card p{font-size:14px;line-height:1.7}
 .benefit strong{font-size:18px}
 .benefit p{font-size:16px;line-height:1.75}
 .benefit .number{font-size:14px}
 .section h2{font-size:33px;line-height:1.2;letter-spacing:-1px}
 .section-head>p,.service p,.about-copy>p,.quote-copy>p,.area p,.step p,.faq-list details p{font-size:17px;line-height:1.75}
 .service h3{font-size:23px;line-height:1.35}
 .service a,.text-link{font-size:15px}
 .service .card-actions{gap:14px 24px}
 .cert-card{flex-direction:column;gap:18px;padding:24px}
 .cert-card img{width:140px;height:60px}
 .cert-card h3{font-size:22px}
 .cert-card p{font-size:16px;line-height:1.75}
 .crumb{font-size:14px;line-height:1.7}
 .scope-note{font-size:15px;line-height:1.75}
 .quote-form{padding:28px 22px}
 .quote-form h3{font-size:25px}
 .quote-form>p{font-size:16px;line-height:1.7}
 label,input,select,textarea{font-size:16px}
 .quote-form .btn{font-size:16px;min-height:56px;gap:12px}
 .consent{font-size:14px;line-height:1.75}
 .fine{font-size:14px!important;line-height:1.75!important}
 .faq-list summary{font-size:18px;line-height:1.6}
 .faq-list details p{padding-right:0}
 .closing h2{font-size:29px;line-height:1.3}
 .closing p{font-size:17px;line-height:1.7}
 .footer p,.footer-links{font-size:16px}
 .footer-links{gap:18px 26px}
 .footer-bottom{font-size:14px}
 .mobilebar .btn{font-size:15px;line-height:1.4;min-height:50px;padding:10px 12px}
 .related a{font-size:15px}
}
@media(max-width:370px){.hero-actions{flex-direction:column}.hero-actions .btn{width:100%;flex:auto}.mobilebar{gap:8px;padding-inline:10px}.mobilebar .btn{font-size:14px;padding-inline:8px}}
