:root {
	--color-primary: #00B4AA;
	--color-header-bg: #D6F1EF;
	--color-nav-bg: #007E78;
	--color-background: #FFFFFF;
	--color-section-bg: #F3F8F8;
	--color-text: #171717;
	--color-text-sub: #677276;
	--color-border: #D8E5E4;
	--content-width: 1080px;
	--side-padding: 16px;
	--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--color-background);
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: 15px;
	line-height: 1.72;
	padding-bottom: 68px;
	-webkit-font-smoothing: antialiased;
}
body.filter-is-open { overflow: hidden; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .22em; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid rgba(0, 126, 120, .28); outline-offset: 2px; }
img { max-width: 100%; height: auto; }
.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.skip-link { position: fixed; z-index: 999; top: 8px; left: 8px; padding: 8px 12px; background: #fff; transform: translateY(-140%); }
.skip-link:focus { transform: translateY(0); }
.site-header { background: #fff; }
.site-header__inner { position: relative; max-width: var(--content-width); margin: 0 auto; padding: 8px var(--side-padding) 15px; }
.site-header__inner::after { position: absolute; right: var(--side-padding); bottom: 0; left: var(--side-padding); height: 1px; background: var(--color-nav-bg); content: ""; }
.site-header__top { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; align-items: center; gap: 8px; }
.brand { display: inline-flex; flex-direction: column; text-decoration: none; min-width: 0; }
.brand--desktop { display: none; }
.brand__name { font-size: 17px; font-weight: 800; letter-spacing: .095em; line-height: 1.25; }
.brand__sub { margin-top: 2px; color: #37605e; font-size: 11px; font-weight: 600; letter-spacing: .025em; }
.mobile-menu-toggle, .search-toggle { display: grid; width: 44px; height: 44px; padding: 10px; border: 0; background: transparent; color: var(--color-nav-bg); cursor: pointer; place-items: center; }
.mobile-menu-toggle svg, .search-toggle svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.mobile-menu-toggle { justify-self: start; }
.search-toggle { justify-self: end; }
.brand-symbol { display: grid; justify-self: center; color: var(--color-text); text-decoration: none; place-items: center; }
.brand-symbol__art { position: relative; display: block; width: 43.5556px; height: 48px; }
.brand-symbol__base { display: block; width: 100%; height: 100%; }
.mobile-brand { margin-top: 6px; text-align: center; }
.mobile-brand p { margin: 0; }
.mobile-brand__name { color: var(--color-nav-bg); font-size: 18px; font-weight: 650; letter-spacing: .035em; line-height: 1.2; white-space: nowrap; }
.mobile-brand__sub { margin-top: 4px !important; color: var(--color-text-sub); font-size: 12px; line-height: 1.4; }
.mobile-brand__label { display: inline-block; margin-top: 6px !important; padding: 2px 7px; border: 1px solid var(--color-nav-bg); border-radius: 2px; color: var(--color-nav-bg); font-size: 11px; font-weight: 700; line-height: 1.1; }
.mobile-header-nav { display: grid; margin-top: 12px; border-top: 1px solid var(--color-border); }
.mobile-header-nav[hidden] { display: none; }
.mobile-header-nav a { display: flex; min-height: 44px; align-items: center; justify-content: space-between; padding: 8px 2px; border-bottom: 1px solid var(--color-border); color: var(--color-nav-bg); font-size: 13px; font-weight: 700; text-decoration: none; }
.mobile-header-nav a::after { content: "→"; }
.mobile-header-nav a[aria-current="page"] { color: var(--color-text); }
.header-search { display: flex; gap: 8px; margin-top: 12px; }
.header-search[hidden] { display: none; }
.header-search input { min-width: 0; flex: 1; height: 44px; padding: 0 12px; border: 1px solid #9fc9c6; border-radius: 2px; background: #fff; }
.header-search button { min-width: 64px; height: 44px; padding: 0 16px; border: 0; border-radius: 2px; background: var(--color-nav-bg); color: #fff; font-weight: 700; }
.hero-copy { display: none; padding-top: 17px; }
.hero-copy__lead { margin: 0 0 13px; font-size: 17px; font-weight: 700; letter-spacing: .015em; }
.hero-metrics { display: flex; gap: 24px; }
.hero-metrics div { display: flex; flex-direction: column; }
.hero-metrics span { color: #50706e; font-size: 10px; font-weight: 700; letter-spacing: .08em; }
.hero-metrics strong { margin-top: 1px; font-size: 14px; }
.desktop-nav { display: none; }

.site-main { min-height: 50vh; }
.section, .page-heading, .single-source, .generic-page, .not-found { max-width: var(--content-width); margin: 0 auto; padding-left: var(--side-padding); padding-right: var(--side-padding); }
.section { padding-top: 26px; padding-bottom: 26px; }
.section--tinted { max-width: none; padding-left: max(var(--side-padding), calc((100vw - var(--content-width)) / 2 + var(--side-padding))); padding-right: max(var(--side-padding), calc((100vw - var(--content-width)) / 2 + var(--side-padding))); background: var(--color-section-bg); }
.section--guides, .official-section { border-top: 1px solid var(--color-border); }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 8px; }
.section-heading h1, .section-heading h2 { margin: 0; font-size: 21px; line-height: 1.35; }
.section-heading > a { flex: 0 0 auto; color: var(--color-nav-bg); font-size: 13px; font-weight: 700; text-decoration: none; }
.eyebrow { margin: 0 0 3px; color: var(--color-nav-bg); font-size: 10px; font-weight: 800; letter-spacing: .17em; line-height: 1.4; }
.page-heading { padding-top: 31px; padding-bottom: 24px; border-bottom: 1px solid var(--color-border); }
.page-heading h1 { margin: 0; font-size: clamp(25px, 7vw, 36px); line-height: 1.3; letter-spacing: -.025em; }
.page-heading > p:last-child { max-width: 720px; margin: 10px 0 0; color: var(--color-text-sub); }
.page-section { padding-top: 24px; }
.page-section > h2, .section > h2 { margin: 0 0 12px; font-size: 20px; }
.source-list { border-top: 1px solid var(--color-border); }
.source-card { position: relative; padding: 15px 0 16px; border-bottom: 1px solid var(--color-border); overflow-wrap: anywhere; }
.source-card__date { display: block; margin-bottom: 6px; color: var(--color-text-sub); font-size: 12px; font-variant-numeric: tabular-nums; }
.source-card__source { display: flex; flex-wrap: wrap; gap: 3px; margin: 0 0 7px; color: var(--color-text-sub); font-size: 12px; }
.source-type { color: var(--color-nav-bg); font-weight: 800; }
.source-type--media { color: #51616a; }
.source-card__title { max-width: 820px; margin: 0; font-size: 16.5px; line-height: 1.55; letter-spacing: .005em; }
.source-card__topic { display: inline-block; margin: 8px 0 0; padding: 2px 7px; border: 1px solid #bcd8d6; border-radius: 999px; color: #356f6b; font-size: 11px; line-height: 1.5; }
.source-link { display: inline-block; margin-top: 11px; color: var(--color-nav-bg); font-size: 13px; font-weight: 800; text-decoration: none; }
.source-link:hover, .source-link:focus { text-decoration: underline; }
.event-list { border-top: 1px solid var(--color-border); }
.event-card { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 13px; padding: 11px 0 12px; border-bottom: 1px solid var(--color-border); }
.event-card__date { color: var(--color-nav-bg); font-size: 14px; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.event-card__title { margin-top: -2px; }
.event-card__range { display: inline-flex; gap: 0; margin: 2px 0 0; color: var(--color-text-sub); font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.event-card__source { flex-wrap: nowrap; margin: 2px 0 0; line-height: 1.55; white-space: nowrap; }
.event-card .source-link { display: inline-flex; min-height: 44px; align-items: center; margin-top: 0; }
.schedule-index { border-top: 1px solid var(--color-border); }
.schedule-index__year { margin: 0; padding: 17px 0 9px; border-bottom: 1px solid var(--color-border); color: var(--color-nav-bg); font-size: 12px; font-weight: 800; letter-spacing: .16em; line-height: 1.4; }
.schedule-block { padding: 22px 0 20px; border-bottom: 1px solid var(--color-border); }
.schedule-block__head { margin-bottom: 15px; }
.schedule-block__head h2 { margin: 0; font-size: 18px; line-height: 1.5; letter-spacing: .005em; }
.schedule-block__head p { margin: 3px 0 0; color: var(--color-text-sub); font-size: 12px; font-weight: 700; }
.schedule-dates { margin: 0; padding: 0; list-style: none; }
.schedule-date-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 9px 0; border-top: 1px solid #edf1f1; }
.schedule-date-row:first-child { padding-top: 0; border-top: 0; }
.schedule-date-range { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px 9px; min-width: 0; }
.schedule-date { display: inline-flex; align-items: baseline; gap: 6px; color: var(--color-nav-bg); font-variant-numeric: tabular-nums; white-space: nowrap; }
.schedule-date__number { font-size: 19px; font-weight: 800; letter-spacing: .025em; }
.schedule-date__weekday { color: var(--color-text-sub); font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.schedule-date__time { margin-left: 2px; color: var(--color-text); font-size: 12px; font-weight: 800; }
.schedule-date-range__separator { color: var(--color-text-sub); font-size: 12px; }
.schedule-date-row__label { color: var(--color-text); font-size: 13px; font-weight: 700; line-height: 1.5; overflow-wrap: anywhere; }
.schedule-source { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 12px; padding-top: 11px; border-top: 1px solid #edf1f1; color: var(--color-text-sub); font-size: 11px; }
.schedule-source p { margin: 0; }
.schedule-source p span { margin-right: 7px; }
.schedule-source strong { color: var(--color-text); }
.schedule-source a { display: inline-flex; min-height: 44px; flex: 0 0 auto; align-items: center; color: var(--color-nav-bg); font-size: 12px; font-weight: 800; text-decoration: none; }
.schedule-source a:hover, .schedule-source a:focus { text-decoration: underline; }
.official-link-list { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--color-border); }
.official-link-list a { display: flex; justify-content: space-between; padding: 13px 10px 13px 0; border-bottom: 1px solid var(--color-border); color: var(--color-nav-bg); font-weight: 700; text-decoration: none; }
.official-link-list a:nth-child(odd) { margin-right: 12px; }
.guide-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.guide-grid a { display: flex; min-height: 82px; flex-direction: column; align-items: flex-start; justify-content: center; gap: 3px; padding: 12px; border: 1px solid var(--color-border); background: #fff; text-decoration: none; }
.guide-grid strong { font-size: 14px; }
.guide-grid span { color: var(--color-text-sub); font-size: 10.5px; line-height: 1.45; }
.archive-page { max-width: var(--content-width); margin: 0 auto; }
.archive-page .page-heading { padding-left: var(--side-padding); padding-right: var(--side-padding); }
.archive-search { display: flex; max-width: 720px; margin: 12px var(--side-padding) 12px; }
.archive-search input { min-width: 0; flex: 1; height: 46px; padding: 0 13px; border: 1px solid var(--color-border); border-right: 0; border-radius: 2px 0 0 2px; background: #fff; }
.archive-search button { width: 70px; border: 0; border-radius: 0 2px 2px 0; background: var(--color-nav-bg); color: #fff; font-weight: 700; }
.archive-toolbar { display: flex; align-items: center; justify-content: space-between; margin: 18px var(--side-padding) 0; padding: 0 0 10px; border-bottom: 1px solid var(--color-border); }
.archive-toolbar p { margin: 0; color: var(--color-text-sub); font-size: 12px; }
.archive-toolbar strong { color: var(--color-text); font-size: 18px; }
.filter-open { padding: 8px 12px; border: 1px solid #8fbfbc; border-radius: 2px; background: #fff; color: var(--color-nav-bg); font-weight: 700; }
.filter-chips { display: flex; gap: 7px; overflow-x: auto; padding: 11px var(--side-padding) 2px; scrollbar-width: none; }
.filter-chip { flex: 0 0 auto; padding: 4px 9px; border: 1px solid #aed4d1; border-radius: 999px; color: #246f6a; font-size: 11px; text-decoration: none; }
.filter-chip span { margin-left: 5px; }
.archive-results { padding: 9px var(--side-padding) 32px; }
.filter-sheet { position: fixed; z-index: 100; inset: 0; display: none; align-items: flex-end; }
body.filter-is-open .filter-sheet { display: flex; }
.filter-sheet__backdrop { position: absolute; inset: 0; width: 100%; border: 0; background: rgba(8, 37, 35, .48); }
.filter-panel { position: relative; z-index: 1; width: 100%; max-height: 88vh; overflow-y: auto; padding: 18px 16px calc(20px + env(safe-area-inset-bottom)); border-radius: 14px 14px 0 0; background: #fff; }
.filter-panel__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.filter-panel__head h2 { margin: 0; font-size: 19px; }
.filter-panel__head button { width: 38px; height: 38px; border: 0; background: transparent; color: var(--color-text-sub); font-size: 25px; }
.filter-panel fieldset { margin: 0 0 20px; padding: 0; border: 0; }
.filter-panel legend, .filter-field > span { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 800; }
.filter-panel fieldset > label { margin-right: 15px; }
.filter-field { display: block; margin-bottom: 20px; }
.filter-field select { width: 100%; height: 43px; padding: 0 9px; border: 1px solid var(--color-border); background: #fff; }
.radio-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.date-range { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: -8px 0 20px; }
.date-range label span { display: block; color: var(--color-text-sub); font-size: 11px; }
.date-range input { width: 100%; height: 40px; padding: 0 6px; border: 1px solid var(--color-border); }
.date-range.is-disabled { opacity: .45; }
.filter-actions { position: sticky; bottom: -20px; display: flex; align-items: center; justify-content: space-between; gap: 15px; margin: 8px -16px -20px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid var(--color-border); background: #fff; }
.filter-actions a { color: var(--color-text-sub); font-size: 12px; }
.filter-actions button, .button { padding: 11px 18px; border: 0; border-radius: 2px; background: var(--color-nav-bg); color: #fff; font-weight: 800; text-decoration: none; }
.pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; padding-top: 25px; }
.pagination .page-numbers { min-width: 36px; padding: 7px 9px; border: 1px solid var(--color-border); text-align: center; text-decoration: none; }
.pagination .current { border-color: var(--color-nav-bg); background: var(--color-nav-bg); color: #fff; }
.empty-state { margin: 0; padding: 24px 0; color: var(--color-text-sub); }
.empty-state h2 { margin: 0 0 6px; color: var(--color-text); font-size: 18px; }
.facts { margin: 0; border-top: 1px solid var(--color-border); }
.facts div { display: grid; grid-template-columns: 100px 1fr; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--color-border); }
.facts dt { color: var(--color-text-sub); font-size: 12px; font-weight: 700; }
.facts dd { margin: 0; }
.primary-link { color: var(--color-nav-bg); font-weight: 800; }
.about-lead { padding-top: 23px; padding-bottom: 23px; }
.about-copy { max-width: 760px; }
.about-copy > :first-child { margin-top: 0; }
.about-copy > :last-child { margin-bottom: 0; }
.about-copy p { margin: 0 0 12px; }
.about-lead .about-copy > p:first-child { font-size: 16px; font-weight: 700; line-height: 1.75; }
.assignment-list { margin: -3px 0 10px; padding-left: 1.5em; }
.assignment-list li { margin: 2px 0; font-weight: 700; }
.about-section { border-top: 1px solid var(--color-border); }
.about-section h2 { margin-bottom: 15px; }
.about-facts div { display: block; }
.about-facts dt { margin-bottom: 2px; color: var(--color-nav-bg); }
.member-status { padding: 14px 15px; border-left: 3px solid var(--color-primary); background: var(--color-section-bg); }
.about-cta { margin-top: 18px !important; }
.about-timeline { position: relative; margin: 0 0 20px 4px; padding: 0 0 0 19px; border-left: 2px solid var(--color-border); list-style: none; }
.about-timeline li { position: relative; padding: 0 0 20px; }
.about-timeline li:last-child { padding-bottom: 0; }
.about-timeline li::before { position: absolute; top: 6px; left: -25px; width: 10px; height: 10px; border: 2px solid var(--color-nav-bg); border-radius: 50%; background: #fff; content: ""; }
.about-timeline time { display: block; color: var(--color-nav-bg); font-size: 12px; font-weight: 800; font-variant-numeric: tabular-nums; }
.about-timeline h3 { margin: 2px 0 0; font-size: 15px; line-height: 1.55; }
.inline-links { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.inline-links a { color: var(--color-nav-bg); font-size: 13px; font-weight: 800; text-decoration: none; }
.official-status-list, .source-references ul { margin: 0; padding: 0; border-top: 1px solid var(--color-border); list-style: none; }
.official-status-list li, .source-references li { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 12px 1px; border-bottom: 1px solid var(--color-border); }
.official-status-list li > span:first-child, .source-references li > span:first-child { font-weight: 700; }
.official-status-list a, .source-references a { flex: 0 0 auto; color: var(--color-nav-bg); font-size: 12px; font-weight: 800; text-decoration: none; }
.official-status-list small { color: var(--color-text-sub); font-size: 11px; text-align: right; }
.source-references { max-width: 760px; margin-top: 24px; }
.source-references h3 { margin: 0 0 9px; font-size: 16px; }
.related-navigation .guide-grid { max-width: 900px; }
.info-grid { display: grid; gap: 0; border-top: 1px solid var(--color-border); }
.info-grid > div { padding: 14px 0; border-bottom: 1px solid var(--color-border); }
.info-grid h2 { margin: 0 0 4px; font-size: 16px; }
.info-grid p { margin: 0; color: var(--color-text-sub); }
.audition-section { border-top: 1px solid var(--color-border); }
.audition-copy, .audition-steps { max-width: 760px; }
.audition-copy > :first-child { margin-top: 0; }
.audition-copy > :last-child { margin-bottom: 0; }
.audition-copy p { margin: 0 0 12px; }
.audition-highlight { color: var(--color-nav-bg); font-size: 16px; font-weight: 800; font-variant-numeric: tabular-nums; }
.audition-list { margin: 0 0 18px; padding-left: 1.4em; }
.audition-list li { margin: 5px 0; }
.audition-action { margin-top: 20px !important; }
.audition-action .button { display: inline-block; }
.audition-steps { margin: 0; padding: 0; border-top: 1px solid var(--color-border); list-style: none; }
.audition-steps > li { padding: 18px 0; border-bottom: 1px solid var(--color-border); }
.audition-step__label { margin: 0 0 2px; color: var(--color-nav-bg); font-size: 13px; font-weight: 800; }
.audition-steps h3 { margin: 0 0 8px; font-size: 16px; }
.audition-steps > li > p:last-child { margin: 0; }
.audition-date-list { margin: 0; padding: 0; list-style: none; font-variant-numeric: tabular-nums; }
.audition-date-list li { display: flex; flex-wrap: wrap; margin: 3px 0; overflow-wrap: anywhere; }
.official-directory { border-top: 1px solid var(--color-border); }
.official-directory a { display: flex; align-items: center; justify-content: space-between; padding: 15px 2px; border-bottom: 1px solid var(--color-border); color: var(--color-nav-bg); text-decoration: none; }
.official-directory span:first-child { display: flex; flex-direction: column; }
.official-directory small { color: var(--color-text-sub); font-size: 11px; font-weight: 400; }
.timeline { border-left: 2px solid var(--color-border); margin-left: 4px; padding-left: 17px; }
.timeline-item { position: relative; display: grid; gap: 5px; padding: 0 0 24px; }
.timeline-item::before { position: absolute; top: 7px; left: -23px; width: 10px; height: 10px; border: 2px solid var(--color-nav-bg); border-radius: 50%; background: #fff; content: ""; }
.timeline-item time { color: var(--color-nav-bg); font-size: 12px; font-weight: 800; }
.timeline-item h2 { margin: 0; font-size: 16px; line-height: 1.55; }
.timeline-item p { margin: 3px 0 0; color: var(--color-text-sub); font-size: 12px; }
.single-source, .generic-page, .not-found { padding-top: 36px; padding-bottom: 48px; }
.single-source > h1 { max-width: 800px; margin: 5px 0 24px; font-size: clamp(24px, 7vw, 38px); line-height: 1.45; overflow-wrap: anywhere; }
.single-source .source-card { max-width: 720px; border-top: 1px solid var(--color-border); }
.back-link { margin-top: 28px; }
.not-found { min-height: 55vh; padding-top: 70px; text-align: center; }
.not-found h1 { margin: 5px 0 8px; }
.not-found .button { display: inline-block; margin-top: 18px; }
.site-footer { border-top: 1px solid #bed5d3; background: #eaf3f2; }
.site-footer__inner { max-width: var(--content-width); margin: 0 auto; padding: 27px var(--side-padding) 30px; }
.site-footer p { margin: 0 0 10px; color: #536260; font-size: 11px; }
.site-footer p:first-child { color: var(--color-text); font-size: 13px; letter-spacing: .08em; }
.footer-links { display: flex; flex-wrap: wrap; gap: 7px 15px; margin-top: 16px; }
.footer-links a { color: #376461; font-size: 11px; }
.bottom-nav { position: fixed; z-index: 80; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(4, 1fr); min-height: 58px; padding-bottom: env(safe-area-inset-bottom); border-top: 1px solid #0a6d68; background: var(--color-nav-bg); color: #fff; }
.bottom-nav > a, .bottom-nav__disabled { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 0; padding: 5px 2px 4px; text-align: center; text-decoration: none; }
.bottom-nav > a[aria-current="page"] { background: rgba(255, 255, 255, .12); }
.bottom-nav > a[aria-current="page"]::before { position: absolute; top: 0; left: 30%; width: 40%; height: 2px; border-radius: 0 0 2px 2px; background: #fff; content: ""; }
.bottom-nav > a > span, .bottom-nav__disabled > span { display: grid; width: 20px; height: 20px; place-items: center; line-height: 1; }
.bottom-nav svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.bottom-nav strong { font-size: 10px; line-height: 1.4; }
.bottom-nav small { display: block; max-width: 70px; color: #a9cbc8; font-size: 8px; line-height: 1.15; }
.bottom-nav__disabled { color: #9bc3c0; }

@media (min-width: 700px) {
	:root { --side-padding: 28px; }
	body { padding-bottom: 0; font-size: 16px; }
	.site-header { background: #fff; border: 0; }
	.site-header__inner { padding-top: 12px; padding-bottom: 13px; }
	.site-header__inner::after { display: block; }
	.site-header__top { display: flex; align-items: center; gap: 14px; }
	.mobile-menu-toggle, .mobile-brand, .mobile-header-nav { display: none !important; }
	.brand-symbol { display: grid; flex: 0 0 auto; justify-self: auto; }
	.brand-symbol__art { width: 47.1852px; height: 52px; }
	.brand--desktop { display: inline-flex; align-items: flex-start; margin-right: auto; }
	.brand__name { color: var(--color-nav-bg); font-size: 20px; font-weight: 650; letter-spacing: .035em; line-height: 1.2; white-space: nowrap; }
	.brand__sub { margin-top: 3px; color: var(--color-text-sub); font-size: 12px; font-weight: 500; letter-spacing: .025em; line-height: 1.35; }
	.brand__label { display: inline-block; margin-top: 4px; padding: 2px 6px; border: 1px solid var(--color-nav-bg); border-radius: 2px; color: var(--color-nav-bg); font-size: 10px; font-weight: 700; line-height: 1.1; }
	.search-toggle { display: grid; flex: 0 0 44px; width: 44px; height: 44px; padding: 10px; border: 0; border-radius: 0; }
	.search-toggle svg { width: 24px; height: 24px; }
	.hero-copy { display: none; }
	.desktop-nav { display: flex; gap: 26px; margin-top: 12px; padding-top: 0; border: 0; }
	.desktop-nav a { color: #315f5c; font-size: 13px; font-weight: 700; text-decoration: none; }
	.desktop-nav a[aria-current="page"] { color: var(--color-text); text-decoration: underline; text-decoration-color: var(--color-primary); text-decoration-thickness: 2px; text-underline-offset: 8px; }
	.bottom-nav { display: none; }
	.section { padding-top: 42px; padding-bottom: 42px; }
	.section-heading h1, .section-heading h2 { font-size: 26px; }
	.source-card { padding: 20px 0; }
	.source-card__title { max-width: 800px; font-size: 18px; }
	.event-card { grid-template-columns: 130px minmax(0, 1fr); gap: 22px; padding: 14px 0; }
	.event-card__date { font-size: 16px; }
	.schedule-index__year { padding-top: 22px; }
	.schedule-block { display: grid; grid-template-columns: minmax(190px, 250px) minmax(0, 1fr); gap: 36px; padding: 29px 0 27px; }
	.schedule-block__head { margin-bottom: 0; }
	.schedule-block__head h2 { font-size: 19px; }
	.schedule-date-row { grid-template-columns: minmax(230px, auto) minmax(0, 1fr); align-items: baseline; gap: 22px; padding: 8px 0; }
	.schedule-date__number { font-size: 20px; }
	.schedule-date-row__label { font-size: 14px; }
	.schedule-source { margin-top: 15px; }
	.guide-grid { grid-template-columns: 1fr 1fr; }
	.info-grid { grid-template-columns: 1fr 1fr; border-left: 1px solid var(--color-border); }
	.about-lead { padding-top: 34px; padding-bottom: 34px; }
	.about-lead .about-copy > p:first-child { font-size: 18px; }
	.about-facts div { display: grid; grid-template-columns: 170px minmax(0, 1fr); }
	.about-timeline li { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 20px; }
	.about-timeline h3 { margin-top: -3px; font-size: 16px; }
	.info-grid > div { padding: 20px; border-right: 1px solid var(--color-border); }
	.page-heading { padding-top: 48px; padding-bottom: 36px; }
	.archive-search { margin-top: 15px; }
	.archive-toolbar, .filter-chips { margin-left: var(--side-padding); margin-right: var(--side-padding); padding-left: 0; padding-right: 0; }
	.archive-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 35px; padding: 20px var(--side-padding) 50px; }
	.archive-results { padding: 0; }
	.filter-open { display: none; }
	.filter-sheet, body.filter-is-open .filter-sheet { position: static; display: block; }
	.filter-sheet__backdrop, .filter-panel__head button { display: none; }
	.filter-panel { position: sticky; top: 20px; width: auto; max-height: none; overflow: visible; padding: 0; border-radius: 0; }
	.filter-panel__head { margin-bottom: 17px; padding-bottom: 10px; border-bottom: 2px solid var(--color-nav-bg); }
	.filter-panel__head h2 { font-size: 17px; }
	.filter-panel fieldset > label { display: block; margin: 7px 0; }
	.radio-grid { display: block; }
	.date-range { grid-template-columns: 1fr; }
	.filter-actions { position: static; display: grid; grid-template-columns: 1fr; margin: 0; padding: 0; border: 0; }
	.filter-actions button { order: -1; width: 100%; }
	.timeline-item { grid-template-columns: 120px minmax(0, 1fr); gap: 20px; }
}

@media (min-width: 1000px) {
	:root { --side-padding: 36px; }
	.official-link-list { grid-template-columns: repeat(4, 1fr); }
	.official-link-list a { margin-right: 22px !important; }
	.guide-grid { grid-template-columns: repeat(4, 1fr); }
	.guide-grid a { min-height: 92px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
