/*
Theme Name:   Monticello 2026
Theme URI:    https://monticellosnomobileclub.org/
Author:       Monticello Sno-Mobile Club
Description:  A modern, high-contrast theme for the Monticello Sno-Mobile Club — Wisconsin's first incorporated snowmobile club, est. 1966. Deep winter blues, an editorial display serif and typewriter-caps navigation. Built to need almost no upkeep: meeting dates and the newsletter archive come from the Monticello Club Core plugin and maintain themselves.
Version: 1.1.1
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  monticello
Tags:         blog, one-column, two-columns, custom-logo, custom-menu, featured-images, full-width-template, sticky-post, threaded-comments, translation-ready, accessibility-ready
*/

/* ==========================================================================
   1. Design tokens
   Sampled from the approved mockup: deep royal blue field, tan-gold accent,
   signal red for primary actions.
   ========================================================================== */

:root {
	/* Blues, dark to light */
	--msc-navy-950: #08113a;
	--msc-navy-900: #0b1748;
	--msc-navy-850: #102170;
	--msc-blue-800: #16299a;
	--msc-blue-700: #1b37a2;
	--msc-blue-600: #2740aa;
	--msc-blue-500: #3a55c0;

	/* Accents */
	--msc-red: #c72820;
	--msc-red-dark: #a41d16;
	--msc-red-light: #e0473c;
	--msc-gold: #e1bf69;
	--msc-gold-light: #f0dda8;
	--msc-green: #2f8f4e;

	/* Neutrals */
	--msc-paper: #ffffff;
	--msc-cream: #f7f5ee;
	--msc-cream-dark: #ebe7db;
	--msc-ink: #131a33;
	--msc-ink-70: #3d4666;
	--msc-ink-50: #6a7391;
	--msc-line: #d9d4c6;

	/* On-blue text */
	--msc-on-blue: #ffffff;
	--msc-on-blue-70: #c3ccec;
	--msc-on-blue-50: #97a3cf;

	/* Type */
	--msc-display: "Playfair Display", "Iowan Old Style", Georgia, "Times New Roman", serif;
	--msc-body: "Source Serif 4", "Source Serif Pro", Georgia, Cambria, serif;
	--msc-mono: "Space Mono", "Courier Prime", "Courier New", ui-monospace, monospace;

	/* Rhythm */
	--msc-measure: 68ch;
	--msc-gutter: clamp(1.25rem, 4vw, 3rem);
	--msc-wrap: 1240px;
	--msc-wrap-narrow: 820px;
	--msc-section: clamp(3.5rem, 8vw, 7rem);

	/* Furniture */
	--msc-radius: 4px;
	--msc-radius-lg: 8px;
	--msc-shadow: 0 1px 2px rgba(8, 17, 58, .06), 0 8px 24px -8px rgba(8, 17, 58, .14);
	--msc-shadow-lift: 0 2px 4px rgba(8, 17, 58, .08), 0 18px 40px -12px rgba(8, 17, 58, .28);
	--msc-ease: cubic-bezier(.2, .7, .3, 1);
}

/* ==========================================================================
   2. Reset and base
   ========================================================================== */

*,
*::before,
*::after { box-sizing: border-box; }

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: 6rem;
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}

body {
	margin: 0;
	background: var(--msc-cream);
	color: var(--msc-ink);
	font-family: var(--msc-body);
	font-size: clamp(1rem, .96rem + .2vw, 1.0625rem);
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}

img,
svg,
video,
iframe { max-width: 100%; height: auto; }

img { display: block; }

/* Headings ---------------------------------------------------------------- */

h1, h2, h3, h4, h5, h6 {
	font-family: var(--msc-display);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -.015em;
	margin: 0 0 .5em;
	color: var(--msc-navy-900);
	text-wrap: balance;
}

h1 { font-size: clamp(2.25rem, 1.6rem + 3.2vw, 4rem); }
h2 { font-size: clamp(1.75rem, 1.35rem + 1.9vw, 2.85rem); }
h3 { font-size: clamp(1.3rem, 1.15rem + .7vw, 1.7rem); }
h4 { font-size: clamp(1.1rem, 1.05rem + .3vw, 1.3rem); }
h5, h6 {
	font-family: var(--msc-mono);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	line-height: 1.4;
}

p { margin: 0 0 1.15em; }
p:last-child { margin-bottom: 0; }

a {
	color: var(--msc-blue-700);
	text-decoration-thickness: 1px;
	text-underline-offset: .18em;
	transition: color .18s var(--msc-ease);
}
a:hover { color: var(--msc-red); }

strong, b { font-weight: 600; }

blockquote {
	margin: 2rem 0;
	padding: .25rem 0 .25rem 1.5rem;
	border-left: 3px solid var(--msc-gold);
	font-size: 1.15em;
	font-style: italic;
	color: var(--msc-ink-70);
}

hr {
	border: 0;
	border-top: 1px solid var(--msc-line);
	margin: var(--msc-section) 0;
}

code, kbd, pre, samp { font-family: var(--msc-mono); font-size: .9em; }

pre {
	overflow-x: auto;
	padding: 1rem 1.25rem;
	background: var(--msc-navy-900);
	color: var(--msc-on-blue);
	border-radius: var(--msc-radius);
}

ul, ol { padding-left: 1.35em; }
li { margin-bottom: .4em; }

/* Focus ------------------------------------------------------------------- */

:focus-visible {
	outline: 3px solid var(--msc-gold);
	outline-offset: 3px;
	border-radius: 2px;
}

.msc-header :focus-visible,
.msc-hero :focus-visible,
.msc-footer :focus-visible { outline-color: var(--msc-gold-light); }

/* Accessibility helpers --------------------------------------------------- */

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.skip-link {
	position: absolute;
	top: -100px; left: .5rem;
	z-index: 200;
	padding: .7rem 1.1rem;
	background: var(--msc-red);
	color: #fff;
	font-family: var(--msc-mono);
	font-size: .8rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: var(--msc-radius);
}
.skip-link:focus {
	top: .5rem;
	color: #fff;
}

/* ==========================================================================
   3. Layout primitives
   ========================================================================== */

.msc-wrap {
	width: 100%;
	max-width: var(--msc-wrap);
	margin-inline: auto;
	padding-inline: var(--msc-gutter);
}

.msc-wrap--narrow { max-width: var(--msc-wrap-narrow); }

.msc-section { padding-block: var(--msc-section); }
.msc-section--tight { padding-block: clamp(2.5rem, 5vw, 4rem); }

.msc-section--cream { background: var(--msc-cream); }
.msc-section--paper { background: var(--msc-paper); }

.msc-section--blue {
	background: var(--msc-navy-900);
	color: var(--msc-on-blue);
}
.msc-section--blue h1,
.msc-section--blue h2,
.msc-section--blue h3,
.msc-section--blue h4 { color: var(--msc-on-blue); }
.msc-section--blue a { color: var(--msc-gold-light); }
.msc-section--blue a:hover { color: #fff; }

/* Section headers --------------------------------------------------------- */

.msc-eyebrow {
	display: flex;
	align-items: center;
	gap: .85rem;
	margin: 0 0 1.1rem;
	font-family: var(--msc-mono);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--msc-red);
}
.msc-eyebrow::before {
	content: "";
	width: 2.25rem;
	height: 3px;
	background: var(--msc-red);
	flex: none;
}
.msc-section--blue .msc-eyebrow,
.msc-hero .msc-eyebrow { color: var(--msc-gold); }
.msc-section--blue .msc-eyebrow::before,
.msc-hero .msc-eyebrow::before { background: var(--msc-red); }

.msc-eyebrow--center { justify-content: center; }

.msc-section__head { max-width: var(--msc-measure); margin-bottom: clamp(2rem, 4vw, 3.25rem); }
.msc-section__head--center { margin-inline: auto; text-align: center; }
.msc-section__head--center .msc-eyebrow { justify-content: center; }

.msc-lede {
	font-size: clamp(1.075rem, 1rem + .4vw, 1.3rem);
	line-height: 1.6;
	color: var(--msc-ink-70);
}
.msc-section--blue .msc-lede,
.msc-hero .msc-lede { color: var(--msc-on-blue-70); }

/* ==========================================================================
   4. Buttons
   ========================================================================== */

.msc-btn,
.msc-btn:hover,
.wp-block-button__link {
	font-family: var(--msc-mono);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-decoration: none;
}

