:root{--forest:#1b3b32;--forest-2:#2b5749;--cream:#f6f1e7;--paper:#fcfbf8;--ink:#17231f;--muted:#67726d;--gold:#b98b43;--line:#d9ddd8;--white:#fff;--container:1200px;--sans:'DM Sans',system-ui,sans-serif;--serif:'Newsreader',Georgia,serif}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.65;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img,svg{display:block}.container{width:min(calc(100% - 48px),var(--container));margin:0 auto}.skip-link{position:fixed;left:16px;top:-70px;z-index:100;padding:10px 14px;background:var(--forest);color:#fff}.skip-link:focus{top:12px}
.demo-note{background:var(--forest);color:#dce8e3;font-size:.76rem}.demo-note-inner{min-height:35px;display:flex;align-items:center;justify-content:space-between;gap:18px}.demo-note a{display:inline-flex;align-items:center;gap:6px;color:#fff;font-weight:600}.demo-note svg{width:14px;height:14px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(252,251,248,.96);border-bottom:1px solid var(--line);transition:box-shadow .2s ease}.site-header.scrolled{box-shadow:0 8px 24px rgba(23,35,31,.08)}.header-inner{height:78px;display:flex;align-items:center;gap:30px}.brand{display:inline-flex;align-items:center;gap:11px;flex:0 0 auto}.brand-mark{width:41px;height:41px;display:grid;place-items:center;background:var(--forest);color:var(--cream);border-radius:50%}.brand-mark svg{width:20px}.brand>span:last-child{display:grid;line-height:1}.brand strong{font:600 1.03rem/1 var(--serif);letter-spacing:.12em}.brand small{margin-top:5px;color:var(--muted);font-size:.55rem;font-weight:700;letter-spacing:.17em}.main-nav{display:flex;align-items:center;gap:28px;margin-left:auto}.main-nav a,.portal-link{color:#4b5954;font-size:.83rem;font-weight:600}.main-nav a:hover,.portal-link:hover{color:var(--forest-2)}.header-actions{display:flex;align-items:center;gap:17px}.menu-button{display:none;width:42px;height:42px;border:1px solid var(--line);background:transparent;cursor:pointer}.menu-button span{display:block;width:18px;height:2px;margin:4px auto;background:var(--forest);transition:.2s}.menu-button.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-button.open span:nth-child(2){opacity:0}.menu-button.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.button{min-height:49px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 21px;border:1px solid transparent;font-size:.84rem;font-weight:700;transition:background .2s,color .2s,border-color .2s,transform .2s}.button:hover{transform:translateY(-1px)}.button svg{width:17px;height:17px}.button-small{min-height:40px;padding-inline:16px;font-size:.78rem}.button-primary{background:var(--forest);color:#fff}.button-primary:hover{background:var(--forest-2)}.button-outline{border-color:#98a39e;color:var(--forest);background:transparent}.button-outline:hover{border-color:var(--forest)}.button-light{background:var(--cream);color:var(--forest)}.button-dark-outline{border-color:#799489;color:#fff}
.hero{padding:70px 0 82px}.hero-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}.kicker{color:var(--forest-2);font-size:.7rem;font-weight:700;letter-spacing:.16em}.hero h1{max-width:680px;margin-top:21px;font:600 clamp(3.6rem,6.5vw,6.3rem)/.94 var(--serif);letter-spacing:-.035em}.hero h1 em{color:var(--forest-2);font-style:italic}.hero-lead{max-width:630px;margin-top:27px;color:#53615c;font-size:1.05rem;line-height:1.8}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:31px}.hero-points{display:flex;flex-wrap:wrap;gap:11px 22px;margin-top:32px;padding-top:22px;border-top:1px solid var(--line)}.hero-points span{display:inline-flex;align-items:center;gap:7px;color:#54635d;font-size:.75rem;font-weight:600}.hero-points svg{width:14px;height:14px;color:var(--forest-2)}.hero-media{position:relative;padding:0 0 38px 38px}.hero-media::before{content:'';position:absolute;inset:38px 38px 0 0;border:1px solid #9ba79f;z-index:-1}.hero-media img{width:100%;height:590px;object-fit:cover;filter:saturate(.78) contrast(.98)}.media-caption{position:absolute;left:0;bottom:0;display:grid;grid-template-columns:38px 1fr;gap:15px;width:min(390px,80%);padding:22px;background:var(--cream);border:1px solid #cfc8bb}.media-caption span{color:var(--gold);font-size:.7rem;font-weight:700}.media-caption p{font:600 1.12rem/1.3 var(--serif)}
.promise-strip{border-block:1px solid var(--line);background:#fff}.promise-grid{display:grid;grid-template-columns:repeat(4,1fr)}.promise-grid div{min-height:104px;padding:23px;border-right:1px solid var(--line)}.promise-grid div:first-child{border-left:1px solid var(--line)}.promise-grid strong{display:block;color:var(--forest);font:600 1.25rem/1.1 var(--serif)}.promise-grid span{display:block;margin-top:7px;color:var(--muted);font-size:.72rem}
.section{padding:105px 0;scroll-margin-top:78px}.approach-layout{display:grid;grid-template-columns:.84fr 1.16fr;gap:100px}.section-title h2,.heading-row h2,.tracking-copy h2{margin-top:17px;font:600 clamp(2.6rem,4.8vw,4.55rem)/1 var(--serif);letter-spacing:-.03em}.section-lead{color:#3f514a;font-size:1.16rem;line-height:1.75}.approach-list{display:grid;grid-template-columns:1fr 1fr;margin-top:39px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.approach-list article{display:grid;grid-template-columns:35px 1fr;gap:16px;min-height:175px;padding:23px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.approach-list article>span{color:var(--gold);font-size:.68rem;font-weight:700}.approach-list h3{font:600 1.18rem/1.2 var(--serif)}.approach-list p{margin-top:8px;color:var(--muted);font-size:.8rem}
.programs{background:var(--cream);border-block:1px solid #ded5c7}.heading-row{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:end;margin-bottom:48px}.heading-row>p{padding-bottom:7px;color:var(--muted);font-size:.9rem}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #b9b4aa;border-left:1px solid #b9b4aa}.program-card{min-height:465px;display:flex;flex-direction:column;padding:30px;border-right:1px solid #b9b4aa;border-bottom:1px solid #b9b4aa;background:rgba(255,255,255,.42)}.program-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.program-meta span{color:var(--forest);font-size:.7rem;font-weight:700;letter-spacing:.12em}.program-meta small{color:#7d807b;font-size:.66rem}.program-card h3{margin-top:67px;font:600 1.7rem/1.15 var(--serif)}.program-card>p{margin-top:14px;color:var(--muted);font-size:.84rem}.program-card ul{display:grid;gap:8px;margin:27px 0;list-style:none}.program-card li{position:relative;padding-left:13px;color:#48584f;font-size:.76rem}.program-card li::before{content:'';position:absolute;left:0;top:.67em;width:4px;height:4px;background:var(--gold)}.program-card>a{display:inline-flex;align-items:center;gap:8px;margin-top:auto;color:var(--forest);font-size:.77rem;font-weight:700}.program-card>a svg{width:15px}
.tracking{background:var(--forest);color:#fff}.tracking-layout{display:grid;grid-template-columns:1.06fr .94fr;gap:90px;align-items:center}.tracking-panel{border:1px solid #527166;background:#21473b}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 20px;border-bottom:1px solid #527166}.panel-heading span{color:#a6c1b8;font-size:.61rem;font-weight:700;letter-spacing:.12em}.panel-heading strong{font-size:.78rem}.panel-student{display:flex;align-items:center;gap:12px;margin:24px;padding:17px;border:1px solid #5b796f;background:#1b3b32}.panel-student .avatar{width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:var(--cream);color:var(--forest);font:600 1.2rem var(--serif)}.panel-student div{display:grid}.panel-student small{color:#9db8af;font-size:.58rem;letter-spacing:.1em}.panel-student strong{font-size:.88rem}.panel-student>svg{width:17px;margin-left:auto;color:#9db8af}.panel-grid{display:grid;grid-template-columns:repeat(3,1fr);margin:0 24px 24px;border-top:1px solid #527166;border-left:1px solid #527166}.panel-grid div{min-height:105px;display:grid;place-items:center;gap:9px;padding:13px;border-right:1px solid #527166;border-bottom:1px solid #527166;color:#d7e3df;font-size:.68rem;text-align:center}.panel-grid svg{width:20px;color:#d6bd8e}.panel-footer{display:flex;justify-content:space-between;gap:15px;padding:13px 20px;border-top:1px solid #527166;color:#9db8af;font-size:.61rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.tracking-copy .kicker{color:#d6bd8e}.tracking-copy h2{color:#fff}.tracking-copy>p{margin-top:24px;color:#b7cbc4}.tracking-copy ul{display:grid;gap:15px;margin:30px 0;list-style:none}.tracking-copy li{display:flex;gap:11px;color:#dce7e3;font-size:.82rem}.tracking-copy li svg{flex:0 0 auto;width:18px;color:#d6bd8e}.tracking-copy .button-outline{border-color:#78968b;color:#fff}
.admission-steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.admission-steps article{min-height:235px;padding:25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.admission-steps span{color:var(--gold);font-size:.7rem;font-weight:700}.admission-steps h3{margin-top:55px;font:600 1.32rem/1.15 var(--serif)}.admission-steps p{margin-top:10px;color:var(--muted);font-size:.8rem}
.contact{padding-top:30px}.contact-box{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center;padding:52px;background:var(--forest);color:#fff}.kicker-light{color:#d6bd8e}.contact h2{max-width:690px;margin-top:15px;font:600 clamp(2.4rem,4.5vw,4.3rem)/1 var(--serif)}.contact p:not(.kicker){max-width:650px;margin-top:18px;color:#b7cbc4}.contact-actions{display:grid;gap:10px}.contact-actions small{margin-top:4px;color:#9db8af;font-size:.65rem}.contact-actions .button-dark-outline{border-color:#78968b}
.footer{margin-top:40px;border-top:1px solid var(--line);background:#fff}.footer-main{display:grid;grid-template-columns:1.5fr .65fr .65fr;gap:70px;padding:58px 0 46px}.footer-brand p{max-width:340px;margin-top:18px;color:var(--muted);font-size:.8rem}.footer-links{display:grid;align-content:start;gap:9px}.footer-links strong{margin-bottom:7px;color:var(--forest);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.footer-links a{color:var(--muted);font-size:.78rem}.footer-bottom{min-height:58px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);color:#7a847f;font-size:.7rem}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){.main-nav{position:fixed;top:113px;left:24px;right:24px;display:none;padding:12px;border:1px solid var(--line);background:var(--paper);box-shadow:0 20px 40px rgba(23,35,31,.15)}.main-nav.active{display:grid}.main-nav a{padding:11px}.portal-link,.header-actions>.button{display:none}.menu-button{display:block}.hero-layout,.approach-layout,.tracking-layout{grid-template-columns:1fr;gap:56px}.hero-media{max-width:760px}.heading-row{grid-template-columns:1fr;gap:22px}.program-grid{grid-template-columns:1fr 1fr}.admission-steps{grid-template-columns:1fr 1fr}.contact-box{grid-template-columns:1fr;gap:35px}}
@media(max-width:700px){.container{width:min(calc(100% - 30px),var(--container))}.demo-note-inner>span{display:none}.demo-note-inner{justify-content:flex-end}.header-inner{height:69px}.main-nav{top:104px;left:15px;right:15px}.hero{padding:54px 0 65px}.hero h1{font-size:clamp(3.2rem,15vw,4.8rem)}.hero-actions .button{width:100%}.hero-media{padding:0 0 24px 20px}.hero-media img{height:420px}.media-caption{width:85%;padding:17px}.promise-grid{grid-template-columns:1fr 1fr}.promise-grid div{min-height:95px;border-bottom:1px solid var(--line)}.section{padding:77px 0}.approach-list,.program-grid,.admission-steps{grid-template-columns:1fr}.program-card{min-height:405px}.panel-grid{grid-template-columns:1fr 1fr}.panel-heading{align-items:flex-start;flex-direction:column}.contact-box{padding:34px 22px}.footer-main{grid-template-columns:1fr;gap:34px}.footer-bottom{align-items:flex-start;flex-direction:column;justify-content:center;gap:3px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
