/* Lisibilité commune : tailles en rem pour respecter les préférences du navigateur. */
html{font-size:100%}
body{font-size:1.125rem;line-height:1.75}
p,li{line-height:1.75}
.topbar,.topbar .wrap{font-size:.8125rem;letter-spacing:.5px}
.topbar .wrap{min-height:42px;gap:16px}
.topbar b{font-size:.9375rem}
.logo small{font-size:.6875rem;letter-spacing:1px}
nav{font-size:1rem;gap:22px}
.nav-wrap{gap:20px;min-height:96px;height:auto;padding-block:18px}
.btn,.btn-small,.hero-actions .btn,.aside-card .btn{font-size:1rem;padding:17px 22px;min-height:52px;white-space:normal;text-align:left}
.eyebrow,.pill,.local-tag{font-size:.8125rem;letter-spacing:1px}
.local-tag svg{width:18px;height:18px;flex-shrink:0}
.hero-copy>p{font-size:1.1875rem;line-height:1.75;max-width:510px}
.text-link,.service-card>a{font-size:1rem}
.micro,.small,.caption{font-size:.875rem!important;line-height:1.65}
.photo-top,.photo-bottom{font-size:.8125rem;line-height:1.5}
.sun-badge{font-size:.8125rem}
.floating-note strong{font-size:1rem}
.floating-note p{font-size:.875rem;line-height:1.5}
.trust-item strong{font-size:1rem}
.trust-item small{font-size:.875rem;line-height:1.5}
.trust-strip{gap:24px;padding-block:30px}
.trust-item{align-items:flex-start;padding-inline:8px}
.section-head>p,.service-card p,.body-copy p,.faq-layout>div>p{font-size:1.125rem;line-height:1.75}
.section-head>p{max-width:420px}
.service-card{padding:30px;min-height:345px}
.service-card h3{font-size:1.5rem}
.service-card p{max-width:none}
.service-card .number{font-size:.875rem}
.check-list li{font-size:1.0625rem;padding-left:32px;margin-block:16px}
.check-list li:before{width:23px;height:23px;font-size:.875rem;line-height:23px;top:3px}
.process-step h3{font-size:1.25rem;line-height:1.4}
.process-step p{font-size:1.0625rem}
.map-card .map-label{font-size:1rem}
.city-link{font-size:1rem;padding-block:16px}
.estimate-box p{font-size:1.0625rem}
.estimate-controls label{font-size:1rem}
.range-labels,.estimate-controls small{font-size:.875rem;line-height:1.6}
.estimate-result span{font-size:.9375rem;max-width:160px}
.estimate-result strong{font-size:1.75rem;white-space:nowrap}
.estimate-result{flex-wrap:wrap}
.faq-list summary{font-size:1.125rem;line-height:1.55;min-height:36px}
.faq-list details p{font-size:1.0625rem;line-height:1.75}
.cta-band p{font-size:1.0625rem}
.footer-top p{font-size:1rem;line-height:1.7}
.footer-top h3{font-size:1.0625rem}
.footer-top>div>a:not(.logo){font-size:1rem;margin-block:13px}
.footer-top .eyebrow{font-size:.8125rem;line-height:1.6}
.footer-bottom{font-size:.875rem;line-height:1.65}
.breadcrumb{font-size:.9375rem;line-height:1.6}
.page-hero>p{font-size:1.25rem;line-height:1.75}
.prose p,.prose li{font-size:1.125rem;line-height:1.8}
.prose h3{font-size:1.5rem;line-height:1.4}
.aside-card p{font-size:1.0625rem}
.aside-card small{font-size:.875rem;line-height:1.65}
.notice,.form-errors{font-size:1rem;line-height:1.75}
.source-box p,.source-box li{font-size:1rem}
.article-meta{font-size:.9375rem;line-height:1.6}
table{font-size:1rem;line-height:1.6}
th{font-size:.9375rem}
.directory-card h3{font-size:1.25rem;line-height:1.4}
.directory-card p{font-size:1rem}
.directory-card a{font-size:1rem;line-height:1.6;padding-block:5px}
.all-cities{font-size:1rem;line-height:1.7}
.all-cities>div{margin-bottom:12px}
.pagination a{font-size:1rem;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.form-group label{font-size:1.0625rem;line-height:1.5}
input,select,textarea{font-size:1.0625rem;line-height:1.5}
.consent{font-size:1rem;line-height:1.7}
.consent input{width:21px;height:21px}
.quote-form legend{font-size:1.5rem;line-height:1.4}
@media(min-width:801px) and (max-width:1200px){.nav-wrap{flex-wrap:wrap;justify-content:center;gap:18px}nav{justify-content:center;flex-wrap:wrap;width:100%;gap:22px}.hero{gap:32px}.hero-actions{align-items:flex-start}.hero-copy>p{font-size:1.125rem}.trust-strip{grid-template-columns:repeat(2,1fr)}.trust-item:nth-child(2){border-right:0}.estimate-box{gap:28px}.footer-top{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.nav-wrap{height:84px;min-height:84px;padding-block:12px}.menu-toggle{width:48px;height:48px;flex-shrink:0}nav{top:84px}nav.open{font-size:1.125rem;max-height:calc(100dvh - 126px);overflow-y:auto}nav.open>a:not(.btn){padding-block:8px}.topbar .wrap{font-size:.8125rem;line-height:1.5;padding-block:8px;flex-wrap:wrap;justify-content:center;gap:4px 18px}.hero{grid-template-columns:1fr;gap:32px}.hero-copy>p{max-width:620px}.hero-photo{height:410px}.floating-note strong{font-size:1rem}.floating-note p{font-size:.875rem}.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.service-card p{margin-bottom:24px}.section-head{display:block}.section-head>p{max-width:640px;margin-top:20px}.content-grid{grid-template-columns:1fr}.aside-card{position:static}.estimate-box{grid-template-columns:1fr}.estimate-result{display:flex}.estimate-result strong{font-size:1.75rem}.faq-layout{grid-template-columns:1fr;gap:28px}.cta-band{align-items:flex-start;flex-direction:column}.footer-top{grid-template-columns:1fr 1fr}}
@media(max-width:600px){body{font-size:1.125rem}.wrap{width:calc(100% - 36px)}.topbar .wrap>span:first-child,.topbar .wrap>span:last-child{font-size:.75rem;letter-spacing:.3px}.logo small{font-size:.6875rem}.hero h1{font-size:clamp(40px,10.8vw,62px)}.local-tag{font-size:.8125rem;letter-spacing:.5px;max-width:100%;flex-wrap:wrap}.hero-copy>p,.body-copy p{font-size:1.125rem;max-width:100%}.hero-actions{gap:18px}.hero-actions .btn{font-size:1rem}.hero-photo{height:350px}.photo-top,.photo-bottom{font-size:.75rem}.floating-note{left:8px;right:8px;padding:14px;gap:10px}.floating-note strong{font-size:.9375rem}.floating-note p{font-size:.8125rem}.trust-strip{grid-template-columns:1fr;gap:18px}.trust-item{border-right:0;padding:0;gap:14px}.trust-item strong{font-size:1rem}.trust-item small{font-size:.9375rem}.trust-item svg{width:28px;height:28px}.eyebrow{font-size:.8125rem;line-height:1.6}.section-head>p,.service-card p{font-size:1.125rem}.service-card{padding:26px}.service-card h3{font-size:1.5rem}.process-grid{grid-template-columns:1fr;gap:28px}.process-step h3{font-size:1.25rem}.process-step p{font-size:1.0625rem}.city-grid{grid-template-columns:1fr}.city-link{font-size:1.0625rem}.estimate-box{padding:24px}.estimate-controls{padding:18px}.estimate-result strong{font-size:1.625rem}.faq-list summary{font-size:1.125rem}.faq-list details p{font-size:1.0625rem}.cta-band p{font-size:1.0625rem}.footer-top{grid-template-columns:1fr}.footer-top>div:first-child,.footer-top>div:last-child{grid-column:auto}.footer-bottom{font-size:.875rem}.page-hero>p{font-size:1.125rem}.prose p,.prose li{font-size:1.125rem}.directory-grid{grid-template-columns:1fr}.directory-card{padding:22px}.directory-card h3{font-size:1.25rem}.all-cities{columns:1}.breadcrumb{font-size:.875rem}.article-meta{font-size:.875rem;gap:12px}.form-group label{font-size:1.0625rem}.consent{font-size:1rem}.mobile-cta{font-size:1rem;min-height:54px}.site-footer{padding-bottom:110px}}
@media print{body{font-size:12pt}.prose p,.prose li{font-size:12pt}.topbar{display:none}}:root{--tt-ink:#191C18;--tt-bg:#fff;--tt-accent:#C7F238;--tt-accent-ink:#191C18;--tt-accent-text:#4d6b00;--tt-soft:#f1f4ea;--tt-line:#d9ddd2;--tt-muted:#4a5046;--tt-radius:16px;--tt-font:"DM Sans",system-ui,sans-serif;--tt-display:"Manrope",system-ui,sans-serif}.tt-rappel{border:2px solid #191C18;box-shadow:8px 8px 0 #C7F238,0 30px 80px rgba(0,0,0,.25)}.tt-btn{border-color:#191C18}.tt-btn-ghost{border-color:#d9ddd2}
