@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("../fonts/PlusJakartaSans-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Marina v31: full-screen hero video uses a true two-source crossfade loop. */
body.marina-site .video-bg[data-hero-crossfade-loop] .hero-bg-loop-video {
  z-index: 1;
  opacity: 0 !important;
  transition: opacity 1.2s ease-in-out !important;
}

body.marina-site .video-bg[data-hero-crossfade-loop] .hero-bg-loop-video.active {
  opacity: 1 !important;
}
@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("../fonts/PlusJakartaSans-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("../fonts/PlusJakartaSans-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("../fonts/PlusJakartaSans-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("../fonts/PlusJakartaSans-Italic.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

:root {
  --paper: #f6f4ee;
  --paper-soft: rgba(246, 244, 238, .82);
  --white: #ffffff;
  --ink: #f8f6ef;
  --muted: rgba(248, 246, 239, .76);
  --soft: rgba(248, 246, 239, .58);
  --dark: #091116;
  --deep: rgba(7, 13, 17, .72);
  --glass: rgba(16, 29, 33, .50);
  --glass-soft: rgba(22, 38, 42, .36);
  --line: rgba(246, 244, 238, .16);
  --accent: #8569bd;
  --accent-soft: rgba(226, 161, 21, .18);
  --river: #7fc0c6;
  --green: #78937e;
  --shadow: 0 30px 90px rgba(0, 0, 0, .25);
  --font: "Plus Jakarta Sans", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body {
  margin: 0;
  min-height: 100vh;
  font-family: var(--font);
  color: var(--ink);
  background: #05090b;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}
body.menu-open,
body.search-open,
body.modal-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img, svg, video { max-width: 100%; display: block; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }

.video-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  background: #05090b;
  overflow: hidden;
  opacity: 1;
}
.video-bg video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  opacity: 1;
  transform: scale(1.01);
}
.video-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background: #05090b;
  animation: heroBlackFade 2s ease .12s forwards;
}
.video-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(rgba(0, 0, 0, .10), rgba(0, 0, 0, .10)),
    linear-gradient(135deg, rgba(5, 10, 13, .70) 0%, rgba(8, 15, 18, .53) 34%, rgba(13, 21, 24, .34) 64%, rgba(20, 27, 30, .18) 100%),
    radial-gradient(circle at 16% 16%, rgba(0, 0, 0, .22), transparent 45%),
    radial-gradient(circle at 88% 78%, rgba(226, 161, 21, .07), transparent 42%);
}
.hero-bg-current { z-index: 1; opacity: 1; }
.hero-bg-standby { z-index: 0; opacity: 0; }
.hero-bg-fade-in { z-index: 1; animation: heroFadeIn 1.4s ease forwards; }
.hero-bg-fade-out { z-index: 0; animation: heroFadeOut 1.4s ease forwards; }
@keyframes heroFadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes heroFadeOut { from { opacity: 1; } to { opacity: 0; } }
@keyframes heroBlackFade { from { opacity: 1; } to { opacity: 0; visibility: hidden; } }

.top-readability-strip {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  height: 250px;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(0,0,0,.40) 0%, rgba(0,0,0,.28) 28%, rgba(0,0,0,.15) 58%, rgba(0,0,0,.06) 78%, rgba(0,0,0,0) 100%);
}

.wrap {
  width: min(1160px, calc(100% - 56px));
  margin: 0 auto;
}
.glass {
  background: linear-gradient(135deg, rgba(17, 31, 35, .58), rgba(12, 23, 27, .36));
  border: 1px solid var(--line);
  border-radius: 34px;
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  box-shadow: var(--shadow);
}

.site-header {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 90;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 86px;
  padding: 20px clamp(20px, 4vw, 54px);
  pointer-events: none;
}
.site-header::before {
  content: "";
  position: absolute;
  inset: 12px 16px;
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(246, 244, 238, .08), rgba(246, 244, 238, .03)),
    rgba(12, 22, 28, .22);
  backdrop-filter: blur(26px) saturate(115%);
  -webkit-backdrop-filter: blur(26px) saturate(115%);
  border: 1px solid rgba(246, 244, 238, .14);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .14);
  opacity: 0;
  transition: opacity 1.05s ease;
  z-index: -1;
}
.site-header.scrolled::before,
.site-header.search-open::before,
body.menu-open .site-header::before { opacity: 1; }
.site-header > * { pointer-events: auto; }
.brand {
  display: inline-flex;
  align-items: center;
  width: clamp(190px, 17vw, 270px);
  min-width: 190px;
}
.brand img {
  width: 100%;
  height: auto;
  opacity: 1;
  transition: opacity 1.05s ease;
}
.home-page .site-header .brand img { opacity: 0; }
.home-page.home-scrolled .site-header .brand img,
.home-page .site-header.search-open .brand img,
body.menu-open.home-page .site-header .brand img { opacity: 1; }
.nav-cluster {
  display: flex;
  align-items: center;
  gap: 17px;
}
.desktop-nav {
  display: flex;
  align-items: center;
  gap: 4px;
}
.nav-link,
.nav-dropdown a,
.mobile-panel a {
  font-size: 15px;
  font-weight: 500;
  letter-spacing: .01em;
}
.nav-link {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 9px 14px;
  border-radius: 999px;
  color: rgba(255, 255, 255, .88);
  transition: background .22s ease, color .22s ease, transform .22s ease;
}
.nav-link:hover,
.nav-link:focus-visible {
  color: #fff;
  background: rgba(246, 244, 238, .12);
  outline: none;
}
.nav-contact-pill {
  color: var(--dark);
  background: rgba(226, 161, 21, .86);
  margin-left: 5px;
}
.nav-contact-pill:hover { background: #fff; color: #111; }
.nav-item { position: relative; }
.has-dropdown::after {
  content: "";
  position: absolute;
  left: 0;
  top: 100%;
  width: 265px;
  height: 18px;
  z-index: 1;
}
.nav-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 265px;
  padding: 10px;
  border-radius: 22px;
  background: rgba(7, 15, 18, .76);
  border: 1px solid rgba(246, 244, 238, .14);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity .22s ease, transform .22s ease;
  z-index: 2;
}

.has-dropdown:hover .nav-dropdown,
.has-dropdown:focus-within .nav-dropdown { opacity: 1; transform: translateY(0); pointer-events: auto; }
.nav-dropdown a {
  display: block;
  padding: 9px 12px;
  border-radius: 16px;
  color: rgba(255,255,255,.82);
}
.nav-dropdown a:hover { background: rgba(246,244,238,.10); color: #fff; }

.search-toggle {
  width: 38px;
  height: 38px;
  padding: 0;
  display: grid;
  place-items: center;
  color: rgba(255, 255, 255, .92);
  background: transparent;
  border: 0;
  border-radius: 999px;
}
.search-toggle svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
}
.search-toggle:hover { color: var(--accent); }
.site-search { position: relative; }
.search-panel {
  position: absolute;
  right: -4px;
  top: calc(100% + 10px);
  width: min(340px, calc(100vw - 48px));
  opacity: 0;
  pointer-events: none;
  transform: translateY(6px);
  transition: opacity .2s ease, transform .2s ease;
}
.site-header.search-open .search-panel,
.site-search:hover .search-panel,
.site-search:focus-within .search-panel {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.search-input {
  width: 100%;
  height: 46px;
  border: 1px solid rgba(246,244,238,.16);
  border-radius: 999px;
  background: rgba(8, 16, 19, .82);
  color: #fff;
  outline: none;
  padding: 0 18px;
  box-shadow: 0 16px 40px rgba(0,0,0,.25);
}
.search-input::placeholder { color: rgba(255,255,255,.58); }
.search-results {
  position: fixed;
  z-index: 95;
  right: clamp(20px, 4vw, 54px);
  top: 84px;
  width: min(520px, calc(100vw - 40px));
  max-height: min(68vh, 560px);
  overflow: auto;
  padding: 10px;
  border-radius: 24px;
  border: 1px solid rgba(246,244,238,.14);
  background: rgba(7, 15, 18, .84);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-8px);
  transition: opacity .2s ease, transform .2s ease;
}
.search-results.visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.search-result-item {
  display: block;
  padding: 13px 14px;
  border-radius: 18px;
  color: rgba(255,255,255,.84);
}
.search-result-item:hover { background: rgba(246,244,238,.10); color: #fff; }
.search-result-label { display: block; color: var(--accent); font-size: 12px; text-transform: uppercase; letter-spacing: .14em; margin-bottom: 3px; }
.search-result-title { display: block; font-size: 17px; font-weight: 600; }
.search-result-desc { display: block; font-size: 14px; line-height: 1.35; color: rgba(255,255,255,.66); }
.search-empty { padding: 18px; color: rgba(255,255,255,.72); }
.search-hit-highlight {
  outline: 1px solid rgba(226, 161, 21, .5);
  box-shadow: 0 0 0 8px rgba(226, 161, 21, .10);
  transition: box-shadow .4s ease, outline .4s ease;
}

.menu-btn {
  display: none;
  border: 0;
  background: transparent;
  color: rgba(255,255,255,.88);
  padding: 9px 0;
  font-size: 15px;
  font-weight: 500;
}
.menu-btn:hover { color: var(--accent); }
.mobile-panel {
  position: fixed;
  z-index: 88;
  top: 78px;
  right: 18px;
  width: min(300px, calc(100vw - 36px));
  padding: 12px;
  border-radius: 26px;
  background: rgba(7, 15, 18, .84);
  border: 1px solid rgba(246,244,238,.14);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-8px);
  transition: opacity .22s ease, transform .22s ease;
}
body.menu-open .mobile-panel { opacity: 1; pointer-events: auto; transform: translateY(0); }
.mobile-panel a {
  display: block;
  padding: 12px 14px;
  border-radius: 18px;
  color: rgba(255,255,255,.86);
}
.mobile-panel a:hover { background: rgba(246,244,238,.10); color: #fff; }

.home-intro-logo {
  position: fixed;
  top: 112px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 20;
  pointer-events: none;
  opacity: 1;
  transition: opacity .42s ease;
  display: flex;
  justify-content: center;
  width: min(100%, 650px);
  padding: 0 18px;
}
.home-intro-logo img { width: min(365px, 38vw); height: auto; }
.home-page.home-logo-hidden .home-intro-logo { opacity: 0; }

main,
.site-footer { position: relative; z-index: 2; }
.section,
.hero,
.site-footer { scroll-margin-top: 118px; }
.hero {
  min-height: 100svh;
  display: flex;
  align-items: flex-end;
  padding: clamp(390px, 44vh, 465px) clamp(28px, 6vw, 88px) clamp(56px, 8vh, 92px);
}
.hero-inner { width: min(890px, 100%); }
.eyebrow,
.kicker {
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 16px;
}
.hero h1,
h2,
h3,
.service-card h3,
.step-card h3,
.glass h2 {
  letter-spacing: -0.018em;
  word-spacing: 0.018em;
  margin: 0;
}
.hero h1 {
  font-size: clamp(56px, 8vw, 120px);
  font-weight: 500;
  line-height: .92;
  letter-spacing: -0.055em;
  word-spacing: .045em;
  max-width: 840px;
}
.headline-line { display: block; }
.mobile-hero-headline { display: none; }
@media (min-width: 761px) {
  #home-hero h1 {
    font-size: clamp(51.2px, 7.04vw, 105.6px);
    max-width: 980px;
  }

  #home-hero .desktop-hero-headline .headline-line {
    white-space: nowrap;
  }
}
.hero p {
  width: min(720px, 100%);
  margin: 22px 0 0;
  font-size: clamp(19px, 1.6vw, 24px);
  line-height: 1.35;
  color: rgba(255,255,255,.84);
}
.hero p strong,
.copy-stack strong,
.footer-contact strong,
.provider-copy strong { font-weight: 600; color: #fff; }
.pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 22px;
  border-radius: 999px;
  border: 1px solid rgba(246,244,238,.22);
  color: #fff;
  background: rgba(246,244,238,.11);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  font-weight: 600;
  letter-spacing: .01em;
  transition: transform .22s ease, background .22s ease, color .22s ease, border .22s ease;
}
.btn:hover { transform: translateY(-2px); background: rgba(246,244,238,.20); border-color: rgba(246,244,238,.32); }
.btn.accent { background: rgba(226,161,21,.88); color: #15100a; border-color: rgba(226,161,21,.16); }
.btn.accent:hover { background: #fff; color: #111; }

.section { padding: clamp(64px, 8vw, 118px) 0; }
.proof-section { padding-top: 20px; }
.proof-wrap {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 32px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: none;
}
.proof-card {
  padding: 26px;
  min-height: 112px;
  border-radius: 0;
  background: transparent;
  border-right: 1px solid rgba(255,255,255,.12);
  cursor: pointer;
  transition: background .22s ease, color .22s ease;
}
.proof-card:last-child { border-right: 0; }
.proof-card:hover,
.proof-card:focus-visible {
  background: rgba(0,0,0,.24);
  outline: none;
}
.service-card:hover,
.step-card:hover { background: rgba(246,244,238,.11); transform: translateY(-3px); }
.stat {
  display: block;
  font-size: clamp(31px, 4vw, 46px);
  line-height: .95;
  font-weight: 600;
  letter-spacing: -.035em;
  color: #fff;
}
.proof-card p,
.service-card p,
.step-card p,
.provider-copy p,
.condition-copy p,
.review-panel p {
  margin: 14px 0 0;
  color: rgba(255,255,255,.72);
  line-height: 1.45;
  font-size: 17px;
}
.section-head {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .72fr);
  gap: clamp(28px, 6vw, 80px);
  align-items: end;
  margin-bottom: 26px;
}
h2 {
  font-size: clamp(38px, 5.2vw, 76px);
  font-weight: 500;
  line-height: 1.02;
  max-width: 780px;
}
h3 {
  font-size: clamp(24px, 2.2vw, 34px);
  font-weight: 500;
  line-height: 1.12;
}
.section-head p {
  margin: 0 0 6px;
  color: rgba(255,255,255,.72);
  line-height: 1.48;
  font-size: 18px;
}
@media (min-width: 761px) {
  #home-provider .section-head {
    grid-template-columns: minmax(0, 1.34fr) minmax(240px, .48fr);
  }

  #home-provider .section-head h2 {
    max-width: 980px;
  }
}
.about-panel {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(420px, 1.14fr);
  gap: clamp(28px, 5vw, 64px);
  padding: clamp(28px, 5vw, 58px);
}
.copy-stack {
  max-width: 560px;
}
.about-panel-kicker {
  margin-bottom: 18px;
}
.copy-stack p {
  margin: 0 0 20px;
  color: rgba(255,255,255,.75);
  line-height: 1.58;
  font-size: 19px;
}
.copy-stack p:last-child { margin-bottom: 0; }
.about-video-frame {
  align-self: center;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 30px;
  overflow: hidden;
  background: rgba(0, 0, 0, .16);
}
.about-care-video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  opacity: 1;
}

@media (min-width: 761px) {
  #home-about .about-panel {
    grid-template-columns: minmax(0, .74fr) minmax(480px, 1.26fr);
    align-items: start;
  }

  #home-about .copy-stack {
    max-width: 510px;
  }

  #home-about .about-video-frame {
    align-self: start;
  }

  #home-about .about-care-video {
    width: calc(100% + 72px);
    max-width: none;
    margin-left: -36px;
    transform: none;
    object-position: center center;
  }
}

.feature-stack {
  display: grid;
  align-content: center;
  gap: 12px;
}
.feature-chip {
  display: inline-flex;
  width: fit-content;
  padding: 11px 16px;
  border-radius: 999px;
  background: rgba(246,244,238,.10);
  border: 1px solid rgba(246,244,238,.12);
  color: rgba(255,255,255,.85);
  font-weight: 500;
}
.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.service-card,
.step-card {
  min-height: 238px;
  padding: 30px;
  border-radius: 32px;
  background: rgba(16, 29, 33, .48);
  border: 1px solid rgba(246,244,238,.14);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  transition: background .22s ease, transform .22s ease, border-color .22s ease;
}
.service-card {
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 16px;
}
.service-card:hover,
.service-card:focus-visible {
  background: rgba(5, 13, 16, .76);
  border-color: rgba(226,161,21,.46);
  outline: none;
}
.service-card p { max-width: 340px; }
.card-action {
  display: inline-flex;
  width: fit-content;
  margin-top: auto;
  padding: 8px 13px;
  border-radius: 999px;
  background: rgba(246,244,238,.08);
  border: 1px solid rgba(246,244,238,.12);
  color: rgba(255,255,255,.78);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .01em;
}
.service-card:hover .card-action,
.service-card:focus-visible .card-action {
  background: rgba(226,161,21,.88);
  border-color: rgba(226,161,21,.18);
  color: #15100a;
}
.condition-panel {
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(460px, 1.28fr);
  gap: clamp(20px, 3.8vw, 48px);
  padding: clamp(30px, 5vw, 58px);
  align-items: start;
}
.condition-copy {
  grid-column: 1;
  grid-row: 1 / span 2;
  max-width: 470px;
}
.condition-video-frame {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 30px;
  overflow: hidden;
  background: rgba(0,0,0,.18);
}
.condition-care-video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  opacity: 1;
}
.condition-list {
  grid-column: 2;
  grid-row: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 11px;
  margin-top: 2px;
  align-self: start;
}
.condition-list span {
  display: inline-flex;
  justify-content: center;
  text-align: center;
  padding: 11px 15px;
  border-radius: 999px;
  background: rgba(246,244,238,.10);
  border: 1px solid rgba(246,244,238,.12);
  color: rgba(255,255,255,.84);
  font-weight: 500;
  white-space: nowrap;
}
.provider-grid {
  display: grid;
  grid-template-columns: minmax(300px, .65fr) minmax(0, 1fr);
  gap: 18px;
}
.provider-panel {
  padding: clamp(30px, 5vw, 58px);
}
.provider-panel-head {
  margin-bottom: clamp(26px, 4vw, 34px);
}
.provider-grid-unified {
  gap: clamp(28px, 4vw, 48px);
  align-items: center;
}
.provider-card,
.provider-copy {
  padding: 0;
  background: transparent;
  border: 0;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.provider-card {
  display: flex;
  align-items: center;
  gap: 22px;
  min-height: 260px;
}
.provider-photo {
  display: block;
  width: 160px;
  height: 190px;
  flex: 0 0 auto;
  object-fit: cover;
  object-position: center top;
  border-radius: 28px;
}
.provider-card-text { min-width: 0; }
.provider-card h3 { margin: 0; max-width: 320px; }
.provider-card p { margin: 10px 0 0; color: rgba(255,255,255,.70); font-size: 18px; }
.provider-copy p { font-size: 19px; margin-top: 0; }
.provider-copy .small-note {
  color: rgba(255,255,255,.56);
  font-size: 15px;
  margin-top: 18px;
}
.steps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.step-card span {
  display: inline-flex;
  color: var(--accent);
  letter-spacing: .14em;
  font-weight: 600;
  margin-bottom: 22px;
}
.step-card h3 { max-width: 260px; }
.step-card[role="button"] { cursor: pointer; }
.step-card[role="button"]:focus-visible { outline: none; background: rgba(246,244,238,.11); transform: translateY(-3px); }
.review-panel {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(30px, 6vw, 80px);
  align-items: center;
  padding: clamp(30px, 5vw, 58px);
}
blockquote {
  margin: 0;
  color: rgba(255,255,255,.86);
  font-size: clamp(24px, 3vw, 42px);
  font-weight: 500;
  line-height: 1.18;
  letter-spacing: -.02em;
}
.text-link {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  margin-top: 22px;
  padding: 11px 18px;
  color: var(--accent);
  font-weight: 600;
  text-decoration: none;
  border-radius: 999px;
  background: rgba(246,244,238,.08);
  border: 1px solid rgba(246,244,238,.16);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: background .22s ease, color .22s ease, border-color .22s ease;
}
.text-link:hover {
  color: #fff;
  background: rgba(246,244,238,.14);
  border-color: rgba(246,244,238,.24);
}

@media (min-width: 761px) {
  #home-reviews .review-panel {
    grid-template-columns: minmax(0, .84fr) minmax(0, 1.05fr);
  }

  #home-reviews blockquote {
    max-width: 520px;
  }
}

.site-footer {
  margin-top: clamp(40px, 6vw, 80px);
  padding: clamp(70px, 9vw, 120px) 0 34px;
  overflow: hidden;
}
.site-footer::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 300px;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(to top, rgba(0,0,0,.44) 0%, rgba(0,0,0,.30) 36%, rgba(0,0,0,.14) 70%, rgba(0,0,0,0) 100%);
}
.site-footer > * { position: relative; z-index: 1; }
.footer-inner {
  display: grid;
  grid-template-columns: minmax(280px, .75fr) minmax(380px, .95fr);
  gap: clamp(30px, 6vw, 90px);
  align-items: start;
}
.footer-logo { width: min(260px, 72vw); margin-bottom: 26px; }
.footer-contact p {
  color: rgba(255,255,255,.76);
  font-size: 18px;
  line-height: 1.5;
  margin: 0 0 18px;
}
.footer-contact a:hover { color: var(--accent); }
.footer-reservation {
  display: inline-block;
  margin: -4px 0 18px;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(255,255,255,.76);
  font: inherit;
  font-size: 18px;
  line-height: 1.5;
  text-align: left;
  cursor: pointer;
}
.footer-reservation:hover { color: var(--accent); }
.social-row { display: flex; gap: 12px; margin-top: 20px; }
.social-row a {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(246,244,238,.10);
  border: 1px solid rgba(246,244,238,.14);
  transition: background .22s ease, transform .22s ease;
}
.social-row a:hover { background: var(--accent); transform: translateY(-2px); }
.social-row svg { width: 22px; height: 22px; fill: #fff; }
.social-row a:hover svg { fill: #111; }
.footer-form {
  padding: clamp(24px, 4vw, 38px);
  border-radius: 34px;
  background: rgba(16, 29, 33, .52);
  border: 1px solid rgba(246,244,238,.14);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}
.form-head { margin-bottom: 18px; }
.form-head h3 { font-size: clamp(30px, 3vw, 42px); }
.footer-form label { display: block; margin-bottom: 12px; }
.footer-form label span {
  display: block;
  margin: 0 0 6px 4px;
  color: rgba(255,255,255,.70);
  font-size: 14px;
}
.footer-form input,
.footer-form textarea {
  width: 100%;
  border: 1px solid rgba(246,244,238,.16);
  background: rgba(246,244,238,.09);
  color: #fff;
  outline: none;
  border-radius: 24px;
  padding: 13px 16px;
  min-height: 48px;
  font-size: 16px;
}
.footer-form textarea { resize: vertical; border-radius: 22px; }
.footer-form input:focus,
.footer-form textarea:focus { border-color: rgba(226,161,21,.58); background: rgba(246,244,238,.13); }
.form-btn { width: 100%; margin-top: 6px; border: 0; }
.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding-top: 34px;
  color: rgba(255,255,255,.62);
  font-size: 14px;
}
.footer-bottom a:hover { color: var(--accent); }

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(0,0,0,.56);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease;
}
.modal-backdrop.open { opacity: 1; pointer-events: auto; }
.modal-card {
  position: relative;
  width: min(920px, 100%);
  padding: clamp(26px, 4vw, 44px);
  border-radius: 34px;
  background: rgba(8, 17, 20, .91);
  border: 1px solid rgba(246,244,238,.16);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  box-shadow: 0 40px 110px rgba(0,0,0,.45);
  transform: translateY(10px) scale(.985);
  transition: transform .22s ease;
}
.modal-backdrop.open .modal-card { transform: translateY(0) scale(1); }
.modal-actions {
  position: absolute;
  right: 18px;
  top: 18px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.modal-call,
.modal-close {
  border-radius: 999px;
  padding: 8px 14px;
  text-decoration: none;
  transition: background .22s ease, color .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.modal-call {
  display: none;
  font-weight: 500;
  border: 1px solid rgba(246,244,238,.14);
  background: rgba(246,244,238,.08);
  color: #fff;
}
.modal-close {
  border: 1px solid rgba(246,244,238,.20);
  background: rgba(5,10,13,.38);
  color: #fff;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 8px 18px rgba(0,0,0,.18);
}
.modal-card.schedule-modal .modal-call {
  display: inline-flex;
}
.modal-call:hover,
.modal-close:hover { background: var(--accent); color: #111; }
.modal-call-inline { display: none; }
.modal-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .72fr);
  gap: clamp(22px, 4vw, 42px);
  align-items: stretch;
}
.modal-copy { padding-right: 10px; }
.modal-card h2 { font-size: clamp(34px, 5vw, 58px); margin: 12px 0 18px; }
.modal-text { color: rgba(255,255,255,.76); font-size: 19px; line-height: 1.5; }
.modal-text p { margin: 0 0 14px; }
.modal-text ul { margin: 16px 0 0; padding-left: 21px; color: rgba(255,255,255,.78); }
.modal-text li { margin: 7px 0; }
.modal-visual {
  position: relative;
  min-height: 330px;
  border-radius: 28px;
  background:
    linear-gradient(145deg, rgba(127,192,198,.18), rgba(226,161,21,.10)),
    radial-gradient(circle at 25% 18%, rgba(255,255,255,.12), transparent 38%),
    rgba(246,244,238,.06);
  border: 1px solid rgba(246,244,238,.13);
  display: flex;
  align-items: end;
  padding: 20px;
  overflow: hidden;
}
.modal-visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transform: scale(1.015);
  transition: opacity .2s ease;
}
.modal-visual.has-image img { opacity: .96; }
.modal-visual.has-image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(to top, rgba(5,10,13,.54) 0%, rgba(5,10,13,.16) 46%, rgba(5,10,13,.04) 100%),
    linear-gradient(135deg, rgba(5,10,13,.26), rgba(5,10,13,0) 58%);
}
.modal-visual span {
  position: relative;
  z-index: 2;
  display: inline-flex;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(5, 10, 13, .48);
  color: rgba(255,255,255,.82);
  font-size: 13px;
  font-weight: 500;
}


.modal-card.schedule-modal {
  width: min(1080px, 100%);
}
.modal-card.schedule-modal .modal-layout {
  grid-template-columns: 1fr;
}
.modal-card.schedule-modal .modal-copy {
  padding-right: 0;
}
.modal-card.schedule-modal .modal-visual {
  display: none;
}
.schedule-intro {
  max-width: 760px;
}
.scheduler-shell {
  margin-top: 22px;
  display: grid;
  gap: 18px;
}
.schedule-toolbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  padding: 16px;
  border-radius: 24px;
  background: rgba(246,244,238,.06);
  border: 1px solid rgba(246,244,238,.12);
}
.schedule-toolbar label {
  display: grid;
  gap: 7px;
  min-width: min(360px, 100%);
  color: rgba(255,255,255,.68);
  font-size: 13px;
}
.schedule-toolbar select {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(246,244,238,.14);
  border-radius: 999px;
  background: rgba(8, 17, 20, .58);
  color: #fff;
  padding: 12px 18px;
  font: inherit;
  font-size: 16px;
  outline: none;
}
.schedule-toolbar select:focus {
  border-color: rgba(226,161,21,.58);
  background: rgba(8, 17, 20, .72);
}
.schedule-toolbar p {
  margin: 0 0 9px;
  color: rgba(255,255,255,.62);
  font-size: 14px;
  line-height: 1.35;
}
.schedule-week {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
}
.schedule-day {
  min-height: 244px;
  padding: 18px;
  border-radius: 24px;
  background:
    linear-gradient(145deg, rgba(246,244,238,.10), rgba(246,244,238,.045)),
    rgba(255,255,255,.045);
  border: 1px solid rgba(246,244,238,.13);
}
.schedule-day strong {
  display: block;
  color: #fff;
  font-size: 22px;
  line-height: 1;
  margin-bottom: 5px;
}
.schedule-day > span {
  display: block;
  color: rgba(255,255,255,.56);
  font-size: 13px;
  margin-bottom: 14px;
}
.appointment-slot {
  width: 100%;
  min-height: 38px;
  margin-top: 8px;
  border: 1px solid rgba(246,244,238,.14);
  border-radius: 999px;
  background: rgba(246,244,238,.08);
  color: rgba(255,255,255,.84);
  font: inherit;
  font-size: 14px;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
.appointment-slot:hover,
.appointment-slot:focus-visible {
  background: rgba(226,161,21,.25);
  border-color: rgba(226,161,21,.54);
  color: #fff;
  outline: none;
  transform: translateY(-1px);
}
.appointment-slot.active {
  background: var(--accent);
  color: #111;
  border-color: var(--accent);
}
.schedule-request {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  padding: 16px;
  border-radius: 24px;
  background: rgba(246,244,238,.06);
  border: 1px solid rgba(246,244,238,.12);
}
.schedule-request label {
  display: grid;
  gap: 6px;
  color: rgba(255,255,255,.68);
  font-size: 13px;
}
.schedule-request input,
.schedule-request select,
.schedule-request textarea {
  width: 100%;
  border: 1px solid rgba(246,244,238,.13);
  background: rgba(8, 17, 20, .52);
  color: #fff;
  border-radius: 999px;
  padding: 12px 14px;
  font: inherit;
  font-size: 15px;
  outline: none;
}
.schedule-request textarea {
  border-radius: 18px;
  resize: vertical;
}
.schedule-request input:focus,
.schedule-request select:focus,
.schedule-request textarea:focus {
  border-color: rgba(226,161,21,.58);
  background: rgba(8, 17, 20, .68);
}
.schedule-message {
  grid-column: span 2;
}
.schedule-confirm {
  grid-column: span 2;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: end;
}
.selected-time {
  display: flex;
  align-items: center;
  min-height: 46px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(246,244,238,.11);
  color: rgba(255,255,255,.76);
  font-size: 14px;
}
.schedule-submit {
  min-height: 46px;
  white-space: nowrap;
}

@media (max-width: 1080px) {
  .desktop-nav { display: none; }
  .menu-btn { display: inline-flex; }
  .site-header { min-height: 78px; padding: 18px 22px; }
  .brand { width: 226px; min-width: 226px; }
  .search-results { top: 78px; right: 18px; }
  .proof-wrap { grid-template-columns: repeat(2, 1fr); }
  .proof-card:nth-child(2) { border-right: 0; }
  .proof-card:nth-child(1),
  .proof-card:nth-child(2) { border-bottom: 1px solid rgba(255,255,255,.12); }
  .services-grid,
  .steps-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
  .wrap { width: min(100% - 34px, 640px); }
  .top-readability-strip {
    height: 275px;
    background: linear-gradient(to bottom, rgba(0,0,0,.46) 0%, rgba(0,0,0,.32) 32%, rgba(0,0,0,.17) 64%, rgba(0,0,0,.06) 82%, rgba(0,0,0,0) 100%);
  }
  .video-bg::after {
    background:
      linear-gradient(135deg, rgba(5, 10, 13, .64) 0%, rgba(8, 15, 18, .48) 34%, rgba(13, 21, 24, .30) 64%, rgba(20, 27, 30, .14) 100%),
      radial-gradient(circle at 16% 16%, rgba(0, 0, 0, .18), transparent 45%);
  }
  .site-header { padding: 17px 18px; gap: 12px; }
  .site-header::before { inset: 10px 12px; }
  .brand { width: min(210px, 54vw); min-width: 160px; }
  .nav-cluster { gap: 12px; }
  .search-toggle { width: 36px; height: 36px; }
  .search-panel { position: fixed; top: 76px; left: 17px; right: 17px; width: auto; }
  .search-input { font-size: 16px; }
  .search-results { left: 17px; right: 17px; width: auto; top: 132px; max-height: 58vh; }
  .mobile-panel { right: 17px; top: 76px; }
  .home-intro-logo { top: 118px; width: min(100%, 360px); padding: 0 10px; }
  .home-intro-logo img { width: min(286px, 80vw); }
  .hero {
    min-height: 100svh;
    padding: 350px 22px 52px;
  }
  .desktop-hero-headline { display: none; }
  .mobile-hero-headline { display: block; }
  .hero h1,
  h2,
  h3,
  .service-card h3,
  .step-card h3,
  .glass h2 {
    letter-spacing: -0.012em;
    word-spacing: 0.012em;
  }
  .hero h1 {
    font-size: clamp(45.6px, 12.8vw, 57.6px);
    line-height: .93;
    letter-spacing: -0.048em;
    word-spacing: .04em;
  }
  .hero p { font-size: 18px; line-height: 1.4; margin-top: 18px; }
  .pill-row { gap: 10px; margin-top: 22px; }
  .btn { min-height: 46px; padding: 11px 17px; }
  .section { padding: 68px 0; }
  .proof-section { padding-top: 6px; }
  .proof-wrap { grid-template-columns: repeat(2, 1fr); border-radius: 24px; }
  .proof-card { min-height: 112px; padding: 22px; }
  .proof-card:nth-child(1),
  .proof-card:nth-child(2) { border-bottom: 1px solid rgba(255,255,255,.12); }
  .proof-card:nth-child(2),
  .proof-card:nth-child(4) { border-right: 0; }
  .section-head,
  .about-panel,
  .condition-panel,
  .provider-grid,
  .review-panel,
  .footer-inner { grid-template-columns: 1fr; }
  .section-head { gap: 18px; margin-bottom: 22px; }
  h2 { font-size: clamp(38px, 11vw, 54px); line-height: 1.02; }
  h3 { font-size: clamp(24px, 7vw, 32px); }
  .section-head p { font-size: 17px; }
  .about-panel,
  .condition-panel,
  .review-panel,
  .provider-panel { padding: 26px; border-radius: 28px; }
  .about-video-frame { border-radius: 24px; }

  .copy-stack p,
  .provider-copy p { font-size: 17px; }
  .footer-form { order: 1; }
  .footer-contact { order: 2; margin-top: clamp(90px, 18vh, 170px); }
  .feature-stack { align-content: start; }
  .feature-chip,
  .condition-list span { padding: 10px 13px; }
  .services-grid,
  .steps-grid { grid-template-columns: 1fr; }
  .service-card,
  .step-card { min-height: auto; padding: 26px; border-radius: 28px; }
  .condition-panel { gap: 24px; }
  #home-conditions .condition-copy { max-width: none; }
  #home-conditions .condition-copy h2 { font-size: clamp(31px, 9.1vw, 44px); line-height: 1.04; max-width: 100%; }
  .condition-copy,
  .condition-video-frame,
  .condition-list { grid-column: auto; grid-row: auto; }
  .condition-video-frame { border-radius: 24px; }
  .condition-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 0; }
  .condition-list span { white-space: normal; }
  .provider-panel-head { margin-bottom: 22px; }
  .provider-grid-unified { gap: 24px; }
  .provider-card {
    min-height: auto;
    align-items: flex-start;
    flex-direction: row;
    gap: 16px;
  }
  .provider-card-text {
    flex: 1 1 auto;
    padding-top: 2px;
  }
  .provider-card h3 {
    max-width: none;
    font-size: clamp(23px, 6.2vw, 32px);
    line-height: 1.06;
  }
  .provider-card p {
    font-size: 16px;
    margin-top: 8px;
  }
  .provider-photo { width: 102px; height: 124px; border-radius: 24px; }
  .provider-copy {
    max-width: 312px;
  }
  .provider-copy p {
    line-height: 1.5;
  }
  .provider-copy p + p {
    margin-top: 18px;
  }
  #home-reviews blockquote {
    max-width: 310px;
    line-height: 1.18;
  }
  blockquote { font-size: clamp(25px, 7vw, 34px); }
  .site-footer { padding-top: 72px; }
  .footer-form { border-radius: 28px; }
  .footer-bottom { flex-direction: column; padding-bottom: 8px; }
  .modal-backdrop { padding: 18px; }
  .modal-card { border-radius: 28px; max-height: calc(100vh - 36px); overflow: auto; }
  .modal-layout { grid-template-columns: 1fr; }
  .modal-visual { min-height: 180px; order: -1; }
  .schedule-week { grid-template-columns: repeat(2, 1fr); }
  .schedule-request { grid-template-columns: 1fr; }
  .schedule-toolbar { flex-direction: column; align-items: stretch; }
  .schedule-toolbar p { margin-bottom: 0; }
  .schedule-message,
  .schedule-confirm { grid-column: auto; }
  .schedule-confirm { grid-template-columns: 1fr; }
  .schedule-submit { width: 100%; }
  .modal-actions {
    position: sticky;
    top: 0;
    right: auto;
    margin: -4px 0 12px auto;
    width: fit-content;
    z-index: 20;
  }
  .modal-card.schedule-modal .modal-call { display: none; }
  .modal-card.schedule-modal .modal-call-inline {
    display: inline-flex;
    width: fit-content;
    margin: 10px 0 8px;
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid rgba(246,244,238,.16);
    background: rgba(5,10,13,.34);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    color: #fff;
    text-decoration: none;
    transition: background .22s ease, color .22s ease, border-color .22s ease;
  }
  .modal-card.schedule-modal .modal-call-inline:hover { background: var(--accent); color: #111; }
}

@media (max-width: 420px) {
  .brand { width: 178px; min-width: 152px; }
  .site-header { padding-left: 14px; padding-right: 14px; }
  .nav-cluster { gap: 8px; }
  .menu-btn { font-size: 14px; }
  .home-intro-logo { top: 112px; }
  .home-intro-logo img { width: min(270px, 78vw); }
  .hero { padding-top: 333px; padding-left: 18px; padding-right: 18px; }
  .hero h1 { font-size: clamp(41.6px, 12.56vw, 49.6px); }
  .hero p { font-size: 17px; }
  .pill-row { flex-direction: column; align-items: stretch; }
  .btn { width: 100%; }
}

