/* Full-bleed editorial redesign preview
   Scoped to pages with .fb-redesign so the existing site remains untouched. */

@font-face {
  font-family: "TT Norms Pro";
  src: url("/fonts/TT_Norms_Pro_Regular.woff2") format("woff2"), url("/fonts/TT_Norms_Pro_Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "TT Norms Pro";
  src: url("/fonts/TT_Norms_Pro_Bold.woff2") format("woff2"), url("/fonts/TT_Norms_Pro_Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "TT Norms Pro";
  src: url("/fonts/TT_Norms_Pro_Black.woff2") format("woff2"), url("/fonts/TT_Norms_Pro_Black.woff") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --fb-ink: #092d36;
  --fb-deep: #062a34;
  --fb-teal: #0d7880;
  --fb-aqua: #68dbe9;
  --fb-ice: #eef9f8;
  --fb-soft: #f6fcfb;
  --fb-paper: #fffefa;
  --fb-muted: #607a7e;
  --fb-line: rgba(9, 45, 54, .14);
  --fb-shadow: 0 38px 95px rgba(6, 42, 52, .15);
  --fb-sans: "TT Norms Pro", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  --fb-serif: "TT Norms Pro", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
}

.fb-redesign {
  font-family: var(--fb-sans);
  background:
    radial-gradient(900px 540px at 84% 4%, rgba(104, 219, 233, .16), transparent 62%),
    radial-gradient(760px 520px at 4% 36%, rgba(13, 120, 128, .07), transparent 64%),
    linear-gradient(180deg, #ffffff 0%, #fbffff 36%, #f6fcfb 68%, #ffffff 100%);
  color: var(--fb-ink);
}

.fb-redesign .ef-topbar { background: var(--fb-deep); }
.fb-redesign .ef-header { box-shadow: 0 1px 0 rgba(9,45,54,.08); backdrop-filter: blur(18px); background: rgba(255,255,255,.92); }
.fb-redesign main { overflow: hidden; }
.fb-redesign img { max-width: 100%; }

.fb-shell { width: min(100% - 32px, 1280px); margin-inline: auto; }
.fb-wide { width: min(100% - 32px, 1440px); margin-inline: auto; }
.fb-kicker { color: var(--fb-teal); font-size: .74rem; font-weight: 900; letter-spacing: .2em; text-transform: uppercase; }
.fb-display { font-family: var(--fb-serif); color: var(--fb-deep); font-weight: 500; letter-spacing: -.045em; line-height: 1; }
.fb-h1 { font-size: clamp(3.15rem, 5.1vw, 4.9rem); }
.fb-h2 { font-size: clamp(2.35rem, 3.9vw, 4rem); }
.fb-h3 { font-size: clamp(1.85rem, 3vw, 3.1rem); }
.fb-copy { color: var(--fb-muted); font-size: clamp(1.05rem, 1.45vw, 1.28rem); line-height: 1.65; }
.fb-small { color: var(--fb-muted); line-height: 1.55; }
.fb-actions { display: flex; flex-wrap: wrap; gap: 1rem 1.4rem; align-items: center; margin-top: 2rem; }
.fb-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .9rem 1.35rem; border-radius: 999px; background: var(--fb-deep); color: #fbffff; font-size: .74rem; font-weight: 950; letter-spacing: .12em; text-transform: uppercase; box-shadow: 0 16px 36px rgba(6,42,52,.16); transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.fb-button:hover { transform: translateY(-2px); box-shadow: 0 22px 44px rgba(6,42,52,.2); background: #0a3440; }
.fb-redesign a.fb-button,
.fb-redesign a.fb-button:visited,
.fb-redesign a.fb-button:hover,
.fb-redesign a.fb-sharp-button,
.fb-redesign a.fb-sharp-button:visited,
.fb-redesign a.fb-sharp-button:hover {
  color: #fbffff !important;
  text-decoration: none !important;
  text-shadow: 0 1px 10px rgba(255,255,255,.18);
}
.fb-link { color: var(--fb-deep); border-bottom: 1px solid rgba(9,45,54,.22); padding-bottom: .35rem; font-size: .74rem; font-weight: 950; letter-spacing: .12em; text-transform: uppercase; }

.fb-hero { position: relative; padding: clamp(4rem, 7vw, 7.2rem) 0 clamp(3.5rem, 6vw, 6rem); }
.fb-hero::before { content: ""; position: absolute; inset: 7% auto auto -18rem; width: 44rem; height: 44rem; border: 1px solid rgba(9,45,54,.08); border-radius: 50%; pointer-events: none; }
.fb-hero-grid { display: grid; grid-template-columns: minmax(0, .86fr) minmax(420px, 1.14fr); gap: clamp(2.5rem, 6vw, 5.5rem); align-items: center; }
.fb-hero-text { position: relative; z-index: 2; }
.fb-hero .fb-copy { max-width: 38rem; margin-top: 1.4rem; }
.fb-hero-media { position: relative; min-height: clamp(32rem, 46vw, 48rem); margin-right: calc((100vw - min(100vw, 1440px)) / -2); }
.fb-ghost { position: absolute; top: -1.3rem; right: 5%; font-family: var(--fb-serif); font-size: clamp(8rem, 16vw, 16rem); letter-spacing: -.1em; color: rgba(6,42,52,.055); line-height: .8; z-index: 0; }
.fb-bleed-image { position: absolute; inset: 2rem 0 auto auto; width: min(58vw, 780px); height: clamp(31rem, 43vw, 43rem); overflow: hidden; border-radius: 36% 64% 48% 52% / 45% 36% 64% 55%; clip-path: polygon(7% 10%, 78% 0%, 100% 21%, 94% 84%, 62% 100%, 10% 91%, 0% 48%); box-shadow: var(--fb-shadow); background: #dbeeee; z-index: 2; }
.fb-bleed-image img, .fb-irregular img, .fb-image-river img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.94) contrast(1.02); }
.fb-bleed-image::after, .fb-irregular::after, .fb-image-river figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.10), transparent 36%, rgba(6,42,52,.10)); pointer-events: none; }
.fb-lens-line { position: absolute; left: -3rem; right: 6rem; top: 52%; height: 1px; background: linear-gradient(90deg, transparent, var(--fb-teal), var(--fb-aqua), transparent); box-shadow: 0 0 26px rgba(104,219,233,.35); transform: rotate(-6deg); z-index: 3; }
.fb-caption { position: absolute; left: 0; bottom: 2rem; max-width: 18rem; padding: 1rem 1.1rem; border-radius: 1.3rem; border: 1px solid rgba(9,45,54,.12); background: rgba(255,255,255,.72); backdrop-filter: blur(14px); color: var(--fb-muted); font-size: .9rem; line-height: 1.45; z-index: 4; }
.fb-caption b { display: block; color: var(--fb-teal); font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: .35rem; }

.fb-proof-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1rem, 2vw, 2rem); margin-top: clamp(2.5rem, 5vw, 4.5rem); }
.fb-proof { border-top: 1px solid var(--fb-line); padding-top: 1rem; }
.fb-proof strong { display: block; color: var(--fb-deep); font-size: 1.06rem; }
.fb-proof span { display: block; color: var(--fb-muted); font-size: .9rem; line-height: 1.4; margin-top: .35rem; }

.fb-section { position: relative; padding: clamp(4.5rem, 7vw, 7.5rem) 0; }
.fb-section-wash::before { content: ""; position: absolute; z-index: -1; left: -13vw; right: -13vw; top: 2rem; height: 76%; border-radius: 50% 50% 48% 52% / 38% 56% 44% 62%; background: radial-gradient(circle at 18% 38%, rgba(104,219,233,.19), transparent 34%), linear-gradient(115deg, rgba(244,252,251,.95), rgba(231,247,247,.72), rgba(255,255,255,.92)); transform: rotate(-2.5deg); }
.fb-split { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(2.5rem, 6vw, 5.5rem); align-items: center; }
.fb-irregular { position: relative; min-height: 36rem; overflow: hidden; border-radius: 42% 58% 45% 55% / 38% 48% 52% 62%; clip-path: polygon(0 11%, 72% 0, 100% 18%, 92% 77%, 66% 100%, 12% 94%, 0 52%); box-shadow: var(--fb-shadow); background: #dbeeee; }
.fb-list { margin-top: 2.3rem; border-top: 1px solid var(--fb-line); }
.fb-row { display: grid; grid-template-columns: 6rem 1fr auto; gap: clamp(1rem, 3vw, 2.3rem); align-items: start; padding: 1.55rem 0; border-bottom: 1px solid rgba(9,45,54,.11); }
.fb-row-number { font-family: var(--fb-serif); font-size: 2.35rem; color: rgba(6,42,52,.24); line-height: 1; }
.fb-row h3 { margin: 0 0 .35rem; color: var(--fb-deep); font-size: clamp(1.4rem, 2.5vw, 2.1rem); letter-spacing: -.04em; }
.fb-row p { margin: 0; color: var(--fb-muted); line-height: 1.55; }
.fb-row a { color: var(--fb-teal); font-size: .75rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; padding-top: .45rem; }

.fb-image-river { display: grid; grid-template-columns: .92fr .62fr .82fr; gap: clamp(1rem, 2vw, 1.7rem); align-items: end; margin-top: 3rem; }
.fb-image-river figure { position: relative; overflow: hidden; margin: 0; min-height: 24rem; box-shadow: var(--fb-shadow); background: #dbeeee; }
.fb-image-river figure:nth-child(1) { height: 38rem; border-radius: 30% 70% 36% 64% / 42% 34% 66% 58%; clip-path: polygon(0 5%, 79% 0, 100% 17%, 96% 82%, 58% 100%, 10% 93%, 0 55%); }
.fb-image-river figure:nth-child(2) { height: 26rem; border-radius: 50%; transform: translateY(-2rem); }
.fb-image-river figure:nth-child(3) { height: 32rem; border-radius: 54% 46% 62% 38% / 36% 56% 44% 64%; clip-path: polygon(5% 0, 88% 8%, 100% 48%, 82% 100%, 8% 92%, 0 35%); }

.fb-location-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.3rem, 3vw, 2.5rem); margin-top: 2.6rem; }
.fb-location-card { border-top: 1px solid var(--fb-line); padding-top: 1.2rem; }
.fb-location-card h3 { font-size: clamp(1.7rem, 3vw, 2.8rem); margin: 0 0 .4rem; }
.fb-location-card p { margin: .35rem 0; color: var(--fb-muted); }
.fb-location-card a { margin-top: 1rem; }

.fb-final { padding: clamp(4.5rem, 8vw, 8rem) 0; text-align: center; background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(238,249,248,.72)); border-top: 1px solid rgba(9,45,54,.08); }
.fb-final .fb-copy { margin-inline: auto; max-width: 42rem; }

