
:root{
  --navy:#0e2f59;
  --navy2:#123d6d;
  --teal:#1aa7a4;
  --gold:#c39a56;
  --cream:#fbf8f3;
  --white:#ffffff;
  --text:#243a54;
  --muted:#67778a;
  --line:#e8ded0;
  --shadow:0 18px 45px rgba(14,47,89,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  background:linear-gradient(180deg,#fff 0%,var(--cream) 100%);
  color:var(--text);
  line-height:1.65;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block;height:auto}
.container{width:min(1280px,92%);margin:auto}
.small-container{width:min(1100px,92%);margin:auto}
.serif{font-family:Georgia,"Times New Roman",serif}
.section{padding:68px 0}
.section.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-title{max-width:860px;margin:0 auto 34px;text-align:center}
.section-title h2{
  margin:0 0 12px;
  font-size:44px;
  line-height:1.1;
  color:var(--navy);
  font-family:Georgia,"Times New Roman",serif;
}
.section-title p{margin:0;color:var(--muted);font-size:18px}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.header-row{
  display:grid;
  grid-template-columns:190px 1fr auto;
  align-items:center;
  gap:18px;
  padding:16px 0;
}
.header-logo{
  width:150px;
  height:150px;
  object-fit:contain;
}
.nav{
  display:flex;
  justify-content:center;
  gap:34px;
  flex-wrap:wrap;
}
.nav a{
  font-family:Georgia,"Times New Roman",serif;
  font-size:15px;
  letter-spacing:.02em;
  color:var(--navy);
  padding:6px 0;
  position:relative;
}
.nav a.active,.nav a:hover{color:var(--gold)}
.nav a.active::after,.nav a:hover::after{
  content:"";
  position:absolute;
  left:18%;
  right:18%;
  bottom:-8px;
  height:2px;
  background:var(--gold);
  border-radius:999px;
}
.header-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 22px;
  border-radius:16px;
  background:linear-gradient(135deg,#cfab6a,#b98a37);
  color:#fff;
  font-weight:700;
  box-shadow:var(--shadow);
  white-space:nowrap;
}

/* Hero */
.hero{
  padding:50px 0 30px;
  background:
    radial-gradient(circle at left center, rgba(195,154,86,.08), transparent 28%),
    radial-gradient(circle at right 28%, rgba(26,167,164,.05), transparent 18%),
    linear-gradient(180deg,#ffffff 0%, #fbf8f3 100%);
  border-bottom:1px solid var(--line);
}
.hero-title{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(62px,8.2vw,120px);
  line-height:.95;
  color:var(--navy);
  text-align:center;
  letter-spacing:.02em;
  margin:12px 0 20px;
}
.title-divider{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin:0 auto 14px;
  color:var(--gold);
}
.title-divider::before,.title-divider::after{
  content:"";
  width:min(18vw,210px);
  height:2px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.title-divider span{font-size:28px;line-height:1}
.hero-subtitle{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(24px,3vw,34px);
  text-align:center;
  color:var(--navy);
  margin:0 auto 30px;
  max-width:850px;
}
.hours-pill{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:0 auto;
  width:fit-content;
  padding:16px 34px;
  border-radius:18px;
  border:1px solid rgba(195,154,86,.75);
  background:#fff;
  box-shadow:0 8px 28px rgba(195,154,86,.08);
}
.hours-pill svg{width:24px;height:24px;stroke:var(--gold);stroke-width:2;fill:none}
.hours-pill span{font-family:Georgia,"Times New Roman",serif;color:#a06f1e;font-size:18px;letter-spacing:.04em}

/* Primary action buttons */
.main-actions{
  padding:26px 0 8px;
}
.action-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.action-card{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-height:76px;
  border-radius:18px;
  box-shadow:var(--shadow);
  color:#fff;
  font-weight:800;
  font-size:18px;
}
.action-card svg{width:28px;height:28px;stroke:currentColor;stroke-width:2.3;fill:none}
.action-card.phone{background:linear-gradient(135deg,var(--navy),var(--navy2))}
.action-card.book{background:linear-gradient(135deg,var(--teal),#0f8f8a)}
.action-card.map{background:linear-gradient(135deg,#cfab6a,#b98a37)}

/* Physicians */
.physician-band{padding:32px 0}
.physician-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:22px;
}
.physician-card{
  background:rgba(255,255,255,.84);
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:var(--shadow);
  padding:34px;
  min-height:390px;
  display:grid;
  grid-template-rows:auto 1fr;
  text-align:center;
}
.logo-panel{
  display:flex;
  align-items:center;
  justify-content:center;
  height:175px;
  margin-bottom:12px;
}
.logo-panel img{
  width:160px;
  height:160px;
  object-fit:contain;
}
.physician-copy h3{
  margin:0 0 2px;
  font-family:Georgia,"Times New Roman",serif;
  color:var(--navy);
  font-size:34px;
  line-height:1.1;
}
.role{
  font-family:Georgia,"Times New Roman",serif;
  color:var(--gold);
  font-size:18px;
  margin-bottom:10px;
}
.leaf-divider{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--gold);
  margin:4px auto 16px;
  max-width:220px;
}
.leaf-divider::before,.leaf-divider::after{
  content:"";
  height:2px;
  flex:1;
  background:#dcc7a0;
}
.leaf-divider span{font-size:20px;line-height:1}
.scope-line{
  margin:0 auto;
  max-width:460px;
  font-size:16px;
  color:var(--text);
}
.scope-line strong{color:var(--navy)}

/* Info ribbon */
.mini-ribbon{padding:8px 0 40px}
.mini-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  background:rgba(255,255,255,.72);
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.mini-item{
  padding:26px 26px 24px;
  display:flex;
  gap:18px;
  align-items:flex-start;
  border-right:1px solid var(--line);
}
.mini-item:last-child{border-right:0}
.mini-icon svg{width:38px;height:38px;stroke:#b78a3c;stroke-width:2;fill:none}
.mini-copy{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:15px;line-height:1.5}

/* Content panels */
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.panel{
  background:#fff;
  border:1px solid var(--line);
  border-radius:26px;
  box-shadow:var(--shadow);
  padding:30px;
}
.panel h3{
  margin:0 0 12px;
  font-size:30px;
  color:var(--navy);
  font-family:Georgia,"Times New Roman",serif;
}
.cta-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:22px}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 20px;
  border-radius:14px;
  font-weight:700;
  border:1px solid transparent;
  transition:.2s ease;
  cursor:pointer;
}
.btn-primary{background:var(--navy);color:#fff}
.btn-gold{background:var(--gold);color:#fff}
.btn-outline{background:#fff;color:var(--navy);border-color:var(--line)}
.btn-teal{background:var(--teal);color:#fff}

.service-list{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px;margin-top:18px}
.service-box{
  padding:18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fcfaf7;
}
.service-box strong{
  display:block;
  color:var(--navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:18px;
  margin-bottom:6px;
}
.info-links{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}
.info-link{border:1px solid var(--line);border-radius:18px;padding:18px;background:#fcfaf7;text-align:center}
.info-link strong{display:block;margin-bottom:6px;color:var(--navy)}
.contact-box p{margin:0 0 12px}
.map-frame{border:1px solid var(--line);border-radius:20px;overflow:hidden;min-height:290px;box-shadow:var(--shadow)}
.map-frame iframe{width:100%;height:100%;min-height:290px;border:0}

/* Forms */
.form-shell{
  max-width:980px;
  margin:38px auto;
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:var(--shadow);
  padding:32px;
}
.form-shell h1{font-family:Georgia,"Times New Roman",serif;color:var(--navy);margin:0 0 10px;font-size:42px}
.form-note{background:#f8f3ea;border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:22px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
label{display:block;font-weight:700;margin:14px 0 6px;color:var(--navy)}
input,textarea,select{width:100%;padding:12px 13px;border:1px solid #d5dbe3;border-radius:12px;font:inherit;background:#fff}
textarea{min-height:110px;resize:vertical}
.checkbox{display:flex;gap:10px;align-items:flex-start;margin-top:10px}
.checkbox input{width:auto;margin-top:5px}
.form-actions{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap}

/* Footer */
.footer{
  background:linear-gradient(180deg,var(--navy),#0b2442);
  color:#fff;
  border-top:4px solid var(--gold);
  padding:40px 0;
}
.footer-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:24px;align-items:start}
.footer-logo{width:160px;background:#fff;border-radius:22px;padding:10px}
.footer h4{margin:0 0 10px;font-size:20px;font-family:Georgia,"Times New Roman",serif}
.footer a{color:#fff}
.footer p{margin:0 0 8px;color:rgba(255,255,255,.9)}
.helper-links{display:flex;gap:12px;flex-wrap:wrap}

@media (max-width:1100px){
  .header-row{grid-template-columns:1fr;justify-items:center}
  .nav{gap:22px}
  .action-grid,.physician-grid,.info-grid,.service-list,.info-links,.footer-grid{grid-template-columns:1fr}
  .mini-grid{grid-template-columns:repeat(2,1fr)}
  .mini-item:nth-child(2){border-right:0}
  .mini-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media (max-width:760px){
  .header-logo{width:130px;height:130px}
  .hero-title{font-size:56px}
  .hours-pill{padding:14px 18px}
  .hours-pill span{font-size:16px}
  .mini-grid{grid-template-columns:1fr}
  .mini-item{border-right:0;border-bottom:1px solid var(--line)}
  .mini-item:last-child{border-bottom:0}
  .form-grid{grid-template-columns:1fr}
}
