/*
Theme Name: MinnesotaLakes Theme
Theme URI: https://minnesotalakes.info/
Author: MinnesotaLakes.info
Author URI: https://minnesotalakes.info/
Description: Source-first, media-rich classic WordPress theme for MinnesotaLakes.info. Requires the MinnesotaLakes Core plugin for lake, river, event, region, county, source, map, weather, and import features.
Version: 0.4.0-page-families
Requires at least: 6.6
Tested up to: 7.0.1
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: minnesotalakes-theme
Tags: custom-logo, custom-menu, featured-images, accessibility-ready, translation-ready, wide-blocks
*/

:root {
  --mnl-ink: #082923;
  --mnl-muted: #5b6d66;
  --mnl-forest: #063a34;
  --mnl-deep: #052f2b;
  --mnl-lake: #0b7467;
  --mnl-water: #39a99a;
  --mnl-lime: #d8f26a;
  --mnl-sun: #f1a33b;
  --mnl-cream: #f6f2e7;
  --mnl-paper: #fffdf7;
  --mnl-line: #cad7cf;
  --mnl-danger: #a52c2c;
  --mnl-shadow: 0 24px 70px rgba(4, 42, 35, .13);
  --mnl-shadow-soft: 0 12px 36px rgba(4, 42, 35, .10);
  --mnl-radius-xl: 34px;
  --mnl-radius-lg: 24px;
  --mnl-radius-md: 16px;
  --mnl-width: min(1180px, calc(100vw - 36px));
  --mnl-header: 92px;
}

/* Human-readable sitemap */
.sitemap-hero {
	padding: clamp(5rem, 9vw, 8rem) 0 clamp(3rem, 6vw, 5rem);
	background: linear-gradient(135deg, var(--color-ink, #102e46), #1b6384);
	color: #fff;
}
.sitemap-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(17rem, .85fr);
	gap: clamp(2rem, 6vw, 5rem);
	align-items: center;
}
.sitemap-hero .breadcrumbs a,
.sitemap-hero .breadcrumbs,
.sitemap-hero .lede { color: inherit; }
.sitemap-hero img { width: 100%; height: auto; border-radius: 1.5rem; }
.sitemap-group-grid,
.sitemap-region-grid,
.sitemap-published-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
}
.sitemap-group ul,
.sitemap-region ul,
.sitemap-published-grid ul {
	margin: 1rem 0 0;
	padding-left: 1.25rem;
	columns: 2;
	column-gap: 2rem;
}
.sitemap-group li,
.sitemap-region li,
.sitemap-published-grid li { break-inside: avoid; margin-block: .45rem; }
.sitemap-region-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.sitemap-region ul { columns: 1; }
.sitemap-search { margin-top: 2rem; }
@media (max-width: 68rem) {
	.sitemap-region-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 44rem) {
	.sitemap-hero__grid,
	.sitemap-group-grid,
	.sitemap-region-grid,
	.sitemap-published-grid { grid-template-columns: 1fr; }
	.sitemap-group ul,
	.sitemap-published-grid ul { columns: 1; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--mnl-ink);
  background: var(--mnl-cream);
  font-family: Inter, "Noto Sans CJK SC", "Microsoft YaHei", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}
body.admin-bar .site-header { top: 32px; }
img, svg, video { max-width: 100%; height: auto; }
a { color: var(--mnl-lake); text-decoration-thickness: .09em; text-underline-offset: .18em; }
a:hover { color: var(--mnl-deep); }
button, input, select, textarea { font: inherit; }
button, .button, input[type="submit"] { cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 6px var(--mnl-deep);
}
h1, h2, h3, h4, h5, h6 {
  margin: 0 0 .55em;
  color: var(--mnl-ink);
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.05;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
h1 { font-size: clamp(2.65rem, 6vw, 5.6rem); letter-spacing: -.045em; }
h2 { font-size: clamp(2rem, 4vw, 3.7rem); letter-spacing: -.035em; }
h3 { font-size: clamp(1.35rem, 2.1vw, 2rem); letter-spacing: -.02em; }
p { margin: 0 0 1.15em; }
ul, ol { padding-inline-start: 1.25em; }
blockquote {
  margin: 2rem 0;
  padding: 1.4rem 1.6rem;
  border-inline-start: 7px solid var(--mnl-lime);
  background: rgba(255,255,255,.72);
  border-radius: 0 var(--mnl-radius-md) var(--mnl-radius-md) 0;
}
.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;
}
.screen-reader-text:focus {
  position: fixed !important;
  z-index: 100000;
  top: 12px; left: 12px;
  width: auto; height: auto;
  margin: 0; padding: 12px 18px;
  clip: auto;
  color: var(--mnl-ink);
  background: var(--mnl-lime);
  border-radius: 10px;
  font-weight: 800;
}

/* Atmospheric background */
.site-atmosphere {
  position: fixed;
  inset: 0;
  z-index: -3;
  overflow: hidden;
  background: var(--mnl-deep);
}
.site-atmosphere::before {
  content: "";
  position: absolute;
  inset: -4%;
  background-image: -webkit-image-set(url("assets/media/home/home-hero-voyageurs-poster-1600x900.webp") 1x, url("assets/media/home/home-hero-voyageurs-3200x1800.webp") 2x);
  background-image: image-set(url("assets/media/home/home-hero-voyageurs-poster-1600x900.webp") 1x, url("assets/media/home/home-hero-voyageurs-3200x1800.webp") 2x);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  filter: saturate(.86) contrast(1.05);
  transform: scale(1.03);
  animation: mnlt-home-atmosphere 24s ease-in-out infinite alternate;
  will-change: transform;
}
.site-atmosphere::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(4,40,34,.58), rgba(246,242,231,.94) 52%, var(--mnl-cream) 82%);
}
body.mnl-motion-paused .site-atmosphere::before { animation-play-state: paused; }
@keyframes mnlt-home-atmosphere {
  from { transform: scale(1.03) translate3d(-.5%, -.35%, 0); }
  to { transform: scale(1.095) translate3d(.65%, .45%, 0); }
}
.atmosphere-toggle {
  position: relative;
  z-index: 60;
  display: flex; align-items: center; gap: 8px;
  width: max-content;
  max-width: calc(100% - 36px);
  min-height: 44px;
  margin: 12px 18px 0 auto;
  padding: 8px 14px;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 999px;
  color: #fff;
  background: rgba(4,45,39,.88);
  box-shadow: var(--mnl-shadow-soft);
  font-size: .83rem; font-weight: 800;
}
.atmosphere-toggle[aria-pressed="true"] .pause-label { display: none; }
.atmosphere-toggle[aria-pressed="false"] .play-label { display: none; }
.atmosphere-toggle[hidden] { display: none !important; }

