:root {
  color-scheme: light;
  --ink: #17181a;
  --muted: #62636a;
  --paper: #f7f8f5;
  --white: #ffffff;
  --line: #dddcd5;
  --blue: #0b5637;
  --blue-soft: #e8f2ec;
  --orange: #d7893b;
  --orange-soft: #fbefdf;
  --amber: #9a501d;
  --red: #4a2117;
  --red-soft: #f6ece7;
  --green: #267353;
  --green-soft: #e7f2eb;
  --shadow: 0 18px 50px rgba(20, 32, 48, 0.1);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  min-height: 100vh;
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

button { font: inherit; cursor: pointer; }
a { color: inherit; }

.site-shell {
  display: grid;
  grid-template-columns: 286px minmax(0, 1fr);
  min-height: 100vh;
}

.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  gap: 28px;
  padding: 24px 20px;
  background: linear-gradient(180deg, #103b29 0%, #234f38 42%, #4a2117 76%, #8f4b1d 100%);
  color: #fff;
}

.brand {
  display: grid;
  gap: 9px;
  color: inherit;
  text-decoration: none;
}

.logo-wrap {
  width: 150px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  margin: 0 auto;
  padding: 10px;
  overflow: hidden;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.25);
}

.logo-wrap img { display: block; width: 82%; height: 82%; object-fit: contain; transform: translateY(-5%); }
.brand-tagline { padding: 0 3px; }
.brand small { display: block; color: rgba(255,255,255,.72); font-size: 11px; line-height: 1.3; }

.primary-nav { display: grid; gap: 8px; }

.nav-button {
  min-height: 52px;
  display: grid;
  grid-template-columns: 30px 1fr;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 6px;
  padding: 10px 12px;
  background: rgba(255,255,255,.07);
  color: #fff;
  text-align: left;
  font-weight: 760;
  line-height: 1.25;
  overflow: visible;
}

