/*
 * Corridor 99 page templates (T4–T14). One block per template, measured from eater.com (build/probe2).
 * 1rem = 10px. Breakpoints 48em (768) / 73.75em (1180).
 */

/* =========================================================== T7 Article */
/* Containers: 1100 at 1180+ (x170 at 1440); 700 centred 768–1179 (x34 at 768, x162 at 1024); 20px gutters below */
.c99-art-head, .c99-art-main, .c99-more__inner { width: min(70rem, 100% - 4rem); margin-inline: auto; }
@media (min-width: 73.75em) { .c99-art-head, .c99-art-main, .c99-more__inner { width: 110rem; } }

/* Head (measured: kicker row 16, H1 +5, dek directly under, byline row +18, 49 tall) */
.c99-art-head { padding-top: 0; }
.c99-art-head__text { max-width: 85rem; }
.c99-art-head__kick { display: flex; flex-wrap: wrap; gap: 1rem; align-items: baseline; min-height: 1.6rem; }
.c99-art__topic { font: 700 1.15rem/1.2 var(--c99-font-ui); letter-spacing: var(--c99-ls-kicker); text-transform: uppercase; color: var(--c99-text-2); }
.c99-art__topic::before { content: "·"; margin-right: 1rem; color: var(--c99-meta); }
.c99-art-head__h1 { font: 700 2.6rem/1 var(--c99-font-head); letter-spacing: -0.015em; margin: 0.5rem 0 0; padding-bottom: 0.4rem; text-wrap: balance; color: var(--c99-text); }
.c99-art-head__dek { font: italic 400 1.9rem/1.2 var(--c99-font-text); color: var(--c99-text-2); margin: 0.4rem 0 0; text-wrap: pretty; }
.c99-art-head__by { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 1.2rem 1.6rem; min-height: 4.9rem; margin-top: 1.8rem; }
.c99-art-head__who p { margin: 0; }
.c99-art-head__author { font: 500 1.3rem/1.2 var(--c99-font-ui); color: var(--c99-text-2); }
.c99-art-head__author a { font-weight: 700; color: var(--c99-text); text-decoration: none; }
.c99-art-head__author a:hover { text-decoration: underline; }
.c99-art-head__date { font: 500 1.2rem/1.1 var(--c99-font-ui); color: var(--c99-meta); margin-top: 0.6rem !important; }
.c99-art__updated { display: block; margin-top: 0.4rem; color: var(--c99-alpenglow-text); font-weight: 600; }
.c99-art-head__sp { margin-bottom: 0.8rem !important; }
.c99-art-head__share { position: relative; }
.c99-art-head__share .c99-share__status { position: absolute; right: 0; top: 3.6rem; white-space: nowrap; }
@media (min-width: 48em) { .c99-art-head__by { max-width: 70rem; } }
@media (min-width: 73.75em) { .c99-art-head__h1 { font-size: 4rem; line-height: 0.95; } }
@media (max-width: 47.99em) {
	.c99-art-head__dek { font-size: 1.6rem; }
	.c99-art-head__by { margin-top: 1.3rem; min-height: 3.7rem; }
}

/* Main row: 700 column + 100 gap + 300 rail at 1180+; single 700 column below */
.c99-art-main { display: block; }
.c99-art-col { min-width: 0; }
.c99-rail { display: none; }
@media (min-width: 73.75em) {
	.c99-art-main { display: grid; grid-template-columns: 70rem 30rem; column-gap: 10rem; align-items: stretch; }
	.c99-rail { display: flex; flex-direction: column; gap: 6rem; }
	.c99-rail__seg { flex: 1 0 auto; }
	.c99-rail__stick { position: sticky; top: 9rem; }
}

/* Lead media: 3:2, credit line 6px under */
.c99-art-media { margin: 0; }
.c99-art-media__img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; background: var(--c99-granite-100); }
.c99-art-media figcaption { text-align: left; padding-top: 0.6rem; font: 400 1.2rem/1.3 var(--c99-font-ui); color: var(--c99-meta); }

/* Body: indented 100 at 768+ (600 wide), 18/30.6 serif, 20px between paragraphs */
.c99-prose { margin-top: 2rem; font: 400 1.8rem/1.7 var(--c99-font-text); color: var(--c99-text); overflow-wrap: break-word; }
@media (min-width: 48em) { .c99-prose { margin-left: 10rem; max-width: 60rem; } }
.c99-prose > p { margin: 0 0 2rem; }
.c99-prose a { color: var(--c99-link); text-decoration: underline; text-decoration-color: var(--c99-alpenglow); text-decoration-thickness: 2px; text-underline-offset: 0.35rem; }
.c99-prose a:hover { text-decoration-color: currentColor; }
.c99-prose h2 { font: 700 2.6rem/1.1 var(--c99-font-head); letter-spacing: -0.01em; margin: 4rem 0 1.4rem; text-wrap: balance; }
.c99-prose h3 { font: 700 2.1rem/1.15 var(--c99-font-head); margin: 3rem 0 1rem; }
.c99-prose > ul, .c99-prose > ol { margin: 0 0 2rem; padding-left: 2.4rem; }
.c99-prose > ul > li + li, .c99-prose > ol > li + li { margin-top: 0.8rem; }
.c99-prose blockquote { margin: 3rem 0; padding-left: 2rem; border-left: 4px solid var(--c99-alpenglow); font-style: italic; }
.c99-prose figure { margin: 4rem 0; }
.c99-prose figure img { display: block; width: 100%; height: auto; }
.c99-prose figcaption { text-align: left; padding-top: 0.6rem; font: 400 1.2rem/1.3 var(--c99-font-ui); color: var(--c99-meta); }
.c99-prose > .c99-slot { margin-bottom: 2rem; }

/* Weekend Lineup list */
.c99-lineup { margin: 4rem 0; font-family: var(--c99-font-ui); }
.c99-lineup__title { font: 700 2.6rem/1.1 var(--c99-font-head); margin: 0 0 1.6rem; border-top: var(--c99-rule-accent-w) solid var(--c99-driftwood); padding-top: 1.2rem; }
.c99-lineup__day { font: 700 1.3rem/1.2 var(--c99-font-ui); letter-spacing: var(--c99-ls-kicker); text-transform: uppercase; color: var(--c99-driftwood-text); margin: 2.4rem 0 0; padding-bottom: 0.8rem; border-bottom: 1px solid var(--c99-ink); }
.c99-lineup__list { list-style: none; margin: 0 !important; padding: 0 !important; }
.c99-lineup__item { display: grid; grid-template-columns: 9rem 1fr; gap: 1.6rem; padding: 1.6rem 0; border-bottom: 1px solid var(--c99-granite-300); margin: 0 !important; }
.c99-lineup__when { font: 700 1.4rem/1.3 var(--c99-font-ui); margin: 0; color: var(--c99-text); }
.c99-lineup__name { font: 700 1.9rem/1.15 var(--c99-font-head); margin: 0 0 0.4rem; }
.c99-lineup__name a { color: var(--c99-text); text-decoration-color: var(--c99-granite-300); }
.c99-lineup__where, .c99-lineup__note { font: 400 1.4rem/1.4 var(--c99-font-ui); color: var(--c99-text-2); margin: 0.2rem 0 0; }
.c99-lineup__where svg { width: 1rem; height: 1.6rem; margin-right: 0.5rem; vertical-align: -0.2rem; color: var(--c99-alpenglow); }

/* Trail Notes "Check before you go" */
.c99-byg { display: grid; grid-template-columns: 2.4rem 1fr; gap: 1.2rem; background: var(--c99-sound-tint); padding: 2rem; margin: 0 0 3rem; font-family: var(--c99-font-ui); }
.c99-byg > svg { width: 2.4rem; height: 2.4rem; color: var(--c99-sound); }
.c99-byg__title { font: 700 1.7rem/1.2 var(--c99-font-ui) !important; margin: 0 0 0.4rem !important; }
.c99-byg p { font: 400 1.5rem/1.4 var(--c99-font-ui); margin: 0 0 1rem; color: var(--c99-text-2); }
.c99-byg ul { list-style: none; margin: 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 0.8rem 2rem; }
.c99-byg li { margin: 0 !important; }
.c99-byg a { display: inline-flex; gap: 0.4rem; align-items: center; min-height: 2.4rem; font: 700 1.4rem/1.2 var(--c99-font-ui); color: var(--c99-sound); text-decoration: none; }
.c99-byg a svg { width: 1.4rem; height: 1.4rem; }
.c99-byg a:hover { text-decoration: underline; }

