:root{--navy:#0b3a6b;--deep:#082a4d;--foam:#e8f1f4;--sand:#f6f1e7;--teal:#1f7a8c;--ink:#14212e;--display:'Fraunces',Georgia,serif;--body:'Figtree',system-ui,sans-serif}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{font-family:var(--body);color:var(--ink);background:#fff;font-size:1.05rem;line-height:1.65;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;line-height:1.1;color:var(--deep)}
a{color:var(--teal)}
.eyebrow{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--teal);margin-bottom:.8rem}
.ac-nav{background:#fff;border-bottom:1px solid #d5e2e8;padding:.6rem 0}
.ac-nav .navbar-brand{display:flex;flex-direction:column;align-items:center;gap:.15rem;margin:0}
.ac-nav .navbar-brand img{height:56px;width:auto}
.ac-nav .navbar-brand span{font-family:var(--display);font-weight:600;font-size:1.05rem;color:var(--deep);line-height:1}
.navbar.ac-nav .navbar-collapse{justify-content:center}
.ac-nav .nav-link{color:var(--deep);font-weight:600;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;padding:.5rem 1rem}
.ac-nav .nav-link:hover{color:var(--teal)}
.navbar.ac-nav{flex-direction:column}
.navbar.ac-nav .container{flex-direction:column}
.navbar.ac-nav .navbar-toggler{position:absolute;right:12px;top:18px}
.btn-ac{background:var(--navy);color:#fff;border-radius:50px;font-weight:700;padding:.8rem 1.8rem;border:2px solid var(--navy)}
.btn-ac:hover{background:var(--deep);color:#fff}
.btn-line{background:transparent;color:var(--navy);border:2px solid var(--navy);border-radius:50px;font-weight:700;padding:.8rem 1.8rem}
.btn-line:hover{background:var(--navy);color:#fff}
.hero{background:var(--foam);padding:4rem 0 6rem;position:relative}
.hero h1{font-size:clamp(2.6rem,6vw,4.6rem);letter-spacing:-.01em}
.hero h1 em{color:var(--teal);font-weight:400}
.hero p.lead{max-width:34rem;font-size:1.2rem}
.hero-photo{border-radius:240px 240px 24px 24px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 0 0 10px #fff}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:60% 50%;display:block}
.wave{display:block;width:100%;height:46px;position:absolute;left:0;bottom:-1px}
.sec{padding:5rem 0}
.sec h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:1rem}
.tide{background:var(--deep);color:#fff;border-radius:18px;padding:2rem}
.tide h3{color:#fff}
.tide table{width:100%;color:#fff}
.tide td{padding:.55rem 0;border-bottom:1px dashed rgba(255,255,255,.25)}
.tide td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.tide tr:last-child td{border:0}
.tide .off{opacity:.6}
.svc{border-top:3px solid var(--teal);padding:1.2rem 0 1.5rem}
.svc h3{font-size:1.35rem}
.cond{columns:2;column-gap:2rem;list-style:none;padding:0;margin:0}
.cond li{padding:.45rem 0 .45rem 1.6rem;position:relative;break-inside:avoid;font-weight:600}
.cond li::before{content:"";position:absolute;left:0;top:.95rem;width:.7rem;height:.7rem;border-radius:50% 50% 50% 0;background:var(--teal);transform:rotate(-45deg)}
.band{background:var(--sand)}
.person{background:#fff;border-radius:16px;padding:1.6rem;height:100%;border:1px solid #e6dfcf}
.person .role{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);font-weight:700}
.quote{border-left:4px solid var(--teal);padding:.3rem 0 .3rem 1.2rem;margin-bottom:1.6rem}
.quote p{font-family:var(--display);font-size:1.15rem;margin-bottom:.3rem}
.quote cite{font-style:normal;font-size:.9rem;font-weight:700;color:var(--teal)}
.big-phone{font-family:var(--display);font-size:clamp(2.2rem,5vw,3.2rem);text-decoration:none;display:block;color:var(--deep);line-height:1.1}
.map{border:0;width:100%;height:340px;border-radius:16px}
footer.ac-foot{background:var(--deep);color:#cfe0ea;padding:2.5rem 0}
footer.ac-foot a{color:#fff}
footer.ac-foot img{height:60px;background:#fff;padding:6px 8px;border-radius:8px}
@media(max-width:767px){.cond{columns:1}.hero{padding-top:2.5rem}.sec{padding:3.5rem 0}.hero-photo{max-width:340px;margin:2rem auto 0}}
