/* City guide content is scoped; shared navigation and footer use main.css. */
.city-guide {--bg:#02161b;--dark:#061b20;--panel:#09252b;--teal:#14b8a6;--text:#f5f5f5;--muted:#a5b9bc;--line:#ffffff18;--heading:Oswald,'Arial Narrow',sans-serif;--body:Poppins,Arial,sans-serif;color-scheme:dark}
.city-guide * {box-sizing:border-box}
.city-guide {scroll-behavior:smooth;scroll-padding-top:95px}
.city-guide {margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:14px;line-height:1.8}
.city-guide a {color:inherit;text-decoration:none}
.city-guide button {font:inherit;cursor:pointer;color:inherit}
.city-guide button, .city-guide a, .city-guide summary {-webkit-tap-highlight-color:transparent}
.city-guide button:focus-visible, .city-guide a:focus-visible, .city-guide summary:focus-visible {outline:3px solid #fcbd3e;outline-offset:5px}
.city-guide button:where(:not(.mapboxgl-ctrl-attrib-button)) {border:0;background:none}
.city-guide svg {width:20px;height:20px;flex-shrink:0;vertical-align:middle}
.city-guide img {max-width:100%;display:block}
.city-guide p {margin:0 0 20px}
.city-guide h1, .city-guide h2, .city-guide h3 {font-family:var(--heading);font-weight:600;line-height:1.12;margin:0}
.city-guide h2 {font-size:clamp(30px,3.1vw,46px);letter-spacing:-.6px}
.city-guide h3 {font-size:25px}
.city-guide em {font-style:normal;color:var(--teal)}
.city-guide .wrap {width:min(1160px,calc(100% - 96px));margin-inline:auto}
.city-guide .eyebrow {font-size:10px;font-weight:600;letter-spacing:2.3px;line-height:1.6;color:var(--teal);margin-bottom:16px}
.city-guide .button {display:inline-flex;justify-content:center;align-items:center;gap:24px;background:var(--teal);color:#021d20;padding:16px 23px;border:1px solid var(--teal);border-radius:5px;font-family:var(--heading);font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;transition:background .2s,transform .2s}
.city-guide .button:hover {background:#45d0bd;transform:translateY(-2px)}
.city-guide .button.small {padding:11px 17px;font-size:13px;gap:15px}
.city-guide .button svg {width:17px}
.city-guide .inline-link, .city-guide .text-button {display:inline-flex;align-items:center;gap:16px;font-weight:500;font-size:12px}
.city-guide .inline-link {color:var(--teal)}
.city-guide .inline-link:hover, .city-guide .text-button:hover {color:#62e1cd}
.city-guide .inline-link svg {width:17px}
.city-guide .hero {position:relative;isolation:isolate;min-height:570px;overflow:hidden}
.city-guide .hero-image {position:absolute;inset:0;z-index:-2;background:var(--hero) center 48%/cover}
.city-guide .hero:after {content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(2,16,20,.96) 0%,rgba(2,16,20,.79) 37%,rgba(2,16,20,.13) 82%),linear-gradient(0deg,rgba(2,16,20,.9),transparent 35%)}
.city-guide .hero-content {padding-top:26px}
.city-guide .breadcrumbs {display:flex;gap:12px;font-size:10px;color:#c1d0ce;margin-bottom:55px}
.city-guide .breadcrumbs a:hover {color:var(--teal)}
.city-guide .hero .eyebrow {display:flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:1.7px;margin-bottom:20px}
.city-guide .status-dot {width:6px;height:6px;background:var(--teal);border-radius:50%;box-shadow:0 0 15px #14b8a680}
.city-guide .status-dot.soon {background:#fcbd3e;box-shadow:none}
.city-guide .hero h1 {font-size:clamp(55px,6.2vw,86px);font-weight:600;letter-spacing:-1.5px;line-height:1.08}
.city-guide .hero h1 span {color:var(--teal)}
.city-guide .hero-description {max-width:475px;font-size:14px;line-height:1.9;color:#e1e8e5;margin:22px 0 26px}
.city-guide .hero-actions {display:flex;align-items:center;gap:27px}
.city-guide .hero-meta {display:flex;gap:23px;margin-top:29px;font-size:10px;color:#bccdcd}
.city-guide .hero-meta span {display:flex;align-items:center;gap:8px}
.city-guide .hero-meta svg {width:14px;height:14px;color:var(--teal)}
.city-guide .hero-note {position:absolute;right:6%;top:195px;transform:rotate(-5deg);width:215px;border:1px solid #ffffff75;border-radius:2px;padding:25px 22px;background:#041e2326;backdrop-filter:blur(5px);box-shadow:0 12px 40px #00121528}
.city-guide .hero-note .note-cross {display:block;color:var(--teal);font-size:30px;line-height:1;margin-bottom:23px}
.city-guide .hero-note p {font:500 24px/1.25 var(--heading);letter-spacing:1px;margin-bottom:25px}
.city-guide .hero-note>span:last-child {font-size:7px;letter-spacing:1.8px;color:#d7e5e1}
.city-guide .city-nav {background:#0a252a;border-bottom:1px solid var(--line);scroll-margin-top:0}
.city-guide .city-nav-inner {display:flex;align-items:center;gap:28px;min-height:76px}
.city-guide .city-nav-label {font-size:9px;letter-spacing:1.3px;color:#8fa7aa;flex-shrink:0}
.city-guide .city-nav nav {display:flex;align-self:stretch;gap:22px}
.city-guide .city-link {display:flex;align-items:center;gap:9px;position:relative;font-family:var(--heading);font-size:17px}
.city-guide .city-index {font:9px var(--body);color:#8fa7aa}
.city-guide .city-link.active {color:var(--teal)}
.city-guide .city-link.active:after {content:'';height:3px;background:var(--teal);position:absolute;bottom:0;left:0;right:0}
.city-guide .city-link:hover {color:var(--teal)}
.city-guide .soon-tag {font:8px var(--body);text-transform:uppercase;color:#fcbd3e}
.city-guide .intro {display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-block:90px}
.city-guide .intro h2 {font-size:43px;line-height:1.2}
.city-guide .intro-copy {padding-top:27px;max-width:470px}
.city-guide .intro-copy h3 {font-size:25px;margin-bottom:18px}
.city-guide .intro-copy p {color:var(--muted);font-size:13px;line-height:1.95}
.city-guide .discover-section {background:#061e23;padding:70px 0 72px;border-block:1px solid var(--line);scroll-margin-top:20px}
.city-guide .section-heading {display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:31px}
.city-guide .section-heading .eyebrow {margin-bottom:11px}
.city-guide .section-heading>p {color:var(--muted);max-width:270px;font-size:12px;margin:0 0 4px}
.city-guide .filters {display:flex;gap:9px;flex-wrap:wrap;margin:28px 0}
.city-guide .filter {border:1px solid #ffffff25;color:#b5c6c9;border-radius:30px;padding:9px 16px;font-size:11px;display:flex;align-items:center;gap:7px;transition:background .2s}
.city-guide .filter svg {width:14px;height:14px}
.city-guide .filter>span {border-radius:30px;background:#04252a45;padding:0 5px;font-size:9px}
.city-guide .filter.active {background:var(--teal);color:#021d20;border-color:var(--teal);font-weight:600}
.city-guide .filter:hover:not(.active) {background:#ffffff08;border-color:var(--teal)}
.city-guide .explorer {display:grid;grid-template-columns:1fr 1.12fr;gap:28px;align-items:start}
.city-guide .spot-list {display:grid;grid-template-columns:1fr 1fr;gap:14px}
.city-guide .spot-card {background:#09272d;border:1px solid #ffffff15;padding:24px 20px 21px;border-radius:7px;transition:border-color .2s;display:flex;flex-direction:column;min-height:306px}
.city-guide .spot-card:hover, .city-guide .spot-card.is-selected {border-color:#14b8a680}
.city-guide .spot-card[hidden] {display:none}
.city-guide .spot-top {display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;gap:6px}
.city-guide .category {display:flex;align-items:center;gap:6px;font-size:9px;color:var(--teal);white-space:nowrap}
.city-guide .category svg {width:14px;height:14px}
.city-guide .category.views {color:#b9a6e9}
.city-guide .category.cafes {color:#e4bc81}
.city-guide .category.hidden {color:#9ec8f2}
.city-guide .spot-number {font-family:var(--heading);font-size:19px;color:#46656b}
.city-guide .spot-card h3 {font-size:24px;line-height:1.18;margin-bottom:8px}
.city-guide .spot-area {display:flex;align-items:center;gap:5px;font-size:9px;color:#91abae;margin-bottom:15px}
.city-guide .spot-area svg {width:11px;height:11px}
.city-guide .spot-card>p:not(.spot-area) {font-size:11px;line-height:1.9;color:#b1c2c5;margin-bottom:22px}
.city-guide .map-link {display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--teal);font-size:10px;text-align:left;padding:0;margin-top:auto;width:100%}
.city-guide .map-link svg {width:15px}
.city-guide .map-link:hover {color:#7ef2df}
.city-guide .map-column {position:sticky;top:24px}
.city-guide .map-shell {border-radius:7px;border:1px solid #ffffff20;overflow:hidden;background:#0c252a}
.city-guide .map-heading {display:flex;align-items:center;justify-content:space-between;padding:13px 16px;gap:8px}
.city-guide .map-heading>span {font-family:var(--heading);text-transform:uppercase;font-size:14px;display:flex;align-items:center;gap:8px}
.city-guide .map-heading svg {width:15px;color:var(--teal)}
.city-guide .map-heading button {font-size:9px;color:#a8bfbe;padding:4px 0}
.city-guide .map-heading button:hover {color:var(--teal)}
.city-guide #map {height:535px;z-index:0;background:#d7e6df}
.city-guide .map-bottom {display:flex;justify-content:space-between;gap:8px;padding:12px 16px;font-size:8px;color:#9db5b8}
.city-guide .map-bottom>span:first-child {display:flex;align-items:center;gap:7px}
.city-guide .map-bottom i {width:5px;height:5px;border-radius:50%;background:var(--teal)}
.city-guide .map-disclaimer {font-size:9px;color:#819c9f;margin:12px 3px 0;line-height:1.7}
.city-guide .custom-pin {background:none;border:0}
.city-guide .pin-content {display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:#07373a;border:2px solid #14b8a6;box-shadow:0 3px 12px #00121545;border-radius:50% 50% 50% 6px;transform:rotate(-45deg)}
.city-guide .pin-content>span {font:500 15px var(--heading);color:white;transform:rotate(45deg)}
.city-guide .pin-content.views {border-color:#b9a6e9}
.city-guide .pin-content.cafes {border-color:#e4bc81}
.city-guide .pin-content.hidden {border-color:#9ec8f2}
.city-guide .neighbourhoods {padding-block:90px;display:grid;grid-template-columns:1fr 1fr;gap:105px}
.city-guide .neighbourhoods>div>p:not(.eyebrow) {font-size:12px;color:var(--muted);max-width:380px;margin:23px 0}
.city-guide .neighbourhood-list article {display:flex;gap:25px;padding:23px 0;border-bottom:1px solid var(--line)}
.city-guide .neighbourhood-list article:first-child {padding-top:0}
.city-guide .neighbourhood-list article>span {font-family:var(--heading);color:var(--teal);font-size:18px;padding-top:3px}
.city-guide .neighbourhood-list h3 {font-size:25px;margin:0 0 10px}
.city-guide .neighbourhood-list p {font-size:12px;color:var(--muted);margin:0}
.city-guide .game-section {background:radial-gradient(ellipse at 85% 10%,#10524f85,transparent 60%),#073438;border-block:1px solid #14b8a630;padding-block:75px;scroll-margin-top:20px}
.city-guide .game-grid {display:grid;grid-template-columns:1fr 1.1fr;gap:90px;align-items:center}
.city-guide .game-grid h2 {font-size:53px;line-height:1.15}
.city-guide .game-grid>div>p:not(.eyebrow) {max-width:390px;color:#bed3d2;font-size:12px;line-height:1.95;margin:23px 0}
.city-guide .game-details-link {display:block;color:#a7c6c2;text-decoration:underline;font-size:10px;margin-top:15px;text-underline-offset:4px}
.city-guide .game-panel {border:1px solid #14b8a63d;background:#031d23ab;border-radius:9px;padding:22px 26px 0;box-shadow:0 20px 45px #00121520}
.city-guide .game-panel-top {display:flex;justify-content:space-between;gap:10px;font-size:8px;letter-spacing:1.4px;color:#a5bebe}
.city-guide .game-panel-live {color:var(--teal)}
.city-guide .game-diagram {position:relative;display:flex;align-items:center;justify-content:space-around;min-height:208px;padding-bottom:36px}
.city-guide .team {text-align:center}
.city-guide .team img {width:44px;height:44px;object-fit:contain;margin:0 auto 15px;filter:brightness(0) invert(1)}
.city-guide .team.chasing img {filter:brightness(0) saturate(100%) invert(64%) sepia(90%) saturate(464%) hue-rotate(119deg) brightness(85%) contrast(90%)}
.city-guide .team>span {font:500 14px var(--heading);letter-spacing:2px}
.city-guide .team.chasing {color:var(--teal)}
.city-guide .trail {display:flex;gap:8px;align-items:center;color:var(--teal)}
.city-guide .trail>span {background:#14b8a64d;height:3px;width:3px;border-radius:50%}
.city-guide .trail>b {font:500 32px var(--heading);margin:0 8px}
.city-guide .diagram-caption {position:absolute;bottom:22px;left:0;right:0;text-align:center;font-size:8px;letter-spacing:2px;color:#829fa3}
.city-guide .game-facts {display:grid;grid-template-columns:1fr 1fr 1.1fr;border-top:1px solid var(--line);padding:23px 0;gap:12px}
.city-guide .game-facts>div {display:flex;flex-direction:column;align-items:center;text-align:center}
.city-guide .game-facts svg {color:var(--teal);width:19px;height:19px;margin-bottom:9px}
.city-guide .game-facts strong {font:500 17px var(--heading);margin-bottom:4px}
.city-guide .game-facts span {font-size:8px;color:#8ea9ad}
.city-guide .game-panel-foot {font-size:9px;color:#9cb7b8;border-top:1px solid var(--line);text-align:center;padding:13px 0;margin:0}
.city-guide .afternoon {padding-block:80px;border-bottom:1px solid var(--line)}
.city-guide .afternoon-heading {margin-bottom:35px}
.city-guide .afternoon-steps {display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.city-guide .afternoon-steps article {border-left:1px solid #14b8a64d;padding-left:22px}
.city-guide .afternoon-steps span {font-size:9px;letter-spacing:1.6px;color:var(--teal)}
.city-guide .afternoon-steps h3 {font-size:23px;margin:13px 0}
.city-guide .afternoon-steps p {font-size:12px;color:var(--muted);max-width:270px;margin:0}
.city-guide .faq-section {padding-block:85px;display:grid;grid-template-columns:1fr 1.4fr;gap:100px}
.city-guide .faq-section>div>p:not(.eyebrow) {color:var(--muted);font-size:12px;margin:20px 0}
.city-guide .faqs details {border-bottom:1px solid var(--line)}
.city-guide .faqs summary {list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 0;font-size:12px}
.city-guide .faqs summary::-webkit-details-marker {display:none}
.city-guide .faqs summary svg {width:16px;color:var(--teal);transition:transform .2s}
.city-guide .faqs details[open] summary svg {transform:rotate(45deg)}
.city-guide .faqs details p {color:var(--muted);font-size:11px;line-height:1.9;padding:0 25px 6px 0}
.city-guide .more-cities {padding-bottom:85px}
.city-guide .other-cities {display:grid;grid-template-columns:repeat(5,1fr);gap:13px}
.city-guide .other-city {position:relative;isolation:isolate;min-height:178px;padding:22px 16px;display:flex;flex-direction:column;justify-content:flex-end;border-radius:5px;overflow:hidden;border:1px solid #ffffff20;transition:border-color .2s,transform .2s}
.city-guide .other-city:before {content:'';position:absolute;inset:0;z-index:-2;background:var(--city-image) center/cover;transition:transform .4s}
.city-guide .other-city:after {content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#00191bf0, #00191b05)}
.city-guide .other-city:hover:before {transform:scale(1.06)}
.city-guide .other-city:hover {border-color:var(--teal)}
.city-guide .other-city.current {border-color:var(--teal)}
.city-guide .other-city>span {font-size:9px;color:#c2d4d0}
.city-guide .other-city strong {font:500 25px var(--heading)}
.city-guide .other-city svg {position:absolute;bottom:23px;right:14px;color:var(--teal);width:16px}
.city-guide .no-results {font-size:12px;color:var(--muted)}
@media(min-width:1500px){
.city-guide .hero-note {right:calc((100vw - 1160px)/2 + 35px)}
}
@media(max-width:1100px){
.city-guide .wrap {width:calc(100% - 64px)}
.city-guide .city-nav-label {display:none}
.city-guide .city-nav-inner nav {width:100%;justify-content:space-between}
.city-guide .intro, .city-guide .neighbourhoods {gap:60px}
.city-guide .game-grid {gap:45px}
.city-guide .hero-note {right:5%;width:185px}
.city-guide .hero-note p {font-size:21px}
.city-guide .spot-card {padding:19px 15px}
.city-guide .spot-card h3 {font-size:22px}
.city-guide .hero h1 {font-size:70px}
.city-guide .hero-description {max-width:440px}
.city-guide .game-facts strong {font-size:15px}
}
@media(max-width:800px){
.city-guide .hero {min-height:550px}
.city-guide .hero:after {background:linear-gradient(90deg,#021014e8,#02101460),linear-gradient(0deg,#021014e8,transparent 65%)}
.city-guide .hero-note {display:none}
.city-guide .hero h1 {font-size:64px}
.city-guide .hero-description {max-width:460px}
.city-guide .hero-content {padding-top:21px}
.city-guide .breadcrumbs {margin-bottom:62px}
.city-guide .intro {padding-block:65px;gap:45px}
.city-guide .intro h2 {font-size:35px}
.city-guide .intro-copy {padding-top:18px}
.city-guide .intro-copy h3 {font-size:23px}
.city-guide .intro-copy p {font-size:12px}
.city-guide .section-heading {align-items:flex-start}
.city-guide .explorer {grid-template-columns:1fr}
.city-guide .map-column {position:static;order:-1}
.city-guide #map {height:360px}
.city-guide .spot-card {min-height:260px;padding:23px}
.city-guide .spot-top {margin-bottom:20px}
.city-guide .spot-card h3 {font-size:25px}
.city-guide .map-disclaimer {margin-bottom:10px}
.city-guide .neighbourhoods {gap:40px;padding-block:65px}
.city-guide .neighbourhoods h2 {font-size:32px}
.city-guide .game-grid {gap:35px}
.city-guide .game-grid h2 {font-size:40px}
.city-guide .game-panel {padding:18px 17px 0}
.city-guide .game-facts {gap:6px}
.city-guide .game-facts strong {font-size:14px}
.city-guide .game-facts span {font-size:7px}
.city-guide .trail {gap:5px}
.city-guide .team img {width:35px;height:35px}
.city-guide .team>span {font-size:12px}
.city-guide .game-diagram {min-height:185px}
.city-guide .game-panel-top {font-size:7px;letter-spacing:.8px}
.city-guide .afternoon-steps {gap:22px}
.city-guide .afternoon-steps h3 {font-size:21px}
.city-guide .afternoon-steps p {font-size:11px}
.city-guide .faq-section {gap:40px;grid-template-columns:1fr 1.4fr}
.city-guide .other-cities {grid-template-columns:repeat(3,1fr)}
.city-guide .other-city {min-height:155px}
}
@media(max-width:540px){
.city-guide {scroll-padding-top:20px}
.city-guide .wrap {width:calc(100% - 40px)}
.city-guide {font-size:13px}
.city-guide .hero {min-height:560px}
.city-guide .hero-image {background-position:62% center}
.city-guide .hero:after {background:linear-gradient(90deg,#021014eb,#02101455),linear-gradient(0deg,#021014f0,transparent 70%)}
.city-guide .breadcrumbs {font-size:9px;margin-bottom:66px;gap:9px}
.city-guide .hero .eyebrow {font-size:8px;letter-spacing:1.5px;margin-bottom:17px}
.city-guide .hero h1 {font-size:clamp(43px,11.8vw,64px);letter-spacing:-.8px;line-height:1.12}
.city-guide .hero-description {font-size:12px;max-width:330px;margin-block:20px 24px}
.city-guide .hero-actions {gap:19px;flex-wrap:wrap}
.city-guide .hero-actions .button {font-size:13px;padding:13px 17px;gap:20px}
.city-guide .text-button {font-size:10px;gap:8px}
.city-guide .hero-meta {font-size:8px;gap:14px;margin-top:26px}
.city-guide .hero-meta svg {width:12px;height:12px}
.city-guide .city-nav-inner {width:100%;min-height:68px}
.city-guide .city-nav nav {gap:26px;padding-inline:20px;overflow-x:auto;justify-content:flex-start}
.city-guide .city-link {font-size:16px;flex-shrink:0;gap:7px;padding-block:21px}
.city-guide .city-index {font-size:8px}
.city-guide .intro {grid-template-columns:1fr;gap:25px;padding-block:55px}
.city-guide .intro h2 {font-size:36px}
.city-guide .intro-copy {padding-top:0;max-width:none}
.city-guide .intro-copy h3 {font-size:25px}
.city-guide .intro-copy p {font-size:12px}
.city-guide .eyebrow {font-size:8px;letter-spacing:1.7px;margin-bottom:14px}
.city-guide .discover-section {padding-block:48px}
.city-guide .section-heading {display:block;margin-bottom:22px}
.city-guide .section-heading>p {margin:18px 0 0;max-width:310px;font-size:11px}
.city-guide h2 {font-size:31px}
.city-guide .filters {gap:7px;margin:25px 0 22px}
.city-guide .filter {font-size:9px;padding:8px 11px;gap:5px}
.city-guide .filter svg {width:12px;height:12px}
.city-guide .explorer {gap:20px}
.city-guide #map {height:310px}
.city-guide .map-heading {padding:11px 12px}
.city-guide .map-heading>span {font-size:12px;gap:6px}
.city-guide .map-heading button {font-size:8px}
.city-guide .map-bottom {padding-inline:12px;font-size:7px}
.city-guide .map-disclaimer {font-size:8px}
.city-guide .spot-list {gap:12px}
.city-guide .spot-card {padding:18px 14px;min-height:310px}
.city-guide .spot-top {gap:3px;margin-bottom:20px}
.city-guide .category {font-size:8px;gap:4px}
.city-guide .category svg {width:12px;height:12px}
.city-guide .spot-number {font-size:17px}
.city-guide .spot-card h3 {font-size:23px}
.city-guide .spot-area {font-size:8px;gap:3px;line-height:1.5;min-height:15px}
.city-guide .spot-card>p:not(.spot-area) {font-size:10px;line-height:1.9;margin-bottom:20px}
.city-guide .map-link {font-size:9px;gap:4px}
.city-guide .neighbourhoods {grid-template-columns:1fr;gap:30px;padding-block:55px}
.city-guide .neighbourhoods>div>p:not(.eyebrow) {max-width:none;font-size:12px}
.city-guide .neighbourhood-list article {padding:21px 0}
.city-guide .neighbourhood-list article:first-child {padding-top:0}
.city-guide .game-section {padding-block:55px}
.city-guide .game-grid {grid-template-columns:1fr;gap:38px}
.city-guide .game-grid h2 {font-size:43px}
.city-guide .game-grid>div>p:not(.eyebrow) {font-size:12px;max-width:none}
.city-guide .game-panel {padding:20px 22px 0}
.city-guide .game-panel-top {font-size:8px}
.city-guide .game-facts strong {font-size:16px}
.city-guide .game-facts span {font-size:8px}
.city-guide .game-diagram {min-height:205px}
.city-guide .team img {width:40px;height:40px}
.city-guide .team>span {font-size:13px}
.city-guide .afternoon {padding-block:55px}
.city-guide .afternoon-steps {grid-template-columns:1fr;gap:27px}
.city-guide .afternoon-steps article {padding-left:20px}
.city-guide .afternoon-steps h3 {font-size:25px;margin-block:8px}
.city-guide .afternoon-steps p {font-size:12px;max-width:none}
.city-guide .faq-section {padding-block:55px;grid-template-columns:1fr;gap:25px}
.city-guide .faq-section>div>p:not(.eyebrow) {margin:18px 0}
.city-guide .faqs summary {font-size:11px;padding-block:19px}
.city-guide .more-cities {padding-bottom:55px}
.city-guide .other-cities {grid-template-columns:repeat(2,1fr);gap:12px}
.city-guide .other-city {min-height:156px}
.city-guide .other-city:last-child {grid-column:span 2;min-height:140px}
.city-guide .other-city strong {font-size:27px}
}
@media(prefers-reduced-motion:reduce){
.city-guide {scroll-behavior:auto}
.city-guide *, .city-guide *:before, .city-guide *:after {transition:none!important}
}
.city-guide .hero h1 { text-transform: uppercase; }
.city-guide .hero-description strong { display: block; font-weight: 600; }
.city-guide .spot-card .spot-source {
  align-self: flex-start;
  margin: auto 0 12px;
  color: var(--muted);
  font-size: 10px;
}
.city-guide .spot-source:hover { color: var(--text); }
.city-guide .spot-source svg { width: 12px; height: 12px; }
.city-guide .spot-card .map-link { margin-top: 0; }
.city-guide .map-stage { position: relative; }
.city-guide .mapbox-pin {
  padding: 0;
  width: 34px;
  height: 34px;
}
.city-guide .mapboxgl-popup-content {
  background: #06262c;
  color: #f5f5f5;
  padding: 17px 19px;
  min-width: 180px;
  font-family: var(--body);
}
.city-guide .mapboxgl-popup-content b {
  font-family: var(--heading);
  font-size: 22px;
  font-weight: 500;
}
.city-guide .mapboxgl-popup-content .popup-area { font-size: 10px; color: var(--teal); }
.city-guide .mapboxgl-popup-content p { margin: 7px 0 0; font-size: 11px; color: #bed0cf; }
.city-guide .mapboxgl-popup-content .mapboxgl-popup-close-button { color: #eee; }
.city-guide .mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip { border-top-color: #06262c; }
.city-guide .mapboxgl-popup-anchor-top .mapboxgl-popup-tip { border-bottom-color: #06262c; }
.city-guide .mapboxgl-popup-anchor-left .mapboxgl-popup-tip { border-right-color: #06262c; }
.city-guide .mapboxgl-popup-anchor-right .mapboxgl-popup-tip { border-left-color: #06262c; }
.city-guide .category.outdoors { color: #a8d99e; }
.city-guide .pin-content.outdoors { border-color: #a8d99e; }
.city-guide .discovery-cta {
  margin: clamp(32px, 5vw, 56px) 0 0;
  color: var(--text);
  font-family: var(--heading);
  font-size: clamp(23px, 3vw, 36px);
  line-height: 1.3;
  text-align: center;
}
.city-guide .discovery-cta a {
  color: var(--teal);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.14em;
}
.page-city { background: #02161b; }
.city-guide { padding-top: 72px; overflow: clip; }
.city-guide .hero { padding: 0; margin: 0; display: block; text-align: left; }
.city-guide .hero-content { margin: 0 auto; text-align: left; }
.city-guide .hero h1 { color: var(--text); }
.city-guide [hidden] { display: none !important; }
.city-guide .map-message { padding: 36px 24px; color: #bed0cf; background: #06262c; height: 100%; display: grid; place-content: center; font-size: 13px; text-align: center; }
.city-guide #map { position: relative; }
.city-guide .mapboxgl-canvas { outline: none; }
.city-guide .mapboxgl-ctrl-attrib { color: #222; }
.city-guide .mapboxgl-ctrl-attrib a { color: #222; }
.city-guide .mapboxgl-popup-close-button { width: 32px; height: 32px; font-size: 22px; }
.city-guide .mapbox-pin:focus-visible { outline: 3px solid #fcbd3e; outline-offset: 5px; }
.city-skip { position: fixed; top: -100px; left: 16px; z-index: 10000; background: #14b8a6; color: #02161b; padding: 12px; }
.city-skip:focus { top: 12px; }
.city-card--live:focus-visible { outline: 3px solid #fcbd3e; outline-offset: 5px; }
@media (min-width: 1200px){
.city-guide { padding-top: 80px; }
}
@media (max-width: 540px){
.city-guide .spot-list { grid-template-columns: 1fr; }
.city-guide .spot-card { min-height: 0; padding: 22px; }
}
