/* The Bridge Institute — v9.9.1 post-live hotfix + CSS consolidation */
.btn:disabled{
  opacity:.58;
  cursor:wait;
  transform:none;
}

.official-hero h1{
  color:#1f2933;
  max-width:650px;
}

.official-hero-photo figcaption span{
  font-size:.82rem;
  color:var(--ink-soft);
}

.on-dark-heading{
  color:#fff;
}

.official-program-card p:not(.program-label){
  font-size:.95rem;
  color:var(--ink-soft);
}

.featured p:not(.program-label){
  color:rgba(255,255,255,.76);
}

.home-experience-grid,
.home-partnership-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3.7rem;
  align-items:center;
}

.home-experience-photo,
.home-partnership-photo{
  margin:0;
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--white);
  border:1px solid var(--line);
}

.home-experience-photo img,
.home-partnership-photo img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}

.home-experience-photo figcaption,
.home-partnership-photo figcaption{
  padding:.9rem 1rem;
  font-size:.82rem;
  line-height:1.45;
  color:var(--ink-soft);
}

.official-steps>li>span{
  font-size:.76rem;
  font-weight:760;
  color:var(--terracotta);
}

.official-cta,
.cta-band{
  padding:72px 0;
  background:var(--navy);
  color:#fff;
}

.official-cta h2,
.cta-band h2{
  margin-top:.7rem;
  max-width:830px;
}

.principle-card.dark,
.scope-card.dark{
  background:rgba(255,255,255,.06);
  color:#fff;
  border-color:var(--line-dark);
}

.principle-card.dark p,
.scope-card.dark p{
  color:rgba(255,255,255,.72);
}

.scope-card>span{
  display:block;
  font-size:.72rem;
  font-weight:760;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--terracotta);
  margin-bottom:.5rem;
}

.on-dark .scope-card>span{
  color:var(--ochre-soft);
}

.resource-card p{
  font-size:.88rem;
}

.newsletter-band{
  padding:72px 0;
  background:#e9e3d7;
  border-block:1px solid var(--line);
}

.newsletter-band.compact{
  padding:58px 0;
  background:var(--paper-deep);
}

.newsletter-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:4rem;
  align-items:center;
}

.newsletter-grid h2{
  margin-top:.7rem;
}

.newsletter-grid>div>p{
  color:var(--ink-soft);
  max-width:520px;
}

.signup-form{
  position:relative;
}

.signup-fields{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:.8rem;
}

.optional{
  font-weight:520;
  color:var(--ink-soft);
}

.field input,
.field textarea{
  width:100%;
  border:1px solid rgba(37,48,58,.25);
  border-radius:9px;
  background:var(--white);
  padding:.78rem .85rem;
  color:var(--ink);
  outline:none;
}

.field input:focus,
.field textarea:focus{
  border-color:var(--terracotta);
  box-shadow:0 0 0 3px rgba(168,96,77,.12);
}

.signup-button{
  margin-top:.8rem;
  min-width:130px;
}

.form-note{
  font-size:.74rem;
  color:var(--ink-soft);
  line-height:1.45;
  margin-top:.65rem;
}

.form-status{
  min-height:1.35rem;
  font-size:.82rem;
  font-weight:700;
  margin-top:.55rem;
}

.form-status.success{
  color:#375f4d;
}

.form-status.error{
  color:#973e32;
}

.portrait-focus img{
  object-position:center 34%;
}

.program-hero-collage{
  margin:0;
  display:grid;
  grid-template-columns:1.45fr .75fr;
  grid-template-rows:minmax(0,1fr) auto;
  gap:.55rem;
  padding:.55rem;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--white);
  overflow:hidden;
  box-shadow:var(--shadow);
}

.program-collage-main{
  min-width:0;
  min-height:410px;
  overflow:hidden;
  border-radius:9px;
}

.program-collage-main img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.program-collage-side{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:1fr 1fr;
  gap:.55rem;
  min-height:410px;
}

.program-collage-side img{
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  border-radius:9px;
}

.program-collage-side img:first-child{
  object-position:center 45%;
}

.program-collage-side img:last-child{
  object-position:center 32%;
}

.program-hero-collage figcaption{
  grid-column:1/-1;
  padding:.62rem .5rem .3rem;
  font-size:.8rem;
  line-height:1.45;
  color:var(--ink-soft);
}

.archive-thumb{
  background:var(--paper-deep);
}

.archive-thumb.video-thumb:hover img{
  transform:none;
}

.archive-thumb img[src*="odupa"]{
  object-position:center 28%;
}

.archive-thumb img[src*="jakarta"]{
  object-position:center 30%;
}

.archive-thumb img[src*="wayan"]{
  object-position:center 34%;
}

.archive-thumb img[src*="colombia"]{
  object-position:center 45%;
}

.research-origin-layout{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:1.2rem;
  align-items:stretch;
}

.research-source-photo{
  margin:0;
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--white);
}

.research-source-photo img{
  width:100%;
  height:420px;
  object-fit:cover;
  object-position:center;
}

.research-source-photo figcaption{
  padding:.82rem .95rem;
  font-size:.78rem;
  line-height:1.45;
  color:var(--ink-soft);
  border-top:1px solid var(--line);
}

.research-origin-layout .research-map{
  grid-template-columns:1fr;
  align-content:stretch;
}

.research-origin-layout .research-node{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

:focus-visible{
  outline:3px solid rgba(184,134,50,.6);
  outline-offset:3px;
}

@media (max-width:980px){
  .research-origin-layout{
    grid-template-columns:1fr 1.15fr;
  }

  .program-collage-main,
  .program-collage-side{
    min-height:360px;
  }

  .nav-cta{
    margin-top:.45rem;
  }

  .official-hero-grid,
  .home-mission-grid,
  .home-experience-grid,
  .home-partnership-grid,
  .newsletter-grid,
  .support-grid,
  .photo-feature,
  .history-layout,
  .display-line{
    grid-template-columns:1fr;
    gap:2.2rem;
  }

  .official-program-grid,
  .video-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .official-hero-photo{
    max-width:720px;
  }

  .resource-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:680px){
  .research-origin-layout{
    grid-template-columns:1fr;
  }

  .research-source-photo img{
    height:360px;
  }

  .program-hero-collage{
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto;
  }

  .program-collage-main{
    min-height:290px;
  }

  .program-collage-side{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:180px;
    min-height:0;
  }

  .program-hero-collage figcaption{
    grid-column:1;
  }

  body{
    font-size:16px;
  }

  .container{
    width:min(calc(100% - 28px),var(--max));
  }

  .section{
    padding:64px 0;
  }

  .page-hero{
    padding:126px 0 62px;
  }

  .official-hero{
    padding:112px 0 58px;
  }

  .home-mission{
    padding:56px 0;
  }

  .official-program-grid,
  .video-grid,
  .three-col,
  .two-col,
  .trust-grid,
  .research-map,
  .collection-overview{
    grid-template-columns:1fr;
  }

  .official-evidence-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .program-story-grid{
    grid-template-columns:1fr;
  }

  .partner-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .signup-fields{
    grid-template-columns:1fr;
  }

  .step{
    grid-template-columns:36px 1fr;
  }

  .step h3{
    grid-column:2;
  }

  .step p{
    grid-column:2;
  }

  .resource-card{
    grid-template-columns:1fr;
  }

  .footer-grid{
    grid-template-columns:1fr 1fr;
  }

  .footer-grid>div:first-child,
  .footer-grid>div:last-child{
    grid-column:1/-1;
  }

  .footer-bottom{
    display:grid;
  }
}

@media (prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto;
  }

  .btn,
  .video-thumb img{
    transition:none;
  }
}

:root{
  --ink:#22303a;
  --ink-soft:#54616a;
  --navy:#21313b;
  --paper:#f7f4ed;
  --paper-deep:#eee9df;
  --white:#fffdf9;
  --ochre:#b98735;
  --ochre-soft:#e7d2aa;
  --terracotta:#96533f;
  --line:rgba(34,48,58,.16);
  --line-dark:rgba(255,255,255,.17);
  --shadow:0 16px 38px rgba(27,41,51,.08);
  --radius:6px;
  --serif:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;
  --sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;
  --max:1120px;
  --read:700px;
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.65;
  overflow-x:hidden;
}

