:root {
  --ink: #142033;
  --navy: #101d2e;
  --navy-2: #18344d;
  --paper: #fbf7ef;
  --paper-2: #f2eadc;
  --white: #fffdf9;
  --orange: #ef6a36;
  --orange-soft: #f4b07b;
  --sage: #b7c9bb;
  --line: rgba(16, 29, 46, 0.15);
  --muted: #677080;
  --shadow: 0 22px 55px rgba(16, 29, 46, 0.14);
  --radius: 26px;
  --shell: min(1180px, calc(100vw - 48px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body.menu-open,
body.dialog-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button,
input,
select,
textarea { font: inherit; }
button { color: inherit; }
img { display: block; max-width: 100%; }
figure { margin: 0; }
h1,
h2,
h3,
p { margin-top: 0; }
h1,
h2,
h3 { text-wrap: balance; }
p { text-wrap: pretty; }
.shell { width: var(--shell); margin-inline: auto; }
.route-view[hidden],
[hidden] { display: none !important; }
html[data-spark-hub-auth-callback="none"] .auth-callback-shell { display: none; }
.auth-callback-shell {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: grid;
  place-items: center;
  min-height: 100dvh;
  padding: 24px;
  color: var(--navy);
  background: linear-gradient(145deg, #fffdf8, #f6efe3);
}
.auth-callback-shell[data-callback-state="complete"] .auth-callback-card { border-color: rgba(30,116,82,.3); }
.auth-callback-card {
  width: min(100%, 540px);
  padding: clamp(28px, 7vw, 54px);
  border: 1px solid var(--line);
  border-radius: 28px;
  background: rgba(255,255,255,.92);
  box-shadow: var(--shadow);
}
.auth-callback-card h1 { margin: 8px 0 14px; font-size: clamp(32px, 8vw, 54px); line-height: 1.02; }
.auth-callback-card p:not(.eyebrow) { margin: 0 0 22px; color: var(--muted); }
.auth-callback-mark { display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 14px; color: var(--white); background: var(--orange); font-size: 22px; }
.auth-callback-progress { display: block; width: 100%; height: 4px; margin: 6px 0 24px; overflow: hidden; border-radius: 999px; background: #eadfd2; }
.auth-callback-progress::after { content: ""; display: block; width: 42%; height: 100%; border-radius: inherit; background: var(--orange); animation: auth-callback-progress 1.2s ease-in-out infinite alternate; }
@keyframes auth-callback-progress { from { transform: translateX(-12%); } to { transform: translateX(152%); } }
.svg-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 200;
  transform: translateY(-150%);
  padding: 10px 14px;
  background: var(--white);
  border: 2px solid var(--orange);
  border-radius: 8px;
}
.skip-link:focus { transform: none; }
.site-header {
  position: sticky;
  top: 0;
  z-index: 70;
  border-bottom: 1px solid rgba(16, 29, 46, 0.09);
  background: rgba(251, 247, 239, 0.92);
  backdrop-filter: blur(18px);
}
.header-inner {
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: var(--navy);
  flex: 0 0 auto;
}
.brand-mark { width: 38px; height: 38px; display: block; flex: 0 0 auto; border-radius: 11px; object-fit: cover; }
.wordmark {
  font-size: 24px;
  font-weight: 840;
  letter-spacing: -0.055em;
}
.wordmark-k {
  color: var(--orange);
  display: inline-block;
  transform: rotate(-6deg) translateY(-1px);
}
.brand-copy { display: grid; gap: 2px; }
.brand-longname {
  max-width: 190px;
  color: #667180;
  font-size: 8px;
  line-height: 1.18;
  font-weight: 760;
  letter-spacing: .075em;
  text-transform: uppercase;
}
.primary-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 25px;
}
.primary-nav > a:not(.nav-connect) {
  position: relative;
  padding-block: 10px;
  font-size: 14px;
  font-weight: 720;
}
.primary-nav > a:not(.nav-connect)::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 4px;
  left: 0;
  height: 2px;
  background: var(--orange);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms ease;
}
.primary-nav > a:hover::after,
.primary-nav > a[aria-current="page"]::after { transform: scaleX(1); }
.nav-connect {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 15px 9px 11px;
  border-radius: 999px;
  color: var(--white);
  background: var(--navy);
  font-size: 14px;
  font-weight: 800;
  box-shadow: 0 9px 18px rgba(16, 29, 46, 0.16);
  transition: transform 180ms ease, background 180ms ease;
}
.nav-connect:hover { transform: translateY(-2px); background: var(--navy-2); }
.nav-connect svg { width: 27px; height: 27px; }
.menu-toggle { display: none; }

.eyebrow {
  margin-bottom: 14px;
  color: var(--orange);
  font-size: 11px;
  line-height: 1.3;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.section-pad { padding-block: 108px; }
.section-heading { max-width: 800px; margin-bottom: 42px; }
.section-heading h2,
.events-status-card h2,
.community-support-heading h2,
.home-stories-heading h2,
.studio-heading h2,
.directory-heading h2 {
  margin-bottom: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(38px, 5vw, 66px);
  line-height: 0.98;
  letter-spacing: -0.055em;
  font-weight: 500;
}
.row-heading {
  max-width: none;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
}
.row-heading > div { max-width: 760px; }
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--navy);
  font-size: 14px;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: var(--orange-soft);
  text-underline-offset: 5px;
}
.text-link svg { width: 18px; height: 18px; }
.button {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 20px;
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 820;
  line-height: 1.2;
  text-align: center;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}
.button:hover { transform: translateY(-2px); }
.button-primary { color: var(--white); background: var(--orange); box-shadow: 0 10px 24px rgba(239, 106, 54, 0.25); }
.button-primary:hover { background: #da5825; }
.home-primary-cta { color: var(--navy); }
.home-primary-cta:hover { color: var(--navy); background: #e55e2c; }
.home-primary-cta:focus-visible { outline: 3px solid var(--navy); outline-offset: 4px; }
.button-dark { color: var(--white); background: var(--navy); }
.button-light { color: var(--navy); background: var(--white); }
.button-ghost { border-color: var(--line); background: transparent; color: var(--navy); }
.button:disabled { opacity: 0.48; cursor: not-allowed; transform: none; box-shadow: none; }

.home-hero {
  position: relative;
  padding: 72px 0 96px;
  background: linear-gradient(135deg, var(--paper) 0 62%, #efe4d3 62% 100%);
  overflow: hidden;
}
.home-hero::before {
  content: "";
  position: absolute;
  top: 70px;
  left: -110px;
  width: 260px;
  height: 260px;
  border: 1px solid rgba(239, 106, 54, 0.24);
  border-radius: 50%;
}
.home-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(460px, 1.1fr);
  align-items: center;
  gap: clamp(44px, 7vw, 94px);
}
.hero-copy h1 {
  max-width: 680px;
  margin-bottom: 27px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(56px, 7.4vw, 96px);
  line-height: 0.91;
  letter-spacing: -0.068em;
  font-weight: 500;
}
.hero-lede {
  max-width: 590px;
  margin-bottom: 30px;
  color: #4e5867;
  font-size: 18px;
  line-height: 1.65;
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.demo-note {
  max-width: 520px;
  display: flex;
  gap: 9px;
  align-items: center;
  margin: 22px 0 0;
  color: #69717e;
  font-size: 12px;
}
.demo-note svg { width: 21px; height: 21px; flex: 0 0 auto; color: var(--orange); }
.hero-photo {
  position: relative;
  min-height: 640px;
  border-radius: 24px 82px 24px 24px;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.hero-photo::after,
.program-tile-photo .photo-shade {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  background: linear-gradient(transparent, rgba(16, 29, 46, 0.83));
}
.hero-photo::after { z-index: 1; pointer-events: none; }
.hero-carousel { cursor: pointer; touch-action: manipulation; }
.hero-carousel:focus-visible { outline: 3px solid rgba(239, 106, 54, .72); outline-offset: 5px; }
.hero-slides { position: absolute; inset: 0; background: #26384a; }
.hero-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  visibility: hidden;
  transition: opacity 480ms ease, visibility 480ms ease;
}
.hero-slide.is-active { opacity: 1; visibility: visible; }
.hero-slide[data-slide-position="discussion"] { object-position: 51% center; }
.hero-slide[data-slide-position="pitch"] { object-position: 44% 48%; }
.hero-slide[data-slide-position="community"] { object-position: 50% center; }
.hero-slide[data-slide-position="experience"] { object-position: 44% 48%; }
.hero-photo figcaption {
  position: absolute;
  right: 28px;
  bottom: 28px;
  left: 28px;
  z-index: 2;
  color: var(--white);
  pointer-events: none;
}
.hero-photo figcaption span { display: block; margin-bottom: 5px; color: #ffd2ba; font-size: 11px; font-weight: 820; letter-spacing: 0.11em; text-transform: uppercase; }
.hero-photo figcaption strong { display: block; max-width: 500px; font-family: Georgia, serif; font-size: clamp(24px, 2.15vw, 31px); line-height: 1.08; font-weight: 500; }
.hero-carousel-ui {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 3;
  display: flex;
  opacity: 0;
  pointer-events: none;
  transition: opacity 160ms ease;
}
.hero-carousel:focus .hero-carousel-ui,
.hero-carousel:focus-within .hero-carousel-ui {
  opacity: 1;
  pointer-events: auto;
}
.hero-carousel-button {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  padding: 0;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 50%;
  color: var(--white);
  background: rgba(16,29,46,.58);
  backdrop-filter: blur(10px);
  cursor: pointer;
  transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}
.hero-carousel-button:hover { border-color: rgba(255,255,255,.8); background: rgba(16,29,46,.84); transform: translateY(-1px); }
.hero-carousel-button:focus-visible { outline: 2px solid var(--orange-soft); outline-offset: 3px; }
.hero-carousel-toggle[data-state="paused"] .hero-pause-icon { display: none; }
.hero-carousel-toggle:not([data-state="paused"]) .hero-play-icon { display: none; }
.hero-pause-icon { display: flex; gap: 4px; }
.hero-pause-icon i { width: 3px; height: 13px; border-radius: 3px; background: currentColor; }
.hero-play-icon { margin-left: 2px; font-size: 12px; }
.hero-carousel-toggle:disabled { opacity: .72; cursor: default; transform: none; }

.school-backgrounds {
  padding: 58px 0 62px;
  border-bottom: 1px solid var(--line);
  background: var(--white);
}
.school-backgrounds-heading {
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(280px, .28fr);
  gap: 48px;
  align-items: end;
}
.school-backgrounds-heading h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(38px, 4.2vw, 56px);
  line-height: .96;
  letter-spacing: -.045em;
  font-weight: 500;
}
.school-backgrounds-heading > p {
  max-width: 390px;
  margin: 0 0 3px auto;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.58;
}
.school-marquee {
  position: relative;
  margin: 34px 0 17px;
  padding: 18px 0;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--paper);
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
}
.school-marquee:focus-visible { outline: 3px solid rgba(239, 106, 54, .64); outline-offset: 4px; }
.school-marquee-track {
  display: flex;
  width: max-content;
  transform: translateX(-50%);
  animation: school-logos-right 42s linear infinite;
}
.school-marquee:focus .school-marquee-track,
.school-marquee:focus-within .school-marquee-track { animation-play-state: paused; }
.school-logo-set {
  width: max-content;
  min-height: 112px;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 14px;
  padding: 0 7px;
}
.school-logo-slot {
  width: 178px;
  height: 88px;
  display: grid;
  flex: 0 0 178px;
  place-items: center;
  padding: 14px 16px;
  border-radius: 13px;
  background: var(--white);
  box-shadow: 0 8px 24px rgba(16,29,46,.06);
  overflow: hidden;
}
.school-logo-slot img { width: auto; max-width: 100%; height: auto; max-height: 58px; display: block; object-fit: contain; }
.school-logo-slot-usc img { width: 100%; max-width: 146px; max-height: 56px; object-fit: contain; }
.school-logo-gap { margin: 0 0 8px; color: #616a76; font-size: 11px; line-height: 1.5; }
.school-logo-gap strong { color: var(--navy); }
.school-backgrounds-note {
  margin: 0;
  color: #777e88;
  font-size: 11px;
  line-height: 1.5;
  text-align: right;
}
@keyframes school-logos-right { from { transform: translateX(-50%); } to { transform: translateX(0); } }

.founding-story { padding-block: 112px 96px; background: var(--paper); }
.founding-story-layout {
  display: block;
}
.founding-story-copy { max-width: 780px; margin: 0 auto; text-align: center; }
.founding-story-copy h2 {
  margin: 0 0 24px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(44px, 4.8vw, 66px);
  line-height: .98;
  letter-spacing: -.045em;
  font-weight: 500;
}
.founding-story-copy > p:not(.eyebrow) { max-width: 720px; margin: 0 auto 24px; color: var(--muted); font-size: 17px; line-height: 1.72; }
.founding-story-copy .text-link { justify-content: center; }
.event-photo-wall {
  width: min(1320px, calc(100% - 32px));
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 64px auto 0;
}
.event-photo-wall:focus-visible { outline: 3px solid rgba(239, 106, 54, .64); outline-offset: 6px; }
.event-photo-wall figure {
  position: relative;
  min-width: 0;
  aspect-ratio: 4 / 3;
  margin: 0;
  border-radius: 14px;
  overflow: hidden;
  background: #223449;
  box-shadow: 0 16px 34px rgba(16,29,46,.09);
}
.event-photo-wall img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform 520ms cubic-bezier(.22,1,.36,1); }
.event-photo-wall figure:hover img { transform: scale(1.025); }
.photo-wall-welcome img { object-position: 50% 64%; }
.photo-wall-work img { object-position: 50% 48%; }
.photo-wall-presentation img { object-position: 52% 48%; }
.photo-wall-audience img { object-position: 55% 69%; }
.photo-wall-selfie img { object-position: center; }
.photo-wall-team-pitch img { object-position: 50% 48%; }
.sparks-join-wrap { margin-top: 64px; }
.sparks-join-card {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  padding: 34px 36px;
  border-radius: 22px;
  color: var(--white);
  background: var(--navy);
  box-shadow: var(--shadow);
}
.sparks-join-card > svg { width: 58px; height: 58px; color: var(--orange-soft); }
.sparks-join-card .eyebrow { color: var(--orange-soft); }
.sparks-join-card h2 { max-width: 760px; margin: 0 0 8px; font-family: Georgia, serif; font-size: clamp(28px, 3vw, 40px); line-height: 1.02; font-weight: 500; }
.sparks-join-card p:not(.eyebrow) { max-width: 740px; margin: 0; color: #bec9d3; font-size: 14px; line-height: 1.55; }
.sparks-join-action { min-width: 204px; display: flex; flex-direction: column; align-items: stretch; gap: 9px; }
.sparks-join-action .button { text-align: center; }
.sparks-join-action span { max-width: 210px; color: #8999a8; font-size: 9px; line-height: 1.45; text-align: center; }

.pathway-section { position: relative; z-index: 2; padding: 96px 0 108px; }
.connect-community-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: 64px; align-items: center; }
.connect-community-copy { max-width: 550px; }
.connect-community-copy h2 { margin: 0 0 24px; font-family: Georgia, serif; font-size: clamp(44px, 5.4vw, 72px); line-height: .98; font-weight: 500; letter-spacing: -.045em; }
.connect-community-copy > p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.7; }
.connect-community-copy .connect-community-note { margin-top: 16px; font-size: 13px; line-height: 1.6; }
.connect-community-copy .text-link { margin-top: 27px; }
.connect-network-gallery { min-width: 0; display: grid; grid-template-columns: 1.15fr .85fr; grid-template-rows: 430px; gap: 14px; }
.connect-network-gallery figure { position: relative; min-width: 0; margin: 0; border-radius: 22px; overflow: hidden; background: #223449; box-shadow: 0 18px 42px rgba(16,29,46,.12); }
.connect-network-gallery img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform 520ms cubic-bezier(.22,1,.36,1); }
.connect-network-gallery figure:hover img { transform: scale(1.025); }
.connect-network-wide img,
.connect-network-gallery figure:last-child img { object-position: 50% center; }
.connect-network-gallery figcaption { position: absolute; right: 14px; bottom: 14px; left: 14px; padding: 9px 11px; border-radius: 10px; color: #f5f7f9; background: rgba(16,29,46,.82); font-size: 10px; line-height: 1.4; }

.events-intro { background: var(--paper-2); }
.events-intro-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: 72px;
  align-items: end;
  margin-bottom: 48px;
}
.events-intro-heading h2 {
  max-width: 760px;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 5vw, 68px);
  line-height: .98;
  letter-spacing: -.052em;
  font-weight: 500;
}
.events-intro-heading > div:last-child > p { margin-bottom: 22px; color: var(--muted); font-size: 16px; line-height: 1.7; }
.events-intro-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.event-path-card {
  min-width: 0;
  display: grid;
  grid-template-rows: 270px 1fr;
  border: 1px solid rgba(16,29,46,.1);
  border-radius: 22px;
  background: var(--white);
  box-shadow: 0 12px 32px rgba(16,29,46,.07);
  overflow: hidden;
  transition: transform 220ms ease, box-shadow 220ms ease;
}
.event-path-card:hover,
.event-path-card:focus-visible { transform: translateY(-5px); box-shadow: 0 19px 42px rgba(16,29,46,.12); }
.event-path-card:focus-visible { outline: 3px solid rgba(239,106,54,.6); outline-offset: 4px; }
.event-path-card figure { min-width: 0; overflow: hidden; background: #24374a; }
.event-path-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 520ms cubic-bezier(.22,1,.36,1); }
.event-path-card:hover img,
.event-path-card:focus-visible img { transform: scale(1.025); }
.event-path-card:nth-child(1) img { object-position: 50% 44%; }
.event-path-card:nth-child(2) img { object-position: 48% 36%; }
.event-path-card:nth-child(3) img { object-position: 50% center; }
.event-path-card > div { display: flex; flex-direction: column; align-items: flex-start; padding: 26px; }
.event-path-card span { color: var(--orange); font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.event-path-card h3 { margin: 13px 0 12px; font-family: Georgia, serif; font-size: 32px; line-height: 1; font-weight: 500; }
.event-path-card p { margin-bottom: 26px; color: var(--muted); font-size: 14px; line-height: 1.62; }
.event-path-card strong { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; font-size: 12px; text-decoration: underline; text-decoration-color: var(--orange-soft); text-underline-offset: 5px; }
.event-path-card strong svg { width: 17px; height: 17px; }

.program-preview { background: var(--white); }
.program-feature-home { display: grid; grid-template-columns: .84fr 1.16fr; gap: 68px; align-items: center; }
.program-feature-copy h2 { font-size: clamp(44px, 5.4vw, 72px); }
.program-feature-copy > p:not(.eyebrow) { max-width: 590px; color: var(--muted); font-size: 17px; line-height: 1.7; }
.program-feature-copy .hero-actions { align-items: center; margin-top: 30px; }
.program-feature-image { position: relative; min-height: 560px; border-radius: 24px 76px 24px 24px; overflow: hidden; }
.program-feature-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.program-feature-image-portrait img { object-position: 50% 43%; }
.program-feature-image figcaption { position: absolute; right: 16px; bottom: 16px; left: 16px; padding: 10px 12px; border-radius: 11px; color: #f5f7f9; background: rgba(16,29,46,.84); font-size: 10px; line-height: 1.4; }
.program-rail {
  display: grid;
  grid-template-columns: 1.35fr repeat(3, 1fr);
  gap: 14px;
}
.program-tile {
  position: relative;
  min-height: 410px;
  display: flex;
  flex-direction: column;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--paper);
  overflow: hidden;
  transition: transform 200ms ease;
}
.program-tile:hover { transform: translateY(-6px); }
.program-tile small { color: var(--orange); font-size: 11px; font-weight: 850; letter-spacing: 0.11em; text-transform: uppercase; }
.program-tile h3 { margin: 18px 0 14px; font-family: Georgia, serif; font-size: 31px; line-height: 1.02; font-weight: 500; }
.program-tile p { color: var(--muted); line-height: 1.55; }
.tile-number { margin-top: auto; align-self: flex-end; color: #b7b2aa; font-family: Georgia, serif; font-size: 54px; }
.program-tile-photo { justify-content: flex-end; padding: 0; border: 0; color: var(--white); }
.program-tile-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.program-tile-photo > div { position: relative; z-index: 1; padding: 28px; }
.program-tile-photo h3 { font-size: 38px; }
.program-tile-orange { background: var(--orange); color: var(--white); border-color: transparent; }
.program-tile-orange small { color: #ffe2d4; }
.program-tile-orange p { color: #fff2e9; }
.program-tile-orange .tile-number { color: rgba(255,255,255,.42); }

.home-stories { padding: 104px 0 94px; background: #f6efe3; overflow: hidden; }
.home-stories .reveal { opacity: 1; transform: none; }
.home-stories-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .55fr);
  gap: 64px;
  align-items: end;
  margin-bottom: 44px;
}
.home-stories-heading h2 { margin: 0; font-size: clamp(48px, 6vw, 74px); }
.home-stories-heading > div:last-child { justify-self: end; max-width: 460px; }
.home-stories-heading > div:last-child > p { margin-bottom: 22px; color: var(--muted); line-height: 1.7; }
.home-story-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.home-story-card {
  position: relative;
  min-width: 0;
  min-height: 360px;
  display: flex;
  flex-direction: column;
  padding: 30px;
  border: 1px solid rgba(16,29,46,.1);
  border-radius: 24px;
  background: var(--white);
  box-shadow: 0 14px 32px rgba(16,29,46,.08);
  overflow: hidden;
  transition: transform 220ms ease, box-shadow 220ms ease;
}
.home-story-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: var(--orange); }
.home-story-card:hover { transform: translateY(-6px); box-shadow: 0 22px 46px rgba(16,29,46,.14); }
.story-person { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 20px; align-items: center; }
.story-avatar-placeholder { width: 96px; height: 112px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; padding: 12px 8px; border: 1px dashed rgba(16,29,46,.28); border-radius: 48px 48px 18px 18px; color: var(--navy); background: #f2eadc; }
.story-avatar-placeholder svg { width: 42px; height: 42px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
.story-avatar-placeholder span { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.story-placeholder-label { margin: 0 0 10px; color: var(--orange); font-size: 9px; font-weight: 850; letter-spacing: .1em; line-height: 1.45; text-transform: uppercase; }
.home-story-card h3 { margin: 0 0 8px; font-family: Georgia, serif; font-size: 29px; line-height: 1.03; font-weight: 500; letter-spacing: -.035em; }
.home-story-card .story-identity { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.home-story-card blockquote { position: relative; flex: 1; margin: 30px 0 24px; padding: 27px 0 0; border-top: 1px solid var(--line); }
.home-story-card blockquote::before { content: "\201C"; position: absolute; top: 17px; left: 0; color: var(--orange); font-family: Georgia, serif; font-size: 48px; line-height: 1; }
.home-story-card blockquote p { margin: 22px 0 0; color: var(--navy); font-family: Georgia, serif; font-size: 23px; line-height: 1.25; letter-spacing: -.018em; }
.home-story-card .story-card-note { margin: auto 0 0; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .1em; line-height: 1.4; text-transform: uppercase; }

.events-status { background: var(--paper-2); }
.upcoming-summit-card {
  display: grid;
  grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
  min-height: 590px;
  border-radius: 28px;
  background: var(--white);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.upcoming-summit-image { position: relative; min-width: 0; min-height: 590px; background: #223449; overflow: hidden; }
.upcoming-summit-image img { width: 100%; height: 100%; object-fit: cover; object-position: 52% center; transition: transform 600ms cubic-bezier(.22,1,.36,1); }
.upcoming-summit-image img.upcoming-summit-replacement { object-position: 51% center; }
.upcoming-summit-card:hover .upcoming-summit-image img { transform: scale(1.02); }
.upcoming-summit-image figcaption { position: absolute; right: 16px; bottom: 16px; left: 16px; padding: 10px 12px; border-radius: 10px; color: #f3f6f8; background: rgba(16,29,46,.86); font-size: 10px; line-height: 1.45; }
.upcoming-summit-copy { display: flex; flex-direction: column; justify-content: center; padding: 54px; }
.upcoming-summit-meta { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.upcoming-summit-meta .eyebrow { margin: 0; }
.upcoming-summit-meta .status-pill { margin: 0; color: var(--orange); }
.upcoming-summit-copy h2 { margin: 24px 0; font-family: Georgia, serif; font-size: clamp(42px, 4.7vw, 64px); line-height: .96; letter-spacing: -.052em; font-weight: 500; }
.upcoming-summit-copy > p { margin-bottom: 14px; color: var(--muted); font-size: 15px; line-height: 1.68; }
.upcoming-summit-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; margin-top: 18px; padding-top: 20px; border-top: 1px solid var(--line); }
.upcoming-summit-actions > span { color: var(--navy); font-size: 11px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.community-support { color: var(--white); background: var(--navy); }
.community-support-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .55fr);
  align-items: end;
  gap: 64px;
  margin-bottom: 42px;
}
.community-support-heading h2 { margin: 0; max-width: 820px; font-size: clamp(44px, 5.2vw, 68px); }
.community-support-heading > p { max-width: 460px; margin: 0 0 4px; color: #bfccd8; font-size: 14px; line-height: 1.7; }
.community-affiliation-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 28px;
  background: rgba(255,255,255,.06);
}
.community-affiliation-logo {
  min-width: 0;
  min-height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 2px 0 rgba(7, 18, 30, 0);
  overflow: hidden;
  transition: transform 220ms cubic-bezier(.22, 1, .36, 1), box-shadow 220ms ease;
}
.community-affiliation-logo img { width: 100%; height: 62px; object-fit: contain; object-position: center; }
@media (hover: hover) and (pointer: fine) {
  .community-affiliation-logo:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 30px rgba(4, 14, 25, .22);
  }
}
.logo-goldman img { height: 78px; }
.logo-pwc img { height: 66px; }
.logo-harvard img { height: 64px; }
.logo-microsoft img { height: 56px; max-width: 95%; }
.logo-wharton img { height: 56px; }
.logo-ey img,
.logo-tiktok img { height: 70px; }
.logo-mit img { height: 62px; max-width: 100%; }
.logo-bank img { height: 54px; max-width: 100%; }
.logo-princeton img { height: 62px; max-width: 100%; }
.logo-nyu-stern img { height: 58px; }
.logo-usc img { height: 54px; }
.logo-chicago img { height: 46px; max-width: 86%; }
.community-affiliation-logo-bmo img { filter: brightness(1.14) contrast(1.03) saturate(.94); }
.community-support-story {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(360px, .72fr);
  gap: 28px;
  align-items: stretch;
  margin-top: 28px;
}
.community-support-photos {
  min-height: 540px;
  display: grid;
  grid-template-columns: minmax(230px, .78fr) minmax(0, 1.22fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 10px;
}
.community-support-photos figure { min-width: 0; min-height: 0; border-radius: 20px; overflow: hidden; }
.community-support-photos .community-support-photo-main { grid-row: 1 / 3; }
.community-support-photos img { width: 100%; height: 100%; object-fit: cover; }
.community-support-photos .community-support-photo-main { background: #0f1e2c; }
.community-support-photos .community-support-photo-main img { object-fit: cover; object-position: 39% center; }
.community-support-photos figure:nth-child(2) img { object-position: center 42%; }
.community-support-photos figure:nth-child(3) img { object-position: center 32%; }
.community-support-photos.community-support-photos-single {
  min-height: 0;
  display: flex;
  align-items: center;
}
.community-support-photos.community-support-photos-single figure {
  width: 100%;
  aspect-ratio: 2048 / 1365;
}
.community-support-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 52px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 24px;
  background: linear-gradient(145deg, #173047, #203f59);
}
.community-support-copy h2 { margin: 0 0 22px; font-family: Georgia, serif; font-size: clamp(38px, 4vw, 56px); line-height: .99; letter-spacing: -.045em; font-weight: 500; }
.community-support-copy > p:not(.eyebrow) { margin-bottom: 30px; color: #c7d3dd; line-height: 1.7; }

.page-hero { padding: 104px 0 90px; background: var(--paper-2); }
.page-hero-orange { background: #f5d0b9; }
.page-hero-dark { color: var(--white); background: var(--navy); }
.page-hero-dark .eyebrow { color: #ffb590; }
.page-hero-grid { display: grid; grid-template-columns: 1.28fr .72fr; gap: 80px; align-items: end; }
.page-hero h1,
.archive-page h1 {
  max-width: 880px;
  margin-bottom: 0;
  font-family: Georgia, serif;
  font-size: clamp(54px, 7vw, 92px);
  line-height: .94;
  letter-spacing: -.06em;
  font-weight: 500;
}
.page-hero-grid > div:last-child > p { font-size: 17px; line-height: 1.7; color: var(--muted); }
.page-hero-dark .page-hero-grid > div:last-child > p { color: #c4cfda; }
.events-page-hero {
  position: relative;
  isolation: isolate;
  min-height: 760px;
  display: flex;
  align-items: center;
  color: var(--white);
  background: #14283a url("assets/v6/nextgen-2025-qa.jpg") center 50% / cover no-repeat;
  overflow: hidden;
}
.events-page-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(8,19,31,.88) 0%, rgba(8,19,31,.72) 50%, rgba(8,19,31,.8) 100%); }
.events-page-hero .page-hero-grid { width: var(--shell); }
.events-page-hero h1 { max-width: 900px; text-shadow: 0 2px 30px rgba(5,12,20,.32); }
.events-page-hero .eyebrow { color: #ff9a6d; }
.events-page-hero .page-hero-grid > div:last-child > p { color: #edf1f4; }
.events-page-hero .status-pill { color: var(--white); }
.events-page-hero .events-page-hero-note { margin: 18px 0 0; font-size: 12px; line-height: 1.55; opacity: .86; }
.status-pill {
  display: inline-flex;
  margin-top: 10px;
  padding: 8px 12px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
  opacity: .8;
}

.genzec-hero { padding: 74px 0 82px; color: var(--white); background: linear-gradient(135deg, var(--navy), #23445e); }
.genzec-hero-grid { display: grid; grid-template-columns: .96fr 1.04fr; gap: 72px; align-items: center; }
.genzec-hero h1 { margin-bottom: 26px; font-family: Georgia, serif; font-size: clamp(54px, 6.5vw, 88px); line-height: .93; letter-spacing: -.06em; font-weight: 500; }
.genzec-hero .hero-lede { color: #c8d2dc; }
.genzec-hero figure { position: relative; min-height: 620px; border-radius: 22px 78px 22px 22px; overflow: hidden; }
.genzec-hero figure img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.genzec-hero .genzec-hero-program-photo { object-position: 50% 50%; }
.genzec-hero figcaption { position: absolute; right: 18px; bottom: 16px; padding: 9px 12px; border-radius: 999px; color: #e3e9ee; background: rgba(16,29,46,.86); font-size: 10px; }
.genzec-initiatives { background: var(--white); }
.genzec-initiatives-shell { width: min(1760px, calc(100vw - 64px)); }
.genzec-initiatives-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .58fr);
  align-items: end;
  gap: 72px;
  margin-bottom: 64px;
}
.genzec-initiatives-heading h2 { max-width: 840px; margin: 0; font-size: clamp(48px, 5.8vw, 76px); }
.genzec-initiatives-heading > div:last-child > p { color: var(--muted); line-height: 1.68; }
.genzec-initiatives-heading .genzec-visit-note { margin: 18px 0 0; padding-top: 18px; border-top: 1px solid var(--line); color: #6d747d; font-size: 12px; }
.genzec-initiative-set { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; align-items: start; }
.genzec-initiative-set-second { margin-top: 86px; padding-top: 86px; }
.genzec-initiative { min-width: 0; display: flex; flex-direction: column; gap: 22px; }
.genzec-initiative-copy {
  min-height: 290px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 34px 20px;
  text-align: center;
}
.genzec-initiative-number { margin: 0 0 18px; color: var(--orange); font-size: 11px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.genzec-initiative-copy h3 { margin: 0 0 18px; font-family: Georgia, serif; font-size: clamp(31px, 2.65vw, 40px); line-height: 1.04; letter-spacing: -.035em; font-weight: 500; }
.genzec-initiative-copy > p:last-child { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.72; }
.genzec-image-slot {
  position: relative;
  isolation: isolate;
  min-height: 0;
  aspect-ratio: 4 / 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  padding: 30px;
  border: 1px solid rgba(16,29,46,.18);
  border-radius: 24px;
  color: var(--white);
  text-align: center;
  background:
    radial-gradient(circle at 28% 24%, rgba(255,116,63,.96) 0 6px, transparent 7px),
    radial-gradient(circle at 72% 42%, rgba(255,255,255,.92) 0 5px, transparent 6px),
    linear-gradient(145deg, #13283c, #24465e);
  overflow: hidden;
}
.genzec-image-slot::before,
.genzec-image-slot::after { content: ""; position: absolute; z-index: -1; pointer-events: none; }
.genzec-image-slot::before { width: 250px; height: 250px; top: -72px; right: -78px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; box-shadow: 0 0 0 36px rgba(255,255,255,.045), 0 0 0 72px rgba(255,255,255,.03); }
.genzec-image-slot::after { width: 58%; height: 1px; top: 42%; left: 21%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.58), transparent); transform: rotate(-18deg); }
.genzec-initiative:nth-child(2) .genzec-image-slot { background: radial-gradient(circle at 74% 24%, rgba(255,116,63,.96) 0 6px, transparent 7px), radial-gradient(circle at 24% 56%, rgba(255,255,255,.9) 0 5px, transparent 6px), linear-gradient(145deg, #172f45, #315a70); }
.genzec-initiative:nth-child(3) .genzec-image-slot { background: radial-gradient(circle at 30% 28%, rgba(255,116,63,.98) 0 6px, transparent 7px), radial-gradient(circle at 78% 62%, rgba(255,255,255,.9) 0 5px, transparent 6px), linear-gradient(145deg, #102134, #28445b); }
.genzec-image-slot span { margin-bottom: auto; padding: 7px 10px; border: 1px solid rgba(255,255,255,.38); border-radius: 999px; font-size: 9px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.genzec-image-slot strong { max-width: 290px; font-family: Georgia, serif; font-size: 29px; line-height: 1.04; font-weight: 500; }
.genzec-image-slot small { margin-top: 10px; color: #c5d3de; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.genzec-image-slot img { width: 100%; height: 100%; object-fit: contain; }
.genzec-media-slot { display: block; padding: 0; background: #13283c; }
.genzec-media-slot::before { display: none; }
.genzec-media-slot::after {
  z-index: 1;
  width: auto;
  height: 45%;
  inset: auto 0 0;
  background: linear-gradient(180deg, transparent, rgba(8,20,32,.76));
  transform: none;
}
.genzec-media-slot > img,
.genzec-media-slot > video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.genzec-media-institution > img { object-position: 50% 42%; }
.genzec-media-lovepop > img { object-position: 50% 58%; }
.genzec-media-slot figcaption {
  position: absolute;
  z-index: 2;
  right: 18px;
  bottom: 16px;
  left: 18px;
  color: #f6f8fa;
  font-size: 11px;
  font-weight: 760;
  letter-spacing: .08em;
  text-align: left;
  text-transform: uppercase;
}
.genzec-video-toggle {
  position: absolute;
  z-index: 3;
  top: 16px;
  left: 16px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  border: 1px solid rgba(255,255,255,.56);
  border-radius: 999px;
  color: #fff;
  background: rgba(9,24,38,.82);
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  cursor: pointer;
  backdrop-filter: blur(8px);
}
.genzec-video-toggle:hover,
.genzec-video-toggle:focus-visible { background: rgba(9,24,38,.98); }
.genzec-video-toggle:focus-visible { outline: 3px solid rgba(239,106,54,.58); outline-offset: 3px; }
.genzec-program-outro { display: grid; gap: 24px; }
.genzec-coming-soon {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(320px, .68fr);
  align-items: end;
  gap: 64px;
  padding: 42px 50px;
  border-radius: 26px;
  color: var(--white);
  background: linear-gradient(135deg, var(--navy), #23445e);
  overflow: hidden;
}
.genzec-coming-soon::after { content: ""; position: absolute; z-index: -1; width: 210px; height: 210px; top: -118px; right: -52px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; box-shadow: 0 0 0 34px rgba(255,255,255,.035); }
.genzec-coming-soon .eyebrow { color: #ff9a6d; }
.genzec-coming-soon h2 { max-width: 720px; margin: 0; font-family: Georgia, serif; font-size: clamp(36px, 4vw, 52px); line-height: 1; letter-spacing: -.035em; font-weight: 500; }
.genzec-coming-soon > p { max-width: 600px; margin: 0; color: #c8d2dc; font-size: 16px; line-height: 1.68; }
.program-next { display: flex; align-items: end; justify-content: space-between; gap: 48px; padding: 50px; border-radius: 26px; background: var(--paper-2); }
.program-next > div { max-width: 780px; }
.program-next h2 { font-family: Georgia, serif; font-size: 48px; line-height: 1; font-weight: 500; }
.program-next p:not(.eyebrow) { color: var(--muted); line-height: 1.65; }

.program-family-list { display: grid; gap: 22px; }
.family-card {
  min-height: 390px;
  display: grid;
  grid-template-columns: 74px 1fr 42%;
  gap: 32px;
  align-items: center;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--white);
  scroll-margin-top: 110px;
}
.family-card > img { width: 100%; height: 338px; object-fit: cover; border-radius: 18px; }
.family-index { align-self: start; color: var(--orange); font-family: Georgia, serif; font-size: 38px; }
.family-card h2 { margin-bottom: 15px; font-family: Georgia, serif; font-size: 42px; line-height: 1; font-weight: 500; }
.family-card > div:nth-child(2) > p:not(.eyebrow,.clarifier) { color: var(--muted); line-height: 1.65; }
.clarifier { color: #7b6559; font-size: 12px; line-height: 1.55; }
.archive-links { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 22px; }
.archive-links a { padding: 9px 12px; border-radius: 999px; background: var(--paper-2); font-size: 12px; font-weight: 800; }
.family-card-feature { background: #182b3d; color: var(--white); border-color: transparent; }
.family-card-feature > div:nth-child(2) > p:not(.eyebrow,.clarifier) { color: #c6d0da; }
.family-card-feature .clarifier { color: #aebac5; }
.family-card-feature .archive-links a { color: var(--navy); background: var(--orange-soft); }

.events-index { background: linear-gradient(180deg, var(--paper) 0, #f2eadc 100%); }
.archive-by-year { display: grid; gap: 86px; }
.year-block { display: grid; gap: 26px; }
.event-year-header { display: flex; align-items: end; justify-content: space-between; gap: 36px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.year { margin-bottom: 0; font-family: Georgia, serif; font-size: 70px; line-height: 1; color: var(--orange); }
.event-year-header > p:last-child { max-width: 430px; margin-bottom: 5px; color: var(--muted); line-height: 1.6; text-align: right; }
.event-card-grid { display: grid; gap: 18px; }
.event-card-grid-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.event-card-grid-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.event-index-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--white);
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(16,29,46,.06);
  transition: transform 220ms ease, box-shadow 220ms ease;
}
.event-index-card[id] { scroll-margin-top: 110px; }
.event-index-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.event-index-card figure { height: 240px; overflow: hidden; background: var(--navy); }
.event-card-grid-two .event-index-card figure { height: 300px; }
.event-index-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 450ms cubic-bezier(.22,1,.36,1); }
.event-index-card:hover img { transform: scale(1.025); }
.event-index-copy { min-height: 280px; display: flex; flex-direction: column; padding: 25px; }
.event-index-copy > span { color: var(--orange); font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.event-index-copy h2 { margin: 13px 0 12px; font-family: Georgia, serif; font-size: clamp(29px, 2.5vw, 38px); line-height: 1.02; font-weight: 500; }
.event-index-copy > p { margin-bottom: 24px; color: var(--muted); line-height: 1.55; }
.event-index-copy > strong { margin-top: auto; display: inline-flex; align-items: center; gap: 8px; font-size: 12px; }
.event-index-copy > strong svg { width: 18px; height: 18px; color: var(--orange); }

.story-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.story-card { overflow: hidden; border-radius: var(--radius); background: var(--white); border: 1px solid var(--line); }
.story-card img { width: 100%; height: 390px; object-fit: cover; }
.story-card > div { padding: 28px; }
.story-card > div > span { color: var(--orange); font-size: 10px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.story-card h2 { margin: 12px 0; font-family: Georgia, serif; font-size: 34px; line-height: 1.05; font-weight: 500; }
.story-card p { color: var(--muted); line-height: 1.65; }
.story-card a { font-size: 13px; font-weight: 820; text-decoration: underline; text-underline-offset: 4px; }
.story-card-wide { grid-column: span 2; display: grid; grid-template-columns: 1.25fr .75fr; }
.story-card-wide img { height: 520px; }
.story-card-wide > div { display: flex; flex-direction: column; justify-content: center; padding: 48px; }

.partner-route-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.partner-visual { display: grid; grid-template-columns: .72fr 1.28fr; gap: 46px; align-items: center; margin-bottom: 72px; padding: 42px; border-radius: 28px; color: var(--white); background: var(--navy); }
.partner-visual-copy h2 { margin-bottom: 18px; font-family: Georgia, serif; font-size: clamp(42px, 4.8vw, 62px); line-height: .96; font-weight: 500; }
.partner-visual-copy > p:not(.eyebrow) { color: #c3ced8; line-height: 1.68; }
.partner-visual-copy .text-link { color: var(--white); }
.partner-visual-grid { min-width: 0; display: grid; grid-template-columns: 1.08fr .92fr; grid-template-rows: repeat(2, 220px); gap: 12px; }
.partner-visual-grid figure { position: relative; min-width: 0; overflow: hidden; border-radius: 17px; background: #0b1521; }
.partner-visual-grid .partner-visual-tall { grid-row: 1 / -1; }
.partner-visual-grid img { width: 100%; height: 100%; object-fit: cover; }
.partner-visual-grid figure:nth-child(2) img { object-position: center 42%; }
.partner-visual-grid figcaption { position: absolute; right: 10px; bottom: 10px; left: 10px; padding: 9px 10px; border-radius: 10px; color: #e8eef3; background: rgba(11,21,33,.84); font-size: 10px; line-height: 1.4; backdrop-filter: blur(7px); }
.partner-route-grid article { min-height: 320px; padding: 28px; border: 1px solid var(--line); border-radius: 22px; background: var(--white); }
.partner-route-grid span { color: var(--orange); font-size: 12px; font-weight: 850; }
.partner-route-grid h2 { margin: 54px 0 15px; font-family: Georgia, serif; font-size: 35px; font-weight: 500; }
.partner-route-grid p { color: var(--muted); line-height: 1.65; }
.partner-contact { margin-top: 22px; padding: 48px; display: flex; align-items: end; justify-content: space-between; gap: 42px; border-radius: 24px; background: var(--paper-2); }
.partner-contact > div { max-width: 730px; }
.partner-contact h2 { margin-bottom: 15px; font-family: Georgia, serif; font-size: 42px; line-height: 1; font-weight: 500; }
.partner-contact p:not(.eyebrow) { color: var(--muted); line-height: 1.6; }
.partner-contact-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.about-story-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 60px; align-items: center; }
.about-team-story { background: var(--white); }
.about-team-story-grid { display: grid; grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr); gap: 64px; align-items: center; }
.about-team-story-copy h2 { max-width: 630px; margin: 12px 0 24px; font-family: Georgia, serif; font-size: clamp(45px, 5.2vw, 72px); line-height: .95; letter-spacing: -.045em; font-weight: 500; }
.about-team-story-copy > p:not(.eyebrow) { max-width: 600px; color: var(--muted); font-size: 16px; line-height: 1.75; }
.about-team-story-copy .about-team-story-note { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 12px; line-height: 1.6; }
.about-photo-wall { min-width: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 185px; gap: 10px; }
.about-photo-wall figure { min-width: 0; min-height: 0; overflow: hidden; border-radius: 15px; background: var(--paper-2); }
.about-photo-wall .about-photo-wall-wide { grid-column: span 2; }
.about-photo-wall .about-photo-wall-tall { grid-row: span 2; }
.about-photo-wall img { width: 100%; height: 100%; object-fit: cover; }
.about-photo-wall figure:first-child img { object-position: center 55%; }
.about-photo-wall .about-photo-wall-tall img { object-position: center 50%; }
.about-story-grid figure img { width: 100%; height: auto; object-fit: contain; border-radius: var(--radius); }
.about-story-grid figcaption { margin-top: 10px; color: var(--muted); font-size: 12px; }
.about-story-grid h2 { font-family: Georgia, serif; font-size: 54px; line-height: 1; font-weight: 500; }
.about-story-grid > div > p:not(.eyebrow) { color: var(--muted); line-height: 1.7; }
.about-contact-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 42px; padding: 24px 26px; border: 1px solid var(--line); border-radius: 20px; background: var(--white); }
.about-contact-cta p { margin: 0; color: var(--muted); }
.about-team-entry { padding-top: 0; }
.about-team-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 48px; align-items: center; padding: 42px 46px; color: var(--white); border-radius: 26px; background: var(--navy); box-shadow: 0 18px 42px rgba(16,29,46,.16); }
.about-team-card h2 { margin: 0 0 14px; font-family: Georgia, serif; font-size: clamp(40px, 5vw, 64px); line-height: 1; font-weight: 500; }
.about-team-card p:not(.eyebrow) { max-width: 760px; margin-bottom: 0; color: #c4cfda; line-height: 1.7; }
.about-team-card .button { white-space: nowrap; }

.contact-page-hero .contact-email { display: inline-flex; margin-top: 18px; color: var(--orange-soft); font-weight: 820; text-decoration: underline; text-underline-offset: 5px; }
.contact-options { background: linear-gradient(180deg, var(--paper) 0%, #f1e8da 100%); }
.contact-boundary { display: grid; grid-template-columns: 1fr; gap: 18px; align-items: center; margin-bottom: 26px; padding: 16px 18px; border: 1px solid rgba(239,106,54,.28); border-radius: 15px; color: #583f2e; background: #fff0e5; }
.contact-boundary p { margin: 0; font-size: 12px; line-height: 1.55; }
.contact-boundary a { font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.contact-thanks { min-height: calc(100vh - 96px); display: grid; place-items: center; background: linear-gradient(145deg, var(--paper), #f1e8da); }
.contact-thanks[hidden] { display: none; }
.contact-thanks-card { width: min(820px, 100%); margin: 0 auto; padding: clamp(42px, 7vw, 78px); border: 1px solid var(--line); border-radius: 28px; text-align: center; background: var(--white); box-shadow: 0 24px 70px rgba(16,29,46,.11); }
.contact-thanks-mark { width: 62px; height: 62px; display: grid; place-items: center; margin: 0 auto 24px; border-radius: 50%; color: var(--white); background: var(--orange); font-size: 28px; font-weight: 900; }
.contact-thanks-card h1 { margin: 8px 0 18px; font-family: Georgia, serif; font-size: clamp(44px, 6vw, 72px); line-height: .98; letter-spacing: -.04em; font-weight: 500; }
.contact-thanks-card > p:not(.eyebrow) { max-width: 590px; margin: 0 auto 28px; color: var(--muted); font-size: 17px; line-height: 1.7; }
.contact-thanks-card .team-thanks-signoff { margin-top: -10px; color: var(--orange); font-weight: 850; }
.contact-path-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 24px; }
.contact-path-nav a { display: flex; align-items: center; gap: 12px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 15px; background: var(--white); font-size: 13px; font-weight: 820; }
.contact-path-nav span { color: var(--orange); font-size: 11px; }
.contact-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: start; }
.contact-form-grid-single { grid-template-columns: minmax(0, 780px); justify-content: center; }
.contact-form-card { scroll-margin-top: 110px; padding: 36px; border: 1px solid var(--line); border-radius: 26px; background: var(--white); box-shadow: 0 14px 34px rgba(16,29,46,.07); }
.contact-form-card-team { color: var(--white); background: var(--navy); border-color: transparent; }
.contact-form-card h2 { margin: 0 0 16px; font-family: Georgia, serif; font-size: clamp(38px, 4vw, 54px); line-height: .98; font-weight: 500; }
.contact-form-card > p:not(.eyebrow) { min-height: 74px; color: var(--muted); line-height: 1.65; }
.contact-form-card-team > p:not(.eyebrow) { color: #bcc8d3; }
.contact-form-card form { display: grid; gap: 15px; margin-top: 28px; }
.contact-form-card label > span { display: block; margin-bottom: 7px; font-size: 11px; font-weight: 820; letter-spacing: .04em; }
.contact-form-card label > span small { color: var(--muted); font-weight: 500; }
.contact-form-card-team input,
.contact-form-card-team select,
.contact-form-card-team textarea { color: var(--ink); background: #fdfbf7; }
.contact-form-card .form-status { margin: 0; }
.contact-form-card-team .form-status { color: #b6c2cd; }
.form-status.is-notice { color: #9a4d2e; font-weight: 700; }
.contact-form-card-team .form-status.is-notice { color: #ffc3a5; }
.join-team-hero { border-bottom: 1px solid rgba(255,255,255,.12); }
.join-team-hero .contact-email { display: inline-flex; margin-top: 18px; color: var(--orange-soft); font-weight: 820; text-decoration: underline; text-underline-offset: 5px; }
.join-team-application { background: linear-gradient(180deg, var(--paper) 0%, #f1e8da 100%); }
.join-team-layout { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); gap: 24px; align-items: start; }
.join-team-context { position: sticky; top: 104px; padding: 34px; color: var(--white); border-radius: 24px; background: var(--navy); }
.join-team-context h2 { margin: 0 0 18px; font-family: Georgia, serif; font-size: clamp(36px, 4vw, 50px); line-height: 1; font-weight: 500; }
.join-team-context > p:not(.eyebrow) { color: #c4cfda; line-height: 1.65; }
.join-team-context ul { display: grid; gap: 12px; margin: 24px 0; padding-left: 20px; color: #e8edf1; line-height: 1.55; }
.join-team-context .join-team-note { margin: 26px 0 0; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.14); font-size: 12px; }
.team-application-card > p:not(.eyebrow) { min-height: 0; }
.application-section { display: grid; gap: 15px; margin: 0; padding: 25px 0 7px; border: 0; border-top: 1px solid var(--line); }
.application-section:first-of-type { padding-top: 4px; border-top: 0; }
.application-section legend { margin-bottom: 12px; padding: 0; font-family: Georgia, serif; font-size: 26px; line-height: 1.1; }
.field-help { margin: -5px 0 2px; color: var(--muted); font-size: 12px; }
.application-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.application-choice-grid label { display: flex; gap: 10px; align-items: flex-start; min-height: 48px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 12px; background: #fdfbf7; font-size: 12px; font-weight: 750; line-height: 1.35; }
.application-choice-grid input { flex: 0 0 auto; width: 17px; height: 17px; margin: 0; accent-color: var(--orange); }

.archive-page { padding: 54px 0 110px; background: var(--paper); }
.archive-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 42px; align-items: start; }
.archive-layout > .back-link { grid-column: 1 / -1; }
.back-link { display: inline-flex; width: fit-content; font-size: 13px; font-weight: 800; }
.back-link-light { color: var(--white); opacity: .85; }
.archive-meta { margin: 22px 0 0; color: var(--muted); font-size: 16px; line-height: 1.6; }
.archive-layout > img { grid-column: 1 / -1; width: 100%; height: min(58vw, 670px); object-fit: cover; border-radius: var(--radius); }
.archive-copy { grid-column: 2; }
.archive-copy h2 { font-family: Georgia, serif; font-size: 42px; line-height: 1; font-weight: 500; }
.archive-copy p { color: var(--muted); line-height: 1.72; }
.two-photo { margin-top: 30px; display: grid; grid-template-columns: 1fr .72fr; gap: 14px; }
.two-photo img { width: 100%; height: 340px; object-fit: cover; border-radius: 16px; }
.two-photo img:last-child { object-position: center 42%; }

.event-detail { padding: 48px 0 112px; background: var(--paper); }
.event-detail-shell { display: grid; gap: 40px; }
.event-detail-header { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: end; padding-top: 12px; }
.event-detail h1 { max-width: 980px; margin-bottom: 0; font-family: Georgia, serif; font-size: clamp(52px, 6.5vw, 86px); line-height: .95; letter-spacing: -.055em; font-weight: 500; }
.event-detail-header .status-pill { align-self: end; margin-bottom: 5px; color: #7b4a30; }
.event-lead { position: relative; min-height: min(60vw, 690px); border-radius: 28px; overflow: hidden; box-shadow: var(--shadow); }
.event-lead img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.event-lead-group { background: var(--navy); }
.event-lead figcaption { position: absolute; right: 18px; bottom: 18px; padding: 9px 12px; border-radius: 999px; color: var(--white); background: rgba(16,29,46,.84); font-size: 10px; }
.event-story { display: grid; grid-template-columns: 1fr 1.08fr; gap: 70px; align-items: end; padding: 34px 0; }
.event-intro h2 { font-family: Georgia, serif; font-size: 48px; line-height: 1; font-weight: 500; }
.event-intro > p:not(.eyebrow) { color: var(--muted); line-height: 1.72; }
.fact-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 0; }
.fact-grid > div { min-height: 150px; display: flex; flex-direction: column; justify-content: space-between; padding: 22px; border-radius: 17px; background: var(--white); border: 1px solid var(--line); }
.fact-grid dt { color: var(--orange); font-family: Georgia, serif; font-size: 40px; line-height: 1; }
.fact-grid dd { margin: 16px 0 0; color: var(--muted); font-size: 11px; font-weight: 780; letter-spacing: .06em; text-transform: uppercase; }
.fact-grid-three { grid-template-columns: repeat(3, 1fr); }
.event-chapters { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.event-chapters article { min-height: 270px; padding: 27px; border-top: 3px solid var(--orange); border-radius: 0 0 18px 18px; background: var(--white); }
.event-chapters span { color: var(--orange); font-size: 11px; font-weight: 850; }
.event-chapters h3 { margin: 48px 0 12px; font-family: Georgia, serif; font-size: 30px; line-height: 1; font-weight: 500; }
.event-chapters p { color: var(--muted); line-height: 1.62; }
.event-photo-story { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 16px; }
.event-photo-story figure,
.event-photo-pair figure,
.event-scene figure { position: relative; min-width: 0; overflow: hidden; border-radius: 20px; background: var(--navy); }
.event-photo-story figure { grid-column: span 4; height: 370px; }
.event-photo-story .event-photo-wide { grid-column: span 8; height: 430px; }
.event-photo-story .event-photo-portrait { height: 430px; }
.event-photo-story figure:last-child { grid-column: span 8; }
.event-photo-story img,
.event-photo-pair img,
.event-scene img { width: 100%; height: 100%; object-fit: cover; }
.event-photo-portrait img { object-position: center 42%; }
.event-photo-story figcaption,
.event-photo-pair figcaption,
.event-scene figcaption { position: absolute; right: 14px; bottom: 14px; left: 14px; padding: 13px 14px; border-radius: 12px; color: var(--white); background: rgba(16,29,46,.86); backdrop-filter: blur(8px); }
.event-photo-story figcaption strong,
.event-photo-pair figcaption strong,
.event-scene figcaption strong { display: block; margin-bottom: 3px; font-family: Georgia, serif; font-size: 20px; font-weight: 500; }
.event-photo-story figcaption span,
.event-photo-pair figcaption span,
.event-scene figcaption span { color: #d6dee6; font-size: 11px; line-height: 1.4; }
.event-photo-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.event-photo-pair figure { height: 440px; }
.event-scene figure { height: 590px; }
.event-video-section { display: grid; grid-template-columns: .72fr 1.28fr; gap: 44px; align-items: center; padding: 36px; border-radius: 24px; color: var(--white); background: linear-gradient(135deg, var(--navy), #1d3a52); }
.event-video-copy h2 { margin-bottom: 18px; font-family: Georgia, serif; font-size: clamp(38px, 4.2vw, 56px); line-height: 1; font-weight: 500; }
.event-video-copy > p:not(.eyebrow) { margin-bottom: 0; color: #c4cfda; line-height: 1.66; }
.event-video-frame { min-width: 0; overflow: hidden; border-radius: 16px; background: #05080c; box-shadow: 0 18px 38px rgba(0,0,0,.22); }
.event-video-frame video { width: 100%; aspect-ratio: 16 / 9; display: block; object-fit: cover; background: #05080c; }
.event-video-frame figcaption { padding: 10px 13px; color: #aebac5; background: #0b1622; font-size: 10px; line-height: 1.4; }
.related-event { display: flex; align-items: end; justify-content: space-between; gap: 38px; padding: 38px; border-radius: 22px; color: var(--white); background: var(--navy); }
.related-event h2 { margin-bottom: 0; font-family: Georgia, serif; font-size: 38px; line-height: 1; font-weight: 500; }
.related-event .button { color: var(--navy); background: var(--orange-soft); }

.policy-hero { padding: 90px 0 78px; color: var(--white); background: var(--navy); }
.policy-hero-terms { background: #1f3549; }
.policy-hero-grid { display: grid; grid-template-columns: 1fr .72fr; gap: 80px; align-items: end; }
.policy-hero h1 { margin-bottom: 0; font-family: Georgia, serif; font-size: clamp(58px, 7.2vw, 94px); line-height: .94; letter-spacing: -.06em; font-weight: 500; }
.policy-hero-grid > div:last-child { color: #c8d2dc; line-height: 1.68; }
.draft-badge { display: inline-flex; margin-bottom: 28px; padding: 8px 12px; border-radius: 999px; color: var(--navy); background: var(--orange-soft); font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.policy-layout { display: grid; grid-template-columns: 220px 1fr; gap: 84px; align-items: start; }
.policy-layout > aside { position: sticky; top: 108px; display: grid; gap: 10px; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: var(--white); }
.policy-layout > aside strong { margin-bottom: 7px; color: var(--orange); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.policy-layout > aside a { color: var(--muted); font-size: 12px; font-weight: 720; }
.policy-layout > aside a:hover { color: var(--orange); }
.policy-copy { max-width: 820px; }
.policy-copy section { padding-bottom: 54px; scroll-margin-top: 110px; }
.policy-copy section + section { padding-top: 54px; border-top: 1px solid var(--line); }
.policy-number { margin-bottom: 10px; color: var(--orange); font-family: Georgia, serif; font-size: 31px; }
.policy-copy h2 { font-family: Georgia, serif; font-size: 45px; line-height: 1; font-weight: 500; }
.policy-copy h3 { margin: 34px 0 10px; font-family: Georgia, serif; font-size: 28px; font-weight: 500; }
.policy-copy p, .decision-list { color: #505b69; font-size: 16px; line-height: 1.75; }
.policy-copy a { color: var(--ink); font-weight: 760; text-decoration: underline; text-underline-offset: 3px; }
.policy-copy mark { padding: 1px 4px; color: inherit; background: #ffdfca; }
.policy-callout { margin-top: 28px; padding: 23px; border-left: 4px solid var(--orange); border-radius: 0 14px 14px 0; background: var(--paper-2); }
.policy-callout p { margin: 7px 0 0; font-size: 14px; }
.decision-list { display: grid; gap: 8px; padding-left: 22px; }
.review-note { padding: 17px 19px; border-radius: 12px; color: #6d4e3e !important; background: #fae1d1; font-size: 14px !important; }
.policy-copy details { margin-top: 24px; padding: 18px; border: 1px solid var(--line); border-radius: 13px; background: var(--white); }
.policy-copy summary { cursor: pointer; font-weight: 800; }
.policy-copy details p { margin: 14px 0 0; font-size: 13px; }

.connect-hero { padding: 54px 0 64px; color: var(--white); background: linear-gradient(135deg, #101d2e, #183c57); }
.connect-hero-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; }
.connect-lockup { display: flex; align-items: center; gap: 10px; margin: 40px 0 44px; }
.connect-lockup svg { width: 48px; height: 48px; }
.connect-lockup span { font-size: 18px; font-weight: 500; letter-spacing: -.02em; }
.connect-lockup strong { font-weight: 850; }
.connect-hero h1 { margin-bottom: 23px; font-family: Georgia, serif; font-size: clamp(54px, 6.7vw, 88px); line-height: .92; letter-spacing: -.06em; font-weight: 500; }
.connect-hero-grid > div > p:not(.eyebrow) { max-width: 630px; color: #c4d0da; font-size: 17px; line-height: 1.68; }
.connect-coming-soon { display: inline-flex; align-items: center; margin-top: 28px; padding: 10px 16px; border: 1px solid rgba(255,255,255,.36); border-radius: 999px; color: #fff; background: rgba(255,255,255,.08); font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.connect-coming-soon-inline { color: var(--orange); font-weight: 800; letter-spacing: .04em; }
.connect-hero figure { position: relative; min-height: 610px; border-radius: 22px 72px 22px 22px; overflow: hidden; }
.connect-hero figure img { width: 100%; height: 610px; object-fit: cover; }
.connect-hero figure.connect-hero-group { min-height: 0; aspect-ratio: 3 / 2; }
.connect-hero figure.connect-hero-group img { height: 100%; object-position: center; }
.connect-hero figure figcaption { position: absolute; right: 16px; bottom: 15px; padding: 8px 11px; border-radius: 999px; background: rgba(16,29,46,.86); color: #d9e2e9; font-size: 10px; }
.connect-notice { padding: 18px 0; background: var(--orange-soft); }
.connect-notice .shell { display: flex; align-items: center; gap: 12px; }
.connect-notice svg { width: 24px; height: 24px; flex: 0 0 auto; color: var(--navy); }
.connect-notice p { margin: 0; font-size: 13px; line-height: 1.5; }
.connect-account-link { margin-top: 16px; font-size: 12px !important; }
.connect-account-link a { color: var(--orange-soft); font-weight: 820; text-decoration: underline; text-underline-offset: 3px; }

.account-shell { min-height: calc(100vh - 78px); padding: 50px 0 90px; background: var(--paper-2); }
.account-shell > .shell > .back-link { display: inline-flex; margin-bottom: 30px; }
.account-layout { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(420px, .96fr); gap: 28px; align-items: start; }
.account-intro { position: sticky; top: 98px; min-height: 660px; display: flex; flex-direction: column; padding: 48px; border-radius: 28px; color: var(--white); background: linear-gradient(145deg, var(--navy), #1c4059); overflow: hidden; }
.connect-lockup-dark { margin: 0 0 72px; color: var(--white); }
.account-intro h1 { max-width: 690px; margin-bottom: 25px; font-family: Georgia, serif; font-size: clamp(50px, 5vw, 73px); line-height: .95; letter-spacing: -.05em; font-weight: 500; }
.account-intro > p:not(.eyebrow) { max-width: 650px; color: #c6d2dc; font-size: 16px; line-height: 1.68; }
.account-journey { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: auto 0 0; padding: 0; list-style: none; }
.account-journey-four { grid-template-columns: repeat(2, 1fr); }
.account-journey li { min-height: 124px; padding: 16px; border: 1px solid rgba(255,255,255,.14); border-radius: 15px; background: rgba(255,255,255,.04); }
.account-journey li.is-current { color: var(--navy); background: var(--orange-soft); border-color: var(--orange-soft); }
.account-journey span { display: block; margin-bottom: 26px; color: var(--orange-soft); font-family: Georgia, serif; font-size: 22px; }
.account-journey li.is-current span { color: var(--navy); }
.account-journey strong,
.account-journey small { display: block; }
.account-journey small { margin-top: 4px; color: #afbeca; font-size: 9px; line-height: 1.35; }
.account-journey li.is-current small { color: #4b5665; }
.account-card { min-width: 0; padding: 46px; border: 1px solid var(--line); border-radius: 28px; background: var(--white); box-shadow: var(--shadow); }
.account-card-layered { padding: 28px; }
.account-card h2 { margin: 8px 0 25px; font-family: Georgia, serif; font-size: clamp(39px, 4vw, 53px); line-height: 1; font-weight: 500; }
.account-card-layered h2 { font-size: clamp(34px, 3.2vw, 45px); }
.account-card form > label:not(.check-row) { display: block; margin: 18px 0; }
.account-card label > span { display: block; margin-bottom: 7px; font-size: 11px; font-weight: 820; letter-spacing: .04em; }
.account-card form > small { display: block; margin-top: -10px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.account-boundary { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 25px; padding: 16px; border-radius: 13px; background: #edf2ee; }
.account-boundary svg { width: 25px; height: 25px; flex: 0 0 auto; color: #46604e; }
.account-boundary p { margin: 0; color: #4d5c52; font-size: 11px; line-height: 1.55; }
.account-boundary-demo { background: #fff3eb; }
.account-boundary-demo svg { color: #9b4d2c; }
.account-boundary-demo p { color: #6f4938; }
.account-ack { margin: 22px 0 13px !important; padding: 15px; border: 1px solid var(--line); border-radius: 13px; }
.account-card .form-actions { margin-top: 22px; align-items: center; }
.account-switch { margin: 27px 0 0; padding-top: 21px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.account-switch a { color: var(--navy); font-weight: 820; text-decoration: underline; text-underline-offset: 3px; }
.account-success { min-height: 560px; display: flex; flex-direction: column; justify-content: center; }
.account-success > p:not(.step-kicker) { color: var(--muted); line-height: 1.65; }
.account-success .success-mark { margin-bottom: 30px; }
.account-next { margin: 18px 0 34px; padding: 20px; border-radius: 14px; color: var(--white); background: var(--navy); }
.account-next span,
.account-next strong,
.account-next small { display: block; }
.account-next span { color: var(--orange-soft); font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.account-next strong { margin: 13px 0 5px; font-family: Georgia, serif; font-size: 25px; font-weight: 500; }
.account-next small { color: #bdc9d3; font-size: 10px; }
.return-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 22px 0; }
.return-grid a { padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.return-grid span,
.return-grid small { display: block; }
.return-grid span { font-weight: 850; }
.return-grid small { margin-top: 8px; color: var(--muted); font-size: 10px; line-height: 1.45; }

.wix-auth-card { padding: 28px; border: 1px solid rgba(16,29,46,.13); border-radius: 20px; background: linear-gradient(145deg, #f6f8f9, #edf2f4); }
.wix-auth-card[data-auth-state="authenticated"] { border-color: #9bb7a4; background: linear-gradient(145deg, #f4f8f4, #e8f1ea); }
.wix-auth-card[data-auth-state="error"] { border-color: #e3b29d; background: #fff6f1; }
.wix-auth-card > p:not(.step-kicker) { color: var(--muted); font-size: 13px; line-height: 1.62; }
.wix-auth-card-signup { padding: 38px; }
.wix-auth-card-signup .auth-card-top { justify-content: flex-end; margin-bottom: 8px; }
.wix-auth-card-signup .account-ack { margin-top: 28px !important; background: rgba(255,255,255,.56); }
.wix-auth-card-signup .account-age-status:not([hidden]) { margin-top: 10px; }
.account-legal-links { display: flex; justify-content: center; gap: 8px; margin: 18px 0 0 !important; font-size: 10px !important; }
.account-legal-links a { color: var(--navy); font-weight: 760; text-decoration: underline; text-underline-offset: 3px; }
.auth-card-top { min-height: 24px; display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.auth-live-badge { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border-radius: 999px; color: #315342; background: #dce9df; font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.auth-live-badge::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #3e7758; box-shadow: 0 0 0 3px rgba(62,119,88,.12); }
.wix-auth-card[data-auth-simulated="true"] .auth-live-badge { color: #72512f; background: #f3dfc5; }
.wix-auth-card[data-auth-simulated="true"] .auth-live-badge::before { background: #b16d2c; }
.auth-spinner { width: 18px; height: 18px; border: 2px solid rgba(16,29,46,.18); border-top-color: var(--orange); border-radius: 50%; animation: auth-spin 700ms linear infinite; }
@keyframes auth-spin { to { transform: rotate(360deg); } }
.account-divider { display: flex; align-items: center; gap: 12px; margin: 28px 0; color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.account-divider::before,
.account-divider::after { content: ""; height: 1px; flex: 1; background: var(--line); }
.account-divider span { max-width: 210px; }
.password-pattern { margin: 21px 0 0; padding: 15px 16px; border: 1px dashed rgba(16,29,46,.22); border-radius: 13px; background: var(--paper); }
.password-pattern > span { display: block; color: var(--navy); font-size: 10px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.password-pattern ul { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 11px 0 0; padding: 0; list-style: none; }
.password-pattern li { color: var(--muted); font-size: 10px; }
.password-pattern li::before { content: "✓"; margin-right: 5px; color: #3e7758; font-weight: 900; }
.verification-preview { min-height: 620px; }
.verification-icon { width: 58px; height: 58px; display: grid; place-items: center; margin-bottom: 28px; border-radius: 18px; color: var(--navy); background: var(--orange-soft); font-family: Georgia, serif; font-size: 28px; }
.verification-code { display: grid; grid-template-columns: repeat(6, 1fr); gap: 7px; margin: 25px 0; }
.verification-code span { min-height: 52px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 11px; color: var(--navy); background: var(--paper); font-size: 18px; font-weight: 850; }
.verification-note { padding: 15px 16px; border-radius: 12px; color: #5b5149 !important; background: #f7eee7; font-size: 11px !important; }
.visibility-choice input:disabled + span { opacity: .48; }
.auth-demo-toggle { width: 100%; margin-top: 16px; padding: 13px 16px; border: 1px solid var(--line); border-radius: 12px; color: var(--navy); background: var(--paper); cursor: pointer; font-size: 11px; font-weight: 820; }
.auth-demo-toggle::after { content: " +"; color: var(--orange); }
.auth-demo-toggle[aria-expanded="true"]::after { content: " −"; }

.account-session { padding: 16px 0; color: var(--white); background: #21384d; }
.account-session .shell { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.account-session .shell > div:first-child { display: grid; grid-template-columns: auto 1fr; column-gap: 10px; align-items: baseline; }
.account-session span { color: var(--orange-soft); font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.account-session strong { font-size: 14px; }
.account-session p { grid-column: 1 / -1; margin: 4px 0 0; color: #b9c5cf; font-size: 10px; }
.account-session .shell > div:last-child { display: flex; align-items: center; gap: 9px; }
.account-session .button-ghost { color: var(--white); border-color: rgba(255,255,255,.25); }
.account-session .button-plain { color: #dbe3e9; }

.profile-gate { padding: 92px 0 110px; background: var(--paper-2); scroll-margin-top: 80px; }
.profile-gate-card { display: grid; grid-template-columns: 1fr 330px; gap: 70px; align-items: center; padding: 44px; border: 1px solid var(--line); border-radius: 24px; background: var(--white); }
.profile-gate h2 { margin-bottom: 17px; font-family: Georgia, serif; font-size: clamp(42px, 5vw, 64px); line-height: .98; font-weight: 500; }
.profile-gate p:not(.eyebrow) { max-width: 720px; margin: 0; color: var(--muted); line-height: 1.65; }
.profile-gate-actions { display: grid; gap: 10px; }
.profile-gate-actions .text-link { justify-self: start; margin-top: 8px; }
.profile-account-context { display: grid; grid-template-columns: auto 1fr auto; gap: 22px; align-items: center; margin-bottom: 32px; padding: 16px 20px; border-radius: 14px; color: var(--white); background: var(--navy); }
.profile-account-context span,
.profile-account-context strong { display: block; }
.profile-account-context span { color: var(--orange-soft); font-size: 9px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.profile-account-context strong { margin-top: 3px; }
.profile-account-context p { margin: 0; color: #bcc8d1; font-size: 11px; line-height: 1.5; }
.profile-account-context .text-link { color: var(--white); }
.profile-context-actions { display: flex; align-items: center; justify-content: flex-end; gap: 14px; }
.profile-context-actions button { width: auto; padding: 0; border: 0; color: var(--white); background: transparent; font: inherit; cursor: pointer; }
.profile-draft-status { grid-column: 1 / -1; padding-top: 11px; border-top: 1px solid rgba(255,255,255,.14); }
.profile-draft-status.is-success { color: #bfe3c9; }
.profile-state { padding: 94px 0 116px; background: var(--paper-2); scroll-margin-top: 80px; }
.profile-state-card { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 28px; align-items: start; padding: 44px; border: 1px solid var(--line); border-radius: 24px; background: var(--white); box-shadow: 0 18px 50px rgba(16,29,46,.07); }
.profile-state-mark { width: 74px; height: 74px; display: grid; place-items: center; border-radius: 24px; color: #245b43; background: #dceee2; font-size: 29px; font-weight: 900; }
.profile-state-mark-approved { color: #8d3b1d; background: #ffddca; }
.profile-state h2 { margin: 0 0 16px; font-family: Georgia, serif; font-size: clamp(40px, 5vw, 64px); line-height: .98; letter-spacing: -.04em; font-weight: 500; }
.profile-state p:not(.eyebrow) { max-width: 760px; color: var(--muted); line-height: 1.66; }
.profile-state .form-actions { justify-content: flex-start; margin-top: 28px; }
.profile-visibility-settings { margin-top: 34px; padding-top: 28px; border-top: 1px solid var(--line); }
.profile-visibility-settings h3 { margin: 4px 0 10px; font-family: Georgia, serif; font-size: 30px; font-weight: 500; }
.profile-visibility-settings > p:not(.eyebrow) { margin: 0 0 18px; }
.profile-visibility-settings summary { width: fit-content; color: var(--navy); font-weight: 800; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.profile-visibility-settings summary::marker { color: var(--orange); }
.profile-hide-confirm { margin-top: 18px; padding: 18px; border: 1px solid #e5b9a7; border-radius: 14px; background: #fff3ec; }
.profile-hide-confirm p { margin: 0; color: var(--navy) !important; }
.profile-hide-confirm .form-actions { margin-top: 16px; }
.profile-state-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 28px; }
.profile-state-steps span { position: relative; padding: 15px 12px 13px; border: 1px solid var(--line); border-radius: 12px; color: var(--muted); background: var(--paper); font-size: 10px; font-weight: 820; text-align: center; }
.profile-state-steps span.is-complete { color: #245b43; border-color: #bcd9c6; background: #edf6ef; }
.profile-state-steps span.is-current { color: var(--navy); border-color: var(--orange); background: #fff0e7; }
.staging-profile-sync {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .82fr);
  gap: 28px;
  align-items: center;
  margin-bottom: 34px;
  padding: 28px;
  border: 1px solid rgba(30,116,82,.28);
  border-radius: 20px;
  background: linear-gradient(145deg, #f4f8f4, #e9f2eb);
  box-shadow: 0 18px 48px rgba(16,29,46,.08);
}
.staging-profile-sync[hidden] { display: none; }
.staging-profile-sync h3 { margin: 7px 0 12px; font-family: Georgia, serif; font-size: clamp(28px, 3vw, 40px); line-height: 1.02; letter-spacing: -.035em; font-weight: 500; }
.staging-profile-sync-copy > p:not(.eyebrow) { margin: 0; color: var(--muted); line-height: 1.66; }
.staging-badge { display: inline-flex; padding: 6px 9px; border-radius: 999px; color: #16573f; background: #d6eadc; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.staging-profile-sync-action { padding: 20px; border: 1px solid rgba(16,29,46,.1); border-radius: 15px; background: rgba(255,255,255,.72); }
.staging-age-check { margin-bottom: 16px; }
.staging-profile-sync-action .button { width: 100%; }
.staging-profile-sync-action .form-status { margin: 12px 0 0; }
.staging-profile-result { margin-top: 16px; padding: 15px; border-radius: 12px; color: #173e31; background: #dceee2; }
.staging-profile-result span,
.staging-profile-result strong { display: block; }
.staging-profile-result span { font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.staging-profile-result strong { margin-top: 4px; }
.staging-profile-result p { margin: 6px 0 0; font-size: 11px; line-height: 1.5; }

.directory-prelaunch { padding: 96px 0 108px; background: var(--white); }
.directory-prelaunch-card { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 70px; align-items: center; padding: 48px; border: 1px solid var(--line); border-radius: 24px; background: linear-gradient(145deg, var(--paper), #fff); box-shadow: 0 18px 50px rgba(16,29,46,.07); }
.directory-prelaunch-card h2 { margin: 0 0 18px; font-family: Georgia, serif; font-size: clamp(44px, 5vw, 67px); line-height: .98; letter-spacing: -.04em; font-weight: 500; }
.directory-prelaunch-card p:not(.eyebrow) { max-width: 720px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.68; }
.directory-prelaunch-actions { display: grid; gap: 10px; }
.connect-intro-card p:not(.eyebrow) + p { margin-top: 13px; }
.connect-intro-card.is-member { grid-template-columns: 1fr; }
.connect-community-gallery { display: grid; grid-template-columns: 1.06fr .94fr 1fr; gap: 14px; margin-top: 18px; }
.connect-community-gallery figure { min-width: 0; margin: 0; overflow: hidden; border-radius: 18px; background: #e8e4dc; box-shadow: 0 14px 34px rgba(16,29,46,.10); }
.connect-community-gallery img { display: block; width: 100%; height: auto; }
.directory-review-boundary { display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; margin-bottom: 34px; padding: 15px 18px; border-radius: 14px; color: #583f2e; background: #fff0e5; }
.directory-review-boundary span { font-size: 9px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.directory-review-boundary p { margin: 0; font-size: 11px; line-height: 1.5; }
.directory-review-boundary a { color: var(--navy); font-size: 11px; font-weight: 850; text-decoration: underline; text-underline-offset: 3px; }
.directory-section { padding: 104px 0 118px; background: var(--white); }
.directory-heading { display: flex; align-items: end; justify-content: space-between; gap: 36px; margin-bottom: 38px; }
.directory-search { width: min(390px, 100%); }
.directory-search label,
.studio-panels label > span,
.comment-demo label > span,
.intro-dialog label > span { display: block; margin-bottom: 7px; font-size: 11px; font-weight: 820; letter-spacing: .04em; }
.directory-search input,
input,
select,
textarea {
  width: 100%;
  padding: 13px 14px;
  border: 1px solid rgba(16,29,46,.2);
  border-radius: 11px;
  color: var(--ink);
  background: var(--white);
  outline: none;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}
input:focus,
select:focus,
textarea:focus { border-color: var(--orange); box-shadow: 0 0 0 3px rgba(239,106,54,.13); }
textarea { resize: vertical; }
.directory-tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; padding: 7px; border-radius: 17px; background: var(--paper-2); }
.directory-tabs button { min-height: 56px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; border: 0; border-radius: 12px; background: transparent; cursor: pointer; font-weight: 820; }
.directory-tabs button[aria-selected="true"] { color: var(--white); background: var(--navy); box-shadow: 0 8px 20px rgba(16,29,46,.15); }
.directory-tabs svg { width: 22px; height: 22px; }
.filter-row { display: flex; align-items: center; gap: 18px; margin: 20px 0 28px; }
.filter-row > span { flex: 0 0 auto; color: var(--muted); font-size: 11px; font-weight: 820; text-transform: uppercase; letter-spacing: .08em; }
.filter-row > div { display: flex; flex-wrap: wrap; gap: 7px; }
.filter-row button { padding: 7px 11px; border: 1px solid var(--line); border-radius: 999px; background: transparent; cursor: pointer; font-size: 11px; font-weight: 760; }
.filter-row button.is-active { color: var(--white); background: var(--orange); border-color: var(--orange); }
.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.member-card,
.idea-card { min-height: 410px; display: flex; flex-direction: column; padding: 25px; border: 1px solid var(--line); border-radius: 20px; background: var(--paper); }
.member-card[hidden],
.idea-card[hidden],
.match-list article[hidden],
.thread-list article[hidden] { display: none; }
.card-top,
.idea-meta { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.card-top > span:last-child,
.idea-meta span { color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.avatar { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 17px; font-weight: 900; }
.avatar-orange { background: #ffd2ba; }
.avatar-blue { background: #c7deed; }
.avatar-gold { background: #f2d58d; }
.member-card h3,
.idea-card h3 { margin: 26px 0 7px; font-family: Georgia, serif; font-size: 31px; line-height: 1.05; font-weight: 500; }
.card-role { color: var(--orange) !important; font-size: 12px; font-weight: 780; }
.member-card > p,
.idea-card > p { color: var(--muted); line-height: 1.58; }
.tag-list { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0 24px; padding: 0; list-style: none; }
.tag-list li { padding: 6px 9px; border-radius: 999px; background: var(--white); border: 1px solid var(--line); font-size: 10px; font-weight: 750; }
.member-card button,
.idea-card button,
.match-list button { margin-top: auto; align-self: flex-start; padding: 9px 12px; border: 0; border-radius: 999px; color: var(--white); background: var(--navy); cursor: pointer; font-size: 12px; font-weight: 820; }
.idea-meta span:first-child { color: var(--orange); }
.needs { margin: 8px 0 24px; padding: 14px; border-radius: 12px; background: var(--white); }
.needs strong { display: block; margin-bottom: 5px; font-size: 10px; letter-spacing: .07em; text-transform: uppercase; }
.needs span { color: var(--muted); font-size: 12px; }
.match-intro { max-width: 720px; margin: 35px 0; }
.match-intro h3 { margin-bottom: 12px; font-family: Georgia, serif; font-size: 44px; font-weight: 500; }
.match-intro p:not(.eyebrow) { color: var(--muted); line-height: 1.65; }
.match-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.match-list article { min-height: 290px; display: flex; flex-direction: column; padding: 26px; border-radius: 20px; background: var(--paper-2); }
.match-list article > span { color: var(--orange); font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .1em; }
.match-list h3 { margin: 30px 0 12px; font-family: Georgia, serif; font-size: 31px; font-weight: 500; }
.match-list h3 i { color: var(--orange); font-weight: 400; }
.match-list p { color: var(--muted); line-height: 1.6; }
.comments-layout { display: grid; grid-template-columns: 1.15fr .85fr; gap: 22px; margin-top: 30px; }
.thread-list { display: grid; gap: 14px; }
.thread-list article { padding: 25px; border: 1px solid var(--line); border-radius: 19px; background: var(--paper); }
.thread-list article > div { display: flex; justify-content: space-between; color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.thread-list h3 { margin: 24px 0 15px; font-family: Georgia, serif; font-size: 30px; font-weight: 500; }
.thread-list p { margin-bottom: 8px; color: var(--muted); line-height: 1.55; }
.comment-demo { padding: 27px; border-radius: 20px; color: var(--white); background: var(--navy); }
.comment-demo h3 { margin-bottom: 26px; font-family: Georgia, serif; font-size: 35px; font-weight: 500; }
.comment-demo label { display: block; margin-bottom: 16px; }
.comment-demo input,
.comment-demo select,
.comment-demo textarea { background: #fff; }
.comment-demo .form-status { color: #c5d0da; }
.empty-state { margin: 30px 0 0; padding: 28px; border: 1px dashed var(--line); border-radius: 16px; text-align: center; color: var(--muted); }

.profile-studio { padding: 106px 0 122px; background: var(--paper-2); scroll-margin-top: 80px; }
.studio-heading { display: grid; grid-template-columns: 1fr 330px; gap: 50px; align-items: end; margin-bottom: 44px; }
.studio-heading > p { color: var(--muted); line-height: 1.6; }
.studio-layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 20px; min-width: 0; }
.studio-layout > aside { padding: 18px; border-radius: 20px; background: var(--navy); color: var(--white); }
.studio-layout ol { margin: 0; padding: 0; list-style: none; }
.studio-layout li + li { margin-top: 8px; }
.studio-layout aside button { width: 100%; display: grid; grid-template-columns: 36px 1fr; gap: 3px 9px; padding: 13px; border: 0; border-radius: 12px; color: #bfcbd5; background: transparent; cursor: pointer; text-align: left; }
.studio-layout aside button span { grid-row: span 2; color: var(--orange-soft); font-family: Georgia, serif; font-size: 23px; }
.studio-layout aside button strong { color: inherit; }
.studio-layout aside button small { font-size: 10px; }
.studio-layout aside button.is-active { color: var(--navy); background: var(--white); }
.privacy-card { margin-top: 22px; padding: 17px; border-radius: 13px; background: rgba(255,255,255,.08); }
.privacy-card svg { width: 26px; height: 26px; color: var(--orange-soft); }
.privacy-card p { margin: 10px 0 0; color: #c4d0da; font-size: 12px; line-height: 1.55; }
.privacy-card strong { display: block; color: var(--white); }
.studio-panels { min-width: 0; min-height: 760px; padding: 42px; border-radius: 20px; background: var(--white); }
.studio-panels h3 { margin-bottom: 26px; font-family: Georgia, serif; font-size: 43px; line-height: 1; font-weight: 500; }
.step-kicker { color: var(--orange); font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.studio-panels form > label,
.studio-panels fieldset > label { display: block; margin-bottom: 18px; }
.studio-panels fieldset { margin: 0; padding: 24px; border: 1px solid var(--line); border-radius: 15px; }
.studio-panels legend { padding-inline: 7px; font-size: 12px; font-weight: 850; }
.studio-panels fieldset > small { display: block; margin: -8px 0 17px; color: var(--muted); font-size: 11px; }
.studio-panels label > span small,
.studio-panels legend small { color: var(--muted); font-size: 10px; font-weight: 650; }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.field-grid label { display: block; }
.studio-panels details { margin: 4px 0 18px; padding: 13px; border-radius: 11px; background: var(--paper); }
.studio-panels summary { cursor: pointer; font-size: 12px; font-weight: 800; }
.studio-panels details .field-grid { margin-top: 16px; }
.check-row { display: flex !important; align-items: flex-start; gap: 10px; }
.check-row input { width: 17px; height: 17px; flex: 0 0 auto; margin-top: 2px; accent-color: var(--orange); }
.check-row strong,
.check-row small { display: block; }
.check-row small { margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.choice-field { margin-bottom: 19px !important; }
.check-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.check-grid label { display: inline-flex; align-items: center; gap: 6px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 999px; cursor: pointer; font-size: 11px; font-weight: 760; }
.check-grid input { width: 14px; height: 14px; accent-color: var(--orange); }
.privacy-inline { display: flex; gap: 9px; align-items: center; padding: 13px; border-radius: 11px; background: #eef3ef; color: #46604e; font-size: 11px; }
.privacy-inline svg { width: 21px; height: 21px; flex: 0 0 auto; }
.public-basics { margin-top: 22px !important; }
.photo-picker { display: grid; grid-template-columns: 112px 1fr; gap: 19px; align-items: center; margin-top: 8px; padding: 18px; border-radius: 15px; background: var(--paper); }
.avatar-preview { width: 108px; height: 108px; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 30px; color: var(--navy); background: #ffd2ba; font-size: 29px; font-weight: 900; }
.avatar-preview img { width: 100%; height: 100%; object-fit: cover; }
.photo-picker-label { margin-bottom: 5px; font-size: 12px; font-weight: 850; }
.photo-picker-help { margin-bottom: 13px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.photo-input { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.photo-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.photo-input:focus + .photo-actions [data-photo-choose] { outline: 3px solid rgba(239,106,54,.28); outline-offset: 2px; }
.button-small { min-height: 38px; padding: 8px 13px; font-size: 11px; }
.button-plain { border-color: transparent; color: var(--navy); background: transparent; text-decoration: underline; text-underline-offset: 3px; }
.avatar-has-photo { padding: 0; overflow: hidden; background: var(--paper-2); }
.avatar-has-photo img { width: 100%; height: 100%; object-fit: cover; }
.guidance-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; margin-bottom: 18px; }
.guidance-grid article { min-height: 180px; padding: 19px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.guidance-grid article > span { color: var(--orange); font-size: 10px; font-weight: 850; letter-spacing: .08em; }
.guidance-grid article > strong { display: block; margin: 27px 0 7px; font-family: Georgia, serif; font-size: 22px; font-weight: 500; }
.guidance-grid article > p { margin-bottom: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.guidance-note { padding: 14px 16px; border-left: 3px solid var(--orange); border-radius: 0 11px 11px 0; color: var(--muted); background: var(--paper-2); font-size: 11px; line-height: 1.55; }
.guidance-check { margin: 20px 0 14px !important; padding: 16px; border: 1px solid var(--line); border-radius: 13px; }
.visibility-review { display: grid; grid-template-columns: .84fr 1.16fr; gap: 15px; margin-bottom: 18px; }
.review-profile { min-height: 390px; display: flex; flex-direction: column; padding: 23px; border-radius: 18px; color: var(--white); background: var(--navy); }
.review-profile .card-top > span:last-child { color: #aebbc7; }
.review-profile h4 { margin: 25px 0 8px; font-family: Georgia, serif; font-size: 33px; font-weight: 500; }
.review-profile > p:not(.card-role) { color: #c6d0d9; line-height: 1.58; }
.review-profile .tag-list { margin-top: auto; }
.review-profile .tag-list li { color: var(--navy); }
.visibility-details { display: grid; gap: 10px; }
.visibility-details section { padding: 17px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.review-label { color: var(--orange); font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.visibility-details ul { display: grid; gap: 6px; margin: 12px 0 0; padding-left: 18px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.visibility-choice { margin-bottom: 17px !important; }
.visibility-choice label { display: flex !important; align-items: flex-start; gap: 10px; margin-bottom: 10px !important; padding: 13px; border: 1px solid var(--line); border-radius: 12px; }
.visibility-choice input { width: 17px; height: 17px; flex: 0 0 auto; accent-color: var(--orange); }
.visibility-choice strong,
.visibility-choice small { display: block; }
.visibility-choice small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.review-submit-boundary { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 17px; padding: 16px; border-radius: 13px; color: #4f4b46; background: #f7eee7; }
.review-submit-boundary svg { width: 24px; height: 24px; flex: 0 0 auto; color: var(--orange); }
.review-submit-boundary p { margin: 0; font-size: 11px; line-height: 1.55; }
.form-status { min-height: 20px; color: var(--muted); font-size: 11px; line-height: 1.4; }
.form-status.is-error { color: #b52b2b; }
.form-status.is-success { color: #1e7452; }
.form-actions { display: flex; justify-content: space-between; gap: 12px; }
.form-actions-wrap { flex-wrap: wrap; }

.site-footer { padding: 78px 0 34px; color: var(--white); background: #0b1521; }
.footer-lead { display: flex; align-items: end; justify-content: space-between; gap: 40px; padding-bottom: 42px; border-bottom: 1px solid rgba(255,255,255,.14); }
.footer-brand { color: var(--white); }
.footer-brand .brand-longname { color: #aebac5; }
.footer-tagline { width: min(100%, 540px); text-align: right; }
.footer-tagline > p { margin: 0; color: #d5dde4; font-family: Georgia, serif; font-size: clamp(36px, 4vw, 54px); line-height: .98; letter-spacing: -.035em; }
.footer-tagline > span { display: block; max-width: 440px; margin: 12px 0 0 auto; color: #93a2b0; font-size: 13px; line-height: 1.6; }
.footer-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 54px; padding: 46px 0; }
.site-footer nav { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; font-size: 13px; }
.site-footer nav strong { margin-bottom: 8px; color: var(--orange-soft); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.site-footer nav a { color: #c8d1da; }
.site-footer nav a:hover { color: var(--orange-soft); }
.site-footer nav a span { margin-left: 4px; color: #7f8d9a; font-size: 9px; letter-spacing: .07em; text-transform: uppercase; }
.footer-base { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 34px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.14); }
.footer-base p { margin: 0; color: #7f8d9a; font-size: 10px; line-height: 1.55; }
.footer-base p:last-child { max-width: 570px; text-align: right; }
.site-footer .footer-legal { flex-direction: row; flex-wrap: wrap; gap: 10px 18px; font-size: 11px; }
.site-footer .footer-base .footer-legal { justify-self: end; }
.site-footer .footer-legal a { color: #aebac5; text-decoration: underline; text-underline-offset: 4px; }

.intro-dialog { width: min(620px, calc(100vw - 28px)); max-height: calc(100vh - 28px); padding: 0; border: 0; border-radius: 24px; color: var(--ink); background: transparent; overflow: auto; }
.intro-dialog::backdrop { background: rgba(7,16,27,.72); backdrop-filter: blur(6px); }
.dialog-card { position: relative; padding: 38px; border-radius: 24px; background: var(--white); box-shadow: var(--shadow); }
.dialog-card h2 { margin-bottom: 15px; font-family: Georgia, serif; font-size: 39px; line-height: 1; font-weight: 500; }
.dialog-card > div > p:not(.eyebrow,.form-status) { color: var(--muted); line-height: 1.65; }
.dialog-card label { display: block; margin: 20px 0; }
.dialog-close { position: absolute; top: 13px; right: 13px; width: 37px; height: 37px; border: 0; border-radius: 50%; background: var(--paper-2); cursor: pointer; font-size: 25px; }
.success-mark { width: 60px; height: 60px; display: grid; place-items: center; margin-bottom: 22px; border-radius: 50%; color: var(--white); background: var(--orange); font-size: 28px; font-weight: 900; }

.route-view.route-active { animation: route-in 420ms cubic-bezier(.22,1,.36,1) both; }
@keyframes route-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.reveal { opacity: 1; transform: none; }
.reveal.is-visible { opacity: 1; transform: none; }
.reveal-delay-sm { transition-delay: 80ms; }
.reveal-delay { transition-delay: 150ms; }

@media (max-width: 1100px) {
  .primary-nav { gap: 16px; }
  .primary-nav > a:not(.nav-connect) { font-size: 13px; }
  .brand-longname { max-width: 150px; font-size: 7px; }
  .home-hero-grid { grid-template-columns: .9fr 1.1fr; gap: 42px; }
  .hero-photo { min-height: 560px; }
  .sparks-join-card { grid-template-columns: 54px minmax(0, 1fr); }
  .sparks-join-action { grid-column: 2; width: min(260px, 100%); }
  .connect-community-layout { gap: 42px; }
  .events-intro-heading { gap: 42px; }
  .event-path-card { grid-template-rows: 230px 1fr; }
  .upcoming-summit-copy { padding: 42px; }
  .program-feature-home { gap: 42px; }
  .genzec-hero-grid { gap: 42px; }
  .genzec-initiatives-heading { grid-template-columns: 1fr; gap: 24px; }
  .genzec-initiatives-heading > div:last-child { max-width: 680px; }
  .genzec-initiative-set { gap: 16px; }
  .genzec-initiative-copy { min-height: 310px; padding-inline: 12px; }
  .genzec-image-slot { min-height: 310px; padding: 24px 18px; }
  .event-story { gap: 42px; }
  .event-card-grid-three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-card-grid-three .event-index-card:first-child { grid-column: 1 / -1; }
  .event-card-grid-three .event-index-card:first-child { display: grid; grid-template-columns: 1.08fr .92fr; }
  .event-card-grid-three .event-index-card:first-child figure { height: 100%; min-height: 360px; }
  .event-photo-story figure,
  .event-photo-story .event-photo-wide,
  .event-photo-story .event-photo-portrait,
  .event-photo-story figure:last-child { height: 360px; }
  .program-rail { grid-template-columns: repeat(2, 1fr); }
  .program-tile { min-height: 360px; }
  .family-card { grid-template-columns: 56px 1fr 38%; }
  .card-grid { grid-template-columns: repeat(2, 1fr); }
  .connect-hero-grid { gap: 40px; }
}

@media (max-width: 820px) {
  :root { --shell: min(calc(100% - 30px), 680px); }
  .site-header { position: sticky; }
  .header-inner { min-height: 70px; }
  .brand-longname { max-width: 164px; font-size: 7.5px; }
  .menu-toggle {
    position: relative;
    z-index: 74;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: var(--white);
  }
  .menu-toggle > span:not(.sr-only) { position: absolute; width: 17px; height: 2px; background: var(--navy); transition: transform 180ms ease; }
  .menu-toggle > span:nth-child(2) { transform: translateY(-4px); }
  .menu-toggle > span:nth-child(3) { transform: translateY(4px); }
  .menu-toggle[aria-expanded="true"] > span:nth-child(2) { transform: rotate(45deg); }
  .menu-toggle[aria-expanded="true"] > span:nth-child(3) { transform: rotate(-45deg); }
  .primary-nav {
    position: absolute;
    inset: 70px auto auto 0;
    z-index: 73;
    width: 100%;
    min-height: calc(100vh - 70px);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 0;
    padding: 36px 28px 40px;
    color: var(--white);
    background: rgba(16,29,46,.98);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 200ms ease, visibility 200ms ease;
  }
  .primary-nav.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
  .primary-nav > a:not(.nav-connect) { padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.12); font-family: Georgia, serif; font-size: 34px; font-weight: 500; }
  .nav-connect { margin-top: 20px; justify-content: center; color: var(--navy); background: var(--orange-soft); }
  .section-pad { padding-block: 76px; }
  .home-hero { padding: 42px 0 72px; background: var(--paper); }
  .home-hero-grid,
  .page-hero-grid,
  .program-feature-home,
  .founding-story-layout,
  .genzec-hero-grid,
  .connect-hero-grid,
  .upcoming-summit-card,
  .about-team-story-grid,
  .about-story-grid,
  .event-detail-header,
  .event-story,
  .policy-hero-grid,
  .policy-layout,
  .studio-heading { grid-template-columns: 1fr; }
  .home-hero-grid { gap: 40px; }
  .hero-copy h1 { font-size: clamp(52px, 14.6vw, 72px); }
  .hero-lede { font-size: 16px; }
  .hero-actions .button { width: 100%; }
  .hero-photo { min-height: 470px; border-radius: 20px 58px 20px 20px; }
  .hero-photo figcaption { bottom: 28px; }
  .school-backgrounds { padding: 52px 0 56px; }
  .school-backgrounds-heading { grid-template-columns: 1fr; gap: 14px; }
  .school-backgrounds-heading > p { max-width: 520px; margin: 0; }
  .school-marquee { margin-top: 28px; }
  .school-backgrounds-note { text-align: left; }
  .founding-story { padding-block: 82px 76px; }
  .founding-story-copy { max-width: 650px; }
  .event-photo-wall {
    width: var(--shell);
    max-width: 100%;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(250px, 78vw);
    gap: 12px;
    margin: 44px auto 0;
    padding-bottom: 12px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }
  .event-photo-wall figure { scroll-snap-align: start; }
  .sparks-join-wrap { margin-top: 40px; }
  .sparks-join-card { padding: 30px 28px; }
  .pathway-section { padding-top: 76px; }
  .section-heading h2 { font-size: 44px; }
  .connect-community-layout,
  .program-rail,
  .story-grid,
  .partner-route-grid,
  .card-grid,
  .match-list,
  .comments-layout,
  .footer-grid { grid-template-columns: 1fr; }
  .connect-community-copy { max-width: 650px; }
  .connect-network-gallery { grid-template-rows: 360px; }
  .events-intro-heading { grid-template-columns: 1fr; gap: 22px; margin-bottom: 34px; }
  .events-intro-heading > div:last-child { max-width: 610px; }
  .events-intro-grid { grid-template-columns: 1fr; gap: 14px; }
  .event-path-card { grid-template-columns: minmax(220px, .78fr) minmax(0, 1.22fr); grid-template-rows: minmax(280px, auto); }
  .upcoming-summit-card { min-height: 0; }
  .upcoming-summit-image { min-height: 440px; }
  .upcoming-summit-copy { padding: 42px 28px; }
  .row-heading { align-items: flex-start; flex-direction: column; }
  .program-tile { min-height: 340px; }
  .program-feature-home { gap: 38px; }
  .program-feature-image { min-height: 470px; }
  .home-stories { padding-block: 76px 68px; }
  .home-stories-heading { grid-template-columns: 1fr; gap: 22px; margin-bottom: 34px; }
  .home-stories-heading > div:last-child { justify-self: start; max-width: 610px; }
  .home-story-grid { grid-template-columns: 1fr; gap: 14px; }
  .home-story-card { min-height: 340px; }
  .community-support-heading,
  .community-support-story { grid-template-columns: 1fr; }
  .community-support-heading { gap: 20px; }
  .community-support-heading > p { max-width: 620px; }
  .community-affiliation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .community-support-copy { padding: 44px 30px; }
  .page-hero { padding: 72px 0; }
  .page-hero-grid { gap: 30px; }
  .page-hero h1,
  .archive-page h1,
  .event-detail h1 { font-size: clamp(50px, 13.3vw, 72px); }
  .genzec-hero { padding: 50px 0 62px; }
  .genzec-hero-grid { gap: 38px; }
  .genzec-hero figure { min-height: 510px; }
  .genzec-initiatives-shell { width: var(--shell); }
  .genzec-initiatives-heading { margin-bottom: 46px; }
  .genzec-initiative-set { grid-template-columns: 1fr; gap: 54px; }
  .genzec-initiative-set-second { margin-top: 64px; padding-top: 64px; }
  .genzec-initiative { max-width: 620px; margin-inline: auto; gap: 14px; }
  .genzec-initiative-copy { min-height: 0; padding: 24px 16px; }
  .genzec-image-slot { min-height: 400px; }
  .genzec-coming-soon { grid-template-columns: 1fr; gap: 20px; padding: 32px 24px; }
  .program-next { align-items: stretch; flex-direction: column; padding: 34px 24px; }
  .program-next .button { width: 100%; }
  .family-card { grid-template-columns: 1fr; gap: 18px; padding: 20px; }
  .family-index { font-size: 28px; }
  .family-card > img { grid-row: 2; height: 300px; }
  .archive-by-year { gap: 64px; }
  .event-year-header { align-items: flex-start; flex-direction: column; gap: 10px; }
  .event-year-header > p:last-child { max-width: 520px; margin-bottom: 0; text-align: left; }
  .year { font-size: 52px; }
  .event-card-grid-three,
  .event-card-grid-two { grid-template-columns: 1fr; }
  .event-card-grid-three .event-index-card:first-child { grid-column: auto; display: flex; }
  .event-card-grid-three .event-index-card:first-child figure,
  .event-index-card figure,
  .event-card-grid-two .event-index-card figure { min-height: 0; height: 280px; }
  .event-index-copy { min-height: 250px; }
  .story-card-wide { grid-column: auto; grid-template-columns: 1fr; }
  .story-card img,
  .story-card-wide img { height: 390px; }
  .story-card-wide > div { padding: 28px; }
  .partner-contact { align-items: stretch; flex-direction: column; padding: 30px 24px; }
  .partner-contact .button { width: 100%; }
  .about-contact-cta { align-items: flex-start; flex-direction: column; }
  .about-team-card { grid-template-columns: 1fr; gap: 28px; align-items: start; }
  .about-team-card .button { width: 100%; }
  .contact-boundary { gap: 8px; }
  .contact-form-grid { grid-template-columns: 1fr; }
  .join-team-layout { grid-template-columns: 1fr; }
  .join-team-context { position: static; }
  .partner-visual { grid-template-columns: 1fr; padding: 30px 22px; }
  .partner-visual-grid { grid-template-rows: repeat(2, 190px); }
  .about-story-grid { gap: 38px; }
  .about-story-grid figure img { height: auto; }
  .archive-layout { grid-template-columns: 1fr; gap: 28px; }
  .archive-layout > img,
  .archive-copy { grid-column: 1; }
  .archive-layout > img { height: 420px; }
  .event-detail { padding: 38px 0 80px; }
  .event-detail-header { gap: 20px; }
  .event-detail-header .status-pill { justify-self: start; }
  .event-lead { min-height: 500px; }
  .event-lead-group img { object-fit: contain; }
  .event-lead figcaption { border-radius: 11px; }
  .event-story { gap: 26px; padding: 14px 0; }
  .fact-grid-three { grid-template-columns: 1fr 1fr; }
  .event-chapters { grid-template-columns: 1fr; }
  .event-chapters article { min-height: 230px; }
  .event-photo-story { grid-template-columns: 1fr; }
  .event-photo-story figure,
  .event-photo-story .event-photo-wide,
  .event-photo-story .event-photo-portrait,
  .event-photo-story figure:last-child { grid-column: 1; height: 340px; }
  .event-photo-story .event-photo-portrait { height: 500px; }
  .event-photo-pair { grid-template-columns: 1fr; }
  .event-photo-pair figure { height: 390px; }
  .event-scene figure { height: 470px; }
  .event-video-section { grid-template-columns: 1fr; gap: 28px; padding: 28px 22px 22px; }
  .related-event { align-items: stretch; flex-direction: column; padding: 30px 24px; }
  .related-event .button { width: 100%; }
  .policy-hero { padding: 70px 0 62px; }
  .policy-hero-grid { gap: 30px; }
  .policy-layout { gap: 38px; }
  .policy-layout > aside { position: static; grid-template-columns: repeat(2, 1fr); }
  .policy-layout > aside strong { grid-column: 1 / -1; }
  .policy-copy h2 { font-size: 39px; }
  .two-photo { grid-template-columns: 1fr; }
  .two-photo img { height: 320px; }
  .connect-hero { padding-top: 36px; }
  .connect-hero-grid { gap: 42px; }
  .connect-lockup { margin: 30px 0; }
  .connect-hero h1 { font-size: clamp(50px, 14vw, 72px); }
  .connect-hero figure,
  .connect-hero figure img { min-height: 0; height: 470px; }
  .connect-hero figure.connect-hero-group,
  .connect-hero figure.connect-hero-group img { height: auto; }
  .connect-notice .shell { align-items: flex-start; }
  .account-layout { grid-template-columns: 1fr; }
  .account-intro { position: static; min-height: 570px; padding: 34px; }
  .connect-lockup-dark { margin-bottom: 48px; }
  .account-card { padding: 34px; }
  .account-card-layered { padding: 24px; }
  .account-session .shell { align-items: flex-start; flex-direction: column; }
  .profile-gate-card { grid-template-columns: 1fr; gap: 28px; }
  .profile-account-context { grid-template-columns: 1fr auto; }
  .profile-account-context p { grid-column: 1 / -1; grid-row: 2; }
  .profile-context-actions { grid-column: 2; grid-row: 1; flex-direction: column; align-items: flex-end; }
  .profile-draft-status { grid-row: 3 !important; }
  .profile-state-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .staging-profile-sync { grid-template-columns: 1fr; }
  .directory-section { padding: 76px 0 88px; }
  .directory-prelaunch { padding: 68px 0 78px; }
  .directory-prelaunch-card { grid-template-columns: 1fr; gap: 28px; padding: 30px 24px; }
  .connect-community-gallery { grid-template-columns: 1fr 1fr; }
  .connect-community-gallery figure:last-child { grid-column: 1 / -1; }
  .directory-review-boundary { grid-template-columns: 1fr; gap: 7px; }
  .directory-heading { align-items: stretch; flex-direction: column; }
  .directory-tabs { grid-template-columns: 1fr 1fr; }
  .filter-row { align-items: flex-start; flex-direction: column; }
  .member-card,
  .idea-card { min-height: 360px; }
  .studio-heading { gap: 18px; }
  .studio-layout { grid-template-columns: 1fr; }
  .studio-layout > aside { min-width: 0; padding: 14px; overflow: hidden; }
  .studio-layout ol { display: flex; width: 100%; max-width: 100%; gap: 6px; padding-bottom: 5px; overflow-x: auto; scroll-snap-type: x proximity; }
  .studio-layout li { flex: 0 0 145px; }
  .studio-layout li + li { margin-top: 0; }
  .studio-layout aside button { min-height: 92px; scroll-snap-align: start; }
  .studio-layout aside button span { font-size: 18px; }
  .studio-layout aside button small { display: none; }
  .privacy-card { display: flex; gap: 12px; align-items: flex-start; }
  .privacy-card p { margin-top: 0; }
  .studio-panels { min-height: 0; padding: 28px 20px; }
  .field-grid { grid-template-columns: 1fr; }
  .visibility-review { grid-template-columns: 1fr; }
  .footer-lead { align-items: flex-start; flex-direction: column; }
  .footer-tagline { text-align: left; }
  .footer-tagline > span { margin-left: 0; }
  .footer-groups { grid-template-columns: 1fr 1fr; }
  .footer-base { display: flex; flex-direction: column; }
  .site-footer .footer-base .footer-legal { justify-self: auto; }
  .footer-base p:last-child { text-align: left; }
}

@media (max-width: 480px) {
  :root { --shell: calc(100vw - 24px); }
  .wordmark { font-size: 21px; }
  .brand-longname { max-width: 138px; font-size: 6.8px; }
  .brand-mark { width: 34px; height: 34px; }
  .hero-photo { min-height: 415px; }
  .hero-photo figcaption { right: 18px; bottom: 18px; left: 18px; }
  .hero-photo figcaption strong { max-width: 330px; font-size: 22px; }
  .hero-carousel-ui { top: 16px; right: 16px; }
  .hero-carousel-button { width: 38px; height: 38px; }
  .school-logo-set { min-height: 92px; gap: 10px; padding-inline: 5px; }
  .school-logo-slot { width: 150px; height: 76px; flex-basis: 150px; padding: 12px 13px; }
  .school-logo-slot img { max-height: 50px; }
  .founding-story-copy h2 { font-size: 42px; }
  .founding-story-copy > p:not(.eyebrow) { font-size: 16px; }
  .event-photo-wall { grid-auto-columns: minmax(250px, 82vw); gap: 10px; }
  .sparks-join-card { grid-template-columns: 1fr; gap: 20px; padding: 28px 22px; }
  .sparks-join-card > svg { width: 50px; height: 50px; }
  .sparks-join-card h2 { font-size: 30px; }
  .sparks-join-action { grid-column: auto; width: 100%; }
  .sparks-join-action span { max-width: none; }
  .connect-community-copy h2 { font-size: 42px; }
  .connect-community-copy > p:not(.eyebrow) { font-size: 16px; }
  .connect-network-gallery { grid-template-columns: 1fr; grid-template-rows: repeat(2, 280px); gap: 10px; }
  .connect-network-gallery figure { border-radius: 16px; }
  .events-intro-heading h2 { font-size: 42px; }
  .event-path-card { grid-template-columns: 1fr; grid-template-rows: 230px 1fr; }
  .event-path-card > div { padding: 24px 22px 26px; }
  .upcoming-summit-image { min-height: 310px; }
  .upcoming-summit-copy { padding: 34px 22px; }
  .upcoming-summit-meta { align-items: flex-start; flex-direction: column; gap: 10px; }
  .upcoming-summit-copy h2 { margin-top: 22px; font-size: 42px; }
  .upcoming-summit-actions { align-items: flex-start; flex-direction: column; }
  .home-stories { padding-block: 70px 60px; }
  .home-stories-heading h2 { font-size: 44px; }
  .home-stories-heading .button { width: 100%; }
  .home-story-grid { gap: 12px; }
  .home-story-card { min-height: 0; padding: 24px 22px; border-radius: 20px; }
  .story-person { grid-template-columns: 84px minmax(0, 1fr); gap: 16px; }
  .story-avatar-placeholder { width: 84px; height: 102px; }
  .home-story-card h3 { font-size: 27px; }
  .home-story-card blockquote p { font-size: 21px; }
  .community-support { padding-block: 70px; }
  .community-support-heading h2 { font-size: 42px; }
  .community-affiliation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 8px; border-radius: 20px; }
  .community-affiliation-logo { min-height: 104px; padding: 16px; border-radius: 14px; }
  .community-affiliation-logo img { height: 54px; }
  .logo-goldman img { height: 66px; }
  .logo-harvard img { height: 56px; }
  .logo-microsoft img { height: 44px; }
  .logo-wharton img { height: 48px; }
  .logo-ey img,
  .logo-tiktok img { height: 60px; }
  .logo-mit img { height: 42px; }
  .logo-bank img { height: 36px; }
  .logo-chicago img { height: 38px; max-width: 88%; }
  .community-support-story { margin-top: 18px; }
  .community-support-photos { min-height: 440px; grid-template-columns: 1fr 1fr; grid-template-rows: 270px 160px; }
  .community-support-photos .community-support-photo-main { grid-column: 1 / 3; grid-row: auto; }
  .community-support-photos.community-support-photos-single { min-height: 0; display: flex; }
  .community-support-copy { padding: 36px 24px; }
  .community-support-copy h2 { font-size: 40px; }
  .community-support-copy .button { width: 100%; }
  .family-card > img,
  .story-card img,
  .story-card-wide img,
  .archive-layout > img { height: 330px; }
  .program-feature-image,
  .genzec-hero figure,
  .event-lead { min-height: 390px; }
  .genzec-initiatives-heading h2 { font-size: 43px; }
  .genzec-initiative-set { gap: 46px; }
  .genzec-initiative-set-second { margin-top: 52px; padding-top: 52px; }
  .genzec-initiative-copy { padding: 20px 4px; }
  .genzec-initiative-copy h3 { font-size: 34px; }
  .genzec-image-slot { min-height: 330px; padding: 24px; }
  .fact-grid,
  .fact-grid-three { grid-template-columns: 1fr; }
  .event-index-card figure,
  .event-card-grid-two .event-index-card figure { height: 225px; }
  .event-index-copy { min-height: 0; padding: 22px; }
  .event-photo-story figure,
  .event-photo-story .event-photo-wide,
  .event-photo-story figure:last-child,
  .event-photo-pair figure { height: 300px; }
  .event-photo-story .event-photo-portrait { height: 450px; }
  .event-scene figure { height: 390px; }
  .footer-groups { grid-template-columns: 1fr; gap: 30px; }
  .contact-path-nav { grid-template-columns: 1fr; }
  .about-team-card { padding: 32px 24px; }
  .about-team-story-grid { gap: 36px; }
  .about-team-story-copy h2 { font-size: 45px; }
  .about-photo-wall { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 160px; gap: 8px; }
  .about-photo-wall .about-photo-wall-tall { grid-row: span 2; }
  .contact-form-card { padding: 28px 22px; }
  .join-team-context { padding: 28px 22px; }
  .application-choice-grid { grid-template-columns: 1fr; }
  .policy-layout > aside { grid-template-columns: 1fr; }
  .policy-layout > aside strong { grid-column: auto; }
  .connect-hero figure,
  .connect-hero figure img { height: 390px; }
  .connect-hero figure.connect-hero-group,
  .connect-hero figure.connect-hero-group img { height: auto; }
  .connect-community-gallery { grid-template-columns: 1fr; gap: 12px; }
  .connect-community-gallery figure:last-child { grid-column: auto; }
  .account-shell { padding: 34px 0 70px; }
  .account-intro { min-height: 0; padding: 26px 22px; }
  .account-intro h1 { font-size: 45px; }
  .account-journey { grid-template-columns: 1fr; margin-top: 36px; }
  .account-journey li { min-height: 0; display: grid; grid-template-columns: 38px 1fr; column-gap: 9px; padding: 13px; }
  .account-journey span { grid-row: span 2; margin: 0; }
  .account-card { padding: 28px 20px; }
  .account-card-layered { padding: 18px 14px; }
  .wix-auth-card { padding: 22px 18px; }
  .wix-auth-card-signup { padding: 26px 20px; }
  .wix-auth-card-signup .button { white-space: normal; line-height: 1.25; }
  .verification-code { gap: 4px; }
  .verification-code span { min-height: 44px; font-size: 16px; }
  .account-card .form-actions { align-items: stretch; flex-direction: column-reverse; }
  .account-card .form-actions .button { width: 100%; }
  .return-grid { grid-template-columns: 1fr; }
  .account-session .shell > div:last-child { width: 100%; align-items: stretch; flex-direction: column; }
  .account-session .button { width: 100%; }
  .profile-gate { padding: 64px 0 78px; }
  .profile-gate-card { padding: 27px 22px; }
  .profile-account-context { grid-template-columns: 1fr; }
  .profile-account-context p { grid-column: auto; grid-row: auto; }
  .profile-account-context .text-link { justify-self: start; }
  .profile-context-actions { grid-column: auto; grid-row: auto; align-items: flex-start; }
  .profile-draft-status { grid-row: auto !important; }
  .profile-state-card { grid-template-columns: 1fr; padding: 28px 22px; }
  .profile-state-mark { width: 60px; height: 60px; border-radius: 19px; }
  .profile-state-steps { grid-template-columns: 1fr; }
  .staging-profile-sync { padding: 22px 18px; }
  .directory-tabs button { min-height: 51px; font-size: 12px; }
  .studio-layout li { flex-basis: 132px; }
  .studio-layout aside button { min-height: 76px; }
  .studio-layout aside button small { display: block; }
  .photo-picker { grid-template-columns: 1fr; }
  .avatar-preview { width: 92px; height: 92px; border-radius: 25px; }
  .guidance-grid { grid-template-columns: 1fr; }
  .form-actions-wrap .button { width: 100%; }
  .partner-visual-grid { grid-template-columns: 1fr; grid-template-rows: none; }
  .partner-visual-grid .partner-visual-tall { grid-row: auto; }
  .partner-visual-grid figure { height: 260px; }
  .dialog-card { padding: 34px 20px 24px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,
  *::before,
  *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
  .hero-carousel-ui { display: none; }
  .school-marquee-track { transform: none; animation: none !important; }
  .school-marquee { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
  .school-logo-set[aria-hidden="true"] { display: none; }
  .community-affiliation-logo { transition: none; }
  .community-affiliation-logo:hover { transform: none; }
}