/* More in [section] + The latest (measured: 1px rule, 60 above; 3×223 grid, 25 gap, ~40 row gap; 300 list) */
.c99-more { padding-bottom: 2rem; }
.c99-more__inner { border-top: 1px solid var(--c99-ink); padding-top: 6rem; display: grid; gap: 4rem; }
.c99-more__grid { display: grid; grid-template-columns: 1fr; gap: 2rem; }
@media (max-width: 47.99em) { .c99-more__grid .c99-cg { padding-bottom: 2rem; border-bottom: 1px solid var(--c99-granite-300); } }
@media (min-width: 48em) {
	.c99-more__inner { grid-template-columns: 50rem 20rem; gap: 0; }
	.c99-more__main { max-width: 41.9rem; }
	.c99-more__grid { grid-template-columns: repeat(2, 19.7rem); gap: 4rem 2.5rem; }
}
@media (min-width: 73.75em) {
	.c99-more__inner { grid-template-columns: 76rem 30rem; gap: 0 4rem; }
	.c99-more__main { max-width: 71.9rem; }
	.c99-more__grid { grid-template-columns: repeat(3, 22.3rem); }
}

/* =========================================================== Highway 99 live status (The Sound) */
.c99-hwy { margin: 0 0 4rem; border-top: var(--c99-rule-accent-w) solid var(--c99-ink); padding-top: 1.6rem; font-family: var(--c99-font-ui); }
.c99-hwy__head { display: grid; grid-template-columns: 3.2rem 1fr; gap: 1.2rem; }
.c99-hwy__head > svg { width: 3.2rem; height: 3.2rem; color: var(--c99-sound); }
.c99-hwy__title { font: 700 2.6rem/1.1 var(--c99-font-head) !important; margin: 0 0 0.6rem !important; }
.c99-hwy__sum { font: 600 1.7rem/1.35 var(--c99-font-ui); margin: 0 0 0.6rem !important; }
.c99-hwy .c99-meta { margin: 0; }
.c99-hwy__list { list-style: none; margin: 2rem 0 0 !important; padding: 0 !important; }
.c99-hwy__ev { margin: 0 !important; padding: 1.6rem 0 1.6rem 1.6rem; border-bottom: 1px solid var(--c99-granite-300); border-left: 4px solid var(--c99-granite-300); }
.c99-hwy__ev--closed, .c99-hwy__ev--major { border-left-color: var(--c99-alpenglow-text); }
.c99-hwy__ev--moderate { border-left-color: var(--c99-alpenglow); }
.c99-hwy__tags { display: flex; flex-wrap: wrap; gap: 0.6rem 1.2rem; margin: 0 0 0.4rem !important; font: 700 1.15rem/1.2 var(--c99-font-ui); letter-spacing: var(--c99-ls-kicker); text-transform: uppercase; color: var(--c99-text-2); }
.c99-hwy__type { color: var(--c99-ink); }
.c99-hwy__ev--closed .c99-hwy__type { color: var(--c99-white); background: var(--c99-alpenglow-text); padding: 0.3rem 0.6rem; }
.c99-hwy__where { font: 700 1.7rem/1.25 var(--c99-font-ui); margin: 0 0 0.4rem !important; }
.c99-hwy__desc { font: 400 1.5rem/1.45 var(--c99-font-ui); color: var(--c99-text-2); margin: 0 0 0.6rem !important; }
.c99-hwy__none { font: 600 1.6rem/1.4 var(--c99-font-ui); margin: 2rem 0 0 !important; }
.c99-hwy__attr { font: 400 1.25rem/1.4 var(--c99-font-ui); color: var(--c99-meta); margin: 1.6rem 0 0 !important; }
.c99-hwy__attr a { color: inherit !important; }

/* =========================================================== Hub Conditions + Snow boxes */
.c99-cond { background: var(--c99-surface); border: 1px solid var(--c99-ink); padding: 2rem; font-family: var(--c99-font-ui); }
.c99-cond__title { font: 700 2.4rem/1.1 var(--c99-font-head); margin: 0 0 1.4rem; }
.c99-cond__now { display: flex; gap: 0.8rem; align-items: center; font: 500 1.5rem/1.3 var(--c99-font-ui); margin: 0 0 1.2rem; }
.c99-cond svg { flex: none; width: 1.8rem; height: 1.8rem; color: var(--c99-sound); }
.c99-cond__fc { list-style: none; margin: 0; padding: 0; }
.c99-cond__fc li { display: grid; grid-template-columns: 9rem 1fr; gap: 0.2rem 1rem; padding: 1rem 0; border-top: 1px solid var(--c99-granite-100); font-size: 1.4rem; line-height: 1.3; }
.c99-cond__p { font-weight: 700; grid-row: span 2; }
.c99-cond__t { color: var(--c99-text-2); }
.c99-cond__snow { grid-column: 2; display: inline-flex; gap: 0.4rem; align-items: center; font-weight: 700; color: var(--c99-sound); }
.c99-cond__src { font-size: 1.2rem; line-height: 1.4; color: var(--c99-meta); margin: 1rem 0 1.4rem; }
.c99-cond__src a { color: inherit; }
.c99-cond__warn { display: flex; gap: 0.8rem; align-items: flex-start; background: var(--c99-alpenglow-text); color: var(--c99-white); padding: 1rem 1.2rem; margin: 0 0 1.2rem; font-weight: 700; font-size: 1.4rem; }
.c99-cond__warn svg, .c99-cond__warn a { color: var(--c99-white); }
.c99-cond__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.2rem; }
.c99-cond__links a { display: flex; gap: 0.8rem; align-items: center; min-height: 3.6rem; font: 700 1.4rem/1.2 var(--c99-font-ui); text-decoration: none; border-top: 1px solid var(--c99-granite-100); }
.c99-cond__links a:hover { text-decoration: underline; }
.c99-snow { margin-top: 2rem; padding-top: 1.6rem; border-top: var(--c99-rule-accent-w) solid var(--c99-sound); }
.c99-snow__title { display: flex; gap: 0.8rem; align-items: center; font: 700 1.9rem/1.1 var(--c99-font-head); margin: 0 0 0.8rem; }
.c99-snow p { font-size: 1.4rem; line-height: 1.45; margin: 0 0 1rem; color: var(--c99-text-2); }

@media (min-width: 48em) { .c99-more__latest { grid-column: 2; } }

/* Component links inside the article body keep their own styling (prose underline is for running text) */
.c99-prose .c99-venue a, .c99-prose .c99-seemore a, .c99-prose .c99-editor a, .c99-prose .c99-byg a, .c99-prose .c99-cond a, .c99-prose .c99-hwy__attr a { text-decoration: none; }
.c99-prose .c99-venue a:hover, .c99-prose .c99-editor a:hover, .c99-prose .c99-byg a:hover { text-decoration: underline; }
.c99-prose .c99-sources a, .c99-prose .c99-hwy__desc a { text-decoration-thickness: 1px; }

/* =========================================================== T8 Map guide */
/* 1180+: 1260 wrapper = 573 list + 27 gap + 660 map column (20 pad → 640 map, sticky 84, 674 tall).
   Below: one column, 600 wide (350 at 390), map 184 tall inside the top of the header card. */
