
:root{
  --bg:#f6f3ee;
  --paper:#fffdfb;
  --ink:#1f2933;
  --muted:#66707a;
  --line:#e5ddd3;
  --warm:#c06a46;
  --warm2:#e8cab7;
  --sage:#dfe7e2;
  --shadow:0 16px 40px rgba(62,41,28,.08);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at top right, rgba(232,202,183,.48), transparent 24%),
    radial-gradient(circle at left top, rgba(223,231,226,.7), transparent 26%),
    var(--bg);
  line-height:1.65;
}
a{text-decoration:none;color:inherit}
.wrap{width:min(1180px,calc(100% - 40px));margin:0 auto}
.topbar{
  position:sticky;top:0;z-index:40;
  background:rgba(246,243,238,.88);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(31,41,51,.06);
}
.nav{display:flex;justify-content:space-between;align-items:center;padding:18px 0}
.brand{font-weight:800;letter-spacing:.02em;font-size:1.25rem}
.nav nav{display:flex;gap:26px}
.nav nav a{color:var(--muted);font-weight:600}
.nav nav a:hover{color:var(--ink)}
.hero{padding:72px 0 34px}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:28px;align-items:stretch}
.eyebrow{
  display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;
  background:var(--paper);border:1px solid var(--line);font-size:.9rem;font-weight:700;color:#6a5b50
}
h1,h2,h3{margin:0 0 10px}
.display{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.6rem,5.6vw,4.8rem);
  line-height:.97;letter-spacing:-.03em;
  max-width:11ch;
  margin-top:16px;
}
.lead{font-size:1.08rem;color:var(--muted);max-width:62ch}
.btnrow,.actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{
  min-height:48px;padding:0 18px;border-radius:999px;font-weight:700;
  display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent
}
.btn-primary{background:#1f2933;color:white}
.btn-secondary{background:var(--paper);border-color:var(--line)}
.btn-warm{background:var(--warm);color:white}
.hero-panel{
  background:linear-gradient(180deg,#fffdfb,#fbf8f3);
  border:1px solid var(--line);
  border-radius:34px;
  padding:24px;
  box-shadow:var(--shadow);
}
.searchcard{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:24px;
  padding:20px;
  margin-top:18px;
}
.search{
  width:100%;min-height:54px;border-radius:18px;padding:0 16px;
  border:1px solid var(--line);background:white;font-size:1rem
}
.statgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px}
.stat{
  background:white;border:1px solid var(--line);border-radius:20px;padding:16px
}
.stat strong{display:block;font-size:1.7rem}
.stat span{color:var(--muted);font-size:.93rem}
.section{padding:36px 0}
.section h2{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.9rem,4vw,3rem);
  line-height:1.02;
}
.subtle{color:var(--muted);max-width:76ch}
.ribbon{display:flex;gap:10px;flex-wrap:wrap}
.pill,.tag{
  display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;
  border:1px solid var(--line);background:#fffaf5;font-size:.87rem
}
.grid{display:grid;gap:18px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{
  background:rgba(255,255,255,.82);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;box-shadow:var(--shadow)
}
.card h3{font-size:1.14rem}
.kicker{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--warm);font-weight:800}
.meta{color:var(--muted);font-size:.95rem}
.cardtop{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}
.badge{
  white-space:nowrap;background:#fff4ed;color:#9d5e3f;border:1px solid #efd6c7;border-radius:999px;
  padding:7px 10px;font-size:.82rem;font-weight:700
}
.split{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.95fr);gap:22px;align-items:start}
.stack{display:grid;gap:18px}
.sidebar{position:sticky;top:92px}
.list{list-style:none;padding:0;margin:0}
.list li{padding:12px 0;border-bottom:1px solid var(--line)}
.list li:last-child{border-bottom:none}
.faq{padding:16px 0;border-top:1px solid var(--line)}
.faq:first-child{border-top:none}
.hours{width:100%;border-collapse:collapse}
.hours th,.hours td{padding:11px 0;border-bottom:1px solid var(--line);text-align:left}
.hours th{width:42%}
.notice{
  padding:18px;border:1px dashed #d8c7b8;border-radius:20px;background:#fffdf9;color:var(--muted)
}
.featureband{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px
}
.feature{
  background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:20px
}
.feature p{color:var(--muted);margin:0}
.cta{
  background:linear-gradient(90deg, rgba(232,202,183,.5), rgba(223,231,226,.9));
  border:1px solid var(--line);border-radius:28px;padding:28px
}
.heroquote{
  margin-top:20px;background:white;border:1px solid var(--line);border-radius:20px;padding:16px
}
.footer{margin-top:54px;border-top:1px solid var(--line);background:rgba(255,255,255,.45)}
.footergrid{display:grid;grid-template-columns:1.2fr .8fr .9fr;gap:20px;padding:36px 0}
.muted{color:var(--muted)}
@media (max-width:980px){
  .hero-grid,.split,.featureband,.footergrid,.grid-3,.grid-2,.statgrid{grid-template-columns:1fr}
  .sidebar{position:static}
}



