:root{--cream:#faf7ef;--brown:#44271f;--gold:#a57824;--line:#ded3bf;--muted:#74665a;--silver:#757f87;--bronze:#95633f}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--brown);font:15px/1.65 Arial,Helvetica,sans-serif}a{color:inherit}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.wrap{max-width:1400px;margin:auto;padding:0 48px}header{display:flex;gap:24px;justify-content:space-between;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-size:12px;letter-spacing:3px;font-weight:600}nav{display:flex;gap:26px;font-size:13px}nav a{text-decoration:none}.preview-tag{background:#efe3c8;padding:7px 13px;border-radius:999px;font-size:11px;white-space:nowrap}.hero{text-align:center;padding:55px 0 34px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--gold)}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.1}h1{font-size:clamp(48px,6vw,84px);letter-spacing:-3px;margin:13px 0 18px}.hero p{font-size:16px;max-width:580px;margin:auto;color:var(--muted)}.hero .byline{margin-top:15px;font-size:12px;color:var(--brown)}.categories{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 auto 40px;max-width:1000px}.category{display:flex;gap:20px;align-items:center;text-align:left;padding:20px 24px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--brown)}.category svg{width:45px;height:37px;flex-shrink:0;color:var(--gold)}.category strong{display:block;font:24px Georgia,serif}.category small{letter-spacing:1px;font-size:11px}.category[aria-pressed=true]{background:var(--brown);color:var(--cream);border-color:var(--brown)}.category[aria-pressed=true] svg{color:#d4aa53}.category small{display:block;margin-top:5px}.explore-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px}h2{font-size:38px;letter-spacing:-1px;margin:0 0 18px}.result-count{font-size:12px;color:var(--muted)}.controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.search-label{display:flex;gap:9px;align-items:center;flex:1;min-width:240px}.search-label input{width:100%;background:#fffdf8;border:1px solid var(--line);border-radius:9px;padding:12px 15px;color:var(--brown)}.filter{position:relative}.filter summary{cursor:pointer;border:1px solid var(--line);border-radius:9px;padding:12px 16px;list-style:none;white-space:nowrap}.filter summary:after{content:'⌄';padding-left:18px}.filter[open] summary{border-color:var(--gold)}.filter-menu{position:absolute;z-index:20;top:54px;left:0;min-width:220px;background:#fffdf8;border:1px solid var(--line);box-shadow:0 10px 25px #44271f20;border-radius:12px;padding:15px}.filter-menu label{display:flex;gap:10px;align-items:center;padding:7px 0;font-size:13px;white-space:nowrap}input[type=checkbox]{accent-color:var(--brown);width:17px;height:17px}.filter-menu select{width:100%;border:1px solid var(--line);border-radius:6px;padding:8px;margin:4px 0 12px;background:var(--cream);color:var(--brown)}.filter-menu .label{display:block;font-size:12px}.check-inline{display:flex;gap:8px;align-items:center;font-size:12px;white-space:nowrap}.clear{border:0;background:transparent;text-decoration:underline;color:var(--muted);padding:10px}.layout{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:start}.board{position:sticky;top:25px;min-width:0}.board svg{display:block;width:100%;height:630px;overflow:visible}.board .uk-land{fill:#fffdf8;stroke:#d4c099;stroke-width:1;filter:drop-shadow(5px 7px 5px #44271f1c)}.board .neighbour-land{fill:#efe9da;stroke:#d4c099;stroke-width:.7}.board .country-label{fill:#928476;font:10px Arial,sans-serif;letter-spacing:2px;text-anchor:middle}.board>svg>rect{fill:transparent}.pin-group{cursor:pointer}.pin-visual{transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .3s;transform:translateY(0)}.pin-group.is-out{pointer-events:none}.pin-group.is-out .pin-visual{transform:translateY(-50px) rotate(-16deg);opacity:0}.pin-head{fill:url(#guide-red);stroke:#a21f20;stroke-width:.6}.pin-stem{stroke:#72665a;stroke-width:3}.pin-shadow{fill:#44271f27}.pin-highlight{fill:#ffb7a8}.pin-count{fill:#fff;font:bold 10px Arial;text-anchor:middle;dominant-baseline:middle}.pin-hit{fill:transparent;stroke:none}.pin-group:focus .pin-head,.pin-group:hover .pin-head{stroke:var(--gold);stroke-width:3}.map-note{font-size:11px;color:var(--muted);text-align:center;margin:8px 0}.pin-choice{background:#fffdf8;border:1px solid var(--line);padding:15px;border-radius:10px;margin-top:15px}.pin-choice h3{font-size:23px;margin:0 0 8px}.pin-choice a{display:block;padding:6px 0;font-size:13px}.review-list{display:grid;gap:18px}.review-card{background:#fffdf8;border:1px solid var(--line);border-radius:14px;padding:26px;position:relative;scroll-margin-top:25px}.review-top{display:flex;justify-content:space-between;gap:15px}.review-card h3{font-size:34px;letter-spacing:-.8px;margin:0 0 7px}.location{font-size:12px;color:var(--muted);letter-spacing:.5px}.award{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:11px;text-transform:uppercase;letter-spacing:1px}.award svg{width:35px;height:28px}.award.gold{color:var(--gold)}.award.silver{color:var(--silver)}.award.bronze{color:var(--bronze)}.visited{display:inline-block;font-size:10px;letter-spacing:.5px;border-bottom:1px solid var(--line);padding-bottom:5px;margin-top:16px}.review-card .excerpt{font:22px/1.4 Georgia,serif;margin:17px 0}.card-meta{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:10px;margin-bottom:17px}.actions{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.actions a{font-size:13px;text-decoration:none}.directions{border:1px solid var(--gold);border-radius:9px;padding:9px 14px;color:#8c641d}.save{background:transparent;border:0;padding:8px;color:var(--muted);font-size:12px}.save[aria-pressed=true]{color:var(--gold)}.card-image{width:100%;height:120px;object-fit:contain;margin-top:18px;background:#fff;border-radius:6px}.card-image.photo{height:210px;object-fit:cover}.empty{padding:40px 20px;text-align:center;border:1px dashed var(--line);border-radius:10px;color:var(--muted)}.editorial{padding:65px 0;border-top:1px solid var(--line);margin-top:55px;display:grid;grid-template-columns:1fr 1fr;gap:55px}.editorial p{color:var(--muted);font-size:14px;line-height:1.85}.editorial .girls{width:100%;border-radius:14px;display:block;margin-bottom:20px}.standards{padding:35px 0 65px;border-top:1px solid var(--line)}.standards details{border-bottom:1px solid var(--line);padding:19px 0}.standards summary{cursor:pointer;font:22px Georgia,serif}.standards p{max-width:820px;color:var(--muted);font-size:14px}.tier-definitions{display:flex;gap:26px;flex-wrap:wrap;margin:20px 0;font-size:14px}.tier-definitions strong{display:block;font:24px Georgia,serif}.outing{background:#f0e8d8;border-radius:14px;padding:28px}.outing h3{font-size:32px;margin:5px 0 16px}.outing ol{padding-left:20px}.outing li{padding:8px 0;font-size:14px}.outing small{color:var(--muted);font-size:12px}.review-page{max-width:920px;margin:auto;padding:50px 0}.review-page h1{font-size:65px}.review-page .story{max-width:670px;font:19px/1.85 Georgia,serif;margin-top:32px}.review-page .story p{margin:0 0 24px}.review-page .review-art{max-width:220px;max-height:180px;object-fit:contain;display:block;margin:30px 0}.review-page .review-photo{max-width:650px;width:100%;height:auto;border-radius:14px;margin:25px 0}.parking-line{margin:25px 0;font-size:14px}.parking-icon{display:inline-flex;justify-content:center;align-items:center;border:1px solid var(--brown);border-radius:5px;width:25px;height:25px;font-weight:bold;margin-right:9px;position:relative}.parking-icon.no:after{content:'';position:absolute;width:31px;height:2px;background:var(--brown);transform:rotate(-45deg)}.visit-facts{display:flex;gap:20px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin:20px 0}.policy-box{border-top:1px solid var(--line);margin-top:30px;padding-top:20px;max-width:690px;font-size:13px}.policy-box h2{font-size:26px}.policy-box p{color:var(--muted)}.breadcrumbs{font-size:12px;color:var(--muted);margin-bottom:25px}.related{padding:35px 0;border-top:1px solid var(--line);margin-top:35px}.related a{display:block;margin:12px 0}footer{border-top:1px solid var(--line);padding:24px 0;display:flex;gap:22px;justify-content:space-between;flex-wrap:wrap;font-size:11px;color:var(--muted)}.status-note{font-size:12px;color:var(--muted)}@media(max-width:850px){.wrap{padding:0 25px}.layout{grid-template-columns:1fr}.board{position:relative;top:auto}.board svg{height:430px}.categories{gap:8px}.category{padding:14px;gap:10px}.category strong{font-size:18px}.category svg{width:30px}.category small{font-size:10px}.editorial{gap:30px}.review-page h1{font-size:50px}header{flex-wrap:wrap}nav{gap:16px}}@media(max-width:540px){.wrap{padding:0 18px}.hero{padding:38px 0 27px}h1{letter-spacing:-2px}.categories{grid-template-columns:1fr}.category{justify-content:flex-start;padding:15px 19px}.category strong{font-size:22px}.category small{margin-top:3px}.category svg{width:37px}.editorial{grid-template-columns:1fr;padding:40px 0}.review-top{display:block}.award{margin-top:13px}.review-card{padding:23px}.review-card h3{font-size:30px}.controls{align-items:stretch}.search-label{flex-basis:100%;min-width:0}.filter-menu{min-width:210px}.filter:last-of-type .filter-menu{left:auto;right:0}h2{font-size:30px}.review-page h1{font-size:45px}.review-page .story{font-size:18px}.preview-tag{font-size:10px}.board svg{height:420px}}@media(prefers-reduced-motion:reduce){.pin-visual{transition:none}}

.award-badge{width:88px;height:88px;object-fit:contain;flex-shrink:0}.award{white-space:normal}.review-page>.award .award-badge{width:140px;height:140px}.home-link{font-size:12px;text-decoration:none}.category img{width:64px;height:64px;object-fit:contain}.review-top>div:first-child{min-width:0}.card-meta{flex-wrap:wrap}.board svg{max-width:100%}@media(max-width:540px){.award-badge{width:76px;height:76px}.filter-menu{max-width:calc(100vw - 36px)}.category small{font-size:12px}.board svg{height:440px}}

.pin-visual{transform-origin:0 0;transform:scale(.72);transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .35s}.pin-group.is-out .pin-visual{transform:translateY(-65px) rotate(-20deg) scale(.9);opacity:0}.pin-count{font-size:15px}.review-directory summary{font:24px Georgia,serif;cursor:pointer;padding:15px 0}@media(prefers-reduced-motion:reduce){.pin-visual{transition:none}}

.review-directory{margin:45px 0}.review-directory>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 24px}.review-directory a{font-size:13px;padding:8px 0;text-underline-offset:4px}@media(max-width:700px){.review-directory>div{grid-template-columns:1fr 1fr}}@media(max-width:420px){.review-directory>div{grid-template-columns:1fr}}