.c99-guide { width: min(60rem, 100% - 4rem); margin-inline: auto; display: grid; grid-template-columns: 100%; }
.c99-glist { min-width: 0; }
.c99-gmap { order: -1; }
.c99-gmap__map { height: 18.5rem; border: 1px solid var(--c99-ink); border-bottom-width: 1px; background: var(--c99-granite-100); z-index: 1; }
.c99-gmap__more { display: none; }
.c99-gmap__nojs { margin: 0; padding: 2rem; font: 500 1.4rem/1.4 var(--c99-font-ui); color: var(--c99-text-2); }
@media (min-width: 73.75em) {
	.c99-guide { width: min(126rem, 100% - 9rem); grid-template-columns: 57.3rem minmax(0, 1fr); column-gap: 2.7rem; align-items: start; }
	.c99-gmap { order: 0; grid-column: 2; grid-row: 1; align-self: stretch; padding-left: 2rem; }
	.c99-glist { grid-column: 1; grid-row: 1; }
	.c99-gmap__stick { position: sticky; top: 8.4rem; }
	.c99-gmap__map { height: 67.4rem; border: 0; }
	.c99-gmap__more { display: block; padding-top: 1.6rem; }
}
.c99-gmap__moretitle { font: 700 1.525rem/1.1 var(--c99-font-ui); margin: 0 0 0.8rem; }
.c99-gmap__more ul { list-style: none; margin: 0; padding: 0; display: grid; grid-auto-flow: column; grid-auto-columns: 25.5rem; gap: 0; overflow-x: auto; scrollbar-width: thin; }
.c99-gmap__more .c99-mc { grid-template-columns: 7.5rem 1fr; gap: 1rem; padding-right: 1.6rem; }
.c99-gmap__more .c99-mc__title { font-size: 1.6rem; }
.c99-gmap__more .c99-meta { display: none; }

/* Header card: bordered, hard shadow, centred (measured padding 25/40 at 1180+, 20/10/14 below, 0 30 at 390) */
.c99-gcard { display: flex; flex-direction: column; align-items: center; gap: 1.4rem; text-align: center; border: 1px solid var(--c99-ink); border-top: 0; background: var(--c99-surface); padding: 2rem 1rem 1.4rem; }
@media (max-width: 47.99em) { .c99-gcard { padding-inline: 3rem; } }
@media (min-width: 73.75em) { .c99-gcard { border-top: 1px solid var(--c99-ink); box-shadow: var(--c99-shadow-hard); padding: 2.5rem 4rem; gap: 2rem; } }
.c99-gcard__thumb { margin: 0; display: none; }
@media (min-width: 73.75em) { .c99-gcard__thumb { display: block; } }
.c99-gcard__img { display: block; width: 11rem; height: 11rem; border-radius: 50%; object-fit: cover; margin: 0 auto; }
.c99-gcard__thumb figcaption { padding-top: 0.6rem; }
.c99-gcard__kick { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.4rem 1rem; margin: 0; }
.c99-gcard__towns { font: 700 1.15rem/1.2 var(--c99-font-ui); letter-spacing: var(--c99-ls-kicker); text-transform: uppercase; color: var(--c99-text-2); }
.c99-gcard__h1 { font: 700 2.6rem/1 var(--c99-font-head); letter-spacing: -0.015em; margin: -0.6rem 0 0; text-wrap: balance; width: 100%; }
@media (min-width: 73.75em) { .c99-gcard__h1 { font-size: 4rem; line-height: 0.95; } }
.c99-gcard__dek { font: italic 400 1.6rem/1.2 var(--c99-font-text); color: var(--c99-text-2); margin: -0.6rem 0 0; padding-top: 0.4rem; text-wrap: pretty; }
@media (min-width: 73.75em) { .c99-gcard__dek { font-size: 1.9rem; } }
.c99-gcard__wave { width: 6rem; height: 0.8rem; color: var(--c99-alpenglow); }
.c99-gcard__by p { margin: 0; font: 500 1.3rem/1.3 var(--c99-font-ui); }
.c99-gcard__by a { font-weight: 700; color: var(--c99-text); text-decoration: none; }
.c99-gcard__by .c99-meta { margin-top: 0.4rem; }
.c99-gcard__share .c99-share { justify-content: center; }

/* How we chose (measured: 34px indent, 1px rule, 34px padding, 14/18.2) + intro */
.c99-gnote { margin: 3rem 0 0 3.4rem; border-left: 1px solid var(--c99-ink); padding-left: 3.4rem; }
.c99-gnote p { margin: 0; font: 400 1.4rem/1.3 var(--c99-font-ui); color: var(--c99-text-2); }
.c99-gnote strong { color: var(--c99-text); }
.c99-gintro { margin-top: 3rem; font: 400 1.8rem/1.7 var(--c99-font-text); }
.c99-gintro p { margin: 0 0 2rem; }
.c99-gintro > p:first-child::first-letter { float: left; font: 700 6.4rem/0.8 var(--c99-font-head); margin: 0.6rem 0.8rem 0 0; color: var(--c99-sound); }
.c99-gintro a { color: var(--c99-link); text-decoration: underline; text-underline-offset: 0.35rem; text-decoration-color: var(--c99-alpenglow); text-decoration-thickness: 2px; }

/* Entries (measured: 20px top pad, 8px double rule, 36/36 name at 1180+ / 32 below, 18/30.6 copy, 370-wide contact rows) */
.c99-entries { counter-reset: none; }
.c99-entry { border-top: 0; padding-top: 2rem; margin-top: 5rem; scroll-margin-top: 9rem; }
.c99-entry::before { content: ""; display: block; height: 8px; margin: 0 0 2rem; border-top: var(--c99-rule-accent-w) solid var(--c99-alpenglow); border-bottom: 1px solid var(--c99-ink); box-sizing: border-box; }
.c99-entry__head { display: flex; align-items: center; gap: 1.2rem; min-height: 3.6rem; }
.c99-entry__num { flex: none; display: inline-grid; place-items: center; width: 3.2rem; height: 3.2rem; border-radius: var(--c99-radius); background: var(--c99-alpenglow-text); color: var(--c99-white); font: 700 1.7rem/1 var(--c99-font-mark); }
.c99-entry__name { flex: 1; min-width: 0; font: 700 3.2rem/1 var(--c99-font-head); letter-spacing: -0.015em; margin: 0; overflow-wrap: anywhere; }
@media (min-width: 73.75em) { .c99-entry__name { font-size: 3.6rem; } }
.c99-entry__name:focus { outline: none; }
.c99-entry__badges { margin: 1.2rem 0 0; display: flex; gap: 0.8rem; }
.c99-entry__badges .c99-badge--alert { margin-left: 0; }
.c99-entry__fig { margin: 2rem 0 0; }
.c99-entry__img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
@media (min-width: 73.75em) { .c99-entry__fig { max-width: 53rem; } }
.c99-entry__fig figcaption { text-align: left; padding-top: 0.6rem; }
.c99-entry__facts { margin-top: 1.2rem; font: 400 1.8rem/1.7 var(--c99-font-text); }
.c99-entry__facts p { margin: 0 0 1.9rem; }
.c99-entry__body { font: 400 1.8rem/1.7 var(--c99-font-text); }
.c99-entry__body p { margin: 0 0 2rem; }
.c99-entry__try { font: 400 1.8rem/1.7 var(--c99-font-text); margin: 0 0 2rem; }
.c99-entry__show { display: inline-flex; align-items: center; gap: 0.6rem; min-height: 3.6rem; padding: 0.8rem 1.2rem; font: 600 1.5rem/1 var(--c99-font-ui); color: var(--c99-sound); background: var(--c99-surface); border: 1px solid var(--c99-ink); border-radius: var(--c99-radius); cursor: pointer; }
.c99-entry__show svg { width: 1.6rem; height: 1.6rem; }
.c99-entry__show:hover { background: var(--c99-sound-tint); }
.c99-entry__list { list-style: none; margin: 1.6rem 0 0; padding: 0; max-width: 37rem; }
.c99-entry__list a, .c99-entry__list > li > span { display: flex; gap: 1.2rem; align-items: center; padding: 1.2rem 0; border-bottom: 1px solid var(--c99-ink); font: 400 1.6rem/1.1 var(--c99-font-ui); color: var(--c99-text); text-decoration: none; }
.c99-entry__list a:hover span { text-decoration: underline; }
.c99-entry__list svg { flex: none; width: 2.2rem; height: 2.2rem; color: var(--c99-sound); }
.c99-entry__checked { margin: 1rem 0 0; }
.c99-entry .c99-save { margin-left: auto; }
.c99-glist > .c99-slot { margin-top: 2rem; }
.c99-glist > .c99-sources { margin-top: 5rem; }

