:root{
  --sea:#C8DBDC; --land:#E2E0D4; --iberia:#FAF8F1; --border:#B4B19F; --coast:#8FA7A5;
  --ink:#1D2721; --muted:#5E6A62; --bg:#FDFCF8; --line:#E4E1D5; --hover:#F3F0E5; --card:#F6F3EA;
  --pin:#F2B705; --water:#6F9DA6; --relief-opacity:.85; --pin-ink:#1D2721; --link:#B45309; --chip:#EFEBDD;
  --good:#3F7A4B; --mixed:#A16207; --bad:#B42318;
  --display:"Young Serif", Georgia, "Times New Roman", serif;
  --body:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root{
    color-scheme:dark;
    --sea:#0D1A1F; --land:#1A2420; --iberia:#26352D; --border:#3B4B43; --coast:#2F4A4C;
    --ink:#ECEEE6; --muted:#9BA89F; --bg:#121B17; --line:#26312B; --hover:#1B2621; --card:#18221D;
    --link:#F59E0B; --chip:#1F2A24; --water:#3F6B75; --relief-opacity:.6; --good:#7BC48A; --mixed:#E0A93B; --bad:#F2877E;
  }
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 var(--body)}
img{max-width:100%;display:block}
a{color:var(--link)}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--link);outline-offset:2px}

