.map-live{border-radius:14px;border:1px solid var(--line);aspect-ratio:3/2;overflow:hidden;position:relative;z-index:0} .map-live .leaflet-control-attribution{font-size:10px}
.pin2{width:54px;height:64px;position:relative} .pin2::before{content:'';position:absolute;left:7px;top:6px;width:40px;height:40px;background:#fff;border:3px solid var(--navy);border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 6px 14px -6px rgba(0,0,0,.5)} .pin2-in{position:absolute;left:12px;top:9px;width:36px;height:36px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#FDFCF9} .pin2-in svg{width:34px;height:34px;display:block}
.leaflet-popup-content{font-family:var(--f);font-size:14px;line-height:1.45} .leaflet-popup-content b{color:var(--navy)}
:root{--navy:#123666;--blue:#2B6CB0;--cream:#FDFCF9;--teal:#2BB5A8;--teal-soft:#E3F6F4;--teal-ink:#157F76;--ink:#1B2430;--ink2:#4B5563;--ink3:#7B8794;--line:#E3E7EE;--wash:#EAF1FA;--white:#fff;
--f:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;--maxw:1180px}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:var(--f);color:var(--ink);background:var(--cream);font-size:17px;line-height:1.6}
a{color:var(--blue)} img{max-width:100%} h1,h2,h3{line-height:1.15;margin:0;color:var(--navy);letter-spacing:-.01em;text-wrap:balance}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(18px,4vw,40px)}
.attrib{background:var(--navy);color:#fff;font-size:12.5px;padding:7px 0} .attrib .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.nav{position:sticky;top:0;z-index:50;background:rgba(253,252,249,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:22px;padding-block:10px}
.logo-h{height:52px;width:auto;display:block} .brand{margin-right:auto;display:block}
.links{display:flex;gap:14px;font-size:14.5px} .links a{color:var(--ink);text-decoration:none;padding:6px 2px;border-bottom:2px solid transparent;white-space:nowrap} .links a[aria-current]{border-color:var(--blue);color:var(--navy)}
.btn{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;background:var(--navy);color:#fff;text-decoration:none;font-weight:600;padding:12px 18px;border-radius:8px;min-height:44px;border:0;font-size:15.5px;cursor:pointer}
.btn.ghost{background:transparent;color:var(--navy);border:1.5px solid var(--navy)} .btn.blue{background:var(--blue)}
.tel{font-weight:700;color:var(--navy);text-decoration:none;white-space:nowrap}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;justify-content:center;gap:5px;align-items:center;cursor:pointer} .burger span{display:block;width:20px;height:2px;background:var(--navy);border-radius:2px}
.mobmenu{display:none} .mobmenu:not([hidden]){display:grid;border-top:1px solid var(--line);background:#fff} .mobmenu a{padding:14px clamp(18px,4vw,40px);text-decoration:none;color:var(--navy);font-weight:600;border-bottom:1px solid var(--line)}
@media (max-width:900px){.links,.nav .btn{display:none} .burger{display:flex} .logo-h{height:44px} .tel{font-size:15px}}
main.page[hidden]{display:none}
/* habillage */
.hero{position:relative;overflow:hidden} .hero .wrap{position:relative;z-index:1}
.blob{position:absolute;z-index:0;opacity:.9;animation:float 14s ease-in-out infinite}
.b1{left:-70px;top:-40px} .b2{right:8%;top:-30px;animation-delay:-4s;animation-duration:18s} .b3{left:38%;bottom:-40px;animation-delay:-8s} .b4{right:-60px;bottom:-70px;animation-delay:-2s;animation-duration:22s}
@keyframes float{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-14px) rotate(3deg)}}
@media (prefers-reduced-motion:reduce){.blob{animation:none}}
.kicker{color:var(--teal-ink)!important}
.wave{display:block;width:100%;height:46px;margin-top:-1px}
.card{transition:transform .25s ease,box-shadow .25s ease;position:relative;overflow:hidden} .card:hover{transform:translateY(-4px);box-shadow:0 18px 30px -22px rgba(18,54,102,.45)}
.card .ico{width:54px;height:54px;border-radius:16px;background:var(--teal-soft);display:grid;place-items:center;margin-bottom:14px} .card .ico svg{width:28px;height:28px;stroke:var(--teal-ink);margin:0}
.card::after{content:"";position:absolute;right:-26px;bottom:-30px;width:110px;height:90px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 108 88'%3E%3Cpath d='M50 6c9 0 13 6 22 6s13-6 22-6c8 0 10 8 10 16 0 9-6 14-6 22s6 13 6 22c0 8-2 16-10 16-9 0-13-6-22-6s-13 6-22 6c-8 0-10-8-10-16 0-9 6-14 6-22S6 31 6 22C6 14 8 6 16 6c9 0 13 6 22 6' fill='%23E3F6F4'/%3E%3C/svg%3E") no-repeat center/contain;opacity:.7;pointer-events:none}
.prat{transition:transform .25s ease} .prat:hover{transform:translateY(-4px)} .avatar{border-color:var(--teal-soft)!important}
.steps>div::before{background:var(--teal)!important;color:#fff!important}
.btn.blue{background:var(--teal-ink)} .hero-card .infos svg{stroke:var(--teal-ink)}
.band{position:relative;overflow:hidden} .band .wrap{position:relative;z-index:1}
.band::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 108 88'%3E%3Cpath d='M50 6c9 0 13 6 22 6s13-6 22-6c8 0 10 8 10 16 0 9-6 14-6 22s6 13 6 22c0 8-2 16-10 16-9 0-13-6-22-6s-13 6-22 6c-8 0-10-8-10-16 0-9 6-14 6-22S6 31 6 22C6 14 8 6 16 6c9 0 13 6 22 6' fill='none' stroke='%23ffffff' stroke-width='2'/%3E%3C/svg%3E") repeat;background-size:150px;opacity:.06}
.pagehead{position:relative;overflow:hidden} .pagehead .wrap{position:relative;z-index:1} .pagehead .blob{opacity:.7}
.sec-h h2::after{content:"";display:block;width:56px;height:5px;border-radius:3px;background:linear-gradient(90deg,var(--teal),var(--blue));margin-top:12px}
.tips{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch} @media (max-width:1000px){.tips{grid-template-columns:1fr 1fr}} @media (max-width:640px){.tips{grid-template-columns:1fr}}
.tip{margin:0;display:flex;flex-direction:column;border-radius:16px;padding:20px 22px 18px;border:1px solid var(--line);background:#fff;position:relative;overflow:hidden}
.tip-h{display:flex;gap:14px;align-items:center;margin-bottom:10px} .tip h3{font-size:18px;margin:0}
.tip-ico{flex:0 0 46px;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--tipbg);color:var(--tipfg)} .tip-ico svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tip ul{margin:0;padding-left:18px;color:var(--ink2);font-size:15.5px;display:grid;gap:7px} .tip li::marker{color:var(--tipfg)}
.tip::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--tipfg)}
.tip{background:linear-gradient(180deg,var(--tipbg) 0,#fff 90px)}
.card[class*=" t-"]{background:linear-gradient(180deg,var(--tipbg) 0,#fff 96px);border-color:var(--line)} .card[class*=" t-"]::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--tipfg)}
.card[class*=" t-"] .ico{background:var(--tipbg);color:var(--tipfg)} .card[class*=" t-"] .ico svg{stroke:var(--tipfg)} .card[class*=" t-"]::after{opacity:.35}
.panel{border-radius:16px;padding:22px 24px;border:1px solid var(--line);background:linear-gradient(180deg,var(--tipbg) 0,#fff 110px);position:relative;overflow:hidden} .panel::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--tipfg)}
.panel h2{display:flex;align-items:center;gap:12px} .panel h2 .ico{width:40px;height:40px;border-radius:12px;background:var(--tipbg);display:grid;place-items:center;flex:0 0 40px} .panel h2 .ico svg{width:22px;height:22px;stroke:var(--tipfg);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.acces{display:grid;gap:12px} .acces>div{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:start;font-size:14.5px;color:var(--ink2)} .acces b{display:block;color:var(--navy)} .aico{width:40px;height:40px;border-radius:12px;background:var(--tipbg);display:grid;place-items:center} .aico svg{width:22px;height:22px;stroke:var(--tipfg);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.panel ul li::marker,.panel table td:last-child{color:var(--tipfg)}
.t-teal{--tipbg:#E3F6F4;--tipfg:#157F76} .t-sun{--tipbg:#FFF4D6;--tipfg:#B7791F} .t-violet{--tipbg:#EEE9FB;--tipfg:#6B46C1} .t-blue{--tipbg:#E6EFFA;--tipfg:#2B6CB0}
.t-coral{--tipbg:#FDE8E4;--tipfg:#C0392B} .t-green{--tipbg:#E6F5E9;--tipfg:#2F855A} .t-rose{--tipbg:#FCE7F0;--tipfg:#B83280} .t-lavender{--tipbg:#EDE9F7;--tipfg:#805AD5} .t-grey{--tipbg:#EEF0F2;--tipfg:#4A5568} .t-amber{--tipbg:#FFF1DB;--tipfg:#C05621}
.faq{background:#fff;border:1px solid var(--line);border-radius:14px;padding:6px 20px;margin-bottom:12px} .faq summary{cursor:pointer;font-weight:700;color:var(--navy);font-size:17px;padding:12px 0;list-style:none;display:flex;justify-content:space-between;align-items:center} .faq summary::after{content:'+';color:var(--teal-ink);font-size:24px;font-weight:400} .faq[open] summary::after{content:'–'} .faq ul{margin:0 0 14px;padding-left:20px;color:var(--ink2);font-size:15.5px;display:grid;gap:7px}
.callout{margin-top:18px;background:var(--teal-soft);border-left:4px solid var(--teal);border-radius:0 10px 10px 0;padding:12px 16px;font-size:15px;color:var(--ink2);max-width:70ch} .callout b{color:var(--teal-ink)} .callout a{color:var(--navy);font-weight:700}
.tag{display:inline-flex;align-items:center;gap:8px;background:var(--teal-soft);color:var(--teal-ink);font-weight:700;font-size:13px;padding:6px 12px;border-radius:999px;margin-bottom:12px}
/* hero */
.hero{background:linear-gradient(180deg,#fff 0%,var(--cream) 100%);padding:clamp(40px,7vw,84px) 0 clamp(36px,6vw,64px);border-bottom:1px solid var(--line)}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.kicker{text-transform:uppercase;letter-spacing:.14em;font-size:12.5px;color:var(--blue);font-weight:700;margin:0 0 14px}
.hero h1{font-size:clamp(30px,4vw,46px);font-weight:800} .hero .tag{margin-top:18px}
.hero p.lead{font-size:19px;color:var(--ink2);max-width:52ch;margin:18px 0 26px}
.cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center} .under{margin:14px 0 0;font-size:14.5px;color:var(--ink2)} .under a{color:var(--teal-ink);font-weight:600}
.hero-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 28px;box-shadow:0 20px 40px -30px rgba(18,54,102,.35)}
.hero-card .logo-v{width:160px;height:auto;display:block;margin:0 auto 18px}
.infos{display:grid;gap:12px;font-size:15px} .infos>div{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start} .infos svg{width:20px;height:20px;stroke:var(--blue);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-top:3px}
.infos b{display:block;color:var(--navy)}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}}
/* sections */
section{padding:clamp(40px,6vw,72px) 0} .pagehead+section,section.tight{padding-top:clamp(22px,3vw,34px)} section.alt{background:#fff;border-block:1px solid var(--line)}
.sec-h{max-width:none;margin-bottom:32px} .sec-h p{max-width:64ch} .sec-h h2{font-size:clamp(26px,3.2vw,36px);font-weight:800} .sec-h p{color:var(--ink2);margin:10px 0 0}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px} .grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px} .grid2{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
@media (max-width:900px){.grid3,.grid4,.grid2{grid-template-columns:1fr 1fr}} @media (max-width:560px){.grid3,.grid4,.grid2{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 22px 24px} .card svg{width:36px;height:36px;stroke:var(--blue);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-bottom:12px}
.card h3{font-size:18px;margin-bottom:6px} .card p{margin:0;color:var(--ink2);font-size:15.5px}
.prat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;text-align:center} .avatar{width:112px;height:112px;border-radius:50%;object-fit:cover;display:block;margin:0 auto 14px;border:3px solid var(--wash)}
.prat h3{font-size:17px} .prat p{margin:4px 0 0;color:var(--ink2);font-size:14.5px}
.todo{display:inline-block;background:#FFF4D6;color:#8A5A00;border:1px solid #F3D48A;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:2px 7px;border-radius:4px;vertical-align:middle;margin-left:6px}
.band{background:var(--navy);color:#fff} .band h2,.band h3{color:#fff} .band .btn{background:#fff;color:var(--navy)}
.band .steps b{color:#fff} .band .steps span{color:rgba(255,255,255,.82)} .band .steps>div::before{background:rgba(255,255,255,.15);color:#fff}
.band .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:center} @media (max-width:900px){.band .wrap{grid-template-columns:1fr}}
.photo{border-radius:14px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3;background:var(--wash)} .photo img{width:100%;height:100%;object-fit:cover;display:block}
.steps{counter-reset:s;display:grid;gap:14px} .steps>div{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start} .steps>div::before{counter-increment:s;content:counter(s);width:40px;height:40px;border-radius:50%;background:var(--wash);color:var(--navy);font-weight:800;display:grid;place-items:center}
.steps b{display:block;color:var(--navy)} .steps span{color:var(--ink2);font-size:15.5px}
.pagehead{background:#fff;border-bottom:1px solid var(--line);padding:clamp(30px,4vw,44px) 0 clamp(24px,3vw,34px)} .pagehead h1{font-size:clamp(28px,3.4vw,40px);font-weight:800} .pagehead h1 br,.hero h1 br{display:none} @media (min-width:700px){.pagehead h1 br,.hero h1 br{display:inline}} .pagehead p{color:var(--ink2);max-width:66ch;font-size:18px;margin:12px 0 0}
table.h{border-collapse:collapse;width:100%;font-size:15.5px} table.h td{padding:8px 0;border-bottom:1px solid var(--line)} table.h td:last-child{text-align:right;font-weight:600;color:var(--navy)}
.map{border-radius:14px;border:1px solid var(--line);background:linear-gradient(135deg,#EAF1FA,#F7FAFE);aspect-ratio:4/3;display:grid;place-items:center;text-align:center;color:var(--ink2);padding:20px} .map b{color:var(--navy);display:block;font-size:18px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch} @media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
.cform,.cmap{display:flex;flex-direction:column;gap:12px} .cform{padding:22px 24px} .cform label{gap:4px}
.cmap{padding-bottom:0} .cmap .map-live{flex:1;aspect-ratio:auto;min-height:320px} .cmap .cbtn{padding-bottom:0}
.cnote{font-size:12.5px;color:var(--ink3);margin:0;line-height:1.45} .cbtn{margin-top:auto;padding-top:6px}
form{display:grid;gap:12px} label{display:grid;gap:4px;font-size:14px;color:var(--ink2)} input,select,textarea{font:inherit;padding:10px 12px;border:1px solid #C9D2DE;border-radius:8px;background:#fff;min-height:44px} textarea{min-height:100px}
.foot{background:var(--navy);color:#fff;padding:44px 0 26px;font-size:14.5px} .foot a{color:#fff} .foot .wrap{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:28px} .foot .logo-v{width:120px;filter:brightness(0) invert(1);opacity:.95}
.foot-id{display:grid;justify-items:center;text-align:center;width:max-content} .foot-id .logo-v{margin:0 0 12px}
.foot .adr{margin:0;line-height:1.7;opacity:.95} .foot .adr b{font-size:15.5px}
.foot h4{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.12em;opacity:.8} .foot ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.legal{border-top:1px solid rgba(255,255,255,.2);margin-top:28px;padding-top:16px;font-size:12.5px;opacity:.8;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
@media (max-width:900px){.foot .wrap{grid-template-columns:1fr}}
.une{display:grid;grid-template-columns:1.1fr 1fr;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 24px 44px -34px rgba(18,54,102,.5)} .une.sans-photo{grid-template-columns:1fr}
.une-photo{height:410px} .une-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}
.une-txt{padding:clamp(22px,3.4vw,44px);display:flex;flex-direction:column;justify-content:center;border-left:6px solid var(--teal)} .une-txt .kicker{margin:0 0 10px}
.une time,.precedent time{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--teal-ink)}
.une h3{font-size:clamp(26px,3vw,36px);font-weight:800;margin:10px 0 14px} .une-txt>p:last-child{margin:0;color:var(--ink2);font-size:17px}
@media (max-width:800px){.une{grid-template-columns:1fr} .une-photo{height:auto;aspect-ratio:3/2} .une-txt{border-left:0;border-top:6px solid var(--teal)}}
.quand .todo{margin-left:8px} .une,.precedent li{position:relative} .une h3 a,.precedent li b a{color:inherit;text-decoration:none} .une h3 a::after,.precedent li b a::after{content:'';position:absolute;inset:0} .une:hover h3 a,.precedent li:hover b a{text-decoration:underline} .lire{margin-top:16px;font-weight:700;color:var(--teal-ink)} .precedent{margin-top:26px} .une+.une,.autres-actus .une{margin-top:28px}
.autres-actus{margin-top:22px} .autres-actus summary{list-style:none;cursor:pointer;display:inline-block;padding:12px 22px;border:1.5px solid var(--navy,#12366A);border-radius:10px;font-weight:700;color:var(--navy,#12366A)} .autres-actus summary::-webkit-details-marker{display:none} .autres-actus summary:hover{background:#EAF1FA}
.autres-actus .fermer,.autres-actus[open] .ouvrir{display:none} .autres-actus[open] .fermer{display:inline}
.article-haut{display:grid;grid-template-columns:520px 1fr;gap:44px;align-items:start} .article-haut>.article-txt:only-child{grid-column:1/-1}
.article-photo{border-radius:18px;overflow:hidden;border:1px solid var(--line);height:370px;box-shadow:0 24px 44px -34px rgba(18,54,102,.5)} .article-photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%;display:block}
@media (max-width:900px){.article-haut{grid-template-columns:1fr;gap:26px} .article-photo{height:auto;aspect-ratio:3/2}}
.article-nav{max-width:860px} .article .article-nav{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:34px 0 26px}
.lien-voisin{font-size:17px;font-weight:700;color:var(--navy);text-decoration:none} .lien-voisin span{color:var(--teal-ink);font-weight:700} .lien-voisin:hover{text-decoration:underline}
.article-txt p{font-size:18px;color:var(--ink);margin:0 0 16px;max-width:68ch} .article-txt p:first-child{font-size:20px;color:var(--navy);font-weight:600}
.pagehead p.quand{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--teal-ink)}
.article-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:34px 0 26px} .voisin{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;text-decoration:none} .voisin:hover{border-color:var(--teal)} .voisin small{display:block;color:var(--teal-ink);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.06em} .voisin b{color:var(--navy);font-size:16.5px} .voisin.ancien{text-align:right;grid-column:2} @media (max-width:560px){.article-nav{grid-template-columns:1fr} .voisin.ancien{grid-column:1}} .precedent h3{font-size:16px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink3);margin:0 0 6px}
.precedent ul{list-style:none;margin:0;padding:0} .precedent li{display:grid;grid-template-columns:150px 1fr;gap:6px 18px;padding:14px 0;border-bottom:1px solid var(--line)}
.precedent li b{display:block;color:var(--navy);font-size:17px} .precedent li b+span{color:var(--ink2);font-size:15px}
@media (max-width:560px){.precedent li{grid-template-columns:1fr}}
.mobilebar{display:none;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);padding:10px 14px;z-index:60;gap:10px} .mobilebar .btn{flex:1;justify-content:center}
@media (max-width:900px){.mobilebar{display:flex} body{padding-bottom:70px}}
.fil{font-size:13.5px;color:var(--ink3);margin:0 0 10px} .fil a{color:var(--ink3)}