/* Map pins: alpenglow number plates (active = sound deep) */
.c99-mpin { background: none; border: 0; }
.c99-mpin span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 3px; background: var(--c99-alpenglow-text); color: #fff; font: 700 15px/1 var(--c99-font-mark); box-shadow: 0 0 0 2px #fff; position: relative; }
.c99-mpin span::after { content: ""; position: absolute; left: 10px; top: 30px; border: 5px solid transparent; border-top-color: var(--c99-alpenglow-text); }
.c99-mpin.is-active span { background: var(--c99-sound-deep); transform: scale(1.18); }
.c99-mpin.is-active span::after { border-top-color: var(--c99-sound-deep); }
.c99-mpin:focus-visible span { outline: 3px solid var(--c99-focus); outline-offset: 2px; }
.leaflet-container { font-family: var(--c99-font-ui); }
.leaflet-container a { color: var(--c99-sound); }

/* Floating Map/List toggle (measured 133x38, centred, 28px from the bottom; phones and tablets) */
.c99-gtoggle { position: fixed; z-index: 70; left: 50%; bottom: calc(2.8rem + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); display: inline-flex; align-items: center; justify-content: center; gap: 0.8rem; width: 13.3rem; height: 3.8rem; font: 700 1.4rem/1 var(--c99-font-ui); letter-spacing: 0.06rem; text-transform: uppercase; color: var(--c99-paper); background: var(--c99-sound-deep); border: 0; border-radius: 99rem; box-shadow: 0 2px 10px rgb(0 0 0 / 0.25); cursor: pointer; }
.c99-gtoggle svg { width: 1.8rem; height: 1.8rem; }
@media (min-width: 73.75em) { .c99-gtoggle { display: none !important; } }
@media (min-width: 81.25em) { .c99-guide { width: min(126rem, 100% - 18rem); } }
@media (max-width: 73.74em) {
	body.c99-mapview .c99-gmap__stick { height: 100%; }
	body.c99-mapview .c99-gmap { position: fixed; inset: 0; z-index: 65; background: var(--c99-paper); }
	body.c99-mapview .c99-gmap__map { height: 100%; border: 0; }
	body.c99-mapview { overflow: hidden; }
}

/* =========================================================== Page modules (T4 / T5 / T6 / T14) */
/* Containers: 1100 at 1180+, 700 at 768–1179, 20px gutters below (hero: 10px, as measured) */
.c99-hero, .c99-lb, .c99-stream, .c99-promo, .c99-maps, .c99-region-intro, .c99-towns { width: min(70rem, 100% - 4rem); margin-inline: auto; }
@media (min-width: 73.75em) { .c99-hero, .c99-lb, .c99-stream, .c99-region-intro, .c99-towns { width: min(110rem, 100% - 4rem); } .c99-promo, .c99-maps { width: min(100rem, 100% - 4rem); } }
@media (max-width: 47.99em) { .c99-hero { width: calc(100% - 2rem); } }

/* Hero: 205 | 620 | 205 (35 gaps) / 132 | 400 | 132 / one column */
.c99-hero { display: grid; grid-template-columns: 100%; gap: 3rem; padding-top: 0; }
.c99-hero__main { order: -1; }
.c99-hero__side { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; padding-inline: 1rem; }
.c99-hero__list { padding-inline: 1rem; }
@media (min-width: 48em) {
	.c99-hero { grid-template-columns: 1fr 40rem 1fr; column-gap: 1.8rem; align-items: start; }
	.c99-hero__main { order: 0; }
	.c99-hero__side { grid-template-columns: 1fr; padding: 0; gap: 2.4rem; }
	.c99-hero__list { padding: 0; }
}
@media (min-width: 73.75em) {
	.c99-hero { grid-template-columns: 1fr 62rem 1fr; column-gap: 3.5rem; }
	.c99-hero__side { padding-top: 3.1rem; gap: 3.2rem; }
	.c99-hero__list { padding-top: 2rem; }
}
.c99-hcard { border: 1px solid var(--c99-ink); box-shadow: var(--c99-shadow-hard); background: var(--c99-surface); padding: 2rem 1.6rem; }
@media (min-width: 73.75em) { .c99-hcard { padding: 3rem 2.5rem 2.5rem; } }
.c99-hcard__media { display: block; aspect-ratio: 1; overflow: hidden; background: var(--c99-granite-100); }
@media (min-width: 48em) { .c99-hcard__media { aspect-ratio: 3 / 2; } }
.c99-hcard__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.c99-hcard__meta { display: flex; gap: 1rem; align-items: baseline; margin: 1.6rem 0 0.6rem; }
.c99-hcard__title { font: 700 2.6rem/1 var(--c99-font-head); letter-spacing: -0.015em; margin: 0; text-wrap: balance; }
@media (min-width: 73.75em) { .c99-hcard__title { font-size: 3.6rem; line-height: 0.95; } }
.c99-hcard__title a, .c99-scard__title a, .c99-lb__title a { color: var(--c99-text); text-decoration: none; }
.c99-hcard__title a:hover, .c99-scard__title a:hover, .c99-lb__title a:hover { text-decoration: underline; text-decoration-color: var(--c99-accent); }
.c99-hcard__dek { font: 400 1.6rem/1.35 var(--c99-font-text); color: var(--c99-text-2); margin: 1rem 0 0; }
.c99-scard { text-align: center; }
.c99-scard__media { display: block; aspect-ratio: 1; overflow: hidden; background: var(--c99-granite-100); margin: 0 auto 1rem; width: 100%; }
@media (min-width: 48em) { .c99-scard__media { width: 11rem; } }
@media (min-width: 73.75em) { .c99-scard__media { width: 15rem; } }
.c99-scard__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.c99-scard__title { font: 600 1.7rem/1.1 var(--c99-font-head); margin: 0.4rem 0 0; text-wrap: balance; }
.c99-hero__list .c99-hl:last-child { border-bottom: 0; }

/* Big block title (62/58.9 at 1180+, 50/47.5 below) */
.c99-btitle { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.6rem; margin: 0 0 2.4rem; }
.c99-btitle h2 { font: 700 4rem/0.95 var(--c99-font-head); letter-spacing: -0.02em; margin: 0; text-wrap: balance; }
@media (min-width: 48em) { .c99-btitle h2 { font-size: 5rem; } }
@media (min-width: 73.75em) { .c99-btitle h2 { font-size: 6.2rem; } }
.c99-btitle a { flex: none; display: inline-flex; align-items: center; gap: 0.6rem; min-height: 4.4rem; padding: 0 0.4rem; font: 700 1.3rem/1.3 var(--c99-font-ui); text-decoration: none; color: var(--c99-sound); }
.c99-btitle a svg { width: 1.4rem; height: 1.4rem; }
.c99-btitle a:hover { text-decoration: underline; }

/* Lead block (+ mirrored) */
.c99-lb { margin-top: 7rem; }
.c99-lb__lead { position: relative; }
.c99-lb__media { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--c99-granite-100); }
.c99-lb__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.c99-lb__card { position: relative; background: var(--c99-surface); border: 1px solid var(--c99-ink); box-shadow: var(--c99-shadow-hard); padding: 2rem; margin: -3rem 1.6rem 0; }
.c99-lb__meta { display: flex; gap: 1rem; align-items: baseline; margin-bottom: 0.8rem; }
.c99-lb__title { font: 700 2.6rem/1 var(--c99-font-head); letter-spacing: -0.015em; margin: 0 0 1rem; text-wrap: balance; }
.c99-lb .c99-meta { margin: 0; }
.c99-lb__more { display: grid; gap: 2rem; padding-top: 2.5rem; }
.c99-lb__more .c99-csm { grid-template-columns: 11.5rem 1fr; }
@media (min-width: 48em) {
	.c99-lb__lead { min-height: 28.7rem; }
	.c99-lb__media { width: 35rem; aspect-ratio: 7 / 5; }
	.c99-lb__card { position: absolute; left: 31.5rem; top: 3.7rem; width: 31rem; min-height: 17.5rem; margin: 0; padding: 2.7rem 2rem; }
	.c99-lb__more { grid-template-columns: 1fr 1fr; column-gap: 3rem; }
}
@media (min-width: 73.75em) {
	.c99-lb__lead { min-height: 40rem; }
	.c99-lb__media { width: 60rem; aspect-ratio: 3 / 2; }
	.c99-lb__card { left: 57.5rem; top: 5rem; width: 45rem; min-height: 30rem; display: flex; flex-direction: column; justify-content: center; }
	.c99-lb__title { font-size: 3.6rem; line-height: 0.95; }
	.c99-lb__more { grid-template-columns: repeat(3, 1fr); column-gap: 1.8rem; }
	/* mirrored: 3 stacked cards (396) | 659x440 image with a 579 card hanging 130px below it */
	.c99-lb--mirror .c99-lb__body { display: grid; grid-template-columns: 39.56rem 1fr; column-gap: 4.5rem; align-items: start; }
	.c99-lb--mirror .c99-lb__more { grid-template-columns: 1fr; padding-top: 0; gap: 0; }
	.c99-lb--mirror .c99-lb__more .c99-csm { grid-template-columns: 1fr 11.5rem; padding: 2rem 0; border-bottom: 1px solid var(--c99-ink); }
	.c99-lb--mirror .c99-lb__more .c99-csm:first-child { padding-top: 0; }
	.c99-lb--mirror .c99-lb__more .c99-csm:last-child { border-bottom: 0; }
	.c99-lb--mirror .c99-lb__more .c99-csm__media { order: 2; }
	.c99-lb--mirror .c99-lb__lead { min-height: 57rem; }
	.c99-lb--mirror .c99-lb__media { width: 100%; aspect-ratio: 659 / 440; }
	.c99-lb--mirror .c99-lb__card { left: 4rem; top: 38.1rem; width: 57.9rem; min-height: 18.9rem; }
}

