:root{--green:#244f3c;--sage:#eaf0e9;--cream:#fbf8f1;--gold:#c99d57;--ink:#1f2924}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;background:#fff}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;margin-top:0}h1{font-size:clamp(2.6rem,6vw,5.4rem);line-height:.98;max-width:850px}h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05}.top{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:sticky;top:0;background:#fff;z-index:20;box-shadow:0 1px 10px #00000012}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--green);font-family:Georgia,serif;font-size:1.15rem;font-weight:bold}.brand small{display:block;font-family:Arial;font-size:.65rem;font-weight:normal;letter-spacing:.08em}.mark{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--green);color:white}nav{display:flex;align-items:center;gap:24px}nav a{text-decoration:none;color:var(--ink);font-size:.92rem}.call,.primary{background:var(--green);color:#fff!important;padding:13px 19px;border-radius:4px;text-decoration:none;display:inline-block;border:0;font-weight:bold}.menu{display:none;background:none;border:0;font-size:1.6rem}.hero{height:calc(100vh - 86px);min-height:620px;position:relative;display:flex;align-items:center;color:white;overflow:hidden}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#13251fd9 0%,#13251f91 45%,#13251f1f 80%)}.hero-copy{position:relative;z-index:2;padding:0 8vw;max-width:1000px}.hero-copy>p:not(.eyebrow,.license){font-size:1.25rem;max-width:620px;line-height:1.6}.eyebrow{letter-spacing:.18em;font-size:.75rem;font-weight:bold}.green{color:var(--green)}.actions{display:flex;gap:12px;margin:28px 0}.secondary{border:1px solid white;color:white;padding:12px 18px;text-decoration:none;border-radius:4px;font-weight:bold}.license{font-size:.8rem;opacity:.9}.intro,.services,.gallery,.admissions,.contact{padding:90px 8vw}.intro{display:grid;grid-template-columns:1fr 1fr;gap:9vw;background:var(--cream);align-items:center}.intro>p,.sub,.admissions p,.contact p{font-size:1.08rem;line-height:1.8;color:#58635e}.services{text-align:center}.sub{max-width:700px;margin:0 auto 45px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.cards article{padding:38px 28px;background:var(--sage);border-radius:8px}.cards span{font-size:2rem;color:var(--green)}.cards p{line-height:1.65;color:#5b655f}.gallery{background:var(--green);color:white}.gallery-head{display:flex;justify-content:space-between;align-items:end;gap:30px}.gallery-head p{max-width:430px;line-height:1.6}.grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:12px;margin-top:35px}.grid figure{margin:0;position:relative;overflow:hidden}.grid .big{grid-column:span 2;grid-row:span 2}.grid img{width:100%;height:100%;object-fit:cover;transition:.3s}.grid figure:hover img{transform:scale(1.03)}figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 15px 12px;background:linear-gradient(transparent,#0009);font-weight:bold}.admissions{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;background:var(--cream)}.admissions img{width:100%;height:470px;object-fit:cover;border-radius:8px}.dark{margin-top:10px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact-links{display:grid;gap:12px;margin-top:30px}.contact-links a{text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:4px}.contact-links span{color:var(--green);font-size:1.1rem}form{display:grid;gap:16px;padding:30px;background:var(--sage);border-radius:8px}label{font-weight:bold;font-size:.85rem}input,textarea{width:100%;padding:12px;margin-top:6px;border:1px solid #c8d0ca;border-radius:4px;font:inherit;background:white}form small{color:#68736d}footer{padding:35px 8vw;background:#172e25;color:#eaf0e9;display:flex;justify-content:space-between;gap:30px;font-size:.85rem}footer div{display:flex;flex-direction:column;gap:8px}footer a{color:#fff}@media(max-width:850px){nav{display:none;position:absolute;top:86px;left:0;right:0;background:white;padding:25px;flex-direction:column;box-shadow:0 8px 15px #0002}nav.open{display:flex}.menu{display:block}.hero{min-height:600px}.intro,.admissions,.contact{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.grid{grid-template-columns:1fr 1fr;grid-auto-rows:220px}.grid .big{grid-column:span 2;grid-row:span 1}.gallery-head{display:block}.admissions img{height:350px}footer{flex-direction:column}}@media(max-width:520px){.top{height:72px}.brand small{display:none}.hero{height:calc(100vh - 72px)}.hero-copy{padding:0 6vw}.actions{flex-direction:column;align-items:flex-start}.intro,.services,.gallery,.admissions,.contact{padding:65px 6vw}.grid{grid-template-columns:1fr}.grid .big{grid-column:span 1}.grid figure{height:250px}.admissions img{height:280px}}
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#dbe3dd}.trust div{background:white;padding:26px 4vw;display:flex;flex-direction:column;gap:7px;text-align:center}.trust strong{font-family:Georgia,serif;color:var(--green);font-size:1.08rem}.trust span{font-size:.86rem;color:#66706b;line-height:1.45}.service-note{margin:28px auto 0;font-size:.85rem;color:#6a746f}.outline{border:1px solid var(--green);color:var(--green);padding:12px 18px;text-decoration:none;border-radius:4px;font-weight:bold;display:inline-block}.directions{padding:90px 8vw;display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:center}.directions address{font-style:normal;font-family:Georgia,serif;font-size:1.35rem;line-height:1.55}.directions p{color:#58635e;line-height:1.7}.map-card{min-height:320px;border-radius:12px;background:linear-gradient(145deg,var(--sage),#fff);border:1px solid #d7e0da;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:35px}.map-card .pin{font-size:3rem;color:var(--green)}.map-card strong{font-family:Georgia,serif;font-size:1.5rem;color:var(--green)}.map-card span{line-height:1.6}.map-card small{color:#6b756f}.contact-links div{display:flex;flex-direction:column;gap:4px}.contact-links div span{color:var(--green);font-size:1.1rem;font-weight:normal}.contact form .primary{cursor:pointer}.contact form .primary:hover,.primary:hover{filter:brightness(.92)}@media(max-width:850px){.trust{grid-template-columns:1fr}.directions{grid-template-columns:1fr;padding:65px 6vw}.map-card{min-height:250px}}