/* Article prototype */
.fb-article-hero { padding: clamp(3.5rem, 7vw, 6.8rem) 0 3rem; position: relative; }
.fb-article-grid { display: grid; grid-template-columns: minmax(0, .72fr) minmax(360px, .9fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.fb-breadcrumb { display: flex; flex-wrap: wrap; gap: .55rem; color: var(--fb-muted); font-size: .9rem; margin-bottom: 1.2rem; }
.fb-breadcrumb a { color: var(--fb-teal); }
.fb-author-line { display: flex; align-items: center; gap: .75rem; margin-top: 1.5rem; color: var(--fb-muted); }
.fb-author-line img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.fb-article-feature { position: relative; min-height: 31rem; overflow: hidden; border-radius: 34% 66% 44% 56% / 44% 34% 66% 56%; clip-path: polygon(6% 8%, 82% 0, 100% 19%, 94% 84%, 62% 100%, 9% 91%, 0 48%); box-shadow: var(--fb-shadow); background: #dbeeee; }
.fb-article-feature img { width: 100%; height: 100%; object-fit: cover; }
.fb-article-shell { width: min(100% - 32px, 860px); margin-inline: auto; }
.fb-article-content { font-size: 1.08rem; line-height: 1.82; color: #223f46; }
.fb-article-content h2 { font-family: var(--fb-serif); color: var(--fb-deep); font-size: clamp(2rem, 4vw, 3.2rem); line-height: .98; letter-spacing: -.052em; margin-top: 3.2rem; margin-bottom: 1rem; }
.fb-article-content h3 { color: var(--fb-deep); font-size: 1.35rem; margin-top: 2.2rem; margin-bottom: .6rem; }
.fb-article-content a { color: var(--fb-teal); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.fb-article-content ul, .fb-article-content ol { padding-left: 1.3rem; }
.fb-medical-note, .fb-cta-panel { margin-top: 2rem; padding: 1.45rem; border-radius: 1.75rem; border: 1px solid rgba(9,45,54,.10); background: rgba(255,255,255,.78); box-shadow: 0 18px 50px rgba(6,42,52,.08); }
.fb-cta-panel { background: linear-gradient(135deg, #fbffff, #eef9f8); }

@media (max-width: 1024px) {
  .fb-hero-grid, .fb-split, .fb-article-grid { grid-template-columns: 1fr; }
  .fb-hero-media { min-height: 34rem; margin-right: -1rem; }
  .fb-bleed-image { width: calc(100% + 1rem); height: 32rem; }
  .fb-proof-strip, .fb-location-grid { grid-template-columns: 1fr; }
  .fb-image-river { grid-template-columns: 1fr; }
  .fb-image-river figure, .fb-image-river figure:nth-child(1), .fb-image-river figure:nth-child(2), .fb-image-river figure:nth-child(3) { height: 23rem; min-height: 23rem; transform: none; }
}

@media (max-width: 720px) {
  .fb-shell, .fb-wide { width: min(100% - 24px, 1280px); }
  .fb-hero { padding-top: 3rem; }
  .fb-h1 { font-size: clamp(2.55rem, 10vw, 3.5rem); }
  .fb-h2 { font-size: clamp(2.15rem, 8.5vw, 3rem); }
  .fb-row { grid-template-columns: 1fr; gap: .6rem; }
  .fb-row a { padding-top: 0; }
  .fb-caption { position: relative; bottom: auto; left: auto; margin-top: 1rem; }
  .fb-hero-media { min-height: 28rem; }
  .fb-bleed-image, .fb-article-feature { height: 27rem; min-height: 27rem; }
}

/* HOME FULL-BLEED-IRREGULAR SHARP ITERATION */
.fb-home.fb-irregular-sharp {
  --fb-ink: #062a34;
  --fb-deep: #031f27;
  --fb-teal: #007981;
  --fb-aqua: #70e4ee;
  --fb-muted: #48666b;
  --fb-line: rgba(3, 31, 39, .16);
  background: #fbffff;
  color: var(--fb-ink);
}
.fb-home.fb-irregular-sharp .fb-display,
.fb-home.fb-irregular-sharp .fb-ghost,
.fb-home.fb-irregular-sharp .fb-row-number,
.fb-home.fb-irregular-sharp .fb-location-card h3 {
  font-family: var(--fb-sans);
}
.fb-home.fb-irregular-sharp .fb-main { overflow: hidden; }
.fb-sharp-hero {
  position: relative;
  min-height: clamp(760px, 88vh, 940px);
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(820px 540px at 82% 11%, rgba(112, 228, 238, .22), transparent 64%),
    linear-gradient(180deg, #ffffff 0%, #fbffff 74%, #f5fbfb 100%);
}
.fb-sharp-hero::before {
  content: "";
  position: absolute;
  left: -17rem;
  top: 8rem;
  width: 50rem;
  height: 50rem;
  border-radius: 50%;
  border: 1px solid rgba(3, 31, 39, .08);
  z-index: 0;
}
.fb-sharp-photo {
  position: absolute;
  inset: 0 -4vw auto 30vw;
  height: 100%;
  overflow: hidden;
  background: #dbeeee;
  /* Smooth organic crop instead of the previous hard beveled polygon. */
  clip-path: none;
  border-radius: 0 0 0 46% / 0 0 0 64%;
  box-shadow: -42px 54px 120px rgba(3, 31, 39, .18);
  z-index: 1;
}
.fb-sharp-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 58% 48%;
  filter: saturate(.97) contrast(1.08);
  transform: scale(1.035);
}
.fb-sharp-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.70) 21%, rgba(255,255,255,.14) 48%, rgba(3,31,39,.18) 100%),
    radial-gradient(circle at 74% 44%, transparent 0 34%, rgba(3,31,39,.08) 70%);
  pointer-events: none;
}
/* The legacy editorial script adds .image-reveal to image containers; keep this hero absolute and sharp. */
.fb-home.fb-irregular-sharp .fb-sharp-photo.image-reveal { position: absolute; overflow: hidden; }
.fb-home.fb-irregular-sharp .fb-sharp-photo.image-reveal::before { display: none; }
.fb-home.fb-irregular-sharp .fb-sharp-photo.image-reveal img { transform: scale(1.035) !important; animation: none !important; }
.fb-sharp-rail {
  position: absolute;
  left: 0;
  right: -4vw;
  top: 52%;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(0,121,129,.10) 18%, rgba(0,121,129,.42) 48%, rgba(112,228,238,.42) 69%, transparent 100%);
  box-shadow: 0 0 24px rgba(112,228,238,.22);
  transform: rotate(-5.6deg);
  z-index: 3;
  opacity: .55;
}
.fb-sharp-ghost {
  position: absolute;
  right: 2vw;
  top: clamp(3rem, 8vw, 7rem);
  z-index: 2;
  font-size: clamp(9rem, 19vw, 18rem);
  line-height: .76;
  letter-spacing: -.13em;
  font-weight: 900;
  color: rgba(255,255,255,.34);
  text-transform: uppercase;
  pointer-events: none;
}
.fb-sharp-content {
  position: relative;
  z-index: 4;
  width: min(100% - 32px, 1280px);
  margin-inline: auto;
  padding-top: clamp(1.25rem, 1.8vw, 3rem);
}
.fb-sharp-copyblock {
  max-width: min(720px, 64vw);
  padding: clamp(1.4rem, 2.2vw, 2.4rem) 0;
}
.fb-sharp-title {
  margin: .45rem 0 1.35rem;
  max-width: 760px;
  font-family: var(--fb-sans);
  font-weight: 900;
  font-size: clamp(4.4rem, 9.6vw, 8.5rem);
  line-height: .76;
  letter-spacing: -.105em;
  color: var(--fb-deep);
}
.fb-sharp-title span { color: var(--fb-teal); display: block; }
.fb-sharp-lede {
  max-width: 560px;
  color: #36565c;
  font-size: clamp(1.08rem, 1.55vw, 1.34rem);
  line-height: 1.55;
  font-weight: 400;
}
.fb-sharp-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  align-items: center;
  margin-top: 1.1rem;
}
.fb-sharp-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 1rem 1.45rem;
  border-radius: 999px;
  background: var(--fb-deep);
  color: white;
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
  box-shadow: 0 18px 44px rgba(3,31,39,.18);
}
.fb-sharp-link {
  color: var(--fb-deep);
  border-bottom: 1px solid rgba(3,31,39,.28);
  padding-bottom: .42rem;
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.fb-sharp-note {
  position: absolute;
  right: min(6vw, 5rem);
  bottom: 8.5rem;
  z-index: 5;
  max-width: 310px;
  padding: 1.05rem 1.15rem;
  border-radius: 1.4rem;
  border: 1px solid rgba(255,255,255,.40);
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(16px);
  color: #36565c;
  font-size: .94rem;
  line-height: 1.45;
  box-shadow: 0 24px 60px rgba(3,31,39,.10);
}
.fb-sharp-note b {
  display: block;
  color: var(--fb-teal);
  font-size: .68rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  margin-bottom: .35rem;
}
.fb-sharp-proof {
  position: absolute;
  left: max(16px, calc((100vw - 1280px)/2));
  right: max(16px, calc((100vw - 1280px)/2));
  bottom: 3.35rem;
  z-index: 6;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 3vw, 2.5rem);
}
.fb-sharp-proof div {
  border-top: 1px solid rgba(3,31,39,.20);
  padding: 1rem 1rem .95rem;
  border-radius: 1rem;
  background: rgba(255,255,255,.68);
  backdrop-filter: blur(12px);
  box-shadow: 0 18px 48px rgba(3,31,39,.08);
}
.fb-sharp-proof b { display: block; color: var(--fb-deep); font-size: 1.04rem; }
.fb-sharp-proof span { display: block; margin-top: .35rem; color: #5c767b; font-size: .92rem; line-height: 1.38; }

.fb-sharp-section { position: relative; padding: clamp(5.5rem, 8vw, 8rem) 0; }
.fb-sharp-shell { width: min(100% - 32px, 1280px); margin-inline: auto; }
.fb-sharp-section-head { display: grid; grid-template-columns: minmax(0, .9fr) minmax(320px, .62fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: end; margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.fb-sharp-kicker { color: var(--fb-teal); font-size: .72rem; font-weight: 900; letter-spacing: .2em; text-transform: uppercase; }
.fb-sharp-h2 { margin: .4rem 0 0; max-width: 760px; font-size: clamp(3.2rem, 6.3vw, 6.4rem); line-height: .82; letter-spacing: -.09em; color: var(--fb-deep); font-weight: 900; }
.fb-sharp-body { color: var(--fb-muted); font-size: clamp(1rem, 1.35vw, 1.18rem); line-height: 1.58; }
.fb-sharp-index { border-top: 1px solid rgba(3,31,39,.16); }
.fb-sharp-row { display: grid; grid-template-columns: 7rem 1fr minmax(220px, .55fr) auto; gap: clamp(1rem, 3vw, 2.25rem); align-items: center; padding: 1.7rem 0; border-bottom: 1px solid rgba(3,31,39,.12); }
.fb-sharp-row .num { font-weight: 900; font-size: clamp(2.3rem, 4vw, 4rem); line-height: .8; letter-spacing: -.08em; color: rgba(3,31,39,.22); }
.fb-sharp-row h3 { margin: 0; font-size: clamp(1.55rem, 3vw, 3.1rem); line-height: .9; letter-spacing: -.07em; color: var(--fb-deep); font-weight: 900; }
.fb-sharp-row p { margin: 0; color: var(--fb-muted); line-height: 1.5; }
.fb-sharp-row a { color: var(--fb-teal); font-size: .72rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; white-space: nowrap; }

.fb-sharp-river { padding-top: clamp(4rem, 7vw, 7rem); }
.fb-sharp-photo-river { display: grid; grid-template-columns: .95fr .66fr .86fr; gap: clamp(1rem, 2vw, 1.8rem); align-items: end; margin-top: 2.8rem; }
.fb-sharp-photo-river figure { margin: 0; position: relative; overflow: hidden; background: #dbeeee; box-shadow: 0 38px 96px rgba(3,31,39,.14); }
.fb-home.fb-irregular-sharp .fb-sharp-photo-river .image-reveal::before { display: none; }
.fb-home.fb-irregular-sharp .fb-sharp-photo-river .image-reveal img { transform: none !important; animation: none !important; }
.fb-sharp-photo-river img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.98) contrast(1.08); }
.fb-sharp-photo-river figure:nth-child(1) { height: clamp(28rem, 42vw, 40rem); clip-path: polygon(0 6%, 80% 0, 100% 17%, 96% 82%, 58% 100%, 10% 93%, 0 55%); border-radius: 30% 70% 36% 64% / 42% 34% 66% 58%; }
.fb-sharp-photo-river figure:nth-child(2) { height: clamp(20rem, 29vw, 27rem); transform: translateY(-2.3rem); border-radius: 50%; }
.fb-sharp-photo-river figure:nth-child(3) { height: clamp(24rem, 35vw, 33rem); clip-path: polygon(5% 0, 88% 8%, 100% 48%, 82% 100%, 8% 92%, 0 35%); border-radius: 54% 46% 62% 38% / 36% 56% 44% 64%; }
.fb-sharp-photo-river figure::after { content: ""; position: absolute; inset: 25% 0 0; background: linear-gradient(180deg, transparent 0%, rgba(3,31,39,.50) 100%); pointer-events: none; }
.fb-sharp-photo-river figcaption { position: absolute; left: clamp(2rem, 4vw, 4rem); right: clamp(2rem, 4vw, 4rem); top: 62%; bottom: auto; transform: translateY(-50%); z-index: 2; color: #fff; font-size: .84rem; line-height: 1.32; text-shadow: 0 1px 16px rgba(0,0,0,.40); background: rgba(3,31,39,.58); border: 1px solid rgba(255,255,255,.22); border-radius: 1rem; padding: .85rem 1rem; backdrop-filter: blur(10px); }
.fb-sharp-photo-river figure:nth-child(1) figcaption { left: clamp(3.4rem, 5vw, 5rem); right: clamp(2rem, 4vw, 3.6rem); top: 66%; }
.fb-sharp-photo-river figure:nth-child(2) figcaption { left: clamp(2.8rem, 4vw, 3.7rem); right: clamp(2.8rem, 4vw, 3.7rem); top: 63%; }
.fb-sharp-photo-river figure:nth-child(3) figcaption { left: clamp(2.5rem, 4vw, 3.8rem); right: clamp(3.4rem, 5vw, 5rem); top: 62%; }
.fb-sharp-photo-river b { display: block; color: var(--fb-aqua); font-size: .66rem; letter-spacing: .15em; text-transform: uppercase; margin-bottom: .3rem; }

.fb-sharp-locations { background: linear-gradient(115deg, #fbffff, #f0fbfa 52%, #ffffff); }
.fb-sharp-location-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 3vw, 2.6rem); margin-top: 2.5rem; }
.fb-sharp-location { border-top: 1px solid rgba(3,31,39,.16); padding-top: 1.2rem; }
.fb-sharp-location h3 { margin: 0 0 .6rem; font-size: clamp(2.1rem, 4vw, 4rem); line-height: .86; letter-spacing: -.08em; font-weight: 900; color: var(--fb-deep); }
.fb-sharp-location p { margin: .4rem 0; color: var(--fb-muted); }
.fb-sharp-location a { display: inline-flex; margin-top: 1rem; }

@media (max-width: 1024px) {
  .fb-sharp-hero { min-height: auto; padding-bottom: 3rem; }
  .fb-sharp-photo { position: relative; inset: auto; height: 28rem; width: calc(100% - 16px); margin: 2rem 0 0 16px; }
  .fb-sharp-content { padding-top: 3.5rem; }
  .fb-sharp-copyblock { max-width: 100%; }
  .fb-sharp-note { position: relative; right: auto; bottom: auto; width: min(100% - 32px, 520px); margin: 1rem auto 0; }
  .fb-sharp-proof { position: relative; left: auto; right: auto; bottom: auto; width: min(100% - 32px, 1280px); margin: 2rem auto 0; grid-template-columns: 1fr; }
  .fb-sharp-section-head, .fb-sharp-location-grid { grid-template-columns: 1fr; }
  .fb-sharp-row { grid-template-columns: 1fr; align-items: start; }
  .fb-sharp-photo-river { grid-template-columns: 1fr; }
  .fb-sharp-photo-river figure, .fb-sharp-photo-river figure:nth-child(1), .fb-sharp-photo-river figure:nth-child(2), .fb-sharp-photo-river figure:nth-child(3) { height: 25rem; transform: none; }
}
@media (max-width: 720px) {
  .fb-sharp-doctor-note { display: none; }
  .fb-sharp-content { padding-top: clamp(1rem, 5vw, 2.2rem); }
  .fb-sharp-copyblock {
    position: relative;
    isolation: isolate;
    max-width: calc(100% - .75rem);
    padding: 1.05rem 1rem 1.2rem;
  }
  .fb-sharp-copyblock::before {
    content: "";
    position: absolute;
    inset: .15rem -.15rem .25rem -.15rem;
    z-index: -1;
    border: 1px solid rgba(255,255,255,.68);
    border-radius: 30px 24px 44px 28px / 32px 40px 34px 44px;
    background: linear-gradient(125deg, rgba(255,255,255,.88), rgba(255,255,255,.66) 58%, rgba(248,253,253,.54));
    box-shadow: 0 26px 70px rgba(3,31,39,.13);
    backdrop-filter: blur(14px);
  }
  .fb-sharp-title {
    font-size: clamp(3.65rem, 17vw, 5rem);
    text-shadow: 0 1px 0 rgba(255,255,255,.80), 0 12px 34px rgba(255,255,255,.78);
  }
  .fb-sharp-title span { text-shadow: 0 1px 0 rgba(255,255,255,.82), 0 12px 34px rgba(255,255,255,.76); }
  .fb-sharp-lede { color: #25494f; }
  .fb-sharp-h2 { font-size: clamp(3rem, 14vw, 4.4rem); }
  .fb-sharp-photo { height: 24rem; }
  .fb-sharp-actions { align-items: flex-start; flex-direction: column; }
}

/* HOME ARCHITECTURE-PRESERVING ITERATION
   Keeps the current homepage sections, items, and links while using the approved full-bleed editorial visual system. */
.fb-sharp-home-hero {
  min-height: clamp(850px, 96vh, 1040px);
}
.fb-sharp-home-hero .fb-sharp-copyblock {
  max-width: min(980px, 68vw);
}
.fb-home .fb-sharp-copyblock .reveal {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}
.fb-sharp-home-hero .fb-sharp-title {
  max-width: 980px;
  font-size: clamp(3.45rem, 6.8vw, 6.35rem);
  line-height: .86;
  letter-spacing: -.095em;
}
.fb-sharp-home-hero .fb-sharp-lede { max-width: 650px; }
.fb-sharp-meta-list {
  display: grid;
  gap: .65rem;
  max-width: 620px;
  margin: 1.35rem 0 0;
  padding: 0;
  list-style: none;
  color: #2f555c;
  font-size: .98rem;
  line-height: 1.42;
}
.fb-sharp-meta-list li {
  position: relative;
  padding-left: 1.7rem;
}
.fb-sharp-meta-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .37rem;
  width: .72rem;
  height: .72rem;
  border-radius: 999px;
  background: radial-gradient(circle at 35% 35%, var(--fb-aqua), var(--fb-teal));
  box-shadow: 0 0 0 6px rgba(112,228,238,.14);
}
.fb-sharp-hero-actions { margin-top: 1.55rem; }
.fb-sharp-doctor-note span {
  display: block;
  color: var(--fb-deep);
  font-size: 1.26rem;
  font-weight: 900;
  letter-spacing: -.04em;
}
.fb-sharp-doctor-note small {
  display: block;
  margin-top: .25rem;
  color: var(--fb-muted);
}
.fb-sharp-trustbar { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fb-sharp-trustbar a { display: block; color: inherit; }
.fb-sharp-trustbar div { min-height: 104px; }
.fb-sharp-trustbar b { font-size: 1.1rem; }

.fb-sharp-centered-head { align-items: end; }
.fb-sharp-h3 {
  margin: .4rem 0 0;
  color: var(--fb-deep);
  font-size: clamp(2.4rem, 5vw, 5rem);
  line-height: .86;
  letter-spacing: -.08em;
  font-weight: 900;
}
.fb-sharp-body-large { margin-top: 1.1rem; max-width: 680px; }
.fb-sharp-center-actions { justify-content: center; text-align: center; }

.fb-sharp-service-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid rgba(3,31,39,.16);
  border-bottom: 1px solid rgba(3,31,39,.12);
}
.fb-sharp-service-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 25.5rem;
  padding: clamp(1.35rem, 2vw, 2rem);
  border-right: 1px solid rgba(3,31,39,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.70), rgba(246,252,251,.56));
}
.fb-sharp-service-card:last-child { border-right: 0; }
.fb-sharp-service-card::after {
  content: "";
  position: absolute;
  left: 1.35rem;
  right: 1.35rem;
  bottom: 1.15rem;
  height: 1px;
  background: linear-gradient(90deg, rgba(0,121,129,.52), transparent);
  opacity: .55;
}
.fb-sharp-card-num {
  color: rgba(3,31,39,.22);
  font-size: clamp(2.2rem, 4vw, 4.6rem);
  line-height: .8;
  font-weight: 900;
  letter-spacing: -.09em;
}
.fb-sharp-service-card h3 {
  margin: 1.25rem 0 .8rem;
  color: var(--fb-deep);
  font-size: clamp(1.45rem, 2.2vw, 2.45rem);
  line-height: .9;
  letter-spacing: -.07em;
  font-weight: 900;
}
.fb-sharp-service-card p {
  color: var(--fb-muted);
  line-height: 1.52;
  font-size: .96rem;
}
.fb-sharp-service-card a,
.fb-sharp-resource-actions a,
.fb-sharp-resource-grid a {
  color: var(--fb-teal);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.fb-sharp-service-card a { margin-top: auto; padding-top: 1rem; }

.fb-sharp-split {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1fr);
  gap: clamp(2.4rem, 6vw, 5.5rem);
  align-items: center;
}
.fb-sharp-media {
  position: relative;
  overflow: hidden;
  min-height: clamp(26rem, 42vw, 39rem);
  border-radius: 34% 66% 44% 56% / 44% 34% 66% 56%;
  clip-path: polygon(5% 6%, 82% 0, 100% 19%, 94% 84%, 62% 100%, 9% 91%, 0 48%);
  background: #dbeeee;
  box-shadow: 0 38px 96px rgba(3,31,39,.14);
}
.fb-sharp-media > picture,
.fb-sharp-media > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.fb-sharp-media > picture > img,
.fb-sharp-media > img {
  display: block;
  width: 100%;
  height: 100%;
}
.fb-sharp-media img { object-fit: cover; filter: saturate(.98) contrast(1.06); }
.fb-sharp-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255,255,255,.06), transparent 42%, rgba(3,31,39,.10));
  pointer-events: none;
}
.fb-sharp-mini-list {
  display: grid;
  gap: .85rem;
  margin-top: 2rem;
  border-top: 1px solid rgba(3,31,39,.14);
}
.fb-sharp-mini-list div {
  padding: 1rem 0 1rem 3.2rem;
  border-bottom: 1px solid rgba(3,31,39,.10);
  position: relative;
}
.fb-sharp-mini-list div::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.05rem;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(112,228,238,.36), rgba(0,121,129,.18));
  box-shadow: inset 0 0 0 1px rgba(0,121,129,.18);
}
.fb-sharp-mini-list b { display: block; color: var(--fb-deep); font-size: 1.08rem; }
.fb-sharp-mini-list span { display: block; margin-top: .2rem; color: var(--fb-muted); }

