/* Raid Motoneige Canada — feuille de style unique */
@font-face{font-family:"Barlow Condensed";font-weight:600;font-style:normal;font-display:swap;src:url(/assets/fonts/bc-600.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:700;font-style:normal;font-display:swap;src:url(/assets/fonts/bc-700.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:800;font-style:normal;font-display:swap;src:url(/assets/fonts/bc-800.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/ss-400.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:600;font-style:normal;font-display:swap;src:url(/assets/fonts/ss-600.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:700;font-style:normal;font-display:swap;src:url(/assets/fonts/ss-700.woff2) format("woff2")}

:root{
  --nuit:#0a1626;
  --nuit-2:#12263f;
  --nuit-3:#1c3555;
  --glace:#0054a4;
  --glace-fonce:#003d7a;
  --glace-clair:#8dbbf7;
  --givre:#e2edf9;
  --neige:#f5f9fd;
  --blanc:#ffffff;
  --encre:#102036;
  --gris:#4d6078;
  --trait:#cfdcea;
  --braise:#d9772b;
  --f-display:"Barlow Condensed","Arial Narrow",Impact,sans-serif;
  --f-text:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --r:10px;
  --w:1160px;
  --gut:20px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--f-text);font-size:1.0625rem;line-height:1.62;color:var(--encre);background:var(--neige)}
img{max-width:100%;height:auto;display:block}
a{color:var(--glace);text-underline-offset:.18em}
a:hover{color:var(--glace-fonce)}
:focus-visible{outline:3px solid var(--braise);outline-offset:2px;border-radius:3px}
.wrap{width:100%;max-width:var(--w);margin:0 auto;padding:0 var(--gut)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;background:var(--blanc);color:var(--encre);padding:.6rem 1rem;z-index:99;border-radius:6px}
.skip:focus{top:12px}

h1,h2,h3,h4{font-family:var(--f-display);font-weight:800;text-transform:uppercase;letter-spacing:.012em;line-height:1.02;margin:0 0 .5em;color:var(--nuit);text-wrap:balance}
h1{font-size:clamp(2.5rem,7.4vw,5rem)}
h2{font-size:clamp(2rem,4.6vw,3.1rem)}
h3{font-size:clamp(1.35rem,2.4vw,1.7rem);font-weight:700}
h4{font-size:1.15rem;font-weight:700;letter-spacing:.04em}
p{margin:0 0 1em}
.lead{font-size:1.2rem;color:var(--gris);max-width:62ch}
.eyebrow{font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.95rem;color:var(--glace);margin:0 0 .6rem;display:flex;align-items:center;gap:.6rem}
.eyebrow::before{content:"";width:28px;height:0;border-top:3px dotted var(--braise)}
.dark .eyebrow{color:var(--glace-clair)}
.num{font-variant-numeric:tabular-nums}

/* En-tête (style du site actuel : fond blanc, grand logo, nav noire à séparateurs) */
.top{background:var(--blanc);color:var(--encre);position:relative;z-index:50;border-bottom:1px solid var(--trait)}
.hd{display:flex;align-items:center;gap:1.4rem;min-height:84px;padding-block:.6rem}
.hd{position:relative}
.brand{display:block;position:absolute;left:var(--gut);top:6px;z-index:70}
.brand img{width:112px;height:auto;filter:drop-shadow(0 6px 10px rgba(10,22,38,.4))}
.hd-r{display:none}
.hd-row{display:flex;align-items:center;justify-content:flex-end;gap:1.2rem;flex-wrap:wrap}
.tagline{margin:0;font-weight:700;font-size:clamp(1.15rem,2.2vw,1.65rem);color:#333;letter-spacing:-.005em}
.hd-tools{display:flex;align-items:center;gap:1rem}
.tel{color:var(--glace);text-decoration:none;font-weight:700;white-space:nowrap}
.tel:hover{color:var(--glace-fonce);text-decoration:underline}
.soc{display:flex;gap:.5rem}
.soc a{width:28px;height:28px;border-radius:50%;background:var(--glace);display:grid;place-items:center;transition:background .15s}
.soc a:hover{background:var(--glace-fonce)}
.nav ul{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-wrap:nowrap;justify-content:flex-end;align-items:center}
.nav>ul>li{position:relative;display:flex;align-items:center}
.nav>ul>li+li::before{content:"";width:1px;height:1.1em;background:#000;margin:0 .6rem;opacity:.55}
.nav a{white-space:nowrap;color:#000;text-decoration:none;font-size:1.05rem;padding:.4rem 0;border-bottom:3px solid transparent}
.nav a:hover,.nav a[aria-current=page]{color:var(--glace);border-bottom-color:var(--glace)}
.sub-t{background:none;border:0;color:#000;font-size:.9rem;cursor:pointer;padding:.3rem .25rem}
.has-sub .sub{display:none;position:absolute;left:0;top:100%;min-width:290px;margin:0;padding:.4rem 0;background:var(--blanc);border:1px solid var(--trait);border-top:3px solid var(--glace);border-radius:0 0 var(--r) var(--r);box-shadow:0 18px 30px -12px rgba(10,22,38,.3);z-index:60;flex-direction:column;align-items:stretch}
.has-sub:hover .sub,.has-sub:focus-within .sub,.has-sub.open .sub{display:flex}
.sub li{display:block}
.sub a{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 1rem;font-size:1.05rem;border-bottom:0}
.sub a small{color:var(--gris);font-size:.88rem;align-self:center}
.sub a:hover{background:var(--givre);color:var(--glace-fonce)}
.burger{margin-left:auto;background:var(--blanc);border:1.5px solid var(--glace);color:var(--glace);border-radius:8px;padding:.5rem .9rem;font:700 .98rem var(--f-text);cursor:pointer}
.menu{display:none;background:var(--neige);border-top:1px solid var(--trait)}
.menu.open{display:block}
.menu ul{list-style:none;margin:0;padding:.4rem 0 1rem}
.menu a{display:block;color:var(--encre);text-decoration:none;padding:.8rem 0;border-bottom:1px solid var(--trait);font-weight:600}
.menu .sub a{padding-left:1rem;font-weight:400;color:var(--gris)}
@media(min-width:1200px){.nav a{font-size:1.2rem}.nav>ul>li+li::before{margin:0 .85rem}}
@media(min-width:1000px){
  .hd{min-height:122px;align-items:flex-start;padding-top:.7rem}
  .brand{top:8px}
  .brand img{width:210px}
  .hd-r{padding-top:.4rem;max-width:calc(100% - 240px)}
  .hd-r{display:block;margin-left:auto;text-align:right}
  .burger,.menu{display:none!important}
}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:700 1.02rem var(--f-text);padding:.85rem 1.4rem;border-radius:8px;border:2px solid var(--glace);background:var(--glace);color:var(--blanc);text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,transform .15s;min-height:48px}
.btn:hover{background:var(--glace-fonce);border-color:var(--glace-fonce);color:var(--blanc)}
.btn.ghost{background:transparent;color:var(--blanc);border-color:rgba(255,255,255,.6)}
.btn.ghost:hover{background:rgba(255,255,255,.12);border-color:#fff}
.btn.line{background:transparent;color:var(--glace);}
.btn.line:hover{background:var(--glace);color:#fff}
.btns{display:flex;flex-wrap:wrap;gap:.8rem}

/* Hero */
.hero{position:relative;background:var(--nuit);color:var(--blanc);isolation:isolate;overflow:hidden}
.hero>picture,.hero>picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 35%;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,22,38,.86) 0%,rgba(10,22,38,.58) 38%,rgba(10,22,38,.22) 75%),linear-gradient(0deg,rgba(10,22,38,.55) 0%,rgba(10,22,38,0) 40%),rgba(10,22,38,.2)}
.hero .wrap{padding-top:clamp(3.5rem,10vw,7.5rem);padding-bottom:clamp(3rem,7vw,5rem)}
.hero h1{color:var(--blanc);max-width:15ch}
.hero .lead{color:#d3e2f4;max-width:56ch;font-size:1.22rem}
.hero.small .wrap{padding-top:clamp(3rem,7vw,5.5rem);padding-bottom:clamp(2.5rem,5vw,4rem)}
.hero.small h1{font-size:clamp(2.4rem,6vw,4.2rem);max-width:20ch}
.crumbs{font-size:.92rem;margin:0 0 1.2rem;color:#b4c8e0}
.crumbs a{color:#d3e2f4}
.crumbs span[aria-hidden]{margin:0 .4rem;opacity:.6}

/* Tableau de bord (stats) */
.dash{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16);border-radius:var(--r);margin-top:2.2rem;overflow:hidden;max-width:820px}
.dash>div{background:rgba(10,22,38,.8);padding:1rem 1.1rem;backdrop-filter:blur(3px)}
.dash b{white-space:nowrap;display:block;font-family:var(--f-display);font-size:clamp(1.6rem,3.2vw,2.2rem);font-weight:800;line-height:1;color:var(--blanc);font-variant-numeric:tabular-nums}
.dash b i{font-style:normal;font-size:.55em;color:var(--glace-clair);margin-left:.15em;letter-spacing:.06em}
.dash span{font-size:.88rem;color:#b4c8e0}
@media(min-width:760px){.dash{grid-template-columns:repeat(4,1fr)}}

/* Sections */
section{padding:clamp(3rem,7vw,5.5rem) 0}
.dark{background:var(--nuit);color:#d3e2f4}
.dark h2,.dark h3,.dark h4{color:var(--blanc)}
.dark a{color:var(--glace-clair)}
.alt{background:var(--blanc);border-block:1px solid var(--trait)}
.sec-head{max-width:760px;margin-bottom:2.2rem}
.sec-head p{color:var(--gris);font-size:1.1rem}
.dark .sec-head p{color:#b4c8e0}

/* Cartes de raid */
.cards{display:grid;gap:1.4rem;grid-template-columns:1fr}
@media(min-width:700px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--blanc);border:1px solid var(--trait);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -14px rgba(10,22,38,.35)}
.card .ph{position:relative;aspect-ratio:3/2;background:var(--nuit-2);overflow:hidden}
.card .ph img{width:100%;height:100%;object-fit:cover}
.card .ph .km{position:absolute;left:0;bottom:0;background:var(--nuit);color:var(--blanc);padding:.35rem .9rem .3rem .8rem;font-family:var(--f-display);font-weight:800;font-size:2.1rem;line-height:1;border-top-right-radius:var(--r);font-variant-numeric:tabular-nums}
.card .ph .km i{font-style:normal;font-size:.5em;margin-left:.2em;color:var(--glace-clair);letter-spacing:.08em}
.card .bd{padding:1.2rem 1.3rem 1.4rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.card h3{margin:0}
.card h3 a{color:var(--nuit);text-decoration:none}
.card h3 a::after{content:"";position:absolute;inset:0}
.card{position:relative}
.card p{margin:0;color:var(--gris);font-size:.98rem}
.meta{display:flex;flex-wrap:wrap;gap:.35rem .9rem;font-size:.92rem;color:var(--gris);margin:0;padding:0;list-style:none}
.meta li{display:flex;align-items:center;gap:.35rem}
.price{margin-top:auto;display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding-top:.9rem;border-top:1px dashed var(--trait)}
.price small{font-size:.8rem;color:var(--gris);text-transform:uppercase;letter-spacing:.08em}
.price b{font-family:var(--f-display);font-size:1.9rem;font-weight:800;color:var(--nuit);line-height:1;font-variant-numeric:tabular-nums}
.price b i{font-style:normal;font-size:.55em;color:var(--gris);letter-spacing:.04em;margin-left:.2em}
.card.wide{grid-column:1/-1;flex-direction:row;align-items:stretch}

/* Jauge de niveau (4 segments) */
.gauge{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9rem}
.gauge .seg{display:inline-flex;gap:3px}
.gauge .seg i{width:14px;height:8px;border-radius:2px;background:var(--trait)}
.gauge .seg i.on{background:var(--glace)}
.dark .gauge .seg i{background:rgba(255,255,255,.22)}
.dark .gauge .seg i.on{background:var(--glace-clair)}

/* Tableau comparatif */
.tbl-wrap{overflow-x:auto;border:1px solid var(--trait);border-radius:var(--r);background:var(--blanc)}
table{border-collapse:collapse;width:100%;min-width:760px;font-size:.98rem}
caption{text-align:left;padding:.8rem 1rem;font-weight:600;color:var(--gris);caption-side:bottom;font-size:.88rem}
th,td{padding:.8rem 1rem;text-align:left;border-bottom:1px solid var(--trait);vertical-align:middle}
thead th{background:var(--nuit);color:var(--blanc);font-family:var(--f-display);text-transform:uppercase;letter-spacing:.07em;font-size:.95rem;white-space:nowrap}
tbody th{font-family:var(--f-display);text-transform:uppercase;font-size:1.15rem;letter-spacing:.03em}
tbody th a{color:var(--nuit);text-decoration:none}
tbody th a:hover{color:var(--glace)}
tbody tr:last-child>*{border-bottom:0}
tbody tr:nth-child(even){background:var(--neige)}
td.n{font-variant-numeric:tabular-nums;white-space:nowrap}

/* Trace d'itinéraire */
.trail{list-style:none;margin:0;padding:0;position:relative}
.trail::before{content:"";position:absolute;left:19px;top:14px;bottom:14px;border-left:3px dotted var(--glace)}
.trail li{position:relative;padding:0 0 2rem 3.6rem}
.trail li:last-child{padding-bottom:0}
.trail .pin{position:absolute;left:0;top:0;width:40px;height:40px;border-radius:50%;background:var(--nuit);color:var(--blanc);display:grid;place-items:center;font-family:var(--f-display);font-weight:800;font-size:1.15rem;border:3px solid var(--neige)}
.trail .pin.free{background:var(--braise)}
.alt .trail .pin{border-color:var(--blanc)}
.trail h3{margin:0 0 .3rem;display:flex;flex-wrap:wrap;gap:.3rem .8rem;align-items:baseline}
.trail .chip{font-family:var(--f-display);font-weight:700;font-size:1.05rem;letter-spacing:.05em;color:var(--glace-fonce);background:var(--givre);padding:.1rem .6rem;border-radius:5px;font-variant-numeric:tabular-nums}
.trail p{margin:0;max-width:68ch}

/* Faits-clés d'un raid */
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--trait);border:1px solid var(--trait);border-radius:var(--r);overflow:hidden}
.facts>div{background:var(--blanc);padding:1rem 1.1rem}
.facts span{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gris);margin-bottom:.2rem}
.facts b{font-family:var(--f-display);font-weight:800;font-size:1.7rem;line-height:1.05;color:var(--nuit);font-variant-numeric:tabular-nums}
.facts b i{font-style:normal;font-size:.55em;color:var(--gris);margin-left:.15em}
@media(min-width:800px){.facts{grid-template-columns:repeat(5,1fr)}}

.cols{display:grid;gap:2.2rem;grid-template-columns:1fr}
@media(min-width:900px){.cols{grid-template-columns:1fr 1fr;gap:3rem}.cols.u{grid-template-columns:1.25fr 1fr}.cols.c{align-items:center}}
.lists{display:grid;gap:1.4rem;grid-template-columns:1fr}
@media(min-width:800px){.lists{grid-template-columns:1fr 1fr}}
.box{background:var(--blanc);border:1px solid var(--trait);border-radius:var(--r);padding:1.4rem 1.5rem}
.box h3{margin-bottom:.7rem}
.ul-ok,.ul-no,.ul-cond{list-style:none;margin:0;padding:0}
.ul-ok li,.ul-no li,.ul-cond li{position:relative;padding:.35rem 0 .35rem 1.8rem;border-bottom:1px solid var(--givre)}
.ul-ok li:last-child,.ul-no li:last-child,.ul-cond li:last-child{border-bottom:0}
.ul-ok li::before,.ul-no li::before,.ul-cond li::before{position:absolute;left:0;top:.38rem;font-weight:800;font-size:1.05rem}
.ul-ok li::before{content:"✓";color:var(--glace)}
.ul-no li::before{content:"✕";color:#b3402a}
.ul-cond li::before{content:"→";color:var(--braise)}
.photo{border-radius:var(--r);overflow:hidden;background:var(--nuit-2)}
.photo img{width:100%;height:100%;object-fit:cover}

/* Forces / bénéfices */
.grid4{display:grid;gap:1.2rem;grid-template-columns:1fr}
@media(min-width:640px){.grid4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.grid4{grid-template-columns:repeat(4,1fr)}}
.force{padding:1.4rem 1.3rem;border-top:3px solid var(--glace);background:var(--blanc);border-radius:0 0 var(--r) var(--r);border-inline:1px solid var(--trait);border-bottom:1px solid var(--trait)}
.dark .force{background:var(--nuit-2);border-color:rgba(255,255,255,.1);border-top-color:var(--braise)}
.force h3{font-size:1.35rem}
.force p{margin:0;font-size:.98rem;color:var(--gris)}
.dark .force p{color:#b4c8e0}

/* Étapes */
.steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:820px){.steps{grid-template-columns:repeat(4,1fr)}}
.steps li{counter-increment:s;background:var(--blanc);border:1px solid var(--trait);border-radius:var(--r);padding:1.2rem 1.2rem 1.3rem}
.steps li::before{content:counter(s);display:block;font-family:var(--f-display);font-weight:800;font-size:2.6rem;color:var(--glace);line-height:1;margin-bottom:.3rem}
.steps h3{font-size:1.25rem;margin-bottom:.3rem}
.steps p{margin:0;font-size:.98rem;color:var(--gris)}

/* Avis */
.quotes{display:grid;gap:1.2rem;grid-template-columns:1fr}
@media(min-width:800px){.quotes{grid-template-columns:repeat(3,1fr)}}
blockquote{margin:0;background:var(--nuit-2);border:1px solid rgba(255,255,255,.1);border-radius:var(--r);padding:1.4rem}
blockquote p{margin:0 0 1rem;color:#e4eefb;font-size:1.02rem}
blockquote footer{font-family:var(--f-display);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--glace-clair)}

/* FAQ */
.faq details{background:var(--blanc);border:1px solid var(--trait);border-radius:var(--r);margin-bottom:.7rem}
.faq summary{cursor:pointer;list-style:none;padding:1rem 3rem 1rem 1.2rem;font-weight:700;font-size:1.06rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:1.1rem;top:50%;transform:translateY(-50%);font-size:1.6rem;line-height:1;color:var(--glace);font-weight:400}
.faq details[open] summary::after{content:"–"}
.faq details[open] summary{border-bottom:1px dashed var(--trait)}
.faq .ans{padding:1rem 1.2rem 1.15rem}
.faq .ans p{margin:0;max-width:70ch}

/* Bandeau d'appel */
.cta{background:linear-gradient(120deg,var(--nuit) 0%,var(--nuit-3) 100%);color:#d3e2f4}
.cta .wrap{display:grid;gap:1.6rem;align-items:center}
@media(min-width:860px){.cta .wrap{grid-template-columns:1.5fr 1fr}}
.cta h2{color:var(--blanc);margin:0 0 .5rem}
.cta p{margin:0;font-size:1.1rem}

/* Formulaire */
form.dv{display:grid;gap:1rem;background:var(--blanc);border:1px solid var(--trait);border-radius:var(--r);padding:1.5rem}
.dv label{display:block;font-weight:600;font-size:.95rem;margin-bottom:.3rem}
.dv input:not([type=checkbox]):not([type=radio]),.dv select,.dv textarea{width:100%;font:inherit;padding:.75rem .85rem;border:1.5px solid #9fb3c9;border-radius:8px;background:#fff;color:var(--encre);min-height:48px}
.dv textarea{min-height:140px;resize:vertical}
.dv .two{display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:640px){.dv .two{grid-template-columns:1fr 1fr}}
.dv small{color:var(--gris);display:block;margin-top:.5rem}
.contact-card{background:var(--nuit);color:#d3e2f4;border-radius:var(--r);padding:1.6rem}
.contact-card h2,.contact-card h3{color:var(--blanc)}
.contact-card a{color:var(--glace-clair)}
.contact-card ul{list-style:none;margin:0 0 1rem;padding:0}
.contact-card li{padding:.4rem 0;border-bottom:1px solid rgba(255,255,255,.1)}
.contact-card li:last-child{border-bottom:0}

/* Pied de page */
.foot{background:var(--nuit);color:#b4c8e0;padding:3rem 0 1.6rem;font-size:.97rem}
.foot .g{display:grid;gap:2rem;grid-template-columns:1fr}
@media(min-width:800px){.foot .g{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.foot h2{font-size:1.1rem;letter-spacing:.1em;color:var(--blanc);margin-bottom:.8rem}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin:.4rem 0}
.foot a{color:#d3e2f4;text-decoration:none}
.foot a:hover{color:var(--glace-clair);text-decoration:underline}
.foot .bar{margin-top:2rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;justify-content:space-between;font-size:.9rem}
.foot button.lnk{background:none;border:0;padding:0;font:inherit;color:#d3e2f4;cursor:pointer;text-decoration:underline}

/* Prose (pages légales, guide) */
.prose{max-width:74ch}
.prose h2{font-size:clamp(1.7rem,3.4vw,2.3rem);margin-top:2.2rem}
.prose h3{margin-top:1.6rem}
.prose ul{padding-left:1.2rem}
.prose li{margin:.3rem 0}
.note{background:var(--givre);border-left:4px solid var(--glace);padding:1rem 1.2rem;border-radius:0 var(--r) var(--r) 0;margin:1.4rem 0}
.note p:last-child{margin:0}
.draft{background:#fff4e5;border:1px dashed var(--braise);padding:.8rem 1rem;border-radius:8px;font-size:.95rem;margin-bottom:1.5rem}

/* Bandeau de consentement */
.cc-banner[hidden],.cc-prefs[hidden]{display:none}
.cc-banner{position:fixed;left:12px;right:12px;bottom:12px;z-index:9999;max-width:620px;max-height:88vh;overflow:auto;padding:1.2rem 1.3rem;background:var(--blanc);color:var(--encre);border:1px solid var(--trait);border-top:4px solid var(--glace);border-radius:var(--r);box-shadow:0 18px 50px -12px rgba(10,22,38,.5);font-size:.96rem}
.cc-title{font-family:var(--f-display);font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:1.3rem;margin:0 0 .4rem}
.cc-desc{margin:0 0 .9rem}
.cc-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.cc-btn{flex:1 1 auto;font:700 .98rem var(--f-text);padding:.7rem 1rem;border-radius:8px;border:2px solid var(--glace);background:var(--blanc);color:var(--glace-fonce);cursor:pointer;min-height:46px}
.cc-btn:hover{background:var(--givre)}
.cc-fieldset{border:0;padding:0;margin:0 0 .8rem}
.cc-fieldset legend{font-weight:700;margin-bottom:.3rem}
.cc-option{display:flex;gap:.6rem;margin:.55rem 0;align-items:flex-start}
.cc-option input{margin-top:.25rem;width:18px;height:18px}
@media(min-width:700px){.cc-banner{left:auto;right:20px;bottom:20px}}

@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.top,.cc-banner,.cta,.foot{display:none}}

/* Ajustements mobiles */
@media(max-width:759px){
  .hero::after{background:linear-gradient(180deg,rgba(10,22,38,.72) 0%,rgba(10,22,38,.62) 55%,rgba(10,22,38,.8) 100%)}
  .facts>div:last-child{grid-column:1/-1}
  .hero .btns .btn{flex:1 1 auto}
}

/* Formulaire de devis */
.dv fieldset{border:1.5px solid var(--trait);border-radius:8px;padding:.9rem 1rem 1rem;margin:0;min-width:0}
.dv legend{font-weight:700;padding:0 .4rem}
.dv .hint{margin:0 0 .4rem;color:var(--gris);font-size:.9rem}
.dv .req{color:#b3402a}
.dv .opts{display:grid;gap:.1rem .8rem;grid-template-columns:1fr}
@media(min-width:640px){.dv .opts:not(.row){grid-template-columns:1fr 1fr}}
.dv .opts.row{display:flex;gap:1.6rem;flex-wrap:wrap}
.dv .opt{display:flex;align-items:center;gap:.6rem;font-weight:400;margin:0;padding:.45rem 0;cursor:pointer;min-height:44px}
.dv .opt input{width:20px;height:20px;flex:none;accent-color:var(--glace);margin:0}
.dv .err{margin:0;color:#8f2a17;background:#fdebe7;border:1px solid #e9b4a8;border-radius:8px;padding:.7rem .9rem;font-weight:600}
.dv .btn{justify-self:start;letter-spacing:.08em;text-transform:uppercase;min-width:180px}

/* Vedettes : fiches des motoneiges */
.vedettes{display:grid;gap:1.4rem;grid-template-columns:1fr}
@media(min-width:900px){.vedettes{grid-template-columns:1fr 1fr}}
.vedette{background:var(--blanc);color:var(--encre);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.vedette .vi{background:linear-gradient(180deg,var(--givre) 0%,#f7fbff 100%);padding:1.4rem 1.4rem .4rem;display:grid;place-items:center;aspect-ratio:4/2.9}
.vedette .vi img{max-height:100%;width:auto;max-width:100%;object-fit:contain;mix-blend-mode:multiply}
.vedette .vb{padding:1.2rem 1.4rem 1.5rem}
.vedette h3{color:var(--nuit);margin-bottom:.3rem;display:flex;align-items:baseline;gap:.6rem}
.vedette h3 span{font-size:1.05rem;color:var(--glace);letter-spacing:.08em}
.vedette h4{color:var(--gris);text-transform:uppercase;letter-spacing:.12em;font-size:.9rem;margin:.6rem 0 .3rem}
.vedette dl{margin:0}
.vedette dl>div{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-top:1px solid var(--givre)}
.vedette dt{color:var(--gris)}
.vedette dd{margin:0;font-weight:700;text-align:right}

/* Diaporama du hero */
.slides{position:absolute;inset:0;z-index:-2}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease}
.slide.on{opacity:1}
.slide img{width:100%;height:100%;object-fit:cover;object-position:60% 40%}
.slide-ctl{position:absolute;right:max(var(--gut),calc((100% - var(--w))/2 + var(--gut)));bottom:1.1rem;z-index:3;display:flex;align-items:center;gap:.5rem;background:rgba(10,22,38,.55);padding:.35rem .6rem;border-radius:999px}
.slide-ctl .dot{width:12px;height:12px;border-radius:50%;border:2px solid #fff;background:transparent;padding:0;cursor:pointer;min-height:0}
.slide-ctl .dot.on{background:#fff}
.slide-ctl .pp{background:none;border:0;color:#fff;font-size:.7rem;letter-spacing:-.1em;cursor:pointer;padding:.2rem .4rem;min-height:0}
.slide-ctl button:focus-visible{outline:3px solid var(--braise);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.slide{transition:none}}

/* Tamisage des images de haut de page : léger flou + grain + voile, pour masquer la basse résolution des photos */
.hero>picture img{filter:blur(1.4px) saturate(.92) brightness(.93);transform:scale(1.05)}
.slide img{filter:blur(.5px) saturate(.96) brightness(.96);transform:scale(1.02)}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.16;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .5  0 0 0 0 .5  0 0 0 0 .5  0 0 0 1.2 -.1'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
@media(max-width:759px){.hero::after{background:linear-gradient(180deg,rgba(10,22,38,.78) 0%,rgba(10,22,38,.68) 55%,rgba(10,22,38,.84) 100%)}}

/* Hero clair : voile blanc plutôt que noir, textes foncés */
.hero{background:var(--givre);color:var(--encre)}
.hero::after{background:linear-gradient(90deg,rgba(247,251,255,.93) 0%,rgba(247,251,255,.8) 38%,rgba(247,251,255,.45) 72%,rgba(247,251,255,.3) 100%),linear-gradient(0deg,rgba(247,251,255,.6) 0%,rgba(247,251,255,0) 35%)}
.hero::before{mix-blend-mode:soft-light;opacity:.22}
.hero h1{color:var(--nuit)}
.hero .lead{color:#23374f}
.hero .eyebrow{color:var(--glace)!important}
.crumbs{color:#3b516b}
.crumbs a{color:var(--glace-fonce)}
.hero .btn.ghost{color:var(--nuit);border-color:var(--nuit);background:rgba(255,255,255,.55)}
.hero .btn.ghost:hover{background:var(--nuit);color:#fff;border-color:var(--nuit)}
.dash{background:rgba(16,32,54,.14);border-color:rgba(16,32,54,.14)}
.dash>div{background:rgba(255,255,255,.82);backdrop-filter:blur(3px)}
.dash b{color:var(--nuit)}
.dash b i{color:var(--glace)}
.dash span{color:#3b516b}
.slide-ctl{background:rgba(255,255,255,.7)}
.slide-ctl .dot{border-color:var(--nuit)}
.slide-ctl .dot.on{background:var(--nuit)}
.slide-ctl .pp{color:var(--nuit)}
.hero .gauge .seg i{background:rgba(16,32,54,.22)}
.hero .gauge .seg i.on{background:var(--glace)}
@media(max-width:759px){.hero::after{background:linear-gradient(180deg,rgba(247,251,255,.9) 0%,rgba(247,251,255,.82) 55%,rgba(247,251,255,.92) 100%)}}

/* Itinéraire : traces de motoneige sur sentier, très estompées en fond */
#itineraire{position:relative;isolation:isolate;overflow:hidden}
#itineraire::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--fond,url(/assets/img/plaine-1080.webp)) center 60%/cover no-repeat;opacity:.2;filter:grayscale(.4);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 82%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 82%,transparent 100%)}
.alt#itineraire .trail .pin{border-color:var(--blanc)}

/* Mobile : bandeau d'accroche, logo plus gros, haut du diaporama resserré */
@media(min-width:1000px){.tag-m{display:none}}
@media(max-width:999px){
  .hd{min-height:0;display:block;padding-top:.6rem;padding-bottom:.7rem}
  .brand{top:8px}
  .brand img{width:176px}
  .tag-m{margin:0 -8px 0 0;padding:0 0 0 184px;font-family:var(--f-display);font-weight:800;text-transform:uppercase;letter-spacing:.005em;font-size:1.15rem;line-height:1.02;color:var(--nuit)}
  .tag-m span{display:block;white-space:nowrap}
  .tag-m .flag{display:inline-block;vertical-align:-.04em;margin-left:.12em;border:1px solid rgba(16,32,54,.25)}
  .burger{display:block;width:130px;margin:.55rem 0 0 calc(184px + (100% - 184px - 130px)/2);padding-block:.55rem}
  .hero .wrap{padding-top:3.4rem!important;padding-bottom:2.2rem!important}
  .hero.small .wrap{padding-top:3.4rem!important}
  .crumbs{margin-bottom:.7rem}
}
@media(max-width:759px){
  .dash{display:none}
  .only-desk{display:none}
  .hero .lead{margin-bottom:1.2rem}
}

@media(max-width:759px){.hide-m{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}

/* Mobile : voile plus léger pour mieux voir les photos */
@media(max-width:759px){
  .hero::after{background:linear-gradient(180deg,rgba(247,251,255,.62) 0%,rgba(247,251,255,.52) 50%,rgba(247,251,255,.72) 100%)}
  .hero>picture img{filter:blur(.8px) saturate(.95) brightness(.97)}
  .hero::before{opacity:.14}
}

/* Icônes sociales : tout en haut à droite de l'écran (ordinateur) */
.top{position:relative}
.soc-top{display:none}
@media(min-width:1000px){
  .soc-top{display:flex;position:absolute;top:8px;right:14px;z-index:75}
  .soc a{width:26px;height:26px}
  .hd-r{padding-top:1.5rem}
}
/* Bande noire d'accroche entre le hero et la liste des raids */
.bande{background:#050a12;color:#fff;padding:clamp(1.6rem,3.4vw,2.6rem) 0;text-align:center}
.bande .b1{margin:0 0 .35rem;font-family:var(--f-display);font-weight:800;text-transform:uppercase;letter-spacing:.03em;font-size:clamp(1.5rem,3.6vw,2.6rem);line-height:1.05}
.bande .b2{margin:0;font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(1.05rem,2.2vw,1.5rem);color:var(--glace-clair)}

/* Bande d'accroche : ligne 2 en rouge, neige qui tombe, apparition animée */
.bande{position:relative;overflow:hidden;isolation:isolate}
.bande .wrap{position:relative;z-index:2}
.bande::before,.bande::after{content:"";position:absolute;inset:-200px 0 0 0;z-index:1;pointer-events:none;background-repeat:repeat}
.bande::before{background-image:radial-gradient(2px 2px at 20px 30px,rgba(255,255,255,.85),transparent),radial-gradient(1.5px 1.5px at 90px 120px,rgba(255,255,255,.7),transparent),radial-gradient(2.5px 2.5px at 160px 60px,rgba(255,255,255,.8),transparent),radial-gradient(1.5px 1.5px at 60px 180px,rgba(255,255,255,.65),transparent);background-size:200px 200px;animation:neige1 11s linear infinite}
.bande::after{background-image:radial-gradient(1.5px 1.5px at 40px 20px,rgba(255,255,255,.55),transparent),radial-gradient(1px 1px at 110px 80px,rgba(255,255,255,.5),transparent),radial-gradient(1.5px 1.5px at 75px 135px,rgba(255,255,255,.5),transparent);background-size:130px 130px;animation:neige2 7s linear infinite}
@keyframes neige1{from{background-position:0 0}to{background-position:-40px 200px}}
@keyframes neige2{from{background-position:0 0}to{background-position:30px 130px}}
.bande .b2{background:linear-gradient(100deg,#ff2f2f 0%,#ff2f2f 42%,#ffd9d4 50%,#ff2f2f 58%,#ff2f2f 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#ff2f2f;animation:eclat 4.5s linear infinite}
@keyframes eclat{from{background-position:130% 0}to{background-position:-30% 0}}
.js-on .bande:not(.in) .b1,.js-on .bande:not(.in) .b2{opacity:0;transform:translateY(16px)}
.bande .b1,.bande .b2{transition:opacity .8s ease,transform .8s ease}
.bande .b2{transition-delay:.25s}
@media(prefers-reduced-motion:reduce){.bande::before,.bande::after,.bande .b2{animation:none}.js-on .bande:not(.in) .b1,.js-on .bande:not(.in) .b2{opacity:1;transform:none}}
.bande .b1,.bande .b2{text-wrap:balance}
@media(max-width:759px){.bande .b2{letter-spacing:.03em;font-size:1rem}.bande .wrap{padding-inline:1.2rem}}

/* Neige en flocons, plus visible */
.bande::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'%3E%3Cpath d=%22M50.0 50.0L67.0 50.0M59.4 50.0L61.7 47.2M59.4 50.0L61.7 52.8M63.6 50.0L65.5 47.7M63.6 50.0L65.5 52.3M50.0 50.0L58.5 64.7M54.7 58.1L58.3 58.7M54.7 58.1L53.4 61.5M56.8 61.8L59.7 62.3M56.8 61.8L55.8 64.6M50.0 50.0L41.5 64.7M45.3 58.1L46.6 61.5M45.3 58.1L41.7 58.7M43.2 61.8L44.2 64.6M43.2 61.8L40.3 62.3M50.0 50.0L33.0 50.0M40.6 50.0L38.3 52.8M40.6 50.0L38.3 47.2M36.4 50.0L34.5 52.3M36.4 50.0L34.5 47.7M50.0 50.0L41.5 35.3M45.3 41.9L41.7 41.3M45.3 41.9L46.6 38.5M43.2 38.2L40.3 37.7M43.2 38.2L44.2 35.4M50.0 50.0L58.5 35.3M54.7 41.9L53.4 38.5M54.7 41.9L58.3 41.3M56.8 38.2L55.8 35.4M56.8 38.2L59.7 37.7%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 opacity=%220.95%22/%3E%3Cpath d=%22M190.0 120.0L202.0 120.0M196.6 120.0L198.3 118.0M196.6 120.0L198.3 122.0M199.6 120.0L200.9 118.4M199.6 120.0L200.9 121.6M190.0 120.0L196.0 130.4M193.3 125.7L195.8 126.2M193.3 125.7L192.4 128.1M194.8 128.3L196.9 128.7M194.8 128.3L194.1 130.3M190.0 120.0L184.0 130.4M186.7 125.7L187.6 128.1M186.7 125.7L184.2 126.2M185.2 128.3L185.9 130.3M185.2 128.3L183.1 128.7M190.0 120.0L178.0 120.0M183.4 120.0L181.7 122.0M183.4 120.0L181.7 118.0M180.4 120.0L179.1 121.6M180.4 120.0L179.1 118.4M190.0 120.0L184.0 109.6M186.7 114.3L184.2 113.8M186.7 114.3L187.6 111.9M185.2 111.7L183.1 111.3M185.2 111.7L185.9 109.7M190.0 120.0L196.0 109.6M193.3 114.3L192.4 111.9M193.3 114.3L195.8 113.8M194.8 111.7L194.1 109.7M194.8 111.7L196.9 111.3%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%221.5%22 stroke-linecap=%22round%22 opacity=%220.85%22/%3E%3Cpath d=%22M110.0 210.0L125.0 210.0M118.2 210.0L120.3 207.5M118.2 210.0L120.3 212.5M122.0 210.0L123.7 208.0M122.0 210.0L123.7 212.0M110.0 210.0L117.5 223.0M114.1 217.1L117.3 217.7M114.1 217.1L113.0 220.2M116.0 220.4L118.6 220.8M116.0 220.4L115.1 222.8M110.0 210.0L102.5 223.0M105.9 217.1L107.0 220.2M105.9 217.1L102.7 217.7M104.0 220.4L104.9 222.8M104.0 220.4L101.4 220.8M110.0 210.0L95.0 210.0M101.8 210.0L99.7 212.5M101.8 210.0L99.7 207.5M98.0 210.0L96.3 212.0M98.0 210.0L96.3 208.0M110.0 210.0L102.5 197.0M105.9 202.9L102.7 202.3M105.9 202.9L107.0 199.8M104.0 199.6L101.4 199.2M104.0 199.6L104.9 197.2M110.0 210.0L117.5 197.0M114.1 202.9L113.0 199.8M114.1 202.9L117.3 202.3M116.0 199.6L115.1 197.2M116.0 199.6L118.6 199.2%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 opacity=%220.9%22/%3E%3Cpath d=%22M235.0 10.0L244.0 10.0M239.9 10.0L241.2 8.5M239.9 10.0L241.2 11.5M242.2 10.0L243.2 8.8M242.2 10.0L243.2 11.2M235.0 10.0L239.5 17.8M237.5 14.3L239.4 14.6M237.5 14.3L236.8 16.1M238.6 16.2L240.1 16.5M238.6 16.2L238.1 17.7M235.0 10.0L230.5 17.8M232.5 14.3L233.2 16.1M232.5 14.3L230.6 14.6M231.4 16.2L231.9 17.7M231.4 16.2L229.9 16.5M235.0 10.0L226.0 10.0M230.1 10.0L228.8 11.5M230.1 10.0L228.8 8.5M227.8 10.0L226.8 11.2M227.8 10.0L226.8 8.8M235.0 10.0L230.5 2.2M232.5 5.7L230.6 5.4M232.5 5.7L233.2 3.9M231.4 3.8L229.9 3.5M231.4 3.8L231.9 2.3M235.0 10.0L239.5 2.2M237.5 5.7L236.8 3.9M237.5 5.7L239.4 5.4M238.6 3.8L238.1 2.3M238.6 3.8L240.1 3.5%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%221.3%22 stroke-linecap=%22round%22 opacity=%220.7%22/%3E%3C/svg%3E");background-size:260px 260px;animation:neige1 12s linear infinite}
.bande::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='170' height='170' viewBox='0 0 170 170'%3E%3Cpath d=%22M30.0 40.0L38.0 40.0M34.4 40.0L35.5 38.7M34.4 40.0L35.5 41.3M36.4 40.0L37.3 38.9M36.4 40.0L37.3 41.1M30.0 40.0L34.0 46.9M32.2 43.8L33.9 44.1M32.2 43.8L31.6 45.4M33.2 45.5L34.6 45.8M33.2 45.5L32.7 46.8M30.0 40.0L26.0 46.9M27.8 43.8L28.4 45.4M27.8 43.8L26.1 44.1M26.8 45.5L27.3 46.8M26.8 45.5L25.4 45.8M30.0 40.0L22.0 40.0M25.6 40.0L24.5 41.3M25.6 40.0L24.5 38.7M23.6 40.0L22.7 41.1M23.6 40.0L22.7 38.9M30.0 40.0L26.0 33.1M27.8 36.2L26.1 35.9M27.8 36.2L28.4 34.6M26.8 34.5L25.4 34.2M26.8 34.5L27.3 33.2M30.0 40.0L34.0 33.1M32.2 36.2L31.6 34.6M32.2 36.2L33.9 35.9M33.2 34.5L32.7 33.2M33.2 34.5L34.6 34.2%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%221.2%22 stroke-linecap=%22round%22 opacity=%220.75%22/%3E%3Cpath d=%22M120.0 90.0L130.0 90.0M125.5 90.0L126.9 88.3M125.5 90.0L126.9 91.7M128.0 90.0L129.1 88.7M128.0 90.0L129.1 91.3M120.0 90.0L125.0 98.7M122.8 94.8L124.9 95.1M122.8 94.8L122.0 96.8M124.0 96.9L125.7 97.2M124.0 96.9L123.4 98.6M120.0 90.0L115.0 98.7M117.2 94.8L118.0 96.8M117.2 94.8L115.1 95.1M116.0 96.9L116.6 98.6M116.0 96.9L114.3 97.2M120.0 90.0L110.0 90.0M114.5 90.0L113.1 91.7M114.5 90.0L113.1 88.3M112.0 90.0L110.9 91.3M112.0 90.0L110.9 88.7M120.0 90.0L115.0 81.3M117.2 85.2L115.1 84.9M117.2 85.2L118.0 83.2M116.0 83.1L114.3 82.8M116.0 83.1L116.6 81.4M120.0 90.0L125.0 81.3M122.8 85.2L122.0 83.2M122.8 85.2L124.9 84.9M124.0 83.1L123.4 81.4M124.0 83.1L125.7 82.8%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%221.3%22 stroke-linecap=%22round%22 opacity=%220.8%22/%3E%3Cpath d=%22M70.0 150.0L77.0 150.0M73.8 150.0L74.8 148.8M73.8 150.0L74.8 151.2M75.6 150.0L76.4 149.1M75.6 150.0L76.4 150.9M70.0 150.0L73.5 156.1M71.9 153.3L73.4 153.6M71.9 153.3L71.4 154.8M72.8 154.8L74.0 155.1M72.8 154.8L72.4 156.0M70.0 150.0L66.5 156.1M68.1 153.3L68.6 154.8M68.1 153.3L66.6 153.6M67.2 154.8L67.6 156.0M67.2 154.8L66.0 155.1M70.0 150.0L63.0 150.0M66.2 150.0L65.2 151.2M66.2 150.0L65.2 148.8M64.4 150.0L63.6 150.9M64.4 150.0L63.6 149.1M70.0 150.0L66.5 143.9M68.1 146.7L66.6 146.4M68.1 146.7L68.6 145.2M67.2 145.2L66.0 144.9M67.2 145.2L67.6 144.0M70.0 150.0L73.5 143.9M71.9 146.7L71.4 145.2M71.9 146.7L73.4 146.4M72.8 145.2L72.4 144.0M72.8 145.2L74.0 144.9%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%221.1%22 stroke-linecap=%22round%22 opacity=%220.7%22/%3E%3C/svg%3E");background-size:170px 170px;animation:neige2 8s linear infinite}
@keyframes neige1{from{background-position:0 0}to{background-position:-50px 260px}}
@keyframes neige2{from{background-position:0 0}to{background-position:40px 170px}}
.bande .b2{font-size:clamp(1.35rem,3.2vw,2.3rem);letter-spacing:.04em}
@media(max-width:759px){.bande .b2{font-size:1.4rem;letter-spacing:.02em}}

/* Neige : flocons plus petits et moins nombreux */
.bande::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='380' height='380' viewBox='0 0 380 380'%3E%3Cpath d=%22M70.0 60.0L79.0 60.0M75.0 60.0L76.2 58.5M75.0 60.0L76.2 61.5M77.2 60.0L78.2 58.8M77.2 60.0L78.2 61.2M70.0 60.0L74.5 67.8M72.5 64.3L74.4 64.6M72.5 64.3L71.8 66.1M73.6 66.2L75.1 66.5M73.6 66.2L73.1 67.7M70.0 60.0L65.5 67.8M67.5 64.3L68.2 66.1M67.5 64.3L65.6 64.6M66.4 66.2L66.9 67.7M66.4 66.2L64.9 66.5M70.0 60.0L61.0 60.0M65.0 60.0L63.8 61.5M65.0 60.0L63.8 58.5M62.8 60.0L61.8 61.2M62.8 60.0L61.8 58.8M70.0 60.0L65.5 52.2M67.5 55.7L65.6 55.4M67.5 55.7L68.2 53.9M66.4 53.8L64.9 53.5M66.4 53.8L66.9 52.3M70.0 60.0L74.5 52.2M72.5 55.7L71.8 53.9M72.5 55.7L74.4 55.4M73.6 53.8L73.1 52.3M73.6 53.8L75.1 53.5%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 opacity=%220.9%22/%3E%3Cpath d=%22M260.0 230.0L268.0 230.0M264.4 230.0L265.5 228.7M264.4 230.0L265.5 231.3M266.4 230.0L267.3 228.9M266.4 230.0L267.3 231.1M260.0 230.0L264.0 236.9M262.2 233.8L263.9 234.1M262.2 233.8L261.6 235.4M263.2 235.5L264.6 235.8M263.2 235.5L262.7 236.8M260.0 230.0L256.0 236.9M257.8 233.8L258.4 235.4M257.8 233.8L256.1 234.1M256.8 235.5L257.3 236.8M256.8 235.5L255.4 235.8M260.0 230.0L252.0 230.0M255.6 230.0L254.5 231.3M255.6 230.0L254.5 228.7M253.6 230.0L252.7 231.1M253.6 230.0L252.7 228.9M260.0 230.0L256.0 223.1M257.8 226.2L256.1 225.9M257.8 226.2L258.4 224.6M256.8 224.5L255.4 224.2M256.8 224.5L257.3 223.2M260.0 230.0L264.0 223.1M262.2 226.2L261.6 224.6M262.2 226.2L263.9 225.9M263.2 224.5L262.7 223.2M263.2 224.5L264.6 224.2%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%221.3%22 stroke-linecap=%22round%22 opacity=%220.85%22/%3E%3C/svg%3E");background-size:380px 380px;animation:neige1 14s linear infinite}
.bande::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='290' height='290' viewBox='0 0 290 290'%3E%3Cpath d=%22M40.0 170.0L45.5 170.0M43.0 170.0L43.8 169.1M43.0 170.0L43.8 170.9M44.4 170.0L45.0 169.3M44.4 170.0L45.0 170.7M40.0 170.0L42.8 174.8M41.5 172.6L42.7 172.8M41.5 172.6L41.1 173.7M42.2 173.8L43.1 174.0M42.2 173.8L41.9 174.7M40.0 170.0L37.2 174.8M38.5 172.6L38.9 173.7M38.5 172.6L37.3 172.8M37.8 173.8L38.1 174.7M37.8 173.8L36.9 174.0M40.0 170.0L34.5 170.0M37.0 170.0L36.2 170.9M37.0 170.0L36.2 169.1M35.6 170.0L35.0 170.7M35.6 170.0L35.0 169.3M40.0 170.0L37.2 165.2M38.5 167.4L37.3 167.2M38.5 167.4L38.9 166.3M37.8 166.2L36.9 166.0M37.8 166.2L38.1 165.3M40.0 170.0L42.8 165.2M41.5 167.4L41.1 166.3M41.5 167.4L42.7 167.2M42.2 166.2L41.9 165.3M42.2 166.2L43.1 166.0%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%221.1%22 stroke-linecap=%22round%22 opacity=%220.7%22/%3E%3Cpath d=%22M200.0 60.0L206.0 60.0M203.3 60.0L204.1 59.0M203.3 60.0L204.1 61.0M204.8 60.0L205.5 59.2M204.8 60.0L205.5 60.8M200.0 60.0L203.0 65.2M201.7 62.9L202.9 63.1M201.7 62.9L201.2 64.1M202.4 64.2L203.4 64.3M202.4 64.2L202.0 65.1M200.0 60.0L197.0 65.2M198.3 62.9L198.8 64.1M198.3 62.9L197.1 63.1M197.6 64.2L198.0 65.1M197.6 64.2L196.6 64.3M200.0 60.0L194.0 60.0M196.7 60.0L195.9 61.0M196.7 60.0L195.9 59.0M195.2 60.0L194.5 60.8M195.2 60.0L194.5 59.2M200.0 60.0L197.0 54.8M198.3 57.1L197.1 56.9M198.3 57.1L198.8 55.9M197.6 55.8L196.6 55.7M197.6 55.8L198.0 54.9M200.0 60.0L203.0 54.8M201.7 57.1L201.2 55.9M201.7 57.1L202.9 56.9M202.4 55.8L202.0 54.9M202.4 55.8L203.4 55.7%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%221.1%22 stroke-linecap=%22round%22 opacity=%220.75%22/%3E%3C/svg%3E");background-size:290px 290px;animation:neige2 10s linear infinite}
@keyframes neige1{from{background-position:0 0}to{background-position:-60px 380px}}
@keyframes neige2{from{background-position:0 0}to{background-position:50px 290px}}

/* Neige : flocons individuels aléatoires, très petits, qui tournent lentement (créés par site.js) */
.bande::before,.bande::after{content:none;animation:none}
.snow{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.snow i{position:absolute;top:-18px;left:var(--x);width:var(--z);height:var(--z);opacity:var(--o);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M24 24L44.00 24.00M35.00 24.00L37.97 20.46M35.00 24.00L37.97 27.54M40.00 24.00L42.39 21.15M40.00 24.00L42.39 26.85M24 24L34.00 41.32M29.50 33.53L34.05 34.33M29.50 33.53L27.92 37.87M32.00 37.86L35.66 38.50M32.00 37.86L30.73 41.35M24 24L14.00 41.32M18.50 33.53L20.08 37.87M18.50 33.53L13.95 34.33M16.00 37.86L17.27 41.35M16.00 37.86L12.34 38.50M24 24L4.00 24.00M13.00 24.00L10.03 27.54M13.00 24.00L10.03 20.46M8.00 24.00L5.61 26.85M8.00 24.00L5.61 21.15M24 24L14.00 6.68M18.50 14.47L13.95 13.67M18.50 14.47L20.08 10.13M16.00 10.14L12.34 9.50M16.00 10.14L17.27 6.65M24 24L34.00 6.68M29.50 14.47L27.92 10.13M29.50 14.47L34.05 13.67M32.00 10.14L30.73 6.65M32.00 10.14L35.66 9.50' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;animation:chute var(--d) linear infinite,tourne var(--s) linear infinite;animation-delay:var(--l),var(--l)}
@keyframes chute{from{translate:0 0}to{translate:var(--dx) 230px}}
@keyframes tourne{from{rotate:0deg}to{rotate:var(--r)}}
@media(prefers-reduced-motion:reduce){.snow{display:none}}
@media(max-width:759px){
  .bande .b1,.bande .b2{font-size:1.75rem;letter-spacing:.02em;line-height:1.08}
}

/* Ordinateur : texte d'accroche et menu centrés ensemble */
@media(min-width:1000px){
  .hd-r{flex:1;margin-left:230px;max-width:none;text-align:center}
  .hd-row{justify-content:center}
  .nav ul{justify-content:center}
}

/* Rafales de vent : poussent les flocons d'un coup, puis retour au calme */
@property --w{syntax:"<length>";inherits:true;initial-value:0px}
.snow{animation:rafale 40s ease-in-out infinite}
.snow i{left:calc(var(--x) + var(--w) * var(--k,1))}
@keyframes rafale{
  0%,18%{--w:0px}
  21.5%{--w:190px}
  32%{--w:130px}
  55%{--w:0px}
  72%{--w:0px}
  75%{--w:-120px}
  100%{--w:0px}
}
@media(prefers-reduced-motion:reduce){.snow{animation:none}}

/* Défilement de la page : vent supplémentaire (--sw, piloté par site.js) */
.snow i{left:calc(var(--x) + (var(--w) + var(--sw, 0px)) * var(--k, 1))}
.snow i.ex{animation:chute var(--d) linear 1 forwards,tourne var(--s) linear infinite;animation-delay:0s,0s}

/* Flocons légèrement flous */
.snow i{filter:blur(var(--b,.8px))}

/* Ciel étoilé de nuit */
.bande{background:#050a12}
.bande .ciel{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.bande .ciel b{position:absolute;left:var(--x);top:var(--y);width:var(--z);height:var(--z);border-radius:50%;background:#fff;opacity:var(--o);box-shadow:0 0 calc(var(--z) * 2.2) calc(var(--z) * .4) rgba(190,215,255,.55);animation:scintille var(--t) ease-in-out infinite alternate;animation-delay:var(--l)}
@keyframes scintille{from{opacity:var(--o);transform:scale(1)}to{opacity:calc(var(--o) * .2);transform:scale(.7)}}
@media(prefers-reduced-motion:reduce){.bande .ciel b{animation:none}}

/* Noir avec un très léger bleu (fixe, sans parallaxe) */
.bande{background:radial-gradient(ellipse 70% 90% at 50% 115%,rgba(55,100,190,.20),transparent 70%),linear-gradient(180deg,#04080f 0%,#060d1a 55%,#091630 100%)}

/* ===== Menu du haut : version moderne (hiérarchie, méga-menu, bouton d'action, en-tête collant) ===== */
.nav-cta{min-height:0}
.menu .m-cta{padding-top:.9rem}
.menu .m-cta .btn{width:100%;border-bottom:0;color:#fff}
.flag-d{display:none}
@media(min-width:1000px){
  .top{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.97);backdrop-filter:saturate(1.3) blur(10px);-webkit-backdrop-filter:saturate(1.3) blur(10px);border-bottom:1px solid var(--trait);transition:box-shadow .25s ease}
  .top.scrolled{box-shadow:0 10px 26px -16px rgba(10,22,38,.5)}
  .hd{min-height:122px;align-items:center;padding-top:.5rem;padding-bottom:.5rem;transition:min-height .25s ease}
  .brand{top:8px;transition:top .25s ease}
  .brand img{width:172px;transition:width .25s ease}
  .hd-r{padding-top:0;margin-left:215px;max-width:none;flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}
  .tagline{display:flex;align-items:center;gap:.55rem;margin:0;font-size:.8rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gris);transition:opacity .2s ease,max-height .25s ease;max-height:24px;overflow:hidden}
  .flag-d{display:inline-block;width:1.7em;height:.85em;border:1px solid rgba(16,32,54,.2)}
  .nav ul{margin:0;gap:.15rem;justify-content:center;flex-wrap:nowrap}
  .nav>ul>li{position:static;display:flex;align-items:center}
  .nav>ul>li+li::before{display:none}
  .nav a{border-bottom:0;font-size:1rem;font-weight:600;color:var(--nuit);padding:.6rem .85rem;border-radius:999px;transition:background .15s ease,color .15s ease}
  .nav a:hover{background:var(--givre);color:var(--glace-fonce)}
  .nav a[aria-current=page]{color:var(--glace);background:transparent;box-shadow:inset 0 -3px 0 var(--glace);border-radius:0;padding-bottom:.5rem}
  .nav .n-pri>a{font-size:1.06rem;font-weight:700}
  .nav .n-sec>a{font-weight:500;color:#3f536b}
  .nav .n-pri+.n-sec{margin-left:1rem;padding-left:1rem;position:relative}
  .nav .n-pri+.n-sec::before{display:block;content:"";position:absolute;left:0;top:50%;height:1.3em;width:1px;margin:0;background:var(--trait);transform:translateY(-50%)}
  .nav .n-cta{margin-left:.9rem}
  .nav .nav-cta{padding:.72rem 1.35rem;border-radius:999px;font-size:1rem;font-weight:700;color:#fff;background:var(--glace);box-shadow:0 8px 18px -8px rgba(0,84,164,.7);letter-spacing:.01em}
  .nav .nav-cta:hover{background:var(--glace-fonce);color:#fff;transform:translateY(-1px)}
  .nav .nav-cta[aria-current=page]{box-shadow:0 8px 18px -8px rgba(0,84,164,.7);background:var(--glace-fonce);padding:.72rem 1.35rem;border-radius:999px}
  .sub-t{display:inline-grid;place-items:center;width:24px;height:24px;margin-left:-.5rem;border-radius:50%;color:var(--nuit);transition:transform .2s ease,background .15s ease}
  .sub-t:hover{background:var(--givre)}
  .has-sub:hover .sub-t,.has-sub:focus-within .sub-t,.has-sub.open .sub-t{transform:rotate(180deg)}
  /* méga-menu */
  .hd{position:relative}
  .mega{position:absolute;left:215px;right:var(--gut);top:100%;z-index:90;background:var(--blanc);border:1px solid var(--trait);border-top:3px solid var(--glace);border-radius:0 0 16px 16px;padding:1.1rem 1.1rem .9rem;box-shadow:0 30px 50px -22px rgba(10,22,38,.45);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;text-align:left}
  .mega::before{content:"";position:absolute;left:0;right:0;top:-22px;height:22px}
  .has-sub:hover .mega,.has-sub:focus-within .mega,.has-sub.open .mega{opacity:1;visibility:visible;transform:none;transition-delay:0s}
  .mg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
  .mg-card{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"km nom" "km meta" "prix prix";column-gap:.8rem;align-items:center;padding:.75rem .9rem;border:1px solid var(--trait);border-radius:12px;text-decoration:none;color:var(--nuit);background:var(--neige);transition:border-color .15s ease,background .15s ease,transform .15s ease}
  .nav a.mg-card{padding:.75rem .9rem;border-radius:12px;font-weight:400;color:var(--nuit)}
  .nav a.mg-card:hover{background:#fff;border-color:var(--glace);transform:translateY(-2px);color:var(--nuit)}
  .mg-km{grid-area:km;font-family:var(--f-display);font-weight:800;font-size:1.9rem;line-height:1;color:var(--glace);font-variant-numeric:tabular-nums}
  .mg-km i{font-style:normal;font-size:.5em;margin-left:.15em;letter-spacing:.08em;color:var(--gris)}
  .mg-nom{grid-area:nom;font-family:var(--f-display);font-weight:800;text-transform:uppercase;letter-spacing:.03em;font-size:1.1rem;line-height:1.1}
  .mg-meta{grid-area:meta;font-size:.84rem;color:var(--gris)}
  .mg-prix{grid-area:prix;margin-top:.55rem;padding-top:.5rem;border-top:1px dashed var(--trait);font-weight:700;font-size:.9rem;color:var(--nuit)}
  .mg-foot{display:flex;justify-content:space-between;gap:1rem;margin-top:.8rem;padding-top:.7rem;border-top:1px solid var(--trait)}
  .nav .mg-foot a{padding:.2rem 0;border-radius:0;font-size:.95rem;font-weight:700;color:var(--glace)}
  .nav .mg-foot a:hover{background:none;text-decoration:underline;color:var(--glace-fonce)}
  /* en-tête compact au défilement */
  .top.scrolled .hd{min-height:74px}
  .top.scrolled .brand{top:5px}
  .top.scrolled .brand img{width:92px}
  .top.scrolled .tagline{opacity:0;max-height:0}
  .top.scrolled .soc-top{opacity:0;pointer-events:none}
  .soc-top{transition:opacity .2s ease}
  .top.scrolled .mega{left:120px}
}
@media(min-width:1000px) and (max-width:1139px){
  .nav a{padding:.6rem .6rem}.nav .n-pri>a{font-size:1rem}.nav .n-cta{margin-left:.4rem}.nav .n-pri+.n-sec{margin-left:.6rem;padding-left:.6rem}
}
@media(min-width:1000px){
  .mg-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mg-card{min-width:0}
  .mg-nom,.mg-meta{min-width:0;overflow-wrap:anywhere}
}
@media(min-width:1000px) and (max-width:1139px){
  .mg-km{font-size:1.55rem}.mg-nom{font-size:1rem}.mg-card{column-gap:.55rem;padding:.65rem .7rem}.nav a.mg-card{padding:.65rem .7rem}
}

@media(max-width:999px){
  .menu ul{padding:.8rem 0 .6rem}
  .menu .m-cta{padding:0 0 .4rem}
  .menu a{padding:.68rem 0}
  .menu .sub a{padding:.5rem 0 .5rem 1rem}
}

/* ===== L'image du hero monte sous l'en-tête (en-tête translucide par-dessus) ===== */
:root{--hh:190px}
.top{position:absolute;top:0;left:0;right:0;z-index:80;background:rgba(255,255,255,.72);backdrop-filter:blur(12px) saturate(1.3);-webkit-backdrop-filter:blur(12px) saturate(1.3);border-bottom:1px solid rgba(255,255,255,.55)}
.hero .wrap{padding-top:calc(var(--hh) + 2.4rem)!important}
.hero.small .wrap{padding-top:calc(var(--hh) + 1.8rem)!important}
@media(min-width:1000px){
  :root{--hh:122px}
  .top{position:fixed;background:rgba(255,255,255,.7)}
  .top.scrolled{background:rgba(255,255,255,.95)}
  html{scroll-padding-top:90px}
}

/* En-tête plus transparent */
.top{background:rgba(255,255,255,.42);border-bottom-color:rgba(255,255,255,.35);backdrop-filter:blur(10px) saturate(1.2);-webkit-backdrop-filter:blur(10px) saturate(1.2)}
@media(min-width:1000px){
  .top{background:rgba(255,255,255,.38)}
  .top.scrolled{background:rgba(255,255,255,.82)}
}

/* En-tête transparent à 90 % (opacité du fond : 10 %) */
.top{background:rgba(255,255,255,.1);border-bottom-color:rgba(255,255,255,.25)}
.top .tagline,.top .nav>ul>li>a,.top .tag-m{text-shadow:0 0 10px rgba(255,255,255,.9),0 0 3px rgba(255,255,255,.8)}
.top .nav .nav-cta{text-shadow:none}
@media(min-width:1000px){
  .top{background:rgba(255,255,255,.1)}
  .top.scrolled{background:rgba(255,255,255,.82)}
  .top.scrolled .tagline,.top.scrolled .nav>ul>li>a{text-shadow:none}
}

/* Hero moins haut */
.hero .wrap{padding-top:calc(var(--hh) + 1.1rem)!important;padding-bottom:clamp(1.5rem,3.2vw,2.4rem)!important}
.hero.small .wrap{padding-top:calc(var(--hh) + .8rem)!important;padding-bottom:clamp(1.3rem,2.8vw,2rem)!important}
.hero h1{font-size:clamp(2.1rem,5.4vw,3.8rem);margin-bottom:.35em}
.hero.small h1{font-size:clamp(1.9rem,4.6vw,3.1rem)}
.hero .lead{font-size:1.1rem;margin-bottom:1rem}
.hero .dash{margin-top:1.2rem}
.hero .crumbs{margin-bottom:.6rem}
.hero .eyebrow{margin-bottom:.4rem}
@media(max-width:759px){
  .hero .lead{font-size:1.05rem;margin-bottom:.9rem}
  .hero .btn{min-height:44px;padding:.7rem 1.2rem}
}

/* Hero : retirer le remplissage générique des sections (il ajoutait ~145 px) et laisser le titre sur 2 lignes */
section.hero{padding-top:0;padding-bottom:0}
@media(min-width:900px){.hero h1{max-width:26ch}}
@media(min-width:1000px){
  .hero .wrap{padding-top:calc(var(--hh) + 2.8rem)!important}
  .hero.small .wrap{padding-top:calc(var(--hh) + 2.6rem)!important}
}

.ghl-wrap{min-width:0;border:1px solid var(--trait);border-radius:10px;background:#fff;overflow:hidden}
