html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}*,*:before,*:after{box-sizing:border-box}:root{--header-h: 8rem;--bord-crayon: calc(100vw * 640 / 2760)}html{scroll-padding-top:var(--header-h)}body{margin:0;font-family:Nunito,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-user-select:none;user-select:none;line-height:1.5;color:#16161a;background:transparent}img,svg{display:block;max-width:100%;height:auto}.wrap{max-width:64rem;margin-inline:auto;padding:2rem 1rem}section{border-bottom:1px solid rgba(128,128,128,.3)}nav a{margin-right:1rem}:root{--jauge-haut: 1.5rem;--jauge-bas: 1.5rem;--jauge-droite: 1.25rem;--jauge-pastille: 22px}.jauge,.jauge-pastille{position:fixed;top:var(--jauge-haut);bottom:var(--jauge-bas);z-index:50;pointer-events:none}.jauge{right:var(--jauge-droite);width:2px;background:#16161a;box-shadow:0 0 0 1px #ffffff8c}.jauge-pastille{right:calc(var(--jauge-droite) + 1px - var(--jauge-pastille) / 2);width:var(--jauge-pastille);pointer-events:auto;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.jauge-pastille.est-saisie{cursor:grabbing}.jauge-pastille:before{content:"";position:absolute;top:calc(var(--progression, 0) * 100%);width:100%;aspect-ratio:96 / 104;translate:0 -50%;background:url(/martinique-trail-tour/ui/pastille.png) center / contain no-repeat}html{scrollbar-width:none}html::-webkit-scrollbar{width:0;height:0}.header{position:fixed;inset:0 0 auto;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--header-h);padding:.5rem 1rem;padding-right:calc(1rem + var(--scrollbar, 0px));background:transparent}.header__brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:inherit}.header:before{content:"";position:absolute;top:-4rem;left:-4rem;width:18rem;aspect-ratio:1000 / 853;z-index:-1;background:url(/martinique-trail-tour/logo/tache.png) center / contain no-repeat;pointer-events:none}.header__brand{position:relative;margin-top:1rem;color:#fff}.logo{display:flex;flex-direction:column;align-items:center;gap:.12em;font-size:2.1rem}.logo__martinique{width:3.6em;aspect-ratio:603 / 94;background:currentColor;-webkit-mask:url(/martinique-trail-tour/logo/martinique.png) center / contain no-repeat;mask:url(/martinique-trail-tour/logo/martinique.png) center / contain no-repeat}.logo__trail{width:3em;aspect-ratio:485 / 340;background:url(/martinique-trail-tour/logo/trail-tour-poses.png) 0 0 / 600% 100% no-repeat;animation:logo-vibre .6s steps(6,end) infinite}.logo--blanc .logo__trail{background:currentColor;-webkit-mask:url(/martinique-trail-tour/logo/trail-tour.svg) center / contain no-repeat;mask:url(/martinique-trail-tour/logo/trail-tour.svg) center / contain no-repeat;animation:none}@keyframes logo-vibre{0%{background-position-x:0%}to{background-position-x:120%}}@media(prefers-reduced-motion:reduce){.logo__trail{animation:none}}.header__nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.25rem 1rem;font-size:.9rem;font-weight:600}.header__nav a{margin:0;text-decoration:none}.header__nav a:hover,.header__nav a:focus-visible{text-decoration:underline}.pile{position:relative;--attente-avant: 120svh;--attente-apres: 140svh}.pile>.hero,.pile>.tour{position:sticky;top:0;height:100svh}.pile>.tour{height:calc(100svh + var(--bord-crayon) * .75)}.hero{z-index:1}.tour{z-index:2}.pile__attente{height:calc(var(--attente-avant) + var(--attente-apres))}.pile--trans{--chevauchement: 40svh;--attente-avant: 25svh;--attente-apres: 330svh}.pile--trans>.courses{position:sticky;top:calc(100svh - var(--reveal-fond-hauteur, 100svh))}.pile--trans>.trans{position:sticky;top:0;margin-top:calc(-100svh - var(--chevauchement))}.sans-animation .pile--trans>.courses{position:relative}.sans-animation .pile--trans>.trans{position:relative;margin-top:0}.sans-animation .pile--trans>.pile__attente{display:none}body{background:#f1f5cf}section[data-theme=sombre]{color:#fff}section[data-theme=clair]{color:#16161a}a{color:inherit}.hero{position:relative;display:flex;align-items:center;overflow:hidden;color:#fff;background:#1c3a12}.hero__fond{position:absolute;inset:0;overflow:hidden;background:url(/martinique-trail-tour/hero/depart-poster.jpg) center / cover no-repeat;transform-origin:center;will-change:transform}.hero__canvas,.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero>.wrap{position:relative}.hero>.wrap{padding-top:calc(var(--header-h) + 1rem);will-change:opacity}.btn-scroll{position:absolute;left:50%;bottom:clamp(1.5rem,5vh,3rem);display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.8rem .8rem;background:url(/martinique-trail-tour/ui/bouton-scroll.png) center / 100% 100% no-repeat;color:#fff;font-size:1.5rem;line-height:1;text-decoration:none;transform:translate(-50%) rotate(-4deg);transition:transform .35s cubic-bezier(.22,1,.36,1),background .25s}.btn-scroll:hover,.btn-scroll:focus-visible{transform:translate(-50%) rotate(2deg) scale(1.06)}.btn-scroll__fleche{animation:btn-scroll-rebond 1.4s ease-in-out infinite}@keyframes btn-scroll-rebond{0%,to{transform:translateY(-3px)}50%{transform:translateY(3px)}}@media(prefers-reduced-motion:reduce){.btn-scroll__fleche{animation:none}}[data-reveal]{--reveal-col: -1;--reveal-row: -1;--reveal-largeur: 100vw;--reveal-hauteur: 100svh;--reveal-taille: max(var(--reveal-largeur), var(--reveal-hauteur));--reveal-grille: 4}.tour{color:#16161a}[data-reveal-section]{margin-top:-100svh;pointer-events:none;clip-path:inset(0);-webkit-mask-image:url(/martinique-trail-tour/tour/planche-pinceau.png);mask-image:url(/martinique-trail-tour/tour/planche-pinceau.png);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--reveal-taille) * var(--reveal-grille)) calc(var(--reveal-taille) * var(--reveal-grille));mask-size:calc(var(--reveal-taille) * var(--reveal-grille)) calc(var(--reveal-taille) * var(--reveal-grille));-webkit-mask-position:calc((var(--reveal-largeur) - var(--reveal-taille)) / 2 - var(--reveal-col) * var(--reveal-taille)) calc((var(--reveal-hauteur) - var(--reveal-taille)) / 2 - var(--reveal-row) * var(--reveal-taille));mask-position:calc((var(--reveal-largeur) - var(--reveal-taille)) / 2 - var(--reveal-col) * var(--reveal-taille)) calc((var(--reveal-hauteur) - var(--reveal-taille)) / 2 - var(--reveal-row) * var(--reveal-taille))}.tour:before{content:"";position:fixed;inset:0 var(--scrollbar, 0px) 0 0;z-index:-1;background:linear-gradient(-140deg,#e3ebb0,#f1f5cf 45%,#fff)}.tour>.wrap{max-width:none;height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:calc(var(--header-h) + .5rem);text-align:center}.tour__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;max-width:56rem;margin:2.5rem auto 0;padding:0;list-style:none}.stat{display:flex;flex-direction:column;align-items:center;gap:.2em}.stat__value{font-size:min(max(2.2rem,4.5vw),4.5rem,8svh);line-height:1;color:#e6469a}.stat__label{font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}@media(max-width:640px){.tour__stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.tour__duo{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3rem}.logo--grand{font-size:min(max(2.5rem,7vw),7rem,11svh);justify-self:end;margin-bottom:2em}.tour__title{font-size:min(max(2.8rem,1.2rem + 7vw),8rem,13svh);line-height:.58;margin:.9em 0 .5em;justify-self:start;text-align:center}.tour__title .titre__ligne{justify-content:center}.tour__title-untour{font-size:.6em}.tour__title-departs{transform:rotate(-6deg);transform-origin:center}.cercle{position:relative;display:inline-block;font-size:2em;line-height:.6}.cercle:after{content:"";position:absolute;inset:-.42em -.5em -.38em -.55em;z-index:-1;pointer-events:none;background:url(/martinique-trail-tour/tour/cercle-crayon.png) 0 0 / 1000% 100% no-repeat;background-position-x:-200%}.est-revelee .cercle:after{animation:cercle-trace .4s steps(4,end) forwards,cercle-boil .6s steps(6,end) .4s infinite}.a-ete-revelee:not(.est-revelee) .cercle:after{animation:cercle-retrace .4s steps(4,end) forwards}@keyframes cercle-retrace{0%{background-position-x:33.333%}to{background-position-x:-11.111%}}@keyframes cercle-trace{0%{background-position-x:0%}to{background-position-x:44.444%}}@keyframes cercle-boil{0%{background-position-x:44.444%}to{background-position-x:111.111%}}.sans-animation .cercle:after{background-position-x:44.444%}.est-revelee>[data-reveal-section],.sans-animation [data-reveal-section]{-webkit-mask-image:none;mask-image:none;pointer-events:auto}.courses{z-index:4;padding-top:calc(var(--bord-crayon) * .6);padding-bottom:50svh;background:#16161a}.courses__list{display:grid;grid-template-columns:1fr;gap:1.25rem;margin:2rem 0 0;padding:0;list-style:none}@media(min-width:600px){.courses__list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:900px){.courses__list{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}}.course{position:relative;display:flex;flex-direction:column;min-height:16rem;padding:1.5rem;border-radius:1rem;background:#f1f5cf;color:#16161a}.course__mois{margin:0;font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#555}.course__badge{position:absolute;top:1.25rem;right:1.25rem;padding:.2rem .6rem;border-radius:999px;background:#16161a;color:#f1f5cf;font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.course__nom{margin:1.5rem 0 0;font-size:1.6rem}.course__nom .titre__mot{animation:none}.course__lieu{margin:.35rem 0 0;font-size:.9rem;color:#555}.course__specs{display:flex;gap:1.5rem;margin:auto 0 0;padding-top:1rem;border-top:1px solid rgba(22,22,26,.15)}.course__specs div{display:block}.course__specs dt{font-size:.65rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#555}.course__specs dd{font-size:1.1rem;font-weight:600}.course__lien{margin-top:1rem;padding:0;border:0;background:none;font:inherit;font-weight:600;text-align:left;text-decoration:underline;text-underline-offset:.25em;cursor:pointer}.course__lien:after{content:"";position:absolute;inset:0;border-radius:inherit}.course--ultra{background:#1f2a6b;color:#f1f5cf}.course--ultra .course__mois,.course--ultra .course__lieu,.course--ultra .course__specs dt{color:#f1f5cfa6}.course--ultra .course__specs{border-top-color:#f1f5cf33}.course--ultra .course__badge{background:#e8ff3c;color:#16161a}@media(min-width:900px){.course--ultra{grid-column:1 / -1}}.bord-crayon{position:relative;margin-top:calc(-1 * var(--bord-crayon));-webkit-mask:url(/martinique-trail-tour/tour/bord-crayon.png) top left / 100% auto no-repeat,linear-gradient(#000,#000) 0 calc(var(--bord-crayon) - 3rem) / 100% calc(100% - var(--bord-crayon) + 3rem) no-repeat;mask:url(/martinique-trail-tour/tour/bord-crayon.png) top left / 100% auto no-repeat,linear-gradient(#000,#000) 0 calc(var(--bord-crayon) - 3rem) / 100% calc(100% - var(--bord-crayon) + 3rem) no-repeat}.ambiance{z-index:3;height:500vh;padding-bottom:var(--bord-crayon);clip-path:inset(0)}.ambiance__fonds{position:fixed;inset:0 var(--scrollbar, 0px) 0 0;z-index:-1;background:#6a1030;transform:scale(var(--ambiance-zoom, 1));transform-origin:center;will-change:transform}.ambiance__fond{position:absolute;inset:0;background:center / cover no-repeat;visibility:hidden}.ambiance__fond--visible{visibility:visible}.ambiance__fond--fond{background-image:url(/martinique-trail-tour/ambiance/fond.jpg)}.ambiance__fond--couleurs{background-image:url(/martinique-trail-tour/ambiance/couleurs.jpg)}.ambiance__fond--fete{background-image:url(/martinique-trail-tour/ambiance/fete.jpg)}.ambiance__fond--nuit{background-image:url(/martinique-trail-tour/ambiance/nuit.jpg)}.ambiance__explosions{position:fixed;inset:0 var(--scrollbar, 0px) 0 0;z-index:1;pointer-events:none}.explosions-clic{position:fixed;inset:0;z-index:60;pointer-events:none}.explosions-clic:popover-open{width:auto;height:auto;margin:0;padding:0;border:0;background:transparent;overflow:hidden}.explosion{position:absolute;left:var(--x);top:var(--y);width:var(--taille);aspect-ratio:1;translate:-50% -50%;background:url(/martinique-trail-tour/ui/explosion-sprite.png) 0 0 / 1000% 100% no-repeat;visibility:hidden}.explosion--boum{visibility:visible;animation:explosion .6s steps(9) forwards}@keyframes explosion{to{background-position:100% 0}}.trans{z-index:5;height:100svh;display:flex;flex-direction:column;padding-top:var(--header-h);background:linear-gradient(-140deg,#e8ff3c,#e6469a)}.trans>.wrap{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;width:100%;max-width:76rem;padding-block:1rem 1.5rem}.trans__entete{max-width:44rem}.trans .section-title{margin:0 0 .3em;font-size:min(clamp(2.4rem,1.2rem + 3.4vw,4.4rem),8svh)}.trans__entete .section-lead{margin-bottom:0}.trans__grid{flex:0 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"carte specs" "carte profil";align-items:start;column-gap:2.5rem;row-gap:1.25rem;margin-top:1.5rem}.trans__map{grid-area:carte;align-self:stretch;min-height:0;margin:0}.trans__specs{grid-area:specs;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1rem;margin:0}.trans__profile{grid-area:profil;margin:0}@media(max-width:900px){.trans{height:auto;min-height:100svh}.trans__grid{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-template-areas:"specs" "carte" "profil"}.trans__map{width:100%;max-width:26rem;margin-inline:auto}.trans__map svg{height:auto}}.spec{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:.15em}.spec dt{font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.spec dd{margin:0;font-size:min(clamp(2.2rem,1rem + 2.8vw,3.6rem),5.5svh);white-space:nowrap}.trans__map svg,.trans__profile svg{width:100%;height:auto;overflow:visible}.trans__map svg{height:100%}.trans__profile svg{max-height:30svh}.trans figcaption{margin-top:.5rem;font-size:.8rem;font-weight:600;letter-spacing:.06em}.trans__ombre{fill:#16161a59}.trans__ile{fill:#f1f5cf;stroke:#16161a;stroke-width:3;stroke-linejoin:round}.trans__route{fill:none;stroke:#e6469a;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round}.trans__ravitos circle{fill:#16161a}.trans__ville{fill:#f1f5cf;stroke:#16161a;stroke-width:2}.trans__sommet path{fill:#16161a}.trans__etape circle{fill:#16161a;stroke:#f1f5cf;stroke-width:3}.trans__etape--base circle{fill:#f1f5cf;stroke:#16161a}.trans__nom{font-size:20px;fill:#16161a;paint-order:stroke;stroke:#f1f5cf;stroke-width:5;stroke-linejoin:round}.trans__repere{font-family:inherit;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;fill:#16161a;paint-order:stroke;stroke:#f1f5cf;stroke-width:4;stroke-linejoin:round}.trans__repere--alt{font-weight:600;letter-spacing:.04em;text-transform:none}.trans__ligne{fill:none;stroke:#16161a;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}.trans__axe line{stroke:#16161a;stroke-width:2}.trans__axe text{font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.06em;fill:#16161a}.trans__profile .trans__ravitos circle{fill:#e6469a;stroke:#16161a;stroke-width:2}.trans__profile .trans__etape line{stroke:#16161a;stroke-width:2;stroke-dasharray:2 5;stroke-linecap:round}.trans__profile .trans__etape circle{fill:#e6469a;stroke:#16161a;stroke-width:3}.trans__profile .trans__nom,.trans__profile .trans__repere,.trans__profile .trans__sommet .trans__repere{stroke:none}.trans__profile .trans__nom{font-size:18px}.arrivee{background:#f6b8cc}.titre{font-family:chantal,Comic Sans MS,cursive;font-weight:500;text-transform:uppercase;line-height:1}.titre__mot{display:inline-block;animation:var(--boil-nom, titre-boil-a) var(--boil-duree, 1.4s) steps(1,end) infinite;animation-delay:var(--boil-delai, 0s)}.titre__mot--moyen{font-size:.72em;position:relative;bottom:.3em}.titre__mot--petit{font-size:.5em;position:relative;bottom:.55em}.titre__mot--petit+.titre__mot--petit{margin-left:-.1em}.titre__ligne{display:flex;align-items:baseline;gap:.22em}.hero__title{display:inline-block;font-size:clamp(2.6rem,1rem + 6vw,7rem);line-height:.82;letter-spacing:-.01em;transform:rotate(-9deg);transform-origin:center;margin:.8em 0 1.2em .4em}.hero__title .titre__ligne:nth-child(2){padding-left:.7em}.hero__title .titre__ligne:nth-child(3){padding-left:.45em}.titre__ligne--large{font-size:.9em}@keyframes titre-boil-a{0%{transform:translate(0) rotate(0)}12.5%{transform:translate(1.6px,-.8px) rotate(.9deg)}25%{transform:translate(-.4px,1.4px) rotate(-.3deg)}37.5%{transform:translate(-1.5px,-.5px) rotate(-1deg)}50%{transform:translate(.7px,1.2px) rotate(.4deg)}62.5%{transform:translate(1.2px,.3px) rotate(-.6deg)}75%{transform:translate(-.9px,-1.3px) rotate(.7deg)}87.5%{transform:translate(.2px,.9px) rotate(-.2deg)}}@keyframes titre-boil-b{0%{transform:translate(-1.2px,.6px) rotate(-.5deg)}12.5%{transform:translate(.3px,-1.5px) rotate(.2deg)}25%{transform:translate(1.4px,.8px) rotate(.8deg)}37.5%{transform:translate(-.6px,-.2px) rotate(-.9deg)}50%{transform:translate(-1.6px,1.1px) rotate(.3deg)}62.5%{transform:translate(.9px,-.9px) rotate(-.4deg)}75%{transform:translate(.1px,1.5px) rotate(1deg)}87.5%{transform:translate(-.8px,-1.1px) rotate(-.1deg)}}@keyframes titre-boil-c{0%{transform:translate(.8px,1.3px) rotate(.6deg)}12.5%{transform:translate(-1.4px,.2px) rotate(-.8deg)}25%{transform:translate(.5px,-1.2px) rotate(.1deg)}37.5%{transform:translate(1.5px,.7px) rotate(-.5deg)}50%{transform:translate(-.3px,-.6px) rotate(.9deg)}62.5%{transform:translate(-1.1px,1.5px) rotate(-.2deg)}75%{transform:translate(1px,-.4px) rotate(.5deg)}87.5%{transform:translate(-.5px,.4px) rotate(-1deg)}}@media(prefers-reduced-motion:reduce){.titre__mot{animation:none}}.panneau{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;overflow:hidden;--fond: transparent;background:transparent;color:inherit}.panneau::backdrop{background:transparent}.panneau__fond{position:absolute;inset:0;background:#16161a80}.panneau__inner{position:absolute;inset:0 0 0 auto;width:min(100%,28rem);overflow-y:auto;padding:2rem 1.5rem;background:#fff;color:#16161a;box-shadow:-8px 0 32px #16161a33}.panneau__fermer{position:absolute;top:1rem;right:1rem;width:2.5rem;height:2.5rem;border:1px solid currentColor;border-radius:50%;background:transparent;font-size:1.5rem;line-height:1;cursor:pointer}.panneau__mois{margin:0;text-transform:uppercase;font-size:.8rem;letter-spacing:.1em;color:#555}.panneau__titre{margin:.25rem 0 0}.panneau__lieu{margin:.25rem 0 1.5rem;color:#555}.panneau__specs{display:flex;gap:2rem;margin:0 0 1.5rem;padding:1rem 0;border-block:1px solid #ddd}.panneau__specs div{display:block}.panneau__resume{margin:0 0 2rem}.panneau-ouvert{overflow:hidden;padding-right:var(--scrollbar, 0px)}html.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:visible}
