/* Final card action override: one shared, plain plus across all 15 cards. */
body.marina-site .treatment-grid .service-card,
body.marina-site .conditions-grid .condition-card,
body.marina-site .steps-grid .step-card { position: relative !important; }

body.marina-site .treatment-grid .service-card > .card-action,
body.marina-site .conditions-grid .condition-card > .card-action,
body.marina-site .steps-grid .step-card > .card-action {
  all: unset !important;
  position: absolute !important;
  inset: auto 22px 17px auto !important;
  z-index: 10 !important;
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(235, 240, 241, .66) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: 25px !important;
  font-weight: 300 !important;
  line-height: 22px !important;
  text-align: center !important;
  text-shadow: none !important;
  transform: rotate(0deg) !important;
  transition: color .2s ease, transform .2s ease !important;
}
body.marina-site .treatment-grid .service-card > .card-action::before,
body.marina-site .treatment-grid .service-card > .card-action::after,
body.marina-site .conditions-grid .condition-card > .card-action::before,
body.marina-site .conditions-grid .condition-card > .card-action::after,
body.marina-site .steps-grid .step-card > .card-action::before,
body.marina-site .steps-grid .step-card > .card-action::after { content: none !important; display: none !important; }
body.marina-site .treatment-grid .service-card:hover > .card-action,
body.marina-site .treatment-grid .service-card:focus-visible > .card-action,
body.marina-site .conditions-grid .condition-card:hover > .card-action,
body.marina-site .conditions-grid .condition-card:focus-visible > .card-action,
body.marina-site .steps-grid .step-card:hover > .card-action,
body.marina-site .steps-grid .step-card:focus-visible > .card-action {
  color: #75ddff !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: rotate(45deg) !important;
}

/* Testimonials: quotes begin on the exact left edge of their heading. */
body.marina-site #home-testimonials .testimonial-head,
body.marina-site #home-testimonials .testimonial-list,
body.marina-site #home-faq .faq-head,
body.marina-site #home-faq .faq-list {
  width: min(1160px, calc(100vw - 56px)) !important;
  max-width: 1160px !important;
  margin-right: auto !important;
  margin-left: auto !important;
}
body.marina-site #home-testimonials .testimonial-list {
  display: block !important;
  margin-top: clamp(46px, 5vw, 72px) !important;
  padding: 0 !important;
  transform: none !important;
}
body.marina-site #home-testimonials .testimonial-quote {
  display: block !important;
  width: min(100%, 680px) !important;
  max-width: 680px !important;
  margin: 0 0 42px 0 !important;
  padding: 0 !important;
  transform: none !important;
  left: auto !important;
  right: auto !important;
  text-align: left !important;
}
body.marina-site #home-testimonials .testimonial-quote blockquote,
body.marina-site #home-testimonials .testimonial-quote p {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
  transform: none !important;
  text-align: left !important;
  text-shadow: none !important;
}

/* FAQ: one left-aligned content column, never browser-width. */
body.marina-site #home-faq .faq-list {
  display: block !important;
  margin-top: clamp(34px, 4vw, 56px) !important;
  padding: 0 !important;
  transform: none !important;
}
body.marina-site #home-faq .faq-list details {
  width: 100% !important;
  max-width: none !important;
}
@media (max-width: 760px) {
  body.marina-site .site-header .brand {
    width: min(231px, 59.4vw) !important;
    min-width: 176px !important;
  }

  body.marina-site #home-testimonials .testimonial-head,
  body.marina-site #home-testimonials .testimonial-list,
  body.marina-site #home-faq .faq-head,
  body.marina-site #home-faq .faq-list {
    width: calc(100vw - 34px) !important;
    max-width: none !important;
  }

  /* Mobile search opens only by tap and remains above the header and menu. */
  body.marina-site .site-header.search-open .search-panel {
    position: fixed !important;
    top: 76px !important;
    left: 17px !important;
    right: 17px !important;
    z-index: 300 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }
  body.marina-site .site-search,
  body.marina-site .search-toggle {
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }
  body.marina-site .search-toggle {
    position: relative !important;
    z-index: 301 !important;
  }

  /* Keep iPhone from pulling past the real end of the document. */
  html,
  body.marina-site {
    overscroll-behavior-y: none !important;
    background: #0a1d24 !important;
  }
  body.marina-site .site-footer {
    min-height: max-content !important;
    padding-bottom: max(34px, env(safe-area-inset-bottom)) !important;
    background: #0a1d24 !important;
  }
}

/* Slow, calm type-only reveal for the centered hero mark.  The icon remains static. */
body.marina-site.hero-animating .home-intro-logo .marina-hero-word-marina {
  animation-duration: 2.16s !important;
  animation-delay: .42s !important;
}
body.marina-site.hero-animating .home-intro-logo .marina-hero-word-sports {
  animation-duration: 1.92s !important;
  animation-delay: 2.38s !important;
}

/* The source mark contains the full logo on every layer.  Keep the static
   icon crop above the dot of the "i" so no word fragment flashes before reveal. */
body.marina-site .home-intro-logo .marina-hero-icon {
  clip-path: inset(0 0 45% 0) !important;
}