.nav-button .nav-index { color: rgba(255,255,255,.48); font-size: 11px; }
.nav-button .nav-copy { min-width: 0; color: inherit; font-size: 13px; overflow-wrap: normal; }
.nav-button:hover, .nav-button.active { background: #fff; color: var(--ink); }
.nav-button.active .nav-index { color: var(--red); }

.sidebar-context {
  display: grid;
  gap: 7px;
  padding: 15px;
  border-top: 3px solid var(--orange);
  background: rgba(255,255,255,.09);
}

.sidebar-context strong { font-size: 15px; line-height: 1.3; }
.sidebar-context span, .sidebar-note { color: rgba(255,255,255,.66); font-size: 12px; line-height: 1.45; }
.sidebar-note { margin-top: auto; }

main { min-width: 0; padding: 22px 28px 56px; }

.topbar {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}
body[data-current-view="hub"] .topbar { display: none; }

.topbar h1 { margin: 0; font-size: clamp(26px, 3vw, 39px); letter-spacing: 0; }
.eyebrow { margin: 0 0 6px; color: inherit; opacity: .62; font-size: 11px; font-weight: 850; text-transform: uppercase; }

.print-button {
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 9px 14px;
  background: #fff;
  color: var(--ink);
  font-weight: 800;
}

.view { display: none; }
.view.active { display: block; }

.intro-band {
  min-height: 390px;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
  align-items: center;
  gap: 38px;
  padding: clamp(32px, 5vw, 68px);
  background: linear-gradient(120deg, #0b5637 0%, #267353 48%, #d7893b 48.2%, #9a501d 72%, #693521 72.2%, #3c1c15 100%);
  color: #fff;
  box-shadow: var(--shadow);
}

.intro-copy { max-width: 760px; }
.intro-copy h2, .view-intro h2 { margin: 0 0 16px; font-size: clamp(32px, 5vw, 58px); line-height: 1.02; letter-spacing: 0; }
.intro-copy p { margin: 0; max-width: 690px; font-size: 17px; line-height: 1.6; }

.discipline-mark { display: grid; gap: 8px; align-content: center; }
.discipline-mark span { display: block; border: 1px solid rgba(255,255,255,.45); padding: 16px; font-size: 18px; font-weight: 850; text-align: center; }
.discipline-mark i { width: 2px; height: 22px; justify-self: center; background: rgba(255,255,255,.6); }

.definition-strip,
.pathway-section,
.bridge-section,
.industry-map,
.education-lanes,
.action-builder,
.resource-directory,
.hub-purpose,
.hub-pathway,
.hub-architecture,
.hub-boundary,
.hub-scope-band,
.org-structure,
.seminar-system,
.editorial-note {
  margin-top: 18px;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: var(--shadow);
}

.definition-strip {
  display: grid;
  grid-template-columns: 72px minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: 22px;
  align-items: start;
  padding: 28px;
}

.section-number {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  background: var(--blue);
  color: #fff;
  font-size: 18px;
  font-weight: 900;
}

.definition-strip h2, .pathway-heading h2, .bridge-section h2, .industry-map h2, .action-builder h2, .resource-directory h2 {
  margin: 0 0 10px;
  font-size: clamp(23px, 3vw, 35px);
}

.definition-strip p, .pathway-heading p, .bridge-copy p, .industry-heading p, .builder-heading p, .view-intro p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.definition-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.definition-actions span { min-height: 42px; display: grid; place-items: center; padding: 8px; background: var(--blue-soft); color: #174f36; font-size: 12px; font-weight: 800; text-align: center; }

.pathway-section { padding: 28px; }
.pathway-heading { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 22px; margin-bottom: 22px; }
.pathway-heading .section-number { background: var(--orange); color: #2d1700; }

.track-selector { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.track-button, .setting-button {
  min-height: 62px;
  border: 1px solid var(--line);
  border-radius: 5px;
  padding: 10px;
  background: #f9fafb;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
  text-align: left;
}
.track-button:hover, .track-button.active { border-color: var(--blue); background: var(--blue-soft); color: #174f36; }

.track-detail {
  margin-top: 10px;
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 22px;
  border-left: 7px solid var(--blue);
  padding: 22px;
  background: #f6faf7;
}
.track-detail h3 { margin: 0 0 8px; font-size: 25px; }
.track-detail p { margin: 0; color: var(--muted); line-height: 1.55; }
.concept-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
.concept-grid span { padding: 10px; border: 1px solid #cfe2d7; background: #fff; font-size: 12px; font-weight: 750; }

.bridge-section { display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, .7fr); gap: 28px; padding: 28px; }
.bridge-copy .boundary-note { margin-top: 15px; padding: 14px; border-left: 5px solid var(--red); background: var(--red-soft); }
.bridge-visual { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; align-content: center; }
.bridge-visual span, .bridge-visual strong { min-height: 58px; display: grid; place-items: center; padding: 10px; background: var(--orange-soft); color: #6f3b00; font-size: 12px; text-align: center; }
.bridge-visual strong { grid-column: 1 / -1; background: linear-gradient(90deg, var(--blue), var(--orange), var(--red)); color: #fff; font-size: 16px; }

.view-intro { max-width: 960px; padding: 30px 0 22px; }
.view-intro h2 { color: var(--ink); }
.program-jump-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.program-jump-nav button { min-height: 42px; border: 1px solid var(--green); border-radius: 2px; padding: 9px 14px; background: transparent; color: var(--green); font-size: 12px; font-weight: 850; }
.program-jump-nav button:hover { border-color: var(--orange); background: var(--orange); color: #2d1700; }
.learning-program-section { scroll-margin-top: 24px; }
.program-explainer { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 20px; border-block: 1px solid var(--line); }
.program-explainer > div { padding: 16px 18px; }
.program-explainer > div + div { border-left: 1px solid var(--line); }
.program-explainer strong { color: var(--green); font-size: 11px; text-transform: uppercase; }
.program-explainer p { margin: 7px 0 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.top-topic-entry { padding: 20px 0; }
.top-topic-entry header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px; align-items: start; }
.top-topic-entry header span { color: var(--green); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.top-topic-entry h3 { max-width: 800px; margin: 6px 0 0; font-size: 22px; }
.top-topic-entry time { color: var(--muted); font-size: 12px; font-weight: 800; }
.top-topic-summary { margin: 16px 0 0; color: var(--muted); line-height: 1.6; }
.top-topic-details { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 18px; border-block: 1px solid var(--line); }
.top-topic-details > div { padding: 16px; }
.top-topic-details > div + div { border-left: 1px solid var(--line); }
.top-topic-details strong { color: var(--green); font-size: 11px; text-transform: uppercase; }
.top-topic-details p, .top-topic-details ul { margin: 7px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.top-topic-details ul { padding-left: 17px; }
.top-topic-source { display: inline-flex; margin-top: 16px; color: var(--blue); font-size: 12px; font-weight: 850; }
.top-topic-source:hover { color: var(--orange); }

.role-workspace { display: grid; grid-template-columns: 260px minmax(0, 1fr); min-height: 430px; border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow); }
.setting-rail { display: grid; align-content: start; gap: 7px; padding: 15px; border-right: 1px solid var(--line); background: #f5f7f9; }
.setting-button { min-height: 52px; }
.setting-button:hover, .setting-button.active { background: #17191e; color: #fff; border-color: #17191e; }
.setting-detail { padding: 30px; }
.setting-detail h2 { margin: 0 0 8px; font-size: 34px; }
.setting-summary { margin: 0 0 22px; color: var(--muted); line-height: 1.55; }
.role-columns { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; }
.role-column { border-top: 4px solid var(--orange); padding-top: 13px; }
.role-column:nth-child(2) { border-top-color: var(--blue); }
.role-column h3 { margin: 0 0 10px; }
.role-column ul { margin: 0; padding-left: 19px; color: var(--muted); line-height: 1.55; }
.role-column li + li { margin-top: 7px; }

.industry-map { padding: 28px; }
.industry-heading { max-width: 920px; }
.lifecycle { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; margin-top: 24px; }
.life-stage { min-height: 180px; padding: 15px; border-top: 5px solid var(--blue); background: #f6f9fb; }
.life-stage:nth-child(2) { border-color: var(--orange); }
.life-stage:nth-child(3) { border-color: var(--amber); }
.life-stage:nth-child(4) { border-color: var(--red); }
.life-stage small { color: var(--muted); font-weight: 850; }
.life-stage h3 { margin: 7px 0; font-size: 18px; }
.life-stage p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }

.education-lanes { display: grid; grid-template-columns: 1fr 42px 1fr 42px 1fr; gap: 0; align-items: stretch; }
.education-lane { padding: 22px; }
.pharmacy-lane { border-top: 6px solid var(--blue); }
.focus-lane { border-top: 6px solid var(--orange); }
.practice-lane { border-top: 6px solid var(--red); }
.education-lane h3 { margin: 12px 0 15px; font-size: 20px; }
.lane-label { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 11px; font-weight: 850; text-transform: uppercase; }
.lane-label span { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; background: #17191e; color: #fff; }
.lane-arrow { display: grid; place-items: center; background: #eff2f5; color: var(--muted); font-size: 25px; font-weight: 700; }
.capability-list { display: grid; gap: 7px; }
.capability-item { padding: 9px 10px; background: #f5f7f9; color: #45484e; font-size: 12px; line-height: 1.4; }

.action-builder { padding: 28px; }
.builder-heading { max-width: 920px; }
.action-options { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 9px; margin-top: 20px; }
.action-option { min-height: 84px; display: grid; grid-template-columns: 20px 1fr; gap: 8px; align-items: start; padding: 12px; border: 1px solid var(--line); background: #fff; color: var(--ink); font-size: 12px; font-weight: 750; line-height: 1.4; text-transform: none; }
.action-option:has(input:checked) { border-color: var(--blue); background: var(--blue-soft); }
.action-option input { width: 17px; height: 17px; margin: 0; accent-color: var(--blue); }
.plan-output { display: grid; grid-template-columns: minmax(220px,.7fr) minmax(0,1.3fr); gap: 20px; margin-top: 16px; padding: 20px; background: #17191e; color: #fff; }
.plan-output h3 { margin: 0; font-size: 24px; }
.plan-output p { margin: 0; color: rgba(255,255,255,.72); line-height: 1.5; }
.plan-output ul { margin: 0; padding-left: 20px; color: rgba(255,255,255,.82); line-height: 1.5; }

.resource-directory { padding: 28px; }
.resource-list { margin-top: 18px; border-top: 1px solid var(--line); }
.resource-row { display: grid; grid-template-columns: 190px 1fr 120px; gap: 18px; align-items: center; padding: 15px 0; border-bottom: 1px solid var(--line); }
.resource-row strong { font-size: 15px; }
.resource-row p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.resource-row a { justify-self: end; color: var(--blue); font-size: 12px; font-weight: 850; }

.hub-hero {
  min-height: 410px;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
  gap: 36px;
  align-items: center;
  padding: clamp(32px, 5vw, 64px);
  background: linear-gradient(125deg, #0b5637 0%, #267353 44%, #d7893b 44.2%, #9a501d 69%, #693521 69.2%, #3c1c15 100%);
  color: #fff;
  box-shadow: var(--shadow);
}

.hub-logo-lockup { max-width: 780px; }
.hub-logo { width: min(190px, 100%); aspect-ratio: 1; display: grid; place-items: center; margin-bottom: 18px; padding: 10px; overflow: hidden; border-radius: 50%; background: #fff; box-shadow: 0 14px 32px rgba(0,0,0,.22); }
.hub-logo img { display: block; width: 82%; height: 82%; object-fit: contain; transform: translateY(-5%); }
.hub-logo-lockup h2 { margin: 0 0 14px; font-size: clamp(31px, 5vw, 56px); line-height: 1.04; }
.hub-logo-lockup p { margin: 0; max-width: 710px; font-size: 16px; line-height: 1.6; }
.hub-position { display: grid; grid-template-columns: 1fr 28px 1fr; gap: 8px; align-items: center; }
.hub-position span, .hub-position strong { min-height: 62px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.48); padding: 10px; text-align: center; }
.hub-position i { font-style: normal; text-align: center; font-weight: 900; }
.hub-position strong { grid-column: 1 / -1; border: 0; background: #fff; color: var(--red); font-size: 22px; }

.home-definition, .mission-system {
  margin-top: 18px;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: var(--shadow);
  padding: 28px;
}
.home-definition { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr); gap: 26px; align-items: center; border-left: 7px solid var(--green); }
.home-definition h2, .mission-system h2 { margin: 0 0 10px; font-size: clamp(24px,3vw,36px); }
.home-definition p, .mission-heading p { margin: 0; color: var(--muted); line-height: 1.6; }
.definition-topics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.definition-topics span { min-height: 43px; display: grid; place-items: center; padding: 8px; border: 1px solid #cfe2d7; background: var(--blue-soft); color: #28523d; font-size: 12px; font-weight: 800; text-align: center; }
.mission-heading { max-width: 900px; }
.mission-columns { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin-top: 20px; }
.mission-columns article { min-height: 210px; padding: 16px; border-top: 5px solid var(--green); background: #f7f8f5; }
.mission-columns article:nth-child(2) { border-color: var(--orange); }
.mission-columns article:nth-child(3) { border-color: var(--red); }
.mission-columns span { color: var(--muted); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.mission-columns h3 { margin: 8px 0; font-size: 19px; }
.mission-columns p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.hub-purpose-heading p + p { margin-top: 10px; }

.hub-scope-band { display: grid; grid-template-columns: minmax(280px,.8fr) minmax(0,1.2fr); gap: 26px; align-items: center; padding: 24px 28px; border-left: 7px solid var(--orange); }
.hub-scope-band h2 { margin: 0; font-size: clamp(22px, 3vw, 32px); }
.hub-scope-band > p { margin: 0; color: var(--muted); line-height: 1.6; }

.hub-purpose, .hub-pathway, .hub-architecture { padding: 28px; }
.hub-purpose-heading, .hub-architecture-heading { max-width: 920px; }
.hub-purpose h2, .hub-pathway h2, .hub-architecture h2 { margin: 0 0 10px; font-size: clamp(24px, 3vw, 36px); }
.hub-purpose-heading p, .hub-architecture-heading p { margin: 0; color: var(--muted); line-height: 1.6; }
.hub-functions { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 9px; margin-top: 22px; }
.hub-functions article { min-height: 190px; padding: 15px; border-top: 5px solid var(--blue); background: #f6f9fb; }
.hub-functions article:nth-child(2) { border-color: var(--orange); }
.hub-functions article:nth-child(3) { border-color: var(--amber); }
.hub-functions article:nth-child(4) { border-color: var(--red); }
.hub-functions article:nth-child(5) { border-color: var(--green); }
.hub-functions span { display: block; color: var(--muted); font-size: 11px; font-weight: 850; }
.hub-functions strong { display: block; margin: 8px 0; font-size: 18px; }
.hub-functions p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }

.org-structure, .seminar-system { padding: 28px; }
.org-heading, .seminar-heading { max-width: 970px; }
.org-heading h2, .seminar-heading h2 { margin: 0 0 10px; font-size: clamp(24px, 3vw, 36px); }
.org-heading p, .seminar-heading p { margin: 0; color: var(--muted); line-height: 1.6; }
.board-structure { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 14px; margin-top: 22px; }
.board-label { display: grid; align-content: center; gap: 6px; padding: 18px; background: #17191e; color: #fff; }
.board-label span { color: rgba(255,255,255,.62); font-size: 11px; font-weight: 850; text-transform: uppercase; }
.board-label strong { font-size: 23px; }
.board-label small { color: rgba(255,255,255,.66); line-height: 1.4; }
.board-members { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
.board-members article { min-height: 112px; padding: 12px; border-top: 4px solid var(--blue); background: #f5f8fa; }
.board-members article:nth-child(2), .board-members article:nth-child(5) { border-color: var(--orange); }
.board-members article:nth-child(3), .board-members article:nth-child(6) { border-color: var(--red); }
.board-members article.future-seat { border-style: dashed; opacity: .75; }
.board-members strong { display: block; margin-bottom: 6px; font-size: 13px; line-height: 1.35; }
.board-members p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.4; }
.department-tree { display: grid; gap: 12px; margin-top: 14px; padding-top: 22px; border-top: 2px solid var(--line); }
.department { display: grid; grid-template-columns: minmax(230px,.65fr) minmax(0,1.35fr); gap: 18px; padding: 18px; background: #f7f9fb; border-left: 7px solid var(--blue); }
.media-department { border-left-color: var(--red); }
.identity-department { border-left-color: var(--green); }
.department header > span { color: var(--muted); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.department h3 { margin: 6px 0; font-size: 21px; }
.department header p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.department-units { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
.department-units.two-units { grid-template-columns: repeat(2, minmax(0,1fr)); }
.department-units div { padding: 12px; border: 1px solid var(--line); background: #fff; }
.department-units strong, .department-units span { display: block; }
.department-units strong { color: var(--red); font-size: 16px; }
.department-units span { margin: 4px 0 7px; font-size: 11px; font-weight: 850; }
.department-units p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.4; }

.application-rails { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 7px; margin-top: 22px; }
.application-rails strong, .application-rails span { min-height: 50px; display: grid; place-items: center; padding: 9px; text-align: center; }
.application-rails strong { grid-column: 1 / -1; background: #17191e; color: #fff; }
.application-rails span { border: 1px solid #cfe2d7; background: var(--blue-soft); color: #28523d; font-size: 12px; font-weight: 750; }
.semester-flow { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 9px; margin-top: 16px; }
.semester-flow article { min-height: 190px; padding: 15px; border-top: 5px solid var(--blue); background: #f6f9fb; }
.semester-flow article:nth-child(2) { border-color: var(--orange); }
.semester-flow article:nth-child(3) { border-color: var(--amber); }
.semester-flow article:nth-child(4) { border-color: var(--red); }
.meeting-rhythm { grid-template-columns: repeat(5, minmax(0,1fr)); }
.meeting-rhythm article:nth-child(5) { border-color: var(--green); }
.semester-flow span { color: var(--muted); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.semester-flow h3 { margin: 7px 0; font-size: 18px; }
.semester-flow p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.seminar-boundary { margin-top: 14px; padding: 15px; border-left: 6px solid var(--orange); background: var(--orange-soft); }
.seminar-boundary p { margin: 6px 0 0; color: var(--muted); line-height: 1.5; }

.hub-pathway { display: grid; grid-template-columns: minmax(230px,.65fr) minmax(0,1.35fr); gap: 24px; align-items: start; border-left: 7px solid var(--blue); }
.hub-pathway-output { display: grid; gap: 9px; }
.hub-pathway-output h3 { margin: 0; font-size: 24px; }
.hub-pathway-output p { margin: 0; color: var(--muted); line-height: 1.55; }
.hub-support-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
.hub-support-grid span { padding: 11px; border: 1px solid #cfe2d7; background: var(--blue-soft); color: #28523d; font-size: 12px; font-weight: 750; line-height: 1.4; }

.hub-layer-list { margin-top: 20px; border-top: 1px solid var(--line); }
.hub-layer-list article { display: grid; grid-template-columns: minmax(250px,.8fr) minmax(0,1.2fr); gap: 24px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.hub-layer-list article.available { border-left: 6px solid var(--green); padding-left: 14px; }
.hub-layer-list article.developing { border-left: 6px solid var(--orange); padding-left: 14px; }
.hub-layer-list span { color: var(--muted); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.hub-layer-list h3 { margin: 5px 0 0; font-size: 18px; }
.hub-layer-list p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.tool-link { display: inline-flex; margin-top: 9px; color: var(--blue); font-size: 12px; font-weight: 850; }
.hub-boundary { padding: 20px; border-left: 7px solid var(--red); background: var(--red-soft); }
.hub-boundary p { margin: 7px 0 0; color: var(--muted); line-height: 1.5; }

.community-intro {
  min-height: 360px;
  display: grid;
  grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr);
  gap: 34px;
  align-items: center;
  padding: clamp(30px, 5vw, 60px);
  background: linear-gradient(125deg, #0b5637 0%, #267353 51%, #d7893b 51.2%, #9a501d 76%, #4a2117 100%);
  color: #fff;
  box-shadow: var(--shadow);
}
.community-intro h2 { margin: 0 0 14px; font-size: clamp(31px, 5vw, 54px); line-height: 1.04; }
.community-intro p { margin: 0; max-width: 760px; line-height: 1.6; }
.community-mark { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
.community-mark strong, .community-mark span { min-height: 68px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.5); padding: 10px; text-align: center; }
.community-mark strong { grid-column: 1 / -1; background: #fff; color: var(--blue); font-size: 20px; }
.founder-section, .member-section, .member-work, .membership-boundary { margin-top: 18px; border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow); }
.founder-section, .member-section, .member-work { padding: 28px; }
.community-heading { max-width: 940px; }
.community-heading h2 { margin: 0 0 9px; font-size: clamp(24px, 3vw, 36px); }
.community-heading p { margin: 0; color: var(--muted); line-height: 1.55; }
.founder-slots { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; margin-top: 20px; }
.founder-slots article { min-height: 170px; padding: 18px; border-top: 5px solid var(--orange); background: #f8f8f4; }
.founder-slots article:nth-child(2) { border-color: var(--green); }
.founder-slots span { color: var(--muted); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.founder-slots h3 { margin: 8px 0; font-size: 20px; }
.founder-slots p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.member-path { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 9px; margin-top: 20px; }
.member-path article { min-height: 175px; padding: 15px; border-top: 5px solid var(--blue); background: #f7f8f5; }
.member-path article:nth-child(2) { border-color: var(--green); }
.member-path article:nth-child(3) { border-color: var(--orange); }
.member-path article:nth-child(4) { border-color: var(--red); }
.member-path span { color: var(--muted); font-size: 10px; font-weight: 850; }
.member-path h3 { margin: 8px 0; }
.member-path p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.member-work-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 24px; margin-top: 18px; border-top: 1px solid var(--line); }
.member-work-list article { padding: 16px 0; border-bottom: 1px solid var(--line); }
.member-work-list strong { display: block; margin-bottom: 6px; }
.member-work-list p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.membership-boundary { padding: 20px; border-left: 7px solid var(--orange); background: var(--orange-soft); }
.membership-boundary p { margin: 6px 0 0; color: var(--muted); line-height: 1.5; }
.eboard-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 9px; margin-top: 20px; }
.eboard-grid article { min-height: 160px; padding: 15px; border-top: 5px solid var(--blue); background: #f7f8f5; }
.eboard-grid article:nth-child(2), .eboard-grid article:nth-child(5) { border-color: var(--orange); }
.eboard-grid article:nth-child(3), .eboard-grid article:nth-child(6) { border-color: var(--red); }
.eboard-grid article.future-seat { border-style: dashed; opacity: .75; }
.eboard-grid span { color: var(--muted); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.eboard-grid h3 { margin: 8px 0; font-size: 18px; }
.eboard-grid p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }

.resources-hero {
  min-height: 360px;
  display: grid;
  grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr);
  gap: 34px;
  align-items: center;
  padding: clamp(30px, 5vw, 60px);
  background: linear-gradient(125deg, #0b5637 0%, #267353 48%, #d7893b 48.2%, #9a501d 73%, #4a2117 100%);
  color: #fff;
  box-shadow: var(--shadow);
}
.resources-hero h2 { margin: 0 0 14px; font-size: clamp(31px, 5vw, 54px); line-height: 1.04; }
.resources-hero p { margin: 0; max-width: 760px; line-height: 1.6; }
.resource-status-key { display: grid; gap: 8px; padding: 16px; border: 1px solid rgba(255,255,255,.35); background: rgba(255,255,255,.1); }
.resource-status-key span { display: flex; align-items: center; gap: 9px; font-size: 13px; font-weight: 800; }
.status-dot { width: 12px; height: 12px; display: inline-block; border-radius: 50%; background: #fff; }
.available-dot { background: #80c69c; }
.pending-dot { background: #e8cf63; }
.developing-dot { background: #e7a459; }
.planned-dot { background: #d7b9aa; }
.resource-catalog, .resource-governance { margin-top: 18px; border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow); }
.resource-catalog { padding: 28px; }
.resource-catalog-heading { max-width: 960px; }
.resource-catalog-heading h2 { margin: 0 0 9px; font-size: clamp(24px,3vw,36px); }
.resource-catalog-heading p { margin: 0; color: var(--muted); line-height: 1.55; }
.resource-catalog-list { margin-top: 20px; border-top: 1px solid var(--line); }
.resource-catalog-row { display: grid; grid-template-columns: minmax(220px,.7fr) minmax(0,1.3fr) 150px; gap: 22px; align-items: center; padding: 17px 0 17px 14px; border-bottom: 1px solid var(--line); border-left: 6px solid var(--green); }
.resource-catalog-row.resource-pending { border-left-color: #c3a52f; }
.resource-catalog-row.resource-developing { border-left-color: var(--orange); }
.resource-catalog-row.resource-planned { border-left-color: #a9826e; }
.resource-catalog-row span:first-child { color: var(--muted); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.resource-catalog-row h3 { margin: 5px 0 0; font-size: 18px; }
.resource-catalog-row p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.resource-catalog-row a, .resource-catalog-row button, .resource-action-muted { justify-self: end; border: 0; padding: 0; background: transparent; color: var(--blue); font-size: 12px; font-weight: 850; text-align: right; }
.resource-catalog-row a:hover, .resource-catalog-row button:hover { color: var(--orange); }
.resource-action-muted { color: var(--muted); }
.resource-governance { padding: 20px; border-left: 7px solid var(--orange); background: var(--orange-soft); }
.resource-governance p { margin: 6px 0 0; color: var(--muted); line-height: 1.5; }

.contact-route { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 28px; align-items: center; margin-top: 18px; padding: 24px 28px; border-left: 7px solid var(--blue); background: var(--blue-soft); }
.contact-route h2 { margin: 3px 0 7px; font-size: 24px; }
.contact-route p { margin: 0; color: var(--muted); line-height: 1.5; }
.contact-route button { min-height: 44px; border: 1px solid var(--green); border-radius: 4px; padding: 10px 17px; background: var(--green); color: #fff; font: inherit; font-weight: 850; }
.contact-route button:hover { border-color: var(--orange); background: var(--orange); }
.contact-intro { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(320px,.9fr); gap: 36px; align-items: center; padding: clamp(30px,5vw,58px); background: linear-gradient(125deg,#0b5637 0%,#267353 58%,#d7893b 58.2%,#7e351c 100%); color: #fff; box-shadow: var(--shadow); }
.contact-intro h2 { margin: 0 0 13px; font-size: clamp(31px,5vw,52px); line-height: 1.04; }
.contact-intro p { max-width: 720px; margin: 0; line-height: 1.6; }
.chapter-router { display: grid; gap: 12px; border-left: 4px solid var(--orange); padding: 20px 0 20px 24px; }
.chapter-router label { display: grid; gap: 8px; }
.chapter-router label > span { color: var(--green); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.chapter-router select { width: 100%; min-height: 50px; border: 1px solid var(--green); border-radius: 4px; padding: 11px 42px 11px 13px; background: #fff; color: var(--ink); font: inherit; font-weight: 750; }
.chapter-router select:focus { outline: 3px solid rgba(38,115,83,.18); border-color: var(--green); }
.chapter-router p { color: var(--muted); font-size: 13px; line-height: 1.5; }
.contact-pathway { display: grid; grid-template-columns: minmax(0,1fr) minmax(320px,.9fr); gap: 40px; align-items: center; padding: 36px 0; border-bottom: 1px solid var(--line); }
.contact-pathway[hidden] { display: none; }
.contact-pathway h2 { margin: 4px 0 9px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(27px,4vw,42px); font-weight: 500; }
.contact-pathway p { margin: 0; color: var(--muted); line-height: 1.55; }
.contact-options { display: grid; gap: 9px; }
.contact-options button { display: grid; gap: 5px; min-height: 88px; border: 1px solid rgba(255,255,255,.55); border-radius: 4px; padding: 16px; background: rgba(255,255,255,.1); color: #fff; text-align: left; }
.contact-options button:hover, .contact-options button:focus-visible { border-color: #fff; background: #fff; color: var(--green); }
.contact-options button.active { border-color: #fff; background: #fff; color: var(--green); }
.contact-options strong { font-size: 15px; }
.contact-options span { font-size: 12px; line-height: 1.4; }
.contact-panel[hidden] { display: none; }
.outreach-request { margin-top: 18px; padding: 28px; border: 1px solid var(--line); border-left: 7px solid var(--red); background: #fff; box-shadow: var(--shadow); }
.outreach-request-heading { max-width: 960px; }
.outreach-request-heading h2 { margin: 0 0 9px; font-size: clamp(24px,3vw,36px); }
.outreach-request-heading p { margin: 0; color: var(--muted); line-height: 1.55; }
.outreach-form { max-width: 900px; margin-top: 24px; }
.outreach-progress { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0 0 28px; padding: 0; list-style: none; }
.outreach-progress li { position: relative; display: grid; justify-items: center; gap: 7px; color: var(--muted); font-size: 11px; text-align: center; }
.outreach-progress li::before { position: absolute; top: 16px; right: 50%; left: -50%; height: 2px; background: var(--line); content: ""; }
.outreach-progress li:first-child::before { display: none; }
.outreach-progress span { position: relative; z-index: 1; display: grid; width: 34px; height: 34px; place-items: center; border: 2px solid var(--line); border-radius: 50%; background: #fff; color: var(--muted); font-weight: 900; }
.outreach-progress strong { font-size: 11px; }
.outreach-progress li.active, .outreach-progress li.complete { color: var(--green); }
.outreach-progress li.active span { border-color: var(--green); background: var(--green); color: #fff; }
.outreach-progress li.complete span { border-color: var(--green); background: var(--green-soft); color: var(--green); }
.outreach-progress li.complete::before, .outreach-progress li.active::before { background: var(--green); }
.outreach-form-step[hidden] { display: none; }
.outreach-form-step { min-height: 350px; padding-top: 22px; border-top: 1px solid var(--line); }
.form-step-heading { max-width: 690px; margin-bottom: 20px; }
.form-step-heading > span { color: var(--orange); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.form-step-heading h3 { margin: 5px 0 7px; font-size: 23px; }
.form-step-heading p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.outreach-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.form-field { display: grid; gap: 7px; min-width: 0; }
.form-field-wide { grid-column: 1 / -1; }
.form-field > span { color: var(--ink); font-size: 12px; font-weight: 850; }
.form-field input, .form-field select, .form-field textarea { width: 100%; min-width: 0; border: 1px solid #bac5c0; border-radius: 4px; padding: 11px 12px; background: #fff; color: var(--ink); font: inherit; }
.form-field input, .form-field select { min-height: 44px; }
.form-field textarea { min-height: 140px; resize: vertical; line-height: 1.5; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { outline: 3px solid rgba(38,115,83,.18); border-color: var(--green); }
.form-step-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }
.form-step-actions button { min-width: 112px; min-height: 44px; margin: 0; border-radius: 4px; padding: 10px 17px; font: inherit; font-weight: 850; }
.form-next { border: 1px solid var(--green); background: var(--green); color: #fff; }
.form-next:hover { border-color: var(--orange); background: var(--orange); }
.form-previous { border: 1px solid #aebbb5; background: #fff; color: var(--ink); }
.form-previous:hover { border-color: var(--green); color: var(--green); }
.outreach-review { border-top: 1px solid var(--line); }
.outreach-review div { display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 18px; padding: 11px 4px; border-bottom: 1px solid var(--line); }
.outreach-review strong { font-size: 12px; }
.outreach-review span { color: var(--muted); font-size: 13px; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; }
.form-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.outreach-lead-time { margin-top: 16px; padding: 15px; border-left: 6px solid var(--orange); background: var(--orange-soft); }
.outreach-lead-time p { margin: 5px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.outreach-confirmation { display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 9px; align-items: start; margin-top: 15px; color: var(--muted); font-size: 13px; line-height: 1.45; }
.outreach-confirmation input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--green); }
.outreach-submit { border: 1px solid var(--green); background: var(--green); color: #fff; }
.outreach-submit:hover { background: var(--orange); }
.outreach-submit:disabled { cursor: wait; opacity: .65; }
.outreach-form-status { margin: 14px 0 0; padding: 12px; border-left: 5px solid var(--blue); background: var(--blue-soft); color: var(--ink); line-height: 1.45; }
.outreach-form-status[data-state="success"] { border-color: var(--green); background: var(--green-soft); }
.outreach-form-status[data-state="error"] { border-color: var(--red); background: var(--red-soft); }
.general-inquiry { margin-top: 18px; padding: 28px; border: 1px solid var(--line); border-left: 7px solid var(--green); background: #fff; box-shadow: var(--shadow); }
.general-inquiry-form { max-width: 900px; margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--line); }
.form-field small { margin-left: 5px; color: var(--muted); font-size: 10px; font-weight: 650; }
.form-privacy-note { margin: 14px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }

.source-list { border-top: 1px solid var(--line); background: #fff; box-shadow: var(--shadow); }
.source-row { display: grid; grid-template-columns: 180px minmax(0,1fr) 110px; gap: 20px; align-items: center; padding: 18px 22px; border-bottom: 1px solid var(--line); text-decoration: none; }
.source-row:hover { background: var(--blue-soft); }
.source-row .source-type { color: var(--red); font-size: 11px; font-weight: 850; text-transform: uppercase; }
.source-row strong { display: block; margin-bottom: 4px; }
.source-row p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.source-row .visit { justify-self: end; color: var(--blue); font-size: 12px; font-weight: 850; }
.editorial-note { padding: 20px; border-left: 6px solid var(--orange); }
.editorial-note p { margin: 6px 0 0; color: var(--muted); line-height: 1.5; }

@media (max-width: 1120px) {
  .track-selector, .action-options, .lifecycle, .hub-functions, .board-members, .semester-flow, .member-path, .eboard-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .application-rails { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .education-lanes { grid-template-columns: 1fr; }
  .lane-arrow { min-height: 42px; }
}

@media (max-width: 760px) {
  .contact-pathway { grid-template-columns: 1fr; gap: 22px; }
  .chapter-router { padding-left: 18px; }
}

@media (max-width: 900px) {
  .site-shell { grid-template-columns: 1fr; }
  .sidebar { position: static; height: auto; }
  .primary-nav { grid-template-columns: repeat(8, minmax(0,1fr)); }
  .nav-button { grid-template-columns: 1fr; text-align: center; }
  .nav-button .nav-index, .sidebar-context, .sidebar-note { display: none; }
  .nav-button { grid-template-columns: 1fr; }
  .intro-band, .definition-strip, .bridge-section, .hub-hero, .hub-pathway, .hub-scope-band, .board-structure, .department, .community-intro, .resources-hero, .home-definition, .contact-intro { grid-template-columns: 1fr; }
  .discipline-mark { grid-template-columns: 1fr 18px 1fr 18px 1fr; align-items: center; }
  .discipline-mark i { width: 18px; height: 2px; }
  .role-workspace { grid-template-columns: 1fr; }
  .setting-rail { grid-template-columns: repeat(3, minmax(0,1fr)); border-right: 0; border-bottom: 1px solid var(--line); }
}

@media (max-width: 650px) {
  main { padding: 14px; }
  .sidebar { padding: 15px; gap: 15px; }
  .brand { max-width: 300px; }
  .primary-nav { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .topbar { align-items: flex-start; }
  .topbar h1 { font-size: 25px; }
  .intro-band { min-height: 0; padding: 25px 20px; }
  .intro-copy h2, .view-intro h2 { font-size: 34px; }
  .definition-strip, .pathway-section, .bridge-section, .industry-map, .action-builder, .resource-directory, .hub-purpose, .hub-pathway, .hub-architecture, .hub-scope-band, .org-structure, .seminar-system, .founder-section, .member-section, .member-work, .resource-catalog, .outreach-request, .general-inquiry, .home-definition, .mission-system { padding: 19px; }
  .pathway-heading, .track-detail, .role-columns, .plan-output, .program-explainer, .top-topic-entry header, .top-topic-details { grid-template-columns: 1fr; }
  .program-explainer > div + div { border-top: 1px solid var(--line); border-left: 0; }
  .top-topic-details > div + div { border-top: 1px solid var(--line); border-left: 0; }
  .track-selector, .action-options, .lifecycle, .setting-rail, .concept-grid, .hub-functions, .hub-support-grid, .hub-layer-list article, .board-members, .department-units, .department-units.two-units, .application-rails, .semester-flow, .founder-slots, .member-path, .member-work-list, .eboard-grid, .resource-catalog-row, .mission-columns, .definition-topics { grid-template-columns: 1fr; }
  .resource-catalog-row a, .resource-catalog-row button, .resource-action-muted { justify-self: start; text-align: left; }
  .resource-row, .source-row { grid-template-columns: 1fr; gap: 7px; }
  .resource-row a, .source-row .visit { justify-self: start; }
  .definition-actions { grid-template-columns: 1fr; }
  .outreach-form-grid { grid-template-columns: 1fr; }
  .form-field-wide { grid-column: auto; }
  .outreach-progress { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 16px; }
  .outreach-progress li::before { display: none; }
  .outreach-form-step { min-height: 0; }
  .form-step-actions { justify-content: stretch; }
  .form-step-actions button { flex: 1; min-width: 0; }
  .outreach-review div { grid-template-columns: 1fr; gap: 4px; }
  .contact-route { grid-template-columns: 1fr; padding: 19px; }
  .contact-route button { justify-self: start; }
}

@media print {
  body { background: #fff; }
  .site-shell { display: block; }
  .sidebar, .topbar, .track-selector, .setting-rail, .action-options { display: none; }
  main { padding: 0; }
  .view { display: block !important; break-before: page; }
  .view:first-of-type { break-before: auto; }
  .intro-band { box-shadow: none; }
  .definition-strip, .pathway-section, .bridge-section, .industry-map, .education-lanes, .action-builder, .resource-directory, .hub-purpose, .hub-pathway, .hub-architecture, .hub-boundary, .hub-scope-band, .org-structure, .seminar-system, .founder-section, .member-section, .member-work, .membership-boundary, .resource-catalog, .resource-governance, .home-definition, .mission-system, .source-list { box-shadow: none; break-inside: avoid; }
}

/* Society-aligned editorial system */
:root {
  --ink: #241e1a;
  --muted: #6c655f;
  --paper: #f8f5ef;
  --white: #fffdf9;
  --line: #ded7cd;
  --blue: #0b5637;
  --blue-soft: #e8f1eb;
  --orange: #cf8a43;
  --orange-soft: #f7eadb;
  --amber: #9a501d;
  --red: #64261f;
  --red-soft: #f2e6e2;
  --green: #267353;
  --green-soft: #e7f0e9;
  --shadow: none;
}

body {
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

h1, h2, .community-intro h2, .resources-hero h2, .contact-intro h2,
.intro-copy h2, .view-intro h2, .hub-logo-lockup h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
}

.site-shell { display: block; }

.sidebar {
  position: sticky;
  z-index: 30;
  top: 0;
  height: auto;
  display: grid;
  grid-template-columns: minmax(190px, .72fr) minmax(160px, .55fr) minmax(520px, 2.1fr);
  align-items: center;
  gap: 12px;
  padding: 14px max(24px, calc((100vw - 1240px) / 2));
  border-bottom: 1px solid var(--line);
  background: rgba(248, 245, 239, .97);
  color: var(--ink);
  backdrop-filter: blur(14px);
}

.brand {
  grid-template-columns: 84px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

.logo-wrap {
  width: 84px;
  aspect-ratio: auto;
  margin: 0;
  padding: 0;
  overflow: visible;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.logo-wrap img {
  width: 100%;
  height: auto;
  object-fit: contain;
  transform: none;
}

.brand-tagline { display: grid; gap: 2px; padding: 0; }
.brand-tagline strong { font-family: Georgia, "Times New Roman", serif; font-size: 22px; font-weight: 500; }
.brand small { color: var(--muted); font-size: 9px; line-height: 1.35; text-transform: uppercase; }

.society-link {
  display: grid;
  gap: 2px;
  padding-left: 20px;
  border-left: 1px solid var(--line);
  color: var(--ink);
  text-decoration: none;
}
.society-link span { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.society-link strong { font-family: Georgia, "Times New Roman", serif; font-size: 13px; font-weight: 500; line-height: 1.2; }
.society-link:hover strong { color: var(--green); }

.primary-nav {
  display: flex;
  justify-content: flex-start;
  gap: 2px;
}

.nav-button {
  min-height: 42px;
  display: inline-flex;
  grid-template-columns: none;
  align-items: center;
  justify-content: center;
  gap: 0;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  padding: 8px 9px;
  background: transparent;
  color: var(--ink);
  font-weight: 650;
  white-space: nowrap;
}
.nav-button .nav-index { display: none; }
.nav-button .nav-copy { font-size: 11px; }
.nav-button:hover, .nav-button.active { border-bottom-color: var(--orange); background: transparent; color: var(--green); }
.sidebar-context, .sidebar-note { display: none; }

main {
  width: min(1240px, calc(100% - 48px));
  margin: 0 auto;
  padding: 0 0 72px;
}

.topbar {
  min-height: 90px;
  margin: 0;
  padding: 22px 0 18px;
  border-bottom: 1px solid var(--line);
}
.topbar h1 { font-family: Georgia, "Times New Roman", serif; font-size: 32px; font-weight: 500; line-height: 1.08; }
.topbar .eyebrow { color: var(--green); opacity: 1; }
.print-button { border-color: var(--green); border-radius: 2px; background: transparent; color: var(--green); }
.print-button:hover { background: var(--green); color: #fff; }

.eyebrow {
  color: var(--red);
  opacity: 1;
  font-size: 10px;
  letter-spacing: .16em;
}

.hub-hero {
  min-height: min(620px, calc(100vh - 78px));
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr);
  gap: clamp(50px, 7vw, 100px);
  align-items: center;
  margin: 0;
  padding: clamp(36px, 4vw, 54px) 0 clamp(32px, 4vw, 50px);
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  box-shadow: none;
}
.hub-logo-lockup { align-items: start; text-align: left; }
.hub-logo { 
  width: 128px;
  height: auto;
  margin: 0 0 28px;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.hub-logo img { width: 100%; height: auto; object-fit: contain; transform: none; }
.hub-logo-lockup h2 {
  max-width: 680px;
  margin: 0 0 22px;
  font-size: clamp(45px, 4.7vw, 60px);
  line-height: .99;
}
.hub-logo-lockup > p:last-of-type { max-width: 680px; color: #4f4944; font-size: 17px; line-height: 1.62; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.hero-actions button, .hero-actions a {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--green);
  border-radius: 2px;
  padding: 10px 18px;
  background: var(--green);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}
.hero-actions a { background: transparent; color: var(--green); }
.hero-actions button:hover, .hero-actions a:hover { border-color: var(--orange); background: var(--orange); color: #fff; }

.hub-position {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  padding: 32px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.hub-position::before {
  width: 230px;
  height: 115px;
  justify-self: center;
  margin-bottom: 26px;
  border: 25px solid var(--orange);
  border-bottom: 0;
  border-radius: 230px 230px 0 0;
  box-shadow: inset 0 0 0 20px var(--paper), inset 0 0 0 42px var(--green);
  content: "";
}
.hub-position span, .hub-position strong, .hub-position i {
  min-height: 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  padding: 13px 4px;
  background: transparent;
  color: var(--ink);
  font-style: normal;
  text-align: left;
}
.hub-position strong { order: -1; border: 0; padding: 0 0 10px; color: var(--red); font-family: Georgia, "Times New Roman", serif; font-size: 24px; font-weight: 500; }
.hub-position i { display: none; }

.home-definition, .mission-system, .hub-purpose, .hub-pathway, .hub-architecture,
.hub-boundary, .hub-scope-band, .org-structure, .seminar-system, .editorial-note,
.definition-strip, .pathway-section, .bridge-section, .industry-map, .education-lanes,
.action-builder, .resource-directory, .founder-section, .member-section, .member-work,
.membership-boundary, .resource-catalog, .resource-governance, .outreach-request,
.general-inquiry, .source-list {
  margin-top: 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  box-shadow: none;
}

.home-definition, .mission-system, .hub-purpose, .hub-pathway, .hub-architecture,
.hub-scope-band, .org-structure, .seminar-system, .founder-section, .member-section,
.member-work, .resource-catalog, .pathway-section, .industry-map, .action-builder,
.resource-directory {
  padding: clamp(44px, 6vw, 76px) 0;
}

.home-definition { grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr); gap: 70px; }
.home-definition h2, .mission-heading h2, .hub-purpose-heading h2,
.hub-architecture-heading h2, .community-heading h2, .resource-catalog-heading h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(32px, 4.5vw, 55px);
  font-weight: 500;
  line-height: 1.06;
}

.definition-topics { align-content: start; border-top: 1px solid var(--line); }
.definition-topics span { border: 0; border-bottom: 1px solid var(--line); background: transparent; }

.mission-columns { gap: 0; border-top: 1px solid var(--line); }
.mission-columns article {
  min-height: 250px;
  border: 0;
  border-right: 1px solid var(--line);
  padding: 28px;
  background: transparent;
}
.mission-columns article:first-child { padding-left: 0; }
.mission-columns article:last-child { border-right: 0; padding-right: 0; }

.intro-band, .view-intro, .resources-hero, .community-intro, .contact-intro {
  min-height: 410px;
  margin: 0;
  padding: clamp(54px, 7vw, 90px) 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  box-shadow: none;
}
.intro-band, .resources-hero, .community-intro, .contact-intro { grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); }
.intro-copy h2, .view-intro h2, .resources-hero h2, .community-intro h2, .contact-intro h2 {
  max-width: 850px;
  font-size: clamp(42px, 6vw, 72px);
  line-height: 1;
}
.intro-copy p, .view-intro p, .resources-hero p, .community-intro p, .contact-intro p { color: #4f4944; }

.discipline-mark span, .community-mark strong, .community-mark span,
.contact-options button, .resource-status-key {
  border-color: var(--line);
  background: transparent;
  color: var(--ink);
}
.discipline-mark i { background: var(--orange); }
.community-mark strong { background: var(--green); color: #fff; }
.contact-options button:hover, .contact-options button:focus-visible,
.contact-options button.active { border-color: var(--green); background: var(--green); color: #fff; }

.track-selector, .action-options, .lifecycle, .hub-functions, .board-members,
.semester-flow, .eboard-grid, .founder-slots { gap: 1px; background: var(--line); }
.track-button, .action-option, .life-stage, .hub-functions article,
.eboard-grid article, .founder-slots article { border: 0; border-radius: 0; background: var(--white); }

.resource-catalog-list, .source-list, .resource-list { border-top: 1px solid var(--line); }
.resource-catalog-row, .source-row, .resource-row {
  border-left: 0;
  padding: 22px 4px;
  background: transparent;
}
.resource-catalog-row:hover, .source-row:hover, .resource-row:hover { background: rgba(255,255,255,.48); }

.setting-rail { background: transparent; }
.setting-button { border-radius: 0; }
.setting-detail, .track-detail, .plan-output { border-radius: 0; background: var(--white); }

.site-footer {
  display: flex;
  justify-content: space-between;
  gap: 32px;
  padding: 36px 0 8px;
  color: var(--muted);
  font-size: 12px;
}
.site-footer div { display: grid; gap: 4px; }
.site-footer strong { color: var(--green); font-family: Georgia, "Times New Roman", serif; font-size: 23px; font-weight: 500; }
.site-footer p { margin: 0; }
.site-footer a { color: var(--green); font-weight: 800; text-decoration: none; }
.site-footer a:hover { color: var(--orange); }

@media (max-width: 1180px) {
  .sidebar { grid-template-columns: 180px 160px minmax(0, 1fr); gap: 14px; }
  .brand { grid-template-columns: 66px minmax(0, 1fr); }
  .logo-wrap { width: 66px; }
  .brand-tagline strong { font-size: 19px; }
  .nav-button { padding-inline: 6px; }
  .nav-button .nav-copy { font-size: 10px; }
  .pathway-menu > summary,
  .resource-menu > summary { padding-inline: 6px 15px; font-size: 10px; }
}

@media (max-width: 900px) {
  .sidebar {
    position: sticky;
    display: grid;
    grid-template-columns: 1fr auto;
    padding: 12px 18px 0;
  }
  .brand { max-width: 260px; }
  .society-link { max-width: 210px; }
  .primary-nav {
    grid-column: 1 / -1;
    justify-content: flex-start;
    overflow-x: auto;
    padding-top: 4px;
    scrollbar-width: none;
  }
  .primary-nav::-webkit-scrollbar { display: none; }
  .nav-button { flex: 0 0 auto; }
  main { width: min(100% - 36px, 1240px); }
  .hub-hero, .intro-band, .resources-hero, .community-intro, .contact-intro,
  .home-definition { grid-template-columns: 1fr; }
  .hub-position { max-width: 560px; }
}

@media (max-width: 650px) {
  .sidebar { grid-template-columns: 1fr; padding: 10px 14px 0; }
  .brand { grid-template-columns: 58px minmax(0,1fr); }
  .logo-wrap { width: 58px; }
  .society-link { display: none; }
  main { width: min(100% - 28px, 1240px); padding: 0 0 42px; }
  .topbar { min-height: 72px; align-items: center; }
  .topbar h1 { font-size: 25px; }
  .topbar .eyebrow { display: none; }
  .print-button { min-height: 38px; padding: 8px 10px; font-size: 11px; }
  .hub-hero { min-height: 0; padding: 46px 0 56px; }
  .hub-position { display: none; }
  .hub-logo { width: 124px; }
  .hub-logo-lockup h2 { font-size: 43px; }
  .intro-band, .view-intro, .resources-hero, .community-intro, .contact-intro { min-height: 0; padding: 48px 0; }
  .intro-copy h2, .view-intro h2, .resources-hero h2, .community-intro h2, .contact-intro h2 { font-size: 40px; }
  .home-definition, .mission-system, .hub-purpose, .hub-pathway, .hub-architecture,
  .hub-scope-band, .org-structure, .seminar-system, .founder-section, .member-section,
  .member-work, .resource-catalog, .pathway-section, .industry-map, .action-builder,
  .resource-directory { padding: 42px 0; }
  .mission-columns article { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); padding: 24px 0; }
  .mission-columns article:last-child { border-bottom: 0; }
  .site-footer { flex-direction: column; }
}

/* Simplified PhASEd homepage */
#hubView {
  --home-cream: #fff9f3;
  --home-copper: #b97442;
  --home-brown: #553322;
  --home-green: #07563d;
}

#hubView .hub-hero {
  position: relative;
  left: 50%;
  width: 100vw;
  height: min(56.25vw, calc(100vh - 190px));
  min-height: 470px;
  margin-left: -50vw;
  overflow: hidden;
  background-color: var(--home-cream);
  background-image: url("assets/home/phased-society-lockup.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.home-entry {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) auto;
  gap: 60px;
  align-items: end;
  padding: 44px 0;
  border-bottom: 1px solid var(--line);
}

.home-entry h2 {
  margin: 0 0 12px;
  color: var(--home-brown);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 43px;
  font-weight: 500;
}

.home-entry p:last-child { max-width: 760px; color: var(--muted); line-height: 1.6; }
.home-entry .hero-actions { justify-content: end; margin: 0; }

#hubView .hero-actions .secondary-action {
  background: transparent;
  color: var(--home-green);
}

#hubView .hero-actions .secondary-action:hover {
  color: #fff;
}

#hubView .hero-actions .chapter-action {
  border-color: var(--orange);
  background: var(--orange);
  color: #2d1700;
}

#hubView .hero-actions .chapter-action:hover {
  border-color: var(--home-green);
  background: var(--home-green);
  color: #fff;
}

.home-intro,
.home-gallery,
.people-first {
  margin: 0;
  padding: 70px 0;
  border-bottom: 1px solid var(--line);
}

.home-intro {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: 72px;
  align-items: start;
}

.home-intro h2,
.home-gallery h2,
.people-first h2 {
  margin: 0;
  color: var(--home-brown);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 48px;
  font-weight: 500;
  line-height: 1.06;
}

.home-intro-steps {
  border-top: 1px solid #d9c2ad;
}

.home-intro-steps article {
  display: grid;
  grid-template-columns: 48px 130px minmax(0, 1fr);
  gap: 18px;
  align-items: baseline;
  padding: 22px 0;
  border-bottom: 1px solid #d9c2ad;
}

.home-intro-steps span {
  color: var(--home-copper);
  font-size: 11px;
  font-weight: 850;
}

.home-intro-steps h3,
.home-intro-steps p {
  margin: 0;
}

.home-intro-steps h3 {
  color: var(--home-green);
  font-size: 20px;
}

.home-intro-steps p {
  color: var(--muted);
  line-height: 1.55;
}

.home-gallery {
  display: grid;
  grid-template-columns: minmax(240px, .58fr) minmax(0, 1.42fr);
  gap: 58px;
  background: var(--home-cream);
}

.home-gallery::before {
  position: absolute;
  right: 50%;
  left: 50%;
  z-index: -1;
  width: 100vw;
  height: 100%;
  background: var(--home-cream);
  content: "";
  transform: translateX(-50%);
}

.home-gallery {
  position: relative;
}

.carousel-viewport {
  overflow: hidden;
  border-radius: 4px;
  background: #241b17;
}

.carousel-track {
  display: flex;
  transition: transform .55s ease;
}

.carousel-slide {
  position: relative;
  flex: 0 0 100%;
  margin: 0;
  aspect-ratio: 16 / 10;
  overflow: hidden;
}

.carousel-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.carousel-photo-group {
  object-position: center 76%;
}

.carousel-photo-event {
  object-position: center 68%;
}

.carousel-photo-screening {
  object-position: center 58%;
}

.carousel-photo-outreach {
  object-position: center 64%;
}

.carousel-slide figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 18px 20px;
  background: rgba(36, 27, 23, .88);
  color: #fff;
}

.carousel-slide figcaption strong {
  color: #f0bc7d;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
}

.carousel-slide figcaption span {
  font-size: 13px;
  line-height: 1.45;
}

.carousel-slide figcaption a {
  color: #fff;
  font-size: 10px;
}

.carousel-controls {
  display: grid;
  grid-template-columns: 42px 1fr 42px;
  gap: 12px;
  align-items: center;
  margin-top: 14px;
}

.carousel-controls > button {
  width: 42px;
  height: 42px;
  border: 1px solid var(--home-green);
  border-radius: 50%;
  background: transparent;
  color: var(--home-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 27px;
}

.carousel-controls > button:hover,
.carousel-controls > button:focus-visible {
  background: var(--home-green);
  color: #fff;
}

.carousel-dots {
  display: flex;
  justify-content: center;
  gap: 9px;
}

.carousel-dots button {
  width: 9px;
  height: 9px;
  border: 0;
  border-radius: 50%;
  padding: 0;
  background: #c8aa90;
}

.carousel-dots button.active {
  background: var(--home-green);
}

#hubView .hub-purpose,
#hubView .hub-architecture {
  padding: 70px 0;
}

#hubView .hub-functions {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

#hubView .hub-functions article {
  min-height: 175px;
  border-top-color: var(--home-copper);
}

#hubView .hub-functions article:nth-child(2) { border-top-color: var(--home-green); }
#hubView .hub-functions article:nth-child(3) { border-top-color: #8e301f; }
#hubView .hub-functions article:nth-child(4) { border-top-color: #d59a4c; }

.people-first {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .75fr);
  gap: 80px;
  align-items: center;
  color: #fff;
}

.people-first::before {
  position: absolute;
  right: 50%;
  left: 50%;
  z-index: -1;
  width: 100vw;
  height: 100%;
  background: var(--home-green);
  content: "";
  transform: translateX(-50%);
}

.people-first {
  position: relative;
}

.people-first .eyebrow,
.people-first h2 {
  color: #fff;
}

.people-first p {
  margin: 0;
  color: rgba(255, 255, 255, .86);
  font-size: 16px;
  line-height: 1.7;
}

.people-first p + p {
  margin-top: 16px;
}

@media (max-width: 900px) {
  .home-entry,
  .home-intro,
  .home-gallery,
  .people-first {
    grid-template-columns: 1fr;
  }

  #hubView .hub-hero { min-height: 390px; }
  .home-entry { gap: 28px; }
  .home-entry .hero-actions { justify-content: start; }

  .home-gallery,
  .people-first {
    gap: 34px;
  }
}

@media (max-width: 650px) {
  #hubView .hub-hero {
    height: 56.25vw;
    min-height: 0;
    padding: 0;
    background-size: cover;
  }

  .home-entry h2 { font-size: 36px; }

  #hubView .hub-hero,
  .home-intro,
  .home-gallery,
  #hubView .hub-purpose,
  .people-first,
  #hubView .hub-architecture {
    padding: 44px 0;
  }

  .home-intro h2,
  .home-gallery h2,
  .people-first h2 {
    font-size: 36px;
  }

  .home-intro-steps article {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 8px 12px;
  }

  .home-intro-steps p {
    grid-column: 2;
  }

  #hubView .hub-functions {
    grid-template-columns: 1fr;
  }

  .carousel-slide {
    aspect-ratio: 4 / 5;
  }

  .carousel-slide figcaption {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 15px;
  }

  .carousel-slide figcaption span {
    font-size: 12px;
  }

  .carousel-slide figcaption a {
    justify-self: start;
  }
}

/* Explore the field: contribution first, then profession and pathways */
#exploreView .explore-lead {
  min-height: 430px;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
  gap: 64px;
  align-items: center;
  padding: 64px 0;
}

#exploreView .explore-lead h2 {
  max-width: 760px;
  margin-top: 14px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 42px;
  font-weight: 500;
  line-height: 1.05;
}

#exploreView .explore-lead .bridge-copy > p:not(.eyebrow):not(.boundary-note) {
  max-width: 760px;
  font-size: 16px;
}

#exploreView .bridge-visual {
  align-content: stretch;
  border: 1px solid #dac6b4;
  background: #fff;
}

#exploreView .bridge-visual span,
#exploreView .bridge-visual strong {
  border: 0;
  border-bottom: 1px solid #dac6b4;
  padding: 18px 12px;
  background: #fbf4ed;
  color: var(--ink);
}

#exploreView .bridge-visual strong {
  background: var(--green);
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-weight: 500;
}

#exploreView .bridge-visual span:nth-of-type(odd) { border-right: 1px solid #dac6b4; }

#exploreView .intro-band {
  min-height: 360px;
  margin: 0;
  background: #f8eee5;
  color: var(--ink);
}

#exploreView .intro-copy p { color: #554c46; }
#exploreView .intro-copy h2 { font-size: 46px; }
#exploreView .discipline-mark span { border-color: #d8bca4; background: rgba(255,255,255,.48); color: var(--green); }

#exploreView .track-prompt {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

#exploreView .track-selector {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

#exploreView .track-button {
  min-height: 78px;
  border: 0;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  background: #fff;
  text-align: center;
}

#exploreView .track-button:hover,
#exploreView .track-button.active {
  border-bottom-color: var(--orange);
  background: #f8eee5;
  color: var(--green);
}

@media (max-width: 900px) {
  #exploreView .explore-lead { grid-template-columns: 1fr; gap: 32px; }
  #exploreView .track-selector { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 650px) {
  #exploreView .explore-lead { min-height: 0; padding: 44px 0; }
  #exploreView .explore-lead h2 { font-size: 39px; }
  #exploreView .track-selector { grid-template-columns: 1fr; }
}

/* Consolidated pathway navigation */
.pathway-menu,
.resource-menu { position: relative; flex: 0 0 auto; }
.pathway-menu > summary,
.resource-menu > summary {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  border-bottom: 2px solid transparent;
  padding: 8px 18px 8px 9px;
  color: var(--ink);
  cursor: pointer;
  font-size: 11px;
  font-weight: 650;
  list-style: none;
  white-space: nowrap;
}
.pathway-menu > summary::-webkit-details-marker,
.resource-menu > summary::-webkit-details-marker { display: none; }
.pathway-menu > summary::after,
.resource-menu > summary::after { margin-left: 7px; content: "▾"; font-size: 10px; }
.pathway-menu.active > summary,
.pathway-menu[open] > summary,
.resource-menu.active > summary,
.resource-menu[open] > summary { border-bottom-color: var(--orange); color: var(--green); }
.pathway-menu-popover,
.resource-menu-popover {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  z-index: 20;
  width: 360px;
  border: 1px solid #d7c4b2;
  padding: 8px;
  background: #fffaf5;
  box-shadow: 0 16px 36px rgba(50, 32, 23, .18);
  transform: translateX(-50%);
}
.resource-menu-popover { left: 0; width: 430px; transform: none; }
.pathway-menu-popover button {
  width: 100%;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 2px 10px;
  border: 0;
  border-bottom: 1px solid #e4d6ca;
  padding: 14px 12px;
  background: transparent;
  color: var(--ink);
  text-align: left;
}
.pathway-menu-popover button:last-child { border-bottom: 0; }
.pathway-menu-popover button:hover,
.pathway-menu-popover button[aria-current="page"] { background: #f4e7dc; color: var(--green); }
.pathway-menu-popover span { grid-row: 1 / 3; color: var(--orange); font-size: 10px; font-weight: 850; }
.pathway-menu-popover strong { font-size: 14px; }
.pathway-menu-popover small { color: var(--muted); line-height: 1.35; }

.resource-menu-popover > button,
.resource-menu-popover > a,
.resource-submenu > summary {
  width: 100%;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 2px 10px;
  border: 0;
  border-bottom: 1px solid #e4d6ca;
  padding: 14px 12px;
  background: transparent;
  color: var(--ink);
  text-align: left;
  text-decoration: none;
}
.resource-menu-popover > button:hover,
.resource-menu-popover > button[aria-current="page"],
.resource-menu-popover > a:hover,
.resource-submenu > summary:hover,
.resource-submenu[open] > summary { background: #f4e7dc; color: var(--green); }
.resource-menu-popover span { grid-row: 1 / 3; color: var(--orange); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.resource-menu-popover strong { font-size: 14px; }
.resource-menu-popover small { color: var(--muted); line-height: 1.35; }
.resource-submenu > summary { cursor: pointer; list-style: none; }
.resource-submenu > summary::-webkit-details-marker { display: none; }
.resource-submenu > summary::after { grid-column: 2; content: "Open programs +"; color: var(--green); font-size: 10px; font-weight: 800; }
.resource-submenu[open] > summary::after { content: "Close programs −"; }
.resource-submenu > div { padding: 5px 10px 10px 30px; background: #fbf4ed; }
.resource-submenu > div button {
  width: 100%;
  display: grid;
  gap: 2px;
  border: 0;
  border-bottom: 1px solid #e4d6ca;
  padding: 11px 12px;
  background: transparent;
  color: var(--ink);
  text-align: left;
}
.resource-submenu > div button:last-child { border-bottom: 0; }
.resource-submenu > div button:hover,
.resource-submenu > div button[aria-current="page"] { background: #fff; color: var(--green); }

/* Founders, organization structure, and university chapters */
#communityView .community-mark span {
  min-height: 72px;
  border-top: 4px solid var(--green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-weight: 500;
}
#communityView .community-mark span:nth-child(2) { border-top-color: var(--orange); }
#communityView .community-mark span:nth-child(3) { border-top-color: var(--red); }
#communityView .community-mark span:nth-child(4) { border-top-color: var(--amber); }

.department-leadership .department-tree { margin-top: 30px; }
.department-leadership .department { border-radius: 0; background: rgba(255, 255, 255, .46); }
.eboard-structure-tree .president-elect-department { border-left-color: var(--orange); }
.eboard-structure-tree .secretary-department { border-left-color: var(--amber); }
.eboard-structure-tree .future-department { border-left-color: var(--muted); border-left-style: dashed; }

.member-contribution {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  gap: 48px;
  align-items: center;
  margin-top: 30px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 30px 0;
}
.member-contribution h3 {
  margin: 0 0 10px;
  color: var(--green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(25px, 3vw, 38px);
  font-weight: 500;
  line-height: 1.1;
}
.member-contribution p:not(.eyebrow) { margin: 0; color: var(--muted); line-height: 1.6; }
.contribution-paths { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.contribution-paths span {
  min-height: 52px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--line);
  padding: 10px 8px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
}
.contribution-paths span:nth-child(odd) { border-right: 1px solid var(--line); }

.chapter-heading {
  max-width: none;
  display: flex;
  justify-content: space-between;
  gap: 32px;
  align-items: flex-start;
}
.chapter-heading > div { max-width: 820px; }
.chapter-heading p + p { margin-top: 8px; }
.chapter-status {
  flex: 0 0 190px;
  border: 1px solid var(--orange);
  padding: 10px 12px;
  color: var(--red);
  font-size: 10px;
  font-weight: 850;
  line-height: 1.35;
  text-transform: uppercase;
}
.chapter-board .eboard-grid article { min-height: 150px; }
.chapter-board .eboard-grid p { max-width: 270px; }

.chapter-expansion {
  padding: 62px 0 18px;
  text-align: center;
}
.chapter-expansion-rule { display: flex; align-items: center; gap: 18px; }
.chapter-expansion-rule i { height: 1px; flex: 1; background: var(--line); }
.chapter-expansion-rule span { color: var(--orange); font-size: 24px; letter-spacing: .35em; }
.chapter-expansion p {
  margin: 12px 0 0;
  color: var(--green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
}

@media (max-width: 900px) {
  .chapter-heading { flex-direction: column; }
  .chapter-status { flex-basis: auto; }
  .member-contribution { grid-template-columns: 1fr; gap: 24px; }
}

@media (max-width: 650px) {
  #communityView .community-mark { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

#prepareView .view-intro h2 { font-size: 46px; }
#prepareView .plan-output {
  border-top: 4px solid var(--green);
  background: #f8eee5;
  color: var(--ink);
}
#prepareView .plan-output .eyebrow { color: var(--red); }
#prepareView .plan-output h3 { color: var(--green); }
#prepareView .plan-output p,
#prepareView .plan-output ul { color: #4f4944; }

@media (max-width: 900px) {
  .pathway-menu-popover,
  .resource-menu-popover { left: 0; transform: none; }
}

@media (max-width: 650px) {
  .pathway-menu-popover,
  .resource-menu-popover {
    position: fixed;
    top: 126px;
    right: 14px;
    left: 14px;
    width: auto;
    max-height: calc(100vh - 145px);
    overflow-y: auto;
  }
  #prepareView .view-intro h2 { font-size: 39px; }
}

@media (prefers-reduced-motion: reduce) {
  .carousel-track {
    transition: none;
  }
}

/* Society-aligned warm ombre system */
:root {
  --ombre-ivory: #fffaf5;
  --ombre-peach: #f5dfca;
  --ombre-gold: #e5b56f;
  --ombre-copper: #b66d43;
  --ombre-brown: #6b3b27;
}

body {
  background:
    radial-gradient(circle at 92% 4%, rgba(229, 181, 111, .34) 0, rgba(229, 181, 111, 0) 29%),
    radial-gradient(circle at 4% 42%, rgba(182, 109, 67, .16) 0, rgba(182, 109, 67, 0) 30%),
    radial-gradient(circle at 88% 82%, rgba(7, 86, 61, .08) 0, rgba(7, 86, 61, 0) 28%),
    linear-gradient(135deg, var(--ombre-ivory) 0%, #f8eee5 46%, #fffdf9 100%);
  background-attachment: fixed;
}

.sidebar {
  border-bottom-color: rgba(123, 77, 50, .22);
  background:
    linear-gradient(100deg, rgba(255, 250, 245, .98) 0%, rgba(247, 226, 206, .97) 48%, rgba(255, 250, 245, .98) 100%);
  box-shadow: 0 8px 28px rgba(94, 55, 35, .08);
}

.sidebar::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--green), var(--ombre-gold), var(--ombre-copper), var(--ombre-brown));
  content: "";
}

.topbar {
  position: relative;
  isolation: isolate;
  border-bottom-color: transparent;
  background: transparent;
}

.topbar::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  z-index: -1;
  width: 100vw;
  border-bottom-color: rgba(123, 77, 50, .2);
  background: linear-gradient(90deg, rgba(255, 250, 245, 0), rgba(229, 181, 111, .13), rgba(182, 109, 67, .08));
  box-shadow: inset 0 -1px rgba(123, 77, 50, .2);
  content: "";
  transform: translateX(-50%);
}

.intro-band,
.view-intro,
.resources-hero,
.community-intro,
.contact-intro {
  position: relative;
  isolation: isolate;
}

.intro-band::before,
.view-intro::before,
.resources-hero::before,
.community-intro::before,
.contact-intro::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  z-index: -1;
  width: 100vw;
  border-top: 1px solid rgba(182, 109, 67, .18);
  border-bottom: 1px solid rgba(182, 109, 67, .22);
  background:
    radial-gradient(circle at 8% 15%, rgba(255, 255, 255, .88) 0, rgba(255, 255, 255, 0) 32%),
    radial-gradient(circle at 92% 80%, rgba(229, 181, 111, .3) 0, rgba(229, 181, 111, 0) 34%),
    linear-gradient(112deg, #fffaf5 0%, #f3ddc8 48%, #f8eadc 74%, #fffaf5 100%);
  content: "";
  transform: translateX(-50%);
}

#hubView .hub-hero {
  height: min(56.25vw, calc(100vh - 110px));
  background-color: var(--ombre-ivory);
  background-image: url("assets/home/phased-society-lockup-4k.jpg");
  box-shadow:
    inset 0 2px rgba(255, 255, 255, .92),
    inset 0 -3px rgba(182, 109, 67, .24);
}

#hubView .hub-hero::before {
  position: absolute;
  inset: 12px;
  z-index: 1;
  border: 1px solid rgba(182, 109, 67, .28);
  background: none;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .5);
  content: "";
  pointer-events: none;
}

#hubView .hub-hero::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  height: 4px;
  background: linear-gradient(90deg, var(--ombre-gold), var(--ombre-copper), var(--ombre-brown), var(--home-green));
  content: "";
}

.home-gallery::before {
  background:
    radial-gradient(circle at 92% 20%, rgba(229, 181, 111, .24), transparent 31%),
    linear-gradient(120deg, #fffaf5, #f5e2d1 58%, #fffaf5) !important;
}

.home-intro-steps,
.member-contribution,
.resource-catalog-list,
.source-list,
.resource-list {
  border-color: rgba(123, 77, 50, .28);
}

.home-intro-steps article,
.hub-functions article,
.eboard-grid article,
.founder-slots article,
.department,
.track-detail,
.setting-detail,
.plan-output {
  background: linear-gradient(145deg, rgba(255, 255, 255, .88), rgba(248, 231, 215, .62));
}

.resource-catalog-row:hover,
.source-row:hover,
.resource-row:hover {
  background: linear-gradient(90deg, rgba(255, 255, 255, .72), rgba(229, 181, 111, .18));
}

/* Learning Programs needs stronger boundaries than the general editorial layout. */
#plnView {
  --program-rule: rgba(72, 47, 34, .46);
  --program-rule-soft: rgba(72, 47, 34, .25);
}

#plnView .view-intro {
  border-bottom: 2px solid var(--program-rule);
}

#plnView .learning-program-layout {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: clamp(42px, 7vw, 86px);
  align-items: start;
  padding: 44px 0 70px;
}

#plnView .learning-program-content {
  min-width: 0;
}

#plnView .program-jump-nav {
  position: sticky;
  top: 118px;
  display: grid;
  gap: 0;
  margin-top: 0;
  padding-top: 0;
  border-top: 3px solid var(--green);
}

#plnView .program-jump-nav strong,
#plnView .program-jump-nav button {
  min-height: 0;
  padding: 12px 4px;
  border: 0;
  border-bottom: 1px solid var(--program-rule-soft);
  border-radius: 0;
}

#plnView .program-jump-nav strong {
  color: var(--green);
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

#plnView .program-jump-nav button {
  width: 100%;
  background: transparent;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.35;
  text-align: left;
}

#plnView .program-jump-nav button:hover,
#plnView .program-jump-nav button:focus-visible {
  background: transparent;
  color: var(--green);
}

#plnView .program-jump-nav button[aria-current="page"] {
  padding-left: 12px;
  border-left: 5px solid var(--orange);
  color: #fff;
  background: var(--green);
}

#plnView [data-pln-page-content][hidden] { display: none; }

#plnView .learning-program-section {
  margin-top: 0;
  padding: clamp(42px, 6vw, 72px) 0;
  border-top: 2px solid var(--program-rule);
  border-bottom: 0;
}

#plnView .learning-program-section:first-of-type {
  border-top: 0;
}

#plnView .learning-program-overview { padding-top: 12px; }

#plnView .program-page-directory {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 30px;
  border: 1px solid var(--program-rule);
}

#plnView .program-page-directory button {
  display: grid;
  align-content: start;
  gap: 7px;
  min-height: 164px;
  padding: 24px;
  border: 0;
  border-radius: 0;
  color: var(--ink);
  background: rgba(255, 255, 255, .64);
  text-align: left;
}

#plnView .program-page-directory button:nth-child(even) { border-left: 1px solid var(--program-rule-soft); }
#plnView .program-page-directory button:nth-child(n+3) { border-top: 1px solid var(--program-rule-soft); }
#plnView .program-page-directory button:last-child { grid-column: 1 / -1; min-height: 136px; }
#plnView .program-page-directory button:hover,
#plnView .program-page-directory button:focus-visible { background: var(--green-soft); }
#plnView .program-page-directory span { color: var(--orange-dark); font-size: 10px; font-weight: 900; text-transform: uppercase; }
#plnView .program-page-directory strong { color: var(--green); font-size: 18px; line-height: 1.25; }
#plnView .program-page-directory p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }

#plnView .resource-catalog-heading {
  padding-left: 18px;
  border-left: 6px solid var(--orange);
}

#plnView .program-explainer {
  overflow: hidden;
  margin-top: 28px;
  border: 1px solid var(--program-rule);
  background: rgba(255, 255, 255, .58);
}

#plnView .program-explainer > div {
  padding: 22px;
}

#plnView .program-explainer > div + div {
  border-left-color: var(--program-rule);
}

#plnView .program-model-note {
  display: grid;
  grid-template-columns: minmax(190px, .35fr) minmax(0, 1fr);
  gap: 24px;
  margin-top: 18px;
  padding: 20px 22px;
  border: 1px solid var(--program-rule);
  border-left: 6px solid var(--green);
  background: rgba(235, 243, 237, .72);
}

#plnView .program-model-note strong {
  color: var(--green);
  font-size: 12px;
  text-transform: uppercase;
}

#plnView .program-model-note p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}

#plnView .resource-catalog-list {
  border: 1px solid var(--program-rule);
}

#plnView .resource-catalog-row,
#plnView .top-topic-entry {
  padding: 22px;
}

#plnView .resource-catalog-row + .resource-catalog-row {
  border-top: 1px solid var(--program-rule-soft);
}

#plnView .resource-governance {
  margin-top: 0;
  border-top: 2px solid var(--program-rule);
  border-bottom: 1px solid var(--program-rule);
}

#plnView .pss-document-links {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  margin-top: 28px;
  border-top: 2px solid var(--green);
  border-bottom: 1px solid var(--program-rule);
}

#plnView .pss-document-links a {
  display: grid;
  align-content: start;
  gap: 7px;
  min-height: 124px;
  padding: 22px;
  color: var(--ink);
  text-decoration: none;
  background: rgba(255, 255, 255, .55);
}

#plnView .pss-document-links a + a { border-left: 1px solid var(--program-rule); }
#plnView .pss-document-links a:hover,
#plnView .pss-document-links a:focus-visible { background: rgba(229, 181, 111, .18); }
#plnView .pss-document-links span { color: var(--orange-dark); font-size: 10px; font-weight: 900; text-transform: uppercase; }
#plnView .pss-document-links strong { color: var(--green); font-size: 16px; line-height: 1.3; }
#plnView .pss-document-links small { color: var(--muted); font-size: 12px; line-height: 1.5; }

#plnView .pss-route-selector {
  margin-top: 36px;
  padding: 26px 0 0;
  border-top: 3px solid var(--green);
  border-bottom: 1px solid var(--program-rule);
}

#plnView .pss-route-selector > div:first-child {
  display: grid;
  grid-template-columns: minmax(240px, .65fr) minmax(0, 1fr);
  gap: 28px;
  align-items: end;
  padding: 0 4px 22px;
}

#plnView .pss-route-selector h3 { margin: 5px 0 0; color: var(--green); font-size: 25px; }
#plnView .pss-route-selector > div:first-child > p:last-child { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }

#plnView .pss-route-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--program-rule);
}

#plnView .pss-route-options button {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 5px 12px;
  align-content: start;
  min-height: 136px;
  padding: 19px 18px;
  border: 0;
  border-radius: 0;
  color: var(--ink);
  background: rgba(255, 255, 255, .68);
  text-align: left;
}

#plnView .pss-route-options button + button { border-left: 1px solid var(--program-rule-soft); }
#plnView .pss-route-options button:hover,
#plnView .pss-route-options button:focus-visible { color: var(--ink); background: #dcebdd; }
#plnView .pss-route-options button.active { color: #fff; background: var(--green); }
#plnView .pss-route-options button span { grid-row: 1 / 3; color: var(--orange-dark); font-size: 11px; font-weight: 900; }
#plnView .pss-route-options button.active span { color: #f2c578; }
#plnView .pss-route-options button strong { font-size: 14px; line-height: 1.3; }
#plnView .pss-route-options button small { grid-column: 2; color: var(--muted); font-size: 11px; line-height: 1.45; }
#plnView .pss-route-options button.active small { color: rgba(255, 255, 255, .82); }

#plnView .pss-route-status {
  margin: 0;
  padding: 10px 4px;
  color: var(--green);
  font-size: 11px;
  font-weight: 850;
}

#plnView .pss-route-panel {
  scroll-margin-top: 120px;
  padding-top: 28px;
}

#plnView .pss-route-panel[hidden] { display: none; }
#plnView .pss-route-panel .pss-document-links,
#plnView .pss-route-panel .pss-pathway-builder,
#plnView .pss-route-panel .pss-topic-library { margin-top: 0; }
#plnView .pss-route-panel .pss-pathway-builder,
#plnView .pss-route-panel .pss-resource-access { margin-top: 26px; }

#plnView .pss-support-intro {
  max-width: 760px;
  padding-left: 18px;
  border-left: 6px solid var(--orange);
}

#plnView .pss-support-intro h3 { margin: 5px 0 8px; color: var(--green); font-size: 24px; }
#plnView .pss-support-intro > p:last-child { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }

#plnView .pss-support-options {
  margin-top: 18px;
  border: 1px solid var(--program-rule);
}

#plnView .pss-support-options article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  padding: 22px;
  background: rgba(255, 255, 255, .62);
}

#plnView .pss-support-options article + article { border-top: 1px solid var(--program-rule-soft); }
#plnView .pss-support-options span { color: var(--orange-dark); font-size: 10px; font-weight: 900; text-transform: uppercase; }
#plnView .pss-support-options h4 { margin: 5px 0 7px; color: var(--green); font-size: 17px; }
#plnView .pss-support-options p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
#plnView .pss-support-options button {
  min-height: 42px;
  padding: 10px 14px;
  border: 1px solid var(--green);
  border-radius: 4px;
  color: #fff;
  background: var(--green);
  font: inherit;
  font-size: 11px;
  font-weight: 900;
}
#plnView .pss-support-options button:hover,
#plnView .pss-support-options button:focus-visible { background: #2f6d50; }

#plnView .pss-pathway-builder {
  margin-top: 40px;
  border-top: 3px solid var(--green);
  border-bottom: 1px solid var(--program-rule);
  background: rgba(255, 255, 255, .58);
}

#plnView .pss-pathway-builder > header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 34px;
  align-items: center;
  padding: 26px 24px;
}

#plnView .pss-pathway-builder > header h3 {
  margin: 5px 0 8px;
  color: var(--green);
  font-size: 25px;
  line-height: 1.2;
}

#plnView .pss-pathway-builder > header p:last-child {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}

#plnView .pss-pathway-builder > header button,
#plnView .pss-step-actions button,
#plnView .pss-result-actions button {
  min-height: 44px;
  border-radius: 4px;
  padding: 10px 16px;
  font: inherit;
  font-size: 12px;
  font-weight: 850;
}

#plnView .pss-pathway-builder > header button {
  border: 1px solid var(--green);
  background: var(--green);
  color: #fff;
}

#plnView .pss-entry-actions {
  display: grid;
  gap: 8px;
  min-width: 180px;
}

#plnView .pss-entry-actions button:last-child {
  color: var(--green);
  background: #fff;
}

#plnView .pss-pathway-builder > header button:hover,
#plnView .pss-pathway-builder > header button:focus-visible { background: var(--burgundy); border-color: var(--burgundy); }
#plnView .pss-pathway-wizard[hidden] { display: none; }
#plnView .pss-pathway-wizard { border-top: 1px solid var(--program-rule); }

#plnView .pss-pathway-progress {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid var(--program-rule);
}

#plnView .pss-pathway-progress li {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 56px;
  padding: 10px 14px;
  color: var(--muted);
  background: rgba(248, 231, 215, .28);
}

#plnView .pss-pathway-progress li + li { border-left: 1px solid var(--program-rule-soft); }
#plnView .pss-pathway-progress li span {
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 10px;
}
#plnView .pss-pathway-progress li strong { font-size: 11px; }
#plnView .pss-pathway-progress li.active { color: #fff; background: var(--green); }
#plnView .pss-pathway-progress li.complete { color: var(--green); background: var(--green-soft); }

#plnView .pss-pathway-step { min-height: 440px; padding: 30px 24px 24px; }
#plnView .pss-pathway-step[hidden] { display: none; }
#plnView .pss-step-heading { max-width: 760px; margin-bottom: 24px; }
#plnView .pss-step-heading > span { color: var(--orange-dark); font-size: 10px; font-weight: 900; text-transform: uppercase; }
#plnView .pss-step-heading h4 { margin: 6px 0 8px; color: var(--green); font-size: 22px; line-height: 1.25; }
#plnView .pss-step-heading p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }

#plnView .pss-pathway-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

#plnView .pss-choice-group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  border: 1px solid var(--program-rule);
}

#plnView .pss-choice-group legend {
  width: 100%;
  padding: 0 0 10px;
  color: var(--green);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

#plnView .pss-choice-group label {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-height: 92px;
  padding: 16px;
  background: #fff;
  cursor: pointer;
}