a{
  color:inherit;
  text-decoration:none;
}

img{
  display:block;
  max-width:100%;
}

button,
input,
textarea,
select{
  font:inherit;
}

button{
  color:inherit;
}

::selection{
  background:var(--ochre-soft);
  color:var(--ink);
}

.skip-link{
  position:fixed;
  left:12px;
  top:12px;
  z-index:3000;
  padding:.65rem .9rem;
  background:var(--ochre);
  color:#fff;
  transform:translateY(-160%);
  transition:.2s;
}

.skip-link:focus{
  transform:none;
}

.container{
  width:min(calc(100% - 40px),var(--max));
  margin-inline:auto;
}

.narrow{
  width:min(calc(100% - 40px),var(--read));
  margin-inline:auto;
}

h1,
h2,
h3{
  font-family:var(--sans);
  font-weight:700;
  letter-spacing:-.025em;
  color:inherit;
  margin:0;
}

h1{
  font-size:clamp(2.65rem,5vw,4.15rem);
  line-height:1.08;
}

h2{
  font-size:clamp(2rem,3.6vw,3rem);
  line-height:1.14;
}

h3{
  font-size:clamp(1.35rem,2.2vw,1.8rem);
  line-height:1.24;
}

p{
  margin:.75rem 0 0;
}

.lede{
  font-size:clamp(1.08rem,1.55vw,1.3rem);
  line-height:1.55;
  max-width:660px;
}

.muted{
  color:var(--ink-soft);
}

.on-dark .muted{
  color:rgba(255,255,255,.72);
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--terracotta);
}

.eyebrow::before{
  content:"";
  width:22px;
  height:1px;
  background:currentColor;
}

.text-link{
  display:inline-flex;
  margin-top:1.35rem;
  font-weight:700;
  color:var(--terracotta);
  border-bottom:1px solid transparent;
}

.text-link:hover{
  border-color:currentColor;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  min-height:44px;
  padding:.7rem 1.05rem;
  border:1px solid transparent;
  border-radius:9px;
  font-size:.9rem;
  font-weight:700;
  cursor:pointer;
  transition:background .2s,color .2s,border-color .2s,transform .2s;
}

.btn:hover{
  transform:translateY(-1px);
}

.btn-primary{
  background:var(--ochre);
  color:#fff;
}

.btn-primary:hover{
  background:#9f7229;
}

.btn-dark{
  background:var(--navy);
  color:#fff;
}

.btn-dark:hover{
  background:#1c282f;
}

.btn-outline{
  background:transparent;
  border-color:currentColor;
  color:inherit;
}

.btn-outline:hover{
  background:rgba(37,48,58,.05);
}

.on-dark .btn-outline:hover,
.cta-band .btn-outline:hover{
  background:rgba(255,255,255,.08);
}

.button-row{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  margin-top:1.6rem;
}

.site-header{
  position:fixed;
  inset:0 0 auto;
  z-index:1000;
  background:rgba(247,244,236,.94);
  border-bottom:1px solid var(--line);
  transition:.2s;
}

.site-header.scrolled{
  box-shadow:0 8px 25px rgba(37,48,58,.06);
}

.nav-shell{
  min-height:74px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
}

.brand{
  display:flex;
  align-items:center;
  gap:.7rem;
  font-weight:700;
  letter-spacing:-.01em;
}

.brand img{
  width:38px;
  height:38px;
}

.brand span{
  line-height:1.15;
}

.brand small{
  display:block;
  margin-top:.2rem;
  font-size:.62rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--ink-soft);
}

.nav-links{
  display:flex;
  align-items:center;
  gap:1.3rem;
  font-size:.88rem;
  font-weight:700;
}

.nav-links a:not(.btn){
  padding:.25rem 0;
  border-bottom:1px solid transparent;
}

.nav-links a:not(.btn):hover,
.nav-links a[aria-current="page"]{
  border-color:var(--terracotta);
}

.menu-toggle{
  display:none;
  border:0;
  background:transparent;
  padding:.5rem;
}

.menu-toggle span{
  display:block;
  width:24px;
  height:1.5px;
  background:currentColor;
  margin:5px 0;
  transition:transform .2s ease,opacity .2s ease;
}

.menu-toggle[aria-expanded="true"] span:nth-child(1){
  transform:translateY(6.5px) rotate(45deg);
}

.menu-toggle[aria-expanded="true"] span:nth-child(2){
  opacity:0;
}

.menu-toggle[aria-expanded="true"] span:nth-child(3){
  transform:translateY(-6.5px) rotate(-45deg);
}

.hero{
  padding:128px 0 72px;
  background:var(--white);
  color:var(--ink);
  border-bottom:1px solid var(--line);
}

.hero .eyebrow{
  margin-bottom:1.15rem;
}

.hero h1{
  max-width:620px;
  color:#1f2933;
}

.page-hero{
  padding:148px 0 76px;
  background:var(--paper-deep);
  border-bottom:1px solid var(--line);
}

.page-hero .container{
  max-width:920px;
  margin-left:max(20px,calc((100vw - var(--max))/2));
}

.page-hero h1{
  max-width:860px;
  margin-top:.9rem;
}

.page-hero .lede{
  margin-top:1.25rem;
  color:var(--ink-soft);
}

.breadcrumb{
  font-size:.78rem;
  color:var(--ink-soft);
  margin-bottom:1rem;
}

.breadcrumb a{
  font-weight:700;
}

.section{
  padding:84px 0;
}

.section-cream{
  background:var(--paper-deep);
}

.section-dark{
  background:var(--navy);
  color:#fff;
}

.section-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,460px);
  gap:3rem;
  align-items:end;
  margin-bottom:2.8rem;
}

.section-head h2{
  margin-top:.7rem;
}

.section-head>p{
  margin:0;
  color:var(--ink-soft);
}

.display-line{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4rem;
  align-items:start;
}

.photo-feature{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:3.5rem;
  align-items:center;
}

.photo-card{
  margin:0;
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--white);
  border:1px solid var(--line);
}

.photo-card img{
  aspect-ratio:4/3;
  width:100%;
  height:auto;
  object-fit:cover;
}

.photo-card figcaption{
  padding:.85rem 1rem;
  font-size:.82rem;
  line-height:1.45;
  color:var(--ink-soft);
  border-top:1px solid var(--line);
}

.photo-card.hero-shot img,
.photo-feature .photo-card img{
  aspect-ratio:4/3;
  object-fit:cover;
}

.photo-text h2{
  margin-top:.7rem;
}

.photo-text .lede{
  margin-top:1.1rem;
}

.three-col{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}

.two-col{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem;
}

.principle-card,
.scope-card{
  padding:1.6rem;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(255,255,255,.55);
}

.principle-card.gold{
  background:var(--ochre-soft);
}

.principle-card.dark{
  background:var(--navy);
  color:#fff;
  border-color:transparent;
}

.principle-card h3,
.scope-card h3{
  font-size:1.55rem;
}

.principle-card p,
.scope-card p{
  color:var(--ink-soft);
}

.principle-card.dark p{
  color:rgba(255,255,255,.72);
}

.history-layout{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:3.5rem;
  align-items:center;
}

.history-copy h2{
  margin-top:.7rem;
}

.timeline{
  max-width:850px;
  border-left:1px solid var(--line);
  padding-left:2rem;
}

.timeline-item{
  position:relative;
  padding:0 0 2.5rem;
}

.timeline-item:last-child{
  padding-bottom:0;
}

.timeline-item::before{
  content:"";
  position:absolute;
  left:calc(-2rem - 5px);
  top:.45rem;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--terracotta);
}

.timeline-item .year{
  display:block;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--terracotta);
  margin-bottom:.45rem;
}

.timeline-item h3{
  font-size:1.7rem;
}

.partner-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}

.partner{
  font-weight:720;
  display:grid;
  place-items:center;
  text-align:center;
  min-height:135px;
  padding:1rem;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  font-family:var(--serif);
  font-size:1.1rem;
  background:rgba(255,255,255,.35);
}