.fb-sharp-difference {
  background:
    radial-gradient(680px 420px at 88% 18%, rgba(112,228,238,.20), transparent 62%),
    linear-gradient(135deg, #041f27, #07323d 55%, #031a21);
  color: #fff;
}
.fb-sharp-difference .fb-sharp-h2 { color: #fff; }
.fb-sharp-difference .fb-sharp-kicker { color: var(--fb-aqua); }
.fb-sharp-difference-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid rgba(255,255,255,.18);
}
.fb-sharp-difference-grid div {
  padding: clamp(1.4rem, 2.5vw, 2.2rem) clamp(1rem, 2vw, 1.7rem);
  border-right: 1px solid rgba(255,255,255,.14);
  min-height: 12.5rem;
}
.fb-sharp-difference-grid div:last-child { border-right: 0; }
.fb-sharp-difference-grid span {
  display: block;
  color: #fff;
  font-size: clamp(1.55rem, 3vw, 3.3rem);
  line-height: .9;
  letter-spacing: -.07em;
  font-weight: 900;
}
.fb-sharp-difference-grid p { margin-top: 1rem; color: rgba(255,255,255,.72); line-height: 1.45; }

.fb-sharp-location-map-grid { align-items: stretch; }
.fb-sharp-location-card {
  overflow: hidden;
  padding-top: 0;
  border: 1px solid rgba(3,31,39,.10);
  border-top: 1px solid rgba(3,31,39,.10);
  border-radius: 2rem;
  background: rgba(255,255,255,.80);
  box-shadow: 0 30px 78px rgba(3,31,39,.10);
}
.fb-sharp-map {
  aspect-ratio: 16 / 9;
  background: #dbeeee;
  border-bottom: 1px solid rgba(3,31,39,.10);
}
.fb-sharp-map iframe { display: block; width: 100%; height: 100%; border: 0; filter: saturate(.80) contrast(.96); }
.fb-sharp-location-content { padding: clamp(1.35rem, 2.6vw, 2.4rem); }
.fb-sharp-location-card .fb-sharp-button { margin-top: 1.25rem; }
.fb-sharp-location-card a:not(.fb-sharp-button) { color: var(--fb-teal); font-weight: 800; }

.fb-sharp-testimonial-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2.2vw, 1.8rem);
}
.fb-sharp-testimonial-card {
  position: relative;
  padding: clamp(1.35rem, 2.2vw, 2rem);
  border: 1px solid rgba(3,31,39,.10);
  border-radius: 2rem 2rem 2rem .8rem;
  background: rgba(255,255,255,.76);
  box-shadow: 0 22px 64px rgba(3,31,39,.08);
}
.fb-sharp-testimonial-card::before {
  content: "“";
  position: absolute;
  right: 1.2rem;
  top: .2rem;
  color: rgba(0,121,129,.12);
  font-size: 8rem;
  line-height: 1;
  font-weight: 900;
}
.fb-sharp-stars { color: #d6a23a; letter-spacing: .08em; font-size: .9rem; }
.fb-sharp-testimonial-card p { position: relative; margin: 1rem 0 1.4rem; color: var(--fb-muted); line-height: 1.58; }
.fb-sharp-testimonial-card b { display: block; color: var(--fb-deep); }
.fb-sharp-testimonial-card span { color: var(--fb-muted); font-size: .86rem; }

.fb-sharp-guide { background: linear-gradient(180deg, #fff, #f5fbfb 54%, #fff); }
.fb-sharp-guide-top { align-items: start; }
.fb-sharp-detail-panel,
.fb-sharp-resource-panel {
  margin-top: 2rem;
  padding: clamp(1.4rem, 2.6vw, 2.35rem);
  border: 1px solid rgba(3,31,39,.10);
  border-radius: 2rem;
  background: rgba(255,255,255,.78);
  box-shadow: 0 26px 70px rgba(3,31,39,.08);
}
.fb-sharp-detail-panel h3,
.fb-sharp-resource-panel h3 {
  margin: 0 0 1rem;
  color: var(--fb-deep);
  font-size: clamp(1.45rem, 2.4vw, 2.35rem);
  line-height: .95;
  letter-spacing: -.06em;
  font-weight: 900;
}
.fb-sharp-detail-panel ul { display: grid; gap: .75rem; margin: 0; padding-left: 1.15rem; color: var(--fb-muted); }
.fb-sharp-guide-image { min-height: clamp(27rem, 42vw, 43rem); }
.fb-sharp-caption-text { margin-top: 1rem; color: var(--fb-muted); font-size: .92rem; line-height: 1.5; }
.fb-sharp-faq-block { margin-top: clamp(4rem, 7vw, 6rem); }
.fb-sharp-faq-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.fb-sharp-faq-grid article {
  padding: 1.3rem 1.4rem;
  border-top: 1px solid rgba(3,31,39,.16);
  background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.38));
}
.fb-sharp-faq-grid h4 { margin: 0 0 .55rem; color: var(--fb-deep); font-size: 1.05rem; }
.fb-sharp-faq-grid p { margin: 0; color: var(--fb-muted); line-height: 1.5; font-size: .94rem; }
.fb-sharp-resource-panel { margin-top: clamp(3rem, 5vw, 4.5rem); }
.fb-sharp-resource-panel > p { color: var(--fb-muted); margin-bottom: 1.4rem; }
.fb-sharp-resource-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .9rem 1.35rem;
  margin-bottom: 1.5rem;
}
.fb-sharp-resource-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.fb-sharp-resource-grid a {
  display: grid;
  gap: .45rem;
  min-height: 9.25rem;
  padding: 1.1rem;
  border: 1px solid rgba(3,31,39,.09);
  border-radius: 1.25rem;
  background: rgba(246,252,251,.78);
  letter-spacing: normal;
  text-transform: none;
}
.fb-sharp-resource-grid b { color: var(--fb-deep); font-size: 1rem; line-height: 1.15; }
.fb-sharp-resource-grid span { color: var(--fb-muted); font-size: .88rem; line-height: 1.42; }

