/* ═══════════════ Season: garage sessions, series rounds (on top of broadcast.css) ═══════════════ */

/* home: four section cards in a 2×2 grid */
.ss-sections .bc-trackcard { min-height: clamp(320px, 34vw, 480px); }
.ss-card--sports .bc-trackcard__title span { color: #3fd6d0; }
.ss-card--studio .bc-trackcard__title span { color: #fff; }
.ss-card--travel .bc-trackcard__title span { color: #ff7a2f; }
/* an odd card out (5 sections) spans the full row */
.ss-sections .bc-trackcard:last-child:nth-child(odd) { grid-column: 1 / -1; }
.ss-card--garage .bc-trackcard__title span { color: var(--hi); }

/* garage cards: an extra line for sessions/owner */
.ss-car__line { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font: 500 11px/1.3 var(--mono); color: var(--muted); text-transform: uppercase; letter-spacing: 0.04em; }

/* album page: "part of" bar with session/round pills */
.ss-groupnav { display: flex; flex-wrap: wrap; align-items: stretch; gap: 8px; margin-bottom: 12px; }
.ss-groupnav__parent { display: flex; flex-direction: column; justify-content: center; gap: 4px; padding: 10px 20px 10px 14px; background: #fff; color: #0a0b0f; font: italic 800 20px/1 var(--display); text-transform: uppercase; clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 100%, 0 100%); }
.ss-groupnav__parent span { font: 500 10px/1 var(--mono); font-style: normal; letter-spacing: 0.12em; color: #6b6f7c; }
.ss-groupnav__parent svg { display: none; }
.ss-groupnav__parent:hover { background: var(--hi); }
.ss-pills { display: flex; flex-wrap: wrap; gap: 4px; align-items: stretch; }
.ss-pill { display: flex; flex-direction: column; justify-content: center; gap: 4px; padding: 8px 14px; background: var(--bg-2); font: italic 800 15px/1 var(--display); text-transform: uppercase; letter-spacing: 0.04em; transition: background 0.2s; }
.ss-pill span { font: 500 10px/1 var(--mono); font-style: normal; color: var(--muted); letter-spacing: 0.06em; }
.ss-pill:hover { background: var(--bg-3); }
.ss-pill.is-current { background: var(--cat); color: var(--cat-ink); }
.ss-pill.is-current span { color: inherit; opacity: 0.75; }

/* machine page: sessions */
.ss-sessions { display: flex; flex-direction: column; gap: 12px; }
.ss-session { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.3fr); gap: 0; background: var(--bg-2); transition: background 0.2s; overflow: hidden; }
.ss-session:hover { background: var(--bg-3); }
.ss-session__cover { position: relative; aspect-ratio: 4 / 5; max-height: 560px; overflow: hidden; }
.ss-session__cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.ss-session:hover .ss-session__cover img { transform: scale(1.04); }
.ss-session__body { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: clamp(18px, 3vw, 36px); }
.ss-session__body b { font: italic 800 clamp(2rem, 4vw, 3.4rem)/0.95 var(--display); text-transform: uppercase; }
.ss-session__meta { font: 500 12px/1.4 var(--mono); color: var(--muted); text-transform: uppercase; letter-spacing: 0.06em; }
.ss-session__strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; width: 100%; margin-top: auto; }
.ss-session__strip img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
@media (max-width: 760px) { .ss-session { grid-template-columns: 1fr; } .ss-session__cover { aspect-ratio: 16 / 11; } }

/* series & sports: a header card per series, then its rounds */
.ss-series { scroll-margin-top: calc(var(--top-h) + 20px); }
.ss-series__head { display: grid; grid-template-columns: minmax(0, 0.55fr) minmax(0, 1fr); gap: 0; margin-bottom: 0; background: var(--bg-2); }
.ss-series__cover { position: relative; min-height: 240px; overflow: hidden; }
.ss-series__cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ss-series__text { display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; gap: 10px; padding: clamp(18px, 3vw, 36px); }
.ss-series__text h2 { margin: 0; font: italic 800 clamp(2.2rem, 5vw, 4.4rem)/0.9 var(--display); text-transform: uppercase; }
@media (max-width: 760px) { .ss-series__head { grid-template-columns: 1fr; } .ss-series__cover { min-height: 200px; } }

/* section cards with 2-3 vertical photos side by side */
.ss-card__multi { position: absolute; inset: 0; z-index: -2; display: grid; grid-template-columns: repeat(var(--n), 1fr); gap: 3px; }
.ss-card__cell { position: relative; overflow: hidden; min-width: 0; }
.bc-trackcard .ss-card__multi img { position: static; width: 100%; height: 100%; object-fit: cover; min-width: 0; transition: filter 0.6s; filter: brightness(0.75) saturate(0.9); }
.bc-trackcard:hover .ss-card__multi img { filter: brightness(0.95) saturate(1.05); }

/* a tile page with a single album (e.g. Travel with one trip): full-width wide tile instead of a collapsed 2×2 */
.bc-tiles .bc-tile:only-child { grid-column: 1 / -1; grid-row: auto; aspect-ratio: 16 / 9; }
@media (max-width: 560px) { .bc-tiles .bc-tile:only-child { aspect-ratio: 4 / 5; } }

/* ═══════════════ Services, pricing (sv-) ═══════════════ */
.sv-hero .bc-lower__name { font-size: clamp(2rem, 4.4vw, 4.2rem); max-width: 24ch; padding-right: 40px; }
.sv-head h1 { font-size: clamp(2.8rem, 8vw, 7rem); max-width: 16ch; }
.sv-lead__text { max-width: 62ch; margin: 0; font: 500 clamp(1.15rem, 1.9vw, 1.45rem)/1.55 var(--sans); color: #e7e9ee; border-left: 4px solid var(--accent); padding-left: 20px; }
.sv-lead__ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.sv-prices { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; }
.sv-price { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; background: var(--bg-2); border-top: 3px solid var(--accent); }
.sv-price__name { font: 600 12px/1.3 var(--mono); text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); }
.sv-price b { font: italic 800 clamp(2rem, 3.4vw, 2.8rem)/1 var(--display); text-transform: uppercase; }
.sv-price__note { color: #c9ccd4; font-size: 0.95rem; }
.sv-items { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 10px; }
.sv-item { padding: 22px; background: var(--bg-2); border-left: 4px solid var(--line-strong); }
.sv-item h3 { margin: 0 0 8px; font: italic 800 1.6rem/1 var(--display); text-transform: uppercase; }
.sv-item p { margin: 0; color: #c9ccd4; line-height: 1.55; }
.sv-tiles .bc-tile:first-child { grid-column: auto; grid-row: auto; }
.sv-faq__list { display: grid; gap: 10px; max-width: 980px; }
.sv-faq__item { padding: 20px 22px; background: var(--bg-2); }
.sv-faq__item h3 { margin: 0 0 8px; font: 700 1.15rem/1.3 var(--sans); }
.sv-faq__item p { margin: 0; color: #c9ccd4; line-height: 1.6; max-width: 75ch; }
.sv-cards { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.sv-cards .bc-trackcard { min-height: clamp(300px, 30vw, 420px); }
.sv-cards .bc-trackcard__title { font-size: clamp(2.6rem, 4.6vw, 4.4rem); }
.sv-cards .bc-trackcard__count { color: #fff; }
.sv-card--plain { background: repeating-linear-gradient(-55deg, rgba(255, 255, 255, 0.03) 0 20px, transparent 20px 40px), linear-gradient(120deg, #1a1d27, #0b0c10); }
.sv-ptables { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 12px; }
.sv-ptable { background: var(--bg-2); padding: 20px 22px 8px; border-top: 3px solid var(--accent); }
.sv-ptable__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.sv-ptable h2 { margin: 0; font: italic 800 2rem/1 var(--display); text-transform: uppercase; }
.sv-ptable table { width: 100%; border-collapse: collapse; }
.sv-ptable th, .sv-ptable td { padding: 12px 0; border-top: 1px solid var(--line); text-align: left; vertical-align: top; }
.sv-ptable th { font: 600 1rem/1.3 var(--sans); }
.sv-ptable th small { display: block; margin-top: 3px; color: var(--muted); font-weight: 400; font-size: 0.88rem; }
.sv-ptable td { text-align: right; white-space: nowrap; font: italic 800 1.45rem/1.1 var(--display); text-transform: uppercase; color: var(--hi); padding-left: 12px; }
.design-season .bc-footer__nav { row-gap: 12px; }
.design-season .bc-footer__nav a { padding: 4px 0; }
.sv-footer-svcs { padding-top: 14px; font-size: 15px; }
.sv-footer-svcs a { color: var(--muted); }
@media (max-width: 600px) {
  .sv-lead__text { padding-left: 14px; }
  .sv-cards { grid-template-columns: 1fr; }
}
