
/* base du site pn-clean - fait maison */
:root{
 --soleil:#f6a821; --soleil2:#ffbe45; --bleu:#1f6fb2; --bleu-f:#123a56;
 --ardoise:#16232c; --brume:#f2f8fc; --papier:#ffffff; --gris:#5d6b74; --trait:#e2ebf1;
 --eco:#2fa26b;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Nunito Sans',-apple-system,'Segoe UI',sans-serif;color:var(--ardoise);background:var(--papier);line-height:1.62;font-size:17px}
h1,h2,h3{font-family:'Poppins',Arial,sans-serif;font-weight:600;line-height:1.18;color:var(--bleu-f)}
a{color:var(--bleu)}
img,svg{max-width:100%}
.ct{max-width:1080px;margin:0 auto;padding:0 22px}

/* le bandeau credit d'impot tout en haut */
.ruban{background:var(--eco);color:#fff;text-align:center;font-size:.9rem;padding:7px 10px;font-weight:600}
.ruban a{color:#fff;text-decoration:underline}

header.hd{background:#fff;border-bottom:1px solid var(--trait);position:sticky;top:0;z-index:40}
header.hd .ct{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 22px;flex-wrap:wrap}
.blason{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--bleu-f)}
.blason b{font-family:'Poppins';font-size:1.12rem;line-height:1;display:block}
.blason small{color:var(--gris);font-size:.72rem;letter-spacing:.05em}
nav.menu a{margin-left:18px;text-decoration:none;color:var(--ardoise);font-size:.94rem;font-weight:600}
nav.menu a:hover{color:var(--bleu)}
nav.menu a.devi{background:var(--soleil);color:#3a2a06;padding:9px 17px;border-radius:30px}
nav.menu a.devi:hover{background:var(--soleil2);color:#3a2a06}
nav.menu a.tel{display:inline-flex;align-items:center;gap:6px;color:var(--bleu-f);font-weight:700;border:1px solid var(--trait);padding:8px 14px;border-radius:30px}
nav.menu a.tel svg{color:var(--soleil)}
nav.menu a.tel:hover{color:var(--bleu);border-color:var(--bleu)}
@media(max-width:640px){nav.menu a{margin-left:12px;font-size:.86rem}nav.menu a.tel{padding:6px 11px}}

/* le haut de page avec l'illu */
.haut{background:linear-gradient(180deg,#eaf5fd 0,#fff 100%);overflow:hidden}
.haut .ct{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding-top:46px;padding-bottom:40px}
@media(max-width:840px){.haut .ct{grid-template-columns:1fr;gap:18px}}
.surtit{display:inline-block;background:#fff5e2;color:#a86c05;font-weight:700;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:20px}
.haut h1{font-size:clamp(1.9rem,4.4vw,3rem);margin:14px 0 0;max-width:16ch}
.haut p.chapo{color:var(--gris);font-size:1.08rem;margin-top:16px;max-width:52ch}
.bouts{margin-top:26px;display:flex;gap:14px;flex-wrap:wrap}
.bt{display:inline-block;text-decoration:none;border-radius:30px;font-weight:700;padding:13px 24px}
.bt.plein{background:var(--bleu);color:#fff}
.bt.plein:hover{background:var(--bleu-f)}
.bt.vide{background:#fff;color:var(--bleu-f);border:2px solid var(--trait)}
.illu{border-radius:14px;overflow:hidden;box-shadow:0 18px 40px -22px rgba(18,58,86,.55)}

/* bande de chifre (rendement) */
.chifres{background:var(--bleu-f);color:#eaf6ff}
.chifres .ct{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:28px 22px}
@media(max-width:720px){.chifres .ct{grid-template-columns:repeat(2,1fr);gap:22px}}
.chifres .k{font-family:'Poppins';font-size:1.8rem;color:var(--soleil2);font-weight:700}
.chifres .l{font-size:.86rem;color:#bcd6e8}

section{padding:56px 0}
section.creme{background:var(--brume)}
h2{font-size:clamp(1.45rem,3vw,2.05rem);margin-bottom:8px}
.soustit{color:var(--gris);max-width:58ch;margin-bottom:26px}
h3{font-size:1.16rem;margin:0 0 6px}

/* les carte de service */
.jeu{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.carte{background:#fff;border:1px solid var(--trait);border-radius:12px;padding:22px;transition:transform .12s}
.carte:hover{transform:translateY(-3px)}
.carte .pic{color:var(--bleu);margin-bottom:8px}
.carte p{color:var(--gris);font-size:.95rem;margin-top:6px}
.carte a{font-weight:700;text-decoration:none;font-size:.94rem;display:inline-block;margin-top:10px}

/* liste a coche avec picto */
ul.coches{list-style:none;margin-top:14px}
ul.coches li{display:flex;gap:12px;align-items:flex-start;padding:8px 0}
ul.coches li .pic{color:var(--eco);flex:0 0 auto;margin-top:2px}

/* bloc deux colone (rendement avant/apres) */
.deuxcol{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
@media(max-width:820px){.deuxcol{grid-template-columns:1fr;gap:22px}}
.apart{background:#fff;border:1px solid var(--trait);border-left:5px solid var(--soleil);border-radius:0 12px 12px 0;padding:22px}

/* prix indicatif */
table.grille{width:100%;border-collapse:collapse;margin-top:18px;background:#fff;border:1px solid var(--trait);border-radius:10px;overflow:hidden}
table.grille th,table.grille td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--trait);font-size:.95rem}
table.grille th{background:var(--brume);font-family:'Poppins';color:var(--bleu-f)}

/* faq en accordeon (balise details) */
.faq details{background:#fff;border:1px solid var(--trait);border-radius:10px;padding:4px 18px;margin-bottom:10px}
.faq summary{cursor:pointer;font-weight:700;font-family:'Poppins';padding:12px 0;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq details[open] summary{color:var(--bleu)}
.faq p{color:var(--gris);padding:0 0 14px}

/* la bande motif panneaux */
.bande{height:52px;background-image:url('/assets/motif.svg');background-size:80px 52px}

/* villes */
.villes{columns:4;gap:22px;margin-top:22px}
@media(max-width:900px){.villes{columns:3}}
@media(max-width:600px){.villes{columns:2}}
.villes a{display:block;padding:4px 0;text-decoration:none;font-size:.93rem;break-inside:avoid;color:var(--ardoise)}
.villes a:hover{color:var(--bleu)}
.villes h3{column-span:all;margin-top:22px;color:var(--gris);font-size:1rem}

/* fildarriane */
.fildar{font-size:.84rem;color:var(--gris);padding:16px 0 0}
.fildar a{color:var(--gris)}
.texte{max-width:74ch}
.texte h2{margin-top:38px}
.texte p+p{margin-top:12px}

/* formulaire */
form.msg{display:grid;gap:14px;max-width:620px;margin-top:22px}
form.msg label{font-weight:700;font-size:.92rem}
form.msg input,form.msg textarea{width:100%;padding:12px;border:1px solid var(--trait);border-radius:8px;font:inherit;margin-top:5px;background:#fff}
form.msg button{background:var(--bleu);color:#fff;border:0;padding:14px 28px;border-radius:30px;font:inherit;font-weight:700;cursor:pointer;justify-self:start}
form.msg button:hover{background:var(--bleu-f)}
.piege{position:absolute;left:-9999px}
.encart{background:#eaf6ec;border:1px solid #c6e3cf;border-radius:10px;padding:14px 18px;font-size:.93rem;margin-top:18px}

footer.pied{background:var(--ardoise);color:#b8c4cc;padding:46px 0 34px;font-size:.92rem;margin-top:10px}
footer.pied a{color:#e6eef2;text-decoration:none}
footer.pied .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}
@media(max-width:720px){footer.pied .cols{grid-template-columns:1fr}}
footer.pied h4{color:#fff;font-family:'Poppins';font-size:1rem;margin-bottom:10px}
footer.pied ul{list-style:none}
footer.pied li{padding:3px 0}
.bas{margin-top:30px;border-top:1px solid rgba(255,255,255,.13);padding-top:16px;font-size:.8rem;color:#8697a1}