#plnView .pss-choice-group label:nth-of-type(even) { border-left: 1px solid var(--program-rule-soft); }
#plnView .pss-choice-group label:nth-of-type(n+3) { border-top: 1px solid var(--program-rule-soft); }
#plnView .pss-choice-group label:hover { background: rgba(229, 181, 111, .14); }
#plnView .pss-choice-group input { width: 17px; height: 17px; margin: 2px 0 0; accent-color: var(--green); }
#plnView .pss-choice-group label > span { display: grid; gap: 4px; }
#plnView .pss-choice-group strong { color: var(--ink); font-size: 13px; line-height: 1.35; }
#plnView .pss-choice-group small { color: var(--muted); font-size: 11px; line-height: 1.45; }
#plnView .pss-other-subject { margin-top: 18px; }
#plnView .pss-validation { margin: 14px 0 0; padding: 10px 12px; border-left: 5px solid var(--red); background: var(--red-soft); color: var(--ink); font-size: 12px; }

#plnView .pss-step-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 26px;
}
#plnView .pss-next { border: 1px solid var(--green); background: var(--green); color: #fff; }
#plnView .pss-next:hover, #plnView .pss-next:focus-visible { background: var(--burgundy); border-color: var(--burgundy); }
#plnView .pss-previous, #plnView .pss-restart { border: 1px solid var(--program-rule); background: #fff; color: var(--ink); }
#plnView .pss-previous:hover, #plnView .pss-restart:hover { border-color: var(--green); color: var(--green); }