.partner small{
  font-weight:550;
  display:block;
  margin-top:.25rem;
  font-family:var(--sans);
  font-size:.72rem;
  color:var(--ink-soft);
}

.region-head,
.theme-intro{
  max-width:760px;
  margin-bottom:2rem;
}

.region-head h2{
  margin-top:.65rem;
}

.truth-note{
  margin-top:1.5rem;
  padding:1.1rem 1.2rem;
  border-left:3px solid var(--ochre);
  background:rgba(255,255,255,.5);
}

.truth-note strong{
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.truth-note p{
  font-size:.92rem;
  color:var(--ink-soft);
}

.video-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.15rem;
}

.video-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--white);
}

.video-thumb{
  display:block;
  width:100%;
  padding:0;
  border:0;
  background:#ddd;
  cursor:pointer;
  position:relative;
  overflow:hidden;
}

.video-thumb img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  transition:transform .25s;
}

.video-thumb:hover img{
  transform:scale(1.02);
}

.play{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  background:rgba(25,33,40,.08);
}

.play span{
  font-size:.85rem;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:50%;
  background:rgba(255,253,249,.94);
  color:var(--navy);
  box-shadow:0 8px 20px rgba(0,0,0,.15);
}

.video-copy{
  padding:1.1rem 1.15rem 1.25rem;
}

.video-copy .topic{
  display:block;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--terracotta);
}

.video-copy h3{
  font-family:var(--sans);
  font-size:1.12rem;
  font-weight:700;
  letter-spacing:-.01em;
  margin-top:.4rem;
}

.video-copy p{
  font-size:.9rem;
  color:var(--ink-soft);
  line-height:1.5;
}

.program-story-grid{
  grid-template-columns:repeat(3,1fr);
}

.research-facts{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  margin-top:2rem;
}

.research-facts>div{
  padding:1.2rem;
  background:var(--white);
}

.research-facts span{
  display:block;
  font-size:.7rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--terracotta);
}

.research-facts strong{
  display:block;
  margin-top:.35rem;
  font-size:.98rem;
}

.research-map{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem;
}

.research-node{
  padding:1.5rem;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--white);
}

.research-node>span{
  display:block;
  font-size:.73rem;
  color:var(--terracotta);
  font-weight:700;
}

.research-node h3{
  font-size:1.5rem;
  margin-top:.5rem;
}

.research-node p{
  color:var(--ink-soft);
}

.trust-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}

.scope-card{
  background:var(--white);
}

.collection-overview{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem;
}

.collection-tab{
  padding:1.2rem;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--white);
}

.collection-tab strong{
  display:block;
  font-size:.75rem;
  color:var(--terracotta);
}

.collection-tab h3{
  font-family:var(--sans);
  font-size:1.05rem;
  font-weight:700;
  margin-top:.4rem;
}

.collection-tab p{
  font-size:.86rem;
  color:var(--ink-soft);
}

.resource-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem;
}

.resource-card{
  display:grid;
  grid-template-columns:1fr auto;
  gap:1.2rem;
  align-items:center;
  padding:1.3rem 1.4rem;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--white);
}

.resource-card .language{
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--terracotta);
}

.resource-card h3{
  font-family:var(--sans);
  font-size:1.08rem;
  font-weight:700;
  letter-spacing:-.01em;
  margin-top:.35rem;
}

.step{
  display:grid;
  grid-template-columns:48px minmax(0,230px) 1fr;
  gap:1.5rem;
  align-items:start;
  padding:1.35rem 0;
  border-top:1px solid var(--line);
  counter-increment:step;
}

.step:last-child{
  border-bottom:1px solid var(--line);
}

.step::before{
  content:counter(step,decimal-leading-zero);
  font-size:.78rem;
  font-weight:700;
  color:var(--terracotta);
  padding-top:.3rem;
}

.step h3{
  font-family:var(--sans);
  font-size:1.15rem;
  font-weight:700;
  letter-spacing:-.01em;
}

.step p{
  margin:0;
  color:var(--ink-soft);
}

.section:has(.step){
  counter-reset:step;
}

.download-card{
  display:grid;
  grid-template-columns:1fr auto;
  gap:2rem;
  align-items:center;
  padding:1.8rem;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--white);
}

.download-card .file-meta{
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--terracotta);
}

.download-card h3{
  font-size:1.7rem;
  margin-top:.45rem;
}

.recognition-gallery{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:1rem;
  margin-bottom:3rem;
}

.recognition-gallery .stack{
  display:grid;
  gap:1rem;
}

.recognition-gallery .photo-card img{
  aspect-ratio:4/3;
}

.recognition-gallery .plaque img{
  aspect-ratio:4/5;
}

.support-grid{
  align-items:start;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:1rem;
}

.form-card,
.contact-card{
  padding:1.8rem;
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:var(--white);
}

.contact-card{
  background:var(--navy);
  color:#fff;
  border-color:transparent;
}

.contact-card p{
  color:rgba(255,255,255,.72);
}

.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
}

.field{
  display:grid;
  gap:.36rem;
  margin-bottom:1rem;
}

.field label{
  display:block;
  margin-bottom:.35rem;
  font-size:.75rem;
  font-weight:700;
  color:var(--ink-soft);
}

.field input,
.field textarea,
.field select{
  width:100%;
  padding:.8rem .9rem;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--paper);
  color:var(--ink);
  outline:none;
}

.field textarea{
  min-height:125px;
  resize:vertical;
}

.field input:focus,
.field textarea:focus,
.field select:focus{
  border-color:var(--terracotta);
  box-shadow:0 0 0 3px rgba(168,96,77,.1);
}

.contact-detail{
  padding:1rem 0;
  border-bottom:1px solid var(--line-dark);
}

.contact-detail span{
  display:block;
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--ochre-soft);
}

.donation-card{
  display:grid;
  grid-template-columns:1fr auto;
  gap:2rem;
  align-items:center;
  padding:2rem;
  border:1px solid rgba(184,134,50,.35);
  border-radius:var(--radius);
  background:var(--ochre-soft);
}

.donation-card h2{
  font-size:clamp(2rem,4vw,3.1rem);
  margin-top:.6rem;
}

.cta-band{
  padding:76px 0;
  background:var(--navy);
  color:#fff;
}

.cta-band .container{
  max-width:900px;
}

.cta-band h2{
  max-width:820px;
  margin-top:.7rem;
}

.cta-band .eyebrow{
  color:var(--ochre-soft);
}

.footer{
  padding:58px 0 24px;
  background:#202a31;
  color:#fff;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.5fr repeat(3,1fr);
  gap:2.5rem;
}

.footer-brand p{
  max-width:330px;
  color:rgba(255,255,255,.68);
  font-size:.92rem;
}

.footer .brand small{
  color:rgba(255,255,255,.58);
}

.footer .footer-heading{
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--ochre-soft);
  margin:0 0 .75rem;
}

.footer ul{
  display:grid;
  gap:.55rem;
  list-style:none;
  padding:0;
  margin:0;
}

.footer li{
  font-size:.86rem;
  color:rgba(255,255,255,.72);
  margin:.42rem 0;
}

.footer a{
  color:rgba(255,255,255,.76);
  font-size:.9rem;
}

.footer a:hover{
  color:#fff;
}

.footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  margin-top:2.5rem;
  padding-top:1.2rem;
  border-top:1px solid var(--line-dark);
  font-size:.78rem;
  color:rgba(255,255,255,.55);
}

.modal{
  position:fixed;
  inset:0;
  z-index:2500;
  display:none;
  place-items:center;
  padding:20px;
  background:rgba(18,24,29,.92);
  backdrop-filter:blur(8px);
}

.modal.open{
  display:grid;
}

.modal-dialog{
  background:#111;
  border-radius:12px;
  overflow:hidden;
  position:relative;
  width:min(1080px,100%);
}

.modal-video{
  aspect-ratio:16/9;
  background:#000;
}

.modal-video iframe{
  width:100%;
  height:100%;
  border:0;
}

