/**
 * Matched to the current camponestep.org season-page camp sections
 * (captured 2026-09-18):
 *   layout  photo left (~40%), content right
 *   title   BogueRegular 40px, #2a2a2a, capitalize, colorful icon beside it
 *   body    Poppins 16px #414148, bold When/Where/Who labels
 *   message Poppins 20px #414148
 *   buttons Poppins 16px/600, #f9f9f9 on #2D421B, 16x32 padding, 12px radius
 *
 * Final Beaver Builder polish (exact spacing, carousel) is the Cowork step.
 */

:root {
	--cos-green-dark: #2d421b; /* Gratitude Dark */
	--cos-green-lime: #c4ce00; /* Gratitude Green */
	--cos-ink: #414148;
	--cos-title: #2a2a2a;
	--cos-paper: #f9f9f9;
}

.cos-variant[hidden] { display: none !important; }

/* Section: full-width hero, contained blocks below, with breathing room */
.cos-camp__contact-inline { margin-top: 1.5rem; }
/* Live rows use 64px top/bottom padding. */
.cos-camp { margin: 0; padding: clamp(2.5rem, 5vw, 4rem) 0; font-family: "Poppins", sans-serif; color: var(--cos-ink); }
/* Hero is full-width: a portrait photo card bleeds to the left page edge
   (inner corners rounded); the description fills the rest on the right. */
/* Live: two equal columns, 56px apart, ~64px right padding (652 + 56 + 652 at 1440). */
/* Top-aligned (Chris 2026-09-25): a short photo beside a long description looked
   awkward floating in the middle (Digital Camper & Sibling Camp). */
.cos-camp__hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: start; padding-right: 64px; }
.cos-camp__media { min-width: 0; }
/* Show each feature image at its own aspect ratio so nothing is ever cropped
   (live sizes these per camp; the source images are pre-cropped). */
.cos-camp__photo {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0 24px 24px 0;
}
.cos-camp__body { min-width: 0; }
/* No feature photo: keep the content out of the page edge, in the normal container. */
.cos-camp--no-photo .cos-camp__hero { display: block; max-width: 1440px; margin: 0 auto; padding: 0 24px; }
/* Everything below the hero: centered max-width container, with spacing above
   and between each subsection. */
/* Block spacing matched to live (fixed px, nearly the same on phone):
   description -> sign-up 168, sign-up -> leaders card 279 (216 phone),
   leaders -> gallery 168 (148 phone). */
.cos-camp__contained { max-width: 1440px; margin: 168px auto 0; padding: 0 24px; }
.cos-camp__contained > * + * { margin-top: 168px; }
.cos-camp__contained > * + .cos-camp__leaders { margin-top: 279px; }

.cos-camp__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 0 24px; }
.cos-camp__title {
	margin: 0;
	font-family: "BogueRegular", Georgia, serif;
	font-weight: 400;
	font-size: clamp(34px, 3.6vw, 48px);
	line-height: 1.1;
	letter-spacing: -0.3px;
	text-transform: capitalize;
	color: var(--cos-green-dark);
}
.cos-camp__icon { flex: 0 0 auto; }
/* Live icon boxes: 120 wide, or 100x188 for the tall Family icon. */
.cos-camp__icon img { display: block; width: auto; height: auto; max-width: 120px; max-height: 190px; }

/* When / Where / Who — large, bold, all green, matching live */
.cos-details { list-style: none; margin: 0 0 48px; padding: 0; font-size: 24px; line-height: 1.33; color: var(--cos-green-dark); font-weight: 600; }
.cos-details__item { margin: 0; }
.cos-details__label { font-weight: 700; }

.cos-camp__content { font-size: 20px; line-height: 1.5; }
.cos-camp__content > :last-child { margin-bottom: 0; }
.cos-camp__extra { font-size: 18px; line-height: 1.6; }
.cos-camp__extra { margin: .75rem 0; }

