/* layout: health-care-7a2e28d6 */

.wrap {
  width: min(1120px, 100%);
  margin-inline: auto;
  padding-inline: 1rem;
}

header.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: #fff;
  border-bottom: 1px solid color-mix(in srgb, var(--color-text) 12%, transparent);
  box-shadow: 0 2px 12px color-mix(in srgb, var(--color-header-footer) 8%, transparent);
  padding: 0.65rem max(1rem, calc((100% - 1120px) / 2));
}

header.site-header .header-inner {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}

header.site-header .brand {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  text-decoration: none;
  color: var(--color-header-footer);
  font-weight: 700;
  font-size: 1.05rem;
}

header.site-header .brand img {
  width: 48px;
  height: 48px;
  object-fit: contain;
}

[data-nav-toggle] {
  display: none;
  margin-left: auto;
  padding: 0.5rem 0.85rem;
  border: 1px solid var(--color-accent);
  background: #fff;
  color: var(--color-accent);
  border-radius: 6px;
}

nav[data-nav] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.15rem 1.1rem;
  margin-left: auto;
}

nav[data-nav] a {
  text-decoration: none;
  color: var(--color-text);
  font-size: 0.95rem;
  padding: 0.35rem 0;
  border-bottom: 2px solid transparent;
}

nav[data-nav] a:hover,
nav[data-nav] a[aria-current="page"] {
  color: var(--color-accent);
  border-bottom-color: var(--color-button);
}

.header-search {
  padding: 0.45rem 0.9rem;
  border: none;
  border-radius: 999px;
  background: var(--color-button);
  color: var(--color-header-footer);
  font-weight: 600;
}

footer {
  background: var(--color-header-footer) !important;
}

main {
  padding-bottom: 2rem;
}

.section {
  padding: 2.5rem 0;
}

.section-alt {
  background: #fff;
}

.section-title {
  margin: 0 0 0.5rem;
  color: var(--color-header-footer);
}

.section-lead {
  margin: 0 0 1.5rem;
  max-width: 42rem;
}

/* Hero */
.hero-photo {
  position: relative;
  min-height: 28rem;
  background: var(--color-bg);
}

.hero-photo > img {
  width: 100%;
  height: 28rem;
  object-fit: cover;
  display: block;
}

.hero-copy {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2rem max(1rem, calc((100% - 1120px) / 2));
  pointer-events: none;
}

.hero-copy-inner {
  max-width: 90rem;
  pointer-events: auto;
}

.hero-copy h1 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.85rem, 4vw, 2.75rem);
  color: #fff;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.45);
  background: linear-gradient(90deg, rgba(30, 58, 138, 0.72), transparent 85%);
  padding: 0.5rem 0.75rem 0.5rem 0;
  display: inline;
  box-decoration-break: clone;
}

.hero-copy p {
  margin: 0;
  max-width: 38rem;
  color: #fff;
  font-size: 1.05rem;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.5);
  background: linear-gradient(90deg, rgba(15, 23, 42, 0.55), transparent);
  padding: 0.35rem 0.5rem 0.35rem 0;
}

.hero-booking {
  position: relative;
  margin-top: -3.5rem;
  z-index: 5;
  padding-bottom: 1rem;
}

.booking-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 12px 40px color-mix(in srgb, var(--color-header-footer) 18%, transparent);
  padding: 1.25rem 1.5rem;
  border-top: 4px solid var(--color-accent);
}

.booking-card h2 {
  margin: 0 0 1rem;
  font-size: 1.15rem;
  color: var(--color-header-footer);
}

.booking-card form {
  max-width: none;
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
  align-items: end;
  gap: 0.75rem;
}

.booking-card label {
  min-width: 0;
}

.booking-card button[type="submit"] {
  padding: 0.7rem 1.25rem;
  border: none;
  border-radius: 8px;
  background: var(--color-accent);
  color: #fff;
  font-weight: 600;
  white-space: nowrap;
}

/* Inner banner */
.page-banner {
  position: relative;
  min-height: 14rem;
}

