:root {
  --ink: #10194b;
  --ink-soft: #4f565e;
  --blue: #0057b8;
  --blue-deep: #003f86;
  --accent: #edf3fa;
  --paper: #f7f7f5;
  --white: #fff;
  --line: rgba(12, 24, 48, .1);
  --glass: rgba(255, 255, 255, .72);
  --shadow-sm: 0 10px 30px rgba(19, 39, 74, .08);
  --shadow-lg: 0 24px 70px rgba(10, 31, 66, .16);
  --display: 'AkkuratLLWeb', 'Helvetica Neue', Arial, sans-serif;
  --body: 'AkkuratLLWeb', 'Helvetica Neue', Arial, sans-serif;
  --display-weight: 700;
  --display-tracking: -0.025em;
  --container: 1180px;
  --nav-h: 76px;
  --ease-out: cubic-bezier(.23, 1, .32, 1);
  --ease-in-out: cubic-bezier(.77, 0, .175, 1);
  --ease-drawer: cubic-bezier(.32, .72, 0, 1);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body { color: var(--ink); background: var(--white); font-family: var(--body); font-weight: 500; line-height: 1.65; overflow-x: clip; -webkit-font-smoothing: antialiased; }
::selection { color: var(--white); background: var(--blue); }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
button { font: inherit; }

.container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 32px; }

