/* ============ Page Événements ============ */
[hidden]{display:none!important}
body.ev{background:var(--forest)}
body.drawer-open{overflow:hidden}
.c-sport{--c:#8fd0f5}.c-music{--c:#f6a58b}.c-wine{--c:#e88ba2}.c-fete{--c:#efc064}.c-anz{--c:#93da9f}

/* ---------- Hero ---------- */
.evhero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;color:var(--cream);overflow:hidden;background:linear-gradient(180deg,#07110d 0%,#0e1f17 45%,#1b3a2b 78%,#254a37 100%);padding:8rem 0 clamp(14rem,36vh,22rem)}
.evhero__sky{position:absolute;inset:0;overflow:hidden}
.aurora{position:absolute;width:90vmax;height:60vmax;border-radius:50%;filter:blur(80px);opacity:.38;mix-blend-mode:screen;will-change:transform}
.aurora--a{left:-25vmax;top:-30vmax;background:radial-gradient(closest-side,#2c9a74,transparent);animation:aur 18s ease-in-out infinite alternate}
.aurora--b{right:-30vmax;top:-34vmax;background:radial-gradient(closest-side,#7a5bd6,transparent);opacity:.26;animation:aur 23s ease-in-out infinite alternate-reverse}
@keyframes aur{to{transform:translate3d(10vmax,6vmax,0) rotate(18deg) scale(1.15)}}
.stars{position:absolute;inset:0}
.stars i{position:absolute;width:var(--s);height:var(--s);border-radius:50%;background:#fff;opacity:.2;animation:tw 3.6s ease-in-out var(--d) infinite}
@keyframes tw{50%{opacity:.95;transform:scale(1.5)}}
#fx{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair}
.ridge{position:absolute;left:-2%;bottom:-1px;width:104%;height:46%;display:block;will-change:transform}
.ridge--3{fill:#2b5640;opacity:.9}
.ridge--2{fill:#1d3a2c}
.ridge--1{fill:var(--forest);height:34%}
.evhero__content{position:relative;z-index:2;display:grid;gap:1.6rem;pointer-events:none}
.evhero__content a,.evhero__content button{pointer-events:auto}
.evhero__title{font-family:var(--ff-d);font-weight:300;font-size:clamp(3.6rem,13vw,12.5rem);line-height:.92;letter-spacing:-.035em;font-variation-settings:"opsz" 144;text-shadow:0 2px 60px rgba(0,0,0,.35)}
.evhero__title em{color:var(--honey);font-weight:300}
.evhero__title em .w>span{background:linear-gradient(100deg,var(--honey) 20%,#f7d58c 50%,var(--honey) 80%) 0 0/220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shine 6s linear infinite}
@keyframes shine{to{background-position:-220% 0}}
.evhero__lead{max-width:36rem;font-size:clamp(1.05rem,1.4vw,1.3rem);color:rgba(245,239,228,.88)}
.evhero__cta{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.6rem}
.evhero__hint{position:absolute;z-index:2;right:var(--gut);bottom:clamp(8rem,17vh,12rem);font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(245,239,228,.75);display:flex;align-items:center;gap:.7rem;transition:opacity .6s;pointer-events:none}
.evhero__hint::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--honey);animation:pulse 2.4s infinite}
.evhero__hint.is-gone{opacity:0!important}
.evhero__ticker{position:absolute;z-index:3;left:0;right:0;bottom:0;overflow:hidden;white-space:nowrap;padding:1.1rem 0;border-top:1px solid rgba(245,239,228,.12);background:rgba(20,35,28,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.evhero__track{display:inline-flex;align-items:center;gap:1.8rem;animation:marq 60s linear infinite;font-family:var(--ff-d);font-style:italic;font-weight:300;font-size:clamp(1.1rem,2vw,1.6rem);color:rgba(245,239,228,.85);padding-right:1.8rem}
.evhero__track i{font-style:normal;color:var(--honey);font-size:.6em}

/* ---------- Spotlight (Mondiaux) ---------- */
.spot{position:relative;background:var(--forest);color:var(--cream);padding-block:clamp(5rem,10vw,9rem);overflow:hidden}
.spot::before{content:"";position:absolute;inset:auto -10% -40% -10%;height:80%;background:radial-gradient(closest-side,rgba(143,208,245,.16),transparent);pointer-events:none}
#snow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.spot__grid{position:relative;display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.spot__main{display:grid;gap:1.6rem}
.spot__text{max-width:34rem;color:rgba(245,239,228,.82);font-size:1.1rem}
.count{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.5rem,1.4vw,1.1rem);max-width:40rem;margin-block:.6rem}
.count__u{display:grid;gap:.5rem;justify-items:center;padding:clamp(1rem,2.4vw,1.8rem) .4rem;border-radius:22px;background:rgba(245,239,228,.06);box-shadow:inset 0 0 0 1px rgba(245,239,228,.14);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.count__u b{display:block;overflow:hidden;font-family:var(--ff-d);font-weight:300;font-size:clamp(2.2rem,5.4vw,4.6rem);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--cream)}
.count__u span{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--honey)}
.spot__btns{display:flex;flex-wrap:wrap;gap:1rem}
.spot__next{padding:clamp(1.4rem,2.4vw,2.2rem);border-radius:28px;background:rgba(245,239,228,.06);box-shadow:inset 0 0 0 1px rgba(245,239,228,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;gap:1.2rem}
#nextList{display:grid}
#nextList li+li{border-top:1px solid rgba(245,239,228,.12)}
.nx{}
#nextList button{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:.95rem .2rem;text-align:left;transition:transform .5s var(--ease),color .3s}
#nextList button:hover{transform:translateX(.5rem);color:var(--honey)}
.nx__d{display:grid;place-items:center;width:3.4rem;height:3.4rem;border-radius:16px;background:var(--cream);color:var(--forest);line-height:1}
.nx__d b{font-family:var(--ff-d);font-weight:500;font-size:1.35rem}
.nx__d small{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;margin-top:-.2rem}
.nx__t{display:grid;gap:.1rem;min-width:0}
.nx__t strong{font-weight:500;line-height:1.25}
.nx__t em{font-style:normal;font-size:.85rem;color:rgba(245,239,228,.6)}
.nx__r{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--honey);white-space:nowrap}

/* ---------- Calendrier ---------- */
.cal{background:var(--cream);color:var(--ink);position:relative;z-index:1;border-radius:clamp(28px,4vw,56px) clamp(28px,4vw,56px) 0 0;margin-top:calc(clamp(28px,4vw,56px) * -1)}
.cal .head{margin-bottom:clamp(2rem,4vw,3.5rem)}
.year{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.4rem;margin-bottom:clamp(1.6rem,3vw,2.6rem)}
.yr{display:grid;gap:.45rem;justify-items:center;padding:.6rem .1rem .7rem;border-radius:18px;transition:background .4s var(--ease),transform .4s var(--ease)}
.yr:hover{background:rgba(20,35,28,.06);transform:translateY(-3px)}
.yr__bar{display:flex;align-items:flex-end;height:54px;width:100%;max-width:34px}
.yr__bar i{display:block;width:100%;min-height:4px;height:max(var(--h),8%);border-radius:99px;background:rgba(20,35,28,.18);transition:background .4s;transform-origin:bottom}
.yr b{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--mute)}
.yr small{font-size:.68rem;color:var(--mute);height:1em}
.yr.is-on{background:var(--forest)}
.yr.is-on .yr__bar i{background:var(--honey)}
.yr.is-on b,.yr.is-on small{color:var(--cream)}
.toolbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:1.1rem}
.toolbar__nav{display:flex;align-items:center;gap:.9rem;transition:opacity .4s}
.toolbar__nav.is-off{opacity:.25;pointer-events:none}
.toolbar__month{font-family:var(--ff-d);font-weight:350;font-size:clamp(1.7rem,3.4vw,2.8rem);line-height:1;letter-spacing:-.02em;min-width:9ch;text-align:center}
.circ{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(20,35,28,.25);transition:background .4s,color .4s,transform .4s var(--ease)}
.circ svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.circ:hover:not(:disabled){background:var(--forest);color:var(--cream);transform:scale(1.06)}
.circ:disabled{opacity:.3;cursor:default}
.pillbtn{padding:.6rem 1.1rem;border-radius:99px;box-shadow:inset 0 0 0 1px rgba(20,35,28,.25);font-size:.88rem;transition:background .4s,color .4s}
.pillbtn:hover{background:var(--forest);color:var(--cream)}
.views{display:inline-flex;padding:.3rem;border-radius:99px;background:var(--paper)}
.views button{padding:.6rem 1.3rem;border-radius:99px;font-size:.9rem;font-weight:500;color:var(--mute);transition:background .4s var(--ease),color .4s}
.views button.is-on{background:var(--forest);color:var(--cream)}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1.4rem}
.chip{display:inline-flex;align-items:center;gap:.55rem;padding:.55rem 1rem;border-radius:99px;box-shadow:inset 0 0 0 1px rgba(20,35,28,.2);font-size:.88rem;transition:background .35s,color .35s,box-shadow .35s,transform .35s var(--ease)}
.chip i{width:.65rem;height:.65rem;border-radius:50%;background:var(--c)}
.chip small{font-size:.72rem;color:var(--mute)}
.chip:hover{transform:translateY(-2px)}
.chip.is-on{background:var(--forest);color:var(--cream);box-shadow:none}
.chip.is-on small{color:rgba(245,239,228,.65)}
.chip--place b{font-weight:400;font-size:1.1rem;line-height:1;margin-left:.1rem}
.legend{margin-left:auto;display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--mute)}
.lg{display:inline-block;width:1.5rem;height:.7rem;border-radius:99px;background:var(--forest);margin-left:.7rem}
.lg--tbc{background:repeating-linear-gradient(135deg,rgba(20,35,28,.55) 0 4px,transparent 4px 8px);box-shadow:inset 0 0 0 1px rgba(20,35,28,.55)}

.calwrap{position:relative}
.grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-radius:24px;background:#fbf8f1;box-shadow:0 0 0 1px rgba(20,35,28,.1),0 30px 60px -40px rgba(20,35,28,.35);overflow:hidden}
.wd{padding:.9rem .5rem;text-align:center;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);background:var(--paper)}
.day{position:relative;min-height:clamp(104px,9.5vw,138px);padding:.4rem 0 .5rem;border-right:1px solid rgba(20,35,28,.08);border-top:1px solid rgba(20,35,28,.08);display:flex;flex-direction:column;gap:.25rem;transition:background .3s}
.day:nth-child(7n+7){border-right:0}
.day.has{cursor:pointer}
.day.has:hover{background:rgba(224,168,71,.1)}
.day.out{background:rgba(20,35,28,.035)}
.day.out .num{opacity:.35}
.day .num{align-self:flex-start;margin-left:.5rem;display:grid;place-items:center;min-width:1.8rem;height:1.8rem;padding-inline:.2rem;border-radius:99px;font-size:.84rem;font-weight:500}
.day.today .num{background:var(--forest);color:var(--cream)}
.lanes{display:grid;gap:3px}
.slot{height:24px}
.pill{position:relative;display:block;width:calc(100% + 1px);height:24px;margin-right:-1px;padding:0 .5rem;background:var(--c);color:var(--forest);font-size:.76rem;font-weight:500;line-height:24px;text-align:left;white-space:nowrap;border-radius:0;transition:filter .3s,transform .3s var(--ease)}
.pill span{position:relative;z-index:2;display:block}
.pill.cap-l{margin-left:5px;width:calc(100% - 4px);border-radius:99px 0 0 99px}
.pill.cap-r{margin-right:5px;width:calc(100% - 5px);border-radius:0 99px 99px 0}
.pill.cap-l.cap-r{margin-inline:5px;width:calc(100% - 10px);border-radius:99px}
.pill.cap-l.cap-r span{overflow:hidden;text-overflow:ellipsis}
.pill:hover{filter:brightness(1.06) saturate(1.2)}
.pill.big{background:linear-gradient(100deg,var(--c),#cfeaff,var(--c));background-size:200% 100%;animation:shine 5s linear infinite;font-weight:600}
.pill.tbc{background:repeating-linear-gradient(135deg,var(--c) 0 6px,color-mix(in srgb,var(--c) 50%,#fbf8f1) 6px 12px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 70%,#14231c)}
.pill.past{opacity:.45}
.more{margin-left:.55rem;font-size:.68rem;color:var(--mute)}
.grid__empty{grid-column:1/-1;padding:1.2rem;text-align:center;color:var(--mute);font-size:.92rem;border-top:1px solid rgba(20,35,28,.08)}
.cal__note{margin-top:1.4rem;font-size:.84rem;color:var(--mute);max-width:46rem}

/* agenda */
.agenda{display:grid;gap:.5rem}
.agenda .grid__empty{background:#fbf8f1;border-radius:24px;padding:3rem}
.ag__m{font-family:var(--ff-d);font-weight:350;font-size:clamp(1.5rem,2.6vw,2.2rem);letter-spacing:-.015em;margin:1.6rem 0 .4rem;color:var(--forest)}
.ag__m:first-child{margin-top:0}
.ag{width:100%;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:clamp(.8rem,2vw,1.6rem);padding:1rem clamp(1rem,2vw,1.6rem);border-radius:22px;background:#fbf8f1;box-shadow:inset 0 0 0 1px rgba(20,35,28,.09);text-align:left;position:relative;overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s,background .4s}
.ag::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--c)}
.ag.tbc::before{background:repeating-linear-gradient(180deg,var(--c) 0 6px,transparent 6px 10px)}
.ag:hover{transform:translateX(.45rem);background:#fff;box-shadow:inset 0 0 0 1px rgba(20,35,28,.18),0 20px 40px -28px rgba(20,35,28,.5)}
.ag__d{display:grid;justify-items:center;min-width:4rem;line-height:1}
.ag__d b{font-family:var(--ff-d);font-weight:400;font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.02em;white-space:nowrap}
.ag__d b em{font-size:.6em;color:var(--mute)}
.ag__d small{margin-top:.25rem;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);white-space:nowrap}
.ag__b{display:grid;gap:.15rem;min-width:0}
.ag__b strong{font-weight:500;font-size:1.05rem;line-height:1.3}
.ag__b em{font-style:normal;font-size:.88rem;color:var(--mute)}
.ag__tag{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--mute);white-space:nowrap}
.ag__tag i{width:.6rem;height:.6rem;border-radius:50%;background:var(--c)}
.ag__st{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;padding:.35rem .7rem;border-radius:99px;white-space:nowrap}
.ag__st.ok{background:rgba(47,90,67,.12);color:var(--moss)}
.ag__st.tbc{background:rgba(185,116,59,.14);color:var(--larch)}

/* ---------- Toute la saison ---------- */
.season{background:var(--cream);padding-top:0}
.season__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));max-width:56rem;margin-inline:auto;gap:clamp(1rem,2vw,1.8rem)}
.scard{display:grid;gap:1rem;align-content:start;padding:clamp(1.6rem,2.8vw,2.6rem);border-radius:28px;background:var(--paper);transition:box-shadow .6s var(--ease),background .5s;will-change:transform}
.scard:hover{background:var(--forest);color:var(--cream);box-shadow:0 40px 70px -35px rgba(20,35,28,.6)}
.scard__i{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--forest);color:var(--honey);transition:background .5s,color .5s}
.scard:hover .scard__i{background:var(--honey);color:var(--forest)}
.scard__i svg{width:32px;height:32px}
.scard h3{font-family:var(--ff-d);font-weight:350;font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.1;letter-spacing:-.01em;margin-top:.6rem}
.scard p{color:var(--mute);font-size:.98rem;transition:color .5s}
.scard:hover p{color:rgba(245,239,228,.78)}
.scard__a{margin-top:.6rem;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--larch);transition:color .5s}
.scard:hover .scard__a{color:var(--honey)}

/* ---------- Carte ---------- */
.map{background:var(--forest);color:var(--cream);position:relative;overflow:hidden}
.map__grid{display:grid;grid-template-columns:1fr 1.75fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.map__txt{display:grid;gap:1.4rem}
.map__txt p:not(.eyebrow){color:rgba(245,239,228,.8)}
.map__small{font-size:.8rem;color:rgba(245,239,228,.5)!important}
.map__svg{position:relative;border-radius:32px;background:linear-gradient(180deg,#183327,#102018);box-shadow:inset 0 0 0 1px rgba(245,239,228,.12);overflow:hidden}
.map__svg svg{display:block;width:100%;height:auto}
.map__range{fill:url(#gv);stroke:rgba(245,239,228,.12);stroke-width:1}
.map__range--b{fill:rgba(47,90,67,.35);stroke:none}
.map__river{fill:none;stroke:#5aa7d6;stroke-width:3;stroke-linecap:round;opacity:.55}
.map__line{fill:none;stroke:var(--honey);stroke-width:1.4;stroke-dasharray:3 6;opacity:.55}
.town{cursor:pointer;outline:none}
.town__dot{fill:var(--cream);stroke:var(--forest);stroke-width:2;transition:fill .3s,r .3s}
.town__pulse{fill:var(--honey);opacity:0;transform-box:fill-box;transform-origin:center}
.town.has .town__pulse{animation:ping 2.6s ease-out infinite}
@keyframes ping{0%{transform:scale(.4);opacity:.6}100%{transform:scale(2.2);opacity:0}}
.town:not(.has){opacity:.5;cursor:default}
.town:hover .town__dot,.town.is-on .town__dot,.town:focus-visible .town__dot{fill:var(--honey)}
.town.is-on .town__n{fill:var(--honey)}
.town__n{fill:var(--cream);font-size:21px;font-weight:500;text-anchor:middle;font-family:var(--ff-b);paint-order:stroke;stroke:#102018;stroke-width:4px}
.town__m{fill:rgba(245,239,228,.65);font-size:15px;text-anchor:middle;font-family:var(--ff-b)}
.town__b circle{fill:var(--honey)}
.town__b text{fill:var(--forest);font-size:15px;font-weight:600;text-anchor:middle;font-family:var(--ff-b)}
.town--home{cursor:default}
.town--home .town__pulse{opacity:.5;animation:ping 2.2s ease-out infinite}
.town__star{fill:var(--honey)}
.town__n--h{fill:var(--honey);font-size:22px}

/* ---------- Appel à l'action ---------- */
.evcta{position:relative;min-height:80svh;display:grid;align-items:center;overflow:hidden;color:var(--cream)}
.evcta__bg{position:absolute;inset:-12% 0;width:100%;height:124%;object-fit:cover;will-change:transform}
.evcta__shade{position:absolute;inset:0;background:linear-gradient(180deg,var(--forest) 0%,rgba(20,35,28,.55) 30%,rgba(20,35,28,.7) 100%)}
.evcta__in{position:relative;display:grid;gap:1.6rem;justify-items:center;text-align:center;padding-block:clamp(5rem,10vw,9rem)}
.evcta__in .eyebrow::before{display:none}
.evcta__title{font-family:var(--ff-d);font-weight:300;font-size:clamp(2.8rem,8vw,7.6rem);line-height:.98;letter-spacing:-.03em}
.evcta__title em{color:var(--honey)}
.evcta__text{max-width:34rem;color:rgba(245,239,228,.88);font-size:1.1rem}
.evcta__btns{margin-top:.6rem}

/* ---------- Panneau de détail ---------- */
.drawer{position:fixed;inset:0;z-index:80;visibility:hidden;pointer-events:none}
.drawer.is-open{visibility:visible;pointer-events:auto}
.drawer__veil{position:absolute;inset:0;background:rgba(8,16,12,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .6s var(--ease)}
.drawer.is-open .drawer__veil{opacity:1}
.drawer__panel{position:absolute;top:0;right:0;bottom:0;width:min(560px,100%);background:var(--cream);color:var(--ink);border-radius:32px 0 0 32px;transform:translateX(102%);transition:transform .8s var(--ease);overflow-y:auto;overscroll-behavior:contain;padding:clamp(1.6rem,3vw,3rem);padding-top:5.2rem}
.drawer.is-open .drawer__panel{transform:none}
.drawer__close{position:absolute;top:1.2rem;right:1.2rem;background:var(--cream)}
.drawer__body{display:grid;gap:1.3rem;align-content:start}
.dw__cat{display:inline-flex;align-items:center;gap:.6rem;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--larch)}
.dw__cat i{width:.8rem;height:.8rem;border-radius:50%;background:var(--c,var(--honey))}
.dw__title{font-family:var(--ff-d);font-weight:350;font-size:clamp(2rem,4vw,3.2rem);line-height:1.04;letter-spacing:-.02em}
.dw__st{justify-self:start;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;padding:.4rem .8rem;border-radius:99px}
.dw__st.ok{background:rgba(47,90,67,.12);color:var(--moss)}
.dw__st.tbc{background:rgba(185,116,59,.14);color:var(--larch)}
.dw__meta{display:grid;margin:0;border-top:1px solid rgba(20,35,28,.14)}
.dw__meta div{display:grid;grid-template-columns:7rem 1fr;gap:1rem;padding:.9rem 0;border-bottom:1px solid rgba(20,35,28,.14)}
.dw__meta dt{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);padding-top:.2rem}
.dw__meta dd{margin:0;font-weight:500}
.dw__desc{color:#3b3a34;font-size:1.04rem}
.dw__btns{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin-top:.4rem}
.btn--ghost-d{--bg:transparent;--fg:var(--forest);--hover:var(--forest);box-shadow:inset 0 0 0 1px rgba(20,35,28,.35)}
.btn--ghost-d:hover{color:var(--cream)}
.dw__link{font-size:.9rem;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--larch)}
.dw__list{display:grid;gap:.6rem}
.dw__list .ag{grid-template-columns:1fr auto}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .spot__grid,.map__grid{grid-template-columns:1fr}
  .season__grid{grid-template-columns:1fr}
  .ag{grid-template-columns:auto 1fr auto}
  .ag__tag{display:none}
}
@media (max-width:760px){
  .evhero{padding-bottom:13rem}
  .evhero__hint{display:none}
  .count{grid-template-columns:repeat(4,1fr)}
  .year{grid-template-columns:repeat(6,minmax(0,1fr));row-gap:.2rem}
  .toolbar{justify-content:center}
  .toolbar__nav.is-off{display:none}
  .legend{margin-left:0;width:100%}
  .day{min-height:78px}
  .wd{padding:.6rem .1rem;letter-spacing:0}
  .slot,.pill{height:9px}
  .pill{line-height:9px;padding:0}
  .pill span{display:none}
  .pill.cap-l{margin-left:2px;width:calc(100% - 1px)}
  .pill.cap-r{margin-right:2px;width:calc(100% - 2px)}
  .pill.cap-l.cap-r{margin-inline:2px;width:calc(100% - 4px)}
  .more{display:none}
  .ag{grid-template-columns:auto 1fr;padding-block:.9rem}
  .ag__st{display:none}
  .dw__meta div{grid-template-columns:5.5rem 1fr}
  .drawer__panel{border-radius:28px 28px 0 0;top:auto;height:88%;width:100%;transform:translateY(102%)}
  .menu__inner{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .aurora,.stars i,.pill.big,.evhero__track,.evhero__title em,.town__pulse{animation:none!important}
}