/* Promo band: newsletter + tip, two sections */
.c99-promo { margin-top: 7rem; display: grid; gap: 2rem; }
.c99-promo__tip { display: grid; grid-template-columns: 4.8rem 1fr; gap: 2rem; align-items: start; padding: 3rem; border: 1px solid var(--c99-ink); }
.c99-promo__icon { display: grid; place-items: center; width: 4.8rem; height: 4.8rem; border-radius: 50%; background: var(--c99-alpenglow-text); color: var(--c99-white); }
.c99-promo__icon svg { width: 2.4rem; height: 2.4rem; }
.c99-promo__title { font: 700 2.6rem/1.1 var(--c99-font-head); margin: 0 0 0.6rem; }
.c99-promo__text { font: 400 1.6rem/1.4 var(--c99-font-text); color: var(--c99-text-2); margin: 0 0 1.6rem; }
@media (min-width: 48em) { .c99-promo { grid-template-columns: 1fr 1fr; gap: 2.6rem; } }

/* Maps module: centred title with pin, featured box + 2-column map cards */
.c99-maps { margin-top: 7rem; border-top: 1px solid var(--c99-ink); padding: 1.6rem 0 0.7rem; }
.c99-maps__head { display: flex; justify-content: center; align-items: center; gap: 1rem; margin-bottom: 4rem; }
.c99-maps__head svg { width: 1.7rem; height: 2.8rem; color: var(--c99-alpenglow); }
.c99-maps__head h2 { font: 700 4rem/1.1 var(--c99-font-head); letter-spacing: -0.015em; margin: 0; text-align: center; text-wrap: balance; }
@media (min-width: 73.75em) { .c99-maps__head h2 { font-size: 4.2rem; } }
.c99-maps__body { display: grid; gap: 3rem; }
.c99-maps__feat { background: var(--c99-sound-tint); padding: 2.7rem; display: grid; gap: 0; align-content: start; }
.c99-mfeat { padding: 2.2rem 0; border-bottom: 1px solid var(--c99-sound); }
.c99-mfeat:first-child { padding-top: 0; }
.c99-mfeat:last-child { border-bottom: 0; padding-bottom: 0; }
.c99-mfeat__title { font: 700 2.4rem/1.05 var(--c99-font-head); margin: 0.6rem 0 0; }
.c99-mfeat__title a { color: var(--c99-sound-deep); text-decoration: none; }
.c99-mfeat__title a:hover { text-decoration: underline; }
.c99-maps__grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 4rem 2.5rem; align-content: start; }
.c99-maps__grid .c99-mc { grid-template-columns: 7.5rem 1fr; }
.c99-maps__all { text-align: center; margin: 4rem 0 0; }
@media (min-width: 48em) { .c99-maps__body { grid-template-columns: minmax(0, 1fr) 43.8rem; gap: 5rem; } .c99-maps__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 73.75em) { .c99-maps__body { grid-template-columns: 30.5rem 64.5rem; } }

/* Stream: 700 column (title row with 1px rule; cards 670 indented 30) + 300 sticky rail (top 40) */
.c99-stream { margin-top: 7rem; display: grid; grid-template-columns: 100%; gap: 4rem; }
.c99-stream__rail { order: -1; display: grid; gap: 3rem; align-content: start; }
.c99-stream__stick { display: none; }
.c99-stream__head { border-top: 1px solid var(--c99-ink); padding-top: 1rem; }
.c99-stream__head h2 { font: 700 4rem/1.1 var(--c99-font-head); letter-spacing: -0.015em; margin: 0; }
@media (min-width: 73.75em) { .c99-stream__head h2 { font-size: 4.2rem; } }
.c99-stream__list .c99-cs { padding: 3rem 0; }
.c99-stream__empty { font: 400 1.7rem/1.5 var(--c99-font-text); color: var(--c99-text-2); padding: 3rem 0; }
.c99-stream .c99-slot--river { padding: 3.5rem 0 3rem; border-bottom: 1px solid var(--c99-ink); }
@media (min-width: 48em) {
	.c99-stream__list { padding-left: 3rem; }
	.c99-stream__list .c99-cs { grid-template-columns: 1fr 19.5rem; gap: 2rem; padding: 3rem 2rem; }
	.c99-stream__list .c99-cs__media { aspect-ratio: 3 / 2; }
	.c99-stream__list .c99-cs--large { grid-template-columns: 24rem 1fr; }
	.c99-stream__list .c99-cs--large .c99-cs__media { aspect-ratio: 1; }
	.c99-stream .c99-slot--river .c99-slot__box { min-height: 9rem; }
}
.c99-stream__list .c99-cs__title { font-size: 2.1rem; line-height: 1; }
.c99-stream__list .c99-cs__dek { font-size: 1.5rem; line-height: 1.2; }
@media (min-width: 73.75em) {
	.c99-stream { grid-template-columns: 70rem 30rem; column-gap: 10rem; align-items: stretch; }
	.c99-stream__rail { order: 0; }
	.c99-stream__stick { display: block; position: sticky; top: 4rem; align-self: start; }
}
.c99-stream .c99-pager { padding-left: 3rem; }

/* Rail: about the town, quick facts */
.c99-about { border-top: var(--c99-rule-accent-w) solid var(--c99-sound); padding-top: 1.2rem; font-family: var(--c99-font-ui); }
.c99-about__fig { margin: 0 0 1.4rem; }
.c99-about__img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.c99-about__fig figcaption { padding-top: 0.6rem; text-align: left; }
.c99-about__title { font: 700 2.8rem/1.05 var(--c99-font-head); margin: 0 0 0.8rem; }
.c99-about__intro { font: 400 1.6rem/1.45 var(--c99-font-text); color: var(--c99-text-2); margin: 0 0 1.6rem; }
.c99-facts { margin: 0; display: grid; gap: 0; }
.c99-facts > div { padding: 1rem 0; border-top: 1px solid var(--c99-granite-300); }
.c99-facts dt { font: 700 1.15rem/1.2 var(--c99-font-ui); letter-spacing: var(--c99-ls-kicker); text-transform: uppercase; color: var(--c99-meta); }
.c99-facts dd { margin: 0.3rem 0 0; font: 600 1.6rem/1.3 var(--c99-font-ui); }
.c99-facts__src { font: 500 1.2rem/1 var(--c99-font-ui); color: var(--c99-meta); margin-left: 0.4rem; }
@media (min-width: 48em) and (max-width: 73.74em) { .c99-stream__rail { grid-template-columns: 1fr 1fr; gap: 3rem; } }