@media (max-width: 430px) {
  .proof-wrap { grid-template-columns: 1fr; }
  .proof-card { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .schedule-week { grid-template-columns: 1fr; }
  .schedule-day { min-height: auto; }
  .condition-list { grid-template-columns: 1fr; }
  .proof-card:last-child { border-bottom: 0; }
}

@media (max-width: 760px) {
  .desktop-only-break { display: none; }
}


/* Prevent mobile Safari auto-detected addresses/phone numbers from showing unwanted underlines */
.footer-contact,
.footer-contact *,
.footer-contact a,
.footer-contact a:visited {
  text-decoration: none !important;
  -webkit-text-decoration: none !important;
  text-decoration-line: none !important;
  border-bottom: 0 !important;
}


/* Fabrizio v1 light glass refinements */
body.marina-site {
  --accent: #69b8c5;
  --accent-soft: rgba(105,184,197,.20);
  --river: #aee3ea;
  --green: #dfeee9;
}
body.marina-site .video-bg::after {
  background:
    linear-gradient(rgba(0, 0, 0, .06), rgba(0, 0, 0, .06)),
    linear-gradient(135deg, rgba(4, 25, 34, .64) 0%, rgba(10, 53, 67, .44) 34%, rgba(46, 97, 108, .22) 64%, rgba(232, 247, 250, .08) 100%),
    radial-gradient(circle at 18% 16%, rgba(0, 0, 0, .18), transparent 45%),
    radial-gradient(circle at 86% 72%, rgba(178, 232, 240, .20), transparent 44%);
}
body.marina-site .top-readability-strip {
  background: linear-gradient(to bottom, rgba(0,0,0,.32) 0%, rgba(0,0,0,.20) 30%, rgba(0,0,0,.08) 64%, rgba(0,0,0,0) 100%);
}
body.marina-site .home-intro-logo img { width: min(350px, 37vw); }
body.marina-site .brand { width: clamp(190px, 16vw, 250px); }
body.marina-site .site-header::before {
  background: rgba(10, 37, 47, .38);
  border-color: rgba(255,255,255,.20);
}
body.marina-site .nav-contact-pill { background: rgba(105,184,197,.92); color: #06232c; }
body.marina-site .btn.accent,
body.marina-site .schedule-submit,
body.marina-site .appointment-slot.active { background: var(--accent); color: #06232c; }
body.marina-site .glass,
body.marina-site .service-card,
body.marina-site .step-card,
body.marina-site .footer-form {
  background: linear-gradient(145deg, rgba(255,255,255,.82), rgba(233,247,250,.58));
  border-color: rgba(255,255,255,.60);
  box-shadow: 0 28px 80px rgba(5, 25, 32, .20);
  color: #092833;
}
body.marina-site .glass h2,
body.marina-site .glass h3,
body.marina-site .service-card h3,
body.marina-site .step-card h3,
body.marina-site .footer-form h3,
body.marina-site .team-grid h3 { color: #071f29; }
body.marina-site .glass p,
body.marina-site .service-card p,
body.marina-site .step-card p,
body.marina-site .provider-copy p,
body.marina-site .footer-form label span { color: rgba(7,31,41,.78); }
body.marina-site .glass strong,
body.marina-site .footer-contact strong,
body.marina-site .provider-copy strong { color: #061e28; }
body.marina-site .proof-card { border-color: rgba(9,40,51,.12); }
body.marina-site .proof-card:hover,
body.marina-site .proof-card:focus-visible,
body.marina-site .service-card:hover,
body.marina-site .service-card:focus-visible,
body.marina-site .step-card[role="button"]:hover,
body.marina-site .step-card[role="button"]:focus-visible {
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(216,244,249,.76));
  border-color: rgba(105,184,197,.70);
  transform: translateY(-3px);
  outline: none;
}
body.marina-site .card-action,
body.marina-site .text-link {
  background: rgba(10, 75, 91, .08);
  border-color: rgba(10, 75, 91, .14);
  color: #0b6f82;
}
body.marina-site .service-card:hover .card-action,
body.marina-site .service-card:focus-visible .card-action {
  background: var(--accent);
  color: #06232c;
  border-color: rgba(105,184,197,.80);
}
body.marina-site .condition-list span,
body.marina-site .selected-time {
  background: rgba(10,75,91,.08);
  border-color: rgba(10,75,91,.13);
  color: rgba(7,31,41,.82);
}
body.marina-site blockquote { color: #071f29; }
body.marina-site .quote-credit { margin-top: 16px; font-weight: 600; color: rgba(7,31,41,.70); }
body.marina-site .inline-link { color: #0b6f82; font-weight: 600; }
body.marina-site .button-link { border: 0; cursor: pointer; font: inherit; }
body.marina-site .team-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

body.marina-site .panel-eyebrow {
  font-size: 13px;
  line-height: 1;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 700;
  color: #27c9ff;
  margin: 0 0 20px;
}

body.marina-site .team-grid article {
  min-height: 260px;
  padding: 24px;
  border-radius: 26px;
  background: rgba(255,255,255,.42);
  border: 1px solid rgba(9,40,51,.10);
}
body.marina-site .team-grid article span {
  display: block;
  color: #0b6f82;
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 14px;
}
body.marina-site .team-grid article p { font-size: 16px; line-height: 1.45; color: rgba(7,31,41,.76); }
body.marina-site .front-office-grid {
  margin-top: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: calc((((100% - (14px * 4)) / 5) * 3) + (14px * 2));
}
body.marina-site .front-office-inline-eyebrow {
  margin-top: 24px;
}
body.marina-site .concept-video-frame { position: relative; }
body.marina-site .concept-media-note {
  position: absolute;
  right: 16px;
  bottom: 16px;
  z-index: 3;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  color: rgba(6,30,40,.78);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .02em;
}
body.marina-site .modal-backdrop { background: rgba(2,16,21,.44); }
body.marina-site .modal-card {
  background: linear-gradient(145deg, rgba(255,255,255,.95), rgba(228,247,250,.86));
  border-color: rgba(255,255,255,.62);
  color: #071f29;
}
body.marina-site .modal-card h2,
body.marina-site .modal-text,
body.marina-site .modal-text ul,
body.marina-site .schedule-toolbar label,
body.marina-site .schedule-request label { color: #071f29; }
body.marina-site .modal-text p,
body.marina-site .modal-text li,
body.marina-site .schedule-toolbar p { color: rgba(7,31,41,.76); }
body.marina-site .modal-close,
body.marina-site .modal-call {
  background: rgba(6, 44, 56, .08);
  border-color: rgba(6, 44, 56, .16);
  color: #071f29;
}
body.marina-site .modal-close:hover,
body.marina-site .modal-call:hover { background: var(--accent); color: #06232c; }
body.marina-site .schedule-toolbar,
body.marina-site .schedule-request,
body.marina-site .schedule-day {
  background: rgba(255,255,255,.54);
  border-color: rgba(9,40,51,.12);
}
body.marina-site .schedule-day strong { color: #071f29; }
body.marina-site .schedule-day > span { color: rgba(7,31,41,.60); }
body.marina-site .schedule-toolbar select,
body.marina-site .schedule-request input,
body.marina-site .schedule-request select,
body.marina-site .schedule-request textarea,
body.marina-site .footer-form input,
body.marina-site .footer-form textarea {
  background: rgba(255,255,255,.72);
  border-color: rgba(9,40,51,.14);
  color: #071f29;
}
body.marina-site .appointment-slot {
  background: rgba(10,75,91,.08);
  border-color: rgba(10,75,91,.14);
  color: #07313f;
}
body.marina-site .appointment-slot:hover,
body.marina-site .appointment-slot:focus-visible { background: rgba(105,184,197,.28); color: #071f29; }
body.marina-site .modal-visual { background: rgba(255,255,255,.46); border-color: rgba(9,40,51,.12); }
body.marina-site .site-footer::before { background: linear-gradient(to top, rgba(0,0,0,.36), rgba(0,0,0,.18), rgba(0,0,0,0)); }
body.marina-site .footer-contact p,
body.marina-site .footer-bottom,
body.marina-site .footer-reservation { color: rgba(255,255,255,.82); }
body.marina-site .footer-contact strong { color: #fff; }
body.marina-site .social-row a:hover { background: var(--accent); }
@media (max-width: 1180px) {
  body.marina-site .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.marina-site .front-office-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 100%;
  }
}
@media (max-width: 760px) {
  body.marina-site .home-intro-logo img { width: min(260px, 80vw); }
  body.marina-site .team-grid { grid-template-columns: 1fr; }
  body.marina-site .front-office-grid { grid-template-columns: 1fr; max-width: 100%; }
  body.marina-site .team-grid article { min-height: auto; }
  body.marina-site .concept-media-note { font-size: 11px; right: 12px; bottom: 12px; }
}


/* Fabrizio v1 refinements: requested nav topics + light bright glass */
body.marina-site .desktop-nav { gap: 2px; }
body.marina-site .nav-link {
  padding: 9px 10px;
  font-size: 14px;
  white-space: nowrap;
}
body.marina-site .nav-appointment-pill {
  border: 0;
  margin-left: 5px;
  color: #06232c;
  background: rgba(226, 161, 21, .92);
}
body.marina-site .nav-appointment-pill:hover,
body.marina-site .nav-appointment-pill:focus-visible {
  background: #fff;
  color: #06232c;
}
body.marina-site .nav-dropdown-wide { min-width: 285px; }
body.marina-site .mobile-panel button {
  display: block;
  width: 100%;
  border: 1px solid rgba(246,244,238,.14);
  padding: 15px 16px;
  border-radius: 18px;
  background: rgba(226,161,21,.88);
  color: #06232c;
  text-align: left;
  font-weight: 600;
}
body.marina-site .treatment-grid .service-card { min-height: 248px; }
body.marina-site .conditions-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
body.marina-site .condition-card {
  min-height: 218px;
  padding: 30px;
  border-radius: 32px;
  background: linear-gradient(145deg, rgba(255,255,255,.80), rgba(230,247,250,.56));
  border: 1px solid rgba(255,255,255,.60);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 28px 80px rgba(5, 25, 32, .18);
  color: #092833;
  cursor: pointer;
  transition: background .22s ease, transform .22s ease, border-color .22s ease;
}
body.marina-site .condition-card:hover,
body.marina-site .condition-card:focus-visible {
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(216,244,249,.76));
  border-color: rgba(105,184,197,.70);
  transform: translateY(-3px);
  outline: none;
}
body.marina-site .condition-card h3 { margin: 0 0 14px; color: #071f29; }
body.marina-site .condition-card p { margin: 0; color: rgba(7,31,41,.76); }
body.marina-site .testimonial-cards {
  display: grid;
  grid-template-columns: 1.25fr repeat(3, minmax(0, 1fr));
  gap: 14px;
}
body.marina-site .testimonial-card {
  min-height: 244px;
  padding: 30px;
  border-radius: 32px;
  background: linear-gradient(145deg, rgba(255,255,255,.86), rgba(233,247,250,.62));
  border: 1px solid rgba(255,255,255,.62);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  box-shadow: 0 28px 80px rgba(5,25,32,.18);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
body.marina-site .testimonial-card blockquote {
  margin: 0;
  font-size: clamp(22px, 2.1vw, 32px);
  line-height: 1.08;
  letter-spacing: -.02em;
  color: #071f29;
}
body.marina-site .testimonial-card:not(.featured-testimonial) blockquote { font-size: clamp(18px, 1.35vw, 23px); line-height: 1.16; }
body.marina-site .featured-testimonial { background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(209,243,249,.78)); }
body.marina-site #home-forms { position: relative; top: -108px; height: 0; width: 0; overflow: hidden; }
@media (max-width: 1320px) {
  body.marina-site .brand { width: clamp(170px, 15vw, 232px); min-width: 170px; }
  body.marina-site .nav-link { font-size: 13px; padding: 8px 8px; }
  body.marina-site .nav-cluster { gap: 10px; }
}
@media (max-width: 1120px) {
  body.marina-site .desktop-nav { display: none; }
  body.marina-site .menu-btn { display: inline-flex; }
}
@media (max-width: 960px) {
  body.marina-site .conditions-grid,
  body.marina-site .testimonial-cards { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  body.marina-site .conditions-grid,
  body.marina-site .testimonial-cards { grid-template-columns: 1fr; }
  body.marina-site .condition-card,
  body.marina-site .testimonial-card { min-height: auto; padding: 24px; }
}


/* Fabrizio v2 requested changes: Jakarta font, brighter cyan, clearer blurred glass, white text */
body.marina-site {
  --font: "Plus Jakarta Sans", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  --accent: #24c8e8;
  --accent-soft: rgba(36,200,232,.24);
  --river: #b9f4ff;
  color: #fff;
}
body.marina-site .video-bg::after {
  background:
    linear-gradient(rgba(0,0,0,.03), rgba(0,0,0,.03)),
    linear-gradient(135deg, rgba(1,18,28,.52) 0%, rgba(6,63,84,.34) 34%, rgba(31,125,147,.18) 64%, rgba(232,252,255,.06) 100%),
    radial-gradient(circle at 16% 15%, rgba(0,0,0,.16), transparent 44%),
    radial-gradient(circle at 84% 72%, rgba(36,200,232,.22), transparent 45%);
}
body.marina-site .home-intro-logo img { width: min(298px, 31.5vw); }
@media (min-width: 761px) {
  body.marina-site .brand { transform: translateX(-14px); }
  body.marina-site #home-hero h1 { font-size: clamp(46.4px, 6.24vw, 94.4px); max-width: 900px; }
}
body.marina-site .site-header::before {
  background: rgba(7, 35, 48, .18);
  border-color: rgba(255,255,255,.22);
  box-shadow: 0 18px 46px rgba(0,18,28,.16);
  backdrop-filter: blur(28px) saturate(135%);
  -webkit-backdrop-filter: blur(28px) saturate(135%);
}
body.marina-site .nav-appointment-pill,
body.marina-site .mobile-panel button,
body.marina-site .btn.accent,
body.marina-site .schedule-submit,
body.marina-site .appointment-slot.active {
  background: var(--accent) !important;
  color: #052431 !important;
  border-color: rgba(36,200,232,.70) !important;
}
body.marina-site .nav-appointment-pill:hover,
body.marina-site .nav-appointment-pill:focus-visible,
body.marina-site .btn.accent:hover,
body.marina-site .schedule-submit:hover,
body.marina-site .appointment-slot.active:hover {
  background: #78eaff !important;
  color: #021a24 !important;
}
body.marina-site .search-toggle:hover,
body.marina-site .menu-btn:hover,
body.marina-site .footer-contact a:hover,
body.marina-site .footer-bottom a:hover,
body.marina-site .text-link,
body.marina-site .inline-link,
body.marina-site .kicker,
body.marina-site .eyebrow,
body.marina-site .step-card span,
body.marina-site .search-result-label { color: var(--accent) !important; }
body.marina-site .glass,
body.marina-site .proof-wrap,
body.marina-site .service-card,
body.marina-site .step-card,
body.marina-site .condition-card,
body.marina-site .testimonial-card,
body.marina-site .footer-form,
body.marina-site .team-grid article,
body.marina-site .schedule-toolbar,
body.marina-site .schedule-request,
body.marina-site .schedule-day,
body.marina-site .modal-card {
  background: rgba(255,255,255,.105) !important;
  border-color: rgba(255,255,255,.22) !important;
  color: #fff !important;
  box-shadow: 0 28px 86px rgba(0, 21, 32, .20) !important;
  backdrop-filter: blur(26px) saturate(132%) !important;
  -webkit-backdrop-filter: blur(26px) saturate(132%) !important;
}
body.marina-site .proof-card,
body.marina-site .condition-list span,
body.marina-site .selected-time,
body.marina-site .card-action,
body.marina-site .social-row a,
body.marina-site .footer-form input,
body.marina-site .footer-form textarea,
body.marina-site .schedule-toolbar select,
body.marina-site .schedule-request input,
body.marina-site .schedule-request select,
body.marina-site .schedule-request textarea,
body.marina-site .appointment-slot,
body.marina-site .modal-close,
body.marina-site .modal-call,
body.marina-site .modal-visual {
  background: rgba(255,255,255,.095) !important;
  border-color: rgba(255,255,255,.20) !important;
  color: rgba(255,255,255,.92) !important;
  backdrop-filter: blur(18px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
}
body.marina-site .proof-card:hover,
body.marina-site .proof-card:focus-visible,
body.marina-site .service-card:hover,
body.marina-site .service-card:focus-visible,
body.marina-site .step-card:hover,
body.marina-site .step-card:focus-visible,
body.marina-site .condition-card:hover,
body.marina-site .condition-card:focus-visible,
body.marina-site .testimonial-card:hover,
body.marina-site .testimonial-card:focus-visible {
  background: rgba(255,255,255,.16) !important;
  border-color: rgba(36,200,232,.58) !important;
  color: #fff !important;
}
body.marina-site .glass h2,
body.marina-site .glass h3,
body.marina-site .service-card h3,
body.marina-site .step-card h3,
body.marina-site .condition-card h3,
body.marina-site .footer-form h3,
body.marina-site .team-grid h3,
body.marina-site .team-grid article span,
body.marina-site .modal-card h2,
body.marina-site .schedule-day strong,
body.marina-site blockquote,
body.marina-site .stat {
  color: #fff !important;
}
body.marina-site .glass p,
body.marina-site .service-card p,
body.marina-site .step-card p,
body.marina-site .condition-card p,
body.marina-site .provider-copy p,
body.marina-site .team-grid article p,
body.marina-site .review-panel p,
body.marina-site .modal-text,
body.marina-site .modal-text p,
body.marina-site .modal-text li,
body.marina-site .modal-text ul,
body.marina-site .section-head p,
body.marina-site .copy-stack p,
body.marina-site .proof-card p,
body.marina-site .footer-form label span,
body.marina-site .schedule-toolbar label,
body.marina-site .schedule-request label,
body.marina-site .schedule-toolbar p,
body.marina-site .schedule-day > span,
body.marina-site .quote-credit {
  color: rgba(255,255,255,.76) !important;
}
body.marina-site .glass strong,
body.marina-site .copy-stack strong,
body.marina-site .provider-copy strong,
body.marina-site .footer-contact strong,
body.marina-site .hero p strong { color: #fff !important; }
body.marina-site .footer-form input::placeholder,
body.marina-site .footer-form textarea::placeholder { color: rgba(255,255,255,.54); }
body.marina-site .concept-media-note { display: none !important; }
body.marina-site .about-video-frame,
body.marina-site .condition-video-frame {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.20);
  backdrop-filter: blur(20px) saturate(130%);
  -webkit-backdrop-filter: blur(20px) saturate(130%);
}
@media (max-width: 760px) {
  body.marina-site .home-intro-logo img { width: min(221px, 68vw); }
  body.marina-site .hero h1 { font-size: clamp(40px, 11.44vw, 51.2px); }
}


/* Fabrizio v3 refinements: local Jakarta fonts, clearer glass, category image cards */
body.marina-site {
  --font: "Plus Jakarta Sans", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  --accent: #22cdef;
  --accent-soft: rgba(34,205,239,.22);
  --river: #c8f6ff;
}
body.marina-site .video-bg::after {
  background:
    linear-gradient(rgba(0,0,0,.04), rgba(0,0,0,.04)),
    linear-gradient(135deg, rgba(2,16,24,.58) 0%, rgba(7,45,61,.34) 34%, rgba(20,108,129,.16) 64%, rgba(235,252,255,.06) 100%),
    radial-gradient(circle at 16% 15%, rgba(0,0,0,.18), transparent 44%),
    radial-gradient(circle at 84% 72%, rgba(34,205,239,.18), transparent 45%);
}
body.marina-site .home-intro-logo { top: 110px; }
body.marina-site .home-intro-logo img { width: min(255px, 27vw); }
body.marina-site .site-header::before {
  background: rgba(8, 36, 48, .16);
  border-color: rgba(255,255,255,.18);
}
@media (min-width: 761px) {
  body.marina-site .brand { transform: translateX(-14px); }
  body.marina-site #home-hero h1 { font-size: clamp(44.8px, 5.92vw, 88px); max-width: 860px; }
}
@media (max-width: 760px) {
  body.marina-site .home-intro-logo img { width: min(202px, 62vw); }
  body.marina-site .hero h1 { font-size: clamp(38.4px, 10.88vw, 49.6px); }
}
body.marina-site .nav-appointment-pill,
body.marina-site .mobile-panel button,
body.marina-site .btn.accent,
body.marina-site .schedule-submit,
body.marina-site .appointment-slot.active {
  background: var(--accent) !important;
  color: #062634 !important;
  border-color: rgba(34,205,239,.72) !important;
}
body.marina-site .nav-appointment-pill:hover,
body.marina-site .nav-appointment-pill:focus-visible,
body.marina-site .btn.accent:hover,
body.marina-site .schedule-submit:hover,
body.marina-site .appointment-slot.active:hover {
  background: #78eaff !important;
  color: #041f2a !important;
}
body.marina-site .glass,
body.marina-site .proof-wrap,
body.marina-site .service-card,
body.marina-site .step-card,
body.marina-site .condition-card,
body.marina-site .testimonial-card,
body.marina-site .footer-form,
body.marina-site .team-grid article,
body.marina-site .schedule-toolbar,
body.marina-site .schedule-request,
body.marina-site .schedule-day,
body.marina-site .modal-card {
  background: linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.05)) !important;
  border-color: rgba(255,255,255,.22) !important;
  color: #fff !important;
  backdrop-filter: blur(28px) saturate(132%) !important;
  -webkit-backdrop-filter: blur(28px) saturate(132%) !important;
  box-shadow: 0 26px 82px rgba(0,18,28,.18) !important;
}
body.marina-site .proof-wrap { background: rgba(255,255,255,.10) !important; }
body.marina-site .proof-card,
body.marina-site .condition-list span,
body.marina-site .selected-time,
body.marina-site .card-action,
body.marina-site .social-row a,
body.marina-site .footer-form input,
body.marina-site .footer-form textarea,
body.marina-site .schedule-toolbar select,
body.marina-site .schedule-request input,
body.marina-site .schedule-request select,
body.marina-site .schedule-request textarea,
body.marina-site .appointment-slot,
body.marina-site .modal-close,
body.marina-site .modal-call,
body.marina-site .modal-visual {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.18) !important;
  color: rgba(255,255,255,.92) !important;
}
body.marina-site .glass h2,
body.marina-site .glass h3,
body.marina-site .service-card h3,
body.marina-site .step-card h3,
body.marina-site .condition-card h3,
body.marina-site .footer-form h3,
body.marina-site .team-grid h3,
body.marina-site .team-grid article span,
body.marina-site .modal-card h2,
body.marina-site .schedule-day strong,
body.marina-site blockquote,
body.marina-site .stat,
body.marina-site .practice-card h3 { color: #fff !important; }
body.marina-site .glass p,
body.marina-site .service-card p,
body.marina-site .step-card p,
body.marina-site .condition-card p,
body.marina-site .provider-copy p,
body.marina-site .team-grid article p,
body.marina-site .review-panel p,
body.marina-site .modal-text,
body.marina-site .modal-text p,
body.marina-site .modal-text li,
body.marina-site .modal-text ul,
body.marina-site .section-head p,
body.marina-site .copy-stack p,
body.marina-site .proof-card p,
body.marina-site .footer-form label span,
body.marina-site .schedule-toolbar label,
body.marina-site .schedule-request label,
body.marina-site .schedule-toolbar p,
body.marina-site .schedule-day > span,
body.marina-site .quote-credit,
body.marina-site .practice-card p { color: rgba(255,255,255,.82) !important; }
body.marina-site .proof-card:hover,
body.marina-site .proof-card:focus-visible,
body.marina-site .service-card:hover,
body.marina-site .service-card:focus-visible,
body.marina-site .step-card:hover,
body.marina-site .step-card:focus-visible,
body.marina-site .condition-card:hover,
body.marina-site .condition-card:focus-visible,
body.marina-site .testimonial-card:hover,
body.marina-site .testimonial-card:focus-visible {
  background: rgba(255,255,255,.14) !important;
  border-color: rgba(34,205,239,.56) !important;
}
body.marina-site .practice-categories-section { padding-top: 18px; }
body.marina-site .practice-categories-head { margin-bottom: 22px; }
body.marina-site .practice-categories-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 34px;
  align-items: start;
}
body.marina-site .practice-card {
  cursor: pointer;
  transition: transform .24s ease;
}
body.marina-site .practice-card:focus-visible { outline: none; }
body.marina-site .practice-card:hover,
body.marina-site .practice-card:focus-visible { transform: translateY(-4px); }
body.marina-site .practice-card-image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1.28 / 1;
  border-radius: 0;
  background: rgba(255,255,255,.08);
}
body.marina-site .practice-card-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top, rgba(0,0,0,.72) 0%, rgba(0,0,0,.34) 26%, rgba(0,0,0,.06) 58%, rgba(0,0,0,0) 100%),
    linear-gradient(to top, rgba(3,26,36,.22), rgba(3,26,36,0) 54%);
  transition: background .24s ease, opacity .24s ease;
}
body.marina-site .practice-card:hover .practice-card-image::after,
body.marina-site .practice-card:focus-visible .practice-card-image::after {
  background:
    linear-gradient(to top, rgba(0,0,0,.82) 0%, rgba(0,0,0,.48) 32%, rgba(0,0,0,.14) 62%, rgba(0,0,0,.04) 100%),
    linear-gradient(to top, rgba(5,34,46,.36), rgba(5,34,46,0) 54%);
}
body.marina-site .practice-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .28s ease;
}
body.marina-site .practice-card:hover .practice-card-image img,
body.marina-site .practice-card:focus-visible .practice-card-image img { transform: scale(1.02); }
body.marina-site .practice-card-title {
  position: absolute;
  left: 24px;
  right: 18px;
  bottom: 18px;
  z-index: 2;
}
body.marina-site .practice-card-title h3 {
  margin: 0;
  font-size: clamp(34px, 2.9vw, 56px);
  line-height: 1;
}
body.marina-site .practice-card > p {
  margin: 18px 2px 0;
  text-align: center;
  font-size: 17px;
  line-height: 1.45;
}
body.marina-site .modal-card {
  background: linear-gradient(145deg, rgba(7,32,42,.78), rgba(18,66,81,.54)) !important;
}
body.marina-site .modal-visual.has-image::after {
  background:
    linear-gradient(to top, rgba(5,10,13,.62) 0%, rgba(5,10,13,.20) 46%, rgba(5,10,13,.05) 100%),
    linear-gradient(135deg, rgba(5,10,13,.24), rgba(5,10,13,0) 58%);
}
@media (max-width: 1080px) {
  body.marina-site .practice-categories-grid { gap: 24px; }
}
@media (max-width: 760px) {
  body.marina-site .practice-categories-grid { grid-template-columns: 1fr; gap: 28px; }
  body.marina-site .practice-card-title { left: 18px; bottom: 15px; }
  body.marina-site .practice-card-title h3 { font-size: clamp(30px, 9vw, 44px); }
  body.marina-site .practice-card > p { margin-top: 14px; font-size: 16px; }
}


/* Fabrizio v4 category card refinements */
body.marina-site .practice-categories-section {
  padding-top: 12px;
}
body.marina-site .practice-categories-head {
  margin-bottom: 28px;
}
body.marina-site .practice-categories-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
  align-items: start;
}
body.marina-site .practice-card {
  cursor: pointer;
  transition: transform .24s ease;
}
body.marina-site .practice-card:hover,
body.marina-site .practice-card:focus-visible {
  transform: translateY(-4px);
  outline: none;
}
body.marina-site .practice-card-image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1.36 / 1;
  background: rgba(255,255,255,.08);
}
body.marina-site .practice-card-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .28s ease, filter .24s ease;
}
body.marina-site .practice-card-image::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to top, rgba(0,0,0,.78) 0%, rgba(0,0,0,.50) 18%, rgba(0,0,0,.16) 42%, rgba(0,0,0,0) 72%);
  transition: background .24s ease;
}
body.marina-site .practice-card:hover .practice-card-image::before,
body.marina-site .practice-card:focus-visible .practice-card-image::before {
  background: linear-gradient(to top, rgba(0,0,0,.88) 0%, rgba(0,0,0,.62) 24%, rgba(0,0,0,.24) 50%, rgba(0,0,0,.05) 78%);
}
body.marina-site .practice-card:hover .practice-card-image img,
body.marina-site .practice-card:focus-visible .practice-card-image img {
  transform: scale(1.018);
  filter: brightness(.88);
}
body.marina-site .practice-card-title {
  position: absolute;
  left: 22px;
  right: 18px;
  bottom: 18px;
  z-index: 2;
}
body.marina-site .practice-card-title h3 {
  margin: 0;
  color: #fff !important;
  font-size: clamp(30px, 2.65vw, 46px);
  line-height: 1;
  letter-spacing: -.02em;
}
body.marina-site .practice-card > p {
  margin: 18px 2px 0;
  text-align: center;
  color: rgba(255,255,255,.84);
  font-size: 17px;
  line-height: 1.45;
}
@media (max-width: 900px) {
  body.marina-site .practice-categories-grid {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  body.marina-site .practice-card-image {
    aspect-ratio: 1.46 / 1;
  }
}
@media (max-width: 760px) {
  body.marina-site .practice-card-title {
    left: 18px;
    bottom: 15px;
  }
  body.marina-site .practice-card-title h3 {
    font-size: clamp(28px, 8.8vw, 40px);
  }
  body.marina-site .practice-card > p {
    font-size: 16px;
    margin-top: 14px;
  }
}


/* Fabrizio v5 cleanup: no fake placeholder boxes, real video media, cleaner fade behavior */
body.marina-site .video-bg {
  background: #031821 !important;
}
body.marina-site .video-bg video {
  object-position: center center;
  filter: none;
}
body.marina-site .video-bg::after {
  background:
    linear-gradient(135deg, rgba(0, 12, 18, .72) 0%, rgba(0, 20, 30, .50) 34%, rgba(3, 48, 62, .30) 64%, rgba(6, 90, 110, .16) 100%),
    radial-gradient(circle at 15% 12%, rgba(0,0,0,.24), transparent 42%),
    linear-gradient(to top, rgba(0,0,0,.34) 0%, rgba(0,0,0,.16) 32%, rgba(0,0,0,0) 65%);
}
body.marina-site .home-intro-logo {
  transition: opacity .55s ease, transform .55s ease;
}
body.marina-site.home-logo-hidden .home-intro-logo {
  opacity: 0;
  transform: translateX(-50%) translateY(-8px);
}
body.marina-site .site-header::before {
  transition: opacity .55s ease;
}
body.marina-site .site-header .brand img {
  transition: opacity .55s ease;
}
body.marina-site .about-video-frame,
body.marina-site .condition-video-frame {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  overflow: hidden;
}
body.marina-site .about-video-frame video,
body.marina-site .condition-video-frame video {
  background: transparent !important;
}
body.marina-site .about-panel,
body.marina-site .condition-panel {
  background: rgba(255,255,255,.095) !important;
}
body.marina-site .practice-card > p {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 92%;
}
body.marina-site .practice-card-image::after {
  display: none !important;
}
body.marina-site .practice-card-image::before {
  z-index: 1;
}
body.marina-site .practice-card-title {
  text-align: left !important;
}
body.marina-site .practice-card-title h3 {
  text-align: left !important;
}
body.marina-site .practice-card:hover .practice-card-image img,
body.marina-site .practice-card:focus-visible .practice-card-image img {
  filter: brightness(.82) !important;
}
@media (max-width: 760px) {
  body.marina-site .practice-card > p { max-width: 100%; }
}


/* Fabrizio v6: restore original hero background video, keep group shot only in content video frame */
body.marina-site .video-bg video.hero-bg-video {
  object-position: center center !important;
}
body.marina-site .video-bg::after {
  background:
    linear-gradient(135deg, rgba(0, 12, 18, .74) 0%, rgba(0, 20, 30, .54) 34%, rgba(3, 48, 62, .34) 64%, rgba(6, 90, 110, .20) 100%),
    radial-gradient(circle at 15% 12%, rgba(0,0,0,.28), transparent 42%),
    linear-gradient(to top, rgba(0,0,0,.36) 0%, rgba(0,0,0,.16) 32%, rgba(0,0,0,0) 65%);
}
body.marina-site .home-intro-logo {
  transition: opacity .55s ease, transform .55s ease !important;
}
body.marina-site.home-logo-hidden .home-intro-logo {
  opacity: 0 !important;
  transform: translateX(-50%) translateY(-8px) !important;
}
body.home-page.marina-site .site-header .brand img {
  opacity: 0;
}
body.home-page.marina-site.home-scrolled .site-header .brand img,
body.home-page.marina-site .site-header.search-open .brand img,
body.menu-open.home-page.marina-site .site-header .brand img {
  opacity: 1 !important;
}
body.marina-site .site-header::before {
  opacity: 0;
  transition: opacity .55s ease !important;
}
body.marina-site .site-header.scrolled::before,
body.marina-site .site-header.search-open::before,
body.menu-open.marina-site .site-header::before {
  opacity: 1 !important;
}
/* Keep category text left-aligned with its image/title, never centered. */
body.marina-site .practice-card > p {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 92%;
}
body.marina-site .practice-card-title,
body.marina-site .practice-card-title h3 {
  text-align: left !important;
}


/* Fabrizio v7: no images in the three category popups, restore rounded corners */
body.marina-site .practice-card-image {
  border-radius: 30px !important;
}
body.marina-site .practice-card-image::before,
body.marina-site .practice-card-image::after,
body.marina-site .practice-card-image img {
  border-radius: 30px !important;
}
body.marina-site .practice-card {
  border-radius: 30px;
}
body.marina-site .text-only-modal {
  width: min(920px, 100%);
}
body.marina-site .text-only-modal .modal-layout {
  grid-template-columns: 1fr;
}
body.marina-site .text-only-modal .modal-copy {
  padding-right: 0;
}
body.marina-site .text-only-modal .modal-visual {
  display: none;
}


/* Fabrizio v8: pure white text for copy sitting directly over video/background */
body.marina-site .hero p,
body.marina-site .section-head p,
body.marina-site .practice-card > p,
body.marina-site .footer-contact p,
body.marina-site .footer-bottom,
body.marina-site .footer-reservation,
body.marina-site .testimonial-head p,
body.marina-site .practice-categories-head p,
body.marina-site #home-conditions > .section-head p,
body.marina-site #home-treatment > .section-head p,
body.marina-site #home-services > .section-head p,
body.marina-site #home-team > .section-head p,
body.marina-site #home-patient-info > .section-head p,
body.marina-site #home-about > .section-head p {
  color: #fff !important;
}
body.marina-site .hero p strong,
body.marina-site .section-head p strong,
body.marina-site .practice-card > p strong,
body.marina-site .footer-contact p strong {
  color: #fff !important;
  opacity: 1 !important;
}


/* Fabrizio v10: reduce facility heading so it does not overlap the video */
#home-facility .condition-copy h2 {
  font-size: clamp(34px, 4.35vw, 62px);
  line-height: 1.03;
  max-width: 470px;
}
#home-facility .condition-copy {
  max-width: 470px;
}
@media (max-width: 1100px) and (min-width: 761px) {
  #home-facility .condition-copy h2 {
    font-size: clamp(32px, 3.9vw, 54px);
    max-width: 430px;
  }
  #home-facility .condition-copy {
    max-width: 430px;
  }
}


/* Fabrizio v11 testimonial redesign */
body.marina-site .testimonial-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
body.marina-site .featured-testimonial {
  grid-column: 1 / -1;
  min-height: 440px;
}
body.marina-site .dr-phil-testimonial {
  position: relative;
  overflow: hidden;
  padding: 0;
  border-radius: 34px;
  background:
    linear-gradient(90deg, rgba(10, 7, 17, 0.16) 0%, rgba(17, 10, 28, 0.26) 28%, rgba(27, 12, 43, 0.48) 54%, rgba(31, 11, 47, 0.74) 72%, rgba(18, 4, 31, 0.88) 100%),
    url('../img/marina-treatment-care.jpg');
  background-size: cover;
  background-position: left center;
  background-repeat: no-repeat;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 32px 90px rgba(8, 18, 26, .22);
}
body.marina-site .dr-phil-testimonial::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.02) 0%, rgba(0,0,0,.06) 36%, rgba(0,0,0,.22) 56%, rgba(0,0,0,.46) 74%, rgba(0,0,0,.58) 100%);
  pointer-events: none;
}
body.marina-site .featured-testimonial-copy {
  position: relative;
  z-index: 2;
  min-height: 440px;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  padding: clamp(32px, 4vw, 48px);
}
body.marina-site .dr-phil-testimonial blockquote,
body.marina-site .dr-phil-testimonial .quote-credit {
  width: min(42%, 520px);
  margin-left: auto;
  text-align: left;
  color: #fff !important;
}
body.marina-site .dr-phil-testimonial blockquote {
  font-size: clamp(34px, 4.3vw, 60px);
  line-height: .98;
  letter-spacing: -.035em;
  text-shadow: 0 8px 28px rgba(0,0,0,.25);
}
body.marina-site .dr-phil-testimonial .quote-credit {
  margin-top: 20px;
  font-size: clamp(20px, 1.45vw, 26px);
  font-weight: 600;
  text-shadow: 0 6px 18px rgba(0,0,0,.22);
}
body.marina-site .testimonial-card:not(.dr-phil-testimonial) {
  min-height: 250px;
}
body.marina-site .testimonial-card:not(.dr-phil-testimonial) blockquote {
  font-size: clamp(20px, 1.4vw, 25px);
}
@media (max-width: 1040px) {
  body.marina-site .testimonial-cards {
    grid-template-columns: 1fr;
  }
  body.marina-site .featured-testimonial {
    min-height: 380px;
  }
  body.marina-site .featured-testimonial-copy {
    min-height: 380px;
    padding: 30px;
  }
  body.marina-site .dr-phil-testimonial blockquote,
  body.marina-site .dr-phil-testimonial .quote-credit {
    width: min(50%, 440px);
  }
}
@media (max-width: 760px) {
  body.marina-site .featured-testimonial {
    min-height: 300px;
  }
  body.marina-site .featured-testimonial-copy {
    min-height: 300px;
    justify-content: end;
    padding: 24px;
  }
  body.marina-site .dr-phil-testimonial {
    background-position: 26% center;
  }
  body.marina-site .dr-phil-testimonial blockquote,
  body.marina-site .dr-phil-testimonial .quote-credit {
    width: min(62%, 320px);
  }
  body.marina-site .dr-phil-testimonial blockquote {
    font-size: clamp(26px, 8vw, 40px);
    line-height: 1.0;
  }
  body.marina-site .dr-phil-testimonial .quote-credit {
    font-size: 18px;
    margin-top: 14px;
  }
}
@media (max-width: 560px) {
  body.marina-site .dr-phil-testimonial blockquote,
  body.marina-site .dr-phil-testimonial .quote-credit {
    width: min(68%, 260px);
  }
}


/* Fabrizio v12: make modal window itself scrollable and lock page background scroll */
html.modal-open,
body.modal-open {
  overflow: hidden !important;
  height: 100%;
}
body.marina-site .modal-backdrop {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 24px;
}
body.marina-site .modal-card {
  margin: auto 0;
  max-height: calc(100dvh - 48px);
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 760px) {
  body.marina-site .modal-backdrop {
    padding: 16px;
  }
  body.marina-site .modal-card {
    max-height: calc(100dvh - 32px);
  }
}


/* Fabrizio v13: treatment popups text-only and pill buttons turn blue on hover */
body.marina-site .service-card:hover .card-action,
body.marina-site .service-card:focus-visible .card-action {
  background: var(--accent) !important;
  border-color: rgba(34,205,239,.42) !important;
  color: #062634 !important;
  box-shadow: 0 10px 22px rgba(34,205,239,.18);
}


/* Fabrizio v14: remove bottom darkening gradient from the six condition popup photos */
body.marina-site .modal-card.condition-photo-modal .modal-visual.has-image::after {
  display: none;
}


/* Fabrizio v15: square facility video with crossfade loop */
body.marina-site #home-facility .facility-loop-frame {
  position: relative;
  aspect-ratio: 1 / 1 !important;
  width: min(100%, 460px);
  max-width: 460px;
  justify-self: center;
  background: rgba(0, 0, 0, .18);
}
body.marina-site .facility-loop-frame .facility-loop-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity .75s ease;
  border-radius: inherit;
}
body.marina-site .facility-loop-frame .facility-loop-video.active {
  opacity: 1;
}
@media (max-width: 760px) {
  body.marina-site #home-facility .facility-loop-frame {
    width: min(100%, 420px);
  }
}


/* Fabrizio v16: scrolling logo ticker above footer boilerplate */
body.marina-site .logo-ticker-wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin-top: 40px;
  margin-bottom: 22px;
  padding: 14px 0;
}
body.marina-site .logo-ticker {
  position: relative;
  overflow: hidden;
  width: 100%;
}
body.marina-site .logo-ticker-fade {
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(90deg, rgba(6,17,26,1) 0%, rgba(6,17,26,0) 6%, rgba(6,17,26,0) 94%, rgba(6,17,26,1) 100%);
}
body.marina-site .logo-ticker-track {
  display: flex;
  align-items: center;
  gap: 0;
  width: max-content;
  will-change: transform;
  animation: fabrizioLogoTicker 56s linear infinite;
}
body.marina-site .logo-strip-item {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}
body.marina-site .logo-strip-item img {
  display: block;
  height: 52px;
  width: auto;
  max-width: none;
  opacity: .96;
}
@keyframes fabrizioLogoTicker {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (max-width: 960px) {
  body.marina-site .logo-ticker-wrap {
    margin-top: 34px;
    margin-bottom: 18px;
    padding: 12px 0;
  }
  body.marina-site .logo-strip-item img {
    height: 42px;
  }
  body.marina-site .logo-ticker-track {
    animation-duration: 48s;
  }
}
@media (max-width: 640px) {
  body.marina-site .logo-strip-item img {
    height: 34px;
  }
  body.marina-site .logo-ticker-track {
    animation-duration: 40s;
  }
}


/* Fabrizio v17: keep popup content scrollable but remove visible white scrollbars */
html.modal-open,
body.modal-open {
  scrollbar-width: none;
}
html.modal-open::-webkit-scrollbar,
body.modal-open::-webkit-scrollbar,
body.marina-site .modal-backdrop::-webkit-scrollbar,
body.marina-site .modal-card::-webkit-scrollbar,
body.marina-site .modal-text::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}
body.marina-site .modal-backdrop,
body.marina-site .modal-card,
body.marina-site .modal-text {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}


