:root{
  --ink:#153f46;
  --ink-2:#285b61;
  --green:#657e35;
  --green-2:#8aa64d;
  --gold:#d7a534;
  --sky:#dceff1;
  --paper:#f7f7f2;
  --white:#ffffff;
  --line:rgba(21,63,70,.14);
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}
a{color:inherit}
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:2rem;max-width:var(--max);margin:0 auto;padding:1rem 1.5rem;background:rgba(247,247,242,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{text-decoration:none;display:flex;align-items:center;min-height:48px}
.brand img{height:64px;width:auto;max-width:280px;object-fit:contain}
.brand-fallback{display:none;font-weight:750;letter-spacing:-.02em}
nav{display:flex;gap:1.25rem;flex-wrap:wrap}
nav a{text-decoration:none;font-size:.93rem;font-weight:650;color:var(--ink-2)}
main{overflow:hidden}
.hero{max-width:var(--max);margin:0 auto;padding:7.5rem 1.5rem 6rem;position:relative}
.hero:after{content:"";position:absolute;right:-10%;top:10%;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle at 40% 40%,rgba(215,165,52,.28),rgba(138,166,77,.18) 40%,rgba(85,161,178,.12) 67%,transparent 70%);z-index:-1}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:800;color:var(--green);margin-bottom:1rem}
h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:600;letter-spacing:-.035em;line-height:1.05;margin:.2rem 0 1.25rem}
h1{font-size:clamp(3.2rem,8vw,7rem);max-width:900px}
h2{font-size:clamp(2.2rem,4.5vw,4.4rem)}
.lede{font-size:clamp(1.15rem,2vw,1.45rem);max-width:720px;color:var(--ink-2)}
.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin:2.25rem 0}
.button{display:inline-block;padding:.9rem 1.1rem;border-radius:999px;text-decoration:none;font-weight:750;border:1px solid var(--ink)}
.primary{background:var(--ink);color:var(--white)}
.secondary{background:transparent}
.status{margin-top:3rem;max-width:760px;padding-top:1rem;border-top:1px solid var(--line);font-size:.9rem;color:var(--ink-2)}
.section{max-width:var(--max);margin:0 auto;padding:6rem 1.5rem}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:5rem;align-items:start}
.split p,.narrow{font-size:1.12rem;color:var(--ink-2)}
.soft{border-radius:36px;background:linear-gradient(135deg,rgba(220,239,241,.72),rgba(255,255,255,.6));padding-left:3rem;padding-right:3rem}
.program-card{background:var(--white);padding:clamp(2rem,5vw,5rem);border-radius:36px;border:1px solid var(--line);box-shadow:0 24px 70px rgba(21,63,70,.08)}
.program-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:var(--gold)}
.program-card>p{max-width:850px;font-size:1.17rem;color:var(--ink-2)}
.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.75rem}
.program-grid div{padding:1.2rem;border-top:2px solid var(--green-2);background:var(--paper)}
.program-grid strong,.program-grid span{display:block}
.program-grid span{margin-top:.45rem;color:var(--ink-2);font-size:.93rem}
.text-link{font-weight:800;text-decoration:none;border-bottom:1px solid var(--ink)}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:4rem;border-top:1px solid var(--line)}
footer{max-width:var(--max);margin:0 auto;padding:2rem 1.5rem 4rem;display:flex;justify-content:space-between;gap:2rem;border-top:1px solid var(--line);font-size:.9rem;color:var(--ink-2)}
@media(max-width:820px){
  .site-header{position:relative;align-items:flex-start;flex-direction:column}
  nav{gap:.8rem 1rem}
  .hero{padding-top:4.5rem}
  .split,.contact{grid-template-columns:1fr;gap:1.5rem}
  .program-grid{grid-template-columns:1fr 1fr}
  .soft{border-radius:24px;padding-left:1.5rem;padding-right:1.5rem}
  footer{flex-direction:column}
}
@media(max-width:520px){
  .program-grid{grid-template-columns:1fr}
  h1{font-size:3.35rem}
}