.msc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .6rem;
	padding: 1.05rem 1.85rem;
	border: 2px solid transparent;
	border-radius: var(--msc-radius);
	cursor: pointer;
	transition: background-color .2s var(--msc-ease), color .2s var(--msc-ease),
		border-color .2s var(--msc-ease), transform .2s var(--msc-ease),
		box-shadow .2s var(--msc-ease);
}

.msc-btn:hover { transform: translateY(-2px); }
.msc-btn:active { transform: translateY(0); }

.msc-btn--primary {
	background: var(--msc-red);
	border-color: var(--msc-red);
	color: #fff;
	box-shadow: 0 2px 0 var(--msc-red-dark);
}
.msc-btn--primary:hover {
	background: var(--msc-red-light);
	border-color: var(--msc-red-light);
	color: #fff;
	box-shadow: 0 4px 0 var(--msc-red-dark), 0 12px 24px -10px rgba(199, 40, 32, .6);
}

.msc-btn--ghost {
	background: transparent;
	border-color: rgba(255, 255, 255, .45);
	color: #fff;
}
.msc-btn--ghost:hover {
	background: rgba(255, 255, 255, .1);
	border-color: #fff;
	color: #fff;
}

/* Ghost on a light background. Excluded inside the dark blue components,
   which can sit within a light section — a navy outline on a navy card is
   invisible. */
:is(.msc-section--cream, .msc-section--paper, .msc-page)
	:not(.msc-latest, .msc-current, .msc-card--blue, .msc-join, .msc-status) > .msc-btn--ghost,
:is(.msc-section--cream, .msc-section--paper, .msc-page) > .msc-wrap .msc-btn-row > .msc-btn--ghost {
	border-color: var(--msc-navy-850);
	color: var(--msc-navy-850);
}
:is(.msc-section--cream, .msc-section--paper, .msc-page)
	:not(.msc-latest, .msc-current, .msc-card--blue, .msc-join, .msc-status) > .msc-btn--ghost:hover,
:is(.msc-section--cream, .msc-section--paper, .msc-page) > .msc-wrap .msc-btn-row > .msc-btn--ghost:hover {
	background: var(--msc-navy-850);
	color: #fff;
}

/* Ghost buttons that live on a dark component always stay light, whatever
   section surrounds them. */
.msc-latest .msc-btn--ghost,
.msc-current .msc-btn--ghost,
.msc-card--blue .msc-btn--ghost,
.msc-status .msc-btn--ghost,
.msc-hero .msc-btn--ghost,
.msc-section--blue .msc-btn--ghost {
	border-color: rgba(255, 255, 255, .5);
	color: #fff;
	background: transparent;
}
.msc-latest .msc-btn--ghost:hover,
.msc-current .msc-btn--ghost:hover,
.msc-card--blue .msc-btn--ghost:hover,
.msc-status .msc-btn--ghost:hover,
.msc-hero .msc-btn--ghost:hover,
.msc-section--blue .msc-btn--ghost:hover {
	background: rgba(255, 255, 255, .14);
	border-color: #fff;
	color: #fff;
}

.msc-btn--gold {
	background: var(--msc-gold);
	border-color: var(--msc-gold);
	color: var(--msc-navy-950);
}
.msc-btn--gold:hover { background: var(--msc-gold-light); border-color: var(--msc-gold-light); color: var(--msc-navy-950); }

.msc-btn--sm { padding: .7rem 1.2rem; font-size: .7rem; }

.msc-btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: .85rem;
	margin-top: 2rem;
}

/* Text link with a mono arrow --------------------------------------------- */

.msc-textlink {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	font-family: var(--msc-mono);
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
	text-decoration: none;
	border-bottom: 2px solid currentColor;
	padding-bottom: .2rem;
}
.msc-textlink::after {
	content: "\2192";
	transition: transform .2s var(--msc-ease);
}
.msc-textlink:hover::after { transform: translateX(4px); }

/* ==========================================================================
   5. Header and navigation
   ========================================================================== */

.msc-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--msc-navy-850);
	border-bottom: 3px solid var(--msc-red);
}

/* The header is a masthead, not body copy — it gets a wider measure than the
   content so a long menu has somewhere to go. */
.msc-header > .msc-wrap {
	max-width: 1600px;
}

.msc-header__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: clamp(.75rem, 2vw, 2.25rem);
	row-gap: .35rem;
	min-height: 5rem;
	padding-block: .5rem;
}

/* Brand ------------------------------------------------------------------- */

.msc-brand {
	display: flex;
	align-items: center;
	gap: .9rem;
	text-decoration: none;
	/* Allowed to shrink. A brand lockup that refuses to give ground is what
	   pushes a long menu off the edge of the screen. */
	flex: 0 1 auto;
	min-width: 0;
	margin-right: auto;
}

.msc-brand__mark {
	width: 3.1rem;
	height: 3.1rem;
	flex: none;
	border-radius: 50%;
	background: #fff;
	padding: 2px;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, .28), 0 4px 12px rgba(0, 0, 0, .3);
}
.msc-brand__mark img,
.msc-brand__mark svg { width: 100%; height: 100%; border-radius: 50%; object-fit: contain; }

.msc-brand__text { display: flex; flex-direction: column; gap: .22rem; min-width: 0; }

.msc-brand__name {
	font-family: var(--msc-mono);
	font-size: clamp(.82rem, .7rem + .5vw, 1.05rem);
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: #fff;
	line-height: 1.1;
}

.msc-brand__tag {
	font-family: var(--msc-mono);
	font-size: .62rem;
	letter-spacing: .17em;
	text-transform: uppercase;
	color: var(--msc-on-blue-50);
	line-height: 1.2;
}

/* Primary nav ------------------------------------------------------------- */

.msc-nav {
	display: none;
	/* Takes the room left over between brand and call to action, and is free to
	   shrink to nothing rather than forcing the header wider than the screen. */
	flex: 1 1 auto;
	min-width: 0;
}

.msc-nav ul {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* The top level wraps onto a second line when the club's menu is longer than
   the space available. This is the safety net that makes the header correct for
   any number of menu items at any width — nothing is ever clipped. */
.msc-nav > ul {
	flex-wrap: wrap;
	justify-content: flex-end;
	row-gap: 0;
}

.msc-nav li { position: relative; margin: 0; }

.msc-nav > ul > li + li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 1.1rem;
	background: rgba(255, 255, 255, .18);
}

.msc-nav a {
	display: block;
	/* Tightens as the viewport narrows, buying back roughly 150px across a
	   ten-item menu before anything has to wrap. */
	padding: .6rem clamp(.42rem, .85vw, 1.05rem);
	font-family: var(--msc-mono);
	font-size: clamp(.66rem, .58rem + .12vw, .72rem);
	font-weight: 700;
	letter-spacing: clamp(.07em, .04em + .05vw, .13em);
	text-transform: uppercase;
	color: var(--msc-on-blue-70);
	text-decoration: none;
	white-space: nowrap;
	transition: color .18s var(--msc-ease);
}

