/* Pages « commissaire aux comptes + département » : styles propres, en plus de site.css */
.hero-inner.has-map{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem}
.hero-map{position:relative;align-self:center}
.dep-map{width:100%;height:auto;max-height:72vh;display:block;-webkit-mask-image:linear-gradient(to right,transparent,#000 9%,#000 91%,transparent),linear-gradient(to bottom,transparent,#000 9%,#000 91%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 9%,#000 91%,transparent),linear-gradient(to bottom,transparent,#000 9%,#000 91%,transparent);mask-composite:intersect}
.dep-map path{stroke:#fff;stroke-width:1;stroke-linejoin:round}
.dep-off{fill:var(--gray-1)}
.dep-reg{fill:#e3eef3;transition:fill .2s}
.dep-on{fill:var(--cyan)}
.dep-map text{font-family:var(--sans);font-size:11px;text-anchor:middle;dominant-baseline:middle;fill:var(--gray-5);letter-spacing:.04em;pointer-events:none}
.dep-map text.lab-on{fill:#fff;font-weight:600;font-size:13px}
.hero-map-caption{position:absolute;left:0;bottom:-.5rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gray-5)}
.hero-map-caption strong{color:var(--black);font-weight:600}
#local{background:var(--gray-1);padding:6rem 0}
.local-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:start}
.local-cards{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--gray-2);border:1px solid var(--gray-2);border-radius:20px;overflow:hidden}
.local-card{background:#fff;padding:1.5rem 1.4rem}
.local-card h3{font-family:var(--sans);font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;color:var(--cyan-texte);font-weight:600;margin-bottom:.6rem}
.local-card p{font-size:.85rem;color:var(--black);line-height:1.55;margin:0}
.local-card p+p{margin-top:.35rem}
.local-card.wide{grid-column:1/-1}
.local-tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.4rem}
.local-tags span{font-size:.72rem;padding:.4rem .8rem;border-radius:100px;background:#fff;border:1px solid var(--gray-2);color:var(--gray-5)}
#faq{padding:6rem 0}
.faq-list{max-width:820px;margin-top:2.5rem;border-top:1px solid var(--gray-2)}
.faq-item{border-bottom:1px solid var(--gray-2);padding:1.4rem 0}
.faq-item h3{font-family:var(--serif);font-size:1.35rem;font-weight:400;letter-spacing:-.02em;margin-bottom:.6rem}
.faq-item p{font-size:.92rem;color:var(--gray-5);line-height:1.75}
.faq-item a{color:var(--cyan);text-decoration:underline;text-underline-offset:2px}
#proximite{padding:4.5rem 0;border-top:1px solid var(--gray-2)}
.prox-links{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}
.prox-links a{font-size:.78rem;padding:.55rem 1rem;border-radius:100px;border:1px solid var(--gray-2);color:var(--black);text-decoration:none;transition:all .2s}
.prox-links a:hover{border-color:var(--cyan);color:var(--cyan)}
@media(max-width:900px){.hero-inner.has-map{grid-template-columns:1fr;gap:1rem}.hero-map{max-width:420px;margin:0 auto 2rem;width:100%}.local-grid{grid-template-columns:1fr;gap:2.5rem}}
@media(max-width:560px){.local-cards{grid-template-columns:1fr}#local,#faq{padding:4.5rem 0}}
/* cartes cliquables */
.dep-map a path{cursor:pointer;transition:fill .2s}
.dep-new{fill:#f0f7fa}
.dep-map a:hover .dep-reg,.dep-map a:hover .dep-new{fill:#bfe3ef}
.dep-map a:hover .dep-off{fill:var(--gray-2)}
.hero-map-caption a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.hero-map-caption a:hover{color:var(--cyan)}
.hero-map-caption .leg{display:inline-block;width:9px;height:9px;border-radius:2px;margin:0 .35rem 0 .2rem;vertical-align:0}
.leg-on{background:#e3eef3;border:1px solid #c9dde6}
.leg-new{background:#f0f7fa;border:1px dashed #c9dde6}
.local-cta{color:var(--cyan);text-decoration:underline;text-underline-offset:2px}
.prox-links a.prox-region{background:var(--black);border-color:var(--black);color:#fff}
.prox-links a.prox-region:hover{background:var(--cyan);border-color:var(--cyan);color:#fff}
/* pages régions : grille des départements */
#departements{padding:6rem 0;border-top:1px solid var(--gray-2)}
.dep-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:2.5rem}
.dep-card{display:flex;flex-direction:column;gap:.2rem;padding:1.3rem 1.3rem 1.1rem;border:1px solid var(--gray-2);border-radius:16px;text-decoration:none;color:var(--black);background:#fff;transition:all .2s}
.dep-card:hover{border-color:var(--cyan);transform:translateY(-2px)}
.dep-code{font-family:var(--serif);font-size:2rem;line-height:1;color:var(--cyan)}
.dep-nom{font-size:.95rem;font-weight:500;margin-top:.4rem}
.dep-pref{font-size:.75rem;color:var(--gray-5)}
.dep-etat{font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:var(--cyan-texte);margin-top:.6rem}
.dep-card.is-new{border-style:dashed}
.dep-card.is-new .dep-code{color:var(--gray-4)}
.dep-card.is-new .dep-etat{color:var(--gray-5)}
@media(max-width:560px){#departements{padding:4.5rem 0}.dep-grid{grid-template-columns:1fr 1fr}}
.dep-map.is-region .dep-reg{fill:var(--cyan)}
.dep-map.is-region a:hover .dep-reg{fill:var(--black)}
.dep-map.is-region text.lab{fill:#fff;font-weight:600}
.dep-map text.lab-new{fill:var(--gray-4)}
.leg-on.is-region{background:var(--cyan);border-color:var(--cyan)}
/* missions + territoire */
#missions-locales{padding:6rem 0;border-top:1px solid var(--gray-2)}
.mission-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-top:2.5rem}
.mission-card{display:flex;flex-direction:column;padding:1.5rem 1.4rem 1.2rem;border:1px solid var(--gray-2);border-radius:16px;text-decoration:none;color:var(--black);background:#fff;transition:all .2s}
.mission-card:hover{border-color:var(--cyan);transform:translateY(-2px)}
.mission-card h3{font-family:var(--serif);font-size:1.25rem;font-weight:400;letter-spacing:-.02em;line-height:1.15;margin-bottom:.7rem}
.mission-card p{font-size:.8rem;color:var(--gray-5);line-height:1.6;flex:1}
.mission-more{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:var(--cyan-texte);margin-top:1rem}
.mission-more::after{content:' →'}
.card-note{color:var(--gray-5)!important;font-size:.78rem!important}
.card-note a,.local-card a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media(max-width:560px){#missions-locales{padding:4.5rem 0}}
/* page « Prendre contact » : en-tête court, le formulaire arrive tout de suite */
.contact-head{padding:7.5rem 0 0}
.contact-h1{font-family:var(--serif);font-size:clamp(2.2rem,4vw,3.2rem);font-weight:400;letter-spacing:-.04em;line-height:1;margin-bottom:1.6rem}
.contact-h1 em{color:var(--cyan);font-style:italic}
.contact-quick{display:grid;grid-template-columns:auto 1.4fr 1fr;gap:.8rem;max-width:900px}
.cq-card{display:flex;flex-direction:column;gap:.3rem;padding:1rem 1.15rem;border:1px solid var(--gray-2);border-radius:14px;text-decoration:none;color:var(--black);background:#fff;transition:all .2s}
a.cq-card:hover{border-color:var(--cyan);transform:translateY(-2px)}
.cq-label{font-size:.58rem;text-transform:uppercase;letter-spacing:.14em;color:var(--cyan-texte);font-weight:600}
.cq-val{font-size:.9rem;font-weight:500}
.contact-head ~ #contact{padding-top:2.5rem;border-top:0}
.contact-head ~ #contact .contact-inner > div:first-child > :is(.eyebrow,.section-title,.section-sub),
.contact-head ~ #contact .contact-item{display:none}
.contact-head ~ #contact .contact-details{margin-top:0}
@media(max-width:700px){.contact-head{padding-top:6rem}.contact-quick{grid-template-columns:1fr}}
/* outre-mer : carte de l'île (SVG de l'accueil) et cartes des territoires */
.drom-map{display:block;width:100%;max-width:440px;max-height:62vh;object-fit:contain;margin:0 auto;filter:var(--filtre-cyan);opacity:.85}
.om-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.8rem;margin-top:1rem}
.om-card,.related .om-card{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;padding:1rem;border:1px solid var(--gray-2);border-radius:14px;text-decoration:none;color:var(--black);transition:border-color .2s,transform .2s}
.om-card:hover{border-color:var(--cyan);transform:translateY(-2px)}
.om-card img{width:100%;height:70px;object-fit:contain;filter:var(--filtre-cyan);margin-bottom:.4rem}
.om-nom{display:block;font-size:.88rem;font-weight:500}
.om-etat{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:var(--cyan-texte)}
