@font-face{font-family:'DM Sans';src:url('/assets/fonts/dm-sans-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'DM Sans';src:url('/assets/fonts/dm-sans-latin-400-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'DM Sans';src:url('/assets/fonts/dm-sans-latin-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{--text:'DM Sans',Arial,sans-serif}
header .wordmark{width:150px;min-width:145px}.footer-top .wordmark{width:200px}.wordmark .brand-logo,.brand-panel .brand-logo{aspect-ratio:740 / 397}
.footer-top .footer-signature{font-family:var(--display);font-weight:400;text-transform:uppercase}
.footer-brand{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:44px 0 24px}.footer-brand>img:first-child{width:420px;max-width:70%;height:auto}.footer-brand .footer-mascot{height:140px;width:auto;max-width:25%}
.footer-social{display:flex;gap:28px;font-family:var(--display);text-transform:uppercase}
.topbar-links{display:flex;gap:24px;flex-wrap:wrap;justify-content:flex-end}
.home-hero>img{object-position:62% 40%}
.hero-phone{margin-top:20px;font-size:1rem!important}.hero-phone a{text-decoration:underline;text-underline-offset:4px}

.contact-actions{display:flex;align-items:flex-start;flex-direction:column;gap:24px}.contact-phone{font-family:var(--display);font-size:clamp(1.7rem,4vw,3rem);line-height:1.2}.contact-actions .call-rose{background:var(--navy);color:var(--paper)}
@media(hover:hover){.contact-actions .call-rose:hover{background:var(--navy-hover)}}
.contact-actions .call-rose:is(:focus-visible,:active){background:var(--navy-hover)}
.project-report{max-width:1320px;margin:auto}.project-report figure{margin:0}.project-overview{position:relative;max-width:720px;margin:36px auto!important}.project-report img{display:block;width:100%;height:auto;border-radius:var(--radius-panel)}
.photo-label{position:absolute;top:45%;background:var(--pink);color:var(--navy);font-family:var(--display);text-transform:uppercase;padding:10px 20px;transform:rotate(-5deg);border-radius:var(--radius-control)}.photo-after{left:10%}.photo-before{right:10%;transform:rotate(5deg)}
.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px}.project-pair figcaption{font-family:var(--display);text-transform:uppercase;padding-top:14px}.project-next{margin-top:44px}
:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.dark :focus-visible,.method-choice :focus-visible,.home-hero :focus-visible{outline-color:var(--paper)}
@media(max-width:820px){.footer-brand{gap:20px}.topbar{align-items:center;gap:16px}.topbar-links{gap:8px 16px}}
@media(max-width:650px){.project-pair{gap:16px}}
@media(max-width:520px){header .wordmark{width:145px}.footer-top .wordmark{width:200px}.footer-brand{flex-wrap:wrap}.footer-brand>img:first-child{width:260px;max-width:100%}.footer-brand .footer-mascot{max-width:none}.ticker{font-size:.75rem;gap:8px}.ticker span:nth-of-type(3),.ticker b:nth-of-type(2){display:initial}.ticker span:last-child,.ticker b:last-of-type{display:none}.contact-actions{align-items:stretch}.contact-actions .button{width:100%}.photo-label{font-size:.85rem;padding:8px 12px}.project-pair{grid-template-columns:1fr}.topbar{align-items:flex-start}.topbar-links{flex-direction:column;gap:4px}.hero-phone{max-width:270px}}

.home-hero{overflow:visible}
.home-hero>.hero-signature{position:absolute;inset:auto 6% -30px auto;width:230px;height:auto;object-fit:contain;object-position:center;z-index:2;transform:none}
.home-hero .image-credit{right:auto;left:6%;max-width:55%}
.home-hero+.ticker{padding-top:44px}
@media(max-width:520px){.home-hero>.hero-signature{width:160px;right:6%;bottom:-20px}.home-hero+.ticker{padding-top:34px}}

/* Finitions 07/10/2026 : pied de page compact, barre du haut sur une ligne en mobile */
.footer-brand{align-items:flex-end;padding:32px 0 8px}
.footer-brand-text{display:flex;flex-direction:column;gap:20px;min-width:0}
.footer-brand-text>img{width:480px;max-width:100%;height:auto}
.footer-brand-text .footer-social{padding:0}
.footer-brand .footer-mascot{height:120px;width:auto;max-width:none;flex-shrink:0}
.footer-cols{padding-top:40px}
@media(max-width:520px){
.footer-brand{flex-wrap:nowrap;gap:16px;padding:28px 0 8px}
.footer-brand-text>img{width:240px}
.footer-brand .footer-mascot{height:88px}
.topbar{flex-wrap:nowrap;align-items:center;gap:12px}
.topbar-links{flex-direction:row;gap:0}
.topbar-links a[href="/partenaires"]{display:none}
.topbar span,.topbar a{white-space:nowrap}
}
.footer-social{flex-wrap:wrap;gap:8px 24px}
.footer-social a{white-space:nowrap}

/* Liste des services : la colonne titre s'adapte au mot le plus long (CLIMATISEURS = 7,4 em) */
.service-row{--t:clamp(1.5rem,2.3vw,2.5rem);grid-template-columns:calc(var(--t) * 7.6) minmax(0,1fr) 64px;gap:40px}
.service-row h3{font-size:var(--t)}
.service-next{width:64px;height:64px;font-size:2.4rem}
@media(max-width:1000px){
.service-row{--t:1.7rem;grid-template-columns:calc(var(--t) * 7.6) minmax(0,1fr) 56px;gap:24px}
.service-next{width:56px;height:56px}
}
@media(max-width:650px){
.service-row{--t:clamp(1.3rem,6.2vw,1.65rem);grid-template-columns:minmax(0,1fr) 48px;gap:16px}
.service-next{width:48px;height:48px;font-size:2rem}
}