.page-banner img {
  width: 100%;
  height: 14rem;
  object-fit: cover;
  display: block;
}

.page-banner h1 {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  color: #fff;
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.5);
  background: linear-gradient(180deg, rgba(30, 58, 138, 0.35), rgba(30, 58, 138, 0.55));
}

/* About band */
.about-band {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: center;
}

.about-band img {
  border-radius: 12px;
  box-shadow: 0 8px 28px color-mix(in srgb, var(--color-text) 12%, transparent);
}

/* Process */
.process-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
}

.process-step {
  background: #fff;
  border-radius: 12px;
  padding: 1.25rem 1rem;
  border: 1px solid color-mix(in srgb, var(--color-accent) 15%, transparent);
  text-align: left;
}

.process-icon {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--color-button) 35%, #fff);
  color: var(--color-header-footer);
  font-weight: 700;
  font-size: 1.1rem;
  margin-bottom: 0.75rem;
}

.process-step h3 {
  margin: 0 0 0.5rem;
  font-size: 1.05rem;
  color: var(--color-accent);
}

.process-step p {
  margin: 0;
  font-size: 0.95rem;
}

/* Service cards */
.service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.service-card {
  background: #fff;
  border-radius: 12px;
  padding: 1.5rem 1.25rem;
  border: 1px solid color-mix(in srgb, var(--color-text) 10%, transparent);
  transition: transform 0.2s, box-shadow 0.2s;
}

.service-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 28px color-mix(in srgb, var(--color-accent) 12%, transparent);
}

.service-card .icon-circle {
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 50%;
  background: var(--color-accent);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 1.25rem;
  margin-bottom: 0.85rem;
}

.service-card h3 {
  margin: 0 0 0.45rem;
  font-size: 1.05rem;
}

.service-card p {
  margin: 0 0 0.75rem;
  font-size: 0.92rem;
}

.service-card a {
  color: var(--color-accent);
  font-weight: 600;
  text-decoration: none;
}

/* Clinic photos */
.clinic-trio {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.clinic-trio img {
  border-radius: 10px;
  height: 12rem;
  width: 100%;
  object-fit: cover;
}

/* Testimonials & slider */
.testimonial-slider {
  background: color-mix(in srgb, var(--color-button) 18%, var(--color-bg));
  border-radius: 14px;
  padding: 2rem 1.5rem;
  position: relative;
}

[data-slider] {
  position: relative;
}

[data-slide] {
  background: #fff;
  border-radius: 10px;
  padding: 1.5rem;
  border-left: 4px solid var(--color-accent);
}

[data-slide] blockquote {
  margin: 0 0 0.75rem;
  font-style: italic;
}

[data-slide] cite {
  font-style: normal;
  font-weight: 600;
  color: var(--color-header-footer);
}

.slider-controls {
  display: flex;
  gap: 0.5rem;
  margin-top: 1rem;
  justify-content: flex-end;
}

.slider-controls button {
  padding: 0.45rem 0.9rem;
  border: 1px solid var(--color-accent);
  background: #fff;
  color: var(--color-accent);
  border-radius: 6px;
}

/* Specialists */
.specialist-row {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1rem;
}

.specialist-card {
  text-align: center;
}

.specialist-card img {
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid var(--color-button);
  margin: 0 auto 0.65rem;
  display: block;
}

.specialist-card h3 {
  margin: 0;
  font-size: 0.88rem;
  color: var(--color-header-footer);
}

.specialist-card p {
  margin: 0.25rem 0 0;
  font-size: 0.8rem;
  color: color-mix(in srgb, var(--color-text) 70%, transparent);
}

.specialist-card a {
  font-size: 0.78rem;
  color: var(--color-accent);
}

/* Stats */
.stats-band {
  background: var(--color-header-footer);
  color: #fff;
  padding: 2.5rem 0;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.5rem;
  text-align: center;
}

.stats-grid strong {
  display: block;
  font-size: 2rem;
  color: var(--color-button);
}

.stats-grid span {
  font-size: 0.95rem;
  opacity: 0.92;
}

/* Articles */
.article-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.article-card {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--color-text) 8%, transparent);
}

