/* CARVAJAL EXPERTISES — 1.4.5 | Finition fonctionnelle du système existant.
   Aucune image, route, prestation ni donnée client ajoutée. */
:root{
  --car-145-border:#d7e3d7;
  --car-145-deep:#204633;
  --car-145-focus:#b78e52;
  --car-145-shadow:0 14px 35px rgba(31,63,43,.075);
}
/* Un système de lecture homogène, sans ajouter de police distante. */
body{-webkit-font-smoothing:antialiased}
.sectionhead h2,.cabinet-v13-intro h2,.dpe-guidance-intro h2,.audit-showcase-intro h2,
.diagnostics-ledger-intro h3,.local-head h2{text-wrap:balance}
.sectionhead>p,.cabinet-v13-support,.dpe-guidance-intro>p,.audit-showcase-intro>p,
.diagnostics-ledger-intro>p{line-height:1.76}
/* Identité visible en 1 seconde : signature, territoire, appel. */
.topbar-role-compact{display:none}
.topbar-call strong{white-space:nowrap;font-feature-settings:'tnum'}
.header .brand{min-width:0}
.brandtext small{letter-spacing:.10em}
.brand-symbol{transition:border-color .18s,box-shadow .18s}
.brand:hover .brand-symbol,.brand:focus-visible .brand-symbol{box-shadow:0 6px 19px rgba(27,57,36,.14)}
/* Commandes prévisibles : mêmes seuils tactiles, focus lisible, ombres discrètes. */
.btn,.nav .nav-quote,.nav .nav-mega-actions>a,.service-card-link,
.diagnostics-ledger-cta,.audit-v14-cta,.cabinet-v13-contact,
.address-actions a,.cabinet-v13-territory-link{transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
.btn,.nav .nav-quote{min-height:49px}
.btn:focus-visible,.nav a:focus-visible,.nav button:focus-visible,
.service-card-link:focus-visible,.dpe-choice:focus-visible,.audit-v14-cta:focus-visible,
.diagnostics-ledger-cta:focus-visible,.cabinet-v13-contact:focus-visible,
.address-actions a:focus-visible,.footer a:focus-visible,.quote-section a:focus-visible,
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,
.form-actions button:focus-visible{
  outline:3px solid var(--car-145-focus);outline-offset:3px;
}
.nav .nav-mega-col>a:hover{background:#edf3ea;color:#163d29}
.nav .nav-mega-actions>a:hover{box-shadow:0 4px 14px rgba(31,63,43,.09)}
/* Uniformiser les surfaces vraiment interactives, pas les cartes purement descriptives. */
.premium-service-card,.dpe-choice,.address-card,.cabinet-v13-territory,
.form-panel{border-color:var(--car-145-border)}
.premium-service-card,.dpe-choice,.address-card{box-shadow:var(--car-145-shadow)}
.premium-service-card:hover,.dpe-choice:hover{border-color:#acc8ad;box-shadow:0 17px 37px rgba(31,63,43,.12)}
.service-card-link{font-size:13.5px;font-weight:760}
.service-card-link .service-arrow{flex:0 0 auto}
.form-panel .field input,.form-panel .field select,.form-panel .field textarea{
  background:#fffefb;border-color:#ceddcf;border-radius:9px;
}
.form-panel .field input:hover,.form-panel .field select:hover,.form-panel .field textarea:hover{border-color:#9fbda3}
.form-panel .field input:focus,.form-panel .field select:focus,.form-panel .field textarea:focus{
  border-color:#477456;box-shadow:0 0 0 3px rgba(90,137,98,.12);
}
.form-panel .form-help,.form-panel .form-meta{color:#526458}
.form-panel .form-help{font-size:13px;line-height:1.65}
.form-panel .form-meta{font-size:12px;line-height:1.65}
/* Cohérence des interactions annexes : lignes de diagnostics, adresses et pied de page. */
.diagnostics-ledger-group>a:hover{background:rgba(234,242,232,.55)}
.diagnostics-ledger-group>a{border-color:#dae5da}
.address-actions a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:5px}
.footer a:hover{text-decoration:underline;text-underline-offset:4px}
/* Tablette : la navigation reste sur une ligne sans réduire la marque à un pictogramme. */
@media(min-width:1001px) and (max-width:1230px){
 .brandtext small{letter-spacing:.07em}
}
@media(max-width:1000px){
 .nav .nav-direct,.nav .nav-drop-trigger{min-height:48px}
 .nav-mega-collapse{font-size:12px;letter-spacing:.035em}
 .nav .nav-mega-col>a{font-size:13.5px;min-height:46px}
 .nav .nav-mega-actions>a{min-height:44px}
}
@media(max-width:640px){
 .topbar .container.topbar-inner{min-height:44px;gap:7px}
 .topbar-role-full{display:none}.topbar-role-compact{display:inline}
 .topbar .topbar-location{max-width:none;min-width:0}
 .topbar .topbar-identity strong{font-size:10px;letter-spacing:.035em;line-height:1.3}
 .topbar .topbar-call strong{font-size:12px;letter-spacing:.01em}
 .topbar-call>span:first-child,.topbar-location-detail{display:none}
 .topbar-call-arrow{height:23px;width:23px}
 .header-inner{min-height:82px}
 .brand-symbol{width:58px;height:49px;flex-basis:58px}
 .brandtext{font-size:17px;line-height:1.02}
 .brand-main>span{font-size:16px}
 .brandtext small{font-size:9px;letter-spacing:.018em;line-height:1.35;margin-top:5px}
 .nav-toggle{min-height:45px}
 .form-panel .form-help,.form-panel .form-meta{font-size:12.5px}
 .service-card-link{font-size:14px}
 .address-actions{flex-wrap:wrap}
}
@media(max-width:360px){
 .topbar .topbar-identity strong{font-size:9.5px}
 .topbar .topbar-call strong{font-size:11.5px}
 .topbar-call-arrow{display:none}
 .brand-symbol{width:48px;height:43px;flex-basis:48px}
 .brandtext{font-size:15.5px}.brand-main>span{font-size:14.5px}
 .brandtext small{font-size:8.3px;letter-spacing:0}
}
@media(prefers-reduced-motion:reduce){
 .btn,.nav a,.nav button,.service-card-link,.service-arrow,.premium-service-card,
 .dpe-choice,.address-card,.form-panel .field input,.form-panel .field select,
 .form-panel .field textarea{transition:none!important;transform:none!important}
}
@media(max-width:360px){.header .brandtext{max-width:136px}.header .brandtext small{white-space:normal}}
@media(max-width:640px){.topbar .topbar-identity .topbar-role-full{display:none}.topbar .topbar-identity .topbar-role-compact{display:block}}
