:root{
  --navy:#14325c;
  --blue:#1f4e8a;
  --sky:#eaf1f9;
  --gray:#6b7280;
  --ink:#1b2433;
  --mint:#7fd6c8;
  --radius:18px;
}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font-family:'Figtree',system-ui,sans-serif;color:var(--ink);font-size:1.05rem;line-height:1.7;background:#fff}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.15;color:var(--navy)}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem);margin-bottom:1rem}
img{max-width:100%;height:auto}

/* Nav */
.site-nav{background:rgba(255,255,255,.96);backdrop-filter:blur(8px);box-shadow:0 1px 0 rgba(20,50,92,.08);padding:.5rem 0}
.navbar-brand{display:flex;align-items:center;gap:.65rem;font-family:'Fraunces',serif;font-weight:700;color:var(--navy);font-size:1.3rem;margin-right:1rem}
.brand-chip{display:inline-flex;width:42px;height:42px;background:#fff;border-radius:10px;padding:3px}
.brand-chip img{width:100%;height:100%;object-fit:contain}
.brand-name{white-space:nowrap}
.site-nav .nav-link{color:var(--navy);font-weight:600;font-size:.95rem;padding:.5rem .7rem}
.site-nav .nav-link:hover,.site-nav .nav-link.active{color:var(--blue)}
.btn-call{background:var(--navy);color:#fff;font-weight:600;border-radius:999px;padding:.45rem 1.1rem;white-space:nowrap}
.btn-call:hover{background:var(--blue);color:#fff}
@media(max-width:991.98px){.site-nav .navbar-collapse{padding:.75rem 0 1rem}.btn-call{display:inline-block}}

/* Hero: split panel */
.hero{display:grid;grid-template-columns:55% 45%;min-height:100vh;padding-top:0}
.hero-text{background:var(--navy);color:#fff;display:flex;align-items:center;padding:7rem 4vw 4rem 8vw}
.hero-inner{max-width:560px}
.hero-eyebrow{font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;color:var(--mint);margin-bottom:1.1rem}
.hero-title{color:#fff;font-size:clamp(2.6rem,5.4vw,4.6rem);margin-bottom:1.2rem}
.hero-subtitle{font-size:1.2rem;color:#dbe6f4;margin-bottom:2rem}
.hero-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2rem}
.hero-cta .btn-light{color:var(--navy);font-weight:700}
.hero-cta .btn{border-radius:999px;padding:.7rem 1.5rem;font-size:1rem}
.hero-tagline{font-size:.95rem;color:#b9cbe3;margin:0}
.hero-photo{background:url('img/hero.webp') 42% center/cover no-repeat;min-height:320px}
@media(max-width:991.98px){
  .hero{grid-template-columns:1fr;grid-template-rows:auto 440px;min-height:0}
  .hero-text{padding:6.5rem 1.5rem 3rem;order:1}
  .hero-photo{order:2;min-height:440px;background-position:38% center}
}

/* Sections */
.section{padding:6rem 0}
.section-tint{background:var(--sky)}
.section-navy{background:var(--navy);color:#dbe6f4}
.section-navy h2,.section-navy h3{color:#fff}
.kicker{font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;color:var(--blue);margin-bottom:.6rem}
.section-navy .kicker{color:var(--mint)}
.lead{font-size:1.2rem;color:var(--blue);font-weight:500}
.btn-brand{background:var(--blue);color:#fff;border-radius:999px;padding:.7rem 1.6rem;font-weight:600}
.btn-brand:hover{background:var(--navy);color:#fff}
.photo-wide{width:100%;height:auto;border-radius:var(--radius);box-shadow:0 18px 40px -18px rgba(20,50,92,.45)}

.tile{position:relative;margin:0;border-radius:var(--radius);overflow:hidden}
.tile img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
.tile figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.5rem 1.25rem 1rem;color:#fff;font-family:'Fraunces',serif;font-size:1.4rem;font-weight:600;background:linear-gradient(to top,rgba(20,50,92,.9),rgba(20,50,92,0))}

.body-map{max-height:460px;width:auto;height:auto;max-width:100%;mix-blend-mode:multiply}
.cond-list{list-style:none;padding:0;margin:0;columns:2;column-gap:2rem}
.cond-list li{break-inside:avoid;padding:.55rem 0 .55rem 2rem;position:relative;font-weight:500;border-bottom:1px solid rgba(20,50,92,.12)}
.cond-list li::before{content:"";position:absolute;left:0;top:1.05rem;width:.9rem;height:.9rem;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(31,78,138,.18)}
@media(max-width:575.98px){.cond-list{columns:1}}

.treat-card{height:100%;background:#fff;border:1px solid rgba(20,50,92,.12);border-radius:var(--radius);padding:2.5rem;position:relative;overflow:hidden;box-shadow:0 10px 30px -20px rgba(20,50,92,.4)}
.treat-num{position:absolute;right:1.5rem;top:.5rem;font-family:'Fraunces',serif;font-size:4.5rem;font-weight:700;color:var(--sky);line-height:1}
.treat-card h3{font-size:1.7rem;position:relative}
.treat-card p{position:relative}
.treat-link{font-weight:700;color:var(--blue);text-decoration:none;position:relative}
.treat-link:hover{color:var(--navy);text-decoration:underline}

.note-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);padding:1.5rem 1.75rem;font-size:.92rem;line-height:1.6}
.note-card h3{font-size:1.15rem;font-family:'Figtree',sans-serif;font-weight:700}
.note-card p{margin:0}
.section-navy .btn-light{color:var(--navy);font-weight:700;border-radius:999px}

.quote{height:100%;margin:0;background:var(--sky);border-radius:var(--radius);padding:2rem;display:flex;flex-direction:column}
.quote p{font-family:'Fraunces',serif;font-size:1.12rem;line-height:1.55;color:var(--navy);flex:1}
.quote cite{font-style:normal;font-weight:700;color:var(--blue);font-size:.95rem}
.stars{color:#e3a72f;letter-spacing:.15em;margin-bottom:.6rem}
.quote-cta{background:var(--blue);color:#fff;align-items:flex-start;justify-content:center}
.quote-cta i{font-size:2rem;color:var(--mint)}
.quote-cta h3{color:#fff;font-size:1.6rem;margin:.5rem 0}
.quote-cta p{font-family:'Figtree',sans-serif;color:#dbe6f4;font-size:1rem;flex:0 0 auto}
.quote-cta .btn{color:var(--navy);font-weight:700;border-radius:999px}

.big-phone{font-family:'Fraunces',serif;font-size:clamp(2rem,5vw,3rem);color:var(--navy);text-decoration:none;font-weight:700}
.big-phone:hover{color:var(--blue)}
.info-card{background:#fff;border-radius:var(--radius);padding:1.75rem;box-shadow:0 10px 30px -20px rgba(20,50,92,.4)}
.info-card h3{font-size:1.25rem;margin-bottom:.5rem}
.info-card h3 i{color:var(--blue);margin-right:.35rem}
.info-card a{color:var(--blue);font-weight:600;text-decoration:none}
.office-photo{width:100%;height:auto;border-radius:12px;margin-bottom:1.25rem}
.hours{width:100%;font-size:.98rem}
.hours th{font-weight:600;padding:.3rem 0}
.hours td{text-align:right;padding:.3rem 0}
.hours tr{border-bottom:1px solid rgba(20,50,92,.1)}
.map-wrap{border-radius:var(--radius);overflow:hidden;min-height:420px;box-shadow:0 10px 30px -20px rgba(20,50,92,.4)}
.map-wrap iframe{width:100%;height:100%;min-height:420px;border:0;display:block}

/* Footer */
.site-footer{background:#0e2342;color:#b9cbe3;padding:3.5rem 0 1.5rem;font-size:.95rem}
.site-footer a{color:#dbe6f4;text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
.footer-chip{display:inline-block;background:#fff;border-radius:14px;padding:.6rem 1rem}
.footer-chip img{display:block;width:170px;height:auto}
.footer-links li{display:inline-block;margin:0 .4rem}
.social{font-size:1.6rem}
.footer-bottom{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:center;font-size:.85rem}
.powered{background:rgba(127,214,200,.14);border:1px solid rgba(127,214,200,.4);border-radius:999px;padding:.35rem 1rem;color:#fff!important}
.powered i{color:var(--mint)}

@media(max-width:767.98px){
  .section{padding:4rem 0}
  .treat-card{padding:1.75rem}
  .footer-bottom{justify-content:center;text-align:center}
}

.photo-crop{aspect-ratio:4/3;object-fit:cover;object-position:center 35%}
.photo-band{aspect-ratio:21/8;object-fit:cover;object-position:center 60%}