.msc-nav a:hover,
.msc-nav a:focus-visible { color: #fff; }

.msc-nav .current-menu-item > a,
.msc-nav .current_page_item > a,
.msc-nav .current-menu-ancestor > a,
.msc-nav .current_page_ancestor > a {
	color: #fff;
	box-shadow: inset 0 -3px 0 var(--msc-gold);
}

/* Submenus */
.msc-nav ul ul {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 20;
	display: block;
	min-width: 14rem;
	padding: .4rem 0;
	background: var(--msc-navy-950);
	border: 1px solid rgba(255, 255, 255, .12);
	border-top: 3px solid var(--msc-gold);
	border-radius: 0 0 var(--msc-radius) var(--msc-radius);
	box-shadow: 0 20px 40px -12px rgba(0, 0, 0, .55);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity .18s var(--msc-ease), transform .18s var(--msc-ease), visibility .18s;
}

.msc-nav ul ul li { display: block; width: 100%; }
.msc-nav ul ul li::before { display: none; }

.msc-nav ul ul a {
	padding: .6rem 1.1rem;
	font-size: .7rem;
	letter-spacing: .1em;
	white-space: normal;
}
.msc-nav ul ul a:hover { background: rgba(255, 255, 255, .07); }

/* Dropdowns near the right-hand end open leftwards. The submenu is absolutely
   positioned and, although hidden, is still laid out — so a left-anchored
   dropdown on the last item both gets clipped by the window when opened AND
   silently adds its width to the page's scrollable area. Anchoring the final
   few to the right fixes the visible clipping and the phantom overflow at once. */
.msc-nav > ul > li:nth-last-child(-n+3) > ul {
	left: auto;
	right: 0;
}

/* Last-resort guard: a submenu can never be wider than the screen. */
.msc-nav ul ul {
	max-width: calc(100vw - 2 * var(--msc-gutter));
}

.msc-nav li:hover > ul,
.msc-nav li:focus-within > ul {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* Header CTA -------------------------------------------------------------- */

.msc-header__cta { display: none; flex: none; }

/* Mobile toggle ----------------------------------------------------------- */

.msc-navtoggle {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	margin-left: auto;
	padding: .6rem .85rem;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, .35);
	border-radius: var(--msc-radius);
	color: #fff;
	font-family: var(--msc-mono);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	cursor: pointer;
}

.msc-navtoggle__bars {
	position: relative;
	width: 1.05rem;
	height: 2px;
	background: currentColor;
	transition: background-color .15s;
}
.msc-navtoggle__bars::before,
.msc-navtoggle__bars::after {
	content: "";
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background: currentColor;
	transition: transform .2s var(--msc-ease);
}
.msc-navtoggle__bars::before { top: -6px; }
.msc-navtoggle__bars::after { top: 6px; }

.msc-navtoggle[aria-expanded="true"] .msc-navtoggle__bars { background: transparent; }
.msc-navtoggle[aria-expanded="true"] .msc-navtoggle__bars::before { transform: translateY(6px) rotate(45deg); }
.msc-navtoggle[aria-expanded="true"] .msc-navtoggle__bars::after { transform: translateY(-6px) rotate(-45deg); }

/* Mobile panel ------------------------------------------------------------ */

.msc-mobilenav {
	display: none;
	background: var(--msc-navy-950);
	border-top: 1px solid rgba(255, 255, 255, .12);
}
.msc-mobilenav.is-open { display: block; }

.msc-mobilenav ul { margin: 0; padding: 0; list-style: none; }
.msc-mobilenav li { margin: 0; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.msc-mobilenav li:last-child { border-bottom: 0; }

.msc-mobilenav a {
	display: block;
	padding: .95rem var(--msc-gutter);
	font-family: var(--msc-mono);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--msc-on-blue-70);
	text-decoration: none;
}
.msc-mobilenav a:hover,
.msc-mobilenav .current-menu-item > a { color: #fff; background: rgba(255, 255, 255, .06); }

.msc-mobilenav ul ul a { padding-left: calc(var(--msc-gutter) + 1.25rem); font-size: .72rem; opacity: .85; }

.msc-mobilenav__cta { padding: 1.1rem var(--msc-gutter) 1.4rem; }
.msc-mobilenav__cta .msc-btn { width: 100%; }

/* Below this the horizontal menu is replaced by the button. Raised from 1080px
   after the live site turned out to carry ten top-level items: a cramped,
   three-line nav is worse than a tidy menu button. */
@media (min-width: 1200px) {
	.msc-nav { display: block; }
	.msc-header__cta { display: block; }
	.msc-navtoggle { display: none; }
	.msc-mobilenav { display: none !important; }
}

/* Small screens: the brand lockup must yield to the menu button, never push
   it off the edge. */
@media (max-width: 1199px) {
	.msc-header__inner { min-height: 4.25rem; gap: .75rem; }
	.msc-brand { min-width: 0; gap: .7rem; }
	.msc-brand__text { min-width: 0; }
	.msc-brand__name,
	.msc-brand__tag {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}

@media (max-width: 600px) {
	.msc-brand__mark { width: 2.5rem; height: 2.5rem; }
	.msc-brand__name { font-size: .78rem; letter-spacing: .05em; white-space: normal; }
	.msc-brand__tag { display: none; }
	.msc-navtoggle { padding: .55rem .7rem; }
	.msc-navtoggle__label { display: none; }
	.msc-alertbar__aside { display: none; }
	.msc-alertbar .msc-wrap { padding-block: .5rem; }
	.msc-banner { font-size: .66rem; letter-spacing: .06em; }
	.msc-banner__where { flex-basis: 100%; }
}

@media (max-width: 420px) {
	.msc-brand__name { font-size: .72rem; }
}

/* ==========================================================================
   6. Meeting reminder strip (site-wide, self-updating)
   ========================================================================== */

.msc-alertbar {
	background: var(--msc-navy-950);
	border-bottom: 1px solid rgba(255, 255, 255, .1);
	color: var(--msc-on-blue-70);
}

.msc-alertbar .msc-wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem 1.25rem;
	padding-block: .6rem;
}

.msc-banner {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .5rem .8rem;
	margin: 0;
	font-family: var(--msc-mono);
	font-size: .72rem;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.msc-banner__dot {
	width: .5rem;
	height: .5rem;
	flex: none;
	border-radius: 50%;
	background: var(--msc-gold);
}

.msc-banner__text { color: #fff; font-weight: 700; }
.msc-banner__where { color: var(--msc-on-blue-50); }

.msc-alertbar__aside {
	margin-left: auto;
	font-family: var(--msc-mono);
	font-size: .7rem;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.msc-alertbar__aside a { color: var(--msc-gold-light); text-decoration: none; }
.msc-alertbar__aside a:hover { color: #fff; text-decoration: underline; }

/* A meeting happening today gets a red strip instead of navy. */
.msc-alertbar.is-today,
.msc-alertbar.is-now { background: var(--msc-red-dark); border-bottom-color: rgba(255, 255, 255, .2); }
.msc-alertbar.is-today .msc-banner__dot,
.msc-alertbar.is-now .msc-banner__dot {
	background: #fff;
	animation: msc-pulse 2.4s var(--msc-ease) infinite;
}
.msc-alertbar.is-today .msc-banner__where,
.msc-alertbar.is-now .msc-banner__where { color: rgba(255, 255, 255, .8); }

@keyframes msc-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, .7); }
	70% { box-shadow: 0 0 0 .55rem rgba(255, 255, 255, 0); }
}

/* ==========================================================================
   7. Hero
   ========================================================================== */

.msc-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	color: var(--msc-on-blue);
	background:
		radial-gradient(120% 90% at 62% 38%, var(--msc-blue-600) 0%, var(--msc-blue-700) 34%, var(--msc-navy-850) 74%, var(--msc-navy-900) 100%);
	padding-block: clamp(3rem, 6.5vw, 5.5rem);
}

/* On a short laptop screen, pull the hero in so the buttons stay above the
   fold rather than being pushed off by the display type. */
@media (min-height: 560px) and (max-height: 940px) and (min-width: 900px) {
	.msc-hero { padding-block: clamp(2rem, 4vw, 3.25rem); }
}

.msc-hero h1,
.msc-hero h2 { color: #fff; }

/* Contour rings + mountain silhouette, drawn in CSS so there is no image to
   maintain and nothing extra to download. */
.msc-hero__deco {
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	overflow: hidden;
}

.msc-hero__rings {
	position: absolute;
	top: 50%;
	right: 14%;
	width: min(140vw, 1500px);
	aspect-ratio: 1;
	transform: translate(30%, -50%);
	border-radius: 50%;
	opacity: .5;
	background:
		repeating-radial-gradient(circle at center,
			transparent 0 62px,
			rgba(255, 255, 255, .055) 62px 63px);
	mask-image: radial-gradient(circle at center, #000 42%, transparent 72%);
	-webkit-mask-image: radial-gradient(circle at center, #000 42%, transparent 72%);
}

.msc-hero__ridge {
	position: absolute;
	inset: auto 0 0 0;
	height: clamp(120px, 26vw, 320px);
	opacity: .3;
	background: var(--msc-navy-950);
	clip-path: polygon(0 100%, 0 62%, 9% 44%, 18% 58%, 27% 30%, 38% 55%, 47% 34%, 58% 60%, 68% 38%, 79% 56%, 88% 32%, 100% 52%, 100% 100%);
}

.msc-hero__glow {
	position: absolute;
	top: -20%;
	right: -10%;
	width: 60vw;
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(58, 85, 192, .55) 0%, transparent 62%);
	filter: blur(20px);
}

/* Layout ------------------------------------------------------------------ */

.msc-hero__grid {
	display: grid;
	gap: clamp(2.5rem, 6vw, 4.5rem);
	align-items: center;
}

@media (min-width: 900px) {
	.msc-hero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
}

/* Headline ---------------------------------------------------------------- */

.msc-hero__title {
	font-size: clamp(2.6rem, 1.5rem + 5.4vw, 5.25rem);
	line-height: .97;
	letter-spacing: -.025em;
	margin: 0 0 1.4rem;
	text-wrap: balance;
}

.msc-hero__title em {
	display: block;
	font-style: italic;
	color: var(--msc-gold);
}

.msc-hero__rule {
	width: 6.5rem;
	height: 4px;
	background: var(--msc-red);
	margin-bottom: 1.6rem;
}

.msc-hero__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem 1rem;
	margin: 0 0 1.6rem;
	font-family: var(--msc-mono);
	font-size: .72rem;
	font-weight: 400;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--msc-on-blue-50);
}
.msc-hero__meta span:not(:last-child)::after {
	content: "\00b7";
	margin-left: 1rem;
	color: rgba(255, 255, 255, .3);
}

.msc-hero__lede {
	max-width: 46ch;
	font-size: clamp(1.05rem, 1rem + .45vw, 1.3rem);
	line-height: 1.62;
	color: var(--msc-on-blue-70);
	margin-bottom: 2.25rem;
}

.msc-hero__note {
	margin-top: 1.75rem;
	font-family: var(--msc-mono);
	font-size: .7rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--msc-on-blue-50);
}
.msc-hero__note a { color: var(--msc-gold-light); }

/* Roundel ----------------------------------------------------------------- */

.msc-hero__mark {
	position: relative;
	display: grid;
	place-items: center;
	margin-inline: auto;
	width: min(78%, 26rem);
	aspect-ratio: 1;
}

.msc-hero__mark::before {
	content: "";
	position: absolute;
	inset: -8%;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 255, 255, .16) 0%, transparent 68%);
}

