:root{--deep:#06242a;--deep2:#0a343c;--sea:#12505a;--beam:#ffd45e;--foam:#eef6f4;--ink:#0b1f23;--mute:#9db8bb}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-family:'Source Sans 3',system-ui,sans-serif;color:var(--ink);background:var(--foam);font-size:1.1rem;line-height:1.65}
h1,h2,h3,.disp{font-family:'Big Shoulders Display',Impact,sans-serif;text-transform:uppercase;font-weight:800;line-height:.95;letter-spacing:.01em}
.util{background:#031418;color:var(--mute);font-size:.92rem;padding:.4rem 0}
.util a{color:var(--beam);text-decoration:none;font-weight:600}
.navbar{background:var(--deep);border-bottom:1px solid rgba(255,255,255,.08)}
.navbar-brand{display:flex;align-items:center;gap:.6rem;color:#fff!important;font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:1.55rem;text-transform:uppercase;letter-spacing:.03em}
.navbar-brand small{display:block;font-family:'Source Sans 3',sans-serif;font-size:.62rem;font-weight:600;letter-spacing:.3em;color:var(--beam);line-height:1}
.navbar .nav-link{color:#dbeceb;font-weight:600}.navbar .nav-link:hover{color:var(--beam)}
.navbar-toggler{border-color:rgba(255,255,255,.4)}.navbar-toggler-icon{filter:invert(1)}
.btn-beam{background:var(--beam);color:var(--deep);font-weight:700;border-radius:0;padding:.8rem 1.6rem;border:2px solid var(--beam)}
.btn-beam:hover{background:#fff;border-color:#fff;color:var(--deep)}
.btn-ghost{border:2px solid #fff;color:#fff;border-radius:0;padding:.8rem 1.6rem;font-weight:700}
.btn-ghost:hover{background:#fff;color:var(--deep)}
.hero{position:relative;background:var(--deep);color:#fff;overflow:hidden;padding:6rem 0 7rem}
.hero:before{content:"";position:absolute;right:-10%;top:12%;width:140%;height:70%;background:conic-gradient(from 258deg at 82% 30%,transparent 0deg,rgba(255,212,94,.34) 7deg,transparent 15deg);pointer-events:none}
.hero h1{font-size:clamp(3.2rem,9vw,7.2rem);margin:.8rem 0 1.4rem}
.hero h1 em{font-style:normal;color:var(--beam)}
.eyebrow{font-family:'Source Sans 3',sans-serif;font-size:.85rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--beam)}
.hero .lead{max-width:34rem;color:#d3e5e4}
.lh{position:absolute;right:6%;bottom:0;width:min(230px,28vw);opacity:.95}
.waves{position:absolute;left:0;right:0;bottom:-1px;height:46px;background:var(--foam);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 12' preserveAspectRatio='none'%3E%3Cpath d='M0 12V6c10 0 10-5 20-5s10 5 20 5 10-5 20-5 10 5 20 5 10-5 20-5 10 5 20 5v6z'/%3E%3C/svg%3E") 0 0/120px 100%;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 12' preserveAspectRatio='none'%3E%3Cpath d='M0 12V6c10 0 10-5 20-5s10 5 20 5 10-5 20-5 10 5 20 5 10-5 20-5 10 5 20 5v6z'/%3E%3C/svg%3E") 0 0/120px 100%}
.stats{background:var(--foam);padding:1rem 0 3rem}
.stat b{font-family:'Big Shoulders Display',sans-serif;font-size:4rem;line-height:1;display:block;color:var(--sea);font-weight:800}
.stat span{font-size:.95rem;color:#3b5559;display:block;max-width:15rem}
section{padding:5rem 0}
h2{font-size:clamp(2.4rem,5vw,4rem);color:var(--deep);margin-bottom:1.2rem}
.programs{background:#fff}
.prog{border-top:6px solid var(--beam);background:var(--foam);padding:2rem;height:100%}
.prog h3{font-size:2rem;color:var(--deep)}
.index{list-style:none;padding:0;margin:0}
.index li{border-bottom:1px solid #c8dad8;padding:1.4rem 0}
.index h3{font-size:2rem;margin-bottom:.4rem;color:var(--deep)}
.index p{margin:0;max-width:44rem}
.dark{background:var(--deep2);color:#e6f1f0;position:relative;overflow:hidden}
.dark h2{color:#fff}
.dark:before{content:"";position:absolute;left:-20%;top:-30%;width:90%;height:160%;background:conic-gradient(from 60deg at 0% 50%,transparent 0deg,rgba(255,212,94,.16) 8deg,transparent 16deg);pointer-events:none}
.dark .container{position:relative}
.quote{font-family:'Big Shoulders Display',sans-serif;text-transform:uppercase;font-weight:800;font-size:clamp(2rem,5vw,3.6rem);line-height:1;color:var(--beam)}
.callout{border-left:6px solid var(--beam);padding:.4rem 0 .4rem 1.4rem}
.contact{background:var(--beam);color:var(--deep)}
.contact h2{color:var(--deep)}
.contact .big{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:clamp(2.4rem,6vw,4.4rem);color:var(--deep);text-decoration:none;display:block;line-height:1}
.contact .btn-dark{border-radius:0;background:var(--deep);padding:.8rem 1.6rem;font-weight:700}
footer{background:#031418;color:var(--mute);padding:2.5rem 0;font-size:.95rem}
footer a{color:var(--beam)}
@media(max-width:767px){.hero{padding:4rem 0 6rem}.lh{opacity:.35;right:2%}section{padding:3.5rem 0}}
