:root{--teal:#0b5563;--teal-d:#083f4a;--mint:#e8f4f1;--sun:#f6b93b;--ink:#1c2b33;--muted:#5b6d75;--line:#d5e4e1}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.7}
h1,h2,h3,h4,.brand-name{font-family:'Fraunces',Georgia,serif;letter-spacing:-.01em}
section{padding:6rem 0}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:700;color:var(--teal)}
.sec-title{font-size:clamp(2rem,4vw,2.9rem);line-height:1.15;margin:.5rem 0 1rem}
.lead-copy{color:var(--muted);max-width:640px}

/* navbar */
.navbar{background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.navbar-brand{display:flex;align-items:center;gap:.6rem;color:var(--teal-d)!important}
.navbar-brand img{width:38px;height:38px}
.brand-name{font-weight:700;font-size:1.3rem}
.navbar .nav-link{color:var(--ink);font-weight:500;font-size:.95rem;padding:.5rem .8rem!important}
.navbar .nav-link:hover{color:var(--teal)}
.btn-sun{background:var(--sun);color:#2a1d00;font-weight:700;border:0;border-radius:50rem;padding:.7rem 1.6rem}
.btn-sun:hover{background:#e9a824;color:#2a1d00}
.btn-ghost{border:2px solid #fff;color:#fff;border-radius:50rem;padding:.65rem 1.5rem;font-weight:600}
.btn-ghost:hover{background:#fff;color:var(--teal-d)}

/* hero: split panel */
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 66px);padding:0}
.hero-panel{background:var(--teal);color:#fff;display:flex;align-items:center;padding:4rem clamp(1.5rem,5vw,5rem)}
.hero-eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.8rem;font-weight:700;color:var(--sun)}
.hero-title{font-size:clamp(2.6rem,5.5vw,4.6rem);line-height:1.05;margin:1rem 0 1.2rem;font-weight:600}
.hero-title em{color:var(--sun);font-style:italic}
.hero-subtitle{font-size:1.15rem;color:#d7ebe8;max-width:30rem}
.hero-tagline{margin-top:2rem;font-size:.95rem;color:#b9d8d3}
.hero-tagline a{white-space:nowrap;color:#fff;font-weight:700;text-decoration:none}
.hero-photo{background:url('img/hero.webp') 78% center/cover no-repeat;position:relative;min-height:320px}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,85,99,.35),rgba(11,85,99,0) 35%)}

/* about */
.about{background:var(--mint)}
.doc-card{background:#fff;border-radius:1.25rem;padding:2rem;box-shadow:0 18px 40px -22px rgba(8,63,74,.4);text-align:center}
.doc-card img{width:180px;max-width:100%;height:auto;border-radius:.75rem;margin-bottom:1rem}
.doc-card h3{font-size:1.5rem;margin:0}
.fact{border-left:3px solid var(--sun);padding-left:1rem;margin-top:1.5rem}

/* services */
.svc-group{border:1px solid var(--line);border-radius:1.25rem;padding:2rem;height:100%;background:#fff}
.svc-group h3{font-size:1.4rem;color:var(--teal);display:flex;gap:.75rem;align-items:baseline}
.svc-group h3 span{font-size:.9rem;color:var(--sun);font-weight:700;font-family:'DM Sans',sans-serif}
.svc-group ul{list-style:none;padding:0;margin:1rem 0 0}
.svc-group li{padding:.55rem 0;border-top:1px solid var(--line);display:flex;justify-content:space-between}
.svc-group li:first-child{border-top:0}
.feature{background:var(--teal-d);color:#fff;border-radius:1.25rem;padding:2rem;height:100%}
.feature h4{color:var(--sun);font-size:1.3rem}
.feature p{color:#cfe4e1;margin:0;font-size:.97rem}

/* gallery */
.gallery{background:var(--mint)}
.gallery figure{margin:0;border-radius:1rem;overflow:hidden;aspect-ratio:4/3;background:var(--line)}
.gallery img{width:100%;height:100%;object-fit:cover;display:block}
.gallery figure.face img{object-position:center 25%}

/* testimonials */
.quote{background:var(--teal);color:#fff;border-radius:1.25rem;padding:2rem;height:100%;display:flex;flex-direction:column}
.quote:nth-child(2){background:var(--teal-d)}
.quote .mark{font-family:'Fraunces',serif;font-size:3.5rem;line-height:.6;color:var(--sun)}
.quote p{flex:1;font-size:.98rem;color:#e3f1ef}
.quote cite{font-style:normal;font-weight:700;color:var(--sun)}
.stars{color:var(--sun);letter-spacing:.15em}

/* insurance */
.chip{display:inline-block;border:1px solid var(--line);border-radius:50rem;padding:.4rem 1rem;margin:0 .4rem .6rem 0;background:#fff;font-size:.93rem}
.ins-list{list-style:none;padding:0;margin:0}
.ins-list li{padding:.6rem 0;border-bottom:1px solid var(--line);font-weight:500}
.note{background:var(--mint);border-radius:1rem;padding:1.5rem}

/* topics */
.topics{background:var(--mint)}
.topic{background:#fff;border-radius:1rem;padding:1.5rem;height:100%;border:1px solid var(--line)}
.topic h4{font-size:1.15rem;color:var(--teal)}
.topic p{margin:0;color:var(--muted);font-size:.95rem}

/* contact */
.hours{width:100%;max-width:420px}
.hours td{padding:.45rem 0;border-bottom:1px solid var(--line)}
.hours td:last-child{text-align:right;font-weight:600}
.info-row{display:flex;gap:.9rem;margin-bottom:1.1rem}
.info-row i{color:var(--teal);font-size:1.3rem}
.map{border:0;width:100%;height:100%;min-height:420px;border-radius:1.25rem}

/* footer */
footer{background:var(--teal-d);color:#cfe4e1;padding:4rem 0 2rem}
footer a{color:#fff;text-decoration:none}
footer a:hover{color:var(--sun)}
.logo-chip{background:#fff;border-radius:.9rem;padding:.4rem;display:inline-block}
.logo-chip img{width:48px;height:48px;display:block}
.social a{display:inline-flex;width:40px;height:40px;border:1px solid rgba(255,255,255,.35);border-radius:50%;align-items:center;justify-content:center;margin-right:.4rem;font-size:.85rem;font-weight:700}
.wfw{display:inline-block;margin-top:2rem;padding:.6rem 1.2rem;border:1px dashed rgba(255,255,255,.4);border-radius:50rem;font-size:.9rem}
.wfw b{color:var(--sun)}

@media(max-width:991px){
  section{padding:4rem 0}
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-photo{order:-1;min-height:260px;background-position:80% center}
  .hero-photo::after{background:linear-gradient(0deg,rgba(11,85,99,.3),rgba(11,85,99,0) 40%)}
  .hero-panel{padding:3rem 1.5rem}
  .navbar .btn-sun{margin-top:.5rem}
}