.msc-hero__mark img {
	position: relative;
	width: 100%;
	border-radius: 50%;
	filter: drop-shadow(0 24px 48px rgba(0, 0, 0, .45));
}

@media (max-width: 899px) {
	.msc-hero__mark { width: min(52%, 14rem); order: -1; }
}

/* ==========================================================================
   8. Trail status band
   ========================================================================== */

.msc-status {
	background: var(--msc-navy-950);
	color: var(--msc-on-blue);
	border-block: 1px solid rgba(255, 255, 255, .1);
}

.msc-status__grid {
	display: grid;
	gap: clamp(1.75rem, 4vw, 3rem);
	padding-block: clamp(2rem, 4vw, 3rem);
	align-items: center;
}
@media (min-width: 860px) {
	.msc-status__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); }
}

.msc-status__state {
	display: flex;
	align-items: flex-start;
	gap: 1.1rem;
}

.msc-status__lamp {
	width: 1rem;
	height: 1rem;
	margin-top: .55rem;
	flex: none;
	border-radius: 50%;
	background: var(--msc-ink-50);
	box-shadow: 0 0 0 4px rgba(255, 255, 255, .09);
}
.msc-status--open .msc-status__lamp { background: var(--msc-green); box-shadow: 0 0 0 4px rgba(47, 143, 78, .28); }
.msc-status--caution .msc-status__lamp { background: var(--msc-gold); box-shadow: 0 0 0 4px rgba(225, 191, 105, .3); }
.msc-status--closed .msc-status__lamp { background: var(--msc-red); box-shadow: 0 0 0 4px rgba(199, 40, 32, .3); }

.msc-status__label {
	margin: 0 0 .3rem;
	font-family: var(--msc-mono);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--msc-on-blue-50);
}

.msc-status__value {
	margin: 0 0 .5rem;
	font-family: var(--msc-display);
	font-size: clamp(1.6rem, 1.2rem + 1.8vw, 2.5rem);
	line-height: 1.05;
	color: #fff;
}

.msc-status__note { margin: 0; color: var(--msc-on-blue-70); font-size: .95rem; }

.msc-status__stamp {
	display: block;
	margin-top: .6rem;
	font-family: var(--msc-mono);
	font-size: .66rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--msc-on-blue-50);
}

/* Sno-phone list ---------------------------------------------------------- */

.msc-phones__title {
	margin: 0 0 1rem;
	font-family: var(--msc-mono);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--msc-gold);
}

.msc-phones {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
	gap: .5rem 1.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.msc-phones li {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: .5rem;
	margin: 0;
	padding: .45rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
	font-size: .9rem;
}

.msc-phones__county { color: var(--msc-on-blue-70); }
.msc-phones a {
	font-family: var(--msc-mono);
	font-size: .82rem;
	color: #fff;
	text-decoration: none;
	white-space: nowrap;
}
.msc-phones a:hover { color: var(--msc-gold); }

/* ==========================================================================
   9. Cards and grids
   ========================================================================== */

.msc-grid {
	display: grid;
	gap: clamp(1.25rem, 2.5vw, 2rem);
}
.msc-grid--2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); }
.msc-grid--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); }
.msc-grid--4 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); }

.msc-card {
	display: flex;
	flex-direction: column;
	background: var(--msc-paper);
	border: 1px solid var(--msc-line);
	border-radius: var(--msc-radius-lg);
	box-shadow: var(--msc-shadow);
	overflow: hidden;
	transition: transform .22s var(--msc-ease), box-shadow .22s var(--msc-ease), border-color .22s var(--msc-ease);
}

.msc-card--link:hover {
	transform: translateY(-4px);
	box-shadow: var(--msc-shadow-lift);
	border-color: var(--msc-blue-500);
}

.msc-card__media { position: relative; aspect-ratio: 16 / 10; background: var(--msc-navy-850); overflow: hidden; }
.msc-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--msc-ease); }
.msc-card--link:hover .msc-card__media img { transform: scale(1.04); }

.msc-card__body { padding: clamp(1.4rem, 2.5vw, 1.9rem); display: flex; flex-direction: column; flex: 1; gap: .75rem; }

.msc-card__kicker {
	margin: 0;
	font-family: var(--msc-mono);
	font-size: .66rem;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--msc-red);
}

.msc-card__title { margin: 0; font-size: clamp(1.2rem, 1.1rem + .4vw, 1.45rem); }
.msc-card__title a { color: inherit; text-decoration: none; }
.msc-card__title a:hover { color: var(--msc-blue-700); }

.msc-card__text { margin: 0; color: var(--msc-ink-70); font-size: .97rem; }
.msc-card__foot { margin-top: auto; padding-top: .6rem; }

/* Blue variant */
.msc-card--blue {
	background: linear-gradient(160deg, var(--msc-blue-700), var(--msc-navy-900));
	border-color: rgba(255, 255, 255, .16);
	color: var(--msc-on-blue);
}
.msc-card--blue .msc-card__title { color: #fff; }
.msc-card--blue .msc-card__text { color: var(--msc-on-blue-70); }
.msc-card--blue .msc-card__kicker { color: var(--msc-gold); }

/* Feature list (icons-free, numbered rules) ------------------------------- */

.msc-features { counter-reset: msc-f; display: grid; gap: 1.5rem; }
@media (min-width: 760px) { .msc-features { grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); } }

.msc-feature { counter-increment: msc-f; padding-top: 1.1rem; border-top: 2px solid var(--msc-navy-900); }
.msc-feature::before {
	content: counter(msc-f, decimal-leading-zero);
	display: block;
	margin-bottom: .55rem;
	font-family: var(--msc-mono);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .16em;
	color: var(--msc-red);
}
.msc-feature h3 { font-size: 1.2rem; margin-bottom: .4rem; }
.msc-feature p { margin: 0; color: var(--msc-ink-70); font-size: .97rem; }

.msc-section--blue .msc-feature { border-top-color: var(--msc-gold); }
.msc-section--blue .msc-feature::before { color: var(--msc-gold); }
.msc-section--blue .msc-feature p { color: var(--msc-on-blue-70); }

/* ==========================================================================
   10. Stats
   ========================================================================== */

.msc-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
	gap: 1px;
	background: rgba(255, 255, 255, .14);
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: var(--msc-radius-lg);
	overflow: hidden;
}

.msc-stat { padding: clamp(1.35rem, 3vw, 2.1rem) clamp(1rem, 2vw, 1.5rem); background: var(--msc-navy-900); text-align: center; }

