
:root{--red:#b72d38;--navy:#17364b;--gold:#d39a2d;--cream:#f7f1e7;--ink:#18232d;--muted:#5d6972}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--cream);line-height:1.75}a{color:inherit}.container{width:min(1160px,92%);margin:auto}
nav{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #e7ddd0}.nav{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:950}.mark{width:42px;height:42px;background:var(--red);color:#fff;display:grid;place-items:center;border-radius:50%}.brand small{display:block;font-size:10px;letter-spacing:.12em;color:var(--muted)}.links{display:flex;gap:16px;font-size:12px;font-weight:850;flex-wrap:wrap;justify-content:flex-end}.links a{text-decoration:none}.links a:hover,.links .active{color:var(--red)}
.strip{height:34px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;font-size:11px;font-weight:900;letter-spacing:.12em}
.hero{background:var(--navy);color:#fff;padding:82px 0 76px;position:relative;overflow:hidden}.hero:after{content:"✦";position:absolute;right:7%;top:-55px;font-size:260px;color:#ffffff08;font-family:Georgia,serif}.hero-content{position:relative;z-index:1;max-width:900px}.eyebrow{display:inline-block;color:#fff;background:var(--red);padding:6px 12px;border-radius:99px;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.12}h1{font-size:clamp(45px,6vw,72px);margin:18px 0 16px}.hero p{font-size:19px;color:#e8eef1;margin:0}main section{padding:76px 0}.paper{background:#fff}.section-head{max-width:900px;margin-bottom:32px}.section-head h2{font-size:clamp(32px,4vw,46px);margin:10px 0 12px}.lead{font-size:18px;color:var(--muted)}
.story,.card-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.card{background:#fff;border:1px solid #e4d7c6;border-radius:14px;padding:28px}.cream{background:var(--cream)}.card h3{font-size:27px;margin:0 0 10px;color:var(--red)}
.timeline{position:relative}.timeline:before{content:"";position:absolute;left:18px;top:10px;bottom:10px;width:3px;background:#e6d7c4}.achievement{position:relative;padding:0 0 30px 62px}.achievement:before{content:"";position:absolute;left:8px;top:7px;width:23px;height:23px;border-radius:50%;background:var(--red);border:5px solid var(--cream)}.year{font-size:12px;font-weight:950;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}.achievement h3{font-size:25px;margin:4px 0}
.table-wrap{overflow-x:auto;border:1px solid #e4d7c6;border-radius:12px}.people{width:100%;border-collapse:collapse;min-width:700px}.people th,.people td{text-align:left;padding:15px;border-bottom:1px solid #eadfce}.people th{background:var(--navy);color:#fff}.people tr:last-child td{border:0}
.resource-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.resource-nav a{background:#fff;border:1px solid #dfd0bd;padding:9px 13px;border-radius:999px;text-decoration:none;font-size:12px;font-weight:850}.resource-nav .active,.resource-nav a:hover{background:var(--red);color:#fff;border-color:var(--red)}
.pdf-card{display:flex;justify-content:space-between;gap:20px;align-items:center;background:var(--cream);border:1px solid #e4d7c6;border-radius:12px;padding:20px;margin:12px 0}.pdf-card a{color:var(--red);font-weight:900;text-decoration:none}.press-item{padding:20px 0;border-bottom:1px solid #e5d9ca}.feature-image{width:100%;display:block;border-radius:14px;border:1px solid #dfd2c2;margin:20px 0}.caption,.small-note{font-size:12px;color:var(--muted)}.address{white-space:pre-line}.list li{margin:9px 0}
.join{background:var(--red);color:#fff}.join-grid{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}.btn{display:inline-block;padding:12px 18px;border-radius:8px;text-decoration:none;font-weight:850}.btn.primary{background:#fff;color:var(--red)}
footer{background:var(--navy);color:#fff;padding:35px 0}.footer{display:flex;justify-content:space-between;gap:25px}.footer p{margin:0;color:#cbd5dc;font-size:13px}
@media(max-width:850px){.links{display:none}.story,.card-grid,.contact-grid,.join-grid{grid-template-columns:1fr}.hero{padding:65px 0}.pdf-card{flex-direction:column;align-items:flex-start}}

/* ===== Final polish: consistent headers + accessibility + back-to-top ===== */
html{scroll-padding-top:88px}
body{overflow-x:hidden}
.nav{min-height:72px}
.brand{flex-shrink:0}
.brand small{white-space:nowrap}
.links{align-items:center}
.links a{padding:8px 0;white-space:nowrap}

.page-hero{padding:58px 0 62px;background:linear-gradient(135deg,var(--navy) 0%,#214d66 100%)}
.page-hero .hero-content{max-width:980px}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;color:#dbe6eb;margin-bottom:18px}
.breadcrumb a{text-decoration:none;color:#fff;opacity:.9}
.breadcrumb a:hover{text-decoration:underline}
.breadcrumb .sep{opacity:.55}
.page-hero h1{font-size:clamp(40px,5.5vw,64px);margin:0 0 12px}
.page-hero p{max-width:760px;font-size:17px}
.page-content{padding-top:62px}

.achievement-intro{max-width:850px}
.achievement-intro h2{margin-top:0}
.timeline{max-width:980px}
.achievement{padding-bottom:36px}
.achievement h3{font-size:23px}
.achievement p{color:#4c5961;max-width:850px}

.back-top{
 position:fixed;right:22px;bottom:22px;z-index:50;
 width:46px;height:46px;border:0;border-radius:50%;
 background:var(--red);color:#fff;box-shadow:0 8px 22px #0002;
 display:flex;align-items:center;justify-content:center;
 font-size:20px;font-weight:900;cursor:pointer;
 opacity:0;visibility:hidden;transform:translateY(8px);
 transition:.22s ease;
}
.back-top.show{opacity:1;visibility:visible;transform:translateY(0)}
.back-top:hover{background:var(--navy);transform:translateY(-2px)}
.back-top:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

@media(max-width:1050px){
 .links{gap:12px;font-size:11px}
}
@media(max-width:850px){
 .nav{min-height:66px}
 .brand small{font-size:8px}
 .links{display:none}
 .page-hero{padding:46px 0 50px}
 .page-hero h1{font-size:44px}
 .page-content{padding-top:48px}
 .back-top{right:16px;bottom:16px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .back-top{transition:none}
}


/* ===== Mobile navigation ===== */
.menu-toggle{
  display:none;
  width:44px;height:44px;padding:0;
  border:1px solid #dfd5c8;border-radius:9px;
  background:#fff;color:var(--navy);
  cursor:pointer;align-items:center;justify-content:center;
  flex-direction:column;gap:5px;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.menu-toggle span{
  display:block;width:21px;height:2px;background:currentColor;
  border-radius:2px;transition:transform .2s ease,opacity .2s ease;
}
.mobile-menu{
  display:none;
  background:#fff;
  border-top:1px solid #eee4d8;
  box-shadow:0 12px 24px rgba(0,0,0,.08);
}
.mobile-menu-inner{
  width:min(1160px,92%);
  margin:auto;
  padding:4px 0 10px;
  display:flex;
  flex-direction:column;
}
.mobile-menu a{
  display:block;
  padding:13px 4px;
  border-bottom:1px solid #eee7df;
  text-decoration:none;
  font-weight:800;
  font-size:14px;
  color:var(--ink);
}
.mobile-menu a.active{color:var(--red)}
.mobile-menu.open{display:block}
.menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle.open span:nth-child(2){opacity:0}
.menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.back-top{
  position:fixed;right:22px;bottom:22px;z-index:100;
  width:46px;height:46px;border:0;border-radius:50%;
  background:var(--red);color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.18);
  display:flex;align-items:center;justify-content:center;
  font-size:20px;font-weight:900;cursor:pointer;
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .2s ease,visibility .2s ease,transform .2s ease;
  -webkit-tap-highlight-color:transparent;
}
.back-top.show{opacity:1;visibility:visible;transform:translateY(0)}
.back-top:hover{background:var(--navy)}
.back-top:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

@media (max-width:850px){
  .nav{min-height:66px}
  .links{display:none!important}
  .menu-toggle{display:flex}
  .mobile-menu.open{display:block}
}
@media (min-width:851px){
  .mobile-menu{display:none!important}
  .menu-toggle{display:none!important}
}
@media (prefers-reduced-motion:reduce){
  .menu-toggle span,.back-top{transition:none}
}


/* ===== Home page + final responsive pass ===== */
.home-hero{position:relative;min-height:650px;display:flex;align-items:end;overflow:hidden;background:#172c39;color:#fff}
.home-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.home-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,21,30,.88) 0%,rgba(8,21,30,.62) 45%,rgba(8,21,30,.15) 100%),linear-gradient(0deg,rgba(8,21,30,.75),transparent 55%)}
.home-hero .hero-content{position:relative;z-index:2;color:#fff;padding:90px 0 75px;max-width:760px}
.home-hero h1{font-size:clamp(43px,6vw,75px);margin:18px 0 22px}
.home-hero p{font-size:18px;color:#eef3f5;max-width:720px}
.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
.btn.outline{border:1px solid rgba(255,255,255,.65);color:#fff}
.numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}
.number{background:var(--cream);border:1px solid #e4d7c6;padding:22px;border-radius:12px}
.number strong{display:block;font-size:30px;color:var(--red);line-height:1.1}.number span{font-size:12px;color:var(--muted)}
.dropcap:first-letter{font-family:Georgia;font-size:62px;font-weight:bold;float:left;line-height:.82;padding:8px 8px 0 0;color:var(--red)}
.quote{border-left:5px solid var(--gold);padding:18px 22px;background:#fff8e9;font-family:Georgia,serif;font-size:20px}
.join .lead{color:#ffe8e8}
@media(max-width:850px){
 .home-hero{min-height:620px}.home-hero .hero-content{padding:70px 0 54px}
 .numbers{grid-template-columns:1fr}
 .footer{flex-direction:column;gap:8px}
 .story,.join-grid{grid-template-columns:1fr}
 .container{width:min(1160px,90%)}
}
@media(max-width:520px){
 body{font-size:15px}.strip{height:30px;font-size:9px;letter-spacing:.08em}
 .home-hero{min-height:590px}.home-hero h1{font-size:42px}.home-hero p{font-size:16px}
 main section{padding:54px 0}.page-content{padding-top:40px}
 .page-hero h1{font-size:40px}.card{padding:22px}.pdf-card{padding:16px}
 .back-top{width:44px;height:44px;right:14px;bottom:14px}
}