/* Hero DOM order is lead → side → list (reading + heading order); desktop places side left */
@media (min-width: 48em) { .c99-hero__side { grid-column: 1; grid-row: 1; } .c99-hero__main { grid-column: 2; grid-row: 1; } .c99-hero__list { grid-column: 3; grid-row: 1; } }
.c99-promo > *, .c99-maps__body > *, .c99-stream > * { min-width: 0; }
/* Large-text resilience: flex/grid children may shrink, titles wrap, long words break only when they must */
.c99-promo__tip > div, .c99-btitle h2, .c99-maps__head h2, .c99-mc__text, .c99-csm__text, .c99-cs__text { min-width: 0; }
.c99-btitle { flex-wrap: wrap; }
:is(.c99-btitle, .c99-maps__head, .c99-stream__head, .c99-hcard, .c99-lb, .c99-scard, .c99-mc, .c99-csm, .c99-cs, .c99-promo, .c99-about, .c99-cond, .c99-art-head, .c99-gcard, .c99-entry) :is(h1, h2, h3, a) { overflow-wrap: break-word; }
.c99-stream__rail > *, .c99-hero > *, .c99-lb__body > * { min-width: 0; } .c99-credit { overflow-wrap: anywhere; }
@media (max-width: 47.99em) { .c99-maps__head { flex-direction: column; gap: 0.6rem; } }

/* =========================================================== T6 Section page */
.c99-sec-head, .c99-sh { width: min(70rem, 100% - 4rem); margin-inline: auto; }
@media (min-width: 73.75em) { .c99-sec-head, .c99-sh { width: min(110rem, 100% - 4rem); } }
.c99-sec-head { text-align: center; }
.c99-sec-head__h1 { font: 700 5rem/0.95 var(--c99-font-head); letter-spacing: -0.02em; margin: 0; text-wrap: balance; overflow-wrap: break-word; }
@media (min-width: 73.75em) { .c99-sec-head__h1 { font-size: 6.2rem; } }
.c99-sec-head__sub { font: 700 1.3rem/1.2 var(--c99-font-ui); letter-spacing: var(--c99-ls-kicker); text-transform: uppercase; color: var(--c99-text-2); margin: 0.8rem 0 0; }
.c99-pills ul { list-style: none; margin: 1.4rem 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.8rem; }
.c99-pills a { display: inline-flex; align-items: center; min-height: 2.9rem; padding: 0.6rem 1rem; font: 600 1.2rem/1.1 var(--c99-font-ui); color: var(--c99-text); background: var(--c99-surface); border: 1px solid var(--c99-ink); box-shadow: 2px 2px 0 var(--c99-sound-deep); text-decoration: none; }
.c99-pills a:hover { background: var(--c99-sound-tint); }
.c99-pills a[aria-current="page"] { background: var(--c99-sound); color: var(--c99-paper); border-color: var(--c99-sound); }
.c99-sec-head__intro { max-width: 62ch; margin: 2rem auto 0; font: 400 1.6rem/1.5 var(--c99-font-text); color: var(--c99-text-2); }
.c99-sec-empty { width: min(70rem, 100% - 4rem); margin: 4rem auto; font: 400 1.7rem/1.5 var(--c99-font-text); text-align: center; }

/* Section hero: 659x439 image + 579 card hanging (x+40, y+377) | 380 rail of 3 (75 thumbs). Below 1180: 319x213 | rail. */
.c99-sh { margin-top: 4rem; display: grid; gap: 3rem; }
.c99-sh__lead { position: relative; }
.c99-sh__media { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--c99-granite-100); }
.c99-sh__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.c99-sh__card { position: relative; margin: -3rem 1.6rem 0; background: var(--c99-surface); border: 1px solid var(--c99-ink); box-shadow: var(--c99-shadow-hard); padding: 2rem; }
.c99-sh__title { font: 700 2.6rem/1 var(--c99-font-head); letter-spacing: -0.015em; margin: 0.8rem 0 0; text-wrap: balance; overflow-wrap: break-word; }
.c99-sh__title a, .c99-ri__title a { color: var(--c99-text); text-decoration: none; }
.c99-sh__title a:hover, .c99-ri__title a:hover { text-decoration: underline; text-decoration-color: var(--c99-accent); }
.c99-sh__dek { font: 400 1.6rem/1.35 var(--c99-font-text); color: var(--c99-text-2); margin: 1rem 0 0; }
.c99-ri { display: grid; grid-template-columns: 1fr 7.5rem; gap: 1.6rem; padding: 1.6rem 0; border-bottom: 1px solid var(--c99-ink); }
.c99-ri:first-child { padding-top: 0; }
.c99-ri:last-child { border-bottom: 0; }
.c99-ri__text { min-width: 0; }
.c99-ri__meta { display: flex; gap: 1rem; align-items: baseline; margin-bottom: 0.4rem; }
.c99-ri__title { font: 700 2.1rem/1 var(--c99-font-head); margin: 0; text-wrap: pretty; overflow-wrap: break-word; }
.c99-ri__dek { font: 400 1.5rem/1.2 var(--c99-font-text); color: var(--c99-text-2); margin: 0.6rem 0 0; }
.c99-ri__media { display: block; width: 7.5rem; height: 7.5rem; overflow: hidden; background: var(--c99-granite-100); }
.c99-ri__img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (min-width: 48em) {
	.c99-sh { grid-template-columns: 31.9rem minmax(0, 1fr); gap: 3rem; align-items: start; }
	.c99-sh__card { margin: -3rem 0 0 1.6rem; }
}
@media (min-width: 73.75em) {
	.c99-sh { grid-template-columns: 65.9rem 38rem; column-gap: 3rem; justify-content: space-between; }
	.c99-sh__lead { min-height: 59.1rem; }
	.c99-sh__card { position: absolute; left: 4rem; top: 37.7rem; width: 57.9rem; margin: 0; padding: 2.7rem 2rem; }
	.c99-sh__title { font-size: 3.6rem; line-height: 0.95; }
}
/* Stream title on section pages is the small measured label (15.25px), not the big hub title */
.c99-stream--section .c99-stream__head h2 { font: 700 1.525rem/1.1 var(--c99-font-ui); letter-spacing: 0.02em; }
@media (max-width: 73.74em) { .c99-stream--section .c99-stream__rail { order: 1; } }
.c99-stream__railbox { display: grid; gap: 4rem; align-content: start; }
.c99-hwymini { display: grid; grid-template-columns: 2.6rem 1fr 1.6rem; gap: 1.2rem; align-items: center; padding: 1.6rem; background: var(--c99-ink); color: var(--c99-paper); text-decoration: none; font: 500 1.4rem/1.3 var(--c99-font-ui); }
.c99-hwymini strong { display: block; font: 700 1.6rem/1.2 var(--c99-font-ui); }
.c99-hwymini svg { width: 100%; height: auto; }
.c99-hwymini:hover strong { text-decoration: underline; }
.c99-sh { grid-template-columns: minmax(0, 1fr); } @media (min-width: 48em) { .c99-sh { grid-template-columns: 31.9rem minmax(0, 1fr); } } @media (min-width: 73.75em) { .c99-sh { grid-template-columns: 65.9rem 38rem; } } .c99-ri { grid-template-columns: minmax(0, 1fr) 7.5rem; }

