/* Carvajal Expertises V1.4.8 — focused, reversible editorial and photographic finishing.
   Only energy comparison, review cards and declared-location cards. */
.energy-decision-head{max-width:1030px}
.energy-decision-head h2{max-width:990px;margin-left:auto;margin-right:auto;font-size:clamp(37px,4.15vw,59px);line-height:1.085;letter-spacing:-.048em}
.energy-decision-head>p{max-width:750px;font-size:15.6px;line-height:1.69}
.energy-reading{margin:24px auto 0;display:flex;align-items:center;justify-content:center;gap:15px;max-width:520px;color:#355b44}
.energy-reading-item{display:flex;align-items:center;gap:11px;text-align:left;min-width:0}
.energy-reading-item span:last-child{display:grid;gap:3px}
.energy-reading-item b{font-size:11px;font-weight:780;letter-spacing:.055em}
.energy-reading-item small{font-size:12px;line-height:1.4;color:#687d6d;white-space:nowrap}
.energy-reading-symbol{width:35px;height:35px;display:grid;place-items:center;border:1px solid #d6e3d6;background:#e8efe7;border-radius:11px;color:#51765b;flex:none}
.energy-reading-symbol svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.energy-reading-flow svg{display:block;width:46px;height:18px;stroke:#8dae96;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.energy-half{border-radius:25px}
.energy-half-dpe{background:linear-gradient(150deg,#fffefc,#fcfcf8)}
.energy-half-audit{background:linear-gradient(145deg,#214938 10%,#28563f 100%)}
.energy-half h3{max-width:470px}
.energy-summary{max-width:465px}
.energy-fact{background:rgba(235,242,231,.73);border-left-width:3px}
.energy-half-audit .energy-fact{background:rgba(255,255,255,.075)}
.energy-utility{gap:17px}
.energy-utility>div{padding-left:23px}
.energy-deep-link{font-size:13.7px;min-height:57px;box-shadow:0 8px 20px rgba(25,63,43,.07)}
.energy-deep-link:hover{transform:translateY(-1px)}
.energy-half-audit .energy-deep-link{box-shadow:0 8px 20px rgba(0,0,0,.06)}
.energy-conclusion{border-radius:18px}
/* Review finishing: typographic measure, card rhythm and consistent signature blocks. */
.trust-section{background:linear-gradient(180deg,#fffefa,#fbfbf7)}
.trust-card{border-radius:22px;border-color:#d8e3d7;box-shadow:0 16px 35px rgba(28,55,41,.043);background:#fffefa}
.trust-card-feature{background:#f0f5ed}
.trust-card-top{margin-bottom:18px}
.trust-card blockquote,.trust-card-feature blockquote{min-height:100px;max-width:43ch;font-size:clamp(20px,1.95vw,25px);line-height:1.4;letter-spacing:-.019em;text-wrap:pretty}
.trust-card-bottom{border-color:#d7e3d7;padding-top:18px}
.trust-rating{color:#a17b37}
.trust-bottom{align-items:flex-start}
/* Local roots: two genuine *territorial* views with honest licensing, not alleged office images. */
.address-section{background:#f3f5ee;padding-block:clamp(76px,7vw,110px)}
.address-section .local-head{max-width:850px;margin-bottom:32px}
.address-section .local-head h2{max-width:800px;line-height:1.06;letter-spacing:-.045em;text-wrap:balance}
.address-section .local-head h2 em{color:#6e967a;font-style:normal}
.address-section .local-head p{max-width:690px;line-height:1.7}
.address-section .address-showcase{align-items:stretch;gap:21px;margin-top:0}
.address-section .address-card-v148{padding:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-radius:24px;background:#fffefa;border:1px solid #dbe4d8;box-shadow:0 19px 42px rgba(33,68,47,.058);transition:box-shadow .2s,border-color .2s}
.address-section .address-card-v148:hover{border-color:#bdd1bd;box-shadow:0 23px 47px rgba(33,68,47,.086)}
.address-landscape{position:relative;min-height:196px;overflow:hidden;background-color:#42624a;background-position:center;background-size:cover;isolation:isolate}
.address-landscape::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(24,55,38,.04) 8%,rgba(19,45,35,.34) 85%)}
.address-landscape-ang{background-image:linear-gradient(110deg,rgba(32,75,51,.24),rgba(32,75,51,.08)),url('https://upload.wikimedia.org/wikipedia/commons/8/83/Vue_depuis_le_Jardin_Vert_vers_le_nord-ouest%2C_Angoul%C3%AAme%2C_2026.jpg'),url('/assets/locations/angouleme-fallback.svg');background-position:center 44%}
.address-landscape-mag{background-image:linear-gradient(110deg,rgba(32,75,51,.23),rgba(32,75,51,.09)),url('https://upload.wikimedia.org/wikipedia/commons/e/e6/Magnac-sur-Touvre_-_Eglise_et_lavoir.JPG'),url('/assets/locations/magnac-fallback.svg');background-position:center 48%}
.address-landscape-mark{position:absolute;left:24px;bottom:21px;display:inline-flex;align-items:center;gap:9px;color:#fff;font-weight:750;font-size:11px;letter-spacing:.105em;text-shadow:0 1px 6px rgba(0,0,0,.2);padding:8px 12px;border-radius:100px;border:1px solid rgba(255,255,255,.35);background:rgba(14,48,35,.36);backdrop-filter:blur(5px)}
.address-landscape-mark svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.address-section .address-card-v148 .address-content{padding:27px 32px 24px;display:grid;align-content:start;flex:1;min-width:0}
.address-section .address-card-v148 .address-badge{font-size:10px;letter-spacing:.105em;line-height:1.5;margin-bottom:7px;color:#617d68}
.address-section .address-card-v148 h3{font-size:clamp(32px,3vw,43px);letter-spacing:-.04em;margin:0 0 13px;line-height:1.11;text-wrap:balance}
.address-section .address-card-v148 .address-lines{font-size:14.2px;color:#617366;line-height:1.57;display:grid;gap:1px;margin-bottom:21px}
.address-go{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #d7e4d6;border-radius:12px;padding:11px 11px 11px 16px;min-height:47px;background:#eff4ed;color:#28553a!important;text-decoration:none!important;font-weight:750;font-size:13px;transition:background .2s,border-color .2s}
.address-go>span:last-child{border:1px solid #ccddce;border-radius:8px;width:28px;height:28px;display:grid;place-items:center;font-size:17px;flex:none}
.address-go:hover{background:#e4eee3;border-color:#b6cdb9}
.address-go:focus-visible,.address-credit a:focus-visible,.address-direct-call:focus-visible{outline:3px solid #89b79a;outline-offset:3px}
.address-section .address-card-v148 .address-credit{padding:0 32px 17px;margin:0;font-size:10px;line-height:1.5;color:#778777}
.address-credit a{color:#607964;text-decoration:underline;text-underline-offset:2px}
.address-cta{gap:18px;align-items:center;border-radius:20px;margin-top:20px}
.address-cta>div{flex:1;min-width:240px}
.address-cta>div p{max-width:540px}
.address-direct-call{white-space:nowrap;text-decoration:none!important;color:#28563c!important;font-size:12.5px;font-weight:740;display:inline-flex;align-items:center;gap:9px;border-bottom:1px solid #abc7ac;padding:8px 0}
@media(max-width:1030px){.address-cta{flex-wrap:wrap}.address-section .address-showcase{gap:15px}}
@media(max-width:760px){.energy-decision-head h2{font-size:clamp(34px,8.8vw,46px)}.energy-reading{justify-content:flex-start;gap:12px;margin:23px 0 0}.energy-reading-flow svg{width:30px}.energy-reading-item small{font-size:11px}.energy-half h3{font-size:clamp(30px,8.2vw,39px)}.trust-card blockquote,.trust-card-feature blockquote{min-height:0;max-width:none}.address-section .address-card-v148 .address-content{padding:24px 24px 22px}.address-section .address-card-v148 .address-credit{padding:0 24px 17px}.address-landscape{min-height:178px}.address-landscape-mark{left:19px;bottom:17px}}
@media(max-width:375px){.energy-reading{gap:7px}.energy-reading-symbol{width:31px;height:31px}.energy-reading-item{gap:7px}.energy-reading-item b{font-size:10px}.energy-reading-item small{font-size:10px;white-space:normal}.energy-reading-flow svg{width:24px}.address-section .address-card-v148 .address-content{padding:20px 20px 18px}.address-section .address-card-v148 .address-credit{padding:0 20px 16px}.address-landscape-mark{font-size:10px;letter-spacing:.06em}}
@media(prefers-reduced-motion:reduce){.address-section .address-card-v148,.address-go{transition:none}}


/* V1.4.9 — micro-finitions ciblées : alignement DPE/Audit, implantations et transitions. */
/* Aligner les encarts comparatifs malgré les titres de longueur différente. */
@media (min-width:761px) and (max-width:899px){
  .energy-half h3{min-height:3.36em}
}
@media (min-width:900px) and (max-width:1199px){
  .energy-half h3{min-height:2.27em}
}
.energy-half{border-radius:25px;box-shadow:0 15px 38px rgba(24,57,38,.05),0 1px 0 rgba(255,255,255,.75) inset}
.energy-half-audit{box-shadow:0 21px 46px rgba(19,58,36,.14)}
.energy-fact{display:grid;align-content:center;grid-template-rows:auto auto;gap:7px;min-height:112px;position:relative;overflow:hidden;border-radius:14px;padding:18px 23px 18px 22px;border:1px solid #dae8d8;border-left:3px solid #8db39a;background:linear-gradient(125deg,#f3f7ef,#f9fbf6);box-shadow:0 4px 14px rgba(33,63,40,.024)}
.energy-half-audit .energy-fact{border:1px solid rgba(241,253,239,.25);border-left:3px solid #bedfc2;background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.045));box-shadow:none}
.energy-fact strong{max-width:29ch;letter-spacing:-.023em}
.energy-deep-link:focus-visible,.energy-contact:focus-visible{outline-offset:4px}
/* De la comparaison aux implantations : contrastes subtils et respiration maîtrisée. */
.energy-decision{padding-top:clamp(68px,6.8vw,103px);padding-bottom:clamp(71px,6.6vw,98px)}
.energy-decision-head{margin-bottom:clamp(29px,3.4vw,45px)}
.energy-decision .energy-pair{gap:19px}
.energy-conclusion{margin-top:20px;padding:clamp(20px,2.35vw,29px);border-radius:19px;background:linear-gradient(115deg,#e6efe3,#eef3e9);box-shadow:0 9px 22px rgba(42,77,52,.045);gap:18px}
.energy-conclusion-icon{width:46px;height:46px;border-radius:13px;background:#d5e4d2}
.energy-conclusion-copy{min-width:0}
.energy-conclusion strong{display:block;font-size:clamp(15px,1.23vw,17px);letter-spacing:-.012em;line-height:1.4}
.energy-conclusion p{margin:5px 0 0;max-width:690px;color:#546b5a;font-size:13.6px;line-height:1.56;text-wrap:pretty}
.energy-contact{min-height:50px;padding:10px 12px 10px 18px;border-radius:12px;box-shadow:0 7px 15px rgba(28,59,40,.08)}
/* Cartes d'implantation : contenu aligné, boutons visibles, attribution discrète. */
.address-section{padding-top:clamp(75px,6.8vw,101px);padding-bottom:clamp(79px,6.8vw,103px);border-top:1px solid #e3eae0}
.address-section .local-head{margin-bottom:clamp(24px,2.8vw,35px)}
.address-section .address-showcase{gap:20px}
.address-section .address-card-v148{border-radius:23px;border-color:#d8e3d8;background:#fffefa;box-shadow:0 14px 35px rgba(23,59,38,.05);transition:box-shadow .2s ease,border-color .2s ease}
.address-section .address-card-v148:hover{border-color:#b6ccb9;box-shadow:0 18px 42px rgba(23,59,38,.085)}
.address-landscape{min-height:200px}
.address-landscape-mark{border-radius:10px;backdrop-filter:blur(9px);padding:9px 13px;letter-spacing:.09em}
.address-section .address-card-v148 .address-content{padding:25px clamp(24px,2.55vw,34px) 20px;gap:0}
.address-section .address-card-v148 .address-badge{margin-bottom:7px;font-size:10px;letter-spacing:.125em}
.address-section .address-card-v148 h3{font-size:clamp(30px,3.15vw,42px);line-height:1.13;letter-spacing:-.036em;margin:0 0 15px;text-wrap:balance}
.address-section .address-card-v148 .address-lines{border-left:2px solid #b7d0bb;padding-left:14px;margin:0 0 20px;line-height:1.6;gap:1px;font-size:14px}
.address-go{min-height:52px;padding:9px 9px 9px 17px;border-radius:12px;background:#eef4ec;border-color:#d5e2d4;font-size:13px;letter-spacing:.005em;box-shadow:0 2px 10px rgba(26,53,39,.025)}
.address-go>span:last-child{width:33px;height:33px;border-radius:10px;background:#fffefa;border-color:#d0e1d0;color:#27553b;font-size:18px;transition:transform .18s,background .18s}
.address-go:hover{background:#e3efe2;border-color:#a8c4aa}
.address-go:hover>span:last-child{transform:translate(1px,-1px);background:#fff}
.address-section .address-card-v148 .address-credit{padding:10px clamp(24px,2.55vw,34px) 12px;margin:0;border-top:1px solid #edf0e9;color:#7a867a;font-size:10.5px;line-height:1.4;min-height:35px;letter-spacing:0}
.address-credit a{color:#607965;text-decoration:underline;text-decoration-color:#ced9cb;text-underline-offset:3px}
.address-credit a:hover{text-decoration-color:currentColor}
/* Bandeau contact : action nette, lien secondaire lisible, sans surcharge. */
.address-section .address-cta{margin-top:20px;border:1px solid #d6e4d5;border-radius:21px;background:linear-gradient(108deg,#fefefa,#eff5ec);box-shadow:0 11px 26px rgba(27,65,39,.035);padding:clamp(22px,2.65vw,32px);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px 30px}
.address-cta-intro{min-width:0}
.address-cta-kicker{display:block;color:#5b7c64;font-size:10px;font-weight:800;letter-spacing:.13em;line-height:1.45;margin-bottom:8px}
.address-cta .address-cta-intro strong{font:500 clamp(22px,2.15vw,29px)/1.18 Georgia,'Times New Roman',serif;letter-spacing:-.029em;color:#274936;margin:0 0 7px;text-wrap:balance}
.address-cta .address-cta-intro p{max-width:55ch;font-size:13.25px;line-height:1.58;color:#607267;margin:0;text-wrap:pretty}
.address-cta-actions{display:flex;align-items:center;gap:10px 18px;justify-content:flex-end;flex-wrap:wrap}
.address-call-primary{background:#28533e;color:#fff!important;border:1px solid #28533e;text-decoration:none!important;border-radius:12px;min-height:52px;padding:8px 9px 8px 19px;display:inline-flex;align-items:center;justify-content:space-between;gap:17px;white-space:nowrap;font-size:13px;font-weight:760;box-shadow:0 6px 16px rgba(25,60,39,.12);transition:background .2s,transform .2s,box-shadow .2s}
.address-call-primary:hover{background:#37674e;box-shadow:0 9px 20px rgba(25,60,39,.15);transform:translateY(-1px)}
.address-call-arrow{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.12);font-size:18px}
.address-section .address-direct-call{color:#315f45!important;font-size:12.4px;font-weight:730;line-height:1.55;white-space:normal;padding:8px 0;border-color:#b9cdbc}
.address-call-primary:focus-visible,.address-direct-call:focus-visible{outline:3px solid #89b79a;outline-offset:3px}
@media(max-width:1160px){
 .address-section .address-cta{grid-template-columns:1fr}
 .address-cta-actions{justify-content:flex-start}
}
@media(max-width:760px){
 .energy-half h3{min-height:0}
 .energy-fact{min-height:0;padding:17px 19px}
 .energy-decision{padding-top:66px;padding-bottom:69px}
 .energy-conclusion{padding:21px;gap:12px}
 .energy-conclusion-icon{width:43px;height:43px}
 .energy-contact{justify-content:space-between}
 .address-section{padding-top:73px;padding-bottom:78px}
 .address-section .address-card-v148 .address-content{padding:24px 24px 19px}
 .address-section .address-card-v148 .address-credit{padding:10px 24px 13px}
 .address-landscape{min-height:180px}
 .address-section .address-cta{margin-top:16px;padding:22px 21px}
 .address-cta-actions{display:grid;justify-content:stretch;gap:11px}
 .address-call-primary{width:100%}
 .address-section .address-direct-call{justify-self:start}
}
@media(max-width:375px){
 .address-section .address-card-v148 .address-content{padding:20px 19px 17px}
 .address-section .address-card-v148 .address-credit{padding:9px 19px 12px}
 .address-section .address-cta{padding:20px 18px}
 .address-cta .address-cta-intro strong{font-size:24px}
}
@media(prefers-reduced-motion:reduce){.address-call-primary,.address-go>span:last-child{transition:none!important}}
/* Grid subgrid creates a single shared vertical rhythm across both comparison
   cards on two-column viewports; the flex and min-height rules remain fallback. */
@supports (grid-template-rows:subgrid){
 @media (min-width:761px){
  .energy-pair{grid-template-rows:repeat(6,auto)}
  .energy-half{display:grid;grid-template-rows:subgrid;grid-row:span 6;row-gap:0}
  .energy-half-head{grid-row:1}
  .energy-half h3{grid-row:2;min-height:0}
  .energy-summary{grid-row:3}
  .energy-fact{grid-row:4}
  .energy-utility{grid-row:5}
  .energy-deep-link{grid-row:6;align-self:end}
 }
}
