:root{--primary:#176b5b;--secondary:#f4a261;--ink:#17352f;--paper:#fffdf8;--soft:#eef6f2;--content-width:1180px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);scroll-behavior:smooth;scroll-padding-top:10rem}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;line-height:1.6}a{color:inherit}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.7rem;z-index:30}.section-inner,.header-inner,.footer-inner{width:min(100% - 4rem,var(--content-width));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:20;width:100%;background:rgba(255,253,248,.96);border-bottom:1px solid #e5ebe8;box-shadow:0 4px 18px rgba(23,53,47,.06);backdrop-filter:blur(12px)}.header-inner{width:min(100% - 4rem,1440px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:.65rem 2rem;padding-block:.75rem}.brand{display:flex;align-items:center;gap:.75rem;min-width:0;justify-self:start;text-decoration:none;font-weight:800}.brand img{display:block;width:auto;max-width:180px;height:44px;object-fit:contain}.brand span{white-space:nowrap}.site-nav{grid-column:1/-1;grid-row:2;display:flex;align-items:center;justify-content:safe center;gap:clamp(.8rem,1.6vw,1.8rem);width:100%;overflow-x:auto;padding:.2rem 0 .45rem}.site-nav:empty{display:none}.site-nav a{position:relative;text-decoration:none;font-weight:700;font-size:.95rem;white-space:nowrap}.site-nav a::after{content:"";position:absolute;right:0;bottom:-.35rem;left:0;height:2px;background:var(--primary);transform:scaleX(0);transition:transform .2s}.site-nav a:hover::after,.site-nav a:focus-visible::after{transform:scaleX(1)}.portal-link{justify-self:end}.portal-link,.button{display:inline-block;border-radius:999px;padding:.8rem 1.2rem;background:var(--primary);color:white;text-decoration:none;font-weight:750;white-space:nowrap}
main{display:flex;flex-direction:column}[data-school-sections]{display:contents}.hero,.content-section,.contact{width:100%;scroll-margin-top:10rem}.hero{background:var(--paper)}.hero-inner{min-height:calc(68vh - 132px);display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:4rem;padding-block:5rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800;color:var(--primary)}h1{font-size:clamp(2.8rem,7vw,6rem);line-height:.96;letter-spacing:-.055em;margin:.25rem 0 1.5rem;max-width:13ch}.hero-copy{max-width:62ch;font-size:1.15rem;margin-bottom:2rem}.hero-art{position:relative;min-height:420px;background:var(--soft);border-radius:48% 52% 45% 55%;overflow:hidden}.hero-art span{position:absolute;border-radius:50%;background:var(--secondary)}.hero-art span:nth-child(1){width:220px;height:220px;right:-20px;top:30px}.hero-art span:nth-child(2){width:160px;height:160px;left:20px;bottom:45px;background:var(--primary)}.hero-art span:nth-child(3){width:80px;height:80px;right:80px;bottom:40px;background:var(--accent,#ffd86f)}
.section-highlight{max-width:34ch;font-size:clamp(1.35rem,2.4vw,2rem);font-weight:750;line-height:1.25}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;margin-top:3.5rem}.project-grid article{padding:2rem;border-radius:1.5rem;background:#fff;box-shadow:0 12px 35px #173f370c}.methodology-section .project-grid article{background:var(--accent)}.project-number{display:block;color:var(--primary);font-size:3rem;font-weight:850;line-height:1}.project-grid h3{margin:1.8rem 0 .8rem;font-size:1.35rem}.project-grid strong{display:block;margin-bottom:.75rem;font-size:1.05rem;line-height:1.4}.project-grid p{white-space:pre-line;line-height:1.65}
.content-section{border-top:1px solid #e5ebe8}.content-section:nth-child(even){background:#f5f8f6}.content-section .section-inner{padding-block:clamp(3rem,7vw,6rem);min-height:20rem}.content-section h2{font-size:clamp(2rem,4vw,3.5rem);margin:0 0 1.2rem}.section-copy{max-width:70ch;white-space:pre-line;line-height:1.75}.contact{margin:0;background:var(--primary);color:white}.contact-inner{padding-block:4rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.contact h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;margin:.2rem 0}.contact .eyebrow{color:#d7fff0}.contact address{display:grid;align-content:center;gap:.5rem;font-style:normal;text-align:right}.map-link{color:inherit;font-weight:800}footer{width:100%;border-top:1px solid #d9e5df}.footer-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:1rem}footer a{font-weight:700}
.value-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-top:2.5rem}.value-list article{padding:1.7rem;border-radius:1.2rem;background:#fff;box-shadow:0 12px 35px #173f370c}.value-list strong{display:block;color:var(--primary);font-size:clamp(2rem,4vw,3.4rem);line-height:1.05}.value-list p{white-space:pre-line}.document-links{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.document-links a{padding:.8rem 1rem;border-radius:.7rem;background:var(--primary);color:#fff;text-decoration:none;font-weight:750}.social-links{display:flex;justify-content:flex-end;gap:.8rem}.social-links a[hidden]{display:none}
.schedule-list{grid-template-columns:1fr;gap:1.25rem}.schedule-list article{display:flex;align-items:baseline;gap:.75rem;padding:0;border-radius:0;background:transparent;box-shadow:none}.schedule-list strong{display:inline;flex:0 0 auto;font-size:clamp(2rem,4vw,3.4rem)}.schedule-list p{margin:0;font-size:clamp(1.5rem,3vw,2.4rem);font-weight:700;line-height:1.2}
.services-list{grid-template-columns:1fr;gap:2.5rem}.services-list article{padding:0;border-radius:0;background:transparent;box-shadow:none}.services-list article h3:first-child{margin-top:0}
@media(max-width:1200px){.site-nav{justify-content:flex-start}.hero-inner{min-height:auto}.contact-inner{flex-wrap:wrap}}
@media(max-width:760px){:root{scroll-padding-top:11rem}.section-inner,.header-inner,.footer-inner{width:min(100% - 2.5rem,var(--content-width))}.brand span{max-width:9rem}.portal-link{font-size:.78rem;padding:.65rem .85rem}.site-nav{gap:1.2rem}.site-nav a{font-size:.88rem}.hero-inner{grid-template-columns:1fr;gap:2.5rem;padding-block:3rem}.hero-art{min-height:280px}.contact-inner{display:grid}.contact address{text-align:left}.footer-inner{align-items:flex-start;flex-direction:column;justify-content:center}}
.hero{background-position:center;background-size:cover}.hero.has-background .hero-inner{grid-template-columns:minmax(0,720px) 1fr}.hero.has-background .hero-art{visibility:hidden}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.8rem}.video-button{border:2px solid var(--primary);background:rgba(255,255,255,.92);color:var(--primary);cursor:pointer;font:inherit}.video-dialog{width:min(920px,calc(100% - 2rem));padding:0;border:0;border-radius:1rem;background:#111;color:#fff;box-shadow:0 30px 90px #0008}.video-dialog::backdrop{background:#071713d9;backdrop-filter:blur(4px)}.video-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem}.video-dialog-header h2{font-size:1rem;margin:0}.video-dialog-header button{border:0;background:transparent;color:#fff;font-size:2rem;line-height:1;cursor:pointer}.video-frame{position:relative;aspect-ratio:16/9}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:760px){.hero.has-background .hero-inner{grid-template-columns:1fr}.hero.has-background .hero-art{display:none}}
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-top:2.5rem}.team-grid article{text-align:center}.team-photo{display:grid;place-items:center;width:min(100%,200px);height:auto;min-height:200px;max-height:400px;margin:auto;border-radius:1.25rem;overflow:hidden;background:var(--soft);color:var(--primary);font-size:4rem;font-weight:850}.team-photo img{display:block;width:auto;max-width:100%;height:auto;max-height:400px;object-fit:contain}.team-grid h3{margin:.9rem 0;font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.15}.team-text article{text-align:center;padding:1.5rem;border-radius:1rem;background:#fff;box-shadow:0 10px 30px #173f370d}.team-text p{text-align:left;white-space:pre-line}.contact-inner{padding-block:clamp(3rem,7vw,6rem);display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:clamp(2rem,7vw,7rem)}.contact.without-form .contact-inner{grid-template-columns:1fr}.contact h2{margin-bottom:1rem}.contact-details>p{max-width:58ch}.contact address{margin:2rem 0;text-align:left}.contact address a{text-decoration:none}.contact-map[hidden]{display:none}.contact iframe{width:100%;height:230px;border:0;border-radius:1rem}.map-link{display:inline-block;margin-top:.5rem}.contact-form{display:grid;gap:1rem;padding:clamp(1.5rem,4vw,3rem);border-radius:1.5rem;background:var(--accent);color:var(--ink);box-shadow:0 15px 40px #102d2760}.contact-form h3{margin:0 0 .5rem;font-size:clamp(1.8rem,3vw,2.6rem)}.contact-form label{display:grid;gap:.35rem;font-weight:700}.contact-form input:not([type="checkbox"]),.contact-form textarea{width:100%;border:1px solid #ffffffcc;border-radius:.45rem;background:#ffffff38;padding:.9rem;font:inherit}.contact-form .privacy-check{display:flex;align-items:flex-start;font-size:.85rem;font-weight:400}.contact-form .button{width:100%;border:1px solid var(--ink);background:#fff;color:var(--ink);cursor:pointer;font:inherit}.form-help{margin:0;text-align:center;font-size:.75rem}@media(max-width:760px){.contact-inner{grid-template-columns:1fr}}
.contact-item{display:flex;align-items:center;gap:.65rem}.contact-icon{display:inline-grid;place-items:center;flex:0 0 1.65rem;width:1.65rem;height:1.65rem;border-radius:50%;background:#ffffff2b;font-size:1rem}.social-links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.social-links a{display:inline-flex;align-items:center;gap:.35rem}.social-links a span{font-weight:900}