:root{
  --ink:#1d2a2b;
  --ink-soft:#465657;
  --teal:#0b3b3c;
  --teal-mid:#12595b;
  --accent:#0e7c7b;
  --paper:#fbfaf7;
  --paper-alt:#f0f4f2;
  --line:#dbe3e0;
  --radius:14px;
  --max:62rem;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.65;
  font-size:1.0625rem;
}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1.25rem}
a{color:var(--accent)}
a:hover{color:var(--teal-mid)}

.site-header{background:var(--teal);color:#fff;position:sticky;top:0;z-index:10}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1.25rem;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none;font-size:1rem}
.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:8px;background:#fff;color:var(--teal);font-weight:800;font-size:1.15rem}
.brand-name strong{font-weight:800}
.site-header nav{display:flex;gap:1.1rem;flex-wrap:wrap}
.site-header nav a{color:#d7e6e4;text-decoration:none;font-size:.95rem}
.site-header nav a:hover{color:#fff;text-decoration:underline}

.hero{background:linear-gradient(180deg,var(--teal) 0%,var(--teal-mid) 100%);color:#fff;padding:4.5rem 0 4rem}
.kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:700;color:#9fd4cf;margin:0 0 1rem}
.hero h1{font-size:clamp(1.9rem,4.5vw,3rem);line-height:1.15;margin:0 0 1.25rem;max-width:48rem;font-weight:800}
.lede{font-size:1.15rem;color:#e4efed;max-width:44rem;margin:0 0 2rem}
.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin:0}

.btn{display:inline-block;background:#fff;color:var(--teal);font-weight:700;text-decoration:none;border:2px solid #fff;border-radius:999px;padding:.65rem 1.5rem;font-size:1rem;cursor:pointer}
.btn:hover{background:#e8f3f1;color:var(--teal)}
.btn-ghost{background:transparent;color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.12);color:#fff}
.section .btn,.contact-form .btn{background:var(--accent);color:#fff;border-color:var(--accent)}
.section .btn:hover,.contact-form .btn:hover{background:var(--teal-mid);border-color:var(--teal-mid);color:#fff}

.section{padding:3.5rem 0}
.section-alt{background:var(--paper-alt)}
.section h2{font-size:1.7rem;margin:0 0 1.25rem;color:var(--teal)}
.section p{max-width:46rem}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.1rem;margin-top:1.5rem}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem 1.5rem;box-shadow:0 1px 3px rgba(13,45,46,.05)}
.card h3{margin:0 0 .6rem;font-size:1.12rem;color:var(--teal)}
.card p{margin:0;color:var(--ink-soft);font-size:.98rem}
.card.program{max-width:46rem}
.note{font-size:.92rem;color:var(--ink-soft);border-left:3px solid var(--accent);padding-left:1rem;margin-top:2rem}

ul{max-width:46rem;padding-left:1.3rem}
li{margin:.4rem 0}

.contact-form{max-width:34rem;margin-top:1.5rem}
.form-row{margin-bottom:1.1rem}
.form-row label{display:block;font-weight:600;margin-bottom:.35rem;font-size:.95rem}
.form-row input,.form-row textarea{width:100%;padding:.7rem .85rem;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff;color:var(--ink)}
.form-row input:focus,.form-row textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}

.site-footer{background:var(--teal);color:#cfe2df;padding:2.2rem 0;margin-top:0;font-size:.93rem}
.site-footer p{margin:.3rem 0}
.site-footer a{color:#9fd4cf}
.site-footer strong{color:#fff}

@media (max-width:640px){
  .hero{padding:3.2rem 0 3rem}
  .section{padding:2.6rem 0}
  .header-row{padding:.7rem 1rem}
}