/* ===== V4 balance + centering fixes ===== */
.hero{
  padding:88px 0 40px;
}
.hero-grid{
  grid-template-columns: 1fr;
  gap: 22px;
  max-width: 980px;
  margin: 0 auto;
}
.hero-grid > div:first-child{
  text-align: center;
}
.display{
  max-width: 16ch !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.lead{
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 68ch !important;
}
.btnrow{
  justify-content: center;
}
.heroquote{
  max-width: 760px;
  margin: 20px auto 0;
  text-align: left;
}
.hero-panel{
  max-width: 900px;
  margin: 0 auto;
}
.searchcard{
  text-align: left;
}
.section > .wrap > h2,
.section > .wrap > .subtle{
  text-align: center;
}
.section > .wrap > .subtle{
  margin-left: auto;
  margin-right: auto;
}
.featureband{
  margin-top: 10px;
}
.cta .grid{
  align-items: center;
}
.cta h2,
.cta .subtle{
  text-align: left;
}
.card p.meta,
.card .meta{
  text-align: left;
}
@media (min-width: 981px){
  .split{
    grid-template-columns:minmax(0,1.45fr) minmax(340px,.95fr);
    gap:28px;
  }
}


/* ===== V5 photo support ===== */
.hero-photo{
  margin-top: 18px;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: var(--shadow);
}
.hero-photo img{
  width: 100%;
  height: auto;
  display: block;
}
.page-media{
  margin-top: 20px;
  border-radius: 26px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: var(--shadow);
}
.page-media img{
  width: 100%;
  height: auto;
  display: block;
}
.clinic-hero-media{
  margin-top: 22px;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: var(--shadow);
}
.clinic-hero-media img{
  width: 100%;
  height: auto;
  display: block;
}
.photo-note{
  font-size: .9rem;
  color: var(--muted);
  margin-top: 10px;
}


/* VARIANT */

.btn { background:#ff5a3c; color:#fff; border-radius:8px; }
.btn.secondary { background:#111; }
.hero { background:#fff7f4; }
.hero .btn { font-size:1.1rem; padding:14px 22px; }
.cta { background:#ffefe9; padding:40px; border-radius:20px; }
.card { border:2px solid #ffe0d8; }


.clinic-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:14px;
  margin-top:16px;
}
.clinic-gallery a,
.clinic-gallery .gallery-card{
  display:block;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--shadow);
}
.clinic-gallery img{
  width:100%;
  height:180px;
  object-fit:cover;
  display:block;
}
.clinic-gallery-caption{
  font-size:.88rem;
  color:var(--muted);
  margin-top:10px;
}


a.statlink{display:block;text-decoration:none;color:inherit}
a.statlink .stat{transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease}
a.statlink:hover .stat{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#d8c7b8}
a.pill{color:inherit;text-decoration:none}
a.pill:hover{background:#fff4ed}
.section-intro{max-width:760px;margin-bottom:18px}


/* ===== V7 spreadsheet-matched rebuild ===== */
.section-intro{max-width:72ch;margin:0 auto;color:var(--muted)}
.list-grid{display:grid;gap:14px}
.hero-photo img,.page-media img,.clinic-hero-media img,.gallery-card img{aspect-ratio:16/9;object-fit:cover}
.gallery-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.clinic-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
.clinic-gallery-caption{margin-top:8px;color:var(--muted);font-size:.92rem}
.hours-table{width:100%;border-collapse:collapse}
.hours-table td{padding:10px 0;border-bottom:1px solid var(--line)}
.hours-table td:last-child{text-align:right;color:var(--muted)}
.hero-statline{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:16px}
.hero-statline .pill{background:#fff}
.content-image{margin-top:16px}
.quickfacts{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:16px}
.quickfacts .card{padding:16px}
.page-lead-left{text-align:left !important;margin-left:0 !important;margin-right:0 !important}
.centered-grid{justify-content:center}
.linklist{display:grid;gap:10px}
.linklist a{color:var(--warm)}
.breadcrumbs{margin-bottom:12px}
.breadcrumbs a{color:var(--muted)}
.notice strong{color:var(--ink)}
@media (max-width:980px){.clinic-gallery,.quickfacts{grid-template-columns:1fr}}


/* Native clinic NAP/provider details pattern */
.provider-details-card .nap-card{
  display:block;
  margin:14px 0 18px;
  padding:16px;
  border:1px solid rgba(25,38,66,.12);
  border-radius:18px;
  background:rgba(255,255,255,.72);
}
.nap-name{font-size:1.08rem;font-weight:800;color:#152238;margin-bottom:8px;}
.nap-address{color:#475569;line-height:1.45;margin-bottom:10px;}
.nap-phone{display:inline-flex;font-weight:800;text-decoration:none;}
.provider-details-grid{display:grid;gap:10px;}
.provider-field{padding-top:10px;border-top:1px solid rgba(25,38,66,.10);}
.provider-field span{display:block;color:#64748b;font-size:.82rem;font-weight:700;letter-spacing:.02em;}
.provider-field strong{display:block;color:#1e293b;font-weight:650;margin-top:3px;line-height:1.4;}
