@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
  --navy: #071f45;
  --navy-2: #0d2d5d;
  --gold: #d3a13a;
  --gold-dark: #b98220;
  --cream: #f7f3ea;
  --paper: #ffffff;
  --ink: #0a2147;
  --muted: #5b6575;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family:"Manrope",sans-serif; background:var(--cream); color:var(--ink); }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
button { font:inherit; }
.wrap { width:min(1380px, calc(100% - 40px)); margin:0 auto; }
.site-shell { min-height:100vh; overflow-x:hidden; background:var(--cream); }
.topbar { position:sticky; top:0; z-index:50; background:rgba(5,25,57,.98); border-bottom:1px solid rgba(211,161,58,.45); color:white; }
.nav-wrap { min-height:92px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:14px; min-width:0; }
.brand > img { width:68px; height:68px; object-fit:contain; filter:drop-shadow(0 0 1px rgba(255,255,255,.9)); }
.brand-copy { display:flex; flex-direction:column; line-height:1; }
.brand-copy strong { font-size:24px; text-transform:uppercase; letter-spacing:.13em; font-weight:700; }
.brand-copy em { margin-top:7px; color:var(--gold); font-style:normal; font-size:14px; letter-spacing:.32em; text-transform:uppercase; font-weight:800; }
.brand-copy small { margin-top:8px; font-size:8px; letter-spacing:.16em; text-transform:uppercase; color:#eef2f7; }
.desktop-nav { display:flex; align-items:center; gap:32px; font-size:14px; font-weight:700; }
.desktop-nav a:not(.gold-button):hover { color:#f0c96f; }
.gold-button, .outline-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:0 24px; border-radius:5px; font-weight:800; text-transform:uppercase; letter-spacing:.03em; transition:.2s ease; }
.gold-button { background:linear-gradient(135deg,#dfb44f,#c58b25); color:white; box-shadow:0 8px 20px rgba(0,0,0,.15); }
.gold-button:hover { transform:translateY(-2px); filter:brightness(1.05); }
.gold-button.small { min-height:40px; padding:0 20px; font-size:12px; }
.outline-button { border:1px solid var(--gold); color:white; }
.outline-button:hover { background:rgba(211,161,58,.12); }
.mobile-toggle { display:none; border:0; background:transparent; color:white; }
.mobile-nav { display:none; padding:16px 20px 24px; background:var(--navy); border-top:1px solid rgba(255,255,255,.08); }
.mobile-nav a { display:block; padding:11px 0; font-weight:700; }
.hero { position:relative; min-height:575px; overflow:hidden; background:var(--navy); color:white; }
.hero-photo { position:absolute; inset:0 0 0 43%; background:url('/images/hero-students.png') 40% center/cover no-repeat; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(100deg, #071f45 0%, #071f45 41%, rgba(7,31,69,.68) 52%, rgba(7,31,69,.16) 72%, rgba(7,31,69,.04) 82%); }
.hero-grid { position:relative; z-index:2; min-height:575px; display:grid; grid-template-columns:minmax(0,1fr) 1fr; align-items:center; }
.hero-copy { max-width:650px; padding:66px 0; }
.hero-kicker, .section-kicker { margin:0 0 14px; color:var(--gold); font-size:17px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.hero h1 { margin:0; max-width:720px; font-size:clamp(44px,4.7vw,70px); line-height:1.0; letter-spacing:-.04em; }
.hero h1 span { color:var(--gold); }
.hero-text { max-width:600px; margin:22px 0 0; font-size:17px; line-height:1.7; color:#eef3fa; }
.hero-actions { display:flex; flex-wrap:wrap; gap:16px; margin-top:28px; }
.intro-strip { background:white; padding:80px 0; }
.intro-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:80px; align-items:center; }
h2 { margin:0; font-family:"DM Serif Display",serif; font-size:clamp(40px,4.3vw,64px); line-height:1.02; font-weight:400; letter-spacing:-.02em; }
h2 span { color:var(--gold-dark); font-style:italic; }
.intro-grid > div:last-child p { font-size:17px; line-height:1.75; color:#3f4d60; }
.subtle { color:#717b89!important; }
.programs, .involvement { padding:90px 0; background:#fbfaf7; }
.section-title { max-width:800px; margin-bottom:42px; }
.section-title.centered { text-align:center; margin-left:auto; margin-right:auto; }
.section-title > p:last-child { color:var(--muted); }
.program-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #dfd8ca; border-bottom:1px solid #dfd8ca; }
.program-card { display:grid; grid-template-columns:100px 1fr; gap:22px; padding:38px 32px; border-right:1px solid #dfd8ca; background:white; }
.program-card:last-child { border-right:0; }
.round-icon { width:82px; height:82px; border-radius:50%; display:grid; place-items:center; background:var(--navy); color:var(--gold); border:3px solid rgba(211,161,58,.55); box-shadow:0 8px 18px rgba(4,25,58,.13); }
.round-icon svg { width:36px; height:36px; stroke-width:1.7; }
.program-card h3, .involve-card h3, .pillar-card h3, .journey-steps h3 { margin:0; font-size:24px; color:var(--navy); }
.program-kicker { margin:5px 0 10px!important; color:var(--gold-dark)!important; font-size:12px!important; text-transform:uppercase; font-weight:800; letter-spacing:.08em; }
.program-card p, .involve-card p, .pillar-card p { margin:0; color:#4f5b6a; line-height:1.65; font-size:14px; }
.pillars-section { padding:90px 0; background:white; }
.pillar-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.pillar-card { position:relative; min-height:300px; padding:38px; background:var(--navy); color:white; overflow:hidden; }
.pillar-card::after { content:""; position:absolute; width:180px; height:180px; border:1px solid rgba(211,161,58,.35); border-radius:50%; right:-70px; top:-70px; }
.pillar-card > svg { width:36px; height:36px; color:var(--gold); stroke-width:1.5; }
.pillar-card h3 { margin-top:70px; color:white; font-family:"DM Serif Display",serif; font-size:34px; font-weight:400; }
.pillar-card p { margin-top:12px; color:#d5deea; }
.pillar-number { position:absolute; top:28px; right:30px; color:rgba(211,161,58,.7); font-size:13px; font-weight:800; letter-spacing:.14em; }
.journey { padding:95px 0; background:linear-gradient(135deg,#071f45,#0d2d5d); color:white; }
.journey-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; align-items:start; }
.section-kicker.gold { color:#efc765; }
.journey-copy p:last-child { margin-top:24px; max-width:520px; color:#cbd6e4; line-height:1.8; }
.journey-steps { display:grid; gap:0; border-top:1px solid rgba(255,255,255,.18); }
.journey-steps article { display:grid; grid-template-columns:70px 1fr; gap:22px; padding:28px 0; border-bottom:1px solid rgba(255,255,255,.18); }
.journey-steps b { color:var(--gold); font-size:14px; letter-spacing:.12em; }
.journey-steps h3 { color:white; font-family:"DM Serif Display",serif; font-size:31px; font-weight:400; }
.journey-steps p { margin:8px 0 0; color:#cbd6e4; line-height:1.7; }
.involve-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.involve-card { min-height:315px; display:flex; flex-direction:column; padding:30px; background:white; border:1px solid #e2ded5; box-shadow:0 10px 35px rgba(10,33,71,.06); }
.round-icon.small { width:70px; height:70px; }
.round-icon.small svg { width:31px; height:31px; }
.involve-card h3 { margin-top:24px; font-size:20px; }
.involve-card p { margin-top:10px; }
.involve-card a { margin-top:auto; padding-top:22px; color:var(--gold-dark); font-size:12px; text-transform:uppercase; font-weight:800; display:flex; align-items:center; gap:7px; }
.impact-bar { background:var(--navy); color:white; border-top:5px solid var(--gold); }
.impact-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.impact-grid > div { display:grid; grid-template-columns:48px 1fr; padding:30px 32px; border-right:1px solid rgba(255,255,255,.2); }
.impact-grid > div:last-child { border-right:0; }
.impact-grid svg { grid-row:span 2; color:var(--gold); width:34px; height:34px; stroke-width:1.4; }
.impact-grid strong { font-size:17px; }
.impact-grid span { color:#cbd6e4; font-size:12px; margin-top:3px; }
.contact-section { padding:100px 0; background:#ece7dd; }
.contact-grid { display:grid; grid-template-columns:1fr .85fr; gap:80px; align-items:center; }
.contact-grid > div:first-child > p:last-child { margin-top:24px; color:#526071; line-height:1.8; max-width:670px; }
.contact-card { padding:42px; background:white; border-top:5px solid var(--gold); box-shadow:0 14px 40px rgba(10,33,71,.08); }
.contact-card h3 { margin:0 0 12px; font-family:"DM Serif Display",serif; font-size:30px; font-weight:400; }
.contact-card p { color:#5c6674; line-height:1.7; }
.contact-card .gold-button { margin-top:18px; }
.footer { background:#04172f; color:white; padding:34px 0; }
.footer-grid { display:grid; grid-template-columns:1.1fr 1fr auto; gap:34px; align-items:center; }
.footer .brand > img { width:54px; height:54px; }
.footer .brand-copy strong { font-size:17px; }
.footer .brand-copy em { font-size:10px; }
.footer p { margin:0; color:#c6d0dd; font-size:11px; line-height:1.6; }

@media (max-width: 1100px) {
  .desktop-nav { display:none; }
  .mobile-toggle { display:block; }
  .mobile-nav { display:block; }
  .program-grid { grid-template-columns:1fr; }
  .program-card { border-right:0; border-bottom:1px solid #dfd8ca; }
  .program-card:last-child { border-bottom:0; }
  .involve-grid { grid-template-columns:repeat(2,1fr); }
  .impact-grid { grid-template-columns:repeat(2,1fr); }
  .impact-grid > div:nth-child(2) { border-right:0; }
  .impact-grid > div:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.2); }
}
@media (max-width: 800px) {
  .wrap { width:min(100% - 28px, 1380px); }
  .nav-wrap { min-height:78px; }
  .brand > img { width:48px; height:48px; }
  .brand-copy strong { font-size:15px; letter-spacing:.1em; }
  .brand-copy em { font-size:9px; letter-spacing:.22em; }
  .brand-copy small { display:none; }
  .hero { min-height:850px; background:var(--navy); overflow:hidden; }
  .hero-photo {
    inset:auto 0 0 0;
    height:365px;
    background:
      linear-gradient(180deg, rgba(7,31,69,.18) 0%, rgba(7,31,69,.08) 10%, rgba(7,31,69,0) 20%),
      url('/images/hero-students.png') center 10%/cover no-repeat;
  }
  .hero-shade { display:none; }
  .hero-grid {
    min-height:850px;
    grid-template-columns:1fr;
    align-items:start;
    padding-bottom:390px;
  }
  .hero-copy { padding:40px 6px 0; max-width:620px; }
  .hero-kicker { margin-bottom:12px; font-size:11px; letter-spacing:.08em; }
  .hero h1 { max-width:620px; font-size:clamp(36px,9.8vw,48px); line-height:1.02; }
  .hero-text { margin-top:16px; font-size:14px; line-height:1.58; max-width:590px; }
  .hero-actions { gap:10px; margin-top:20px; }
  .gold-button, .outline-button { min-height:44px; padding:0 15px; font-size:11px; }
  .intro-strip, .programs, .pillars-section, .involvement, .journey, .contact-section { padding:68px 0; }
  .intro-grid, .journey-grid, .contact-grid { grid-template-columns:1fr; gap:36px; }
  .pillar-grid, .involve-grid { grid-template-columns:1fr; }
  .pillar-card { min-height:250px; }
  .pillar-card h3 { margin-top:50px; }
  .program-card { grid-template-columns:74px 1fr; padding:28px 18px; }
  .round-icon { width:64px; height:64px; }
  .round-icon svg { width:29px; height:29px; }
  .impact-grid { grid-template-columns:1fr; }
  .impact-grid > div { border-right:0!important; border-bottom:1px solid rgba(255,255,255,.2); }
  .impact-grid > div:last-child { border-bottom:0; }
  .footer-grid { grid-template-columns:1fr; }
}

.icon-letter{font-family:Manrope,sans-serif;font-size:24px;font-weight:800;letter-spacing:.03em}.pillar-symbol{width:36px;height:36px;color:var(--gold);font-size:29px;line-height:1}.impact-symbol{grid-row:span 2;color:var(--gold);font-size:26px;line-height:1}.mobile-toggle{font-size:28px;cursor:pointer}.mobile-nav.hidden{display:none}@media(max-width:1100px){.mobile-nav.hidden{display:none}.mobile-nav.open{display:block}}

.text-link{display:inline-flex;margin-top:16px;color:var(--gold-dark);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.bio-section{padding:90px 0;background:white}
.bio-grid{display:grid;grid-template-columns:300px 1fr;gap:70px;align-items:center}
.bio-mark{min-height:300px;background:linear-gradient(145deg,#f7f3ea,#fff);border:1px solid #e4ddcf;display:grid;place-items:center;padding:50px}
.bio-mark img{width:190px;height:190px;object-fit:contain}
.bio-grid h3{margin:24px 0 4px;font-family:"DM Serif Display",serif;font-size:32px;font-weight:400;color:var(--navy)}
.bio-role{margin:0 0 18px;color:var(--gold-dark);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.bio-grid p{color:#4f5b6a;line-height:1.75}
.page-hero{padding:90px 0 70px;background:linear-gradient(135deg,#071f45,#0d2d5d);color:white}
.page-hero .wrap{max-width:1000px}
.page-hero h1{margin:0;font-family:"DM Serif Display",serif;font-size:clamp(46px,6vw,76px);line-height:1;font-weight:400}
.page-hero h1 span{color:var(--gold);font-style:italic}
.page-hero p:last-child{max-width:760px;margin:20px 0 0;color:#d8e1ec;font-size:17px;line-height:1.7}
.page-section{padding:78px 0;background:#fbfaf7}
.page-section.white{background:white}
.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.detail-card{padding:32px;background:white;border:1px solid #e1dbcf;border-top:4px solid var(--gold);box-shadow:0 10px 35px rgba(10,33,71,.05)}
.detail-card h3{margin:0;font-family:"DM Serif Display",serif;font-size:30px;font-weight:400;color:var(--navy)}
.detail-card p{color:#536070;line-height:1.7}
.form-wrap{max-width:860px;margin:auto;background:white;padding:40px;border:1px solid #e1dbcf;box-shadow:0 14px 42px rgba(10,33,71,.07)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-field{display:flex;flex-direction:column;gap:8px}
.form-field.full{grid-column:1/-1}
.form-field label{font-weight:700;font-size:13px;color:var(--navy)}
.form-field input,.form-field select,.form-field textarea{width:100%;padding:13px 14px;border:1px solid #cfd5dd;border-radius:4px;background:white;font:inherit;color:#17263b}
.form-field textarea{min-height:140px;resize:vertical}
.form-note{margin:0 0 24px;color:#657080;line-height:1.7}
.form-actions{margin-top:24px}
.honeypot{position:absolute;left:-9999px;opacity:0;height:1px;width:1px;overflow:hidden}
.back-home{display:inline-flex;margin-top:28px;color:var(--gold);font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.06em}
.about-copy{max-width:900px}
.about-copy p{font-size:17px;line-height:1.8;color:#4f5b6a}
.program-feature{display:grid;grid-template-columns:120px 1fr;gap:30px;padding:38px 0;border-bottom:1px solid #ddd7cb}
.program-feature:last-child{border-bottom:0}
.program-feature .round-icon{width:96px;height:96px}
.program-feature h2{font-size:44px}
.program-feature p{max-width:850px;color:#536070;line-height:1.75}
@media(max-width:800px){.bio-grid,.detail-grid,.form-grid{grid-template-columns:1fr}.bio-mark{min-height:220px}.bio-mark img{width:150px;height:150px}.form-wrap{padding:26px 20px}.page-hero{padding:68px 0 54px}.program-feature{grid-template-columns:1fr;gap:18px}.program-feature .round-icon{width:78px;height:78px}.form-field.full{grid-column:auto}}

@media (max-width:560px){
  .hero{min-height:840px}
  .hero-grid{min-height:840px;padding-bottom:350px}
  .hero-photo{
    inset:auto 0 0 0;
    height:330px;
    background:
      linear-gradient(180deg, rgba(7,31,69,.16) 0%, rgba(7,31,69,0) 18%),
      url('/images/hero-students.png') center 6%/cover no-repeat;
  }
  .hero-copy{padding:32px 0 0}
  .hero-kicker{font-size:10.5px}
  .hero h1{font-size:clamp(34px,10.8vw,42px);line-height:1.02}
  .hero-text{font-size:13px;line-height:1.55;max-width:100%}
  .hero-actions{margin-top:18px;gap:8px}
  .gold-button,.outline-button{min-height:42px;padding:0 12px;font-size:10px}
}
