/* ============================================================
   The Principal Learning Center — Preview concept
   Design: "Grounded authority" — academic navy + warm gold
   ============================================================ */

:root{
  --navy:#6E1A2E;
  --navy-deep:#561522;
  --gold:#C49A3A;
  --gold-deep:#9A7726;
  --teal:#1E5A52;
  --teal-deep:#16463F;
  --teal-light:#E3EFEC;
  --ivory:#F4F0E8;
  --ivory-deep:#ece5da;
  --ink:#2C2A28;
  --slate:#6B6660;
  --line:#e4dcd2;
  --white:#ffffff;
  --maxw:1180px;
  --r:14px;
  --shadow:0 18px 40px -24px rgba(44,42,40,.4);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- type ---------- */
.eyebrow{
  font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold-deep);margin-bottom:1rem;
}
.eyebrow-light{color:var(--gold)}
.section-title{
  font-family:'Fraunces',Georgia,serif;
  font-weight:600;line-height:1.08;letter-spacing:-.01em;
  font-size:clamp(1.9rem,4vw,2.9rem);
  color:var(--navy);margin-bottom:1.1rem;
}
.section-lead{font-size:1.08rem;color:var(--slate);max-width:54ch}

/* ---------- buttons ---------- */
.btn{
  display:inline-block;font-weight:600;font-size:.98rem;
  padding:.95rem 1.7rem;border-radius:999px;cursor:pointer;border:1.5px solid transparent;
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:var(--navy-deep);box-shadow:0 10px 24px -12px rgba(200,162,75,.8)}
.btn-gold:hover{background:#d4b160}
.btn-navy{background:var(--navy);color:var(--white)}
.btn-navy:hover{background:var(--navy-deep)}
.btn-burgundy{background:var(--navy);color:var(--white)}
.btn-burgundy:hover{background:var(--navy-deep)}
.btn-outline{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-outline:hover{background:var(--navy);color:var(--white)}
.btn-ghost{background:transparent;color:var(--white);border-color:rgba(255,255,255,.5)}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}

.text-link{
  font-weight:600;color:var(--navy);border-bottom:2px solid var(--gold);
  padding-bottom:2px;transition:color .2s,border-color .2s;display:inline-block;
}
.text-link:hover{color:var(--gold-deep)}

/* ---------- demo banner ---------- */
.demo-banner{
  background:var(--navy-deep);color:#f0e6e2;font-size:.82rem;text-align:center;
  padding:.55rem 1rem;letter-spacing:.01em;
}
.demo-banner strong{color:var(--gold)}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:88px}
.brand{display:flex;align-items:center;gap:.8rem}
.brand-mark{
  font-family:'Fraunces',serif;font-weight:700;color:var(--white);background:var(--navy);
  width:52px;height:52px;border-radius:11px;display:grid;place-items:center;font-size:1.25rem;letter-spacing:.02em;
}
.brand-name{font-family:'Fraunces',serif;font-weight:600;color:var(--navy);font-size:1.3rem;line-height:1.12;max-width:16ch}
.nav{display:flex;align-items:center;gap:2rem}
.nav a{font-weight:500;font-size:.95rem;color:var(--ink);transition:color .2s}
.nav a:hover{color:var(--gold-deep)}
.nav-cta{background:var(--navy);color:var(--white)!important;padding:.6rem 1.3rem;border-radius:999px}
.nav-cta:hover{background:var(--navy-deep)}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.nav-toggle span{width:24px;height:2px;background:var(--navy);border-radius:2px;transition:.3s}
.mobile-nav{display:none;flex-direction:column;background:var(--white);border-bottom:1px solid var(--line)}
.mobile-nav a{padding:1rem 28px;border-top:1px solid var(--line);font-weight:500}

