body{background:#f7f8fb}
.seo-header{position:sticky;top:0;z-index:70;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.seo-header .in,.seo-footer .in{max-width:var(--maxw);margin:auto;padding:0 var(--gut);display:flex;align-items:center;gap:18px}
.seo-header .in{min-height:72px}.seo-header img{height:28px;width:auto}.seo-header nav{display:flex;gap:4px;margin-left:auto}.seo-header nav a{font-family:'Bricolage Grotesque';font-weight:700;color:var(--navy);padding:9px 13px;border-radius:10px}.seo-header nav a:hover,.seo-header nav a.on{color:var(--orange);background:var(--orange-soft)}
.page-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 85% 5%,rgba(244,103,31,.28),transparent 30%),linear-gradient(125deg,#0d1830,#192d5a);color:#fff;padding:46px 0 52px}
.page-hero h1{color:#fff;font-size:clamp(2.1rem,4vw,3.6rem);max-width:18ch;margin:18px 0}
.crumb{display:flex;align-items:center;gap:7px;color:#b9c5dc;font-size:.84rem}.crumb a{color:#fff}.crumb svg{width:13px;height:13px}
.kicker{display:inline-flex;align-items:center;gap:7px;color:#ffb38a;font-family:'Bricolage Grotesque';font-size:.78rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.kicker .dot{width:7px;height:7px;border-radius:50%;background:currentColor}
.page-hero .intro{color:#d4dced;font-size:1.06rem;max-width:72ch;line-height:1.7}.page-hero .intro strong{color:#fff}
.meta-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.meta-tags span{padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.08);font-size:.82rem;color:#dce4f3}.meta-tags b{color:#fff}
.seo-box{display:none}
.filterbar{position:sticky;top:72px;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);box-shadow:0 10px 30px -24px rgba(21,35,72,.35)}
.filterbar .row{display:flex;align-items:center;gap:8px;min-height:72px;overflow-x:auto;padding-top:10px;padding-bottom:10px;scrollbar-width:none}.filterbar .row::-webkit-scrollbar{display:none}
.fchip{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid #dfe5ef;background:#fff;color:var(--navy);border-radius:999px;padding:9px 13px;font-size:.82rem;font-weight:700}.fchip.on,.chip-toggle:hover{border-color:var(--orange);background:var(--orange-soft);color:var(--orange-dark)}.fchip svg{width:15px;height:15px}.fchip select{border:0;outline:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.filter-count{margin-left:auto;white-space:nowrap;color:var(--muted);font-size:.84rem;font-weight:700}
.results{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:30px;padding:42px 0 74px;align-items:start}.cards{display:grid;gap:22px}.cards-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sortby{font-size:.82rem;color:var(--muted)}
.map-panel{position:sticky;top:164px;height:560px;border-radius:24px;overflow:hidden;background:linear-gradient(145deg,#14264f,#0b1731);box-shadow:0 24px 60px -30px rgba(21,35,72,.6)}.map-panel .ph{position:absolute;inset:0}.map-pins{position:absolute;inset:0}.map-pin{position:absolute;background:#fff;color:var(--navy);border-radius:999px;padding:7px 11px;font:800 .76rem 'Bricolage Grotesque';box-shadow:0 8px 18px rgba(0,0,0,.28)}.map-pin.alt{background:var(--orange);color:#fff}
.section--tight{padding:70px 0}.prose h2{margin-top:0}.prose p{line-height:1.75}.maillage{background:#f3f5f9;border-top:1px solid var(--line);padding:62px 0}.maillage h2{font-size:1.8rem}.link-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px}.link-cols>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.link-cols h5{font-family:'Bricolage Grotesque';color:var(--ink);margin:0 0 11px;font-size:.95rem}.link-cols a{display:block;color:var(--body);padding:6px 0;font-size:.88rem}.link-cols a:hover{color:var(--orange)}
.seo-footer{background:var(--navy-deep);color:#9eacc7}.seo-footer .in{min-height:120px;justify-content:space-between;flex-wrap:wrap}.seo-footer img{height:26px;width:auto}.seo-footer a{color:#fff;font-weight:700}
@media(max-width:1050px){.results{grid-template-columns:1fr}.map-panel{display:none}}
@media(max-width:760px){.seo-header nav a:not(.on){display:none}.cards-2{grid-template-columns:1fr}.link-cols{grid-template-columns:1fr}.page-hero{padding:34px 0 42px}.filterbar{top:65px}.seo-header .in{min-height:65px}}
