@import url('https://fonts.googleapis.com/css2?family=Libre+Caslon+Text:ital,wght@0,400;0,700;1,400&family=Source+Sans+3:wght@300;400;600;700&display=swap');

:root{--ink:#246f8f;--ink-dark:#155a78;--mint:#acdcbf;--aqua:#8dced8;--aqua-soft:#eaf6f7;--white:#fff;--text:#385b6c;--serif:'Libre Caslon Text',Georgia,serif;--sans:'Source Sans 3','Source Sans Pro',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);font-family:var(--sans);font-size:18px;line-height:1.48;background:#fff}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.12;margin:0 0 1rem;color:var(--ink)}
h1{font-size:clamp(3rem,6vw,5.2rem)}h2{font-size:clamp(2.25rem,4.4vw,4rem)}h3{font-size:1.75rem}em{color:var(--mint)}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:1000;background:#fff;color:#111;padding:.75rem 1rem}.skip-link:focus{top:1rem}
.site-header{position:absolute;top:0;left:0;right:0;z-index:50;display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:2rem;padding:1rem 3.2%;transition:.2s;background:transparent}
.site-header.is-scrolled{position:fixed;background:rgba(255,255,255,.96);box-shadow:0 2px 16px rgba(21,90,120,.12)}
.brand img{width:160px;height:90px;object-fit:contain}.primary-nav{display:flex;justify-content:center;gap:2.2rem}.primary-nav a{text-decoration:none;font-family:var(--serif);color:var(--ink-dark);font-weight:700}.primary-nav a:hover,.primary-nav a:focus{text-decoration:underline;text-underline-offset:.4rem}.call-button,.button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:999px;padding:1rem 2rem;background:var(--mint);color:#fff;text-decoration:none;font-weight:700}.button{background:var(--ink);min-width:190px}.nav-toggle{display:none}
.hero{min-height:720px;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:9rem 3.2% 6rem;position:relative}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(40,174,167,.32),rgba(25,104,138,.15))}.hero-copy{position:relative;z-index:1;max-width:710px;color:#fff}.hero-copy h1,.hero-copy p{color:#fff}.hero-copy p{font-size:1.25rem;max-width:640px}.hero-copy.centered{margin:auto;text-align:center;align-self:center}.hero-home{background-image:url('/assets/images/e3e3188588c75ce2.jpg')}.hero-about{background-image:url('/assets/images/13bcfe02f265122a.png')}.hero-services{background-image:url('/assets/images/a7950bb59980bcab.png');align-items:center;justify-content:space-between}.hero-services .hero-copy{align-self:flex-end}.hero-video{position:relative;z-index:2;width:min(50%,680px);aspect-ratio:16/9}.hero-video iframe,.video-section iframe{width:100%;height:100%;border:0}.hero-amenities{background-image:url('/assets/images/9f4f0486723dfe6e.jpg')}.hero-gallery{background-image:url('/assets/images/ba89d020b6ed97a3.jpg');min-height:560px}
.service-ribbon{width:min(1180px,92%);margin:-95px auto 4rem;position:relative;z-index:3;background:linear-gradient(135deg,#51b6b2,var(--aqua));border-radius:45px;display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;box-shadow:0 18px 45px rgba(21,90,120,.16)}.service-ribbon a{padding:2rem;text-align:center;color:#fff;text-decoration:none;font-family:var(--serif);font-size:1.35rem}.service-ribbon span{display:block;font-size:2.5rem;margin-bottom:.5rem}
.split-section,.care-section{max-width:1240px;margin:0 auto;padding:6rem 3.2%;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.split-section img,.care-section img{width:100%;max-height:620px;object-fit:cover;border-radius:4rem 4rem 4rem .8rem}.split-section p{color:#7897a4}.mark{font-size:3rem;color:var(--aqua)}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-family:var(--serif);color:var(--ink)}
.video-section{width:min(820px,90%);aspect-ratio:16/9;margin:1rem auto 5rem}.why-section{padding:5rem 3.2%;text-align:center;background:var(--aqua)}.feature-grid{max-width:1180px;margin:2.5rem auto;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.feature-grid article{background:rgba(255,255,255,.17);border:1px solid rgba(255,255,255,.65);border-radius:2rem;padding:2.3rem;text-align:left}.feature-grid p{color:#3d788b}.photo-cards article{padding:1.3rem}.photo-cards img{height:240px;width:100%;object-fit:cover;border-radius:1.4rem}.photo-cards a{font-weight:700}
.section-heading{width:min(1160px,92%);margin:3rem auto;padding:2rem;text-align:center;background:var(--aqua-soft);border-radius:4rem}.check-list,.amenity-list{list-style:none;padding:0;margin:2rem 0}.check-list li,.amenity-list li{position:relative;padding:.55rem 0 .55rem 2.6rem;font-family:var(--serif);font-weight:700;color:#5c8497}.check-list li::before{content:"✓";position:absolute;left:0;top:.35rem;border:3px solid var(--mint);color:var(--aqua);width:1.7rem;height:1.7rem;border-radius:50%;display:grid;place-items:center;font-family:var(--sans);line-height:1}.grid-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem 2rem}.care-section{max-width:none;padding:5rem 3.2%;grid-template-columns:1.1fr .9fr}.care-section.light{background:#edf7f9}.care-section.aqua{background:var(--aqua)}.care-copy{max-width:1180px}.care-section img{max-width:560px;justify-self:end}.amenity-list li{padding:1rem 1rem 1rem 4rem;margin:.25rem 0;border-radius:3rem;background:linear-gradient(90deg,#eef8fa,rgba(238,248,250,0))}.amenity-list li::before{content:"◇";position:absolute;left:1.2rem;color:var(--ink);font-size:1.7rem}.convenience-section{max-width:none;background:var(--mint);padding-left:3.2%;padding-right:3.2%}
.contact-band{min-height:700px;background:linear-gradient(90deg,rgba(255,255,255,.9),rgba(30,111,143,.35)),url('/assets/images/4ff993956cf1958c.jpg') center/cover;display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;align-items:center;padding:5rem 5%}.contact-copy{max-width:520px}.contact-copy address{font-style:normal;display:grid;gap:.8rem;margin-top:1.5rem}.form-panel{background:rgba(172,220,191,.82);border-radius:2rem;padding:3rem}.contact-form{display:grid;gap:.35rem}.contact-form label{font-size:.95rem}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #fff;background:transparent;padding:.75rem;color:#163f50;font:inherit}.contact-form button{margin-top:1.2rem;border:0;border-radius:999px;padding:1rem 2rem;background:#fff;color:var(--ink);font-weight:700}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-status{min-height:1.5em;margin:.35rem 0 0}.contact-page-spacer{height:115px}
.site-footer{background:var(--ink);color:#fff;padding:4rem 3.2% 1.5rem}.footer-grid{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:3rem;align-items:center}.footer-logo{width:300px;max-height:180px;object-fit:contain}.site-footer a{color:#fff}.admissions{text-align:center}.footer-bottom{border-top:2px solid #fff;margin-top:2rem;padding-top:1.5rem;display:flex;justify-content:space-between;gap:2rem}.social-links{display:flex;gap:1rem}.gallery-grid{max-width:1240px;margin:0 auto;padding:5rem 3.2%;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.gallery-grid img{width:100%;height:320px;object-fit:cover;border-radius:1.3rem}.not-found{min-height:70vh;padding:12rem 5% 5rem;text-align:center}
.recaptcha-notice{margin:1.25rem 0 0;font-size:.8rem;line-height:1.5}
@media(max-width:980px){.site-header{grid-template-columns:150px auto auto;padding:.65rem 4%;background:rgba(255,255,255,.95)}.brand img{width:135px;height:70px}.nav-toggle{display:block;justify-self:end;background:var(--mint);color:var(--ink);border:0;border-radius:.5rem;padding:.8rem 1rem;font-weight:700}.primary-nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:1rem}.primary-nav.is-open{display:flex}.primary-nav a{padding:.8rem}.site-header>.call-button{display:none}.hero{min-height:640px;padding-top:8rem}.hero-services{display:block;padding-top:8rem}.hero-services .hero-video{width:100%;margin-top:3rem}.service-ribbon{grid-template-columns:1fr;margin-top:-45px}.split-section,.care-section,.contact-band,.footer-grid{grid-template-columns:1fr;gap:2.5rem}.split-section{padding:4rem 5%}.feature-grid{grid-template-columns:1fr}.grid-list{grid-template-columns:repeat(2,1fr)}.contact-band{padding:4rem 5%}.footer-bottom{flex-direction:column}.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){body{font-size:17px}.site-header{grid-template-columns:120px auto}.brand img{width:115px}.hero{min-height:580px}.hero h1{font-size:2.8rem}.service-ribbon a{padding:1.2rem}.grid-list,.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:270px}.form-panel{padding:2rem 1.2rem}.contact-band{padding-left:1rem;padding-right:1rem}}

/* Menu layout by screen width (readable menu).
   981-1239px: six menu items and the Call button do not fit on one line (measured), so these
   screens use the same Menu button as tablets. The Call button stays visible beside it.
   1240px and up: the full menu over the photo, with a light haze along the top edge of the
   photo so the menu words stay readable. The haze fades out before the faces, so the photo
   still shows in full (owner chose this over a white box behind the menu). It gives way to
   the white header once the page scrolls. */
@media(min-width:981px) and (max-width:1239.98px){.site-header{grid-template-columns:150px 1fr auto;padding:.65rem 4%;background:rgba(255,255,255,.95)}.brand img{width:135px;height:70px}.nav-toggle{display:block;justify-self:end;background:var(--mint);color:var(--ink);border:0;border-radius:.5rem;padding:.8rem 1rem;font-weight:700}.primary-nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:1rem}.primary-nav.is-open{display:flex}.primary-nav a{padding:.8rem}}
@media(min-width:1240px){.site-header:not(.is-scrolled){background:linear-gradient(180deg,rgba(255,255,255,.62) 0%,rgba(255,255,255,.34) 60%,rgba(255,255,255,0) 100%)}}