#plnView .pss-recommendation-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border: 1px solid var(--program-rule);
  counter-reset: pss-pathway;
}
#plnView .pss-recommendation-list li {
  position: relative;
  display: grid;
  grid-template-columns: minmax(180px, .42fr) minmax(0, 1fr) auto;
  gap: 6px 24px;
  align-items: center;
  padding: 18px 20px 18px 64px;
  counter-increment: pss-pathway;
  background: rgba(255, 255, 255, .72);
}
#plnView .pss-recommendation-list li + li { border-top: 1px solid var(--program-rule-soft); }
#plnView .pss-recommendation-list li::before {
  position: absolute;
  left: 20px;
  top: 18px;
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--green);
  content: counter(pss-pathway);
  font-size: 11px;
  font-weight: 900;
}
#plnView .pss-recommendation-list li > span { color: var(--orange-dark); font-size: 10px; font-weight: 900; text-transform: uppercase; }
#plnView .pss-recommendation-list li > strong { color: var(--green); font-size: 15px; line-height: 1.35; }
#plnView .pss-recommendation-list li > p { grid-column: 2 / 3; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
#plnView .pss-recommendation-list li > a { grid-column: 3; grid-row: 1 / 3; color: var(--green); font-size: 11px; font-weight: 850; }
#plnView .pss-recommendation-list .subject-not-yet-approved { grid-template-columns: minmax(180px, .42fr) minmax(0, 1fr); }

