:root{--navy:#082c5c;--navy2:#041f43;--turq:#19a9c2;--sky:#eaf8fb;--sand:#f7f4ee;--ink:#17314f;--muted:#5f6f7f;--white:#fff;--shadow:0 18px 50px rgba(5,38,78,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:#fff;line-height:1.6}img{max-width:100%;display:block}a{color:inherit}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid #e5edf3}.nav-wrap{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--turq));color:white;font-weight:700}.brand strong{display:block;color:var(--navy)}.brand small{display:block;color:var(--muted)}.nav{display:flex;align-items:center;gap:24px}.nav a{text-decoration:none;font-weight:600}.nav-cta{background:var(--navy);color:#fff;padding:10px 16px;border-radius:999px}.menu-toggle{display:none;border:0;background:none;font-size:26px;color:var(--navy)}
.banner-section{background:#dceff5}.banner-section img{width:100%;height:auto}.hero-copy{padding:56px 0;background:linear-gradient(180deg,#fff 0%,#f8fcfd 100%)}.hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:42px;align-items:center}.eyebrow{font-size:.82rem;letter-spacing:.18em;font-weight:700;color:var(--turq);margin:0 0 10px}.hero-copy h1,.section-title,.about h2,.accessible h2,.contact h2{font-family:'Playfair Display',serif;color:var(--navy);line-height:1.12}.hero-copy h1{font-size:clamp(2.4rem,5vw,4.7rem);margin:0 0 18px;max-width:900px}.lead{font-size:1.18rem;color:var(--muted);max-width:760px}.button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;justify-content:center;align-items:center;padding:13px 20px;border-radius:999px;text-decoration:none;font-weight:700}.btn.primary{background:var(--navy);color:#fff}.btn.secondary{border:2px solid var(--navy);color:var(--navy)}.quick-card{padding:30px;border-radius:24px;background:#fff;box-shadow:var(--shadow);border:1px solid #e8f1f5}.quick-card h2{font-family:'Playfair Display',serif;color:var(--navy);font-size:1.8rem;margin:0 0 8px}.quick-card p{font-size:1.1rem;color:var(--turq);font-weight:600}.quick-links{display:flex;flex-direction:column;gap:8px;margin-top:20px}.quick-links a{text-decoration:none;color:var(--navy);font-weight:600}
.section{padding:88px 0}.section-title{font-size:clamp(2rem,3.7vw,3.2rem);margin:0 0 12px}.section-intro{max-width:760px;color:var(--muted);font-size:1.1rem}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}.service-card{padding:28px;border:1px solid #e5edf1;border-radius:20px;background:#fff;box-shadow:0 10px 24px rgba(7,45,90,.06)}.service-card .icon{font-size:2rem}.service-card h3{color:var(--navy);margin:12px 0 8px}.service-card p{margin:0;color:var(--muted)}
.accessible{background:linear-gradient(135deg,#eefafd 0%,#f8fcfd 55%,#fff 100%)}.accessible-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:42px;align-items:center}.accessible h2{font-size:clamp(2rem,4vw,3.4rem);margin:0 0 18px}.check-list{padding:0;list-style:none;margin:24px 0}.check-list li{position:relative;padding-left:30px;margin:10px 0}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--turq);font-weight:800}.fine-print{font-size:.9rem;color:#6a7783}.accent-card{background:var(--navy);color:#fff;border-radius:24px;padding:34px;box-shadow:var(--shadow)}.big-icon{font-size:3rem}.accent-card h3{font-family:'Playfair Display',serif;font-size:2rem;margin:12px 0}.text-link{color:#8ee8f2;font-weight:700;text-decoration:none}
.about{background:var(--sand)}.about-grid{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:48px;align-items:center}.about-photo-wrap{position:relative;max-width:340px}.about-photo-wrap:after{content:'';position:absolute;inset:14px -14px -14px 14px;border:3px solid var(--turq);border-radius:26px;z-index:0}.about-photo{position:relative;z-index:1;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 22%;border-radius:26px;box-shadow:var(--shadow);border:6px solid #fff}.about h2{font-size:clamp(2.2rem,4vw,3.4rem);margin:0 0 12px}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}.why-grid>div{padding:26px;border-top:4px solid var(--turq);background:#f9fcfd;border-radius:0 0 18px 18px}.why-grid strong{font-size:2rem;color:var(--turq)}.why-grid h3{margin:6px 0;color:var(--navy)}.why-grid p{margin:0;color:var(--muted)}
.contact{padding-top:44px}.contact-card{background:linear-gradient(135deg,var(--navy2),var(--navy));border-radius:28px;color:#fff;padding:46px;display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center}.contact h2{color:#fff;font-size:clamp(2rem,4vw,3.3rem);margin:0 0 12px}.light{color:#85e5f0}.contact-actions{display:flex;flex-direction:column;gap:12px;align-items:stretch}.btn.white{background:#fff;color:var(--navy)}.btn.outline-white{border:2px solid #fff;color:#fff}.contact-link{text-align:center;color:#9cebf2;text-decoration:none;font-weight:700}
footer{padding:32px 0;background:#031a38;color:#dce8f4}.footer-wrap{display:flex;justify-content:space-between;gap:24px;align-items:center}.footer-wrap span{color:#a9bfd5}.footer-contact{text-align:right}
@media (max-width:900px){.nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:20px;border-bottom:1px solid #e5edf3;flex-direction:column}.nav.open{display:flex}.menu-toggle{display:block}.hero-grid,.accessible-grid,.contact-card{grid-template-columns:1fr}.card-grid{grid-template-columns:repeat(2,1fr)}.why-grid{grid-template-columns:1fr}.about-grid{grid-template-columns:1fr}.about-photo-wrap{max-width:300px;margin:0 auto 8px}.footer-wrap{flex-direction:column;align-items:flex-start}.footer-contact{text-align:left}}
@media (max-width:620px){.wrap{width:min(100% - 28px,1160px)}.section{padding:64px 0}.site-header{position:static}.brand small{display:none}.banner-section img{width:100%;height:auto}.hero-copy{padding-top:38px}.hero-copy h1{font-size:2.35rem}.card-grid{grid-template-columns:1fr}.service-card{padding:22px}.contact-card{padding:28px}.button-row{flex-direction:column}.btn{width:100%}}