/* ---------- hero ---------- */
.hero{position:relative;color:var(--white);overflow:hidden;background:var(--navy)}
.hero-bg{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(18,32,59,.78),rgba(18,32,59,.9)),
    url('assets/hero-photo.jpg') center 35%/cover;
  filter:saturate(1.05);
}
.hero-inner{position:relative;padding:6.5rem 28px 5.5rem;max-width:880px}
.hero-title{
  font-family:'Fraunces',serif;font-weight:600;letter-spacing:-.015em;line-height:1.04;
  font-size:clamp(2.5rem,6vw,4.3rem);margin-bottom:1.4rem;
}
.hero-title em{font-style:italic;color:var(--gold)}
.hero-sub{font-size:clamp(1.05rem,2vw,1.25rem);color:#f0e6e2;max-width:60ch;margin-bottom:2rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.6rem}
.hero-note{font-size:.9rem;color:var(--gold);font-weight:500;letter-spacing:.01em}

/* ---------- trust strip ---------- */
.trust{background:var(--white);color:var(--navy);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem;padding:1.1rem 28px;text-align:center}
.trust-label{font-family:'Fraunces',serif;font-style:italic;color:var(--navy);font-size:1rem}
.trust-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.8rem;font-size:.85rem;font-weight:500;letter-spacing:.03em;color:var(--navy)}
.trust-logos .dot{color:var(--gold)}

/* ---------- sections ---------- */
.section{padding:5.5rem 0}
.section-head{max-width:640px;margin-bottom:3rem}
.section-head-light .section-title,.section-head-light .section-lead{color:#fff}
.illustrative-note{font-style:italic;color:var(--gold-deep);font-size:.92rem}

/* ---------- why / impact ---------- */
.why{background:var(--ivory)}
.why-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:4rem;align-items:center}
.why-copy p{margin-bottom:1.1rem;color:#3A3431}
.why-copy .text-link{margin-top:.4rem}
.why-stats{display:flex;flex-direction:column;gap:1.1rem}
.stat-card{
  background:var(--white);border:1px solid var(--line);border-left:4px solid var(--gold);
  border-radius:12px;padding:1.4rem 1.5rem;box-shadow:var(--shadow);
}
.stat-num{font-family:'Fraunces',serif;font-weight:700;font-size:2.6rem;color:var(--navy);line-height:1;display:inline-block}
.stat-sup{font-size:1.1rem;vertical-align:super;color:var(--gold-deep)}
.stat-label{display:block;margin-top:.5rem;color:var(--slate);font-size:.95rem}

/* ---------- programs ---------- */
.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem}
.program-card{
  background:var(--white);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;
}
.program-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.program-img{height:200px;background-size:cover;background-position:center;background-color:var(--navy)}
.program-body{padding:1.6rem 1.5rem 1.8rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.program-tag{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep)}
.program-body h3{font-family:'Fraunces',serif;font-weight:600;font-size:1.4rem;color:var(--navy)}
.program-body p{color:var(--slate);font-size:.96rem;flex:1}
.program-body .text-link{align-self:flex-start;margin-top:.4rem}