#plnView .pss-pathway-boundary {
  margin-top: 18px;
  padding: 16px 18px;
  border-left: 6px solid var(--orange);
  background: rgba(248, 231, 215, .56);
}
#plnView .pss-pathway-boundary strong { color: var(--green); font-size: 12px; }
#plnView .pss-pathway-boundary p { margin: 5px 0 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
#plnView .pss-result-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
#plnView .pss-result-actions button { border: 1px solid var(--green); background: #fff; color: var(--green); }
#plnView .pss-result-actions button:first-child { background: var(--green); color: #fff; }
#plnView .pss-result-actions button:hover,
#plnView .pss-result-actions button:focus-visible {
  border-color: var(--green);
  color: #174d38;
  background: #dcebdd;
}
#plnView .pss-result-actions button:first-child:hover,
#plnView .pss-result-actions button:first-child:focus-visible { color: #fff; background: #2f6d50; }
#plnView .pss-request-note { margin: 12px 0 0; color: var(--muted); font-size: 11px; line-height: 1.5; }

#plnView .pss-topic-library {
  margin-top: 46px;
  border: 1px solid var(--program-rule);
  background: rgba(255, 255, 255, .52);
}

#plnView .pss-topic-library > header {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1fr);
  gap: 34px;
  align-items: end;
  padding: 24px;
  border-bottom: 2px solid var(--green);
}