/* Fabrizio v18: clearer, more see-through diffused glass with less white tint */
body.marina-site .glass,
body.marina-site .proof-wrap,
body.marina-site .service-card,
body.marina-site .step-card,
body.marina-site .condition-card,
body.marina-site .testimonial-card,
body.marina-site .footer-form,
body.marina-site .team-grid article,
body.marina-site .schedule-toolbar,
body.marina-site .schedule-request,
body.marina-site .schedule-day,
body.marina-site .modal-card {
  background: linear-gradient(145deg, rgba(10,28,39,.24), rgba(10,28,39,.10)) !important;
  border-color: rgba(255,255,255,.15) !important;
  box-shadow: 0 24px 72px rgba(0,14,24,.18) !important;
  backdrop-filter: blur(34px) saturate(138%) brightness(1.05) !important;
  -webkit-backdrop-filter: blur(34px) saturate(138%) brightness(1.05) !important;
}
body.marina-site .modal-card {
  background: linear-gradient(145deg, rgba(8,26,36,.28), rgba(12,42,54,.14)) !important;
}
body.marina-site .proof-wrap {
  background: rgba(12,32,43,.18) !important;
}
body.marina-site .proof-card,
body.marina-site .condition-list span,
body.marina-site .selected-time,
body.marina-site .card-action,
body.marina-site .social-row a,
body.marina-site .footer-form input,
body.marina-site .footer-form textarea,
body.marina-site .schedule-toolbar select,
body.marina-site .schedule-request input,
body.marina-site .schedule-request select,
body.marina-site .schedule-request textarea,
body.marina-site .appointment-slot,
body.marina-site .modal-close,
body.marina-site .modal-call,
body.marina-site .modal-visual {
  background: rgba(255,255,255,.045) !important;
  border-color: rgba(255,255,255,.14) !important;
  backdrop-filter: blur(22px) saturate(132%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(132%) !important;
}
body.marina-site .service-card:hover,
body.marina-site .service-card:focus-visible,
body.marina-site .step-card:hover,
body.marina-site .step-card:focus-visible,
body.marina-site .condition-card:hover,
body.marina-site .condition-card:focus-visible,
body.marina-site .testimonial-card:hover,
body.marina-site .testimonial-card:focus-visible,
body.marina-site .team-grid article:hover,
body.marina-site .team-grid article:focus-visible {
  background: linear-gradient(145deg, rgba(12,34,47,.30), rgba(12,34,47,.14)) !important;
}
body.marina-site .footer-form input::placeholder,
body.marina-site .footer-form textarea::placeholder,
body.marina-site .schedule-request input::placeholder,
body.marina-site .schedule-request textarea::placeholder {
  color: rgba(255,255,255,.48) !important;
}


/* Fabrizio v19: preserve page scroll position when opening/closing popups */
html.modal-open {
  overflow: hidden !important;
}
body.modal-open {
  overflow: hidden !important;
  height: auto !important;
}
body.marina-site .modal-backdrop {
  position: fixed !important;
  inset: 0 !important;
}


/* Fabrizio v20: horizontal cropped, larger facility video */
body.marina-site #home-facility .facility-loop-frame {
  aspect-ratio: 16 / 9 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0;
  justify-self: stretch !important;
  align-self: start;
}
body.marina-site #home-facility .facility-loop-frame .facility-loop-video {
  object-fit: cover !important;
  object-position: center center !important;
}
@media (min-width: 1180px) {
  body.marina-site #home-facility .facility-loop-frame {
    width: min(100%, 720px) !important;
    justify-self: end !important;
  }
}
@media (max-width: 760px) {
  body.marina-site #home-facility .facility-loop-frame {
    width: 100% !important;
    max-width: none !important;
    aspect-ratio: 16 / 9 !important;
  }
}


/* Fabrizio v21: restore Dr. Phil photo block and refine quote scale */
body.marina-site .dr-phil-testimonial {
  background:
    linear-gradient(90deg, rgba(10, 7, 17, 0.06) 0%, rgba(17, 10, 28, 0.14) 30%, rgba(27, 12, 43, 0.34) 54%, rgba(31, 11, 47, 0.62) 72%, rgba(18, 4, 31, 0.82) 100%),
    url('../img/marina-treatment-care.jpg') !important;
  background-size: cover !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
}
body.marina-site .dr-phil-testimonial::before {
  background: linear-gradient(90deg, rgba(0,0,0,.00) 0%, rgba(0,0,0,.03) 34%, rgba(0,0,0,.14) 54%, rgba(0,0,0,.34) 72%, rgba(0,0,0,.50) 100%);
}
body.marina-site .dr-phil-testimonial blockquote,
body.marina-site .dr-phil-testimonial .quote-credit {
  width: min(41%, 500px);
}
body.marina-site .dr-phil-testimonial blockquote {
  font-size: clamp(30px, 3.85vw, 52px);
  line-height: .99;
}
body.marina-site .dr-phil-testimonial .quote-credit {
  font-size: clamp(18px, 1.25vw, 23px);
  margin-top: 16px;
}
@media (max-width: 1040px) {
  body.marina-site .dr-phil-testimonial blockquote,
  body.marina-site .dr-phil-testimonial .quote-credit {
    width: min(49%, 430px);
  }
}
@media (max-width: 760px) {
  body.marina-site .dr-phil-testimonial blockquote,
  body.marina-site .dr-phil-testimonial .quote-credit {
    width: min(60%, 305px);
  }
  body.marina-site .dr-phil-testimonial blockquote {
    font-size: clamp(24px, 7vw, 36px);
  }
  body.marina-site .dr-phil-testimonial .quote-credit {
    font-size: 17px;
  }
}


/* Fabrizio v22: shorter secondary testimonial panels */
body.marina-site .testimonial-card:not(.dr-phil-testimonial) {
  min-height: 218px;
  padding-top: 22px;
  padding-bottom: 20px;
}
body.marina-site .testimonial-card:not(.dr-phil-testimonial) blockquote {
  margin-bottom: 22px;
}
body.marina-site .testimonial-card:not(.dr-phil-testimonial) .quote-credit {
  margin-top: 0;
}
@media (max-width: 760px) {
  body.marina-site .testimonial-card:not(.dr-phil-testimonial) {
    min-height: auto;
    padding-top: 22px;
    padding-bottom: 20px;
  }
}


/* Fabrizio v23: make the logo ticker much more visible above the boilerplate */
body.marina-site .logo-ticker-wrap {
  margin-top: 54px;
  margin-bottom: 28px;
  padding: 18px 0;
}
body.marina-site .logo-ticker {
  min-height: 72px;
}
body.marina-site .logo-ticker-fade {
  background: linear-gradient(90deg, rgba(6,17,26,.96) 0%, rgba(6,17,26,0) 7%, rgba(6,17,26,0) 93%, rgba(6,17,26,.96) 100%);
}
body.marina-site .logo-ticker-track {
  animation-duration: 64s;
}
body.marina-site .logo-strip-item img {
  height: 68px;
  opacity: 1;
}
@media (max-width: 960px) {
  body.marina-site .logo-ticker-wrap {
    margin-top: 42px;
    margin-bottom: 22px;
    padding: 14px 0;
  }
  body.marina-site .logo-ticker {
    min-height: 56px;
  }
  body.marina-site .logo-strip-item img {
    height: 52px;
  }
  body.marina-site .logo-ticker-track {
    animation-duration: 56s;
  }
}
@media (max-width: 640px) {
  body.marina-site .logo-strip-item img {
    height: 42px;
  }
  body.marina-site .logo-ticker-track {
    animation-duration: 48s;
  }
}


/* Fabrizio v25: force glass-panel body copy to pure white for readability */
body.marina-site .glass p,
body.marina-site .glass li,
body.marina-site .glass blockquote,
body.marina-site .proof-wrap p,
body.marina-site .proof-wrap li,
body.marina-site .proof-card p,
body.marina-site .proof-card li,
body.marina-site .service-card p,
body.marina-site .service-card li,
body.marina-site .step-card p,
body.marina-site .step-card li,
body.marina-site .condition-card p,
body.marina-site .condition-card li,
body.marina-site .testimonial-card p,
body.marina-site .testimonial-card li,
body.marina-site .testimonial-card blockquote,
body.marina-site .testimonial-card .quote-credit,
body.marina-site .footer-form p,
body.marina-site .footer-form label span,
body.marina-site .team-grid article p,
body.marina-site .team-grid article li,
body.marina-site .schedule-toolbar p,
body.marina-site .schedule-day p,
body.marina-site .schedule-request p,
body.marina-site .schedule-request label span,
body.marina-site .modal-card p,
body.marina-site .modal-card li,
body.marina-site .modal-card blockquote,
body.marina-site .modal-card .modal-text,
body.marina-site .modal-card .quote-credit,
body.marina-site .practice-card p,
body.marina-site .practice-card li,
body.marina-site .condition-copy p,
body.marina-site .section-copy p,
body.marina-site .split-copy p,
body.marina-site .footer-copy p {
  color: #fff !important;
}
body.marina-site .footer-form input,
body.marina-site .footer-form textarea,
body.marina-site .schedule-toolbar select,
body.marina-site .schedule-request input,
body.marina-site .schedule-request select,
body.marina-site .schedule-request textarea,
body.marina-site .modal-card input,
body.marina-site .modal-card select,
body.marina-site .modal-card textarea {
  color: #fff !important;
}
body.marina-site .footer-form input::placeholder,
body.marina-site .footer-form textarea::placeholder,
body.marina-site .schedule-request input::placeholder,
body.marina-site .schedule-request textarea::placeholder,
body.marina-site .modal-card input::placeholder,
body.marina-site .modal-card textarea::placeholder {
  color: rgba(255,255,255,.72) !important;
}


/* Fabrizio v26: modal open/close should never jump the page */
html.modal-open,
body.modal-open {
  overflow: hidden !important;
  height: auto !important;
}
body.modal-open {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: auto !important;
}
body.marina-site .modal-backdrop {
  position: fixed !important;
  inset: 0 !important;
  overscroll-behavior: contain;
}


/* Fabrizio v27: widow cleanup, larger logo ticker, and no modal jump */
html.modal-open,
body.modal-open {
  overflow: auto !important;
  height: auto !important;
  position: static !important;
}
body.marina-site .modal-backdrop.open {
  position: fixed !important;
  inset: 0 !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
}
body.marina-site p,
body.marina-site li,
body.marina-site blockquote,
body.marina-site .quote-credit,
body.marina-site .card-action,
body.marina-site .modal-text {
  text-wrap: pretty;
}
body.marina-site h1,
body.marina-site h2,
body.marina-site h3,
body.marina-site .stat {
  text-wrap: balance;
}
body.marina-site .section-head p {
  max-width: 43ch;
}
body.marina-site .proof-card p {
  max-width: 28ch;
}
body.marina-site .about-panel .copy-stack {
  max-width: 42ch;
}
body.marina-site .about-panel .copy-stack p {
  max-width: 40ch;
}
body.marina-site .practice-card > p {
  max-width: 35ch !important;
  text-align: left !important;
}
body.marina-site .service-card p,
body.marina-site .condition-card p,
body.marina-site .step-card p {
  max-width: 31ch;
}
body.marina-site .treatment-grid .service-card p {
  max-width: 30ch;
}
body.marina-site .service-card h3,
body.marina-site .condition-card h3,
body.marina-site .step-card h3 {
  max-width: 12.5ch;
}
body.marina-site .team-grid article p {
  max-width: 28ch;
}
body.marina-site .footer-contact p {
  max-width: 37ch;
}
body.marina-site .testimonial-card {
  justify-content: flex-start !important;
  gap: 22px;
}
body.marina-site .testimonial-card:not(.dr-phil-testimonial) {
  min-height: 188px !important;
  padding-top: 24px !important;
  padding-bottom: 22px !important;
}
body.marina-site .testimonial-card:not(.dr-phil-testimonial) blockquote {
  margin-bottom: 0 !important;
  max-width: 24ch;
}
body.marina-site .testimonial-card:not(.dr-phil-testimonial) .quote-credit {
  margin-top: 0 !important;
  max-width: 26ch;
}
body.marina-site .logo-ticker-section {
  position: relative;
  overflow: hidden;
  padding: 18px 0 10px;
  margin: -8px 0 22px;
}
body.marina-site .logo-ticker-section .logo-ticker-wrap {
  margin: 0 !important;
  padding: 18px 0 !important;
}
body.marina-site .logo-ticker-section .logo-ticker {
  min-height: 150px !important;
  display: flex;
  align-items: center;
}
body.marina-site .logo-ticker-section .logo-ticker-track {
  animation-duration: 82s !important;
}
body.marina-site .logo-ticker-section .logo-strip-item img {
  height: 136px !important;
  width: auto !important;
  opacity: 1 !important;
}
body.marina-site .site-footer .logo-ticker-wrap {
  display: none !important;
}
@media (max-width: 960px) {
  body.marina-site .section-head p { max-width: 40ch; }
  body.marina-site .logo-ticker-section .logo-ticker { min-height: 108px !important; }
  body.marina-site .logo-ticker-section .logo-strip-item img { height: 98px !important; }
  body.marina-site .logo-ticker-section .logo-ticker-track { animation-duration: 68s !important; }
}
@media (max-width: 640px) {
  body.marina-site .service-card p,
  body.marina-site .condition-card p,
  body.marina-site .step-card p,
  body.marina-site .practice-card > p,
  body.marina-site .team-grid article p {
    max-width: 100% !important;
  }
  body.marina-site .service-card h3,
  body.marina-site .condition-card h3,
  body.marina-site .step-card h3 {
    max-width: 100% !important;
  }
  body.marina-site .logo-ticker-section { padding: 10px 0 2px; margin-bottom: 12px; }
  body.marina-site .logo-ticker-section .logo-ticker { min-height: 78px !important; }
  body.marina-site .logo-ticker-section .logo-strip-item img { height: 68px !important; }
  body.marina-site .logo-ticker-section .logo-ticker-track { animation-duration: 54s !important; }
}


/* Fabrizio v28: lighten the background video and reduce the heavy dark overlay */
body.marina-site .video-bg {
  background: #092331 !important;
}
body.marina-site .video-bg video,
body.marina-site .video-bg video.hero-bg-video {
  filter: brightness(1.16) contrast(.96) saturate(1.06) !important;
}
body.marina-site .video-bg::after {
  background:
    linear-gradient(135deg, rgba(0, 12, 18, .46) 0%, rgba(0, 20, 30, .32) 34%, rgba(3, 48, 62, .18) 64%, rgba(6, 90, 110, .10) 100%),
    radial-gradient(circle at 15% 12%, rgba(0,0,0,.13), transparent 42%),
    linear-gradient(to top, rgba(0,0,0,.20) 0%, rgba(0,0,0,.08) 32%, rgba(0,0,0,0) 65%) !important;
}
body.marina-site .top-shade {
  opacity: .72;
}
body.marina-site .site-footer::before {
  background: linear-gradient(to top, rgba(0,0,0,.22), rgba(0,0,0,.10), rgba(0,0,0,0)) !important;
}
@media (max-width: 760px) {
  body.marina-site .video-bg video,
  body.marina-site .video-bg video.hero-bg-video {
    filter: brightness(1.13) contrast(.97) saturate(1.05) !important;
  }
  body.marina-site .video-bg::after {
    background:
      linear-gradient(135deg, rgba(0, 12, 18, .50) 0%, rgba(0, 20, 30, .35) 38%, rgba(3, 48, 62, .20) 70%, rgba(6, 90, 110, .10) 100%),
      radial-gradient(circle at 15% 12%, rgba(0,0,0,.14), transparent 42%),
      linear-gradient(to top, rgba(0,0,0,.24) 0%, rgba(0,0,0,.09) 35%, rgba(0,0,0,0) 68%) !important;
  }
}


/* Fabrizio v29: replace moving logo ticker with a fixed logo strip under the facility video */
body.marina-site .logo-ticker-section,
body.marina-site .logo-ticker-wrap {
  display: none !important;
}
body.marina-site #home-facility .facility-logo-strip {
  grid-column: 2;
  grid-row: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 8px 6px;
  margin-top: 2px;
}
body.marina-site #home-facility .facility-logo-strip img {
  display: block;
  width: 100%;
  max-width: 760px;
  height: auto;
  opacity: 1;
}
body.marina-site #home-facility .facility-list {
  grid-row: 3;
  margin-top: 4px;
}
@media (max-width: 760px) {
  body.marina-site #home-facility .facility-logo-strip {
    grid-column: auto;
    grid-row: auto;
    padding: 4px 0 2px;
    margin-top: -2px;
  }
  body.marina-site #home-facility .facility-logo-strip img {
    max-width: 100%;
  }
}


/* Fabrizio v30: lighten the three category images and soften the bottom dark gradient */
body.marina-site .practice-card-image img {
  filter: brightness(1.08) saturate(1.03) contrast(1.01) !important;
}
body.marina-site .practice-card-image::before {
  background: linear-gradient(to top, rgba(0,0,0,.48) 0%, rgba(0,0,0,.28) 18%, rgba(0,0,0,.10) 42%, rgba(0,0,0,0) 72%) !important;
}
body.marina-site .practice-card:hover .practice-card-image::before,
body.marina-site .practice-card:focus-visible .practice-card-image::before {
  background: linear-gradient(to top, rgba(0,0,0,.58) 0%, rgba(0,0,0,.36) 24%, rgba(0,0,0,.14) 50%, rgba(0,0,0,.03) 78%) !important;
}
body.marina-site .practice-card:hover .practice-card-image img,
body.marina-site .practice-card:focus-visible .practice-card-image img {
  transform: scale(1.018);
  filter: brightness(1.0) saturate(1.03) contrast(1.01) !important;
}


/* Fabrizio v31: stabilize Dr. Phil testimonial, shift copy left, add leading, reduce widow */
body.marina-site .dr-phil-testimonial,
body.marina-site .dr-phil-testimonial:hover,
body.marina-site .dr-phil-testimonial:focus-visible {
  background:
    linear-gradient(90deg, rgba(10, 7, 17, 0.06) 0%, rgba(17, 10, 28, 0.14) 30%, rgba(27, 12, 43, 0.34) 54%, rgba(31, 11, 47, 0.62) 72%, rgba(18, 4, 31, 0.82) 100%),
    url('../img/marina-treatment-care.jpg') !important;
  background-size: cover !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
  border-color: rgba(255,255,255,.18) !important;
  transform: none !important;
}
body.marina-site .dr-phil-testimonial::before {
  background: linear-gradient(90deg, rgba(0,0,0,.01) 0%, rgba(0,0,0,.04) 34%, rgba(0,0,0,.16) 54%, rgba(0,0,0,.34) 72%, rgba(0,0,0,.50) 100%) !important;
}
body.marina-site .featured-testimonial-copy {
  padding: clamp(30px, 3.4vw, 42px) clamp(64px, 6vw, 84px) clamp(30px, 3.4vw, 42px) clamp(34px, 3.8vw, 48px) !important;
}
body.marina-site .dr-phil-testimonial blockquote,
body.marina-site .dr-phil-testimonial .quote-credit {
  width: min(49%, 620px) !important;
  margin-left: auto;
  text-align: left;
}
body.marina-site .dr-phil-testimonial blockquote {
  font-size: clamp(32px, 4.0vw, 58px) !important;
  line-height: 1.06 !important;
  letter-spacing: -.03em !important;
  text-wrap: balance;
}
body.marina-site .dr-phil-testimonial .quote-credit {
  margin-top: 18px !important;
  font-size: clamp(18px, 1.35vw, 25px) !important;
}
@media (max-width: 1040px) {
  body.marina-site .featured-testimonial-copy {
    padding: 28px 42px 28px 28px !important;
  }
  body.marina-site .dr-phil-testimonial blockquote,
  body.marina-site .dr-phil-testimonial .quote-credit {
    width: min(56%, 500px) !important;
  }
}
@media (max-width: 760px) {
  body.marina-site .featured-testimonial-copy {
    padding: 24px !important;
  }
  body.marina-site .dr-phil-testimonial blockquote,
  body.marina-site .dr-phil-testimonial .quote-credit {
    width: min(68%, 340px) !important;
  }
  body.marina-site .dr-phil-testimonial blockquote {
    font-size: clamp(24px, 7.2vw, 38px) !important;
    line-height: 1.04 !important;
  }
}


/* Fabrizio v32: add a faint left-to-right darkening gradient above the fold for better hero readability */
body.marina-site #home-hero {
  position: relative;
  overflow: hidden;
}
body.marina-site #home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(6, 16, 24, .34) 0%, rgba(6, 16, 24, .25) 22%, rgba(6, 16, 24, .14) 48%, rgba(6, 16, 24, .05) 72%, rgba(6, 16, 24, 0) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, .05) 0%, rgba(0, 0, 0, .02) 28%, rgba(0, 0, 0, 0) 60%);
  pointer-events: none;
  z-index: 0;
}
body.marina-site #home-hero .hero-inner {
  position: relative;
  z-index: 1;
}
@media (max-width: 760px) {
  body.marina-site #home-hero::before {
    background:
      linear-gradient(90deg, rgba(6, 16, 24, .38) 0%, rgba(6, 16, 24, .28) 26%, rgba(6, 16, 24, .16) 54%, rgba(6, 16, 24, .06) 76%, rgba(6, 16, 24, 0) 100%),
      linear-gradient(180deg, rgba(0, 0, 0, .07) 0%, rgba(0, 0, 0, .03) 30%, rgba(0, 0, 0, 0) 64%);
  }
}


/* Fabrizio v33: move recognition logos to one-on-one care and restore facility buttons under video */
body.marina-site #home-facility .facility-logo-strip {
  display: none !important;
}
body.marina-site #home-facility .facility-list {
  grid-column: 2 !important;
  grid-row: 2 !important;
  margin-top: 2px !important;
}
body.marina-site #home-about .about-media-stack {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  align-self: start;
}
body.marina-site #home-about .about-logo-strip {
  display: flex;
  width: min(100%, 720px);
  padding: 20px 0 0;
  margin-top: 0;
  align-self: flex-start;
}
body.marina-site #home-about .about-logo-strip img {
  display: block;
  width: 100%;
  height: auto;
  opacity: 1;
}
@media (max-width: 760px) {
  body.marina-site #home-about .about-media-stack {
    grid-column: auto;
    grid-row: auto;
  }
  body.marina-site #home-about .about-logo-strip {
    width: 100%;
    padding: 12px 0 0;
    margin-top: 0;
    align-self: stretch;
  }
  body.marina-site #home-facility .facility-list {
    grid-column: auto !important;
    grid-row: auto !important;
  }
}


/* Fabrizio v34: forms popup buttons */
body.marina-site [data-modal="forms"] {
  cursor: pointer;
}
body.marina-site .form-link-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 24px 0 8px;
}
body.marina-site .form-link-button {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 14px 18px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.075);
  color: #fff !important;
  font-weight: 650;
  line-height: 1.18;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 12px 30px rgba(0,14,24,.16);
  backdrop-filter: blur(18px) saturate(130%);
  -webkit-backdrop-filter: blur(18px) saturate(130%);
  transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
}
body.marina-site .form-link-button:hover,
body.marina-site .form-link-button:focus-visible {
  transform: translateY(-2px);
  background: var(--accent) !important;
  border-color: rgba(34,205,239,.70) !important;
  color: #052431 !important;
  outline: none;
}
body.marina-site .form-link-button.wide {
  grid-column: 1 / -1;
}
body.marina-site .form-modal-note {
  margin-top: 18px !important;
  max-width: 52ch;
  font-size: 16px !important;
}
@media (max-width: 640px) {
  body.marina-site .form-link-grid {
    grid-template-columns: 1fr;
  }
  body.marina-site .form-link-button.wide {
    grid-column: auto;
  }
}


/* Fabrizio v35: doctor referrals popup */
body.marina-site [data-modal="referrals"] {
  cursor: pointer;
}
body.marina-site .referral-groups {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  margin-top: 24px;
}
body.marina-site .referral-group {
  padding: 18px;
  border-radius: 26px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.045);
  backdrop-filter: blur(18px) saturate(130%);
  -webkit-backdrop-filter: blur(18px) saturate(130%);
}
body.marina-site .referral-group h3 {
  margin: 0 0 14px;
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.05;
  color: #fff !important;
}
body.marina-site .referral-name-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
body.marina-site .referral-name-grid span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 13px 17px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.075);
  color: #fff !important;
  font-weight: 650;
  line-height: 1.18;
  text-align: center;
  box-shadow: 0 12px 30px rgba(0,14,24,.12);
}
body.marina-site .form-link-grid.single {
  grid-template-columns: 1fr;
  max-width: 360px;
}
@media (max-width: 640px) {
  body.marina-site .referral-name-grid {
    grid-template-columns: 1fr;
  }
  body.marina-site .form-link-grid.single {
    max-width: none;
  }
}


/* Fabrizio v36: stronger hover states for every link/button/card that opens or links */
body.marina-site a[href],
body.marina-site button,
body.marina-site [role="button"],
body.marina-site .card-action,
body.marina-site .form-link-button,
body.marina-site .footer-reservation,
body.marina-site .text-link.button-link,
body.marina-site .appointment-slot,
body.marina-site .modal-call,
body.marina-site .modal-close {
  transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, filter .2s ease !important;
}
body.marina-site .footer-reservation:hover,
body.marina-site .footer-reservation:focus-visible,
body.marina-site .text-link.button-link:hover,
body.marina-site .text-link.button-link:focus-visible,
body.marina-site .modal-call:hover,
body.marina-site .modal-call:focus-visible,
body.marina-site .modal-close:hover,
body.marina-site .modal-close:focus-visible,
body.marina-site .appointment-slot:hover,
body.marina-site .appointment-slot:focus-visible,
body.marina-site .form-link-button:hover,
body.marina-site .form-link-button:focus-visible {
  transform: translateY(-2px) !important;
  background: var(--accent) !important;
  border-color: rgba(34,205,239,.72) !important;
  color: #052431 !important;
  box-shadow: 0 14px 30px rgba(34,205,239,.18) !important;
  outline: none !important;
}

/* Marina v57: map pins belong to their specific office, not the social links. */
body.marina-site .footer-contact .footer-location {
  display: flex !important;
  align-items: flex-start !important;
  gap: 9px !important;
}
body.marina-site .footer-location-map {
  display: block !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 24px !important;
  margin-top: 2px !important;
  padding: 0 !important;
  color: rgba(255,255,255,.78) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}
body.marina-site .footer-location-map svg {
  display: block;
  width: 18px;
  height: 18px;
  fill: currentColor;
}
body.marina-site .footer-location-map:hover,
body.marina-site .footer-location-map:focus-visible {
  color: var(--accent) !important;
  background: transparent !important;
  outline: none !important;
}
body.marina-site .footer-location > span { display: block; }

/* Clear, glassy controls in the footer. */
body.marina-site .footer-reservation,
body.marina-site .social-row a {
  background: rgba(255,255,255,.13) !important;
  border-color: rgba(255,255,255,.28) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.20), 0 8px 22px rgba(0,10,16,.12) !important;
  backdrop-filter: blur(16px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
}

/* Marina v58: one identical, unboxed lower-right plus for every interactive card. */
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;
  z-index: 3 !important;
  top: auto !important;
  left: auto !important;
  right: 22px !important;
  bottom: 17px !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;
  transform: rotate(0deg) !important;
  transition: color .2s ease, transform .2s ease !important;
}
body.marina-site .treatment-grid .service-card .card-action::after,
body.marina-site .conditions-grid .condition-card .card-action::after,
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;
}
body.marina-site .service-card:hover .card-action,
body.marina-site .service-card:focus-visible .card-action,
body.marina-site .practice-card:hover .card-action,
body.marina-site .practice-card:focus-visible .card-action {
  background: var(--accent) !important;
  border-color: rgba(34,205,239,.72) !important;
  color: #052431 !important;
  box-shadow: 0 12px 24px rgba(34,205,239,.16) !important;
}
body.marina-site [data-modal].step-card:hover,
body.marina-site [data-modal].step-card:focus-visible,
body.marina-site [data-modal].proof-card:hover,
body.marina-site [data-modal].proof-card:focus-visible,
body.marina-site [data-modal].service-card:hover,
body.marina-site [data-modal].service-card:focus-visible,
body.marina-site [data-modal].condition-card:hover,
body.marina-site [data-modal].condition-card:focus-visible,
body.marina-site [data-modal].practice-card:hover,
body.marina-site [data-modal].practice-card:focus-visible {
  border-color: rgba(34,205,239,.72) !important;
  box-shadow: 0 22px 54px rgba(34,205,239,.10), 0 18px 58px rgba(0,14,24,.20) !important;
  filter: brightness(1.04);
}
body.marina-site .social-row a:hover,
body.marina-site .social-row a:focus-visible {
  transform: translateY(-2px) scale(1.03) !important;
  background: var(--accent) !important;
  border-color: rgba(34,205,239,.72) !important;
  outline: none !important;
}
body.marina-site .social-row a:hover svg,
body.marina-site .social-row a:focus-visible svg {
  fill: #052431 !important;
}
body.marina-site .facebook-link.needs-facebook-url {
  opacity: .82;
}

/* Fabrizio v53: Dr. Phil testimonial cropped shorter from the bottom and text shifted slightly right */
body.marina-site .featured-testimonial,
body.marina-site .dr-phil-testimonial,
body.marina-site .dr-phil-testimonial:hover,
body.marina-site .dr-phil-testimonial:focus-visible {
  min-height: 360px !important;
  transform: none !important;
}
body.marina-site .dr-phil-testimonial,
body.marina-site .dr-phil-testimonial:hover,
body.marina-site .dr-phil-testimonial:focus-visible {
  background:
    linear-gradient(90deg, rgba(10, 7, 17, 0.05) 0%, rgba(17, 10, 28, 0.12) 30%, rgba(27, 12, 43, 0.30) 53%, rgba(31, 11, 47, 0.60) 72%, rgba(18, 4, 31, 0.82) 100%),
    url('../img/marina-treatment-care.jpg') !important;
  background-size: cover !important;
  background-position: left top !important;
  background-repeat: no-repeat !important;
  border-color: rgba(255,255,255,.18) !important;
  overflow: hidden !important;
}
body.marina-site .featured-testimonial-copy {
  min-height: 360px !important;
  padding: clamp(24px, 2.6vw, 30px) clamp(92px, 8vw, 122px) clamp(22px, 2.4vw, 28px) clamp(34px, 3.8vw, 48px) !important;
  align-items: flex-end !important;
}
body.marina-site .dr-phil-testimonial blockquote,
body.marina-site .dr-phil-testimonial .quote-credit {
  width: min(58%, 780px) !important;
  max-width: 780px !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  transform: translateX(-12px) !important;
  text-align: left !important;
}
body.marina-site .dr-phil-testimonial blockquote {
  font-size: clamp(31px, 3.7vw, 54px) !important;
  line-height: 1.11 !important;
  letter-spacing: -.03em !important;
  text-wrap: balance;
}
body.marina-site .dr-phil-testimonial .quote-credit {
  margin-top: 16px !important;
  font-size: clamp(18px, 1.25vw, 23px) !important;
}
@media (max-width: 1040px) {
  body.marina-site .featured-testimonial,
  body.marina-site .dr-phil-testimonial,
  body.marina-site .dr-phil-testimonial:hover,
  body.marina-site .dr-phil-testimonial:focus-visible {
    min-height: 338px !important;
  }
  body.marina-site .featured-testimonial-copy {
    min-height: 338px !important;
    padding: 24px 54px 22px 28px !important;
  }
  body.marina-site .dr-phil-testimonial blockquote,
  body.marina-site .dr-phil-testimonial .quote-credit {
    width: min(61%, 560px) !important;
    transform: translateX(-8px) !important;
  }
}
@media (max-width: 760px) {
  body.marina-site .featured-testimonial,
  body.marina-site .dr-phil-testimonial,
  body.marina-site .dr-phil-testimonial:hover,
  body.marina-site .dr-phil-testimonial:focus-visible {
    min-height: 310px !important;
  }
  body.marina-site .featured-testimonial-copy {
    min-height: 310px !important;
    padding: 24px !important;
  }
  body.marina-site .dr-phil-testimonial blockquote,
  body.marina-site .dr-phil-testimonial .quote-credit {
    width: min(68%, 340px) !important;
    transform: none !important;
  }
  body.marina-site .dr-phil-testimonial blockquote {
    font-size: clamp(24px, 7vw, 36px) !important;
    line-height: 1.07 !important;
  }
}


/* Fabrizio v38: keep search field open while moving from icon into the field */
body.marina-site .site-search {
  position: relative;
  z-index: 80;
}
body.marina-site .site-search::after {
  content: "";
  position: absolute;
  right: -28px;
  top: 100%;
  width: min(390px, calc(100vw - 36px));
  height: 26px;
  pointer-events: auto;
  background: transparent;
}
body.marina-site .search-panel {
  top: calc(100% + 8px);
  z-index: 90;
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
  visibility: hidden;
}
body.marina-site .site-header.search-open .search-panel,
body.marina-site .site-search:hover .search-panel,
body.marina-site .site-search:focus-within .search-panel {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
  visibility: visible !important;
}
body.marina-site .search-input:hover,
body.marina-site .search-input:focus {
  border-color: rgba(36,200,232,.62) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.25), 0 0 0 3px rgba(36,200,232,.12) !important;
}
@media (max-width: 760px) {
  body.marina-site .site-search::after {
    display: none;
  }
  body.marina-site .search-panel {
    visibility: hidden;
  }
  body.marina-site .site-header.search-open .search-panel,
  body.marina-site .site-search:focus-within .search-panel {
    visibility: visible !important;
  }
}


/* Fabrizio v39: make the top header an embedded full-width bar instead of a floating pill */
body.marina-site .site-header {
  left: 0;
  right: 0;
  top: 0;
  min-height: 88px;
  padding: 18px clamp(16px, 3.2vw, 34px);
}
body.marina-site .site-header::before {
  inset: 0 !important;
  border-radius: 0 !important;
  background:
    linear-gradient(90deg, rgba(15, 23, 30, .18) 0%, rgba(38, 25, 20, .12) 54%, rgba(8, 18, 28, .16) 100%),
    rgba(10, 18, 24, .08) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.08) !important;
  backdrop-filter: blur(24px) saturate(112%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(112%) !important;
}
body.marina-site .site-header.scrolled::before,
body.marina-site .site-header.search-open::before,
body.menu-open.marina-site .site-header::before {
  opacity: 1 !important;
}
@media (max-width: 980px) {
  body.marina-site .site-header {
    padding-left: 16px;
    padding-right: 16px;
  }
}
@media (max-width: 760px) {
  body.marina-site .site-header {
    min-height: 78px;
    padding: 14px 14px;
  }
}


/* Fabrizio v40: clearer proof-stat captions approved by client */
body.marina-site .proof-card p {
  max-width: 24ch;
}
@media (max-width: 760px) {
  body.marina-site .proof-card p {
    max-width: 30ch;
  }
}


/* Fabrizio v42: refine above-fold headline, brighten eyebrow, and embed therapist headshots in team cards */
body.marina-site #home-hero .eyebrow {
  color: #fff !important;
  opacity: .96;
  text-shadow: 0 2px 16px rgba(0,0,0,.38);
}
@media (min-width: 761px) {
  body.marina-site #home-hero h1 {
    font-size: clamp(43.2px, 5.08vw, 75.2px) !important;
    line-height: .95 !important;
    letter-spacing: -.047em !important;
    max-width: 960px !important;
  }
}
@media (max-width: 760px) {
  body.marina-site #home-hero .eyebrow {
    color: #fff !important;
    letter-spacing: .13em;
  }
  body.marina-site .hero h1 {
    font-size: clamp(33.6px, 9.44vw, 44.8px) !important;
    line-height: .98 !important;
  }
}
body.marina-site .team-grid article {
  overflow: hidden !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 360px;
}
body.marina-site .team-headshot {
  width: 100%;
  height: 178px;
  margin: 0;
  overflow: hidden;
  border-radius: 30px 30px 18px 18px;
  background: rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.12);
}
body.marina-site .team-headshot img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  filter: brightness(1.04) saturate(1.02) contrast(1.02);
  transition: transform .35s ease, filter .35s ease;
}
body.marina-site .team-grid article:nth-child(1) .team-headshot img { object-position: center 20%; }
body.marina-site .team-grid article:nth-child(2) .team-headshot img { object-position: center 24%; }
body.marina-site .team-grid article:nth-child(3) .team-headshot img { object-position: center 24%; }
body.marina-site .team-grid article:nth-child(4) .team-headshot img { object-position: center 20%; }
body.marina-site .team-grid article:nth-child(5) .team-headshot img { object-position: center 23%; }
body.marina-site .team-card-body {
  padding: 22px 24px 26px;
  flex: 1;
}
body.marina-site .team-grid article:hover .team-headshot img,
body.marina-site .team-grid article:focus-visible .team-headshot img {
  transform: scale(1.035);
  filter: brightness(1.1) saturate(1.05) contrast(1.02);
}
body.marina-site .team-grid article h3 {
  margin-top: 9px;
}
body.marina-site .team-grid article p {
  margin-top: 12px;
}
@media (max-width: 1180px) {
  body.marina-site .team-headshot { height: 164px; }
  body.marina-site .team-card-body { padding: 20px 22px 24px; }
}
@media (max-width: 760px) {
  body.marina-site .team-grid article { min-height: auto; }
  body.marina-site .team-headshot { height: 220px; }
  body.marina-site .team-card-body { padding: 22px 24px 26px; }
}



