@font-face{font-family:'Barlow Condensed';font-weight:700;font-style:normal;font-display:swap;src:url(fonts/barlow-condensed-700.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-weight:800;font-style:normal;font-display:swap;src:url(fonts/barlow-condensed-800.woff2) format('woff2')}
@font-face{font-family:'Public Sans';font-weight:400 600;font-style:normal;font-display:swap;src:url(fonts/public-sans-400.woff2) format('woff2')}
/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
	}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}

.leaflet-container img.leaflet-tile {
	/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
	mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
	-ms-touch-action: pan-x pan-y;
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	-ms-touch-action: pinch-zoom;
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	-ms-touch-action: none;
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	-webkit-transition: opacity 0.2s linear;
	   -moz-transition: opacity 0.2s linear;
	        transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	-webkit-transform-origin: 0 0;
	    -ms-transform-origin: 0 0;
	        transform-origin: 0 0;
	}
svg.leaflet-zoom-animated {
	will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
	-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
	   -moz-transition:    -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
	        transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	-webkit-transition: none;
	   -moz-transition: none;
	        transition: none;
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor: -webkit-grab;
	cursor:    -moz-grab;
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor: -webkit-grabbing;
	cursor:    -moz-grabbing;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline-offset: 1px;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
	font-size: 22px;
	}


/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
.leaflet-control-layers-toggle {
	background-image: url(images/layers.png);
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url(images/layers-2x.png);
	background-size: 26px 26px;
	}
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	font-size: 13px;
	font-size: 1.08333em;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
	background-image: url(images/marker-icon.png);
	}


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	text-decoration: underline;
	}
.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	pointer-events: auto;

	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	text-align: center;
	width: 24px;
	height: 24px;
	font: 16px/24px Tahoma, Verdana, sans-serif;
	color: #757575;
	text-decoration: none;
	background: transparent;
	}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}


/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-interactive {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}
.leaflet-tooltip-top {
	margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}
.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
.leaflet-tooltip-left {
	margin-left: -6px;
}
.leaflet-tooltip-right {
	margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}
.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}

/* Printing */

@media print {
	/* Prevent printers from removing background-images of controls. */
	.leaflet-control {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		}
	}