.article-card img {
  height: 10rem;
  width: 100%;
  object-fit: cover;
}

.article-card .body {
  padding: 1rem 1.1rem 1.25rem;
}

.article-card h3 {
  margin: 0 0 0.5rem;
  font-size: 1rem;
}

.article-card a.read-more {
  color: var(--color-accent);
  font-weight: 600;
  text-decoration: none;
}

/* Consultation */
.consultation-band {
  background: linear-gradient(135deg, color-mix(in srgb, var(--color-accent) 92%, #000), var(--color-header-footer));
  color: #fff;
  border-radius: 14px;
  padding: 2rem;
}

.consultation-band h2 {
  color: #fff;
  margin-top: 0;
}

.consultation-band form {
  max-width: 42rem;
}

.consultation-band input,
.consultation-band textarea,
.consultation-band select {
  width: 100%;
}

.consultation-band button[type="submit"] {
  background: var(--color-button);
  color: var(--color-header-footer);
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  font-weight: 700;
  width: auto;
}

/* Accordion & tabs */
.interactive-block {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: start;
}

[data-accordion] {
  display: grid;
  gap: 0.5rem;
}

[data-accordion] [data-accordion-button] {
  width: 100%;
  text-align: left;
  padding: 0.85rem 1rem;
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--color-accent) 20%, transparent);
  border-radius: 8px;
  color: var(--color-header-footer);
  font-weight: 600;
}

[data-accordion] [data-accordion-button] + * {
  padding: 0.75rem 1rem;
  background: color-mix(in srgb, var(--color-bg) 50%, #fff);
  border-radius: 0 0 8px 8px;
  margin-top: -0.35rem;
}

[data-tabs] [role="tablist"],
[data-tabs] .tab-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

[data-tab] {
  padding: 0.55rem 1rem;
  border: 1px solid var(--color-accent);
  background: #fff;
  color: var(--color-accent);
  border-radius: 999px;
}

[data-tab][aria-selected="true"] {
  background: var(--color-accent);
  color: #fff;
}

[data-tab-panel] {
  background: #fff;
  padding: 1.25rem;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--color-text) 10%, transparent);
}

/* Doctors grid */
.doctor-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}

.doctor-grid .specialist-card img {
  width: 9rem;
  height: 9rem;
}

/* Pricing */
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.price-card {
  background: #fff;
  border-radius: 12px;
  padding: 1.75rem 1.25rem;
  border: 2px solid color-mix(in srgb, var(--color-button) 40%, transparent);
  text-align: center;
}

.price-card.featured {
  border-color: var(--color-accent);
  box-shadow: 0 12px 32px color-mix(in srgb, var(--color-accent) 15%, transparent);
}

.price-card .price {
  font-size: 2.25rem;
  font-weight: 700;
  color: var(--color-accent);
  margin: 0.5rem 0;
}

.price-card ul {
  text-align: left;
  padding-left: 1.2rem;
  margin: 1rem 0;
}

/* Blog layout */
.blog-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18rem;
  gap: 2rem;
  align-items: start;
}

.blog-sidebar {
  background: #fff;
  border-radius: 10px;
  padding: 1.25rem;
  border: 1px solid color-mix(in srgb, var(--color-text) 8%, transparent);
  font-size: 0.92rem;
}

.blog-sidebar .sidebar-doc {
  text-align: center;
  margin-bottom: 1.25rem;
}

.blog-sidebar .sidebar-doc img {
  width: 5.5rem;
  height: 5.5rem;
  border-radius: 50%;
  object-fit: cover;
}

.news-list {
  display: grid;
  gap: 1.5rem;
}

.story-card {
  display: grid;
  grid-template-columns: 12rem minmax(0, 1fr);
  gap: 1.25rem;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--color-text) 8%, transparent);
}