/* Fabrizio v50: front-office staff panel matches physical therapist panel */
body.marina-site .front-office-panel {
  margin-top: 14px;
}
body.marina-site .front-office-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}
body.marina-site .front-office-grid .step-card {
  overflow: hidden !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 360px;
  border-radius: 26px;
}
body.marina-site .front-office-headshot {
  width: 100%;
  height: 178px;
  margin: 0;
  overflow: hidden;
  border-radius: 30px 30px 18px 18px;
  background: rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.12);
}
body.marina-site .front-office-headshot img,
body.marina-site .front-office-headshot video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 24%;
  filter: brightness(1.04) saturate(1.02) contrast(1.02);
  transition: transform .35s ease, filter .35s ease;
}
body.marina-site .front-office-headshot video {
  background: rgba(255,255,255,.03);
}
body.marina-site .front-office-grid .step-card:nth-child(1) .front-office-headshot img,
body.marina-site .front-office-grid .step-card:nth-child(1) .front-office-headshot video { object-position: center 18%; }
body.marina-site .front-office-grid .step-card:nth-child(2) .front-office-headshot img,
body.marina-site .front-office-grid .step-card:nth-child(2) .front-office-headshot video { object-position: center 22%; }
body.marina-site .front-office-grid .step-card:nth-child(3) .front-office-headshot img,
body.marina-site .front-office-grid .step-card:nth-child(3) .front-office-headshot video { object-position: center 16%; }
body.marina-site .front-office-card-body {
  flex: 1;
  padding: 22px 24px 26px;
}
body.marina-site .front-office-grid .step-card:hover .front-office-headshot img,
body.marina-site .front-office-grid .step-card:focus-visible .front-office-headshot img,
body.marina-site .front-office-grid .step-card:hover .front-office-headshot video,
body.marina-site .front-office-grid .step-card:focus-visible .front-office-headshot video {
  transform: scale(1.035);
  filter: brightness(1.1) saturate(1.05) contrast(1.02);
}
body.marina-site .front-office-card-body span {
  display: inline-flex;
  margin-bottom: 18px;
  color: #27c9ff;
  text-transform: none;
  letter-spacing: .10em;
  font-size: 12px;
  font-weight: 700;
}
body.marina-site .front-office-card-body h3 {
  margin-top: 0;
  max-width: none;
}
body.marina-site .front-office-card-body p {
  margin-top: 12px;
}
@media (max-width: 1180px) {
  body.marina-site .front-office-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  body.marina-site .front-office-headshot { height: 170px; }
}
@media (max-width: 760px) {
  body.marina-site .front-office-grid {
    grid-template-columns: 1fr;
  }
  body.marina-site .front-office-grid .step-card { min-height: auto; }
  body.marina-site .front-office-headshot { height: 220px; }
  body.marina-site .front-office-card-body { padding: 22px 24px 26px; }
}

/* Fabrizio v44: consistent darkening hover for every popup-trigger category/card */
body.marina-site [data-modal] {
  cursor: pointer;
}
body.marina-site [data-modal]:where(.proof-card, .service-card, .condition-card, .step-card),
body.marina-site .team-grid article[data-modal] {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: transform .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease, filter .22s ease;
}
body.marina-site [data-modal]:where(.proof-card, .service-card, .condition-card, .step-card)::after,
body.marina-site .team-grid article[data-modal]::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  border-radius: inherit;
  background: rgba(0, 14, 22, 0);
  transition: background .22s ease;
}
body.marina-site [data-modal]:where(.proof-card, .service-card, .condition-card, .step-card) > *,
body.marina-site .team-grid article[data-modal] > * {
  position: relative;
  z-index: 1;
}
body.marina-site [data-modal]:where(.proof-card, .service-card, .condition-card, .step-card):hover,
body.marina-site [data-modal]:where(.proof-card, .service-card, .condition-card, .step-card):focus-visible,
body.marina-site .team-grid article[data-modal]:hover,
body.marina-site .team-grid article[data-modal]:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(255,255,255,.30) !important;
  box-shadow: 0 24px 58px rgba(0, 11, 20, .24) !important;
}
body.marina-site [data-modal]:where(.proof-card, .service-card, .condition-card, .step-card):hover::after,
body.marina-site [data-modal]:where(.proof-card, .service-card, .condition-card, .step-card):focus-visible::after,
body.marina-site .team-grid article[data-modal]:hover::after,
body.marina-site .team-grid article[data-modal]:focus-visible::after {
  background: rgba(0, 14, 22, .28);
}
body.marina-site .service-card[data-modal]:hover,
body.marina-site .service-card[data-modal]:focus-visible,
body.marina-site .condition-card[data-modal]:hover,
body.marina-site .condition-card[data-modal]:focus-visible,
body.marina-site .step-card[data-modal]:hover,
body.marina-site .step-card[data-modal]:focus-visible,
body.marina-site .proof-card[data-modal]:hover,
body.marina-site .proof-card[data-modal]:focus-visible,
body.marina-site .team-grid article[data-modal]:hover,
body.marina-site .team-grid article[data-modal]:focus-visible {
  background: rgba(3, 17, 24, .58) !important;
}
body.marina-site .practice-card[data-modal] {
  cursor: pointer;
  transition: transform .22s ease, box-shadow .22s ease;
}
body.marina-site .practice-card[data-modal]:hover,
body.marina-site .practice-card[data-modal]:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 24px 58px rgba(0, 11, 20, .28);
}
body.marina-site .practice-card[data-modal]:hover .practice-card-image::before,
body.marina-site .practice-card[data-modal]:focus-visible .practice-card-image::before {
  background: linear-gradient(to top, rgba(0,0,0,.66) 0%, rgba(0,0,0,.42) 30%, rgba(0,0,0,.14) 62%, rgba(0,0,0,.03) 100%) !important;
}
body.marina-site .practice-card[data-modal]:hover .practice-card-image img,
body.marina-site .practice-card[data-modal]:focus-visible .practice-card-image img {
  filter: brightness(.82) saturate(1.02) contrast(1.02) !important;
}
body.marina-site [data-modal]:where(.proof-card, .service-card, .condition-card, .step-card):focus-visible,
body.marina-site .practice-card[data-modal]:focus-visible,
body.marina-site .team-grid article[data-modal]:focus-visible {
  outline: 2px solid rgba(34,205,239,.65);
  outline-offset: 4px;
}


/* Fabrizio v48: proof statistic popups are text-only, no photo/placeholder panel */
body.marina-site .text-only-modal .modal-visual {
  display: none !important;
}
body.marina-site .text-only-modal .modal-layout {
  grid-template-columns: 1fr !important;
}
body.marina-site .text-only-modal .modal-copy {
  max-width: 760px;
  padding-right: 0 !important;
}


/* Fabrizio v52: stacked billing buttons in billing panel */
body.marina-site .billing-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  margin-top: 18px;
}
body.marina-site .billing-actions .button-link {
  margin-top: 0;
}


/* Fabrizio v54: softer translucent top bar and delayed insurance notice inside billing popup */
body.marina-site .site-header::before {
  background:
    linear-gradient(90deg, rgba(13, 20, 28, .07) 0%, rgba(32, 24, 20, .05) 52%, rgba(8, 17, 27, .07) 100%),
    rgba(9, 17, 24, .025) !important;
  border-bottom: 1px solid rgba(255,255,255,.11) !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.035) !important;
  backdrop-filter: blur(26px) saturate(108%) !important;
  -webkit-backdrop-filter: blur(26px) saturate(108%) !important;
}

body.marina-site .inline-notice-overlay {
  position: absolute;
  inset: 0;
  z-index: 8;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(18px, 2.5vw, 24px);
  background: rgba(7, 15, 20, .18);
  animation: inlineNoticeFade .45s ease forwards;
}
body.marina-site .inline-notice-card {
  position: relative;
  width: min(540px, 100%);
  max-height: min(72vh, 540px);
  overflow: auto;
  border-radius: 18px;
  background: rgba(38, 42, 46, .97);
  color: rgba(255,255,255,.96);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 20px 46px rgba(0,0,0,.32);
  padding: clamp(18px, 2.4vw, 24px);
}
body.marina-site .inline-notice-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.88);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, transform .2s ease, border-color .2s ease;
}
body.marina-site .inline-notice-close:hover,
body.marina-site .inline-notice-close:focus-visible {
  background: rgba(255,255,255,.14);
  color: #fff;
  border-color: rgba(255,255,255,.2);
  transform: scale(1.04);
}
body.marina-site .insurance-notice-logo {
  display: block;
  width: min(290px, calc(100% - 42px));
  height: auto;
  margin: 0 42px 18px 0;
}
body.marina-site .insurance-notice-sheet h3 {
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(24px, 2.6vw, 34px);
  line-height: 1.08;
}
body.marina-site .insurance-notice-sheet p,
body.marina-site .insurance-notice-sheet li {
  color: rgba(255,255,255,.92);
  font-size: clamp(14px, 1.05vw, 17px);
  line-height: 1.46;
}
body.marina-site .insurance-notice-sheet ul {
  margin: 14px 0 0;
  padding-left: 20px;
}
body.marina-site .insurance-notice-thanks {
  margin-top: 18px;
}
@keyframes inlineNoticeFade {
  from { opacity: 0; }
  to { opacity: 1; }
}
@media (max-width: 760px) {
  body.marina-site .inline-notice-overlay {
    padding: 14px;
  }
  body.marina-site .inline-notice-card {
    width: min(100%, 440px);
    max-height: min(74vh, 500px);
    padding: 16px;
  }
  body.marina-site .insurance-notice-logo {
    width: min(240px, calc(100% - 38px));
    margin-right: 38px;
  }
}


/* Fabrizio v55: make top header bar much clearer and more blur-led, less dark */
body.marina-site .site-header::before {
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 0%, rgba(255,255,255,.018) 48%, rgba(255,255,255,.035) 100%),
    rgba(10, 16, 22, .012) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.09) !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.02) !important;
  backdrop-filter: blur(34px) saturate(122%) brightness(1.06) !important;
  -webkit-backdrop-filter: blur(34px) saturate(122%) brightness(1.06) !important;
}

/* Fabrizio v56: WaltersGroup Ads-style scroll reveal/parallax depth */
body.marina-site .fpt-parallax-item {
  --fpt-parallax-y: 0px;
  --fpt-parallax-opacity: 1;
  --fpt-hover-y: 0px;
  transform: translate3d(0, calc(var(--fpt-parallax-y, 0px) + var(--fpt-hover-y, 0px)), 0) !important;
  opacity: var(--fpt-parallax-opacity, 1) !important;
  will-change: transform, opacity;
  backface-visibility: hidden;
  transition: opacity .18s linear, filter .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease !important;
}
body.marina-site .fpt-parallax-item:hover,
body.marina-site .fpt-parallax-item:focus-visible {
  --fpt-hover-y: -3px;
}
body.marina-site .hero .fpt-parallax-item:hover,
body.marina-site .section-head .fpt-parallax-item:hover,
body.marina-site .section-head .fpt-parallax-item:focus-visible,
body.marina-site .panel-eyebrow.fpt-parallax-item:hover,
body.marina-site .panel-eyebrow.fpt-parallax-item:focus-visible {
  --fpt-hover-y: 0px;
}
body.marina-site .team-headshot.fpt-parallax-item,
body.marina-site .front-office-headshot.fpt-parallax-item,
body.marina-site .practice-card figure.fpt-parallax-item,
body.marina-site .about-video-frame.fpt-parallax-item,
body.marina-site .condition-video-frame.fpt-parallax-item {
  overflow: hidden;
}
@media (prefers-reduced-motion: reduce) {
  body.marina-site .fpt-parallax-item {
    transform: none !important;
    opacity: 1 !important;
    will-change: auto;
  }
}


/* Fabrizio v57: testimonial archive button and organized testimonials popup */
body.marina-site .testimonial-more-actions {
  margin-top: 26px;
  display: flex;
  justify-content: flex-start;
}
body.marina-site .testimonial-more-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  color: #fff;
  border: 1px solid rgba(255,255,255,.30);
  backdrop-filter: blur(18px) saturate(122%);
  -webkit-backdrop-filter: blur(18px) saturate(122%);
}
body.marina-site .testimonial-more-button:hover,
body.marina-site .testimonial-more-button:focus-visible {
  background: var(--accent) !important;
  color: #052431 !important;
  border-color: rgba(34,205,239,.78) !important;
}

/* Marina locations modal */
body.marina-site .location-modal-layout {
  display: grid;
  grid-template-columns: minmax(220px, .78fr) minmax(320px, 1.22fr);
  gap: 18px;
  align-items: stretch;
  margin-top: 8px;
}
body.marina-site .location-list {
  display: grid;
  gap: 12px;
}
body.marina-site .location-card {
  padding: 18px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 18px;
  background: rgba(5,19,29,.18);
  transition: background .22s ease, border-color .22s ease;
}
body.marina-site .location-card.is-selected {
  background: rgba(7,31,42,.36);
  border-color: rgba(69,211,236,.58);
}
body.marina-site .location-card p { margin: 0 0 8px; }
body.marina-site .location-name {
  color: #54d8f0;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}
body.marina-site .location-card a {
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}
body.marina-site .location-map-button {
  display: block;
  margin-top: 14px;
  padding: 7px 17px;
  border: 1px solid rgba(255,255,255,.33);
  border-radius: 999px;
  color: #fff;
  background: rgba(6,18,28,.24);
  cursor: pointer;
  font: inherit;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
body.marina-site .location-map-button:hover,
body.marina-site .location-map-button:focus-visible {
  background: #34caeb;
  border-color: #34caeb;
  color: #08202b;
  transform: translateY(-1px);
}
body.marina-site .location-map-frame {
  min-height: 344px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 20px;
  background: rgba(4,17,26,.3);
}
body.marina-site .location-map-embed {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 344px;
  border: 0;
  filter: saturate(.84) contrast(.97);
}
@media (max-width: 720px) {
  body.marina-site .location-modal-layout { grid-template-columns: 1fr; }
  body.marina-site .location-map-frame,
  body.marina-site .location-map-embed { min-height: 270px; }
}

/* Marina practice locations card and treatment-card alignment. */
body.marina-site .location-practice-visual {
  background:
    radial-gradient(circle at 18% 18%, rgba(85,217,239,.28), transparent 33%),
    radial-gradient(circle at 82% 76%, rgba(104,164,181,.25), transparent 38%),
    linear-gradient(135deg, #123443, #08202a 62%, #164052);
}
body.marina-site .location-practice-visual::before {
  background: linear-gradient(to top, rgba(2,11,16,.80), rgba(2,11,16,.12) 76%) !important;
}
body.marina-site .location-practice-copy {
  position: absolute;
  inset: 21px 22px auto;
  z-index: 2;
  display: grid;
  gap: 8px;
  color: rgba(255,255,255,.82);
  font-size: .73rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}
body.marina-site .location-practice-copy span::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin: 0 8px 1px 0;
  border-radius: 50%;
  background: #54d8f0;
  box-shadow: 0 0 0 5px rgba(84,216,240,.10);
}
body.marina-site .treatment-grid .service-card {
  justify-content: flex-start !important;
  min-height: 258px !important;
}
body.marina-site .treatment-grid .service-card h3 {
  margin: 0 0 16px !important;
}
body.marina-site .treatment-grid .service-card p {
  margin: 0 !important;
}
body.marina-site .treatment-grid .service-card .card-action,
body.marina-site .treatment-grid .service-card:hover .card-action,
body.marina-site .treatment-grid .service-card:focus-visible .card-action {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Testimonials are type over the background video, not image-card placeholders. */
body.marina-site #home-testimonials .testimonial-list {
  display: grid;
  gap: clamp(30px, 4vw, 58px);
  max-width: min(100%, 760px);
  margin-left: clamp(0px, 4vw, 54px);
}
body.marina-site #home-testimonials .testimonial-quote {
  display: block;
  max-width: 48ch;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  text-align: left;
}
body.marina-site #home-testimonials .testimonial-quote blockquote {
  max-width: 34ch;
  margin: 0;
  color: #fff;
  font-size: clamp(24px, 2.35vw, 38px);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -.025em;
  text-shadow: 0 2px 16px rgba(0,0,0,.58);
}
body.marina-site #home-testimonials .testimonial-quote p {
  margin: 12px 0 0;
  color: rgba(255,255,255,.9);
  font-size: 15px;
  text-shadow: 0 2px 12px rgba(0,0,0,.58);
}
@media (max-width: 720px) {
  body.marina-site #home-testimonials .testimonial-list { margin-left: 0; }
  body.marina-site #home-testimonials .testimonial-quote blockquote { font-size: clamp(23px, 7vw, 31px); }
}

/* Marina FAQ */
body.marina-site .faq-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
}
body.marina-site .faq-list details {
  overflow: hidden;
  border-bottom: 1px solid rgba(255,255,255,.28);
  background: transparent;
}
body.marina-site .faq-list summary {
  position: relative;
  padding: 17px 32px 17px 0;
  color: #fff;
  cursor: pointer;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.22;
  list-style: none;
}
body.marina-site .faq-list summary::-webkit-details-marker { display: none; }
body.marina-site .faq-list summary::after {
  content: "+";
  position: absolute;
  right: 2px;
  top: 14px;
  color: #75ddff;
  font-size: 24px;
  font-weight: 300;
  line-height: 1;
  transition: transform .2s ease;
}
body.marina-site .faq-list details[open] summary::after { transform: rotate(45deg); }
body.marina-site .faq-list details p {
  max-width: 55ch;
  margin: 0 0 18px;
  color: rgba(255,255,255,.84);
  font-size: 16px;
  line-height: 1.5;
}
@media (max-width: 760px) {
  body.marina-site .faq-list { grid-template-columns: 1fr; }
}
body.marina-site .testimonials-archive-modal {
  width: min(1180px, 100%) !important;
}
body.marina-site .testimonials-archive-modal .modal-copy {
  max-width: none !important;
}
body.marina-site .testimonials-archive-modal .modal-card,
body.marina-site .testimonials-archive-modal .modal-text {
  max-width: none !important;
}
body.marina-site .testimonials-archive-modal h2 {
  max-width: 850px;
}
body.marina-site .testimonial-archive-intro {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 20px;
  margin: 0 0 26px;
  border-radius: 26px;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.12);
}
body.marina-site .testimonial-archive-intro p {
  max-width: 620px;
  margin: 0 !important;
}
body.marina-site .testimonial-archive-section {
  margin-top: 28px;
}
body.marina-site .testimonial-archive-section h3 {
  margin: 0 0 14px;
  color: #27c9ff;
  font-size: 14px;
  line-height: 1;
  letter-spacing: .18em;
  text-transform: uppercase;
}
body.marina-site .testimonial-archive-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
body.marina-site .testimonial-archive-grid.featured-row {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
body.marina-site .testimonial-archive-card {
  min-height: 210px;
  padding: 22px;
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.055));
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 18px 42px rgba(0,0,0,.13);
}
body.marina-site .testimonial-archive-card blockquote {
  margin: 0 0 18px;
  color: #fff;
  font-size: clamp(20px, 1.55vw, 28px);
  line-height: 1.12;
  letter-spacing: -.02em;
}
body.marina-site .testimonial-archive-card p {
  margin: 0 0 12px;
  color: rgba(255,255,255,.78);
  font-size: 15.5px;
  line-height: 1.42;
}
body.marina-site .testimonial-archive-card p:last-child {
  margin-bottom: 0;
  color: rgba(255,255,255,.93);
  font-weight: 650;
}
@media (max-width: 1040px) {
  body.marina-site .testimonial-archive-grid,
  body.marina-site .testimonial-archive-grid.featured-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.marina-site .testimonial-archive-intro {
    flex-direction: column;
  }
}
@media (max-width: 700px) {
  body.marina-site .testimonial-archive-grid,
  body.marina-site .testimonial-archive-grid.featured-row {
    grid-template-columns: 1fr;
  }
  body.marina-site .testimonial-more-actions {
    margin-top: 20px;
  }
  body.marina-site .testimonial-more-button {
    width: 100%;
  }
  body.marina-site .testimonial-archive-card {
    min-height: auto;
  }
}


/* Fabrizio v61: team-profile popups use a compact portrait beside the large name, with body copy below in a narrower left column. */
@media (min-width: 981px) {
  body.marina-site .team-profile-modal .modal-layout {
    display: block;
  }
  body.marina-site .team-profile-modal .modal-copy {
    display: block;
    padding-right: 0;
  }
  body.marina-site .team-profile-modal .modal-visual {
    float: right;
    width: min(28vw, 310px);
    height: clamp(240px, 23vw, 330px);
    min-height: 0;
    margin: 10px 0 20px 38px;
    border-radius: 26px;
  }
  body.marina-site .team-profile-modal .modal-card h2 {
    margin: 14px 0 16px;
    max-width: calc(100% - min(28vw, 348px));
  }
  body.marina-site .team-profile-modal .modal-text {
    clear: both;
    max-width: min(62%, 630px);
  }
  body.marina-site .team-profile-modal .modal-text .form-link-grid,
  body.marina-site .team-profile-modal .modal-text .form-link-grid.single {
    max-width: 430px;
  }
  body.marina-site .team-profile-modal .modal-visual span {
    left: 18px;
    bottom: 14px;
  }
}
@media (max-width: 980px) {
  body.marina-site .team-profile-modal .modal-layout {
    display: grid;
  }
  body.marina-site .team-profile-modal .modal-copy {
    display: block;
  }
  body.marina-site .team-profile-modal .modal-visual {
    float: none;
    width: 100%;
    height: auto;
    min-height: 220px;
    margin: 0 0 18px;
  }
  body.marina-site .team-profile-modal .modal-card h2,
  body.marina-site .team-profile-modal .modal-text {
    max-width: 100%;
    clear: none;
  }
}


/* Fabrizio v62: front office staff cards fixed to match therapist card sizing and remove video/headshot offset. */
body.marina-site .team-panel .front-office-inline-eyebrow {
  margin-top: 48px !important;
  margin-bottom: 20px !important;
  clear: both;
}
body.marina-site .team-panel .front-office-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 14px !important;
  max-width: none !important;
  width: 100% !important;
  align-items: stretch !important;
  margin-top: 0 !important;
}
body.marina-site .team-panel .front-office-grid .step-card {
  min-height: 360px !important;
  width: auto !important;
  max-width: none !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: 26px !important;
}
body.marina-site .team-panel .front-office-headshot,
body.marina-site .team-panel .front-office-headshot.fpt-parallax-item {
  width: 100% !important;
  height: 178px !important;
  min-height: 178px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  translate: none !important;
  position: relative !important;
  top: 0 !important;
  overflow: hidden !important;
  border-radius: 30px 30px 18px 18px !important;
}
body.marina-site .team-panel .front-office-headshot video,
body.marina-site .team-panel .front-office-headshot img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center 20% !important;
  transform: none !important;
  translate: none !important;
}
body.marina-site .team-panel .front-office-grid .step-card:hover .front-office-headshot video,
body.marina-site .team-panel .front-office-grid .step-card:focus-visible .front-office-headshot video,
body.marina-site .team-panel .front-office-grid .step-card:hover .front-office-headshot img,
body.marina-site .team-panel .front-office-grid .step-card:focus-visible .front-office-headshot img {
  transform: scale(1.035) !important;
}
@media (max-width: 1180px) {
  body.marina-site .team-panel .front-office-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.marina-site .team-panel .front-office-headshot,
  body.marina-site .team-panel .front-office-headshot.fpt-parallax-item {
    height: 164px !important;
    min-height: 164px !important;
  }
}
@media (max-width: 760px) {
  body.marina-site .team-panel .front-office-inline-eyebrow {
    margin-top: 34px !important;
  }
  body.marina-site .team-panel .front-office-grid {
    grid-template-columns: 1fr !important;
  }
  body.marina-site .team-panel .front-office-grid .step-card {
    min-height: auto !important;
  }
  body.marina-site .team-panel .front-office-headshot,
  body.marina-site .team-panel .front-office-headshot.fpt-parallax-item {
    height: 220px !important;
    min-height: 220px !important;
  }
}

/* Fabrizio v63: physical therapist cards use optimized video headshots, no JPEG poster frames. */
body.marina-site .team-panel .team-grid:not(.front-office-grid) .team-headshot,
body.marina-site .team-panel .team-grid:not(.front-office-grid) .team-headshot.fpt-parallax-item {
  width: 100% !important;
  height: 178px !important;
  min-height: 178px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  translate: none !important;
  position: relative !important;
  top: 0 !important;
  overflow: hidden !important;
  border-radius: 30px 30px 18px 18px !important;
}
body.marina-site .team-panel .team-grid:not(.front-office-grid) .team-headshot video,
body.marina-site .team-panel .team-grid:not(.front-office-grid) .team-headshot img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center 24% !important;
  background: transparent !important;
  filter: brightness(1.04) saturate(1.02) contrast(1.02) !important;
  transform: none !important;
  translate: none !important;
  transition: transform .35s ease, filter .35s ease !important;
}
body.marina-site .team-panel .team-grid:not(.front-office-grid) article:nth-child(1) .team-headshot video { object-position: center 20% !important; }
body.marina-site .team-panel .team-grid:not(.front-office-grid) article:nth-child(2) .team-headshot video { object-position: center 24% !important; }
body.marina-site .team-panel .team-grid:not(.front-office-grid) article:nth-child(3) .team-headshot video { object-position: center 24% !important; }
body.marina-site .team-panel .team-grid:not(.front-office-grid) article:nth-child(4) .team-headshot video { object-position: center 20% !important; }
body.marina-site .team-panel .team-grid:not(.front-office-grid) article:nth-child(5) .team-headshot video { object-position: center 23% !important; }
body.marina-site .team-panel .team-grid:not(.front-office-grid) article:hover .team-headshot video,
body.marina-site .team-panel .team-grid:not(.front-office-grid) article:focus-visible .team-headshot video {
  transform: scale(1.035) !important;
  filter: brightness(1.1) saturate(1.05) contrast(1.02) !important;
}
@media (max-width: 1180px) {
  body.marina-site .team-panel .team-grid:not(.front-office-grid) .team-headshot,
  body.marina-site .team-panel .team-grid:not(.front-office-grid) .team-headshot.fpt-parallax-item {
    height: 164px !important;
    min-height: 164px !important;
  }
}
@media (max-width: 760px) {
  body.marina-site .team-panel .team-grid:not(.front-office-grid) .team-headshot,
  body.marina-site .team-panel .team-grid:not(.front-office-grid) .team-headshot.fpt-parallax-item {
    height: 220px !important;
    min-height: 220px !important;
  }
}


/* Fabrizio v64: billing panel links and pill buttons in white for readability */
body.marina-site #home-billing .inline-link,
body.marina-site #home-billing .billing-actions .text-link.button-link {
  color: #fff !important;
  text-shadow: 0 1px 12px rgba(0,0,0,.28);
}
body.marina-site #home-billing .billing-actions .text-link.button-link {
  background: rgba(255,255,255,.14) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.13);
}
body.marina-site #home-billing .billing-actions .text-link.button-link:hover,
body.marina-site #home-billing .billing-actions .text-link.button-link:focus-visible {
  color: #fff !important;
  background: rgba(255,255,255,.24) !important;
  border-color: rgba(255,255,255,.36) !important;
}
body.marina-site #home-billing .inline-link:hover,
body.marina-site #home-billing .inline-link:focus-visible {
  color: #fff !important;
  text-decoration-color: rgba(255,255,255,.75);
}

/* Fabrizio v64: lighten all glass panels and make testimonials archive button text white. */
body.marina-site .glass,
body.marina-site .proof-wrap,
body.marina-site .service-card,
body.marina-site .condition-card,
body.marina-site .step-card,
body.marina-site .review-panel,
body.marina-site .practice-card,
body.marina-site .team-panel .team-grid article,
body.marina-site .team-panel .front-office-grid .step-card,
body.marina-site .modal-shell {
  background:
    linear-gradient(135deg, rgba(255,255,255,.12) 0%, rgba(255,255,255,.07) 46%, rgba(255,255,255,.10) 100%) !important;
  box-shadow: 0 18px 42px rgba(5, 18, 28, .12) !important;
  backdrop-filter: blur(20px) saturate(112%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(112%) !important;
}

body.marina-site .testimonial-more-button {
  color: #fff !important;
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.34) !important;
}
body.marina-site .testimonial-more-button:hover,
body.marina-site .testimonial-more-button:focus-visible {
  color: #fff !important;
  background: rgba(255,255,255,.19) !important;
  border-color: rgba(255,255,255,.46) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.12) !important;
}

/* Fabrizio v65: recognition logos 10% larger and moved down slightly */
body.marina-site #home-about .about-logo-strip {
  width: min(100%, 792px) !important;
  padding-top: 40px !important;
}

@media (max-width: 760px) {
  body.marina-site #home-about .about-logo-strip {
    width: 100% !important;
    padding-top: 24px !important;
  }
}


/* Fabrizio v66: softer translucent hover darkening for popup-trigger categories and replay-on-reentry videos. */
body.marina-site [data-modal]:where(.proof-card, .service-card, .condition-card, .step-card):hover::after,
body.marina-site [data-modal]:where(.proof-card, .service-card, .condition-card, .step-card):focus-visible::after,
body.marina-site .team-grid article[data-modal]:hover::after,
body.marina-site .team-grid article[data-modal]:focus-visible::after {
  background: rgba(0, 14, 22, .14) !important;
}
body.marina-site .service-card[data-modal]:hover,
body.marina-site .service-card[data-modal]:focus-visible,
body.marina-site .condition-card[data-modal]:hover,
body.marina-site .condition-card[data-modal]:focus-visible,
body.marina-site .step-card[data-modal]:hover,
body.marina-site .step-card[data-modal]:focus-visible,
body.marina-site .proof-card[data-modal]:hover,
body.marina-site .proof-card[data-modal]:focus-visible,
body.marina-site .team-grid article[data-modal]:hover,
body.marina-site .team-grid article[data-modal]:focus-visible {
  background: rgba(6, 18, 28, .24) !important;
  border-color: rgba(255,255,255,.24) !important;
  box-shadow: 0 20px 46px rgba(0, 11, 20, .18) !important;
}


/* Fabrizio v67: recognition logos scaled up another 10% and moved 20px lower. */
body.marina-site #home-about .about-logo-strip {
  width: min(100%, 871px) !important;
  padding-top: 60px !important;
}

@media (max-width: 760px) {
  body.marina-site #home-about .about-logo-strip {
    width: 100% !important;
    padding-top: 32px !important;
  }
}


/* Fabrizio v68: above-the-fold darkening is fixed to the viewport and fades out over first 500px of scroll. */
:root {
  --fpt-hero-shade-opacity: 1;
}
body.marina-site .top-readability-strip {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100svh !important;
  z-index: 1 !important;
  pointer-events: none !important;
  opacity: var(--fpt-hero-shade-opacity, 1) !important;
  transition: opacity .08s linear;
  background:
    linear-gradient(90deg, rgba(6,16,24,.34) 0%, rgba(6,16,24,.26) 22%, rgba(6,16,24,.15) 48%, rgba(6,16,24,.055) 72%, rgba(6,16,24,0) 100%),
    linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.10) 34%, rgba(0,0,0,.04) 68%, rgba(0,0,0,0) 100%) !important;
}
body.marina-site #home-hero::before {
  display: none !important;
}
@supports not (height: 100svh) {
  body.marina-site .top-readability-strip {
    height: 100vh !important;
  }
}


/* Fabrizio v69: make the parallax movement visible enough to read as intentional. */
body.marina-site .fpt-parallax-item {
  transition:
    opacity .22s linear,
    filter .2s ease,
    background .2s ease,
    border-color .2s ease,
    box-shadow .2s ease !important;
}
body.marina-site .fpt-parallax-item[data-fpt-depth-strong],
body.marina-site .fpt-parallax-item[data-fpt-depth] {
  will-change: transform, opacity;
}
@media (prefers-reduced-motion: reduce) {
  body.marina-site .fpt-parallax-item {
    transform: none !important;
    opacity: 1 !important;
  }
}


/* Fabrizio v70: give the three smaller testimonial cards breathing room below Dr. Phil and tighten the button spacing. */
body.marina-site #home-testimonials .testimonial-card:not(.featured-testimonial).fpt-parallax-item {
  transform: translate3d(0, calc(var(--fpt-parallax-y, 0px) + var(--fpt-hover-y, 0px) + 30px), 0) !important;
}
body.marina-site #home-testimonials .testimonial-more-actions {
  margin-top: 10px !important;
}
body.marina-site #home-testimonials .testimonial-more-actions.fpt-parallax-item {
  transform: translate3d(0, calc(var(--fpt-parallax-y, 0px) - 8px), 0) !important;
}
@media (max-width: 760px) {
  body.marina-site #home-testimonials .testimonial-card:not(.featured-testimonial).fpt-parallax-item {
    transform: translate3d(0, calc(var(--fpt-parallax-y, 0px) + var(--fpt-hover-y, 0px) + 14px), 0) !important;
  }
  body.marina-site #home-testimonials .testimonial-more-actions {
    margin-top: 18px !important;
  }
}


/* Fabrizio v71: mobile-only hero eyebrow line break and above-fold vertical shift */
body.marina-site .hero-eyebrow-desktop {
  display: inline;
}
body.marina-site .hero-eyebrow-mobile {
  display: none;
  white-space: pre-line;
}

@media (max-width: 760px) {
  body.marina-site .hero-eyebrow-desktop {
    display: none;
  }
  body.marina-site .hero-eyebrow-mobile {
    display: inline;
  }
  body.marina-site .home-intro-logo {
    top: 100px !important;
  }
  body.marina-site #home-hero {
    padding-top: 320px !important;
    padding-bottom: 48px !important;
  }
  body.marina-site #home-hero .hero-inner {
    transform: translateY(-70px);
  }
  body.marina-site #home-hero .eyebrow {
    margin-bottom: 12px !important;
    max-width: 330px;
    line-height: 1.22;
  }
  body.marina-site #home-hero .pill-row {
    margin-top: 18px !important;
  }
}


/* Fabrizio v72: unmistakable above-fold load entrance like Prime Credential, opacity 0 to 100 and rising into place. */
body.marina-site #home-hero .hero-inner > .eyebrow,
body.marina-site #home-hero h1 .headline-line,
body.marina-site #home-hero .hero-inner > p,
body.marina-site #home-hero .hero-inner > .pill-row {
  opacity: 0;
  transform: translate3d(0, 56px, 0);
  filter: blur(8px);
  animation-name: fptHeroRiseIn;
  animation-duration: 1.05s;
  animation-timing-function: cubic-bezier(.18, .74, .16, 1);
  animation-fill-mode: forwards;
  will-change: opacity, transform, filter;
}

body.marina-site #home-hero .hero-inner > .eyebrow {
  animation-delay: .16s;
}
body.marina-site #home-hero h1 .headline-line:nth-child(1) {
  animation-delay: .32s;
}
body.marina-site #home-hero h1 .headline-line:nth-child(2) {
  animation-delay: .46s;
}
body.marina-site #home-hero .hero-inner > p {
  animation-delay: .62s;
}
body.marina-site #home-hero .hero-inner > .pill-row {
  animation-delay: .78s;
}

body.marina-site #home-hero .pill-row .btn {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  animation: fptHeroButtonRiseIn .72s cubic-bezier(.18, .74, .16, 1) forwards;
}
body.marina-site #home-hero .pill-row .btn:nth-child(1) { animation-delay: .88s; }
body.marina-site #home-hero .pill-row .btn:nth-child(2) { animation-delay: .98s; }
body.marina-site #home-hero .pill-row .btn:nth-child(3) { animation-delay: 1.08s; }

@keyframes fptHeroRiseIn {
  0% {
    opacity: 0;
    transform: translate3d(0, 56px, 0);
    filter: blur(8px);
  }
  58% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
  }
}