#plnView .pss-topic-library h3,
#plnView .pss-resource-access h3 { margin: 5px 0 0; color: var(--green); font-size: 22px; line-height: 1.25; }
#plnView .pss-topic-library > header > p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
#plnView .pss-topic-picker {
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
  gap: 26px;
  align-items: stretch;
  padding: 24px;
}
#plnView .pss-topic-picker label { display: grid; align-content: start; gap: 10px; }
#plnView .pss-topic-picker label > span { color: var(--green); font-size: 11px; font-weight: 900; text-transform: uppercase; }
#plnView .pss-topic-picker select {
  width: 100%;
  min-height: 50px;
  padding: 10px 42px 10px 14px;
  border: 2px solid var(--green);
  border-radius: 4px;
  color: var(--ink);
  background: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 750;
}
#plnView .pss-topic-picker select:focus-visible { outline: 3px solid rgba(229, 181, 111, .55); outline-offset: 2px; }
#plnView .pss-topic-selection {
  min-height: 154px;
  padding: 22px 24px;
  border-left: 6px solid var(--orange);
  background: rgba(248, 231, 215, .5);
}
#plnView .pss-topic-selection > span { color: var(--orange-dark); font-size: 10px; font-weight: 900; text-transform: uppercase; }
#plnView .pss-topic-selection h4 { margin: 7px 0 8px; color: var(--green); font-size: 19px; line-height: 1.3; }
#plnView .pss-topic-selection p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
#plnView .pss-topic-selection a {
  display: inline-flex;
  margin-top: 16px;
  padding: 10px 14px;
  border: 1px solid var(--green);
  border-radius: 4px;
  color: #fff;
  background: var(--green);
  font-size: 11px;
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;
}
#plnView .pss-topic-selection a:hover,
#plnView .pss-topic-selection a:focus-visible { background: var(--burgundy); border-color: var(--burgundy); }
#plnView .pss-topic-selection a[hidden] { display: none; }