.story-card img {
  width: 100%;
  height: 100%;
  min-height: 9rem;
  object-fit: cover;
}

.story-card .meta {
  font-size: 0.85rem;
  color: color-mix(in srgb, var(--color-text) 55%, transparent);
}

.story-card .category {
  color: var(--color-accent);
  font-weight: 600;
}

/* Blog post */
.post-cover img {
  width: 100%;
  max-height: 22rem;
  object-fit: cover;
  border-radius: 10px;
}

.post-meta {
  font-size: 0.9rem;
  color: color-mix(in srgb, var(--color-text) 60%, transparent);
  margin: 1rem 0 1.5rem;
}

.post-duo-images {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin: 1.5rem 0;
}

.post-duo-images img {
  border-radius: 8px;
  height: 11rem;
  object-fit: cover;
  width: 100%;
}

.comments-section {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid color-mix(in srgb, var(--color-text) 12%, transparent);
}

.comment {
  background: #fff;
  padding: 1rem;
  border-radius: 8px;
  margin-bottom: 0.75rem;
  border-left: 3px solid var(--color-button);
}

/* Contact */
.contact-column {
  max-width: 36rem;
}

.contact-column form {
  max-width: none;
}

.contact-column input,
.contact-column textarea,
.contact-column button[type="submit"] {
  width: 100%;
}

.email-card {
  background: #fff;
  border-radius: 10px;
  padding: 1.25rem;
  margin-bottom: 1.5rem;
  border-left: 4px solid var(--color-accent);
  width: 100%;
}

/* Service featured */
.service-feature-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 16rem;
  gap: 2rem;
}

.service-photos {
  display: grid;
  gap: 1rem;
}

.service-sidebar nav {
  display: grid;
  gap: 0.35rem;
}

.service-sidebar a {
  color: var(--color-accent);
  text-decoration: none;
}

.doctor-profile {
  display: grid;
  grid-template-columns: 14rem minmax(0, 1fr);
  gap: 2rem;
}

.doctor-profile img.portrait {
  width: 100%;
  border-radius: 50%;
  aspect-ratio: 1;
  object-fit: cover;
  border: 4px solid var(--color-button);
}

.btn-primary {
  display: inline-block;
  padding: 0.65rem 1.2rem;
  background: var(--color-accent);
  color: #fff;
  border: none;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
}

main form button[type="submit"]:not(.header-search) {
  background: var(--color-accent);
  color: #fff;
  border: none;
  padding: 0.7rem 1.2rem;
  border-radius: 8px;
  font-weight: 600;
}

.prose h2 {
  color: var(--color-header-footer);
  margin-top: 2rem;
}

.prose p {
  margin: 0 0 1rem;
}

@media (max-width: 900px) {
  [data-nav-toggle] {
    display: inline-block;
  }

  nav[data-nav] {
    display: none;
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    padding: 0.75rem 0;
    border-top: 1px solid color-mix(in srgb, var(--color-text) 10%, transparent);
  }

  nav[data-nav].is-open {
    display: flex;
  }

  .booking-card form {
    grid-template-columns: 1fr 1fr;
  }

  .about-band,
  .interactive-block,
  .blog-layout,
  .service-feature-layout,
  .doctor-profile {
    grid-template-columns: 1fr;
  }

  .process-row,
  .service-grid,
  .clinic-trio,
  .article-grid,
  .pricing-grid,
  .doctor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .specialist-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .story-card {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .hero-photo > img,
  .hero-photo {
    min-height: 22rem;
    height: 22rem;
  }

  .hero-photo > img {
    height: 22rem;
  }

  .booking-card form {
    grid-template-columns: 1fr;
  }

  .process-row,
  .service-grid,
  .clinic-trio,
  .article-grid,
  .pricing-grid,
  .doctor-grid,
  .specialist-row,
  .stats-grid,
  .post-duo-images {
    grid-template-columns: 1fr;
  }

  header.site-header .header-inner {
    flex-wrap: wrap;
  }
}