@keyframes fptHeroButtonRiseIn {
  0% {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@media (max-width: 760px) {
  body.marina-site #home-hero .hero-inner > .eyebrow,
  body.marina-site #home-hero h1 .headline-line,
  body.marina-site #home-hero .hero-inner > p,
  body.marina-site #home-hero .hero-inner > .pill-row {
    transform: translate3d(0, 42px, 0);
    animation-duration: .95s;
  }

  @keyframes fptHeroRiseIn {
    0% {
      opacity: 0;
      transform: translate3d(0, 42px, 0);
      filter: blur(7px);
    }
    58% {
      opacity: 1;
    }
    100% {
      opacity: 1;
      transform: translate3d(0, 0, 0);
      filter: blur(0);
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  body.marina-site #home-hero .hero-inner > .eyebrow,
  body.marina-site #home-hero h1 .headline-line,
  body.marina-site #home-hero .hero-inner > p,
  body.marina-site #home-hero .hero-inner > .pill-row,
  body.marina-site #home-hero .pill-row .btn {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
  }
}


/* Fabrizio v73: stabilize mobile inset/headshot videos, no blank delayed boxes or parallax flicker on media. */
body.marina-site .team-headshot.fpt-parallax-item,
body.marina-site .front-office-headshot.fpt-parallax-item,
body.marina-site .about-video-frame.fpt-parallax-item,
body.marina-site .condition-video-frame.fpt-parallax-item,
body.marina-site .facility-loop-frame.fpt-parallax-item {
  opacity: 1 !important;
}

body.marina-site .team-headshot video,
body.marina-site .front-office-headshot video,
body.marina-site .about-video-frame video,
body.marina-site .condition-video-frame video,
body.marina-site .facility-loop-frame video {
  opacity: 1 !important;
  visibility: visible !important;
  background: transparent !important;
  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

@media (max-width: 760px) {
  body.marina-site .team-headshot.fpt-parallax-item,
  body.marina-site .front-office-headshot.fpt-parallax-item,
  body.marina-site .about-video-frame.fpt-parallax-item,
  body.marina-site .condition-video-frame.fpt-parallax-item,
  body.marina-site .facility-loop-frame.fpt-parallax-item {
    transform: none !important;
    translate: none !important;
    opacity: 1 !important;
    will-change: auto !important;
  }
  body.marina-site .team-headshot,
  body.marina-site .front-office-headshot,
  body.marina-site .about-video-frame,
  body.marina-site .condition-video-frame,
  body.marina-site .facility-loop-frame {
    contain: paint;
  }
}


/* Fabrizio v74: mobile Dr. Phil testimonial, push image left and quote safely to right side. */
@media (max-width: 760px) {
  body.marina-site .dr-phil-testimonial,
  body.marina-site .dr-phil-testimonial:hover,
  body.marina-site .dr-phil-testimonial:focus-visible {
    background-position: -34px center !important;
  }
  body.marina-site .dr-phil-testimonial::before {
    background:
      linear-gradient(90deg,
        rgba(0,0,0,.03) 0%,
        rgba(0,0,0,.08) 34%,
        rgba(0,0,0,.30) 49%,
        rgba(0,0,0,.58) 67%,
        rgba(0,0,0,.72) 100%) !important;
  }
  body.marina-site .featured-testimonial-copy {
    align-items: flex-end !important;
    justify-content: center !important;
    padding: 22px 18px 22px 22px !important;
  }
  body.marina-site .dr-phil-testimonial blockquote,
  body.marina-site .dr-phil-testimonial .quote-credit {
    width: min(50%, 218px) !important;
    max-width: 218px !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    transform: translateX(10px) !important;
    text-align: left !important;
  }
  body.marina-site .dr-phil-testimonial blockquote {
    font-size: clamp(21px, 6.1vw, 30px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.025em !important;
  }
  body.marina-site .dr-phil-testimonial .quote-credit {
    font-size: clamp(14px, 4vw, 17px) !important;
    line-height: 1.18 !important;
    margin-top: 12px !important;
  }
}
@media (max-width: 430px) {
  body.marina-site .dr-phil-testimonial,
  body.marina-site .dr-phil-testimonial:hover,
  body.marina-site .dr-phil-testimonial:focus-visible {
    background-position: -46px center !important;
  }
  body.marina-site .dr-phil-testimonial blockquote,
  body.marina-site .dr-phil-testimonial .quote-credit {
    width: min(48%, 190px) !important;
    max-width: 190px !important;
    transform: translateX(12px) !important;
  }
  body.marina-site .dr-phil-testimonial blockquote {
    font-size: clamp(20px, 6.4vw, 27px) !important;
  }
}


/* Fabrizio v75: keep composite cards locked together under parallax and restore category-card padding. */
body.marina-site .practice-card .fpt-parallax-item,
body.marina-site .team-grid article .fpt-parallax-item,
body.marina-site .front-office-grid article .fpt-parallax-item,
body.marina-site .service-card .fpt-parallax-item,
body.marina-site .condition-card .fpt-parallax-item,
body.marina-site .step-card .fpt-parallax-item,
body.marina-site .proof-card .fpt-parallax-item,
body.marina-site .testimonial-card .fpt-parallax-item,
body.marina-site .featured-testimonial .fpt-parallax-item,
body.marina-site .about-media-stack .fpt-parallax-item,
body.marina-site .facility-panel .fpt-parallax-item {
  --fpt-parallax-y: 0px !important;
  --fpt-hover-y: 0px !important;
  --fpt-parallax-opacity: 1 !important;
  transform: none !important;
  translate: none !important;
  opacity: 1 !important;
  will-change: auto !important;
}

body.marina-site .practice-card {
  overflow: hidden !important;
  border-radius: 30px !important;
  padding: 0 0 24px !important;
}

body.marina-site .practice-card-image,
body.marina-site .practice-card-image.fpt-parallax-item {
  margin: 0 !important;
  border-radius: 30px 30px 22px 22px !important;
  transform: none !important;
  opacity: 1 !important;
}

body.marina-site .practice-card > p {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin: 18px 0 0 !important;
  padding: 0 24px 0 !important;
  text-align: left !important;
  line-height: 1.45 !important;
}

body.marina-site .practice-card-title {
  left: 24px !important;
  right: 24px !important;
  bottom: 18px !important;
}

@media (max-width: 760px) {
  body.marina-site .practice-card {
    padding-bottom: 22px !important;
  }
  body.marina-site .practice-card > p {
    padding: 0 22px 0 !important;
    margin-top: 16px !important;
  }
  body.marina-site .practice-card-title {
    left: 22px !important;
    right: 22px !important;
    bottom: 16px !important;
  }
}

/* Fabrizio v76: improve readability after glass-lightening pass */
body.marina-site .glass,
body.marina-site .proof-wrap,
body.marina-site .service-card,
body.marina-site .condition-card,
body.marina-site .step-card,
body.marina-site .review-panel,
body.marina-site .practice-card,
body.marina-site .testimonial-card,
body.marina-site .team-panel .team-grid article,
body.marina-site .team-panel .front-office-grid .step-card,
body.marina-site .modal-shell,
body.marina-site .modal-card {
  background:
    linear-gradient(135deg, rgba(8, 22, 32, .30) 0%, rgba(10, 30, 42, .22) 48%, rgba(8, 24, 35, .28) 100%) !important;
  border-color: rgba(255,255,255,.18) !important;
  box-shadow: 0 20px 48px rgba(3, 14, 24, .16) !important;
  backdrop-filter: blur(22px) saturate(116%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(116%) !important;
}

body.marina-site .condition-list span,
body.marina-site #home-facility .facility-list span,
body.marina-site .selected-time,
body.marina-site .card-action,
body.marina-site .text-link.button-link,
body.marina-site .form-link-button,
body.marina-site .testimonial-more-button,
body.marina-site .modal-close,
body.marina-site .modal-call,
body.marina-site .appointment-slot {
  color: #fff !important;
  background: rgba(6, 18, 28, .24) !important;
  border-color: rgba(255,255,255,.26) !important;
  text-shadow: 0 1px 8px rgba(0,0,0,.22);
}

body.marina-site .condition-list span:hover,
body.marina-site #home-facility .facility-list span:hover,
body.marina-site .selected-time:hover,
body.marina-site .card-action:hover,
body.marina-site .text-link.button-link:hover,
body.marina-site .text-link.button-link:focus-visible,
body.marina-site .form-link-button:hover,
body.marina-site .form-link-button:focus-visible,
body.marina-site .testimonial-more-button:hover,
body.marina-site .testimonial-more-button:focus-visible,
body.marina-site .modal-close:hover,
body.marina-site .modal-call:hover,
body.marina-site .appointment-slot:hover,
body.marina-site .appointment-slot:focus-visible {
  color: #fff !important;
  background: rgba(6, 18, 28, .34) !important;
  border-color: rgba(255,255,255,.36) !important;
}

body.marina-site .glass p,
body.marina-site .glass li,
body.marina-site .glass h2,
body.marina-site .glass h3,
body.marina-site .service-card p,
body.marina-site .condition-card p,
body.marina-site .step-card p,
body.marina-site .testimonial-card,
body.marina-site .testimonial-card p {
  color: #fff !important;
}


/* Fabrizio v77: employee popups use only video headshots, smaller and with full-width body copy below. */
body.marina-site .modal-visual-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transform: scale(1.01);
  transition: opacity .12s ease;
  background: rgba(6, 18, 28, .28);
}
body.marina-site .modal-visual.has-video .modal-visual-video {
  opacity: 1;
}
body.marina-site .modal-visual.has-video img {
  opacity: 0 !important;
  display: none !important;
}
body.marina-site .modal-visual.has-video::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(to top, rgba(5,10,13,.40) 0%, rgba(5,10,13,.10) 45%, rgba(5,10,13,.02) 100%),
    linear-gradient(135deg, rgba(5,10,13,.18), rgba(5,10,13,0) 58%);
}

@media (min-width: 981px) {
  body.marina-site .team-profile-modal .modal-visual {
    width: min(21vw, 232px) !important;
    height: clamp(180px, 17vw, 248px) !important;
    min-height: 0 !important;
    margin: 8px 0 22px 34px !important;
    border-radius: 23px !important;
  }
  body.marina-site .team-profile-modal .modal-card h2 {
    max-width: calc(100% - min(21vw, 270px)) !important;
  }
  body.marina-site .team-profile-modal .modal-text {
    clear: both !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  body.marina-site .team-profile-modal .modal-text p,
  body.marina-site .team-profile-modal .modal-text ul,
  body.marina-site .team-profile-modal .modal-text blockquote {
    max-width: 900px;
  }
}

@media (max-width: 980px) {
  body.marina-site .team-profile-modal .modal-visual {
    height: 220px !important;
    min-height: 220px !important;
    margin-bottom: 16px !important;
  }
}


/* Fabrizio v78: employee popups show video headshots only, smaller, with full-width copy below. */
body.marina-site .team-profile-modal .modal-visual.has-video img,
body.marina-site .team-profile-modal .modal-visual img#modalVisualImage {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}
body.marina-site .team-profile-modal .modal-visual.has-video .modal-visual-video {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 1 !important;
  background: rgba(6,18,28,.22) !important;
}
@media (min-width: 981px) {
  body.marina-site .team-profile-modal .modal-visual {
    width: min(18vw, 174px) !important;
    height: clamp(150px, 14vw, 186px) !important;
    min-height: 0 !important;
    margin: 6px 0 18px 30px !important;
    border-radius: 20px !important;
  }
  body.marina-site .team-profile-modal .modal-card h2 {
    max-width: calc(100% - min(18vw, 210px)) !important;
  }
  body.marina-site .team-profile-modal .modal-text {
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  body.marina-site .team-profile-modal .modal-text p,
  body.marina-site .team-profile-modal .modal-text ul,
  body.marina-site .team-profile-modal .modal-text blockquote,
  body.marina-site .team-profile-modal .modal-text .form-link-grid,
  body.marina-site .team-profile-modal .modal-text .form-link-grid.single {
    max-width: 100% !important;
  }
}
@media (max-width: 980px) {
  body.marina-site .team-profile-modal .modal-visual {
    height: 165px !important;
    min-height: 165px !important;
    margin-bottom: 14px !important;
  }
}


/* Fabrizio v79: slower, softer above-the-fold rise/fade animation. */
body.marina-site #home-hero .hero-inner > .eyebrow,
body.marina-site #home-hero h1 .headline-line,
body.marina-site #home-hero .hero-inner > p,
body.marina-site #home-hero .hero-inner > .pill-row {
  animation-duration: 2.1s !important;
  animation-timing-function: cubic-bezier(.16, .72, .12, 1) !important;
}
body.marina-site #home-hero .pill-row .btn {
  animation-duration: 1.45s !important;
  animation-timing-function: cubic-bezier(.16, .72, .12, 1) !important;
}
@media (max-width: 760px) {
  body.marina-site #home-hero .hero-inner > .eyebrow,
  body.marina-site #home-hero h1 .headline-line,
  body.marina-site #home-hero .hero-inner > p,
  body.marina-site #home-hero .hero-inner > .pill-row {
    animation-duration: 2.05s !important;
  }
}

/* Fabrizio v80: lock Dr. Phil testimonial image so it never blanks or pops in/out during parallax scrolling. */
body.marina-site .dr-phil-testimonial,
body.marina-site .dr-phil-testimonial:hover,
body.marina-site .dr-phil-testimonial:focus-visible,
body.marina-site .dr-phil-testimonial.fpt-parallax-item,
body.marina-site .featured-testimonial.fpt-parallax-item,
body.marina-site .dr-phil-testimonial .featured-testimonial-copy,
body.marina-site .dr-phil-testimonial .featured-testimonial-copy.fpt-parallax-item,
body.marina-site .dr-phil-testimonial .dr-phil-lock-img,
body.marina-site .dr-phil-testimonial .dr-phil-lock-img.fpt-parallax-item {
  --fpt-parallax-y: 0px !important;
  --fpt-hover-y: 0px !important;
  --fpt-parallax-opacity: 1 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  translate: none !important;
  will-change: auto !important;
}

body.marina-site .dr-phil-testimonial {
  position: relative !important;
  overflow: hidden !important;
  background-image: none !important;
  background-color: rgba(8, 2, 13, .96) !important;
  isolation: isolate;
  contain: layout paint;
}

body.marina-site .dr-phil-testimonial .dr-phil-lock-img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  z-index: 0 !important;
  pointer-events: none !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
}

body.marina-site .dr-phil-testimonial::before {
  z-index: 1 !important;
  pointer-events: none !important;
}

body.marina-site .dr-phil-testimonial .featured-testimonial-copy {
  position: relative !important;
  z-index: 2 !important;
}

@media (max-width: 760px) {
  body.marina-site .dr-phil-testimonial .dr-phil-lock-img {
    width: calc(100% + 46px) !important;
    max-width: none !important;
    transform: translateX(-46px) !important;
    object-position: left center !important;
  }
}
@media (max-width: 430px) {
  body.marina-site .dr-phil-testimonial .dr-phil-lock-img {
    width: calc(100% + 58px) !important;
    transform: translateX(-58px) !important;
  }
}


/* Fabrizio v82: taller mobile employee-popup video headshots so faces are not cropped. */
@media (max-width: 760px) {
  body.marina-site .team-profile-modal .modal-visual {
    height: clamp(255px, 76vw, 330px) !important;
    min-height: clamp(255px, 76vw, 330px) !important;
    max-height: 340px !important;
    margin-bottom: 18px !important;
    border-radius: 24px !important;
  }
  body.marina-site .team-profile-modal .modal-visual.has-video .modal-visual-video,
  body.marina-site .team-profile-modal .modal-visual-video {
    object-fit: cover !important;
    object-position: center 12% !important;
  }
  body.marina-site .team-profile-modal .modal-card h2 {
    margin-top: 14px !important;
  }
}

@media (max-width: 430px) {
  body.marina-site .team-profile-modal .modal-visual {
    height: clamp(275px, 82vw, 345px) !important;
    min-height: clamp(275px, 82vw, 345px) !important;
  }
  body.marina-site .team-profile-modal .modal-visual.has-video .modal-visual-video,
  body.marina-site .team-profile-modal .modal-visual-video {
    object-position: center 10% !important;
  }
}

/* Fabrizio v83: desktop employee-popup headshot videos smaller so the body copy comes up sooner. */
@media (min-width: 981px) {
  body.marina-site .team-profile-modal .modal-visual {
    width: min(11vw, 105px) !important;
    height: clamp(96px, 8.5vw, 112px) !important;
    min-height: 0 !important;
    max-height: 112px !important;
    margin: 4px 0 10px 22px !important;
    border-radius: 16px !important;
  }
  body.marina-site .team-profile-modal .modal-visual.has-video .modal-visual-video,
  body.marina-site .team-profile-modal .modal-visual-video {
    object-position: center 12% !important;
  }
  body.marina-site .team-profile-modal .modal-visual span {
    left: 12px !important;
    bottom: 10px !important;
    font-size: 11px !important;
    padding: 5px 10px !important;
  }
  body.marina-site .team-profile-modal .modal-card h2 {
    max-width: calc(100% - min(11vw, 135px)) !important;
    margin-bottom: 8px !important;
  }
  body.marina-site .team-profile-modal .modal-text {
    clear: both !important;
    margin-top: 4px !important;
  }
}

/* Fabrizio v85: desktop Dr. Phil testimonial copy nudged right 20px as requested. */
@media (min-width: 761px) {
  body.marina-site .dr-phil-testimonial blockquote,
  body.marina-site .dr-phil-testimonial .quote-credit {
    position: relative !important;
    left: 20px !important;
  }
}


/* Fabrizio v86: slower, clearly sequential hero entrance; body copy now rises/fades like the headline and buttons. */
body.marina-site #home-hero .hero-inner > .eyebrow,
body.marina-site #home-hero h1 .headline-line,
body.marina-site #home-hero .hero-inner > p,
body.marina-site #home-hero .hero-inner > .pill-row {
  opacity: 0;
  transform: translate3d(0, 64px, 0);
  filter: blur(8px);
  animation-name: fptHeroRiseIn !important;
  animation-duration: 2.55s !important;
  animation-timing-function: cubic-bezier(.12, .62, .10, 1) !important;
  animation-fill-mode: forwards !important;
  will-change: opacity, transform, filter;
}
body.marina-site #home-hero .hero-inner > .eyebrow { animation-delay: .35s !important; }
body.marina-site #home-hero h1 .headline-line:nth-child(1) { animation-delay: .78s !important; }
body.marina-site #home-hero h1 .headline-line:nth-child(2) { animation-delay: 1.08s !important; }
body.marina-site #home-hero .hero-inner > p { animation-delay: 1.68s !important; }
body.marina-site #home-hero .hero-inner > .pill-row { animation-delay: 2.34s !important; }
body.marina-site #home-hero .pill-row .btn {
  opacity: 0;
  transform: translate3d(0, 34px, 0);
  filter: blur(5px);
  animation-name: fptHeroButtonRiseIn !important;
  animation-duration: 1.95s !important;
  animation-timing-function: cubic-bezier(.12, .62, .10, 1) !important;
  animation-fill-mode: forwards !important;
}
body.marina-site #home-hero .pill-row .btn:nth-child(1) { animation-delay: 2.55s !important; }
body.marina-site #home-hero .pill-row .btn:nth-child(2) { animation-delay: 2.72s !important; }
body.marina-site #home-hero .pill-row .btn:nth-child(3) { animation-delay: 2.89s !important; }
@keyframes fptHeroRiseIn {
  0% { opacity: 0; transform: translate3d(0, 64px, 0); filter: blur(8px); }
  45% { opacity: .52; filter: blur(4px); }
  78% { opacity: 1; }
  100% { opacity: 1; transform: translate3d(0, 0, 0); filter: blur(0); }
}
@keyframes fptHeroButtonRiseIn {
  0% { opacity: 0; transform: translate3d(0, 34px, 0); filter: blur(5px); }
  62% { opacity: 1; filter: blur(1px); }
  100% { opacity: 1; transform: translate3d(0, 0, 0); filter: blur(0); }
}
@media (max-width: 760px) {
  body.marina-site #home-hero .hero-inner > .eyebrow,
  body.marina-site #home-hero h1 .headline-line,
  body.marina-site #home-hero .hero-inner > p,
  body.marina-site #home-hero .hero-inner > .pill-row {
    transform: translate3d(0, 50px, 0);
    animation-duration: 2.35s !important;
  }
  body.marina-site #home-hero .hero-inner > .eyebrow { animation-delay: .28s !important; }
  body.marina-site #home-hero h1 .headline-line:nth-child(1) { animation-delay: .66s !important; }
  body.marina-site #home-hero h1 .headline-line:nth-child(2) { animation-delay: .94s !important; }
  body.marina-site #home-hero .hero-inner > p { animation-delay: 1.42s !important; }
  body.marina-site #home-hero .hero-inner > .pill-row { animation-delay: 1.92s !important; }
  body.marina-site #home-hero .pill-row .btn:nth-child(1) { animation-delay: 2.10s !important; }
  body.marina-site #home-hero .pill-row .btn:nth-child(2) { animation-delay: 2.25s !important; }
  body.marina-site #home-hero .pill-row .btn:nth-child(3) { animation-delay: 2.40s !important; }
}

/* Fabrizio v87: appointment popup therapist selector and service popup image updates */
body.marina-site .schedule-request {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}
body.marina-site .schedule-request .schedule-message {
  grid-column: span 3 !important;
}
body.marina-site .schedule-request .schedule-confirm {
  grid-column: span 2 !important;
}
body.marina-site .schedule-request select option {
  color: #111;
}
@media (max-width: 1180px) {
  body.marina-site .schedule-request {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.marina-site .schedule-request .schedule-message,
  body.marina-site .schedule-request .schedule-confirm {
    grid-column: span 2 !important;
  }
}
@media (max-width: 640px) {
  body.marina-site .schedule-request {
    grid-template-columns: 1fr !important;
  }
  body.marina-site .schedule-request .schedule-message,
  body.marina-site .schedule-request .schedule-confirm {
    grid-column: 1 !important;
  }
  body.marina-site .schedule-confirm {
    grid-template-columns: 1fr !important;
  }
}


/* Fabrizio v88: polished appointment request calendar concept */
body.marina-site .appointment-calendar-intro {
  max-width: 920px;
  margin-bottom: 24px !important;
}
body.marina-site .appointment-calendar-shell {
  display: grid;
  gap: 22px;
}
body.marina-site .appointment-calendar-grid-layout {
  display: grid;
  grid-template-columns: minmax(420px, .95fr) minmax(320px, .7fr);
  gap: 22px;
  align-items: stretch;
}
body.marina-site .appointment-calendar-panel,
body.marina-site .appointment-choice-panel,
body.marina-site .appointment-calendar-request {
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(6, 21, 28, .28);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 22px 46px rgba(0, 11, 18, .16);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  border-radius: 26px;
}
body.marina-site .appointment-calendar-panel,
body.marina-site .appointment-choice-panel {
  padding: clamp(18px, 2vw, 24px);
}
body.marina-site .calendar-title-row {
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  gap: 14px;
  align-items: center;
  margin-bottom: 22px;
}
body.marina-site .calendar-month-copy span,
body.marina-site .choice-panel-header span,
body.marina-site .selected-date-card span,
body.marina-site .time-panel > span {
  display: block;
  color: var(--cyan);
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
body.marina-site .calendar-month-copy strong,
body.marina-site .choice-panel-header strong,
body.marina-site .selected-date-card strong {
  display: block;
  color: #fff;
  font-size: clamp(22px, 2.1vw, 30px);
  line-height: 1.05;
  letter-spacing: -.03em;
}
body.marina-site .calendar-nav-button {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.08);
  color: #fff;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
  transition: background .22s ease, border-color .22s ease, transform .22s ease;
}
body.marina-site .calendar-nav-button:hover,
body.marina-site .calendar-nav-button:focus-visible {
  background: rgba(34, 207, 238, .24);
  border-color: rgba(34, 207, 238, .55);
  transform: translateY(-1px);
}
body.marina-site .calendar-nav-button:disabled {
  opacity: .28;
  cursor: default;
  transform: none;
}
body.marina-site .calendar-weekday-row,
body.marina-site .appointment-calendar-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
}
body.marina-site .calendar-weekday-row {
  margin-bottom: 10px;
}
body.marina-site .calendar-weekday-row span {
  color: rgba(255,255,255,.72);
  font-size: 12px;
  text-align: center;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.marina-site .calendar-day-button {
  aspect-ratio: 1 / .82;
  min-height: 44px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(255,255,255,.055);
  color: rgba(255,255,255,.92);
  font-size: 16px;
  font-weight: 650;
  cursor: pointer;
  transition: background .22s ease, color .22s ease, border-color .22s ease, transform .22s ease, box-shadow .22s ease;
}
body.marina-site .calendar-day-button.available:hover,
body.marina-site .calendar-day-button.available:focus-visible {
  background: rgba(34, 207, 238, .18);
  border-color: rgba(34, 207, 238, .55);
  transform: translateY(-1px);
}
body.marina-site .calendar-day-button.selected {
  background: var(--cyan) !important;
  color: #041820 !important;
  border-color: rgba(34, 207, 238, .85) !important;
  box-shadow: 0 12px 28px rgba(34, 207, 238, .18);
}
body.marina-site .calendar-day-button.disabled {
  opacity: .25;
  cursor: default;
}
body.marina-site .calendar-day-button.empty {
  opacity: 0;
  pointer-events: none;
}
body.marina-site .appointment-choice-panel {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
body.marina-site .appointment-choice-panel label,
body.marina-site .appointment-calendar-request label {
  display: grid;
  gap: 8px;
  color: #fff;
  font-size: 13px;
}
body.marina-site .appointment-choice-panel select,
body.marina-site .appointment-calendar-request input,
body.marina-site .appointment-calendar-request select,
body.marina-site .appointment-calendar-request textarea {
  width: 100%;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  color: #fff;
  padding: 15px 16px;
  font: inherit;
  outline: none;
}
body.marina-site .appointment-choice-panel select option,
body.marina-site .appointment-calendar-request select option {
  color: #06151c;
}
body.marina-site .selected-date-card,
body.marina-site .time-panel {
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(255,255,255,.055);
  padding: 16px;
}
body.marina-site .selected-date-card p,
body.marina-site .no-times-message {
  margin: 10px 0 0;
  color: rgba(255,255,255,.72);
  font-size: 14px;
  line-height: 1.45;
}
body.marina-site .appointment-time-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}
body.marina-site .appointment-time-list .appointment-slot {
  min-height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  color: #fff;
}
body.marina-site .appointment-time-list .appointment-slot:hover,
body.marina-site .appointment-time-list .appointment-slot:focus-visible {
  background: rgba(34, 207, 238, .22);
  color: #fff;
  border-color: rgba(34, 207, 238, .5);
}
body.marina-site .appointment-time-list .appointment-slot.active {
  background: var(--cyan) !important;
  color: #041820 !important;
  border-color: rgba(34, 207, 238, .85) !important;
}
body.marina-site .appointment-calendar-request {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: clamp(18px, 2vw, 24px);
}
body.marina-site .appointment-calendar-request .request-header {
  grid-column: 1 / -1;
}
body.marina-site .appointment-calendar-request .schedule-message {
  grid-column: span 2;
}
body.marina-site .appointment-calendar-request textarea {
  border-radius: 18px;
  min-height: 94px;
  resize: vertical;
}
body.marina-site .appointment-calendar-request .schedule-confirm {
  align-self: end;
}
body.marina-site .appointment-calendar-request .selected-time {
  min-height: 48px;
  display: flex;
  align-items: center;
  line-height: 1.25;
  padding-inline: 16px;
}
@media (max-width: 980px) {
  body.marina-site .appointment-calendar-grid-layout,
  body.marina-site .appointment-calendar-request {
    grid-template-columns: 1fr;
  }
  body.marina-site .appointment-calendar-request .schedule-message {
    grid-column: auto;
  }
}
@media (max-width: 620px) {
  body.marina-site .appointment-calendar-panel,
  body.marina-site .appointment-choice-panel,
  body.marina-site .appointment-calendar-request {
    border-radius: 20px;
    padding: 16px;
  }
  body.marina-site .calendar-title-row {
    grid-template-columns: 38px 1fr 38px;
    gap: 10px;
  }
  body.marina-site .calendar-nav-button {
    width: 38px;
    height: 38px;
  }
  body.marina-site .calendar-weekday-row,
  body.marina-site .appointment-calendar-days {
    gap: 5px;
  }
  body.marina-site .calendar-day-button {
    min-height: 38px;
    border-radius: 12px;
    font-size: 14px;
  }
  body.marina-site .appointment-time-list {
    grid-template-columns: 1fr;
  }
}


/* Fabrizio v89: keep quick weekday scheduler and add calendar as an alternate view, not a replacement. */
body.marina-site .care-spectrum-heading-desktop { display: inline; }
body.marina-site .care-spectrum-heading-mobile { display: none; }
body.marina-site .schedule-dual-shell { gap: 18px; }
body.marina-site .schedule-view-toggle {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 4px;
}
body.marina-site .schedule-view-button {
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.075);
  color: #fff;
  padding: 11px 18px;
  font-size: 13px;
  letter-spacing: .04em;
  cursor: pointer;
  transition: background .22s ease, border-color .22s ease, transform .22s ease, color .22s ease;
}
body.marina-site .schedule-view-button:hover,
body.marina-site .schedule-view-button:focus-visible {
  background: rgba(34,207,238,.18);
  border-color: rgba(34,207,238,.5);
  transform: translateY(-1px);
}
body.marina-site .schedule-view-button.active {
  background: rgba(34,207,238,.82);
  border-color: rgba(34,207,238,.92);
  color: #fff;
}
body.marina-site .schedule-panel.is-hidden,
body.marina-site .appointment-calendar-shell.is-hidden {
  display: none !important;
}
body.marina-site .appointment-calendar-shell {
  gap: 0;
}
body.marina-site .appointment-calendar-grid-layout {
  grid-template-columns: minmax(420px, .95fr) minmax(300px, .62fr);
}
body.marina-site .calendar-nav-button {
  border-radius: 14px;
}
body.marina-site .calendar-day-button.selected,
body.marina-site .calendar-day-button.selected:hover,
body.marina-site .calendar-day-button.selected:focus-visible {
  background: var(--cyan) !important;
  color: #fff !important;
  border-color: rgba(34, 207, 238, .95) !important;
  box-shadow: 0 12px 28px rgba(34, 207, 238, .2);
}
body.marina-site .appointment-time-list .appointment-slot.active,
body.marina-site .appointment-time-list .appointment-slot.active:hover,
body.marina-site .appointment-time-list .appointment-slot.active:focus-visible,
body.marina-site .week-time-slot.active,
body.marina-site .week-time-slot.active:hover,
body.marina-site .week-time-slot.active:focus-visible {
  background: var(--cyan) !important;
  color: #fff !important;
  border-color: rgba(34, 207, 238, .9) !important;
}
body.marina-site .calendar-selected-row {
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(255,255,255,.055);
  padding: 15px 16px 16px;
}
body.marina-site .calendar-selected-row span {
  display: block;
  color: var(--cyan);
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
body.marina-site .calendar-selected-row strong {
  display: block;
  color: #fff;
  font-size: clamp(18px, 1.45vw, 22px);
  line-height: 1.18;
  letter-spacing: -.02em;
}
body.marina-site .appointment-calendar-request {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
body.marina-site .appointment-calendar-request .schedule-message {
  grid-column: span 2;
}
body.marina-site .appointment-calendar-request .schedule-confirm {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-width: 0;
}
body.marina-site .appointment-calendar-request .selected-time {
  min-width: 0;
  overflow-wrap: anywhere;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 18px;
  color: rgba(255,255,255,.9);
}
body.marina-site .appointment-calendar-request .schedule-submit {
  width: auto !important;
  max-width: 100%;
  min-width: 0;
  justify-self: end;
  white-space: normal;
  text-align: center;
  padding: 13px 20px;
  font-size: 14px;
  line-height: 1.1;
}
@media (max-width: 980px) {
  body.marina-site .appointment-calendar-grid-layout,
  body.marina-site .appointment-calendar-request {
    grid-template-columns: 1fr;
  }
  body.marina-site .appointment-calendar-request .schedule-message,
  body.marina-site .appointment-calendar-request .schedule-confirm {
    grid-column: auto;
  }
  body.marina-site .appointment-calendar-request .schedule-confirm {
    grid-template-columns: 1fr;
  }
  body.marina-site .appointment-calendar-request .schedule-submit {
    width: 100% !important;
    justify-self: stretch;
  }
}
@media (max-width: 760px) {
  body.marina-site .care-spectrum-heading-desktop { display: none; }
  body.marina-site .care-spectrum-heading-mobile { display: inline; }
}
@media (max-width: 620px) {
  body.marina-site .schedule-view-button {
    flex: 1 1 100%;
    padding: 12px 14px;
  }
  body.marina-site .calendar-selected-row strong {
    font-size: 18px;
  }
}


/* Fabrizio v92: promote Ryan Reynolds to a second featured testimonial and move the remaining quotes into a balanced two-column row. */
body.marina-site #home-testimonials .testimonial-cards {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 28px !important;
}
body.marina-site #home-testimonials .dr-phil-testimonial,
body.marina-site #home-testimonials .ryan-reynolds-testimonial,
body.marina-site #home-testimonials .testimonial-secondary-grid {
  grid-column: 1 / -1 !important;
}
body.marina-site #home-testimonials .testimonial-secondary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
}
body.marina-site #home-testimonials .testimonial-secondary-grid .testimonial-card {
  min-height: 226px !important;
}
body.marina-site .ryan-reynolds-testimonial,
body.marina-site .ryan-reynolds-testimonial:hover,
body.marina-site .ryan-reynolds-testimonial:focus-visible,
body.marina-site .ryan-reynolds-testimonial.fpt-parallax-item,
body.marina-site .ryan-reynolds-testimonial .featured-testimonial-copy,
body.marina-site .ryan-reynolds-testimonial .featured-testimonial-copy.fpt-parallax-item,
body.marina-site .ryan-reynolds-testimonial .ryan-lock-img,
body.marina-site .ryan-reynolds-testimonial .ryan-lock-img.fpt-parallax-item {
  --fpt-parallax-y: 0px !important;
  --fpt-hover-y: 0px !important;
  --fpt-parallax-opacity: 1 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  translate: none !important;
  will-change: auto !important;
}
body.marina-site .ryan-reynolds-testimonial,
body.marina-site .ryan-reynolds-testimonial:hover,
body.marina-site .ryan-reynolds-testimonial:focus-visible {
  min-height: 360px !important;
  position: relative !important;
  overflow: hidden !important;
  background-image: none !important;
  background-color: rgba(31, 22, 4, .96) !important;
  border-color: rgba(255,255,255,.18) !important;
  isolation: isolate;
  contain: layout paint;
}
body.marina-site .ryan-reynolds-testimonial .ryan-lock-img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: left center !important;
  display: block !important;
  z-index: 0 !important;
  pointer-events: none !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
}
body.marina-site .ryan-reynolds-testimonial::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(14,10,2,.03) 0%, rgba(30,21,3,.10) 30%, rgba(46,31,4,.26) 50%, rgba(26,18,4,.56) 72%, rgba(17,12,3,.84) 100%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
body.marina-site .ryan-reynolds-testimonial .featured-testimonial-copy {
  position: relative !important;
  z-index: 2 !important;
}
body.marina-site .ryan-reynolds-testimonial blockquote,
body.marina-site .ryan-reynolds-testimonial .quote-credit {
  width: min(58%, 780px) !important;
  max-width: 780px !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  text-align: left !important;
  position: relative !important;
  left: 20px !important;
}
body.marina-site .ryan-reynolds-testimonial blockquote {
  font-size: clamp(31px, 3.7vw, 54px) !important;
  line-height: 1.11 !important;
  letter-spacing: -.03em !important;
  text-wrap: balance;
}
body.marina-site .ryan-reynolds-testimonial .quote-credit {
  margin-top: 16px !important;
  font-size: clamp(18px, 1.25vw, 23px) !important;
}
@media (max-width: 1040px) {
  body.marina-site .ryan-reynolds-testimonial,
  body.marina-site .ryan-reynolds-testimonial:hover,
  body.marina-site .ryan-reynolds-testimonial:focus-visible {
    min-height: 338px !important;
  }
  body.marina-site .ryan-reynolds-testimonial blockquote,
  body.marina-site .ryan-reynolds-testimonial .quote-credit {
    width: min(61%, 560px) !important;
    left: 12px !important;
  }
}
@media (max-width: 760px) {
  body.marina-site #home-testimonials .testimonial-cards {
    gap: 22px !important;
  }
  body.marina-site #home-testimonials .testimonial-secondary-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  body.marina-site .ryan-reynolds-testimonial,
  body.marina-site .ryan-reynolds-testimonial:hover,
  body.marina-site .ryan-reynolds-testimonial:focus-visible {
    min-height: 310px !important;
  }
  body.marina-site .ryan-reynolds-testimonial::before {
    background: linear-gradient(90deg, rgba(0,0,0,.03) 0%, rgba(0,0,0,.08) 34%, rgba(0,0,0,.30) 49%, rgba(0,0,0,.58) 67%, rgba(0,0,0,.72) 100%) !important;
  }
  body.marina-site .ryan-reynolds-testimonial blockquote,
  body.marina-site .ryan-reynolds-testimonial .quote-credit {
    width: min(50%, 218px) !important;
    max-width: 218px !important;
    left: 10px !important;
  }
  body.marina-site .ryan-reynolds-testimonial blockquote {
    font-size: clamp(21px, 6.1vw, 30px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.025em !important;
  }
  body.marina-site .ryan-reynolds-testimonial .quote-credit {
    font-size: clamp(14px, 4vw, 17px) !important;
    line-height: 1.18 !important;
    margin-top: 12px !important;
  }
}
@media (max-width: 430px) {
  body.marina-site .ryan-reynolds-testimonial blockquote,
  body.marina-site .ryan-reynolds-testimonial .quote-credit {
    width: min(48%, 190px) !important;
    max-width: 190px !important;
    left: 12px !important;
  }
  body.marina-site .ryan-reynolds-testimonial blockquote {
    font-size: clamp(20px, 6.4vw, 27px) !important;
  }
}


/* Fabrizio v93: hero copy should rise/fade only. No blur/pop. */
body.marina-site #home-hero .hero-inner > .eyebrow,
body.marina-site #home-hero h1 .headline-line,
body.marina-site #home-hero .hero-inner > p,
body.marina-site #home-hero .hero-inner > .pill-row {
  opacity: 0 !important;
  transform: translate3d(0, 66px, 0) !important;
  filter: none !important;
  animation-name: fptHeroRiseFadeOnly !important;
  animation-duration: 3.15s !important;
  animation-timing-function: cubic-bezier(.15, .65, .12, 1) !important;
  animation-fill-mode: forwards !important;
  will-change: opacity, transform !important;
}
body.marina-site #home-hero .pill-row .btn {
  opacity: 0 !important;
  transform: translate3d(0, 34px, 0) !important;
  filter: none !important;
  animation-name: fptHeroButtonRiseFadeOnly !important;
  animation-duration: 2.45s !important;
  animation-timing-function: cubic-bezier(.15, .65, .12, 1) !important;
  animation-fill-mode: forwards !important;
  will-change: opacity, transform !important;
}
body.marina-site #home-hero .hero-inner > .eyebrow { animation-delay: .28s !important; }
body.marina-site #home-hero h1 .headline-line:nth-child(1) { animation-delay: .74s !important; }
body.marina-site #home-hero h1 .headline-line:nth-child(2) { animation-delay: 1.04s !important; }
body.marina-site #home-hero .hero-inner > p { animation-delay: 1.62s !important; }
body.marina-site #home-hero .hero-inner > .pill-row { animation-delay: 2.24s !important; }
body.marina-site #home-hero .pill-row .btn:nth-child(1) { animation-delay: 2.46s !important; }
body.marina-site #home-hero .pill-row .btn:nth-child(2) { animation-delay: 2.64s !important; }
body.marina-site #home-hero .pill-row .btn:nth-child(3) { animation-delay: 2.82s !important; }
@keyframes fptHeroRiseFadeOnly {
  0% { opacity: 0; transform: translate3d(0, 66px, 0); filter: none; }
  35% { opacity: .28; }
  68% { opacity: .78; }
  100% { opacity: 1; transform: translate3d(0, 0, 0); filter: none; }
}
@keyframes fptHeroButtonRiseFadeOnly {
  0% { opacity: 0; transform: translate3d(0, 34px, 0); filter: none; }
  40% { opacity: .35; }
  74% { opacity: .82; }
  100% { opacity: 1; transform: translate3d(0, 0, 0); filter: none; }
}
@media (max-width: 760px) {
  body.marina-site #home-hero .hero-inner > .eyebrow,
  body.marina-site #home-hero h1 .headline-line,
  body.marina-site #home-hero .hero-inner > p,
  body.marina-site #home-hero .hero-inner > .pill-row {
    transform: translate3d(0, 52px, 0) !important;
    animation-duration: 3.0s !important;
  }
  @keyframes fptHeroRiseFadeOnly {
    0% { opacity: 0; transform: translate3d(0, 52px, 0); filter: none; }
    35% { opacity: .28; }
    68% { opacity: .78; }
    100% { opacity: 1; transform: translate3d(0, 0, 0); filter: none; }
  }
}

/* Fabrizio v93: make the calendar appointment flow the default on both desktop and mobile. */
body.marina-site .schedule-view-toggle,
body.marina-site .schedule-week-view {
  display: none !important;
}
body.marina-site .appointment-calendar-shell.is-hidden,
body.marina-site .schedule-panel.appointment-calendar-shell.is-hidden {
  display: grid !important;
}
body.marina-site .appointment-calendar-request .schedule-confirm {
  grid-template-columns: minmax(0, 1fr) minmax(190px, auto) !important;
}
@media (max-width: 980px) {
  body.marina-site .appointment-calendar-request .schedule-confirm {
    grid-template-columns: 1fr !important;
  }
}

/* Fabrizio v93: visible but still subtle mobile parallax. Keep video frames solid. */
@media (max-width: 760px) {
  body.marina-site .fpt-parallax-item {
    transition: opacity .12s linear, background .2s ease, border-color .2s ease, box-shadow .2s ease !important;
  }
  body.marina-site video.fpt-parallax-item,
  body.marina-site .concept-video-frame.fpt-parallax-item,
  body.marina-site .about-video-frame.fpt-parallax-item,
  body.marina-site .condition-video-frame.fpt-parallax-item,
  body.marina-site .team-headshot.fpt-parallax-item,
  body.marina-site .front-office-headshot.fpt-parallax-item {
    --fpt-parallax-y: 0px !important;
    --fpt-parallax-opacity: 1 !important;
    transform: none !important;
    opacity: 1 !important;
  }
}


/* Fabrizio v94: appointment modal defaults to calendar first, with quick weekday view second. */
body.marina-site .schedule-view-toggle {
  justify-content: flex-start;
}
body.marina-site .schedule-view-button[data-schedule-view="calendar"].active {
  background: var(--accent) !important;
  color: #052431 !important;
  border-color: rgba(34,205,239,.72) !important;
}

/* Fabrizio v94: recognition logos scaled another 10% without changing their placement. */
body.marina-site #home-about .about-logo-strip {
  overflow: visible !important;
}
body.marina-site #home-about .about-logo-strip img {
  width: 110% !important;
  max-width: none !important;
  transform: translateX(-5%) !important;
  transform-origin: center center !important;
}
@media (max-width: 760px) {
  body.marina-site #home-about .about-logo-strip img {
    width: 110% !important;
    transform: translateX(-5%) !important;
  }
}

/* Fabrizio v95: employee popups, remove video name label, move/enlarge headshot beside name, and make email buttons normal size. */
body.marina-site .team-profile-modal .modal-visual span {
  display: none !important;
}
body.marina-site .team-profile-modal .modal-text .form-link-grid.single {
  display: flex !important;
  grid-template-columns: none !important;
  justify-content: flex-start !important;
  align-items: center !important;
  width: auto !important;
  max-width: none !important;
  margin: 20px 0 4px !important;
}
body.marina-site .team-profile-modal .modal-text .form-link-grid.single .form-link-button,
body.marina-site .team-profile-modal .modal-text .form-link-grid.single .form-link-button.wide {
  grid-column: auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: max-content !important;
  min-height: 42px !important;
  padding: 10px 18px !important;
  font-size: 14px !important;
  line-height: 1.15 !important;
  display: inline-flex !important;
}
@media (min-width: 981px) {
  body.marina-site .team-profile-modal .modal-visual {
    float: left !important;
    width: min(12.1vw, 116px) !important;
    height: clamp(106px, 9.35vw, 123px) !important;
    min-height: 0 !important;
    max-height: 123px !important;
    margin: 6px 22px 12px 0 !important;
    border-radius: 17px !important;
  }
  body.marina-site .team-profile-modal .modal-card h2 {
    max-width: none !important;
    min-height: 112px !important;
    display: flex !important;
    align-items: center !important;
    margin-top: 8px !important;
    margin-bottom: 10px !important;
  }
  body.marina-site .team-profile-modal .modal-text {
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 6px !important;
  }
}
@media (max-width: 980px) {
  body.marina-site .team-profile-modal .modal-text .form-link-grid.single {
    justify-content: flex-start !important;
  }
}