.msc-stat__num {
	display: block;
	font-family: var(--msc-display);
	font-size: clamp(2rem, 1.5rem + 2.2vw, 3.1rem);
	font-weight: 700;
	line-height: 1;
	color: var(--msc-gold);
	letter-spacing: -.02em;
}

.msc-stat__label {
	display: block;
	margin-top: .6rem;
	font-family: var(--msc-mono);
	font-size: .66rem;
	font-weight: 700;
	letter-spacing: .17em;
	text-transform: uppercase;
	color: var(--msc-on-blue-70);
	line-height: 1.4;
}

/* On a light section */
.msc-section--cream .msc-stats,
.msc-section--paper .msc-stats { background: var(--msc-line); border-color: var(--msc-line); }
.msc-section--cream .msc-stat,
.msc-section--paper .msc-stat { background: var(--msc-paper); }
.msc-section--cream .msc-stat__num,
.msc-section--paper .msc-stat__num { color: var(--msc-blue-700); }
.msc-section--cream .msc-stat__label,
.msc-section--paper .msc-stat__label { color: var(--msc-ink-50); }

/* ==========================================================================
   11. Meeting components (plugin markup)
   ========================================================================== */

.msc-meeting {
	background: var(--msc-paper);
	border: 1px solid var(--msc-line);
	border-left: 4px solid var(--msc-red);
	border-radius: var(--msc-radius-lg);
	box-shadow: var(--msc-shadow);
	padding: clamp(1.5rem, 3vw, 2.25rem);
}

.msc-meeting__heading { margin: 0 0 1.25rem; font-size: 1.5rem; }

.msc-meeting__body { display: flex; flex-wrap: wrap; gap: clamp(1.25rem, 3vw, 2rem); align-items: flex-start; }

.msc-meeting__datebox {
	flex: none;
	display: grid;
	place-items: center;
	width: 5.5rem;
	padding: .8rem .5rem 1rem;
	background: var(--msc-navy-900);
	border-radius: var(--msc-radius);
	color: #fff;
	line-height: 1;
}

.msc-meeting__mon {
	font-family: var(--msc-mono);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .17em;
	color: var(--msc-gold);
}
.msc-meeting__day { font-family: var(--msc-display); font-size: 2.9rem; font-weight: 700; margin-top: .25rem; }

.msc-meeting__detail { flex: 1 1 16rem; min-width: 0; }

.msc-meeting__kicker {
	margin: 0 0 .35rem;
	font-family: var(--msc-mono);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .19em;
	text-transform: uppercase;
	color: var(--msc-red);
}

.msc-meeting__when {
	margin: 0 0 .7rem;
	font-family: var(--msc-display);
	font-size: clamp(1.35rem, 1.15rem + .8vw, 1.9rem);
	font-weight: 700;
	line-height: 1.14;
	color: var(--msc-navy-900);
}
.msc-meeting__time {
	display: block;
	margin-top: .2rem;
	font-family: var(--msc-mono);
	font-size: .85rem;
	font-weight: 700;
	letter-spacing: .1em;
	color: var(--msc-blue-700);
}

.msc-meeting__where { margin: 0 0 .9rem; }
.msc-meeting__where a { text-decoration: none; }
.msc-meeting__where a:hover strong { color: var(--msc-red); }
.msc-meeting__where strong { display: block; color: var(--msc-navy-900); font-weight: 600; }
.msc-meeting__where span { display: block; font-size: .92rem; color: var(--msc-ink-50); }

.msc-meeting__rule,
.msc-meeting__guests,
.msc-meeting__offseason { margin: 0 0 .5rem; font-size: .92rem; color: var(--msc-ink-70); }

.msc-meeting__offseason {
	padding: .7rem .9rem;
	background: var(--msc-cream-dark);
	border-radius: var(--msc-radius);
	color: var(--msc-ink);
}

.msc-meeting__ics { margin: 1rem 0 0; }

.msc-meeting.is-today,
.msc-meeting.is-now { border-left-color: var(--msc-green); }
.msc-meeting.is-today .msc-meeting__kicker,
.msc-meeting.is-now .msc-meeting__kicker { color: var(--msc-green); }

/* Compact variant, for sidebars and the homepage two-up. */
.msc-meeting--compact { padding: clamp(1.25rem, 2.5vw, 1.6rem); }
.msc-meeting--compact .msc-meeting__datebox { width: 4.25rem; padding: .6rem .4rem .7rem; }
.msc-meeting--compact .msc-meeting__day { font-size: 2rem; }
.msc-meeting--compact .msc-meeting__rule { display: none; }

/* Meeting card sitting on a blue section --------------------------------- */

.msc-section--blue .msc-meeting {
	background: rgba(255, 255, 255, .05);
	border-color: rgba(255, 255, 255, .18);
	border-left-color: var(--msc-gold);
	box-shadow: none;
}
.msc-section--blue .msc-meeting__when,
.msc-section--blue .msc-meeting__where strong { color: #fff; }
.msc-section--blue .msc-meeting__kicker { color: var(--msc-gold); }
.msc-section--blue .msc-meeting__time { color: var(--msc-gold-light); }
.msc-section--blue .msc-meeting__where span,
.msc-section--blue .msc-meeting__rule,
.msc-section--blue .msc-meeting__guests { color: var(--msc-on-blue-70); }
.msc-section--blue .msc-meeting__datebox { background: var(--msc-navy-950); }
.msc-section--blue .msc-meeting__offseason { background: rgba(0, 0, 0, .25); color: var(--msc-on-blue-70); }

/* Calendar subscribe link ------------------------------------------------- */

.msc-link-ics {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	font-family: var(--msc-mono);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	padding-bottom: .15rem;
}
.msc-link-ics::before { content: "\1F5D3"; font-size: .95em; }

/* Season schedule -------------------------------------------------------- */

.msc-schedule__head { margin-bottom: 1.5rem; }
.msc-schedule__title { margin: 0 0 .3rem; }
.msc-schedule__rule { margin: 0; font-size: .95rem; color: var(--msc-ink-50); }

.msc-schedule__list { list-style: none; margin: 0; padding: 0; counter-reset: none; }

.msc-schedule__item {
	position: relative;
	display: flex;
	align-items: baseline;
	gap: 1rem;
	margin: 0;
	padding: .95rem 0 .95rem 2rem;
	border-bottom: 1px solid var(--msc-line);
}

.msc-schedule__marker {
	position: absolute;
	left: .1rem;
	top: 1.45rem;
	width: .65rem;
	height: .65rem;
	border-radius: 50%;
	border: 2px solid var(--msc-ink-50);
	background: transparent;
}

.msc-schedule__item.is-past { color: var(--msc-ink-50); }
.msc-schedule__item.is-past .msc-schedule__marker { background: var(--msc-ink-50); border-color: var(--msc-ink-50); opacity: .5; }
.msc-schedule__item.is-past .msc-schedule__month { text-decoration: line-through; text-decoration-thickness: 1px; }

.msc-schedule__item.is-next {
	background: linear-gradient(90deg, rgba(199, 40, 32, .07), transparent 60%);
	border-bottom-color: var(--msc-red);
}
.msc-schedule__item.is-next .msc-schedule__marker { background: var(--msc-red); border-color: var(--msc-red); box-shadow: 0 0 0 4px rgba(199, 40, 32, .18); }

.msc-schedule__date { display: flex; flex-direction: column; gap: .15rem; flex: 1; }
.msc-schedule__month { font-family: var(--msc-display); font-size: 1.2rem; font-weight: 700; color: var(--msc-navy-900); }
.msc-schedule__item.is-past .msc-schedule__month { color: var(--msc-ink-50); }
.msc-schedule__full { font-family: var(--msc-mono); font-size: .72rem; letter-spacing: .1em; color: var(--msc-ink-50); text-transform: uppercase; }

.msc-schedule__status {
	flex: none;
	font-family: var(--msc-mono);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--msc-ink-50);
}
.msc-schedule__item.is-next .msc-schedule__status { color: var(--msc-red); }

.msc-schedule__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .75rem 1.5rem;
	margin: 1.5rem 0 0;
}
.msc-schedule__note { font-family: var(--msc-mono); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--msc-ink-50); }