.fb-sharp-final-cta {
  text-align: center;
  color: #fff;
  background:
    radial-gradient(720px 420px at 12% 10%, rgba(112,228,238,.18), transparent 60%),
    linear-gradient(135deg, #052732, #0a3d49 58%, #041c24);
}
.fb-sharp-final-cta .fb-sharp-kicker { color: var(--fb-aqua); }
.fb-sharp-final-cta .fb-sharp-h2 { color: #fff; max-width: 980px; margin-inline: auto; }
.fb-sharp-final-cta p { max-width: 620px; margin: 1.2rem auto 0; color: rgba(255,255,255,.76); font-size: 1.08rem; line-height: 1.58; }
.fb-sharp-final-cta .fb-sharp-button,
.fb-redesign .fb-sharp-final-cta a.fb-sharp-button,
.fb-redesign .fb-sharp-final-cta a.fb-sharp-button:visited,
.fb-redesign .fb-sharp-final-cta a.fb-sharp-button:hover {
  background: #fff;
  color: var(--fb-deep) !important;
  text-shadow: none;
}
.fb-sharp-final-cta .fb-sharp-link { color: #fff; border-color: rgba(255,255,255,.42); }

@media (max-width: 1180px) {
  .fb-sharp-service-grid,
  .fb-sharp-difference-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fb-sharp-service-card:nth-child(2),
  .fb-sharp-difference-grid div:nth-child(2) { border-right: 0; }
  .fb-sharp-service-card:nth-child(-n+2),
  .fb-sharp-difference-grid div:nth-child(-n+2) { border-bottom: 1px solid rgba(3,31,39,.10); }
  .fb-sharp-difference-grid div:nth-child(-n+2) { border-bottom-color: rgba(255,255,255,.14); }
  .fb-sharp-trustbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
  .fb-sharp-home-hero { padding-bottom: 3.5rem; }
  .fb-sharp-home-hero .fb-sharp-copyblock { max-width: 100%; }
  .fb-sharp-trustbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fb-sharp-split,
  .fb-sharp-guide-top { grid-template-columns: 1fr; }
  .fb-sharp-media { min-height: 29rem; }
  .fb-sharp-testimonial-grid,
  .fb-sharp-resource-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .fb-sharp-home-hero .fb-sharp-title { font-size: clamp(2.85rem, 12.5vw, 3.85rem); line-height: .88; }
  .fb-sharp-meta-list { font-size: .92rem; }
  .fb-sharp-trustbar,
  .fb-sharp-service-grid,
  .fb-sharp-difference-grid,
  .fb-sharp-faq-grid { grid-template-columns: 1fr; }
  .fb-sharp-service-card,
  .fb-sharp-service-card:nth-child(-n+2) { border-right: 0; border-bottom: 1px solid rgba(3,31,39,.10); min-height: auto; }
  .fb-sharp-difference-grid div,
  .fb-sharp-difference-grid div:nth-child(-n+2) { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); min-height: auto; }
  .fb-sharp-media { min-height: 23rem; border-radius: 30px; clip-path: none; }
  .fb-sharp-location-card { border-radius: 1.35rem; }
  .fb-sharp-map { aspect-ratio: 4 / 3; }
  .fb-sharp-resource-actions { flex-direction: column; }
  .fb-sharp-final-cta .fb-sharp-h2 { font-size: clamp(2.65rem, 13vw, 4rem); }
}


/* SERVICE HUB / PILLAR PAGE TEMPLATE */
.fb-pillar {
  background: #fbffff;
}
.fb-pillar-shell {
  width: min(100% - 32px, 1280px);
  margin-inline: auto;
}
.fb-pillar .fb-h1 span,
.fb-pillar .fb-h2 span {
  color: var(--fb-teal);
}
.fb-pillar-hero {
  position: relative;
  isolation: isolate;
  padding: clamp(4.25rem, 7vw, 7rem) 0 clamp(4rem, 7vw, 7.4rem);
  overflow: hidden;
  background:
    radial-gradient(780px 520px at 84% 4%, rgba(104, 219, 233, .20), transparent 64%),
    linear-gradient(180deg, #ffffff 0%, #fbffff 74%, #f5fbfb 100%);
}
.fb-pillar-hero::before {
  content: "";
  position: absolute;
  left: -18rem;
  top: 7rem;
  width: 48rem;
  height: 48rem;
  border: 1px solid rgba(3,31,39,.08);
  border-radius: 50%;
  z-index: -1;
}
.fb-pillar-hero-glow {
  position: absolute;
  right: -14rem;
  top: 6rem;
  width: 42rem;
  height: 42rem;
  border-radius: 42% 58% 60% 40% / 44% 38% 62% 56%;
  background: rgba(104, 219, 233, .13);
  filter: blur(2px);
  z-index: -1;
}
.fb-pillar-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.05fr);
  align-items: center;
  gap: clamp(2.5rem, 6vw, 5rem);
}
.fb-pillar-copy .fb-copy {
  max-width: 44rem;
  margin-top: 1.25rem;
}
.fb-pillar-proof {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: clamp(2rem, 4vw, 3.2rem);
  border-top: 1px solid var(--fb-line);
  padding-top: 1.2rem;
}
.fb-pillar-proof div {
  border-left: 1px solid rgba(9,45,54,.12);
  padding-left: 1rem;
}
.fb-pillar-proof strong,
.fb-pillar-proof span {
  display: block;
}
.fb-pillar-proof strong {
  color: var(--fb-deep);
  font-size: .98rem;
}
.fb-pillar-proof span {
  color: var(--fb-muted);
  font-size: .88rem;
  line-height: 1.45;
  margin-top: .35rem;
}
.fb-pillar-hero-media {
  position: relative;
  min-height: clamp(29rem, 44vw, 42rem);
  overflow: hidden;
  border-radius: 36% 64% 52% 48% / 45% 38% 62% 55%;
  box-shadow: var(--fb-shadow);
  background: #dbeeee;
}
.fb-pillar-hero-media img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  object-position: 56% 50%;
  filter: saturate(.94) contrast(1.05);
}
.fb-pillar-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.18), transparent 38%, rgba(3,31,39,.14)),
    radial-gradient(circle at 62% 44%, transparent 0 36%, rgba(104,219,233,.10) 72%);
  pointer-events: none;
}
.fb-pillar-hero-media.image-reveal {
  position: relative;
  overflow: hidden;
}
.fb-pillar-hero-media.image-reveal::before {
  display: none;
}
.fb-pillar-lens-line {
  position: absolute;
  left: -3rem;
  right: -3rem;
  top: 54%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(13,120,128,.38), rgba(104,219,233,.58), transparent);
  transform: rotate(-6deg);
  box-shadow: 0 0 28px rgba(104,219,233,.35);
  z-index: 2;
}
.fb-pillar-caption {
  position: absolute;
  right: 1.15rem;
  bottom: 1.15rem;
  max-width: 18.5rem;
  margin: 0;
  padding: .92rem 1rem;
  border: 1px solid rgba(9,45,54,.12);
  border-radius: 1.35rem;
  background: rgba(255,255,255,.74);
  backdrop-filter: blur(14px);
  color: var(--fb-muted);
  font-size: .88rem;
  line-height: 1.45;
  z-index: 3;
}
.fb-pillar-caption b {
  display: block;
  color: var(--fb-teal);
  font-size: .7rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: .35rem;
}
.fb-pillar-section {
  position: relative;
  padding: clamp(4.5rem, 7.2vw, 7.6rem) 0;
}
.fb-pillar-section-head {
  max-width: 800px;
  margin-bottom: clamp(2rem, 5vw, 4rem);
}
.fb-pillar-section-head .fb-copy {
  margin-top: 1rem;
}
.fb-pillar-section-head-split {
  max-width: none;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(320px, .7fr);
  align-items: end;
  gap: 2rem;
}
.fb-pillar-index {
  border-top: 1px solid var(--fb-line);
}
.fb-pillar-row {
  display: grid;
  grid-template-columns: 5.6rem minmax(0, 1fr) minmax(180px, auto);
  gap: clamp(1rem, 3vw, 2.5rem);
  padding: clamp(1.5rem, 3vw, 2.15rem) 0;
  border-bottom: 1px solid rgba(9,45,54,.11);
}
.fb-pillar-row h3,
.fb-pillar-feature-card h3,
.fb-pillar-condition-list h3,
.fb-pillar-callout h3,
.fb-pillar-visit-card h3,
.fb-pillar-faq-grid h3,
.fb-pillar-related h3,
.fb-pillar .fb-location-card h3 {
  margin: 0;
  color: var(--fb-deep);
  font-family: var(--fb-sans);
  letter-spacing: -.04em;
}
.fb-pillar-row h3 {
  font-size: clamp(1.55rem, 2.8vw, 2.55rem);
  line-height: 1.02;
}
.fb-pillar-row p,
.fb-pillar-feature-card p,
.fb-pillar-condition-list p,
.fb-pillar-callout p,
.fb-pillar-visit-card li,
.fb-pillar-faq-grid p,
.fb-pillar-related p,
.fb-pillar .fb-location-card p,
.fb-pillar .fb-location-card address {
  color: var(--fb-muted);
  line-height: 1.58;
}
.fb-pillar-row p {
  margin: .55rem 0 0;
}
.fb-pillar-row ul,
.fb-pillar-feature-card ul,
.fb-pillar-visit-card ul {
  margin: 1.1rem 0 0;
  padding-left: 1.1rem;
  color: #31565d;
  line-height: 1.55;
}
.fb-pillar-row a,
.fb-pillar-condition-list a,
.fb-pillar-related a {
  color: var(--fb-teal);
  font-size: .74rem;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding-top: .35rem;
}
.fb-pillar-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2.2vw, 2rem);
}
.fb-pillar-feature-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: clamp(1.4rem, 2.4vw, 2rem);
  border: 1px solid rgba(9,45,54,.11);
  border-radius: 2rem;
  background: linear-gradient(155deg, rgba(255,255,255,.92), rgba(238,249,248,.78));
  box-shadow: 0 24px 60px rgba(6,42,52,.08);
}
.fb-pillar-feature-card::before {
  content: "";
  width: 3.2rem;
  height: 1px;
  margin-bottom: 1.5rem;
  background: linear-gradient(90deg, var(--fb-teal), var(--fb-aqua));
}
.fb-pillar-feature-card h3 {
  font-size: clamp(1.7rem, 3vw, 2.55rem);
  line-height: 1;
}
.fb-pillar-feature-card p {
  margin: 1rem 0 0;
}
.fb-pillar-feature-card .fb-button,
.fb-pillar-feature-card .fb-link {
  margin-top: auto;
  align-self: flex-start;
}
.fb-pillar-feature-card-light {
  background: rgba(255,255,255,.86);
}
.fb-pillar-badge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  color: var(--fb-teal);
  font-size: .66rem;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.fb-pillar-conditions {
  background:
    linear-gradient(90deg, rgba(238,249,248,.74), rgba(255,255,255,.86)),
    radial-gradient(700px 420px at 90% 20%, rgba(104,219,233,.18), transparent 62%);
}
.fb-pillar-split,
.fb-pillar-insurance,
.fb-pillar-guide {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(360px, 1fr);
  gap: clamp(2rem, 5vw, 4.8rem);
  align-items: start;
}
.fb-pillar-condition-list {
  border-top: 1px solid var(--fb-line);
}
.fb-pillar-condition-list article {
  display: grid;
  grid-template-columns: minmax(0, .48fr) minmax(0, .9fr) auto;
  gap: 1.2rem;
  padding: 1.25rem 0;
  border-bottom: 1px solid rgba(9,45,54,.11);
}
.fb-pillar-condition-list h3 {
  font-size: 1.25rem;
}
.fb-pillar-condition-list p {
  margin: 0;
  font-size: .95rem;
}
.fb-pillar-plan-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  margin: 1.7rem 0 1.8rem;
}
.fb-pillar-plan-list span {
  padding: .85rem 1rem;
  border-top: 1px solid rgba(9,45,54,.12);
  color: #31565d;
  background: rgba(255,255,255,.62);
}
.fb-pillar-callout,
.fb-pillar-visit-card,
.fb-pillar-related {
  border: 1px solid rgba(9,45,54,.11);
  border-radius: 2rem;
  background: rgba(255,255,255,.78);
  box-shadow: 0 24px 60px rgba(6,42,52,.08);
}
.fb-pillar-callout,
.fb-pillar-visit-card {
  padding: clamp(1.4rem, 2.6vw, 2.2rem);
}
.fb-pillar-callout h3,
.fb-pillar-visit-card h3,
.fb-pillar-faq-grid h3,
.fb-pillar-related h3 {
  font-size: clamp(1.55rem, 2.5vw, 2.25rem);
}
.fb-pillar-phone-list {
  display: grid;
  gap: .9rem;
  margin-top: 1.4rem;
}
.fb-pillar-phone-list div {
  padding-top: .95rem;
  border-top: 1px solid rgba(9,45,54,.12);
}
.fb-pillar-phone-list span {
  display: block;
  color: var(--fb-muted);
  font-size: .82rem;
}
.fb-pillar-phone-list a {
  color: var(--fb-deep);
  font-weight: 900;
}
.fb-pillar-guide .fb-copy + .fb-copy {
  margin-top: 1rem;
}
.fb-pillar-visit-card ul {
  padding-left: 1.2rem;
}
.fb-pillar-visit-card li + li {
  margin-top: .8rem;
}
.fb-pillar-faq-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
  margin-top: clamp(2.5rem, 5vw, 4rem);
}
.fb-pillar-faq-grid > div,
.fb-pillar-faq-grid article {
  border-top: 1px solid var(--fb-line);
  padding-top: 1rem;
}
.fb-pillar-faq-grid h3 {
  font-size: 1.2rem;
  line-height: 1.08;
}
.fb-pillar-faq-grid p {
  font-size: .92rem;
  margin: .7rem 0 0;
}
.fb-pillar-related {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  margin-top: 1.4rem;
  padding: clamp(1.25rem, 2.5vw, 2rem);
}
.fb-pillar-related div:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  justify-content: flex-end;
}
.fb-preserved-embed-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 2.5vw, 1.6rem);
  align-items: start;
}
.fb-preserved-embed-grid .fb-preserved-form {
  grid-column: 1 / -1;
}
.fb-preserved-map iframe,
.fb-preserved-form iframe {
  width: 100%;
  min-height: 320px;
  border-radius: 1.3rem;
}
.fb-preserved-form input,
.fb-preserved-form textarea,
.fb-preserved-form select {
  max-width: 100%;
}
.fb-map-card h3 {
  color: var(--fb-deep);
  font-family: var(--fb-sans);
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  letter-spacing: -.04em;
  margin: .25rem 0 .65rem;
}
.fb-map-card p {
  color: var(--fb-muted);
  line-height: 1.55;
  margin: 0;
}
.fb-map-card .fb-map-note {
  margin-top: .95rem;
  padding-top: .95rem;
  border-top: 1px solid rgba(9,45,54,.12);
}
.fb-pillar-final {
  position: relative;
  padding: clamp(4.5rem, 8vw, 8rem) 0;
  background:
    radial-gradient(780px 480px at 12% 2%, rgba(104,219,233,.18), transparent 64%),
    linear-gradient(180deg, rgba(255,255,255,.74), rgba(238,249,248,.86));
  border-top: 1px solid rgba(9,45,54,.08);
}
.fb-pillar-final-head {
  text-align: center;
  max-width: 820px;
  margin-inline: auto;
  margin-bottom: clamp(2rem, 5vw, 4rem);
}
.fb-pillar-final-head .fb-copy {
  margin-inline: auto;
}
.fb-pillar .fb-location-card {
  border-top: 1px solid var(--fb-line);
  padding-top: 1.2rem;
}
.fb-pillar .fb-location-card address {
  font-style: normal;
  margin: .8rem 0;
}
.fb-pillar-reviewed {
  width: min(100% - 32px, 1280px);
  margin: 0 auto 2.5rem;
  color: var(--fb-muted);
  font-size: .84rem;
}

