@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@600;700;800&display=swap');
:root{--navy:#113d6a;--yellow:#ffd12a;--muted:#506781;--bg:#f5f8fc;--line:#e5ebf3}
*{box-sizing:border-box}body{margin:0;color:#173a60;background:var(--bg);font:16px/1.7 'DM Sans',Arial,sans-serif}a{color:#145d9b}.wrap{width:min(1180px,calc(100% - 80px));margin:auto}.topline{height:6px;background:linear-gradient(90deg,#1156a5 0 79%,#fbd32e 79%)}header{background:#fff}.head{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:35px}.brand{display:flex;align-items:center;gap:14px;color:#103967;text-decoration:none;flex-shrink:0}.brand img{width:62px;height:62px;object-fit:contain}.brand strong{display:block;font:800 30px/1.15 Manrope,Arial}.brand small{display:block;color:#153d6c;font:500 14px/1.35 'DM Sans',Arial}.nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.nav a{padding:11px 14px;text-decoration:none;color:#12345a;font-weight:800;font-size:13px;border-radius:10px}.nav a.active,.nav a:hover{background:#e8f2fc;color:#165da3}.nav a.contact{background:var(--yellow);color:#143452}.hero{position:relative;isolation:isolate;min-height:500px;display:flex;align-items:center;overflow:hidden;background:#064979;color:white}.hero::before{content:"";position:absolute;z-index:-2;inset:0 0 0 38%;background-image:url('images/hero-photo-v4.jpg');background-position:center center;background-size:cover}.hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#064575 0%,#095a99 24%,rgba(9,92,156,.94) 35%,rgba(10,97,167,.53) 56%,rgba(10,97,167,0) 76%)}.hero .wrap{padding:68px 0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:#ffd12a;font-weight:800;font-size:12px}.hero h1{font:800 clamp(35px,4.2vw,57px)/1.2 Manrope,Arial;max-width:760px;margin:19px 0 22px}.hero p{max-width:610px;font-size:18px;line-height:1.7;color:#fff;margin:0}.button{display:inline-block;background:#ffd12a;color:#163b5c;padding:14px 23px;border-radius:10px;text-decoration:none;font-weight:800;margin-top:36px}.section{padding:65px 0}.section h2,.page-title{font:800 clamp(28px,3vw,38px)/1.25 Manrope,Arial;color:#123f6d;margin:0 0 20px}.lead{font-size:18px;color:#536c88;max-width:850px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin-top:30px}.card{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}.card img{width:100%;height:220px;object-fit:cover}.card .body{padding:26px}.card h3{font:800 22px Manrope;margin:0 0 8px;color:var(--navy)}.card p{margin:0 0 12px}.card a{font-weight:800;text-decoration:none}.callout{background:#eaf3fb;border-left:5px solid var(--yellow);padding:25px 30px;border-radius:0 12px 12px 0;margin:30px 0}.pagehead{background:linear-gradient(110deg,#103c67,#1d6aab);color:white;padding:56px 0}.pagehead h1{font:800 clamp(30px,4vw,48px)/1.2 Manrope;margin:10px 0}.pagehead p{margin:0;color:#e6f1fb}.article{background:white;border:1px solid var(--line);border-radius:16px;padding:40px;margin-top:35px}.article h2{font:800 25px Manrope;color:var(--navy);margin:36px 0 14px}.article h2:first-child{margin-top:0}.article p{margin:0 0 19px}.article img.inline{max-width:310px;width:40%;border-radius:12px;float:right;margin:0 0 20px 25px}.article::after{content:'';display:block;clear:both}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.gallery img{width:100%;height:180px;object-fit:cover;border-radius:10px}.contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.info{padding:28px;border:1px solid var(--line);border-radius:14px;background:white}.info h2{font:800 22px Manrope;color:var(--navy)}footer{background:#10314f;color:#d7e4ef;margin-top:65px;padding:32px 0;font-size:13px}footer strong,footer a{color:white}.foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.note{font-size:13px;color:var(--muted)}@media(max-width:850px){.wrap{width:min(100% - 36px,1180px)}.head{padding:16px 0;flex-wrap:wrap}.nav{gap:2px}.nav a{font-size:12px;padding:9px}.hero{min-height:450px}.hero::before{left:18%}.hero::after{background:linear-gradient(90deg,rgba(4,57,104,.97),rgba(6,73,127,.83) 65%,rgba(6,73,127,.48))}.hero .wrap{padding:55px 0}.grid,.contactgrid{grid-template-columns:1fr}.article{padding:24px}.article img.inline{float:none;display:block;width:100%;max-width:100%;margin:10px 0 20px}.gallery{grid-template-columns:repeat(2,1fr)}.gallery img{height:130px}}


/* V5 : contenu historique de l'accueil. Le bandeau et l'en-tête V4 restent inchangés. */
.heritage-home .original-intro{max-width:1050px;margin:0 0 38px;line-height:1.8}
.heritage-block{display:grid;grid-template-columns:42% 1fr;gap:0;background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden;margin:28px 0;align-items:stretch}
.heritage-block.heritage-reverse{grid-template-columns:1fr 42%}
.heritage-reverse .heritage-photo{order:2}
.heritage-photo{min-height:350px;overflow:hidden;background:#eaf2fa}
.heritage-photo img{width:100%;height:100%;object-fit:cover;display:block}
.heritage-photo-neutral img{object-fit:contain;padding:40px;background:#f3f7fc}
.heritage-copy{padding:36px 40px}
.heritage-copy h3{font:800 clamp(20px,2.1vw,27px)/1.35 Manrope,Arial,sans-serif;color:#123f6d;margin:0 0 22px}
.heritage-copy p{margin:0 0 17px;line-height:1.75}
.heritage-conclusion p{margin:0 0 8px}
@media(max-width:850px){.heritage-block,.heritage-block.heritage-reverse{grid-template-columns:1fr}.heritage-reverse .heritage-photo{order:0}.heritage-photo{min-height:220px;max-height:300px}.heritage-copy{padding:24px}.heritage-photo-neutral img{padding:20px}}

/* V6: photos des deux cartouches en pleine hauteur, proportions identiques */
.heritage-block.heritage-reverse .heritage-photo img {width:100%;height:100%;object-fit:cover;object-position:center;display:block;padding:0;background:transparent;}
.heritage-block.heritage-reverse .heritage-photo {min-height:350px;background:#eaf2fa;}

/* V7 - Page Syndic uniquement : 3 cartouches alternes, accueil V6 inchange */
.syndic-content{padding-top:34px;padding-bottom:14px}
.syndic-block{margin:0 0 26px;grid-template-columns:42% 1fr}
.syndic-block.heritage-reverse{grid-template-columns:1fr 42%}
.syndic-block .heritage-photo{min-height:400px}
.syndic-block .heritage-photo img{display:block;width:100%;height:100%;object-fit:cover;padding:0}
.syndic-block .heritage-copy{padding:30px 36px}
.syndic-block .heritage-copy h2{font:800 clamp(20px,2vw,26px)/1.3 Manrope,Arial,sans-serif;color:#123f6d;margin:0 0 22px}
.syndic-block .heritage-copy p{margin:0 0 14px;line-height:1.65}
.syndic-block .heritage-copy ul{padding-left:22px;margin:0 0 16px;line-height:1.55}
.syndic-block .heritage-copy li{margin:3px 0}
.syndic-block .heritage-copy li::marker{color:#d3a800}
@media(max-width:850px){.syndic-block,.syndic-block.heritage-reverse{grid-template-columns:1fr}.syndic-block .heritage-photo{min-height:240px;max-height:310px}.syndic-block .heritage-copy{padding:24px}.syndic-block.heritage-reverse .heritage-photo{order:0}}

/* V8 : navigation visible pendant le défilement sur toutes les pages. */
header { position: sticky; top: 0; z-index: 1000; }

/* V9 : ombre discrète uniquement après défilement */
header { transition: box-shadow .25s ease; }
header.scrolled { box-shadow: 0 5px 18px rgba(15,45,85,.12); }

/* V10 : Qui sommes-nous ? uniquement */
.ciag-history-panel,.ciag-identity-panel{margin-top:28px;padding:30px 34px;border:1px solid #e1e9f4;border-radius:16px;background:#fff;line-height:1.75}
.ciag-identity-panel{background:#eaf3fc;border-left:5px solid #ffce24}
.ciag-history-panel h2,.ciag-identity-panel h2{margin:0 0 18px;color:#103f75}
.ciag-history-panel p,.ciag-identity-panel p{margin:0 0 14px}
.ciag-history-panel p:last-child,.ciag-identity-panel p:last-child{margin-bottom:0}
.ciag-local-section h2{margin-top:0}
@media(max-width:650px){.ciag-history-panel,.ciag-identity-panel{padding:22px 20px}}

/* V12 - bouton itinéraire page Contact uniquement */
.contactgrid .route-button{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;background:#174f8a;color:#fff;text-decoration:none;font-weight:700;border-radius:10px;transition:background-color .2s ease,transform .2s ease;line-height:1.35}
.contactgrid .route-button:hover,.contactgrid .route-button:focus-visible{background:#246bb2;transform:translateY(-1px);color:#fff}
.contactgrid .route-button:focus-visible{outline:3px solid #ffce24;outline-offset:3px}