/* Floating map artwork must not intercept taps outside its pins. */
.controls{position:relative;z-index:2}
.layout{position:relative;z-index:0}
.board svg{pointer-events:none}
.board .pin-group:not(.is-out){pointer-events:all}
@media(max-width:850px){.search-label input,.filter-menu select{font-size:16px}.filter summary,.filter-menu label,.check-inline,.clear{min-height:44px}}

.standard-slogan{letter-spacing:1.6px;font-size:14px!important;color:var(--brown)!important;max-width:700px!important}
.review-title{font:inherit;color:inherit;background:none;border:0;padding:0;text-align:left;letter-spacing:inherit}
.read-review{background:none;border:0;padding:8px 0;font-size:13px;color:var(--brown);min-height:44px}
.inline-review{border-top:1px solid var(--line);margin-top:20px;padding-top:24px;font:18px/1.8 Georgia,serif;overflow-wrap:break-word}
.inline-review p{margin:0 0 22px}.inline-review p:last-child{margin-bottom:0}
.inline-policy{font:13px/1.7 Arial,sans-serif;border-top:1px solid var(--line);margin-top:24px;padding-top:16px;color:var(--muted)}
.inline-policy p{margin:8px 0}.pin-choice button{display:block;background:none;border:0;color:var(--brown);padding:10px 0;text-align:left;font-size:13px;min-height:44px}
.review-card[hidden],.inline-review[hidden],.excerpt[hidden]{display:none}
@media(max-width:540px){.standard-slogan{font-size:13px!important;letter-spacing:1.2px}.inline-review{font-size:17px}}