.msc-section--blue .msc-schedule__item { border-bottom-color: rgba(255, 255, 255, .14); }
.msc-section--blue .msc-schedule__month { color: #fff; }
.msc-section--blue .msc-schedule__full,
.msc-section--blue .msc-schedule__status,
.msc-section--blue .msc-schedule__note,
.msc-section--blue .msc-schedule__rule { color: var(--msc-on-blue-50); }
.msc-section--blue .msc-schedule__item.is-past { color: var(--msc-on-blue-50); }
.msc-section--blue .msc-schedule__item.is-past .msc-schedule__month { color: var(--msc-on-blue-50); }
.msc-section--blue .msc-schedule__marker { border-color: var(--msc-on-blue-50); }
.msc-section--blue .msc-schedule__item.is-next { background: linear-gradient(90deg, rgba(225, 191, 105, .14), transparent 60%); border-bottom-color: var(--msc-gold); }
.msc-section--blue .msc-schedule__item.is-next .msc-schedule__marker { background: var(--msc-gold); border-color: var(--msc-gold); box-shadow: 0 0 0 4px rgba(225, 191, 105, .22); }
.msc-section--blue .msc-schedule__item.is-next .msc-schedule__status { color: var(--msc-gold); }

/* ==========================================================================
   12. Newsletter archive (plugin markup)
   ========================================================================== */

.msc-latest {
	padding: clamp(1.5rem, 3vw, 2.25rem);
	background: linear-gradient(160deg, var(--msc-blue-700), var(--msc-navy-900));
	border-radius: var(--msc-radius-lg);
	color: var(--msc-on-blue);
}
.msc-latest__kicker {
	margin: 0 0 .5rem;
	font-family: var(--msc-mono);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .19em;
	text-transform: uppercase;
	color: var(--msc-gold);
}
.msc-latest__title { margin: 0 0 1.25rem; font-family: var(--msc-display); font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.2rem); font-weight: 700; line-height: 1.1; color: #fff; }
.msc-latest__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin: 0; }

/* Current issue banner --------------------------------------------------- */

.msc-current {
	display: grid;
	gap: clamp(1.5rem, 4vw, 2.75rem);
	align-items: center;
	padding: clamp(1.5rem, 3.5vw, 2.5rem);
	margin-bottom: clamp(2rem, 4vw, 3rem);
	background: linear-gradient(150deg, var(--msc-blue-700), var(--msc-navy-900) 70%);
	border-radius: var(--msc-radius-lg);
	color: var(--msc-on-blue);
	box-shadow: var(--msc-shadow-lift);
}
@media (min-width: 720px) { .msc-current { grid-template-columns: 12rem minmax(0, 1fr); } }

.msc-current__thumb {
	position: relative;
	aspect-ratio: 8.5 / 11;
	background: var(--msc-paper);
	border-radius: var(--msc-radius);
	overflow: hidden;
	box-shadow: 0 16px 34px -12px rgba(0, 0, 0, .6);
	display: grid;
	place-items: center;
}
.msc-current__thumb img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.msc-current__placeholder { font-family: var(--msc-mono); font-size: 1.6rem; font-weight: 700; letter-spacing: .2em; color: var(--msc-ink-50); }
@media (max-width: 719px) { .msc-current__thumb { max-width: 11rem; } }

.msc-current__kicker {
	margin: 0 0 .5rem;
	font-family: var(--msc-mono);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .19em;
	text-transform: uppercase;
	color: var(--msc-gold);
}
.msc-current__title { margin: 0 0 .4rem; color: #fff; font-size: clamp(1.85rem, 1.4rem + 1.8vw, 2.85rem); }
.msc-current__meta { margin: 0 0 1.5rem; font-family: var(--msc-mono); font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: var(--msc-on-blue-50); }
.msc-current__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin: 0; }

/* Toolbar ---------------------------------------------------------------- */

.msc-archive__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 1.5rem;
	padding-bottom: 1.25rem;
	margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
	border-bottom: 2px solid var(--msc-navy-900);
}

.msc-archive__count {
	margin: 0;
	font-family: var(--msc-mono);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--msc-ink-50);
}

.msc-archive__search { flex: 1 1 16rem; }
.msc-archive__search input {
	width: 100%;
	padding: .8rem 1rem;
	font-family: var(--msc-body);
	font-size: 1rem;
	color: var(--msc-ink);
	background: var(--msc-paper);
	border: 1px solid var(--msc-line);
	border-radius: var(--msc-radius);
}
.msc-archive__search input:focus-visible { border-color: var(--msc-blue-700); }

.msc-archive__years { display: flex; flex-wrap: wrap; gap: .35rem; }

.msc-yearchip {
	display: inline-block;
	padding: .38rem .68rem;
	font-family: var(--msc-mono);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .06em;
	color: var(--msc-ink-70);
	text-decoration: none;
	background: var(--msc-paper);
	border: 1px solid var(--msc-line);
	border-radius: 999px;
	transition: all .18s var(--msc-ease);
}
.msc-yearchip:hover { border-color: var(--msc-blue-700); color: var(--msc-blue-700); }
.msc-yearchip.is-active { background: var(--msc-navy-900); border-color: var(--msc-navy-900); color: #fff; }

/* Year sections ---------------------------------------------------------- */

.msc-year { margin-bottom: clamp(2rem, 4vw, 3rem); scroll-margin-top: 7rem; }
.msc-year:last-child { margin-bottom: 0; }

.msc-year__title {
	display: flex;
	align-items: baseline;
	gap: 1rem;
	margin: 0 0 1rem;
	padding-bottom: .5rem;
	border-bottom: 1px solid var(--msc-line);
}
.msc-year__num { font-family: var(--msc-display); font-size: clamp(1.7rem, 1.4rem + 1.2vw, 2.3rem); font-weight: 700; color: var(--msc-navy-900); letter-spacing: -.02em; }
.msc-year__count { font-family: var(--msc-mono); font-size: .66rem; font-weight: 400; letter-spacing: .15em; text-transform: uppercase; color: var(--msc-ink-50); margin-left: auto; }

.msc-issues {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 10.5rem), 1fr));
	gap: .6rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.msc-issue-item { margin: 0; }

.msc-issue {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: .3rem;
	height: 100%;
	padding: .85rem .95rem;
	background: var(--msc-paper);
	border: 1px solid var(--msc-line);
	border-radius: var(--msc-radius);
	text-decoration: none;
	transition: all .18s var(--msc-ease);
}
.msc-issue:hover {
	border-color: var(--msc-blue-700);
	background: #fff;
	box-shadow: var(--msc-shadow);
	transform: translateY(-2px);
}

.msc-issue__month { font-family: var(--msc-display); font-size: 1.05rem; font-weight: 700; color: var(--msc-navy-900); line-height: 1.2; }
.msc-issue:hover .msc-issue__month { color: var(--msc-blue-700); }

.msc-issue__meta { display: flex; align-items: baseline; gap: .5rem; font-family: var(--msc-mono); font-size: .64rem; letter-spacing: .1em; text-transform: uppercase; color: var(--msc-ink-50); }
.msc-issue__size { margin-left: auto; }

.msc-issue__flag {
	position: absolute;
	top: -.5rem;
	right: .55rem;
	padding: .12rem .45rem;
	background: var(--msc-red);
	border-radius: 2px;
	font-family: var(--msc-mono);
	font-size: .58rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #fff;
}

.msc-issue-item.is-latest .msc-issue { border-color: var(--msc-red); }

.msc-archive__noresults,
.msc-empty {
	padding: 2rem 0;
	font-family: var(--msc-mono);
	font-size: .8rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--msc-ink-50);
	text-align: center;
}

/* ==========================================================================
   13. Posts and pages
   ========================================================================== */

.msc-pagehero {
	position: relative;
	background: linear-gradient(150deg, var(--msc-blue-700), var(--msc-navy-900) 72%);
	color: var(--msc-on-blue);
	padding-block: clamp(2.75rem, 6vw, 5rem);
	overflow: hidden;
}
.msc-pagehero::after {
	content: "";
	position: absolute;
	inset: auto 0 0 0;
	height: 3px;
	background: var(--msc-red);
}
.msc-pagehero h1 { color: #fff; margin: 0; }
.msc-pagehero__lede { margin: 1rem 0 0; max-width: 54ch; color: var(--msc-on-blue-70); font-size: clamp(1.02rem, .98rem + .3vw, 1.2rem); }

/* ---- Featured image as a banner ---------------------------------------
   A page with a photo gets it as the masthead behind the title, rather than
   as a loose image dropped at the top of the text. Gives interior pages real
   presence and keeps the club's own photography in front of people. */

.msc-pagehero--media {
	display: flex;
	align-items: center;
	/* A deliberate banner shape regardless of how short the title is. */
	min-height: clamp(14rem, 26vw, 22rem);
	padding-block: clamp(3rem, 7vw, 6rem);
}

.msc-pagehero--media > .msc-wrap { width: 100%; }

.msc-pagehero__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	/* Belt and braces: even if the rules below were somehow not applied, the
	   picture stays inside the banner instead of pushing the layout around. */
	max-width: 100%;
	max-height: 100%;
}