#plnView .pss-internal-request {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 34px;
  align-items: center;
  margin-top: 34px;
  padding: 28px;
  border: 2px solid var(--green);
  background: rgba(235, 243, 237, .72);
}
#plnView .pss-internal-request span { color: var(--orange-dark); font-size: 10px; font-weight: 900; text-transform: uppercase; }
#plnView .pss-internal-request h3 { margin: 6px 0 8px; color: var(--green); font-size: 20px; }
#plnView .pss-internal-request p { max-width: 720px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
#plnView .pss-internal-request button {
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid var(--green);
  border-radius: 0;
  background: var(--green);
  color: #fff;
  font-weight: 850;
}
#plnView .pss-internal-request button:hover,
#plnView .pss-internal-request button:focus-visible { background: #164d38; }

#plnView .pss-resource-access {
  display: grid;
  grid-template-columns: minmax(230px, .58fr) minmax(0, 1fr);
  gap: 42px;
  margin-top: 34px;
  padding: 26px 24px;
  border-left: 6px solid var(--orange);
  background: rgba(248, 231, 215, .58);
}

#plnView .pss-resource-access span { color: var(--orange-dark); font-size: 10px; font-weight: 900; text-transform: uppercase; }
#plnView .pss-resource-access p { margin: 0 0 10px; color: var(--muted); font-size: 12px; line-height: 1.55; }
#plnView .pss-resource-access p:last-child { margin-bottom: 0; }

#plnView .publication-page {
  min-height: 420px;
  border: 1px solid var(--program-rule);
  border-left: 7px solid var(--orange);
  background: rgba(255, 255, 255, .62);
}

#plnView .publication-page > div { max-width: 780px; }
#plnView .publication-page h2 { margin: 7px 0 18px; color: var(--green); font-size: 28px; }
#plnView .publication-page p:not(.eyebrow) { color: var(--muted); font-size: 14px; line-height: 1.7; }

@media (max-width: 650px) {
  #hubView .hub-hero::before {
    inset: 6px;
  }

  #plnView .learning-program-layout {
    grid-template-columns: 1fr;
    gap: 28px;
    padding-top: 28px;
  }

  #plnView .program-jump-nav {
    position: static;
    top: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #plnView .program-jump-nav strong {
    grid-column: 1 / -1;
  }

  #plnView .program-explainer > div + div {
    border-top-color: var(--program-rule);
    border-left: 0;
  }

  #plnView .program-model-note {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  #plnView .pss-pathway-builder > header,
  #plnView .pss-pathway-fields,
  #plnView .pss-choice-group,
  #plnView .pss-result-actions {
    grid-template-columns: 1fr;
  }
  #plnView .pss-route-selector > div:first-child,
  #plnView .pss-route-options,
  #plnView .pss-support-options article { grid-template-columns: 1fr; }
  #plnView .pss-route-options button + button { border-left: 0; border-top: 1px solid var(--program-rule-soft); }
  #plnView .pss-route-options button { min-height: 0; }
  #plnView .pss-support-options article { gap: 16px; }
  #plnView .pss-support-options button { justify-self: start; }

  #plnView .pss-pathway-builder > header { gap: 18px; }
  #plnView .pss-pathway-builder > header button { justify-self: start; }
  #plnView .pss-pathway-progress li { display: grid; justify-items: center; gap: 4px; padding: 9px 4px; text-align: center; }
  #plnView .pss-pathway-progress li strong { font-size: 9px; }
  #plnView .pss-pathway-step { min-height: 0; padding: 24px 16px 18px; }
  #plnView .pss-choice-group label:nth-of-type(even) { border-left: 0; }
  #plnView .pss-choice-group label:nth-of-type(n+2) { border-top: 1px solid var(--program-rule-soft); }
  #plnView .pss-recommendation-list li,
  #plnView .pss-recommendation-list .subject-not-yet-approved {
    grid-template-columns: 1fr;
    gap: 5px;
    padding: 17px 16px 17px 58px;
  }
  #plnView .pss-recommendation-list li > p,
  #plnView .pss-recommendation-list li > a { grid-column: 1; grid-row: auto; }
  #plnView .pss-step-actions { justify-content: stretch; }
  #plnView .pss-step-actions button { flex: 1; }

  #plnView .pss-document-links,
  #plnView .pss-topic-library > header,
  #plnView .pss-topic-picker,
  #plnView .pss-internal-request,
  #plnView .pss-resource-access {
    grid-template-columns: 1fr;
  }
  #plnView .program-page-directory { grid-template-columns: 1fr; }
  #plnView .program-page-directory button:nth-child(even) { border-left: 0; }
  #plnView .program-page-directory button:nth-child(n+2) { border-top: 1px solid var(--program-rule-soft); }
  #plnView .program-page-directory button:last-child { grid-column: auto; }

  #plnView .pss-topic-library > header,
  #plnView .pss-topic-picker { padding: 18px 16px; }
  #plnView .pss-topic-selection { min-height: 0; }

  #plnView .pss-document-links a + a {
    border-top: 1px solid var(--program-rule);
    border-left: 0;
  }

}

/* Homepage lead, contact emphasis, and Society-style footer */
.homepage-lead {
  position: relative;
  left: 50%;
  width: 100vw;
  min-height: calc(100vh - 128px);
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr);
  gap: clamp(42px, 6vw, 90px);
  align-items: center;
  margin-left: -50vw;
  padding: clamp(48px, 6vw, 78px) max(24px, calc((100vw - 1240px) / 2));
  background:
    radial-gradient(circle at 90% 12%, rgba(229, 181, 111, .34), transparent 31%),
    radial-gradient(circle at 8% 88%, rgba(182, 109, 67, .14), transparent 32%),
    linear-gradient(118deg, #fffaf5 0%, #f4ddc8 54%, #fffaf5 100%);
}

#hubView .home-entry {
  display: block;
  padding: 0;
  border: 0;
}

#hubView .home-entry h2 {
  max-width: 660px;
  margin-bottom: 18px;
  font-size: clamp(44px, 5vw, 64px);
  line-height: 1.02;
}

#hubView .home-entry p:last-child {
  max-width: 660px;
  font-size: 17px;
}

#hubView .home-entry .hero-actions {
  justify-content: flex-start;
  margin-top: 30px;
}

#hubView .hub-hero {
  position: relative;
  left: auto;
  width: min(100%, 540px);
  height: auto;
  min-height: 0;
  aspect-ratio: 16 / 9;
  justify-self: end;
  margin: 0;
  border: 0;
  border-radius: 4px;
  background-position: center;
  background-size: cover;
  box-shadow: 0 24px 64px rgba(96, 54, 32, .16);
}

#hubView .hub-hero::before,
#hubView .hub-hero::after {
  display: none;
}

.contact-options button {
  border-color: var(--green);
  background: var(--green);
  color: #fff;
}

.contact-options button:hover,
.contact-options button:focus-visible,
.contact-options button.active {
  border-color: #174f3a;
  background: #174f3a;
  color: #fff;
}

.site-footer {
  position: relative;
  display: block;
  margin-top: 42px;
  padding: 66px 0 24px;
  color: rgba(255, 255, 255, .78);
}

.site-footer::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  z-index: -1;
  width: 100vw;
  background:
    radial-gradient(circle at 90% 10%, rgba(229, 181, 111, .22), transparent 30%),
    linear-gradient(120deg, #063e2c 0%, #07563d 46%, #553322 78%, #7f472e 100%);
  content: "";
  transform: translateX(-50%);
}

.footer-grid {
  display: grid;
  grid-template-columns: minmax(250px, 1.35fr) repeat(4, minmax(110px, .58fr));
  gap: clamp(24px, 3.5vw, 52px);
  padding-bottom: 48px;
}

.footer-identity {
  display: grid;
  align-content: start;
  gap: 8px;
  max-width: 390px;
}

.site-footer .footer-identity strong {
  color: #fff;
  font-size: 38px;
}

.footer-identity p {
  color: #fff;
  font-weight: 750;
  line-height: 1.4;
}

.footer-identity span {
  font-size: 12px;
  line-height: 1.55;
}

.footer-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 11px;
}

.footer-column h3 {
  margin: 0 0 8px;
  color: #f0bc7d;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
  font-weight: 500;
}

.footer-column a,
.footer-column button {
  border: 0;
  padding: 0;
  background: transparent;
  color: rgba(255, 255, 255, .82);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.45;
  text-align: left;
  text-decoration: none;
}