/* =========================================================== T9 Maps index: brand band + list (shared by T11 search, T12 404) */
.c99-band { background: var(--c99-sound-deep); color: var(--c99-paper); padding: 6rem 2rem; }
.c99-band__inner { width: min(75rem, 100%); margin-inline: auto; text-align: center; }
@media (max-width: 73.74em) { .c99-band__inner { width: min(70rem, 100%); } }
.c99-band__h1 { font: 700 3.2rem/1.1 var(--c99-font-head); letter-spacing: -0.015em; margin: 0 0 3rem; text-wrap: balance; overflow-wrap: break-word; }
@media (min-width: 73.75em) { .c99-band__h1 { font-size: 4.8rem; } }
.c99-band__lead { font: 400 1.7rem/1.45 var(--c99-font-text); color: #C6D6E2; margin: -1.6rem 0 3rem; }
.c99-band__search { display: flex; background: var(--c99-white); border: 1px solid var(--c99-white); min-height: 6.5rem; text-align: left; }
.c99-band__search input[type="search"] { flex: 1 1 auto; min-width: 0; border: 0; padding: 2rem 3.4rem 2rem 2rem; font: 500 1.8rem/1.2 var(--c99-font-ui); color: var(--c99-ink); background: transparent; }
.c99-band__search input[type="search"]::placeholder { color: var(--c99-granite-500); }
.c99-band__town { flex: none; max-width: 15rem; border: 0; border-left: 1px solid var(--c99-granite-300); padding: 0 1.2rem; font: 600 1.4rem/1 var(--c99-font-ui); color: var(--c99-ink); background: var(--c99-white); }
.c99-band__search button { flex: none; width: 6.5rem; display: grid; place-items: center; border: 0; background: var(--c99-alpenglow-text); color: var(--c99-white); cursor: pointer; }
.c99-band__search button svg { width: 2.2rem; height: 2.2rem; }
.c99-band__search button:hover { background: var(--c99-sound); }
.c99-band__search :focus-visible { outline: 3px solid var(--c99-focus); outline-offset: -3px; }
@media (max-width: 47.99em) { .c99-band__town { max-width: 10rem; } }
.c99-pills--band a { background: transparent; color: var(--c99-paper); border-color: #8FB0C8; box-shadow: none; }
.c99-pills--band a:hover { background: rgb(255 255 255 / 0.1); }
.c99-pills--band a[aria-current="page"] { background: var(--c99-paper); color: var(--c99-sound-deep); border-color: var(--c99-paper); }
.c99-pills--band ul { margin-top: 2rem; }
.c99-band :focus-visible { outline-color: #F2A57C; }
.c99-stream--maps .c99-stream__head h2 { font: 700 1.525rem/1.1 var(--c99-font-ui); letter-spacing: 0.02em; }
@media (max-width: 73.74em) { .c99-stream--maps .c99-stream__rail { display: none; } }
.c99-cs--map .c99-cs__by svg { width: 0.9rem; height: 1.4rem; color: var(--c99-alpenglow); }
.c99-stream__empty p { margin: 0 0 1.6rem; }
@media (max-width: 47.99em) {
	.c99-band__search { flex-wrap: wrap; }
	.c99-band__search input[type="search"] { flex-basis: calc(100% - 6.5rem); }
	.c99-band__town { order: 3; flex: 1 1 100%; max-width: none; min-height: 4.4rem; border-left: 0; border-top: 1px solid var(--c99-granite-300); }
}
.c99-pills--towns ul { margin-top: 1rem; }

/* =========================================================== T4 Homepage */
.c99-row5, .c99-mrhome, .c99-homemore { width: min(70rem, 100% - 4rem); margin-inline: auto; }
@media (min-width: 73.75em) { .c99-row5 { width: min(110rem, 100% - 4rem); } .c99-mrhome { width: min(110rem, 100% - 4rem); } }
/* Hero: latest list | lead card | 2 cards (209 | 633 | 209, 25 gaps; 132 | 400 | 132 below 1180) */
@media (min-width: 48em) {
	.c99-hero--home .c99-hero__list { grid-column: 1; grid-row: 1; }
	.c99-hero--home .c99-hero__main { grid-column: 2; grid-row: 1; }
	.c99-hero--home .c99-hero__side { grid-column: 3; grid-row: 1; }
	.c99-hero--home .c99-hcard { padding: 2rem 1.2rem 1.2rem; }
}
@media (min-width: 73.75em) {
	.c99-hero--home { grid-template-columns: 1fr 63.3rem 1fr; column-gap: 2.5rem; }
	.c99-hero--home .c99-hcard { padding: 3rem 2.5rem 2.5rem; }
	.c99-hero--home .c99-hero__list { padding-top: 2.8rem; }
}
.c99-hero__ltitle { font: 700 2.4rem/1.1 var(--c99-font-head); margin: 0 0 2.4rem; }
.c99-hero--home .c99-hero__list .c99-hl:first-child { padding-top: 0; }

/* 5-up row (Fresh Tracks / Just in): measured 196px 3:2 images, 20px apart */
.c99-row5 { margin-top: 7rem; }
.c99-mtitle--row { margin-bottom: 2.4rem; }
.c99-row5__grid { display: grid; grid-template-columns: 100%; gap: 2rem; }
@media (max-width: 47.99em) { .c99-row5__grid .c99-cg { padding-bottom: 2rem; border-bottom: 1px solid var(--c99-granite-300); } }
@media (min-width: 48em) { .c99-row5__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 2rem; } .c99-row5__grid .c99-cg__title { font-size: 1.6rem; } }
@media (min-width: 73.75em) { .c99-row5__grid { padding-left: 2rem; } .c99-row5__grid .c99-cg__title { font-size: 1.7rem; } }
.c99-cg--fresh .c99-town { display: block; margin-top: 0.6rem; }

/* Home maps: 3 columns of map cards in 1000 (700 below 1180) */
.c99-maps__grid--3 { grid-template-columns: 1fr; gap: 3rem 2.5rem; }
@media (min-width: 48em) { .c99-maps__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem 1.6rem; } }
@media (min-width: 73.75em) { .c99-maps__grid--3 { gap: 4rem 2.5rem; } }

/* Most read 1–7: centred 42px title; list in 1000 (35px number column, 26px titles, 24px to each rule) */
.c99-mrhome { margin-top: 7rem; }
.c99-mostread--home .c99-mostread__title { font-size: 4rem; text-align: center; margin-bottom: 3.5rem; }
@media (min-width: 73.75em) { .c99-mostread--home .c99-mostread__title { font-size: 4.2rem; } .c99-mostread--home .c99-mostread__list { width: min(100rem, 100%); margin-inline: auto; } }
.c99-mostread--home .c99-mostread__list li { padding: 0 0 2.4rem 3.5rem; margin-bottom: 2.4rem; }
.c99-mostread--home .c99-mostread__list a { font-size: 2.2rem; line-height: 1.1; }
@media (min-width: 48em) { .c99-mostread--home .c99-mostread__list a { font-size: 2.6rem; line-height: 1; } }
.c99-mostread--home .c99-mostread__list li::before { font-size: 2.6rem; }
.c99-homemore { text-align: center; margin-top: 6rem; margin-bottom: 2rem; }
.c99-hero__side { grid-template-columns: repeat(2, minmax(0, 1fr)); } @media (min-width: 48em) { .c99-hero__side { grid-template-columns: minmax(0, 1fr); } } .c99-kicker { overflow-wrap: anywhere; max-width: 100%; }

/* =========================================================== T14 The Region */
.c99-rmap, .c99-region-body { width: min(70rem, 100% - 4rem); margin-inline: auto; }
@media (min-width: 73.75em) { .c99-rmap, .c99-region-body { width: min(110rem, 100% - 4rem); } }
.c99-region-intro { text-align: center; }
.c99-region-intro__h1 { font: 700 5rem/0.95 var(--c99-font-head); letter-spacing: -0.02em; margin: 0.8rem 0 0; text-wrap: balance; overflow-wrap: break-word; }
@media (min-width: 73.75em) { .c99-region-intro__h1 { font-size: 6.2rem; } }
.c99-region-intro__dek { max-width: 62ch; margin: 1.6rem auto 0; font: italic 400 1.9rem/1.35 var(--c99-font-text); color: var(--c99-text-2); }
.c99-rmap { margin-top: 4rem; }
.c99-rmap__map { height: 42rem; border: 1px solid var(--c99-ink); box-shadow: var(--c99-shadow-hard); background: var(--c99-granite-100); z-index: 1; }
@media (min-width: 73.75em) { .c99-rmap__map { height: 56rem; } }
.c99-rmap__legend { list-style: none; counter-reset: none; margin: 1.6rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.8rem 2rem; font: 600 1.5rem/1.2 var(--c99-font-ui); }
.c99-rmap__legend li::before { content: attr(data-c99-pin); display: inline-grid; place-items: center; width: 2.2rem; height: 2.2rem; margin-right: 0.6rem; border-radius: 2px; background: var(--c99-alpenglow-text); color: #fff; font: 700 1.3rem/1 var(--c99-font-mark); }
.c99-rmap__legend a { color: var(--c99-text); text-decoration: none; display: inline-flex; align-items: center; min-height: 2.4rem; }
.c99-rmap__legend a:hover { text-decoration: underline; }
.c99-rmap__note { margin: 0.8rem 0 0; }
.c99-towns { margin-top: 6rem; }
.c99-towns__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4rem; }
@media (min-width: 48em) { .c99-towns__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4rem 2.5rem; } }
@media (min-width: 73.75em) { .c99-towns__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 2.5rem; } }
.c99-tcard__media { position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--c99-granite-100); }
.c99-tcard__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.c99-tcard__n { position: absolute; left: 1rem; top: 1rem; display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 2px; background: var(--c99-alpenglow-text); color: #fff; font: 700 1.6rem/1 var(--c99-font-mark); box-shadow: 0 0 0 2px #fff; }
.c99-tcard__name { font: 700 2.6rem/1 var(--c99-font-head); margin: 1.4rem 0 0.6rem; overflow-wrap: break-word; }
.c99-tcard__name a { color: var(--c99-text); text-decoration: none; }
.c99-tcard__name a:hover { text-decoration: underline; text-decoration-color: var(--c99-accent); }
.c99-tcard__intro { font: 400 1.5rem/1.4 var(--c99-font-text); color: var(--c99-text-2); margin: 0 0 1rem; }
.c99-tcard__fact { font: 600 1.4rem/1.3 var(--c99-font-ui); margin: 0 0 0.6rem; padding-top: 0.8rem; border-top: 1px solid var(--c99-granite-300); }
.c99-tcard__fact span { display: block; font: 700 1.1rem/1.2 var(--c99-font-ui); letter-spacing: var(--c99-ls-kicker); text-transform: uppercase; color: var(--c99-meta); margin-bottom: 0.2rem; }
.c99-tcard__credit { margin: 0; }
.c99-region-body { margin-top: 6rem; }
.c99-prose--page { margin-left: 0; }
@media (min-width: 48em) { .c99-prose--page { max-width: 70rem; margin-inline: auto; } }

/* =========================================================== T13 Standard page, forms, T10 author, T11 search, T12 404 */
.c99-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.c99-page__main { width: min(70rem, 100% - 4rem); margin-inline: auto; padding-bottom: 6rem; }
@media (min-width: 73.75em) { .c99-page__main { width: min(110rem, 100% - 4rem); } .c99-page__body { max-width: 70rem; } }
.c99-page__head { margin-bottom: 1rem; }
.c99-page__body { margin-top: 2.4rem; }
@media (min-width: 48em) { .c99-page__body { margin-left: 10rem; max-width: 60rem; } }
@media (min-width: 73.75em) { .c99-page__body { max-width: 70rem; } }
.c99-page__body h2 { scroll-margin-top: 9rem; }
.c99-page__updated { margin-top: 4rem !important; }
.c99-notice { background: var(--c99-alpenglow-text); color: var(--c99-white); padding: 1.2rem 1.6rem; font: 600 1.5rem/1.4 var(--c99-font-ui); }

/* Gravity Forms skinned to the brand (fields inherit tokens; no GF theme colours) */
.c99-form { margin: 3rem 0 0; padding: 2.4rem; background: var(--c99-surface); border: 1px solid var(--c99-ink); box-shadow: var(--c99-shadow-hard); font-family: var(--c99-font-ui); }
.c99-form .gform_wrapper.gravity-theme .gfield_label, .c99-form .gfield_label { font: 700 1.5rem/1.3 var(--c99-font-ui); color: var(--c99-text); }
.c99-form .gfield_required { color: var(--c99-alpenglow-text); }
.c99-form .gfield_description, .c99-form .gform_wrapper.gravity-theme .gfield_description { font: 400 1.4rem/1.4 var(--c99-font-ui); color: var(--c99-text-2); }
.c99-form input[type="text"], .c99-form input[type="email"], .c99-form input[type="url"], .c99-form select, .c99-form textarea { width: 100%; min-height: 4.4rem; font: 400 1.6rem/1.4 var(--c99-font-ui); color: var(--c99-ink); background: var(--c99-white); border: 1px solid var(--c99-ink); border-radius: var(--c99-radius); padding: 0.8rem 1.2rem; }
.c99-form textarea { min-height: 14rem; }
.c99-form input:focus-visible, .c99-form select:focus-visible, .c99-form textarea:focus-visible { outline: 3px solid var(--c99-focus); outline-offset: 1px; }
.c99-form .gform_footer input[type="submit"], .c99-form .gform_footer button, .c99-form .gform_button { min-height: 4.4rem; padding: 1.2rem 2.4rem; font: 700 1.3rem/1 var(--c99-font-ui); letter-spacing: 0.06rem; text-transform: uppercase; color: var(--c99-paper); background: var(--c99-sound); border: 1px solid var(--c99-sound); border-radius: var(--c99-radius); cursor: pointer; }
.c99-form .gform_button:hover { background: var(--c99-sound-deep); }
.c99-form .gfield_error input, .c99-form .gfield_error textarea { border-color: var(--c99-alpenglow-text); }
.c99-form .validation_message, .c99-form .gform_validation_errors { color: var(--c99-alpenglow-text); font: 600 1.4rem/1.4 var(--c99-font-ui); }
.c99-form .gform_confirmation_message { font: 600 1.7rem/1.5 var(--c99-font-ui); color: var(--c99-sound); }

/* Author head */
.c99-author-head__beats { font: 600 1.5rem/1.4 var(--c99-font-ui); margin: 1.2rem 0 0; }
.c99-author-head__beats span { font: 700 1.15rem/1.2 var(--c99-font-ui); letter-spacing: var(--c99-ls-kicker); text-transform: uppercase; color: var(--c99-meta); margin-right: 0.6rem; }
.c99-author-head__links { font: 600 1.4rem/1.4 var(--c99-font-ui); margin: 1.2rem 0 0; color: var(--c99-meta); }

/* Search + 404 */
.c99-band__count { font: 600 1.5rem/1.4 var(--c99-font-ui); color: #C6D6E2; margin: 1.6rem 0 0; }
.c99-band__code { font: 800 1.4rem/1 var(--c99-font-mark); letter-spacing: 0.3rem; color: #F2A57C; margin: 0 0 1rem; }
.c99-cs--page { grid-template-columns: 1fr !important; }
.c99-suggest { margin-top: 4rem; }
.c99-suggest__title { font: 700 2.6rem/1.1 var(--c99-font-head); margin: 0 0 2rem; }
.c99-suggest__cols { display: grid; gap: 3rem; }
@media (min-width: 48em) { .c99-suggest__cols { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.c99-suggest h3 { font: 700 1.2rem/1.2 var(--c99-font-ui); letter-spacing: var(--c99-ls-kicker); text-transform: uppercase; color: var(--c99-meta); margin: 0 0 0.8rem; }
.c99-suggest ul { list-style: none; margin: 0; padding: 0; }
.c99-suggest a { display: flex; align-items: center; min-height: 4rem; border-bottom: 1px solid var(--c99-granite-300); font: 600 1.6rem/1.2 var(--c99-font-ui); color: var(--c99-text); text-decoration: none; }
.c99-suggest a:hover { color: var(--c99-sound); text-decoration: underline; }
.c99-404 { width: min(70rem, 100% - 4rem); margin: 5rem auto 6rem; }
@media (min-width: 73.75em) { .c99-404 { width: min(110rem, 100% - 4rem); } }
.c99-404__maps { margin-bottom: 2rem; }
/* Gravity Forms Orbital theme: drive it with brand tokens via its own variables (its selectors outrank ours) */
.c99-form .gform-theme--orbital, .c99-form .gform_wrapper {
	--gf-color-primary: #184261; --gf-color-primary-rgb: 24, 66, 97; --gf-color-primary-contrast: #EFF6F8; --gf-color-primary-darker: #002B48; --gf-color-primary-lighter: #496E8D;
	--gf-ctrl-border-color: #1A1E1C; --gf-ctrl-label-color-primary: #1A1E1C; --gf-ctrl-label-color-secondary: #474746; --gf-ctrl-desc-color: #474746;
	--gf-color-danger: #BC4F15; --gf-ctrl-label-color-req: #BC4F15; --gf-radius: 2px; --gf-ctrl-btn-radius: 2px;
	--gf-font-family-base: "Barlow", system-ui, sans-serif; --gf-ctrl-btn-font-weight: 700; --gf-ctrl-btn-text-transform: uppercase; --gf-ctrl-btn-letter-spacing: 0.06rem;
	--gf-ctrl-btn-padding-x: 2.4rem; --gf-ctrl-size: 4.4rem; --gf-ctrl-btn-font-size: 1.3rem; --gf-ctrl-font-size: 1.6rem; --gf-ctrl-label-font-size-primary: 1.5rem;
}
