/*
 * Responsive finishing layer
 *
 * Loaded after the authored page styles so these rules can resolve legacy
 * cascade conflicts without changing the established Aarav visual system.
 */

@keyframes aarav-mobile-sticky-reveal {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Patient Stories: keep the interviewee in-frame on narrow screens. */
@media (max-width: 767px) {
  body.aarav-testimonial-page .aarav-inner-hero--stories {
    background-position:
      center,
      68% 38% !important;
  }
}

/* The homepage header returns immediately after the opening artwork on
   larger screens as well. Keep the reveal brief so navigation never appears
   to be missing during a normal wheel or trackpad scroll. */
@media (min-width: 768px) {
  html
    body.aarav-site-page.aarav-home-v2-page
    .aarav-institutional-header
    .vl-header-area.header-sticky {
    animation: aarav-mobile-sticky-reveal 0.22s ease-out both !important;
  }
}

/* Prevent utility links and the desktop appointment action from colliding in
   the compact tablet header. Keep the useful hours and phone details. */
@media (min-width: 768px) and (max-width: 991px) {
  body.aarav-common-inner-header
    .aarav-institutional-header
    .aarav-header-utility
    > a.aarav-utility-international,
  body.aarav-common-inner-header
    .aarav-institutional-header
    .aarav-header-utility
    > a.aarav-utility-corporate,
  body.aarav-common-inner-header
    .aarav-institutional-header
    .aarav-header-utility
    > a.aarav-utility-careers,
  body.aarav-common-inner-header
    .aarav-institutional-header
    .aarav-header-utility
    > a.aarav-utility-email,
  body.aarav-common-inner-header
    .aarav-institutional-header
    .aarav-header-appointment {
    display: none !important;
  }
}

@media (max-width: 767px) {
  html {
    --aarav-mobile-sticky-height: 68px;
  }

  /* Use one compact mobile navigation geometry before and after it becomes
     sticky. This keeps the Aarav mark from jumping in size/position and gives
     every inner-page hero one dependable header height to subtract. */
  html body.aarav-site-page.aarav-common-inner-header {
    --aarav-inner-header-height: var(--aarav-mobile-sticky-height) !important;
    --aarav-inner-main-height: var(--aarav-mobile-sticky-height) !important;
  }

  html
    body.aarav-site-page.aarav-common-inner-header
    .aarav-institutional-header,
  html
    body.aarav-site-page.aarav-common-inner-header
    .aarav-institutional-header
    .vl-header-area:not(.header-sticky) {
    height: var(--aarav-mobile-sticky-height) !important;
    min-height: var(--aarav-mobile-sticky-height) !important;
    max-height: var(--aarav-mobile-sticky-height) !important;
  }

  html
    body.aarav-site-page.aarav-common-inner-header
    .aarav-institutional-header
    .vl-header-area:not(.header-sticky)
    > .container {
    width: 100% !important;
    max-width: none !important;
    height: var(--aarav-mobile-sticky-height) !important;
    margin: 0 !important;
    padding: 0 18px !important;
  }

  html
    body.aarav-site-page.aarav-common-inner-header
    .aarav-institutional-header
    .vl-header-area:not(.header-sticky)
    .aarav-header-main-row {
    height: var(--aarav-mobile-sticky-height) !important;
    min-height: var(--aarav-mobile-sticky-height) !important;
    max-height: var(--aarav-mobile-sticky-height) !important;
    gap: 0 !important;
  }

  html
    body.aarav-site-page.aarav-common-inner-header
    .aarav-institutional-header
    .vl-header-area:not(.header-sticky)
    .aarav-header-logo
    .vl-logo
    img {
    display: block !important;
    width: 100px !important;
    height: 56px !important;
    max-width: 100px !important;
    max-height: 56px !important;
    object-fit: contain !important;
  }

  html
    body.aarav-site-page.aarav-common-inner-header
    .aarav-institutional-header
    .vl-header-area:not(.header-sticky)
    .aarav-header-actions-wrap,
  html
    body.aarav-site-page.aarav-common-inner-header
    .aarav-institutional-header
    .vl-header-area:not(.header-sticky)
    .aarav-header-actions {
    height: var(--aarav-mobile-sticky-height) !important;
  }

  body.aarav-common-inner-header
    .aarav-institutional-header
    .aarav-menu-trigger,
  body.aarav-common-inner-header
    .aarav-institutional-header
    .aarav-menu-trigger
    i {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
  }

  /* Mobile navigation is intentionally absent from the opening homepage
     artwork and scrolls away with every inner-page header. Once the complete
     banner/breadcrumb has passed, the shared logo + menu bar returns in a
     compact fixed form. */
  html
    body.aarav-site-page.aarav-mobile-header-sticky
    .aarav-institutional-header
    .vl-header-area.header-sticky {
    position: fixed !important;
    z-index: 1100 !important;
    inset: 0 0 auto !important;
    width: 100% !important;
    height: 68px !important;
    min-height: 68px !important;
    max-height: 68px !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(6, 40, 78, 0.12) !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 10px 30px rgba(6, 40, 78, 0.13) !important;
    animation: aarav-mobile-sticky-reveal 0.22s ease-out both !important;
    backdrop-filter: blur(14px);
  }

  html
    body.aarav-site-page.aarav-mobile-header-sticky
    .aarav-institutional-header
    .vl-header-area.header-sticky
    > .container {
    width: 100% !important;
    max-width: none !important;
    height: 68px !important;
    margin: 0 !important;
    padding: 0 18px !important;
  }

  html
    body.aarav-site-page.aarav-mobile-header-sticky
    .aarav-institutional-header
    .vl-header-area.header-sticky
    > .container
    > .row,
  html
    body.aarav-site-page.aarav-mobile-header-sticky
    .aarav-institutional-header
    .vl-header-area.header-sticky
    .header-top-area,
  html
    body.aarav-site-page.aarav-mobile-header-sticky
    .aarav-institutional-header
    .vl-header-area.header-sticky
    .space16 {
    display: none !important;
  }

  html
    body.aarav-site-page.aarav-mobile-header-sticky
    .aarav-institutional-header
    .vl-header-area.header-sticky
    .aarav-header-main-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 16px !important;
    width: 100% !important;
    height: 68px !important;
    min-height: 68px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html
    body.aarav-site-page.aarav-mobile-header-sticky
    .aarav-institutional-header
    .vl-header-area.header-sticky
    .aarav-header-logo,
  html
    body.aarav-site-page.aarav-mobile-header-sticky
    .aarav-institutional-header
    .vl-header-area.header-sticky
    .aarav-header-logo
    .vl-logo,
  html
    body.aarav-site-page.aarav-mobile-header-sticky
    .aarav-institutional-header
    .vl-header-area.header-sticky
    .aarav-header-logo
    a {
    display: flex !important;
    align-items: center !important;
    width: max-content !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html
    body.aarav-site-page.aarav-mobile-header-sticky
    .aarav-institutional-header
    .vl-header-area.header-sticky
    .aarav-header-logo
    .vl-logo
    img {
    display: block !important;
    width: 100px !important;
    height: 56px !important;
    max-width: 100px !important;
    max-height: 56px !important;
    object-fit: contain !important;
  }

  html
    body.aarav-site-page.aarav-mobile-header-sticky
    .aarav-institutional-header
    .vl-header-area.header-sticky
    .aarav-header-nabh-logo,
  html
    body.aarav-site-page.aarav-mobile-header-sticky
    .aarav-institutional-header
    .vl-header-area.header-sticky
    .aarav-header-nav,
  html
    body.aarav-site-page.aarav-mobile-header-sticky
    .aarav-institutional-header
    .vl-header-area.header-sticky
    .aarav-header-appointment {
    display: none !important;
  }

  html
    body.aarav-site-page.aarav-mobile-header-sticky
    .aarav-institutional-header
    .vl-header-area.header-sticky
    .aarav-header-actions-wrap,
  html
    body.aarav-site-page.aarav-mobile-header-sticky
    .aarav-institutional-header
    .vl-header-area.header-sticky
    .aarav-header-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    height: 68px !important;
    gap: 0 !important;
  }

  html
    body.aarav-site-page.aarav-mobile-header-sticky
    .aarav-institutional-header
    .vl-header-area.header-sticky
    .aarav-menu-trigger,
  html
    body.aarav-site-page.aarav-mobile-header-sticky
    .aarav-institutional-header
    .vl-header-area.header-sticky
    .aarav-menu-trigger
    i {
    display: inline-flex !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #06284e !important;
    border: 0 !important;
    background: transparent !important;
    filter: none !important;
    font-size: 29px !important;
    line-height: 1 !important;
    transform: none !important;
  }

  /* Preserve the compact header's document slot when it becomes fixed so
     neither the page nor the banner threshold jumps. */
  html
    body.aarav-site-page.aarav-common-inner-header.aarav-mobile-header-sticky
    .aarav-institutional-header {
    height: var(--aarav-inner-header-height, 68px) !important;
    min-height: var(--aarav-inner-header-height, 68px) !important;
  }

  /* The SEO service/location landing template has its own full-bleed opening
     composition. Its shared mobile navigation stays absent there, then uses
     the same sticky treatment as the rest of the site. */
  html body.aarav-service-campaign-page .aarav-campaign-mobile-header {
    display: block !important;
    position: absolute !important;
    z-index: 1100 !important;
    inset: 0 0 auto !important;
    width: 100% !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  html
    body.aarav-service-campaign-page
    .aarav-campaign-mobile-header
    .vl-header-area:not(.header-sticky) {
    display: none !important;
  }

  /* Keep the full-screen drawer above every sticky-header stacking context,
     including the standalone campaign header. */
  html body.aarav-site-page .aarav-menu-layer .vl-offcanvas {
    z-index: 5000 !important;
  }
}

/* Final phone/tablet safety checks.
   The institutional menu is taller than a short handset once its secondary
   links and appointment action are included. A later desktop refresh used
   overflow:hidden on the same panel, so restore a bounded, touch-scrollable
   viewport here in the last-loaded responsive layer. */
@media (max-width: 991px) {
  body.aarav-site-page .aarav-menu-layer .vl-offcanvas {
    max-height: calc(100vh - 8px) !important;
    max-height: calc(100dvh - 8px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  body.aarav-site-page .aarav-menu-layer .vl-offcanvas-wrapper {
    height: auto !important;
    min-height: 100% !important;
  }
}

/* Centre pages embed the homepage doctor component outside the homepage body
   scope. Mirror the component's tablet rules here so its desktop fixed width,
   card height and 50px title never overflow a centre page. */
@media (max-width: 1199px) {
  body.aarav-location-page
    .aarav-location-home-doctors
    .aarav-v2-doctors.aarav-v2-doctors--reference {
    min-height: 0 !important;
    padding: 76px 0 84px !important;
  }

  body.aarav-location-page
    .aarav-location-home-doctors
    .aarav-v2-doctors--reference
    > .container {
    width: min(calc(100% - 64px), 850px) !important;
  }

  body.aarav-location-page
    .aarav-location-home-doctors
    .aarav-v2-doctors--reference
    .aarav-v2-section-head {
    margin-bottom: 52px !important;
  }

  body.aarav-location-page
    .aarav-location-home-doctors
    .aarav-v2-doctors--reference
    .aarav-v2-doctor-card {
    grid-template-rows: auto 213px !important;
    height: auto !important;
    min-height: 526px !important;
  }

  body.aarav-location-page
    .aarav-location-home-doctors
    .aarav-v2-doctors--reference
    .aarav-v2-doctor-card__image {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 294 / 310 !important;
  }
}

@media (max-width: 575px) {
  body.aarav-location-page
    .aarav-location-home-doctors
    .aarav-v2-doctors.aarav-v2-doctors--reference {
    padding: 58px 0 68px !important;
  }

  body.aarav-location-page
    .aarav-location-home-doctors
    .aarav-v2-doctors--reference
    > .container {
    width: calc(100% - 34px) !important;
  }

  body.aarav-location-page
    .aarav-location-home-doctors
    .aarav-v2-doctors--reference
    .aarav-v2-kicker {
    margin-bottom: 18px !important;
    font-size: 15px !important;
    font-weight: 900 !important;
  }

  body.aarav-location-page
    .aarav-location-home-doctors
    .aarav-v2-doctors--reference
    .aarav-v2-section-head
    h2 {
    font-size: clamp(34px, 10vw, 43px) !important;
    line-height: 1.08 !important;
  }

  body.aarav-location-page
    .aarav-location-home-doctors
    .aarav-v2-doctors--reference
    .aarav-v2-section-head
    p {
    margin-top: 20px !important;
    font-size: 15.5px !important;
    line-height: 1.55 !important;
  }

  body.aarav-location-page
    .aarav-location-home-doctors
    .aarav-v2-doctors--reference
    .aarav-v2-section-head
    br {
    display: none !important;
  }

  body.aarav-location-page
    .aarav-location-home-doctors
    .aarav-v2-doctors--reference
    .aarav-v2-doctor-card {
    width: min(100%, 360px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  body.aarav-location-page
    .aarav-location-home-doctors
    .aarav-v2-doctors--reference
    .aarav-v2-button {
    width: min(100%, 338px) !important;
    min-width: 0 !important;
    padding: 0 20px 0 24px !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }
}

/* Centre detail pages reuse the ophthalmologist carousel. Keep both 46px
   controls fully inside the component on phones instead of clipping their
   desktop half-outside positions at the viewport edge. */
@media (max-width: 767px) {
  body.aarav-location-page
    .aarav-location-home-doctors
    .aarav-v2-doctor-swiper {
    overflow: hidden !important;
    padding-bottom: 64px !important;
  }

  body.aarav-location-page
    .aarav-location-home-doctors
    .aarav-v2-doctor-slider-nav {
    top: auto !important;
    bottom: 2px !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    transform: none !important;
  }

  body.aarav-location-page
    .aarav-location-home-doctors
    .aarav-v2-doctor-slider-nav--prev {
    right: 58px !important;
    left: auto !important;
  }

  body.aarav-location-page
    .aarav-location-home-doctors
    .aarav-v2-doctor-slider-nav--next {
    right: 0 !important;
    left: auto !important;
  }

  body.aarav-location-page
    .aarav-location-home-doctors
    .aarav-v2-doctor-slider-nav:hover,
  body.aarav-location-page
    .aarav-location-home-doctors
    .aarav-v2-doctor-slider-nav:focus-visible {
    transform: scale(1.04) !important;
  }
}

/* Final mobile homepage composition. The opening artwork and the returning
   sticky bar now share the same edge alignment and control scale. The hero
   logo remains slightly larger for brand presence, but its transparent canvas
   is accounted for so the visible mark aligns with the copy below. */
@media (max-width: 767px) {
  html
    body.aarav-site-page.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-institutional-header
    .vl-header-area:not(.header-sticky)
    > .container {
    width: 100% !important;
    max-width: none !important;
    height: 98px !important;
    margin: 0 !important;
    padding: 0 18px !important;
  }

  html
    body.aarav-site-page.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-institutional-header
    .vl-header-area:not(.header-sticky)
    .aarav-header-main-row {
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 18px !important;
    width: 100% !important;
    height: 88px !important;
    min-height: 88px !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
  }

  html
    body.aarav-site-page.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-institutional-header
    .vl-header-area:not(.header-sticky)
    .aarav-header-logo
    .vl-logo
    img {
    display: block !important;
    width: 112px !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
  }

  html
    body.aarav-site-page.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-institutional-header
    .vl-header-area:not(.header-sticky)
    .aarav-menu-trigger,
  html
    body.aarav-site-page.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-institutional-header
    .vl-header-area:not(.header-sticky)
    .aarav-menu-trigger
    i {
    display: inline-flex !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 29px !important;
    line-height: 1 !important;
  }

  html
    body.aarav-site-page.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-home-v2
    .aarav-v2-clarity-hero.is-purpose-revealed
    .aarav-v2-clarity-hero__content {
    top: calc(98px + clamp(26px, 4svh, 34px)) !important;
  }

  html
    body.aarav-site-page.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-v2-clarity-hero__purpose-title
    > strong,
  html
    body.aarav-site-page.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-v2-clarity-hero__purpose-title
    > em {
    width: 100% !important;
    text-align: left !important;
  }

  html
    body.aarav-site-page.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-v2-clarity-hero__purpose-book.aarav-v2-clarity-hero__purpose-book {
    width: 100% !important;
    max-width: none !important;
  }

  /* Avoid the artificial horizontal letterboxing created by the old 100x56
     box. At its natural ratio 85px renders the same apparent sticky logo size. */
  html
    body.aarav-site-page.aarav-common-inner-header
    .aarav-institutional-header
    .vl-header-area:not(.header-sticky)
    .aarav-header-logo
    .vl-logo
    img,
  html
    body.aarav-site-page.aarav-mobile-header-sticky
    .aarav-institutional-header
    .vl-header-area.header-sticky
    .aarav-header-logo
    .vl-logo
    img {
    width: 85px !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
  }
}

@media (min-width: 768px) {
  html body.aarav-service-campaign-page .aarav-campaign-mobile-header,
  html body.aarav-service-campaign-page .aarav-campaign-menu-layer {
    display: none !important;
  }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  html
    body.aarav-site-page.aarav-mobile-header-sticky
    .aarav-institutional-header
    .vl-header-area.header-sticky {
    animation: none !important;
  }
}

/* Keep standard inner-page banners compact on larger screens. On phones,
   every breadcrumb hero fills at least the visible screen below the compact
   68px navigation, while short landscape screens retain a clipping-safe floor. */
@media (min-width: 1200px) {
  html
    body.aarav-site-page.aarav-common-inner-header:not(.aarav-index-page)
    .aarav-inner-hero.aarav-inner-hero.aarav-inner-hero,
  html
    body.aarav-site-page.aarav-common-inner-header:not(.aarav-index-page)
    .inner-header-section-area.aarav-utility-hero {
    height: 460px !important;
    min-height: 460px !important;
    max-height: 460px !important;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  html
    body.aarav-site-page.aarav-common-inner-header:not(.aarav-index-page)
    .aarav-inner-hero.aarav-inner-hero.aarav-inner-hero,
  html
    body.aarav-site-page.aarav-common-inner-header:not(.aarav-index-page)
    .inner-header-section-area.aarav-utility-hero {
    height: 430px !important;
    min-height: 430px !important;
    max-height: 430px !important;
  }

  body.aarav-common-inner-header.aarav-service-detail
    .aarav-inner-hero--service-detail {
    background-position:
      center,
      center 30% !important;
  }
}

@media (max-width: 767px) {
  html
    body.aarav-site-page.aarav-common-inner-header:not(.aarav-index-page)
    .aarav-inner-hero.aarav-inner-hero.aarav-inner-hero,
  html
    body.aarav-site-page.aarav-common-inner-header:not(.aarav-index-page)
    .inner-header-section-area.inner-header-section-area:not(
      .aarav-location-split-hero
    ) {
    height: max(
      370px,
      calc(100vh - var(--aarav-inner-header-height, 68px))
    ) !important;
    height: max(
      370px,
      calc(100svh - var(--aarav-inner-header-height, 68px))
    ) !important;
    height: max(
      370px,
      calc(100dvh - var(--aarav-inner-header-height, 68px))
    ) !important;
    min-height: max(
      370px,
      calc(100vh - var(--aarav-inner-header-height, 68px))
    ) !important;
    min-height: max(
      370px,
      calc(100svh - var(--aarav-inner-header-height, 68px))
    ) !important;
    min-height: max(
      370px,
      calc(100dvh - var(--aarav-inner-header-height, 68px))
    ) !important;
    max-height: none !important;
  }

  /* Centre pages use a content-driven copy/photo stack rather than an
     absolute wave banner. Give that stack the same viewport minimum without
     forcing a fixed height when its real content needs more room. */
  html
    body.aarav-site-page.aarav-common-inner-header.aarav-location-page
    .inner-header-section-area.aarav-location-split-hero.aarav-location-split-hero {
    height: auto !important;
    min-height: calc(100vh - var(--aarav-inner-header-height, 68px)) !important;
    min-height: calc(
      100svh - var(--aarav-inner-header-height, 68px)
    ) !important;
    min-height: calc(
      100dvh - var(--aarav-inner-header-height, 68px)
    ) !important;
    max-height: none !important;
  }

  html
    body.aarav-site-page.aarav-common-inner-header.aarav-location-page
    .aarav-location-split-hero
    .aarav-location-split-hero__grid {
    height: auto !important;
    min-height: inherit !important;
  }

  html
    body.aarav-site-page.aarav-common-inner-header.aarav-location-page
    .inner-header-section-area.aarav-location-split-hero
    .aarav-location-split-hero__image {
    height: auto !important;
    min-height: 300px !important;
    align-self: stretch !important;
  }

  html
    body.aarav-site-page.aarav-common-inner-header.aarav-location-page
    .inner-header-section-area.aarav-location-split-hero
    .aarav-location-split-hero__image
    img {
    height: 100% !important;
    min-height: 300px !important;
  }
}

/* On phone and tablet layouts content should never depend on a scroll reveal
   having been observed. This also keeps stitched/full-page captures complete. */
@media (max-width: 991px) {
  body.aarav-site-page:not(.aarav-index-page) [data-aos],
  body.aarav-site-page:not(.aarav-index-page) .reveal,
  body.aarav-site-page:not(.aarav-index-page) .reveal img,
  body.aarav-site-page:not(.aarav-index-page) .text-anime-style-3,
  body.aarav-site-page:not(.aarav-index-page) .text-anime-style-3 * {
    visibility: visible !important;
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
    translate: none !important;
    filter: none !important;
  }
}

/* Home: rely on each section's own balanced padding instead of adding a
   second blank band between every section. */
body.aarav-home-v2-page {
  --aarav-home-section-gap: 0px;
}

/* The final-purpose subtitle should use the available phone width instead of
   wrapping sooner on wider phones because of an old fixed cap. */
@media (max-width: 767px) {
  body.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-v2-clarity-hero__purpose
    small {
    width: 100% !important;
    max-width: none !important;
  }
}

/* The drawer no longer needs a generic "Menu" title. Treat the remaining
   Explore Aarav label as a compact section marker and return that space to
   the navigation links. */
.aarav-site-page .aarav-menu-layer .aarav-menu-content .vl-offcanvas-header {
  margin-bottom: 20px !important;
}

.aarav-site-page .aarav-menu-layer .aarav-menu-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: #087f8a;
}

.aarav-site-page .aarav-menu-layer .aarav-menu-kicker::after {
  display: block;
  width: 30px;
  height: 1px;
  background: currentColor;
  content: "";
  opacity: 0.55;
}

@media (max-width: 991px) {
  .aarav-site-page .aarav-menu-layer .aarav-menu-content .vl-offcanvas-header {
    margin-bottom: 14px !important;
  }

  .aarav-site-page
    .aarav-menu-layer
    .aarav-menu-content
    .vl-offcanvas-menu
    nav
    > ul
    > li
    > a {
    min-height: 54px !important;
    padding-top: 9px !important;
    padding-bottom: 9px !important;
    font-size: clamp(21px, 6.5vw, 25px) !important;
    line-height: 1.12 !important;
  }

  .aarav-site-page
    .aarav-menu-layer
    .aarav-menu-content
    .vl-offcanvas-menu
    .vl-menu-close {
    top: 5px !important;
    width: 44px !important;
    height: 44px !important;
    transform: none !important;
  }

  .aarav-site-page
    .aarav-menu-layer
    .aarav-menu-content
    .vl-offcanvas-menu
    li.active
    > .vl-menu-close {
    transform: rotate(90deg) !important;
  }

  .aarav-site-page .aarav-menu-layer .aarav-menu-content .vl-offcanvas-social {
    transform: none !important;
  }
}

@media (max-width: 359px) {
  .aarav-site-page .aarav-menu-layer .aarav-menu-secondary {
    flex-wrap: nowrap;
  }

  .aarav-site-page .aarav-menu-layer .aarav-menu-secondary a {
    padding-right: 8px;
    padding-left: 8px;
    font-size: 11.5px;
    white-space: nowrap;
  }
}

/* The home header uses only the Aarav mark. Keep its duplicate NABH triangle
   out of both the hero and sticky header; the floating badge remains available. */
html
  body.aarav-site-page.aarav-index-page.aarav-home-v2-page
  .aarav-institutional-header
  .vl-header-area
  .aarav-header-nabh-logo.aarav-header-nabh-logo {
  display: none !important;
}

/* Inner pages use the accreditation mark as a separate lower-right trust
   badge. It must never be presented as a second header logo. */
html
  body.aarav-site-page.aarav-common-inner-header
  .aarav-institutional-header
  .aarav-header-nabh-logo.aarav-header-nabh-logo {
  display: none !important;
}

.aarav-inner-floating-nabh {
  position: fixed;
  z-index: 82;
  right: clamp(16px, 1.7vw, 26px);
  bottom: calc(20px + env(safe-area-inset-bottom));
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  width: clamp(88px, 8vw, 118px);
  height: auto;
  margin: 0;
  padding: 0;
  filter: drop-shadow(0 10px 24px rgba(4, 37, 53, 0.18));
  opacity: 1;
  visibility: visible;
  pointer-events: none;
  transform: translateY(0);
  transition:
    opacity 0.24s ease,
    transform 0.3s ease,
    visibility 0.24s ease;
}

.aarav-inner-floating-nabh img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 78px;
  object-fit: contain;
}

.aarav-inner-floating-nabh.is-footer-hidden {
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
}

@media (max-width: 767px) {
  .aarav-inner-floating-nabh {
    right: max(14px, env(safe-area-inset-right));
    bottom: calc(16px + env(safe-area-inset-bottom));
    width: 54px;
  }

  .aarav-inner-floating-nabh img {
    max-height: 58px;
  }
}

html
  body.aarav-site-page.aarav-index-page.aarav-home-v2-page:not(
    .aarav-purpose-revealed
  )
  .aarav-institutional-header
  .vl-header-area:not(.header-sticky)
  .aarav-menu-trigger.aarav-menu-trigger {
  display: none !important;
}

html
  body.aarav-site-page.aarav-index-page.aarav-home-v2-page.aarav-purpose-revealed
  .aarav-institutional-header
  .vl-header-area:not(.header-sticky)
  .aarav-menu-trigger.aarav-menu-trigger {
  display: inline-flex !important;
}

html
  body.aarav-home-v2-page.aarav-footer-in-view
  .aarav-v2-whatsapp.aarav-v2-whatsapp,
html
  body.aarav-home-v2-page.aarav-footer-in-view
  .aarav-v2-floating-nabh.aarav-v2-floating-nabh {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(12px) !important;
}

html
  body.aarav-site-page.aarav-home-v2-page.aarav-clarity-complete
  .aarav-v2-whatsapp.aarav-v2-whatsapp {
  right: auto !important;
  left: clamp(16px, 1.7vw, 26px) !important;
}

@media (max-width: 767px) {
  /* Keep the two floating phone controls on opposite safe edges. */
  html
    body.aarav-site-page.aarav-home-v2-page.aarav-clarity-complete
    .aarav-v2-whatsapp.aarav-v2-whatsapp {
    right: auto !important;
    bottom: calc(16px + env(safe-area-inset-bottom)) !important;
    left: max(14px, env(safe-area-inset-left)) !important;
  }

  html
    body.aarav-site-page.aarav-home-v2-page
    .aarav-v2-floating-nabh.aarav-v2-floating-nabh {
    right: max(14px, env(safe-area-inset-right)) !important;
    bottom: calc(16px + env(safe-area-inset-bottom)) !important;
    left: auto !important;
    width: 54px !important;
    max-height: 58px !important;
  }

  html
    body.aarav-site-page.aarav-home-v2-page
    .aarav-v2-floating-nabh.aarav-v2-floating-nabh
    img {
    max-height: 58px !important;
  }
}

body.aarav-home-v2-page
  .aarav-home-v2
  > section:not(.aarav-v2-clarity-hero):not(.aarav-v2-booking):not(
    :last-child
  ) {
  margin-bottom: 0 !important;
}

/* A Swiper viewport must be block layout; older grid rules on the same node
   caused unstable card widths and large blanks during slider positioning. */
html
  body.aarav-home-v2-page
  .aarav-home-v2
  .aarav-v2-doctor-grid.aarav-v2-doctor-swiper.swiper {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
}

html
  body.aarav-home-v2-page
  .aarav-home-v2
  .aarav-v2-doctor-grid.aarav-v2-doctor-swiper
  > .swiper-wrapper {
  display: flex !important;
}

.aarav-home-v2 .aarav-v2-doctor-card__image img {
  object-position: center top !important;
}

@media (min-width: 1200px) {
  body.aarav-home-v2-page
    .aarav-home-v2
    .aarav-v2-fit-screen:not(.aarav-v2-clarity-hero) {
    min-height: 0 !important;
  }
}

@media (max-width: 767px) {
  body.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-home-v2
    .aarav-v2-clarity-hero.is-purpose-revealed {
    height: max(620px, 100svh) !important;
    min-height: max(620px, 100svh) !important;
    max-height: none !important;
  }

  body.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-home-v2
    .aarav-v2-clarity-hero.is-purpose-revealed
    .aarav-v2-clarity-hero__purpose-centres.aarav-v2-clarity-hero__purpose-centres {
    width: 190px !important;
    min-width: 190px !important;
    height: auto !important;
    min-height: 48px !important;
    gap: 18px !important;
  }

  body.aarav-home-v2-page
    .aarav-home-v2
    .aarav-v2-intro--reference
    .aarav-v2-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(2, minmax(176px, auto)) !important;
    gap: 12px !important;
  }

  body.aarav-home-v2-page
    .aarav-home-v2
    .aarav-v2-intro--reference
    .aarav-v2-metric-grid
    article,
  body.aarav-home-v2-page
    .aarav-home-v2
    .aarav-v2-intro--reference
    .aarav-v2-metric-grid
    article:nth-child(n) {
    grid-column: auto !important;
    grid-row: auto !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    width: 100% !important;
    height: auto !important;
    min-height: 176px !important;
    margin: 0 !important;
    padding: 18px !important;
  }
}

@media (min-width: 560px) and (max-width: 699px) {
  html
    body.aarav-site-page.aarav-home-v2-page
    .aarav-home-v2
    .aarav-v2-intro--reference
    .aarav-v2-intro__grid--metrics.aarav-v2-intro__grid--metrics {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 359px) {
  body.aarav-home-v2-page
    .aarav-home-v2
    .aarav-v2-intro--reference
    .aarav-v2-metric-grid {
    grid-template-columns: 1fr !important;
  }
}

/* About: keep the decorative Foundation eye behind readable content and make
   the intro notes independent from generic reveal state. */
body.aarav-about-revamp .aarav-about-foundation {
  isolation: isolate;
}

body.aarav-about-revamp .aarav-about-foundation > .container,
body.aarav-about-revamp .aarav-about-foundation .aarav-utility-section-heading,
body.aarav-about-revamp .aarav-about-foundation__cards {
  position: relative;
  z-index: 1;
}

@media (max-width: 767px) {
  body.aarav-about-revamp .aarav-about-foundation::after {
    top: 96px !important;
    right: -72px !important;
    z-index: 0 !important;
    font-size: 180px !important;
    opacity: 0.42 !important;
  }
}

@media (max-width: 991px) {
  body.aarav-about-revamp .aarav-about-theme-intro .aarav-care-notes,
  body.aarav-about-revamp .aarav-about-theme-intro .aarav-care-notes article,
  body.aarav-about-revamp .aarav-about-theme-intro .aarav-care-notes article * {
    visibility: visible !important;
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

@media (min-width: 360px) and (max-width: 767px) {
  body.aarav-about-revamp .aarav-about-milestones__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Services: tighten the gap after the opening copy once its grid is stacked. */
@media (max-width: 991px) {
  body.aarav-services-revamp .aarav-services-opening__grid {
    gap: 40px !important;
  }

  body.aarav-service-detail .aarav-service-related .row > .col-md-6:last-child {
    margin-inline: auto;
  }
}

@media (max-width: 767px) {
  body.aarav-services-revamp .aarav-services-opening__grid {
    gap: 30px !important;
  }

  body.aarav-services-revamp .aarav-services-opening__visual > img {
    height: auto !important;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }
}

/* Careers: show complete team photography and remove decorative height from
   the phone application band. The recruitment form itself remains complete. */
body.aarav-utility-careers .aarav-careers-portrait img {
  height: auto !important;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center !important;
}

body.aarav-utility-careers .aarav-careers-process-panel {
  align-items: center;
}

body.aarav-utility-careers .aarav-careers-process-image {
  min-height: 0 !important;
  aspect-ratio: 3 / 2;
}

@media (max-width: 767px) {
  body.aarav-utility-careers .aarav-career-application-grid > aside > img {
    display: none !important;
  }

  body.aarav-utility-careers .aarav-career-application-grid > aside p {
    line-height: 1.6;
  }
}

/* Patient stories: preserve the source 4:3 thumbnails, make the feedback box
   itself responsive, and let review copy determine card height safely. */
body.aarav-testimonial-page
  .aarav-video-story--featured
  .video-play-area
  a.play-img
  img {
  height: auto !important;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

body.aarav-testimonial-page .aarav-stories-feedback__box {
  display: flex;
  width: 100%;
  max-width: none;
  flex: 1 1 auto;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
}

body.aarav-testimonial-page .aarav-stories-feedback__box > div {
  max-width: 720px;
}

body.aarav-testimonial-page .aarav-stories-feedback__box > .aarav-button {
  flex: 0 0 auto;
  white-space: nowrap;
}

.aarav-patient-experiences .aarav-v2-review-track {
  align-items: stretch !important;
}

.aarav-patient-experiences .aarav-v2-review-card {
  display: flex !important;
  height: auto !important;
  min-height: 420px !important;
  flex-direction: column !important;
}

.aarav-patient-experiences .aarav-v2-review-card footer {
  position: static !important;
  width: 100% !important;
  margin-top: auto !important;
  padding-top: 30px !important;
}

@media (max-width: 991px) {
  body.aarav-testimonial-page .aarav-stories-feedback__box {
    align-items: flex-start;
    flex-direction: column;
    gap: 24px;
  }
}

@media (max-width: 767px) {
  body.aarav-testimonial-page .aarav-video-testimonials {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  body.aarav-testimonial-page .aarav-video-channel-link {
    margin-top: 26px;
  }

  body.aarav-testimonial-page .aarav-stories-feedback__box {
    gap: 20px;
  }

  .aarav-patient-experiences .aarav-v2-review-card {
    min-height: 400px !important;
  }
}

/* Keep the complete SEO footer accessible while using the available phone
   width more efficiently. */
@media (max-width: 767px) {
  .aarav-seo-footer {
    padding-top: 48px !important;
  }

  .aarav-seo-footer .aarav-footer-primary {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 20px !important;
    padding-bottom: 30px !important;
  }

  .aarav-seo-footer .aarav-footer-brand {
    grid-column: 1 / -1;
  }

  .aarav-seo-footer .aarav-footer-column:last-child {
    grid-column: 1 / -1;
  }

  .aarav-seo-footer .aarav-footer-column:last-child ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 20px;
  }

  .aarav-seo-footer .aarav-footer-column ul {
    gap: 8px;
  }

  .aarav-seo-footer .aarav-footer-column li,
  .aarav-seo-footer .aarav-footer-column a {
    font-size: 13px;
    line-height: 1.4;
  }

  .aarav-footer-brand h2 {
    font-size: clamp(28px, 8vw, 34px);
  }

  .aarav-footer-brand p {
    font-size: 14px;
    line-height: 1.55;
  }

  .aarav-footer-seo-groups {
    padding: 28px 0;
  }

  .aarav-footer-seo-groups section {
    padding: 12px 0;
  }

  .aarav-footer-seo-groups p {
    font-size: 12.5px;
    line-height: 1.65;
  }

  .aarav-footer-contact-row {
    gap: 18px;
    padding: 24px 0;
  }
}

@media (max-width: 359px) {
  .aarav-seo-footer .aarav-footer-primary {
    grid-template-columns: 1fr !important;
  }

  .aarav-seo-footer .aarav-footer-brand,
  .aarav-seo-footer .aarav-footer-column:last-child {
    grid-column: auto;
  }
}

/* Service detail pages: keep the useful clinical copy, but remove the empty
   height that made related services look unfinished. */
body.aarav-service-detail .aarav-service-related {
  margin-bottom: 0 !important;
  padding-top: clamp(64px, 6vw, 80px) !important;
  padding-bottom: clamp(58px, 5vw, 72px) !important;
}

body.aarav-service-detail .aarav-service-related .space48 {
  height: 32px !important;
}

body.aarav-service-detail .aarav-service-detail__assessment {
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

body.aarav-service-detail .aarav-service-related .service4-boxarea {
  margin-bottom: 0 !important;
}

body.aarav-service-detail .aarav-service-related .row > div {
  align-items: flex-start;
}

body.aarav-service-detail
  .aarav-service-related
  .service4-boxarea
  .content-area {
  min-height: 150px !important;
  padding: 22px 24px 20px !important;
  flex: 0 0 auto;
}

body.aarav-service-detail .aarav-service-related .service4-boxarea .readmore {
  margin-top: 20px !important;
}

body.aarav-service-detail .aarav-service-related .service4-boxarea .img1 {
  height: 210px !important;
  min-height: 210px !important;
  flex-basis: 210px !important;
}

@media (min-width: 992px) {
  body.aarav-service-detail .aarav-theme-service-detail {
    padding-top: 80px !important;
    padding-bottom: 72px !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  body.aarav-service-detail .aarav-theme-service-detail {
    padding-bottom: 64px !important;
  }

  body.aarav-service-detail .aarav-service-detail__aside {
    align-items: start;
  }

  body.aarav-service-detail .aarav-service-related .row > div {
    flex: 0 0 50%;
    max-width: 50%;
  }

  body.aarav-service-detail
    .aarav-service-related
    .row
    > div:last-child:nth-child(odd) {
    margin-inline: auto;
  }

  body.aarav-service-detail .aarav-service-related .service4-boxarea {
    margin-bottom: 24px !important;
  }

  body.aarav-service-detail
    .aarav-service-related
    .row
    > div:last-child
    .service4-boxarea {
    margin-bottom: 0 !important;
  }
}

@media (max-width: 767px) {
  html
    body.aarav-site-page.aarav-common-inner-header.aarav-service-detail
    .aarav-inner-hero--service-detail
    .aarav-inner-hero__content {
    bottom: 30px !important;
    left: 0 !important;
    width: 100% !important;
    padding-bottom: 0 !important;
  }

  body.aarav-service-detail .aarav-service-related {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  body.aarav-service-detail .aarav-service-related .space48 {
    height: 28px !important;
  }

  body.aarav-service-detail
    .aarav-service-related
    .service4-boxarea
    .content-area {
    min-height: 0 !important;
    padding: 20px 20px 18px !important;
  }

  body.aarav-service-detail .aarav-service-related .service4-boxarea .readmore {
    margin-top: 16px !important;
  }

  body.aarav-service-detail .aarav-service-related .service4-boxarea .img1 {
    height: 200px !important;
    min-height: 200px !important;
    flex-basis: 200px !important;
  }

  body.aarav-service-detail .aarav-service-related .service4-boxarea {
    margin-bottom: 22px !important;
  }

  body.aarav-service-detail
    .aarav-service-related
    .row
    > div:last-child
    .service4-boxarea {
    margin-bottom: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }
}

/* Shared homepage/centre doctor carousel: equal cards, stable portraits and unclipped controls. */
:is(body.aarav-home-v2-page, body.aarav-location-page)
  .aarav-home-v2
  .aarav-v2-doctor-grid.aarav-v2-doctor-swiper {
  display: block !important;
  width: calc(100% + 36px) !important;
  margin-inline: -18px !important;
  padding: 4px 18px 30px !important;
  gap: 0 !important;
}

:is(body.aarav-home-v2-page, body.aarav-location-page)
  .aarav-home-v2
  .aarav-v2-doctor-swiper
  > .swiper-wrapper {
  display: flex !important;
  align-items: stretch !important;
}

:is(body.aarav-home-v2-page, body.aarav-location-page)
  .aarav-home-v2
  .aarav-v2-doctor-swiper
  .swiper-slide {
  display: flex !important;
  height: auto !important;
}

:is(body.aarav-home-v2-page, body.aarav-location-page)
  .aarav-home-v2
  .aarav-v2-doctor-card {
  --doctor-focal: center top;
  grid-template-rows: auto minmax(184px, 1fr) !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}

:is(body.aarav-home-v2-page, body.aarav-location-page)
  .aarav-home-v2
  .aarav-v2-doctor-card__image {
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 294 / 310 !important;
}

:is(body.aarav-home-v2-page, body.aarav-location-page)
  .aarav-home-v2
  .aarav-v2-doctor-card__image
  img {
  object-position: var(--doctor-focal) !important;
}

:is(body.aarav-home-v2-page, body.aarav-location-page)
  .aarav-home-v2
  .aarav-v2-doctor-card__body {
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 184px !important;
  padding: 22px 12px 20px !important;
}

:is(body.aarav-home-v2-page, body.aarav-location-page)
  .aarav-home-v2
  .aarav-v2-doctor-card
  h3 {
  min-height: 26px !important;
}

:is(body.aarav-home-v2-page, body.aarav-location-page)
  .aarav-home-v2
  .aarav-v2-doctor-card
  p {
  min-height: 44px !important;
  margin: 0 0 12px !important;
}

:is(body.aarav-home-v2-page, body.aarav-location-page)
  .aarav-home-v2
  .aarav-v2-doctors--reference
  .aarav-v2-doctor-card__body
  > span {
  position: static !important;
  inset: auto !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 50px !important;
  margin-top: auto !important;
  padding: 8px 10px !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

:is(body.aarav-home-v2-page, body.aarav-location-page)
  .aarav-home-v2
  .aarav-v2-doctor-card[data-doctor-slug="dr-priyanka-parihar"] {
  --doctor-focal: center top;
}

:is(body.aarav-home-v2-page, body.aarav-location-page)
  .aarav-home-v2
  .aarav-v2-doctor-card[data-doctor-slug="dr-ashvin-bafna"] {
  --doctor-focal: 56% center;
}

@media (min-width: 1200px) {
  :is(body.aarav-home-v2-page, body.aarav-location-page)
    .aarav-home-v2
    .aarav-v2-doctor-slider-nav--prev {
    left: -64px !important;
  }

  :is(body.aarav-home-v2-page, body.aarav-location-page)
    .aarav-home-v2
    .aarav-v2-doctor-slider-nav--next {
    right: -64px !important;
  }
}

@media (max-width: 991px) {
  :is(body.aarav-home-v2-page, body.aarav-location-page)
    .aarav-home-v2
    .aarav-v2-doctor-grid.aarav-v2-doctor-swiper {
    padding-bottom: 72px !important;
  }
}

/* Corporate screening enquiry: keep the complete brief comfortable but close
   to one desktop viewport. Mobile remains naturally scrollable instead of
   forcing a brittle fixed-height form. */
@media (min-width: 992px) {
  body.aarav-utility-eye-test #corporate-screening-enquiry {
    padding-top: clamp(54px, 6vh, 68px) !important;
    padding-bottom: clamp(54px, 6vh, 68px) !important;
  }

  body.aarav-utility-eye-test
    #corporate-screening-enquiry
    .aarav-corporate-form-grid {
    grid-template-columns: minmax(300px, 0.64fr) minmax(0, 1.36fr) !important;
    align-items: center !important;
    gap: clamp(28px, 3vw, 42px) !important;
  }

  body.aarav-utility-eye-test
    #corporate-screening-enquiry
    .aarav-corporate-form-grid
    > aside
    h2 {
    margin: 10px 0 13px !important;
    font-size: clamp(34px, 3.2vw, 48px) !important;
    line-height: 1.06 !important;
  }

  body.aarav-utility-eye-test
    #corporate-screening-enquiry
    .aarav-corporate-form-grid
    > aside
    p {
    line-height: 1.55 !important;
  }

  body.aarav-utility-eye-test
    #corporate-screening-enquiry
    .aarav-corporate-form-grid
    > aside
    ul {
    margin: 18px 0 !important;
  }

  body.aarav-utility-eye-test
    #corporate-screening-enquiry
    .aarav-corporate-form-grid
    > aside
    li {
    padding: 5px 0 !important;
  }

  body.aarav-utility-eye-test
    #corporate-screening-enquiry
    .aarav-corporate-form-grid
    > aside
    img {
    height: clamp(190px, 22vh, 220px) !important;
  }

  body.aarav-utility-eye-test
    #corporate-screening-enquiry
    .aarav-eye-test-form-card {
    padding: clamp(26px, 2.35vw, 34px) !important;
  }

  body.aarav-utility-eye-test #corporate-screening-enquiry .aarav-form-heading {
    gap: 16px !important;
    margin-bottom: 18px !important;
    padding-bottom: 16px !important;
  }

  body.aarav-utility-eye-test
    #corporate-screening-enquiry
    .aarav-form-heading
    h3 {
    font-size: clamp(28px, 2.2vw, 34px) !important;
    line-height: 1.1 !important;
  }

  body.aarav-utility-eye-test
    #corporate-screening-enquiry
    .aarav-form-heading
    p {
    font-size: 14px !important;
    line-height: 1.42 !important;
  }

  body.aarav-utility-eye-test
    #corporate-screening-enquiry
    .aarav-form-heading
    > i {
    flex-basis: 48px !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 14px !important;
    font-size: 20px !important;
  }

  body.aarav-utility-eye-test
    #corporate-screening-enquiry
    .aarav-eye-test-request-form {
    column-gap: 16px !important;
    row-gap: 12px !important;
  }

  body.aarav-utility-eye-test
    #corporate-screening-enquiry
    .aarav-form-field
    label {
    margin-bottom: 5px !important;
    font-size: 13px !important;
  }

  body.aarav-utility-eye-test
    #corporate-screening-enquiry
    .aarav-form-field
    input,
  body.aarav-utility-eye-test
    #corporate-screening-enquiry
    .aarav-form-field
    select,
  body.aarav-utility-eye-test
    #corporate-screening-enquiry
    .aarav-form-field
    .nice-select {
    min-height: 48px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    font-size: 15px !important;
  }

  body.aarav-utility-eye-test #corporate-screening-enquiry .aarav-mobile-input,
  body.aarav-utility-eye-test
    #corporate-screening-enquiry
    .aarav-mobile-input
    input {
    min-height: 48px !important;
  }

  body.aarav-utility-eye-test
    #corporate-screening-enquiry
    .aarav-form-field
    textarea {
    height: 84px !important;
    min-height: 84px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
  }

  body.aarav-utility-eye-test #corporate-screening-enquiry .aarav-form-footer {
    gap: 14px !important;
    padding-top: 0 !important;
  }
}

@media (max-width: 767px) {
  body.aarav-utility-eye-test #corporate-screening-enquiry {
    padding-top: 54px !important;
    padding-bottom: 58px !important;
  }

  body.aarav-utility-eye-test
    #corporate-screening-enquiry
    .aarav-corporate-form-grid {
    gap: 28px !important;
  }

  body.aarav-utility-eye-test
    #corporate-screening-enquiry
    .aarav-corporate-form-grid
    > aside
    h2 {
    margin-bottom: 12px !important;
    font-size: clamp(32px, 9vw, 40px) !important;
    line-height: 1.08 !important;
  }

  body.aarav-utility-eye-test
    #corporate-screening-enquiry
    .aarav-corporate-form-grid
    > aside
    p {
    line-height: 1.55 !important;
  }

  body.aarav-utility-eye-test
    #corporate-screening-enquiry
    .aarav-corporate-form-grid
    > aside
    ul {
    margin: 18px 0 !important;
  }

  body.aarav-utility-eye-test
    #corporate-screening-enquiry
    .aarav-corporate-form-grid
    > aside
    li {
    padding: 5px 0 !important;
  }

  body.aarav-utility-eye-test
    #corporate-screening-enquiry
    .aarav-corporate-form-grid
    > aside
    img {
    height: 220px !important;
  }

  body.aarav-utility-eye-test
    #corporate-screening-enquiry
    .aarav-eye-test-form-card {
    padding: 22px 16px !important;
  }

  body.aarav-utility-eye-test #corporate-screening-enquiry .aarav-form-heading {
    margin-bottom: 16px !important;
    padding-bottom: 15px !important;
  }

  body.aarav-utility-eye-test
    #corporate-screening-enquiry
    .aarav-eye-test-request-form {
    gap: 13px !important;
  }

  body.aarav-utility-eye-test
    #corporate-screening-enquiry
    .aarav-form-field
    label {
    margin-bottom: 5px !important;
  }

  body.aarav-utility-eye-test
    #corporate-screening-enquiry
    .aarav-form-field
    textarea {
    min-height: 108px !important;
  }
}

body.aarav-utility-eye-test .aarav-screening-warning-grid figure img {
  object-position: center center !important;
}

/* Mobile homepage hero: keep the purpose message, CTA and centre finder in a
   compact vertical rhythm while leaving the desktop composition unchanged. */
@media (max-width: 767px) {
  html
    body.aarav-site-page.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-home-v2
    .aarav-v2-clarity-hero.is-purpose-revealed {
    height: max(500px, 100dvh) !important;
    min-height: max(500px, 100dvh) !important;
    max-height: none !important;
  }

  html
    body.aarav-site-page.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-home-v2
    .aarav-v2-clarity-hero.is-purpose-revealed
    .aarav-v2-clarity-hero__image--purpose {
    object-position: 70% center !important;
  }

  html
    body.aarav-site-page.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-home-v2
    .aarav-v2-clarity-hero.is-purpose-revealed
    .aarav-v2-clarity-hero__content {
    top: clamp(104px, 18svh, 138px) !important;
    right: 20px !important;
    left: 20px !important;
    width: auto !important;
    max-width: none !important;
  }

  html
    body.aarav-site-page.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-v2-clarity-hero__purpose
    strong,
  html
    body.aarav-site-page.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-v2-clarity-hero__purpose
    em {
    font-size: clamp(34px, 10.5vw, 50px) !important;
    line-height: 1.04 !important;
  }

  html
    body.aarav-site-page.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-v2-clarity-hero__purpose-rule {
    width: 54px !important;
    margin: 17px 0 13px !important;
  }

  html
    body.aarav-site-page.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-v2-clarity-hero__purpose
    small {
    max-width: 285px !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  html
    body.aarav-site-page.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-v2-clarity-hero__purpose-actions {
    align-items: stretch !important;
    gap: 11px !important;
    margin-top: 18px !important;
  }

  html
    body.aarav-site-page.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-v2-clarity-hero__purpose-book {
    width: 100% !important;
    min-height: 48px !important;
    height: 48px !important;
    padding: 0 17px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
  }

  html
    body.aarav-site-page.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-v2-clarity-hero__purpose-centres {
    align-self: flex-start !important;
    width: 145px !important;
    min-width: 145px !important;
    min-height: 45px !important;
    height: auto !important;
    gap: 11px !important;
    padding: 5px 0 8px !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
  }

  html
    body.aarav-site-page.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-v2-clarity-hero__purpose-centres
    i {
    flex: 0 0 auto !important;
    margin-top: 1px !important;
    font-size: 17px !important;
  }
}

@media (max-width: 359px) {
  html
    body.aarav-site-page.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-home-v2
    .aarav-v2-clarity-hero.is-purpose-revealed
    .aarav-v2-clarity-hero__content {
    right: 16px !important;
    left: 16px !important;
  }

  html
    body.aarav-site-page.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-v2-clarity-hero__purpose
    strong,
  html
    body.aarav-site-page.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-v2-clarity-hero__purpose
    em {
    font-size: 33px !important;
  }
}

/* Use the full mobile hero height for the existing purpose content so the
   message, CTA and centre finder are balanced from top to bottom. */
@media (max-width: 767px) {
  body.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-v2-clarity-hero.is-purpose-revealed
    .aarav-v2-clarity-hero__content {
    top: 0 !important;
    right: 20px !important;
    bottom: 0 !important;
    left: 20px !important;
    width: auto !important;
    height: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: center !important;
    padding: 74px 0 72px !important;
    box-sizing: border-box !important;
    transform: none !important;
  }

  body.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-v2-clarity-hero.is-purpose-revealed
    .aarav-v2-clarity-hero__message {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
  }

  body.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-v2-clarity-hero__purpose-rule {
    margin-top: 21px !important;
    margin-bottom: 18px !important;
  }

  body.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-v2-clarity-hero__purpose-actions {
    margin-top: 25px !important;
  }
}

@media (max-width: 359px) {
  body.aarav-home-v2-page.aarav-purpose-revealed
    .aarav-v2-clarity-hero.is-purpose-revealed
    .aarav-v2-clarity-hero__content {
    right: 16px !important;
    left: 16px !important;
  }
}

/* Homepage journey: retain the desktop horizontal connectors, but let each
   mobile step flow vertically with a downward connector between cards. */
@media (max-width: 767px) {
  body.aarav-home-v2-page
    .aarav-home-v2
    .aarav-v2-journey--reference
    .aarav-v2-journey__steps {
    grid-template-columns: 1fr !important;
    gap: 64px !important;
  }

  body.aarav-home-v2-page
    .aarav-home-v2
    .aarav-v2-journey--reference
    .aarav-v2-journey__steps::before {
    display: none !important;
  }

  body.aarav-home-v2-page
    .aarav-home-v2
    .aarav-v2-journey--reference
    .aarav-v2-journey__steps
    > li:not(:last-child)::after {
    top: auto !important;
    right: auto !important;
    bottom: -54px !important;
    left: 50% !important;
    display: block !important;
    width: 72px !important;
    height: 44px !important;
    transform: translateX(-50%) rotate(90deg) !important;
  }
}

/* About Foundation: final cascade guard. Keep one complete Aarav eye mark;
   remove the older radial wash and inherited ellipse border on mobile. */
body.aarav-about-revamp .aarav-about-foundation {
  background: linear-gradient(180deg, #fbfdfd 0%, #f7fafb 100%) !important;
}

@media (max-width: 767px) {
  body.aarav-about-revamp .aarav-about-foundation::after {
    content: "" !important;
    top: 96px !important;
    right: 12px !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
    width: min(72vw, 310px) !important;
    height: auto !important;
    aspect-ratio: 17 / 10 !important;
    color: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: url("../img/aarav-official/favicon.png") center / contain
      no-repeat !important;
    font-family: inherit !important;
    font-size: 0 !important;
    line-height: 0 !important;
    opacity: 0.105 !important;
    pointer-events: none !important;
  }
}
/* Shared contact dock: keep both controls together on every page, including the homepage variants. */
.aarav-floating-contact-dock .aarav-v2-whatsapp.aarav-v2-whatsapp {
  position: static !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: 62px !important;
  height: 62px !important;
  transform: none !important;
}

/* Homepage doctor feature: scoped so it cannot change the neighboring journey
   or ophthalmologist sections. */
.aarav-home-doctor-feature {
  position: relative;
  overflow: hidden;
  padding: clamp(76px, 8vw, 124px) 0 clamp(88px, 9vw, 136px);
  color: #17346f;
  background: linear-gradient(115deg, #f8fcfc 0%, #f1f8f9 58%, #e7f5f5 100%);
}
.aarav-home-doctor-feature::after {
  position: absolute;
  right: -110px;
  bottom: -170px;
  width: 420px;
  height: 420px;
  border: 1px solid rgba(21, 185, 200, 0.16);
  border-radius: 50%;
  content: "";
  box-shadow:
    0 0 0 36px rgba(21, 185, 200, 0.04),
    0 0 0 72px rgba(21, 185, 200, 0.025);
}
.aarav-home-doctor-feature__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(440px, 0.94fr);
  gap: clamp(36px, 5vw, 76px);
  align-items: center;
  width: min(calc(100% - 80px), 1200px);
  margin: 0 auto;
}
.aarav-home-doctor-feature__copy {
  min-width: 0;
}
.aarav-home-doctor-feature__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 17px;
  margin-bottom: 22px;
  color: #009da6;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.23em;
  text-transform: uppercase;
}
.aarav-home-doctor-feature__eyebrow::before {
  width: 40px;
  height: 1px;
  background: #d8e5e8;
  content: "";
}
.aarav-home-doctor-feature h2 {
  max-width: 680px;
  margin: 0;
  color: #102f63;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(46px, 5vw, 70px);
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 0.98;
}
.aarav-home-doctor-feature__role {
  margin: 13px 0 20px;
  color: #60799f;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(22px, 2.1vw, 29px);
  line-height: 1.2;
}
.aarav-home-doctor-feature__copy > p:not(.aarav-home-doctor-feature__role) {
  max-width: 650px;
  margin: 0;
  color: #60799f;
  font-size: 17px;
  line-height: 1.7;
}
.aarav-home-doctor-feature__points {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 30px;
}
.aarav-home-doctor-feature__points article {
  min-height: 190px;
  padding: 17px 16px 18px;
  border: 1px solid rgba(210, 224, 227, 0.8);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 12px 28px rgba(22, 65, 84, 0.04);
}
.aarav-home-doctor-feature__points article > i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  margin-bottom: 13px;
  border-radius: 50%;
  color: #0bb4bd;
  background: #e4f7f7;
  font-size: 22px;
}
.aarav-home-doctor-feature__points h3 {
  margin: 0 0 7px;
  color: #102f63;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  line-height: 1.05;
}
.aarav-home-doctor-feature__points p {
  margin: 0;
  color: #7184a0;
  font-size: 14px;
  line-height: 1.45;
}
.aarav-home-doctor-feature__visual {
  position: relative;
  min-width: 0;
}
.aarav-home-doctor-feature__visual > img {
  display: block;
  width: 100%;
  height: clamp(500px, 42vw, 650px);
  border-radius: 22px;
  object-fit: cover;
  object-position: center;
  box-shadow: 0 24px 55px rgba(18, 54, 76, 0.15);
}
.aarav-home-doctor-feature__visual blockquote {
  position: absolute;
  bottom: -30px;
  width: min(320px, calc(100% - 36px));
  margin: 0;
  padding: 22px 24px 20px;
  border-radius: 17px;
  color: #183767;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 18px 40px rgba(18, 54, 76, 0.14);
}
.aarav-home-doctor-feature__visual blockquote > span {
  display: block;
  height: 22px;
  color: #16b7b4;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 52px;
  font-weight: 700;
  line-height: 0.6;
}
.aarav-home-doctor-feature__visual blockquote p {
  margin: 8px 0 16px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  font-style: italic;
  line-height: 1.4;
}
.aarav-home-doctor-feature__visual blockquote footer {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-top: 12px;
  border-top: 1px solid #d5e8e8;
}
.aarav-home-doctor-feature__visual blockquote strong {
  color: #102f63;
  font-size: 14px;
}
.aarav-home-doctor-feature__visual blockquote small {
  color: #7184a0;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

@media (max-width: 991px) {
  .aarav-home-doctor-feature__inner {
    grid-template-columns: 1fr;
    width: min(calc(100% - 48px), 720px);
  }
  .aarav-home-doctor-feature__visual {
    max-width: 680px;
    margin: 0 auto;
  }
  .aarav-home-doctor-feature__visual > img {
    height: min(680px, 76vw);
  }
}
@media (max-width: 575px) {
  .aarav-home-doctor-feature {
    padding: 64px 0 92px;
  }
  .aarav-home-doctor-feature__inner {
    width: min(calc(100% - 32px), 420px);
    gap: 34px;
  }
  .aarav-home-doctor-feature h2 {
    font-size: clamp(39px, 12vw, 54px);
  }
  .aarav-home-doctor-feature__role {
    font-size: 20px;
  }
  .aarav-home-doctor-feature__copy > p:not(.aarav-home-doctor-feature__role) {
    font-size: 15px;
  }
  .aarav-home-doctor-feature__points {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .aarav-home-doctor-feature__points article {
    min-height: 0;
    padding: 14px;
  }
  .aarav-home-doctor-feature__points article > i {
    width: 44px;
    height: 44px;
    margin-bottom: 8px;
    font-size: 18px;
  }
  .aarav-home-doctor-feature__visual > img {
    height: 420px;
    border-radius: 16px;
  }
  .aarav-home-doctor-feature__visual blockquote {
    right: 14px;
    bottom: -34px;
    width: calc(100% - 28px);
    padding: 18px 18px 17px;
  }
}

/* Dedicated homepage utility bar; inner pages keep using the shared header bar. */
.aarav-home-topbar {
  position: absolute;
  z-index: 1102;
  top: 0;
  right: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 44px;
  padding: 0 32px;
  color: #fff;
  background: #082f3d;
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity .45s ease, visibility .45s ease, transform .45s ease;
}
body.aarav-home-v2-page:not(.aarav-purpose-revealed) .aarav-home-topbar {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-100%);
}
.aarav-home-topbar a {
  color: #fff !important;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}
.aarav-home-topbar a:hover,
.aarav-home-topbar a:focus-visible {
  color: #6edce4 !important;
}
.aarav-home-topbar i {
  margin-right: 5px;
  color: #6edce4;
}
.aarav-home-topbar__links {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(14px, 1.7vw, 28px);
  margin-left: 24px;
}

@media (max-width: 991px) {
  .aarav-home-topbar {
    min-height: 38px;
    padding: 0 16px;
  }
  .aarav-home-topbar__links {
    display: none;
  }
  .aarav-home-topbar a {
    font-size: 12px;
  }
}
.aarav-floating-contact-dock.aarav-floating-contact-dock {
  right: auto !important;
  left: 28px !important;
  align-items: flex-start;
  flex-direction: column;
  gap: 12px;
}

@media (max-width: 767px) {
  .aarav-floating-contact-dock.aarav-floating-contact-dock {
    right: auto !important;
    left: max(18px, env(safe-area-inset-left)) !important;
    /* Keep the always-visible call box clear of the homepage clarity slider. */
    bottom: calc(100px + env(safe-area-inset-bottom)) !important;
    gap: 10px;
  }
  .aarav-phone-contact__icon.aarav-phone-contact__icon {
    display: none !important;
  }
  .aarav-phone-contact__details.aarav-phone-contact__details {
    width: 166px !important;
    min-width: 166px;
    height: 56px;
    padding: 0 16px !important;
    border-radius: 10px;
    opacity: 1;
    overflow: visible;
    transform: none;
    pointer-events: auto;
  }
  .aarav-floating-contact-dock .aarav-v2-whatsapp.aarav-v2-whatsapp {
    width: 56px !important;
    height: 56px !important;
  }
}

/* Match the lighter teal used by the utility-bar icon reference. */
.aarav-header-utility .aarav-utility-phone i,
.aarav-header-utility .aarav-utility-email i,
.aarav-header-utility .aarav-utility-corporate i {
  color: #6edce4 !important;
}

.aarav-phone-contact__icon.aarav-phone-contact__icon {
  color: #fff !important;
  background: #1e4067 !important;
}

.aarav-phone-contact__icon.aarav-phone-contact__icon:hover,
.aarav-phone-contact__icon.aarav-phone-contact__icon:focus-visible {
  background: #163452 !important;
}

/* Keep homepage YouTube playback flush inside the Fancybox overlay. */
.aarav-home-video-fancybox.fancybox__container,
.aarav-home-video-fancybox .fancybox__backdrop,
.aarav-home-video-fancybox .fancybox__viewport,
.aarav-home-video-fancybox .fancybox__slide {
  background: transparent !important;
  padding: 0 !important;
}

.aarav-home-video-fancybox .fancybox__content {
  padding: 0 !important;
  background: transparent !important;
}

.aarav-home-video-fancybox .fancybox__iframe {
  display: block;
  border: 0 !important;
}

.aarav-home-video-fancybox .f-html {
  background: transparent !important;
}

/* The iframe keeps YouTube's 16:9 ratio; make any surrounding viewport area
   black instead of exposing the page's white background above and below it. */
html:has(.fancybox__iframe),
body:has(.fancybox__iframe),
body:has(.fancybox__iframe) .fancybox__container,
body:has(.fancybox__iframe) .fancybox__viewport {
  background: transparent !important;
}

.f-html {
    position: relative;
    box-sizing: border-box;
    margin: var(--f-html-margin, 0);
    padding: var(--f-html-padding, 2rem);
    color: var(--f-html-color, currentColor);
    background: none !important;
}