/* Restored legacy homepage: clinic editorial palette, original section rhythm. */
:root {
  --home-paper: #f5f6f0;
  --home-mist: #e8eee8;
  --home-ink: #163c4b;
  --home-body: #4d6265;
  --home-leaf: #347b58;
  --home-coral: #bd7658;
  --home-line: rgba(22, 60, 75, .13);
  --home-shadow: 0 14px 38px rgba(24, 58, 61, .08);
}

.hero-modern {
  background:
    radial-gradient(ellipse at 87% 12%, rgba(153, 190, 145, .18), transparent 30%),
    linear-gradient(122deg, #102f40 0%, #16495a 55%, #275b57 100%);
}
.hero-modern-title { max-width: 760px; letter-spacing: -.025em; word-spacing: .03em; }
.hero-modern-sub { max-width: 640px; }
.home-mobile-doctor { display: none; }
.hero-doctor-img {
  object-fit: contain;
  object-position: center bottom;
  border-radius: 18px 18px 12px 12px;
  background: linear-gradient(160deg, rgba(255,255,255,.08), rgba(255,255,255,.01));
}
.hero-shape-bg {
  inset: 5% 2% 0;
  border-radius: 46% 46% 16px 16px;
  background: linear-gradient(145deg, #82ae88, #4c7d70);
  opacity: .44;
}
.hero-modern .hero-visual-frame { overflow: visible; }
.hero-modern .hero-modern-inner { gap: clamp(34px, 6vw, 86px); }
.hero-modern .hero-pill { border-radius: 8px; }
.hero-modern .hero-modern-btns .btn-primary { background: #4b9366; }
.hero-modern .hero-trust-strip { background: rgba(7, 29, 37, .34); }
.hero-modern .float-card { animation-duration: 5s; }
.about-image img { width: 100%; height: auto; object-fit: contain; object-position: center; }
.service-card .service-img { background: #edf1ea; }
.service-card .service-img img { object-fit: contain; }
.section-padding img[alt="Dr Raman Garg discussing care options during a consultation"] {
  height: auto !important;
  object-fit: contain !important;
}

.home-complete-guide {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 5% 0%, rgba(189, 118, 88, .08), transparent 28%),
    var(--home-paper);
}
.home-complete-guide > .container { position: relative; z-index: 1; }
.home-guide-heading {
  max-width: 820px;
  margin: 0 auto 30px;
  text-align: center;
}
.home-guide-heading h2 {
  margin: 12px 0 10px;
  color: var(--home-ink);
  font-size: clamp(1.9rem, 4vw, 3rem);
  line-height: 1.12;
  letter-spacing: -.025em;
}
.home-guide-heading p { margin: 0 auto; color: var(--home-body); line-height: 1.75; }
.home-guide-sections {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  max-width: 1120px;
  margin: 0 auto;
}
.home-guide-copy {
  min-width: 0;
  max-width: none;
  margin: 0;
  padding: clamp(22px, 3.4vw, 42px);
  border: 1px solid var(--home-line);
  border-radius: 18px;
  background: #fffefa;
  box-shadow: var(--home-shadow);
  color: var(--home-body);
  font-size: 1rem;
  line-height: 1.82;
}
.home-topic-wide { grid-column: 1 / -1; }
.home-topic-with-image {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(230px, .7fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
}
.home-topic-image {
  margin: 0;
  overflow: hidden;
  border-radius: 14px;
  background: #edf1ea;
}
.home-topic-image img {
  display: block;
  width: 100%;
  max-height: 430px;
  object-fit: contain;
}
.home-topic-text > :first-child { margin-top: 0; }
.home-topic-text > h2 {
  margin: clamp(34px, 5vw, 54px) 0 13px;
  padding-top: 24px;
  border-top: 1px solid var(--home-line);
  color: var(--home-ink);
  font-size: clamp(1.55rem, 2.5vw, 2.08rem);
  line-height: 1.2;
  letter-spacing: -.025em;
}
.home-topic-text > h2:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
.home-guide-copy h3 {
  margin: 25px 0 8px;
  color: var(--home-ink);
  font-size: 1.18rem;
  line-height: 1.35;
}
.home-guide-copy p { margin: 0 0 1.05em; }
.home-guide-copy ul, .home-guide-copy ol { margin: .7em 0 1.25em; padding-left: 1.35em; }
.home-guide-copy li { margin: .4em 0; padding-left: .25em; }
.home-guide-copy li::marker { color: var(--home-leaf); }
.home-guide-copy a {
  color: #286a4b;
  text-decoration: underline;
  text-decoration-color: rgba(40, 106, 75, .35);
  text-underline-offset: 3px;
}
.home-guide-copy a:hover { color: var(--home-ink); text-decoration-color: currentColor; }
.home-guide-copy .doc-intro {
  padding: 20px 22px;
  border-left: 3px solid var(--home-coral);
  border-radius: 0 10px 10px 0;
  background: #f5f1e9;
  color: #36535a;
}
.home-guide-copy .doc-trust {
  margin: 18px 0;
  padding: 13px 16px;
  border-radius: 9px;
  background: var(--home-mist);
  color: var(--home-ink);
  font-size: .91rem;
  font-weight: 750;
}
.home-guide-copy .doc-inline-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 22px 0;
}
.home-guide-copy .doc-inline-cta a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  padding: 10px 16px;
  border-radius: 7px;
  background: var(--home-ink);
  color: #fffefa;
  font-weight: 700;
  text-decoration: none;
  transition: transform .22s ease, background-color .22s ease;
}
.home-guide-copy .doc-inline-cta a:hover { transform: translateY(-2px); background: var(--home-leaf); }
.home-guide-copy .doc-table-wrap {
  width: 100%;
  margin: 20px 0;
  overflow-x: auto;
  border: 1px solid var(--home-line);
  border-radius: 10px;
}
.home-guide-copy table { width: 100%; min-width: 580px; border-collapse: collapse; font-size: .91rem; }
.home-guide-copy th, .home-guide-copy td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--home-line);
  text-align: left;
  vertical-align: top;
}
.home-guide-copy th { background: #e9f0e8; color: var(--home-ink); }
.home-guide-copy tr:last-child td { border-bottom: 0; }
.home-guide-copy .doc-table-wrap + p { font-size: .91rem; }
.home-related {
  max-width: 1050px;
  margin: clamp(38px, 6vw, 64px) auto 0;
  padding: clamp(22px, 4vw, 40px);
  border-radius: 16px;
  background: #e9eee7;
}
.home-related .home-guide-heading { margin-bottom: 22px; }
.home-related .home-guide-heading h2 { font-size: clamp(1.55rem, 3vw, 2.2rem); }
.home-related-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; }
.home-related-links a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 9px 13px;
  border: 1px solid rgba(22, 60, 75, .13);
  border-radius: 7px;
  background: #fffefa;
  color: var(--home-ink);
  font-size: .87rem;
  font-weight: 650;
  text-decoration: none;
  transition: transform .2s ease, border-color .2s ease, color .2s ease;
}
.home-related-links a:hover { transform: translateY(-2px); border-color: var(--home-leaf); color: var(--home-leaf); }
.home-related-links i { font-size: .68rem; opacity: .65; }