.modal-close{
  z-index:2;
  font-size:.8rem;
  font-weight:720;
  position:absolute;
  right:0;
  top:-48px;
  border:1px solid rgba(255,255,255,.5);
  border-radius:999px;
  background:transparent;
  color:#fff;
  padding:.5rem .8rem;
  cursor:pointer;
}

.reveal,
.stagger>*{
  opacity:1;
  transform:none;
}

.has-intersection-observer .reveal{
  transform:translateY(8px);
  transition:transform .45s ease;
}

.has-intersection-observer .reveal.visible{
  transform:none;
}

.has-intersection-observer .stagger>*{
  transform:translateY(6px);
  transition:transform .4s ease;
}

.has-intersection-observer .stagger.visible>*{
  transform:none;
}

@media (max-width:980px){
  .nav-links{
    position:fixed;
    inset:0 0 0 24%;
    z-index:1;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:1rem;
    padding:108px 2rem 2rem;
    background:var(--paper);
    transform:translateX(100%);
    transition:transform .28s ease;
    box-shadow:-20px 0 60px rgba(37,48,58,.12);
  }

  .nav-links.open{
    transform:none;
  }

  .nav-links a:not(.btn){
    padding:.65rem 0;
    font-size:1.15rem;
  }

  .menu-toggle{
    display:block;
    z-index:2;
  }

  .photo-feature,
  .history-layout,
  .display-line,
  .support-grid{
    grid-template-columns:1fr;
  }

  .section-head{
    grid-template-columns:1fr;
    gap:1rem;
  }

  .collection-overview{
    grid-template-columns:repeat(2,1fr);
  }

  .video-grid,
  .program-story-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .partner-grid{
    grid-template-columns:repeat(3,1fr);
  }

  .research-facts{
    grid-template-columns:repeat(2,1fr);
  }

  .trust-grid,
  .three-col{
    grid-template-columns:repeat(2,1fr);
  }

  .footer-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:640px){
  body{
    font-size:16px;
  }

  .container,
  .narrow{
    width:min(calc(100% - 28px),var(--max));
  }

  .nav-shell{
    min-height:66px;
  }

  .brand span{
    display:none;
  }

  .nav-links{
    left:8%;
  }

  .hero{
    padding:104px 0 56px;
  }

  .hero h1{
    font-size:clamp(2.7rem,13vw,3.8rem);
  }

  .page-hero{
    padding:112px 0 54px;
  }

  .page-hero .container{
    margin-inline:auto;
  }

  .section{
    padding:62px 0;
  }

  .section-head{
    margin-bottom:2rem;
  }

  .collection-overview,
  .video-grid,
  .program-story-grid,
  .three-col,
  .two-col,
  .trust-grid,
  .resource-grid{
    grid-template-columns:1fr;
  }

  .partner-grid{
    grid-template-columns:1fr 1fr;
  }

  .research-facts,
  .research-map{
    grid-template-columns:1fr;
  }

  .step{
    grid-template-columns:36px 1fr;
    gap:.8rem;
  }

  .step p{
    grid-column:2;
  }

  .download-card,
  .donation-card,
  .resource-card{
    grid-template-columns:1fr;
  }

  .form-row{
    grid-template-columns:1fr;
  }

  .form-card,
  .contact-card{
    padding:1.35rem;
  }

  .recognition-gallery{
    grid-template-columns:1fr;
  }

  .footer-grid{
    grid-template-columns:1fr;
  }

  .footer-bottom{
    display:block;
  }

  .footer-bottom span{
    display:block;
    margin-top:.4rem;
  }

  .cta-band{
    padding:62px 0;
  }

  .button-row .btn{
    width:100%;
  }
}

@media (prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.001ms!important;
  }

  .reveal,
  .stagger>*{
    transform:none!important;
  }
}

.hero>.container{
  min-height:55vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  max-width:820px;
}

.on-dark .eyebrow,
.contact-card .eyebrow,
.cta-band .eyebrow{
  color:var(--ochre-soft);
}

.home-official{
  --official-navy:#172a40;
  --official-navy-deep:#102238;
  --official-ink:#1d2b3a;
  --official-muted:#52616a;
  --official-paper:#f3eee4;
  --official-cream:#e8dfd0;
  --official-gold:#d2a33b;
  --official-line:rgba(29,43,58,.16);
  --official-sans:"Aptos","Segoe UI","Helvetica Neue",Arial,sans-serif;
  background:var(--official-paper);
  color:var(--official-ink);
  font-family:var(--official-sans);
  font-synthesis:none;
}

.home-official h1,
.home-official h2,
.home-official h3,
.home-official .brand,
.home-official .nav-links,
.home-official .btn{
  font-family:var(--official-sans)!important;
}

.home-official h1,
.home-official h2,
.home-official h3{
  font-style:normal;
  text-wrap:balance;
}

.home-official h1{
  font-size:clamp(2.8rem,5.25vw,4.85rem);
  line-height:1.01;
  letter-spacing:-.045em;
  font-weight:720;
}

.home-official h2{
  font-size:clamp(2rem,3.45vw,3.25rem);
  line-height:1.08;
  letter-spacing:-.035em;
  font-weight:700;
}

.home-official h3{
  font-size:clamp(1.35rem,2vw,1.75rem);
  line-height:1.2;
  letter-spacing:-.025em;
  font-weight:700;
}

.home-official p{
  max-width:72ch;
}

.home-official .nav-shell{
  min-height:78px;
}

.home-official .nav-links{
  gap:1.2rem;
  font-size:.86rem;
}

.home-official .nav-links a:not(.btn){
  font-weight:650;
}

.home-official .btn{
  border-radius:7px;
  min-height:46px;
  padding:.74rem 1.08rem;
  font-size:.88rem;
  letter-spacing:0;
}

.home-official .btn-primary{
  background:var(--official-gold);
}

.home-official .btn-primary:hover{
  background:#9f732e;
}

.home-official .btn-dark{
  background:var(--official-navy);
}

.home-official .eyebrow{
  font-size:.72rem;
  letter-spacing:.1em;
  color:#96533f;
}

.official-hero{
  padding:138px 0 76px;
  background:linear-gradient(180deg,#fffdf9 0%,#f8f5ee 100%);
  border-bottom:1px solid var(--official-line);
}

.official-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,.96fr) minmax(460px,1.04fr);
  gap:4rem;
  align-items:center;
}

.official-hero-copy{
  max-width:650px;
}

.institution-line{
  margin:0 0 1.35rem;
  color:#6a4a31;
  font-size:.73rem;
  font-weight:750;
  letter-spacing:.105em;
  line-height:1.5;
  text-transform:uppercase;
}

.institution-line span{
  color:#b99f7e;
  padding:0 .36rem;
}

.official-hero-copy h1{
  max-width:670px;
  color:var(--official-navy-deep);
}

.official-hero-lede{
  margin-top:1.45rem;
  max-width:620px!important;
  color:var(--official-muted);
  font-size:clamp(1.08rem,1.35vw,1.22rem);
  line-height:1.62;
}

.official-actions{
  margin-top:1.8rem;
}

.official-hero-photo{
  position:relative;
  margin:0;
  border:1px solid var(--official-line);
  border-radius:4px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 22px 58px rgba(27,41,51,.12);
}

.official-hero-photo::before{
  content:"";
  position:absolute;
  inset:18px 18px auto auto;
  width:56px;
  height:3px;
  z-index:1;
  background:var(--official-gold);
}

.official-hero-photo img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}

.official-hero-photo figcaption{
  display:grid;
  grid-template-columns:170px 1fr;
  gap:1rem;
  padding:1rem 1.2rem 1.1rem;
  border-top:1px solid var(--official-line);
  background:#fffdf9;
  color:var(--official-muted);
  font-size:.8rem;
  line-height:1.45;
}

.official-hero-photo figcaption strong{
  color:var(--official-navy);
  font-size:.79rem;
  text-transform:uppercase;
  letter-spacing:.065em;
}

.home-mission{
  padding:82px 0;
  background:#fffdf9;
  border-bottom:1px solid var(--official-line);
}