/* Fabrizio v96: remove unnecessary selected-time pill from appointment request footer. */
body.marina-site .appointment-calendar-request .schedule-confirm {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  grid-column: 1 / -1;
}
body.marina-site .appointment-calendar-request .schedule-submit {
  width: auto;
}


/* Fabrizio v97: make selected calendar day/time states filled blue, not just outlined. */
body.marina-site {
  --cyan: var(--accent, #22cdef);
}
body.marina-site .calendar-day-button.selected,
body.marina-site .calendar-day-button.selected:hover,
body.marina-site .calendar-day-button.selected:focus-visible {
  background: var(--accent, #22cdef) !important;
  color: #052431 !important;
  border-color: var(--accent, #22cdef) !important;
  box-shadow: 0 14px 30px rgba(34, 205, 239, .28) !important;
}
body.marina-site .appointment-time-list .appointment-slot.active,
body.marina-site .appointment-time-list .appointment-slot.active:hover,
body.marina-site .appointment-time-list .appointment-slot.active:focus-visible,
body.marina-site .week-time-slot.active,
body.marina-site .week-time-slot.active:hover,
body.marina-site .week-time-slot.active:focus-visible {
  background: var(--accent, #22cdef) !important;
  color: #052431 !important;
  border-color: var(--accent, #22cdef) !important;
  box-shadow: 0 12px 26px rgba(34, 205, 239, .24) !important;
}


/* Fabrizio v98: hard-remove the old appointment summary pill unless an actual selection is written by JS. */
body.marina-site .appointment-calendar-request .selected-time:empty,
body.marina-site .schedule-confirm .selected-time:empty {
  display: none !important;
}


/* Fabrizio v99: force equal horizontal/vertical spacing between stacked card grids. */
body.marina-site .services-grid,
body.marina-site .treatment-grid,
body.marina-site .practice-grid,
body.marina-site .steps-grid,
body.marina-site .proof-wrap,
body.marina-site .team-panel .team-grid,
body.marina-site .team-panel .front-office-grid {
  column-gap: 16px !important;
  row-gap: 16px !important;
  align-items: stretch !important;
}

body.marina-site .services-grid > *,
body.marina-site .treatment-grid > *,
body.marina-site .practice-grid > *,
body.marina-site .steps-grid > *,
body.marina-site .proof-wrap > *,
body.marina-site .team-panel .team-grid > *,
body.marina-site .team-panel .front-office-grid > * {
  margin: 0 !important;
}

@media (max-width: 760px) {
  body.marina-site .services-grid,
  body.marina-site .treatment-grid,
  body.marina-site .practice-grid,
  body.marina-site .steps-grid,
  body.marina-site .proof-wrap,
  body.marina-site .team-panel .team-grid,
  body.marina-site .team-panel .front-office-grid {
    row-gap: 14px !important;
    column-gap: 14px !important;
  }
}


/* Fabrizio v100: start facility loop as soon as visible and hide team video name overlays. */
body.marina-site .team-profile-modal #modalVisualLabel,
body.marina-site .team-profile-modal .modal-visual span {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}
body.marina-site .facility-loop-frame .facility-loop-video {
  opacity: 0;
}
body.marina-site .facility-loop-frame .facility-loop-video.active {
  opacity: 1;
}


/* Fabrizio v101: force employee popup email buttons to compact left-aligned size. */
body.marina-site .team-profile-modal .modal-text .form-link-grid.single {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 18px 0 4px !important;
  text-align: left !important;
}
body.marina-site .team-profile-modal .modal-text .form-link-grid.single .form-link-button,
body.marina-site .team-profile-modal .modal-text .form-link-grid.single .form-link-button.wide {
  display: inline-flex !important;
  width: fit-content !important;
  inline-size: fit-content !important;
  max-width: max-content !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  justify-self: start !important;
  align-self: flex-start !important;
  margin: 0 !important;
  padding: 10px 18px !important;
}


/* Fabrizio v102: give the insurance notice popup its own subtle blue-tinted gradient so it stands out. */
body.marina-site .inline-notice-card {
  background:
    linear-gradient(135deg, rgba(34, 205, 239, .18) 0%, rgba(25, 92, 128, .11) 34%, rgba(15, 27, 36, .00) 100%),
    linear-gradient(180deg, rgba(24, 31, 38, .96) 0%, rgba(20, 26, 33, .98) 100%) !important;
  border: 1px solid rgba(96, 212, 255, .22) !important;
  box-shadow: 0 22px 52px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.05) !important;
}


/* Fabrizio v103: move the testimonials archive button farther below the cards so it never touches them. */
body.marina-site #home-testimonials .testimonial-more-actions {
  margin-top: 28px !important;
}
body.marina-site #home-testimonials .testimonial-more-actions.fpt-parallax-item {
  transform: translate3d(0, calc(var(--fpt-parallax-y, 0px) + 8px), 0) !important;
}
@media (max-width: 760px) {
  body.marina-site #home-testimonials .testimonial-more-actions {
    margin-top: 26px !important;
  }
  body.marina-site #home-testimonials .testimonial-more-actions.fpt-parallax-item {
    transform: translate3d(0, calc(var(--fpt-parallax-y, 0px) + 6px), 0) !important;
  }
}


/* Fabrizio v104: keep Dr. Phil testimonial box size unchanged, but shift image crop down slightly so his forehead is not cut off. */
body.marina-site .dr-phil-testimonial .dr-phil-lock-img {
  object-position: center 38% !important;
}
@media (max-width: 760px) {
  body.marina-site .dr-phil-testimonial .dr-phil-lock-img {
    object-position: left 34% !important;
  }
}


/* Fabrizio v105: align the left edge of the two featured testimonial text blocks on narrower screens. */
@media (max-width: 820px) {
  body.marina-site .dr-phil-testimonial .featured-testimonial-copy,
  body.marina-site .ryan-reynolds-testimonial .featured-testimonial-copy {
    align-items: flex-start !important;
    padding-left: 56px !important;
    padding-right: 22px !important;
  }
  body.marina-site .dr-phil-testimonial blockquote,
  body.marina-site .dr-phil-testimonial .quote-credit,
  body.marina-site .ryan-reynolds-testimonial blockquote,
  body.marina-site .ryan-reynolds-testimonial .quote-credit {
    margin-left: 0 !important;
    margin-right: auto !important;
    left: 0 !important;
    transform: none !important;
    text-align: left !important;
    width: min(62%, 390px) !important;
    max-width: 390px !important;
  }
}
@media (max-width: 430px) {
  body.marina-site .dr-phil-testimonial .featured-testimonial-copy,
  body.marina-site .ryan-reynolds-testimonial .featured-testimonial-copy {
    padding-left: 42px !important;
    padding-right: 18px !important;
  }
  body.marina-site .dr-phil-testimonial blockquote,
  body.marina-site .dr-phil-testimonial .quote-credit,
  body.marina-site .ryan-reynolds-testimonial blockquote,
  body.marina-site .ryan-reynolds-testimonial .quote-credit {
    width: min(68%, 280px) !important;
    max-width: 280px !important;
  }
}


/* Fabrizio v106: delayed Newport Beach popup above the fold in the upper right. */
body.marina-site .newport-popup {
  position: fixed;
  top: 104px;
  right: 26px;
  width: min(360px, calc(100vw - 40px));
  min-height: 214px;
  border-radius: 24px;
  overflow: hidden;
  z-index: 70;
  background: rgba(10, 17, 24, .82);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 18px 38px rgba(0,0,0,.24);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-12px);
  transition: opacity .45s ease, transform .45s ease, visibility .45s ease;
}
body.marina-site .newport-popup.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
body.marina-site .newport-popup-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
body.marina-site .newport-popup-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(8,16,24,.60) 0%, rgba(8,16,24,.24) 35%, rgba(8,16,24,.06) 62%, rgba(8,16,24,.00) 100%);
}
body.marina-site .newport-popup-copy {
  position: relative;
  z-index: 2;
  min-height: 214px;
  display: flex;
  align-items: flex-end;
  padding: 18px 18px 18px;
}
body.marina-site .newport-popup-copy p {
  margin: 0;
  color: #fff;
  font-size: clamp(24px, 2.0vw, 31px);
  line-height: 1.08;
  font-weight: 600;
  max-width: 11ch;
  text-shadow: 0 2px 10px rgba(0,0,0,.28);
}
body.marina-site .newport-popup-close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(10,17,24,.28);
  color: rgba(255,255,255,.92);
  font-size: 22px;
  line-height: 1;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
body.marina-site .newport-popup-close:hover,
body.marina-site .newport-popup-close:focus-visible {
  background: rgba(255,255,255,.18);
  border-color: rgba(255,255,255,.34);
  color: #fff;
}
@media (max-width: 980px) {
  body.marina-site .newport-popup {
    top: 92px;
    right: 18px;
    width: min(320px, calc(100vw - 28px));
    min-height: 198px;
  }
  body.marina-site .newport-popup-copy {
    min-height: 198px;
  }
}
@media (max-width: 760px) {
  body.marina-site .newport-popup {
    top: 78px;
    right: 14px;
    width: min(282px, calc(100vw - 28px));
    min-height: 176px;
    border-radius: 20px;
  }
  body.marina-site .newport-popup-copy {
    min-height: 176px;
    padding: 16px;
  }
  body.marina-site .newport-popup-copy p {
    font-size: clamp(20px, 5.6vw, 26px);
  }
}


/* Fabrizio v107: refine Newport Beach popup copy and add click-to-open full-image lightbox. */
body.marina-site .newport-popup {
  cursor: pointer;
}
body.marina-site .newport-popup-overlay {
  background:
    linear-gradient(to top, rgba(8,16,24,.70) 0%, rgba(8,16,24,.38) 34%, rgba(8,16,24,.12) 64%, rgba(8,16,24,.03) 100%),
    linear-gradient(135deg, rgba(8,16,24,.12), rgba(8,16,24,0) 54%);
}
body.marina-site .newport-popup-copy {
  width: 100%;
  justify-content: flex-start;
}
body.marina-site .newport-popup-copy p {
  max-width: none !important;
  width: 100%;
  font-size: clamp(18px, 1.45vw, 22px) !important;
  line-height: 1.06 !important;
  letter-spacing: -.01em;
}
@media (max-width: 760px) {
  body.marina-site .newport-popup-copy p {
    font-size: clamp(16px, 4.8vw, 20px) !important;
  }
}

body.marina-site .newport-lightbox {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 26px;
  background: rgba(4, 10, 16, .76);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .3s ease, visibility .3s ease;
}
body.marina-site .newport-lightbox.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
body.marina-site .newport-lightbox-frame {
  position: relative;
  width: min(1180px, 92vw);
  max-height: min(88vh, 1200px);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 20px 46px rgba(0,0,0,.34);
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(7,14,20,.92);
}
body.marina-site .newport-lightbox-image {
  display: block;
  width: 100%;
  height: auto;
  max-height: min(88vh, 1200px);
  object-fit: contain;
}
body.marina-site .newport-lightbox-close {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 3;
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.24);
  background: rgba(10,17,24,.36);
  color: rgba(255,255,255,.95);
  font-size: 24px;
  line-height: 1;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
body.marina-site .newport-lightbox-close:hover,
body.marina-site .newport-lightbox-close:focus-visible {
  background: rgba(255,255,255,.16);
  border-color: rgba(255,255,255,.36);
  color: #fff;
}
@media (max-width: 760px) {
  body.marina-site .newport-lightbox {
    padding: 14px;
  }
  body.marina-site .newport-lightbox-frame {
    width: min(100%, 96vw);
    border-radius: 18px;
  }
  body.marina-site .newport-lightbox-close {
    top: 10px;
    right: 10px;
  }
}


/* Fabrizio v108: lock scroll for Newport image lightbox without triggering mobile menu styles. */
body.newport-lightbox-open { overflow: hidden; }


/* Fabrizio v109: restore mobile above-fold headline, intro text, and buttons so they cannot stay hidden under iOS/Safari animation. */
@media (max-width: 760px) {
  body.marina-site .home-intro-logo {
    top: 116px !important;
    z-index: 20 !important;
  }
  body.marina-site .home-intro-logo img {
    width: min(214px, 58vw) !important;
  }
  body.marina-site #home-hero {
    min-height: 100svh !important;
    display: flex !important;
    align-items: flex-end !important;
    padding: clamp(316px, 47vh, 372px) 18px 34px !important;
  }
  body.marina-site #home-hero .hero-inner {
    position: relative !important;
    z-index: 3 !important;
    transform: none !important;
    width: 100% !important;
  }
  body.marina-site #home-hero .hero-inner > .eyebrow,
  body.marina-site #home-hero h1 .headline-line,
  body.marina-site #home-hero .hero-inner > p,
  body.marina-site #home-hero .hero-inner > .pill-row,
  body.marina-site #home-hero .pill-row .btn {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
  }
  body.marina-site #home-hero h1 {
    font-size: clamp(31.2px, 8.4vw, 40px) !important;
    line-height: .98 !important;
  }
  body.marina-site #home-hero .hero-inner > p {
    font-size: 15.5px !important;
    line-height: 1.34 !important;
    margin-top: 14px !important;
    max-width: 36ch !important;
  }
  body.marina-site #home-hero .pill-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin-top: 14px !important;
    align-items: stretch !important;
  }
  body.marina-site #home-hero .pill-row .btn {
    width: 100% !important;
    min-height: 42px !important;
    padding: 9px 15px !important;
  }
}

@media (max-width: 430px) and (max-height: 760px) {
  body.marina-site .home-intro-logo {
    top: 108px !important;
  }
  body.marina-site .home-intro-logo img {
    width: min(198px, 55vw) !important;
  }
  body.marina-site #home-hero {
    padding-top: clamp(276px, 43vh, 330px) !important;
    padding-bottom: 28px !important;
  }
  body.marina-site #home-hero h1 {
    font-size: clamp(27.2px, 7.52vw, 33.6px) !important;
  }
  body.marina-site #home-hero .hero-inner > p {
    font-size: 14.5px !important;
  }
  body.marina-site #home-hero .pill-row .btn {
    min-height: 39px !important;
  }
}


/* Fabrizio v110: popup glides in from the right, close X is optically centered, desktop copy gets a hard return after “soon”, and hero content stays visible above the fold. */
body.marina-site .newport-popup {
  transform: translate3d(48px, 0, 0) !important;
  transition: opacity .55s ease, transform .95s cubic-bezier(.16, .78, .18, 1), visibility .55s ease !important;
  will-change: transform, opacity;
}
body.marina-site .newport-popup.is-visible {
  transform: translate3d(0, 0, 0) !important;
}
body.marina-site .newport-popup-close {
  padding: 0 !important;
  font-size: 0 !important;
}
body.marina-site .newport-popup-close span {
  display: block;
  font-size: 21px;
  line-height: 1;
  transform: translateY(-1px);
}
body.marina-site .newport-popup-desktop-break {
  display: inline;
}
@media (min-width: 761px) {
  body.marina-site .newport-popup-copy p {
    white-space: normal;
  }
  body.marina-site .newport-popup-desktop-break {
    display: block;
  }
  body.marina-site .home-intro-logo {
    top: 82px !important;
    z-index: 18 !important;
  }
  body.marina-site .home-intro-logo img {
    width: min(252px, 19vw) !important;
  }
  body.marina-site #home-hero {
    min-height: 100svh !important;
    display: flex !important;
    align-items: flex-end !important;
    padding-top: clamp(300px, 34vh, 360px) !important;
    padding-bottom: clamp(44px, 6.5vh, 76px) !important;
  }
  body.marina-site #home-hero .hero-inner {
    position: relative !important;
    z-index: 4 !important;
    width: min(900px, 100%) !important;
  }
  body.marina-site #home-hero .hero-inner > .eyebrow,
  body.marina-site #home-hero h1 .headline-line,
  body.marina-site #home-hero .hero-inner > p,
  body.marina-site #home-hero .hero-inner > .pill-row,
  body.marina-site #home-hero .pill-row .btn {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
  }
}
@media (max-width: 760px) {
  body.marina-site .newport-popup-desktop-break {
    display: none;
  }
}


/* Fabrizio v111: fix Newport lightbox so text/logo sit inside the photo, remove black strip, and center the close X. */
body.marina-site .newport-lightbox-frame {
  position: relative !important;
  width: min(1240px, 94vw) !important;
  max-height: 88vh !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: transparent !important;
}
body.marina-site .newport-lightbox-image {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 88vh !important;
  object-fit: cover !important;
}
body.marina-site .newport-lightbox-overlay {
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(to top, rgba(4,10,16,.56) 0%, rgba(4,10,16,.24) 16%, rgba(4,10,16,0) 32%) !important;
}
body.marina-site .newport-lightbox-caption {
  position: absolute !important;
  left: 26px !important;
  right: 24px !important;
  bottom: 22px !important;
  z-index: 3 !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 18px !important;
  pointer-events: none !important;
}
body.marina-site .newport-lightbox-caption p {
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(28px, 2.3vw, 38px) !important;
  line-height: 1.02 !important;
  font-weight: 600 !important;
  letter-spacing: -.02em !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.28) !important;
}
body.marina-site .newport-lightbox-logo {
  display: block !important;
  width: clamp(118px, 10vw, 145px) !important;
  height: auto !important;
  flex: 0 0 auto !important;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.22)) !important;
}
body.marina-site .newport-lightbox-close {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  z-index: 4 !important;
  width: 38px !important;
  height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  background: rgba(10,17,24,.34) !important;
  color: rgba(255,255,255,.96) !important;
  font-size: 0 !important;
  line-height: 1 !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}
body.marina-site .newport-lightbox-close span {
  display: block !important;
  font-size: 22px !important;
  line-height: 1 !important;
  transform: translateY(-1px) !important;
}
body.marina-site .newport-lightbox-close:hover,
body.marina-site .newport-lightbox-close:focus-visible {
  background: rgba(255,255,255,.16) !important;
  border-color: rgba(255,255,255,.36) !important;
  color: #fff !important;
}
@media (max-width: 760px) {
  body.marina-site .newport-lightbox {
    padding: 14px !important;
  }
  body.marina-site .newport-lightbox-frame {
    width: min(100%, 96vw) !important;
    border-radius: 18px !important;
  }
  body.marina-site .newport-lightbox-caption {
    left: 16px !important;
    right: 16px !important;
    bottom: 16px !important;
    gap: 14px !important;
  }
  body.marina-site .newport-lightbox-caption p {
    font-size: clamp(19px, 5vw, 26px) !important;
  }
  body.marina-site .newport-lightbox-logo {
    width: clamp(88px, 24vw, 116px) !important;
  }
  body.marina-site .newport-lightbox-close {
    top: 10px !important;
    right: 10px !important;
    width: 34px !important;
    height: 34px !important;
  }
}


/* Fabrizio v112: darken the small Newport popup with a subtle bluish-black tint on hover. */
body.marina-site .newport-popup,
body.marina-site .newport-popup-image,
body.marina-site .newport-popup-overlay {
  transition: background .28s ease, opacity .28s ease, filter .28s ease, transform .95s cubic-bezier(.16, .78, .18, 1), visibility .55s ease;
}
body.marina-site .newport-popup:hover .newport-popup-overlay,
body.marina-site .newport-popup:focus-visible .newport-popup-overlay {
  background:
    linear-gradient(to top, rgba(4, 12, 20, .84) 0%, rgba(5, 14, 24, .50) 36%, rgba(6, 16, 26, .20) 66%, rgba(6, 16, 26, .06) 100%),
    linear-gradient(135deg, rgba(5, 26, 40, .26) 0%, rgba(4, 10, 18, .12) 46%, rgba(4, 10, 18, 0) 100%) !important;
}
body.marina-site .newport-popup:hover .newport-popup-image,
body.marina-site .newport-popup:focus-visible .newport-popup-image {
  filter: brightness(.88) saturate(.94);
}

/* Fabrizio v113: make the Newport popup glide in slowly and visibly from the right edge. */
body.marina-site .newport-popup {
  transform: translate3d(160px, 0, 0) !important;
  transition:
    opacity .85s ease,
    transform 2.65s cubic-bezier(.12, .74, .10, 1),
    visibility .85s ease,
    filter .28s ease,
    background .28s ease !important;
}
body.marina-site .newport-popup.is-visible {
  transform: translate3d(0, 0, 0) !important;
}


/* Fabrizio v114: fix desktop row spacing on stacked category grids by matching row gaps to column gaps and removing parallax Y drift from the cards themselves. */
@media (min-width: 761px) {
  body.marina-site .services-grid,
  body.marina-site .treatment-grid,
  body.marina-site .conditions-grid {
    column-gap: 16px !important;
    row-gap: 16px !important;
    align-items: stretch !important;
  }

  body.marina-site .services-grid > *,
  body.marina-site .treatment-grid > *,
  body.marina-site .conditions-grid > * {
    margin: 0 !important;
  }

  body.marina-site .services-grid > .service-card.fpt-parallax-item,
  body.marina-site .treatment-grid > .service-card.fpt-parallax-item,
  body.marina-site .conditions-grid > .condition-card.fpt-parallax-item {
    transform: translate3d(0, var(--fpt-hover-y, 0px), 0) !important;
    opacity: 1 !important;
  }
}


/* Fabrizio v115: make the Ryan featured testimonial closer in height to Dr. Phil and align both featured quote blocks on desktop. */
@media (min-width: 761px) {
  body.marina-site #home-testimonials .dr-phil-testimonial,
  body.marina-site #home-testimonials .dr-phil-testimonial:hover,
  body.marina-site #home-testimonials .dr-phil-testimonial:focus-visible,
  body.marina-site #home-testimonials .ryan-reynolds-testimonial,
  body.marina-site #home-testimonials .ryan-reynolds-testimonial:hover,
  body.marina-site #home-testimonials .ryan-reynolds-testimonial:focus-visible {
    min-height: 340px !important;
  }

  body.marina-site #home-testimonials .dr-phil-testimonial .featured-testimonial-copy,
  body.marina-site #home-testimonials .ryan-reynolds-testimonial .featured-testimonial-copy {
    min-height: 340px !important;
    padding: clamp(22px, 2.2vw, 28px) clamp(92px, 8vw, 122px) clamp(20px, 2.2vw, 26px) clamp(34px, 3.8vw, 48px) !important;
    align-items: flex-end !important;
  }

  body.marina-site #home-testimonials .dr-phil-testimonial blockquote,
  body.marina-site #home-testimonials .dr-phil-testimonial .quote-credit,
  body.marina-site #home-testimonials .ryan-reynolds-testimonial blockquote,
  body.marina-site #home-testimonials .ryan-reynolds-testimonial .quote-credit {
    width: min(58%, 780px) !important;
    max-width: 780px !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    text-align: left !important;
    transform: none !important;
    left: 0 !important;
  }
}


/* Fabrizio v116: remove featured testimonial keylines and add a subtle glass-like right-side translucency that grades toward the opaque person side. */
body.marina-site #home-testimonials .dr-phil-testimonial,
body.marina-site #home-testimonials .dr-phil-testimonial:hover,
body.marina-site #home-testimonials .dr-phil-testimonial:focus-visible,
body.marina-site #home-testimonials .ryan-reynolds-testimonial,
body.marina-site #home-testimonials .ryan-reynolds-testimonial:hover,
body.marina-site #home-testimonials .ryan-reynolds-testimonial:focus-visible {
  border: 0 !important;
  border-color: transparent !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.12) !important;
}

body.marina-site #home-testimonials .dr-phil-testimonial::before {
  background:
    linear-gradient(90deg,
      rgba(9, 3, 16, 0.00) 0%,
      rgba(14, 5, 24, 0.00) 30%,
      rgba(24, 7, 36, 0.18) 46%,
      rgba(40, 9, 58, 0.34) 62%,
      rgba(62, 10, 84, 0.48) 78%,
      rgba(78, 10, 98, 0.58) 100%) !important;
  backdrop-filter: blur(10px) saturate(108%) brightness(1.02) !important;
  -webkit-backdrop-filter: blur(10px) saturate(108%) brightness(1.02) !important;
}

body.marina-site #home-testimonials .ryan-reynolds-testimonial::before {
  background:
    linear-gradient(90deg,
      rgba(10, 9, 3, 0.00) 0%,
      rgba(14, 12, 3, 0.00) 30%,
      rgba(24, 18, 4, 0.18) 46%,
      rgba(38, 29, 5, 0.34) 62%,
      rgba(56, 42, 6, 0.48) 78%,
      rgba(74, 55, 6, 0.58) 100%) !important;
  backdrop-filter: blur(10px) saturate(106%) brightness(1.01) !important;
  -webkit-backdrop-filter: blur(10px) saturate(106%) brightness(1.01) !important;
}


/* Fabrizio v117: increase the blue tint in the insurance notice popup a bit more without overdoing it. */
body.marina-site .inline-notice-card {
  background:
    linear-gradient(135deg, rgba(34, 205, 239, .26) 0%, rgba(28, 118, 168, .18) 30%, rgba(16, 54, 82, .08) 58%, rgba(15, 27, 36, .00) 100%),
    linear-gradient(180deg, rgba(22, 30, 38, .96) 0%, rgba(18, 24, 31, .985) 100%) !important;
  border: 1px solid rgba(96, 212, 255, .28) !important;
  box-shadow: 0 22px 52px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.06) !important;
}

/* Fabrizio v118: restore above-fold sequential fade-up animation on desktop, no blur, with a safety fallback after completion. */
@media (min-width: 761px) {
  body.marina-site #home-hero .hero-inner > .eyebrow,
  body.marina-site #home-hero h1 .headline-line,
  body.marina-site #home-hero .hero-inner > p {
    opacity: 0 !important;
    visibility: visible !important;
    transform: translate3d(0, 54px, 0) !important;
    filter: none !important;
    animation-name: fptHeroRiseFadeOnly !important;
    animation-duration: 2.85s !important;
    animation-timing-function: cubic-bezier(.15, .65, .12, 1) !important;
    animation-fill-mode: forwards !important;
    will-change: opacity, transform !important;
  }

  body.marina-site #home-hero .hero-inner > .pill-row {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
  }

  body.marina-site #home-hero .pill-row .btn {
    opacity: 0 !important;
    visibility: visible !important;
    transform: translate3d(0, 30px, 0) !important;
    filter: none !important;
    animation-name: fptHeroButtonRiseFadeOnly !important;
    animation-duration: 2.1s !important;
    animation-timing-function: cubic-bezier(.15, .65, .12, 1) !important;
    animation-fill-mode: forwards !important;
    will-change: opacity, transform !important;
  }

  body.marina-site #home-hero .hero-inner > .eyebrow { animation-delay: .28s !important; }
  body.marina-site #home-hero h1 .headline-line:nth-child(1) { animation-delay: .78s !important; }
  body.marina-site #home-hero h1 .headline-line:nth-child(2) { animation-delay: 1.08s !important; }
  body.marina-site #home-hero .hero-inner > p { animation-delay: 1.62s !important; }
  body.marina-site #home-hero .pill-row .btn:nth-child(1) { animation-delay: 2.18s !important; }
  body.marina-site #home-hero .pill-row .btn:nth-child(2) { animation-delay: 2.38s !important; }
  body.marina-site #home-hero .pill-row .btn:nth-child(3) { animation-delay: 2.58s !important; }

  body.marina-site.hero-animation-complete #home-hero .hero-inner > .eyebrow,
  body.marina-site.hero-animation-complete #home-hero h1 .headline-line,
  body.marina-site.hero-animation-complete #home-hero .hero-inner > p,
  body.marina-site.hero-animation-complete #home-hero .hero-inner > .pill-row,
  body.marina-site.hero-animation-complete #home-hero .pill-row .btn {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
    will-change: auto !important;
  }
}

/* Fabrizio v119: ensure the facility video shows the active overview video cleanly while it starts. */
body.marina-site .facility-loop-frame .facility-loop-video {
  background-image: url('../img/practice/marina-building-front.jpg');
  background-size: cover;
  background-position: center center;
}


/* Fabrizio v120: restore the mobile featured-testimonial treatment with text on the right, faces pushed left, and no blur over the people. */
@media (max-width: 760px) {
  body.marina-site .dr-phil-testimonial::before,
  body.marina-site .ryan-reynolds-testimonial::before {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body.marina-site .dr-phil-testimonial .featured-testimonial-copy,
  body.marina-site .ryan-reynolds-testimonial .featured-testimonial-copy {
    align-items: flex-end !important;
    padding: 22px 16px 18px 18px !important;
  }

  body.marina-site .dr-phil-testimonial blockquote,
  body.marina-site .dr-phil-testimonial .quote-credit,
  body.marina-site .ryan-reynolds-testimonial blockquote,
  body.marina-site .ryan-reynolds-testimonial .quote-credit {
    width: min(53%, 214px) !important;
    max-width: 214px !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    left: 0 !important;
    transform: none !important;
    text-align: left !important;
  }

  body.marina-site .dr-phil-testimonial .dr-phil-lock-img {
    width: calc(100% + 72px) !important;
    max-width: none !important;
    transform: translateX(-72px) !important;
    object-position: left center !important;
  }

  body.marina-site .ryan-reynolds-testimonial .ryan-lock-img {
    width: calc(100% + 82px) !important;
    max-width: none !important;
    transform: translateX(-82px) !important;
    object-position: left center !important;
  }
}

@media (max-width: 430px) {
  body.marina-site .dr-phil-testimonial blockquote,
  body.marina-site .dr-phil-testimonial .quote-credit,
  body.marina-site .ryan-reynolds-testimonial blockquote,
  body.marina-site .ryan-reynolds-testimonial .quote-credit {
    width: min(54%, 198px) !important;
    max-width: 198px !important;
  }

  body.marina-site .dr-phil-testimonial .dr-phil-lock-img {
    width: calc(100% + 84px) !important;
    transform: translateX(-84px) !important;
  }

  body.marina-site .ryan-reynolds-testimonial .ryan-lock-img {
    width: calc(100% + 94px) !important;
    transform: translateX(-94px) !important;
  }
}


/* Fabrizio v121: restore immediate hero rise/fade with no long blank pause or hard pop-in. */
@media (min-width: 761px) {
  body.marina-site #home-hero .hero-inner > .eyebrow,
  body.marina-site #home-hero h1 .headline-line,
  body.marina-site #home-hero .hero-inner > p,
  body.marina-site #home-hero .pill-row .btn {
    opacity: 0 !important;
    visibility: visible !important;
    transform: translate3d(0, 28px, 0) !important;
    filter: none !important;
    animation: none !important;
    transition-property: opacity, transform !important;
    transition-duration: .95s !important;
    transition-timing-function: cubic-bezier(.18, .72, .16, 1) !important;
    will-change: opacity, transform !important;
  }

  body.marina-site.hero-animating #home-hero .hero-inner > .eyebrow,
  body.marina-site.hero-animating #home-hero h1 .headline-line,
  body.marina-site.hero-animating #home-hero .hero-inner > p,
  body.marina-site.hero-animating #home-hero .pill-row .btn,
  body.marina-site.hero-animation-complete #home-hero .hero-inner > .eyebrow,
  body.marina-site.hero-animation-complete #home-hero h1 .headline-line,
  body.marina-site.hero-animation-complete #home-hero .hero-inner > p,
  body.marina-site.hero-animation-complete #home-hero .pill-row .btn {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
    filter: none !important;
  }

  body.marina-site #home-hero .hero-inner > .eyebrow { transition-delay: .08s !important; }
  body.marina-site #home-hero h1 .headline-line:nth-child(1) { transition-delay: .24s !important; }
  body.marina-site #home-hero h1 .headline-line:nth-child(2) { transition-delay: .42s !important; }
  body.marina-site #home-hero .hero-inner > p { transition-delay: .62s !important; }
  body.marina-site #home-hero .pill-row .btn:nth-child(1) { transition-delay: .82s !important; }
  body.marina-site #home-hero .pill-row .btn:nth-child(2) { transition-delay: .94s !important; }
  body.marina-site #home-hero .pill-row .btn:nth-child(3) { transition-delay: 1.06s !important; }

  body.marina-site.hero-animation-complete #home-hero .hero-inner > .eyebrow,
  body.marina-site.hero-animation-complete #home-hero h1 .headline-line,
  body.marina-site.hero-animation-complete #home-hero .hero-inner > p,
  body.marina-site.hero-animation-complete #home-hero .pill-row .btn {
    transition: none !important;
    will-change: auto !important;
  }
}


/* Fabrizio v122: remove all mobile blur from the two featured testimonial cards, keep text on the right, enlarge Dr. Phil slightly, and push Ryan farther left. */
@media (max-width: 760px) {
  body.marina-site .dr-phil-testimonial,
  body.marina-site .ryan-reynolds-testimonial,
  body.marina-site .dr-phil-testimonial::before,
  body.marina-site .ryan-reynolds-testimonial::before,
  body.marina-site .dr-phil-testimonial .dr-phil-lock-img,
  body.marina-site .ryan-reynolds-testimonial .ryan-lock-img {
    filter: none !important;
    -webkit-filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body.marina-site .dr-phil-testimonial::before {
    background: linear-gradient(90deg, rgba(12, 6, 19, 0.00) 0%, rgba(18, 8, 30, 0.00) 34%, rgba(29, 11, 46, 0.18) 48%, rgba(41, 11, 61, 0.36) 64%, rgba(55, 10, 81, 0.54) 80%, rgba(67, 9, 95, 0.66) 100%) !important;
  }

  body.marina-site .ryan-reynolds-testimonial::before {
    background: linear-gradient(90deg, rgba(16, 12, 2, 0.00) 0%, rgba(22, 17, 3, 0.00) 34%, rgba(31, 24, 4, 0.18) 48%, rgba(46, 34, 5, 0.36) 64%, rgba(60, 45, 6, 0.54) 80%, rgba(74, 55, 7, 0.66) 100%) !important;
  }

  body.marina-site .dr-phil-testimonial .featured-testimonial-copy,
  body.marina-site .ryan-reynolds-testimonial .featured-testimonial-copy {
    align-items: flex-end !important;
    justify-content: center !important;
    padding: 22px 16px 18px 18px !important;
  }

  body.marina-site .dr-phil-testimonial blockquote,
  body.marina-site .dr-phil-testimonial .quote-credit,
  body.marina-site .ryan-reynolds-testimonial blockquote,
  body.marina-site .ryan-reynolds-testimonial .quote-credit {
    width: min(51%, 208px) !important;
    max-width: 208px !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    transform: none !important;
    text-align: left !important;
  }

  body.marina-site .dr-phil-testimonial .dr-phil-lock-img {
    width: calc(100% + 92px) !important;
    max-width: none !important;
    transform: translateX(-92px) !important;
    object-position: left center !important;
  }

  body.marina-site .ryan-reynolds-testimonial .ryan-lock-img {
    width: calc(100% + 118px) !important;
    max-width: none !important;
    transform: translateX(-118px) !important;
    object-position: left center !important;
  }
}

@media (max-width: 430px) {
  body.marina-site .dr-phil-testimonial blockquote,
  body.marina-site .dr-phil-testimonial .quote-credit,
  body.marina-site .ryan-reynolds-testimonial blockquote,
  body.marina-site .ryan-reynolds-testimonial .quote-credit {
    width: min(52%, 196px) !important;
    max-width: 196px !important;
  }

  body.marina-site .dr-phil-testimonial .dr-phil-lock-img {
    width: calc(100% + 104px) !important;
    transform: translateX(-104px) !important;
  }

  body.marina-site .ryan-reynolds-testimonial .ryan-lock-img {
    width: calc(100% + 132px) !important;
    transform: translateX(-132px) !important;
  }
}


/* Fabrizio v123: make the mobile hero content rise/fade in the same way as desktop, immediately and progressively. */
@media (max-width: 760px) {
  body.marina-site #home-hero .hero-inner > .eyebrow,
  body.marina-site #home-hero h1 .headline-line,
  body.marina-site #home-hero .hero-inner > p,
  body.marina-site #home-hero .pill-row .btn {
    opacity: 0 !important;
    visibility: visible !important;
    transform: translate3d(0, 24px, 0) !important;
    filter: none !important;
    animation: none !important;
    transition-property: opacity, transform !important;
    transition-duration: .9s !important;
    transition-timing-function: cubic-bezier(.18, .72, .16, 1) !important;
    will-change: opacity, transform !important;
  }

  body.marina-site #home-hero .hero-inner > .pill-row {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
  }

  body.marina-site.hero-animating #home-hero .hero-inner > .eyebrow,
  body.marina-site.hero-animating #home-hero h1 .headline-line,
  body.marina-site.hero-animating #home-hero .hero-inner > p,
  body.marina-site.hero-animating #home-hero .pill-row .btn,
  body.marina-site.hero-animation-complete #home-hero .hero-inner > .eyebrow,
  body.marina-site.hero-animation-complete #home-hero h1 .headline-line,
  body.marina-site.hero-animation-complete #home-hero .hero-inner > p,
  body.marina-site.hero-animation-complete #home-hero .pill-row .btn {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
    filter: none !important;
  }

  body.marina-site #home-hero .hero-inner > .eyebrow { transition-delay: .08s !important; }
  body.marina-site #home-hero h1 .headline-line:nth-child(1) { transition-delay: .24s !important; }
  body.marina-site #home-hero h1 .headline-line:nth-child(2) { transition-delay: .42s !important; }
  body.marina-site #home-hero .hero-inner > p { transition-delay: .60s !important; }
  body.marina-site #home-hero .pill-row .btn:nth-child(1) { transition-delay: .80s !important; }
  body.marina-site #home-hero .pill-row .btn:nth-child(2) { transition-delay: .92s !important; }
  body.marina-site #home-hero .pill-row .btn:nth-child(3) { transition-delay: 1.04s !important; }

  body.marina-site.hero-animation-complete #home-hero .hero-inner > .eyebrow,
  body.marina-site.hero-animation-complete #home-hero h1 .headline-line,
  body.marina-site.hero-animation-complete #home-hero .hero-inner > p,
  body.marina-site.hero-animation-complete #home-hero .pill-row .btn {
    transition: none !important;
    will-change: auto !important;
  }
}


