:root {
  --ink: #25213e;
  --teal: #25445b;
  --teal-light: #176b62;
  --leaf: #e5f391;
  --muted: #565565;
  --canvas: #fdfbf5;
  --line: #e4ded7;
  --mint: #e0f4e9;
  --violet: #3f286c;
  --coral: #ff8c70;
  --paper: #fffefa;
  --shadow: 0 14px 40px #2d244212;
}
.utility { background: #292349; color: #fff6e8; }
.utility a:hover { color: #e8f598; }
.utility-inner { min-height: 33px; }
.site-header {
  border-color: #e9e2dc;
  box-shadow: 0 3px 15px #34284508;
}
.site-header::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg,#8057c9 0 24%,#229f96 24% 49%,#f48066 49% 75%,#bed94e 75%);
}
.header-inner { min-height: 75px; }
.main-nav a { position: relative; color: #312745; }
.main-nav a:hover, .main-nav a[aria-current] { color: #5a3689; text-decoration: none; }
.main-nav a::after { content: ""; position: absolute; height: 2px; background: #7650b4; inset: auto 0 3px; transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.main-nav a:hover::after, .main-nav a[aria-current]::after { transform: scaleX(1); }
.nav-button { background: #f1eafa; border-color: #e2d5f3; color: #3d285f; }
.nav-button:hover { background: #e8dbf6; border-color: #c5aedf; color: #352052; }
.button.dark { background: #382755; }
.button.dark:hover { background: #513775; }
.button.lime { color: #233b32; }
.text-link { color: #4d307a; }
.text-link:hover { color: #3b2566; }
.kicker { color: #5a3881; }
.eyebrow { color: #46635a; }
[data-reveal] { transition-duration: .44s, .44s, .2s, .2s; }
.reveal-pending { opacity: .36; transform: translateY(15px); }
.tone-violet, .resource-tag-4 { --tone-bg: #f0e8fa; --tone-tile: #e3d1f7; --tone-text: #462871; --tone-border: #e4d5f0; }
.tone-coral, .resource-tag-2 { --tone-bg: #fff0e7; --tone-tile: #ffdad0; --tone-text: #852f33; --tone-border: #f5d6ca; }
.tone-blue, .resource-tag-1 { --tone-bg: #e8f1fc; --tone-tile: #d4e3fd; --tone-text: #284b82; --tone-border: #d5e4f8; }
.tone-green, .resource-tag-3 { --tone-bg: #eef6d8; --tone-tile: #e0f0ae; --tone-text: #365a29; --tone-border: #e1ecc6; }
.section-splash {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: var(--splash-ink);
  background: radial-gradient(ellipse at 88% 105%,var(--splash-accent),transparent 58%), var(--splash-bg);
}
.theme-violet {
  --splash-bg: #2c214e;
  --splash-accent: #633291;
  --splash-ink: #fff9ee;
  --splash-muted: #f0e6fa;
  --splash-kicker: #e7f39a;
  --splash-button: #e5f391;
  --splash-button-ink: #31274a;
  --art-edge: #b887f0;
  --art-layer: #f99576;
  --splash-dot: #ffe1ba;
}
.theme-coral {
  --splash-bg: #ffded0;
  --splash-accent: #ffaa74;
  --splash-ink: #3d2240;
  --splash-muted: #58364d;
  --splash-kicker: #76333b;
  --splash-button: #39274f;
  --splash-button-ink: #fffaf0;
  --art-edge: #fc966c;
  --art-layer: #ab83dc;
  --splash-dot: #6d489a;
}
.theme-green {
  --splash-bg: #e7f2b8;
  --splash-accent: #6dceae;
  --splash-ink: #1e4637;
  --splash-muted: #365845;
  --splash-kicker: #3d5e32;
  --splash-button: #234c43;
  --splash-button-ink: #fffaf0;
  --art-edge: #8ec885;
  --art-layer: #7c65be;
  --splash-dot: #f29757;
}
.section-splash::before, .section-splash::after {
  position: absolute;
  content: "";
  z-index: -1;
  pointer-events: none;
}
.section-splash::before {
  width: 650px;
  height: 550px;
  top: -315px;
  right: -135px;
  border: 1px solid color-mix(in srgb,var(--splash-ink) 24%,transparent);
  border-radius: 48% 52% 55% 45%;
  box-shadow: 0 0 0 22px color-mix(in srgb,var(--splash-ink) 6%,transparent),
              0 0 0 49px color-mix(in srgb,var(--splash-ink) 5%,transparent),
              0 0 0 79px color-mix(in srgb,var(--splash-ink) 4%,transparent);
  transform: rotate(-17deg);
}
.section-splash::after {
  inset: auto auto -140px -105px;
  width: 290px;
  height: 275px;
  border: 2px dashed color-mix(in srgb,var(--splash-ink) 21%,transparent);
  border-radius: 50%;
}
.splash-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,.94fr) minmax(0,1.06fr);
  align-items: center;
  gap: clamp(24px,5vw,75px);
  padding-block: clamp(34px,4.7vw,70px) clamp(42px,5.9vw,84px);
}
.splash-copy { min-width: 0; }
.splash-copy .crumbs { color: var(--splash-muted); margin: 0 0 13px; }
.splash-copy .crumbs a:hover { color: var(--splash-kicker); }
.splash-kicker { color: var(--splash-kicker); margin-bottom: 13px; }
.splash-kicker .pulse-dot { background: var(--splash-dot); box-shadow: 0 0 0 4px color-mix(in srgb,var(--splash-dot) 23%,transparent); }
.splash-copy h1 {
  max-width: 14ch;
  font-size: clamp(3.1rem,5.75vw,5.15rem);
  font-weight: 800;
  line-height: .99;
  letter-spacing: -.072em;
  overflow-wrap: normal;
}
.splash-copy > p:not(.kicker) { color: var(--splash-muted); max-width: 48ch; margin-top: 16px; font-size: clamp(.98rem,1.45vw,1.15rem); }
.splash-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 13px 20px; margin-top: 24px; }
.splash-button { background: var(--splash-button); color: var(--splash-button-ink); border-radius: 12px; }
.splash-button:hover { background: color-mix(in srgb,var(--splash-button),#fff 15%); color: var(--splash-button-ink); }
.splash-link { display: inline-flex; align-items: center; gap: 7px; font-size: .86rem; font-weight: 800; color: var(--splash-ink); text-underline-offset: 4px; }
.splash-link:hover { color: var(--splash-kicker); }
.theme-violet :focus-visible, .footer :focus-visible { outline-color: #e8f394; }
.section-illustration { position: relative; min-width: 0; isolation: isolate; }
.section-illustration::before, .section-illustration::after {
  position: absolute;
  content: "";
  z-index: -1;
  border-radius: 25px;
  inset: 5px 2px;
  pointer-events: none;
}
.section-illustration::before { background: var(--art-layer,#e59ec1); transform: rotate(3.4deg) translate(6px,8px); }
.section-illustration::after { border: 2px solid var(--art-edge,#c9b3e8); transform: rotate(-2.8deg) translate(-2px,1px); }
.section-illustration img { position: relative; width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; border-radius: 23px; border: 3px solid #fffaf1; box-shadow: 0 22px 54px #28203d38; }
.section-illustration-small img { border-radius: 15px; box-shadow: 0 8px 24px #38253c1f; }
.section-illustration-small::before, .section-illustration-small::after { border-radius: 15px; }
.chapter-heading { gap: 16px 32px; align-items: end; }
.chapter-heading .kicker { margin-bottom: 7px; }
.chapter-heading h2 { font-size: clamp(2.04rem,4.5vw,3.65rem); line-height: 1.02; }
.chapter-heading > p { max-width: 43ch; margin: 0 0 3px; color: var(--muted); font-size: .93rem; }
.mission-index { padding-top: clamp(44px,5.9vw,80px); }
.mission-waypoints {
  display: flex;
  width: fit-content;
  max-width: 100%;
  gap: clamp(5px,1vw,11px);
  align-items: center;
  border: 1px solid #e7ded3;
  border-radius: 80px;
  background: #fffaf0;
  padding: 6px;
  margin-bottom: 19px;
}
.waypoint { display: grid; place-items: center; width: clamp(33px,4vw,47px); height: clamp(33px,4vw,47px); border-radius: 50%; background: var(--tone-tile); color: var(--tone-text); text-decoration: none; font-size: .8rem; font-weight: 800; transition: transform .18s ease,background .18s ease; }
.waypoint:hover { transform: translateY(-3px); color: var(--tone-text); background: var(--tone-bg); }
.mission-panels { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 13px; }
.mission-panel {
  grid-column: span 4;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-width: 0;
  padding: clamp(16px,2.2vw,29px);
  border: 1px solid var(--tone-border);
  border-radius: 19px;
  background: var(--tone-bg);
  box-shadow: var(--shadow);
  scroll-margin-top: 100px;
}
.mission-panel:nth-child(-n+2), .mission-panel:nth-child(n+6) { grid-column: span 6; }
.mission-panel::before { content: ""; position: absolute; z-index: -1; right: -43px; top: -81px; width: 207px; height: 159px; border-radius: 43% 58% 59% 42%; transform: rotate(-14deg); background: var(--tone-tile); opacity: .75; }
.mission-panel:target { outline: 3px solid var(--tone-text); outline-offset: 3px; }
.mission-panel-top { display: flex; justify-content: space-between; align-items: start; margin-bottom: 15px; }
.mission-picto { display: grid; place-items: center; width: 49px; height: 49px; border-radius: 15px; background: var(--tone-tile); color: var(--tone-text); }
.mission-picto svg { width: 27px; height: 27px; }
.mission-panel-number { color: var(--tone-text); font-size: clamp(1.7rem,3vw,2.65rem); line-height: 1; font-weight: 800; letter-spacing: -.07em; }
.mission-panel .kicker { font-size: .67rem; color: var(--tone-text); }
.mission-panel h3 { margin: 6px 0 9px; font-size: clamp(1.21rem,2.4vw,1.78rem); line-height: 1.13; letter-spacing: -.037em; }
.mission-detail { color: #494253; font-size: .94rem; }
.mission-detail a { color: var(--tone-text); text-underline-offset: 3px; font-weight: 800; }
.mission-panel:hover { box-shadow: 0 12px 36px #35204b24; border-color: var(--tone-tile); }
.mission-appendix { margin-top: 28px; max-width: 690px; }
.mission-appendix:not(.mission-appendix-main) h2 { font-size: 1.28rem; color: #59436d; }
.mission-appendix:not(.mission-appendix-main) img { max-height: 310px; width: auto; object-fit: contain; }
.ribbon-cta { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 17px; padding: clamp(15px,3.3vw,32px); border: 1px solid var(--tone-border); background: var(--tone-bg); border-radius: 19px; }
.ribbon-cta h2 { font-size: clamp(1.4rem,2.5vw,2.1rem); }
.ribbon-cta .kicker { color: var(--tone-text); margin-bottom: 5px; }
.ribbon-cta p:not(.kicker) { color: var(--muted); margin-top: 5px; }
.ribbon-icon { display: grid; place-items: center; flex: none; width: 49px; height: 49px; border-radius: 14px; color: var(--tone-text,#85393b); background: var(--tone-tile,#ffdad0); }
.ribbon-icon svg { width: 25px; height: 25px; }
.schedule { padding-top: clamp(37px,5.3vw,74px); }
.schedule-filters a[aria-current] { background: #713b46; border-color: #713b46; }
.schedule-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.08fr); gap: clamp(18px,3.2vw,43px); align-items: start; }
.calendar-card { background: var(--paper); border: 1px solid #efddd5; border-radius: 19px; overflow: hidden; box-shadow: var(--shadow); }
.calendar-top { display: grid; grid-template-columns: 39px 1fr 39px; align-items: center; gap: 8px; padding: 14px 16px; background: #ffe9dd; text-align: center; color: #592e47; }
.calendar-top > div { grid-column: 2; }
.calendar-top a:last-child { grid-column: 3; }
.calendar-top h3 { font-size: clamp(1.19rem,2.55vw,1.72rem); }
.calendar-top p { color: #754554; font-size: .77rem; font-weight: 700; margin-top: 3px; }
.calendar-arrow { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; color: #673146; background: #fff7f1; border: 1px solid #f0d4c8; transition: background .15s ease,transform .15s ease; }
.calendar-arrow:hover { background: #ffcebc; color: #542d3e; transform: translateY(-2px); }
.calendar-grid { width: calc(100% - 20px); margin: 9px 10px 4px; table-layout: fixed; border-collapse: separate; border-spacing: 3px; }
.calendar-grid th, .calendar-grid td { padding: 0; border: 0; text-align: center; }
.calendar-grid th { padding-bottom: 5px; color: #694851; font-size: clamp(.62rem,1.08vw,.78rem); font-weight: 800; }
.calendar-day { display: grid; place-items: center; align-content: center; position: relative; min-height: clamp(31px,3.8vw,45px); background: #f8f2ee; border: 1px solid transparent; border-radius: 8px; color: #473b49; text-decoration: none; font-weight: 700; font-size: .89rem; }
.calendar-outside { background: #fcfaf7; }
.calendar-day[aria-current] { border-color: #8e57a4; color: #683781; }
.calendar-day.has-event { background: #ffe1d3; color: #783d47; font-weight: 800; }
.calendar-day.has-event:hover, .calendar-day.is-picked { background: #823d51; color: white; border-color: #823d51; }
.calendar-day.has-event i, .calendar-legend span { width: 5px; height: 5px; border-radius: 50%; display: inline-block; background: #a94457; }
.calendar-day.has-event:hover i, .calendar-day.is-picked i { background: #fff0dd; }
.calendar-legend { display: flex; align-items: center; gap: 6px; font-size: .73rem; color: #6b4e5d; margin: 0 16px 12px; }
.calendar-legend span { flex: none; width: 7px; height: 7px; }
.schedule-results { min-width: 0; padding-top: 5px; scroll-margin-top: 100px; }
.schedule-results > .kicker { color: #7e4557; margin-bottom: 7px; }
.schedule-results > h3 { margin-bottom: 12px; font-size: clamp(1.4rem,3vw,2.1rem); }
.schedule-all-month { margin-bottom: 8px; }
.agenda-empty h4 { margin: 0; color: #442b42; font-size: clamp(.98rem,1.55vw,1.14rem); line-height: 1.28; }
.agenda-empty { padding: 16px; border-radius: 15px; background: #f8ede7; border: 1px solid #efded4; }
.agenda-empty p { color: #615062; margin-top: 5px; font-size: .87rem; }
.schedule-archive { background: linear-gradient(120deg,#f4ebf9,#fff0e6); border-block: 1px solid #eddfdf; }
.archive-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; }
.welcome { background: radial-gradient(ellipse at 96% 100%,#a4dfd1,transparent 63%),linear-gradient(105deg,#fff8de,#e9f7d9); }
.welcome h1 { color: #2e254e; }
.welcome h1 em { color: #0b6d61; }
.welcome-image { border-color: #fffdf0; isolation: isolate; }
.welcome-image::before { content: ""; position: absolute; z-index: -1; inset: 0 1px 1px; background: #ee946e; border-radius: 21px; transform: rotate(3.1deg) translate(3px,5px); }
.pathway { border-color: #ead5e4; background: #faecf4; color: #4d3051; }
.pathway small { color: #783b63; }
.pathway .entry-icon { background: #f0cfe3; color: #7a3d64; }
.pathway-pro { border-color: #d9e7b5; background: #f1f6d9; color: #3d5430; }
.pathway-pro small { color: #4b633a; }
.pathway-pro .entry-icon { background: #deedb2; color: #416237; }
.mission-link:nth-child(1) { border-color: #e8dcf4; background: #f7f0fc; }
.mission-link:nth-child(1) .entry-icon { background: #e8d8f6; color: #623b8e; }
.mission-link:nth-child(2) { border-color: #f2ddd2; background: #fff4eb; }
.mission-link:nth-child(2) .entry-icon { background: #f8d9cf; color: #8c4648; }
.mission-link:nth-child(3) { border-color: #dfebcd; background: #f4f8e6; }
.map-section { background: linear-gradient(108deg,#e0f2eb,#e4eafe); border-color: #d9e6ed; }
.home-topics { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: clamp(40px,6.4vw,83px); }
.home-topic { display: block; padding: clamp(15px,2.5vw,25px); border-radius: 17px; border: 1px solid var(--tone-border); background: var(--tone-bg); text-decoration: none; color: var(--ink); }
.home-topic h2 { font-size: clamp(1.18rem,2.4vw,1.85rem); }
.home-topic .kicker { color: var(--tone-text); margin-bottom: 5px; }
.home-topic .text-link { margin-top: 6px; }
.home-topic:hover { box-shadow: var(--shadow); color: var(--tone-text); }
.site-home .callout { background: linear-gradient(125deg,#392556,#174d4e); }
.resource-search { border-color: #d8e8c5; background: #f8fbed; }
.resource-tag-1 .resource, .resource-tag-2 .resource, .resource-tag-3 .resource, .resource-tag-4 .resource { border-color: var(--tone-border); background: color-mix(in srgb,var(--tone-bg) 58%,white); }
.resource-tag-1 .entry-icon, .resource-tag-2 .entry-icon, .resource-tag-3 .entry-icon, .resource-tag-4 .entry-icon { background: var(--tone-tile); color: var(--tone-text); }
.resource-jumps a[class] { background: var(--tone-bg); border-color: var(--tone-border); color: var(--tone-text); }
.resource-jumps a[class]:hover { background: var(--tone-tile); }
.resource-group .kicker { color: var(--tone-text); }
.resource:hover { border-color: var(--tone-text,#8ab9aa); }
.mast { background: linear-gradient(120deg,#f2e8fa,#e8f2f5); }
.mast-resources { background: radial-gradient(ellipse at 92% 95%,#b3dfc4,transparent 58%),linear-gradient(125deg,#f3e8fa,#e6f0df); }
.mast-territory { background: radial-gradient(ellipse at 90% 105%,#b2dcf5,transparent 61%),linear-gradient(110deg,#dbe4ff,#dff3e7); }
.mast-journal { background: radial-gradient(ellipse at 90% 0,#794d90,transparent 65%),#2b224b; }
.pro-mast { background: radial-gradient(ellipse at 86% 80%,#35676f,transparent 62%),#30244e; }
.pro-layout img { border: 3px solid #d8c3ed; box-shadow: 8px 8px 0 #735693; }
.story-mast { position: relative; overflow: hidden; }
.story-mast.tone-violet, .story-mast.tone-coral, .story-mast.tone-blue, .story-mast.tone-green {
  background: radial-gradient(ellipse at 97% 90%,var(--tone-tile),transparent 57%),var(--tone-bg);
}
.story-mast[class*="tone-"] .kicker { color: var(--tone-text,#e8f59e); }
.story-mast .editorial-mast-wrap, .mast-decoration { display: grid; grid-template-columns: minmax(0,1fr) minmax(135px,.34fr); gap: 18px 28px; align-items: center; }
.story-mast .editorial-mast-wrap.story-mast-wide { grid-template-columns: 1fr; }
.story-mast .editorial-deck { color: #50475c; }
.story-mast.mast-journal .editorial-deck { color: #f5eaf3; }
.story-emblem { display: grid; place-items: center; justify-self: center; width: clamp(92px,13vw,155px); height: clamp(92px,13vw,155px); color: var(--tone-text,#472c72); border-radius: 38% 62% 48% 52%; background: var(--tone-tile,#e9d9f6); transform: rotate(-8deg); box-shadow: 10px 9px 0 #f7ba9b; }
.story-emblem svg { width: 55%; height: 55%; transform: rotate(8deg); }
.story-mast.tone-coral .story-emblem { box-shadow: 10px 9px 0 #e4c9f4; }
.story-mast.tone-green .story-emblem { box-shadow: 10px 9px 0 #a6d7bd; }
.mast-decoration .story-emblem { box-shadow: 10px 9px 0 #93cdb5; }
.mast-journal .mast-decoration .story-emblem { background: #e0eb9b; color: #4a326a; box-shadow: 10px 9px 0 #ed9b87; }
.reading-index { background: #f1e9f8; border-color: #e6d9ef; }
.story-gallery h2 { color: #332657; }
.story-gallery a[href$=".pdf"] { background: #efe3f9; color: #513675; }
.story-gallery details { background: #f7f0fa; border-color: #ebdef2; }
.story-gallery summary { color: #563675; }
.journal-feature { background: linear-gradient(135deg,#3f2c63,#34244e 74%); }
.article-card { border-color: #e9dfeb; }
.article-meta span { background: #f1e3fa; color: #67438b; }
.news-grid .article-card:nth-child(3n+2) .article-meta span { background: #ffe8da; color: #844353; }
.news-grid .article-card:nth-child(3n) .article-meta span { background: #eaf4cb; color: #526a31; }
.related-section { background: linear-gradient(108deg,#f1e8f8,#eaf3e7); }
.contact-aside { background: #f3e7fa; border-color: #e8d9f0; }
.contact-aside .entry-icon { background: #e5d3f2; color: #633887; }
.contact-page .panel { border-color: #e8d9ef; }
.access-bg { background: radial-gradient(ellipse at 92% 80%,#456976,transparent 58%),linear-gradient(135deg,#2f2553,#564074); }
.access-panel { border-color: #e1d5f0; }
.member-grid > section:first-child { border-top-color: #9673bc; }
.member-grid > section:nth-child(2) { border-top-color: #6caf94; }
.console-bg { background: #f5f0f8; }
.console-sidebar { background: #342755; }
.console-sidebar nav a[aria-current], .console-sidebar nav a:hover { background: #5b4280; }
.console-main .stats > * { border-left-color: #a283c4; }
.console-main .stats > :nth-child(2) { border-left-color: #df997f; }
.console-main .stats > :nth-child(3) { border-left-color: #79b79d; }
.footer { color: #fbf4ee; background: linear-gradient(123deg,#2b2448,#203d4a); border-color: #332d4d; }
.footer-brand > a:first-child { display: inline-flex; padding: 7px 9px; border-radius: 9px; background: #fffdf6; }
.footer p, .footer-bottom { color: #f0e6ed; }
.footer h2 { color: #e7f29d; }
.footer a:hover, .footer-brand .text-link { color: #eaf6a3; }
.footer-bottom { border-color: #ffffff36; }
@media (prefers-reduced-motion: no-preference) {
  .splash-copy { animation: splash-in .48s cubic-bezier(.17,.72,.3,1) both; }
  .splash-grid > .section-illustration { animation: splash-in .64s .05s cubic-bezier(.17,.72,.3,1) both; }
  .splash-grid > .section-illustration::before { animation: paper-layer .65s .12s cubic-bezier(.17,.72,.3,1) both; }
  .splash-kicker .pulse-dot { animation: accent-dot .8s .34s ease-out both; }
  .mission-panel:target { animation: mission-focus .6s ease-out; }
}
@keyframes splash-in { from { opacity: .35; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes paper-layer { from { transform: rotate(0deg); } to { transform: rotate(3.4deg) translate(6px,8px); } }
@keyframes accent-dot { from { transform: scale(.75); } 50% { transform: scale(1.24); } to { transform: none; } }
@keyframes mission-focus { from { box-shadow: 0 0 0 5px var(--tone-tile); } to { box-shadow: var(--shadow); } }
@media (max-width: 960px) {
  .mission-panel { grid-column: span 6; }
  .mission-panel:last-child { grid-column: 1 / -1; }
}
@media (max-width: 779px) {
  .header-inner { min-height: 64px; }
  .splash-grid { grid-template-columns: 1fr; gap: 20px; padding-block: 27px 34px; }
  .splash-copy h1 { font-size: clamp(2.65rem,9.2vw,4.35rem); max-width: 15ch; }
  .splash-copy > p:not(.kicker) { margin-top: 12px; }
  .splash-actions { margin-top: 15px; gap: 11px 15px; }
  .section-illustration img { border-width: 2px; border-radius: 17px; }
  .section-illustration::before, .section-illustration::after { border-radius: 17px; }
  .schedule-layout { grid-template-columns: 1fr; }
  .story-mast .editorial-mast-wrap, .mast-decoration { grid-template-columns: 1fr; }
  .story-emblem, .story-mast .section-illustration-small { display: none; }
}
@media (max-width: 500px) {
  .mission-panels, .home-topics { grid-template-columns: 1fr; }
  .mission-panel, .mission-panel:nth-child(n) { grid-column: 1; }
  .mission-panel-top { margin-bottom: 9px; }
  .chapter-heading { align-items: flex-start; }
  .ribbon-cta { grid-template-columns: auto 1fr; gap: 11px; }
  .ribbon-cta .button { grid-column: 2; justify-self: start; }
  .calendar-top { padding-inline: 10px; }
  .calendar-grid { width: calc(100% - 10px); margin-inline: 5px; border-spacing: 2px; }
  .calendar-day { min-height: 33px; font-size: .78rem; }
}
@media (prefers-reduced-motion: reduce) {
  .main-nav a::after, .waypoint, .calendar-arrow { transition: none; }
  .reveal-pending { transform: none; opacity: 1; }
}

.theme-blue {
  --splash-bg: #d8eafa;
  --splash-accent: #85bce3;
  --splash-ink: #1b385a;
  --splash-muted: #324e66;
  --splash-kicker: #254f78;
  --splash-button: #24456e;
  --splash-button-ink: #fffaf0;
  --splash-dot: #447aa9;
  --art-edge: #548cc4;
  --art-layer: #f5a075;
}
.detail-splash .splash-grid {
  grid-template-columns: minmax(0,1fr) minmax(0,.95fr);
  padding-bottom: clamp(47px,6vw,81px);
}
.detail-splash .splash-copy h1 {
  max-width: 18ch;
  font-size: clamp(2.65rem,4.5vw,4.35rem);
  line-height: 1.04;
  letter-spacing: -.06em;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.detail-splash .splash-copy > p:not(.kicker) { max-width: 54ch; }
.detail-splash .section-illustration { max-width: 620px; }
.event-state {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 18px;
  padding: 6px 11px;
  border: 1px solid color-mix(in srgb,var(--splash-ink) 28%,transparent);
  border-radius: 30px;
  color: var(--splash-ink);
  font-size: .76rem;
  font-weight: 800;
}
.event-state svg, .event-card-date svg, .event-card-location svg { width: 15px; height: 15px; flex: none; }
.event-overview { position: relative; z-index: 1; margin-top: -25px; }
.event-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,190px),1fr));
  margin: 0;
  padding: 7px;
  gap: 5px;
  background: #fffcf8;
  border: 1px solid var(--tone-border);
  border-radius: 19px;
  box-shadow: var(--shadow);
}
.event-fact { position: relative; min-width: 0; padding: 13px 10px 13px 57px; background: var(--tone-bg); border-radius: 13px; }
.fact-icon { display: grid; place-items: center; width: 37px; height: 37px; border-radius: 10px; background: var(--tone-tile); color: var(--tone-text); flex: none; }
.fact-icon svg { width: 18px; height: 18px; }
.event-fact .fact-icon { position: absolute; top: 12px; left: 11px; }
.event-fact dt, .event-topic { font-size: .69rem; font-weight: 800; color: var(--tone-text); }
.event-fact dd { margin: 2px 0 0; font-size: .91rem; font-weight: 750; line-height: 1.34; overflow-wrap: anywhere; }
.detail-reading {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(200px,270px);
  gap: clamp(14px,3vw,36px);
  align-items: start;
  padding-block: clamp(30px,5vw,59px) clamp(36px,6vw,76px);
}
.detail-paper {
  padding: clamp(17px,3vw,38px);
  border: 1px solid var(--tone-border);
  border-radius: 19px;
  background: #fffcf8;
  box-shadow: var(--shadow);
}
.detail-paper:only-child { grid-column: 1/-1; width: min(100%,880px); }
.detail-paper .prose > :first-child,
.detail-paper .prose > div:first-child > :first-child { margin-top: 0; }
.detail-paper .prose > :last-child,
.detail-paper .prose > div:last-child > :last-child { margin-bottom: 0; }
.detail-paper .prose :is(h2,h3) { color: var(--tone-text); scroll-margin-top: 104px; }
.detail-side { position: sticky; top: 101px; display: grid; gap: 12px; }
.detail-index, .detail-return {
  position: static;
  padding: 16px;
  border: 1px solid var(--tone-border);
  background: var(--tone-bg);
  border-radius: 15px;
}
.detail-index :is(a,.kicker), .detail-return :is(h2,.text-link) { color: var(--tone-text); }
.detail-return h2 { font-size: 1.15rem; margin-top: 10px; }
.detail-return p { margin: 6px 0 10px; color: var(--muted); font-size: .85rem; }
.detail-return .text-link { display: flex; width: fit-content; margin-top: 8px; }
.event-source { display: grid; gap: 6px; margin: 26px 0 0; }
.event-source img { max-height: 580px; width: auto; max-width: 100%; border-radius: 13px; }
.event-source figcaption { font-size: .77rem; color: var(--muted); }
.mission-more {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  margin-top: 16px;
  padding: 7px 10px;
  border-radius: 8px;
  color: var(--tone-text);
  background: var(--tone-tile);
  font-size: .78rem;
  font-weight: 800;
  text-decoration: none;
}
.mission-more svg { width: 15px; height: 15px; }
.mission-more:hover { color: var(--tone-text); text-decoration: underline; }
.mission-more-section { background: #f0e9f4; border-block: 1px solid #e6dce9; }
.mission-more-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.mission-related {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items: center;
  min-width: 0;
  min-height: 60px;
  padding: 9px;
  border: 1px solid var(--tone-border);
  border-radius: 13px;
  background: #fffcf8;
  color: var(--tone-text);
  font-size: .88rem;
  font-weight: 800;
  text-decoration: none;
}
.mission-related:hover { background: var(--tone-bg); color: var(--tone-text); }
.mission-related > svg { width: 15px; height: 15px; }
.schedule-caption { margin: -4px 0 14px; color: var(--muted); font-size: .88rem; }
.event-card {
  min-width: 0;
  background: #fffdfa;
  border: 1px solid var(--tone-border);
  border-radius: 15px;
  box-shadow: 0 4px 10px #3828470a;
}
.event-card-link {
  display: grid;
  grid-template-columns: minmax(135px,.58fr) minmax(0,1fr);
  align-items: center;
  gap: 14px;
  padding: 9px;
  border-radius: inherit;
  color: inherit;
  text-decoration: none;
}
.event-card-link:hover { color: inherit; background: var(--tone-bg); }
.event-card-art { border-radius: 9px; overflow: hidden; background: var(--tone-tile); }
.event-card-art img { width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; }
.event-card-copy { min-width: 0; padding: 2px 4px 4px 0; }
.event-topic { display: inline-block; margin-bottom: 4px; padding: 2px 7px; border-radius: 4px; background: var(--tone-bg); }
.event-card h4 {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 6px;
  margin: 0 0 5px;
  font-size: clamp(.94rem,1.4vw,1.12rem);
  line-height: 1.27;
}
.event-card h4 svg { width: 14px; height: 14px; color: var(--tone-text); flex: none; }
.event-card-date, .event-card-location { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 5px; color: var(--tone-text); font-size: .74rem; font-weight: 750; line-height: 1.45; }
.event-card-date svg, .event-card-location svg { align-self: center; }
.event-card-location { display: grid; grid-template-columns: auto 1fr; align-items: start; margin-top: 5px; font-weight: 650; }
.event-card-summary { margin-top: 5px; color: var(--muted); font-size: .83rem; line-height: 1.4; }
.archive-strip .event-card-link { grid-template-columns: 1fr; height: 100%; gap: 9px; }
.archive-strip .event-card-link { align-content: start; }
.archive-strip .event-card-copy { padding: 2px 5px 6px; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .event-card-link, .mission-related { transition: background .2s ease; }
  .event-card-art img { transition: transform .35s cubic-bezier(.17,.72,.3,1); }
  .event-card-link:hover img { transform: scale(1.045); }
  .detail-splash .section-illustration img { transition: transform .45s cubic-bezier(.17,.72,.3,1); }
  .detail-splash .section-illustration:hover img { transform: rotate(-1.1deg) translateY(-3px); }
}
@media (max-width: 900px) {
  .mission-more-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 779px) {
  .detail-splash .splash-grid { grid-template-columns: 1fr; padding-bottom: 40px; }
  .detail-splash .splash-copy h1 { font-size: clamp(2.25rem,8vw,3.75rem); max-width: 22ch; text-wrap: initial; }
  .detail-reading, .archive-strip { grid-template-columns: 1fr; }
  .detail-side { position: static; }
  .archive-strip .event-card-link { grid-template-columns: minmax(135px,.58fr) minmax(0,1fr); }
}
@media (max-width: 560px) {
  .event-card-link, .archive-strip .event-card-link { grid-template-columns: 1fr; gap: 9px; }
  .event-card-copy { padding: 2px 5px 6px; }
}
@media (max-width: 475px) {
  .event-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .event-fact { padding: 10px 8px 10px 40px; }
  .event-fact .fact-icon { width: 27px; height: 27px; left: 7px; top: 8px; }
  .event-fact .fact-icon svg { width: 15px; height: 15px; }
  .event-fact dd { font-size: .79rem; }
  .mission-related { font-size: .79rem; gap: 6px; }
  .mission-related .fact-icon { width: 29px; height: 29px; }
  .mission-related > svg { display: none; }
}

