@import url("/naidu-preview-assets/layout.css?v=20261022-1425");

/* November 4: preserve screenshot-approved section layouts. The later
   reassurance-panel reference and container-spacing request supersede only
   those components/spacing, not their content or other protected layouts. */
.reassurance { position:relative; z-index:2; padding:0; background:var(--green-soft); }
.reassurance .wrap { position:relative; transform:translateY(-40px); margin-bottom:-40px; padding:28px; gap:28px; border-radius:20px; background:var(--primary-dark); color:var(--white); }
.reassurance .wrap > div,
.reassurance .wrap > div:nth-child(2),
.reassurance .wrap > div:nth-child(3) { background:transparent; padding:12px; border-radius:0; }
.reassurance h3 { font-size:21px; }
.reassurance p { font-size:16px; }
#first-visit { padding-top:var(--section); }
#reviews { margin-block:32px; }
.visit { padding-top:var(--section); }
.final { margin:0; border-radius:0; }
.services { margin-inline:0; border-radius:0; background:var(--mist); }
.services > .wrap { display:block; }
.services .section-head { display:block; max-width:900px; margin:0 auto 40px; text-align:center; }
.services .section-head h2 br { display:none; }
.services .section-head p { max-width:760px; margin:20px auto 0; }
.service-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.service-card { padding:30px; border-radius:8px; background:var(--white); }
.service-card h3 { display:flex; align-items:flex-start; gap:12px; font-size:22px; line-height:1.25; }
.service-icon { width:28px; height:28px; flex:0 0 28px; }
.service-card p { font-size:16px; }
.service-help { text-align:center; margin-top:32px; }
.special { background:var(--green-soft); }
.special-photo { max-width:420px; border-radius:20px; }
.doctor { background:var(--white); color:var(--ink); }
.doctor-grid { grid-template-columns:.85fr 1.15fr; gap:120px; }
.doctor-visual { order:0; width:100%; max-width:390px; justify-self:center; }
.doctor-photo { height:auto; width:100%; padding:0; background:transparent; object-fit:contain; border-radius:28px 0 28px 0; }
.doctor-copy { order:1; }
.doctor-copy h2 { max-width:none; }
.doctor-copy ul { display:block; list-style:disc; padding-left:22px; margin-block:24px; }
.doctor-copy li { padding:4px 0; }
.doctor-copy li::before { content:none; }
.faq { background:var(--green-soft); }
.faq-grid { grid-template-columns:.85fr 1.15fr; gap:80px; }
.faq details { background:var(--white); border-radius:8px; }
.faq details[open] { background:var(--primary-light); }
.site-footer { background:var(--ink); color:var(--white); padding-block:44px; border-top:4px solid var(--lime); }
@media(min-width:801px) {
  .hero-grid { padding-bottom:104px; }
  /* Constrain the complete card, not just the vendor iframe. */
  .form-panel { height:630px; display:flex; flex-direction:column; overflow:hidden; }
  .form-panel > h2,.form-panel > p { flex-shrink:0; }
  .form-panel .callrail-form-embed { height:auto!important; min-height:0; flex:1 1 0; overflow:hidden; }
  .form-panel .callrail-form-embed iframe { height:100%!important; min-height:0!important; max-height:100%; }
  /* Include the location heading in the left column's full matched height. */
  .visit-shell { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); column-gap:48px; row-gap:32px; }
  .visit-heading { grid-column:1; grid-row:1; margin-bottom:0; }
  .visit-grid { display:contents; }
  .office-details { grid-column:1; grid-row:2; }
  .visit-grid .map { grid-column:2; grid-row:1 / span 2; height:0; min-height:100%; align-self:stretch; }
  .office-details .btn { margin-top:22px; }
}
@media(min-width:961px) {
  /* The copy through its rating establishes the row, with its existing
     bottom padding providing a little breathing room below the rating. */
  .hero-grid .form-panel { height:0; min-height:100%; }
}
@media(max-width:1100px) {
  .service-card { padding:24px; }
  .service-card h3 { font-size:20px; }
  .doctor-grid { gap:64px; }
  .faq-grid { column-gap:40px; }
}
@media(min-width:801px) and (max-width:960px) {
  .service-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:800px) {
  .hero-grid { padding-bottom:52px; }
  .reassurance .wrap { grid-template-columns:1fr; padding:20px; gap:16px; transform:translateY(-28px); margin-bottom:-28px; }
  .reassurance .wrap > div,
  .reassurance .wrap > div:nth-child(2),
  .reassurance .wrap > div:nth-child(3) { padding:8px; }
  #reviews { margin-block:24px; }
  .final { margin:0; border-radius:0; }
  .service-list { grid-template-columns:1fr; gap:16px; }
  .services .section-head { text-align:left; margin-bottom:28px; }
  .services .section-head p { margin-top:18px; }
  .service-card { padding:28px; }
  .service-card h3 { font-size:22px; }
  .service-card p { font-size:17px; }
  .service-help { text-align:left; }
  .special-photo { max-width:420px; justify-self:center; }
  .doctor-grid { grid-template-columns:1fr; gap:32px; }
  .doctor-visual { max-width:340px; }
  .doctor-copy .text-link { justify-content:center; }
  .faq-grid { grid-template-columns:1fr; gap:28px; }
  .site-footer { padding-bottom:110px; }
}