/* Service hub tuned to the approved full-bleed irregular sample. */
.fb-service-hub .fb-pillar-hero {
  min-height: clamp(760px, 78vh, 900px);
  padding: clamp(4.8rem, 7vw, 6.4rem) 0 clamp(4.8rem, 7vw, 6.5rem);
  background:
    radial-gradient(860px 560px at 80% 10%, rgba(104, 219, 233, .25), transparent 64%),
    linear-gradient(180deg, #fbffff 0%, #f5fbfb 76%, #ffffff 100%);
}
.fb-service-hub .fb-pillar-hero::before {
  left: -18rem;
  top: 17rem;
  width: 58rem;
  height: 58rem;
}
.fb-service-hub .fb-pillar-ghost {
  position: absolute;
  right: 2vw;
  top: clamp(3rem, 7vw, 5rem);
  z-index: -1;
  color: rgba(6,42,52,.045);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(9rem, 18vw, 17rem);
  font-weight: 700;
  letter-spacing: -.12em;
  line-height: .75;
  pointer-events: none;
}
.fb-service-hub .fb-pillar-hero-grid {
  position: relative;
  width: min(100% - 32px, 1360px);
  grid-template-columns: minmax(0, .78fr) minmax(560px, 1.22fr);
  gap: clamp(2rem, 4.5vw, 4rem);
}
.fb-service-hub .fb-display {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: -.05em;
  line-height: .98;
  color: var(--fb-deep);
}
.fb-service-hub .fb-h1 {
  font-size: clamp(3.25rem, 4.7vw, 4.85rem);
}
.fb-service-hub .fb-h2 {
  font-size: clamp(2.45rem, 3.7vw, 3.85rem);
}
.fb-service-hub .fb-pillar-copy .fb-copy {
  max-width: 40rem;
  font-size: clamp(1.15rem, 1.45vw, 1.38rem);
}
.fb-service-hub .fb-pillar-hero-media {
  min-height: clamp(35rem, 43vw, 42rem);
  margin-right: calc((100vw - min(100vw, 1360px)) / -2);
  border-radius: 36% 64% 48% 52% / 45% 36% 64% 55%;
  clip-path: polygon(7% 10%, 78% 0%, 100% 21%, 94% 84%, 62% 100%, 10% 91%, 0% 48%);
  box-shadow: 0 44px 110px rgba(6,42,52,.15);
}
.fb-service-hub .fb-pillar-hero-media img {
  object-position: 58% 48%;
  filter: saturate(.98) contrast(1.04);
  transform: scale(1.02);
}
.fb-service-hub .fb-pillar-caption {
  left: min(51vw, 47rem);
  right: auto;
  bottom: 1.55rem;
  max-width: 17rem;
  background: rgba(255,255,250,.82);
  z-index: 5;
}
.fb-service-hub .fb-pillar-proof {
  border-top-color: rgba(9,45,54,.18);
}
.fb-service-hub .fb-pillar-proof div {
  border-left: 0;
  border-top: 0;
  padding-left: 0;
}
.fb-pillar-bleed-photo {
  position: relative;
  height: clamp(28rem, 38vw, 34rem);
  margin: clamp(1.5rem, 3vw, 2.5rem) 0 clamp(2.5rem, 5vw, 4.5rem);
  overflow: hidden;
  background: #dceeee;
  clip-path: polygon(0 9%, 13% 0, 36% 5%, 62% 0, 83% 6%, 100% 1%, 100% 91%, 86% 100%, 58% 94%, 31% 100%, 9% 92%, 0 98%);
}
.fb-pillar-bleed-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 44%;
  filter: saturate(.96) contrast(1.02);
}
.fb-pillar-bleed-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(3,31,39,.68), rgba(3,31,39,.32) 42%, rgba(3,31,39,.08));
}
.fb-pillar-bleed-copy {
  position: absolute;
  left: max(5.2vw, 4.5rem);
  bottom: clamp(3.2rem, 6vw, 5.3rem);
  z-index: 2;
  max-width: 33rem;
  color: #fff;
}
.fb-pillar-bleed-copy .fb-kicker { color: var(--fb-aqua); }
.fb-pillar-bleed-copy h2 {
  margin: .55rem 0 1rem;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.7rem, 4.5vw, 4.5rem);
  font-weight: 500;
  line-height: .9;
  letter-spacing: -.065em;
}
.fb-pillar-bleed-copy p:last-child {
  margin: 0;
  color: rgba(255,255,255,.82);
  font-size: 1.05rem;
  line-height: 1.55;
}
.fb-service-hub .fb-pillar-card-grid {
  counter-reset: specialty;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  border-top: 1px solid var(--fb-line);
}
.fb-service-hub .fb-pillar-feature-card,
.fb-service-hub .fb-pillar-feature-card-light {
  display: grid;
  grid-template-columns: 5.4rem minmax(190px, .58fr) minmax(0, 1fr) auto;
  gap: clamp(1rem, 3vw, 2.2rem);
  align-items: center;
  padding: clamp(1.6rem, 3vw, 2.1rem) 0;
  border: 0;
  border-bottom: 1px solid rgba(9,45,54,.12);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.fb-service-hub .fb-pillar-feature-card::before {
  counter-increment: specialty;
  content: "0" counter(specialty);
  grid-column: 1;
  width: auto;
  height: auto;
  margin: 0;
  background: none;
  color: rgba(6,42,52,.24);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.7rem, 5vw, 4.6rem);
  line-height: .82;
  letter-spacing: -.08em;
}
.fb-service-hub .fb-pillar-badge { display: none; }
.fb-service-hub .fb-pillar-feature-card h3 {
  grid-column: 2;
  margin: 0;
  font-size: clamp(2rem, 3.6vw, 3.7rem);
  line-height: .9;
  letter-spacing: -.07em;
}
.fb-service-hub .fb-pillar-feature-card p {
  grid-column: 3;
  margin: 0;
}
.fb-service-hub .fb-pillar-feature-card ul {
  grid-column: 3;
  margin: .85rem 0 0;
  columns: 2;
}
.fb-service-hub .fb-pillar-feature-card .fb-button,
.fb-service-hub .fb-pillar-feature-card .fb-link {
  grid-column: 4;
  grid-row: 1 / span 3;
  align-self: center;
  margin-top: 0;
  white-space: nowrap;
}
/* Dry Eye golden pillar polish: keep hero caption inside the organic crop and tighten the CTA rhythm. */
.fb-dry-eye-golden .fb-dry-eye-actions {
  margin-top: clamp(1.7rem, 3vw, 2.4rem);
}
.fb-dry-eye-golden .fb-pillar-caption {
  left: clamp(5rem, 7vw, 7rem);
  right: auto;
  bottom: clamp(4.75rem, 7vw, 6.5rem);
  max-width: 18.5rem;
}
.fb-dry-eye-golden .fb-pillar-lens-line {
  display: none;
}
.fb-dry-eye-golden .fb-pillar-hero-media img {
  object-position: 58% 48%;
}
.fb-dry-eye-golden .fb-pillar-faq-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
/* Myopia golden pillar polish: preserve the approved pediatric hero while making the parent decision path clearer. */
.fb-myopia-golden .fb-myopia-actions {
  margin-top: clamp(1.7rem, 3vw, 2.4rem);
}
.fb-myopia-golden .fb-h1 {
  font-size: clamp(3.25rem, 4.6vw, 4.75rem);
}
.fb-myopia-golden .fb-pillar-caption {
  left: clamp(4.5rem, 6.5vw, 6.5rem);
  right: auto;
  bottom: clamp(4.6rem, 6.8vw, 6.2rem);
  max-width: 20rem;
}
.fb-myopia-golden .fb-pillar-lens-line {
  display: none;
}
.fb-myopia-golden .fb-pillar-hero-media img {
  object-position: 56% 50%;
}
.fb-myopia-golden .fb-pillar-feature-card h3 {
  font-size: clamp(1.9rem, 3.25vw, 3.35rem);
}
.fb-myopia-golden .fb-pillar-bleed-photo img {
  object-position: center 50%;
}
.fb-myopia-golden .fb-pillar-faq-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 720px) {
  .fb-myopia-golden .fb-h1 {
    font-size: clamp(2.55rem, 9.7vw, 3.05rem);
  }
  .fb-myopia-golden .fb-myopia-actions {
    order: 4;
  }
  .fb-myopia-golden .fb-pillar-hero-media {
    order: 5;
  }
  .fb-myopia-golden .fb-pillar-caption {
    order: 6;
    max-width: calc(100% - 2rem);
    margin-top: -3.1rem;
  }
  .fb-myopia-golden .fb-pillar-proof {
    order: 7;
  }
  .fb-myopia-golden .fb-pillar-faq-grid {
    grid-template-columns: 1fr;
  }
}
/* Specialty contact lens golden pillar polish: custom fitting path, cautious claims, and mobile hero order. */
.fb-specialty-golden .fb-specialty-actions {
  margin-top: clamp(1.7rem, 3vw, 2.4rem);
}
.fb-specialty-golden .fb-h1 {
  font-size: clamp(3.25rem, 4.8vw, 4.9rem);
}
.fb-specialty-golden .fb-pillar-hero-media {
  min-height: clamp(32rem, 46vw, 44rem);
}
.fb-specialty-golden .fb-pillar-hero-media img {
  object-position: 50% 50%;
}
.fb-specialty-golden .fb-pillar-caption {
  left: clamp(4.3rem, 6.2vw, 6.1rem);
  right: auto;
  bottom: clamp(4.25rem, 6vw, 5.8rem);
  max-width: 21rem;
}
.fb-specialty-golden .fb-pillar-feature-card h3 {
  font-size: clamp(1.85rem, 3vw, 3.05rem);
}
.fb-specialty-golden .fb-pillar-bleed-photo img {
  object-position: center 51%;
}
.fb-specialty-golden .fb-pillar-faq-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.fb-specialty-golden .fb-pillar-row h3 {
  max-width: 24rem;
}
@media (max-width: 1080px) {
  .fb-specialty-golden .fb-pillar-faq-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .fb-specialty-golden .fb-h1 {
    font-size: clamp(2.85rem, 11vw, 3.4rem);
  }
  .fb-specialty-golden .fb-specialty-actions {
    order: 4;
  }
  .fb-specialty-golden .fb-pillar-hero-media {
    order: 5;
    min-height: 22rem;
  }
  .fb-specialty-golden .fb-pillar-caption {
    order: 6;
    max-width: calc(100% - 2rem);
    margin-top: -3.1rem;
  }
  .fb-specialty-golden .fb-pillar-proof {
    order: 7;
  }
  .fb-specialty-golden .fb-pillar-faq-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 1080px) {
  .fb-pillar-hero-grid,
  .fb-pillar-section-head-split,
  .fb-pillar-split,
  .fb-pillar-insurance,
  .fb-pillar-guide,
  .fb-pillar-related {
    grid-template-columns: 1fr;
  }
  .fb-pillar-card-grid,
  .fb-pillar-proof,
  .fb-pillar-faq-grid {
    grid-template-columns: 1fr;
  }
  .fb-pillar-row,
  .fb-pillar-condition-list article {
    grid-template-columns: 1fr;
  }
  .fb-pillar-row a,
  .fb-pillar-condition-list a {
    padding-top: 0;
  }
  .fb-pillar-related div:last-child {
    justify-content: flex-start;
  }
  .fb-service-hub .fb-pillar-hero {
    min-height: auto;
  }
  .fb-service-hub .fb-pillar-hero-grid {
    width: min(100% - 24px, 1280px);
    grid-template-columns: 1fr;
  }
  .fb-service-hub .fb-pillar-hero-media {
    margin-right: 0;
  }
  .fb-service-hub .fb-pillar-feature-card,
  .fb-service-hub .fb-pillar-feature-card-light {
    grid-template-columns: 1fr;
    gap: .8rem;
  }
  .fb-service-hub .fb-pillar-feature-card::before,
  .fb-service-hub .fb-pillar-feature-card h3,
  .fb-service-hub .fb-pillar-feature-card p,
  .fb-service-hub .fb-pillar-feature-card ul,
  .fb-service-hub .fb-pillar-feature-card .fb-button,
  .fb-service-hub .fb-pillar-feature-card .fb-link {
    grid-column: 1;
    grid-row: auto;
  }
  .fb-service-hub .fb-pillar-feature-card ul {
    columns: 1;
  }
  .fb-service-hub .fb-pillar-feature-card .fb-button,
  .fb-service-hub .fb-pillar-feature-card .fb-link {
    margin-top: .8rem;
    align-self: flex-start;
    justify-self: flex-start;
    white-space: normal;
  }
}
@media (max-width: 720px) {
  .fb-pillar-shell,
  .fb-pillar-reviewed {
    width: min(100% - 24px, 1280px);
  }
  .fb-pillar-hero {
    padding-top: 2.65rem;
  }
  .fb-pillar-hero-grid {
    gap: 1rem;
  }
  .fb-pillar-copy {
    display: contents;
  }
  .fb-pillar-copy .fb-kicker {
    order: 1;
  }
  .fb-pillar-copy .fb-h1 {
    order: 2;
  }
  .fb-pillar-copy .fb-copy {
    order: 3;
    margin-top: .35rem;
  }
  .fb-pillar .fb-display {
    font-family: var(--fb-sans);
    font-weight: 900;
    letter-spacing: -.045em;
    line-height: .98;
  }
  .fb-pillar .fb-h1 {
    font-size: clamp(2.45rem, 9.4vw, 3.05rem);
  }
  .fb-pillar .fb-h2 {
    font-size: clamp(2rem, 8.2vw, 2.75rem);
  }
  .fb-service-hub .fb-display {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 500;
    letter-spacing: -.045em;
    line-height: 1;
  }
  .fb-service-hub .fb-h1 {
    font-size: clamp(2.45rem, 9.2vw, 3rem);
  }
  .fb-service-hub .fb-h2 {
    font-size: clamp(2rem, 8vw, 2.65rem);
  }
  .fb-pillar-row h3,
  .fb-pillar-feature-card h3,
  .fb-pillar-condition-list h3,
  .fb-pillar-callout h3,
  .fb-pillar-visit-card h3,
  .fb-pillar-faq-grid h3,
  .fb-pillar-related h3,
  .fb-pillar .fb-location-card h3 {
    font-weight: 900;
  }
  .fb-pillar-proof {
    order: 6;
    gap: .72rem;
    margin-top: .7rem;
  }
  .fb-pillar-proof div {
    border-left-color: rgba(13,120,128,.22);
    padding: .78rem 0 .78rem .95rem;
    background: linear-gradient(90deg, rgba(255,255,255,.74), rgba(255,255,255,0));
  }
  .fb-pillar-hero-media {
    order: 4;
    min-height: 25rem;
    border-radius: 28% 72% 42% 58% / 36% 42% 58% 64%;
  }
  .fb-service-hub .fb-pillar-hero-media {
    min-height: 24rem;
    clip-path: polygon(4% 8%, 82% 0%, 100% 18%, 93% 86%, 62% 100%, 8% 92%, 0 50%);
  }
  .fb-pillar-hero-glow {
    display: none;
  }
  .fb-pillar-lens-line {
    left: 0;
    right: 0;
  }
  .fb-pillar-caption {
    position: relative;
    order: 5;
    left: auto;
    right: auto;
    bottom: auto;
    margin: -4.35rem 1rem 1rem;
  }
  .fb-service-hub .fb-pillar-caption {
    left: auto;
    right: auto;
    bottom: auto;
    justify-self: stretch;
    max-width: calc(100% - 2rem);
    margin-top: -3.6rem;
  }
  .fb-pillar-bleed-photo {
    height: 30rem;
    margin-block: 1.25rem 2.5rem;
    clip-path: polygon(0 4%, 36% 0, 74% 5%, 100% 0, 100% 96%, 65% 100%, 29% 94%, 0 100%);
  }
  .fb-pillar-bleed-photo::after {
    background: linear-gradient(180deg, rgba(3,31,39,.12), rgba(3,31,39,.76));
  }
  .fb-pillar-bleed-copy {
    left: 1.35rem;
    right: 1.35rem;
    bottom: 2rem;
    max-width: none;
  }
  .fb-pillar-bleed-copy h2 {
    font-size: clamp(2.2rem, 10vw, 3.2rem);
  }
  .fb-pillar-plan-list {
    grid-template-columns: 1fr;
  }
  .fb-pillar-feature-card,
  .fb-pillar-callout,
  .fb-pillar-visit-card,
  .fb-pillar-related {
    border-radius: 1.4rem;
  }
  .fb-preserved-embed-grid {
    grid-template-columns: 1fr;
  }
  .fb-preserved-embed-grid .fb-preserved-form {
    grid-column: auto;
  }
  .fb-pillar .ef-footer .flex.gap-6.text-sm {
    flex-wrap: wrap;
    justify-content: center;
  }
  .fb-redesign .ef-footer .flex.gap-6.text-sm {
    flex-wrap: wrap;
    justify-content: center;
    row-gap: .75rem;
  }
  .fb-home .fb-sharp-rail {
    right: 0;
  }
  .fb-exam-detail .fb-exam-hero-actions {
    order: 4;
  }
}

