@font-face{font-family:Outfit;src:url('/assets/fonts/Outfit.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{color-scheme:light;--primary:#23634c;--accent:#23634c;--paper:#fff;--ink:#20312a;--muted:#52635b;--line:#dce4df}
body,h1,h2,h3,input,button,textarea,select,.expertise-card h3,.zone-card h3{font-family:Outfit,system-ui,sans-serif}
body{background:#fff}h1,h2,h3{font-weight:600}.brand{display:inline-flex;align-items:center;gap:10px}.brand::before{content:none}.house-mark{flex:none;width:40px;height:40px}
.demo,.home-hero,.zone-card,.service-icon,.quote-panel,.site-footer,.site-header,.section{background:#fff;color:var(--ink)}.demo{border-bottom:1px solid var(--line);color:var(--muted)}
.home-hero .hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:44px}.hero-copy{margin:0;text-align:left;max-width:none;min-width:0}.hero-actions{justify-content:flex-start}.hero-search{margin:24px 0}.hero-copy>p:not(.eyebrow){margin-inline:0}.home-hero :where(a,button,input):focus-visible{outline-color:var(--primary)}
.home-hero .quote-panel,.quote-panel{display:block;padding:0;margin:0;border:0;border-radius:0;box-shadow:none;background:#fff;color:var(--ink)}.home-hero .quote-panel p,.quote-panel>p{color:var(--muted)}.quote-panel .quote-host-line{font-size:20px;font-weight:600;margin:0 0 12px;color:var(--ink)}.widget-slot{margin:0}.widget-frame{height:800px;scroll-margin-top:24px;border:1px solid var(--line);border-radius:8px}.quote-panel .widget-disclosure{margin-top:8px}.quote-panel .affiliate-note{border:0;padding:0;margin:8px 0}.home-hero .quote-panel p{margin-bottom:8px}
.insulation-image{margin:24px 0}.insulation-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:14px}.hero-media img{max-height:240px}.comparison-pictures{display:grid;grid-template-columns:1fr 1fr;gap:20px}.comparison figure{margin:0;min-width:0;position:relative}.comparison img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:14px}.comparison figcaption{position:absolute;top:12px;right:12px;background:#fff;color:var(--ink);padding:4px 10px;border-radius:6px;font-weight:600;z-index:1}.comparison.is-enhanced .comparison-pictures{display:block;position:relative;aspect-ratio:3/2;overflow:hidden;border-radius:14px}.comparison.is-enhanced figure{position:absolute;inset:0}.comparison.is-enhanced .comparison-before{z-index:1;clip-path:inset(0 calc(100% - var(--reveal,50%)) 0 0)}.comparison.is-enhanced figcaption{position:absolute;top:12px;right:12px;background:#fff;color:var(--ink);padding:4px 10px;border-radius:6px;z-index:1}.comparison.is-enhanced .comparison-before figcaption{left:12px;right:auto}.comparison.is-enhanced .comparison-pictures::after{content:'';position:absolute;left:var(--reveal,50%);top:0;bottom:0;width:3px;transform:translateX(-50%);z-index:2;background:#fff;box-shadow:0 0 0 1px var(--primary);pointer-events:none}.comparison-control{margin-top:16px}.comparison-control input{width:100%;max-width:none;min-height:44px;padding:0;accent-color:var(--primary);touch-action:pan-y}.comparison-control output{font-size:14px}
.sticky-quote{padding:0;border:0;background:transparent;box-shadow:none;max-width:calc(100% - 32px);right:16px;bottom:max(16px,env(safe-area-inset-bottom));border-radius:0}.sticky-quote>span{display:none}.provider-proof{padding:18px 0;border-block:1px solid var(--line);font-size:14px;color:var(--muted)}
textarea,select{max-width:100%;font:inherit}.profile-map iframe{width:100%;height:320px;border:1px solid var(--line);border-radius:14px}.editorial-content{max-width:900px}.site-footer{margin-top:44px}.site-footer>.brand{display:inline-flex;margin-bottom:18px}
@media(max-width:700px){.home-hero .hero-inner{grid-template-columns:1fr;gap:24px}.hero-copy{max-width:none}.hero-media img{max-height:210px}.widget-frame{height:880px}.quote-panel .quote-host-line{font-size:18px}.sticky-quote{left:auto;right:12px;bottom:max(12px,env(safe-area-inset-bottom));max-width:calc(100% - 24px)}.sticky-quote .btn{max-width:none}.comparison-pictures{grid-template-columns:1fr}.house-mark{width:24px;height:24px}.home-hero{overflow:visible}}
#city-results a:hover{background:var(--primary);color:#fff}.detail-media{max-width:720px}.detail-media img{max-height:360px;object-fit:cover}.quote-host-line{scroll-margin-top:24px}fieldset{border:1px solid var(--line);border-radius:8px;padding:20px}textarea{display:block;width:100%;min-height:180px;padding:12px;border:1px solid var(--line);border-radius:8px}select{padding:12px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:8px}.editor-contact button{padding:12px 20px;background:var(--primary);color:#fff;border:0;border-radius:8px;min-height:44px}.editor-contact input{margin-bottom:16px}.editor-contact form{max-width:720px}.sticky-quote[hidden]{display:none}

/* The home page has a full-width photographic hero; local pages keep their quote columns. */
.page-home .site-main{width:100%;padding:0}
.page-home .site-main> :not(.home-hero){width:min(100% - 48px,1160px);margin-inline:auto}
.page-home .home-hero{position:relative;isolation:isolate;overflow:visible;min-height:740px;padding:110px 24px 100px;border-radius:0;background:#153e2f;color:#fff}
.page-home .hero-background{position:absolute;inset:0;z-index:-2;margin:0;pointer-events:none}
.page-home .hero-background img{width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;border-radius:0}
.page-home .home-hero::before{content:"";display:block;position:absolute;inset:0;width:auto;height:auto;border:0;border-radius:0;box-shadow:none;background:linear-gradient(110deg,#102e24d9,#102e24ad);z-index:-1;pointer-events:none}
.page-home .home-hero::after{display:none}
.page-home .home-hero .hero-inner{display:block;max-width:1000px;margin-inline:auto}
.page-home .hero-copy{max-width:1000px;margin-inline:auto;text-align:center}
.page-home .home-hero .eyebrow{color:#deebd9;margin-bottom:21px}
.page-home .home-hero h1{font-size:clamp(42px,5.4vw,80px);font-weight:700;line-height:1.06;margin:0 0 34px;color:#fff}
.page-home .home-hero h1 em{display:block;color:#cde6a4;font-weight:700;font-style:normal}
.page-home .hero-copy>p:not(.eyebrow){max-width:760px;margin-inline:auto;color:#fff;font-size:21px}
.page-home .hero-search{max-width:660px;margin:34px auto 21px;text-align:left}
.page-home .hero-search label{color:#fff}
.page-home .search-field{min-height:72px;background:#fff;color:var(--ink);border-radius:14px;padding:20px 24px}
.page-home .hero-actions{justify-content:center;margin-top:21px}

.page-home .home-hero :where(a,button,input):focus-visible{outline-color:#cde6a4}
@media(max-width:700px){
 .page-home .home-hero{min-height:620px;padding:64px 20px 60px}
 .page-home .home-hero h1{font-size:42px}
 .page-home .hero-copy>p:not(.eyebrow){font-size:18px}
 .page-home .hero-search{margin-top:21px}
 .page-home .search-field{min-height:64px;padding:16px}
 .page-home .site-main> :not(.home-hero){width:calc(100% - 40px)}
}

/* One shared button format across header, hero, content and floating CTA. */
:root{--cta:#c65308;--cta-hover:#b64806}
body :is(.site-header,.site-main,.sticky-quote,.site-footer,.idle-popup) :is(.btn,.editor-contact button){display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:14px 24px;border:1px solid #a64006;border-radius:10px;background:linear-gradient(180deg,var(--cta),#af4004);color:#fff;font-family:inherit;font-size:16px;font-weight:700;line-height:1.4;text-align:center;text-decoration:none;box-shadow:inset 0 1px 0 #ffffff55,0 3px 8px #9a400326;filter:none;transition:background .15s ease,box-shadow .15s ease}
body :is(.site-header,.site-main,.sticky-quote,.site-footer,.idle-popup) :is(.btn,.editor-contact button):hover{background:linear-gradient(180deg,var(--cta-hover),#a43b03);box-shadow:inset 0 1px 0 #ffffff66,0 4px 12px #9a400338;filter:none}
body :is(.site-header,.site-main,.sticky-quote,.site-footer,.idle-popup) :is(.btn,.editor-contact button):focus-visible{outline:3px solid var(--cta);outline-offset:4px}
body :is(.site-header,.site-main,.sticky-quote,.site-footer,.idle-popup) .btn-secondary{background:#fff;color:var(--primary);border-color:var(--line);box-shadow:none}
body :is(.site-header,.site-main,.sticky-quote,.site-footer,.idle-popup) .btn-secondary:hover{background:#edf4ef;box-shadow:none}
.page-home .home-hero .btn:focus-visible{outline-color:#fff}

.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px}.testimonial-card{margin:0;padding:24px;border:1px solid var(--line);border-radius:12px;background:#fff}.testimonial-card blockquote{margin:0 0 20px;line-height:1.7}.testimonial-card small{display:block;margin-top:8px;color:var(--muted)}

.reference-proof{display:flex;align-items:center;gap:28px;padding:32px 0}.proof-portraits{display:flex;flex-shrink:0;padding-left:12px}.proof-portraits img{width:48px;height:48px;object-fit:cover;border-radius:50%;border:3px solid white;margin-left:-12px}.proof-stars{color:#bd6900;letter-spacing:3px;font-size:22px}.proof-copy h2{font-size:24px;margin:8px 0}.proof-copy p{margin:8px 0}.proof-copy small{display:block;font-size:12px;line-height:1.6}@media(max-width:700px){.reference-proof{flex-direction:column;align-items:flex-start;gap:12px;padding:24px 0}}

/* Full-width footer reuses each site's hero photo and green overlay. */
.site-footer{position:relative;isolation:isolate;overflow:hidden;width:100%;padding:56px max(24px,calc((100% - 1160px)/2));border:0;background:#153e2f;color:#fff}
.site-footer .footer-background{position:absolute;inset:0;z-index:-2;margin:0;pointer-events:none}
.site-footer .footer-background img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:0}
.site-footer::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,#102e24d9,#102e24ad);pointer-events:none}
.site-footer a{color:#fff}.site-footer a:hover{color:#cde6a4}.site-footer a:focus-visible{outline:3px solid #cde6a4;outline-offset:4px}
@media(max-width:700px){.site-footer{padding:40px 20px}}

/* Full-width divider, with navigation aligned to the content container. */
.site-header{width:100%;padding-inline:max(36px,calc((100% - 1160px)/2))}
@media(max-width:1000px){.site-header{padding-inline:24px}}
@media(max-width:700px){.site-header{padding-inline:20px}}

.comparison-handle{display:none}.comparison.is-enhanced .comparison-handle{display:flex;align-items:center;justify-content:center;position:absolute;left:var(--reveal,50%);top:50%;transform:translate(-50%,-50%);z-index:3;width:44px;height:44px;box-sizing:border-box;border:3px solid #fff;border-radius:50%;background:var(--primary);color:#fff;font:700 18px/1 sans-serif;box-shadow:0 0 0 1px var(--primary);pointer-events:none}.comparison.is-enhanced .comparison-pictures>input{position:absolute;left:-22px;top:0;z-index:4;width:calc(100% + 44px);max-width:none;height:100%;min-height:44px;margin:0;padding:0;border:0;background:transparent;appearance:none;touch-action:pan-y;cursor:ew-resize}.comparison.is-enhanced .comparison-pictures>input::-webkit-slider-runnable-track{height:100%;background:transparent}.comparison.is-enhanced .comparison-pictures>input::-webkit-slider-thumb{appearance:none;width:44px;height:44px;background:transparent;border:0}.comparison.is-enhanced .comparison-pictures>input::-moz-range-track{background:transparent}.comparison.is-enhanced .comparison-pictures>input::-moz-range-thumb{width:44px;height:44px;background:transparent;border:0}.comparison.is-enhanced .comparison-pictures:has(input:focus-visible){outline:3px solid var(--primary);outline-offset:3px}.comparison-brand{display:none}.comparison.is-enhanced .comparison-brand{display:flex;align-items:center;justify-content:center;gap:8px;position:absolute;bottom:18px;left:50%;transform:translateX(-50%);width:max-content;max-width:90%;z-index:2;color:#fff;opacity:.65;font-size:clamp(12px,2.5vw,20px);font-weight:700;pointer-events:none;text-shadow:0 1px 4px #0008}.comparison-brand .house-mark rect{fill:none;stroke:#fff}.comparison-brand .house-mark{width:32px;height:32px;flex-shrink:0}

/* Reserve floating-button space inside the photographic footer. */
body{padding-bottom:0}
.site-footer{padding-bottom:112px}
@media(max-width:700px){.site-footer{padding-bottom:118px}}

.comparison.is-pending .comparison-pictures{display:block;position:relative;aspect-ratio:3/2;overflow:hidden;border-radius:14px}.comparison.is-pending figure{position:absolute;inset:0}.comparison.is-pending .comparison-after{visibility:hidden}

/* Compact reassurance directly beneath the homepage CTA. */
.hero-proof{margin-top:22px;text-align:center;color:#fff;font-size:16px}
.hero-proof-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 18px}
.hero-proof a{color:#fff;text-decoration:none}.hero-proof a:hover{text-decoration:underline}
.hero-proof .proof-stars{color:#f4b94f;font-size:22px;letter-spacing:1px;white-space:nowrap}
.hero-proof small{display:block;margin-top:8px;font-size:11px;color:#deebd9}
.partner-context{margin-top:48px;padding:24px 0}.partner-context h2{font-size:22px;margin:0 0 10px}.partner-context p{margin:8px 0}.partner-context small{display:block;font-size:12px}
@media(max-width:700px){.hero-proof{font-size:14px}.hero-proof-row{gap:10px 12px}.hero-proof .proof-portraits img{width:40px;height:40px}}

.hero-proof-summary{display:block;margin-top:12px;line-height:1.5}.proof-rating{white-space:nowrap;font-size:18px}

/* Keep all ten portraits, stars and score together on narrow screens. */
@media(max-width:700px){.hero-proof-row{gap:8px;flex-wrap:nowrap}.hero-proof .proof-portraits{padding-left:16px}.hero-proof .proof-portraits img{width:28px;height:28px;border-width:2px;margin-left:-16px}.hero-proof .proof-stars{font-size:16px;letter-spacing:0}.proof-rating{font-size:14px}}

/* Large centered search heading with an anchored suggestion dropdown. */
.page-home .hero-search{position:relative}
.page-home .hero-search label{text-align:center;font-size:clamp(22px,2.2vw,30px);margin-bottom:18px}
.city-search-control{position:relative}.city-search-icon{position:absolute;left:22px;top:50%;transform:translateY(-50%);width:28px;height:28px;color:#f3b522;pointer-events:none}
.page-home .city-search-control .search-field{padding-left:66px;font-size:20px;border-radius:20px;min-height:78px}
.page-home .search-field::placeholder{color:#717b87}
#city-results{position:absolute;top:100%;left:0;right:0;z-index:20;max-height:300px;overflow-y:auto;gap:0;margin-top:8px;padding:8px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);box-shadow:0 12px 30px #0003;text-align:left}
#city-results[hidden],#city-results:empty{display:none}
#city-results a{background:#fff;border-radius:8px;padding:14px 16px}
#city-results a:focus-visible{background:var(--primary);color:#fff;outline:2px solid var(--primary);outline-offset:-2px}
@media(max-width:700px){.page-home .hero-search label{font-size:22px}.page-home .city-search-control .search-field{font-size:16px;padding-left:48px;min-height:68px}.city-search-icon{left:16px;width:22px;height:22px}}

/* Portraits reduced by 15 percent, retaining ten distinct faces. */
.hero-proof .proof-portraits img{width:40.8px;height:40.8px}
@media(max-width:700px){.hero-proof .proof-portraits img{width:23.8px;height:23.8px}}

/* Decorative horizontal arrow shared by first-party action buttons. */
:is(.btn, .idle-popup-cta, button:not(.idle-popup-close))::after {
 content: "";
 display: inline-block;
 flex-shrink: 0;
 width: 20px;
 height: 20px;
 margin-left: 10px;
 vertical-align: middle;
 background: currentColor;
 mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M4 12h16m-6-6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.btn::after { margin-left: 0; }
.btn > span[aria-hidden="true"] { display: none; }

/* Mobile rhythm: Fibonacci spacing; touch targets stay at least 44px. */
:root{--mobile-xs:8px;--mobile-sm:13px;--mobile-md:21px;--mobile-lg:34px;--mobile-xl:55px}
.mobile-details{border-block:1px solid var(--line);margin-block:21px}
.mobile-details summary{cursor:pointer;padding-block:13px;font-weight:600;min-height:44px}
.mobile-details .trust-grid{margin-top:0;border-top:0}
.mobile-details[open]>summary{margin-bottom:8px}
@media(max-width:700px){
 html{scroll-padding-bottom:110px}
 body{padding-bottom:110px}
 .site-header{gap:var(--mobile-xs);padding:var(--mobile-sm) var(--mobile-md)}
 .site-header .brand{font-size:21px;min-height:44px;gap:var(--mobile-xs);max-width:100%}
 .site-header nav{justify-content:space-between;gap:0 var(--mobile-xs);font-size:13px}
 .site-header nav>a:not(.btn){display:flex;align-items:center;min-height:44px;padding-block:8px}
 body .site-header nav .btn{display:none}
 .page-home .home-hero{min-height:0;padding:var(--mobile-lg) var(--mobile-md)}
 .page-home .home-hero .eyebrow{margin-bottom:var(--mobile-sm);font-size:10px}
 .page-home .home-hero h1{font-size:clamp(30px,8.7vw,42px);line-height:1.12;margin-bottom:var(--mobile-md);text-wrap:balance}
 .page-home .hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.55;margin-bottom:var(--mobile-md)}
 .page-home .hero-search{margin:21px auto 13px}
 .page-home .hero-search label{font-size:21px;margin-bottom:var(--mobile-sm)}
 .page-home .city-search-control .search-field{min-height:55px;border-radius:13px;padding:13px 13px 13px 44px}
 .city-search-icon{left:13px;width:21px;height:21px}
 .page-home .hero-actions{margin-top:var(--mobile-md)}
 .page-home .hero-actions .btn{width:100%;max-width:377px;padding:13px 21px}
 .hero-proof{margin-top:var(--mobile-md)}
 .hero-proof-summary{margin-top:var(--mobile-sm);font-size:14px;line-height:1.55}
 .hero-proof-row{gap:8px}
 .page-home .site-main> :not(.home-hero){width:calc(100% - 42px)}
 .section{margin-block:var(--mobile-xl)}
 .section-heading{margin-bottom:var(--mobile-md)}
 .local-hero,.hero{gap:var(--mobile-md)}
 .local-hero h1{font-size:34px;line-height:1.15;text-wrap:balance}
 .trust-item{grid-template-columns:1fr;gap:5px;padding-block:13px}
 .mobile-details{margin-block:var(--mobile-md)}
 .breadcrumbs{line-height:1.5;gap:8px}
 .breadcrumbs a,.profile-correction,.related-site a{display:inline-block;min-height:44px;padding-block:8px}
 .site-footer{padding:var(--mobile-lg) var(--mobile-md)}
 .site-footer nav{gap:8px 21px}
 .site-footer nav a{display:inline-flex;align-items:center;min-height:44px}
 .sticky-quote{left:0;right:0;bottom:0;max-width:none;justify-content:center;padding:13px max(13px,env(safe-area-inset-right)) max(13px,env(safe-area-inset-bottom)) max(13px,env(safe-area-inset-left));background:#fff;border-top:1px solid var(--line);box-shadow:0 -3px 13px #20312a0d}
 body .sticky-quote .btn{width:100%;max-width:377px;min-height:55px;font-size:14px;padding:13px;border-radius:13px;gap:13px}
 #devis{scroll-margin-top:21px}
 :is(input,select,textarea){font-size:16px}
 .faq-list summary{min-height:44px}
}

/* Establishment hero: editorial illustration, never a business photograph. */
.profile-hero{position:relative;isolation:isolate;align-items:center;gap:44px;padding:40px 0;margin:24px 0 0;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);color:#fff}
.profile-hero::before{content:"";position:absolute;z-index:-1;inset:0 calc((100% - 100vw)/2);background:linear-gradient(90deg,rgba(12,45,34,.95),rgba(12,45,34,.78))}
.profile-hero .profile-background{position:absolute;z-index:-2;inset:0 calc((100% - 100vw)/2);margin:0;pointer-events:none}
.profile-hero .profile-background img{width:100%;height:100%;object-fit:cover;border-radius:0;aspect-ratio:auto}
.profile-hero .local-copy{padding-block:24px}
.profile-hero h1{color:#fff;font-size:clamp(36px,4.3vw,62px);text-transform:uppercase;margin:28px 0 20px}
.profile-badge{display:inline-flex;align-items:center;gap:8px;padding:5px 14px;border:1px solid #ffffff50;border-radius:99px;background:#ffffff12;color:#d9ed92;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.profile-badge::before{content:"";width:8px;height:8px;border-radius:50%;background:#d9ed92}
.profile-hero .local-copy .profile-subtitle{font-size:23px;color:#f0f3e8;line-height:1.4;margin-bottom:28px}
.profile-subtitle strong{color:#d9ed92}
.profile-hero .local-copy .profile-intro{color:#e0e8e1;font-size:17px;margin-bottom:36px}
.profile-hero .profile-correction{color:#fff;font-size:13px;text-decoration:underline}
.profile-hero .quote-panel{padding:20px 16px 8px;border-radius:24px;background:#fff;overflow:hidden}
.profile-hero .quote-host-line{text-align:center;font-size:15px;color:var(--muted);margin-bottom:16px}
.profile-hero .widget-frame{border:0;border-radius:0}
@media(max-width:700px){
 .profile-hero{grid-template-columns:1fr;gap:24px;padding:28px 0 0;margin-top:12px}
 .profile-hero .local-copy{padding:0}
 .profile-hero .profile-badge{display:flex;width:fit-content;margin-bottom:0}
 .profile-hero h1{font-size:36px;margin:16px 0}
 .profile-hero .local-copy .profile-subtitle{font-size:20px;margin-bottom:16px}
 .profile-hero .local-copy .profile-intro{font-size:15px;margin-bottom:20px}
 .profile-hero .quote-panel{width:100vw;margin-inline:calc((100% - 100vw)/2);padding:16px 0 4px;border-radius:0}
 .profile-hero .quote-panel>:not(.widget-slot){padding-inline:16px}
}

.profile-hero .local-copy .profile-badge{color:#d9ed92}

/* Attributed, locally hosted platform logos below the homepage hero. */
.page-home .site-main>.network-band{width:100%;background:#fff;margin:0;padding:34px 24px;border-bottom:1px solid var(--line)}
.network-inner{max-width:1160px;margin:auto;text-align:center}.network-band h2{font-size:clamp(22px,3vw,30px);margin:0 0 8px}.network-band p{color:var(--muted);margin:8px 0 21px}.network-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:21px 34px;list-style:none;padding:0;margin:26px 0}.network-logos li{display:flex;align-items:center;justify-content:center;width:130px;height:62px}.network-logos img{width:100%;height:100%;object-fit:contain}.network-band .network-source{font-size:12px;margin:21px 0 0}
@media(max-width:700px){.page-home .site-main>.network-band{padding:26px 16px}.network-logos{gap:13px 21px}.network-logos li{width:calc((100% - 42px)/3);max-width:130px;height:52px}}

/* Align link text and anonymous slash flex items on the same baseline. */
.breadcrumbs{align-items:baseline}

/* Professional profiles keep navigation inside the photographic hero. */
.page-business .site-main{padding-top:0}
.page-business .profile-hero{margin-top:0}
.profile-hero .breadcrumbs{color:#e0e8e1;font-size:11px;line-height:1.5;gap:6px;margin:0 0 18px}
.profile-hero .breadcrumbs a{padding-block:4px;min-height:24px}
.profile-information{border-top:1px solid var(--line);padding-top:24px}

/* Dedicated devis page: one centered flow for every specialty. */
.quote-landing{display:flex;flex-direction:column;align-items:center;gap:32px;padding:28px 0 48px}
.quote-landing-heading{text-align:center;max-width:960px}
.quote-landing-heading h1{margin-inline:auto}
.quote-landing .quote-panel{width:100%;max-width:960px;min-width:0}
.quote-landing .quote-host-line{text-align:center}
.quote-landing-proof{padding:24px;background:#203e2e;position:relative;overflow:hidden;border-radius:14px}
.quote-landing-proof .hero-proof{margin:0}
.quote-landing-proof .hero-proof-row{gap:24px}
.quote-landing-proof .proof-portraits img{width:64px;height:64px}
.quote-landing-proof .proof-stars{font-size:32px}
.quote-landing-proof .proof-rating{font-size:28px}
.quote-landing-proof .hero-proof-summary{font-size:24px}
@media(max-width:700px){.quote-landing{gap:24px;padding-top:16px}.quote-landing-heading h1{font-size:36px}.quote-landing-proof{padding:24px 12px}.quote-landing-proof .hero-proof-row{flex-wrap:wrap;gap:12px}.quote-landing-proof .proof-portraits img{width:36px;height:36px}.quote-landing-proof .proof-stars{font-size:24px}.quote-landing-proof .proof-rating{font-size:22px}.quote-landing-proof .hero-proof-summary{font-size:18px}}

.quote-proof-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.2;pointer-events:none}.quote-landing-proof .hero-proof{position:relative}

/* Homepage partner section and balanced twelve-logo network. */
.network-logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px 24px;max-width:960px;margin:24px auto 0}.network-logos li{width:100%;height:56px}.network-logos img{max-width:120px}
.partner-context{background:linear-gradient(125deg,#213f32,#3e5d3b);border:0;border-radius:24px;padding:48px 40px;text-align:center;color:#fff}.partner-context .eyebrow{color:#d9ed92;font-size:13px;letter-spacing:.08em}.partner-context h2{font-size:clamp(26px,3vw,38px);color:#fff;margin:12px 0}.partner-context .partner-intro{color:#e2ecdf;font-size:17px}.partner-context .hero-proof{margin:32px 0 20px}.partner-context .hero-proof-row{gap:24px}.partner-context .proof-portraits img{width:56px;height:56px}.partner-context .proof-stars{font-size:32px}.partner-context .proof-rating{font-size:28px}.partner-context .hero-proof-summary{font-size:clamp(18px,2.2vw,26px);margin-top:24px}.partner-context .partner-caption{max-width:780px;margin:20px auto 0;font-size:12px;line-height:1.6;color:#dce7d7}.partner-context a{color:inherit}.partner-badges{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:center;background:#fff;border-radius:16px;padding:24px;margin-top:32px}.partner-badges img{width:100%;max-width:140px;height:auto;justify-self:center}.partner-context .partner-badges-caption{font-size:12px;color:#dce7d7;margin:12px 0 0}
@media(max-width:700px){.network-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.network-logos li{height:60px;max-width:none}.partner-context{padding:28px 16px;border-radius:16px}.partner-context .hero-proof-row{flex-wrap:wrap;gap:12px}.partner-context .proof-portraits{padding-left:12px;flex-basis:100%;justify-content:center}.partner-context .proof-portraits img{width:36px;height:36px;margin-left:-12px}.partner-context .proof-stars{font-size:24px}.partner-context .proof-rating{font-size:22px}.partner-badges{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:20px}.partner-badges img{max-width:105px}}

.partner-logo{display:inline-flex;align-items:center;justify-content:center;background:#213f32;border:1px solid #ffffff30;border-radius:14px;padding:14px 24px;margin-bottom:18px}.partner-logo img{width:200px;height:auto;max-width:100%}.partner-context .partner-intro{max-width:780px;margin:16px auto}.partner-cta{margin:28px 0 20px}.partner-cta .btn{font-size:18px;gap:20px}.partner-context .partner-cta p{font-size:13px;margin:12px 0;color:#e2ecdf}.page-home .site-main>.partner-context:last-child{margin-bottom:40px}
@media(max-width:700px){.partner-logo img{width:170px}.partner-cta .btn{width:100%;font-size:16px}.partner-context .partner-intro{font-size:16px}.page-home .site-main>.partner-context:last-child{margin-bottom:28px}}

.quote-landing-proof .partner-badges,.quote-landing-proof .partner-badges-caption,.quote-proof-caption{position:relative}.quote-landing-proof .partner-badges-caption,.quote-proof-caption{color:#e2ecdf;text-align:center;font-size:12px;line-height:1.6;margin:12px auto 0}.quote-proof-caption{max-width:780px}.quote-proof-caption a{color:inherit}

/* Keep the quote introduction compact above the form. */
.quote-landing{padding-top:8px;gap:20px}.quote-landing-heading{max-width:1000px}.quote-landing-heading .eyebrow{margin:0 0 8px;font-size:12px}.quote-landing-heading h1{font-size:clamp(26px,3vw,40px);line-height:1.15;margin:0 auto 12px}.quote-landing-heading>p:last-child{font-size:13px;line-height:1.5;margin:0}
@media(max-width:700px){.quote-landing{padding-top:4px;gap:16px}.quote-landing-heading h1{font-size:26px}.quote-landing-heading>p:last-child{font-size:12px}}

/* Partner background always reuses ui.imagery.hero. */
.partner-context{position:relative;isolation:isolate;overflow:hidden}
.partner-context .partner-background{position:absolute;inset:0;z-index:-2;margin:0;pointer-events:none}
.partner-context .partner-background img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:0}
.partner-context::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,#102e24d9,#102e24ad);pointer-events:none}

/* Editorial contact: one centered reading column, consistent native controls. */
.page-contact .site-main{max-width:792px;padding-bottom:64px}
.contact-intro{text-align:center;margin:8px 0 36px}
.contact-intro h1{margin-bottom:16px}
.contact-intro p{max-width:560px;margin:0 auto 12px}
.contact-quote-link{font-size:14px;color:var(--muted)}
.editor-contact>p{font-size:14px;color:var(--muted);margin-bottom:24px}
.editor-contact form{max-width:none}
.editor-contact fieldset{min-width:0;margin:0;padding:0;border:0}
.editor-contact legend{padding:0;margin-bottom:24px;font-size:22px;font-weight:650;color:var(--ink)}
.editor-contact label{margin:0 0 8px}
.editor-contact :is(input:not([type="hidden"]),select,textarea){display:block;width:100%;max-width:none;min-height:52px;margin:0 0 24px;padding:12px 16px;font:inherit;font-size:16px;line-height:1.5;color:var(--ink);background:#fff;border:1px solid var(--muted);border-radius:8px}
.editor-contact textarea{min-height:180px;resize:vertical}
.editor-contact :is(input,select,textarea):focus-visible{outline:3px solid var(--primary);outline-offset:3px}
.editor-contact .contact-status{padding:16px;border-left:4px solid var(--primary);background:#fff;color:var(--ink);font-size:16px}
.editor-contact .contact-context{padding:16px;background:#fff;border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere}
.editor-contact fieldset:disabled{opacity:.65}
.page-contact .editor-contact button{width:100%}
@media(max-width:700px){.page-contact .site-main{padding-bottom:40px}.contact-intro{margin:4px 0 28px}.editor-contact legend{font-size:20px}}

/* Contextual quote prompts use the same shell at each editorial decision point. */
.quote-context{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px;margin-top:28px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}
.quote-context h3{font-size:22px;margin-bottom:10px}
.quote-context p{max-width:640px;font-size:15px;margin:0}
.quote-context-action{flex-shrink:0;max-width:100%;text-align:center}
.quote-context-action small{display:block;margin-top:10px;font-size:13px;color:var(--muted);text-align:center}
@media(max-width:800px){.quote-context{flex-direction:column;align-items:flex-start;padding:21px;gap:21px}.quote-context-action{width:100%}.quote-context-action .btn{width:100%}}

.review-card{display:flex;flex-direction:column;gap:20px;box-shadow:0 8px 28px rgba(19,61,42,.05)}.review-person{display:flex;align-items:center;gap:14px}.review-avatar{flex:0 0 56px;width:56px;height:56px;border-radius:50%;object-fit:cover;background:#edf5ef}.review-initials{display:grid;place-items:center;color:#205c3c;font-weight:700}.review-person>div{min-width:0}.review-person strong{display:block;font-size:17px;line-height:1.4}.review-person span{display:block;font-size:13px;line-height:1.55;color:var(--muted);overflow-wrap:anywhere}.review-proof{display:flex;align-items:center;justify-content:flex-start;gap:12px;flex-wrap:wrap}.review-stars{color:#d97706;font-size:21px;letter-spacing:2px;line-height:1}.review-source-badge{display:inline-flex;align-items:center;background:#e3f4e8;color:#1c7a45;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;white-space:nowrap}.review-card blockquote{margin:0;font-size:15px;line-height:1.75}.review-card blockquote p{margin:0}.review-card>p{margin:0}.review-card figcaption{margin:0}#avis-entreprises>details{margin-top:24px}#avis-entreprises>details>summary{cursor:pointer;padding:12px 0;color:#205c3c;font-weight:600}#avis-entreprises>details[open]>.testimonials-grid{margin-top:16px}

.review-person>.review-initials{background:#00594e;color:#fff;font-size:28px;font-weight:500;line-height:1}
.comparison-thumbnails{display:flex;gap:10px;overflow-x:auto;padding:4px 3px 12px;margin:16px -3px 12px;scroll-snap-type:x proximity}.comparison-thumbnails[hidden]{display:none}.comparison-thumbnails button{flex:0 0 calc((100% - 90px)/10);min-width:0;padding:0;border:2px solid transparent;border-radius:12px;overflow:hidden;background:#fff;cursor:pointer;scroll-snap-align:start}.comparison-thumbnails img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.comparison-thumbnails button[aria-pressed="true"]{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.comparison-thumbnails button:focus-visible{outline:3px solid var(--primary);outline-offset:2px}@media(max-width:700px){.comparison-thumbnails button{flex-basis:88px}}

.comparison-thumbnails button::before,.comparison-thumbnails button::after{content:none}


.review-slider-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:12px}.review-slider-track::-webkit-scrollbar{display:none}.review-slide{flex:0 0 100%;width:100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;grid-template-columns:repeat(3,minmax(0,1fr))}.review-slider-controls:not([hidden]){display:flex;align-items:center;justify-content:center;gap:18px;margin-top:24px}.review-slider-arrow{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;color:#205c3c;font-size:24px;cursor:pointer}.review-slider-dots{display:flex;gap:0}.review-slider-dot{width:44px;height:44px;border:0;border-radius:0;padding:0;background:radial-gradient(circle,#d5e0da 0 6px,transparent 6.5px);cursor:pointer}.review-slider-dot[aria-current=true]{background:radial-gradient(circle,#205c3c 0 6px,transparent 6.5px)}.review-slider button::before,.review-slider button::after{content:none}.review-slider-status{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.review-slider button:focus-visible,.review-slider-track:focus-visible{outline:3px solid #205c3c;outline-offset:4px}@media(max-width:760px){.review-slide{grid-template-columns:1fr;align-content:start}}

/* Keep the city field named without a visible heading. */
.page-home .hero-search label.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* Mobile spacing: keep desktop proportions and let stacked content fit naturally. */
@media (max-width: 700px) {
 body :is(.site-main,.sticky-quote,.idle-popup) :is(.btn,.editor-contact button) { padding-inline: 12px; gap: 8px; }
 body.page-home .site-main .hero-actions .btn { padding-inline: 12px; }
 .page-home .hero-actions .btn { max-width: none; font-size: clamp(14px, 4vw, 16px); }
 .hero-proof .proof-portraits { padding-left: 12px; }
 .hero-proof .proof-portraits img { margin-left: -12px; }
 .expertise-grid { grid-auto-rows: auto; }
 .expertise-card { padding: 21px; }
 .expertise-card p:last-child { margin-bottom: 0; }
 .quote-context-action small, .section-action, .copy-closing > p:has(> .btn) { text-align: center; }
 .professionals-benefits article { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; align-items: start; padding: 21px; }
 .professionals-benefits .professional-step { line-height: 1.35; padding-top: 4px; }
 .professionals-benefits h3 { margin: 0; }
 .professionals-benefits p { grid-column: 1 / -1; }
 .page-home .site-main > .partner-context { width: 100%; border-radius: 0; margin-inline: 0; padding-inline: 21px; }
}

/* Geographic pages reuse the professional hero without changing other routes. */
.site-main:has(>.directory-hero){padding-top:0}
.directory-hero{margin-top:0}
.directory-hero h1{text-transform:none;font-size:clamp(32px,3.5vw,50px);line-height:1.12}
.directory-hero h1 strong{color:#d9ed92;font-weight:inherit}
.directory-place-code{display:inline;font-size:.6em;margin-left:.3em;color:#d9ed92;white-space:nowrap}
.directory-hero .hero-search{position:relative;margin-top:24px;z-index:3}
.directory-hero .search-field{background:#fff;color:var(--ink);padding-left:60px;border-radius:20px;min-height:78px;font-size:17px;width:100%}
.directory-hero .search-field::placeholder{color:#717b87}
@media(max-width:700px){
 .directory-hero h1{font-size:32px}
 .directory-hero .hero-search{margin-top:20px}
 .directory-hero .search-field{padding-left:48px;min-height:68px;font-size:16px}
}

.directory-hero .related-site{margin:13px 0 0;font-size:16px}
.directory-hero .related-site a{color:#e0e8e1}

.city-reassurance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:21px 0}
.city-reassurance>div{display:flex;align-items:center;gap:10px;padding:13px;background:#ffffff12;border:1px solid #ffffff30;border-radius:14px}
.city-reassurance .home-icon{flex-shrink:0;color:#d9ed92}
.city-reassurance p{margin:0;font-size:13px;line-height:1.4;color:#e0e8e1}
.city-reassurance strong,.city-reassurance span{display:block}
.city-reassurance strong{font-size:15px;color:#fff;margin-bottom:4px}
.page-city .directory-hero .hero-proof{margin-top:21px}
.page-city .directory-hero .hero-proof-summary{font-size:13px;margin-top:8px}
@media(max-width:700px){.city-reassurance{gap:8px}.city-reassurance>div{padding:10px;gap:8px}.city-reassurance .home-icon{width:22px;height:22px}.city-reassurance strong{font-size:13px}.city-reassurance p{font-size:12px}}

/* Join the full-width mobile partner section directly to the footer. */
@media (max-width: 700px) {
 .page-home .site-main > .partner-context:last-child { margin-bottom: 0; }
 .page-home .site-main:has(> .partner-context:last-child) + .site-footer { margin-top: 0; }
}
/* Geographic directory: counts come from each site's imported data. */
.directory-section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}
.directory-section-heading h2{margin:0 0 12px;font-weight:750}
.directory-section-heading p{margin:0;color:var(--muted)}
.directory-coverage{flex-shrink:0;padding:16px 22px;border:1px solid var(--line);border-radius:18px;background:#edf4ef;color:var(--primary);font-weight:750}
.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.directory-card{display:flex;flex-direction:column;justify-content:space-between;gap:26px;min-width:0;padding:28px;border:1px solid #eef0f2;border-radius:20px;background:#fff;box-shadow:0 2px 3px #00000005;color:var(--ink);text-decoration:none}
.directory-card:hover{border-color:var(--primary)}
.directory-card:focus-visible{outline:3px solid var(--primary);outline-offset:4px}
.directory-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.directory-card-heading h3{margin:6px 0 0;font-size:22px;font-weight:750}
.directory-card-heading>span{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border-radius:12px;background:#f8f9fa;font-size:26px;color:var(--ink)}
.directory-counts{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--muted);font-size:14px;margin-bottom:24px}
.directory-counts>span{display:inline-block}
.directory-counts strong{font-weight:700}
.directory-card .directory-counts{margin:0}
@media(max-width:1000px){.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.directory-section-heading{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:24px}.directory-coverage{padding:10px 16px}.directory-grid{grid-template-columns:1fr;gap:16px}.directory-card{padding:24px;gap:22px}}

/* Establishment supporting panels and independent quote invitation. */
.profile-details-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:34px;align-items:start;margin-top:55px}
.profile-details-main{min-width:0}.page-business .profile-information,.page-business .profile-map{margin:0 0 34px;padding:34px;border:1px solid var(--line);border-radius:21px;background:#fff;box-shadow:0 2px 4px #00000008}
.profile-information h2,.profile-faq h2,.profile-related h2{font-size:clamp(24px,2.5vw,34px)}
.profile-quote-card{position:sticky;top:21px;background:#153e30;color:#fff;border-radius:21px;overflow:hidden;box-shadow:0 13px 34px #153e3026}
.profile-quote-card .profile-quote-photo{margin:0}.profile-quote-card .profile-quote-photo img{display:block;width:100%;height:200px;object-fit:cover;border-radius:0}
.profile-quote-copy{padding:26px}.profile-quote-copy h2{color:#fff;font-size:28px;margin:0 0 21px}.profile-quote-copy p,.profile-quote-copy small{color:#e0e8e1}.profile-quote-copy .btn{display:flex;justify-content:center;text-align:center;white-space:normal;margin:26px 0 21px}.profile-quote-copy ul{padding-left:21px}.profile-quote-copy small{display:block;line-height:1.6;font-size:13px}
.profile-faq-list{display:grid;gap:21px}.profile-faq-list article{padding:34px;background:#fff;border:1px solid var(--line);border-radius:21px;box-shadow:0 2px 4px #00000008}.profile-faq-list h3{margin:0 0 21px;font-size:20px}.profile-faq-list p{margin:0}.profile-related .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.profile-details-layout{grid-template-columns:1fr;gap:21px;margin-top:34px}.profile-quote-card{position:static}.profile-quote-card .profile-quote-photo img{height:240px}.profile-related .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.page-business .profile-information,.page-business .profile-map,.profile-faq-list article,.profile-quote-copy{padding:21px}.profile-related .grid{grid-template-columns:1fr}}

/* Home region groups */
#zones .directory-region-group + .directory-region-group{margin-top:40px}
#zones .directory-region-group-title{margin:0 0 20px;font-size:24px;font-weight:750}

/* Liens vers les ressources publiques de conseil. */
.institution-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 21px; margin-top: 21px; }
.institution-link { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; padding: 21px; border: 1px solid #d8dfda; border-radius: 12px; background: #fff; color: var(--primary); }
.institution-link img { width: 160px; height: 81px; max-width: 100%; object-fit: contain; object-position: left center; border-radius: 0; }
.institution-link span { text-decoration: underline; text-underline-offset: 3px; }
.institution-link:hover { border-color: var(--primary); }
@media (max-width: 600px) { .institution-links { grid-template-columns: 1fr; } }

/* Icône de vigilance à côté du titre, contenu dessous. */
#avant-signature { display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 13px; }
#avant-signature > .home-icon-badge { grid-column: 1; width: 40px; height: 40px; margin: 0; align-self: start; }
#avant-signature > .section-heading { grid-column: 2; min-width: 0; }
#avant-signature > p, #avant-signature > .institution-links { grid-column: 1 / -1; }

/* Shared quote column: partner proof directly below the CTA. */
.profile-quote-card{align-self:start}
.profile-quote-copy .btn{gap:13px}
.profile-quote-copy .hero-proof{margin:21px 0 26px}
.profile-quote-copy .hero-proof-row{flex-wrap:wrap;gap:8px 13px}
.profile-quote-copy .proof-portraits{padding-left:16px}
.profile-quote-copy .proof-portraits img{width:28px;height:28px;margin-left:-16px;border-width:2px}
.profile-quote-copy .proof-stars{font-size:20px;letter-spacing:0}
.profile-quote-copy .proof-rating{font-size:18px}
.profile-quote-copy .hero-proof-summary{font-size:16px;color:#fff;margin:21px 0 0}
.directory-details-layout .profile-details-main>.section:first-child{margin-top:0}
.directory-details-layout .directory-grid,.directory-details-layout .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:600px){.directory-details-layout .directory-grid,.directory-details-layout .grid{grid-template-columns:1fr}}

.profile-quote-copy .quote-reassurance{grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 0 0;gap:12px}
.profile-quote-copy .quote-reassurance>div{align-items:flex-start;min-width:0;padding:0;gap:8px;background:none;border:0;border-radius:0}
.profile-quote-copy .quote-reassurance .home-icon{width:20px;height:20px;color:#c6d6cb}
.profile-quote-copy .quote-reassurance strong{font-size:13px;font-weight:600;margin-bottom:2px;color:#e0e8e1}
.profile-quote-copy .quote-reassurance p{font-size:12px;color:#c6d6cb}

/* Keep local editorial copy beside the quote throughout desktop scrolling. */
@media(min-width:901px){
 .directory-details-layout .profile-quote-photo img{height:clamp(100px,20vh,200px)}
 .directory-details-layout .profile-quote-copy{padding:21px}
 .directory-details-layout .profile-quote-copy h2{font-size:24px;margin-bottom:13px}
 .directory-details-layout .profile-quote-copy .btn{margin:21px 0 13px}
 .directory-details-layout .profile-quote-copy .hero-proof{margin:13px 0 21px}
 .directory-details-layout .profile-quote-copy .hero-proof-summary{margin-top:13px}
}

/* Flatten only local and professional heroes so its form can sit above the page-wide veil. */
.quote-hover-hero{isolation:auto}
.quote-hover-hero .profile-background{z-index:0}
.quote-hover-hero::before{z-index:1;pointer-events:none}
.quote-hover-hero .local-copy{position:relative;z-index:2}
.quote-hover-hero > .quote-panel{position:relative;z-index:101}
.quote-hover-veil{position:fixed;inset:0;z-index:100;background:rgb(0 0 0 / .85);opacity:0;pointer-events:none;transition:opacity 1s ease .5s}
@media(hover:hover) and (pointer:fine){
 body:has(.quote-hover-hero > .quote-panel:is(:hover,.has-frame-mouse)) > .quote-hover-veil{opacity:1;transition-delay:2s}
}
@media(prefers-reduced-motion:reduce){.quote-hover-veil{transition-duration:0s}}

/* A five-second visual cue; the provider iframe loads immediately. */
.quote-landing .quote-panel::before{content:"";display:block;width:100%;height:3px;margin:0 0 16px;border-radius:3px;background:var(--primary,#16845b);transform:scaleX(0);transform-origin:left;animation:quote-loading 5s linear forwards}
.quote-landing .quote-host-line{visibility:hidden;animation:quote-prompt 5s step-end forwards}
@keyframes quote-loading{0%{transform:scaleX(0)}99.99%{transform:scaleX(1);visibility:visible}100%{transform:scaleX(1);visibility:hidden}}
@keyframes quote-prompt{to{visibility:visible}}
@media(prefers-reduced-motion:reduce){.quote-landing .quote-panel::before{transform:scaleX(1);animation-timing-function:step-end}}
