:root{--suie:#1B1613;--braise:#B8461F;--etin:#E2602F;--ardoise:#36414C;--cuivre:#C98F2E;--papier:#FBF5EA;--blanc:#FFFDF8;--texte:#2B2420;--gris:#6B625B;--ligne:#E8DDC9;--r:14px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
[hidden]{display:none!important}
body{margin:0;font:16px/1.65 Inter,system-ui,sans-serif;color:var(--texte);background:var(--blanc)}
main{min-height:60vh}img,svg{max-width:100%}a{color:var(--braise)}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;line-height:1.15;color:var(--suie);margin:0 0 .5em}
h2{font-size:clamp(1.5rem,2.6vw,2.1rem)}h3{font-size:1.12rem}p{margin:0 0 1em;max-width:70ch}
.w{width:min(1200px,100% - 40px);margin-inline:auto}.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--braise);color:#fff;font:600 1rem Inter,sans-serif;padding:13px 24px;border-radius:999px;border:2px solid var(--braise);text-decoration:none;cursor:pointer;transition:transform .15s,background .15s}
.btn:hover{background:#9c3a18;border-color:#9c3a18;transform:translateY(-1px)}.btn.gros{padding:16px 30px;font-size:1.05rem}.btn.ghost{background:transparent;color:var(--braise)}
/* en-tête */
.top{position:sticky;top:0;z-index:30;background:rgba(255,253,248,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--ligne)}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:68px}
.marque{white-space:nowrap;display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--suie)}.marque span{display:flex;flex-direction:column;line-height:1.15}.marque b{font:700 1.15rem 'Playfair Display',serif}.marque i{font:500 .72rem Inter;color:var(--gris);font-style:normal;letter-spacing:.02em}
.menu{display:flex;align-items:center;gap:2px}.menu a{white-space:nowrap;padding:8px 10px;color:var(--ardoise);text-decoration:none;font-weight:500;font-size:.95rem;border-bottom:2px solid transparent}.menu a:hover{color:var(--braise)}.menu a.on{border-bottom-color:var(--braise);color:var(--suie)}
.menu a.cta{background:var(--braise);color:#fff;border-radius:999px;padding:9px 18px;margin-left:8px;border:0;font-weight:600}.menu a.cta:hover{background:#9c3a18;color:#fff}
.mn-c,.mn-b{display:none}
/* héros */
.hero{position:relative;background:linear-gradient(180deg,#14100D 0%,#2A1D16 62%,#5B2E1A 100%);color:#fff;overflow:hidden;min-height:calc(100svh - 68px);display:flex;align-items:center}
.hero-fond{position:absolute;inset:0}.lune{position:absolute;right:14%;top:12%;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#FFE9C2,#E9B66B 70%);box-shadow:0 0 80px 20px rgba(233,182,107,.25)}
.sky{position:absolute;left:0;right:0;bottom:0;width:100%;height:46%;min-height:200px}
.fumee{filter:blur(3px)}.fumee circle{fill:rgba(220,210,200,.14);transform-box:fill-box;transform-origin:center;animation:fum 6s ease-in infinite}.fumee circle:nth-child(2){animation-delay:1.4s}.fumee circle:nth-child(3){animation-delay:2.8s}
.chem.c1 .fumee circle{animation-delay:.9s}.chem.c2 .fumee circle{animation-delay:2s}.chem.c3 .fumee circle{animation-delay:.4s}.chem.c4 .fumee circle{animation-delay:1.7s}
@keyframes fum{0%{transform:translateY(14px) scale(.5);opacity:0}25%{opacity:1}100%{transform:translateY(-70px) scale(1.7);opacity:0}}
.etin circle{fill:var(--etin);animation:etin 3.2s ease-out infinite}.etin circle:nth-child(2){animation-delay:1.1s}.etin circle:nth-child(3){animation-delay:2.1s}
@keyframes etin{0%{transform:translateY(0);opacity:0}15%{opacity:1}100%{transform:translateY(-90px) translateX(8px);opacity:0}}
.hero-in{position:relative;z-index:2;padding:48px 0 12vh}.hero-k{font:600 .8rem Inter;letter-spacing:.14em;text-transform:uppercase;color:#E9B66B;margin-bottom:14px}
.hero h1{color:#fff;font-size:clamp(2.1rem,5.2vh + 2vw,4rem);max-width:15ch;letter-spacing:-.01em}.hero h1 em{font-style:italic;color:#F2B27E}
.hero-s{font-size:1.15rem;color:#EBDCCB;max-width:52ch}.hero-n{font-size:.85rem;color:#C9B5A0;margin-top:14px}
.ticket{display:grid;grid-template-columns:1.3fr 1fr auto;gap:0;background:var(--papier);border-radius:16px;padding:8px;max-width:760px;margin:26px 0 0;box-shadow:0 16px 50px rgba(0,0,0,.45);position:relative;border:2px solid var(--cuivre)}
.ticket::before,.ticket::after{content:"";position:absolute;top:50%;width:18px;height:18px;border-radius:50%;background:#2A1D16;transform:translateY(-50%);border:2px solid var(--cuivre)}.ticket::before{left:-11px}.ticket::after{right:-11px}
.tk-c{display:flex;flex-direction:column;padding:8px 18px;border-right:2px dashed var(--ligne);color:var(--suie)}.tk-c:nth-child(2){border-right:0}.tk-c span{font:600 .7rem Inter;letter-spacing:.1em;text-transform:uppercase;color:var(--braise)}
.tk-c input,.tk-c select{border:0;background:transparent;font:500 1.02rem Inter;color:var(--suie);padding:4px 0;outline:0;width:100%;min-width:0}.ticket .btn{margin:2px;align-self:stretch}
.tete .ticket{box-shadow:0 8px 24px rgba(27,22,19,.12)}
/* chiffres */
.chiffres{background:var(--suie);color:#fff;border-top:1px solid #3a2a20}.ch-in{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:30px 0}.ch-in div{text-align:center}.ch-in b{display:block;font:700 clamp(1.5rem,3vw,2.3rem) 'Playfair Display',serif;color:#F2B27E}.ch-in span{font-size:.9rem;color:#D8C9B8}
/* blocs */
.bloc{padding:56px 0}.lead{color:var(--gris)}
.carte-bloc{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center}
.top8{list-style:none;margin:16px 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.top8 a{display:flex;flex-direction:column;padding:10px 14px;border-radius:10px;background:var(--papier);text-decoration:none;color:var(--suie);border:1px solid var(--ligne)}.top8 a:hover{border-color:var(--braise)}.top8 span{font-size:.82rem;color:var(--gris)}
.legende{font-size:.82rem;color:var(--gris);display:flex;align-items:center;gap:6px}.legende i{width:22px;height:12px;border-radius:3px;display:inline-block}.l1{background:#D9D2C6}.l2{background:#B9A58E}.l3{background:#C9703F}.l4{background:#B8461F}
.fr-carte{width:100%;height:auto;max-height:78vh}.fr-sil{fill:#F1E9DA;stroke:#CBB99D;stroke-width:1}.fr-carte path[class^=n]{stroke:#fff;stroke-width:.6;transition:fill .2s}
.fr-carte .n0{fill:#EFE7D8}.fr-carte .n1{fill:#D9D2C6}.fr-carte .n2{fill:#B9A58E}.fr-carte .n3{fill:#C9703F}.fr-carte .n4{fill:#B8461F}.fr-carte a:hover path{fill:var(--ardoise)}
.fr-carte text{font:700 7px Inter;fill:#fff;pointer-events:none}.fr-pts circle{fill:var(--suie);stroke:#fff;stroke-width:1.2}.fr-pts a:hover circle{fill:var(--etin)}.fr-etiq text{fill:#9a8d7e;font:500 8px Inter}
.villes{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.ville{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;padding:14px 16px;border-radius:12px;background:#fff;border:1px solid var(--ligne);text-decoration:none;color:var(--suie);position:relative;overflow:hidden;transition:border-color .15s,transform .15s}
.ville::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--braise)}.ville:hover{border-color:var(--braise);transform:translateY(-2px)}.ville b{font:700 1.02rem 'Playfair Display',serif}.ville span{grid-column:1;font-size:.82rem;color:var(--gris)}.ville em{grid-row:1/3;grid-column:2;font:700 1.3rem 'Playfair Display',serif;font-style:normal;color:var(--braise)}
.texte2{display:grid;grid-template-columns:1fr 1fr;gap:48px}.faq details{border-bottom:1px solid var(--ligne);padding:14px 0}.faq summary{cursor:pointer;font-weight:600;color:var(--suie)}.faq p{margin:10px 0 0;color:var(--gris)}
.montac{padding:0 0 56px}.montac p{background:var(--papier);border-left:4px solid var(--cuivre);padding:18px 22px;border-radius:0 12px 12px 0;max-width:none}
/* têtes de page */
.tete{background:linear-gradient(180deg,var(--papier),var(--blanc));padding:26px 0 24px;border-bottom:1px solid var(--ligne)}.tete h1{font-size:clamp(1.8rem,3.4vw,2.7rem);margin-bottom:.3em}.tete-s{color:var(--gris);font-size:1.08rem}
.fil ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0 0 14px;font-size:.85rem}.fil li+li::before{content:"›";margin-right:6px;color:var(--gris)}.fil a{color:var(--ardoise)}
.bande-carte{padding:28px 0 0}.cd-carte{width:100%;height:auto;max-height:440px;background:radial-gradient(circle at 50% 40%,#fff,var(--papier));border:2px solid var(--cuivre);border-radius:var(--r)}
.cd-voisin{fill:#EFE7D8;stroke:#fff;stroke-width:.7;vector-effect:non-scaling-stroke}.cd-dept{fill:#fff;stroke:var(--ardoise);stroke-width:2;stroke-dasharray:6 3;vector-effect:non-scaling-stroke}
.cd-pins circle{fill:var(--braise);stroke:#fff;stroke-width:1.4;vector-effect:non-scaling-stroke}.cd-pins a:hover circle{fill:var(--suie)}.cd-pins text{fill:#fff;font-family:Inter,sans-serif;font-weight:700;pointer-events:none}
.map-note{font-size:.8rem;color:var(--gris)}
/* certificats */
.grille-c{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.cpt{color:var(--gris)}
.certif{position:relative;background:var(--papier);border:1px solid var(--ligne);border-radius:6px;padding:0;box-shadow:0 2px 0 var(--ligne),0 10px 24px rgba(27,22,19,.06);-webkit-mask:radial-gradient(circle 6px at 0 12px,#0000 98%,#000) left/51% 24px repeat-y,radial-gradient(circle 6px at 100% 12px,#0000 98%,#000) right/51% 24px repeat-y;mask:radial-gradient(circle 6px at 0 12px,#0000 98%,#000) left/51% 24px repeat-y,radial-gradient(circle 6px at 100% 12px,#0000 98%,#000) right/51% 24px repeat-y}
.certif-l{display:block;padding:22px 24px 20px 28px;text-decoration:none;color:inherit;border:2px solid transparent;border-top:3px double var(--cuivre);margin:6px 8px;position:relative;min-height:142px}.certif:hover .certif-l{border-color:var(--braise)}
.certif-hd{display:flex;justify-content:space-between;gap:10px;font:600 .66rem Inter;letter-spacing:.12em;text-transform:uppercase;color:var(--cuivre);margin-bottom:8px}.certif-n{color:var(--gris)}
.certif h3{margin:0 0 4px;padding-right:76px;font-size:1.15rem}.num{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--braise);color:#fff;font:700 .75rem Inter;margin-right:8px;vertical-align:2px}
.certif-m{font-size:.85rem;color:var(--braise);font-weight:600;margin:0 0 6px}.certif-a{font-size:.9rem;color:var(--gris);margin:0}
.tampon{position:absolute;right:16px;top:30px;width:64px;height:64px;color:var(--braise);opacity:.8;transform:rotate(-12deg)}.tampon svg{width:100%;height:100%;font-family:Inter,sans-serif;fill:currentColor}
.certif.grand{max-width:none}.certif.grand .certif-hd,.certif.grand h1,.certif.grand .certif-m,.certif.grand dl{padding-inline:36px}.certif.grand{padding:26px 0 30px;border-top:3px double var(--cuivre)}.certif.grand h1{font-size:clamp(1.7rem,3vw,2.4rem);padding-right:140px}
.certif.grand dl{margin:20px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:16px 28px}.certif.grand dt{font:600 .7rem Inter;letter-spacing:.1em;text-transform:uppercase;color:var(--gris)}.certif.grand dd{margin:2px 0 0;font-weight:500}.tampon.big{width:104px;height:104px;right:30px;top:52px}
.fiche{display:grid;grid-template-columns:1.25fr 1fr;gap:36px;padding:34px 0 10px;align-items:start}.fiche-note{font-size:.88rem;color:var(--gris);margin-top:14px}.fiche-act{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:6px}.lien{color:var(--ardoise);font-size:.92rem}
.fiche-carte h2{font-size:1.25rem}.fiche-carte .cd-carte{max-height:380px}
.texte-d p{max-width:78ch}.cta-l{margin-top:20px}.prose h2{margin-top:1.6em}.vide,.vide-r{padding:60px 0;text-align:center}.vide-r{background:var(--papier);border-radius:var(--r);margin:20px 0}.vide-r p{margin-inline:auto}
/* tunnel : tout au-dessus de la ligne de flottaison */
body.p-tunnel{height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column}body.p-tunnel main{display:flex;min-height:0;flex:1}.tunnel{flex:1;display:flex;background:radial-gradient(circle at 80% 10%,#FFF1DA,var(--blanc) 55%)}
.tun-in{display:grid;grid-template-columns:1.5fr 1fr;gap:34px;align-items:stretch;padding:18px 0}.tun-carte{background:#fff;border:2px solid var(--cuivre);border-radius:18px;padding:22px 28px;display:flex;flex-direction:column;box-shadow:0 12px 40px rgba(27,22,19,.08)}
.tun-etapes{display:flex;gap:8px;align-items:center;margin-bottom:14px;position:relative}.tun-etapes span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:700 .85rem Inter;background:var(--papier);color:var(--gris);border:2px solid var(--ligne);z-index:1}.tun-etapes span.on,.tun-etapes span.fait{background:var(--braise);color:#fff;border-color:var(--braise)}
.tun-etapes i{position:absolute;left:30px;right:30px;top:50%;height:3px;background:var(--ligne);transform:translateY(-50%)}.tun-etapes i b{display:block;height:100%;width:0;background:var(--braise);transition:width .3s}
#tunnel,#tunnel .et{display:flex;flex-direction:column;flex:1;min-height:0}#tunnel .et{display:none;border:0;padding:0;margin:0}#tunnel .et.on{display:flex}.et legend{font:700 clamp(1.4rem,3.2vh + 1rem,2rem) 'Playfair Display',serif;color:var(--suie);padding:0;margin-bottom:12px;float:left;width:100%}.et legend+*{clear:both}
.tuiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;flex:1;min-height:0;align-content:stretch}.tuiles.t3{grid-template-columns:repeat(3,1fr)}.tuiles.mini{flex:none}
.tuile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:2px solid var(--ligne);border-radius:14px;background:var(--blanc);cursor:pointer;padding:12px;text-align:center;transition:all .15s;min-height:84px}.tuile:hover{border-color:var(--braise);transform:translateY(-2px)}
.tuile input{position:absolute;opacity:0;inset:0;cursor:pointer}.tuile .ti svg{width:clamp(30px,5vh,46px);height:clamp(30px,5vh,46px);color:var(--braise);display:block}.tuile .ti svg circle{fill:currentColor}.tuile b{font-size:1rem}.tuile:has(input:checked){border-color:var(--braise);background:#FFF1E8}
.ch{display:flex;flex-direction:column;gap:4px;font:600 .82rem Inter;color:var(--ardoise);margin-bottom:12px}.ch input,.ch textarea{font:500 1rem Inter;padding:12px 14px;border:2px solid var(--ligne);border-radius:10px;background:#fff;color:var(--suie)}.ch input:focus,.ch textarea:focus{outline:0;border-color:var(--braise)}
.champs{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.champs .ch:first-child{grid-column:1/-1}.cons{display:flex;gap:10px;font-size:.84rem;color:var(--gris);align-items:flex-start}.cons input{margin-top:3px;flex:none;width:18px;height:18px}
.tun-nav{display:flex;gap:12px;justify-content:space-between;margin-top:14px}.tun-nav .btn{min-width:150px}.tun-nav #t-suiv,.tun-nav #t-env{margin-left:auto}.tun-err{color:#9c1c1c;font-weight:600;font-size:.9rem;margin:8px 0 0}
.tun-aside{background:var(--suie);color:#fff;border-radius:18px;padding:28px 30px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.tun-aside h1{color:#fff;font-size:clamp(1.5rem,3vw,2.2rem)}.tun-aside ul{padding-left:20px;color:#EBDCCB}.tun-aside li{margin-bottom:10px}.tun-n{color:#C9B5A0;font-size:.82rem;margin-top:auto}
.tun-aside::after{content:"";position:absolute;right:-30px;bottom:-30px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(226,96,47,.5),transparent 70%)}
.tun-ok{padding:30px 0}.piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* contact */
.etapes3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}.etapes3 div{background:var(--papier);border-radius:var(--r);padding:18px;border:1px solid var(--ligne)}.etapes3 b{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--braise);color:#fff;margin-bottom:6px}.etapes3 p{margin:0}
.carte-f{background:#fff;border:2px solid var(--cuivre);border-radius:18px;padding:26px 28px;max-width:720px}.carte-f textarea{resize:vertical}
/* pied compact */
.pied{background:var(--suie);color:#CDBCA9;font-size:.85rem;padding:22px 0}.pied-in{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}.pied p{margin:0;max-width:56ch}.pied b{color:#fff}.pied nav{display:flex;gap:6px 18px;flex-wrap:wrap}.pied a{color:#F2B27E;text-decoration:none}.pied a:hover{text-decoration:underline}
body.p404{min-height:100svh}
/* écrans courts et mobiles */
@media (max-height:760px){.hero-in{padding-bottom:6vh}.hero h1{font-size:clamp(1.8rem,5vh + 1vw,2.6rem)}.hero-s{display:none}}
@media (max-width:1180px){.menu a{font-size:.88rem;padding:8px 7px}.marque i{display:none}}
@media (max-width:980px){.menu{position:absolute;left:0;right:0;top:100%;background:var(--blanc);flex-direction:column;align-items:stretch;padding:10px 20px 18px;border-bottom:1px solid var(--ligne);display:none}.mn-c:checked~.menu{display:flex}.menu a.cta{margin:8px 0 0;text-align:center}.mn-b{display:block;width:44px;height:44px;cursor:pointer;position:relative}.mn-b span,.mn-b span::before,.mn-b span::after{position:absolute;left:10px;right:10px;height:3px;background:var(--suie);border-radius:2px;content:"";top:21px}.mn-b span::before{top:-8px;left:0;right:0}.mn-b span::after{top:8px;left:0;right:0}
 .top-in{position:relative}.carte-bloc,.texte2,.fiche{grid-template-columns:1fr}.ch-in{grid-template-columns:1fr 1fr}.grille-c{grid-template-columns:1fr}.etapes3{grid-template-columns:1fr}
 .ticket{grid-template-columns:1fr;max-width:480px}.tk-c{border-right:0;border-bottom:2px dashed var(--ligne)}.tk-c:nth-child(2){border-bottom:0}.ticket::before,.ticket::after{display:none}.ticket .btn{margin:8px 2px 2px}
 .sky,.lune{display:none}.hero{min-height:auto}.hero-in{padding:34px 0 40px}.hero-s{display:block;font-size:1rem}.hero h1{font-size:clamp(1.9rem,8vw,2.6rem)}
 .tun-in{grid-template-columns:1fr;padding:10px 0}.tun-aside{display:none}.tun-carte{padding:16px 16px;border-radius:14px}.tuiles{gap:9px}.tuile{min-height:64px;padding:8px}.tuile b{font-size:.92rem}.champs{grid-template-columns:1fr}.certif.grand dl{grid-template-columns:1fr}.certif.grand h1{padding-right:30px;font-size:1.6rem}.tampon.big{position:static;margin:14px 0 0 30px}.tun-etapes{margin-bottom:8px}.tun-nav{margin-top:8px}}
@media (max-width:980px) and (max-height:700px){.tuile .ti svg{width:26px;height:26px}.ch{margin-bottom:8px}.ch input{padding:9px 12px}.et legend{font-size:1.25rem}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
