/* The season is a readable sequence, with gold reserved for interaction. */
.season-section { padding: clamp(4rem,8vw,8rem) clamp(1.25rem,6vw,7rem); background: #211b29; color: var(--ivory); }
.season-heading { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 2rem; align-items: end; margin-bottom: 3rem; }
.season-heading h2 { font: 400 clamp(2.6rem,5vw,5.2rem)/1.06 var(--serif); margin: 1rem 0 1.5rem; letter-spacing: -.025em; }
.season-heading > div > p:last-child { font-size: 1.05rem; max-width: 43rem; color: #d6cbdc; }
.season-year { font: 400 clamp(3.4rem,9vw,9rem)/.9 var(--serif); color: #c7b1d3; margin: 0 0 .2rem; letter-spacing: -.06em; }
.season-tabs { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .5rem; border-top: 1px solid #837089; padding-top: 1rem; }
.season-tab { min-width: 0; padding: 1.2rem 1rem; display: flex; flex-direction: column; gap: .7rem; background: #302636; color: var(--ivory); border: 1px solid #6b5a75; transition: background .22s,color .22s,border-color .22s; }
.season-tab > span { font-size: .875rem; line-height: 1.5; letter-spacing: .055em; }
.season-tab > strong { font-size: 1rem; font-weight: 500; line-height: 1.4; }
.season-tab:is(:hover,:focus-visible,[aria-selected="true"]) { background: var(--gold); color: var(--black); border-color: var(--gold); }
.season-tab[aria-selected="true"] { box-shadow: inset 0 -3px var(--black); }
.season-tab:focus-visible, .section-jump-links a:focus-visible { outline: 2px solid var(--electric); outline-offset: 4px; }
.season-panel { display: grid; grid-template-columns: 1.05fr 1fr; margin-top: 1rem; background: linear-gradient(125deg,#35233e,#1c1d22); border: 1px solid #776280; }
.season-panel[hidden], .season-application-options[hidden], [data-chapter-choice][hidden], .pilot-preference[hidden] { display: none; }
.season-story, .season-details { padding: clamp(1.5rem,3.5vw,3.5rem); min-width: 0; }
.season-story h3 { font: 400 clamp(2.4rem,4vw,4.4rem)/1.06 var(--serif); margin: 2rem 0; letter-spacing: -.025em; max-width: 15ch; }
.season-story p:not(.kicker), .season-details p, .season-details dd, .digital-bridge p, .pilot-strip p { font-size: 1rem; line-height: 1.7; color: #ded4e2; }
.season-story .season-question { font: 400 clamp(1.35rem,2vw,1.8rem)/1.4 var(--serif); color: var(--ivory); max-width: 27ch; }
.season-status { display: block; font-size: .875rem; font-weight: 400; text-transform: none; letter-spacing: 0; line-height: 1.6; color: #d7cadf; margin-top: .7rem; }
.season-story .season-themes { color: #c9abd9; margin-top: 2rem; padding-top: 1.2rem; border-top: 1px solid #796681; }
.season-details { border-left: 1px solid #776280; }
.season-details .season-date { font: 400 clamp(1.8rem,3vw,2.8rem)/1.14 var(--serif); color: var(--ivory); margin: 0 0 .8rem; }
.season-details .season-duration { margin: 0 0 1.5rem; color: #c9abd9; }
.season-details dl { margin: 0; }
.season-details dl > div { margin: 0 0 1.4rem; }
.season-details dt { font-size: .875rem; color: var(--gold); margin-bottom: .3rem; }
.season-details dd { margin: 0; }
.season-details dd small { display: block; color: #c9bdce; font-size: .95rem; }
.season-details .season-note { font-size: .95rem; padding-top: 1.2rem; border-top: 1px solid #776280; }
.season-details .button { width: 100%; margin-top: 1rem; text-align: left; }
.digital-bridge { display: grid; grid-template-columns: .65fr 1.35fr; gap: 2rem; margin: 2rem 0; padding: 1.5rem 0; border-top: 1px dashed #ab8fbd; border-bottom: 1px dashed #ab8fbd; }
.digital-bridge h3 { font-size: 1.2rem; font-weight: 500; letter-spacing: .09em; margin: .6rem 0 0; }
.digital-bridge p { margin: 0; }
.digital-bridge .kicker, .pilot-strip .kicker { color: var(--gold); font-size: .875rem; }
.pilot-strip { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; padding: 2rem; background: #2c2830; }
.pilot-strip h3 { font: 400 2.3rem/1.1 var(--serif); margin: 1rem 0; }
.pilot-strip p { margin: 0 0 1rem; }
.calendar-caption { color: #c9bdce; font-size: .875rem; line-height: 1.75; margin: 1.5rem 0 0; max-width: 72rem; }
.calendar-caption a, .field-help a { color: #c9abd9; text-decoration: underline; text-underline-offset: .2em; }
.calendar-caption a:is(:hover,:focus-visible), .field-help a:is(:hover,:focus-visible) { color: var(--gold); }
.section-jump-links { display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; margin-top: 2rem; }
.section-jump-links a { color: #d3b7e2; display: inline-flex; align-items: center; min-height: 2.75rem; font-size: 1rem; border-bottom: 1px solid #a18aac; }
.section-jump-links a:is(:hover,:focus-visible) { color: var(--gold); border-color: var(--gold); }
.experience-jumps { background: #242129; margin: 0; padding: 1.2rem clamp(1.25rem,8vw,9rem); }
.page-shell .offer-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.page-shell .offer-grid .product-card { padding: 0; display: flex; flex-direction: column; min-width: 0; background: #27232c; border: 1px solid #73647c; }
.page-shell .offer-grid .championship-card { background: #34253f; }
.offer-grid .product-image { margin: 0; width: 100%; aspect-ratio: 1.5; height: auto; object-fit: cover; }
.offer-copy { padding: 1.5rem; display: flex; flex-direction: column; flex: 1; }
.page-shell .offer-copy .product-type { color: #cbb6d9; font-size: .875rem; letter-spacing: .025em; text-transform: none; }
.offer-copy h3 { font: 400 2.3rem/1.15 var(--serif); margin: 1rem 0; }
.page-shell .offer-copy > p, .offer-copy ul { color: #ded4e2; font-size: 1rem; line-height: 1.65; }
.offer-copy ul { padding-left: 1.15rem; margin: 0 0 2rem; }
.offer-copy li { margin: .6rem 0; }
.offer-copy .button { margin-top: auto; padding: 1rem; font-size: .95rem; text-transform: none; letter-spacing: 0; }
.offer-copy .button span { margin-left: .7rem; }
.offer-grid .product-card:nth-child(2) .button { --button-rest-bg: #3d3842; }
.offer-grid .product-card:nth-child(3) .button { --button-rest-bg: transparent; border-color: #b39bbb; }
.offer-footnote { color: #c9bdce; font-size: .875rem; line-height: 1.7; margin: 2rem 0 0; max-width: 70rem; }
.inclusion-stack { display: flex; flex-direction: column; gap: 1rem; }
.inclusion-stack article { padding: 1.5rem 2rem; background: #302739; border-left: 2px solid #a080b2; }
.inclusion-stack article:first-child { border-color: var(--gold); background: #342641; }
.inclusion-stack .kicker { color: var(--gold); font-size: .875rem; line-height: 1.6; }
.inclusion-stack p, .inclusion-stack ul { color: #ded4e2; font-size: 1rem; line-height: 1.7; }
.inclusion-stack ul { padding-left: 1.2rem; margin: 0; }
.inclusion-stack li { margin: .5rem 0; }
.season-inclusions .package-facts { margin: 2.5rem 0; }
.season-inclusions .package-facts dt { font-size: .875rem; letter-spacing: .025em; }
.method-core { padding: 3rem clamp(1.25rem,8vw,9rem); display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; background: #2b2034; color: var(--ivory); }
.method-core article { padding: 1.5rem; border-left: 1px solid #8b7497; }
.method-core article:first-child { padding-left: 0; border: 0; }
.method-core span { color: var(--gold); font-size: .875rem; }
.method-core h2 { font: 400 2rem/1.15 var(--serif); margin: 1rem 0; }
.method-core p { font-size: 1rem; line-height: 1.6; color: #ded4e2; }
.season-application-options { grid-column: 1/-1; border: 1px solid #9a7eaa; margin: .5rem 0; padding: 1.25rem; min-width: 0; }
.season-application-options legend { color: var(--ivory); font-size: 1rem; padding: 0 .4rem; }
.field-help { color: #d5c8dc; font-size: .95rem; line-height: 1.6; }
.access-choices { display: grid; gap: .6rem; }
.access-choices label { display: block; position: relative; cursor: pointer; }
.access-choices input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.page-shell .application-form .access-choices label > span { display: block; color: var(--ivory); background: #352a3e; border: 1px solid #a086ae; padding: .9rem 1rem; font-size: 1rem; text-transform: none; letter-spacing: 0; line-height: 1.5; }
.access-choices small { display: block; font-size: .875rem; }
.page-shell .application-form .access-choices label:hover > span,
.page-shell .application-form .access-choices input:is(:checked,:focus-visible) + span { background: var(--gold); border-color: var(--gold); color: var(--black); }
.access-choices input:checked + span::before { content: '✓ '; }
.access-choices input:focus-visible + span { outline: 2px solid var(--electric); outline-offset: 3px; }
.season-select-label { display: block; margin-top: 1.5rem; }
.page-shell .application-form .season-select-label span { font-size: 1rem; text-transform: none; letter-spacing: 0; }
.season-select-label select { width: 100%; min-width: 0; min-height: 3.2rem; padding: .6rem; margin-top: .6rem; color: var(--ivory); background: #302637; border: 1px solid #a086ae; font-size: 1rem; }
.season-select-label select:is(:hover,:focus-visible,[data-selected="true"]) { background: var(--gold); color: var(--black); border-color: var(--gold); }
.season-select-label select:focus-visible { outline: 2px solid var(--electric); outline-offset: 3px; }
.pilot-preference { grid-column: 1/-1; padding: 1.2rem; border-left: 2px solid var(--gold); font-size: 1rem; background: #33263c; color: var(--ivory); }
#season, #access, #inclusions, #application, .season-panel { scroll-margin-top: 8rem; }
@media (max-width: 1100px) {
 .season-tabs { display: flex; overflow-x: auto; padding-bottom: .65rem; }
 .season-tab { flex: 0 0 11.5rem; }
 .page-shell .offer-grid { grid-template-columns: 1fr; }
 .page-shell .offer-grid .product-card { display: grid; grid-template-columns: .8fr 1.2fr; }
 .offer-grid .product-image { height: 100%; min-height: 20rem; }
 .method-core { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .method-core article:nth-child(3) { border-left: 0; padding-left: 0; }
}
@media (max-width: 760px) {
 .season-heading { grid-template-columns: 1fr; }
 .season-year { grid-row: 1; font-size: 3.4rem; }
 .season-panel, .pilot-strip, .digital-bridge { grid-template-columns: 1fr; }
 .season-details { border-left: 0; border-top: 1px solid #776280; }
 .season-story h3 { max-width: 18ch; }
 .digital-bridge { gap: 1.2rem; }
 .pilot-strip { gap: 1rem; padding: 1.5rem; }
 .page-shell .offer-grid .product-card { display: flex; }
 .offer-grid .product-image { min-height: 0; height: auto; }
 .inclusion-stack article { padding: 1.4rem; }
}
@media (max-width: 480px) {
 .method-core { grid-template-columns: 1fr; }
 .method-core article { border-left: 0; border-top: 1px solid #8b7497; padding: 1.5rem 0; }
 .season-application-options { padding: 1rem; }
}
@media (prefers-reduced-motion: reduce) { .season-tab { transition: none; } }

.season-year, .season-story .season-themes, .season-details .season-duration,
.page-shell .offer-copy .product-type, .section-jump-links a,
.calendar-caption a, .field-help a { color: var(--electric); }
.section-jump-links a:is(:hover,:focus-visible),
.calendar-caption a:is(:hover,:focus-visible), .field-help a:is(:hover,:focus-visible) { color: var(--gold); }
body.page-shell .inclusion-stack .kicker,
body.page-shell .digital-bridge .kicker,
body.page-shell .pilot-strip .kicker { color: var(--electric); }
.season-heading > *, .digital-bridge > *, .pilot-strip > *, .inclusion-stack > * { min-width: 0; }
@media (max-width: 480px) {
 .season-section { padding-inline: 20px; }
 .season-story, .season-details, .pilot-strip, .inclusion-stack article, .offer-copy { padding-inline: 20px; }
}