.faq .section-title { max-width: 780px; margin-inline: auto; }
.faq .faq-container { max-width: 960px; margin-inline: auto; }
.home-faq-entry {
  margin: 0 0 11px;
  overflow: hidden;
  border: 1px solid var(--home-line);
  border-radius: 10px;
  background: #fffefa;
  box-shadow: 0 5px 18px rgba(24,58,61,.045);
}
.home-faq-entry[open] { border-color: rgba(52,123,88,.4); }
.home-faq-question {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 17px 20px;
  color: var(--home-ink);
  font-weight: 750;
  line-height: 1.5;
  cursor: pointer;
  list-style: none;
}
.home-faq-question::-webkit-details-marker { display: none; }
.home-faq-question::before {
  content: "Q";
  display: grid;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 7px;
  background: #e7eee6;
  color: var(--home-leaf);
  font-size: .72rem;
  font-weight: 850;
}
.home-faq-question i { margin-left: auto; color: var(--home-leaf); transition: transform .2s ease; }
.home-faq-entry[open] .home-faq-question i { transform: rotate(180deg); }
.home-faq-answer { padding: 0 22px 18px 64px; color: var(--home-body); line-height: 1.75; }
.home-faq-answer p { margin: 0; }

.home-gallery-controls {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  margin: -20px 0 18px;
  color: var(--home-body);
  font-size: .8rem;
}
.home-gallery-controls button {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid var(--home-line);
  border-radius: 50%;
  background: #fffefa;
  color: var(--home-ink);
  transition: transform .2s ease, background-color .2s ease, color .2s ease;
}
.home-gallery-controls button:hover { transform: translateY(-2px); background: var(--home-ink); color: #fffefa; }
.home-gallery-controls button:disabled { opacity: .42; cursor: not-allowed; transform: none; }
.gallery .gallery-grid {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding: 3px 2px 16px;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-color: #9eb5a4 transparent;
  scrollbar-width: thin;
  overscroll-behavior-inline: contain;
}
.gallery .gallery-item {
  flex: 0 0 clamp(250px, 31%, 370px);
  aspect-ratio: 4 / 3;
  scroll-snap-align: start;
  border-radius: 12px;
  cursor: zoom-in;
}
.gallery .gallery-item img { object-fit: contain; background: #edf0ea; }
.gallery .gallery-item:hover img { transform: scale(1.025); }
.gallery .gallery-grid:focus-visible { outline: 3px solid #83a98a; outline-offset: 4px; }

.hero-modern a:focus-visible,
.home-complete-guide a:focus-visible,
.gallery button:focus-visible,
.home-faq-question:focus-visible {
  outline: 3px solid #c59070;
  outline-offset: 3px;
}

@media (max-width: 760px) {
  .hero-modern .hero-modern-content { display: flex; flex-direction: column; align-items: stretch; }
  .hero-modern .hero-pill { order: 1; }
  .hero-modern .hero-modern-title { order: 2; }
  .home-mobile-doctor {
    order: 3;
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 4px auto 16px;
    padding: 8px 13px 8px 8px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 12px;
    background: rgba(255,255,255,.07);
    text-align: left;
    color: white;
  }
  .home-mobile-doctor img { width: 62px; height: 62px; object-fit: contain; border-radius: 8px; background: rgba(255,255,255,.1); }
  .home-mobile-doctor strong, .home-mobile-doctor small { display: block; }
  .home-mobile-doctor small { font-size: .75rem; color: rgba(255,255,255,.8); }
  .hero-modern .hero-modern-sub { order: 4; }
  .hero-modern .hero-modern-btns { order: 5; }
  .hero-modern .hero-money-pages { order: 6; }
  .hero-modern .hero-trust { order: 7; }
  .hero-modern .hero-modern-title {
    font-size: clamp(1.72rem, 7.2vw, 2.18rem);
    line-height: 1.18;
    letter-spacing: -.025em;
    overflow-wrap: normal;
    word-break: normal;
  }
  .home-guide-sections { grid-template-columns: minmax(0, 1fr); }
  .home-topic-wide { grid-column: auto; }
  .home-topic-with-image { grid-template-columns: minmax(0, 1fr); }
  .home-topic-image img { max-height: 360px; }
  .hero-modern-inner { padding-bottom: 55px; }
  .hero-modern-visual { width: 100%; }
  .hero-visual-frame { max-width: 340px; }
  .float-card { max-width: 190px; }
  .home-guide-copy { border-radius: 13px; }
  .home-guide-copy > h2 { padding-top: 19px; }
  .home-guide-copy .doc-inline-cta { display: grid; grid-template-columns: 1fr; }
  .home-guide-copy .doc-inline-cta a { width: 100%; }
  .home-gallery-controls { margin-top: -12px; }
  .gallery .gallery-item { flex-basis: min(82vw, 350px); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .hero-modern *,
  .home-complete-guide *,
  .gallery *,
  .faq *,
  [data-aos] {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Homepage guide: a Bathinda clinic field guide, not a long newspaper column. */
.home-complete-guide {
  --guide-forest: #245b45;
  --guide-sage: #e4eee5;
  --guide-sand: #f4eee3;
  --guide-navy: #163c4b;
  padding-block: clamp(56px, 7vw, 96px);
}
.home-guide-heading { margin-bottom: clamp(28px, 4vw, 48px); }
.home-guide-heading h2 { color: var(--guide-navy); }
.home-guide-heading p { max-width: 700px; }
.home-guide-sections {
  max-width: 1180px;
  gap: clamp(14px, 2vw, 22px);
  align-items: stretch;
}
.home-guide-copy {
  position: relative;
  overflow: hidden;
  padding: clamp(22px, 3vw, 36px);
  border: 1px solid rgba(22,60,75,.1);
  border-radius: 16px;
  background: #fffefa;
  box-shadow: 0 10px 28px rgba(24,58,61,.055);
  color: #455c5d;
  line-height: 1.78;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.home-guide-copy:hover {
  transform: translateY(-3px);
  border-color: rgba(52,123,88,.3);
  box-shadow: 0 18px 38px rgba(24,58,61,.09);
}
.home-topic {
  min-width: 0;
  isolation: isolate;
}
.home-topic::before {
  position: absolute;
  z-index: -1;
  top: -39px;
  right: -34px;
  width: 118px;
  height: 118px;
  border: 1px solid rgba(52,123,88,.12);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}
.home-topic-text { min-width: 0; }
.home-topic-text > h2 {
  margin: 0 0 14px;
  padding: 0 0 12px;
  border: 0;
  color: var(--guide-navy);
  font-size: clamp(1.38rem, 2.2vw, 1.9rem);
  line-height: 1.2;
  letter-spacing: -.025em;
}
.home-topic-text > h2:not(:first-child) {
  margin-top: clamp(30px, 4vw, 44px);
  padding-top: 21px;
  border-top: 1px solid var(--home-line);
}
.home-topic-text > h3,
.home-guide-copy h3 {
  margin: 24px 0 8px;
  color: var(--guide-navy);
  font-size: 1.06rem;
  line-height: 1.35;
}
.home-topic-text > h2:first-child + p,
.home-topic-text > h2:first-of-type + p {
  color: #4a6260;
}
.home-topic-image {
  position: relative;
  border-radius: 13px;
  background: linear-gradient(145deg, #e5eee6, #f2eee4);
}
.home-topic-image img {
  width: 100%;
  max-height: 390px;
  object-fit: cover;
  transition: transform .5s cubic-bezier(.2,.7,.2,1);
}
.home-topic-with-image:hover .home-topic-image img { transform: scale(1.025); }

/* Each guide topic has a different editorial treatment to help scanning. */
.home-topic-0 {
  grid-column: 1 / -1;
  padding: clamp(27px, 4vw, 48px);
  border: 0;
  background:
    radial-gradient(ellipse at 100% 0%, rgba(147,180,141,.22), transparent 36%),
    linear-gradient(120deg, #eaf1e8, #f7f4eb);
  box-shadow: inset 0 0 0 1px rgba(36,91,69,.09);
}
.home-topic-0::before { border-color: rgba(36,91,69,.13); }
.home-topic-0 .doc-intro {
  max-width: 920px;
  margin: 0;
  padding: 0 0 0 20px;
  border: 0;
  border-left: 3px solid var(--home-coral);
  border-radius: 0;
  background: transparent;
}
.home-topic-0 .doc-trust {
  display: inline-flex;
  margin: 20px 0 4px;
  padding: 12px 16px;
  border: 1px solid rgba(36,91,69,.12);
  border-radius: 8px;
  background: rgba(255,254,250,.72);
}
.home-topic-1 { background: #fffefa; }
.home-topic-2 {
  grid-column: 1 / -1;
  background: #f0f4ec;
}
.home-topic-2 .home-topic-text > ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px 28px;
  margin-block: 16px 20px;
  padding: 0;
  list-style: none;
}
.home-topic-2 .home-topic-text > ul li {
  position: relative;
  margin: 0;
  padding: 10px 12px 10px 31px;
  border-bottom: 1px solid rgba(22,60,75,.09);
}
.home-topic-2 .home-topic-text > ul li::before {
  position: absolute;
  top: 17px;
  left: 8px;
  width: 8px;
  height: 8px;
  border: 2px solid var(--guide-forest);
  border-radius: 50%;
  content: "";
}
.home-topic-3 { background: #fffefa; }
.home-topic-3 .home-topic-text > ul,
.home-topic-4 .home-topic-text > ul {
  padding: 0;
  list-style: none;
  counter-reset: care-step;
}
.home-topic-3 .home-topic-text > ul li {
  position: relative;
  margin: 0;
  padding: 13px 12px 13px 46px;
  border-bottom: 1px solid var(--home-line);
}
.home-topic-3 .home-topic-text > ul li::before {
  position: absolute;
  top: 12px;
  left: 2px;
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  background: var(--guide-sage);
  color: var(--guide-forest);
  content: counter(care-step, decimal-leading-zero);
  counter-increment: care-step;
  font-size: .72rem;
  font-weight: 800;
}
.home-topic-4 {
  grid-column: 1 / -1;
  background: linear-gradient(135deg, #edf3ed, #e5eee8);
}
.home-topic-4 .home-topic-text > ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 28px; }
.home-topic-4 .home-topic-text > ul li {
  position: relative;
  margin: 0;
  padding: 12px 14px 12px 42px;
  border: 1px solid rgba(22,60,75,.1);
  border-radius: 9px;
  background: rgba(255,254,250,.78);
}
.home-topic-4 .home-topic-text > ul li::before {
  position: absolute;
  left: 14px;
  color: var(--guide-forest);
  content: "✓";
  font-weight: 800;
}
.home-topic-5 { background: #fffefa; }
.home-topic-6 {
  background: var(--guide-sand);
  border-color: rgba(189,118,88,.19);
}
.home-topic-6 .doc-table-wrap {
  border-color: rgba(22,60,75,.14);
  box-shadow: 0 8px 22px rgba(66,65,49,.06);
}
.home-topic-6 table { min-width: 600px; }
.home-topic-6 th { background: #e5ece4; }
.home-topic-7 {
  grid-column: 1 / -1;
  background: #eaf1e9;
}
.home-topic-7 .home-topic-text > ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 7px 24px;
  padding: 0;
  list-style: none;
}
.home-topic-7 .home-topic-text > ul li {
  position: relative;
  margin: 0;
  padding: 11px 12px 11px 34px;
  border-bottom: 1px solid rgba(22,60,75,.1);
}
.home-topic-7 .home-topic-text > ul li::before {
  position: absolute;
  left: 9px;
  color: var(--guide-forest);
  content: "✓";
  font-weight: 800;
}
.home-topic-8 { background: #fffefa; }
.home-topic-9 {
  grid-column: 1 / -1;
  background: linear-gradient(145deg, #f2f4ed, #e8efe7);
}
.home-topic-10 { background: #fffefa; }
.home-topic-11 {
  grid-column: 1 / -1;
  background: #f3f0e7;
}
.home-topic-11 .home-topic-text > ul {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 9px 26px;
  padding-left: 1.25em;
}

/* Related conditions: image-led service cards with a restrained clinic green. */
.home-treatment-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: clamp(15px, 2vw, 23px);
  margin: clamp(22px, 3vw, 36px) 0;
}
.home-treatment-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(22,60,75,.11);
  border-radius: 14px;
  background: #fffefa;
  box-shadow: 0 9px 26px rgba(24,58,61,.065);
  color: var(--home-body);
  transition: transform .24s ease, box-shadow .24s ease;
}
.home-treatment-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 17px 34px rgba(24,58,61,.12);
}
.home-treatment-card-image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: #e8eee7;
}
.home-treatment-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s cubic-bezier(.2,.7,.2,1);
}
.home-treatment-card:hover .home-treatment-card-image img { transform: scale(1.04); }
.home-treatment-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(17px, 2vw, 24px);
}
.home-treatment-card-body h3 {
  margin: 0 0 9px;
  color: var(--home-ink);
  font-size: 1.08rem;
  line-height: 1.35;
}
.home-treatment-card-body p { margin: 0 0 18px; font-size: .93rem; line-height: 1.7; }
.home-treatment-more {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  margin-top: auto;
  padding: 9px 13px;
  border: 1px solid rgba(36,91,69,.18);
  border-radius: 7px;
  background: #edf3ec;
  color: #245b45;
  font-size: .87rem;
  font-weight: 750;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.home-treatment-more:hover {
  transform: translateX(2px);
  background: var(--home-ink);
  color: #fffefa;
}

/* Malwa towns: horizontal snap rail; native scrolling remains keyboard/touch friendly. */
.home-towns {
  position: relative;
  overflow: hidden;
  margin: clamp(28px, 5vw, 58px) auto 0;
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid rgba(22,60,75,.1);
  border-radius: 18px;
  background:
    radial-gradient(ellipse at 90% 0%, rgba(131,169,137,.2), transparent 38%),
    #eaf0e8;
}
.home-towns-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}
.home-towns-head h2,
.home-towns-head h3 {
  margin: 0 0 8px;
  color: var(--home-ink);
  font-size: clamp(1.45rem, 3vw, 2.2rem);
  line-height: 1.15;
}
.home-towns-head p { max-width: 650px; margin: 0; color: var(--home-body); line-height: 1.65; }
.home-town-controls { display: flex; flex: 0 0 auto; gap: 8px; }
.home-town-controls button {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(22,60,75,.18);
  border-radius: 50%;
  background: #fffefa;
  color: var(--home-ink);
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.home-town-controls button:hover { transform: translateY(-2px); background: var(--home-ink); color: #fffefa; }
.home-town-controls button:focus-visible,
.home-town-link:focus-visible { outline: 3px solid #bd7658; outline-offset: 3px; }
.home-town-track {
  display: grid;
  grid-auto-columns: clamp(220px, 27%, 290px);
  grid-auto-flow: column;
  gap: 13px;
  overflow-x: auto;
  padding: 3px 2px 15px;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-color: #91aa96 transparent;
  scrollbar-width: thin;
  overscroll-behavior-inline: contain;
}
.home-town-card {
  position: relative;
  display: flex;
  min-height: 176px;
  flex-direction: column;
  align-items: flex-start;
  padding: 21px;
  scroll-snap-align: start;
  border: 1px solid rgba(22,60,75,.12);
  border-radius: 12px;
  background: #fffefa;
  box-shadow: 0 6px 18px rgba(24,58,61,.045);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.home-town-card:hover {
  transform: translateY(-3px);
  border-color: rgba(52,123,88,.4);
  box-shadow: 0 12px 24px rgba(24,58,61,.09);
}
.home-town-card::before {
  width: 28px;
  height: 3px;
  margin-bottom: 15px;
  border-radius: 2px;
  background: #4b815c;
  content: "";
}
.home-town-card h3 {
  margin: 0 0 6px;
  color: var(--home-ink);
  font-size: 1.12rem;
  line-height: 1.3;
}
.home-town-distance {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 14px;
  color: #5b706b;
  font-size: .85rem;
  font-variant-numeric: tabular-nums;
}
.home-town-distance i { color: var(--home-leaf); }
.home-town-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  margin-top: auto;
  color: #286a4b;
  font-size: .87rem;
  font-weight: 750;
  text-decoration: none;
}
.home-town-link:hover { color: var(--home-ink); text-decoration: underline; text-underline-offset: 4px; }
.home-town-track:focus-visible { outline: 3px solid #83a98a; outline-offset: 4px; }

@media (max-width: 900px) {
  .home-treatment-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-town-track { grid-auto-columns: clamp(220px, 42%, 280px); }
}
@media (max-width: 760px) {
  .home-guide-sections { gap: 14px; }
  .home-topic-0, .home-topic-2, .home-topic-4, .home-topic-7, .home-topic-9,
  .home-topic-11 { grid-column: auto; }
  .home-topic-2 .home-topic-text > ul,
  .home-topic-4 .home-topic-text > ul,
  .home-topic-7 .home-topic-text > ul,
  .home-topic-11 .home-topic-text > ul { grid-template-columns: minmax(0,1fr); }
  .home-topic-with-image { gap: 20px; }
  .home-topic-image { order: -1; }
  .home-topic-image img { max-height: 300px; object-fit: cover; }
  .home-treatment-grid { gap: 13px; }
  .home-treatment-card-body { padding: 16px; }
  .home-towns { padding: 22px 18px; border-radius: 14px; }
  .home-towns-head { align-items: flex-start; }
  .home-town-track { grid-auto-columns: min(78vw, 290px); }
}
@media (max-width: 520px) {
  .home-treatment-grid { grid-template-columns: minmax(0,1fr); }
  .home-treatment-card-image { aspect-ratio: 16 / 9; }
  .home-towns-head { flex-direction: column; }
  .home-town-controls { align-self: flex-end; }
  .home-town-card { min-height: 164px; }
  .home-topic-0 { padding: 23px; }
  .home-topic-0 .doc-trust { display: block; }
  .home-guide-copy { padding: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-guide-copy,
  .home-topic-image img,
  .home-treatment-card,
  .home-treatment-card-image img,
  .home-treatment-more,
  .home-town-controls button,
  .home-town-card {
    transition: none !important;
  }
  .home-town-track { scroll-behavior: auto; }
}

/* Guide details: retain the clinic copy while making key information scannable. */
.home-topic { scroll-margin-top: 100px; }
.home-topic-2 .home-topic-text > ul + p {
  padding: 16px 18px;
  border-left: 4px solid #b65945;
  border-radius: 8px;
  background: #fff1e9;
  color: #683b31;
}
.home-topic-4 .home-topic-text > ul { counter-reset: visit-step; }
.home-topic-4 .home-topic-text > ul li { counter-increment: visit-step; }
.home-topic-4 .home-topic-text > ul li::before {
  content: counter(visit-step, decimal-leading-zero);
  font-size: .82rem;
  font-weight: 800;
}
.home-topic-6 .home-topic-text > ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 0;
  list-style: none;
}
.home-topic-6 .home-topic-text > ul li {
  position: relative;
  margin: 0;
  padding: 12px 14px 12px 32px;
  border: 1px solid rgba(36,91,69,.12);
  border-radius: 9px;
  background: rgba(255,254,250,.8);
}
.home-topic-6 .home-topic-text > ul li::before {
  position: absolute;
  left: 12px;
  color: var(--guide-forest);
  content: "✓";
  font-weight: 800;
}
.home-topic-5 .home-topic-text > ul,
.home-topic-8 .home-topic-text > ul,
.home-topic-10 .home-topic-text > ul {
  display: grid;
  gap: 9px;
  padding: 0;
  list-style: none;
  counter-reset: guide-list;
}
.home-topic-5 .home-topic-text > ul li,
.home-topic-8 .home-topic-text > ul li,
.home-topic-10 .home-topic-text > ul li {
  position: relative;
  margin: 0;
  padding: 12px 14px 12px 48px;
  border: 1px solid rgba(36,91,69,.12);
  border-radius: 9px;
  background: rgba(235,243,235,.75);
  counter-increment: guide-list;
}
.home-topic-5 .home-topic-text > ul li::before,
.home-topic-8 .home-topic-text > ul li::before,
.home-topic-10 .home-topic-text > ul li::before {
  position: absolute;
  left: 13px;
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  background: #d8e9db;
  color: var(--guide-forest);
  content: counter(guide-list);
  font-size: .75rem;
  font-weight: 800;
}
.home-topic-image img, .home-treatment-card-image img { object-fit: contain; }
.home-guide-copy .home-treatment-more { color: #245b45; text-decoration: none; }
.home-guide-copy .home-treatment-more:hover { color: #fff; }
@media (max-width: 600px) {
  .home-topic-6 .home-topic-text > ul { grid-template-columns: minmax(0, 1fr); }
}

/* Full-width homepage guide sections and readable text on light cards. */
.home-complete-guide > .container,
.why-modern > .container {
  width: 100%;
  max-width: 100%;
}
.home-guide-sections {
  width: 100%;
  max-width: 100%;
  grid-template-columns: minmax(0, 1fr);
}
.home-guide-sections > .home-topic {
  width: 100%;
  max-width: 100%;
  grid-column: 1 / -1;
}
.home-related { width: 100%; max-width: 100%; }
.why-modern .why-mod-card:not(.featured) p,
.why-modern .why-mod-metrics .wmm-item p,
.why-modern .trust-badges-strip p,
.why-modern .gastro-visit-guide p {
  color: #334f55;
}
.why-modern .why-mod-card.featured p { color: #fff; }
.why-modern .why-mod-card:not(.featured) a,
.why-modern .trust-badges-strip a,
.why-modern .gastro-visit-guide a {
  color: #176748;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.why-modern .gastro-visit-guide {
  scroll-margin-top: 100px;
  width: 100%;
  max-width: 100%;
  margin: 30px auto 0;
  padding: clamp(22px, 3vw, 36px);
  background: #fff;
  border-radius: 16px;
  box-shadow: var(--shadow);
}
.why-modern .gastro-visit-guide p { line-height: 1.75; margin: 0 0 14px; }
.why-modern .gastro-visit-guide p:last-child { margin-bottom: 0; }
.blog-home-section .blog-grid-single { display: block; }
.blog-home-section .blog-grid-single .blog-card {
  display: grid;
  width: 100%;
  grid-template-columns: minmax(240px, 35%) minmax(0, 1fr);
}
.blog-home-section .blog-grid-single .blog-img {
  height: 100%;
  min-height: 280px;
  background: #eaf1ea;
}
.blog-home-section .blog-grid-single .blog-img img { object-fit: contain; }
.blog-home-section .blog-grid-single .blog-card:hover .blog-img img { transform: none; }
@media (max-width: 600px) {
  .blog-home-section .blog-grid-single .blog-card { grid-template-columns: minmax(0, 1fr); }
  .blog-home-section .blog-grid-single .blog-img { height: 250px; min-height: 0; }
}
