img{max-width:100%;height:auto}
:root{--navy:#14267a;--teal:#1f8a96;--teal-d:#146a74;--mist:#eef5f6;--ice:#f8fbfb;--ink:#17203a;--mute:#4d5a70;--line:rgba(20,38,122,.16)}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-family:'Figtree',system-ui,sans-serif;color:var(--ink);background:var(--ice);font-size:1.05rem;line-height:1.7;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;font-weight:500;color:var(--navy);line-height:1.1}
a{color:var(--teal-d)}
.eyebrow{font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:var(--teal-d);display:block;margin-bottom:.8rem}
.util{background:var(--navy);color:#e6ecff;font-size:.9rem;padding:.4rem 0}
.util a{color:#fff;text-decoration:none;font-weight:600}
.util .sep{opacity:.4;margin:0 .6rem}
.navbar{background:#fff;border-bottom:1px solid var(--line);padding:.6rem 0}
.navbar-brand{font-family:'Fraunces',serif;font-weight:600;color:var(--navy);font-size:1.45rem;display:flex;align-items:center;gap:.6rem;white-space:normal}
.navbar-brand small{display:block;font-family:'Figtree',sans-serif;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--teal-d);font-weight:700}
.navbar .nav-link{font-weight:600;color:var(--ink);font-size:.95rem}
.navbar .nav-link:hover{color:var(--teal-d)}
.btn-teal{background:var(--teal-d);color:#fff;border:0;border-radius:3px;font-weight:700;padding:.8rem 1.5rem}
.btn-teal:hover{background:var(--navy);color:#fff}
.btn-line{border:2px solid var(--navy);color:var(--navy);border-radius:3px;font-weight:700;padding:.75rem 1.5rem;background:transparent}
.btn-line:hover{background:var(--navy);color:#fff}
/* signature: range-of-motion arc */
.arc{position:absolute;pointer-events:none;color:var(--teal);opacity:.22}
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--mist),var(--ice));padding:3.5rem 0 4rem}
.hero .arc{width:560px;right:-180px;top:-120px}
.hero h1{font-size:clamp(2.4rem,5.2vw,4rem);margin-bottom:1rem}
.hero h1 em{color:var(--teal-d);font-style:italic;font-weight:400}
.hero .lead{color:var(--mute);max-width:34rem}
.hero-photo{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:60% 40%;border-radius:4px;max-height:min(66vh,480px);box-shadow:14px 14px 0 var(--mist),14px 14px 0 1px var(--line)}
.notice{border-left:4px solid var(--teal);background:#fff;padding:1rem 1.2rem;font-size:.97rem}
.notice strong{color:var(--navy)}
section{padding:5rem 0}
.alt{background:var(--mist)}
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
.tile{background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden;display:flex;flex-direction:column}
.tile .body{padding:1.6rem}
.tile h3{font-size:1.5rem;margin-bottom:.6rem}
.tile img{width:100%;aspect-ratio:16/9;object-fit:cover}
.tile .tag{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--teal-d)}
.chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.6rem}
.chips li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.4rem 1rem;font-size:.95rem}
.checks{list-style:none;padding:0;margin:0}
.checks li{padding:.45rem 0 .45rem 1.8rem;position:relative;border-bottom:1px solid var(--line)}
.checks li::before{content:"";position:absolute;left:0;top:.95rem;width:.9rem;height:.5rem;border-left:2px solid var(--teal);border-bottom:2px solid var(--teal);transform:rotate(-45deg)}
.band{position:relative;color:#fff;background:var(--navy);overflow:hidden}
.band h2{color:#fff}
.band img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:4px}
.band .arc{width:420px;left:-140px;bottom:-200px;color:#fff;opacity:.1}
.about img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:50% 15%;border-radius:4px;max-width:440px}
.hours{width:100%;max-width:420px}
.hours td{padding:.4rem 0;border-bottom:1px solid var(--line)}
.hours td:last-child{text-align:right;font-weight:600}
.map{width:100%;height:340px;border:0;border-radius:4px}
.ins{columns:2;padding:0;list-style:none}
.ins li{padding:.3rem 0;break-inside:avoid;border-bottom:1px solid var(--line)}
footer{background:var(--ink);color:#c9d1e6;padding:3rem 0 2rem;font-size:.95rem}
footer a{color:#fff}
.chip{background:#fff;border-radius:6px;padding:.4rem;display:inline-block}
.chip img{width:120px;display:block}
@media(max-width:767px){.tiles{grid-template-columns:1fr}section{padding:3.5rem 0}.ins{columns:1}.hero{padding:2.5rem 0 3rem}.hero-photo{box-shadow:8px 8px 0 var(--mist)}.util .sep{display:none}.util span{display:block}}