/* ---------- core ---------- */
.core{background:var(--ivory-deep)}
.core-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:3.5rem;align-items:center}
.core-media{min-height:420px;border-radius:var(--r);background-size:cover;background-position:center;box-shadow:var(--shadow)}
.core-list{list-style:none;margin:1.5rem 0 2rem;display:grid;gap:.75rem}
.core-list li{position:relative;padding-left:1.9rem;color:#3A3431}
.core-list li::before{
  content:"";position:absolute;left:0;top:.45em;width:11px;height:11px;border-radius:3px;
  background:var(--gold);transform:rotate(45deg);
}

/* ---------- proof ---------- */
.proof{background:var(--white)}
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-bottom:3.5rem}
.quote-card{
  background:var(--ivory);border:1px solid var(--line);border-radius:var(--r);padding:2rem 1.7rem;
  position:relative;
}
.quote-card::before{
  content:"\201C";font-family:'Fraunces',serif;font-size:3.4rem;color:var(--gold);
  position:absolute;top:.4rem;left:1.1rem;line-height:1;
}
.quote-card blockquote{margin:1.3rem 0 1.3rem;font-size:1.02rem;color:#3A3431;font-style:italic}
.quote-card figcaption{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:.9rem}
.q-name{font-weight:700;color:var(--navy)}
.q-role{font-size:.85rem;color:var(--slate)}
.proof-band{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;
  background:var(--navy);border-radius:var(--r);padding:2.4rem 1.5rem;color:#fff;text-align:center;
}
.proof-num{font-family:'Fraunces',serif;font-weight:700;font-size:2.8rem;color:var(--gold);line-height:1;display:block}
.proof-mo{font-size:1.1rem;vertical-align:super}
.proof-text{display:block;margin-top:.5rem;color:#f0e6e2;font-size:.92rem}

/* ---------- apply ---------- */
.apply{background:var(--navy);position:relative}
.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.route-card{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.16);border-radius:var(--r);
  padding:2rem 1.7rem;color:#fff;transition:background .2s,transform .2s,border-color .2s;display:flex;flex-direction:column;gap:.6rem;
}
.route-card:hover{background:rgba(255,255,255,.1);transform:translateY(-4px);border-color:var(--gold)}
.route-card h3{font-family:'Fraunces',serif;font-weight:600;font-size:1.35rem}
.route-card p{color:#e8d8d4;font-size:.95rem;flex:1}
.route-go{color:var(--gold);font-weight:600}

/* ---------- signup ---------- */
.signup{background:var(--ivory);padding:4rem 0}
.signup-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2rem}
.signup-title{font-family:'Fraunces',serif;font-weight:600;font-size:2rem;color:var(--navy);margin-bottom:.4rem}
.signup-inner p{color:var(--slate)}
.signup-form{display:flex;gap:.7rem;flex-wrap:wrap}
.signup-form input{
  padding:.95rem 1.2rem;border:1.5px solid var(--line);border-radius:999px;min-width:260px;font-size:1rem;font-family:inherit;
}
.signup-form input:focus{outline:2px solid var(--gold);border-color:var(--gold)}

/* ---------- footer ---------- */
.site-footer{background:var(--navy-deep);color:#d8c8c4}
.footer-inner{display:grid;grid-template-columns:2fr 1fr 1.2fr 1fr;gap:2.5rem;padding:4rem 28px 2.5rem}
.footer-brand .brand-mark{margin-bottom:1rem}
.footer-brand p{color:#fff;font-family:'Fraunces',serif;font-size:1.1rem}
.footer-tag{color:#b09a96!important;font-family:'Inter',sans-serif!important;font-size:.9rem!important;margin-top:.3rem}
.footer-col h4{color:#fff;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1rem}
.footer-col a{display:block;padding:.3rem 0;color:#d8c8c4;font-size:.95rem;transition:color .2s}
.footer-col a:hover{color:var(--gold)}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;border-top:1px solid rgba(255,255,255,.12);padding:1.5rem 28px;font-size:.82rem;color:#a08a86}
.footer-credit{color:var(--gold)}

/* ---------- about page ---------- */
.page-hero{background:var(--navy);color:#fff;padding:5rem 0 4rem}
.page-hero .section-title{color:#fff}
.page-hero .section-lead{color:#f0e6e2}
.about-section{padding:5rem 0}
.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:3.5rem;align-items:center}
.about-media{min-height:380px;border-radius:var(--r);background-size:cover;background-position:center;box-shadow:var(--shadow)}
.about-section h2{font-family:'Fraunces',serif;color:var(--navy);font-size:2rem;margin-bottom:1rem;font-weight:600}
.about-section p{color:#3A3431;margin-bottom:1.1rem}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:1rem}
.value-card{background:var(--ivory);border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:12px;padding:1.6rem 1.5rem}
.value-card h3{font-family:'Fraunces',serif;color:var(--navy);font-size:1.2rem;margin-bottom:.5rem}
.value-card p{color:var(--slate);font-size:.95rem;margin:0}

/* ---------- founder bio ---------- */
.about-grid-rev .about-media{order:2}
.founder-media{min-height:460px;background-position:center top!important}
.cred-list{list-style:none;margin:1.4rem 0 1.6rem;display:grid;gap:.7rem}
.cred-list li{position:relative;padding-left:1.7rem;color:#3A3431;font-size:.98rem}
.cred-list li::before{
  content:"";position:absolute;left:0;top:.5em;width:10px;height:10px;border-radius:50%;
  background:var(--gold);
}
.cred-list strong{color:var(--navy)}
.quote-card-feature{max-width:820px;margin:0 auto;padding:2.6rem 2.4rem}
.quote-card-feature blockquote{font-size:1.15rem;line-height:1.55}
@media(max-width:880px){
  .about-grid-rev{display:flex;flex-direction:column}
  .about-grid-rev .about-media{order:0}
}

/* ---------- responsive ---------- */
@media(max-width:880px){
  .nav{display:none}
  .nav-toggle{display:flex}
  .mobile-nav.open{display:flex}
  .why-grid,.core-grid,.about-grid{grid-template-columns:1fr;gap:2.5rem}
  .core-media{min-height:300px}
  .program-grid,.quote-grid,.route-grid,.values-grid{grid-template-columns:1fr}
  .proof-band{grid-template-columns:1fr;gap:1.8rem}
  .footer-inner{grid-template-columns:1fr;gap:2rem}
  .core-grid{display:flex;flex-direction:column-reverse}
}
@media(max-width:480px){
  .hero-inner{padding:4.5rem 24px 4rem}
  .section{padding:4rem 0}
  .signup-form input{min-width:0;width:100%}
  .signup-form{width:100%}
}

/* ---------- Option B: practical facilitators ---------- */
.facilitators-b{background:var(--ivory)}
.facb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.facb-card{display:flex;gap:1rem;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.4rem 1.5rem}
.facb-avatar{flex-shrink:0;width:52px;height:52px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:'Fraunces',serif;font-weight:700;font-size:1.05rem;border:2px solid var(--gold)}
.facb-card h3{font-family:'Fraunces',serif;color:var(--navy);font-size:1.12rem;margin-bottom:.2rem}
.facb-role{color:var(--gold-deep);font-size:.85rem;font-weight:600;margin-bottom:.5rem}
.facb-card p{color:var(--slate);font-size:.9rem}

/* ---------- Option B: practical team ---------- */
.team-b{background:#fff}
.teamb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.teamb-card{display:flex;gap:.9rem;align-items:center;background:var(--ivory);border:1px solid var(--line);border-radius:12px;padding:1.2rem 1.3rem}
.teamb-avatar{flex-shrink:0;width:48px;height:48px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:'Fraunces',serif;font-weight:700;font-size:1rem;border:2px solid var(--gold)}
.teamb-card h3{color:var(--navy);font-size:1rem;font-weight:700}
.teamb-card p{color:var(--slate);font-size:.85rem}
@media(max-width:880px){
  .facb-grid,.teamb-grid{grid-template-columns:1fr}
}

/* ---------- program detail pages ---------- */
.prog-hero{background:var(--navy);color:#fff;padding:4.5rem 0 4rem;position:relative;overflow:hidden}
.prog-hero .wrap{position:relative;z-index:1}
.prog-hero .eyebrow{color:var(--gold)}
.prog-hero h1{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.05;margin-bottom:1rem;max-width:18ch}
.prog-hero p{color:#f0e6e2;font-size:1.15rem;max-width:60ch}
.prog-hero .btn{margin-top:1.8rem}
.prog-meta{display:flex;flex-wrap:wrap;gap:2rem;margin-top:2rem;padding-top:1.6rem;border-top:1px solid rgba(255,255,255,.18)}
.prog-meta div{display:flex;flex-direction:column}
.prog-meta .m-num{font-family:'Fraunces',serif;font-weight:700;font-size:1.7rem;color:var(--gold)}
.prog-meta .m-lab{font-size:.85rem;color:#e8d8d4;margin-top:.2rem}
.prog-body{padding:5rem 0}
.prog-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:3.5rem;align-items:start}
.prog-main h2{font-family:'Fraunces',serif;color:var(--navy);font-size:1.7rem;margin:0 0 1rem;font-weight:600}
.prog-main h2:not(:first-child){margin-top:2.4rem}
.prog-main p{color:#3A3431;margin-bottom:1.1rem}
.prog-list{list-style:none;margin:1rem 0 1.5rem;display:grid;gap:.7rem}
.prog-list li{position:relative;padding-left:1.8rem;color:#3A3431}
.prog-list li::before{content:"";position:absolute;left:0;top:.45em;width:11px;height:11px;border-radius:3px;background:var(--gold);transform:rotate(45deg)}
.prog-aside{background:var(--ivory);border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:14px;padding:2rem;position:sticky;top:100px}
.prog-aside h3{font-family:'Fraunces',serif;color:var(--navy);font-size:1.3rem;margin-bottom:1rem}
.prog-aside .fact{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line);font-size:.95rem}
.prog-aside .fact:last-of-type{border-bottom:0;margin-bottom:1rem}
.prog-aside .fact span:first-child{color:var(--slate)}
.prog-aside .fact span:last-child{color:var(--navy);font-weight:600;text-align:right}
.prog-aside .btn{width:100%;text-align:center;margin-top:.4rem}
.prog-cta-band{background:var(--ivory-deep);padding:4rem 0;text-align:center}
.prog-cta-band h2{font-family:'Fraunces',serif;color:var(--navy);font-size:clamp(1.8rem,3.5vw,2.4rem);font-weight:600;margin-bottom:1rem}
.prog-cta-band p{color:var(--slate);max-width:50ch;margin:0 auto 1.8rem}
@media(max-width:880px){
  .prog-grid{grid-template-columns:1fr;gap:2.5rem}
  .prog-aside{position:static}
}

/* ---------- events page ---------- */
.events-page{padding:5rem 0}
.ev-filter{display:flex;gap:.6rem;margin-bottom:2.5rem;flex-wrap:wrap}
.ev-chip{padding:.5rem 1.2rem;border:1.5px solid var(--line);border-radius:999px;font-size:.9rem;font-weight:500;color:var(--slate);background:#fff;cursor:pointer;transition:border-color .15s,color .15s,background .15s}
.ev-chip:hover{border-color:var(--navy);color:var(--navy)}
.ev-chip.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.ev-chip.active:hover{color:#fff}
.ev-list{display:grid;gap:1.3rem}

/* ---------- event rows (events page) ---------- */
.event-row{display:flex;align-items:center;gap:1.8rem;background:var(--ivory);border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:14px;padding:1.6rem 1.8rem}
.event-date{flex-shrink:0;text-align:center;background:var(--navy);color:#fff;border-radius:12px;padding:.8rem 1.1rem;min-width:80px}
.event-date .mo{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.event-date .day{display:block;font-family:'Fraunces',serif;font-size:1.8rem;font-weight:700;line-height:1}
.event-info{flex:1}
.event-info h3{font-family:'Fraunces',serif;color:var(--navy);font-size:1.25rem;margin-bottom:.2rem}
.event-info p{color:#3A3431;font-size:.93rem}
.event-cta{flex-shrink:0}
.event-tag{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .6rem;border-radius:6px;margin-bottom:.4rem;margin-right:.35rem}
.event-tag.free{background:#E3F0E5;color:#2E6B3A}
.event-tag.paid{background:#F3E4D4;color:#9B5A22}
.event-tag.online{background:var(--teal-light);color:var(--teal-deep)}
@media(max-width:880px){.event-row{flex-direction:column;align-items:flex-start;gap:1rem}}

/* ---------- The PLC Movement (stat band) ---------- */
.bignum{background:#1A1410;color:#fff;padding:4.5rem 0}
.bignum-head{text-align:center;max-width:640px;margin:0 auto 3rem}
.bignum-head .section-title{color:#fff}
.bignum-head .eyebrow{color:var(--gold)}
.bignum-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.bignum-card{text-align:center;padding:1.5rem 1rem;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.03)}
.bignum-num{font-family:'Fraunces',serif;font-weight:700;font-size:clamp(2.6rem,5vw,3.6rem);color:var(--gold);line-height:1;display:block}
.bignum-label{display:block;margin-top:.6rem;color:#d8d2cc;font-size:.92rem}
.bignum-foot{text-align:center;margin-top:2rem;font-size:.86rem;color:#b8aca6;font-style:italic}

/* ---------- Mission / Vision split ---------- */
.mission{background:var(--ivory)}
.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.mission-card{background:#fff;border-radius:16px;border-top:5px solid var(--gold);padding:2.2rem;box-shadow:0 24px 60px -28px rgba(90,22,32,.4);margin-bottom:1.4rem}
.mission-card:last-child{margin-bottom:0}
.mission-card h3{font-family:'Fraunces',serif;color:var(--navy);font-size:1.4rem;margin-bottom:.6rem}
.mission-card p{color:#3A3431}
@media(max-width:980px){
  .bignum-grid{grid-template-columns:repeat(2,1fr)}
  .mission-grid{grid-template-columns:1fr;gap:2.5rem}
}
@media(max-width:480px){.bignum-grid{grid-template-columns:1fr}}

/* ---------- enrollment announcement bar ---------- */
.enroll-bar{background:var(--navy);color:#fff;text-align:center;padding:.7rem 1.5rem;font-size:.92rem;line-height:1.4}
.enroll-bar strong{color:var(--gold);font-weight:700}
.enroll-bar .enroll-link{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px;margin-left:.4rem;white-space:nowrap}
.enroll-bar .enroll-link:hover{color:var(--gold)}
@media(max-width:600px){
  .enroll-bar{font-size:.82rem;padding:.6rem 1rem}
}

/* ===== ACADEMIC IMPACT — click to reveal ===== */
.impact-reveal{background:var(--white)}
.programs{background:var(--ivory)}
.reveal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:2.4rem}
.reveal-card{
  position:relative;text-align:left;cursor:pointer;
  background:var(--white);border:1px solid var(--line);border-radius:var(--r);
  padding:1.6rem 1.5rem;font-family:inherit;
  display:flex;flex-direction:column;gap:.5rem;
  transition:border-color .2s,box-shadow .2s,transform .2s;
  overflow:hidden;
}
.reveal-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gold)}
.reveal-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:transparent}
.reveal-num{font-family:'Fraunces',serif;font-weight:700;font-size:2.9rem;line-height:1;color:var(--navy)}
.reveal-pct{font-size:1.4rem;color:var(--gold-deep);margin-left:.1rem}
.reveal-label{font-weight:600;font-size:1rem;color:var(--ink);line-height:1.35}
.reveal-detail{
  font-size:.92rem;color:var(--slate);line-height:1.5;
  max-height:0;opacity:0;transition:max-height .35s ease,opacity .3s ease,margin .3s ease;margin-top:0;
}
.reveal-card[aria-expanded="true"]{border-color:var(--navy)}
.reveal-card[aria-expanded="true"] .reveal-detail{max-height:240px;opacity:1;margin-top:.4rem}
.reveal-card::after{
  content:"+";position:absolute;top:1.1rem;right:1.2rem;
  font-size:1.3rem;color:var(--gold-deep);font-weight:700;line-height:1;transition:transform .25s
}
.reveal-card[aria-expanded="true"]::after{content:"–";transform:scale(1.1)}
.reveal-foot{margin-top:1.6rem;font-size:.82rem;color:var(--slate);font-style:italic}
@media(max-width:860px){.reveal-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.reveal-grid{grid-template-columns:1fr}}

/* ===== Adaptive interest form ===== */
.route-card{font-family:inherit;text-align:left;cursor:pointer;width:100%}
.route-card[data-audience]{-webkit-appearance:none;appearance:none}
/* Safari fix: clicks on the card's inner text must register on the button itself */
.route-card[data-audience] > *{pointer-events:none}
.route-card.is-active{background:rgba(255,255,255,.12);border-color:var(--gold)}
.interest-wrap,.interest-success{margin-top:2rem}
.interest-card{
  background:var(--white);border-radius:16px;padding:2.2rem 2.2rem 2rem;
  max-width:760px;margin:0 auto;box-shadow:0 28px 70px -30px rgba(0,0,0,.5);
}
.interest-back{
  background:none;border:none;color:var(--steel,#2D7DD2);font-family:inherit;font-size:.9rem;
  font-weight:600;cursor:pointer;padding:0;margin-bottom:1rem;color:#2E75B6
}
.interest-back:hover{text-decoration:underline}
.interest-title{font-family:'Fraunces',serif;font-weight:700;font-size:1.6rem;color:var(--navy);margin-bottom:.4rem}
.interest-sub{color:var(--slate);font-size:1rem;margin-bottom:1.5rem}
.interest-form .if-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.if-field{margin-bottom:1rem;display:flex;flex-direction:column}
.if-field label{font-weight:600;font-size:.9rem;color:var(--ink);margin-bottom:.35rem}
.if-field .req{color:#B0413E}
.if-field input,.if-field textarea{
  font-family:inherit;font-size:1rem;padding:.7rem .8rem;border:1.5px solid var(--line);
  border-radius:9px;background:#fff;color:var(--ink);width:100%;transition:border-color .15s,box-shadow .15s
}
.if-field input:focus,.if-field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(196,154,58,.18)}
.if-field input.invalid,.if-field textarea.invalid{border-color:#B0413E;box-shadow:0 0 0 3px rgba(176,65,62,.15)}
.if-group{border-top:1px solid var(--line);padding-top:1.1rem;margin-top:.3rem}
.if-radio{display:flex;flex-direction:column;gap:.55rem;margin-top:.2rem}
.if-radio-opt{display:flex;align-items:center;gap:.55rem;font-weight:400;font-size:.98rem;color:var(--ink);cursor:pointer}
.if-radio-opt input{width:auto;accent-color:var(--navy)}
.if-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.6rem}
.if-note{color:var(--slate);font-size:.88rem}
.if-error{color:#B0413E;font-weight:600;font-size:.92rem;margin-top:.8rem}
.btn-outline-light{background:transparent;border:1.5px solid var(--navy);color:var(--navy)}
.btn-outline-light:hover{background:var(--navy);color:#fff}
/* success */
.interest-card-success{text-align:center;max-width:560px}
.success-check{
  width:64px;height:64px;border-radius:50%;background:var(--teal,#1E5A52);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 1.2rem
}
@media(max-width:600px){
  .interest-form .if-row{grid-template-columns:1fr}
  .interest-card{padding:1.6rem 1.3rem}
}

/* ===== Support the mission ===== */
.support{background:var(--white)}
.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.4rem}
.support-card{
  background:var(--ivory);border:1px solid var(--line);border-radius:var(--r);
  padding:1.8rem 1.6rem;display:flex;flex-direction:column;gap:.6rem;
  border-top:4px solid var(--gold);transition:transform .2s,box-shadow .2s
}
.support-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.support-card h3{font-family:'Fraunces',serif;font-weight:700;font-size:1.4rem;color:var(--navy)}
.support-card p{color:var(--ink);font-size:.98rem;flex:1}
.support-link{color:var(--navy);font-weight:600;font-size:.98rem;margin-top:.4rem}
.support-link:hover{color:var(--gold-deep)}
.support-cta{
  margin-top:2.4rem;text-align:center;background:var(--ivory);border-radius:16px;
  padding:2rem 1.5rem;border:1px solid var(--line)
}
.support-cta p{font-size:1.1rem;color:var(--navy);font-weight:600;margin-bottom:1.1rem}
@media(max-width:820px){.support-grid{grid-template-columns:1fr}}

/* Support page extras */
.support-why{margin-top:2.6rem;max-width:780px}
.support-why h2{font-family:'Fraunces',serif;font-weight:700;font-size:1.6rem;color:var(--navy);margin-bottom:.7rem}
.support-why p{color:var(--ink);line-height:1.7}
.support-fineprint{font-size:.85rem;color:var(--slate);margin-top:1rem;font-style:italic}

/* Footer contact email */
.footer-email{display:block;margin-top:.7rem;color:var(--gold);font-size:.92rem;font-weight:500;word-break:break-word}
.footer-email:hover{color:#fff;text-decoration:underline}

/* Support CTA — visible email fallback */
.support-or{margin-top:1rem;font-size:.95rem;color:var(--ink)}
.support-or a{color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.support-or a:hover{color:var(--gold-deep)}

/* Supporter form — select + optional hint */
.if-field select{
  font-family:inherit;font-size:1rem;padding:.7rem .8rem;border:1.5px solid var(--line);
  border-radius:9px;background:#fff;color:var(--ink);width:100%;transition:border-color .15s,box-shadow .15s;
  -webkit-appearance:none;appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%237A1F2B' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .9rem center;padding-right:2.2rem;
}
.if-field select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(196,154,58,.18)}
.if-field select.invalid{border-color:#B0413E;box-shadow:0 0 0 3px rgba(176,65,62,.15)}
.if-field .optional{color:var(--slate);font-weight:400;font-size:.85rem}
.support-form{max-width:640px;margin:0 auto;text-align:left}
.support-cta .interest-title,.support-cta .interest-sub{text-align:center}

/* Support page — impact story */
.support-story{
  display:grid;grid-template-columns:1fr 1.4fr;gap:2.4rem;align-items:center;
  margin-top:3rem;padding:2.2rem;background:var(--ivory);border-radius:16px;border-left:5px solid var(--gold)
}
.support-story-quote blockquote{
  font-family:'Fraunces',serif;font-size:1.2rem;line-height:1.5;color:var(--navy);
  font-style:italic;margin:0 0 1rem;quotes:none
}
.support-story-quote figcaption{display:flex;flex-direction:column}
.support-story-quote .q-name{font-weight:700;color:var(--ink)}
.support-story-quote .q-role{color:var(--slate);font-size:.9rem}
.support-story-text h2{font-family:'Fraunces',serif;font-weight:700;font-size:1.6rem;color:var(--navy);margin-bottom:.7rem}
.support-story-text p{color:var(--ink);line-height:1.7;margin-bottom:.9rem}
.support-story-text strong{color:var(--navy)}
.support-story-note{font-size:.82rem;color:var(--slate);font-style:italic;margin-bottom:0}
@media(max-width:820px){.support-story{grid-template-columns:1fr;gap:1.4rem;padding:1.6rem}}

/* Footer LinkedIn link */
.footer-linkedin{display:inline-block;margin-top:.5rem;color:#d8c8c4;font-size:.9rem;font-weight:500}
.footer-linkedin:hover{color:var(--gold)}
