@font-face {
  font-family: Inter;
  src: url(../fonts/Inter/Inter-VariableFont_opsz\,wght.ttf);
}

@font-face {
  font-family: Playfair;
  src: url(../fonts/Playfair_Display/PlayfairDisplay-VariableFont_wght.ttf);
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body,
html {
  overflow-x: hidden;
  font-family: Inter;
  line-height: 1;
}

.page-container {
  background-color: #f9fafb;
}

a {
  text-decoration: none;
}

/* Header styles */

header .emergency-message {
  padding: 0.75rem 1rem;
  background-color: #f59e0b;
  display: flex;
  gap: 0.5rem;
  justify-content: center;
  align-items: center;
}

header .emergency-message .info-icon {
  width: 0.875rem;
  height: 0.875rem;
}

header .emergency-message .emergency-text {
  color: #fff;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
}

header .main-header-section {
  padding: 1rem 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 3rem;
}

header .main-header-section .logo-container {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}

header .main-header-section .logo-container .logo-image {
  width: 2.5rem;
  height: 2.5rem;
}

header .main-header-section .logo-container .logo-text-container h2 {
  color: #111827;
  font-family: Playfair;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5625rem;
}

header .main-header-section .logo-container .logo-text-container p {
  color: #6b7280;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1rem;
  letter-spacing: 0.0375rem;
  text-transform: uppercase;
}

header nav ul {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  list-style-type: none;
}

header nav ul li a {
  color: #6b7280;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
}

header .header-cta,
.journey-container .journey-item-container .call-btn {
  padding: 0.6rem 1.5rem;
  border-radius: 624.9375rem;
  background: palevioletred;
  box-shadow:
    0 4px 6px -1px #fecaca,
    0 2px 4px -2px #fecaca;
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5rem;
}

/* Home page styles */

.home-hero-section {
  padding: 6rem 1.5rem;
  background-color: #f9fafb;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
  place-items: center;
}

.home-hero-section .new-patients-pill {
  padding: 0.5rem 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 624.9375rem;
  background: #f0fdfa;
  width: fit-content;
}

.home-hero-section .new-patients-pill .dot.green {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: #0d9488;
}

.home-hero-section .new-patients-pill p {
  color: #0d9488;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
}

.home-hero-section h1 {
  margin-top: 2rem;
  color: #111827;
  font-family: Playfair;
  font-size: 3.75rem;
  font-weight: 700;
  line-height: 3.75rem;
}

.home-hero-section h1 span {
  color: #0d9488;
}

.home-hero-section .hero-text {
  margin-top: 2rem;
  max-width: 30rem;
  color: #4b5563;
  font-size: 1.125rem;
  line-height: 1.8rem;
}

.home-hero-section .buttons-container {
  margin-top: 3rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.home-hero-section .buttons-container .book-btn {
  width: 20rem;
  height: 3.75rem;
  border-radius: 624.9375rem;
  background: palevioletred;
  box-shadow:
    0 10px 15px -3px #fecaca,
    0 4px 6px -4px #fecaca;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.75rem;
}

.home-hero-section .buttons-container .explore-btn {
  padding: 1rem 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 624.9375rem;
  border: 1px solid #e5e7eb;
  background: #fff;
  color: #374151;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5rem;
}

.home-hero-section .trusted-container {
  margin-top: 3.5rem;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.home-hero-section .trusted-container .trusted-by-photos {
  height: 2.5rem;
  width: auto;
}

.home-hero-section .trusted-container .five-stars {
  height: 0.75rem;
  width: auto;
}

.home-hero-section .trusted-container .trusted-by-text {
  color: #4b5563;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
}

.home-hero-section .image-section {
  position: relative;
}

.home-hero-section .image-section .home-hero-image {
  width: 100%;
  border-radius: 1.25rem;
}

.home-hero-section .image-section .same-day-container {
  position: absolute;
  left: 1.5rem;
  right: 1.5rem;
  bottom: 1.5rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.8);
  box-shadow:
    0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -4px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
}

.home-hero-section .image-section .same-day-container h4 {
  color: #111827;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5rem;
}

.home-hero-section .image-section .same-day-container .call {
  margin-top: 0.5rem;
  color: #4b5563;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
}

.home-hero-section .image-section .same-day-container .availability {
  margin-top: 1.25rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.home-hero-section .image-section .same-day-container .availability .today {
  color: #6b7280;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
}

.home-hero-section
  .image-section
  .same-day-container
  .availability
  .slots-left {
  color: #0d9488;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
}

.comprehensive-care-section {
  padding: 4rem 1.5rem;
  border-radius: 2.5rem;
  background: #fff;
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.comprehensive-care-section .heading-section h2 {
  color: #111827;
  text-align: center;
  font-family: Playfair;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 2.5rem;
}

.comprehensive-care-section .heading-section .heading-text {
  margin-top: 1rem;
  color: #4b5563;
  text-align: center;
  line-height: 1.5;
  max-width: 40rem;
}

.comprehensive-care-section .features-grid {
  margin-top: 3rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}

.comprehensive-care-section .features-grid .feature {
  padding: 1.5rem;
  border-radius: 1rem;
  background: #f9fafb;
}

.comprehensive-care-section .features-grid .feature img {
  width: 3.5rem;
  height: 3.5rem;
}

.comprehensive-care-section .features-grid .feature h4 {
  margin-top: 1.5rem;
  color: #111827;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5rem;
}

.comprehensive-care-section .features-grid .feature p {
  margin-top: 0.5rem;
  color: #4b5563;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
}

.see-doctor-section {
  padding: 6rem 1.5rem 4rem 1.5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}

.see-doctor-section .opening-hours-container {
  padding: 2rem;
  border-radius: 2rem;
  background: rgba(255, 255, 255, 1);
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
}

.see-doctor-section .opening-hours-container .open-hours-heading {
  display: flex;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1.5rem;
}

.see-doctor-section .opening-hours-container .open-hours-heading img {
  width: 3rem;
  height: 3rem;
}

.see-doctor-section .opening-hours-container .open-hours-heading h2 {
  color: #111827;
  font-family: Playfair;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2rem;
}

.see-doctor-section .opening-hours-container .open-day-container {
  margin-top: 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.see-doctor-section .opening-hours-container .open-day-text {
  color: #4b5563;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5rem;
}

.see-doctor-section .opening-hours-container .open-day-time {
  color: #111827;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5rem;
}

.see-doctor-section .opening-hours-container .closed-container {
  padding: 0.25rem 0.75rem;
  border-radius: 624.9375rem;
  background: #fef2f2;
}

.see-doctor-section .opening-hours-container .closed-container .closed-text {
  color: #f87171;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.25rem;
}

.see-doctor-section .opening-hours-container .out-of-hours-container {
  padding: 1rem;
  border-radius: 0.75rem;
  background: #f9fafb;
  margin-top: 2rem;
}

.see-doctor-section .out-of-hours-container .out-of-hours-text {
  color: #111827;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.25rem;
}

.see-doctor-section .out-of-hours-container .out-of-hours-text span {
  color: #4b5563;
}

.see-doctor-section .ready-container {
  padding: 2rem;
  border-radius: 2rem;
  background: #134e4a;
}

.see-doctor-section .ready-container h2 {
  color: #fff;
  font-family: Playfair;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 2.25rem;
}

.see-doctor-section .ready-container .main-text {
  margin-top: 1rem;
  color: #ccfbf1;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
}

.see-doctor-section .ready-container .options-list {
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.see-doctor-section .ready-container .options-list .option {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.see-doctor-section
  .ready-container
  .options-list
  .option
  .option-num-container {
  width: 2rem;
  height: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 624.9375rem;
  background: rgba(255, 255, 255, 0.2);
}

.see-doctor-section
  .ready-container
  .options-list
  .option
  .option-num-container
  .option-num {
  color: #fff;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
}

.see-doctor-section .ready-container .options-list .option .option-text {
  color: #f0fdfa;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
}

.see-doctor-section .ready-container .ready-cta {
  margin-top: 2rem;
  padding: 1rem 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
  border-radius: 624.9375rem;
  background: #fff;
  width: fit-content;
  color: #134e4a;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.75rem;
}

/* Responsive home page */

@media (max-width: 1024px) {
  .home-hero-section {
    grid-template-columns: 1fr;
    padding: 5rem 2rem;
  }

  .home-hero-section h1 {
    font-size: 3rem;
    line-height: 3.2rem;
  }

  .home-hero-section .hero-text {
    max-width: 100%;
  }

  .comprehensive-care-section .features-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .see-doctor-section {
    grid-template-columns: 1fr;
    padding: 4rem 2rem;
  }
}

@media (max-width: 768px) {
  .home-hero-section {
    padding: 4rem 1.5rem;
  }

  .home-hero-section h1 {
    font-size: 2.4rem;
    line-height: 2.6rem;
  }

  .home-hero-section .buttons-container {
    flex-direction: column;
    align-items: stretch;
  }

  .home-hero-section .buttons-container .book-btn,
  .home-hero-section .buttons-container .explore-btn {
    width: 100%;
  }

  .home-hero-section .trusted-container {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }

  .home-hero-section .image-section .same-day-container {
    position: static;
    margin-top: 1rem;
  }

  .comprehensive-care-section {
    border-radius: 1.5rem;
    padding: 3rem 1.5rem;
  }

  .comprehensive-care-section .heading-section h2 {
    font-size: 1.9rem;
    line-height: 2.2rem;
  }

  .comprehensive-care-section .features-grid {
    grid-template-columns: 1fr;
  }

  .see-doctor-section {
    padding: 3rem 1.5rem;
  }

  .see-doctor-section .opening-hours-container,
  .see-doctor-section .ready-container {
    padding: 1.5rem;
  }

  .see-doctor-section .opening-hours-container .open-day-container {
    align-items: flex-start;
    gap: 0.75rem;
  }
}

@media (max-width: 480px) {
  .home-hero-section {
    padding: 3rem 1rem;
  }

  .home-hero-section h1 {
    font-size: 2rem;
    line-height: 2.25rem;
  }

  .home-hero-section .hero-text {
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .home-hero-section .buttons-container .book-btn {
    height: auto;
    padding: 1rem;
    font-size: 1rem;
    text-align: center;
  }

  .home-hero-section .buttons-container .explore-btn {
    padding: 1rem;
  }

  .home-hero-section .image-section .same-day-container {
    padding: 1rem;
  }

  .home-hero-section .image-section .same-day-container .availability {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }

  .comprehensive-care-section {
    padding: 2.5rem 1rem;
  }

  .see-doctor-section {
    padding: 2.5rem 1rem;
  }

  .see-doctor-section .opening-hours-container .open-day-container {
    flex-direction: column;
  }

  .see-doctor-section .ready-container .options-list .option {
    align-items: flex-start;
  }

  .see-doctor-section .ready-container .ready-cta {
    width: 100%;
  }
}

/* About us page styles */

.compassionate-care-section {
  margin-top: 2rem;
  padding: 6rem 1.5rem;
  border-radius: 2.5rem;
  background-color: #134e4a;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.compassionate-care-section .green-circle-top {
  width: 24rem;
  height: 24rem;
  border-radius: 624.9375rem;
  opacity: 0.2;
  background: #0d9488;
  filter: blur(32px);
  position: absolute;
  top: -5rem;
  right: -5rem;
}

.compassionate-care-section .green-circle-bottom {
  width: 16rem;
  height: 16rem;
  border-radius: 624.9375rem;
  opacity: 0.2;
  background: #14b8a6;
  filter: blur(32px);
  position: absolute;
  left: -5rem;
  bottom: -5rem;
}

.compassionate-care-section h1 {
  max-width: 44rem;
  color: #fff;
  text-align: center;
  font-family: Playfair;
  font-size: 4.5rem;
  font-weight: 700;
  line-height: 4.5rem;
}

.compassionate-care-section .body-text {
  margin-top: 2rem;
  color: #f0fdfa;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 2rem;
  max-width: 43rem;
}

.compassionate-care-section .compassionate-cta {
  width: 14.29rem;
  height: 3.75rem;
  border-radius: 624.9375rem;
  background: rgba(255, 255, 255, 1);
  box-shadow:
    0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -4px rgba(0, 0, 0, 0.1);
  margin-top: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  color: #134e4a;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.75rem;
}

.partnering-section {
  padding: 4rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.partnering-section .values-container {
  padding: 0.375rem 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 624.9375rem;
  border: 1px solid #e5e7eb;
  background: #fff;
}

.partnering-section .values-container .values-text {
  color: #4b5563;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
}

.partnering-section h2 {
  margin-top: 1rem;
  color: #111827;
  text-align: center;
  font-family: Playfair;
  font-size: 3rem;
}

.partnering-section .heading-text {
  margin-top: 1.5rem;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem;
  max-width: 40rem;
}

.partnering-section .partnering-grid {
  margin-top: 4rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

.partnering-section .partnering-grid .partnering-item {
  border-radius: 2rem;
  background: rgba(255, 255, 255, 1);
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
  padding: 2rem;
}

.partnering-section .partnering-grid .partnering-item img {
  width: 4rem;
  height: 4rem;
}

.partnering-section .partnering-grid .partnering-item h3 {
  margin-top: 1.5rem;
  color: #111827;
  font-family: Playfair;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2rem;
}

.partnering-section .partnering-grid .partnering-item p {
  margin-top: 1rem;
  color: #4b5563;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.625rem;
}

.how-works-section {
  padding: 5rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.how-works-section h2 {
  color: #111827;
  text-align: center;
  font-family: Playfair;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 2.5rem;
}

.how-works-section .heading-text {
  margin-top: 1.5rem;
  color: #4b5563;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem;
  max-width: 40rem;
}

.journey-container {
  margin-top: 4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
}

.journey-container .journey-item {
  display: flex;
  gap: 2rem;
}

.journey-container .journey-item .number-container {
  width: 4rem;
  height: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  border: 2px solid #0d9488;
  background-color: #fff;
}

.journey-container .journey-item .number-container.active {
  background-color: #0d9488;
}

.journey-container .journey-item .number {
  color: #0d9488;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.75rem;
}

.journey-container .journey-item .number.active {
  color: #fff;
}

.journey-container .journey-item-container {
  max-width: 50rem;
  border-radius: 2rem;
  background: rgba(255, 255, 255, 1);
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
  padding: 2rem;
}

.journey-container .journey-item-container .top-container {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}

.journey-container .journey-item-container .top-container .journey-icon {
  width: 2.5rem;
  height: 2.5rem;
}

.journey-container .journey-item-container .top-container h3 {
  color: #111827;
  font-family: Playfair;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2rem;
}

.journey-container .journey-item-container .journey-text {
  margin-top: 1.25rem;
  color: #4b5563;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
}

.journey-container .journey-item-container .call-btn {
  margin-top: 1.5rem;
  display: flex;
  width: fit-content;
}

.standards-section {
  margin: 8rem 1.5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem;
  place-items: center;
}

.standards-section .image-section img {
  width: 100%;
}

.standards-section .text-section h3 {
  color: #111827;
  font-family: Playfair;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 2.5rem;
}

.standards-section .text-section .body-text {
  margin-top: 2rem;
  color: #4b5563;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.8rem;
}

.standards-section .text-section .checklist {
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.standards-section .text-section .checklist .checklist-item {
  display: flex;
  gap: 1rem;
}

.standards-section .text-section .checklist .checklist-item img {
  width: 2rem;
  height: 2rem;
}

.standards-section .text-section .checklist .checklist-item h4 {
  color: #111827;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5rem;
}

.standards-section .text-section .checklist .checklist-item p {
  margin-top: 0.25rem;
  color: #4b5563;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
}

.who-for-section {
  padding: 9rem 1.5rem 5rem;
  border-radius: 2.5rem;
  border: 1px solid #ccfbf1;
  background: #f0fdfa;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.who-for-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 48rem;
}

.who-for-container h2 {
  color: #111827;
  text-align: center;
  font-family: Playfair;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 2.5rem;
}

.who-for-container .body-text {
  margin-top: 2rem;
  color: #4b5563;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.8rem;
}

.better-healthcare-container {
  margin-top: 2rem;
  border-radius: 2rem;
  background: rgba(255, 255, 255, 1);
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
  padding: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.better-healthcare-container h3 {
  color: #111827;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.75rem;
}

.better-healthcare-container .better-healthcare-body-text {
  margin-top: 1rem;
  color: #4b5563;
  text-align: center;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
}

.better-healthcare-container .better-healthcare-cta {
  margin-top: 2rem;
  padding: 1rem 1.5rem;
  border-radius: 624.9375rem;
  background: palevioletred;
  box-shadow:
    0 10px 15px -3px #fecaca,
    0 4px 6px -4px #fecaca;
  color: #fff;
  font-size: 1.125rem;
}

.better-healthcare-container .lines-open-text {
  margin-top: 1rem;
  color: #6b7280;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
}

/* Our team page styles */

.our-team-hero-section {
  margin-top: 2rem;
  background: url(../images/our-team-hero.png);
  background-position: center;
  border-radius: 2.5rem;
  padding: 6rem 5.5rem;
}

.our-team-hero-section .text-section {
  max-width: 30rem;
}

.our-team-hero-section h1 {
  color: #fff;
  font-family: Playfair;
  font-size: 4.5rem;
  font-weight: 700;
  line-height: 4.5rem;
}

.our-team-hero-section p {
  margin-top: 2rem;
  color: #f0fdfa;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 2rem;
}

.our-team-hero-section .meet-team-btn {
  display: block;
  margin-top: 4rem;
  padding: 0.5rem 1rem;
  border-radius: 624.9375rem;
  background: rgba(255, 255, 255, 1);
  box-shadow:
    0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -4px rgba(0, 0, 0, 0.1);
  width: fit-content;
  color: #134e4a;
  text-align: center;
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 700;
}

.our-staff-section {
  padding: 6rem 1.5rem 4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.our-staff-section .our-doctors-container {
  padding: 0.375rem 1rem;
  border-radius: 624.9375rem;
  border: 1px solid #e5e7eb;
  background: #fff;
}

.our-staff-section .our-doctors-container p {
  color: #4b5563;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
}

.our-staff-section h2 {
  margin-top: 1.5rem;
  color: #111827;
  text-align: center;
  font-family: Playfair;
  font-size: 3rem;
  font-weight: 700;
  line-height: 3rem;
}

.our-staff-section .heading-text {
  margin-top: 1.5rem;
  color: #4b5563;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem;
  max-width: 40rem;
}

.our-staff-section .doctors-grid {
  margin-top: 4rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}

.our-staff-section .doctors-grid .doctor {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  border-radius: 2rem;
  border: 1px solid #f3f4f6;
  background: #fff;
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

.our-staff-section .doctors-grid .doctor .doctor-photo {
  width: 100%;
}

.our-staff-section .doctors-grid .doctor .text-section {
  padding: 2rem;
}

.our-staff-section .doctors-grid .doctor .text-section h3 {
  color: #111827;
  font-family: Playfair;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2rem;
}

.our-staff-section .doctors-grid .doctor .text-section .quals {
  color: #0d9488;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5rem;
}

.our-staff-section .doctors-grid .doctor .text-section .bio {
  margin-top: 1rem;
  color: #4b5563;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
}

.our-staff-section .doctors-grid .doctor .text-section .specialities {
  margin-top: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.our-staff-section
  .doctors-grid
  .doctor
  .text-section
  .specialities
  .speciality {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.our-staff-section
  .doctors-grid
  .doctor
  .text-section
  .specialities
  .speciality
  img {
  height: 0.875rem;
}

.our-staff-section
  .doctors-grid
  .doctor
  .text-section
  .specialities
  .speciality
  p {
  color: #4b5563;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.practice-staff-container {
  padding: 10rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.practice-staff-container h2 {
  color: #111827;
  text-align: center;
  font-family: Playfair;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 2.5rem;
}

.practice-staff-container .heading-text {
  margin-top: 1rem;
  color: #4b5563;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem;
}

.practice-staff-container .staff-grid {
  margin-top: 4rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}

.practice-staff-container .staff-grid .staff {
  border-radius: 1.5rem;
  background: rgba(255, 255, 255, 1);
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.practice-staff-container .staff-grid .staff img {
  width: 5.5rem;
  height: 5.5rem;
  border-radius: 50%;
}

.practice-staff-container .staff-grid .staff h4 {
  margin-top: 1rem;
  color: #111827;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.75rem;
}

.practice-staff-container .staff-grid .staff .role {
  color: #0d9488;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
}

.practice-staff-container .staff-grid .staff .bio {
  margin-top: 0.5rem;
  color: #6b7280;
  text-align: center;
  font-size: 0.75rem;
  line-height: 1rem;
}

.highest-standards-section {
  margin: 0 1.5rem 5rem;
  padding: 4rem;
  border-radius: 2.5rem;
  background: rgba(255, 255, 255, 1);
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem;
}

.highest-standards-section .excellence-container {
  padding: 0.375rem 1rem;
  border-radius: 624.9375rem;
  border: 1px solid #e5e7eb;
  background: #f0fdfa;
  width: fit-content;
}

.highest-standards-section .excellence-container p {
  color: #0d9488;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
}

.highest-standards-section h2 {
  margin-top: 1.5rem;
  color: #111827;
  font-family: Playfair;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 2.5rem;
}

.highest-standards-section .registered {
  margin-top: 1.5rem;
  color: #4b5563;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.8rem;
}

.highest-standards-section .certifications {
  margin-top: 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.highest-standards-section .certifications .certification {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}

.highest-standards-section .certifications .certification img {
  width: 1.25rem;
  height: 1.25rem;
}

.highest-standards-section .certifications .certification p {
  color: #374151;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5rem;
}

.highest-standards-section .boxes-section {
  display: grid;
  place-items: center;
  gap: 1rem;
  grid-template-columns: repeat(2, 1fr);
}

.highest-standards-section .boxes-section .box {
  padding: 1.5rem;
  border-radius: 1.5rem;
  border: 1px solid #f3f4f6;
  background: #f9fafb;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.highest-standards-section .boxes-section .box img {
  height: 2.25rem;
}

.highest-standards-section .boxes-section .box h4 {
  margin-top: 1rem;
  color: #111827;
  text-align: center;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5rem;
}

.highest-standards-section .boxes-section .box p {
  margin-top: 0.5rem;
  color: #6b7280;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.highest-standards-section .boxes-section .box.box2 {
  margin-top: 2rem;
}

.book-appt-section {
  padding: 5rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.book-appt-section h2 {
  color: #111827;
  text-align: center;
  font-family: Playfair;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 2.5rem;
}

.book-appt-section .heading-text {
  margin-top: 2rem;
  max-width: 48rem;
  color: #4b5563;
  text-align: center;
  font-size: 1.125rem;
  line-height: 1.8rem;
}

.call-reception-container {
  margin-top: 2rem;
  padding: 2rem;
  border-radius: 2rem;
  background: rgba(255, 255, 255, 1);
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.call-reception-container .call-icon {
  width: 4rem;
  height: 4rem;
}

.call-reception-container h3 {
  margin-top: 1.5rem;
  text-align: center;
  color: #111827;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2rem;
}

.call-reception-container .call-reception {
  display: block;
  margin-top: 1.5rem;
  border-radius: 624.9375rem;
  background: palevioletred;
  box-shadow:
    0 10px 15px -3px #fecaca,
    0 4px 6px -4px #fecaca;
  padding: 0.5rem 2rem;
  color: #fff;
  font-size: 1.25rem;
}

.call-reception-container .hours-section {
  margin-top: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}

.call-reception-container .hours-section p {
  color: #6b7280;
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

/* About page responsive */

@media (max-width: 1024px) {
  .compassionate-care-section h1 {
    font-size: 3.25rem;
    line-height: 3.4rem;
  }

  .partnering-section .partnering-grid {
    grid-template-columns: 1fr;
  }

  .standards-section {
    grid-template-columns: 1fr;
    margin: 5rem 1.5rem;
  }
}

@media (max-width: 768px) {
  .compassionate-care-section {
    padding: 4rem 1.5rem;
    border-radius: 1.5rem;
  }

  .compassionate-care-section h1 {
    font-size: 2.5rem;
    line-height: 2.7rem;
  }

  .compassionate-care-section .body-text,
  .who-for-container .body-text,
  .standards-section .text-section .body-text {
    font-size: 1rem;
    line-height: 1.6rem;
  }

  .partnering-section h2,
  .how-works-section h2,
  .who-for-container h2 {
    font-size: 2rem;
    line-height: 2.25rem;
  }

  .journey-container .journey-item {
    gap: 1rem;
  }

  .journey-container .journey-item .number-container {
    width: 3rem;
    height: 3rem;
    flex-shrink: 0;
  }

  .journey-container .journey-item-container {
    padding: 1.5rem;
  }

  .journey-container .journey-item-container .top-container {
    flex-direction: column;
    align-items: flex-start;
  }

  .better-healthcare-container .better-healthcare-cta,
  .compassionate-care-section .compassionate-cta {
    width: 100%;
    text-align: center;
    justify-content: center;
  }
}

@media (max-width: 480px) {
  .compassionate-care-section {
    padding: 3rem 1rem;
  }

  .compassionate-care-section h1 {
    font-size: 2rem;
    line-height: 2.25rem;
  }

  .compassionate-care-section .green-circle-top,
  .compassionate-care-section .green-circle-bottom {
    width: 12rem;
    height: 12rem;
  }

  .partnering-section,
  .how-works-section {
    padding: 3rem 1rem;
  }

  .partnering-section .partnering-grid .partnering-item {
    padding: 1.5rem;
  }

  .journey-container .journey-item {
    flex-direction: column;
  }

  .journey-container .journey-item .number-container {
    width: 2.75rem;
    height: 2.75rem;
  }

  .journey-container .journey-item-container .call-btn {
    width: 100%;
    justify-content: center;
  }

  .standards-section {
    margin: 3rem 1rem;
    gap: 2rem;
  }

  .standards-section .text-section h3 {
    font-size: 1.9rem;
    line-height: 2.2rem;
  }

  .standards-section .text-section .checklist .checklist-item {
    align-items: flex-start;
  }

  .who-for-section {
    padding: 4rem 1rem;
    border-radius: 1.5rem;
  }

  .better-healthcare-container {
    padding: 1.5rem;
  }

  .better-healthcare-container .better-healthcare-cta {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}

/* Our team page responsive */

@media (max-width: 1024px) {
  .our-team-hero-section {
    padding: 5rem 2rem;
  }

  .our-team-hero-section h1 {
    font-size: 3rem;
    line-height: 3.25rem;
  }

  .our-staff-section .doctors-grid {
    grid-template-columns: 1fr;
  }

  .practice-staff-container .staff-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .highest-standards-section {
    grid-template-columns: 1fr;
    padding: 3rem;
  }
}

@media (max-width: 768px) {
  .our-team-hero-section {
    padding: 4rem 1.5rem;
    border-radius: 1.5rem;
  }

  .our-team-hero-section h1 {
    font-size: 2.35rem;
    line-height: 2.6rem;
  }

  .our-team-hero-section p,
  .our-staff-section .heading-text,
  .practice-staff-container .heading-text,
  .book-appt-section .heading-text,
  .highest-standards-section .registered {
    font-size: 1rem;
    line-height: 1.55rem;
  }

  .our-team-hero-section .meet-team-btn {
    width: 100%;
  }

  .our-staff-section {
    padding: 4rem 1.5rem;
  }

  .our-staff-section h2,
  .practice-staff-container h2,
  .highest-standards-section h2,
  .book-appt-section h2 {
    font-size: 2rem;
    line-height: 2.25rem;
  }

  .our-staff-section .doctors-grid .doctor {
    grid-template-columns: 1fr;
  }

  .our-staff-section .doctors-grid .doctor .doctor-photo {
    height: 20rem;
    object-fit: cover;
    object-position: top;
  }

  .practice-staff-container {
    padding: 5rem 1.5rem;
  }

  .highest-standards-section {
    padding: 2rem;
    border-radius: 1.5rem;
  }

  .highest-standards-section .boxes-section {
    grid-template-columns: 1fr;
  }

  .highest-standards-section .boxes-section .box.box2 {
    margin-top: 0;
  }
}

@media (max-width: 480px) {
  .our-team-hero-section {
    padding: 3rem 1rem;
  }

  .our-team-hero-section h1 {
    font-size: 2rem;
    line-height: 2.25rem;
  }

  .our-team-hero-section p {
    margin-top: 1.25rem;
  }

  .our-team-hero-section .meet-team-btn {
    margin-top: 2rem;
  }

  .our-staff-section {
    padding: 3rem 1rem;
  }

  .our-staff-section .doctors-grid {
    gap: 1.5rem;
  }

  .our-staff-section .doctors-grid .doctor {
    border-radius: 1.25rem;
  }

  .our-staff-section .doctors-grid .doctor .text-section {
    padding: 1.5rem;
  }

  .our-staff-section .doctors-grid .doctor .doctor-photo {
    height: 16rem;
  }

  .practice-staff-container {
    padding: 4rem 1rem;
  }

  .practice-staff-container .staff-grid {
    grid-template-columns: 1fr;
  }

  .highest-standards-section {
    margin: 0 1rem 3rem;
    padding: 1.5rem;
  }

  .highest-standards-section .certifications .certification {
    align-items: flex-start;
  }

  .book-appt-section {
    padding: 4rem 1rem;
  }

  .call-reception-container {
    width: 100%;
    padding: 1.5rem;
  }

  .call-reception-container .call-reception {
    width: 100%;
    text-align: center;
    font-size: 1.1rem;
  }
}

/* Services page styles */

.services-hero-section {
  margin-top: 2rem;
  background: url(../images/services-hero.png);
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 2.5rem;
  padding: 6rem 5.5rem;
}

.services-hero-section .text-section {
  max-width: 35rem;
}

.services-hero-section .text-section .care-container {
  padding: 0.375rem 1rem;
  border-radius: 624.9375rem;
  border: 1px solid rgba(20, 184, 166, 0.3);
  background: rgba(19, 78, 74, 0.5);
  backdrop-filter: blur(2px);
  width: fit-content;
}

.services-hero-section .text-section .care-container p {
  color: #f0fdfa;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
}

.services-hero-section .text-section h1 {
  margin-top: 2rem;
  color: #fff;
  font-family: Playfair;
  font-size: 3.75rem;
}

.services-hero-section .text-section .body-text {
  color: #f0fdfa;
  font-size: 1.25rem;
  line-height: 2rem;
  margin-top: 1.5rem;
}

.consultations-section {
  padding: 5rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.consultations-section h2 {
  color: #111827;
  font-family: Playfair;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 2.5rem;
  text-align: center;
}

.consultations-section .heading-text {
  text-align: center;
  color: #4b5563;
  margin-top: 0.5rem;
  line-height: 1.5rem;
}

.consultations-section .consultations-grid {
  margin-top: 1.5rem;
  padding-top: 3rem;
  border-top: 1px solid #e5e7eb;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.consultations-section .consultations-grid .consultation {
  border-radius: 1.5rem;
  background: rgba(255, 255, 255, 1);
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
  padding: 2rem;
}

.consultations-section .consultations-grid .consultation .consultation-icon {
  width: 3.5rem;
  height: 3.5rem;
}

.consultations-section .consultations-grid .consultation h3 {
  margin-top: 1.5rem;
  color: #111827;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.75rem;
}

.consultations-section .consultations-grid .consultation .body-text {
  margin-top: 0.75rem;
  color: #4b5563;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
}

.consultations-section .consultations-grid .consultation .features-container {
  margin-top: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.consultations-section
  .consultations-grid
  .consultation
  .features-container
  .feature {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.consultations-section .consultations-grid .consultation .green-check {
  height: 0.875rem;
}

.consultations-section .consultations-grid .consultation .feature p {
  color: #6b7280;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.health-checks-section {
  padding: 4rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.health-checks-section h2 {
  color: #111827;
  text-align: center;
  font-family: Playfair;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 2.5rem;
}

.health-checks-section .heading-text {
  margin-top: 1rem;
  color: #4b5563;
  line-height: 1.5rem;
  max-width: 44rem;
  text-align: center;
}

.health-checks-section .checks-grid {
  margin-top: 3rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}

.health-checks-section .checks-grid .check-box {
  padding: 1.5rem;
  border-radius: 2rem;
  background: rgba(255, 255, 255, 1);
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
  display: flex;
  gap: 1.5rem;
}

.health-checks-section .checks-grid .check-box img {
  width: 4rem;
  height: 4rem;
}

.health-checks-section .checks-grid .check-box h3 {
  color: #111827;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.75rem;
}

.health-checks-section .checks-grid .check-box .body-text {
  margin-top: 0.5rem;
  color: #4b5563;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
}

.health-checks-section .checks-grid .check-box a {
  display: block;
  margin-top: 1rem;
  color: #0d9488;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
}

.specialised-care-section {
  padding: 5rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.specialised-care-section h2 {
  color: #111827;
  text-align: center;
  font-family: Playfair;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 2.5rem;
}

.specialised-care-section .specialised-grid {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}

.specialised-care-section .specialised-grid .specialised-item {
  padding: 1.5rem 1.5rem 2.5rem 1.5rem;
  border-radius: 1.5rem;
  border: 1px solid #e5e7eb;
  background: #fff;
}

.specialised-care-section .specialised-grid .specialised-item img {
  height: 1.875rem;
}

.specialised-care-section .specialised-grid .specialised-item h4 {
  color: #111827;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5rem;
}

.specialised-care-section .specialised-grid .specialised-item p {
  margin-top: 0.5rem;
  color: #4b5563;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

/* Services page responsive */

@media (max-width: 1024px) {
  .services-hero-section {
    padding: 5rem 2rem;
  }

  .services-hero-section .text-section h1 {
    font-size: 3rem;
    line-height: 3.25rem;
  }

  .consultations-section .consultations-grid {
    grid-template-columns: 1fr;
  }

  .health-checks-section .checks-grid {
    grid-template-columns: 1fr;
  }

  .specialised-care-section .specialised-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .services-hero-section {
    padding: 4rem 1.5rem;
    border-radius: 1.5rem;
  }

  .services-hero-section .text-section h1 {
    font-size: 2.35rem;
    line-height: 2.6rem;
  }

  .services-hero-section .text-section .body-text,
  .consultations-section .heading-text,
  .health-checks-section .heading-text,
  .book-appt-section .heading-text {
    font-size: 1rem;
    line-height: 1.55rem;
  }

  .consultations-section,
  .health-checks-section,
  .specialised-care-section {
    padding: 4rem 1.5rem;
  }

  .consultations-section h2,
  .health-checks-section h2,
  .specialised-care-section h2,
  .book-appt-section h2 {
    font-size: 2rem;
    line-height: 2.25rem;
  }

  .health-checks-section .checks-grid .check-box {
    flex-direction: column;
  }

  .health-checks-section .checks-grid .check-box img {
    width: 3.5rem;
    height: 3.5rem;
  }

  .specialised-care-section .specialised-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .services-hero-section {
    padding: 3rem 1rem;
  }

  .services-hero-section .text-section h1 {
    font-size: 2rem;
    line-height: 2.25rem;
  }

  .consultations-section,
  .health-checks-section,
  .specialised-care-section {
    padding: 3rem 1rem;
  }

  .consultations-section .consultations-grid .consultation,
  .health-checks-section .checks-grid .check-box,
  .specialised-care-section .specialised-grid .specialised-item {
    padding: 1.5rem;
    border-radius: 1.25rem;
  }

  .consultations-section .consultations-grid {
    padding-top: 2rem;
  }

  .book-appt-section {
    padding: 4rem 1rem;
  }

  .call-reception-container {
    width: 100%;
    padding: 1.5rem;
  }

  .call-reception-container .call-reception {
    width: 100%;
    text-align: center;
    font-size: 1.1rem;
  }
}

/* Appointment Page styles */

.appointments-hero-section {
  margin-top: 2.5rem;
  padding: 5rem;
  background: url(../images/appointments-hero.png);
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 2.5rem;
}

.appointments-hero-section .info-container {
  padding: 0.375rem 1rem;
  border-radius: 624.9375rem;
  border: 1px solid rgba(20, 184, 166, 0.3);
  background: rgba(19, 78, 74, 0.5);
  backdrop-filter: blur(2px);
  width: fit-content;
}

.appointments-hero-section .info-container p {
  color: #f0fdfa;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
  width: fit-content;
}

.appointments-hero-section .text-section {
  max-width: 30rem;
}

.appointments-hero-section h1 {
  margin-top: 2rem;
  color: #fff;
  font-family: Playfair;
  font-size: 3.75rem;
  font-weight: 700;
}

.appointments-hero-section .heading-text {
  margin-top: 1.5rem;
  color: #f0fdfa;
  font-size: 1.25rem;
  line-height: 2rem;
}

.telephone-section {
  padding: 5rem 1.5rem;
  display: flex;
  justify-content: center;
}

.telephone-booking-container {
  max-width: 64rem;
  padding: 3.5rem;
  display: grid;
  place-items: center;
  grid-template-columns: 1.5fr 1fr;
  gap: 3.5rem;
  border-radius: 2rem;
  border: 1px solid #f3f4f6;
  background: #fff;
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
}

.telephone-booking-container .left-side img {
  width: 4rem;
  height: 4rem;
}

.telephone-booking-container .left-side h2 {
  margin-top: 1.5rem;
  color: #111827;
  font-family: Playfair;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 2.5rem;
}

.telephone-booking-container .left-side .body-text {
  margin-top: 1rem;
  color: #4b5563;
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.telephone-booking-container .left-side .lines-open-container {
  margin-top: 1rem;
  padding: 1rem;
  border-radius: 0.75rem;
  border: 1px solid #f3f4f6;
  background: #f9fafb;
  display: flex;
  gap: 1rem;
  align-items: center;
  width: fit-content;
}

.telephone-booking-container .left-side .lines-open-container i,
.telephone-booking-container .left-side .lines-open-container p {
  color: #6b7280;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
}

.telephone-booking-container .call-now-btn {
  border-radius: 1.5rem;
  background: palevioletred;
  box-shadow:
    0 10px 15px -3px rgba(254, 202, 202, 0.5),
    0 4px 6px -4px rgba(254, 202, 202, 0.5);
  padding: 1.5rem 3rem;
}

.telephone-booking-container .call-now-btn .phone-text {
  text-align: center;
  color: #fee2e2;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.25rem;
  letter-spacing: 0.04375rem;
  text-transform: uppercase;
}

.telephone-booking-container .call-now-btn .phone-num {
  margin-top: 0.5rem;
  color: #fff;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 2.5rem;
  letter-spacing: -0.05625rem;
}

.consultation-options-section {
  padding: 6rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.consultation-options-section h2 {
  color: #111827;
  text-align: center;
  font-family: Playfair;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 2.5rem;
}

.consultation-options-section .heading-text {
  margin-top: 1rem;
  color: #4b5563;
  text-align: center;
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.consultation-options-section .consultation-options-grid {
  margin-top: 3rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

.consultation-options-section .consultation-options-grid .option {
  padding: 2rem;
  border-radius: 1.5rem;
  border: 1px solid #f3f4f6;
  background: #fff;
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1.5rem;
  overflow: hidden;
  position: relative;
}

.consultation-options-section
  .consultation-options-grid
  .option
  .recommended-container {
  position: absolute;
  right: 0;
  top: 0;
  border-radius: 0 0 0 0.75rem;
  background: #0d9488;
  padding: 0.25rem 1rem;
}

.consultation-options-section
  .consultation-options-grid
  .option
  .recommended-container
  p {
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1rem;
}

.consultation-options-section .consultation-options-grid .option .option-icon {
  width: 3.5rem;
  height: 3.5rem;
}

.consultation-options-section .consultation-options-grid .option h3 {
  margin-top: 1.5rem;
  color: #111827;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.75rem;
}

.consultation-options-section .consultation-options-grid .option .length {
  margin-top: 0.5rem;
  color: #0d9488;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5rem;
}

.consultation-options-section .consultation-options-grid .option .body-text {
  margin-top: 1rem;
  color: #4b5563;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.consultation-options-section
  .consultation-options-grid
  .option
  .bottom-section {
  padding-top: 1.5rem;
  border-top: 1px solid #f3f4f6;
}

.consultation-options-section
  .consultation-options-grid
  .option
  .bottom-section
  .option-checklist-container {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.consultation-options-section
  .consultation-options-grid
  .option
  .bottom-section
  .option-checklist-container
  .option-checklist {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.consultation-options-section
  .consultation-options-grid
  .option
  .bottom-section
  .option-checklist
  .green-check {
  height: 0.875rem;
}

.consultation-options-section
  .consultation-options-grid
  .option
  .bottom-section
  .option-checklist
  p {
  color: #4b5563;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.appointments-further-info-section {
  margin: 4rem auto;
  padding: 4rem 1.5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}

.appointments-further-info-section article {
  border-radius: 2rem;
  background: rgba(255, 255, 255, 01);
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
  padding: 2rem;
}

.appointments-further-info-section .top-section {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.appointments-further-info-section .top-section .appoint-icon {
  width: 3rem;
  height: 3rem;
}

.appointments-further-info-section .top-section h3 {
  color: #111827;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.75rem;
}

.appointments-further-info-section .body-text {
  margin-top: 1.5rem;
  color: #4b5563;
  font-size: 0.875rem;
  line-height: 1.4rem;
}

.appointments-further-info-section .call-early-container {
  margin-top: 1.5rem;
  padding: 1rem;
  border-radius: 0.75rem;
  border: 1px solid #ccfbf1;
  background: #f0fdfa;
  display: flex;
  gap: 0.75rem;
}

.appointments-further-info-section .call-early-container .info-icon {
  width: 0.875rem;
  height: 0.875rem;
}

.appointments-further-info-section .call-early-container p {
  color: #134e4a;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.appointments-further-info-section .notice-container {
  margin-top: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.appointments-further-info-section .notice-container .notice-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.appointments-further-info-section
  .notice-container
  .notice-item:not(:last-child) {
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #f3f4f6;
}

.appointments-further-info-section .notice-container .notice-item p {
  color: #4b5563;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
}

.appointments-further-info-section .notice-container .notice-item .no-charge {
  font-weight: 600;
  color: #0d9488;
}

.appointments-further-info-section .notice-container .notice-item .half-charge {
  font-weight: 600;
  color: #111827;
}

.appointments-further-info-section .notice-container .notice-item .full-charge {
  font-weight: 600;
  color: #f87171;
}

.what-to-have-section {
  margin-top: 4rem;
  padding: 5rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.what-to-have-section h2 {
  color: #111827;
  text-align: center;
  font-family: Playfair;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 2.5rem;
}

.what-to-have-section .heading-text {
  margin-top: 1rem;
  max-width: 40rem;
  color: #4b5563;
  text-align: center;
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.what-to-have-container {
  margin-top: 2.5rem;
  width: 100%;
  max-width: 48rem;
  border-radius: 2rem;
  background: rgba(255, 255, 255, 1);
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: 2rem;
}

.what-to-have-container .what-to-have-item {
  padding: 1rem;
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.what-to-have-container .what-to-have-item img {
  width: 3rem;
  height: 3rem;
}

.what-to-have-container .what-to-have-item h4 {
  color: #111827;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5rem;
}

.what-to-have-container .what-to-have-item p {
  margin-top: 0.25rem;
  color: #6b7280;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

/* Appointment page responsive */

@media (max-width: 1024px) {
  .appointments-hero-section {
    padding: 5rem 2rem;
  }

  .appointments-hero-section h1 {
    font-size: 3rem;
    line-height: 3.25rem;
  }

  .telephone-booking-container {
    grid-template-columns: 1fr;
    padding: 3rem;
    gap: 2.5rem;
  }

  .consultation-options-section .consultation-options-grid {
    grid-template-columns: 1fr;
  }

  .appointments-further-info-section {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

@media (max-width: 768px) {
  .appointments-hero-section {
    padding: 4rem 1.5rem;
    border-radius: 1.5rem;
  }

  .appointments-hero-section h1 {
    font-size: 2.35rem;
    line-height: 2.6rem;
  }

  .appointments-hero-section .heading-text,
  .consultation-options-section .heading-text,
  .what-to-have-section .heading-text {
    font-size: 1rem;
    line-height: 1.55rem;
  }

  .telephone-section,
  .consultation-options-section,
  .appointments-further-info-section,
  .what-to-have-section {
    padding: 4rem 1.5rem;
  }

  .telephone-booking-container {
    padding: 2rem;
    border-radius: 1.5rem;
  }

  .telephone-booking-container .left-side h2,
  .consultation-options-section h2,
  .what-to-have-section h2 {
    font-size: 2rem;
    line-height: 2.25rem;
  }

  .telephone-booking-container .call-now-btn {
    width: 100%;
    text-align: center;
  }

  .telephone-booking-container .call-now-btn .phone-num {
    font-size: 1.75rem;
    line-height: 2rem;
  }

  .telephone-booking-container .left-side .lines-open-container {
    width: 100%;
    align-items: flex-start;
  }

  .appointments-further-info-section .top-section {
    align-items: flex-start;
  }

  .appointments-further-info-section .call-early-container {
    align-items: flex-start;
  }

  .notice-container .notice-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }

  .what-to-have-container {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .appointments-hero-section {
    padding: 3rem 1rem;
  }

  .appointments-hero-section h1 {
    font-size: 2rem;
    line-height: 2.25rem;
  }

  .telephone-section,
  .consultation-options-section,
  .appointments-further-info-section,
  .what-to-have-section {
    padding: 3rem 1rem;
  }

  .telephone-booking-container,
  .consultation-options-section .consultation-options-grid .option,
  .appointments-further-info-section article,
  .what-to-have-item {
    padding: 1.5rem;
    border-radius: 1.25rem;
  }

  .telephone-booking-container .left-side .body-text {
    font-size: 1rem;
    line-height: 1.55rem;
  }

  .telephone-booking-container .left-side .lines-open-container {
    flex-direction: column;
    gap: 0.5rem;
  }

  .telephone-booking-container .call-now-btn {
    padding: 1.25rem;
  }

  .telephone-booking-container .call-now-btn .phone-num {
    font-size: 1.4rem;
    line-height: 1.75rem;
  }

  .consultation-options-section .consultation-options-grid {
    gap: 1.5rem;
  }

  .consultation-options-section .consultation-options-grid .option {
    padding: 1.5rem;
  }

  .appointments-further-info-section {
    margin: 2rem auto;
  }

  .appointments-further-info-section .top-section {
    flex-direction: column;
  }

  .appointments-further-info-section .call-early-container {
    flex-direction: column;
  }

  .what-to-have-item {
    flex-direction: column;
    align-items: flex-start;
  }

  .what-to-have-item img {
    width: 3rem;
    height: 3rem;
  }
}

/* Fees page styles */

.fees-heading-section {
  padding: 6rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.fees-heading-section h1 {
  color: #111827;
  text-align: center;
  font-family: Playfair;
  font-size: 3.75rem;
  font-weight: 700;
  line-height: 3.75rem;
}

.fees-heading-section .heading-text {
  margin-top: 1.5rem;
  width: 100%;
  max-width: 38rem;
  color: #4b5563;
  text-align: center;
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.pricing-grid {
  padding: 0 1.5rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

.pricing-grid .pricing-item {
  border-radius: 1rem;
  background: rgba(255, 255, 255, 1);
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
}

.pricing-grid .pricing-item .top-section {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.pricing-grid .pricing-item .top-section .pricing-icon {
  width: 3rem;
  height: 3rem;
}

.pricing-grid .pricing-item .top-section h3 {
  color: #111827;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2rem;
}

.pricing-grid .pricing-item .body-text {
  margin-top: 1.5rem;
  color: #4b5563;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.pricing-grid .pricing-item .price {
  margin-top: 1.5rem;
  color: #111827;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 2.5rem;
}

.pricing-grid .pricing-item .price span {
  color: #6b7280;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 400;
}

.pricing-grid .pricing-item .features-container {
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.pricing-grid .pricing-item .features-container .feature {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}

.pricing-grid .pricing-item .features-container .feature .green-check {
  height: 0.875rem;
}

.pricing-grid .pricing-item .features-container .feature p {
  color: #4b5563;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
}

.pricing-grid .pricing-item .call-to-book-btn {
  display: block;
  margin-top: 2rem;
  width: 100%;
  padding: 0.75rem 1rem;
  border-radius: 0.75rem;
  border: 1px solid #e5e7eb;
  background: #f0fdfa;
  text-align: center;
  color: #134e4a;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5rem;
}

.pricing-grid .pricing-item .call-to-book-btn.green-btn {
  background-color: #134e4a;
  color: #fff;
}

.pricing-item .recommended {
  padding: 0.25rem 0.75rem;
  border-radius: 624.9375rem;
  border: 1px solid rgba(248, 113, 113, 0.3);
  position: absolute;
  top: 1rem;
  right: 1rem;
}

.pricing-item .recommended p {
  color: #f87171;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1rem;
  text-transform: uppercase;
}

.procedures-section {
  padding: 7rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.procedures-section h2 {
  color: #111827;
  text-align: center;
  font-family: Playfair;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 2.25rem;
}

.procedures-section .procedures-container {
  margin-top: 1rem;
  padding-top: 1rem;
  border-radius: 1rem;
  border: 1px solid #f3f4f6;
  background: #fff;
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
  width: 100%;
  max-width: 60rem;
}

.procedures-section .procedures-container .procedure {
  padding: 1rem 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.procedures-section .procedures-container .procedure .service-name {
  color: #4b5563;
  font-size: 1rem;
  font-weight: 400;
}

.procedures-section .procedures-container .procedure .price {
  color: #111827;
  text-align: right;
  font-size: 1rem;
  font-weight: 500;
}

.procedures-section .procedures-container .procedure.procedure-heading {
  background: #f9fafb;
}

.procedures-section
  .procedures-container
  .procedure.procedure-heading
  .service-name {
  color: #111827;
  font-weight: 600;
}

.procedures-section .procedures-container .procedure:not(:last-child) {
  border-bottom: 1px solid #f3f4f6;
}

.procedures-section .lab-fees {
  margin-top: 1rem;
  color: #6b7280;
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.payment-section {
  margin: 2rem auto;
  width: 100%;
  max-width: 53rem;
  border-radius: 2rem;
  background: #134e4a;
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
  padding: 2.5rem;
}

.payment-section .heading-section {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.payment-section .credit-card {
  width: 2rem;
}

.payment-section h2 {
  color: #fff;
  font-family: Playfair;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 2.25rem;
}

.payment-section .payment-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  margin-top: 1.5rem;
}

.payment-grid h3 {
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.75rem;
}

.payment-grid .body-text {
  margin-top: 0.75rem;
  color: #f0fdfa;
  font-size: 0.875rem;
  line-height: 1.4rem;
}

.payment-grid .cards-container {
  margin-top: 1rem;
  display: flex;
  gap: 0.75rem;
}

.payment-grid .cards-container .credit-card-small {
  height: 1.5rem;
}

/* Fees page responsive */

@media (max-width: 1024px) {
  .fees-heading-section h1 {
    font-size: 3rem;
    line-height: 3.25rem;
  }

  .pricing-grid {
    grid-template-columns: 1fr;
  }

  .payment-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .fees-heading-section {
    padding: 4rem 1.5rem;
  }

  .fees-heading-section h1 {
    font-size: 2.35rem;
    line-height: 2.6rem;
  }

  .fees-heading-section .heading-text {
    font-size: 1rem;
    line-height: 1.55rem;
  }

  .pricing-grid,
  .procedures-section,
  .payment-section {
    padding: 4rem 1.5rem;
  }

  .pricing-grid .pricing-item,
  .payment-section,
  .self-pay-section,
  .insured-section {
    padding: 1.5rem;
    border-radius: 1.25rem;
  }

  .procedures-section h2,
  .payment-section h2 {
    font-size: 2rem;
    line-height: 2.25rem;
  }

  .procedure {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }

  .procedure .price {
    text-align: left;
  }

  .payment-section .heading-section {
    flex-direction: column;
    align-items: flex-start;
  }

  .payment-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 480px) {
  .fees-heading-section {
    padding: 3rem 1rem;
  }

  .fees-heading-section h1 {
    font-size: 2rem;
    line-height: 2.25rem;
  }

  .pricing-grid,
  .procedures-section,
  .payment-section {
    padding: 3rem 1rem;
  }

  .pricing-grid .pricing-item {
    padding: 1.5rem;
  }

  .pricing-grid .pricing-item .top-section {
    flex-direction: column;
    align-items: flex-start;
  }

  .pricing-grid .pricing-item .price {
    font-size: 1.85rem;
    line-height: 2.25rem;
  }

  .pricing-grid .pricing-item .call-to-book-btn {
    width: 100%;
  }

  .procedures-container {
    overflow: hidden;
  }

  .procedure {
    padding: 1rem 0;
  }

  .procedure .service-name,
  .procedure .price {
    font-size: 0.875rem;
    line-height: 1.35rem;
  }

  .cards-container {
    flex-wrap: wrap;
  }
}

/* New patients page styles */

.new-patients-hero {
  padding: 6rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #fff;
}

.new-patients-hero h1 {
  color: #111827;
  text-align: center;
  font-family: Playfair;
  font-size: 3.75rem;
  font-weight: 700;
}

.new-patients-hero .heading-text {
  margin-top: 1.5rem;
  color: #4b5563;
  text-align: center;
  font-size: 1.25rem;
  line-height: 1.75rem;
  width: 100%;
  max-width: 53rem;
}

.new-patients-hero .cta-section {
  margin-top: 2.5rem;
  display: flex;
  gap: 2rem;
  align-items: center;
}

.new-patients-hero .cta-section .register-book {
  padding: 1.5rem 2rem;
  border-radius: 0.75rem;
  background: #0d9488;
  box-shadow:
    0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -2px rgba(0, 0, 0, 0.1);
  color: #fff;
  text-align: center;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5rem;
}

.new-patients-hero .cta-section .phone {
  color: #6b7280;
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.registration-section {
  padding: 4rem 1.5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}

.registration-section .eligibility,
.registration-section .how-to-register {
  padding: 2rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 1);
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
}

.registration-section .top-section {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.registration-section .top-section img {
  width: 3rem;
  height: 3rem;
}

.registration-section .top-section h3 {
  color: #111827;
  font-family: Playfair;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2rem;
}

.registration-section .eligibility .body-text {
  margin-top: 2rem;
  color: #4b5563;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
}

.registration-section .eligibility-items {
  margin-top: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.registration-section .eligibility-item {
  padding: 1rem;
  display: flex;
  gap: 1rem;
  border-radius: 0.75rem;
  border: 1px solid #f3f4f6;
  background: #f9fafb;
}

.registration-section .eligibility-item img {
  width: 1rem;
  height: 1rem;
}

.registration-section .eligibility-item .heading {
  color: #111827;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.25rem;
}

.registration-section .eligibility-item .details {
  margin-top: 0.25rem;
  color: #6b7280;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
}

.registration-section .register-items {
  margin-top: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.registration-section .register-item {
  display: flex;
  gap: 1.5rem;
}

.registration-section .register-item .number-container {
  width: 2rem;
  height: 2rem;
  padding: 0 0.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  border: 2px solid #e5e7eb;
  background: #fff;
  align-self: flex-start;
  flex-shrink: 0;
}

.registration-section .register-item .number-container.green {
  border: 2px solid #14b8a6;
  background: #f0fdfa;
}

.registration-section .register-item .number-container .number {
  color: #4b5563;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.25rem;
}

.registration-section .register-item .number-container.green .number {
  color: #0d9488;
}

.registration-section .register-item h4 {
  color: #111827;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5rem;
}

.registration-section .register-item .register-info-text {
  margin-top: 0.25rem;
  color: #6b7280;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
}

.required-document-section {
  padding: 2rem 1.5rem;
  display: flex;
  justify-content: center;
}

.required-document-container {
  border-radius: 2rem;
  background: #134e4a;
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
  padding: 2.5rem;
  width: 100%;
}

.required-document-container .top-section {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.required-document-container .top-section img {
  height: 1.875rem;
}

.required-document-container .top-section h2 {
  color: #fff;
  font-family: Playfair;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 2.25rem;
}

.required-document-container .heading-text {
  margin-top: 2rem;
  max-width: 36rem;
  color: #f0fdfa;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
}

.required-document-container .required-docs-grid {
  margin-top: 2rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}

.required-docs-grid .doc {
  padding: 1.5rem;
  border-radius: 1rem;
  border: 1px solid #0d9488;
}

.required-docs-grid .doc-heading-section {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.required-docs-grid .doc img {
  height: 1.125rem;
}

.required-docs-grid .doc h4 {
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.75rem;
}

.required-docs-grid .doc .instructions-text {
  margin-top: 1rem;
  color: #f0fdfa;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.required-docs-grid .doc .documents {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding-left: 2rem;
}

.required-docs-grid .doc .documents li {
  color: #f0fdfa;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
}

.first-visit-section {
  padding: 4rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.first-visit-section h2 {
  color: #111827;
  text-align: center;
  font-family: Playfair;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 2.25rem;
}

.first-visit-section .first-visit-container {
  margin-top: 2rem;
  border-radius: 1rem;
  border: 1px solid #f3f4f6;
  background: #fff;
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

.first-visit-container .what-to-expect-container {
  padding: 2rem;
}

.first-visit-container h3 {
  color: #111827;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.75rem;
}

.first-visit-container .body-text {
  margin-top: 1rem;
  color: #4b5563;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4rem;
}

.first-visit-container .consent-container {
  padding: 2rem;
  background: #f9fafb;
}

.first-visit-container .consent-container .consent-grid {
  margin-top: 1rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}

.first-visit-container .consent-container .consent-grid h4 {
  color: #111827;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.25rem;
}

.first-visit-container .consent-container .consent-grid .consent-body-text {
  margin-top: 0.5rem;
  color: #4b5563;
  font-size: 0.75rem;
  line-height: 1.2rem;
}

.ready-to-register-btn {
  margin-top: 2rem;
  padding: 1rem 2rem;
  border-radius: 624.9375rem;
  background: #111827;
  box-shadow:
    0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -2px rgba(0, 0, 0, 0.1);
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5rem;
}

/* Patient info page styles */

.hours-advice-section {
  padding: 4rem 1.5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}

.hours-advice-section .hours-advice-box {
  padding: 2rem;
  border-radius: 0.75rem;
  border: 1px solid #f3f4f6;
  background: #fff;
}

.hours-advice-box .heading-section {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}

.hours-advice-box .heading-section img {
  width: 3rem;
  height: 3rem;
}

.hours-advice-box .heading-section h3 {
  color: #111827;
  font-family: Playfair;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2rem;
}

.hours-advice-box .hours-container {
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.hours-advice-box .hours-container .hours {
  padding: 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 0.75rem;
  border: 1px solid #f3f4f6;
  background: #f9fafb;
}

.hours-advice-box .hours-container .hours .days {
  color: #111827;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5rem;
}

.hours-advice-box .hours-container .hours .times {
  color: #4b5563;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
}

.hours-advice-box .hours-container .hours .times.italic {
  font-style: italic;
}

.hours-advice-box .out-of-hours-container {
  margin-top: 2rem;
}

.hours-advice-box .out-of-hours-container h4 {
  color: #111827;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.25rem;
}

.hours-advice-box .out-of-hours-container p {
  margin-top: 0.5rem;
  color: #4b5563;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4rem;
}

.hours-advice-box .same-day-container {
  margin-top: 1.5rem;
  padding: 1rem;
  border-radius: 0.75rem;
  border: 1px solid #ccfbf1;
  background: #f0fdfa;
}

.hours-advice-box .same-day-container h4 {
  color: #134e4a;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.25rem;
}

.hours-advice-box .same-day-container p {
  margin-top: 0.5rem;
  color: #0d9488;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4rem;
}

.hours-advice-box .emergency-container {
  margin-top: 1.5rem;
  padding: 1rem;
  border-radius: 0.75rem;
  border: 1px solid #fee2e2;
  background: #fef2f2;
}

.hours-advice-box .emergency-container h4 {
  color: #f87171;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.25rem;
}

.hours-advice-box .emergency-container p {
  margin-top: 0.5rem;
  color: #dc2626;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4rem;
}

.prescription-results-section {
  padding: 3rem 1.5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}

.pres-res {
  padding: 2.5rem;
}

.pres-res.pres {
  border-radius: 2rem;
  background: #134e4a;
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
}

.pres-res.res {
  border-radius: 2rem;
  background: rgba(255, 255, 255, 1);
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
}

.pres-res .top-section {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.pres-res .top-section img {
  height: 1.875rem;
}

.pres-res .top-section h2 {
  font-family: Playfair;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 2.25rem;
}

.pres-res.pres .top-section h2 {
  color: #fff;
}

.pres-res.res .top-section h2 {
  color: #111827;
}

.pres-res .body-text {
  font-size: 0.875rem;
  line-height: 1.4rem;
  margin-top: 2rem;
}

.pres-res.pres .body-text {
  color: #f0fdfa;
}

.pres-res.res .body-text {
  color: #4b5563;
}

.pres-res.pres .how-to-order-container {
  margin-top: 2rem;
  padding: 1.25rem;
  border-radius: 1rem;
  border: 1px solid #0d9488;
}

.pres-res.pres .how-to-order-container h3,
.pres-res.pres .reviews-container h3 {
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.75rem;
}

.pres-res.pres .how-to-order-items {
  margin-top: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.pres-res.pres .how-to-order-item {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.pres-res.pres .how-to-order-item img {
  height: 0.875rem;
}

.pres-res.pres .how-to-order-item p {
  color: #f0fdfa;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.pres-res .reviews-container {
  padding: 1.25rem;
  border-radius: 1rem;
  border: 1px solid #0d9488;
  margin-top: 1rem;
}

.pres-res .reviews-container .body-text {
  margin-top: 0.5rem;
}

.pres-res .results-info-items {
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.pres-res .results-info-item {
  display: flex;
  gap: 1.5rem;
}

.pres-res .results-info-item .green-circle {
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  border: 2px solid #14b8a6;
  flex-shrink: 0;
}

.pres-res .results-info-item h3 {
  color: #111827;
  font-size: 1rem;
  font-weight: 600;
}

.pres-res .results-info-item p {
  margin-top: 0.25rem;
  color: #6b7280;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.ref-conf-section {
  margin: 4rem 1.5rem;
  border-radius: 1rem;
  border: 1px solid #f3f4f6;
  background: #fff;
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

.ref,
.conf {
  display: flex;
  gap: 2rem;
  padding: 2rem;
}

.ref-conf-section .info-icon {
  width: 4rem;
  height: 4rem;
}

.ref-conf-section .text-section h3 {
  color: #111827;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.75rem;
}

.ref-conf-section .text-section .body-text {
  margin-top: 0.75rem;
  color: #4b5563;
  font-size: 0.875rem;
  line-height: 1.4rem;
}

.ref-conf-section .referral-items {
  margin-top: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.ref-conf-section .referral-item {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.ref-conf-section .referral-item img {
  height: 0.875rem;
}

.ref-conf-section .referral-item p {
  color: #4b5563;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.ref-conf-section .conf {
  background-color: #f9fafb;
}

.accessibility-section {
  margin: 6rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2.5rem;
  border-radius: 2rem;
  background: #111827;
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
}

.accessibility-section .access-icon {
  height: 2.25rem;
}

.accessibility-section h2 {
  color: #fff;
  text-align: center;
  font-family: Playfair;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 2.25rem;
}

.accessibility-section .body-text {
  margin-top: 1rem;
  color: #d1d5db;
  font-size: 0.875rem;
  line-height: 1.4rem;
  text-align: center;
  max-width: 40rem;
}

.accessibility-section .schedule-visit {
  border-top: 1px solid #374151;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 2rem;
  padding-top: 2rem;
}

.accessibility-section .schedule-visit h2 {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.75rem;
}

.accessibility-section .call-to-book-btn {
  margin-top: 1.5rem;
  padding: 1rem 2rem;
  border-radius: 0.75rem;
  background: #14b8a6;
  box-shadow:
    0 10px 15px -3px rgba(19, 78, 74, 0.5),
    0 4px 6px -4px rgba(19, 78, 74, 0.5);
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.75rem;
}

.accessibility-section .online-booking {
  margin-top: 1rem;
  color: #9ca3af;
  font-size: 0.75rem;
  line-height: 1rem;
}

/* New patients page responsive */

@media (max-width: 1024px) {
  .new-patients-hero h1 {
    font-size: 3rem;
    line-height: 3.25rem;
  }

  .hours-advice-section,
  .prescription-results-section,
  .ref-conf-section {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .new-patients-hero {
    padding: 4rem 1.5rem;
  }

  .new-patients-hero h1 {
    font-size: 2.35rem;
    line-height: 2.6rem;
  }

  .new-patients-hero .heading-text,
  .accessibility-section .body-text {
    font-size: 1rem;
    line-height: 1.55rem;
  }

  .new-patients-hero .register-book,
  .schedule-visit .call-to-book-btn {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .hours-advice-section,
  .prescription-results-section,
  .ref-conf-section,
  .accessibility-section {
    padding: 4rem 1.5rem;
  }

  .hours-advice-box,
  .pres-res,
  .ref,
  .conf,
  .schedule-visit {
    padding: 1.5rem;
    border-radius: 1.25rem;
  }

  .hours-advice-box .heading-section,
  .pres-res .top-section {
    align-items: flex-start;
  }

  .ref,
  .conf {
    flex-direction: column;
  }

  .accessibility-section h2,
  .schedule-visit h2 {
    font-size: 2rem;
    line-height: 2.25rem;
  }
}

@media (max-width: 480px) {
  .new-patients-hero {
    padding: 3rem 1rem;
  }

  .new-patients-hero h1 {
    font-size: 2rem;
    line-height: 2.25rem;
  }

  .hours-advice-section,
  .prescription-results-section,
  .ref-conf-section,
  .accessibility-section {
    padding: 3rem 1rem;
  }

  .hours-container .hours {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
  }

  .how-to-order-item,
  .results-info-item,
  .referral-item {
    align-items: flex-start;
  }

  .schedule-visit {
    margin-top: 2rem;
  }
}

/* Contact page styles */

.new-patients-hero .book-phone {
  margin-top: 1.5rem;
  color: #6b7280;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
}

.contact-opening {
  padding: 4rem 1.5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}

.cont-open {
  border-radius: 2rem;
  background: #fff;
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
  padding: 2.5rem;
}

.cont-open .top-section {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.cont-open .top-section .contact-opening-icon {
  width: 3.5rem;
  height: 3.5rem;
}

.cont-open .top-section h2 {
  color: #111827;
  font-family: Playfair;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 2.25rem;
}

.contact-details-items {
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.contact-details-item {
  display: flex;
  gap: 1rem;
  padding: 1.25rem;
  border-radius: 1rem;
  border: 1px solid #f3f4f6;
  background: #f9fafb;
}

.contact-details-item img {
  width: 1.25rem;
  height: 1.25rem;
  object-fit: contain;
}

.contact-details-item h4 {
  color: #111827;
  font-size: 1.125rem;
  font-weight: 600;
}

.contact-details-item .phone-number {
  margin-top: 0.25rem;
  color: #0d9488;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.75rem;
}

.contact-details-item .email-address {
  margin-top: 0.25rem;
  color: #0d9488;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5rem;
}

.contact-details-item .address {
  margin-top: 0.25rem;
  color: #374151;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.25rem;
}

.contact-details-item .more-info {
  margin-top: 0.25rem;
  color: #6b7280;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.opening-items {
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.opening-item {
  padding: 1.25rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 1rem;
  border: 1px solid #f3f4f6;
  background: #f9fafb;
}

.opening-item .day {
  color: #111827;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.75rem;
}

.opening-item .times {
  color: #374151;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5rem;
}

.opening-item.closed {
  border: 1px solid #fee2e2;
  background: #fef2f2;
}

.opening-item.closed .day {
  color: #f87171;
}

.opening-item.closed .times {
  color: #f87171;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5rem;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
}

.visiting-info-section {
  padding: 5rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.visiting-info-section h2 {
  color: #111827;
  text-align: center;
  font-family: Playfair;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 2.5rem;
}

.visiting-info-section .visiting-info-grid {
  margin-top: 2rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

.visiting-info-section .visiting-info-grid .visiting-info-item {
  padding: 2rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 1);
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.visiting-info-section .visiting-info-grid .visiting-info-item img {
  width: 4rem;
  height: 4rem;
}

.visiting-info-section .visiting-info-grid .visiting-info-item h4 {
  margin-top: 1.5rem;
  color: #111827;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.75rem;
}

.visiting-info-section .visiting-info-grid .visiting-info-item .body-text {
  margin-top: 1rem;
  color: #4b5563;
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.4rem;
}

.hours-emergencies-section {
  padding: 4rem 1.5rem;
  display: flex;
  justify-content: center;
  width: 100%;
}

.hours-emergency-container {
  width: 100%;
  max-width: 60rem;
  border-radius: 2rem;
  background: #134e4a;
  box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 4rem;
}

.hours-emergency-container .ambulance-icon {
  width: 3.75rem;
}

.hours-emergency-container h2 {
  color: #fff;
  text-align: center;
  font-family: Playfair;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 2.5rem;
}

.hours-emergency-container .body-text {
  margin-top: 1.5rem;
  color: #f0fdfa;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.8rem;
  max-width: 40rem;
}

.hours-emergency-container .life-threaten-container {
  margin-top: 2rem;
  padding: 1.5rem;
  max-width: 42rem;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  border-radius: 1rem;
  border: 1px solid #0d9488;
}

.life-threaten-container h4 {
  color: #fff;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.75rem;
}

.life-threaten-container .small-text {
  color: #ccfbf1;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
}

.life-threaten-container .call-emergency {
  padding: 1rem 2rem;
  background-color: palevioletred;
  border-radius: 0.75rem;
  box-shadow:
    0 10px 15px -3px rgba(127, 29, 29, 0.5),
    0 4px 6px -4px rgba(127, 29, 29, 0.5);
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5rem;
}

/* Contact page responsive */

@media (max-width: 1024px) {
  .contact-opening {
    grid-template-columns: 1fr;
  }

  .visiting-info-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 768px) {
  .contact-opening,
  .visiting-info-section,
  .hours-emergencies-section {
    padding: 4rem 1.5rem;
  }

  .cont-open,
  .visiting-info-item,
  .hours-emergency-container {
    padding: 1.5rem;
    border-radius: 1.25rem;
  }

  .contact-opening .top-section {
    align-items: flex-start;
  }

  .contact-details-item {
    align-items: flex-start;
  }

  .opening-item {
    gap: 1rem;
  }

  .new-patients-hero .book-phone {
    font-size: 0.9rem;
    line-height: 1.4rem;
    text-align: center;
  }

  .hours-emergency-container h2,
  .visiting-info-section h2 {
    font-size: 2rem;
    line-height: 2.25rem;
  }

  .life-threaten-container .call-emergency {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .contact-opening,
  .visiting-info-section,
  .hours-emergencies-section {
    padding: 3rem 1rem;
  }

  .cont-open,
  .visiting-info-item,
  .hours-emergency-container,
  .life-threaten-container {
    padding: 1.25rem;
  }

  .contact-opening .top-section,
  .contact-details-item {
    flex-direction: column;
  }

  .opening-item {
    flex-direction: column;
    align-items: flex-start;
  }

  .contact-details-item .phone-number,
  .contact-details-item .email-address {
    word-break: break-word;
  }

  .visiting-info-section h2,
  .hours-emergency-container h2 {
    font-size: 1.75rem;
    line-height: 2rem;
  }

  .hours-emergency-container .body-text,
  .visiting-info-item .body-text {
    font-size: 0.95rem;
    line-height: 1.5rem;
  }
}

/* Responsive Header */

header {
  position: relative;
  z-index: 9999;
  background: #fff;
}

.main-header-section {
  position: relative;
  z-index: 10000;
}

.hamburger {
  display: none;
  width: 2rem;
  height: 1.5rem;
  flex-direction: column;
  justify-content: space-between;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 10002;
}

.hamburger span {
  display: block;
  width: 100%;
  height: 2px;
  background: #111827;
  transition: 0.3s ease;
}

.nav-overlay {
  position: fixed;
  inset: 0;
  background: rgba(17, 24, 39, 0.45);
  opacity: 0;
  pointer-events: none;
  transition: 0.3s ease;
  z-index: 10000;
}

.nav-overlay.active {
  opacity: 1;
  pointer-events: all;
}

@media (max-width: 1350px) {
  header .main-header-section {
    padding: 1rem;
    gap: 1rem;
    height: 6rem;
  }

  header nav {
    position: fixed;
    top: 0;
    right: -100%;
    width: 82%;
    max-width: 22rem;
    height: 100vh;
    background: #fff;
    padding: 6rem 2rem 2rem;
    box-shadow: -10px 0 30px rgba(0, 0, 0, 0.12);
    transition: right 0.3s ease;
    z-index: 10001;
    overflow-y: auto;
  }

  header nav.active {
    right: 0;
  }

  header nav ul {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
  }

  header nav ul li a {
    font-size: 1rem;
    color: #111827;
  }

  header .header-cta {
    display: none;
  }

  .hamburger {
    display: flex;
  }

  .hamburger.active span:nth-child(1) {
    transform: rotate(45deg) translate(7px, 7px);
  }

  .hamburger.active span:nth-child(2) {
    opacity: 0;
  }

  .hamburger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(8px, -8px);
  }
}

@media (max-width: 480px) {
  header .emergency-message {
    align-items: flex-start;
  }

  header .emergency-message .emergency-text {
    font-size: 0.75rem;
    line-height: 1.1rem;
  }

  header .main-header-section .logo-container .logo-text-container h2 {
    font-size: 1rem;
  }

  header .main-header-section .logo-container .logo-text-container p {
    font-size: 0.65rem;
  }

  header nav {
    width: 90%;
  }
}

body.menu-open {
  overflow: hidden;
}

.nav-overlay {
  z-index: 10000;
}

header nav {
  z-index: 10001;
}

.hamburger {
  z-index: 10002;
}

header {
  position: relative;
  z-index: 9999;
}

.nav-overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
}

header nav {
  z-index: 10001;
}

.hamburger {
  position: relative;
  z-index: 10002;
}

.hamburger.active {
  position: fixed;
  top: 5.5rem;
  right: 1.5rem;
  z-index: 10003;
}

@media (max-width: 900px) {
  header {
    position: relative;
    z-index: 9999;
  }

  .main-header-section {
    position: relative;
    z-index: 10001;
  }

  #nav {
    position: fixed;
    top: 0;
    right: -100%;
    width: 80%;
    max-width: 320px;
    height: 100vh;
    background: #fff;
    padding: 6rem 2rem;
    z-index: 10002;
    transition: right 0.3s ease;
  }

  #nav.active {
    right: 0;
  }

  #nav ul {
    flex-direction: column;
    align-items: flex-start;
  }

  .hamburger {
    display: flex;
    position: relative;
    z-index: 10003;
  }

  .nav-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 10000;
    opacity: 0;
    pointer-events: none;
  }

  .nav-overlay.active {
    opacity: 1;
    pointer-events: auto;
  }
}

.nav-overlay {
  z-index: 9998;
}

#nav {
  z-index: 9999;
}

#nav,
#nav ul,
#nav li,
#nav a {
  position: relative;
  z-index: 10000;
}

#nav a {
  pointer-events: auto;
}

@media (max-width: 1100px) {
  #nav {
    position: fixed;
    top: 0;
    right: -100%;
    width: 320px;
    height: 100vh;

    background: white;

    transition: right 0.3s ease;
    z-index: 9999;

    padding: 6rem 2rem 2rem;
  }

  #nav.active {
    right: 0;
  }

  #nav ul {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
  }

  .hamburger {
    display: flex;
  }

  header nav ul {
    gap: 1.5rem;
  }
}

footer {
  margin-top: 5rem;
  padding: 4rem 1.5rem 2rem;
  border-top: 1px solid #1f2937;
  background: #111827;
  display: flex;
  gap: 4rem;
  flex-wrap: wrap;
}

footer .footer-section-one {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

footer .footer-section-one .logo-container {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}

footer .footer-section-one .logo-container img {
  width: 2.5rem;
  height: 2.5rem;
}

footer .footer-section-one .logo-container .text-section h2 {
  color: #fff;
  font-family: Playfair;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.5rem;
}

footer .footer-section-one .logo-container p {
  color: #9ca3af;
  font-size: 0.625rem;
  line-height: 0.9375rem;
  letter-spacing: 0.0625rem;
  text-transform: uppercase;
}

footer .footer-section-one .body-text {
  width: 100%;
  max-width: 20rem;
  color: #9ca3af;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

footer .footer-section-two,
footer .footer-section-three {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

footer .footer-section-two h4,
footer .footer-section-three h4 {
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5rem;
}

footer .footer-section-two .links,
footer .footer-section-three .footer-contact-items {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

footer .footer-section-two .links a {
  color: #d1d5db;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
}

footer .footer-section-three .footer-contact-items .footer-contact-item {
  display: flex;
  gap: 0.75rem;
}

footer .footer-section-three .footer-contact-items .footer-contact-item img {
  height: 0.875rem;
}

footer .footer-section-three .footer-contact-item p {
  color: #d1d5db;
  font-size: 0.875rem;
  font-weight: 400;
}

/* Footer */

footer {
  padding: 4rem 1.5rem;

  display: grid;
  grid-template-columns: 1.5fr 1fr 1.25fr;
  gap: 3rem;
}

footer .logo-container {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

footer .footer-logo {
  width: 2.5rem;
  height: 2.5rem;
}

footer h2,
footer h4 {
  color: #fff;
  font-family: Playfair;
}

footer h2 {
  font-size: 1.5rem;
}

footer h4 {
  font-size: 1.125rem;
  margin-bottom: 1.5rem;
}

footer .logo-container p,
footer .body-text,
footer a,
footer .footer-contact-item p {
  color: #ccfbf1;
  font-size: 0.875rem;
  line-height: 1.5rem;
}

footer .body-text {
  margin-top: 1.5rem;
  max-width: 20rem;
}

footer .links,
footer .footer-contact-items {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}

footer .footer-contact-item {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
}

footer .footer-contact-item img {
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
}

footer .footer-phone {
  font-weight: 700;
}

/* Tablet */
@media (max-width: 900px) {
  footer {
    grid-template-columns: repeat(2, 1fr);
  }

  footer .footer-section-one {
    grid-column: 1 / -1;
  }
}

/* Mobile */
@media (max-width: 600px) {
  footer {
    grid-template-columns: 1fr;
    padding: 3rem 1rem;
    gap: 2.5rem;
  }

  footer .body-text {
    max-width: 100%;
  }

  footer h4 {
    margin-bottom: 1rem;
  }
}

li.active a {
  text-decoration: underline;
  text-decoration-color: #0d9488;
  text-underline-offset: 0.5rem;
  text-decoration-thickness: 2px;
  color: #0d9488;
}