.msc-pagehero__media img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center 45%;
	border-radius: 0;
	box-shadow: none;
}

/* Scrim. On a phone the words run the full width, so the wash has to be even.
   On a wide screen the type occupies the left, which lets the right side stay
   much clearer — the club's orange Sno-Cat should read as orange. */
.msc-pagehero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(rgba(10, 21, 66, .82), rgba(10, 21, 66, .82)),
		linear-gradient(to top, rgba(8, 17, 58, .5), transparent 55%);
}

@media (min-width: 900px) {
	.msc-pagehero__media::after {
		background:
			linear-gradient(101deg,
				rgba(8, 17, 58, .93) 0%,
				rgba(11, 23, 72, .80) 30%,
				rgba(20, 40, 140, .40) 62%,
				rgba(27, 64, 170, .16) 100%),
			linear-gradient(to top, rgba(8, 17, 58, .45), transparent 50%);
	}
}

/* Keep the words above the picture. */
.msc-pagehero > .msc-wrap { position: relative; z-index: 1; }

.msc-pagehero--media .msc-pagehero__lede { color: rgba(255, 255, 255, .86); }
.msc-pagehero--media h1 { text-shadow: 0 2px 24px rgba(8, 17, 58, .5); }

/* A short credit line, bottom right, for photos worth attributing. */
.msc-pagehero__credit {
	position: absolute;
	right: var(--msc-gutter);
	bottom: .85rem;
	z-index: 1;
	margin: 0;
	font-family: var(--msc-mono);
	font-size: .6rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .5);
}

.msc-breadcrumb {
	margin: 0 0 1rem;
	font-family: var(--msc-mono);
	font-size: .66rem;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--msc-on-blue-50);
}
.msc-breadcrumb a { color: var(--msc-gold-light); text-decoration: none; }
.msc-breadcrumb a:hover { text-decoration: underline; }
.msc-breadcrumb span + span::before { content: "/"; margin: 0 .55rem; color: rgba(255, 255, 255, .3); }

/* Prose ------------------------------------------------------------------- */

.msc-prose { max-width: var(--msc-measure); }
.msc-prose > * + * { margin-top: 1.15em; }
.msc-prose > h2 { margin-top: 2.4em; }
.msc-prose > h3 { margin-top: 1.9em; }
.msc-prose > h2:first-child,
.msc-prose > h3:first-child { margin-top: 0; }

/* Images in body copy: never wider than their column, always with their own
   aspect ratio preserved, and lifted just enough to read as a photograph
   rather than a stray asset. */
.msc-prose img {
	max-width: 100%;
	height: auto;
	border-radius: var(--msc-radius);
}

.msc-prose figure {
	margin-inline: 0;
	max-width: 100%;
}

.msc-prose :is(img, figure) {
	box-shadow: 0 1px 2px rgba(8, 17, 58, .06), 0 12px 28px -14px rgba(8, 17, 58, .3);
}
.msc-prose figure img { box-shadow: none; display: block; }

.msc-prose figcaption {
	margin-top: .6rem;
	font-family: var(--msc-mono);
	font-size: .68rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--msc-ink-50);
	box-shadow: none;
}

/* WordPress galleries, tidied into an even grid. */
.msc-prose .wp-block-gallery,
.msc-prose .gallery {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
	gap: .75rem;
	margin-block: 1.75rem;
}
.msc-prose .gallery-item { margin: 0; width: auto !important; }
.msc-prose .gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }

.msc-prose a[href$=".pdf"]::after {
	content: " (PDF)";
	font-family: var(--msc-mono);
	font-size: .68em;
	letter-spacing: .08em;
	color: var(--msc-ink-50);
}

.msc-prose table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.msc-prose :is(table) { display: block; overflow-x: auto; }
.msc-prose th,
.msc-prose td { padding: .7rem .9rem; text-align: left; border-bottom: 1px solid var(--msc-line); }
.msc-prose th {
	font-family: var(--msc-mono);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--msc-navy-900);
	background: var(--msc-cream-dark);
	border-bottom-color: var(--msc-navy-900);
}

/* Content layout with an aside ------------------------------------------- */

.msc-layout { display: grid; gap: clamp(2.5rem, 5vw, 4rem); }
@media (min-width: 960px) {
	.msc-layout--sidebar { grid-template-columns: minmax(0, 1fr) 20rem; align-items: start; }
	.msc-aside { position: sticky; top: 7rem; }
}

.msc-aside__block { margin-bottom: 1.75rem; }
.msc-aside__title {
	margin: 0 0 .9rem;
	padding-bottom: .5rem;
	border-bottom: 2px solid var(--msc-navy-900);
	font-family: var(--msc-mono);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--msc-navy-900);
}
.msc-aside ul { list-style: none; margin: 0; padding: 0; }
.msc-aside li { margin: 0; border-bottom: 1px solid var(--msc-line); }
.msc-aside li a { display: block; padding: .6rem 0; font-size: .95rem; text-decoration: none; color: var(--msc-ink); }
.msc-aside li a:hover { color: var(--msc-red); }

/* Post meta and lists ---------------------------------------------------- */

.msc-postmeta {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem 1rem;
	margin: 0 0 1.5rem;
	font-family: var(--msc-mono);
	font-size: .68rem;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--msc-ink-50);
}

.msc-postlist { display: grid; gap: 0; }
.msc-postlist article {
	padding-block: clamp(1.5rem, 3vw, 2.25rem);
	border-bottom: 1px solid var(--msc-line);
}
.msc-postlist article:first-child { padding-top: 0; }

.msc-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-top: 2.5rem;
	font-family: var(--msc-mono);
	font-size: .72rem;
	letter-spacing: .1em;
}
.msc-pagination .page-numbers {
	display: inline-block;
	padding: .55rem .85rem;
	background: var(--msc-paper);
	border: 1px solid var(--msc-line);
	border-radius: var(--msc-radius);
	text-decoration: none;
	color: var(--msc-ink-70);
}
.msc-pagination .page-numbers:hover { border-color: var(--msc-blue-700); color: var(--msc-blue-700); }
.msc-pagination .page-numbers.current { background: var(--msc-navy-900); border-color: var(--msc-navy-900); color: #fff; }

/* ==========================================================================
   14. Membership call to action
   ========================================================================== */

.msc-join {
	position: relative;
	overflow: hidden;
	background: linear-gradient(140deg, var(--msc-red-dark), #7d150f);
	color: #fff;
}
.msc-join::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(80% 120% at 88% 12%, rgba(255, 255, 255, .18), transparent 60%);
}
.msc-join__inner { position: relative; display: grid; gap: clamp(2rem, 4vw, 3.5rem); align-items: center; }
@media (min-width: 880px) { .msc-join__inner { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); } }