/* Fabrizio v124: remove mobile testimonial blur for good by using crisp background images on the cards and disabling the overlaid image layers. */
@media (max-width: 760px) {
  body.marina-site .dr-phil-testimonial,
  body.marina-site .dr-phil-testimonial:hover,
  body.marina-site .dr-phil-testimonial:focus-visible {
    background:
      linear-gradient(90deg, rgba(14, 8, 21, 0.00) 0%, rgba(18, 9, 29, 0.00) 32%, rgba(30, 12, 46, 0.18) 47%, rgba(43, 12, 63, 0.36) 63%, rgba(58, 11, 83, 0.54) 80%, rgba(69, 10, 98, 0.68) 100%),
      url('../img/marina-treatment-care.jpg') left center / cover no-repeat !important;
    background-color: rgba(8, 2, 13, .96) !important;
  }

  body.marina-site .ryan-reynolds-testimonial,
  body.marina-site .ryan-reynolds-testimonial:hover,
  body.marina-site .ryan-reynolds-testimonial:focus-visible {
    background:
      linear-gradient(90deg, rgba(16, 12, 2, 0.00) 0%, rgba(20, 15, 3, 0.00) 30%, rgba(31, 24, 4, 0.18) 46%, rgba(46, 34, 5, 0.36) 62%, rgba(60, 45, 6, 0.54) 79%, rgba(74, 55, 7, 0.68) 100%),
      url('../img/marina-treatment-care.jpg') left center / cover no-repeat !important;
    background-color: rgba(31, 22, 4, .96) !important;
  }

  body.marina-site .dr-phil-testimonial::before,
  body.marina-site .ryan-reynolds-testimonial::before {
    display: none !important;
    content: none !important;
  }

  body.marina-site .dr-phil-testimonial .dr-phil-lock-img,
  body.marina-site .ryan-reynolds-testimonial .ryan-lock-img {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }

  body.marina-site .dr-phil-testimonial .featured-testimonial-copy,
  body.marina-site .ryan-reynolds-testimonial .featured-testimonial-copy {
    align-items: flex-end !important;
    justify-content: center !important;
    padding: 22px 16px 18px 18px !important;
  }

  body.marina-site .dr-phil-testimonial blockquote,
  body.marina-site .dr-phil-testimonial .quote-credit,
  body.marina-site .ryan-reynolds-testimonial blockquote,
  body.marina-site .ryan-reynolds-testimonial .quote-credit {
    width: min(51%, 208px) !important;
    max-width: 208px !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    text-align: left !important;
    transform: none !important;
    left: 0 !important;
  }

  body.marina-site .dr-phil-testimonial {
    background-position: left center !important;
    background-size: auto 112%, cover !important;
  }

  body.marina-site .ryan-reynolds-testimonial {
    background-position: -24px center !important;
    background-size: auto 116%, cover !important;
  }
}

@media (max-width: 430px) {
  body.marina-site .dr-phil-testimonial {
    background-position: -10px center !important;
    background-size: auto 118%, cover !important;
  }

  body.marina-site .ryan-reynolds-testimonial {
    background-position: -34px center !important;
    background-size: auto 120%, cover !important;
  }

  body.marina-site .dr-phil-testimonial blockquote,
  body.marina-site .dr-phil-testimonial .quote-credit,
  body.marina-site .ryan-reynolds-testimonial blockquote,
  body.marina-site .ryan-reynolds-testimonial .quote-credit {
    width: min(52%, 196px) !important;
    max-width: 196px !important;
  }
}


/* Fabrizio v125: if the Newport promo stays open while scrolling, fade only the image layer down to 80% opacity while keeping the text fully opaque. */
body.marina-site .newport-popup {
  --newport-popup-media-opacity: 1;
}
body.marina-site .newport-popup-image,
body.marina-site .newport-popup-overlay {
  opacity: var(--newport-popup-media-opacity) !important;
}
body.marina-site .newport-popup-copy,
body.marina-site .newport-popup-copy p,
body.marina-site .newport-popup-close {
  opacity: 1 !important;
}


/* Fabrizio v126: on mobile keep both testimonial people pushed farther left and make the right-side darkening gradient reach the window edge with no gap. */
@media (max-width: 760px) {
  body.marina-site .dr-phil-testimonial,
  body.marina-site .dr-phil-testimonial:hover,
  body.marina-site .dr-phil-testimonial:focus-visible {
    background-image:
      linear-gradient(90deg, rgba(14, 8, 21, 0.00) 0%, rgba(18, 9, 29, 0.00) 30%, rgba(30, 12, 46, 0.18) 45%, rgba(43, 12, 63, 0.40) 61%, rgba(58, 11, 83, 0.58) 79%, rgba(69, 10, 98, 0.72) 100%),
      url('../img/marina-treatment-care.jpg') !important;
    background-position: 0 0, -58px center !important;
    background-size: 100% 100%, auto 120% !important;
    background-repeat: no-repeat, no-repeat !important;
  }

  body.marina-site .ryan-reynolds-testimonial,
  body.marina-site .ryan-reynolds-testimonial:hover,
  body.marina-site .ryan-reynolds-testimonial:focus-visible {
    background-image:
      linear-gradient(90deg, rgba(16, 12, 2, 0.00) 0%, rgba(20, 15, 3, 0.00) 29%, rgba(31, 24, 4, 0.18) 44%, rgba(46, 34, 5, 0.40) 60%, rgba(60, 45, 6, 0.58) 78%, rgba(74, 55, 7, 0.72) 100%),
      url('../img/marina-treatment-care.jpg') !important;
    background-position: 0 0, -72px center !important;
    background-size: 100% 100%, auto 124% !important;
    background-repeat: no-repeat, no-repeat !important;
  }

  body.marina-site .dr-phil-testimonial blockquote,
  body.marina-site .dr-phil-testimonial .quote-credit,
  body.marina-site .ryan-reynolds-testimonial blockquote,
  body.marina-site .ryan-reynolds-testimonial .quote-credit {
    width: min(50%, 196px) !important;
    max-width: 196px !important;
  }
}

@media (max-width: 430px) {
  body.marina-site .dr-phil-testimonial,
  body.marina-site .dr-phil-testimonial:hover,
  body.marina-site .dr-phil-testimonial:focus-visible {
    background-position: 0 0, -72px center !important;
    background-size: 100% 100%, auto 125% !important;
  }

  body.marina-site .ryan-reynolds-testimonial,
  body.marina-site .ryan-reynolds-testimonial:hover,
  body.marina-site .ryan-reynolds-testimonial:focus-visible {
    background-position: 0 0, -92px center !important;
    background-size: 100% 100%, auto 128% !important;
  }

  body.marina-site .dr-phil-testimonial blockquote,
  body.marina-site .dr-phil-testimonial .quote-credit,
  body.marina-site .ryan-reynolds-testimonial blockquote,
  body.marina-site .ryan-reynolds-testimonial .quote-credit {
    width: min(49%, 186px) !important;
    max-width: 186px !important;
  }
}


/* Fabrizio v128: leave Dr. Phil mobile testimonial untouched; adjust only Ryan so the image is smaller and shifted farther left, keeping the text off his face. */
@media (max-width: 760px) {
  body.marina-site .ryan-reynolds-testimonial,
  body.marina-site .ryan-reynolds-testimonial:hover,
  body.marina-site .ryan-reynolds-testimonial:focus-visible {
    background-position: 0 0, -112px center !important;
    background-size: 100% 100%, auto 112% !important;
    background-repeat: no-repeat, no-repeat !important;
  }
}

@media (max-width: 430px) {
  body.marina-site .ryan-reynolds-testimonial,
  body.marina-site .ryan-reynolds-testimonial:hover,
  body.marina-site .ryan-reynolds-testimonial:focus-visible {
    background-position: 0 0, -126px center !important;
    background-size: 100% 100%, auto 116% !important;
  }
}


/* Fabrizio v129: keep Dr. Phil locked; push only Ryan farther left inside the same mobile box so his face clears the text. */
@media (max-width: 760px) {
  body.marina-site .ryan-reynolds-testimonial,
  body.marina-site .ryan-reynolds-testimonial:hover,
  body.marina-site .ryan-reynolds-testimonial:focus-visible {
    background-position: 0 0, -185px center !important;
    background-size: 100% 100%, auto 112% !important;
  }
}

@media (max-width: 430px) {
  body.marina-site .ryan-reynolds-testimonial,
  body.marina-site .ryan-reynolds-testimonial:hover,
  body.marina-site .ryan-reynolds-testimonial:focus-visible {
    background-position: 0 0, -205px center !important;
    background-size: 100% 100%, auto 116% !important;
  }
}


/* Fabrizio v130: keep Dr. Phil locked; make only Ryan about 10% smaller inside the same mobile box while shifting him farther left. */
@media (max-width: 760px) {
  body.marina-site .ryan-reynolds-testimonial,
  body.marina-site .ryan-reynolds-testimonial:hover,
  body.marina-site .ryan-reynolds-testimonial:focus-visible {
    background-position: 0 0, -212px center !important;
    background-size: 100% 100%, auto 101% !important;
  }
}

@media (max-width: 430px) {
  body.marina-site .ryan-reynolds-testimonial,
  body.marina-site .ryan-reynolds-testimonial:hover,
  body.marina-site .ryan-reynolds-testimonial:focus-visible {
    background-position: 0 0, -232px center !important;
    background-size: 100% 100%, auto 104% !important;
  }
}

/* Fabrizio v131: keep Dr. Phil and both gradients locked; move ONLY Ryan's photo layer much farther left and scale it down inside the same mobile box. */
@media (max-width: 760px) {
  body.marina-site .ryan-reynolds-testimonial,
  body.marina-site .ryan-reynolds-testimonial:hover,
  body.marina-site .ryan-reynolds-testimonial:focus-visible {
    background-position: 0 0, -305px center !important;
    background-size: 100% 100%, auto 94% !important;
    background-repeat: no-repeat, no-repeat !important;
  }
}

@media (max-width: 430px) {
  body.marina-site .ryan-reynolds-testimonial,
  body.marina-site .ryan-reynolds-testimonial:hover,
  body.marina-site .ryan-reynolds-testimonial:focus-visible {
    background-position: 0 0, -330px center !important;
    background-size: 100% 100%, auto 94% !important;
  }
}


/* Fabrizio v132: keep Dr. Phil and gradients locked; nudge only Ryan modestly back to the right so his full eye/head show better while keeping text off his face. */
@media (max-width: 760px) {
  body.marina-site .ryan-reynolds-testimonial,
  body.marina-site .ryan-reynolds-testimonial:hover,
  body.marina-site .ryan-reynolds-testimonial:focus-visible {
    background-position: 0 0, -274px center !important;
    background-size: 100% 100%, auto 94% !important;
    background-repeat: no-repeat, no-repeat !important;
  }
}

@media (max-width: 430px) {
  body.marina-site .ryan-reynolds-testimonial,
  body.marina-site .ryan-reynolds-testimonial:hover,
  body.marina-site .ryan-reynolds-testimonial:focus-visible {
    background-position: 0 0, -298px center !important;
    background-size: 100% 100%, auto 94% !important;
  }
}


/* Fabrizio v133: desktop-only fix to remove blur from Dr. Phil and Ryan faces while preserving all existing sizing, cropping, positioning, text, and gradients. */
@media (min-width: 761px) {
  body.marina-site #home-testimonials .dr-phil-testimonial::before,
  body.marina-site #home-testimonials .ryan-reynolds-testimonial::before {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}


/* Fabrizio v134: Ryan mobile testimonial only. Move the image back to the right and scale it back up so the head shows properly and there are no top/bottom strips. Dr. Phil and both gradients stay untouched. */
@media (max-width: 760px) {
  body.marina-site .ryan-reynolds-testimonial,
  body.marina-site .ryan-reynolds-testimonial:hover,
  body.marina-site .ryan-reynolds-testimonial:focus-visible {
    background-position: 0 0, -190px center !important;
    background-size: 100% 100%, auto 106% !important;
    background-repeat: no-repeat, no-repeat !important;
  }
}

@media (max-width: 430px) {
  body.marina-site .ryan-reynolds-testimonial,
  body.marina-site .ryan-reynolds-testimonial:hover,
  body.marina-site .ryan-reynolds-testimonial:focus-visible {
    background-position: 0 0, -208px center !important;
    background-size: 100% 100%, auto 108% !important;
  }
}

/* Fabrizio v135: remove the accidental clear gutters between the four proof/stat cards. Keep it as one continuous glass bar with only subtle internal divider lines. */
body.marina-site .proof-wrap {
  gap: 0 !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
}

body.marina-site .proof-wrap > * {
  margin: 0 !important;
}

body.marina-site .proof-card {
  background: transparent !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
  border-right: 1px solid rgba(255,255,255,.12) !important;
}

body.marina-site .proof-card:last-child {
  border-right: 0 !important;
}

@media (max-width: 760px) {
  body.marina-site .proof-wrap {
    gap: 0 !important;
    column-gap: 0 !important;
    row-gap: 0 !important;
  }

  body.marina-site .proof-card {
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
  }

  body.marina-site .proof-card:last-child {
    border-bottom: 0 !important;
  }
}

/* Fabrizio v138: remove the keyline around the small Newport popup and make its scrolled image fade a bit more. */
body.marina-site .newport-popup {
  border: 0 !important;
  box-shadow: 0 16px 28px rgba(0,0,0,.24) !important;
}


/* Fabrizio v140: recognition logos 15% larger while holding the same visual placement. */
body.marina-site #home-about .about-logo-strip img {
  width: 115% !important;
  max-width: none !important;
  transform: translateX(-7.5%) !important;
  transform-origin: center center !important;
}
@media (max-width: 760px) {
  body.marina-site #home-about .about-logo-strip img {
    width: 115% !important;
    transform: translateX(-7.5%) !important;
  }
}


/* Fabrizio v141: blur the page background behind all open pop-up windows while keeping the modal content unchanged. */
body.marina-site .modal-backdrop {
  background: rgba(2, 16, 21, .40) !important;
  backdrop-filter: blur(14px) saturate(105%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(105%) !important;
}
body.marina-site .modal-backdrop.open {
  background: rgba(2, 16, 21, .40) !important;
}

/* Fabrizio v142: make category pill buttons clear by default and blue on hover. */
body.marina-site .service-card .card-action,
body.marina-site .condition-card .card-action,
body.marina-site .practice-card .card-action,
body.marina-site .step-card .card-action {
  background: transparent !important;
  border-color: rgba(255,255,255,.34) !important;
  color: #fff !important;
  box-shadow: none !important;
}

body.marina-site .service-card:hover .card-action,
body.marina-site .service-card:focus-visible .card-action,
body.marina-site .condition-card:hover .card-action,
body.marina-site .condition-card:focus-visible .card-action,
body.marina-site .practice-card:hover .card-action,
body.marina-site .practice-card:focus-visible .card-action,
body.marina-site .step-card:hover .card-action,
body.marina-site .step-card:focus-visible .card-action,
body.marina-site .service-card .card-action:hover,
body.marina-site .condition-card .card-action:hover,
body.marina-site .practice-card .card-action:hover,
body.marina-site .step-card .card-action:hover {
  background: var(--accent) !important;
  border-color: rgba(34,205,239,.72) !important;
  color: #052431 !important;
  box-shadow: 0 10px 22px rgba(34,205,239,.18) !important;
}


/* Fabrizio v144: make the hover darkening on the Team / Our Services image cards match the exact image shape and corner radius with no light corners showing. */
body.marina-site .practice-card-image,
body.marina-site .practice-card-image.fpt-parallax-item {
  overflow: hidden !important;
  border-radius: 30px !important;
  isolation: isolate !important;
}

body.marina-site .practice-card-image img,
body.marina-site .practice-card-image::before,
body.marina-site .practice-card-image::after {
  border-radius: inherit !important;
}

body.marina-site .practice-card[data-modal]:hover .practice-card-image::before,
body.marina-site .practice-card[data-modal]:focus-visible .practice-card-image::before {
  inset: 0 !important;
  border-radius: inherit !important;
}


/* Fabrizio v146: employee cards get a real visible hover state with a darker blue-tinted wash, not a positional snap. */
body.marina-site .team-panel .team-grid article[data-modal],
body.marina-site .team-panel .front-office-grid .step-card[data-modal] {
  transition: background .26s ease, border-color .26s ease, box-shadow .26s ease, filter .26s ease !important;
}

body.marina-site .team-panel .team-grid article[data-modal]::after,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(135deg, rgba(8,26,38,0) 0%, rgba(8,26,38,0) 42%, rgba(22,139,188,0) 100%);
  transition: background .26s ease, opacity .26s ease;
}

body.marina-site .team-panel .team-grid article[data-modal] > *,
body.marina-site .team-panel .front-office-grid .step-card[data-modal] > * {
  position: relative;
  z-index: 1;
}

body.marina-site .team-panel .team-grid article[data-modal]:hover,
body.marina-site .team-panel .team-grid article[data-modal]:focus-visible,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]:hover,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]:focus-visible {
  transform: none !important;
  background: rgba(6, 18, 28, .34) !important;
  border-color: rgba(110,214,246,.26) !important;
  box-shadow: 0 18px 42px rgba(2, 12, 20, .22) !important;
}

body.marina-site .team-panel .team-grid article[data-modal]:hover::after,
body.marina-site .team-panel .team-grid article[data-modal]:focus-visible::after,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]:hover::after,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]:focus-visible::after {
  background: linear-gradient(135deg, rgba(5,18,28,.18) 0%, rgba(5,18,28,.34) 52%, rgba(16,133,183,.24) 100%) !important;
}

body.marina-site .team-panel .team-grid article[data-modal]:hover .team-headshot img,
body.marina-site .team-panel .team-grid article[data-modal]:focus-visible .team-headshot img,
body.marina-site .team-panel .team-grid article[data-modal]:hover .team-headshot video,
body.marina-site .team-panel .team-grid article[data-modal]:focus-visible .team-headshot video,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]:hover .front-office-headshot img,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]:focus-visible .front-office-headshot img,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]:hover .front-office-headshot video,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]:focus-visible .front-office-headshot video {
  filter: brightness(.82) saturate(1.03) contrast(1.02) !important;
  transform: none !important;
}

/* Fabrizio v147: desktop billing panel right-side copy aligns to the top instead of sitting vertically centered. */
@media (min-width: 761px) {
  body.marina-site #home-billing .billing-panel {
    align-items: start !important;
  }

  body.marina-site #home-billing .billing-panel > div:nth-child(2) {
    align-self: start !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
  }
}


/* Fabrizio v148: desktop-only Ryan testimonial image 5% smaller and shifted 5% left, without changing the box, text, or gradients. */
@media (min-width: 761px) {
  body.marina-site .ryan-reynolds-testimonial .ryan-lock-img {
    transform: translateX(-5%) scale(0.95) !important;
    transform-origin: center center !important;
  }
}

/* Fabrizio v150: force desktop Billing & Insurance right-side copy to align with the top of the left headline, not the panel center. */
@media (min-width: 761px) {
  body.marina-site #home-billing .billing-panel.review-panel {
    align-items: start !important;
  }

  body.marina-site #home-billing .billing-panel.review-panel > div:first-child,
  body.marina-site #home-billing .billing-panel.review-panel > div:nth-child(2) {
    align-self: start !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  body.marina-site #home-billing .billing-panel.review-panel > div:nth-child(2) {
    transform: translateY(-4px) !important;
  }
}

/* Fabrizio v152: older iPad/Chrome modal appointment fallback: reliable touch taps and scrollable modal. */
body.marina-site .modal-backdrop.open {
  overflow-y: scroll !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-y !important;
}

body.marina-site .modal-card.schedule-modal,
body.marina-site .modal-card {
  max-height: calc(100vh - 48px) !important;
  overflow-y: scroll !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-y !important;
}

body.marina-site .appointment-calendar-days,
body.marina-site .appointment-time-list,
body.marina-site .schedule-week,
body.marina-site .calendar-day-button,
body.marina-site .appointment-slot,
body.marina-site .modal-close {
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: rgba(34,205,239,.22);
}


/* Fabrizio v153: slightly stronger floating section copy for readability over video */
body.marina-site .section-head p,
body.marina-site .practice-categories-head p,
body.marina-site .testimonial-head p,
body.marina-site #home-conditions > .section-head p,
body.marina-site #home-treatment > .section-head p,
body.marina-site #home-services > .section-head p,
body.marina-site #home-team > .section-head p,
body.marina-site #home-patient-info > .section-head p,
body.marina-site #home-about > .section-head p {
  color: #fff !important;
  font-size: 19px !important;
  font-weight: 500 !important;
  line-height: 1.52 !important;
  text-rendering: geometricPrecision;
}
@media (max-width: 760px) {
  body.marina-site .section-head p,
  body.marina-site .practice-categories-head p,
  body.marina-site .testimonial-head p,
  body.marina-site #home-conditions > .section-head p,
  body.marina-site #home-treatment > .section-head p,
  body.marina-site #home-services > .section-head p,
  body.marina-site #home-team > .section-head p,
  body.marina-site #home-patient-info > .section-head p,
  body.marina-site #home-about > .section-head p {
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
  }
}

/* Fabrizio v154: visually center the X inside circular close buttons. */
body.marina-site .newport-popup-close,
body.marina-site .newport-lightbox-close,
body.marina-site .modal-close {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

body.marina-site .newport-popup-close {
  padding-bottom: 2px !important;
}

body.marina-site .newport-lightbox-close,
body.marina-site .modal-close {
  padding-bottom: 1px !important;
}

/* Fabrizio v155: make the recognition logo strip visibly larger and keep it centered under the video. */
body.marina-site #home-about .about-logo-strip {
  width: min(100%, 871px) !important;
  overflow: visible !important;
  justify-content: center !important;
  align-items: center !important;
}

body.marina-site #home-about .about-logo-strip img {
  width: 132.25% !important;
  max-width: none !important;
  height: auto !important;
  transform: translateX(-12.2%) !important;
  transform-origin: center center !important;
}

@media (max-width: 760px) {
  body.marina-site #home-about .about-logo-strip {
    width: 100% !important;
    overflow: visible !important;
    justify-content: center !important;
  }

  body.marina-site #home-about .about-logo-strip img {
    width: 132.25% !important;
    max-width: none !important;
    transform: translateX(-12.2%) !important;
  }
}

/* Fabrizio v156: widen the Inside the Practice headline block so it breaks closer to four lines on desktop. */
@media (min-width: 761px) {
  body.marina-site .practice-categories-head {
    grid-template-columns: minmax(0, 1.42fr) minmax(260px, .58fr) !important;
    gap: clamp(24px, 4vw, 58px) !important;
  }

  body.marina-site .practice-categories-head h2 {
    max-width: 980px !important;
  }
}

/* Fabrizio v157: keep the recognition logo strip under the video and shift it right away from the left copy. */
body.marina-site #home-about .about-logo-strip {
  width: min(100%, 720px) !important;
  padding-top: 20px !important;
  justify-content: center !important;
  align-items: center !important;
  align-self: flex-start !important;
  overflow: visible !important;
}

body.marina-site #home-about .about-logo-strip img {
  width: 115% !important;
  max-width: none !important;
  height: auto !important;
  transform: translateX(4.5%) !important;
  transform-origin: center center !important;
}

@media (max-width: 760px) {
  body.marina-site #home-about .about-logo-strip {
    width: 100% !important;
    padding-top: 12px !important;
    justify-content: center !important;
    overflow: visible !important;
  }

  body.marina-site #home-about .about-logo-strip img {
    width: 115% !important;
    max-width: none !important;
    transform: translateX(4.5%) !important;
  }
}

/* Fabrizio v158: facility video plays once immediately on view, no crossfade-loop delay. */
body.marina-site .facility-loop-frame[data-facility-full-video] .facility-loop-video {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
}


/* Fabrizio v159: employee-card hover darkens only the lower copy panel, leaves headshots unchanged, and removes the positional jerk. */
body.marina-site .team-panel .team-grid article[data-modal],
body.marina-site .team-panel .front-office-grid .step-card[data-modal] {
  transform-origin: center center;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease, background .24s ease !important;
}

body.marina-site .team-panel .team-grid article[data-modal]::after,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]::after {
  display: none !important;
  opacity: 0 !important;
  background: transparent !important;
}

body.marina-site .team-panel .team-grid article[data-modal] .team-card-body,
body.marina-site .team-panel .front-office-grid .step-card[data-modal] .front-office-card-body {
  transition: background .24s ease, box-shadow .24s ease, border-color .24s ease;
}

body.marina-site .team-panel .team-grid article[data-modal]:hover,
body.marina-site .team-panel .team-grid article[data-modal]:focus-visible,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]:hover,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]:focus-visible {
  transform: scale(1.018) !important;
  background: transparent !important;
  border-color: rgba(110,214,246,.24) !important;
  box-shadow: 0 14px 34px rgba(2, 12, 20, .18) !important;
}

body.marina-site .team-panel .team-grid article[data-modal]:hover .team-card-body,
body.marina-site .team-panel .team-grid article[data-modal]:focus-visible .team-card-body,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]:hover .front-office-card-body,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]:focus-visible .front-office-card-body {
  background: linear-gradient(135deg, rgba(6,18,28,.16) 0%, rgba(6,18,28,.30) 52%, rgba(16,133,183,.18) 100%) !important;
}

body.marina-site .team-panel .team-grid article[data-modal]:hover .team-headshot img,
body.marina-site .team-panel .team-grid article[data-modal]:focus-visible .team-headshot img,
body.marina-site .team-panel .team-grid article[data-modal]:hover .team-headshot video,
body.marina-site .team-panel .team-grid article[data-modal]:focus-visible .team-headshot video,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]:hover .front-office-headshot img,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]:focus-visible .front-office-headshot img,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]:hover .front-office-headshot video,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]:focus-visible .front-office-headshot video {
  filter: brightness(1.04) saturate(1.02) contrast(1.02) !important;
  transform: none !important;
}


/* Fabrizio v160: revert the Ryan testimonial image to the prior full-bleed desktop treatment with no exposed black bands. */
@media (min-width: 761px) {
  body.marina-site .ryan-reynolds-testimonial .ryan-lock-img {
    transform: none !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: left center !important;
  }
}

/* Fabrizio v162: Billing & Insurance right-side copy aligns with the top of the left headline, not above it and not centered. */
@media (min-width: 761px) {
  body.marina-site #home-billing .billing-panel.review-panel {
    align-items: start !important;
  }

  body.marina-site #home-billing .billing-panel.review-panel > div:nth-child(2) {
    align-self: start !important;
    margin-top: 0 !important;
    padding-top: 17px !important;
    transform: none !important;
  }
}


/* Fabrizio v163: footer Schedule Appointment should stay a pill shape, not a tiny square text box on hover. */
body.marina-site .footer-reservation {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 6px 0 18px;
  padding: 12px 22px;
  min-height: 46px;
  border: 1.5px solid rgba(255,255,255,.24);
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.92);
  font: inherit;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.1;
  text-align: center;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}
body.marina-site .footer-reservation:hover,
body.marina-site .footer-reservation:focus-visible {
  transform: translateY(-2px) !important;
  background: var(--accent) !important;
  border-color: rgba(34,205,239,.72) !important;
  color: #052431 !important;
  box-shadow: 0 14px 30px rgba(34,205,239,.18) !important;
  outline: none !important;
}

/* Fabrizio v165: slow the hero fade-up animation to roughly half speed. */
body.marina-site #home-hero .hero-inner > .eyebrow,
body.marina-site #home-hero h1 .headline-line,
body.marina-site #home-hero .hero-inner > p {
  animation-duration: 5.7s !important;
}

body.marina-site #home-hero .pill-row .btn {
  animation-duration: 4.2s !important;
}

body.marina-site #home-hero .hero-inner > .eyebrow { animation-delay: .42s !important; }
body.marina-site #home-hero h1 .headline-line:nth-child(1) { animation-delay: 1.18s !important; }
body.marina-site #home-hero h1 .headline-line:nth-child(2) { animation-delay: 1.62s !important; }
body.marina-site #home-hero .hero-inner > p { animation-delay: 2.43s !important; }
body.marina-site #home-hero .pill-row .btn:nth-child(1) { animation-delay: 3.27s !important; }
body.marina-site #home-hero .pill-row .btn:nth-child(2) { animation-delay: 3.57s !important; }
body.marina-site #home-hero .pill-row .btn:nth-child(3) { animation-delay: 3.87s !important; }

@media (max-width: 760px) {
  body.marina-site #home-hero .hero-inner > .eyebrow,
  body.marina-site #home-hero h1 .headline-line,
  body.marina-site #home-hero .hero-inner > p {
    animation-duration: 5.7s !important;
  }

  body.marina-site #home-hero .pill-row .btn {
    animation-duration: 4.2s !important;
  }
}

/* Fabrizio v166: keep modal close controls pinned while the modal content scrolls, and center the close text/X vertically. */
body.marina-site .modal-card {
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

body.marina-site .modal-card .modal-actions {
  position: sticky !important;
  top: 0 !important;
  right: auto !important;
  z-index: 80 !important;
  width: max-content !important;
  max-width: calc(100% - 16px) !important;
  margin: -12px 0 8px auto !important;
  padding: 0 !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  transform: translate(10px, -4px) !important;
  pointer-events: none !important;
}

body.marina-site .modal-card .modal-actions > * {
  pointer-events: auto !important;
}

body.marina-site .modal-card .modal-close,
body.marina-site .modal-card .modal-call {
  min-height: 36px !important;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 17px !important;
  line-height: 1 !important;
  text-align: center !important;
  vertical-align: middle !important;
  border-radius: 999px !important;
}

body.marina-site .modal-card .modal-close {
  font-size: 16px !important;
  font-weight: 500 !important;
}

/* Newport X buttons stay fixed to their own image/popup corners and are optically centered. */
body.marina-site .newport-popup-close,
body.marina-site .newport-lightbox-close {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  line-height: 1 !important;
}

body.marina-site .newport-popup-close span,
body.marina-site .newport-lightbox-close span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 760px) {
  body.marina-site .modal-card .modal-actions {
    margin-top: -8px !important;
    transform: translate(4px, -2px) !important;
  }
}

/* Fabrizio v168: one consistent, more visible hover for all 8 employee cards. No downward snap. Headshots stay unchanged. */
body.marina-site .team-panel .team-grid article[data-modal],
body.marina-site .team-panel .front-office-grid .step-card[data-modal] {
  transform: translateY(0) scale(1) !important;
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease, background .28s ease !important;
  transform-origin: center center !important;
}

body.marina-site .team-panel .team-grid article[data-modal]::after,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]::after {
  display: none !important;
  opacity: 0 !important;
  background: transparent !important;
}

body.marina-site .team-panel .team-grid article[data-modal]:hover,
body.marina-site .team-panel .team-grid article[data-modal]:focus-visible,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]:hover,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]:focus-visible {
  transform: translateY(0) scale(1.018) !important;
  background: rgba(8, 20, 30, .26) !important;
  border-color: rgba(39, 201, 255, .42) !important;
  box-shadow: 0 18px 42px rgba(0, 14, 24, .26), 0 0 0 1px rgba(39, 201, 255, .16) inset !important;
  filter: none !important;
}

body.marina-site .team-panel .team-grid article[data-modal] .team-card-body,
body.marina-site .team-panel .front-office-grid .step-card[data-modal] .front-office-card-body {
  transition: background .28s ease, box-shadow .28s ease !important;
}

body.marina-site .team-panel .team-grid article[data-modal]:hover .team-card-body,
body.marina-site .team-panel .team-grid article[data-modal]:focus-visible .team-card-body,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]:hover .front-office-card-body,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]:focus-visible .front-office-card-body {
  background: linear-gradient(135deg, rgba(4, 15, 24, .54) 0%, rgba(5, 30, 43, .62) 48%, rgba(22, 132, 182, .32) 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
}

/* Keep every employee headshot/video visually unchanged on hover. */
body.marina-site .team-panel .team-grid article[data-modal]:hover .team-headshot,
body.marina-site .team-panel .team-grid article[data-modal]:focus-visible .team-headshot,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]:hover .front-office-headshot,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]:focus-visible .front-office-headshot,
body.marina-site .team-panel .team-grid article[data-modal]:hover .team-headshot img,
body.marina-site .team-panel .team-grid article[data-modal]:focus-visible .team-headshot img,
body.marina-site .team-panel .team-grid article[data-modal]:hover .team-headshot video,
body.marina-site .team-panel .team-grid article[data-modal]:focus-visible .team-headshot video,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]:hover .front-office-headshot img,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]:focus-visible .front-office-headshot img,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]:hover .front-office-headshot video,
body.marina-site .team-panel .front-office-grid .step-card[data-modal]:focus-visible .front-office-headshot video {
  transform: none !important;
  filter: brightness(1.04) saturate(1.02) contrast(1.02) !important;
}


/* Fabrizio v169: forms popup buttons hover to accent blue */
body.marina-site .form-link-button:hover,
body.marina-site .form-link-button:focus-visible {
  transform: translateY(-2px) !important;
  background: var(--accent) !important;
  border-color: rgba(34,205,239,.72) !important;
  color: #052431 !important;
  box-shadow: 0 14px 30px rgba(34,205,239,.18) !important;
  outline: none !important;
}



/* Fabrizio v170: soften nested insurance notice backdrop with light frosted blur. */
body.marina-site .inline-notice-overlay {
  background:
    linear-gradient(180deg, rgba(255,255,255,.18) 0%, rgba(235,242,248,.14) 100%) !important;
  backdrop-filter: blur(12px) saturate(102%) brightness(1.06) !important;
  -webkit-backdrop-filter: blur(12px) saturate(102%) brightness(1.06) !important;
  border-radius: inherit !important;
}

/* Fabrizio v172: billing CTA turns accent blue on hover */
body.marina-site #home-billing .billing-actions .text-link.button-link:hover,
body.marina-site #home-billing .billing-actions .text-link.button-link:focus-visible {
  color: #072938 !important;
  background: var(--accent) !important;
  border-color: rgba(34, 205, 239, .95) !important;
  box-shadow: 0 10px 24px rgba(34,205,239,.22), inset 0 1px 0 rgba(255,255,255,.28) !important;
}


/* Fabrizio v174: reduce the employee-popup name headers slightly so all 8 team/front-office popups feel less oversized. */
body.marina-site .team-profile-modal .modal-card h2 {
  font-size: clamp(30px, 4.25vw, 48px) !important;
  line-height: 0.98 !important;
}
@media (max-width: 760px) {
  body.marina-site .team-profile-modal .modal-card h2 {
    font-size: clamp(28px, 7.2vw, 42px) !important;
    line-height: 1.0 !important;
  }
}

/* Fabrizio v177: opening search before scroll should not reveal the scrolled top bar or small horizontal logo. */
body.home-page.marina-site:not(.home-scrolled) .site-header.search-open::before {
  opacity: 0 !important;
}

body.home-page.marina-site:not(.home-scrolled) .site-header.search-open .brand img {
  opacity: 0 !important;
}

/* Search panel still opens normally. */
body.home-page.marina-site:not(.home-scrolled) .site-header.search-open .search-panel {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}


/* Fabrizio v178: appointment request fields support browser autofill and show a short confirmation. */
body.marina-site .appointment-calendar-request,
body.marina-site [data-appointment-request-form] {
  position: relative !important;
}

body.marina-site .appointment-calendar-request input:-webkit-autofill,
body.marina-site .appointment-calendar-request textarea:-webkit-autofill,
body.marina-site .appointment-calendar-request select:-webkit-autofill {
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 0 0 1000px rgba(6,18,28,.54) inset !important;
  transition: background-color 5000s ease-in-out 0s;
}

body.marina-site .appointment-thankyou-message {
  position: absolute;
  inset: 0;
  z-index: 60;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 26px;
  border-radius: inherit;
  text-align: center;
  background:
    linear-gradient(135deg, rgba(34,205,239,.20), rgba(5,18,28,.72)),
    rgba(5,18,28,.74);
  border: 1px solid rgba(34,205,239,.30);
  box-shadow: 0 24px 70px rgba(0,0,0,.34);
  backdrop-filter: blur(18px) saturate(118%);
  -webkit-backdrop-filter: blur(18px) saturate(118%);
  color: #fff;
  opacity: 0;
  transform: translateY(10px);
  animation: fptAppointmentThanksIn .38s ease forwards;
}

body.marina-site .appointment-thankyou-message strong {
  display: block;
  font-size: clamp(24px, 3vw, 38px);
  line-height: 1.08;
  color: #fff;
}

body.marina-site .appointment-thankyou-message span {
  display: block;
  max-width: 34ch;
  font-size: clamp(16px, 1.45vw, 20px);
  line-height: 1.35;
  color: rgba(255,255,255,.88);
}

body.marina-site .appointment-thankyou-message.is-fading {
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity .5s ease, transform .5s ease;
}