/* Floating glass navigation */
.nav { position: fixed; inset: 0 0 auto; z-index: 1000; height: var(--nav-h); display: flex; align-items: center; transition: background 220ms var(--ease-out), box-shadow 220ms var(--ease-out), height 220ms var(--ease-out); }
.nav--transparent { background: var(--paper); box-shadow: 0 1px 0 var(--line); }
.nav--transparent .nav__logo-text span:first-child, .nav--transparent .nav__link, .nav--transparent .nav__social a { color: var(--ink); }
.nav--transparent .nav__logo-text span:last-child { color: var(--ink-soft); }
.nav--solid, .nav--always-solid { height: 68px; background: var(--paper); box-shadow: 0 1px 0 var(--line); }
.nav__inner { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 32px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.nav__logo { display: flex; align-items: center; gap: 11px; }
.nav__logo-mark { width: 38px; height: 38px; flex: 0 0 auto; object-fit: cover; border: 1px solid rgba(255,255,255,.62); border-radius: 50%; box-shadow: 0 6px 16px rgba(0, 101, 242, .18); background: var(--white); }
.nav__logo-text { display: flex; flex-direction: column; line-height: 1.05; }
.nav__logo-text span:first-child { color: var(--ink); font: 700 14px/1 var(--display); letter-spacing: -.015em; transition: color 180ms var(--ease-out); }
.nav__logo-text span:last-child { margin-top: 5px; color: var(--ink-soft); font-size: 9px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.nav__links { display: flex; align-items: center; gap: 30px; margin-left: auto; }
.nav__link { position: relative; padding: 8px 0; color: var(--ink-soft); font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; transition: color 160ms var(--ease-out); }
.nav__link::after { content: ''; position: absolute; right: 0; bottom: 1px; left: 0; height: 2px; border-radius: 2px; background: var(--blue); transform: scaleX(0); transform-origin: right; transition: transform 180ms var(--ease-out); }
.nav__link.active { color: var(--ink); }
.nav__link.active::after { transform: scaleX(1); transform-origin: left; }
.nav__social { display: flex; align-items: center; gap: 10px; margin-left: 12px; }
.nav__social a { display: grid; place-items: center; width: 32px; height: 32px; color: var(--ink-soft); border: 1px solid var(--line); border-radius: 50%; transition: color 160ms var(--ease-out), background 160ms var(--ease-out), transform 160ms var(--ease-out); }
.nav__social svg { width: 15px; height: 15px; fill: currentColor; }
.nav__hamburger { display: none; border: 0; background: transparent; cursor: pointer; }
.nav__hamburger span { display: block; width: 24px; height: 2px; margin: 5px 0; border-radius: 10px; background: currentColor; transition: transform 180ms var(--ease-out), opacity 120ms var(--ease-out); }
.nav__drawer { display: none; }

/* Hero */
.hero { position: relative; min-height: 720px; height: 100svh; display: grid; place-items: center; overflow: hidden; background: var(--paper); }
.hero__bg { position: absolute; top: 0; right: 0; bottom: 0; left: 52%; z-index: 0; background: url('../assets/austin-skyline.jpg') center 40% / cover; clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%); }
.hero__overlay { display: none; }
.hero__content { position: relative; z-index: 1; width: 100%; max-width: var(--container); margin: 0 auto; padding: 120px 52% 40px 32px; text-align: left; }
.hero__eyebrow, .section__label { color: var(--blue); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.hero__eyebrow { display: block; margin-bottom: 24px; }
.hero__title { max-width: 650px; color: var(--ink); font: var(--display-weight) clamp(4rem, 7vw, 7rem)/.94 var(--display); letter-spacing: var(--display-tracking); }
.hero__tagline { margin: 28px 0 34px; color: var(--ink-soft); font-size: clamp(1rem, 2vw, 1.2rem); letter-spacing: .02em; }
.hero__cta, .community__cta { display: inline-flex; align-items: center; gap: 12px; padding: 13px 19px; color: var(--white); background: var(--blue); border: 1px solid var(--blue); border-radius: 3px; box-shadow: none; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; transition: transform 160ms var(--ease-out), background 160ms var(--ease-out); }
.hero__cta:active, .community__cta:active, .impact__link:active { transform: scale(.97); }
.hero__cta svg { width: 16px; height: 16px; fill: none; stroke: currentColor; }
.hero__scroll { position: absolute; bottom: 30px; left: 32px; display: flex; align-items: center; gap: 11px; color: var(--ink-soft); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.hero__scroll-line { width: 32px; height: 1px; background: currentColor; opacity: .65; }

/* Shared editorial sections */
.section, .description { padding: 124px 0; }
.section__label { display: inline-block; color: var(--blue); }
.section__heading { margin-top: 13px; color: var(--ink); font: var(--display-weight) clamp(2.5rem, 5vw, 4.4rem)/1.08 var(--display); letter-spacing: var(--display-tracking); }
.section__sub { max-width: 580px; color: var(--ink-soft); font-size: 1rem; font-weight: 500; line-height: 1.85; }
.section__rule { width: 42px; height: 2px; margin: 22px 0 26px; border-radius: 20px; background: var(--blue); }
.placeholder, .placeholder-text { color: #7e8ba0; }

/* Quote + about */
.quote-block { padding: 118px 32px 98px; color: var(--white); background: var(--ink); }
.quote-block__inner { max-width: 910px; margin: 0 auto; }
.quote-block__text { max-width: 820px; font: var(--display-weight) clamp(2.3rem, 5vw, 4.8rem)/1.08 var(--display); letter-spacing: var(--display-tracking); }
.quote-block__attr { display: block; margin-top: 30px; color: #a9c9ff; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.quote-block__cta { display: inline-flex; margin-top: 34px; padding: 12px 16px; color: var(--ink); background: var(--white); border-radius: 3px; font-size: 12px; font-weight: 700; letter-spacing: .02em; transition: background 160ms var(--ease-out), color 160ms var(--ease-out), transform 160ms var(--ease-out); }
.description { background: var(--paper); }
.description__grid, .vision__grid, .community__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(54px, 8vw, 120px); align-items: center; }
.description__text .section__heading { max-width: 480px; }
.description__stat { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: 46px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.description__stat-item { min-width: 0; padding: 20px 22px 18px 0; }
.description__stat-item + .description__stat-item { padding-left: 22px; border-left: 1px solid var(--line); }
.description__stat-num { color: var(--blue); font: 800 2.3rem/.95 var(--display); letter-spacing: -.07em; }
.description__stat-label { margin-top: 8px; color: var(--ink-soft); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.description__visual, .vision__img-wrap, .community__visual { position: relative; }
.description__img-placeholder, .vision__img-placeholder, .community__img-placeholder { position: relative; min-height: 460px; display: grid; place-items: center; overflow: hidden; color: rgba(22,34,53,.46); background: #dfe8f2; border-radius: 3px; box-shadow: var(--shadow-lg); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.description__img-placeholder { z-index: 1; }
.description__image, .vision__image { position: relative; z-index: 1; display: block; width: 100%; height: 520px; object-fit: cover; border-radius: 3px; background: #dfe8f2; box-shadow: none; }
.description__img-card { position: static; display: inline-block; margin-top: 14px; padding: 0; color: var(--ink); background: transparent; border: 0; box-shadow: none; }
.description__img-card-num { font: 700 1.1rem/1 var(--display); letter-spacing: -.01em; }
.description__img-card-label { margin-top: 4px; color: var(--ink-soft); font-size: 10px; letter-spacing: .04em; text-transform: uppercase; }

/* Impact cards */
.impact { background: var(--white); }
.impact__header { max-width: 680px; margin-bottom: 58px; }
.impact__header .section__sub { margin-top: 18px; }
.impact__grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.impact__card { position: relative; min-height: 300px; display: flex; flex-direction: column; padding: 30px 30px 28px; overflow: hidden; background: transparent; border-radius: 0; transition: background 160ms var(--ease-out); }
.impact__card + .impact__card { border-left: 1px solid var(--line); }
.impact__card:nth-child(2) { padding-top: 58px; }
.impact__card:nth-child(3) { padding-top: 42px; }
.impact__card:focus-within { background: var(--accent); }
.impact__icon { position: relative; z-index: 1; width: 42px; height: 42px; display: grid; place-items: center; margin-bottom: 42px; color: var(--blue); background: var(--accent); border-radius: 50%; }
.impact__icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.impact__card-title { position: relative; z-index: 1; font: var(--display-weight) 1.45rem/1.12 var(--display); letter-spacing: var(--display-tracking); }
.impact__index { position: absolute; top: 28px; right: 28px; color: rgba(16,25,75,.34); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.impact__card-body { position: relative; z-index: 1; margin-top: 14px; color: var(--ink-soft); font-size: .94rem; font-weight: 500; line-height: 1.65; }
.impact__link { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 24px; color: var(--blue-deep); font-size: 11px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; transition: gap 160ms var(--ease-out), color 160ms var(--ease-out); }

/* Vision / community */
.vision { background: var(--paper); }
.vision__img-placeholder, .community__img-placeholder { min-height: 540px; background: #d6e0eb; }
.vision__content { max-width: 540px; }
.vision__list { display: grid; gap: 18px; margin-top: 32px; }
.vision__list-item { display: flex; gap: 14px; align-items: flex-start; }
.vision__list-dot { flex: 0 0 auto; width: 10px; height: 10px; margin-top: 9px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 6px rgba(22,119,255,.1); }
.vision__list-text { color: var(--ink-soft); font-size: .98rem; font-weight: 500; }
.vision__list-text strong { color: var(--ink); font-weight: 800; }
.community { color: var(--white); background: var(--ink); }
.community .section__heading { color: var(--white); }
.community .section__sub, .community__sub { color: rgba(255,255,255,.7); }
.community .section__label { color: #a9c9ff; }
.community .section__rule { background: #8fb7ff; }
.community__cta { margin-top: 28px; }
.community__img-placeholder { min-height: 440px; background: #28466d; }
.community__image { position: relative; z-index: 1; width: 100%; height: 440px; object-fit: cover; border-radius: 3px; }

/* Gallery and footer */
.photos { background: var(--white); }
.photos__header { margin-bottom: 44px; }
.photos__grid { columns: 4 240px; column-gap: 10px; }
.photos__item { display: block; break-inside: avoid; margin: 0 0 10px; overflow: hidden; border-radius: 3px; background: #eef1f4; }
.photos__item img { display: block; width: 100%; height: auto; object-fit: contain; transition: transform 180ms var(--ease-out); }
.photos__placeholder { height: 100%; display: grid; place-items: center; color: rgba(22,34,53,.38); background: #d9e5f1; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transition: transform 180ms var(--ease-out); }
.photos__item:nth-child(3) .photos__placeholder, .photos__item:nth-child(6) .photos__placeholder { background: #d8e9e8; }
.photos__item:nth-child(4) .photos__placeholder, .photos__item:nth-child(7) .photos__placeholder { background: #e8dfdb; }
.partners { padding: 52px 0 60px; background: var(--paper); }
.partners__label { margin-bottom: 24px; color: var(--ink-soft); font-size: 10px; font-weight: 800; letter-spacing: .16em; text-align: center; text-transform: uppercase; }
.partners__row { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
.partners__placeholder { min-width: 142px; padding: 5px 18px; color: var(--ink-soft); font-size: 11px; font-weight: 600; letter-spacing: .02em; text-align: center; }
.footer { padding: 82px 0 28px; color: rgba(255,255,255,.66); background: #071226; }
.footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 70px; padding-bottom: 70px; }
.footer__brand-name { color: var(--white); font: 700 2.1rem/1 var(--display); letter-spacing: -.03em; }
.footer__brand-sub { margin-top: 6px; color: #a9c9ff; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.footer__brand-desc { max-width: 320px; margin-top: 22px; font-size: .9rem; line-height: 1.75; }
.footer__social { display: flex; gap: 10px; margin-top: 26px; }
.footer__social a { display: grid; place-items: center; width: 34px; height: 34px; color: rgba(255,255,255,.65); border: 1px solid rgba(255,255,255,.16); border-radius: 50%; transition: color 160ms var(--ease-out), border-color 160ms var(--ease-out), transform 160ms var(--ease-out); }
.footer__social svg { width: 15px; height: 15px; fill: currentColor; }
.footer__col-title { margin-bottom: 19px; color: var(--white); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.footer__links { display: grid; gap: 11px; font-size: .9rem; }
.footer__links a { transition: color 160ms var(--ease-out); }
.footer__bottom { display: flex; justify-content: space-between; gap: 18px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.1); font-size: .75rem; }
.footer__wef { display: flex; align-items: center; gap: 8px; }
.footer__wef-dot { width: 8px; height: 8px; border-radius: 50%; background: #8fb7ff; }

/* Secondary page shell */
.blank-page { position: relative; min-height: 100svh; display: grid; place-content: center; padding: calc(var(--nav-h) + 72px) 32px 96px; text-align: center; background: var(--paper); overflow: hidden; }
.blank-page::before { content: ''; position: absolute; top: 20%; left: 50%; width: 120px; height: 2px; background: var(--blue); transform: translateX(-50%); pointer-events: none; }
.blank-page__label { position: relative; color: var(--blue); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.blank-page__title { position: relative; margin-top: 16px; color: var(--ink); font: var(--display-weight) clamp(4rem, 11vw, 8rem)/.94 var(--display); letter-spacing: var(--display-tracking); }
.blank-page__sub { position: relative; max-width: 440px; margin: 22px auto 0; color: var(--ink-soft); font-size: 1rem; line-height: 1.75; }
.blank-page__cta { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 12px; justify-self: center; margin-top: 28px; padding: 13px 19px; color: var(--white); background: var(--blue); border: 1px solid var(--blue); border-radius: 3px; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; transition: background 160ms var(--ease-out), transform 160ms var(--ease-out); }
.blank-page__cta:hover { background: var(--blue-deep); transform: translateY(-1px); }

/* Projects */
.projects-page { background: var(--white); }
.projects-hero { padding: 150px 0 96px; background: var(--paper); }
.projects-hero__grid { display: grid; grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr); gap: clamp(56px, 9vw, 130px); align-items: end; }
.projects-hero__copy h1 { max-width: 660px; margin-top: 18px; color: var(--ink); font: var(--display-weight) clamp(4rem, 7.5vw, 7.4rem)/.91 var(--display); letter-spacing: var(--display-tracking); }
.projects-hero__copy p { max-width: 520px; margin-top: 32px; color: var(--ink-soft); font-size: 1.05rem; font-weight: 500; line-height: 1.75; }
.projects-hero__image-wrap img { width: 100%; aspect-ratio: 1.2 / 1; object-fit: cover; }
.projects-hero__caption { display: flex; justify-content: space-between; gap: 18px; margin-top: 12px; padding-top: 11px; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.project-framework__head, .project-archive__head { display: flex; justify-content: space-between; gap: 48px; align-items: end; margin-bottom: 54px; }
.project-framework__head > p { max-width: 440px; color: var(--ink-soft); font-size: .95rem; font-weight: 500; line-height: 1.75; }
.project-framework__grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.project-framework__grid article { min-height: 290px; padding: 30px; }
.project-framework__grid article + article { border-left: 1px solid var(--line); }
.project-framework__grid span { color: var(--blue); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.project-framework__grid h3 { margin-top: 72px; color: var(--ink); font: 700 1.55rem/1.1 var(--display); letter-spacing: -.02em; }
.project-framework__grid p { max-width: 300px; margin-top: 16px; color: var(--ink-soft); font-size: .9rem; font-weight: 500; line-height: 1.7; }
.project-archive { background: var(--paper); }
.project-archive__status { padding: 8px 11px; color: var(--blue-deep); background: var(--accent); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.project-empty { display: grid; grid-template-columns: 1.3fr .7fr; min-height: 480px; background: var(--ink); }
.project-empty > img { width: 100%; height: 100%; min-height: 480px; object-fit: cover; opacity: .88; }
.project-empty__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(34px, 5vw, 72px); color: var(--white); }
.project-empty__copy .section__label { color: #a9c9ff; }
.project-empty__copy h3 { margin-top: 18px; font: 700 clamp(2rem, 3vw, 3.2rem)/1.04 var(--display); letter-spacing: var(--display-tracking); }
.project-empty__copy p { margin-top: 22px; color: rgba(255,255,255,.72); font-size: .95rem; font-weight: 500; line-height: 1.75; }
.project-empty__copy .impact__link { margin-top: 30px; color: var(--white); }

/* Members roster */
.members-page { min-height: 100svh; background: var(--white); }
.members-layout { width: min(100% - 64px, 1518px); margin: 0 auto; }
.members-page__header { padding-top: 34px; padding-bottom: 48px; text-align: center; }
.members-page__header p { color: var(--ink); font-size: 1rem; font-weight: 500; }
.members-page__header a { color: var(--blue); }
.members-page__title { margin-bottom: 46px; color: var(--ink); font: var(--display-weight) clamp(3.5rem, 6vw, 6rem)/.96 var(--display); letter-spacing: var(--display-tracking); }
.members-section { padding: 0 0 76px; }
.members-section + .members-section { padding-top: 4px; }
.members-section-head { margin-bottom: 38px; }
.members-section-title { color: var(--ink); font: var(--display-weight) clamp(1.55rem, 2.1vw, 2.25rem)/1 var(--display); letter-spacing: var(--display-tracking); text-transform: uppercase; }
.leadership__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: 42px; row-gap: 64px; }
.members-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: 42px; row-gap: 64px; }
.member-card { min-width: 0; }
.member-card__photo { aspect-ratio: 1 / 1; display: grid; place-items: center; overflow: hidden; color: rgba(16,25,75,.48); background: #dfe7ef; border: 1px solid rgba(16,25,75,.1); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.member-card--leader .member-card__photo { background: #d6e1ed; }
.member-card__meta { display: grid; gap: 9px; margin-top: 20px; }
.member-card__name { min-width: 0; color: var(--ink); font-size: .95rem; font-weight: 700; line-height: 1.25; }
.member-card__role { max-width: none; color: var(--ink); font-size: .78rem; font-weight: 600; line-height: 1.35; text-align: left; }
.member-card__role--above { display: block; max-width: none; margin-bottom: 12px; color: var(--ink); font-size: .78rem; font-weight: 700; text-align: left; text-transform: uppercase; letter-spacing: .06em; }
.alumni-section { padding-top: 18px; padding-bottom: 140px; }

a:focus-visible, button:focus-visible { outline: 3px solid rgba(0, 101, 242, .35); outline-offset: 4px; }

@media (hover: hover) and (pointer: fine) {
  .nav__link:hover { color: var(--ink); }
  .nav__link:hover::after { transform: scaleX(1); transform-origin: left; }
  .nav__social a:hover { color: var(--white); background: var(--ink); transform: translateY(-1px); }
  .hero__cta:hover, .community__cta:hover { background: var(--blue-deep); transform: translateY(-1px); }
  .quote-block__cta:hover { color: var(--white); background: var(--blue); transform: translateY(-1px); }
  .impact__card:hover { background: var(--accent); }
  .impact__link:hover { gap: 13px; color: var(--blue); }
  .photos__item:hover .photos__placeholder { transform: scale(1.025); }
  .photos__item:hover img { transform: scale(1.025); }
  .footer__social a:hover { color: #a9c9ff; border-color: #a9c9ff; transform: translateY(-1px); }
  .footer__links a:hover { color: var(--white); }
}

@media (max-width: 860px) {
  .nav__links, .nav__social { display: none; }
  .nav__hamburger { display: block; color: var(--ink); }
  .nav--transparent .nav__hamburger { color: var(--ink); }
  .nav__drawer { position: absolute; top: 68px; right: 18px; left: 18px; display: flex; visibility: hidden; flex-direction: column; gap: 4px; padding: 12px; opacity: 0; background: var(--paper); border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 12px 30px rgba(16,25,75,.12); transform: translateY(-8px) scale(.98); transform-origin: top right; transition: opacity 200ms var(--ease-out), transform 200ms var(--ease-drawer), visibility 200ms; }
  .nav__drawer.open { visibility: visible; opacity: 1; transform: translateY(0) scale(1); }
  .nav__drawer .nav__link { padding: 13px 15px; border-radius: 10px; }
  .nav__drawer .nav__link:focus-visible { background: rgba(22,119,255,.08); }
  .description__grid, .vision__grid, .community__grid { grid-template-columns: 1fr; gap: 56px; }
  .projects-hero__grid, .project-empty { grid-template-columns: 1fr; }
  .projects-hero__copy { max-width: 720px; }
  .project-empty > img { min-height: 380px; }
  .vision__img-wrap { order: -1; }
  .impact__grid { grid-template-columns: 1fr 1fr; }
  .footer__grid { grid-template-columns: 1.4fr 1fr; }
  .footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  :root { --nav-h: 68px; }
  .container { padding: 0 20px; }
  .nav__inner { padding: 0 20px; }
  .hero { min-height: 720px; align-items: start; }
  .hero__bg { top: 48%; left: 0; opacity: .28; clip-path: none; }
  .hero__content { padding: 142px 20px 180px; }
  .hero__title { max-width: 560px; font-size: clamp(3.7rem, 17vw, 6rem); }
  .hero__tagline { margin: 22px 0 28px; font-size: .9rem; }
  .section, .description { padding: 82px 0; }
  .quote-block { padding: 84px 20px 76px; }
  .quote-block__text { font-size: 2.35rem; }
  .description__img-placeholder, .vision__img-placeholder, .community__img-placeholder { min-height: 340px; border-radius: 3px; }
  .description__image, .vision__image { height: 340px; }
  .description__image, .vision__image { min-height: 360px; }
  .description__visual::before,   .community__image { height: 340px; }
  .description__img-card { right: 12px; bottom: 15px; }
  .description__stat { grid-template-columns: 1fr; }
  .description__stat-item, .description__stat-item + .description__stat-item { padding: 16px 0; border-left: 0; }
  .description__stat-item + .description__stat-item { border-top: 1px solid var(--line); }
  .impact__grid { grid-template-columns: 1fr; }
  .impact__card { min-height: 300px; }
  .photos__grid { columns: 2 150px; }
  .footer__grid { grid-template-columns: 1fr; gap: 40px; }
  .footer__brand { grid-column: auto; }
  .footer__bottom { flex-direction: column; }
  .blank-page { padding-right: 20px; padding-left: 20px; }
  .blank-page::before { width: 120px; }
  .members-layout { width: min(100% - 40px, 1518px); }
  .members-page__header { padding-top: 26px; padding-bottom: 34px; }
  .members-page__title { margin-bottom: 34px; }
  .members-section-head { margin-bottom: 40px; }
  .leadership__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14px; row-gap: 44px; }
  .members-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14px; row-gap: 44px; }
  .projects-hero { padding: 120px 0 72px; }
  .projects-hero__copy h1 { font-size: clamp(3.5rem, 15vw, 5.5rem); }
  .project-framework__head, .project-archive__head { display: grid; gap: 24px; align-items: start; }
  .project-framework__grid { grid-template-columns: 1fr; }
  .project-framework__grid article { min-height: 230px; }
  .project-framework__grid article + article { border-top: 1px solid var(--line); border-left: 0; }
  .project-framework__grid h3 { margin-top: 46px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; }
  .hero__cta, .community__cta, .impact__card, .photos__placeholder, .nav__social a { transform: none !important; transition: color 120ms ease, background 120ms ease, box-shadow 120ms ease, opacity 120ms ease !important; }
}
@media (prefers-reduced-transparency: reduce) {
  .nav--solid, .nav--always-solid, .nav__drawer, .description__img-card { background: var(--white); backdrop-filter: none; }
}

/* Interaction polish; the original visual design is preserved. */
.nav { transition: background 180ms ease, box-shadow 180ms ease; }
.nav__hamburger { min-width: 44px; min-height: 44px; }
.nav__hamburger span { margin-left: auto; margin-right: auto; }
.nav__hamburger[aria-expanded="true"] span:first-child { transform: translateY(7px) rotate(45deg); }
.nav__hamburger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav__hamburger[aria-expanded="true"] span:last-child { transform: translateY(-7px) rotate(-45deg); }
.quote-block__cta:active, .nav__social a:active, .footer__social a:active { transform: scale(.97); }
.impact__link { transition: color 160ms ease, transform 160ms var(--ease-out); }
.impact__link svg { transition: transform 160ms var(--ease-out); }
@media (hover: hover) and (pointer: fine) {
  .impact__link:hover { gap: 8px; }
  .impact__link:hover svg { transform: translateX(4px); }
}
.keyboard-navigation, .keyboard-navigation *, .keyboard-navigation *::before, .keyboard-navigation *::after {
  scroll-behavior: auto !important;
  transition: none !important;
  animation: none !important;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .nav__drawer, .photos__item img, .impact__link, .impact__link svg, .quote-block__cta, .footer__social a { transform: none !important; }
}

/* Member roster photos */
.member-card__img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; display: block; }
.member-card__photo--initials { color: rgba(16,25,75,.62); font-size: clamp(1.4rem, 2.4vw, 2.2rem); font-weight: 700; letter-spacing: .06em; }
.members-status { margin-top: 24px; color: var(--ink); font-size: .95rem; }
.members-status[hidden], .alumni-section[hidden] { display: none; }
.site-footer { padding: 28px 20px 40px; text-align: center; color: var(--ink); font-size: .85rem; border-top: 1px solid rgba(16,25,75,.1); }

.showcase { background: var(--paper); padding-top: 24px; }
.showcase__item { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(36px, 7vw, 104px); align-items: center; padding: clamp(44px, 6vw, 80px) 0; border-top: 1px solid var(--line); }
.showcase__item:first-child { border-top: 0; }
.showcase__item:nth-child(even) .showcase__media { order: 2; }
.showcase__media { overflow: hidden; background: var(--white); }
.showcase__media img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.showcase__media--contain img { object-fit: contain; padding: 14% 22%; background: var(--white); }
.showcase__media--contain-dark { background: #000; }
.showcase__media--contain-dark img { object-fit: contain; padding: 4%; background: #000; }
.showcase__copy h2 { margin-top: 14px; color: var(--ink); font: 700 clamp(2rem, 3.6vw, 3rem)/1.05 var(--display); letter-spacing: -.02em; }
.showcase__sub { margin-top: 10px; color: var(--blue); font-size: .95rem; font-weight: 700; }
.showcase__tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.showcase__tags li { padding: 6px 10px; color: var(--blue-deep); background: var(--accent); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.showcase__copy > p:not(.showcase__sub) { max-width: 520px; margin-top: 20px; color: var(--ink-soft); font-size: 1rem; font-weight: 500; line-height: 1.75; }
.showcase__links { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 22px; }
.showcase__link { color: var(--blue); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.showcase__link:hover { color: var(--blue-deep); text-decoration: underline; }
@media (max-width: 820px) {
  .showcase__item { grid-template-columns: 1fr; gap: 24px; }
  .showcase__item:nth-child(even) .showcase__media { order: 0; }
}

/* Design pass: tighter rhythm, fewer template cues */
.section__rule { display: none; }
.description { padding-bottom: 64px; }
.vision { padding-top: 64px; }
.vision > .container { padding-top: 64px; border-top: 1px solid var(--line); }
.projects-hero { padding-bottom: 56px; }
@media (max-width: 820px) { .description { padding-bottom: 40px; } .vision { padding-top: 40px; } .vision > .container { padding-top: 40px; } }

/* Leadership row: the regional champion sits at the far right, text aligned to the right edge */
.leadership__grid .member-card:nth-child(4) { grid-column: 6; }
.leadership__grid .member-card:nth-child(4) .member-card__name,
.leadership__grid .member-card:nth-child(4) .member-card__role { text-align: right; }
@media (max-width: 620px) {
  .leadership__grid .member-card:nth-child(4) { grid-column: auto; }
  .leadership__grid .member-card:nth-child(4) .member-card__name,
  .leadership__grid .member-card:nth-child(4) .member-card__role { text-align: left; }
}