.review-vignette{display:block;float:right;object-fit:contain;width:180px;height:120px;margin:14px 0 14px 18px}.review-card .actions,.inline-review{clear:both}@media(max-width:540px){.review-vignette{width:140px;height:100px;margin:12px 0 12px 12px}}

/* Keep the complete map within shorter laptop viewports while reading. */
.wrap{max-width:1240px;padding:0 28px}header{padding:14px 0;gap:16px}
.hero{padding:22px 0 18px}.hero h1{font-size:46px;letter-spacing:-1.5px;margin:8px 0 10px}.hero .byline{margin-top:8px;font-size:11px}
.categories{max-width:none;gap:10px;margin-bottom:18px}.category{padding:10px 15px;gap:12px}.category strong{font-size:20px}.category small{font-size:10px;margin-top:3px}.category img{width:44px;height:44px}
.explore-heading h2{font-size:27px;margin-bottom:12px}.controls{gap:8px;margin-bottom:14px}.search-label input{padding:9px 12px}.filter summary{padding:9px 12px}.filter-menu{top:46px}
.layout{grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);gap:24px}.board{top:16px}.board svg{height:clamp(260px,calc(100dvh - 235px),420px)}.map-note{line-height:1.45;margin:4px 0}
.review-list{gap:12px}.review-card{padding:18px;scroll-margin-top:16px}.review-card h3{font-size:27px;margin-bottom:4px}.award-badge{width:60px;height:60px}.award{font-size:10px;gap:6px}
.visited{margin-top:10px}.review-card .excerpt{font-size:19px;line-height:1.45;margin:12px 0}.card-meta{margin-bottom:10px}.actions{gap:9px}.directions{padding:7px 10px}
.review-vignette{width:150px;height:88px;margin:10px 0 10px 14px}.inline-review{font-size:16px;line-height:1.65;margin-top:12px;padding-top:16px;margin-bottom:18px}.inline-review p{margin-bottom:16px}.inline-policy{margin-top:16px;padding-top:12px}
.pin-choice{padding:12px;margin-top:8px}.pin-choice h3{font-size:20px}.editorial{margin-top:30px;padding:35px 0}.standards{padding:25px 0 40px}
@media(max-width:850px){.wrap{padding:0 20px}.layout{grid-template-columns:1fr}.board{position:relative;top:auto}.board svg{height:340px}.hero h1{font-size:40px}.category strong{font-size:18px}}
@media(max-width:540px){.wrap{padding:0 16px}.hero{padding:18px 0 14px}.hero h1{font-size:36px}.categories{gap:7px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.category{padding:10px 5px;gap:4px;flex-direction:column;text-align:center}.category strong{font-size:16px}.category small{font-size:10px;letter-spacing:0}.category img{width:38px;height:38px}.explore-heading h2{font-size:25px}.board svg{height:300px}.review-top{display:flex;gap:10px}.review-card h3{font-size:25px}.award{flex-direction:column;gap:1px;margin-top:0;flex-shrink:0;max-width:76px;text-align:center}.award-badge{width:52px;height:52px}.review-vignette{width:120px;height:80px;margin:8px 0 8px 10px}.inline-review{font-size:17px;line-height:1.65}.filter-menu{top:48px}}

.review-top>div:first-child{flex:1}.review-top .review-vignette{float:none;flex:0 0 120px;width:120px;height:72px;margin:0}.review-top .award{flex-shrink:0}@media(max-width:1050px) and (min-width:851px){.review-top .review-vignette{flex-basis:88px;width:88px;height:64px}.review-top{gap:10px}}@media(max-width:540px){.review-top{flex-wrap:wrap;gap:7px}.review-top>div:first-child{order:1;flex:1 1 calc(100% - 84px)}.review-top .award{order:2}.review-top .review-vignette{order:3;flex-basis:100%;width:100%;height:60px;object-position:left}}