@keyframes fptAppointmentThanksIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/* Fabrizio v179: lighten only the two appointment calendar panels while keeping controls dark for contrast */
body.marina-site .appointment-calendar-panel,
body.marina-site .appointment-choice-panel {
  background: linear-gradient(145deg, rgba(225,231,236,.70), rgba(209,218,224,.60)) !important;
  border-color: rgba(255,255,255,.28) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.26), 0 20px 44px rgba(0,11,18,.12) !important;
  backdrop-filter: blur(26px) saturate(120%) brightness(1.05) !important;
  -webkit-backdrop-filter: blur(26px) saturate(120%) brightness(1.05) !important;
}
body.marina-site .appointment-calendar-panel .calendar-month-copy strong,
body.marina-site .appointment-choice-panel .choice-panel-header strong,
body.marina-site .appointment-choice-panel .calendar-selected-row strong,
body.marina-site .appointment-choice-panel .no-times-message,
body.marina-site .appointment-calendar-panel .calendar-weekday-row span {
  color: #23323a !important;
}
body.marina-site .appointment-calendar-panel .calendar-month-copy span,
body.marina-site .appointment-choice-panel .choice-panel-header span,
body.marina-site .appointment-choice-panel .calendar-selected-row span,
body.marina-site .appointment-choice-panel .time-panel > span {
  color: var(--accent, #22cdef) !important;
}
body.marina-site .appointment-choice-panel .calendar-selected-row,
body.marina-site .appointment-choice-panel .time-panel {
  background: rgba(255,255,255,.22) !important;
  border-color: rgba(35,50,58,.12) !important;
}
body.marina-site .appointment-calendar-panel .calendar-nav-button,
body.marina-site .appointment-calendar-panel .calendar-day-button,
body.marina-site .appointment-choice-panel .appointment-time-list .appointment-slot {
  background: rgba(43,54,62,.90) !important;
  border-color: rgba(255,255,255,.14) !important;
  color: #fff !important;
  box-shadow: none !important;
}
body.marina-site .appointment-calendar-panel .calendar-nav-button:hover,
body.marina-site .appointment-calendar-panel .calendar-nav-button:focus-visible,
body.marina-site .appointment-calendar-panel .calendar-day-button.available:hover,
body.marina-site .appointment-calendar-panel .calendar-day-button.available:focus-visible,
body.marina-site .appointment-choice-panel .appointment-time-list .appointment-slot:hover,
body.marina-site .appointment-choice-panel .appointment-time-list .appointment-slot:focus-visible {
  background: rgba(55,68,78,.96) !important;
  border-color: rgba(255,255,255,.22) !important;
  color: #fff !important;
}
body.marina-site .appointment-calendar-panel .calendar-day-button.disabled,
body.marina-site .appointment-calendar-panel .calendar-nav-button:disabled {
  background: rgba(43,54,62,.56) !important;
  color: rgba(255,255,255,.42) !important;
  border-color: rgba(255,255,255,.08) !important;
  opacity: 1 !important;
}
body.marina-site .appointment-calendar-panel .calendar-day-button.selected,
body.marina-site .appointment-calendar-panel .calendar-day-button.selected:hover,
body.marina-site .appointment-calendar-panel .calendar-day-button.selected:focus-visible,
body.marina-site .appointment-choice-panel .appointment-time-list .appointment-slot.active,
body.marina-site .appointment-choice-panel .appointment-time-list .appointment-slot.active:hover,
body.marina-site .appointment-choice-panel .appointment-time-list .appointment-slot.active:focus-visible {
  background: var(--accent, #22cdef) !important;
  color: #052431 !important;
  border-color: var(--accent, #22cdef) !important;
  box-shadow: 0 12px 26px rgba(34,205,239,.24) !important;
}

/* Fabrizio v180: test pure-white treatment for only the two appointment calendar panels. */
body.marina-site .appointment-calendar-panel,
body.marina-site .appointment-choice-panel {
  background: #ffffff !important;
  border-color: rgba(6,35,50,.16) !important;
  box-shadow: 0 20px 44px rgba(0,11,18,.14) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.marina-site .appointment-calendar-panel .calendar-month-copy strong,
body.marina-site .appointment-choice-panel .choice-panel-header strong,
body.marina-site .appointment-choice-panel .calendar-selected-row strong,
body.marina-site .appointment-choice-panel .no-times-message,
body.marina-site .appointment-calendar-panel .calendar-weekday-row span {
  color: #182932 !important;
}

body.marina-site .appointment-calendar-panel .calendar-month-copy span,
body.marina-site .appointment-choice-panel .choice-panel-header span,
body.marina-site .appointment-choice-panel .calendar-selected-row span,
body.marina-site .appointment-choice-panel .time-panel > span {
  color: var(--accent, #22cdef) !important;
}

body.marina-site .appointment-choice-panel .calendar-selected-row,
body.marina-site .appointment-choice-panel .time-panel {
  background: #f3f5f6 !important;
  border-color: rgba(6,35,50,.12) !important;
}

body.marina-site .appointment-calendar-panel .calendar-nav-button,
body.marina-site .appointment-calendar-panel .calendar-day-button,
body.marina-site .appointment-choice-panel .appointment-time-list .appointment-slot {
  background: #2b363e !important;
  border-color: rgba(24,41,50,.16) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

body.marina-site .appointment-calendar-panel .calendar-nav-button:hover,
body.marina-site .appointment-calendar-panel .calendar-nav-button:focus-visible,
body.marina-site .appointment-calendar-panel .calendar-day-button.available:hover,
body.marina-site .appointment-calendar-panel .calendar-day-button.available:focus-visible,
body.marina-site .appointment-choice-panel .appointment-time-list .appointment-slot:hover,
body.marina-site .appointment-choice-panel .appointment-time-list .appointment-slot:focus-visible {
  background: #384650 !important;
  border-color: rgba(24,41,50,.26) !important;
  color: #ffffff !important;
}

body.marina-site .appointment-calendar-panel .calendar-day-button.disabled,
body.marina-site .appointment-calendar-panel .calendar-nav-button:disabled {
  background: #d9dee1 !important;
  color: rgba(24,41,50,.35) !important;
  border-color: rgba(24,41,50,.08) !important;
  opacity: 1 !important;
}

body.marina-site .appointment-calendar-panel .calendar-day-button.selected,
body.marina-site .appointment-calendar-panel .calendar-day-button.selected:hover,
body.marina-site .appointment-calendar-panel .calendar-day-button.selected:focus-visible,
body.marina-site .appointment-choice-panel .appointment-time-list .appointment-slot.active,
body.marina-site .appointment-choice-panel .appointment-time-list .appointment-slot.active:hover,
body.marina-site .appointment-choice-panel .appointment-time-list .appointment-slot.active:focus-visible {
  background: var(--accent, #22cdef) !important;
  color: #052431 !important;
  border-color: var(--accent, #22cdef) !important;
  box-shadow: 0 12px 26px rgba(34,205,239,.24) !important;
}

/* Fabrizio v181: make unselected appointment calendar/time buttons medium gray instead of near-black. */
body.marina-site .appointment-calendar-panel .calendar-nav-button,
body.marina-site .appointment-calendar-panel .calendar-day-button,
body.marina-site .appointment-choice-panel .appointment-time-list .appointment-slot {
  background: #6f777c !important;
  border-color: rgba(24,41,50,.18) !important;
  color: #ffffff !important;
}

body.marina-site .appointment-calendar-panel .calendar-nav-button:hover,
body.marina-site .appointment-calendar-panel .calendar-nav-button:focus-visible,
body.marina-site .appointment-calendar-panel .calendar-day-button.available:hover,
body.marina-site .appointment-calendar-panel .calendar-day-button.available:focus-visible,
body.marina-site .appointment-choice-panel .appointment-time-list .appointment-slot:hover,
body.marina-site .appointment-choice-panel .appointment-time-list .appointment-slot:focus-visible {
  background: #828a8f !important;
  border-color: rgba(24,41,50,.26) !important;
  color: #ffffff !important;
}

body.marina-site .appointment-calendar-panel .calendar-day-button.disabled,
body.marina-site .appointment-calendar-panel .calendar-nav-button:disabled {
  background: #d9dee1 !important;
  color: rgba(24,41,50,.35) !important;
  border-color: rgba(24,41,50,.08) !important;
}

body.marina-site .appointment-calendar-panel .calendar-day-button.selected,
body.marina-site .appointment-calendar-panel .calendar-day-button.selected:hover,
body.marina-site .appointment-calendar-panel .calendar-day-button.selected:focus-visible,
body.marina-site .appointment-choice-panel .appointment-time-list .appointment-slot.active,
body.marina-site .appointment-choice-panel .appointment-time-list .appointment-slot.active:hover,
body.marina-site .appointment-choice-panel .appointment-time-list .appointment-slot.active:focus-visible {
  background: var(--accent, #22cdef) !important;
  color: #052431 !important;
  border-color: var(--accent, #22cdef) !important;
}

/* Fabrizio v183: appointment calendar labels dark gray for better contrast on white panels. */
body.marina-site .appointment-calendar-panel .calendar-month-copy span,
body.marina-site .appointment-choice-panel .choice-panel-header span,
body.marina-site .appointment-choice-panel .calendar-selected-row span,
body.marina-site .appointment-choice-panel .time-panel > span {
  color: #3b464c !important;
  font-weight: 700 !important;
}

body.marina-site .appointment-calendar-panel .calendar-weekday-row span {
  color: #3b464c !important;
}

/* Fabrizio v184: Newport promo stays fully opaque and shrinks/glides upward into a thumbnail while scrolling below the fold. */
body.marina-site .newport-popup {
  --newport-scroll-scale: 1;
  --newport-scroll-y: 0px;
  transform-origin: top right !important;
}

body.marina-site .newport-popup.is-visible {
  opacity: 1 !important;
  transform: translate3d(0, var(--newport-scroll-y), 0) scale(var(--newport-scroll-scale)) !important;
}

body.marina-site .newport-popup-image,
body.marina-site .newport-popup-overlay,
body.marina-site .newport-popup-copy,
body.marina-site .newport-popup-copy p,
body.marina-site .newport-popup-close {
  opacity: 1 !important;
}

/* Fabrizio v185: Newport popup stays in place while shrinking, so it does not tuck behind the upper nav/header area. */
body.marina-site .newport-popup.is-visible {
  transform: translate3d(0, 0, 0) scale(var(--newport-scroll-scale, 1)) !important;
  opacity: 1 !important;
}

/* Fabrizio v187: iPad-safe Ryan testimonial image fallback. Older iPad Chrome/Safari can fail lazy image painting here, so preload/eager plus a background fallback keeps it visible. */
body.marina-site #home-testimonials .ryan-reynolds-testimonial,
body.marina-site #home-testimonials .ryan-reynolds-testimonial:hover,
body.marina-site #home-testimonials .ryan-reynolds-testimonial:focus-visible {
  background:
    linear-gradient(90deg, rgba(16, 12, 2, 0.00) 0%, rgba(20, 15, 3, 0.00) 30%, rgba(31, 24, 4, 0.18) 46%, rgba(46, 34, 5, 0.36) 62%, rgba(60, 45, 6, 0.54) 79%, rgba(74, 55, 7, 0.68) 100%),
    url('../img/marina-treatment-care.jpg') left center / cover no-repeat !important;
  background-color: rgba(31, 22, 4, .96) !important;
}

@media (min-width: 761px) and (max-width: 1180px) {
  body.marina-site #home-testimonials .ryan-reynolds-testimonial .ryan-lock-img {
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    transform: none !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: left center !important;
    filter: none !important;
    -webkit-filter: none !important;
  }
}

/* Fabrizio v188: hard-cache-bust Ryan testimonial image for older iPad by using a brand-new image URL and forcing a background fallback at the end of the cascade. */
body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial,
body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial:hover,
body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial:focus-visible {
  background:
    linear-gradient(90deg, rgba(16, 12, 2, 0.00) 0%, rgba(20, 15, 3, 0.00) 30%, rgba(31, 24, 4, 0.18) 46%, rgba(46, 34, 5, 0.36) 62%, rgba(60, 45, 6, 0.54) 79%, rgba(74, 55, 7, 0.68) 100%),
    url('../img/marina-treatment-care.jpg') left center / cover no-repeat !important;
  background-color: rgba(31, 22, 4, .96) !important;
}

body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial .ryan-lock-img {
  content: url('../img/marina-treatment-care.jpg') !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: left center !important;
  transform: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  z-index: 0 !important;
}

/* Fabrizio v189: strongest iPad fallback, Ryan testimonial uses the article background and does not depend on the image layer painting. */
body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial .ryan-lock-img {
  opacity: 0 !important;
  visibility: hidden !important;
  display: none !important;
}

body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial::before {
  display: none !important;
  content: none !important;
}

/* Fabrizio v190: old-iPad-safe Ryan testimonial image, baseline RGB JPEG with simple direct background. */
body.marina-site #home-testimonials .ryan-reynolds-testimonial,
body.marina-site #home-testimonials .ryan-reynolds-testimonial:hover,
body.marina-site #home-testimonials .ryan-reynolds-testimonial:focus-visible {
  background-image:
    linear-gradient(90deg, rgba(16,12,2,0.00) 0%, rgba(20,15,3,0.00) 30%, rgba(31,24,4,0.18) 46%, rgba(46,34,5,0.36) 62%, rgba(60,45,6,0.54) 79%, rgba(74,55,7,0.68) 100%),
    url('../img/marina-treatment-care.jpg') !important;
  background-position: left center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

/* Fabrizio v191: rebuild Ryan testimonial as a simple Dr-Phil-style card for old iPad/tablet WebKit.
   This removes dependency on the Ryan absolute image layer, backdrop blur, and accumulated Ryan-specific transforms. */
body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial.ryan-ipad-solid-card,
body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial.ryan-ipad-solid-card:hover,
body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial.ryan-ipad-solid-card:focus-visible {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  min-height: 340px !important;
  border: 0 !important;
  border-radius: 26px !important;
  background-color: rgba(31,22,4,.96) !important;
  background-image:
    linear-gradient(90deg, rgba(16,12,2,0.00) 0%, rgba(20,15,3,0.00) 30%, rgba(31,24,4,0.18) 46%, rgba(46,34,5,0.36) 62%, rgba(60,45,6,0.54) 79%, rgba(74,55,7,0.68) 100%),
    url('../img/marina-treatment-care.jpg') !important;
  background-position: left center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.12) !important;
  transform: none !important;
  -webkit-transform: translateZ(0) !important;
  filter: none !important;
  -webkit-filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial.ryan-ipad-solid-card::before,
body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial.ryan-ipad-solid-card .ryan-lock-img {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  content: none !important;
}

body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial.ryan-ipad-solid-card .featured-testimonial-copy {
  position: relative !important;
  z-index: 2 !important;
  min-height: 340px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-end !important;
  padding: clamp(22px, 2.2vw, 28px) clamp(92px, 8vw, 122px) clamp(20px, 2.2vw, 26px) clamp(34px, 3.8vw, 48px) !important;
  transform: none !important;
  -webkit-transform: none !important;
  filter: none !important;
  -webkit-filter: none !important;
}

body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial.ryan-ipad-solid-card blockquote,
body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial.ryan-ipad-solid-card .quote-credit {
  width: min(58%, 780px) !important;
  max-width: 780px !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  text-align: left !important;
  left: 0 !important;
  transform: none !important;
  -webkit-transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial.ryan-ipad-solid-card blockquote {
  font-size: clamp(31px, 3.7vw, 54px) !important;
  line-height: 1.11 !important;
  letter-spacing: -.03em !important;
}

body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial.ryan-ipad-solid-card .quote-credit {
  margin-top: 16px !important;
  font-size: clamp(18px, 1.25vw, 23px) !important;
}

@media (max-width: 760px) {
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial.ryan-ipad-solid-card {
    min-height: 330px !important;
    background-position: -24px center !important;
    background-size: auto 116% !important;
  }

  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial.ryan-ipad-solid-card .featured-testimonial-copy {
    min-height: 330px !important;
    justify-content: center !important;
    align-items: flex-end !important;
    padding: 22px 16px 18px 18px !important;
  }

  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial.ryan-ipad-solid-card blockquote,
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial.ryan-ipad-solid-card .quote-credit {
    width: min(51%, 208px) !important;
    max-width: 208px !important;
  }
}

/* Fabrizio v192: final diagnostic/force rule for Ryan testimonial on old iPad.
   This uses a unique image filename and a tiny v192 stamp to prove whether the iPad is loading this deploy. */
body.marina-site #home-testimonials .ryan-reynolds-testimonial,
body.marina-site #home-testimonials .ryan-reynolds-testimonial:hover,
body.marina-site #home-testimonials .ryan-reynolds-testimonial:focus-visible {
  background-color: #1f1604 !important;
  background-image:
    linear-gradient(90deg, rgba(16,12,2,0.00) 0%, rgba(20,15,3,0.00) 30%, rgba(31,24,4,0.18) 46%, rgba(46,34,5,0.36) 62%, rgba(60,45,6,0.54) 79%, rgba(74,55,7,0.68) 100%),
    url('../img/marina-treatment-care.jpg') !important;
  background-position: left center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

body.marina-site #home-testimonials .ryan-reynolds-testimonial .ryan-lock-img,
body.marina-site #home-testimonials .ryan-reynolds-testimonial::before {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  content: none !important;
}

body.marina-site .ryan-v192-stamp {
  position: absolute;
  right: 10px;
  bottom: 8px;
  z-index: 5;
  font-size: 10px;
  line-height: 1;
  letter-spacing: .08em;
  color: rgba(255,255,255,.55);
  pointer-events: none;
}

/* Fabrizio v193: Newport lightbox uses a video instead of the static image. Small upper-right promo remains unchanged. */
body.marina-site .newport-lightbox-video {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: calc(100vh - 110px) !important;
  object-fit: contain !important;
  border-radius: inherit !important;
  background: rgba(4, 10, 14, .92) !important;
}

body.marina-site .newport-lightbox-frame {
  background: rgba(4, 10, 14, .92) !important;
}

/* Fabrizio v195: Services category as full-bleed touching image panels with bottom gradient and click-to-open details. */
body.marina-site #home-services {
  overflow: visible !important;
}

body.marina-site #home-services .services-strip {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 0 !important;
  display: flex !important;
  gap: 0 !important;
  align-items: stretch !important;
  overflow: hidden !important;
}

body.marina-site #home-services .service-strip-card {
  position: relative !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  min-height: clamp(360px, 42vw, 520px) !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  background: #071018 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transform: none !important;
  transition: flex .65s cubic-bezier(.16,.78,.18,1), filter .28s ease !important;
}

body.marina-site #home-services .service-strip-card img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1.01) !important;
  transition: transform .65s cubic-bezier(.16,.78,.18,1), filter .35s ease !important;
  z-index: 0 !important;
}

body.marina-site #home-services .service-strip-shade {
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(to top, rgba(0,0,0,.78) 0%, rgba(0,0,0,.54) 23%, rgba(0,0,0,.18) 50%, rgba(0,0,0,0) 76%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
  transition: background .28s ease !important;
}

body.marina-site #home-services .service-strip-card h3 {
  position: absolute !important;
  left: clamp(18px, 2vw, 30px) !important;
  right: clamp(18px, 2vw, 30px) !important;
  bottom: clamp(24px, 3vw, 44px) !important;
  z-index: 2 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: clamp(22px, 2.2vw, 34px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.035em !important;
  text-align: left !important;
  text-shadow: 0 2px 18px rgba(0,0,0,.55) !important;
  max-width: 92% !important;
}

body.marina-site #home-services .service-strip-card p,
body.marina-site #home-services .service-strip-card .card-action,
body.marina-site #home-services .service-strip-card::after {
  display: none !important;
  content: none !important;
}

body.marina-site #home-services .services-strip:hover .service-strip-card {
  flex: .78 1 0 !important;
}

body.marina-site #home-services .services-strip .service-strip-card:hover,
body.marina-site #home-services .services-strip .service-strip-card:focus-visible {
  flex: 1.72 1 0 !important;
  z-index: 3 !important;
  outline: none !important;
}

body.marina-site #home-services .service-strip-card:hover img,
body.marina-site #home-services .service-strip-card:focus-visible img {
  transform: scale(1.08) !important;
  filter: brightness(1.06) saturate(1.03) !important;
}

body.marina-site #home-services .service-strip-card:hover .service-strip-shade,
body.marina-site #home-services .service-strip-card:focus-visible .service-strip-shade {
  background:
    linear-gradient(to top, rgba(0,0,0,.84) 0%, rgba(0,0,0,.58) 22%, rgba(0,0,0,.16) 52%, rgba(0,0,0,0) 78%) !important;
}

@media (max-width: 900px) {
  body.marina-site #home-services .services-strip {
    flex-wrap: wrap !important;
  }

  body.marina-site #home-services .service-strip-card {
    flex: 1 1 50% !important;
    min-height: 300px !important;
  }

  body.marina-site #home-services .services-strip:hover .service-strip-card,
  body.marina-site #home-services .services-strip .service-strip-card:hover,
  body.marina-site #home-services .services-strip .service-strip-card:focus-visible {
    flex: 1 1 50% !important;
  }
}

@media (max-width: 560px) {
  body.marina-site #home-services .service-strip-card {
    flex-basis: 100% !important;
    min-height: 260px !important;
  }

  body.marina-site #home-services .services-strip:hover .service-strip-card,
  body.marina-site #home-services .services-strip .service-strip-card:hover,
  body.marina-site #home-services .services-strip .service-strip-card:focus-visible {
    flex-basis: 100% !important;
  }
}

/* Fabrizio v196: hard-lock Ryan mobile only so desktop/tablet fixes cannot shove his face back under the type. Desktop remains untouched. */
@media (max-width: 760px) {
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial,
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial:hover,
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial:focus-visible {
    min-height: 330px !important;
    background-color: rgba(31, 22, 4, .96) !important;
    background-image:
      linear-gradient(90deg, rgba(16,12,2,0.00) 0%, rgba(20,15,3,0.00) 31%, rgba(31,24,4,0.16) 45%, rgba(46,34,5,0.42) 59%, rgba(60,45,6,0.68) 74%, rgba(74,55,7,0.84) 100%),
      url('../img/marina-treatment-care.jpg') !important;
    background-repeat: no-repeat !important;
    background-size: auto 124% !important;
    background-position: -165px center !important;
    border-radius: 24px !important;
    overflow: hidden !important;
  }

  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial::before,
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial .ryan-lock-img {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    content: none !important;
  }

  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial .featured-testimonial-copy {
    min-height: 330px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: flex-end !important;
    padding: 22px 16px 18px 18px !important;
    transform: none !important;
  }

  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial blockquote,
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial .quote-credit {
    width: min(50%, 196px) !important;
    max-width: 196px !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    left: 0 !important;
    transform: none !important;
    text-align: left !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial blockquote {
    font-size: clamp(25px, 7vw, 32px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.035em !important;
  }

  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial .quote-credit {
    margin-top: 12px !important;
    font-size: 17px !important;
    line-height: 1.1 !important;
  }
}

@media (max-width: 390px) {
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial,
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial:hover,
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial:focus-visible {
    background-position: -185px center !important;
  }

  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial blockquote,
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial .quote-credit {
    width: min(49%, 182px) !important;
    max-width: 182px !important;
  }
}

/* Fabrizio v197: mobile-only testimonial art replacements. Desktop/tablet image treatments remain untouched. */
@media (max-width: 760px) {
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.dr-phil-testimonial,
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.dr-phil-testimonial:hover,
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.dr-phil-testimonial:focus-visible {
    min-height: 330px !important;
    background-color: rgba(78, 10, 98, .96) !important;
    background-image:
      linear-gradient(90deg, rgba(42, 0, 66, 0.00) 0%, rgba(58, 0, 92, 0.00) 31%, rgba(78, 4, 108, 0.18) 45%, rgba(87, 8, 118, 0.40) 60%, rgba(92, 8, 126, 0.68) 76%, rgba(92, 8, 126, 0.84) 100%),
      url('../img/marina-treatment-care.jpg') !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center center !important;
    border-radius: 24px !important;
    overflow: hidden !important;
  }

  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial,
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial:hover,
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial:focus-visible {
    min-height: 330px !important;
    background-color: rgba(31, 22, 4, .96) !important;
    background-image:
      linear-gradient(90deg, rgba(16,12,2,0.00) 0%, rgba(20,15,3,0.00) 31%, rgba(31,24,4,0.16) 45%, rgba(46,34,5,0.42) 60%, rgba(60,45,6,0.68) 76%, rgba(74,55,7,0.84) 100%),
      url('../img/marina-treatment-care.jpg') !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center center !important;
    border-radius: 24px !important;
    overflow: hidden !important;
  }

  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.dr-phil-testimonial::before,
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial::before,
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.dr-phil-testimonial .dr-phil-lock-img,
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial .ryan-lock-img {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    content: none !important;
  }

  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.dr-phil-testimonial .featured-testimonial-copy,
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial .featured-testimonial-copy {
    min-height: 330px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: flex-end !important;
    padding: 22px 16px 18px 18px !important;
    transform: none !important;
  }

  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.dr-phil-testimonial blockquote,
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.dr-phil-testimonial .quote-credit,
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial blockquote,
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial .quote-credit {
    width: min(50%, 196px) !important;
    max-width: 196px !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    left: 0 !important;
    transform: none !important;
    text-align: left !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.dr-phil-testimonial blockquote,
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial blockquote {
    font-size: clamp(25px, 7vw, 32px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.035em !important;
  }

  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.dr-phil-testimonial .quote-credit,
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial .quote-credit {
    margin-top: 12px !important;
    font-size: 17px !important;
    line-height: 1.1 !important;
  }
}


/* Fabrizio v198: force the Ryan mobile-only replacement image on the Ryan card, including the old iPad solid-card variant. */
@media (max-width: 760px) {
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial.ryan-ipad-solid-card,
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial.ryan-ipad-solid-card:hover,
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial.ryan-ipad-solid-card:focus-visible {
    background-color: rgba(31, 22, 4, .96) !important;
    background-image:
      linear-gradient(90deg, rgba(16,12,2,0.00) 0%, rgba(20,15,3,0.00) 31%, rgba(31,24,4,0.16) 45%, rgba(46,34,5,0.42) 60%, rgba(60,45,6,0.68) 76%, rgba(74,55,7,0.84) 100%),
      url('../img/marina-treatment-care.jpg') !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center center !important;
  }

  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial.ryan-ipad-solid-card .featured-testimonial-copy {
    min-height: 330px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: flex-end !important;
    padding: 22px 16px 18px 18px !important;
    transform: none !important;
  }

  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial.ryan-ipad-solid-card blockquote,
  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial.ryan-ipad-solid-card .quote-credit {
    width: min(50%, 196px) !important;
    max-width: 196px !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    text-align: left !important;
    left: 0 !important;
    transform: none !important;
  }

  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial.ryan-ipad-solid-card blockquote {
    font-size: clamp(25px, 7vw, 32px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.035em !important;
  }

  body.marina-site #home-testimonials .testimonial-card.featured-testimonial.ryan-reynolds-testimonial.ryan-ipad-solid-card .quote-credit {
    margin-top: 12px !important;
    font-size: 17px !important;
    line-height: 1.1 !important;
  }
}

/* Marina v30: add deliberate clearance between the desktop navigation and hero mark. */
@media (min-width: 761px) {
  body.marina-site .home-intro-logo {
    top: 92px !important;
  }

  body.marina-site .nav-cluster {
    transform: translateY(-10px);
  }
}

/* Marina v32: header wordmark sits 25px right of its original desktop placement. */
@media (min-width: 761px) {
  body.marina-site .site-header .brand {
    transform: translateX(11px) !important;
  }
}

/* Marina v33: add a gradual 20% readability veil below the first viewport. */
:root {
  --marina-below-fold-dim: 0;
}

body.marina-site .video-bg .video-scroll-dim {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  background: rgb(0 0 0 / 40%);
  opacity: var(--marina-below-fold-dim, 0);
  transition: opacity .08s linear;
}

/* Marina v34: the static stacked icon stays put; the two text lines reveal in sequence. */
body.marina-site .home-intro-logo {
  display: block !important;
  width: min(252px, 19vw) !important;
  aspect-ratio: 193.391 / 161.391;
  padding: 0 !important;
}

body.marina-site .home-intro-logo .marina-hero-icon,
body.marina-site .home-intro-logo .marina-hero-word-marina,
body.marina-site .home-intro-logo .marina-hero-word-sports {
  position: absolute;
  inset: 0;
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}

body.marina-site .home-intro-logo .marina-hero-icon {
  clip-path: inset(0 0 36% 0);
}

body.marina-site .home-intro-logo .marina-hero-word-marina {
  clip-path: inset(60% 0 12% 0);
  opacity: 0;
  transform: translateY(8px);
}

body.marina-site .home-intro-logo .marina-hero-word-sports {
  clip-path: inset(88% 0 0 0);
  opacity: 0;
  transform: translateY(7px);
}

body.marina-site.hero-animating .home-intro-logo .marina-hero-word-marina {
  animation: marinaHeroWordReveal .72s cubic-bezier(.18, .72, .16, 1) .20s both;
}

body.marina-site.hero-animating .home-intro-logo .marina-hero-word-sports {
  animation: marinaHeroWordReveal .64s cubic-bezier(.18, .72, .16, 1) .68s both;
}

body.marina-site.hero-animation-complete .home-intro-logo .marina-hero-word-marina,
body.marina-site.hero-animation-complete .home-intro-logo .marina-hero-word-sports {
  opacity: 1;
  transform: translateY(0);
}

@keyframes marinaHeroWordReveal {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 760px) {
  body.marina-site .home-intro-logo {
    width: min(214px, 58vw) !important;
  }
}

/* Marina v35: use the supplied treatment photo and remove non-Marina credential logos. */
body.marina-site #home-about .about-logo-strip {
  display: none !important;
}

body.marina-site #home-about .about-care-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

body.marina-site #home-about .about-video-frame {
  aspect-ratio: 1 / 1 !important;
}

body.marina-site #home-about .about-care-video {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  margin-left: 0 !important;
  object-fit: cover;
  object-position: center top;
}

/* Marina v40: concise modal affordance for service cards. */
body.marina-site .treatment-grid .service-card {
  position: relative;
}

body.marina-site .treatment-grid .service-card .card-action {
  position: absolute;
  right: 22px;
  bottom: 18px;
  width: 22px;
  height: 22px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent !important;
  color: transparent !important;
  font-size: 0;
  transition: transform .2s ease;
}

body.marina-site .treatment-grid .service-card .card-action::after {
  content: "+";
  display: block;
  color: rgba(255,255,255,.62);
  font-size: 23px;
  font-weight: 300;
  line-height: 22px;
  transition: color .2s ease, transform .2s ease;
}

body.marina-site .treatment-grid .service-card:hover .card-action,
body.marina-site .treatment-grid .service-card:focus-visible .card-action {
  transform: scale(1.18);
}

body.marina-site .treatment-grid .service-card:hover .card-action::after,
body.marina-site .treatment-grid .service-card:focus-visible .card-action::after {
  color: #75ddff;
}

@media (min-width: 761px) {
  body.marina-site #home-about .about-care-image {
    width: 100%;
    max-width: none;
    margin-left: 0;
    transform: none;
  }
}

/* Marina v45: final readability and alignment refinements. */
body.marina-site *,
body.marina-site *::before,
body.marina-site *::after {
  text-shadow: none !important;
}

body.marina-site .modal-card .modal-actions {
  margin: 14px 0 26px auto !important;
  transform: none !important;
}

body.marina-site .location-practice-visual > img {
  object-position: center center !important;
}

body.marina-site .treatment-grid .service-card .card-action {
  all: unset !important;
  position: absolute !important;
  right: 22px !important;
  bottom: 18px !important;
  width: 22px !important;
  height: 22px !important;
  display: block !important;
  cursor: pointer;
  transform: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.marina-site .treatment-grid .service-card .card-action::after {
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: rgba(255,255,255,.68) !important;
}
body.marina-site .treatment-grid .service-card:hover .card-action,
body.marina-site .treatment-grid .service-card:focus-visible .card-action {
  transform: scale(1.18) !important;
}

body.marina-site #home-testimonials .testimonial-list {
  margin-top: clamp(60px, 8vw, 112px) !important;
  margin-left: clamp(0px, 9vw, 118px) !important;
}
body.marina-site #home-testimonials .testimonial-quote,
body.marina-site #home-testimonials .testimonial-quote blockquote,
body.marina-site #home-testimonials .testimonial-quote p {
  text-align: left !important;
}

/* Marina v47: restore plain plus affordances and align testimonials to their heading. */
body.marina-site .treatment-grid .service-card,
body.marina-site .conditions-grid .condition-card {
  position: relative !important;
}

body.marina-site .treatment-grid .service-card .card-action,
body.marina-site .conditions-grid .condition-card .card-action {
  all: unset !important;
  position: absolute !important;
  left: 22px !important;
  right: auto !important;
  bottom: 17px !important;
  z-index: 3 !important;
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: rgba(235, 240, 241, .62) !important;
  font-size: 25px !important;
  font-weight: 300 !important;
  line-height: 22px !important;
  text-align: center !important;
  cursor: pointer !important;
  transform: rotate(0deg) !important;
  transition: color .2s ease, transform .2s ease !important;
}

body.marina-site .treatment-grid .service-card .card-action::after,
body.marina-site .conditions-grid .condition-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 {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #75ddff !important;
  transform: rotate(45deg) !important;
}

body.marina-site #home-testimonials .testimonial-list {
  width: min(100% - 2 * var(--gutter), var(--max)) !important;
  margin-top: clamp(60px, 8vw, 112px) !important;
  margin-right: auto !important;
  margin-bottom: 0 !important;
  margin-left: auto !important;
}

/* Marina v48: FAQ rows align with the section heading and darken as individual hover bands. */
body.marina-site #home-faq .faq-list {
  width: min(100% - 2 * var(--gutter), var(--max)) !important;
  max-width: none !important;
  margin: clamp(34px, 5vw, 64px) auto 0 !important;
}

body.marina-site #home-faq .faq-list details {
  margin: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  transition: background-color .22s ease !important;
}

body.marina-site #home-faq .faq-list details:hover,
body.marina-site #home-faq .faq-list details:focus-within {
  background: rgba(0, 12, 17, .46) !important;
}

body.marina-site #home-faq .faq-list details summary,
body.marina-site #home-faq .faq-list details > p {
  text-align: left !important;
}

body.marina-site #home-faq .faq-list details summary {
  padding-left: 0 !important;
  padding-right: 52px !important;
}

body.marina-site #home-faq .faq-list details > p {
  padding-right: 52px !important;
}

/* Marina v60: final shared card affordance. */
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: 300 25px/22px inherit !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;
}

/* Marina v57 final footer controls. */
body.marina-site .footer-contact .footer-location {
  display: flex !important;
  align-items: flex-start !important;
  gap: 9px !important;
}
body.marina-site .footer-location-map {
  display: block !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 24px !important;
  margin-top: 2px !important;
  padding: 0 !important;
  color: rgba(255,255,255,.78) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}
body.marina-site .footer-location-map svg { display:block; width:18px; height:18px; fill:currentColor; }
body.marina-site .footer-location-map:hover,
body.marina-site .footer-location-map:focus-visible { color:var(--accent)!important; background:transparent!important; outline:0!important; }
body.marina-site .footer-location > span { display:block; }
body.marina-site .footer-reservation,
body.marina-site .social-row a {
  background: rgba(255,255,255,.13) !important;
  border-color: rgba(255,255,255,.28) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.20), 0 8px 22px rgba(0,10,16,.12) !important;
  backdrop-filter: blur(16px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
}

/* Marina v52: mobile hero eyebrow stays on one aligned line. */
@media (max-width: 760px) {
  body.marina-site #home-hero .hero-eyebrow-mobile {
    display: inline-block !important;
    width: max-content !important;
    max-width: none !important;
    white-space: nowrap !important;
    position: relative !important;
    left: 4px !important;
  }
}

/* Marina v54: card affordances sit in the lower-right corner. */
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 {
  left: auto !important;
  right: 22px !important;
}

body.marina-site .steps-grid .step-card {
  position: relative !important;
}
body.marina-site .steps-grid .step-card .card-action {
  all: unset !important;
  position: absolute !important;
  right: 22px !important;
  bottom: 17px !important;
  z-index: 3 !important;
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: rgba(235, 240, 241, .62) !important;
  font-size: 25px !important;
  font-weight: 300 !important;
  line-height: 22px !important;
  text-align: center !important;
  cursor: pointer !important;
  transform: rotate(0deg) !important;
  transition: color .2s ease, transform .2s ease !important;
}
body.marina-site .steps-grid .step-card .card-action::after {
  content: none !important;
  display: none !important;
}
body.marina-site .steps-grid .step-card:hover .card-action,
body.marina-site .steps-grid .step-card:focus-visible .card-action {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #75ddff !important;
  transform: rotate(45deg) !important;
}

/* Marina v55: testimonials use the exact same left edge as their section heading. */
body.marina-site #home-testimonials .testimonial-head,
body.marina-site #home-testimonials .testimonial-list {
  width: min(1160px, calc(100% - 56px)) !important;
  max-width: none !important;
  margin-right: auto !important;
  margin-left: auto !important;
}
body.marina-site #home-testimonials .testimonial-list {
  display: grid !important;
  justify-items: start !important;
  align-items: start !important;
}
body.marina-site #home-testimonials .testimonial-quote {
  width: min(100%, 48ch) !important;
  max-width: none !important;
  margin: 0 !important;
  justify-self: start !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;
  text-align: left !important;
}
@media (max-width: 760px) {
  body.marina-site #home-testimonials .testimonial-head,
  body.marina-site #home-testimonials .testimonial-list {
    width: min(100% - 34px, 640px) !important;
  }
}

/* Marina v56: FAQ list shares the same wrapper width and left edge as its heading. */
body.marina-site #home-faq .faq-head,
body.marina-site #home-faq .faq-list {
  width: min(1160px, calc(100% - 56px)) !important;
  max-width: none !important;
  margin-right: auto !important;
  margin-left: auto !important;
}
body.marina-site #home-faq .faq-list {
  margin-top: clamp(34px, 5vw, 64px) !important;
  margin-bottom: 0 !important;
}
@media (max-width: 760px) {
  body.marina-site #home-faq .faq-head,
  body.marina-site #home-faq .faq-list {
    width: min(100% - 34px, 640px) !important;
  }
}

body.marina-site #home-faq {
  position: relative;
  isolation: isolate;
}
body.marina-site #home-faq::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(0, 10, 14, .22);
}
body.marina-site #home-faq .faq-list {
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  max-width: 900px;
}
body.marina-site #home-faq .faq-list summary:hover::after,
body.marina-site #home-faq .faq-list summary:focus-visible::after {
  color: #fff !important;
  transform: rotate(45deg);
}
body.marina-site #home-faq .faq-list details[open] summary::after {
  color: #fff;
}
@media (max-width: 720px) {
  body.marina-site #home-testimonials .testimonial-list {
    margin-top: 46px !important;
    margin-left: 0 !important;
  }
}

/* Marina v46: appointment calendar uses the site palette rather than white and gray. */
body.marina-site .appointment-calendar-panel,
body.marina-site .appointment-choice-panel {
  background:
    linear-gradient(145deg, rgba(11,45,53,.88), rgba(7,29,37,.90)) !important;
  border-color: rgba(103,220,226,.24) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 20px 44px rgba(0,8,12,.22) !important;
  backdrop-filter: blur(18px) saturate(118%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(118%) !important;
}
body.marina-site .appointment-calendar-panel .calendar-month-copy strong,
body.marina-site .appointment-choice-panel .choice-panel-header strong,
body.marina-site .appointment-choice-panel .calendar-selected-row strong,
body.marina-site .appointment-choice-panel .no-times-message,
body.marina-site .appointment-calendar-panel .calendar-weekday-row span {
  color: #fff !important;
}
body.marina-site .appointment-calendar-panel .calendar-month-copy span,
body.marina-site .appointment-choice-panel .choice-panel-header span,
body.marina-site .appointment-choice-panel .calendar-selected-row span,
body.marina-site .appointment-choice-panel .time-panel > span {
  color: #7cddd4 !important;
}
body.marina-site .appointment-choice-panel .calendar-selected-row,
body.marina-site .appointment-choice-panel .time-panel {
  background: rgba(1,17,23,.30) !important;
  border-color: rgba(140,231,230,.18) !important;
}
body.marina-site .appointment-calendar-panel .calendar-nav-button,
body.marina-site .appointment-calendar-panel .calendar-day-button,
body.marina-site .appointment-choice-panel .appointment-time-list .appointment-slot {
  background: rgba(87,139,139,.42) !important;
  border-color: rgba(158,237,230,.18) !important;
  color: #fff !important;
}
body.marina-site .appointment-calendar-panel .calendar-day-button.available:hover,
body.marina-site .appointment-calendar-panel .calendar-day-button.available:focus-visible,
body.marina-site .appointment-calendar-panel .calendar-nav-button:hover,
body.marina-site .appointment-calendar-panel .calendar-nav-button:focus-visible,
body.marina-site .appointment-choice-panel .appointment-time-list .appointment-slot:hover,
body.marina-site .appointment-choice-panel .appointment-time-list .appointment-slot:focus-visible {
  background: rgba(51,177,168,.72) !important;
  border-color: #79ddd5 !important;
  color: #fff !important;
}
body.marina-site .appointment-calendar-panel .calendar-day-button.disabled,
body.marina-site .appointment-calendar-panel .calendar-nav-button:disabled {
  background: rgba(255,255,255,.10) !important;
  border-color: rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.35) !important;
}
body.marina-site .appointment-calendar-panel .calendar-day-button.selected,
body.marina-site .appointment-calendar-panel .calendar-day-button.selected:hover,
body.marina-site .appointment-calendar-panel .calendar-day-button.selected:focus-visible,
body.marina-site .appointment-choice-panel .appointment-time-list .appointment-slot.active,
body.marina-site .appointment-choice-panel .appointment-time-list .appointment-slot.active:hover,
body.marina-site .appointment-choice-panel .appointment-time-list .appointment-slot.active:focus-visible {
  background: #79ddd5 !important;
  border-color: #79ddd5 !important;
  color: #05232c !important;
  box-shadow: 0 10px 22px rgba(87,222,213,.24) !important;
}

/* Marina v49: FAQ full-width alignment and row hover bands. */
body.marina-site #home-faq .faq-list {
  width: min(100% - 2 * var(--gutter), var(--max)) !important;
  max-width: none !important;
  margin: clamp(34px, 5vw, 64px) auto 0 !important;
}
body.marina-site #home-faq .faq-list details {
  margin: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  transition: background-color .22s ease !important;
}
body.marina-site #home-faq .faq-list details:hover,
body.marina-site #home-faq .faq-list details:focus-within {
  background: rgba(0, 12, 17, .46) !important;
}
body.marina-site #home-faq .faq-list details summary,
body.marina-site #home-faq .faq-list details > p {
  text-align: left !important;
}
body.marina-site #home-faq .faq-list details summary {
  padding-left: 0 !important;
  padding-right: 52px !important;
}
body.marina-site #home-faq .faq-list details > p {
  padding-right: 52px !important;
}