:root{--ink:#0B2B3C;--pool:#08707C;--lime:#C8F03A;--ice:#F2F7FA;--mist:#5B7384;--red:#D9363E;--line:#D5E2EA;--w:1180px;--hh:72px}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ice);color:var(--ink);font:400 17px/1.6 'Public Sans',system-ui,sans-serif;overflow-x:clip}
img,svg{max-width:100%}a{color:var(--pool);text-underline-offset:3px}a:hover{color:var(--ink)}
h1,h2,h3,h4{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-weight:700;line-height:1.05;margin:0 0 .5em;letter-spacing:.005em;color:var(--ink)}
h1{font-size:clamp(2.4rem,5.4vw,4.3rem);font-weight:800}h2{font-size:clamp(1.8rem,3.2vw,2.6rem)}h3{font-size:1.45rem}
p{margin:0 0 1em}.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:var(--w);margin:0 auto;padding:0 22px}
:focus-visible{outline:3px solid var(--pool);outline-offset:2px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px 12px;z-index:99}
/* en-tête */
.top{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);height:var(--hh)}
.top .wrap{display:flex;align-items:center;gap:26px;height:100%}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:800 1.55rem/1 'Barlow Condensed',sans-serif;white-space:nowrap}
.logo svg{width:46px;height:34px;flex:none}.logo small{display:block;font:600 .8rem/1 'Public Sans',sans-serif;color:var(--mist);margin-top:3px}
.menu{display:flex;gap:4px;margin-left:auto;align-items:stretch;height:100%}
.menu a.m{display:flex;align-items:center;padding:0 14px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.97rem;position:relative}
.menu a.m:after{content:"";position:absolute;left:14px;right:14px;bottom:15px;height:3px;background:var(--line);transition:background .2s}
.menu a.m:hover:after{background:var(--pool)}.menu a.m[aria-current]:after{background:var(--pool);height:5px;bottom:13px;border-radius:3px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;border-radius:999px;background:var(--ink);color:#fff;font-weight:600;text-decoration:none;border:2px solid var(--ink);cursor:pointer;font-size:1rem;font-family:inherit}
.btn:hover{background:var(--lime);color:var(--ink)}.btn.cta{background:var(--lime);color:var(--ink);border-color:var(--ink);align-self:center;margin-left:6px}.btn.cta:hover{background:var(--ink);color:#fff}
.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{background:var(--ink);color:#fff}
.burger{display:none;margin-left:auto;background:none;border:2px solid var(--ink);border-radius:10px;width:46px;height:46px;font-size:0;cursor:pointer;position:relative}
.burger:before,.burger:after{content:"";position:absolute;left:11px;right:11px;height:3px;background:var(--ink);top:15px;box-shadow:0 8px 0 var(--ink)}.burger:after{top:31px;box-shadow:none}
@media(max-width:980px){.burger{display:block}.menu{display:none;position:absolute;left:0;right:0;top:var(--hh);background:#fff;flex-direction:column;height:auto;padding:10px 22px 18px;border-bottom:1px solid var(--line)}.menu.open{display:flex}.menu a.m{min-height:48px;padding:0}.menu a.m:after{display:none}.menu a.m[aria-current]{color:var(--pool);font-weight:700}.btn.cta{margin:8px 0 0}.logo small{display:none}}
/* héros */
.hero{padding:clamp(28px,5vh,64px) 0 0;min-height:calc(100svh - var(--hh));display:flex;align-items:center;position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center;width:100%}
.hero h1{max-width:12ch;font-size:clamp(2.6rem,min(8vh,7vw),5.4rem)}.hero p.lead{font-size:1.18rem;max-width:34em;color:#27475a}
.piste{display:flex;background:#fff;border:3px solid var(--ink);border-radius:999px;padding:8px;gap:8px;box-shadow:0 0 0 6px var(--ice),0 0 0 8px var(--line);max-width:640px}
.piste input,.piste select{flex:1;min-width:0;border:0;background:transparent;font:inherit;padding:10px 16px;color:var(--ink);outline:0;border-radius:999px;height:50px}
.piste input+input,.piste select+input,.piste input+select{border-left:2px solid var(--line);border-radius:0}
.piste .btn{flex:none}.piste:focus-within{border-color:var(--pool)}
.plateau{width:100%;max-width:520px;justify-self:center;aspect-ratio:1}
.plateau .r1{animation:tour 38s linear infinite}.plateau .r2{animation:tour 54s linear infinite reverse}.plateau .r3{animation:tour 26s linear infinite}.plateau .run{animation:tour 9s linear infinite}
.plateau g{transform-origin:260px 260px}@keyframes tour{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.plateau *{animation:none!important}}
@media(max-width:900px){.hero .wrap{grid-template-columns:1fr}.plateau{display:none}.hero{min-height:0;padding-top:28px}.hero h1{max-width:none}.piste{flex-wrap:wrap;border-radius:26px}.piste input,.piste select{flex:1 1 100%;border-left:0!important;border-bottom:2px solid var(--line);border-radius:0}.piste .btn{flex:1 1 100%}}
.arrivee{height:18px;background:repeating-conic-gradient(var(--ink) 0 25%,#fff 0 50%) 0 0/18px 18px;border-block:2px solid var(--ink);margin-top:36px}
.mention{font-size:.92rem;color:var(--mist);margin-top:14px}
/* sections */
section.bloc{padding:clamp(40px,6vw,76px) 0}section.bloc.blanc{background:#fff}
.chiffres{display:flex;flex-wrap:wrap;gap:12px 34px;margin:26px 0 0}.chiffres div{font:800 3rem/1 'Barlow Condensed',sans-serif}.chiffres span{display:block;font:400 .95rem/1.3 'Public Sans',sans-serif;color:var(--mist);margin-top:4px}
.carte-fr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px;align-items:center}
.carte-fr svg{width:100%;height:auto;max-height:640px}.carte-fr .sil{fill:#fff;stroke:var(--ink);stroke-width:1.2;vector-effect:non-scaling-stroke}
.carte-fr .dep{fill:#E7F0F5;stroke:#fff;stroke-width:.8;vector-effect:non-scaling-stroke}.carte-fr a:hover .pt,.carte-fr a:focus .pt{fill:var(--red)}
.pt{fill:var(--lime);stroke:var(--ink);stroke-width:1.6;vector-effect:non-scaling-stroke}
.carte-fr .lab{font:700 13px 'Barlow Condensed',sans-serif;fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:4px}
@media(max-width:860px){.carte-fr{grid-template-columns:1fr}}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0;padding:0;list-style:none}.chips a{display:inline-block;padding:8px 14px;border:2px solid var(--ink);border-radius:999px;text-decoration:none;color:var(--ink);font-weight:600;background:#fff;min-height:40px}.chips a:hover{background:var(--lime)}
/* dossards */
.grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px;padding:0;margin:20px 0;list-style:none}
.dossard{position:relative;background:#fff;border:2px solid var(--ink);border-radius:6px 22px 6px 22px;padding:20px 20px 18px 82px;min-height:150px;transform:rotate(-.5deg);transition:transform .15s}
.grille li:nth-child(even) .dossard{transform:rotate(.6deg);border-radius:22px 6px 22px 6px}.dossard:hover{transform:rotate(0) translateY(-2px)}
.dossard:before,.dossard:after{content:"";position:absolute;left:12px;width:9px;height:9px;border-radius:50%;border:2px solid var(--ink);background:var(--ice)}.dossard:before{top:10px}.dossard:after{bottom:10px}
.dossard .n{position:absolute;left:0;top:0;bottom:0;width:62px;display:flex;align-items:center;justify-content:center;font:800 2.4rem/1 'Barlow Condensed',sans-serif;background:var(--ink);color:var(--lime);border-radius:4px 0 0 20px;writing-mode:horizontal-tb}
.dossard h3{font-size:1.38rem;margin:0 0 6px}.dossard h3 a{color:var(--ink);text-decoration:none}.dossard h3 a:after{content:"";position:absolute;inset:0}.dossard .ou{margin:0 0 8px;color:#27475a;font-size:.95rem}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.tags li,.tag{background:var(--ink);color:#fff;font-size:.82rem;font-weight:600;padding:3px 10px;border-radius:999px}.tag.l{background:var(--lime);color:var(--ink)}
.fil{font-size:.92rem;color:var(--mist);margin:18px 0 8px}.fil a{color:var(--mist)}.fil a+a:before,.fil a+span:before,.fil span+span:before{content:"/";margin:0 8px;color:var(--line)}
.tete{padding:34px 0 18px}.tete p.lead{max-width:46em;font-size:1.1rem}
/* ville : carte en bandeau */
.bandeau{height:340px;border-block:2px solid var(--ink);background:#dfeaf0;position:relative}.bandeau .carte,.carte{width:100%;height:100%}
.deux{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:34px;align-items:start}.deux .contour{background:#fff;border:2px solid var(--ink);border-radius:22px 6px 22px 6px;padding:14px}.deux .contour svg{width:100%;height:auto;max-height:420px}
@media(max-width:860px){.deux{grid-template-columns:1fr}}
.texte{max-width:46em}.texte h2{margin-top:1.2em}
.faq details{background:#fff;border:2px solid var(--line);border-radius:12px;margin:0 0 10px;padding:0 16px}.faq summary{cursor:pointer;min-height:48px;display:flex;align-items:center;font-weight:600}.faq details[open]{border-color:var(--pool)}
/* fiche */
.fiche{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:34px;align-items:start}
.fiche .nom{display:flex;gap:18px;align-items:flex-start}.fiche .gros{flex:none;font:800 3.6rem/1 'Barlow Condensed',sans-serif;background:var(--ink);color:var(--lime);padding:12px 16px;border-radius:4px 18px 4px 18px}
.fiche dl{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:18px 0}.fiche dt{color:var(--mist)}.fiche dd{margin:0;font-weight:600}
.fiche .carte{height:360px;border:2px solid var(--ink);border-radius:22px 6px 22px 6px;overflow:hidden}
@media(max-width:860px){.fiche{grid-template-columns:1fr}.fiche .carte{height:280px}}
/* articles */
.art{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:44px;align-items:stretch;padding:20px 0 60px}
.art .corps{min-width:0;background:#fff;border:2px solid var(--line);border-radius:6px 26px 6px 26px;padding:clamp(18px,3vw,40px)}
.corps h2{margin-top:1.3em}.corps img{height:auto;border-radius:10px}.corps figure{margin:1.4em 0}.corps figcaption{font-size:.9rem;color:var(--mist)}
.corps .sb-sommaire,.corps nav.sb-sommaire{background:var(--ice);border-left:6px solid var(--lime);padding:12px 18px;border-radius:0 12px 12px 0;margin:0 0 1.4em}
.art aside{min-width:0;align-self:stretch}.side{position:sticky;top:calc(var(--hh) + 20px)}
.bloc-side{background:#fff;border:2px solid var(--ink);border-radius:22px 6px 22px 6px;padding:18px;margin-bottom:18px}.bloc-side h2{font-size:1.5rem;margin-bottom:.4em}
.bloc-side input{width:100%;min-height:46px;border:2px solid var(--line);border-radius:10px;padding:0 12px;font:inherit;margin-bottom:8px}.bloc-side .btn{width:100%}
.saviez{background:var(--lime);border:2px solid var(--ink);border-radius:6px 22px 6px 22px;padding:16px 20px;margin:1.6em 0}.saviez b{font:800 1.4rem 'Barlow Condensed',sans-serif;display:block}
.art-tete{padding:26px 0 8px}.art-tete .meta{color:var(--mist);font-size:.95rem}.art-photo img{width:100%;max-height:420px;object-fit:cover;border-radius:6px 26px 6px 26px;border:2px solid var(--ink)}
.auteur{display:flex;gap:14px;align-items:center;margin-top:10px}.auteur img{width:56px;height:56px;aspect-ratio:1;border-radius:50%;object-fit:cover;flex:none}
@media(max-width:980px){.art{grid-template-columns:1fr}.side{position:static}}
/* carnet (hub) */
.une{display:grid;grid-template-columns:1.3fr 1fr;border:2px solid var(--ink);border-radius:6px 26px 6px 26px;overflow:hidden;background:#fff;margin:10px 0 24px}.une img{width:100%;height:100%;min-height:260px;object-fit:cover;display:block}.une div{padding:26px}
@media(max-width:760px){.une{grid-template-columns:1fr}}
.defile{overflow:hidden;background:var(--ink);color:#fff;border-radius:999px;margin:0 0 26px}.defile div{display:inline-flex;gap:40px;padding:12px 20px;white-space:nowrap;animation:def 80s linear infinite}.defile:hover div{animation-play-state:paused}.defile a{color:#fff;text-decoration:none}.defile a:hover{color:var(--lime)}@keyframes def{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.defile div{animation:none}.defile{overflow-x:auto}}
.cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px;list-style:none;padding:0}.cartes li{background:#fff;border:2px solid var(--line);border-radius:6px 20px 6px 20px;overflow:hidden;position:relative}.cartes li:hover{border-color:var(--ink)}
.cartes img{width:100%;height:170px;object-fit:cover;display:block}.cartes div{padding:14px 16px}.cartes h3{font-size:1.25rem;margin:4px 0}.cartes a{color:var(--ink);text-decoration:none}.cartes a:after{content:"";position:absolute;inset:0}
.pager{display:flex;gap:8px;justify-content:center;margin:26px 0}.pager a,.pager span{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--ink);border-radius:999px;text-decoration:none;color:var(--ink);font-weight:600}.pager span{background:var(--ink);color:#fff}
/* tunnel */
body.tunnel{height:100svh;overflow:hidden;display:flex;flex-direction:column}body.tunnel main{flex:1;min-height:0;display:flex}body.tunnel .tun{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-template-rows:minmax(0,1fr);gap:36px;align-items:stretch;padding:clamp(14px,3vh,34px) 22px;max-width:var(--w);margin:0 auto;width:100%}
.tun .carte-t{background:#fff;border:2px solid var(--ink);border-radius:6px 26px 6px 26px;padding:clamp(16px,3vh,32px);display:flex;flex-direction:column;min-height:0}
.pas{display:flex;gap:8px;margin:0 0 clamp(8px,2vh,18px)}.pas i{flex:1;height:8px;border-radius:4px;background:var(--line)}.pas i.on{background:var(--pool)}
.etape{display:none;flex:1;min-height:0;flex-direction:column;justify-content:center}.etape.on{display:flex}.etape h1{font-size:clamp(1.8rem,5vh,2.8rem);margin-bottom:.4em}
.tuiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:10px;flex:1;min-height:0}.tuile{min-width:0;overflow-wrap:anywhere;display:flex;align-items:center;gap:12px;min-height:clamp(52px,9vh,76px);padding:8px 14px;border:2px solid var(--ink);border-radius:14px;background:#fff;font:600 1rem 'Public Sans',sans-serif;color:var(--ink);cursor:pointer;text-align:left}.tuile:hover,.tuile:focus-visible{background:var(--lime)}.tuile svg{width:32px;height:32px;flex:none}
.etape label{font-weight:600;display:block;margin:0 0 4px}.etape input[type=text],.etape input[type=email],.etape input[type=tel]{width:100%;min-height:48px;border:2px solid var(--ink);border-radius:12px;padding:0 14px;font:inherit;margin-bottom:clamp(6px,1.4vh,12px)}
.etape .cg{font-size:.88rem;display:flex;gap:10px;align-items:flex-start;margin:4px 0 10px;line-height:1.4}.etape .cg input{margin-top:3px;width:20px;height:20px;flex:none}
.retour{background:none;border:0;color:var(--mist);cursor:pointer;font:inherit;padding:8px 0;align-self:flex-start;min-height:40px}
.rassure{align-self:center;border-left:6px solid var(--lime);padding-left:22px}.rassure ul{padding-left:1.1em;margin:0}.rassure li{margin:0 0 .6em}
.hp{position:absolute;left:-9999px}.msg{padding:10px 14px;border-radius:10px;background:#fff3f3;border:2px solid var(--red);margin:0 0 10px}
@media(max-width:860px){body.tunnel .tun{grid-template-columns:minmax(0,1fr);gap:10px;padding:10px 14px}.rassure{display:none}.tuiles{grid-template-columns:1fr 1fr;gap:8px}.tuile{padding:6px 10px;font-size:.93rem}.tuile svg{width:26px;height:26px}}
@media(max-height:800px){.tun .carte-t{padding:14px}.tuile{min-height:48px}.etape h1{font-size:1.7rem}}
/* pied */
.pied{background:var(--ink);color:#d8e6ee;margin-top:30px;padding:26px 0}.pied .wrap{display:flex;flex-wrap:wrap;gap:14px 34px;align-items:center;justify-content:space-between}.pied a{color:#fff}.pied nav{display:flex;flex-wrap:wrap;gap:6px 22px}.pied small{display:block;flex:1 1 100%;color:#a9c2d0;font-size:.88rem}
body.p404{min-height:100svh;display:flex;flex-direction:column}body.p404 main{flex:1}
.vide{background:#fff;border:2px dashed var(--ink);border-radius:18px;padding:26px;text-align:center}
.leaflet-container{font-family:inherit}.mk{background:var(--lime);border:3px solid var(--ink);border-radius:50%}
@media(max-width:600px){body{font-size:16px}.bandeau{height:260px}.wrap{padding:0 16px}.dossard{padding-left:74px}.dossard .n{width:54px;font-size:2rem}}

.chips,.chips li{min-width:0}.chips a{max-width:100%;overflow-wrap:anywhere}.bandeau,.carte{max-width:100%;min-width:0}.texte,.corps{min-width:0;overflow-wrap:anywhere}
.pager{flex-wrap:wrap}
.dossard,.dossard h3,.dossard h3 a,.dossard .ou{min-width:0;overflow-wrap:anywhere;word-break:break-word}.grille{grid-template-columns:repeat(auto-fill,minmax(min(290px,100%),1fr))}.grille li{min-width:0}
/* ===== 30/10 : accueil v2, équipe, carte des adresses ===== */
.s-tete{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:6px 30px;margin-bottom:22px}
.s-tete h2{margin:0}
.s-tete p{margin:0;color:var(--mist);max-width:36em}
.s-tete a{color:var(--pool);font-weight:600}

/* héros */
.hero.hv2{min-height:0;height:min(calc(100svh - var(--hh) - 20px),700px);padding:0;background:linear-gradient(180deg,#fff 0,var(--ice) 100%)}
.hero.hv2>.wrap{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:24px;height:100%}
.piste-fond{position:absolute;right:-18vw;top:50%;width:min(1100px,92vw);aspect-ratio:1;transform:translateY(-50%);border-radius:50%;pointer-events:none;
 background:repeating-radial-gradient(circle at center,transparent 0 62px,rgba(10,126,140,.13) 62px 64px,transparent 64px 72px)}
.hv2 .h-txt{position:relative;z-index:2}
.hv2 h1{max-width:none;font-size:clamp(2.6rem,min(9vh,5.6vw),5.3rem);line-height:.98;margin-bottom:.32em}
.hv2 h1 span{display:block;color:var(--pool)}
.hv2 .lead{margin:0 0 20px;font-size:1.12rem;max-width:33em}
.piste select{flex:0 0 auto;min-width:0;max-width:52%}
.raccourcis{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin:18px 0 0;font-size:.95rem}
.raccourcis span{color:var(--mist)}
.raccourcis a{color:var(--ink);font-weight:600;text-decoration:none;border-bottom:3px solid var(--lime);padding:2px 1px;line-height:1.5}
.raccourcis a:hover{background:var(--lime)}
.garanties{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;padding:0;margin:18px 0 0;font-size:.92rem;color:#27475a}
.garanties li{display:flex;align-items:center;gap:7px}
.garanties svg{width:20px;height:20px;flex:none;fill:none;stroke:var(--pool);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;background:#fff;border:2px solid var(--line);border-radius:50%;padding:2px;box-sizing:content-box}
.h-vis{position:relative;height:100%;display:flex;align-items:center;justify-content:center;z-index:1}
.hv2 .plateau{display:block;width:auto;height:min(560px,calc(100% - 70px));max-width:100%;filter:drop-shadow(0 26px 40px rgba(11,43,60,.18))}
.dos-mini{position:absolute;display:grid;grid-template-columns:auto auto;align-items:baseline;gap:0 10px;padding:12px 18px 12px 16px;background:#fff;border:3px solid var(--ink);border-radius:6px 18px 6px 18px;text-decoration:none;color:var(--ink);box-shadow:0 14px 30px rgba(11,43,60,.18);z-index:3;transition:transform .2s}
.dos-mini:hover{transform:rotate(0) translateY(-3px)!important}
.dos-mini .no{grid-column:1/-1;font:800 1.9rem/1 'Barlow Condensed',sans-serif;background:var(--lime);padding:2px 10px;border-radius:4px;justify-self:start;margin-bottom:6px}
.dos-mini .vi{font:700 1.25rem/1.1 'Barlow Condensed',sans-serif}
.dos-mini .nb{font-size:.85rem;color:var(--mist)}
.dos-mini .ep{position:absolute;top:7px;left:8px;right:8px;height:6px;background:radial-gradient(circle,var(--ink) 2.5px,transparent 3px) left center/12px 6px no-repeat,radial-gradient(circle,var(--ink) 2.5px,transparent 3px) right center/12px 6px no-repeat}
.dos-mini.d1{left:-4%;bottom:12%;transform:rotate(-5deg)}
.dos-mini.d2{right:-2%;top:12%;transform:rotate(4deg)}
.chrono{position:absolute;right:4%;bottom:8%;display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:#fff;font-weight:600;font-size:.88rem;padding:8px 14px 8px 10px;border-radius:999px;z-index:3;box-shadow:0 10px 24px rgba(11,43,60,.25)}
.chrono i{width:10px;height:10px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px rgba(200,240,58,.25)}
.hv2+.arrivee{margin-top:0}
@media(max-width:900px){
 .hero.hv2{height:auto;padding:0 0 26px}
 .hero.hv2>.wrap{grid-template-columns:1fr;gap:0}
 .hv2 .h-vis{order:-1;height:150px;justify-content:flex-end;margin:10px 0 -18px}
 .hv2 .plateau{height:150px;width:150px}
 .hv2 .dos-mini.d1{left:0;bottom:auto;top:26px;padding:8px 12px}
 .hv2 .dos-mini .no{font-size:1.3rem}
 .hv2 .dos-mini .vi{font-size:1.05rem}
 .hv2 .dos-mini.d2,.hv2 .chrono,.piste-fond{display:none}
 .hv2 h1{font-size:2.5rem}
 .hv2 .lead{font-size:1rem;margin-bottom:14px}
 .garanties{display:none}
}

/* tableau d'affichage (chiffres) */
.tableau{background:var(--ink);color:#DCE9F0;padding:56px 0 60px;position:relative;overflow:hidden}
.tableau:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 54px,rgba(255,255,255,.05) 54px 56px);pointer-events:none}
.tableau .wrap{position:relative}
.t-tete{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:6px 24px;margin-bottom:24px}
.t-tete h2{color:#fff;margin:0}
.t-tete p{margin:0;color:#A9C2D0}
.t-grille{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.t-case{background:#12384C;border:2px solid #1E4A60;border-radius:6px 22px 6px 22px;padding:20px 20px 22px;display:flex;flex-direction:column;min-width:0}
.t-case .big{font:800 3.6rem/1 'Barlow Condensed',sans-serif;color:var(--lime);font-variant-numeric:tabular-nums}
.t-case h3{font:600 1rem/1.3 'Public Sans',sans-serif;color:#fff;margin:6px 0 16px}
.split{display:flex;height:14px;border-radius:999px;overflow:hidden;gap:3px;margin-top:2px}
.split i:first-child{background:var(--lime)}
.split i:last-child{background:#5FB8C3}
.leg{font-size:.85rem;margin:10px 0 0;color:#C6D8E2;line-height:1.7}
.leg span{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:0}
.leg .c1{background:var(--lime)} .leg .c2{background:#5FB8C3;margin-left:6px}
.barres{list-style:none;margin:2px 0 0;padding:0;display:grid;gap:6px}
.jauge-ronde+.barres{margin-top:16px}
.jauge-ronde+.barres a{grid-template-columns:112px 1fr 26px}
.barres span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.barres a{display:grid;grid-template-columns:82px 1fr 26px;align-items:center;gap:8px;color:#DCE9F0;text-decoration:none;font-size:.86rem}
.barres a:hover span{color:var(--lime)}
.barres i{height:10px;background:var(--lime);border-radius:999px;display:block}
.barres em{font-style:normal;font-weight:700;text-align:right;color:#fff}
.jauge-ronde{display:flex;align-items:center;gap:14px}
.jauge-ronde svg{width:88px;height:88px;flex:none}
.jauge-ronde p{margin:0;font-size:.88rem;color:#C6D8E2}
.jauge-ronde b{color:#fff}
.mini-specs{list-style:none;margin:2px 0 0;padding:0;display:grid;gap:5px}
.leg+.mini-specs{margin-top:16px}
.mini-specs li{display:flex;justify-content:space-between;gap:10px;font-size:.86rem;border-bottom:1px dashed #2B5A70;padding-bottom:4px}
.mini-specs em{font-style:normal;font-weight:700;color:var(--lime)}
@media(max-width:1060px){.t-grille{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.t-grille{grid-template-columns:1fr}.tableau{padding:40px 0}.t-case .big{font-size:3rem}}

/* spécialités */
.specs{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.specs a{display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto auto;gap:4px 12px;align-items:center;padding:16px 16px 18px;background:#fff;border:2px solid var(--ink);border-radius:6px 20px 6px 20px;text-decoration:none;color:var(--ink);height:100%;box-sizing:border-box;transition:box-shadow .2s,transform .2s}
.specs a:hover{box-shadow:6px 6px 0 var(--lime);transform:translate(-2px,-2px)}
.specs .ic{grid-row:1/3;width:48px;height:48px;border-radius:50%;background:var(--lime);display:grid;place-items:center}
.specs .ic svg{width:26px;height:26px}
.specs b{font:800 2rem/1 'Barlow Condensed',sans-serif}
.specs .nm{font-weight:600;font-size:.95rem;line-height:1.25}
.specs .jauge{grid-column:1/-1;height:8px;background:var(--line);border-radius:999px;margin-top:8px;overflow:hidden}
.specs .jauge i{display:block;height:100%;background:var(--pool);border-radius:999px}

@media(max-width:600px){.specs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.specs a{grid-template-columns:1fr;padding:14px}.specs .ic{grid-row:auto;width:40px;height:40px}}
/* carnet (accueil) */
.ch-grille{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:26px;align-items:stretch}
.ch-news{background:#fff;border:2px solid var(--line);border-radius:6px 22px 6px 22px;padding:18px;display:flex;flex-direction:column}
.ch-news h3{font-size:1.3rem;margin:0 0 10px}
.ch-news ul{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:12px}
.ch-news li{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:center}
.ch-news img{width:96px;height:72px;object-fit:cover;border-radius:4px 12px 4px 12px;display:block}
.ch-news .rub{display:block;font-size:.8rem;color:var(--pool);font-weight:600}
.ch-news a{color:var(--ink);text-decoration:none;font-weight:600;line-height:1.3;font-size:.95rem}
.ch-news a:hover{text-decoration:underline}
.ch-news .btn{margin-top:auto;align-self:flex-start}
.rubs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:200px;gap:14px}
.rubs li.grand{grid-column:span 2}
.rubs li.tout a{background:var(--lime);color:var(--ink);border:3px solid var(--ink);justify-content:center}
.rubs li.tout a:after{content:"";position:absolute;right:16px;top:16px;width:34px;height:34px;border-radius:50%;background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12h12M13 7l5 5-5 5' fill='none' stroke='%23C8F03A' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat}
.rubs li.tout .rn{font-size:1.9rem}
.rubs li.tout .rc{background:var(--ink);color:#fff}
.rubs a{position:relative;display:flex;flex-direction:column;justify-content:flex-end;height:100%;border-radius:6px 22px 6px 22px;overflow:hidden;text-decoration:none;color:#fff;padding:14px 16px;box-sizing:border-box;background:var(--ink)}
.rubs img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.rubs a:hover img{transform:scale(1.05)}
.rubs .voile{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,43,60,0) 30%,rgba(11,43,60,.88) 100%)}
.rubs .rn,.rubs .rc{position:relative}
.rubs .rn{font:700 1.45rem/1.05 'Barlow Condensed',sans-serif}
.rubs li.grand .rn{font-size:2.2rem}
.rubs .rc{display:inline-block;align-self:flex-start;margin-top:6px;background:var(--lime);color:var(--ink);font-weight:700;font-size:.82rem;padding:2px 10px;border-radius:999px}
@media(max-width:980px){.ch-grille{grid-template-columns:1fr}.rubs{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:140px}.rubs li.grand{grid-column:1/-1}}

/* comment lire */
.parcours{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;position:relative}
.parcours:before{content:"";position:absolute;left:28px;right:28px;top:27px;height:8px;border-block:2px solid var(--line);background:repeating-linear-gradient(90deg,var(--line) 0 14px,transparent 14px 26px)}
.parcours li{position:relative}
.parcours .haie{position:relative;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--lime);border:3px solid var(--ink);margin-bottom:12px}
.parcours .haie svg{width:26px;height:26px;fill:none;stroke:var(--ink);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.parcours .pas-n{display:block;font-size:.85rem;font-weight:600;color:var(--pool)}
.parcours h3{margin:2px 0 6px}
.parcours p{margin:0;font-size:.95rem;color:#27475a}
.parcours b{font-family:'Barlow Condensed',sans-serif;font-size:1.25rem;color:var(--ink)}
.entonnoir{position:relative;margin-top:30px;height:46px;background:#E7F0F5;border:2px solid var(--line);border-radius:999px;display:flex;align-items:center;overflow:hidden}
.entonnoir .e2{position:absolute;left:0;top:0;bottom:0;background:var(--lime);border-right:3px solid var(--ink)}
.entonnoir .e1{position:absolute;right:20px;font-weight:600;color:var(--mist);font-size:.92rem}
.entonnoir .e3{position:absolute;left:20px;font:800 1.15rem 'Barlow Condensed',sans-serif;color:var(--ink);padding-left:calc(9% + 4px)}
@media(max-width:860px){.parcours{grid-template-columns:repeat(2,minmax(0,1fr))}.parcours:before{display:none}}
@media(max-width:520px){.parcours{grid-template-columns:1fr}.entonnoir .e1{display:none}}

/* FAQ */
.faq-bloc .wrap{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:30px;align-items:start}
.faq-carte{background:var(--ink);color:#DCE9F0;border-radius:6px 26px 6px 26px;padding:26px;position:relative;overflow:hidden}
.faq-carte:after{content:"";position:absolute;right:-50px;bottom:-50px;width:160px;height:160px;border-radius:50%;border:14px solid rgba(200,240,58,.25)}
.faq-carte h2{color:#fff}
.faq-carte p{margin:0 0 18px}
.btn.cta2{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.btn.cta2:hover{background:#fff;border-color:#fff}
.faq-carte .lien{display:block;margin-top:14px;color:#fff;font-weight:600}
.faq-bloc .faq details{border-radius:6px 16px 6px 16px;padding:0 20px;transition:border-color .2s}
.faq-bloc .faq summary{list-style:none;justify-content:space-between;gap:16px;font:700 1.22rem/1.2 'Barlow Condensed',sans-serif;min-height:60px}
.faq-bloc .faq summary::-webkit-details-marker{display:none}
.faq-bloc .faq summary:after{content:"";flex:none;width:30px;height:30px;border-radius:50%;background:var(--lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6v12M6 12h12' stroke='%230B2B3C' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") center/18px no-repeat;transition:transform .25s}
.faq-bloc .faq details[open] summary:after{transform:rotate(45deg)}
.faq-bloc .faq details p{margin:0 0 18px;color:#27475a}
@media(max-width:860px){.faq-bloc .wrap{grid-template-columns:1fr}}

/* page équipe */
.eq-tete{background:linear-gradient(180deg,#fff,var(--ice));padding:30px 0 40px}
.eq-tete .wrap{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:40px;align-items:end}
.eq-tete .lead{font-size:1.15rem;max-width:36em;color:#27475a;margin:0}
.eq-chiffres{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.eq-chiffres li{display:flex;align-items:center;gap:14px;background:#fff;border:2px solid var(--ink);border-radius:6px 18px 6px 18px;padding:10px 16px;font-weight:600}
.eq-chiffres b{font:800 2rem/1 'Barlow Condensed',sans-serif;background:var(--lime);padding:2px 10px;border-radius:4px;min-width:74px;text-align:center}
.eq-liste{display:grid;gap:56px;padding:56px 22px 40px}
.membre{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:48px;align-items:start}
.membre.inv{grid-template-columns:minmax(0,1fr) minmax(0,400px)}
.membre.inv .m-photo{order:2}
.m-photo{position:relative;margin:0 18px 18px 0}
.m-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:6px 34px 6px 34px;border:3px solid var(--ink);box-shadow:18px 18px 0 var(--lime)}
.m-dos{position:absolute;left:-12px;bottom:28px;background:#fff;border:3px solid var(--ink);border-radius:4px 12px 4px 12px;font:800 1.6rem/1 'Barlow Condensed',sans-serif;padding:8px 14px;transform:rotate(-4deg);box-shadow:0 10px 24px rgba(11,43,60,.2)}
.m-txt h2{font-size:clamp(2.2rem,3.6vw,3rem);margin-bottom:.1em}
.m-role{display:inline-block;margin:0 0 14px;font-weight:600;color:var(--pool)}
.m-bio{font-size:1.06rem;margin:0 0 22px;max-width:40em}
.m-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-bottom:22px}
.m-fait,.m-rubs{background:#fff;border:2px solid var(--line);border-radius:6px 18px 6px 18px;padding:16px 18px}
.m-txt h3{font-size:1.25rem;margin:0 0 10px}
.m-fait ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.m-fait li{position:relative;padding-left:26px;font-size:.95rem}
.m-fait li:before{content:"";position:absolute;left:0;top:5px;width:14px;height:14px;border-radius:50%;background:var(--lime);border:2px solid var(--ink)}
.m-pas{margin:12px 0 0;font-size:.88rem;color:var(--mist);border-top:1px dashed var(--line);padding-top:10px}
.m-rubs ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.m-rubs a{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:2px 10px;text-decoration:none;color:var(--ink);font-size:.92rem;font-weight:600}
.m-rubs a i{grid-column:1;height:8px;background:var(--pool);border-radius:999px}
.m-rubs a em{grid-column:2;grid-row:1/3;align-self:center;text-align:right;font-style:normal;font:800 1.2rem 'Barlow Condensed',sans-serif}
.m-rubs a:hover span{text-decoration:underline}
.m-recents{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.m-recents a{display:block;text-decoration:none;color:var(--ink);font-weight:600;font-size:.92rem;line-height:1.3;background:#fff;border:2px solid var(--line);border-radius:6px 16px 6px 16px;overflow:hidden;height:100%}
.m-recents a:hover{border-color:var(--ink)}
.m-recents img{display:block;width:100%;height:110px;object-fit:cover}
.m-recents span{display:block;padding:10px 12px}
.m-tous{columns:2;column-gap:28px;margin:14px 0 0;padding:16px 18px 16px 34px;background:#fff;border:2px solid var(--line);border-radius:6px 16px 6px 16px;font-size:.92rem}
.m-tous li{break-inside:avoid;margin-bottom:6px}
.m-tous a{color:var(--ink)}
.regles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.regles li{background:var(--ice);border:2px solid var(--line);border-radius:6px 20px 6px 20px;padding:18px}
.regles .ic{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--lime);border:2px solid var(--ink);margin-bottom:10px}
.regles svg{width:22px;height:22px;fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.regles h3{font-size:1.3rem;margin:0 0 6px}
.regles p{margin:0;font-size:.93rem;color:#27475a}
.eq-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:26px;padding:20px 24px;background:var(--ink);border-radius:6px 22px 6px 22px;color:#fff}
.eq-cta p{margin:0 auto 0 0;font-weight:600;font-size:1.05rem}
.eq-cta .btn.ghost{color:#fff;border-color:#fff}
.eq-cta .btn.ghost:hover{background:#fff;color:var(--ink)}
@media(max-width:980px){.eq-tete .wrap,.membre,.membre.inv{grid-template-columns:1fr}.membre.inv .m-photo{order:0}.m-photo{max-width:340px}.regles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.m-cols,.m-recents{grid-template-columns:1fr}.m-recents img{height:150px}.m-tous{columns:1}.regles{grid-template-columns:1fr}.eq-liste{padding:36px 16px 20px;gap:44px}.eq-cta p{flex:1 1 100%}}

/* page Les adresses : carte interactive */
.hub-tete{background:linear-gradient(180deg,#fff,var(--ice));padding:26px 0 30px;border-bottom:2px solid var(--line)}
.hub-tete>.wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:34px;align-items:center}
.hub-tete .piste select{flex:0 0 205px;max-width:none}
.hub-tete h1{font-size:clamp(2.4rem,4.4vw,3.8rem)}
.hub-tete .lead{margin:0 0 18px;color:#27475a;font-size:1.08rem}
.legende{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:6px;font-size:.9rem;color:#27475a}
.legende li{display:flex;align-items:center;gap:10px}
.legende span{display:inline-block;flex:none}
.lg-v{width:16px;height:16px;border-radius:50%;background:var(--lime);border:2px solid var(--ink)}
.lg-l{width:7px;height:7px;border-radius:50%;background:var(--pool);margin:0 5px}
.lg-d{width:20px;height:14px;background:#E7F0F5;border:1.5px solid #9DB5C3;border-radius:3px}
.ht-carte{position:relative;background:#fff;border:2px solid var(--ink);border-radius:8px 34px 8px 34px;padding:14px;box-shadow:16px 16px 0 var(--lime)}
.ht-carte svg{display:block;width:100%;height:auto;max-height:min(600px,calc(100svh - 170px))}
.ht-carte .dep{fill:#E7F0F5;stroke:#fff;stroke-width:.8;vector-effect:non-scaling-stroke;transition:fill .15s}
.ht-carte .dep.vide{fill:#F4F7F9}
.ht-carte .dep-l:hover .dep,.ht-carte .dep-l:focus .dep,.ht-carte .dep-l.on .dep{fill:#BFE3E7}
.ht-carte .dep-l:focus{outline:none}
.ht-carte .lieux{fill:none;stroke:var(--pool);stroke-width:3.2px;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none;opacity:.75}
.ht-carte .vil.on .pt,.ht-carte .vil:hover .pt,.ht-carte .vil:focus .pt{fill:var(--red)}
.ht-carte .lab{font:700 13px 'Barlow Condensed',sans-serif;fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:4px;pointer-events:none}
.info-carte{position:absolute;left:0;top:0;z-index:5;pointer-events:none;background:var(--ink);color:#fff;border-radius:6px 14px 6px 14px;padding:9px 14px;display:grid;gap:1px;min-width:140px;box-shadow:0 10px 24px rgba(11,43,60,.28)}
.info-carte[hidden]{display:none}
.info-carte b{font:700 1.15rem/1.1 'Barlow Condensed',sans-serif}
.info-carte span{font-size:.88rem;color:var(--lime);font-weight:600}
.info-carte em{font-style:normal;font-size:.78rem;color:#A9C2D0}
.hub-part{margin-top:44px}
.hub-part .sous{margin:-6px 0 6px;color:var(--mist)}
.chips.deps b{font-family:'Barlow Condensed',sans-serif;font-weight:800;color:var(--pool);margin-right:4px}
@media(max-width:900px){.hub-tete>.wrap{grid-template-columns:1fr;gap:22px}.ht-carte{box-shadow:10px 10px 0 var(--lime);margin-right:10px}}
@media(max-width:900px){.piste select,.hub-tete .piste select{flex:1 1 100%;max-width:none}}
/* contraste et fiche auteur (sortie 30/10) */
.entonnoir .e1{color:#3E5868}
.m-arts .btn.m-fiche{margin-right:8px}
.au-tete{padding-bottom:30px}
.au-liste{padding-top:44px}
.au-cartes .rub{display:block;font-size:.8rem;font-weight:600;color:var(--pool);margin-bottom:2px}
.au-cartes{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.au-cartes img{height:150px}
@media(max-width:600px){.au-cartes{grid-template-columns:1fr;gap:10px}.au-cartes li{display:grid;grid-template-columns:96px 1fr;align-items:center}.au-cartes img{height:84px;width:96px}.au-cartes div{padding:8px 12px}.au-cartes h3{font-size:1.05rem}}