/* Header */
.site-header {
  position: sticky;
  z-index: 70;
  top: 0;
  color: #fff;
  background: rgba(4,45,39,.94);
  border-bottom: 1px solid rgba(255,255,255,.15);
  backdrop-filter: blur(18px);
}
.header-inner {
  width: min(1450px, calc(100vw - 28px));
  min-height: var(--mnl-header);
  margin: auto;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
}
.site-branding { display: flex; align-items: center; gap: 12px; min-width: 250px; }
.custom-logo-link, .brand-mark {
  display: grid; place-items: center;
  width: 55px; height: 55px;
  flex: 0 0 55px;
  border-radius: 15px;
  overflow: hidden;
  background: var(--mnl-lime);
  box-shadow: 0 8px 22px rgba(0,0,0,.16);
}
.custom-logo { width: 100%; height: 100%; object-fit: contain; }
.brand-mark img { width: 100%; height: 100%; }
.site-title { display: flex; align-items: center; min-height: 24px; color: #fff; font-family: Georgia, serif; font-size: 1.24rem; font-weight: 800; line-height: 1.2; text-decoration: none; }
.site-tagline { display: block; margin-top: 3px; color: rgba(255,255,255,.72); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; }
.header-center { display: grid; gap: 9px; }
.primary-navigation ul { list-style: none; display: flex; flex-wrap: nowrap; justify-content: center; gap: 4px; margin: 0; padding: 0; }
.primary-navigation a {
  display: block;
  padding: 8px 10px;
  border-radius: 9px;
  color: #fff;
  font-size: .88rem;
  font-weight: 760;
  text-decoration: none;
}
.primary-navigation a:hover, .primary-navigation .current-menu-item > a, .primary-navigation .current-menu-ancestor > a { color: var(--mnl-ink); background: var(--mnl-lime); }
.header-search { width: min(560px, 100%); margin: auto; }
.search-form { display: flex; align-items: stretch; gap: 8px; }
.search-form label { flex: 1; }
.search-field {
  width: 100%; min-height: 44px;
  padding: 9px 14px;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 12px;
  color: var(--mnl-ink);
  background: rgba(255,255,255,.96);
}
.search-submit { min-height: 44px; padding: 8px 15px; border: 0; border-radius: 12px; color: var(--mnl-ink); background: var(--mnl-lime); font-weight: 850; }
.header-actions { display: flex; flex-wrap: nowrap; align-items: center; gap: 10px; min-width: 0; }
.header-actions > .button { max-width: 12rem; padding-inline: 14px; text-align: center; white-space: normal; line-height: 1.15; }
.language-form select { min-height: 44px; max-width: 118px; padding: 7px 32px 7px 10px; border: 1px solid rgba(255,255,255,.4); border-radius: 11px; color: #fff; background: var(--mnl-forest); font-size: .82rem; font-weight: 750; }
.menu-toggle { display: none; min-width: 48px; min-height: 48px; border: 1px solid rgba(255,255,255,.4); border-radius: 12px; color: #fff; background: transparent; font-weight: 800; }

/* Layout */
.site-main { min-height: 65vh; background: var(--mnl-cream); }
body.home .site-main { background: transparent; }
body:not(.home) .site-atmosphere::before { background-image: none; animation: none; transform: none; will-change: auto; }
body:not(.home) .site-atmosphere::after { background: var(--mnl-deep); }
body:not(.home) .atmosphere-toggle { display: none; }
.shell { width: var(--mnl-width); margin-inline: auto; }
.section { padding: clamp(58px, 8vw, 110px) 0; }
.section-tight { padding: clamp(38px, 5vw, 70px) 0; }
.section-head { display: grid; grid-template-columns: 1fr minmax(260px, 440px); align-items: end; gap: 28px; margin-bottom: 34px; }
.section-head p { color: var(--mnl-muted); font-size: 1.08rem; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 12px; color: #a94f00; font-size: .75rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 28px; height: 3px; border-radius: 3px; background: currentColor; }
.lede { max-width: 760px; color: var(--mnl-muted); font-size: clamp(1.08rem, 1.8vw, 1.35rem); }
.prose { max-width: 790px; }
.prose > * + * { margin-top: 1.05em; }
.prose h2, .prose h3 { margin-top: 1.5em; }
.surface { background: rgba(255,253,247,.92); border: 1px solid rgba(122,151,138,.35); border-radius: var(--mnl-radius-xl); box-shadow: var(--mnl-shadow); }
.surface-soft { background: rgba(255,255,255,.72); border: 1px solid var(--mnl-line); border-radius: var(--mnl-radius-lg); }

/* Buttons */
.button, .wp-element-button, input[type="submit"] {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  min-height: 48px;
  padding: 10px 18px;
  border: 2px solid var(--mnl-forest);
  border-radius: 999px;
  color: #fff;
  background: var(--mnl-forest);
  box-shadow: none;
  font-weight: 850;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.button:hover, .wp-element-button:hover, input[type="submit"]:hover { color: var(--mnl-ink); background: var(--mnl-lime); transform: translateY(-2px); box-shadow: var(--mnl-shadow-soft); }
.button--lime { color: var(--mnl-ink); border-color: var(--mnl-lime); background: var(--mnl-lime); }
.button--ghost { color: var(--mnl-forest); background: transparent; }
.button-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }

/* Heroes */
.hero { position: relative; padding: clamp(62px, 9vw, 125px) 0 78px; color: #fff; background: var(--mnl-deep); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); align-items: center; gap: clamp(30px, 6vw, 78px); }
.hero h1, .hero h2 { color: #fff; }
.hero .lede { color: rgba(255,255,255,.84); }
.hero .eyebrow { color: #ffd27a; }
.hero-card { padding: clamp(26px, 4vw, 48px); background: rgba(5,47,43,.76); border: 1px solid rgba(255,255,255,.2); border-radius: var(--mnl-radius-xl); box-shadow: 0 32px 90px rgba(0,0,0,.25); backdrop-filter: blur(14px); }
.hero-visual { transform: rotate(1.5deg); }
.hero-search { max-width: 700px; margin-top: 28px; padding: 10px; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.25); border-radius: 18px; }
.hero-search .search-field { min-height: 58px; border: 0; border-radius: 12px; }
.hero-search .search-submit { min-height: 58px; padding-inline: 22px; }
.trust-row { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 22px; }
.badge { display: inline-flex; align-items: center; gap: 7px; min-height: 34px; padding: 6px 11px; border: 1px solid rgba(255,255,255,.27); border-radius: 999px; color: inherit; background: rgba(255,255,255,.1); font-size: .77rem; font-weight: 800; }
.badge--light { color: var(--mnl-forest); border-color: var(--mnl-line); background: var(--mnl-paper); }
.page-hero { padding: clamp(50px, 7vw, 92px) 0 55px; color: #fff; background: var(--mnl-deep); }
.page-hero h1 { max-width: 900px; color: #fff; }
.page-hero .eyebrow { color: #ffd27a; }
.page-hero .lede, .page-hero .term-description { color: rgba(255,255,255,.88); }
.page-hero-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(330px,500px); align-items: center; gap: 48px; }

/* Visuals */
.editorial-visual { margin: 0; overflow: hidden; border-radius: var(--mnl-radius-lg); background: var(--mnl-paper); box-shadow: var(--mnl-shadow-soft); }
.editorial-visual img, .editorial-visual svg { display: block; width: 100%; aspect-ratio: 8 / 5; object-fit: cover; }
.editorial-visual figcaption { padding: 9px 13px; color: var(--mnl-muted); background: rgba(255,253,247,.97); font-size: .72rem; line-height: 1.4; }
.record-visual svg { display: block; width: 100%; aspect-ratio: 8 / 5; }
.visual-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; }
.visual-grid .editorial-visual { border-radius: 20px; }

/* Cards and grids */
.card-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 22px; }
.card-grid--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.card-grid--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.discovery-card, .record-card {
  position: relative;
  display: flex; flex-direction: column;
  min-width: 0;
  overflow: hidden;
  color: var(--mnl-ink);
  background: rgba(255,253,247,.95);
  border: 1px solid rgba(112,143,129,.35);
  border-radius: var(--mnl-radius-lg);
  box-shadow: var(--mnl-shadow-soft);
  transition: transform .2s ease, box-shadow .2s ease;
}
.discovery-card:hover, .record-card:hover { transform: translateY(-5px); box-shadow: var(--mnl-shadow); }
.discovery-card .editorial-visual, .record-card .editorial-visual { border-radius: 0; box-shadow: none; }
.discovery-card .editorial-visual figcaption, .record-card .editorial-visual figcaption { display: none; }
.card-body { display: flex; flex: 1; flex-direction: column; padding: 22px; }
.card-body h3 a { color: inherit; text-decoration: none; }
.discovery-card h3, .record-card h3 { line-height: 1.2; }
.card-body p { color: var(--mnl-muted); }
.card-kicker { margin-bottom: 8px; color: #a94f00; font-size: .7rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.card-link { margin-top: auto; font-weight: 900; text-decoration: none; }
.card-link::after { content: " →"; }
.meta-row { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 16px; }
.meta-chip { display: inline-flex; align-items: center; min-height: 30px; padding: 4px 9px; border-radius: 999px; color: var(--mnl-forest); background: #e5eee7; font-size: .74rem; font-weight: 800; }
.region-band { display: grid; grid-template-columns: minmax(230px, .72fr) 1.28fr; gap: 30px; padding: 28px; margin-bottom: 24px; }
.county-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.county-list a { display: inline-block; padding: 7px 11px; border: 1px solid var(--mnl-line); border-radius: 999px; color: var(--mnl-forest); background: #fff; font-size: .82rem; font-weight: 760; text-decoration: none; }
.county-list a:hover { background: var(--mnl-lime); border-color: var(--mnl-lime); }
.regions-hero { position: relative; min-height: clamp(570px, 72vh, 780px); display: grid; align-items: end; overflow: hidden; color: #fff; background: var(--mnl-deep); }
.regions-hero__media, .regions-hero__media picture, .regions-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.regions-hero__media img { object-fit: cover; }
.regions-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,31,39,.92) 0%, rgba(4,31,39,.66) 45%, rgba(4,31,39,.16) 80%), linear-gradient(0deg, rgba(4,31,39,.72), transparent 55%); }
.regions-hero__content { position: relative; z-index: 1; padding-block: clamp(90px, 12vw, 150px) clamp(64px, 8vw, 100px); }
.regions-hero__content h1 { max-width: 820px; color: #fff; font-size: clamp(2.7rem, 6vw, 5.4rem); }
.regions-hero__content .lede { max-width: 730px; color: rgba(255,255,255,.9); }
.regions-hero .breadcrumbs { display: flex; gap: 10px; margin-bottom: 42px; color: rgba(255,255,255,.78); font-size: .88rem; }
.regions-hero .breadcrumbs a { color: #fff; }
.regions-map-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(380px,1.2fr); gap: clamp(40px,7vw,100px); align-items: center; }
.regions-map { max-width: 620px; margin-inline: auto; }
.regions-map svg { display: block; width: 100%; height: auto; overflow: visible; filter: drop-shadow(0 22px 36px rgba(4,31,39,.14)); }
.regions-map a { outline: none; }
.regions-map .map-region { stroke: #fff; stroke-width: 8; stroke-linejoin: round; transition: transform .18s ease, filter .18s ease; transform-origin: center; }
.regions-map .map-region--northwest { fill: #3f756b; }
.regions-map .map-region--northeast { fill: #164f5b; }
.regions-map .map-region--metro { fill: #e6854e; }
.regions-map .map-region--southwest { fill: #c5a447; }
.regions-map .map-region--southeast { fill: #7b9652; }
.regions-map text { fill: #fff; font: 800 21px var(--wp--preset--font-family--sans, sans-serif); text-anchor: middle; pointer-events: none; }
.regions-map a:hover .map-region, .regions-map a:focus .map-region { filter: brightness(1.12); transform: scale(1.025); }
.regions-map a:focus .map-region { stroke: var(--mnl-ink); stroke-width: 12; }
.source-stamp { margin-top: 24px; padding-left: 16px; border-left: 3px solid var(--mnl-lime); color: var(--mnl-muted); font-size: .82rem; }
.region-story { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.08fr); min-height: 520px; margin-bottom: clamp(34px,6vw,72px); overflow: hidden; border-radius: 28px; background: #fff; box-shadow: 0 18px 55px rgba(4,31,39,.11); }
.region-story:nth-of-type(even) .region-story__media { order: 2; }
.region-story__media picture, .region-story__media img { display: block; width: 100%; height: 100%; min-height: 440px; }
.region-story__media img { object-fit: cover; }
.region-story__content { position: relative; align-self: center; padding: clamp(30px,5vw,68px); }
.region-story__number { position: absolute; top: 22px; right: 28px; color: rgba(14,72,77,.11); font: 900 clamp(3rem,6vw,5rem)/1 var(--wp--preset--font-family--sans, sans-serif); }
.region-story__content h2 { position: relative; font-size: clamp(2rem,4vw,3.3rem); }
.region-paths { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin: 24px 0; }
.region-paths div { padding: 16px; border-radius: 14px; background: var(--mnl-mist); }
.region-paths strong, .region-paths span { display: block; }
.region-paths strong { margin-bottom: 6px; color: var(--mnl-forest); font-size: .76rem; letter-spacing: .04em; text-transform: uppercase; }
.region-paths span { color: var(--mnl-muted); font-size: .9rem; line-height: 1.55; }
.county-drawer { margin: 20px 0; border-block: 1px solid var(--mnl-line); }
.county-drawer summary { padding: 15px 2px; cursor: pointer; color: var(--mnl-forest); font-weight: 800; }
.county-drawer summary:focus-visible { outline: 3px solid var(--mnl-lime); outline-offset: 3px; }
.county-drawer .county-list { padding-bottom: 18px; }
.regions-scale { color: #fff; background: var(--mnl-deep); }
.regions-scale h2, .regions-scale .eyebrow { color: #fff; }
.regions-scale .section-head p { color: rgba(255,255,255,.78); }
.regions-facts { display: grid; grid-template-columns: 1fr 1fr .9fr; gap: 18px; }
.regions-facts .surface { display: flex; flex-direction: column; justify-content: center; min-height: 180px; }
.regions-facts strong { color: var(--mnl-forest); font-size: clamp(2.2rem,5vw,4.2rem); line-height: 1; }
.regions-facts span { margin-top: 12px; color: var(--mnl-muted); }
.regions-facts__source { background: var(--mnl-lime); }
.regions-facts__source a { margin-top: 18px; color: var(--mnl-forest); font-weight: 800; }
.regions-next { text-align: center; }
.regions-next p { max-width: 720px; margin-inline: auto; }
.regions-next .button-row { justify-content: center; }

/* Detail pages */
.detail-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,370px); gap: 30px; align-items: start; }
.detail-main, .detail-aside { display: grid; gap: 24px; }
.panel { padding: clamp(22px, 3vw, 34px); }
.fact-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; margin: 22px 0 0; }
.fact { min-width: 0; padding: 15px; border: 1px solid var(--mnl-line); border-radius: 15px; background: #fff; }
.fact dt { color: var(--mnl-muted); font-size: .72rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.fact dd { margin: 3px 0 0; overflow-wrap: anywhere; font-weight: 800; }
.source-panel { border-top: 5px solid var(--mnl-lime); }
.source-list { margin: 0; padding: 0; list-style: none; }
.source-list li + li { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--mnl-line); }
.notice { padding: 17px 19px; border: 1px solid #e5b45f; border-radius: 15px; background: #fff6dc; }
.notice--source { border-color: #93b8ad; background: #edf7f3; }
.notice--danger { border-color: #d99b9b; background: #fff0f0; }
.mli-map-card, .mli-weather-card, .mli-events-card { padding: 24px; border: 1px solid var(--mnl-line); border-radius: var(--mnl-radius-lg); background: var(--mnl-paper); box-shadow: var(--mnl-shadow-soft); }
.mli-map-shell { position: relative; min-height: 360px; overflow: hidden; border-radius: 18px; background: #dbeae3; }
.mli-map-shell iframe { width: 100%; min-height: 430px; border: 0; }
.mli-map-placeholder { display: grid; place-items: center; min-height: 360px; padding: 28px; text-align: center; }

/* Directory filters */
.directory-tools { padding: 22px; margin-bottom: 28px; }
.filter-form { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)) auto; gap: 12px; align-items: end; }
.events-filter-form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:24px; }
.events-filter-actions { display:flex; gap:10px; align-items:end; flex-wrap:wrap; }
.view-switcher { display:flex; border:1px solid var(--mnl-line); border-radius:999px; padding:4px; background:var(--mnl-paper); flex-shrink:0; }
.view-switcher a { padding:8px 14px; border-radius:999px; font-weight:800; text-decoration:none; }
.view-switcher a.is-active { color:#fff; background:var(--mnl-forest); }
.events-calendar { display:grid; gap:28px; }
.calendar-day { display:grid; grid-template-columns:minmax(150px,220px) 1fr; gap:24px; border-top:1px solid var(--mnl-line); padding-top:22px; }
.calendar-day > h3 { position:sticky; top:90px; align-self:start; margin:0; }
.calendar-day-events,.events-list { display:grid; gap:18px; }
.event-card { padding:24px; }
.event-card-date { display:flex; justify-content:space-between; gap:16px; color:var(--mnl-forest); font-weight:800; }
.event-card h3 { margin:10px 0 16px; }
.event-card-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 20px; margin:0 0 18px; }
.event-card-facts .fact { padding:8px 0; border-bottom:1px solid var(--mnl-line); }
.events-empty { padding:clamp(28px,5vw,56px); text-align:center; }
.events-explore-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.event-guide-card { overflow:hidden; padding:0 0 24px; }
.event-guide-card > :not(figure) { margin-left:24px; margin-right:24px; }
.event-guide-card .home-documentary-media { margin:0 0 22px; }
.event-guide-card .home-documentary-media img { aspect-ratio:16/9; object-fit:cover; }
.field label { display: block; margin-bottom: 5px; font-size: .76rem; font-weight: 850; }
.field input, .field select, .field textarea { width: 100%; min-height: 48px; padding: 9px 12px; border: 1px solid #9eb3a9; border-radius: 12px; background: #fff; }
.results-count { margin-bottom: 18px; color: var(--mnl-muted); font-weight: 760; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 34px; }
.pagination a, .pagination span { display: grid; place-items: center; min-width: 43px; min-height: 43px; padding: 7px 11px; border: 1px solid var(--mnl-line); border-radius: 10px; background: #fff; text-decoration: none; font-weight: 800; }
.pagination .current { color: #fff; background: var(--mnl-forest); border-color: var(--mnl-forest); }
.empty-state { padding: clamp(28px, 5vw, 60px); text-align: center; }

/* Home 002 Stage 3 release candidate */
.home-hero {
  position: relative;
  min-height: min(900px, calc(100vh - var(--mnl-header)));
  display: grid;
  align-items: center;
  padding: clamp(64px, 9vw, 132px) 0 clamp(70px, 10vw, 140px);
  color: #fff;
}
.home-hero__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .62fr); align-items: end; gap: clamp(28px, 6vw, 84px); }
.home-hero__content { max-width: 850px; padding: clamp(26px, 4vw, 52px); border: 1px solid rgba(255,255,255,.24); border-radius: var(--mnl-radius-xl); background: rgba(5,47,43,.74); box-shadow: 0 32px 90px rgba(0,0,0,.3); backdrop-filter: blur(15px); }
.home-hero h1 { color: #fff; }
.home-hero .eyebrow { color: #ffd27a; }
.home-hero .lede { color: rgba(255,255,255,.88); }
.home-hero__search { margin-top: 28px; padding: 10px; border: 1px solid rgba(255,255,255,.24); border-radius: 18px; background: rgba(255,255,255,.14); }
.home-hero__search .search-field, .home-hero__search .search-submit { min-height: 58px; }
.home-hero__credit { margin: 18px 0 0; font-size: .72rem; line-height: 1.45; }
.home-hero__credit a { color: rgba(255,255,255,.84); }
.home-button--glass { border-color: rgba(255,255,255,.45); background: rgba(255,255,255,.08); }
.home-route-panel { padding: 25px; border: 1px solid rgba(255,255,255,.22); border-radius: var(--mnl-radius-lg); background: rgba(5,47,43,.82); box-shadow: var(--mnl-shadow); backdrop-filter: blur(14px); }
.home-route-panel__intro { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 15px; margin-bottom: 19px; }
.home-route-panel__intro strong { color: var(--mnl-lime); font-family: Georgia, serif; font-size: 3.4rem; line-height: 1; }
.home-route-panel__intro span, .home-route-panel__intro small { display: block; }
.home-route-panel__intro span { font-family: Georgia, serif; font-size: 1.3rem; font-weight: 800; line-height: 1.1; }
.home-route-panel__intro small { margin-top: 6px; color: rgba(255,255,255,.7); line-height: 1.35; }
.home-route-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
.home-route-grid a { display: flex; align-items: center; min-height: 48px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.16); border-radius: 12px; color: #fff; background: rgba(255,255,255,.06); font-weight: 800; text-decoration: none; }
.home-route-grid a:hover { color: var(--mnl-ink); border-color: var(--mnl-lime); background: var(--mnl-lime); }
.home-trust { background: linear-gradient(180deg, rgba(246,242,231,.98), rgba(255,253,247,.98)); }
.home-trust__principles { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.home-trust__principles article { position: relative; min-width: 0; padding: 26px; }
.home-trust__principles article > span { display: inline-grid; place-items: center; width: 44px; height: 44px; margin-bottom: 30px; border-radius: 50%; color: var(--mnl-ink); background: var(--mnl-lime); font-size: .8rem; font-weight: 900; }
.home-trust__principles p { margin: 0; color: var(--mnl-muted); }
.home-source-network { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; margin-top: 20px; padding: 20px 24px; }
.home-source-network > strong { font-family: Georgia, serif; font-size: 1.25rem; }
.home-source-network ul { display: flex; flex-wrap: wrap; gap: 9px; margin: 0; padding: 0; list-style: none; }
.home-source-network li a { display: inline-flex; min-height: 42px; align-items: center; padding: 7px 12px; border: 1px solid var(--mnl-line); border-radius: 999px; color: var(--mnl-forest); background: #fff; font-weight: 800; text-decoration: none; }
.home-feature { background: rgba(246,242,231,.97); }
.home-feature--reverse { background: rgba(255,253,247,.97); }
.home-feature__grid { display: grid; grid-template-columns: minmax(320px, .9fr) minmax(0, 1.1fr); align-items: center; gap: clamp(34px, 7vw, 92px); }
.home-feature--reverse .home-feature__media { order: 2; }
.home-feature--reverse .home-feature__content { order: 1; }
.home-feature__content > p { max-width: 690px; color: var(--mnl-muted); font-size: 1.08rem; }
.home-documentary-media { margin: 0; overflow: hidden; border-radius: var(--mnl-radius-xl); background: var(--mnl-paper); box-shadow: var(--mnl-shadow); }
.home-documentary-media img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.home-documentary-media figcaption { padding: 10px 14px; color: var(--mnl-muted); font-size: .7rem; line-height: 1.45; }
.home-documentary-media figcaption a { color: inherit; }
.home-region-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; margin: 26px 0; padding: 0; list-style: none; }
.home-region-list li:first-child { grid-column: 1 / -1; }
.home-region-list a { display: block; min-height: 82px; padding: 14px 16px; border: 1px solid var(--mnl-line); border-radius: 15px; color: var(--mnl-ink); background: rgba(255,255,255,.82); text-decoration: none; }
.home-region-list a:hover { border-color: var(--mnl-lake); box-shadow: var(--mnl-shadow-soft); }
.home-region-list strong, .home-region-list span { display: block; }
.home-region-list strong { font-family: Georgia, serif; font-size: 1.16rem; line-height: 1.2; }
.home-region-list span { margin-top: 3px; color: var(--mnl-muted); font-size: .8rem; }
.home-county-path { max-width: 650px; margin-top: 26px; padding: 24px; }
.home-county-path > strong { font-family: Georgia, serif; font-size: 1.35rem; }
.home-county-path p { margin: 7px 0 0; color: var(--mnl-muted); }
.home-water-pair { background: rgba(246,242,231,.98); }
.home-water-pair__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; }
.home-water-card { overflow: hidden; border: 1px solid rgba(112,143,129,.35); border-radius: var(--mnl-radius-xl); background: rgba(255,253,247,.97); box-shadow: var(--mnl-shadow); }
.home-water-card .home-documentary-media { border-radius: 0; box-shadow: none; }
.home-water-card .home-documentary-media img { aspect-ratio: 8 / 5; }
.home-water-card__body { padding: clamp(24px, 4vw, 40px); }
.home-water-card__body h2 { font-size: clamp(1.9rem, 3.4vw, 3rem); }
.home-water-card__body > p { color: var(--mnl-muted); }
.home-empty-note { display: grid; gap: 4px; margin: 22px 0; padding: 15px 17px; border-inline-start: 5px solid var(--mnl-lime); border-radius: 0 12px 12px 0; background: #edf7f3; }
.home-empty-note span { color: var(--mnl-muted); font-size: .84rem; }
.home-recreation { background: rgba(255,253,247,.98); }
.home-recreation__grid { display: grid; grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); align-items: center; gap: clamp(34px, 7vw, 92px); }
.home-recreation .home-feature__content { padding: clamp(25px, 4vw, 46px); border-radius: var(--mnl-radius-xl); }
.home-activity-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; margin: 25px 0; }
.home-activity-list a { min-width: 0; min-height: 82px; padding: 15px; border: 1px solid var(--mnl-line); border-radius: 14px; color: var(--mnl-ink); background: #fff; text-decoration: none; }
.home-activity-list a:hover { border-color: var(--mnl-lake); box-shadow: var(--mnl-shadow-soft); }
.home-activity-list strong, .home-activity-list span { display: block; overflow-wrap: anywhere; }
.home-activity-list strong { font-family: Georgia, serif; font-size: 1.04rem; }
.home-activity-list span { margin-top: 4px; color: var(--mnl-muted); font-size: .77rem; line-height: 1.4; }
.home-editorial-pair { background: linear-gradient(180deg, rgba(230,239,233,.92), rgba(246,242,231,.98)); }
.home-editorial-pair__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; }
.home-tools { background: rgba(255,253,247,.98); }
.home-tools__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; }
.home-tool-card { display: grid; grid-template-columns: minmax(150px,.7fr) minmax(0,1.3fr); overflow: hidden; border: 1px solid rgba(112,143,129,.35); border-radius: var(--mnl-radius-xl); background: #fff; box-shadow: var(--mnl-shadow); }
.home-tool-card > img { width: 100%; height: 100%; min-height: 330px; object-fit: cover; background: var(--mnl-mist); }
.home-tool-card > div { align-self: center; padding: clamp(24px, 4vw, 40px); }
.home-tool-card h3 { font-size: clamp(1.65rem, 2.8vw, 2.35rem); }
.home-tool-card p { color: var(--mnl-muted); }
.home-editorial-card { min-width: 0; overflow: hidden; border: 1px solid var(--mnl-line); border-radius: var(--mnl-radius-xl); background: var(--mnl-paper); box-shadow: var(--mnl-shadow-soft); }
.home-editorial-card .home-documentary-media { border-radius: 0; box-shadow: none; }
.home-editorial-card .home-documentary-media img { aspect-ratio: 3 / 2; }
.home-editorial-card__body { padding: clamp(26px, 4vw, 42px); }
.home-editorial-card__body h2 { font-size: clamp(1.9rem, 3.3vw, 3rem); overflow-wrap: anywhere; }
.home-editorial-card__body > p { color: var(--mnl-muted); }
.home-editorial-card__body .button-row { align-items: center; }
.home-editorial-card__body .card-link { max-width: 22rem; }
.home-plan { background: rgba(246,242,231,.98); }
.home-plan__card { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.05fr); overflow: hidden; color: #fff; border-radius: var(--mnl-radius-xl); background: var(--mnl-forest); box-shadow: var(--mnl-shadow); }
.home-plan__media { min-width: 0; min-height: 650px; }
.home-plan__media .home-documentary-media { display: grid; grid-template-rows: minmax(0, 1fr) auto; height: 100%; border-radius: 0; background: var(--mnl-forest); box-shadow: none; }
.home-plan__media .home-documentary-media img { height: 100%; min-height: 0; aspect-ratio: auto; object-fit: cover; }
.home-plan__media .home-documentary-media figcaption { color: rgba(255,255,255,.72); }
.home-plan__copy { min-width: 0; padding: clamp(30px, 5vw, 64px); }
.home-plan__copy h2 { color: #fff; overflow-wrap: anywhere; }
.home-plan__copy .eyebrow { color: #ffd27a; }
.home-plan__copy > p { color: rgba(255,255,255,.8); }
.home-plan__steps { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; margin: 26px 0 31px; padding: 0; list-style: none; }
.home-plan__steps li { min-width: 0; display: grid; grid-template-columns: 34px minmax(0,1fr); column-gap: 9px; padding: 13px; border: 1px solid rgba(255,255,255,.15); border-radius: 13px; background: rgba(255,255,255,.06); }
.home-plan__steps li > span { grid-row: 1 / 3; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; color: var(--mnl-ink); background: var(--mnl-lime); font-weight: 900; }
.home-plan__steps strong { color: #fff; overflow-wrap: anywhere; }
.home-plan__steps small { color: rgba(255,255,255,.72); line-height: 1.4; overflow-wrap: anywhere; }
.home-closing { background: #e7eee7; }
.home-closing__grid { display: grid; grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr); gap: clamp(32px, 6vw, 72px); }
.home-closing__media { max-width: 38rem; color: var(--mnl-muted); font-size: .88rem; }
.home-closing__links { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.home-closing__links a { min-width: 0; min-height: 145px; padding: 20px; border: 1px solid var(--mnl-line); border-radius: 18px; color: var(--mnl-ink); background: rgba(255,255,255,.78); text-decoration: none; }
.home-closing__links a:hover { border-color: var(--mnl-lake); box-shadow: var(--mnl-shadow-soft); }
.home-closing__links strong, .home-closing__links span { display: block; overflow-wrap: anywhere; }
.home-closing__links strong { font-family: Georgia, serif; }
.home-closing__links span { margin-top: 8px; color: var(--mnl-muted); font-size: .82rem; line-height: 1.5; }

/* Search, taxonomy, content */
.archive-title-row { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.term-description { max-width: 780px; color: var(--mnl-muted); }
.entry-content > :where(p, ul, ol, h2, h3, h4, blockquote, table, .wp-block-group) { max-width: 790px; margin-inline: auto; }
.entry-content > :where(.alignwide) { max-width: var(--mnl-width); }
.entry-content > :where(.alignfull) { max-width: none; }
.entry-content img { border-radius: 18px; }
.entry-meta { color: var(--mnl-muted); font-size: .84rem; }

/* Counties hub */
.counties-hero { position: relative; min-height: 610px; display: grid; align-items: end; overflow: hidden; color: #fff; background: var(--mnl-deep); }
.counties-hero__media, .counties-hero__media picture, .counties-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.counties-hero__media img { object-fit: cover; }
.counties-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,35,34,.94) 0%, rgba(3,35,34,.72) 44%, rgba(3,35,34,.2) 100%); }
.counties-hero__content { position: relative; z-index: 1; padding-block: clamp(70px, 10vw, 132px); }
.counties-hero__content > * { max-width: 720px; }
.counties-hero h1 { color: #fff; }
.counties-hero .breadcrumbs, .counties-hero .breadcrumbs a, .counties-hero .eyebrow { color: #fff; }
.counties-map-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(360px,1.2fr); gap: clamp(40px,7vw,90px); align-items: center; }
.counties-map { min-height: 510px; display: grid; grid-template: "nw ne" 1.35fr "sw ne" .65fr "sw metro" .6fr "sw se" 1.15fr / 1fr 1fr; gap: 8px; padding: 18px; border-radius: 42% 20% 38% 28% / 13% 19% 16% 18%; background: #d9e8df; box-shadow: var(--mnl-shadow); }
.counties-map__zone { display: grid; place-items: center; min-height: 92px; padding: 15px; border: 2px solid rgba(255,255,255,.75); color: #fff; background: var(--mnl-lake); font-weight: 850; text-align: center; text-decoration: none; }
.counties-map__zone:hover, .counties-map__zone:focus-visible { color: var(--mnl-deep); background: var(--mnl-lime); transform: translateY(-2px); }
.counties-map__zone--nw { grid-area: nw; border-radius: 34% 8% 8% 10%; background: #246f72; }
.counties-map__zone--ne { grid-area: ne; border-radius: 8% 35% 12% 8%; background: #185a61; }
.counties-map__zone--metro { grid-area: metro; background: #bb632f; }
.counties-map__zone--sw { grid-area: sw; border-radius: 8% 8% 8% 28%; background: #657d3d; }
.counties-map__zone--se { grid-area: se; border-radius: 8% 8% 28% 8%; background: #41755c; }
.county-region-card { display: grid; grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr); margin-top: 28px; overflow: hidden; border: 1px solid var(--mnl-line); border-radius: var(--mnl-radius-xl); background: var(--mnl-paper); box-shadow: var(--mnl-shadow-soft); scroll-margin-top: 110px; }
.county-region-card__media, .county-region-card__media picture { min-height: 100%; }
.county-region-card__media img { width: 100%; height: 100%; min-height: 440px; object-fit: cover; }
.county-region-card__body { min-width: 0; padding: clamp(26px,4vw,48px); }
.county-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin: 24px 0 0; padding: 0; list-style: none; }
.county-card-grid a { display: flex; min-height: 82px; flex-direction: column; justify-content: center; padding: 12px 14px; border: 1px solid var(--mnl-line); border-radius: 12px; color: var(--mnl-ink); background: #fff; text-decoration: none; overflow-wrap: anywhere; }
.county-card-grid a:hover, .county-card-grid a:focus-visible { border-color: var(--mnl-lake); box-shadow: 0 8px 20px rgba(7,63,57,.12); }
.county-card-grid span { margin-top: 4px; color: var(--mnl-muted); font-size: .72rem; }
.county-chip[hidden], .county-group[hidden] { display: none !important; }
.counties-next { color: #fff; background: var(--mnl-deep); }
.counties-next h2, .counties-next .eyebrow { color: #fff; }
.wp-caption-text, .gallery-caption { color: var(--mnl-muted); font-size: .78rem; }
.sticky { border-top: 6px solid var(--mnl-lime); }
.bypostauthor { outline: 1px solid var(--mnl-line); }

/* Footer */
.site-footer { margin-top: 80px; color: rgba(255,255,255,.82); background: var(--mnl-deep); }
.footer-grid { display: grid; grid-template-columns: 1.3fr repeat(3,1fr); gap: 34px; padding: 68px 0 42px; }
.site-footer h2, .site-footer h3 { color: #fff; }
.site-footer a { color: #fff; }
.footer-links { margin: 0; padding: 0; list-style: none; }
.footer-links li + li { margin-top: 7px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 25px; padding: 22px 0 30px; border-top: 1px solid rgba(255,255,255,.14); font-size: .78rem; }

/* Locale-safe line boxes and emergency wrapping for long translated controls. */
.button, .primary-navigation a, .home-route-grid a, .home-documentary-media figcaption { overflow-wrap: anywhere; }
html[lang="zh-Hans"] h1,
html[lang="zh-Hans"] h2,
html[lang="zh-Hans"] h3,
html[lang="zh-Hans"] h4,
html[lang="zh-Hans"] h5,
html[lang="zh-Hans"] h6 { line-height: 1.18; }
html[lang="zh-Hans"] .eyebrow,
html[lang="zh-Hans"] .site-tagline,
html[lang="zh-Hans"] .home-documentary-media figcaption { line-height: 1.5; }

/* Lakes hub */
.lakes-hub-hero { position: relative; min-height: 650px; display: grid; align-items: end; overflow: hidden; color: #fff; }
.lakes-hub-hero__media, .lakes-hub-hero__media picture, .lakes-hub-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.lakes-hub-hero__media img { object-fit: cover; }
.lakes-hub-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(2,35,34,.93) 0%, rgba(2,35,34,.7) 48%, rgba(2,35,34,.18) 100%); }
.lakes-hub-hero__content { position: relative; z-index: 1; padding-block: clamp(70px, 10vw, 130px); }
.lakes-hub-hero__content > * { max-width: 720px; }
.lakes-hub-hero .breadcrumbs a, .lakes-hub-hero .breadcrumbs { color: #fff; }
.lake-jump-links { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0 50px; }
.lake-jump-links a { padding: 10px 16px; border: 1px solid var(--mnl-border); border-radius: 999px; background: #fff; font-weight: 800; text-decoration: none; }
.lake-jump-links a:hover, .lake-jump-links a:focus-visible { background: var(--mnl-deep); color: #fff; }
.lake-collection { padding: 50px 0; border-top: 1px solid var(--mnl-border); scroll-margin-top: 100px; }
.lake-collection__intro { display: grid; grid-template-columns: minmax(280px,.8fr) 1.2fr; gap: clamp(24px,5vw,70px); align-items: center; margin-bottom: 28px; }
.lake-collection__media { overflow: hidden; border-radius: 22px; box-shadow: var(--mnl-shadow); }
.lake-collection__media picture, .lake-collection__media img { display: block; width: 100%; }
.lake-collection__media img { aspect-ratio: 3/2; object-fit: cover; }
.lake-link-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.lake-link-card { min-width: 0; border: 1px solid var(--mnl-border); border-radius: 16px; background: #fff; }
.lake-link-card a { height: 100%; display: grid; align-content: start; gap: 7px; padding: 0 18px 18px; color: inherit; text-decoration: none; overflow: hidden; border-radius: inherit; }
.lake-link-card a:hover, .lake-link-card a:focus-visible { box-shadow: 0 0 0 3px var(--mnl-lime); }
.lake-link-card img { width: calc(100% + 36px); max-width: none; height: 150px; margin-inline: -18px; object-fit: cover; }
.lake-link-card h3 { margin: 10px 0 0; font-size: 1.1rem; }
.lake-link-card span { color: var(--mnl-muted); font-size: .85rem; overflow-wrap: anywhere; }
.lake-region-links { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 14px; }
.lake-region-links a { display: grid; gap: 8px; min-height: 130px; padding: 22px; border-radius: 18px; background: var(--mnl-deep); color: #fff; font-size: 1.15rem; font-weight: 900; text-decoration: none; }
.lake-region-links span { align-self: end; font-size: .8rem; font-weight: 700; color: var(--mnl-lime); }
.lakes-method .surface { padding: clamp(25px,5vw,55px); border-left: 7px solid var(--mnl-lime); }
.lakes-filter-form { grid-template-columns: repeat(3,minmax(0,1fr)); margin-bottom: 28px; }
.lakes-next { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }

@media (max-width: 1120px) {
  .header-inner { grid-template-columns: auto 1fr auto; }
  .header-search { display: none; }
  .primary-navigation a { padding-inline: 7px; font-size: .82rem; }
  .card-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .visual-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .footer-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 1450px) and (min-width: 1121px) {
  .site-tagline { display: none; }
  .site-branding { min-width: 205px; }
  .header-inner { gap: 14px; }
  .primary-navigation a { padding-inline: 7px; font-size: .8rem; }
  .header-actions { gap: 7px; }
  .header-actions > .button { max-width: 9.5rem; font-size: .8rem; }
}
@media (max-width: 860px) {
  :root { --mnl-header: 74px; }
  .site-header, body.admin-bar .site-header { position: relative; top: auto; }
  .header-inner { min-height: var(--mnl-header); grid-template-columns: 1fr auto; }
  .site-branding { min-width: 0; }
  .site-tagline, .header-actions .button { display: none; }
  .menu-toggle { display: inline-grid; place-items: center; }
  .header-center {
    position: absolute;
    inset: var(--mnl-header) 0 auto 0;
    display: none;
    padding: 18px;
    background: rgba(4,45,39,.98);
    border-top: 1px solid rgba(255,255,255,.15);
  }
  .header-center.is-open { display: grid; }
  .primary-navigation ul { display: grid; grid-template-columns: repeat(2,1fr); }
  .primary-navigation a { padding: 12px; }
  .header-search { display: block; width: 100%; }
  .hero-grid, .page-hero-grid, .detail-layout, .section-head, .region-band, .regions-map-grid, .region-story, .counties-map-grid, .county-region-card, .lake-collection__intro { grid-template-columns: 1fr; }
  .counties-map { min-height: 440px; }
  .county-region-card__media img { min-height: 300px; max-height: 480px; }
  .county-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .lake-link-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .lake-region-links { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .region-story:nth-of-type(even) .region-story__media { order: 0; }
  .regions-facts { grid-template-columns: 1fr 1fr; }
  .hero { padding-top: 45px; }
  .hero-visual { transform: none; }
  .card-grid, .card-grid--3 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .filter-form { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .events-filter-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fact-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .home-hero { min-height: auto; }
  .home-hero__grid, .home-feature__grid, .home-water-pair__grid, .home-recreation__grid, .home-plan__card, .home-closing__grid { grid-template-columns: 1fr; }
  .home-route-panel { max-width: 700px; }
  .home-trust__principles { grid-template-columns: 1fr; }
  .home-source-network { grid-template-columns: 1fr; }
  .home-feature--reverse .home-feature__media, .home-feature--reverse .home-feature__content { order: initial; }
  .home-plan__media { min-height: 460px; }
  .home-plan__media .home-documentary-media img { min-height: 0; }
  .home-closing__links { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  :root { --mnl-width: min(100% - 24px, 1180px); }
  body { font-size: 16px; }
  .custom-logo-link, .brand-mark { width: 48px; height: 48px; flex-basis: 48px; }
  .site-title { font-size: 1.02rem; }
  .language-form select { max-width: none; }
  .header-actions { gap: 6px; }
  .primary-navigation ul, .card-grid, .card-grid--3, .card-grid--2, .visual-grid, .filter-form, .fact-grid, .footer-grid { grid-template-columns: 1fr; }
  .events-filter-form,.events-explore-grid,.event-card-facts { grid-template-columns:1fr; }
  .calendar-day { grid-template-columns:1fr; gap:12px; }
  .calendar-day > h3 { position:static; }
  .archive-title-row { align-items:flex-start; flex-direction:column; }
  .view-switcher { width:100%; }
  .view-switcher a { flex:1; text-align:center; }
  .hero-card, .panel { padding: 22px; }
  .footer-bottom { display: grid; }
  .home-hero__content, .home-route-panel { padding: 21px; }
  .home-hero__search { display: grid; }
  .home-route-grid, .home-region-list, .home-activity-list, .home-editorial-pair__grid, .home-tools__grid, .home-plan__steps { grid-template-columns: 1fr; }
  .home-tool-card { grid-template-columns: 1fr; }
  .home-tool-card > img { min-height: 220px; max-height: 300px; }
  .home-region-list li:first-child { grid-column: auto; }
  .home-source-network ul { display: grid; }
  .home-plan__media { min-height: 320px; }
  .home-plan__media .home-documentary-media img { min-height: 0; }
  .home-plan__copy { padding: 25px; }
  .region-band h2 { line-height: 1.18; }
  .region-paths, .regions-facts { grid-template-columns: 1fr; }
  .regions-map-grid { gap: 28px; }
  .counties-hero { min-height: 540px; }
  .lakes-hub-hero { min-height: 560px; }
  .lakes-hub-hero::after { background: linear-gradient(0deg, rgba(2,35,34,.94), rgba(2,35,34,.3)); }
  .lake-link-grid, .lake-region-links, .lakes-filter-form { grid-template-columns: 1fr; }
  .counties-hero::after { background: linear-gradient(0deg, rgba(3,35,34,.94), rgba(3,35,34,.35)); }
  .counties-map { min-height: 380px; padding: 10px; }
  .county-card-grid { grid-template-columns: 1fr; }
  .regions-hero::after { background: linear-gradient(0deg, rgba(4,31,39,.92), rgba(4,31,39,.35)); }
  .site-atmosphere::before { background-image: url("assets/media/home/home-hero-voyageurs-960x540.webp"); }
}
@media (max-width: 500px) {
  .atmosphere-toggle {
    max-width: calc(100% - 24px);
    margin: 12px auto 0;
    white-space: normal;
    text-align: left;
  }
  .search-form { display: grid; grid-template-columns: minmax(0, 1fr); }
  .search-submit { width: 100%; }
}
@media (max-width: 420px) {
  .header-inner { width: calc(100vw - 16px); gap: 6px; }
  .custom-logo-link, .brand-mark { display: none; }
  .site-title { font-size: .96rem; white-space: nowrap; }
  .header-actions { gap: 4px; }
  .menu-toggle { min-width: 44px; min-height: 44px; }
}
@media (max-width: 340px) {
  .site-title { font-size: .84rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .site-atmosphere::before { animation: none; transform: none; }
  .atmosphere-toggle { display: none !important; }
}
@media print {
  .site-atmosphere, .site-header, .atmosphere-toggle, .site-footer, .button-row { display: none !important; }
  body { color: #000; background: #fff; }
  a { color: #000; text-decoration: underline; }
  .surface, .discovery-card, .record-card { box-shadow: none; }
}
/* Recreation hub */
.recreation-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(22rem,48%);min-height:min(720px,78vh);background:#073a34;color:#fff}
.recreation-hero__content{width:min(100% - 48px,590px);margin:auto;padding:clamp(3rem,7vw,6.5rem) 0}
.recreation-hero__content .breadcrumbs a,.recreation-hero__content .breadcrumbs{color:#fff}
.recreation-hero__media,.recreation-hero__media figure,.recreation-hero__media img{height:100%;min-height:34rem}
.recreation-hero__media figure{margin:0}.recreation-hero__media img{width:100%;object-fit:cover}.recreation-hero__media figcaption{position:absolute;clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
.recreation-activity-grid{display:grid;gap:clamp(1.25rem,3vw,2.5rem)}
.recreation-activity{display:grid;grid-template-columns:minmax(18rem,.85fr) minmax(0,1.15fr);overflow:hidden}
.recreation-activity:nth-child(even){grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr)}
.recreation-activity:nth-child(even) .recreation-activity__media{order:2}
.recreation-activity__media figure,.recreation-activity__media img{height:100%;margin:0}.recreation-activity__media img{width:100%;min-height:19rem;object-fit:cover}
.recreation-activity__media figcaption{font-size:.75rem;padding:.55rem .8rem;background:var(--color-surface)}
.recreation-activity__body{padding:clamp(1.5rem,4vw,3.25rem);align-self:center}.recreation-activity__body h3{font-size:clamp(1.6rem,3vw,2.4rem)}
.recreation-seasons{background:color-mix(in srgb,var(--color-lime) 8%,var(--color-surface))}
.recreation-planning{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.25rem,3vw,2.5rem)}
.recreation-paths{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}.recreation-paths a{border:1px solid var(--color-border);border-radius:999px;padding:.65rem 1rem}
@media(max-width:780px){.recreation-hero,.recreation-activity,.recreation-activity:nth-child(even),.recreation-planning{grid-template-columns:1fr}.recreation-hero__media{order:-1}.recreation-hero__media,.recreation-hero__media figure,.recreation-hero__media img{min-height:19rem;max-height:25rem}.recreation-activity:nth-child(even) .recreation-activity__media{order:0}}

/* Plan a Lake Trip */
.trip-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(24rem,48%);min-height:min(720px,78vh);background:#073a34;color:#fff}
.trip-hero__copy{width:min(100% - 48px,620px);margin:auto;padding:clamp(3rem,7vw,6rem) 0}.trip-hero__copy .breadcrumbs,.trip-hero__copy .breadcrumbs a{color:#fff}.trip-hero__media figure,.trip-hero__media img{height:100%;margin:0}.trip-hero__media img{width:100%;object-fit:cover}.trip-hero__media figcaption{position:absolute;clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
.trip-builder{display:grid;gap:2rem}.trip-builder fieldset,.trip-checklist{min-width:0;border:0}.trip-builder legend,.trip-checklist legend{font:800 1.3rem/1.2 var(--font-heading);margin-bottom:1rem}.trip-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.trip-fields label{display:grid;gap:.45rem;font-weight:700}.trip-fields input,.trip-fields select{width:100%;min-height:3rem;border:1px solid var(--color-border);border-radius:.5rem;padding:.65rem;background:#fff;color:var(--color-text)}
.trip-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.trip-options label,.trip-checklist label{display:flex;gap:.65rem;align-items:flex-start;padding:.75rem;border:1px solid var(--color-border);border-radius:.6rem}.trip-options input,.trip-checklist input{width:1.2rem;height:1.2rem;flex:0 0 auto}
.trip-summary{padding:clamp(1.25rem,3vw,2rem);border-radius:1rem;background:#eef5e8}.trip-summary__route{font-size:1.2rem;font-weight:800}.trip-summary__note{font-size:.9rem}.trip-save-status{min-height:1.5em;font-weight:700}
.trip-pathways{background:color-mix(in srgb,var(--color-lime) 8%,var(--color-surface))}.trip-checklist-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;align-items:start}.trip-checklist-media{grid-row:span 2}.trip-checklist-media figure,.trip-checklist-media img{height:100%;margin:0}.trip-checklist-media img{width:100%;min-height:27rem;object-fit:cover}.trip-checklist{display:grid;gap:.55rem}.trip-visuals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.trip-visuals figure{margin:0}.trip-visuals img{width:100%;aspect-ratio:4/3;object-fit:cover}
@media(max-width:780px){.trip-hero,.trip-fields,.trip-checklist-layout{grid-template-columns:1fr}.trip-hero__media{order:-1;max-height:25rem}.trip-options{grid-template-columns:repeat(2,minmax(0,1fr))}.trip-visuals{grid-template-columns:1fr}}
@media(max-width:480px){.trip-options{grid-template-columns:1fr}}
@media print{header,footer,.trip-hero__media,.trip-pathways,.trip-visuals,.button-row{display:none!important}.trip-hero{display:block;min-height:0;background:#fff;color:#000}.trip-hero__copy{padding:1rem 0}.trip-builder{box-shadow:none}.trip-checklist-layout{grid-template-columns:1fr 1fr}.trip-checklist-media{display:none}.trip-checklist label:has(input:not(:checked)){display:none}}
/* Rivers hub */
.rivers-map-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.8fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.rivers-flow{padding:clamp(1.5rem,4vw,3rem)}
.river-region-list{display:flex;flex-wrap:wrap;gap:.7rem;list-style:none;margin:1.5rem 0 0;padding:0}
.river-region-list a{display:block;border:1px solid var(--color-border);border-radius:999px;padding:.55rem .85rem}
.river-profile-grid{display:grid;gap:clamp(1.5rem,3vw,3rem)}
.river-profile{display:grid;grid-template-columns:minmax(15rem,.8fr) minmax(0,1.2fr);overflow:hidden}
.river-profile:nth-child(even){grid-template-columns:minmax(0,1.2fr) minmax(15rem,.8fr)}
.river-profile:nth-child(even) .river-profile__media{order:2}
.river-profile__media picture,.river-profile__media img{display:block;width:100%;height:100%}
.river-profile__media img{object-fit:cover;min-height:19rem}
.river-profile__body{padding:clamp(1.5rem,4vw,3.25rem);align-self:center}
.river-path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem}
.river-path-grid article{padding:clamp(1.25rem,3vw,2rem)}
@media(max-width:760px){.rivers-map-grid,.river-profile,.river-profile:nth-child(even),.river-path-grid{grid-template-columns:1fr}.river-profile:nth-child(even) .river-profile__media{order:0}.river-profile__media img{min-height:14rem}}
/* Maps and Lake Data hub */
.maps-hero{padding:clamp(2rem,5vw,5rem) 0;background:linear-gradient(135deg,#073c48,#0a6771);color:#fff}
.maps-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}
.maps-hero__media{display:block;overflow:hidden;border-radius:1.5rem;box-shadow:0 1.25rem 3rem rgba(0,0,0,.28)}
.maps-hero__media img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.maps-entry-grid,.maps-data-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.maps-entry-card{display:flex;flex-direction:column;gap:.45rem;padding:1.25rem;color:inherit;text-decoration:none;border:2px solid transparent}
.maps-entry-card:hover,.maps-entry-card:focus-visible{border-color:var(--color-accent,#9cce3b);transform:translateY(-2px)}
.maps-region-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}
.maps-region-card{position:relative;overflow:hidden;border-radius:1rem;color:#fff;min-height:12rem}
.maps-region-card picture,.maps-region-card img{display:block;width:100%;height:100%;object-fit:cover}
.maps-region-card span{position:absolute;inset:auto 0 0;padding:2rem 1rem 1rem;font-weight:800;background:linear-gradient(transparent,rgba(0,0,0,.82))}
.maps-component{padding:clamp(1.25rem,3vw,2rem)}
.maps-component details{margin-top:1.25rem;padding-top:1rem;border-top:1px solid rgba(10,70,75,.2)}
.maps-component summary{cursor:pointer;font-weight:750}
.maps-component summary:focus-visible{outline:3px solid var(--color-accent,#9cce3b);outline-offset:4px}
.maps-data-grid .panel{height:100%}
.maps-freshness{font-size:.93rem}
@media(max-width:980px){.maps-entry-grid,.maps-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.maps-region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.maps-region-card:last-child{grid-column:1/-1}}
@media(max-width:700px){.maps-hero__grid{grid-template-columns:1fr}.maps-entry-grid,.maps-data-grid,.maps-region-grid{grid-template-columns:1fr}.maps-region-card:last-child{grid-column:auto}.maps-region-card{min-height:10rem}}
@media(prefers-reduced-motion:reduce){.maps-entry-card{transition:none}.maps-entry-card:hover{transform:none}}
/* Learn hub */
.learn-hero{padding:clamp(2.5rem,6vw,6rem) 0;background:linear-gradient(135deg,#073c48,#0b6470);color:#fff}
.learn-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:clamp(1.5rem,5vw,5rem);align-items:center}
.learn-hero__media,.learn-entry__media,.learn-stewardship__media,.learn-culture__media{overflow:hidden}
.learn-hero__media{border-radius:1.5rem;box-shadow:0 1.25rem 3rem rgba(0,0,0,.3)}
.learn-hero__media picture,.learn-hero__media img,.learn-entry__media picture,.learn-entry__media img,.learn-stewardship__media picture,.learn-stewardship__media img,.learn-culture__media picture,.learn-culture__media img{display:block;width:100%;height:100%}
.learn-hero__media img{aspect-ratio:16/9;object-fit:cover}
.learn-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.learn-entry{overflow:hidden}
.learn-entry__media img{aspect-ratio:3/2;object-fit:cover}
.learn-entry__body{padding:1.4rem}
.learn-process{list-style:none;counter-reset:learn;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;padding:0;margin:2rem 0 0}
.learn-process li{counter-increment:learn;display:flex;flex-direction:column;gap:.5rem;padding:1.25rem;border-top:4px solid var(--color-accent,#9cce3b);background:#fff;border-radius:.35rem 1rem 1rem}
.learn-process li::before{content:counter(learn);display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#0b6470;color:#fff;font-weight:800}
.learn-process span{font-size:.95rem}
.learn-stewardship,.learn-culture{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);align-items:stretch}
.learn-stewardship__media img,.learn-culture__media img{object-fit:cover;min-height:100%}
.learn-stewardship .panel,.learn-culture .panel{padding:clamp(1.5rem,4vw,3rem);border-radius:0}
.learn-quiz details summary{cursor:pointer;font-weight:800}
.learn-quiz details summary:focus-visible{outline:3px solid var(--color-accent,#9cce3b);outline-offset:4px}
.learn-quiz details p{margin-top:1rem}
.learn-paths{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:2rem}
.learn-paths a{padding:.65rem 1rem;border-radius:999px;background:#e7f2ef;color:#073c48;font-weight:750;text-decoration:none}
.learn-paths a:hover,.learn-paths a:focus-visible{background:#073c48;color:#fff}
@media(max-width:900px){.learn-entry-grid{grid-template-columns:1fr 1fr}.learn-entry:last-child{grid-column:1/-1}.learn-process{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.learn-hero__grid,.learn-entry-grid,.learn-stewardship,.learn-culture,.learn-process{grid-template-columns:1fr}.learn-entry:last-child{grid-column:auto}.learn-culture__media{order:-1}.learn-stewardship__media img,.learn-culture__media img{max-height:18rem}}
/* Lake Science Guide */
.science-hero{position:relative;display:grid;min-height:min(760px,82vh);overflow:hidden;background:#073c48;color:#fff}.science-hero__media{position:absolute;inset:0}.science-hero__media picture,.science-hero__media img{display:block;width:100%;height:100%}.science-hero__media img{object-fit:cover}.science-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,30,38,.94),rgba(2,30,38,.62) 58%,rgba(2,30,38,.15))}
.science-hero__copy{position:relative;z-index:1;align-self:end;padding:clamp(4rem,9vw,8rem) 0;max-width:48rem}.science-hero__copy .breadcrumbs,.science-hero__copy .breadcrumbs a{color:#fff}
.science-split,.science-layer{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,.9fr);gap:clamp(1.5rem,5vw,5rem);align-items:center}.science-visual{padding:1.5rem}.science-visual svg{display:block;width:100%;height:auto;border-radius:.75rem}.science-sky{fill:#d9eff1}.science-land{fill:#63966c}.science-water{fill:#168a9b}.science-stream{fill:none;stroke:#168a9b;stroke-width:14}.science-visual circle{fill:#f3c94b}.science-rain{stroke:#168a9b;stroke-width:5}.science-visual ol{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:1rem 0 0;padding-left:1.4rem;font-size:.88rem}
.science-water-column{background:#eaf4f2}.science-metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.science-metric-grid .panel{border-top:4px solid #168a9b}.science-metric-grid h3{font-size:1.2rem}.science-layer{margin-top:2rem;gap:0;overflow:hidden}.science-layer__media,.science-layer__media picture,.science-layer__media img{height:100%}.science-layer__media img{display:block;width:100%;min-height:24rem;object-fit:cover}.science-layer .panel{border-radius:0;padding:clamp(1.5rem,4vw,3rem)}
.science-thermometer{display:grid;height:2rem;margin-top:1.5rem;grid-template-columns:2fr 1fr 2fr;border-radius:999px;overflow:hidden}.science-thermometer span:nth-child(1){background:#e6a238}.science-thermometer span:nth-child(2){background:#62b4ad}.science-thermometer span:nth-child(3){background:#236e9c}
.science-methods{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.science-methods article{overflow:hidden}.science-methods article>div:first-child,.science-methods picture,.science-methods img{display:block;width:100%}.science-methods img{aspect-ratio:16/9;object-fit:cover}.science-compare{margin-top:1.25rem}.science-compare ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;counter-reset:science;list-style:none;padding:0}.science-compare li{counter-increment:science;border-left:3px solid #9cce3b;padding-left:1rem}.science-compare li::before{content:counter(science);display:block;font-weight:850;color:#0a6771}
.science-records{background:#073c48}.science-records .science-layer{margin:0}.science-records .button--ghost{border-color:#0a6771;color:#073c48}
@media(max-width:980px){.science-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.science-metric-grid article:last-child{grid-column:1/-1}.science-compare ol{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.science-hero{min-height:36rem}.science-split,.science-layer,.science-methods,.science-metric-grid,.science-compare ol{grid-template-columns:1fr}.science-metric-grid article:last-child{grid-column:auto}.science-visual ol{grid-template-columns:1fr}.science-layer__media img{min-height:16rem;max-height:22rem}}
/* Largest lakes collection */
.largest-hero{position:relative;display:grid;min-height:min(720px,78vh);color:#fff;background:#073c48;overflow:hidden}.largest-hero__media{position:absolute;inset:0}.largest-hero__media picture,.largest-hero__media img{display:block;width:100%;height:100%}.largest-hero__media img{object-fit:cover}.largest-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,32,38,.93),rgba(3,32,38,.55) 55%,rgba(3,32,38,.15))}
.largest-hero__copy{position:relative;z-index:1;align-self:end;padding:clamp(4rem,9vw,8rem) 0;max-width:70rem}.largest-hero__copy .breadcrumbs,.largest-hero__copy .breadcrumbs a{color:#fff}.largest-hero__copy .lede{max-width:48rem}
.largest-method,.largest-map{display:grid;grid-template-columns:minmax(14rem,.7fr) minmax(0,1.3fr);gap:clamp(2rem,6vw,6rem);align-items:start}.largest-ranking{list-style:none;display:grid;gap:1rem;padding:0}.largest-card{display:grid;grid-template-columns:3rem minmax(0,1fr) minmax(9rem,.65fr);gap:1rem;align-items:center;padding:1.25rem}.largest-card__rank{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:#073c48;color:#fff;font-weight:850}.largest-card__body h3{margin:0 0 .35rem}.largest-card__body p{margin:.2rem 0}.largest-bar{height:.8rem;background:#d9e7e4;border-radius:1rem;overflow:hidden}.largest-bar span{display:block;height:100%;background:linear-gradient(90deg,#0a6771,#9cce3b);border-radius:inherit}
.largest-map__visual{margin:0;overflow:hidden;border-radius:1rem}.largest-map__visual picture,.largest-map__visual img{display:block;width:100%}.largest-map__visual img{aspect-ratio:3/2;object-fit:cover}.largest-map__visual figcaption{padding:.65rem 1rem;background:var(--color-surface);font-size:.85rem}.largest-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}.largest-paths a{display:grid;overflow:hidden;border-radius:1rem;background:#fff;color:#073c48;text-decoration:none}.largest-paths picture,.largest-paths img{display:block;width:100%}.largest-paths img{aspect-ratio:3/2;object-fit:cover}.largest-paths span{padding:1rem;font-weight:800}
.largest-paths article{overflow:hidden}.largest-paths article .largest-card__body{padding:1.25rem}.largest-paths article .text-link{display:inline-block;margin-top:.75rem}
.largest-map__diagram{max-width:24rem;margin:0 auto 1.25rem}.largest-map__diagram svg{width:100%;height:auto}.largest-map__diagram > svg > path{opacity:.42}.largest-map__diagram a:focus-visible path{stroke:#fff;stroke-width:8}
@media(max-width:760px){.largest-method,.largest-map,.largest-paths{grid-template-columns:1fr}.largest-card{grid-template-columns:2.75rem minmax(0,1fr)}.largest-bar{grid-column:2}.largest-hero{min-height:34rem}}
@media(prefers-reduced-motion:reduce){.largest-bar span{transition:none}}
/* Survey-backed fishing lakes */
.fish-filter{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0 2rem}.fish-filter button{border:1px solid #0a6771;border-radius:999px;padding:.65rem 1rem;background:#fff;color:#073c48;font:inherit;font-weight:750;cursor:pointer}.fish-filter button:hover,.fish-filter button:focus-visible,.fish-filter button.is-active{background:#073c48;color:#fff}.fish-filter button:focus-visible{outline:3px solid #9cce3b;outline-offset:3px}
.fishing-lake-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.fishing-lake-card{padding:clamp(1.25rem,3vw,2rem);border-top:4px solid #0a6771}.fishing-lake-card h3{margin-top:0}.fishing-lake-card[hidden]{display:none}.best-fishing-panel-media{margin:-1.5rem -1.5rem 1.5rem;overflow:hidden;border-radius:1rem 1rem 0 0}.best-fishing-panel-media picture,.best-fishing-panel-media img{display:block;width:100%}.best-fishing-panel-media img{aspect-ratio:3/2;object-fit:cover}
@media(max-width:700px){.fishing-lake-grid{grid-template-columns:1fr}.fish-filter button{flex:1 1 9rem}}
/* Contact */
.contact-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.contact-category-grid .panel{border-top:4px solid #0a6771}.contact-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);gap:clamp(1.5rem,5vw,5rem);align-items:start}.contact-form-section{background:#eaf4f2}.contact-form{display:grid;gap:.7rem;padding:clamp(1.25rem,4vw,2.5rem)}.contact-form label{font-weight:800;margin-top:.35rem}.contact-form input,.contact-form select,.contact-form textarea{width:100%;max-width:100%;border:2px solid #9eb9b5;border-radius:.45rem;padding:.75rem;background:#fff;color:#082f37;font:inherit}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#0a6771;outline:3px solid #c6e56f;outline-offset:2px}.contact-form__pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-form__pair>div{display:grid;gap:.7rem}.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-privacy{font-size:.92rem}.contact-notice{margin:1rem 0;padding:1rem;border-left:5px solid #0a6771;background:#fff}.contact-notice--error{border-color:#a43c2f}.contact-aside{display:grid;gap:1rem}.contact-aside__media{overflow:hidden}.contact-aside__media picture,.contact-aside__media img{display:block;width:100%}.contact-aside__media img{aspect-ratio:3/2;object-fit:cover}.contact-aside ol{padding-left:1.25rem}.contact-aside li+li{margin-top:.65rem}
@media(max-width:980px){.contact-category-grid{grid-template-columns:1fr 1fr}.contact-layout{grid-template-columns:1fr}.contact-aside{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.contact-category-grid,.contact-form__pair,.contact-aside{grid-template-columns:1fr}}
/* Site search */
.search-hero{padding:clamp(2.5rem,6vw,5.5rem) 0;background:linear-gradient(135deg,#073c48,#0a6771);color:#fff}.search-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.72fr);gap:clamp(2rem,5vw,5rem);align-items:center}.search-hero .breadcrumbs,.search-hero .breadcrumbs a{color:#fff}.search-hero .editorial-visual{margin:0}.search-workspace{background:#f4f8f4}.site-search-form{display:grid;gap:1rem;padding:clamp(1.25rem,4vw,2.5rem);margin-bottom:2rem}.site-search-form>label,.site-search-form legend{font-weight:800}.site-search-form__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem}.site-search-form input[type=search]{min-width:0;width:100%;min-height:3.25rem;border:2px solid #789f99;border-radius:.5rem;padding:.7rem 1rem;font:inherit}.site-search-form input:focus{outline:3px solid #c6e56f;outline-offset:2px;border-color:#0a6771}.site-search-form fieldset{min-width:0;border:0;padding:0}.search-filter-list{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.7rem}.search-filter-list label{display:flex;align-items:center;gap:.4rem;border:1px solid #789f99;border-radius:999px;padding:.55rem .8rem;background:#fff;cursor:pointer}.search-filter-list label:has(input:checked){background:#073c48;color:#fff}.search-filter-list input{width:1.1rem;height:1.1rem}.search-start,.search-empty{padding:clamp(1.25rem,4vw,2.5rem);border-left:5px solid #9cce3b}.search-results-heading{margin:2.5rem 0 1.25rem}.search-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.search-result-card{overflow:hidden}.search-result-card__media,.search-result-card__media img{display:block;width:100%}.search-result-card__media img{aspect-ratio:3/2;object-fit:cover}.search-result-card__body,.search-result-card:not(:has(.search-result-card__body)){padding:1.25rem}.search-result-card__body{display:flex;flex-direction:column;height:100%;padding:1.25rem}.search-result-card__body .card-link{margin-top:auto}.search-pagination{margin-top:2rem}.search-pagination .page-numbers{display:inline-block;margin:.2rem;padding:.55rem .75rem;border-radius:.35rem;background:#fff}.search-pagination .current{background:#073c48;color:#fff}.search-path-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.search-path-grid a{padding:1rem;text-align:center;font-weight:800;text-decoration:none}.search-path-grid a:hover,.search-path-grid a:focus-visible{background:#073c48;color:#fff}
@media(max-width:900px){.search-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.search-hero__grid,.site-search-form__row,.search-result-grid,.search-path-grid{grid-template-columns:1fr}.search-hero .editorial-visual{order:-1}.site-search-form__row .button{width:100%}}
/* Northwest region destination */
.northwest-hero{position:relative;min-height:70vh;display:grid;align-items:end;overflow:hidden;background:#17392f;color:#fff}.northwest-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.northwest-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,28,23,.9),rgba(7,28,23,.2))}.northwest-hero__content{position:relative;z-index:1;padding-block:8rem 4rem;max-width:760px}.northwest-hero a{color:inherit}.northwest-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}.northwest-split img,.northwest-card-grid img{width:100%;height:auto;border-radius:1rem}.northwest-map-layout{display:grid;grid-template-columns:minmax(260px,.8fr) 1.5fr;gap:2rem}.northwest-map{margin:0;position:sticky;top:6rem}.northwest-map svg{width:100%;height:auto;background:#e8f2e8;border-radius:1rem}.northwest-map rect{fill:#d7b879}.northwest-map path:first-of-type{fill:none;stroke:#176e8c;stroke-width:12}.northwest-map path:last-of-type{fill:#577d58;stroke:#244d3a;stroke-width:4}.northwest-map circle{fill:#79bdd0}.northwest-county-list{columns:3;list-style:none;padding:0}.northwest-county-list li{break-inside:avoid;margin:0 0 .6rem}.northwest-county-list a{display:block;padding:.65rem .8rem;border-radius:.6rem;background:#f2f6ef}.northwest-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.northwest-card-grid article{background:#f2f6ef;border-radius:1rem;overflow:hidden;padding-bottom:1.5rem}.northwest-card-grid article>:not(img){margin-inline:1.5rem}.northwest-page figcaption,.northwest-page small{font-size:.86rem}
@media(max-width:800px){.northwest-split,.northwest-map-layout,.northwest-card-grid{grid-template-columns:1fr}.northwest-map{position:static}.northwest-county-list{columns:2}}@media(max-width:480px){.northwest-county-list{columns:1}}
.northeast-hero:after{background:linear-gradient(90deg,rgba(7,24,29,.92),rgba(7,24,29,.18))}.northeast-map .ne-land{fill:#58765a;stroke:#294b3c;stroke-width:4}.northeast-map .ne-superior{fill:#6da9bf;stroke:#225e78;stroke-width:3}.northeast-map .ne-river{fill:none;stroke:#83c9dd;stroke-width:11}.northeast-map circle{fill:#a5d2df;stroke:#225e78;stroke-width:2}
.metro-hero:after{background:linear-gradient(90deg,rgba(8,30,35,.92),rgba(8,30,35,.18))}.metro-map .ne-land{fill:#6f8b64;stroke:#294b3c;stroke-width:4}.metro-map .ne-river{fill:none;stroke:#3186a0;stroke-width:10}.metro-map circle{fill:#91c8d6;stroke:#225e78;stroke-width:2}
.low-map__frame {
	margin-top: 1rem;
	overflow: hidden;
	border-radius: var(--radius-md, 0.75rem);
}

.low-map__frame iframe {
	display: block;
	width: 100%;
	max-width: 100%;
	min-height: 22rem;
}

@media (prefers-reduced-motion: reduce) {
	.lake-destination--low *,
	.lake-destination--low *::before,
	.lake-destination--low *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