.home-mission-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:5rem;
  align-items:start;
}

.home-mission h2{
  max-width:610px;
  margin-top:.78rem;
  color:var(--official-navy-deep);
}

.home-mission-copy{
  padding-top:.1rem;
}

.home-mission-copy p{
  margin:0;
  color:var(--official-muted);
  font-size:1.08rem;
  line-height:1.72;
}

.home-mission-copy p+p{
  margin-top:1rem;
}

.home-work{
  background:var(--official-paper);
}

.official-section-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,460px);
  gap:4rem;
  align-items:end;
  margin-bottom:2.7rem;
}

.official-section-heading h2{
  max-width:700px;
  margin-top:.72rem;
  color:var(--official-navy-deep);
}

.official-section-heading>p{
  margin:0;
  color:var(--official-muted);
  font-size:1rem;
  line-height:1.65;
}

.official-program-grid{
  display:grid;
  grid-template-columns:1.08fr .96fr .96fr;
  gap:1rem;
}

.official-program-card{
  position:relative;
  min-height:360px;
  display:flex;
  flex-direction:column;
  padding:1.65rem;
  border:1px solid var(--official-line);
  border-radius:5px;
  background:#fffdf9;
  overflow:hidden;
}

.official-program-card.featured{
  background:var(--official-navy);
  color:#fff;
  border-color:var(--official-navy);
}

.official-program-card::after{
  content:"";
  position:absolute;
  right:-28px;
  bottom:-28px;
  width:95px;
  height:95px;
  border:1px solid rgba(185,135,53,.28);
  border-radius:50%;
}

.program-number{
  font-size:.72rem;
  font-weight:750;
  letter-spacing:.09em;
  color:#9c6049;
}

.featured .program-number{
  color:#e1bd7c;
}

.program-label{
  margin:.75rem 0 0!important;
  font-size:.7rem!important;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:var(--official-muted);
}

.featured .program-label{
  color:rgba(255,255,255,.62);
}

.official-program-card h3{
  margin-top:.62rem;
  color:var(--official-navy-deep);
}

.featured h3{
  color:#fff;
}

.official-program-card>p:not(.program-label){
  margin-top:1rem;
  color:var(--official-muted);
  font-size:.94rem;
  line-height:1.6;
}

.featured>p:not(.program-label){
  color:rgba(255,255,255,.7);
}

.official-program-card>a{
  position:relative;
  z-index:1;
  margin-top:auto;
  padding-top:1.5rem;
  font-size:.84rem;
  font-weight:750;
  color:#97523f;
}

.featured>a{
  color:#e4c17f;
}

.home-experience{
  background:var(--official-cream);
}

.home-experience-grid{
  display:grid;
  grid-template-columns:minmax(390px,.9fr) minmax(0,1.1fr);
  gap:4.5rem;
  align-items:center;
}

.home-experience-photo{
  margin:0;
  border:1px solid var(--official-line);
  border-radius:5px;
  overflow:hidden;
  background:#fffdf9;
}

.home-experience-photo img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center;
}

.home-experience-photo figcaption{
  padding:1rem 1.1rem;
  color:var(--official-muted);
  font-size:.8rem;
  line-height:1.5;
  border-top:1px solid var(--official-line);
}

.home-experience-copy h2{
  margin-top:.72rem;
  color:var(--official-navy-deep);
}

.home-experience-copy>.lede{
  margin-top:1.15rem;
  font-size:1.08rem;
}

.official-steps{
  list-style:none;
  margin:1.9rem 0 0;
  padding:0;
  border-top:1px solid var(--official-line);
}

.official-steps li{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:1rem;
  padding:1rem 0;
  border-bottom:1px solid var(--official-line);
}

.official-steps li>span{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border:1px solid #b88735;
  border-radius:50%;
  color:#8f5e24;
  font-size:.73rem;
  font-weight:750;
}

.official-steps strong{
  display:block;
  color:var(--official-navy);
  font-size:.95rem;
}

.official-steps p{
  margin:.12rem 0 0!important;
  color:var(--official-muted);
  font-size:.9rem;
  line-height:1.5;
}

.home-evidence{
  background:var(--official-navy);
  color:#fff;
}

.on-dark-heading h2{
  color:#fff;
}

.on-dark-heading>p{
  color:rgba(255,255,255,.68);
}

.home-evidence .eyebrow{
  color:#e3bd78;
}

.official-evidence-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(255,255,255,.16);
  border-left:1px solid rgba(255,255,255,.16);
}

.official-evidence-grid article{
  min-height:164px;
  padding:1.45rem;
  border-right:1px solid rgba(255,255,255,.16);
  border-bottom:1px solid rgba(255,255,255,.16);
}

.official-evidence-grid strong{
  display:block;
  color:#e6c17c;
  font-size:clamp(1.9rem,3vw,2.6rem);
  line-height:1;
  font-weight:720;
  letter-spacing:-.035em;
}

.official-evidence-grid span{
  display:block;
  margin-top:.75rem;
  color:rgba(255,255,255,.7);
  font-size:.86rem;
  line-height:1.5;
}

.official-evidence-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  margin-top:1.6rem;
}

.home-evidence .btn-outline{
  color:#fff;
}

.home-partnership{
  background:#fffdf9;
}

.home-partnership-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);
  gap:4.5rem;
  align-items:center;
}

.home-partnership-copy h2{
  max-width:690px;
  margin-top:.72rem;
  color:var(--official-navy-deep);
}

.home-partnership-copy>p{
  margin-top:1.25rem;
  color:var(--official-muted);
  font-size:1.04rem;
  line-height:1.68;
}

.home-partnership-photo{
  margin:0;
  border:1px solid var(--official-line);
  border-radius:5px;
  overflow:hidden;
  background:#fff;
}

.home-partnership-photo img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}

.home-partnership-photo figcaption{
  padding:.9rem 1rem;
  color:var(--official-muted);
  font-size:.78rem;
  line-height:1.45;
  border-top:1px solid var(--official-line);
}

.official-cta{
  padding:78px 0;
  background:var(--official-navy-deep);
  color:#fff;
}

.official-cta-inner{
  max-width:850px;
}

.official-cta .institution-line{
  color:#e4c27e;
}

.official-cta h2{
  max-width:820px;
  color:#fff;
}

.official-cta p:not(.institution-line){
  max-width:720px;
  margin-top:1rem;
  color:rgba(255,255,255,.7);
  font-size:1.05rem;
}

.official-cta .btn-outline{
  color:#fff;
}

@media (max-width:1040px){
  .official-hero-grid{
    grid-template-columns:1fr;
    gap:2.8rem;
  }

  .official-hero-copy{
    max-width:760px;
  }

  .official-hero-photo{
    max-width:760px;
  }

  .home-mission-grid,
  .home-experience-grid,
  .home-partnership-grid{
    grid-template-columns:1fr;
    gap:2.8rem;
  }

  .official-section-heading{
    grid-template-columns:1fr;
    gap:1rem;
  }

  .official-program-grid{
    grid-template-columns:1fr 1fr;
  }

  .official-program-card.featured{
    grid-column:1/-1;
    min-height:310px;
  }

  .official-evidence-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .home-experience-photo{
    max-width:620px;
  }

  .home-experience-photo img{
    aspect-ratio:4/3;
    object-position:center 30%;
  }
}

@media (max-width:700px){
  .home-official h1{
    font-size:clamp(2.35rem,11vw,3.35rem);
    line-height:1.04;
    letter-spacing:-.04em;
  }

  .home-official h2{
    font-size:clamp(1.85rem,8.5vw,2.55rem);
  }

  .official-hero{
    padding:105px 0 58px;
  }

  .official-hero-grid{
    gap:2.2rem;
  }

  .institution-line{
    font-size:.66rem;
    letter-spacing:.085em;
  }

  .institution-line span{
    padding:0 .15rem;
  }

  .official-hero-lede{
    font-size:1.02rem;
  }

  .official-hero-photo figcaption{
    grid-template-columns:1fr;
    gap:.25rem;
  }

  .home-mission{
    padding:58px 0;
  }

  .home-mission-grid{
    gap:1.6rem;
  }

  .home-mission-copy p{
    font-size:1rem;
  }

  .official-program-grid{
    grid-template-columns:1fr;
  }

  .official-program-card.featured{
    grid-column:auto;
  }

  .official-program-card{
    min-height:290px;
  }

  .official-evidence-grid{
    grid-template-columns:1fr;
  }

  .official-evidence-grid article{
    min-height:auto;
  }

  .home-experience-grid,
  .home-partnership-grid{
    gap:2rem;
  }

  .official-cta{
    padding:62px 0;
  }
}