/* Sign-up + contact: full-width 2-column with a center divider */
.cos-camp__signup-row { margin: 2.25rem 0 0; }
.cos-camp__signup-row--split { display: flex; align-items: center; gap: 3rem; }
.cos-camp__signup-row--split .cos-camp__signup-col,
.cos-camp__signup-row--split .cos-camp__contact-col { flex: 1 1 0; min-width: 0; }
.cos-camp__signup-row--split .cos-camp__contact-col { border-left: 1px solid #2a2a2a; padding-left: 3rem; }
.cos-camp__signup .cos-signup { margin: 0; }
.cos-camp__contact { margin: 0; font-size: 20px; line-height: 1.5; color: var(--cos-green-dark); }
.cos-camp__contact a { color: inherit; }

/* Sponsors (below the camp description) */
.cos-camp__sponsors { margin: 1.75rem 0 0; }
.cos-camp__sponsors-label { font-weight: 600; margin: 0 0 .75rem; }
.cos-camp__sponsors-logos { display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: center; }
/* Live sizes: CIBC 150x143, Dunkin' Joy 300x180 */
.cos-camp__sponsor { display: block; width: auto; height: auto; max-width: min(300px, 100%); max-height: 180px; }

/* Meet Your Leaders, matched to live's leaders slider: green card (square right edge),
   4:5 photo card on the right that overhangs the card top and bottom, name over the
   photo, fade between leaders. Arrows sit half outside the card edges. */
/* 32px top/bottom leaves room for the photo's overhang (margin -32px). */
.cos-leaders { position: relative; max-width: 1400px; margin: 32px auto; color: #fff; font-family: "Poppins", sans-serif; }
/* Custom fader: every slide sits in the same grid cell; cos-camps.js toggles
   .is-active. Pure CSS layout, so nothing goes stale on resize/rotation, and every
   card is as tall as the tallest bio (no blank band above the gallery). */
.cos-leaders__track { display: grid; }
.cos-leaders__slide { grid-area: 1 / 1; display: flex; min-width: 0; opacity: 0; visibility: hidden; transition: opacity .6s ease, visibility 0s linear .6s; }
.cos-leaders__slide.is-active { opacity: 1; visibility: visible; transition: opacity .6s ease, visibility 0s; }
@media (prefers-reduced-motion: reduce) { .cos-leaders__slide, .cos-leaders__slide.is-active { transition: none; } }
.cos-leaders__card { flex: 1 1 auto; width: 100%; display: flex; min-height: 400px; background: var(--cos-green-dark); border-radius: 20px 0 0 20px; }
.cos-leaders__text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: 50px 60px; }
.cos-leaders__heading { margin: 0 0 30px; font-family: "BogueRegular", Georgia, serif; font-weight: 700; font-size: 48px; line-height: 1.2; color: #fff; }
.cos-leaders__bio { margin: 0 0 30px; font-size: 18px; line-height: 1.6; color: #fff; }
.cos-leaders__bio p { margin: 0 0 15px; }
.cos-leaders__bio p:last-child { margin-bottom: 0; }
.cos-leaders__link { display: inline-block; align-self: flex-start; font-size: 18px; color: #fff; text-decoration: underline; }
.cos-leaders__link:hover, .cos-leaders__link:focus { color: #fff; opacity: .8; }
.cos-leaders__media { position: relative; z-index: 1; flex: 0 0 480px; aspect-ratio: 4 / 5; align-self: center; margin: -32px 0; overflow: hidden; border-radius: 20px; background: linear-gradient(180deg, #4dd0e1 0%, #00bcd4 100%); }
.cos-leaders__photo { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.cos-leaders__caption { position: absolute; left: 40px; bottom: 40px; right: 20px; color: #fff; text-shadow: 2px 2px 4px rgba(0, 0, 0, .3); }
.cos-leaders__name { display: block; margin-bottom: 5px; font-size: 36px; font-weight: 700; line-height: 1.2; }
.cos-leaders__role { display: block; font-size: 20px; font-weight: 400; line-height: 1.3; }
/* Arrows: lime circles centered on the card's left edge and the photo's right edge. */
.cos-leaders__nav { position: absolute; top: 50%; z-index: 5; width: 50px; height: 50px; padding: 0; border: 0; border-radius: 50%; background: var(--cos-green-lime); cursor: pointer; }
.cos-leaders__prev { left: 0; transform: translate(-50%, -50%); }
.cos-leaders__next { right: 0; transform: translate(50%, -50%); }
.cos-leaders__nav::after { content: ""; position: absolute; top: 50%; left: 50%; width: 11px; height: 11px; border-top: 3px solid #fff; border-right: 3px solid #fff; }
.cos-leaders__prev::after { transform: translate(-30%, -50%) rotate(-135deg); }
.cos-leaders__next::after { transform: translate(-70%, -50%) rotate(45deg); }
.cos-leaders__nav:focus-visible { outline: 3px solid var(--cos-green-dark); outline-offset: 2px; }

@media (max-width: 1024px) {
	.cos-leaders__card { min-height: 350px; }
	.cos-leaders__text { padding: 40px; }
	.cos-leaders__heading { font-size: 38px; }
	.cos-leaders__bio { font-size: 16px; }
	.cos-leaders__media { flex-basis: 400px; }
	.cos-leaders__caption { left: 30px; bottom: 30px; }
	.cos-leaders__name { font-size: 30px; }
	.cos-leaders__role { font-size: 18px; }
}
/* Phone/tablet portrait: photo on top, text below; arrows on the photo's edges. */
@media (max-width: 768px) {
	.cos-leaders { margin: 0 auto; }
	.cos-leaders__card { flex-direction: column; min-height: 0; border-radius: 20px; overflow: hidden; }
	.cos-leaders__media { order: 1; flex: 0 0 auto; width: 100%; min-height: 350px; margin: 0; border-radius: 20px 20px 0 0; }
	.cos-leaders__text { order: 2; justify-content: flex-start; padding: 30px 25px; }
	.cos-leaders__heading { font-size: 28px; margin-bottom: 20px; }
	.cos-leaders__bio { font-size: 15px; margin-bottom: 20px; }
	.cos-leaders__link { font-size: 16px; }
	.cos-leaders__caption { left: 20px; bottom: 20px; }
	.cos-leaders__name { font-size: 26px; }
	.cos-leaders__role { font-size: 16px; }
	.cos-leaders__nav { top: 175px; }
}
@media (max-width: 480px) {
	.cos-leaders__text { padding: 25px 20px; }
	.cos-leaders__heading { font-size: 24px; margin-bottom: 15px; }
	.cos-leaders__bio { font-size: 14px; }
	.cos-leaders__media { min-height: 300px; }
	.cos-leaders__name { font-size: 22px; }
	.cos-leaders__role { font-size: 14px; }
	.cos-leaders__nav { top: 150px; width: 44px; height: 44px; }
}

/* Gallery carousel, matched to live: 4 portrait (4:5) photos across, 20px apart,
   30px corners, dots below, no arrows. */
.cos-gallery { margin: 0; }
.cos-gallery.swiper { padding-bottom: 48px; } /* room for the dots */
.cos-gallery .swiper-slide { height: auto; }
.cos-gallery-img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 30px; }
.cos-gallery .swiper-pagination { bottom: 8px; }
.cos-gallery .swiper-pagination-bullet { width: 12px; height: 12px; margin: 0 4px; background: #c9ccc4; opacity: 1; }
.cos-gallery .swiper-pagination-bullet-active { background: var(--cos-green-dark); }

/* Sign-up area */
.cos-signup { margin: 1.25rem 0 0; }
.cos-signup__message { font-size: 20px; line-height: 1.5; font-weight: 400; color: var(--cos-green-dark); margin: 0 0 .85rem; }
.cos-signup__buttons { display: flex; flex-wrap: wrap; gap: .75rem; }

.cos-btn {
	display: inline-block;
	font-family: "Poppins", sans-serif;
	font-weight: 600;
	font-size: 16px;
	line-height: 1;
	color: var(--cos-paper);
	background: var(--cos-green-dark);
	padding: 16px 32px;
	border: 0;
	border-radius: 12px;
	text-transform: capitalize;
	text-decoration: none;
	transition: background-color .15s ease;
}
.cos-btn:hover,
.cos-btn:focus { background: #21360f; color: var(--cos-paper); }

/* Gallery lightbox (click a gallery photo): dark backdrop, photo fitted to the screen,
   caption under it, lime arrow buttons like the leaders slider. */
.cos-gallery-link { display: block; cursor: zoom-in; }
.cos-gallery-link:focus-visible { outline: 3px solid var(--cos-green-lime); outline-offset: 2px; border-radius: 30px; }
html.cos-lightbox-open { overflow: hidden; }
.cos-lightbox { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, .9); }
.cos-lightbox[hidden] { display: none; }
.cos-lightbox__figure { margin: 0; max-width: 90vw; text-align: center; }
.cos-lightbox__img { display: block; max-width: 90vw; max-height: 82vh; width: auto; height: auto; margin: 0 auto; border-radius: 12px; }
.cos-lightbox__caption { margin-top: 12px; font-family: "Poppins", sans-serif; font-size: 15px; color: #f1f1f1; }
.cos-lightbox__count { position: absolute; top: 18px; left: 24px; margin: 0; font-family: "Poppins", sans-serif; font-size: 14px; color: #ccc; }
.cos-lightbox__btn { position: absolute; border: 0; cursor: pointer; }
.cos-lightbox__close { top: 12px; right: 16px; width: 44px; height: 44px; padding: 0; background: transparent; font-size: 40px; line-height: 44px; color: #fff; }
.cos-lightbox__prev,
.cos-lightbox__next { top: 50%; width: 50px; height: 50px; padding: 0; border-radius: 50%; background: var(--cos-green-lime); transform: translateY(-50%); }
.cos-lightbox__prev { left: 16px; }
.cos-lightbox__next { right: 16px; }
.cos-lightbox__prev::after,
.cos-lightbox__next::after { content: ""; position: absolute; top: 50%; left: 50%; width: 11px; height: 11px; border-top: 3px solid #fff; border-right: 3px solid #fff; }
.cos-lightbox__prev::after { transform: translate(-30%, -50%) rotate(-135deg); }
.cos-lightbox__next::after { transform: translate(-70%, -50%) rotate(45deg); }
.cos-lightbox__btn:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
@media (max-width: 600px) {
	.cos-lightbox__prev, .cos-lightbox__next { top: auto; bottom: 20px; transform: none; }
}

/* [cos_camp_signup layout="feature"]: Be a Hero's big centered call to action,
   matched to live (48px Poppins 600 heading, 48px gap, 20px button with 24px padding). */
.cos-signup--feature { margin: 0; text-align: center; }
.cos-signup--feature .cos-signup__message { margin: 0 0 48px; font-family: "Poppins", sans-serif; font-size: clamp(30px, 4vw, 48px); font-weight: 600; line-height: 1.1; color: var(--cos-green-dark); }
.cos-signup--feature .cos-signup__buttons { justify-content: center; }
.cos-signup--feature .cos-btn { padding: 24px; font-size: 20px; font-weight: 500; line-height: 18px; text-transform: none; border-radius: 16px; }

/* Camp options / tracks (Sibling, Summer), matched to live: centered 48px serif heading,
   rows 32px apart, right-aligned 32px serif title (1fr) | description (3fr), 96px gap. */
.cos-camp__contained > .cos-camp__options:first-child { margin-top: -120px; } /* live: 48px under the hero */
.cos-options { padding: 16px 72px 0; }
.cos-options__heading { margin: 0 0 48px; font-family: "BogueRegular", Georgia, serif; font-weight: 400; font-size: 48px; line-height: 1.1; text-align: center; color: var(--cos-green-dark); }
.cos-options__list { display: flex; flex-direction: column; gap: 32px; }
.cos-options__item { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); column-gap: 96px; }
.cos-options__title { font-family: "BogueRegular", Georgia, serif; font-size: 32px; line-height: 1.1; text-align: right; color: var(--cos-green-dark); }
.cos-options__subtitle { display: block; margin-top: 2px; font-size: 16px; }
.cos-options__body { font-size: 16px; line-height: 1.5; color: var(--cos-ink); }
.cos-options__body > :first-child { margin-top: 0; }
.cos-options__body p { margin: 0 0 .75em; }
.cos-options__body > :last-child { margin-bottom: 0; }
.cos-options__button { margin-top: 16px; }
/* A linked camp's live sign-up state inside an option (e.g. Seabees). */
.cos-signup--compact { margin: 16px 0 0; }
.cos-signup--compact .cos-signup__message { margin: 0 0 12px; font-size: 16px; font-weight: 600; }
@media (max-width: 767px) {
	.cos-camp__contained > .cos-camp__options:first-child { margin-top: 0; }
	.cos-options { padding: 0; }
	.cos-options__heading { font-size: 34px; margin-bottom: 32px; }
	.cos-options__item { grid-template-columns: minmax(0, 1fr); row-gap: 8px; }
	.cos-options__title { text-align: left; font-size: 28px; }
	.cos-options__body .cos-signup__buttons { justify-content: flex-start; }
}

/* Small print under When / Where / Who (e.g. Winter's volunteer arrival note). */
.cos-details__note { margin-top: 4px; font-size: 14px; font-weight: 400; line-height: 1.4; }
.cos-camp__contact p { margin: 0; }

/* Homepage "Upcoming Camps & Experiences": photo tiles, matched to live
   (459x573 tiles at 1440, 24px radius, black fade over the bottom 40%). */
.cos-upcoming { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.cos-card { position: relative; aspect-ratio: 459 / 573; border-radius: 24px; overflow: hidden; background: var(--cos-green-dark); }
.cos-card__link { position: absolute; inset: 0; display: flex; align-items: flex-end; color: #fff; text-decoration: none; }
.cos-card__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 0%; }
.cos-card__link::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, #000 0%, rgba(0, 0, 0, 0) 40%); }
.cos-card__body { position: relative; z-index: 1; display: block; padding: 0 32px 35px; }
.cos-card__title {
	display: block;
	font-family: "Poppins", sans-serif;
	font-weight: 600;
	font-size: clamp(24px, 2.2vw, 32px);
	line-height: 1.1;
	text-transform: uppercase;
	color: var(--cos-paper);
}
/* When/Where/Who slide in on hover, like live (.testimonial-hover-card: max-height 0 -> 500,
   opacity 0 -> 1; Poppins 16/24 bold white). Keyboard focus reveals it too. */
.cos-card__details { display: block; max-height: 0; overflow: hidden; opacity: 0; transition: max-height 1s, opacity .6s; font-family: "Poppins", sans-serif; font-size: 16px; font-weight: 700; line-height: 24px; color: #fff; }
.cos-card__details-inner { display: block; padding-top: 10px; }
.cos-card__link:hover .cos-card__details,
.cos-card__link:focus-visible .cos-card__details { max-height: 500px; opacity: 1; }
@media (prefers-reduced-motion: reduce) { .cos-card__details { transition: none; } }
.cos-card__note { display: block; margin-top: 10px; font-size: 14px; line-height: 20px; font-weight: 400; font-style: italic; }
.cos-card__cta { display: block; margin-top: 26px; font-family: "Poppins", sans-serif; font-size: 16px; font-weight: 400; color: #fff; text-decoration: underline; }
.cos-card__link:hover .cos-card__cta,
.cos-card__link:focus .cos-card__cta { text-decoration-thickness: 2px; }
.cos-card__link:focus-visible { outline: 3px solid var(--cos-green-lime); outline-offset: -3px; border-radius: 24px; }

@media (max-width: 1024px) {
	.cos-upcoming { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
}

/* Stack on tablet/phone */
/* Tablet + phone (live's BB medium breakpoint, 992): stacked, photo inset 24px with
   all corners rounded, icon over the photo's top-right corner, everything centered. */
@media (max-width: 992px) {
	.cos-camp__hero { position: relative; grid-template-columns: minmax(0, 1fr); gap: 56px; padding: 0 24px; }
	.cos-camp__photo { border-radius: 24px; }
	.cos-camp__body { padding: 0; text-align: center; }
	.cos-camp__header { justify-content: center; margin-bottom: 24px; }
	.cos-camp:not(.cos-camp--no-photo) .cos-camp__icon { position: absolute; top: 18px; right: 24px; }
	.cos-camp__title { font-size: 40px; line-height: 1.1; }
	.cos-details { font-size: 20px; margin-bottom: 44px; }
	.cos-camp__sponsors-logos { justify-content: center; }
	.cos-camp__signup-row { text-align: center; }
	.cos-signup__buttons { justify-content: center; }
}
/* Phone: sign-up and contact stack. */
@media (max-width: 767px) {
	.cos-camp__header { margin-bottom: 40px; }
	/* Tighter than live on phones (Chris 2026-09-25): live's 168-216px gaps left a
	   quarter-screen of blank space between blocks. */
	.cos-camp { padding: 40px 0; }
	.cos-camp__contained { margin-top: 56px; }
	.cos-camp__contained > * + * { margin-top: 56px; }
	.cos-camp__contained > * + .cos-camp__leaders { margin-top: 72px; }
	.cos-camp__contained > * + .cos-camp__gallery { margin-top: 56px; }
	.cos-gallery.swiper { padding-bottom: 40px; }
	.cos-camp__signup-row--split { flex-direction: column; align-items: stretch; gap: 1.5rem; }
	.cos-camp__signup-row--split .cos-camp__contact-col { border-left: 0; border-top: 1px solid #2a2a2a; padding-left: 0; padding-top: 1.5rem; }
}
@media (max-width: 600px) {
	.cos-upcoming { grid-template-columns: 1fr; gap: 24px; }
	.cos-card__body { padding: 0 24px 28px; }
	.cos-signup__buttons { flex-direction: column; }
	.cos-btn { text-align: center; }
}

/* Season jump links ([cos_season_nav]): matched to the hand-built green bars on
   the season pages (2026-10-07): equal boxes 10px apart inside 24px page gutters,
   2px dividers, BogueRegular 32px; two per row at tablet (an odd last link spans
   the row), one per row at phone with 22px labels. */
.cos-season-nav { background: var(--cos-green-dark); color: var(--cos-paper); padding: 0 24px; }
.cos-season-nav__grid { display: grid; grid-template-columns: repeat(var(--cos-nav-count, 5), minmax(0, 1fr)); gap: 10px; }
.cos-season-nav__link {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 134px;
	padding: 16px 24px;
	border-right: 2px solid var(--cos-paper);
	color: var(--cos-paper);
	text-decoration: none;
	text-align: center;
}
.cos-season-nav__link:last-child { border-right: 0; }
.cos-season-nav__label {
	font-family: "BogueRegular", Georgia, serif;
	font-weight: 500;
	font-size: 32px;
	line-height: 1.1;
	letter-spacing: -0.3px;
	text-transform: capitalize;
}
.cos-season-nav__link:hover,
.cos-season-nav__link:focus { color: var(--cos-paper); }
.cos-season-nav__link:hover .cos-season-nav__label { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 2px; }
.cos-season-nav__link:focus-visible { outline: 2px solid var(--cos-green-lime); outline-offset: -6px; }
@media (max-width: 992px) {
	.cos-season-nav { padding: 0; }
	.cos-season-nav__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; }
	.cos-season-nav__link { min-height: 0; padding: 32px 24px; border-right: 0; border-bottom: 2px solid var(--cos-paper); }
	.cos-season-nav__link:nth-child(odd) { border-right: 2px solid var(--cos-paper); }
	.cos-season-nav__link:last-child { border-bottom: 0; }
	.cos-season-nav__link:last-child:nth-child(odd) { grid-column: 1 / -1; border-right: 0; }
	.cos-season-nav__link:nth-last-child(2):nth-child(odd) { border-bottom: 0; }
}
@media (max-width: 767px) {
	.cos-season-nav__grid { grid-template-columns: minmax(0, 1fr); }
	/* Live's phone labels sit 16px above center (heading margin): 32px top, 48px bottom. */
	.cos-season-nav__link,
	.cos-season-nav__link:nth-child(odd) { padding-bottom: 48px; border-right: 0; border-bottom: 2px solid var(--cos-paper); }
	.cos-season-nav__link:last-child,
	.cos-season-nav__link:last-child:nth-child(odd) { border-bottom: 0; grid-column: auto; }
	.cos-season-nav__link:nth-last-child(2):nth-child(odd) { border-bottom: 2px solid var(--cos-paper); }
	.cos-season-nav__label { font-size: 22px; }
}
/* Year Round's bar is tighter below desktop (16px boxes, no label offset). */
@media (max-width: 992px) {
	.cos-season-nav--compact .cos-season-nav__link,
	.cos-season-nav--compact .cos-season-nav__link:nth-child(odd) { padding-top: 16px; padding-bottom: 16px; }
}

/* Older #link names kept on a camp (old_anchors) take no space. */
.cos-camp__old-anchor { display: block; height: 0; }
