:root{--green:#4a872f;--green-dark:#376523;--purple:#400c57;--green-light:#f0f6eb;--purple-light:#f7f2fa;--border:#d6dfcf;--paper:#fff;--ink:#29242d}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 Arial,sans-serif}a{color:inherit;text-underline-offset:5px}button,input,textarea{font:inherit}button,a,input,textarea{outline-offset:5px}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.13;letter-spacing:-.03em}h1{font-size:clamp(42px,5vw,76px);margin:20px 0 30px}h2{font-size:clamp(30px,3vw,46px);margin:15px 0 25px}h3{font-size:29px}p{margin:0 0 22px}.wrap{max-width:1220px;margin:auto;padding:70px 32px}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:bold}.brand{display:block;flex-shrink:0;text-decoration:none;max-width:65vw}header{padding:22px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--border);background:var(--paper)}nav{display:flex;align-items:center;gap:20px}nav a{font-size:13px;text-decoration:none}nav a[aria-current]{border-bottom:2px solid var(--green)}nav a:hover{color:var(--purple)}#menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:600px}.hero-copy{padding:90px max(32px,calc((100vw - 1156px)/2));padding-right:50px;background:var(--green-light)}.hero>img{width:100%;height:100%;object-fit:cover}.hero h1{max-width:620px}.rule{width:70px;height:3px;background:var(--green);margin:30px 0}.actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.button{display:inline-flex;gap:25px;justify-content:space-between;background:var(--purple);color:#fff;padding:13px 22px;text-decoration:none;border:0;font-size:14px}.button:hover{background:var(--green-dark)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:15px 70px}.intro .eyebrow{grid-column:1/-1}.intro>p:last-child{padding-top:20px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:0;padding-bottom:30px}.gallery img{width:100%;height:210px;object-fit:cover}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:45px}.cards article{background:#fff;border:1px solid var(--border)}.cards img{width:100%;height:250px;object-fit:cover}.cards article>div{padding:30px}.number{font-size:12px;color:var(--green-dark)}.cards p{font-size:15px}.cert{padding-top:0}.cert img{max-height:300px;margin:auto;object-fit:contain}.quote{background:var(--purple);color:white}.quote .wrap{display:grid;grid-template-columns:1fr 1.5fr;align-items:center;gap:60px}.quote img{max-height:250px;object-fit:contain}blockquote{font:36px/1.35 Georgia,serif;margin:0}cite{display:block;font:13px Arial,sans-serif;letter-spacing:.08em;margin-top:25px}.slide{display:grid;grid-template-columns:1fr 2fr;align-items:center;gap:70px}.slide[hidden]{display:none}.slide img{width:260px;height:260px;object-fit:contain}.slider-controls{display:flex;justify-content:flex-end;gap:25px;margin-top:25px;align-items:center}.slider-controls button{border:1px solid var(--border);background:transparent;padding:10px 20px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid var(--border)}.contact>img{width:100%;height:350px;object-fit:cover}.page-heading{position:relative;border-bottom:1px solid var(--border);padding-bottom:50px}.school-logo{max-width:210px;max-height:180px;object-fit:contain;margin-top:25px}.about-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:70px}.about-grid>img{width:100%;max-height:630px;object-fit:cover;position:sticky;top:30px}.about-grid h2{font-size:30px;margin-top:35px}.about-grid h2:first-child{margin-top:0}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.resource-grid article{padding:25px;background:#fff;border:1px solid var(--border)}.resource-grid img{height:180px;width:100%;object-fit:contain}.resource-grid h2{font-size:26px}.portal{min-height:430px;display:grid;gap:40px}.portal>img{width:100%;height:360px;object-fit:cover}.notice{max-width:750px}.notice p{color:var(--ink)}label{display:block;margin:15px 0}input,textarea{display:block;width:100%;padding:12px;border:1px solid var(--green);background:white;border-radius:0}footer{background:var(--purple);color:white}footer .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:25px;padding-top:35px;padding-bottom:35px}footer p{font-size:12px;margin:0}.skip{position:fixed;top:-80px;left:15px;background:white;padding:15px;z-index:10}.skip:focus{top:15px}@media(max-width:1150px){header{flex-wrap:wrap}nav{flex:1;justify-content:space-between;gap:12px}.hero-copy{padding:65px 32px}}@media(max-width:800px){header{padding:18px 22px}#menu-toggle{display:block;background:transparent;border:1px solid var(--green);padding:8px 12px;font-size:13px}nav{display:none;width:100%;flex-direction:column;align-items:stretch}nav.open{display:flex}nav a{padding:10px;font-size:15px}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 25px}.hero>img{height:330px}.wrap{padding:50px 25px}.intro,.quote .wrap,.contact,.about-grid,.slide{grid-template-columns:1fr;gap:25px}.intro>p:last-child{padding:0}.cards,.resource-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr;padding-top:0}.gallery img{height:160px}.cards img{height:290px}.quote blockquote{font-size:29px}.about-grid>img{position:static;max-height:350px}.slide img{margin:auto;width:190px;height:190px}.slide h2{font-size:31px}.slider-controls{justify-content:center}footer .wrap{align-items:flex-start;flex-direction:column}.contact a{overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Shared branding; original logo proportions. */
.brand img{width:100%;height:auto;object-fit:contain}header .brand{width:190px}header .brand img{width:100%;height:auto;max-width:100%}header{padding-top:10px;padding-bottom:10px}h1,h2,h3{color:var(--purple)}.eyebrow{color:var(--green-dark)}a:hover{color:var(--purple)}nav a{color:var(--purple)}nav a:hover{color:var(--green-dark)}.button:hover{color:white}.quote h1,.quote h2,.quote h3,.quote a,footer a,footer a:hover{color:white}footer .brand{width:190px;background:white}.quote .eyebrow{color:white}.slider-controls button{color:var(--purple);border-color:var(--green)}.slider-controls button:hover{background:var(--green-light)}:focus-visible{outline:3px solid var(--purple)}.button:focus-visible{outline-offset:4px}footer :focus-visible,.quote :focus-visible{outline-color:white}@media(max-width:800px){header{align-items:center;gap:14px}#menu-toggle{color:var(--purple)}}
main a:not(.button){color:var(--purple)}main a:not(.button):hover{color:var(--green-dark)}