.site-official:not(.home-official) h1,
.site-official:not(.home-official) h2,
.site-official:not(.home-official) h3,
.site-official .brand,
.site-official .nav-links,
.site-official .btn,
.site-official .partner{
  font-family:var(--sans)!important;
}

.site-official:not(.home-official) h1,
.site-official:not(.home-official) h2,
.site-official:not(.home-official) h3{
  font-style:normal;
  font-weight:700;
  text-wrap:balance;
}

.site-official:not(.home-official) h1{
  font-size:clamp(2.55rem,4.6vw,4rem);
  line-height:1.06;
  letter-spacing:-.038em;
}

.site-official:not(.home-official) h2{
  font-size:clamp(1.9rem,3.15vw,2.85rem);
  line-height:1.12;
  letter-spacing:-.03em;
}

.site-official:not(.home-official) h3{
  font-size:clamp(1.25rem,1.8vw,1.6rem);
  line-height:1.25;
  letter-spacing:-.018em;
}

.site-official p{
  max-width:72ch;
}

.site-official:not(.home-official) .lede{
  max-width:680px;
  font-size:clamp(1.04rem,1.3vw,1.18rem);
  line-height:1.62;
}

.site-official .eyebrow{
  gap:.52rem;
  color:var(--terracotta);
  font-size:.71rem;
  font-weight:750;
  letter-spacing:.095em;
}

.site-official .eyebrow::before{
  width:20px;
}

.site-official .text-link{
  font-size:.91rem;
}

.site-official .nav-shell{
  min-height:78px;
}

.site-official .brand{
  font-weight:720;
}

.site-official .brand small{
  font-weight:650;
  letter-spacing:.09em;
}

.site-official .nav-links{
  gap:1.2rem;
  font-size:.86rem;
  font-weight:650;
}

.site-official .nav-links a:not(.btn){
  font-weight:650;
}

.site-official .btn{
  min-height:46px;
  padding:.74rem 1.08rem;
  border-radius:7px;
  font-size:.88rem;
  font-weight:720;
  letter-spacing:0;
}

.site-official .page-hero{
  position:relative;
  padding:134px 0 66px;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  background:linear-gradient(135deg,#eee4d5 0%,#f7f1e8 65%,#e7eee9 100%);
}

.site-official .page-hero::after{
  content:"";
  position:absolute;
  left:max(20px,calc((100vw - var(--max))/2));
  bottom:0;
  width:76px;
  height:3px;
  background:var(--ochre);
}

.site-official .page-hero .container{
  width:min(calc(100% - 40px),var(--max));
  max-width:900px;
  margin-inline:auto;
}

.site-official .page-hero .breadcrumb{
  margin-bottom:1.25rem;
  color:#626d75;
  font-size:.74rem;
}

.site-official .page-hero .breadcrumb a{
  font-weight:700;
}

.site-official .page-hero h1{
  max-width:840px;
  margin-top:.85rem;
  color:#17242c;
}

.site-official .page-hero .lede{
  max-width:720px;
  margin-top:1.2rem;
  color:var(--ink-soft);
}

.site-official .section{
  padding:76px 0;
}

.site-official .section-head{
  grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);
  gap:3.5rem;
  margin-bottom:2.45rem;
}

.site-official .section-head h2,
.site-official .photo-text h2,
.site-official .history-copy h2{
  color:#17242c;
}

.site-official .section-dark .section-head h2,
.site-official .section-dark h2,
.site-official .section-dark h3{
  color:#fff;
}

.site-official .section-cream{
  background:var(--paper-deep);
}

.site-official .section-dark{
  background:var(--navy);
}

.site-official .display-line,
.site-official .photo-feature,
.site-official .history-layout{
  gap:4rem;
}

.site-official .region-head,
.site-official .theme-intro{
  max-width:780px;
}

.site-official .photo-card,
.site-official .video-card,
.site-official .principle-card,
.site-official .scope-card,
.site-official .program-story-grid article,
.site-official .resource-card,
.site-official .download-card,
.site-official .form-card,
.site-official .contact-card,
.site-official .donation-card{
  border-radius:var(--radius);
}

.site-official .photo-card,
.site-official .video-card,
.site-official .resource-card,
.site-official .download-card,
.site-official .form-card{
  background:#fffdf9;
}

.site-official .principle-card,
.site-official .scope-card{
  background:rgba(255,253,249,.72);
  padding:1.45rem;
}

.site-official .principle-card.gold{
  background:var(--ochre-soft);
  color:#17242c;
}

.site-official .principle-card.gold h3{
  color:#17242c;
}

.site-official .principle-card.gold p{
  color:#4f5c65;
}

.site-official .principle-card.gold .text-link{
  color:#84432f;
}

.site-official .principle-card.dark,
.site-official .scope-card.dark{
  background:var(--navy);
  color:#fff;
  border-color:var(--line-dark);
}

.site-official .principle-card.dark p,
.site-official .scope-card.dark p{
  color:rgba(255,255,255,.80);
}

.site-official .principle-card h3,
.site-official .scope-card h3{
  font-size:1.42rem;
}

.site-official .timeline-item h3{
  font-size:1.5rem;
}

.site-official .download-card h3{
  font-size:1.5rem;
}

.site-official .partner{
  min-height:125px;
  font-size:1rem;
  font-weight:650;
}

.site-official .field input,
.site-official .field textarea,
.site-official .field select{
  border-radius:6px;
  background:#fbf9f4;
}

.site-official .cta-band{
  padding:70px 0;
  background:#17242c;
}

.site-official .cta-band .container{
  max-width:880px;
}

.site-official .footer .footer-heading{
  font-weight:750;
}

.site-official .footer a{
  font-size:.88rem;
}

.site-official .hero>.container{
  min-height:48vh;
  max-width:780px;
}

@media (max-width:980px){
  .site-official .section-head{
    grid-template-columns:1fr;
    gap:1rem;
  }

  .site-official .page-hero .container{
    margin-inline:auto;
  }
}

@media (max-width:640px){
  .site-official .nav-shell{
    min-height:68px;
  }

  .site-official .page-hero{
    padding:108px 0 50px;
  }

  .site-official .page-hero::after{
    left:14px;
    width:58px;
  }

  .site-official .page-hero .container{
    width:min(calc(100% - 28px),var(--max));
  }

  .site-official .page-hero h1{
    font-size:clamp(2.25rem,10.5vw,3.05rem);
    line-height:1.07;
  }

  .site-official:not(.home-official) h2{
    font-size:clamp(1.75rem,8vw,2.35rem);
  }

  .site-official .section{
    padding:58px 0;
  }

  .site-official .section-head{
    margin-bottom:1.85rem;
  }

  .site-official .display-line,
  .site-official .photo-feature,
  .site-official .history-layout{
    gap:2rem;
  }
}

.site-official .contact-card a{
  color:#fff;
  font-weight:700;
}

.site-official .donation-card p{
  max-width:650px;
  color:#4f5c65;
}

.site-official .donation-card .eyebrow{
  color:#84432f;
}

.site-official .form-card h2,
.site-official .contact-card h2{
  margin-top:.7rem;
}

/* The contact form sits inside a dark section but is itself a light card. */
.site-official .section-dark .form-card{
  color:var(--ink);
}

.site-official .section-dark .form-card h2{
  color:#17242c;
}

.site-official .section-dark .form-card .eyebrow{
  color:#9a4e36;
}

.evidence-study{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) auto;
  gap:2rem;
  align-items:end;
  margin-top:1.6rem;
  padding:1.35rem 1.45rem;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.055);
  border-radius:8px;
}

