.wine{background:radial-gradient(80% 60% at 20% 0%,#4a1515 0%,var(--cellar) 55%,#1a0b0b 100%)}
.wm{display:grid;grid-template-columns:minmax(300px,.9fr) 1.1fr;gap:clamp(24px,4vw,64px);margin-top:clamp(36px,5vw,64px);align-items:start}
.wm__map{position:sticky;top:calc(var(--hh) + 28px);aspect-ratio:1/1.02;max-width:560px;width:100%;margin:0 auto}
.wm__map svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.fr{fill:rgba(106,29,29,.42);stroke:var(--gold);stroke-width:.35;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-width:1}
.fr-i{fill:none;stroke:rgba(217,164,65,.14);stroke-width:.5;stroke-dasharray:1.5 2}
.pt{position:absolute;width:44px;height:44px;translate:-50% -50%;background:none;border:0;padding:0;z-index:2}
.pt__d{position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px;border-radius:50%;background:var(--glow);box-shadow:0 0 18px 6px rgba(255,181,97,.55);transition:scale .5s var(--ease),box-shadow .5s,background .4s}
.pt__d::after{content:"";position:absolute;inset:-9px;border:1px solid var(--glow);border-radius:50%;opacity:0;animation:pt 3.2s var(--ease) infinite}
.pt:nth-child(2n) .pt__d::after{animation-delay:1.1s}.pt:nth-child(3n) .pt__d::after{animation-delay:2s}
@keyframes pt{0%{scale:.4;opacity:.8}100%{scale:1.9;opacity:0}}
.pt__l{position:absolute;top:50%;left:34px;translate:0 -50%;font-size:.78rem;font-weight:600;letter-spacing:.04em;white-space:nowrap;color:var(--flour);text-shadow:0 1px 8px #000,0 0 14px #000;transition:color .4s}
.pt--l .pt__l{left:auto;right:34px}
.pt--b .pt__l{top:34px;left:50%;translate:-50% 0}
.pt[aria-pressed=true] .pt__d{scale:1.5;background:#fff;box-shadow:0 0 30px 12px rgba(255,181,97,.8)}
.pt[aria-pressed=true] .pt__l{color:var(--gold)}
.wm.has-sel .pt[aria-pressed=false] .pt__d{scale:.7;box-shadow:0 0 8px 2px rgba(255,181,97,.3)}
.pt.nog .pt__d{background:#caa066}
.wm__chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.chip{min-height:44px;padding:8px 18px;border:1px solid var(--line);border-radius:999px;background:transparent;font-size:.84rem;font-weight:600;transition:background .4s,color .4s,border-color .4s}
.chip[aria-pressed=true]{background:var(--gold);color:#1F1F1F;border-color:var(--gold)}
@media (hover:hover){.chip:hover{border-color:var(--gold)}}
.wm__out h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.1;margin-bottom:6px}
.wm__out h3 em{color:var(--gold)}
.wm__msg{color:var(--flour-dim);margin:10px 0 18px;max-width:52ch}
.wm__sub{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:700;margin:26px 0 6px;display:flex;justify-content:space-between;gap:12px}
.wl li{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid rgba(245,240,230,.12);animation:rowin .8s var(--ease) both;animation-delay:calc(var(--i,0) * 45ms)}
.wl--b li{grid-template-columns:1fr auto auto;gap:18px}
@keyframes rowin{from{opacity:0;translate:0 12px}}
.sw{width:11px;height:11px;border-radius:50%;border:1px solid rgba(245,240,230,.5)}
.sw--red{background:#7a1426}.sw--white{background:#e8dca0}.sw--rose{background:#e8909a}.sw--sparkling{background:#f3ecc9;box-shadow:0 0 0 2px rgba(217,164,65,.5)}
.wl__n small{display:block;color:var(--flour-dim);font-size:.76rem}
.wl__p{font-family:var(--sans);font-weight:500;font-size:1.05rem;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}
.wl__p small{font-family:var(--sans);font-size:.72rem;color:var(--flour-dim)}
.wl--b .wl__p b{font-weight:600;color:var(--gold)}
.wm__src{margin-top:34px}
.wm__static{grid-column:1/-1}
.wm__static h3{font-family:var(--serif);font-weight:400;font-size:1.6rem;margin:22px 0 8px}
.wm__static li{display:flex;gap:14px;padding:8px 0;border-bottom:1px solid rgba(245,240,230,.12)}
.wm__static li span{color:var(--flour-dim);margin-left:auto}
.wm.on .wm__static{display:none}
html.js .wm:not(.on) .wm__map,html.js .wm:not(.on) .wm__side{display:none}
html:not(.js) .wm__map,html:not(.js) .wm__side{display:none}
@media (max-width:900px){.wm{grid-template-columns:1fr}.wm__map{position:relative;top:auto;max-width:420px}.pt__l{font-size:.72rem}}
@media (prefers-reduced-motion:reduce){.pt__d::after{animation:none}.wl li{animation:none}}