.msc-join h2 { color: #fff; }
.msc-join .msc-eyebrow { color: var(--msc-gold-light); }
.msc-join .msc-eyebrow::before { background: var(--msc-gold-light); }
.msc-join .msc-lede { color: rgba(255, 255, 255, .85); }

.msc-tiers { display: grid; gap: 1rem; }
@media (min-width: 520px) { .msc-tiers { grid-template-columns: 1fr 1fr; } }

.msc-tier {
	padding: 1.4rem 1.35rem;
	background: rgba(0, 0, 0, .22);
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: var(--msc-radius-lg);
}
.msc-tier__name {
	margin: 0 0 .3rem;
	font-family: var(--msc-mono);
	font-size: .66rem;
	font-weight: 700;
	letter-spacing: .17em;
	text-transform: uppercase;
	color: var(--msc-gold-light);
}
.msc-tier__price { margin: 0 0 .35rem; font-family: var(--msc-display); font-size: 2.3rem; font-weight: 700; line-height: 1; color: #fff; }
.msc-tier__note { margin: 0; font-size: .88rem; color: rgba(255, 255, 255, .8); }

.msc-join .msc-btn--ghost { border-color: rgba(255, 255, 255, .55); }
.msc-join .msc-btn--ghost:hover { background: #fff; border-color: #fff; color: var(--msc-red-dark); }

/* ==========================================================================
   15. Footer
   ========================================================================== */

.msc-footer {
	background: var(--msc-navy-950);
	color: var(--msc-on-blue-70);
	font-size: .95rem;
}

.msc-footer__top {
	display: grid;
	gap: clamp(2rem, 4vw, 3.5rem);
	padding-block: clamp(3rem, 6vw, 4.5rem);
	border-bottom: 1px solid rgba(255, 255, 255, .1);
}
@media (min-width: 780px) { .msc-footer__top { grid-template-columns: minmax(0, 1.4fr) repeat(auto-fit, minmax(9rem, 1fr)); } }

.msc-footer__brand { display: flex; flex-direction: column; gap: 1rem; }
.msc-footer__mark { width: 4.5rem; height: 4.5rem; border-radius: 50%; background: #fff; padding: 3px; }
.msc-footer__mark img { width: 100%; border-radius: 50%; }
.msc-footer__name { margin: 0; font-family: var(--msc-display); font-size: 1.35rem; font-weight: 700; color: #fff; }
.msc-footer__blurb { margin: 0; max-width: 34ch; color: var(--msc-on-blue-50); font-size: .92rem; }

.msc-footer address { font-style: normal; color: var(--msc-on-blue-70); }

.msc-footer__coltitle {
	margin: 0 0 1rem;
	font-family: var(--msc-mono);
	font-size: .66rem;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--msc-gold);
}

.msc-footer ul { list-style: none; margin: 0; padding: 0; }
.msc-footer li { margin: 0 0 .55rem; }
.msc-footer a { color: var(--msc-on-blue-70); text-decoration: none; }
.msc-footer a:hover { color: #fff; text-decoration: underline; }

.msc-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .75rem 1.5rem;
	padding-block: 1.4rem;
	font-family: var(--msc-mono);
	font-size: .66rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--msc-on-blue-50);
}
.msc-footer__bottom p { margin: 0; }

/* ==========================================================================
   16. WordPress core blocks and alignment
   ========================================================================== */

.alignleft { float: left; margin: .35rem 1.75rem 1.25rem 0; }
.alignright { float: right; margin: .35rem 0 1.25rem 1.75rem; }
.aligncenter { margin-inline: auto; }

/* "Wide" content fills its column and no more. The previous rule pulled the
   element out with a percentage-based negative margin, which resolves against
   the COLUMN inside a sidebar layout, not the page — so a wide image escaped its
   column and slid underneath the sidebar. */
.msc-prose .alignwide {
	width: 100%;
	max-width: 100%;
	margin-inline: 0;
}

/* A modest, bounded breakout, and only where there is provably room for it:
   a single-column article on a wide screen. Never in the sidebar layout. */
@media (min-width: 1180px) {
	.msc-layout:not(.msc-layout--sidebar) .msc-prose .alignwide {
		width: calc(100% + 8rem);
		max-width: calc(100% + 8rem);
		margin-inline: -4rem;
	}
}

.wp-caption { max-width: 100%; }
.wp-caption-text,
.gallery-caption {
	font-family: var(--msc-mono);
	font-size: .68rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--msc-ink-50);
}

.sticky .msc-card__kicker::after { content: " \2605"; }

.wp-block-button__link {
	display: inline-flex;
	padding: 1.05rem 1.85rem;
	background: var(--msc-red);
	color: #fff;
	border-radius: var(--msc-radius);
}
.wp-block-button__link:hover { background: var(--msc-red-light); color: #fff; }

/* YouTube gallery plugin already in use on the Media page ---------------- */

.epyt-gallery-thumb { border-radius: var(--msc-radius); overflow: hidden; }

/* ==========================================================================
   17. Print — the newsletter archive and meeting schedule should print clean
   ========================================================================== */

@media print {
	.msc-header,
	.msc-alertbar,
	.msc-mobilenav,
	.msc-footer__top,
	.msc-join,
	.msc-archive__toolbar,
	.msc-hero__deco,
	.skip-link { display: none !important; }

	body { background: #fff; color: #000; font-size: 11pt; }

	.msc-hero,
	.msc-pagehero,
	.msc-section--blue,
	.msc-status,
	.msc-current,
	.msc-latest {
		background: #fff !important;
		color: #000 !important;
	}
	.msc-hero h1, .msc-pagehero h1,
	.msc-current__title, .msc-status__value { color: #000 !important; }

	.msc-issue,
	.msc-card { border: 1px solid #999; box-shadow: none; break-inside: avoid; }
	.msc-year { break-inside: avoid; }
	.msc-issue[href]::after { content: " (" attr(href) ")"; font-size: 7pt; word-break: break-all; }

	a { color: #000; text-decoration: underline; }
}


/* =========================================================================
 * UX & accessibility remediation — September 2026
 * ====================================================================== */

/* Contrast: this line sits over the lightest part of the hero gradient,
   where #97a3cf measured 3.52:1. The theme already has a lighter token. */
.msc-hero__meta { color: var(--msc-on-blue-70); }

/* Tap targets — 44px on the things people press with gloves on. */
.msc-phones a,
.msc-phones-inline a { display: inline-block; padding-block: .6rem; }
.msc-card__foot .msc-textlink { display: inline-block; padding-block: .5rem; }
.msc-footer__col li a { display: inline-block; padding-block: .35rem; }
.msc-navtoggle { min-width: 44px; min-height: 44px; }

/* Legibility floor for the smallest informational labels. */
.msc-footer__coltitle,
.msc-stat__label,
.msc-tier__name,
.msc-footer__bottom p { font-size: .72rem; }

/* [monticello_trail_status] — inline version of the homepage status band. */
.msc-inline-status {
	margin: 2rem 0;
	padding: 1.25rem 1.5rem;
	border: 1px solid var(--msc-line);
	border-left: 4px solid var(--msc-ink-50);
	border-radius: var(--msc-radius);
	background: var(--msc-cream);
}
.msc-inline-status--open { border-left-color: var(--msc-green); }
.msc-inline-status--caution { border-left-color: var(--msc-gold); }
.msc-inline-status--closed { border-left-color: var(--msc-red); }
.msc-inline-status__label {
	margin: 0;
	font-family: var(--msc-mono);
	font-size: .72rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--msc-ink-50);
}
.msc-inline-status__value {
	margin: .2rem 0 .35rem;
	font-family: var(--msc-display);
	font-size: 1.5rem;
	line-height: 1.15;
	color: var(--msc-ink);
}
.msc-inline-status__note { margin: 0; color: var(--msc-ink-70); }
.msc-inline-status__stamp {
	display: block;
	margin-top: .5rem;
	font-family: var(--msc-mono);
	font-size: .72rem;
	color: var(--msc-ink-50);
}

/* [monticello_snophones] — tappable county hotlines inside page content. */
.msc-phones-inline {
	list-style: none;
	margin: 1.5rem 0;
	padding: 0;
	display: grid;
	gap: .1rem;
	grid-template-columns: 1fr;
}
.msc-phones-inline li {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	border-bottom: 1px solid var(--msc-line);
}
.msc-phones-inline__county {
	font-family: var(--msc-mono);
	white-space: nowrap;
	font-size: .78rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--msc-ink-70);
}
.msc-phones-inline a {
	font-family: var(--msc-mono);
	font-size: 1.05rem;
	white-space: nowrap;
}

.msc-archive-note { margin-top: 2rem; }


/* Touch targets: on a phone, every link people actually press clears 44px.
   Desktop keeps the tighter spacing. */
@media (max-width: 899px) {
	.msc-phones a,
	.msc-phones-inline a,
	.msc-footer__col li a,
	.msc-footer__brand address a,
	.msc-card__foot .msc-textlink,
	.msc-card__title a,
	.msc-hero__note a,
	.msc-link-ics {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}
	.msc-phones-inline li { min-height: 44px; }
}


/* Touch targets: on a phone, every link people actually press clears 44px. */
@media (max-width: 899px) {
	.msc-phones a,
	.msc-phones-inline a,
	.msc-footer__col li a,
	.msc-footer__brand address a,
	.msc-card__foot .msc-textlink,
	.msc-card__title a,
	.msc-hero__note a,
	.msc-link-ics {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}
	.msc-phones-inline li { min-height: 44px; }
}