.evidence-study h3{
  margin-top:.55rem;
  font-size:1.3rem;
  color:#fff;
}

.evidence-study p{
  color:rgba(255,255,255,.72);
  font-size:.9rem;
}

.evidence-study .eyebrow{
  color:var(--ochre-soft);
}

.evidence-study .button-row{
  margin:0;
  justify-content:flex-end;
}

.study-feature{
  padding:1.8rem;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--white);
}

.study-feature h3{
  margin-top:1.7rem;
}

.archive-history-grid{
  display:grid;
  grid-template-columns:1.15fr .8fr 1.15fr;
  gap:1rem;
}

.archive-history-grid .photo-card img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}

.archive-history-grid .portrait-focus img{
  object-position:center 30%;
}

.format-note{
  margin:-.7rem 0 1.2rem;
  padding:.85rem 1rem;
  border-left:3px solid var(--ochre);
  background:rgba(255,255,255,.55);
  font-size:.9rem;
  color:var(--ink-soft);
}

@media (max-width:980px){
  .evidence-study{
    grid-template-columns:1fr;
  }

  .evidence-study .button-row{
    justify-content:flex-start;
  }

  .archive-history-grid{
    grid-template-columns:1fr 1fr;
  }

  .archive-history-grid figure:first-child{
    grid-column:1/-1;
  }
}

@media (max-width:680px){
  .archive-history-grid{
    grid-template-columns:1fr;
  }

  .archive-history-grid figure:first-child{
    grid-column:auto;
  }

  .evidence-study{
    padding:1.15rem;
  }

  .evidence-study .button-row .btn{
    width:100%;
  }
}

.media-feature-grid{
  grid-template-columns:repeat(2,1fr);
}

@media (max-width:680px){
  .media-feature-grid{
    grid-template-columns:1fr;
  }
}

.hp-field,
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.site-official{
  font-family:var(--sans);
  font-synthesis:none;
  background:#f3eee4;
  color:#1d2b3a;
}

.site-official .site-header{
  background:rgba(255,250,242,.94);
  border-bottom-color:rgba(23,42,64,.12);
}

.site-official .brand img{
  filter:none;
}

.site-official .nav-links a:not(.btn):hover,
.site-official .nav-links a[aria-current="page"]{
  border-color:#bd6748;
}

.site-official .btn-dark{
  background:#172a40;
  border-color:#172a40;
}

.site-official .btn-outline{
  border-color:rgba(23,42,64,.32);
  color:#172a40;
  background:rgba(255,250,242,.54);
}

.site-official .section-dark,
.site-official .home-evidence,
.site-official .cta-band,
.site-official .official-cta{
  background:#172a40;
}

.site-official .footer{
  background:#102238;
}

.site-official .official-program-card.featured{
  background:#2f6673;
  border-color:#2f6673;
}

.site-official .featured>a,
.site-official .featured .program-number{
  color:#f4dea4;
}

.site-official .official-program-card.featured .program-label{
  color:rgba(255,255,255,.82);
}

.site-official .official-program-card.featured>p:not(.program-label){
  color:rgba(255,255,255,.82);
}

.home-official .site-header{
  background:rgba(255,250,242,.95);
}

.home-official .official-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:128px 0 0;
  background:#172a40;
  border-bottom:0;
}

.home-official .official-hero::before{
  content:"";
  position:absolute;
  width:760px;
  height:760px;
  right:-250px;
  top:-330px;
  border:1px solid rgba(239,220,169,.17);
  border-radius:50%;
  box-shadow:0 0 0 74px rgba(47,102,115,.10),0 0 0 148px rgba(239,220,169,.045);
  z-index:-1;
}

.home-official .official-hero::after{
  content:"";
  position:absolute;
  left:-120px;
  bottom:-250px;
  width:460px;
  height:460px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(189,103,72,.20) 0%,rgba(189,103,72,0) 68%);
  z-index:-1;
}

.home-official .official-hero-grid{
  grid-template-columns:minmax(0,1.02fr) minmax(430px,.98fr);
  gap:4.5rem;
  align-items:center;
  padding-bottom:72px;
}

.home-official .official-hero-copy{
  max-width:690px;
}

.home-official .institution-line span{
  color:#77a4aa;
}

.home-official .official-hero-copy h1{
  max-width:730px;
  color:#fffaf2;
  font-size:clamp(3.2rem,5.8vw,5.55rem);
  line-height:.97;
  letter-spacing:-.052em;
}

.home-official .official-hero-copy h1 .hero-sacred{
  color:#efdca9;
}

.home-official .official-hero-copy h1 .hero-together{
  display:block;
  color:#b9d4d2;
  font-weight:640;
}

.home-official .official-hero-lede{
  margin-top:1.55rem;
  max-width:610px!important;
  color:rgba(255,250,242,.76);
  font-size:clamp(1.05rem,1.34vw,1.2rem);
  line-height:1.64;
}

.home-official .official-actions{
  margin-top:1.7rem;
}

.home-official .official-actions .btn-outline{
  color:#fffaf2;
  border-color:rgba(255,250,242,.38);
  background:transparent;
}

.home-official .official-actions .btn-outline:hover{
  background:rgba(255,250,242,.08);
  border-color:rgba(255,250,242,.62);
}

.home-official .official-hero-photo{
  transform:translateY(12px);
  border:1px solid rgba(255,250,242,.20);
  border-radius:0 42px 0 42px;
  background:#102238;
  box-shadow:0 30px 78px rgba(4,14,24,.34);
}

.home-official .official-hero-photo::before{
  inset:20px auto auto 20px;
  width:68px;
  height:4px;
  background:#efdca9;
}

.home-official .official-hero-photo img{
  aspect-ratio:1/1.03;
  object-position:center 46%;
}

.home-official .official-hero-photo figcaption{
  grid-template-columns:145px 1fr;
  background:#fffaf2;
  color:#52616a;
  border-top:0;
}

.home-official .official-hero-photo figcaption strong{
  color:#172a40;
}

.home-official .home-mission{
  background:#fffaf2;
}

.home-official .home-work{
  background:#f3eee4;
}

.home-official .home-partnership{
  background:#fffaf2;
}

@media (max-width:980px){
  .home-official .official-hero{
    padding-top:110px;
  }

  .home-official .official-hero-grid{
    grid-template-columns:1fr;
    gap:2.4rem;
    padding-bottom:42px;
  }

  .home-official .official-hero-copy{
    max-width:800px;
  }

  .home-official .official-hero-photo{
    max-width:760px;
    transform:none;
  }
}

@media (max-width:680px){
  .home-official .official-hero{
    padding-top:98px;
  }

  .home-official .official-hero-copy h1{
    font-size:clamp(2.75rem,13.5vw,4.2rem);
    line-height:.98;
  }

  .home-official .official-hero-lede{
    font-size:1rem;
  }

  .home-official .official-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .home-official .official-actions .btn{
    width:100%;
  }

  .home-official .official-hero-photo{
    border-radius:0 26px 0 26px;
  }

  .home-official .official-hero-photo figcaption{
    grid-template-columns:1fr;
  }
}

.site-official .btn-primary{
  background:#9a4e36;
  color:#fff;
  border-color:#9a4e36;
}

.site-official .btn-primary:hover{
  background:#8f4933;
  border-color:#8f4933;
}

.site-official .eyebrow,
.site-official .text-link{
  color:#9a4e36;
}

.home-official .home-evidence .eyebrow,
.home-official .evidence-study .eyebrow{
  color:#efdca9;
}

.site-official .skip-link{
  background:#b98735;
  color:#102238;
}

.home-official .official-actions .btn-primary{
  background:#9a4e36;
  border-color:#9a4e36;
  color:#fff;
}

.home-official .official-actions .btn-primary:hover{
  background:#8f4933;
  border-color:#8f4933;
}

.home-official .institution-line{
  margin-bottom:1.1rem;
  color:#efdca9;
}

.site-official .on-dark .eyebrow,
.site-official .contact-card .eyebrow,
.site-official .cta-band .eyebrow{
  color:#efdca9;
}