.footer-column a:hover,
.footer-column button:hover,
.footer-column a:focus-visible,
.footer-column button:focus-visible {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 28px;
  border-top: 1px solid rgba(255, 255, 255, .22);
  padding-top: 22px;
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.site-footer .footer-bottom strong {
  color: #f0bc7d;
  font-family: inherit;
  font-size: 10px;
  font-weight: 850;
}

main { padding-bottom: 0; }
.site-footer .footer-bottom { display: flex; }

/* Privacy and Terms */
.legal-view {
  max-width: 1120px;
  margin: 0 auto;
}

.legal-hero {
  padding: clamp(52px, 7vw, 86px) 0 38px;
  border-bottom: 1px solid var(--line);
}

.legal-hero h2 {
  max-width: 820px;
  margin: 0 0 16px;
  color: var(--ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 6vw, 68px);
  font-weight: 500;
  line-height: 1;
}

.legal-hero > p:not(.eyebrow):not(.legal-meta) {
  max-width: 790px;
  margin: 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.65;
}

.legal-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 22px 0 0;
  color: var(--muted);
  font-size: 11px;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.legal-layout {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: clamp(42px, 7vw, 86px);
  align-items: start;
  padding: 44px 0 70px;
}

.legal-toc {
  position: sticky;
  top: 118px;
  display: grid;
  gap: 0;
  border-top: 3px solid var(--green);
}

.legal-toc strong,
.legal-toc button {
  padding: 11px 4px;
  border-bottom: 1px solid var(--line);
}

.legal-toc strong {
  color: var(--green);
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.legal-toc button {
  width: 100%;
  border-top: 0;
  border-right: 0;
  border-left: 0;
  background: transparent;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  text-align: left;
  text-decoration: none;
}

.legal-toc button:hover,
.legal-toc button:focus-visible { color: var(--green); }

.legal-content { min-width: 0; }

.legal-callout {
  margin-bottom: 8px;
  padding: 22px 24px;
  border-left: 6px solid var(--orange);
  background: var(--orange-soft);
}

.legal-callout strong {
  color: var(--red);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 21px;
  font-weight: 600;
}

.legal-callout p,
.legal-section p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.72;
}

.legal-section {
  scroll-margin-top: 120px;
  padding: 30px 2px;
  border-bottom: 1px solid var(--line);
}

.legal-section h3 {
  margin: 0 0 10px;
  color: var(--ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 26px;
  font-weight: 500;
  line-height: 1.2;
}

.legal-section p + p { margin-top: 13px; }
.legal-section a { color: var(--green); font-weight: 800; }

.legal-action,
.legal-crosslink button {
  min-height: 42px;
  margin-top: 18px;
  border: 1px solid var(--green);
  border-radius: 4px;
  padding: 10px 15px;
  background: var(--green);
  color: #fff;
  font-weight: 800;
}

.legal-action:hover,
.legal-crosslink button:hover { border-color: var(--orange); background: var(--orange); }

.inline-legal-link,
.contact-data-notice button {
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--green);
  font: inherit;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.legal-crosslink {
  display: flex;
  justify-content: space-between;
  gap: 22px;
  align-items: center;
  margin-top: 34px;
  padding: 22px 24px;
  background: var(--green);
  color: #fff;
}

.legal-crosslink span {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
}

.legal-crosslink button {
  margin: 0;
  border-color: rgba(255,255,255,.55);
  background: transparent;
}

@media (max-width: 900px) {
  .homepage-lead {
    grid-template-columns: minmax(0, 1fr) minmax(300px, .75fr);
    gap: 34px;
  }

  #hubView .home-entry h2 { font-size: clamp(42px, 6vw, 56px); }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-identity { grid-column: 1 / -1; }
  .legal-layout { grid-template-columns: 175px minmax(0, 1fr); gap: 38px; }
}

@media (max-width: 650px) {
  .homepage-lead {
    min-height: 0;
    grid-template-columns: 1fr;
    padding: 42px 14px 48px;
  }

  #hubView .home-entry h2 {
    font-size: 39px;
    line-height: 1.04;
  }

  #hubView .home-entry p:last-child { font-size: 15px; }
  #hubView .hub-hero { width: 100%; justify-self: stretch; }
  .footer-grid { grid-template-columns: 1fr; gap: 30px; }
  .footer-identity { grid-column: auto; }
  .site-footer .footer-bottom { flex-direction: column; gap: 10px; }
  .legal-hero { padding: 42px 0 30px; }
  .legal-hero h2 { font-size: 44px; }
  .legal-layout { grid-template-columns: 1fr; gap: 28px; padding-top: 28px; }
  .legal-toc { position: static; top: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .legal-toc strong { grid-column: 1 / -1; }
  .legal-crosslink { align-items: flex-start; flex-direction: column; }
}

/* About PhASEd */
.about-hero {
  position: relative;
  min-height: 520px;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  gap: clamp(52px, 8vw, 110px);
  align-items: center;
  isolation: isolate;
  padding: clamp(58px, 8vw, 96px) 0;
}

.about-hero::before {
  position: absolute;
  inset: 0 auto 0 50%;
  z-index: -1;
  width: 100vw;
  border-bottom: 1px solid rgba(123, 77, 50, .2);
  background:
    radial-gradient(circle at 90% 14%, rgba(229, 181, 111, .38), transparent 31%),
    radial-gradient(circle at 5% 88%, rgba(182, 109, 67, .14), transparent 32%),
    linear-gradient(116deg, #fffaf5 0%, #f3dcc6 55%, #fffaf5 100%);
  content: "";
  transform: translateX(-50%);
}

.about-hero h2,
.about-section-heading h2,
.about-relationship h2 {
  margin: 0;
  color: var(--home-brown, #553322);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: 0;
}

.about-hero h2 {
  max-width: 860px;
  font-size: clamp(48px, 6vw, 76px);
  line-height: .98;
}

.about-hero > div:first-child > p:last-child {
  max-width: 760px;
  margin: 24px 0 0;
  color: #514943;
  font-size: 17px;
  line-height: 1.68;
}

.about-signals {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.about-signals span {
  min-height: 90px;
  display: grid;
  place-items: center;
  border-top: 4px solid var(--green);
  border-bottom: 1px solid rgba(123, 77, 50, .22);
  color: var(--ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
}

.about-signals span:nth-child(2) { border-top-color: var(--orange); }
.about-signals span:nth-child(3) { border-top-color: var(--red); }
.about-signals span:nth-child(4) { border-top-color: var(--amber); }
.about-signals span:nth-child(odd) { border-right: 1px solid rgba(123, 77, 50, .22); }

.about-purpose,
.about-values {
  padding: clamp(58px, 7vw, 90px) 0;
  border-bottom: 1px solid rgba(123, 77, 50, .2);
}

.about-section-heading {
  max-width: 880px;
  margin-bottom: 44px;
}

.about-section-heading h2 {
  font-size: clamp(38px, 5vw, 61px);
  line-height: 1.02;
}

.about-purpose-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(123, 77, 50, .25);
}

.about-purpose-grid article {
  min-height: 245px;
  padding: 26px 30px 18px 0;
  border-right: 1px solid rgba(123, 77, 50, .22);
}

.about-purpose-grid article + article { padding-left: 30px; }
.about-purpose-grid article:last-child { border-right: 0; padding-right: 0; }
.about-purpose-grid span { color: var(--orange); font-size: 10px; font-weight: 850; }
.about-purpose-grid h3 { margin: 38px 0 12px; color: var(--green); font-family: Georgia, "Times New Roman", serif; font-size: 27px; font-weight: 500; }
.about-purpose-grid p { margin: 0; color: var(--muted); line-height: 1.65; }

.about-relationship {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .72fr);
  gap: clamp(54px, 8vw, 110px);
  align-items: center;
  isolation: isolate;
  padding: clamp(62px, 8vw, 96px) 0;
  color: #fff;
}

.about-relationship::before {
  position: absolute;
  inset: 0 auto 0 50%;
  z-index: -1;
  width: 100vw;
  background:
    radial-gradient(circle at 91% 12%, rgba(229, 181, 111, .2), transparent 30%),
    linear-gradient(120deg, #063e2c 0%, #07563d 52%, #553322 100%);
  content: "";
  transform: translateX(-50%);
}

.about-relationship .eyebrow,
.about-relationship h2 { color: #fff; }
.about-relationship h2 { font-size: clamp(38px, 5vw, 59px); line-height: 1.02; }
.about-relationship p { margin: 0; color: rgba(255, 255, 255, .82); line-height: 1.7; }
.about-relationship a { display: inline-block; margin-top: 24px; border-bottom: 1px solid #f0bc7d; padding-bottom: 5px; color: #f0bc7d; font-size: 13px; font-weight: 800; text-decoration: none; }
.about-relationship a:hover { color: #fff; border-bottom-color: #fff; }

.about-values-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid rgba(123, 77, 50, .25);
}

.about-values-list article {
  min-height: 215px;
  padding: 26px 22px 18px;
  border-right: 1px solid rgba(123, 77, 50, .22);
  background: linear-gradient(150deg, rgba(255, 255, 255, .58), rgba(248, 231, 215, .38));
}

.about-values-list article:first-child { padding-left: 0; background: transparent; }
.about-values-list article:last-child { border-right: 0; padding-right: 0; background: transparent; }
.about-values-list strong { color: var(--green); font-family: Georgia, "Times New Roman", serif; font-size: 24px; font-weight: 500; }
.about-values-list p { margin: 30px 0 0; color: var(--muted); font-size: 13px; line-height: 1.6; }

.about-boundary {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 38px;
  padding: 36px 0 58px;
  color: var(--muted);
}

.about-boundary strong { color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-size: 22px; font-weight: 500; }
.about-boundary p { max-width: 900px; margin: 0; line-height: 1.65; }

@media (max-width: 900px) {
  .about-hero,
  .about-relationship { grid-template-columns: 1fr; gap: 38px; }
  .about-signals { max-width: 560px; }
  .about-purpose-grid { grid-template-columns: 1fr; }
  .about-purpose-grid article,
  .about-purpose-grid article + article { min-height: 0; border-right: 0; border-bottom: 1px solid rgba(123, 77, 50, .22); padding: 24px 0; }
  .about-purpose-grid article:last-child { border-bottom: 0; }
  .about-purpose-grid h3 { margin-top: 18px; }
  .about-values-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-values-list article,
  .about-values-list article:first-child,
  .about-values-list article:last-child { min-height: 190px; border-right: 0; border-bottom: 1px solid rgba(123, 77, 50, .22); padding: 24px 18px; background: transparent; }
}

@media (max-width: 650px) {
  .about-hero { min-height: 0; padding: 50px 0; }
  .about-hero h2 { font-size: 45px; }
  .about-hero > div:first-child > p:last-child { font-size: 15px; }
  .about-signals span { min-height: 68px; font-size: 17px; }
  .about-values-list { grid-template-columns: 1fr; }
  .about-values-list article,
  .about-values-list article:first-child,
  .about-values-list article:last-child { min-height: 0; padding: 22px 0; }
  .about-values-list p { margin-top: 12px; }
  .about-boundary { grid-template-columns: 1fr; gap: 12px; }
}

/* About navigation grouping */
.primary-nav {
  width: 100%;
  justify-content: space-between;
  gap: clamp(4px, .7vw, 12px);
}

.about-menu {
  position: relative;
  flex: 0 0 auto;
}

.about-menu > summary {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  border-bottom: 2px solid transparent;
  padding: 8px 18px 8px 9px;
  color: var(--ink);
  cursor: pointer;
  font-size: 11px;
  font-weight: 650;
  list-style: none;
  white-space: nowrap;
}

.about-menu > summary::-webkit-details-marker { display: none; }
.about-menu > summary::after { margin-left: 7px; content: "▾"; font-size: 10px; }
.about-menu.active > summary,
.about-menu[open] > summary { border-bottom-color: var(--orange); color: var(--green); }

.about-menu-popover {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  z-index: 20;
  width: 370px;
  border: 1px solid #d7c4b2;
  padding: 8px;
  background: #fffaf5;
  box-shadow: 0 16px 36px rgba(50, 32, 23, .18);
  transform: translateX(-50%);
}

.about-menu-popover button {
  width: 100%;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 2px 10px;
  border: 0;
  border-bottom: 1px solid #e4d6ca;
  padding: 14px 12px;
  background: transparent;
  color: var(--ink);
  text-align: left;
}

.about-menu-popover button:last-child { border-bottom: 0; }
.about-menu-popover button:hover,
.about-menu-popover button[aria-current="page"] { background: #f4e7dc; color: var(--green); }
.about-menu-popover span { grid-row: 1 / 3; color: var(--orange); font-size: 10px; font-weight: 850; }
.about-menu-popover strong { font-size: 14px; }
.about-menu-popover small { color: var(--muted); line-height: 1.35; }

@media (max-width: 1180px) {
  .about-menu > summary { padding-inline: 6px 15px; font-size: 10px; }
}

@media (max-width: 900px) {
  .primary-nav { justify-content: flex-start; gap: 2px; }
  .about-menu-popover { left: 0; transform: none; }
}

@media (max-width: 650px) {
  .about-menu-popover {
    position: fixed;
    top: 126px;
    right: 14px;
    left: 14px;
    width: auto;
    max-height: calc(100vh - 145px);
    overflow-y: auto;
    transform: none;
  }
}

/* Accessibility, navigation history, and contact-data refinements */
.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 1000;
  padding: 10px 14px;
  background: #fff;
  color: var(--green);
  font-weight: 850;
  text-decoration: none;
  transform: translateY(-150%);
}

.skip-link:focus { transform: translateY(0); }

.topbar-actions {
  display: flex;
  gap: 9px;
  align-items: center;
}

.back-view-button {
  min-height: 42px;
  border: 1px solid var(--green);
  border-radius: 2px;
  padding: 9px 14px;
  background: transparent;
  color: var(--green);
  font-weight: 800;
}

.back-view-button:hover,
.back-view-button:focus-visible {
  background: var(--green);
  color: #fff;
}

.carousel-controls {
  grid-template-columns: 42px minmax(80px, 1fr) auto 42px;
}

.carousel-controls > .carousel-pause {
  width: auto;
  min-width: 68px;
  border-radius: 2px;
  padding-inline: 12px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 850;
}

.form-field > small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.4;
}

.contact-data-notice {
  display: grid;
  grid-template-columns: minmax(190px, .38fr) minmax(0, 1fr);
  gap: 26px;
  margin-top: 34px;
  border-top: 1px solid rgba(123, 77, 50, .24);
  padding: 24px 0 0;
}

.contact-data-notice strong { color: var(--green); }
.contact-data-notice p { margin: 0; color: var(--muted); line-height: 1.65; }

@media (max-width: 650px) {
  .topbar-actions { width: 100%; justify-content: space-between; }
  .back-view-button,
  .print-button { min-height: 38px; padding: 8px 10px; font-size: 11px; }
  .carousel-controls { grid-template-columns: 38px minmax(44px, 1fr) auto 38px; gap: 8px; }
  .carousel-controls > button { width: 38px; height: 38px; }
  .carousel-controls > .carousel-pause { width: auto; min-width: 58px; }
  .contact-data-notice { grid-template-columns: 1fr; gap: 8px; }
}

@media print {
  .skip-link,
  .back-view-button { display: none !important; }
}