/* SERVICE DETAIL: COMPREHENSIVE EYE EXAMS */
.fb-exam-detail .fb-exam-toc {
  padding-top: clamp(3.25rem, 5vw, 5rem);
}
.fb-exam-detail .fb-exam-bleed {
  padding-block: clamp(2rem, 4vw, 4rem);
}
.fb-exam-detail .fb-sharp-guide-image {
  height: clamp(28rem, 42vw, 39rem);
  min-height: 0;
}
.fb-exam-detail .fb-sharp-guide-image img {
  height: 100%;
  object-fit: cover;
  object-position: 55% 50%;
}
@media (max-width: 720px) {
  .fb-exam-detail .fb-sharp-guide-image {
    height: 24rem;
  }
}
.fb-exam-detail .fb-pillar-bleed-photo img {
  object-position: center 48%;
}

/* PHASE 2: SEO/CRO SERVICE PAGE LIFT
   Template-level upgrade for high-value service pages that preserves existing HTML,
   links, schema, and conversion plumbing while bringing them into the full-bleed
   editorial system. */
.fb-phase2-lift {
  --phase2-accent: var(--fb-teal);
  --phase2-glow: rgba(104, 219, 233, .20);
  background:
    radial-gradient(920px 560px at 90% 2%, rgba(104, 219, 233, .18), transparent 62%),
    radial-gradient(780px 520px at 0% 34%, rgba(13, 120, 128, .08), transparent 62%),
    linear-gradient(180deg, #ffffff 0%, #fbffff 44%, #f7fcfb 72%, #ffffff 100%);
}
.fb-phase2-pediatric { --phase2-accent: #0b8386; --phase2-glow: rgba(112, 228, 238, .24); }
.fb-phase2-myopia { --phase2-accent: #0c6f91; --phase2-glow: rgba(104, 219, 233, .22); }
.fb-phase2-dry-eye { --phase2-accent: #0d7880; --phase2-glow: rgba(160, 232, 225, .26); }
.fb-phase2-contact-lens { --phase2-accent: #0b737e; --phase2-glow: rgba(120, 214, 226, .24); }
.fb-phase2-eyewear { --phase2-accent: #126b73; --phase2-glow: rgba(200, 238, 232, .28); }
.fb-phase2-medical { --phase2-accent: #0b6877; --phase2-glow: rgba(104, 219, 233, .20); }

.fb-phase2-lift main { overflow: hidden; }
.fb-phase2-lift main > section:first-child {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(4.2rem, 7.4vw, 7.4rem) !important;
  background:
    linear-gradient(110deg, rgba(255,255,255,.96), rgba(246,252,251,.72) 48%, rgba(232,248,248,.78)),
    radial-gradient(620px 380px at 82% 22%, var(--phase2-glow), transparent 66%) !important;
}
.fb-phase2-lift main > section:first-child::before {
  content: "";
  position: absolute;
  left: -18rem;
  top: 10%;
  width: 46rem;
  height: 46rem;
  border: 1px solid rgba(9,45,54,.08);
  border-radius: 50%;
  z-index: -1;
}
.fb-phase2-lift main > section:first-child::after {
  content: "";
  position: absolute;
  left: -6vw;
  right: -6vw;
  top: 55%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(13,120,128,.34), rgba(104,219,233,.45), transparent);
  transform: rotate(-4.8deg);
  box-shadow: 0 0 28px rgba(104,219,233,.24);
  z-index: 0;
  pointer-events: none;
}
.fb-phase2-lift main > section:first-child > div {
  width: min(100% - 32px, 1280px) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}
.fb-phase2-lift main > section:first-child .grid {
  align-items: center;
  gap: clamp(2.25rem, 5vw, 5.25rem) !important;
}
.fb-phase2-lift main > section:first-child h1,
.fb-phase2-lift main h1 {
  font-family: var(--fb-serif);
  color: var(--fb-deep) !important;
  font-size: clamp(3rem, 5vw, 4.7rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.042em !important;
  line-height: 1.06 !important;
  max-width: 14ch;
}
.fb-phase2-lift main h1 span { color: var(--phase2-accent) !important; }
.fb-phase2-lift main > section:first-child p[class*="uppercase"],
.fb-phase2-lift main > section:first-child .tracking-widest {
  color: var(--phase2-accent) !important;
  font-size: .74rem !important;
  font-weight: 950 !important;
  letter-spacing: .2em !important;
}
.fb-phase2-lift main > section:first-child h1 + p,
.fb-phase2-lift main > section:first-child p.text-lg,
.fb-phase2-lift main > section:first-child p.text-xl {
  color: var(--fb-muted) !important;
  font-size: clamp(1.05rem, 1.45vw, 1.28rem) !important;
  line-height: 1.66 !important;
  max-width: 42rem;
}
.fb-phase2-lift main > section:first-child img:not(.fb-author-avatar) {
  position: relative;
  z-index: 1;
  min-height: clamp(26rem, 40vw, 40rem);
  width: 100%;
  object-fit: cover;
  border-radius: 34% 66% 44% 56% / 42% 34% 66% 58% !important;
  clip-path: polygon(6% 8%, 82% 0%, 100% 19%, 94% 84%, 62% 100%, 9% 91%, 0 48%);
  box-shadow: var(--fb-shadow) !important;
  filter: saturate(.96) contrast(1.04);
}
.fb-phase2-lift main > section:first-child a[href="/book-now"],
.fb-phase2-lift main > section:first-child a[href*="book"],
.fb-phase2-lift main a[href="/book-now"].bg-cvc-teal-500,
.fb-phase2-lift main a[href="/book-now"].bg-cvc-charcoal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  border-radius: 999px !important;
  background: var(--fb-deep) !important;
  color: #fbffff !important;
  font-size: .74rem !important;
  font-weight: 950 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase;
  box-shadow: 0 18px 42px rgba(6,42,52,.18) !important;
  text-decoration: none !important;
}
.fb-phase2-lift main a[href^="tel:"] {
  color: var(--fb-deep) !important;
  font-weight: 850;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.fb-phase2-lift main > section:not(:first-child) {
  position: relative;
  padding-block: clamp(4.2rem, 7vw, 7.2rem) !important;
  background: transparent !important;
}
.fb-phase2-lift main > section:nth-of-type(2n+3)::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: -12vw;
  right: -12vw;
  top: 10%;
  height: 74%;
  border-radius: 48% 52% 46% 54% / 40% 58% 42% 60%;
  background: radial-gradient(circle at 20% 42%, var(--phase2-glow), transparent 34%), linear-gradient(115deg, rgba(244,252,251,.88), rgba(231,247,247,.62), rgba(255,255,255,.90));
  transform: rotate(-1.8deg);
}
.fb-phase2-lift main > section:not(:first-child) > div {
  width: min(100% - 32px, 1280px) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}
.fb-phase2-lift main h2 {
  font-family: var(--fb-serif);
  color: var(--fb-deep) !important;
  font-size: clamp(2.25rem, 3.7vw, 3.85rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.042em !important;
  line-height: 1.05 !important;
}
.fb-phase2-lift main h2 span { color: var(--phase2-accent) !important; }
.fb-phase2-lift main h3 {
  color: var(--fb-deep) !important;
  letter-spacing: -.035em;
}
.fb-phase2-lift main section p,
.fb-phase2-lift main section li {
  color: #48666b;
}
.fb-phase2-lift main .rounded-xl,
.fb-phase2-lift main .rounded-2xl,
.fb-phase2-lift main .rounded-3xl {
  border-radius: 2rem !important;
}
.fb-phase2-lift main .shadow-lg,
.fb-phase2-lift main .shadow-xl,
.fb-phase2-lift main [class*="shadow"] {
  box-shadow: 0 24px 70px rgba(6,42,52,.10) !important;
}
.fb-phase2-lift main .bg-white.rounded-xl,
.fb-phase2-lift main .bg-white.rounded-2xl,
.fb-phase2-lift main .bg-cvc-cream,
.fb-phase2-lift main .bg-cvc-teal-50,
.fb-phase2-lift main .bg-gray-50 {
  border: 1px solid rgba(9,45,54,.10) !important;
  background: rgba(255,255,255,.78) !important;
  backdrop-filter: blur(10px);
}
.fb-phase2-lift main .grid > article,
.fb-phase2-lift main .grid > div.rounded-xl,
.fb-phase2-lift main .grid > div.rounded-2xl {
  transition: transform .22s ease, box-shadow .22s ease;
}
.fb-phase2-lift main .grid > article:hover,
.fb-phase2-lift main .grid > div.rounded-xl:hover,
.fb-phase2-lift main .grid > div.rounded-2xl:hover {
  transform: translateY(-3px);
}
.fb-phase2-lift main img:not(header img):not(.ef-footer img) {
  max-width: 100%;
}
.fb-phase2-lift .ef-footer {
  border-top: 1px solid rgba(9,45,54,.10);
}

/* CONTACT-LENS ARTICLE SCALE-OUT
   Keeps migrated article copy, bylines, schema, and CTA hrefs intact while giving
   the blog/service-detail hybrid pages the approved full-bleed editorial/photo tone. */
.fb-contact-article main > section:first-child .grid {
  position: relative;
  z-index: 1;
}
.fb-contact-article .fb-contact-breadcrumb ol {
  list-style: none;
  padding-left: 0;
}
.fb-contact-article .fb-contact-breadcrumb a {
  color: var(--phase2-accent);
  font-weight: 850;
  text-decoration: none;
}
.fb-contact-article main > section:first-child h1 {
  max-width: 14ch;
}
.fb-contact-article main > section:first-child .fb-author-avatar {
  width: 2.5rem !important;
  height: 2.5rem !important;
  min-height: 0 !important;
  border-radius: 999px !important;
  clip-path: none !important;
  box-shadow: none !important;
  object-fit: cover;
  filter: none !important;
}
.fb-contact-article .fb-contact-hero-actions {
  margin-top: 2rem;
}
.fb-contact-article .fb-contact-hero-figure {
  position: relative;
  margin: 0;
}
.fb-contact-article .fb-contact-hero-figure figcaption {
  position: relative;
  z-index: 2;
  width: min(92%, 28rem);
  margin: -3.25rem auto 0;
  padding: .95rem 1.05rem;
  border: 1px solid rgba(9,45,54,.12);
  border-radius: 1.35rem;
  background: rgba(255,255,250,.84);
  color: var(--fb-muted);
  box-shadow: 0 18px 50px rgba(6,42,52,.10);
  backdrop-filter: blur(14px);
  font-size: .9rem;
  line-height: 1.45;
}
.fb-contact-article.fb-contact-article-glasses main > section:first-child img:not(.fb-author-avatar) {
  object-position: 52% 50%;
}
.fb-contact-article.fb-contact-article-infections main > section:first-child img:not(.fb-author-avatar) {
  object-position: 50% 48%;
}
.fb-contact-article main > section:nth-of-type(2) > div {
  width: min(100% - 32px, 920px) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}
.fb-contact-article .fb-contact-article-body {
  color: #223f46;
  font-size: 1.08rem;
  line-height: 1.82;
}
.fb-contact-article .fb-contact-article-body .et_pb_section,
.fb-contact-article .fb-contact-article-body .et_pb_row,
.fb-contact-article .fb-contact-article-body .et_pb_column,
.fb-contact-article .fb-contact-article-body .et_pb_module,
.fb-contact-article .fb-contact-article-body .et_pb_text_inner {
  max-width: none;
}
.fb-contact-article .fb-contact-article-body h2 {
  margin: 3.15rem 0 1rem;
  color: var(--fb-deep) !important;
  font-family: var(--fb-serif);
  font-size: clamp(2rem, 4vw, 3.2rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.052em !important;
  line-height: .98 !important;
}
.fb-contact-article .fb-contact-article-body h3 {
  margin: 2.15rem 0 .6rem;
  color: var(--fb-deep) !important;
  font-size: 1.35rem;
}
.fb-contact-article .fb-contact-article-body h5.recommendation-heading {
  margin-top: 3rem;
  padding-top: 1rem;
  border-top: 1px solid var(--fb-line);
  color: var(--phase2-accent);
  font-size: .78rem;
  font-weight: 950;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.fb-contact-article .fb-contact-article-body p,
.fb-contact-article .fb-contact-article-body li,
.fb-contact-article .fb-contact-article-body div {
  color: #48666b;
}
.fb-contact-article .fb-contact-article-body a {
  color: var(--phase2-accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.fb-contact-article .fb-contact-article-body ul,
.fb-contact-article .fb-contact-article-body ol {
  padding-left: 1.35rem;
}
.fb-contact-article .fb-contact-article-body img:not(.fb-author-avatar) {
  display: block;
  max-width: 100%;
  margin: 1.25rem auto;
  border-radius: 1.55rem;
  box-shadow: 0 22px 64px rgba(6,42,52,.10);
}
.fb-contact-article .fb-contact-article-body .title.primary-fg {
  color: var(--fb-deep);
  font-weight: 900;
}
.fb-contact-article .fb-contact-reviewer,
.fb-contact-article main .bg-cvc-cream.rounded-2xl {
  border-color: rgba(9,45,54,.10) !important;
  background: rgba(255,255,255,.78) !important;
  box-shadow: 0 18px 50px rgba(6,42,52,.08);
  backdrop-filter: blur(10px);
}

@media (max-width: 1024px) {
  .fb-phase2-lift main > section:first-child .grid {
    grid-template-columns: 1fr !important;
  }
  .fb-phase2-lift main > section:first-child img:not(.fb-author-avatar) {
    min-height: 28rem;
  }
}
@media (max-width: 720px) {
  .fb-phase2-lift main > section:first-child,
  .fb-phase2-lift main > section:not(:first-child) {
    padding-block: 3.4rem !important;
  }
  .fb-phase2-lift main > section:first-child > div,
  .fb-phase2-lift main > section:not(:first-child) > div {
    width: min(100% - 24px, 1280px) !important;
  }
  .fb-phase2-lift main > section:first-child h1,
  .fb-phase2-lift main h1 {
    font-size: clamp(2.35rem, 9.4vw, 3.1rem) !important;
    line-height: 1.05 !important;
    max-width: 14ch;
  }
  .fb-phase2-lift main h2 {
    font-size: clamp(2rem, 8.2vw, 2.75rem) !important;
  }
  .fb-phase2-lift main > section:first-child img:not(.fb-author-avatar) {
    min-height: 23rem;
    clip-path: polygon(4% 8%, 82% 0%, 100% 18%, 93% 86%, 62% 100%, 8% 92%, 0 50%);
  }
}

@media (max-width: 1080px) {
  .fb-dry-eye-golden .fb-pillar-faq-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}
@media (max-width: 720px) {
  .fb-dry-eye-golden .fb-dry-eye-actions {
    order: 4;
    margin-top: .85rem;
  }
  .fb-dry-eye-golden .fb-pillar-hero-media {
    order: 5;
  }
  .fb-dry-eye-golden .fb-pillar-caption {
    order: 6;
  }
  .fb-dry-eye-golden .fb-pillar-proof {
    order: 7;
  }
}

/* COPY-SAFE VISUAL REAPPLY
   Restores the approved full-bleed/editorial CVC tone after source-of-truth copy
   reconciliation. These selectors intentionally preserve existing HTML, copy,
   schema, forms, map/link surfaces, and CTA destinations. */
.fb-copy-safe-reapply {
  background: #fbffff;
}
.fb-copy-safe-reapply .fb-copy-source-main {
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 6%, rgba(125, 194, 194, .16), transparent 30rem),
    linear-gradient(180deg, #fbffff 0%, #f6fbfa 48%, #ffffff 100%);
}
.fb-static-trust-batch16 .fb-copy-source-main .reveal,
.fb-static-trust-batch16 .fb-copy-source-main .reveal-up,
.fb-static-trust-batch16 .fb-copy-source-main .reveal-scale,
.fb-service-detail-batch17 .fb-copy-source-main .reveal,
.fb-service-detail-batch17 .fb-copy-source-main .reveal-up,
.fb-service-detail-batch17 .fb-copy-source-main .reveal-scale,
.fb-remaining-batch19 .fb-copy-source-main .reveal,
.fb-remaining-batch19 .fb-copy-source-main .reveal-up,
.fb-remaining-batch19 .fb-copy-source-main .reveal-scale {
  opacity: 1 !important;
  transform: none !important;
}
.fb-copy-safe-reapply .fb-copy-source-main > section {
  position: relative;
}
.fb-copy-safe-reapply .fb-copy-source-main > section:first-child {
  min-height: clamp(34rem, 74vh, 48rem) !important;
  display: flex !important;
  align-items: center !important;
  padding-block: clamp(3.5rem, 7vw, 6.75rem) !important;
  background:
    radial-gradient(circle at 74% 18%, rgba(198, 164, 91, .17), transparent 20rem),
    radial-gradient(circle at 12% 26%, rgba(59, 138, 142, .18), transparent 26rem),
    linear-gradient(135deg, #fbffff 0%, #eef8f6 52%, #fff9ea 100%) !important;
  isolation: isolate;
}
.fb-copy-safe-reapply .fb-copy-source-main > section:first-child::before {
  content: "";
  position: absolute;
  inset: 1.25rem;
  border: 1px solid rgba(9, 45, 54, .08);
  border-radius: clamp(1.4rem, 4vw, 3.8rem);
  pointer-events: none;
  z-index: -1;
}
.fb-copy-safe-reapply .fb-copy-source-main > section:first-child::after {
  content: "";
  position: absolute;
  right: -16vw;
  bottom: -20vw;
  width: min(58vw, 42rem);
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid rgba(9, 45, 54, .09);
  background: radial-gradient(circle, rgba(255,255,255,.46), transparent 65%);
  pointer-events: none;
  z-index: -1;
}
.fb-copy-safe-reapply .fb-copy-source-main > section:first-child > div {
  width: min(100% - 32px, 1280px) !important;
  margin-inline: auto !important;
}
.fb-copy-safe-reapply .fb-copy-source-main > section:first-child .grid {
  gap: clamp(2.2rem, 5vw, 5.4rem) !important;
  align-items: center !important;
}
.fb-copy-safe-reapply .fb-copy-source-main > section:first-child h1 {
  max-width: 14ch;
  color: var(--fb-deep) !important;
  font-family: var(--fb-serif) !important;
  font-size: clamp(3rem, 5vw, 4.7rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.042em !important;
  line-height: 1.06 !important;
}
.fb-copy-safe-reapply .fb-copy-source-main > section:first-child h1 span {
  color: var(--fb-teal) !important;
}
.fb-copy-safe-reapply .fb-copy-source-main > section:first-child p:not(.text-xs) {
  max-width: 43rem;
  color: #48666b !important;
  font-size: clamp(1.04rem, 1.35vw, 1.22rem) !important;
  line-height: 1.72 !important;
}
.fb-copy-safe-reapply .fb-copy-source-main > section:first-child ul {
  display: grid !important;
  gap: .72rem !important;
  padding: 1.05rem 1.15rem !important;
  border: 1px solid rgba(9,45,54,.10);
  border-radius: 1.4rem;
  background: rgba(255,255,255,.64);
  box-shadow: 0 18px 55px rgba(6,42,52,.07);
  backdrop-filter: blur(14px);
}
.fb-copy-safe-reapply .fb-copy-source-main > section:first-child img:not(.fb-author-avatar):not(.rounded-full):not(header img):not(.ef-footer img) {
  width: 100% !important;
  min-height: clamp(28rem, 39vw, 42rem) !important;
  object-fit: cover !important;
  border-radius: 2.4rem !important;
  clip-path: polygon(5% 8%, 82% 0, 100% 18%, 94% 85%, 62% 100%, 8% 92%, 0 49%) !important;
  box-shadow: 0 34px 90px rgba(6,42,52,.20) !important;
}
.fb-copy-safe-reapply .fb-copy-source-main > section:first-child picture,
.fb-copy-safe-reapply .fb-copy-source-main > section:first-child .image-reveal,
.fb-copy-safe-reapply .fb-copy-source-main > section:first-child .aspect-\[4\/3\] {
  border-radius: 2.4rem !important;
  overflow: visible !important;
}
.fb-copy-safe-reapply .fb-copy-source-main > section:first-child .absolute.bg-white,
.fb-copy-safe-reapply .fb-copy-source-main > section:first-child .animate-float,
.fb-copy-safe-reapply .fb-copy-source-main > section:first-child .rounded-xl.shadow-xl {
  border: 1px solid rgba(9,45,54,.10) !important;
  border-radius: 1.35rem !important;
  background: rgba(255,255,250,.86) !important;
  box-shadow: 0 22px 70px rgba(6,42,52,.14) !important;
  backdrop-filter: blur(14px);
}
.fb-copy-safe-reapply .fb-copy-source-main .btn-primary,
.fb-copy-safe-reapply .fb-copy-source-main .ef-btn-outline,
.fb-copy-safe-reapply .fb-copy-source-main a[class~="bg-cvc-teal-500"],
.fb-copy-safe-reapply .fb-copy-source-main a[class~="bg-cvc-teal-600"] {
  border-radius: 999px !important;
  box-shadow: 0 16px 45px rgba(6, 91, 98, .16);
  text-decoration: none !important;
}
.fb-copy-safe-reapply .fb-copy-source-main .btn-primary,
.fb-copy-safe-reapply .fb-copy-source-main a[class~="bg-cvc-teal-500"],
.fb-copy-safe-reapply .fb-copy-source-main a[class~="bg-cvc-teal-600"],
.fb-copy-safe-reapply .fb-copy-source-main a[class~="bg-cvc-teal-500"]:visited,
.fb-copy-safe-reapply .fb-copy-source-main a[class~="bg-cvc-teal-600"]:visited,
.fb-copy-safe-reapply .fb-copy-source-main a[class~="bg-cvc-teal-500"]:hover,
.fb-copy-safe-reapply .fb-copy-source-main a[class~="bg-cvc-teal-600"]:hover {
  color: #fbffff !important;
}
.fb-copy-safe-reapply .fb-copy-source-main > section:not(:first-child) {
  padding-block: clamp(4.2rem, 7vw, 7.5rem) !important;
}
.fb-copy-safe-reapply .fb-copy-source-main > section:not(:first-child):nth-of-type(odd) {
  background:
    linear-gradient(135deg, rgba(244,251,250,.96), rgba(255,255,255,.96)),
    radial-gradient(circle at 10% 10%, rgba(125,194,194,.12), transparent 20rem) !important;
}
.fb-copy-safe-reapply .fb-copy-source-main h2 {
  color: var(--fb-deep) !important;
  font-family: var(--fb-serif) !important;
  font-size: clamp(2.25rem, 3.7vw, 3.85rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.042em !important;
  line-height: 1.05 !important;
}
.fb-copy-safe-reapply .fb-copy-source-main h3 {
  color: var(--fb-deep) !important;
}
.fb-copy-safe-reapply .fb-copy-source-main .text-cvc-gold,
.fb-copy-safe-reapply .fb-copy-source-main [class*="tracking-widest"] {
  color: var(--fb-gold) !important;
  font-weight: 900 !important;
  letter-spacing: .16em !important;
}
.fb-copy-safe-reapply .fb-copy-source-main .rounded-xl,
.fb-copy-safe-reapply .fb-copy-source-main .rounded-2xl,
.fb-copy-safe-reapply .fb-copy-source-main .treatment-card,
.fb-copy-safe-reapply .fb-copy-source-main .service-card,
.fb-copy-safe-reapply .fb-copy-source-main .location-card,
.fb-copy-safe-reapply .fb-copy-source-main .feature-card,
.fb-copy-safe-reapply .fb-copy-source-main a.bg-cvc-cream,
.fb-copy-safe-reapply .fb-copy-source-main div.bg-cvc-cream,
.fb-copy-safe-reapply .fb-copy-source-main div.bg-white.shadow-lg,
.fb-copy-safe-reapply .fb-copy-source-main div.bg-white.shadow-xl {
  border: 1px solid rgba(9,45,54,.10) !important;
  background-color: rgba(255,255,255,.78) !important;
  box-shadow: 0 22px 70px rgba(6,42,52,.08) !important;
  backdrop-filter: blur(10px);
}
.fb-copy-safe-reapply .fb-copy-source-main .grid a.rounded-xl,
.fb-copy-safe-reapply .fb-copy-source-main .grid a.rounded-2xl,
.fb-copy-safe-reapply .fb-copy-source-main .grid .rounded-xl,
.fb-copy-safe-reapply .fb-copy-source-main .grid .rounded-2xl {
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.fb-copy-safe-reapply .fb-copy-source-main .grid a.rounded-xl:hover,
.fb-copy-safe-reapply .fb-copy-source-main .grid a.rounded-2xl:hover,
.fb-copy-safe-reapply .fb-copy-source-main .grid .rounded-xl:hover,
.fb-copy-safe-reapply .fb-copy-source-main .grid .rounded-2xl:hover {
  transform: translateY(-4px);
  border-color: rgba(6, 91, 98, .22) !important;
  box-shadow: 0 30px 82px rgba(6,42,52,.12) !important;
}
.fb-copy-safe-reapply .fb-copy-source-main .bg-cvc-teal-50.border-l-4 {
  width: min(100% - 32px, 1160px);
  margin: -2.2rem auto 0;
  padding: 1.35rem 1.5rem !important;
  border: 1px solid rgba(9,45,54,.10) !important;
  border-left: 4px solid var(--fb-teal) !important;
  border-radius: 1.6rem;
  background: rgba(255,255,255,.80) !important;
  box-shadow: 0 18px 60px rgba(6,42,52,.09);
  backdrop-filter: blur(12px);
  z-index: 2;
}
.fb-copy-safe-reapply .fb-copy-source-main iframe,
.fb-copy-safe-reapply .fb-copy-source-main form {
  max-width: 100%;
}

@media (max-width: 1024px) {
  .fb-copy-safe-reapply .fb-copy-source-main > section:first-child .grid {
    grid-template-columns: 1fr !important;
  }
  .fb-copy-safe-reapply .fb-copy-source-main > section:first-child h1 {
    max-width: 14ch;
    font-size: clamp(2.8rem, 7.4vw, 4.6rem) !important;
  }
  .fb-copy-safe-reapply .fb-copy-source-main > section:first-child img:not(.fb-author-avatar):not(.rounded-full):not(header img):not(.ef-footer img) {
    min-height: 30rem !important;
  }
}
@media (max-width: 720px) {
  .fb-copy-safe-reapply .fb-copy-source-main > section:first-child {
    min-height: auto !important;
    padding-block: 3.3rem !important;
  }
  .fb-copy-safe-reapply .fb-copy-source-main > section:first-child::before {
    inset: .75rem;
    border-radius: 1.4rem;
  }
  .fb-copy-safe-reapply .fb-copy-source-main > section:first-child > div,
  .fb-copy-safe-reapply .fb-copy-source-main > section:not(:first-child) > div {
    width: min(100% - 24px, 1280px) !important;
    padding-inline: 0 !important;
  }
  .fb-copy-safe-reapply .fb-copy-source-main > section:first-child h1 {
    font-size: clamp(2.35rem, 9.4vw, 3.1rem) !important;
    line-height: 1.05 !important;
  }
  .fb-copy-safe-reapply .fb-copy-source-main h2 {
    font-size: clamp(2rem, 8.2vw, 2.75rem) !important;
  }
  .fb-copy-safe-reapply .fb-copy-source-main > section:first-child img:not(.fb-author-avatar):not(.rounded-full):not(header img):not(.ef-footer img) {
    min-height: 23rem !important;
    clip-path: polygon(4% 8%, 82% 0, 100% 18%, 93% 86%, 62% 100%, 8% 92%, 0 50%) !important;
  }
  .fb-copy-safe-reapply .fb-copy-source-main .bg-cvc-teal-50.border-l-4 {
    width: min(100% - 24px, 1160px);
    margin-top: -1rem;
  }
}