/* top bar */
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:40}
html{scroll-padding-top:76px}  /* anchors (#toys, #slug) land below the sticky bar */
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:700 14px/1 var(--body);letter-spacing:.12em;text-transform:uppercase}
.brand img{width:36px;height:36px;border-radius:9px;background:#fff}
.top nav{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:700}
.top nav a{color:var(--ink);text-decoration:none;padding:9px 14px;line-height:1.2;border-radius:999px;transition:background .15s}
.top nav .show-sm{display:none}
.top nav a:hover{background:var(--hover)}
.top nav a[aria-current=page]{background:var(--pin);color:#1D2721}
.cta{display:inline-block;background:var(--pin);color:#1D2721;font-weight:700;text-decoration:none;padding:9px 14px;border-radius:8px;font-size:14px;line-height:1.2}
.cta:hover{filter:brightness(.95)}

/* ---------- atlas (home) ---------- */
.atlas{display:grid;grid-template-columns:1fr minmax(320px,420px);height:calc(100dvh - 61px)}
.map{position:relative;background:var(--sea);overflow:hidden;touch-action:none;cursor:grab;min-height:0}
.map.drag{cursor:grabbing}
.map svg{display:block;width:100%;height:100%}
.other{fill:var(--land);stroke:var(--border);stroke-width:.6;vector-effect:non-scaling-stroke}
.iberia{fill:var(--iberia);stroke:var(--coast);stroke-width:1;vector-effect:non-scaling-stroke}
.relief{mix-blend-mode:hard-light;opacity:var(--relief-opacity);pointer-events:none}
.lakes{fill:var(--water);stroke:none}
.rivers{fill:none;stroke:var(--water);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}
.rivers.major{stroke-width:1.8}.rivers.minor{stroke-width:.9;opacity:.8}
.coast{fill:none;stroke:var(--coast);stroke-width:.8;vector-effect:non-scaling-stroke;pointer-events:none}
.pin{cursor:pointer}
.pin path.drop{fill:var(--pin);stroke:var(--pin-ink);stroke-width:1.5}
.pin circle.eye{fill:var(--pin-ink)}
.pin.active path.drop{fill:var(--pin-ink);stroke:var(--pin)}
.pin.active circle.eye{fill:var(--pin)}
.pin:hover path.drop{filter:brightness(1.08)}
.pin text{font-family:var(--body);font-weight:600;font-size:13px;dominant-baseline:central;pointer-events:none}
.pin text.label{fill:var(--ink);paint-order:stroke;stroke:var(--iberia);stroke-width:3.5px;stroke-linejoin:round;pointer-events:visiblePainted}
.pin:hover text.label{fill:var(--pin);text-decoration:underline}
.pin .hit{fill:transparent}
.pin .ghost{display:none;fill:var(--pin);stroke:var(--pin-ink);stroke-width:1.5;opacity:.55}
.pin.cluster .ghost{display:inline}
.pin:focus-visible{outline:none}
.pin:focus-visible path.drop{stroke-width:3}
.zoom{position:absolute;right:16px;bottom:16px;display:flex;flex-direction:column;gap:6px}
.zoom button,.chips button{font:600 13px var(--body);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;cursor:pointer}
.zoom button{width:36px;height:36px;font-size:18px;line-height:1}
.chips{position:absolute;left:0;right:64px;bottom:16px;display:flex;gap:6px;padding:2px 16px;overflow-x:auto;scrollbar-width:none;touch-action:pan-x;overscroll-behavior-x:contain}
.chips::-webkit-scrollbar{display:none}
.chips button{flex:none;white-space:nowrap;padding:7px 11px}
@media (hover:none) and (pointer:coarse){
  .zoom{display:none}
  .chips{right:0;bottom:12px}
  .chips button{padding:10px 14px}
}
.zoom button:hover,.chips button:hover{background:var(--hover)}
.map .provinces{fill:none;stroke:var(--ink);stroke-opacity:.28;stroke-width:.7px;vector-effect:non-scaling-stroke;pointer-events:none}
.map .rg{fill:var(--pin);fill-opacity:0;stroke:var(--pin);stroke-opacity:.9;stroke-width:2.2px;stroke-linejoin:round;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill-opacity .15s,stroke-width .15s}
.map .rg:hover{fill-opacity:.08}
.map .rg.on{stroke-opacity:1;stroke-width:4px}
.map.filtered .rg:not(.on){stroke-opacity:.35;stroke-width:1.6px}
.map .borders{fill:none;stroke:var(--ink);stroke-opacity:.75;stroke-width:2px;stroke-dasharray:9 4 2 4;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}
#cities{pointer-events:none}
.city circle{fill:var(--ink);stroke:var(--iberia);stroke-width:1.5px}
.city text{font:600 12px var(--body);fill:var(--muted);dominant-baseline:central;letter-spacing:.02em;paint-order:stroke;stroke:var(--iberia);stroke-width:3px;stroke-linejoin:round}
.city.t1 text{fill:var(--ink);font-size:12.5px}
.city.t2{display:none}
#cities.near .city.t2{display:inline}
#cities.labels .city.dup{display:none}
.chips .fchip{flex:none;white-space:nowrap;min-height:0;padding:7px 12px;font-size:13px;border-radius:999px;background:var(--bg);box-shadow:0 1px 4px rgba(0,0,0,.18)}
.chips .fchip[aria-pressed=true]{background:var(--pin)}
.fmulti,.chips .fmulti{flex:none;white-space:nowrap;font:600 13px/1 var(--body);color:var(--muted);background:var(--bg);border:1px dashed var(--border);border-radius:999px;padding:7px 12px;cursor:pointer}
.chips .fmulti{box-shadow:0 1px 4px rgba(0,0,0,.18)}
.fmulti::before{content:"";display:inline-block;width:10px;height:10px;margin-right:6px;vertical-align:-1px;border:1.5px solid currentColor;border-radius:3px}
.fmulti[aria-pressed=true]{color:var(--ink);border-style:solid;border-color:var(--ink)}
.fmulti[aria-pressed=true]::before{background:var(--ink);box-shadow:inset 0 0 0 1.5px var(--bg)}
.frow .fmulti{padding:9px 14px;font-size:14px}
.vfilter{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:14px}
.vfilter .fchip{min-height:0;padding:6px 11px;font-size:13px}
.vfilter[hidden]{display:none}
/* phone: the tapped place shows as a card over the map (the panel sits below the fold) */
.peek{position:absolute;left:12px;right:12px;bottom:12px;display:grid;grid-template-columns:112px 1fr;gap:12px;align-items:center;padding:10px 40px 10px 10px;background:var(--bg);border:1px solid var(--line);border-radius:12px;box-shadow:0 6px 24px rgba(0,0,0,.28)}
.peek[hidden]{display:none}
.peek .thumb{display:block;width:112px}
.peek .nm{font:400 19px/1.2 var(--display);margin:0 0 5px}
.peek .rating{font-size:11px;padding:3px 8px;margin-bottom:6px}
.peek .go{display:block;font-weight:600;font-size:14px;color:var(--link)}
.peek .x{position:absolute;top:4px;right:4px;width:36px;height:36px;border:0;background:none;color:var(--muted);font-size:22px;line-height:1;cursor:pointer}
@media (max-width:760px){.map.has-peek .chips,.map.has-peek .zoom{display:none}}
@media (min-width:761px){.peek{display:none}}
.atlas aside{border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0;background:var(--bg)}
.atlas .head{padding:22px 22px 16px;border-bottom:1px solid var(--line)}
.atlas h1{font:400 30px/1.15 var(--display);margin:0 0 6px;text-wrap:balance}
.sub{color:var(--muted);margin:0;max-width:44ch;font-size:15px}
.stats{display:flex;gap:18px;margin-top:14px;font-variant-numeric:tabular-nums;color:var(--muted);font-size:13px;line-height:1.3}
.stats b{color:var(--ink);font-size:18px;display:block}
.panel{overflow:auto;flex:1;min-height:0}
.list{list-style:none;margin:0;padding:6px 0}
button.row{width:100%;background:none;border:0;font:inherit;text-align:left;cursor:pointer}
.row{display:grid;grid-template-columns:1fr auto;gap:0 12px;padding:10px 22px;text-decoration:none;color:inherit}
.row:hover{background:var(--hover)}
.row .nm{font:400 17px/1.35 var(--display)}
.row .rg{color:var(--muted);font-size:13px}
.row .rt{grid-row:1/3;grid-column:2;align-self:center}
.preview{padding:18px 22px 26px;display:flex;flex-direction:column;gap:14px}
.preview h2{font:400 28px/1.15 var(--display);margin:0;text-wrap:balance}
.preview .lede{margin:0}
.back{align-self:flex-start;background:none;border:0;color:var(--link);font:600 14px var(--body);cursor:pointer;padding:0}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ghost{font-weight:600;font-size:14px}
.atlas .foot{padding:14px 22px;border-top:1px solid var(--line);display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:13px}
.atlas .foot nav{display:flex;gap:12px}
.atlas .foot nav a{color:var(--muted)}

/* rating chip */
.rating{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:99px;background:var(--chip);white-space:nowrap}
.rating::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.rating.good{color:var(--good)} .rating.mixed{color:var(--mixed)} .rating.bad{color:var(--bad)} .rating.none{color:var(--muted)}

/* thumbnails */
.thumb{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:16/9;background:var(--chip);max-width:100%}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb .du{position:absolute;right:6px;bottom:6px;background:rgba(0,0,0,.78);color:#fff;font-size:12px;font-weight:600;padding:1px 6px;border-radius:4px;font-variant-numeric:tabular-nums}

/* ---------- place page ---------- */
.wrap{max-width:1080px;margin:0 auto;padding-inline:20px}
.crumbs{font-size:14px;color:var(--muted);padding-block:18px 0}
.crumbs a{color:var(--muted)}
.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:32px;padding-block:14px 32px;align-items:start}
.kicker{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.place h1{font:400 clamp(34px,5vw,52px)/1.08 var(--display);margin:0 0 14px;text-wrap:balance}
.place .lede{font-size:19px;line-height:1.55;margin:14px 0 0;max-width:60ch}
.video{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;border-radius:10px;overflow:hidden;background:#000;cursor:pointer;max-width:100%}
.video img{width:100%;height:100%;object-fit:cover;opacity:.92}
.video .play{position:absolute;inset:0;margin:auto;width:68px;height:48px;border-radius:12px;background:#E32;display:grid;place-items:center}
.video .play::after{content:"";border-style:solid;border-width:10px 0 10px 17px;border-color:transparent transparent transparent #fff;margin-left:4px}
.video:hover .play{background:#F33}
.video iframe{width:100%;height:100%;border:0;display:block}
.video-cap{font-size:14px;color:var(--muted);margin:8px 0 0}
.verdict{margin-bottom:40px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px 22px}
.verdict h2{font:400 22px/1.2 var(--display);margin:0 0 12px}
.verdict dl{margin:0;display:grid;gap:12px}
.verdict dt{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.verdict dd{margin:2px 0 0}
.verdict .src{font-size:13px;color:var(--muted);margin:14px 0 0}
.body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;padding-block:8px 48px}
.story h2{font:400 26px/1.2 var(--display);margin:36px 0 6px;text-wrap:balance}
.story h2:first-child{margin-top:0}
.story p{margin:10px 0;max-width:66ch}
.jump{font-size:14px;font-weight:600;text-decoration:none}
.jump:hover{text-decoration:underline}
.tips{margin:36px 0 40px;padding:18px 22px;border-left:3px solid var(--pin);background:var(--card);border-radius:0 10px 10px 0}
.tips h2{margin:0 0 6px;font:400 22px/1.2 var(--display)}
.tips ul{margin:0;padding-left:20px}
.tips li{margin:6px 0}
.side{display:flex;flex-direction:column;gap:28px}
.side h3{font:700 12px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.inset{border-radius:10px;overflow:hidden;border:1px solid var(--line);background:var(--sea)}
.inset svg{display:block;width:100%;height:auto}
.coords{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;margin:8px 0 0}
.vids{display:flex;flex-direction:column;gap:14px}
.vid{display:grid;grid-template-columns:120px 1fr;gap:10px;text-decoration:none;color:inherit;font-size:14px;line-height:1.35}
.vid b{font-weight:600}
.vid:hover b{text-decoration:underline}
.vid span{display:block;color:var(--muted);font-size:12.5px;margin-top:3px;font-variant-numeric:tabular-nums}
.near{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.near a{text-decoration:none;color:var(--ink);font:400 17px/1.3 var(--display)}
.near a:hover{text-decoration:underline}
.near small{display:block;font:13px var(--body);color:var(--muted);font-variant-numeric:tabular-nums}
.subscribe{background:var(--card);border-top:1px solid var(--line)}
.subscribe .wrap{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-block:26px}
.subscribe p{margin:0;font:400 22px/1.3 var(--display);max-width:40ch}
.subbar{display:none}
.firsthand{margin:10px 0 0;font-size:13px;color:var(--muted)}
.firsthand a{color:var(--muted)}
.quick{margin:18px 0 0;padding:14px 16px;border-left:3px solid var(--pin);background:var(--card);border-radius:0 10px 10px 0}
.quick p{margin:0;font-size:15px}
.quick .q{font-weight:700;margin-bottom:4px}
.faq h3{font:600 17px/1.35 var(--body);margin:22px 0 4px}
.faq p{margin:0}
@media (max-width:760px){
  .subbar:not([hidden]){display:flex;position:fixed;left:0;right:0;bottom:0;z-index:10;gap:12px;align-items:center;justify-content:space-between;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);font-size:14px;font-weight:600}
}
.site-foot{font-size:13px;color:var(--muted)}
.site-foot{border-top:1px solid var(--line)}
.site-foot .wrap{display:flex;gap:10px 24px;justify-content:space-between;flex-wrap:wrap;padding-block:22px;line-height:1.7}
.site-foot strong{color:var(--ink)}
.site-foot nav{text-align:right}
.site-foot .amazon{flex-basis:100%;margin:0;font-size:12px}
h2.legal{font:400 20px/1.3 var(--display);margin:26px 0 4px}
@media (max-width:640px){.site-foot nav{text-align:left}}
.site-foot a{color:var(--muted)}
.draft{background:#FEF3C7;color:#78350F;font-size:13px;font-weight:600;text-align:center;padding:6px 12px}

.gear{padding-block:28px 64px}
.gear h1{font:400 44px/1.1 var(--display);margin:0 0 10px}
.gear-head .sub{max-width:62ch;font-size:16px}
.gear-cats{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.gear-cats a{padding:7px 14px;border:1px solid var(--line);border-radius:99px;text-decoration:none;color:var(--ink);font-weight:600;font-size:14px}
.gear-cats a:hover{background:var(--hover)}
.gear-cat{padding-top:36px;scroll-margin-top:12px}
.gear-cat h2{font:400 28px/1.2 var(--display);margin:0}
.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;margin-top:18px}
.product{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--bg);scroll-margin-top:12px}
.product:target{outline:2px solid var(--pin);outline-offset:2px}
.pimg{position:relative;aspect-ratio:4/3;background:#fff;overflow:hidden;max-width:100%;display:grid;place-items:center}
.pimg img:not(.ph){position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pimg img.ph{width:88px;height:88px;padding:0;border-radius:20px}
.pimg:has(img.ph){background:var(--card)}  /* no product photo yet: brand tile, not a faded ghost */
.pbody{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.pbody h3{font:400 20px/1.25 var(--display);margin:0}
.pbody p{margin:0;font-size:15px}
.stars{color:var(--pin);letter-spacing:.1em;font-size:14px}
.pc{display:grid;gap:4px;font-size:14px}
.pc ul{margin:0;padding-left:0;list-style:none}
.pc li{padding-left:20px;position:relative;margin:2px 0}
.pros li::before{content:"+";position:absolute;left:4px;color:var(--good);font-weight:700}
.cons li::before{content:"−";position:absolute;left:4px;color:var(--bad);font-weight:700}
details{font-size:14px}
summary{cursor:pointer;font-weight:600;color:var(--link)}
details p{margin:6px 0}
.pbody .cta{margin-top:auto;align-self:flex-start}

/* simple pages */
.simple{max-width:640px;margin:0 auto;padding:40px 20px 64px}
.simple h1{font:400 38px/1.1 var(--display);margin:0 0 16px}
.links{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-direction:column;gap:10px}
.links a,.links span{display:block;padding:14px 18px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--ink);font-weight:600}
.links a:hover{background:var(--hover)}
.links small{display:block;color:var(--muted);font-weight:400}
.simple h2.region{font:400 22px var(--display);margin:28px 0 4px}
.hub-list{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-direction:column;gap:12px}
.hub-list a{display:flex;flex-direction:column;gap:8px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink)}
.hub-list a:hover{background:var(--hover)}
.hub-list .nm{font:400 22px/1.2 var(--display)}
.hub-list p{margin:0;color:var(--muted);font-size:15px}
.hub-list .more{color:var(--link);font-weight:600;font-size:14px}
/* place cards with the walk's video frame (/places/ grid, region hubs) */
.place-grid{list-style:none;padding:0;margin:16px 0 8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.place-grid a{display:flex;flex-direction:column;gap:6px;height:100%;padding:0 0 14px;border:1px solid var(--line);border-radius:12px;overflow:hidden;text-decoration:none;color:var(--ink);background:var(--bg);transition:transform .15s ease-out,box-shadow .15s ease-out}
.place-grid a:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(29,39,33,.08)}
.place-grid .thumb,.hub-list .thumb{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:var(--card)}
.place-grid .nm{font:400 19px/1.2 var(--display);padding:6px 14px 0}
.place-grid .rating{margin:0 14px}
.place-grid small{color:var(--muted);padding:0 14px;font-size:13px}
.simple.places{max-width:1040px}
.places-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"intro side" "list side";gap:0 40px}
.places-intro{grid-area:intro}.places-list{grid-area:list;min-width:0}
.places-side{grid-area:side;align-self:start;position:sticky;top:84px;padding-top:8px}
.filters{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.frow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.flabel{font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-right:4px}
.fchip{font:600 14px/1 var(--body);color:var(--ink);background:var(--chip);border:1px solid var(--line);border-radius:999px;padding:9px 14px;cursor:pointer;min-height:38px}
.fchip .n{color:var(--muted);font-weight:600;margin-left:2px}
.fchip:hover{border-color:var(--border)}
.fchip[aria-pressed=true]{background:var(--pin);border-color:var(--pin);color:#1D2721}
.fchip[aria-pressed=true] .n{color:#1D2721;opacity:.7}
.fcount{margin:2px 0 0;color:var(--muted);font-size:14px}
.minimap{margin:0}
.minimap svg{display:block;width:100%;height:auto;background:var(--sea);border-radius:12px;border:1px solid var(--line)}
.minimap .land{fill:var(--land);stroke:var(--border);stroke-width:.35}
.minimap .rg{fill:var(--pin);fill-opacity:.22;stroke:var(--pin);stroke-width:.5;cursor:pointer;transition:fill-opacity .15s}
.minimap .rg:hover{fill-opacity:.45}
.minimap .rg.on{fill-opacity:.85}
.minimap .rg:focus-visible{outline:none;stroke:var(--ink);stroke-width:1.2}
.minimap .dot{fill:var(--pin-ink);stroke:var(--iberia);stroke-width:.8;pointer-events:none}
.minimap .dot.dim{opacity:.25}
.minimap figcaption{font-size:13px;color:var(--muted);margin-top:6px;text-align:center}
.region-sec[hidden],.place-grid li[hidden]{display:none}
.fempty{color:var(--muted)}
.fclear{font:600 14px var(--body);color:var(--link);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline}
@media (max-width:760px){.places-layout{grid-template-columns:1fr;grid-template-areas:"intro" "side" "list"}.places-side{position:static;max-width:300px;padding-top:18px}}
.simple.hub{max-width:860px}
.hub-list a{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:start}
.hub-list .thumb{border-radius:8px}
.hub-list .txt{display:flex;flex-direction:column;gap:8px;min-width:0}
@media (max-width:560px){.hub-list a{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.place-grid a{transition:none}.place-grid a:hover{transform:none}}
.hub .also{margin-top:28px;color:var(--muted);font-size:14px}

@media (max-width:860px){
  .hero,.body{grid-template-columns:1fr;gap:24px}
  .side{order:2}
}
@media (max-width:760px){
  .top{padding:10px 16px}
  .top nav{gap:2px;font-size:14px}
  .top nav a{padding:8px 10px}
  .top nav .hide-sm{display:none}
  .top nav .show-sm{display:inline}
  .atlas{grid-template-columns:1fr;grid-template-rows:58dvh auto;height:auto}
  .atlas aside{border-left:0;border-top:1px solid var(--line)}
  .panel{overflow:visible}
  .atlas .head{padding:18px 16px 14px}.row{padding:10px 16px}.preview{padding:16px 16px 24px}.atlas .foot{padding:14px 16px}
  .atlas h1{font-size:26px}
  .wrap{padding-inline:16px}
  .place .lede{font-size:17px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media (max-width:374px){.top{gap:10px}.top nav{gap:0;font-size:13px}.top nav a{padding:8px 7px}.brand{font-size:12px;letter-spacing:.06em;gap:8px}}
@media (max-width:440px){
  .brand{font-size:0;gap:0}  /* logo only: room for 5 nav items on phones */
  .top nav{gap:0}
}
/* share menus (share.js) */
.share{position:relative;display:inline-block}
.share summary{list-style:none;display:inline-flex;align-items:center;gap:6px;font:600 14px var(--body);color:var(--ink);background:var(--chip);border:1px solid var(--line);border-radius:999px;padding:8px 14px;cursor:pointer;user-select:none}
.share summary::-webkit-details-marker{display:none}
.share summary:hover,.share[open] summary{border-color:var(--border)}
.share-menu{position:absolute;z-index:20;top:calc(100% + 6px);left:0;display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:4px;padding:8px;background:var(--bg);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.16)}
.share-menu a,.share-menu button{font:600 14px var(--body);color:var(--ink);text-decoration:none;text-align:left;background:none;border:0;border-radius:8px;padding:9px 10px;cursor:pointer}
.share-menu a:hover,.share-menu button:hover{background:var(--hover)}
.share-menu .copy{grid-column:1/-1;border-top:1px solid var(--line);border-radius:0 0 8px 8px}
.video-cap + .share{margin-top:12px}
.share-end{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:32px;padding-top:20px;border-top:1px solid var(--line)}
.share-end p{margin:0;font-weight:600}
.share-end .share-menu{top:auto;bottom:calc(100% + 6px)}
.pactions{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pactions .cta{margin-top:0}
.pactions .share-menu{left:auto;right:0;top:auto;bottom:calc(100% + 6px);grid-template-columns:repeat(2,minmax(96px,1fr))}
.share.mini summary{padding:5px 11px;font-size:13px;gap:5px}
.share.mini summary svg{width:14px;height:14px}
.place-grid li,.hub-list li{position:relative}
.place-grid li > .share{position:absolute;right:12px;bottom:10px}
.hub-list li > .share{position:absolute;right:16px;bottom:14px}
.place-grid .share-menu,.hub-list .share-menu{top:auto;bottom:calc(100% + 6px);left:auto;right:0}
.preview .share{margin-top:4px}
/* home head when one region is picked (map.js), and the same text on region pages */
.head .hd[hidden]{display:none}
.head .hd > .back{margin-bottom:14px}
.atlas .rh{font:400 30px/1.15 var(--display);margin:0 0 6px}
.head .ours{margin-top:8px}
.rlinks{display:flex;flex-wrap:wrap;gap:6px 16px;margin:12px 0 0;font-size:14px;font-weight:600}
.rlinks a{color:var(--link)}
.hub-intro{margin:18px 0 0;max-width:680px}
.hub-intro p{margin:0 0 10px}
@media (max-width:760px){.atlas .rh{font-size:26px}}
/* back button + crumbs (+ share on region pages) above each page's title */
.backnav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding-top:18px;margin-bottom:6px}
.backnav .crumbs{padding:0;margin:0}
.backnav .share{margin-left:auto}
.backnav .back{display:inline-flex;align-items:center;font:600 14px var(--body);color:var(--ink);text-decoration:none;background:var(--chip);border:1px solid var(--line);border-radius:999px;padding:6px 13px}
.backnav .back:hover{border-color:var(--border)}
.backnav .share-menu{left:auto;right:0}
/* clickable numbers in the map's side head (map.js) */
/* each one a tile with a ›, so it reads as a button and not a figure */
.stats:has(.stat){display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px}
.stats .stat{position:relative;font:inherit;color:inherit;text-align:left;background:var(--chip);border:1px solid var(--line);border-radius:12px;padding:7px 24px 7px 11px;cursor:pointer}
.stats .stat::after{content:"›";position:absolute;right:9px;top:50%;transform:translateY(-55%);font-size:17px;color:var(--muted)}
.stats .stat:hover,.stats .stat:focus-visible{color:var(--ink);border-color:var(--border)}
.stats .stat[aria-pressed=true]{background:var(--pin);border-color:var(--pin);color:#1D2721}
.stats .stat[aria-pressed=true] b,.stats .stat[aria-pressed=true]::after{color:#1D2721}
/* "walks on film" list in the panel */
.walks{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.walks li{display:grid;grid-template-columns:136px 1fr;gap:12px;align-items:start}
.walks .thumb{position:relative;display:block;border-radius:8px;overflow:hidden}
.walks .thumb img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.walks .wt{display:block;font-weight:600;font-size:14px;line-height:1.35;color:var(--ink);text-decoration:none}
.walks .wt:hover{text-decoration:underline}
.walks .wp{display:block;margin-top:4px;font-size:13px;color:var(--link)}