.confirmation-hero{
  min-height:100svh;
}

.site-official h1.error-heading{
  font-size:clamp(5rem,14vw,12rem);
}

.site-official .statement-intro h2{
  margin-top:1rem;
  font-size:clamp(3rem,6vw,5.6rem);
}

.site-official .statement-intro h2 + .lede{
  margin-top:2rem;
}

.site-official .privacy-copy h2:not(:first-child){
  margin-top:2.2rem;
}

.site-official .privacy-copy .last-updated{
  margin-top:2rem;
}

.home-official .official-credentials{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin:0;
  padding:0;
  border:0;
  background:#fffaf2;
  box-shadow:0 -1px 0 rgba(255,255,255,.08);
}

.home-official .official-credentials>div{
  padding:1.1rem 1.25rem;
  background:transparent;
  border-right:1px solid rgba(23,42,64,.12);
}

.home-official .official-credentials>div+div{
  padding-left:1.25rem;
}

.home-official .official-credentials>div:last-child{
  border-right:0;
}

.home-official .official-credentials strong,
.home-official .official-credentials span{
  display:block;
}

.home-official .official-credentials strong{
  color:#172a40;
  font-size:.88rem;
  font-weight:750;
}

.home-official .official-credentials span{
  margin-top:.18rem;
  color:#68747b;
  font-size:.72rem;
  line-height:1.35;
}

@media (max-width:980px){
  .home-official .official-credentials{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .home-official .official-credentials>div:nth-child(2n){
    border-right:0;
  }

  .home-official .official-credentials>div:nth-child(n/**/+3){
    border-top:1px solid rgba(23,42,64,.12);
  }
}

@media (max-width:680px){
  .home-official .official-credentials>div{
    padding:.9rem .95rem;
  }
}


/* v9.9.3 — Tzerufim integration */
.nav-external-mark{
  display:inline-block;
  margin-left:.08em;
  font-size:.78em;
  font-weight:800;
  transform:translateY(-.08em);
}

.home-tzerufim{
  position:relative;
  overflow:hidden;
  background:#113542;
  color:#fff;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}

.home-tzerufim::before{
  content:"";
  position:absolute;
  width:620px;
  height:620px;
  right:-260px;
  top:-330px;
  border:1px solid rgba(228,194,126,.13);
  border-radius:50%;
  box-shadow:0 0 0 90px rgba(228,194,126,.025),0 0 0 180px rgba(228,194,126,.018);
  pointer-events:none;
}

.tzerufim-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);
  gap:clamp(3rem,7vw,6.5rem);
  align-items:center;
}

.tzerufim-visual{
  display:grid;
  place-items:center;
  min-height:390px;
}

.tzerufim-orbit{
  position:relative;
  width:min(340px,82vw);
  aspect-ratio:1;
  display:grid;
  place-items:center;
  border:1px solid rgba(228,194,126,.3);
  border-radius:50%;
  background:radial-gradient(circle at center,rgba(228,194,126,.1),rgba(228,194,126,0) 58%);
}

.tzerufim-orbit::before,
.tzerufim-orbit::after{
  content:"";
  position:absolute;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
}

.tzerufim-orbit::before{inset:36px;}
.tzerufim-orbit::after{inset:78px;}

.tzerufim-hebrew{
  position:relative;
  z-index:2;
  font-family:var(--sans);
  font-size:clamp(3.1rem,7vw,5.4rem);
  font-weight:650;
  letter-spacing:.03em;
  color:#e4c27e;
  text-shadow:0 12px 36px rgba(0,0,0,.18);
}

.tzerufim-permutations{
  position:absolute;
  inset:auto 0 42px;
  display:flex;
  justify-content:center;
  gap:.9rem;
  color:rgba(255,255,255,.54);
  font-size:.72rem;
  font-weight:650;
  letter-spacing:.1em;
}

.tzerufim-copy{
  max-width:660px;
}

.home-tzerufim .eyebrow{
  color:#e4c27e;
}

.home-tzerufim .eyebrow::before{
  background:#e4c27e;
}

.home-tzerufim h2{
  margin-top:.72rem;
  color:#fff;
  max-width:620px;
}

.home-tzerufim .lede{
  margin-top:1.25rem;
  color:rgba(255,255,255,.86);
  font-size:1.08rem;
  line-height:1.7;
}

.home-tzerufim .tzerufim-copy>p:not(.lede):not(.tzerufim-note){
  margin-top:1rem;
  color:rgba(255,255,255,.68);
  line-height:1.72;
}

.home-tzerufim .button-row{
  margin-top:1.55rem;
}

.home-tzerufim .btn-primary{
  background:#e4c27e;
  border-color:#e4c27e;
  color:#172a40;
}

.home-tzerufim .btn-primary:hover{
  background:#f0d696;
  border-color:#f0d696;
}

.tzerufim-note{
  margin-top:.7rem;
  color:rgba(255,255,255,.5);
  font-size:.82rem;
}

/* The extra navigation item needs the drawer slightly earlier than the rest of the layout. */
@media (max-width:1120px) and (min-width:981px){
  .nav-links{
    position:fixed;
    inset:0 0 0 24%;
    z-index:1;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:1rem;
    padding:108px 2rem 2rem;
    background:var(--paper);
    transform:translateX(100%);
    transition:transform .28s ease;
    box-shadow:-20px 0 60px rgba(37,48,58,.12);
  }

  .nav-links.open{transform:none;}

  .nav-links a:not(.btn){
    padding:.65rem 0;
    font-size:1.15rem;
  }

  .menu-toggle{
    display:block;
    z-index:2;
  }
}

@media (max-width:860px){
  .tzerufim-grid{
    grid-template-columns:1fr;
    gap:2.6rem;
  }

  .tzerufim-visual{
    min-height:0;
  }

  .tzerufim-orbit{
    width:min(310px,78vw);
  }
}

@media (max-width:520px){
  .tzerufim-orbit{
    width:min(270px,78vw);
  }

  .tzerufim-permutations{
    bottom:32px;
    gap:.55rem;
    font-size:.62rem;
  }
}

/* v9.9.4 — documentary homepage photography + Memphis story */
.home-official .official-hero-photo img{
  aspect-ratio:4/3;
  object-position:center center;
}

.home-memphis-story{
  background:#fffaf2;
  border-top:1px solid rgba(23,42,64,.08);
  border-bottom:1px solid rgba(23,42,64,.08);
}

.home-memphis-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:clamp(2.5rem,5vw,5rem);
  align-items:center;
}

.home-memphis-photo{
  margin:0;
  overflow:hidden;
  border-radius:0 34px 0 34px;
  background:#e8e2d7;
  box-shadow:0 24px 58px rgba(23,42,64,.12);
}

.home-memphis-photo img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center center;
}

.home-memphis-photo figcaption{
  padding:.9rem 1.1rem 1rem;
  background:#172a40;
  color:rgba(255,250,242,.82);
  font-size:.78rem;
  line-height:1.5;
}

.home-memphis-copy{
  max-width:620px;
}

.home-memphis-copy h2{
  margin-top:.75rem;
  color:#172a40;
  font-size:clamp(2.25rem,4vw,4rem);
  line-height:1.02;
  letter-spacing:-.04em;
}

.home-memphis-copy .lede{
  margin-top:1.35rem;
  color:#334c5c;
  font-size:clamp(1.08rem,1.45vw,1.24rem);
  line-height:1.62;
}

.home-memphis-copy p:not(.lede){
  color:#637078;
  line-height:1.7;
}

.home-memphis-copy .text-link{
  display:inline-block;
  margin-top:.55rem;
}

.home-partnership-photo img{
  object-position:center center;
}

@media (max-width:980px){
  .home-memphis-grid{
    grid-template-columns:1fr;
    gap:2.2rem;
  }
  .home-memphis-photo{
    max-width:820px;
  }
  .home-memphis-copy{
    max-width:760px;
  }
}

@media (max-width:680px){
  .home-memphis-photo{
    border-radius:0 24px 0 24px;
  }
  .home-memphis-photo figcaption{
    font-size:.74rem;
  }
}
