
:root{--aa-red:#ed1c24;--aa-red-dk:#c40f3f;--ink:#1a1a1a;--mute:#5a5a5a;--bg:#fff;--soft:#f6f6f7;--line:#e5e5e7}
*{box-sizing:border-box}
html,body{margin:0;padding:0;color:var(--ink);background:var(--bg);font-family:'Roboto','Helvetica Neue',Arial,sans-serif;font-size:17px;line-height:1.6}
h1,h2,h3,h4,h5{font-family:'Raleway','Helvetica Neue',Arial,sans-serif;font-weight:500;line-height:1.25;margin:1.6em 0 .5em;color:var(--ink)}
h1{font-size:2.2rem;margin-top:.4em}h2{font-size:1.6rem}h3{font-size:1.25rem}
p{margin:0 0 1em}
a{color:var(--aa-red);text-decoration:none}a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block;margin:1.2em auto;border-radius:4px}
hr{border:0;border-top:1px solid var(--line);margin:2em 0}
blockquote{border-left:3px solid var(--aa-red);margin:1.5em 0;padding:.4em 1.2em;color:var(--mute);font-style:italic}
.banner{background:var(--aa-red);color:#fff;text-align:center;padding:.55em 1em;font-size:.95rem}
.banner a{color:#fff;text-decoration:underline;font-weight:500}
header.site{position:sticky;top:0;background:#000;color:#fff;z-index:50;border-bottom:1px solid #1d1d1d}
.bar{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:.7em 1.2em;gap:1em;flex-wrap:wrap}
.bar .brand img{height:42px;margin:0;display:block}
nav.main ul{list-style:none;display:flex;gap:1.4em;margin:0;padding:0;flex-wrap:wrap}
nav.main a{color:#fff;font-family:'Raleway',sans-serif;font-size:.95rem;letter-spacing:.02em}
nav.main a:hover{color:var(--aa-red);text-decoration:none}
main{max-width:880px;margin:0 auto;padding:2em 1.2em 4em}
main.wide{max-width:1100px}
footer.site{background:#1a1a1a;color:#bdbdbd;padding:2.5em 1.2em;margin-top:3em;font-size:.9rem}
footer.site .inner{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;gap:2em;justify-content:space-between}
footer.site a{color:#fff}
footer.site h4{color:#fff;margin:.4em 0 .6em;font-size:1rem}
footer.site ul{list-style:none;padding:0;margin:0}
footer.site li{margin:.2em 0}
.lead{font-size:1.18rem;color:var(--mute);margin-bottom:1.6em}
.meta{color:var(--mute);font-size:.92rem;margin-bottom:1.5em;font-style:italic}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2em;margin:1.6em 0}
.card{border:1px solid var(--line);border-radius:6px;padding:1.2em;transition:box-shadow .15s,transform .15s;background:#fff}
.card:hover{box-shadow:0 6px 18px rgba(0,0,0,.07);transform:translateY(-2px)}
.card a{color:var(--ink)}
.card h3{margin:.2em 0 .4em;font-size:1.1rem}
.card p{color:var(--mute);font-size:.95rem;margin:0}
.tag{display:inline-block;background:var(--soft);color:var(--mute);font-size:.75rem;padding:.2em .6em;border-radius:99px;margin-bottom:.6em;letter-spacing:.04em;text-transform:uppercase}
.cta-strip{background:var(--soft);border-radius:6px;padding:1.6em;text-align:center;margin:2em 0}
.cta-strip h3{margin-top:0}
.btn{display:inline-block;background:var(--aa-red);color:#fff!important;padding:.7em 1.4em;border-radius:4px;font-weight:500;font-family:'Raleway',sans-serif;text-decoration:none}
.btn:hover{background:var(--aa-red-dk);text-decoration:none}
.section-title{border-bottom:2px solid var(--aa-red);padding-bottom:.4em;margin-top:2em}
/* ---- BC redirect callout (top of program pages) ---- */
.bc-redirect{background:#1a1a1a;color:#fff;border-radius:8px;padding:1.6em 1.8em;margin:0 0 2.2em;border-left:5px solid var(--aa-red)}
.bc-redirect .eyebrow{display:inline-block;background:var(--aa-red);color:#fff;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;padding:.3em .8em;border-radius:99px;margin-bottom:.8em;font-weight:500}
.bc-redirect h3{color:#fff;font-size:1.25rem;font-weight:500;margin:.1em 0 .5em;line-height:1.3}
.bc-redirect p{color:#cfcfcf;margin:0 0 1em;font-size:1rem;line-height:1.5}
.bc-redirect .btn{font-size:.95rem;padding:.6em 1.3em}
.bc-redirect .sub{color:#888;font-size:.84rem;font-style:italic;margin:1em 0 0}
@media (max-width:680px){
  .bar{padding:.6em .8em}
  nav.main ul{gap:.8em;font-size:.88rem}
  h1{font-size:1.7rem}h2{font-size:1.35rem}
  main{padding:1.4em .9em 3em}
  footer.site .inner{flex-direction:column;gap:1em}
}
/* Strip leftover WP styles inside content */
.entry-content .wp-block-button__link,.post-content .wp-block-button__link{background:var(--aa-red);color:#fff!important;border-radius:4px}
.post-content table,.entry-content table{border-collapse:collapse;width:100%;margin:1em 0}
.post-content td,.entry-content td,.post-content th,.entry-content th{border:1px solid var(--line);padding:.5em}


/* ---- Home hero ---- */
.hero{padding:3.5em 0 2.5em;text-align:center;border-bottom:1px solid var(--line);margin-bottom:2.5em}
.hero h1{font-size:2.6rem;font-weight:300;line-height:1.18;max-width:22ch;margin:0 auto .5em;color:var(--ink)}
.hero h1 em{font-style:normal;color:var(--aa-red);font-weight:500}
.hero .kicker{font-size:.85rem;letter-spacing:.18em;color:var(--mute);text-transform:uppercase;margin-bottom:1.6em}
.hero .sub{font-size:1.18rem;color:var(--mute);max-width:54ch;margin:1em auto 0;line-height:1.55}

/* Three-pillar grid */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5em;margin:2.5em 0 3em}
.pillar{padding:1.6em 1.4em;background:var(--soft);border-radius:6px;border-top:3px solid var(--aa-red)}
.pillar h3{margin:.1em 0 .4em;font-size:1.6rem;font-weight:500;color:var(--aa-red)}
.pillar .label{font-size:.78rem;letter-spacing:.14em;color:var(--mute);text-transform:uppercase;font-weight:500}
.pillar p{margin:.6em 0 0;font-size:.97rem;color:var(--ink);line-height:1.55}
@media (max-width:680px){.pillars{grid-template-columns:1fr;gap:1em}}

/* Quote */
.pullquote{margin:3em 0;padding:2em 1em;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pullquote blockquote{border:0;padding:0;margin:0 auto;max-width:48ch;font-family:'Raleway',sans-serif;font-size:1.35rem;line-height:1.45;font-style:normal;color:var(--ink);font-weight:300}
.pullquote cite{display:block;margin-top:1em;font-size:.85rem;color:var(--mute);letter-spacing:.06em;text-transform:uppercase;font-style:normal}

/* Big handoff section */
.handoff{background:#1a1a1a;color:#fff;border-radius:10px;padding:3em 2em;text-align:center;margin:3em 0}
.handoff .eyebrow{display:inline-block;background:var(--aa-red);color:#fff;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;padding:.35em .9em;border-radius:99px;margin-bottom:1.2em;font-weight:500}
.handoff h2{color:#fff;font-size:2rem;font-weight:300;margin:.2em auto .6em;max-width:22ch;line-height:1.2}
.handoff h2 strong{color:#fff;font-weight:500}
.handoff p{color:#bdbdbd;max-width:50ch;margin:0 auto 1.6em;font-size:1.05rem}
.handoff .btn{font-size:1.05rem;padding:.85em 2em}
.handoff .secondary{color:#bdbdbd;display:block;margin-top:1em;font-size:.9rem}
.handoff .secondary a{color:#bdbdbd;text-decoration:underline}

/* Featured cards (cleaner than the generic .cards) */
.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2em;margin:1.5em 0 3em}
.featured{display:block;background:#fff;border:1px solid var(--line);border-radius:6px;padding:1.4em 1.3em;text-decoration:none;color:var(--ink);transition:transform .15s,box-shadow .15s}
.featured:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.07);text-decoration:none}
.featured .tag{background:transparent;color:var(--aa-red);padding:0;margin-bottom:.6em;font-weight:500}
.featured h3{margin:0 0 .5em;font-size:1.1rem;line-height:1.3;color:var(--ink)}
.featured p{margin:0;color:var(--mute);font-size:.93rem;line-height:1.5}
@media (max-width:880px){.featured-grid{grid-template-columns:1fr}}

/* Stats strip */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1em;text-align:center;margin:2.5em 0;padding:2em 1em;background:var(--soft);border-radius:6px}
.stats .num{font-size:2.4rem;font-weight:500;color:var(--aa-red);font-family:'Raleway',sans-serif;line-height:1;display:block}
.stats .lbl{display:block;margin-top:.4em;font-size:.85rem;color:var(--mute);text-transform:uppercase;letter-spacing:.08em}
@media (max-width:680px){.stats{grid-template-columns:1fr;gap:1.5em;padding:1.5em 1em}}

/* Section header */
.home-section{margin:3.5em 0 1em}
.home-section h2{margin:0 0 .3em;font-size:1.6rem;font-weight:500}
.home-section .home-section-sub{color:var(--mute);font-size:1rem;margin:0 0 1.3em}

/* Books strip */
.books-strip{display:grid;grid-template-columns:1.2fr 2fr;gap:2em;align-items:center;background:var(--soft);border-radius:6px;padding:2em;margin:2em 0 1em}
.books-strip img{margin:0;border-radius:0;max-width:200px;justify-self:center}
.books-strip h3{margin-top:0}
.books-strip p{margin:.4em 0 1em}
@media (max-width:680px){.books-strip{grid-template-columns:1fr;text-align:center}.books-strip img{max-width:160px}}


/* ---- About: past-tense intro ---- */
.about-hero{padding:2.5em 0 2em;border-bottom:1px solid var(--line);margin-bottom:2em}
.about-hero .pron{font-family:'Raleway',sans-serif;color:var(--mute);font-size:1.05rem;letter-spacing:.08em;margin:.2em 0 0}
.about-hero .pos{font-style:italic;color:var(--mute);font-size:.95rem;margin:.2em 0 1em}
.about-hero h1{font-size:2.4rem;font-weight:300;margin:.1em 0 .3em;letter-spacing:-.01em}
.about-hero h1 em{font-style:normal;color:var(--aa-red);font-weight:500}
.about-hero .definition{margin:1.4em 0;font-size:1.05rem;line-height:1.65}
.about-hero ol{padding-left:1.4em;margin:1em 0}
.about-hero ol li{margin:.45em 0;line-height:1.55}
.tense-note{display:inline-block;background:var(--soft);border-left:3px solid var(--aa-red);padding:.6em 1em;color:var(--mute);font-size:.92rem;margin:.5em 0 1.5em;border-radius:0 4px 4px 0}

/* ---- People grid ---- */
.people-section{margin:3em 0 2em;padding-top:2.5em;border-top:1px solid var(--line)}
.people-section h2{font-size:1.7rem;font-weight:500;margin:0 0 .3em}
.people-section .gratitude{font-size:1.08rem;color:var(--ink);max-width:60ch;margin:.6em 0 0;line-height:1.6}
.people-section .gratitude strong{color:var(--aa-red);font-weight:500}
.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6em;margin:2.2em 0 1em}
.person{background:#fff;border:1px solid var(--line);border-radius:6px;padding:1.4em 1.3em;text-align:center;display:flex;flex-direction:column;align-items:center}
.person .photo{width:120px;height:120px;border-radius:50%;background:var(--soft);object-fit:cover;margin:0 0 1em;display:block}
.person .photo-fallback{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#f0f0f0 0%, #e3e3e3 100%);color:var(--mute);display:flex;align-items:center;justify-content:center;font-size:2.4rem;font-weight:300;font-family:'Raleway',sans-serif;letter-spacing:.05em;margin-bottom:1em}
.person h3{margin:.1em 0 .2em;font-size:1.12rem;font-weight:500;color:var(--ink)}
.person .role{display:block;color:var(--aa-red);font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;font-weight:500;margin-bottom:.8em}
.person .bio{color:var(--mute);font-size:.92rem;line-height:1.55;margin:0;text-align:left}
@media (max-width:880px){.people-grid{grid-template-columns:repeat(2,1fr);gap:1.2em}}
@media (max-width:560px){.people-grid{grid-template-columns:1fr}.person{padding:1.2em 1em}}

/* History list */
.history-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1em 2em;margin:1.5em 0 2em}
.history-item h4{margin:0 0 .25em;color:var(--aa-red);font-weight:500;font-size:1rem}
.history-item p{margin:0;color:var(--mute);font-size:.95rem;line-height:1.5}
@media (max-width:680px){.history-grid{grid-template-columns:1fr}}
