/* The first-screen photo belongs to the whole section, not the centred content shell. */
.v2 .home-signature-hero,
.sv-page .sv-hero,
.wl-page .wl-hero,
.rp-page .rp-hero,
.lp .lp-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #123646;
  color: #fff;
}
.v2 .home-signature-hero__grid,
.sv-page .sv-hero .sv-hero-grid,
.wl-page .wl-hero .wl-hero-grid,
.rp-page .rp-hero .rp-hero-grid,
.lp .lp-hero .lp-hero-grid {
  position: static;
  display: flex;
  align-items: center;
  min-height: 390px;
  overflow: visible;
  border-radius: 0;
  background: transparent;
  padding: clamp(26px, 3.6vw, 48px);
}
.v2 .home-signature-hero__grid::after,
.sv-page .sv-hero .sv-hero-grid::after,
.wl-page .wl-hero .wl-hero-grid::after,
.rp-page .rp-hero .rp-hero-grid::after,
.lp .lp-hero .lp-hero-grid::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, #092936f5 0%, #092936e8 37%, #09293691 72%, #09293645 100%);
}
.v2 .home-signature-hero__content,
.sv-page .sv-hero .sv-hero-copy,
.wl-page .wl-hero .wl-hero-copy,
.rp-page .rp-hero .rp-hero-copy,
.lp .lp-hero .lp-hero-grid > div:first-child {
  position: relative;
  z-index: 2;
  width: min(100%, 690px);
  min-width: 0;
  padding: 0;
}
.v2 .home-signature-hero__visual,
.sv-page .sv-hero .sv-hero-photo,
.wl-page .wl-hero .wl-hero-media,
.rp-page .rp-hero .rp-hero-media,
.lp .lp-hero .lp-photo {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: none;
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  pointer-events: none;
}
.v2 .home-signature-hero__visual::after,
.sv-page .sv-hero .sv-hero-photo::after,
.wl-page .wl-hero .wl-hero-media::after,
.lp .lp-hero .lp-photo::after { display: none; }
.v2 .home-signature-hero__visual > img,
.sv-page .sv-hero .sv-hero-photo img,
.wl-page .wl-hero .wl-hero-media img,
.rp-page .rp-hero .rp-hero-media img,
.lp .lp-hero .lp-photo img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: none;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: 60% center;
  border-radius: 0;
}
.sv-page .sv-hero .sv-hero-photo figcaption,
.wl-page .wl-hero .wl-hero-media-tag,
.rp-page .rp-hero .rp-hero-media span,
.lp .lp-hero .lp-photo > div { display: none; }

/* Breadcrumbs and facts now sit on the same photograph as the heading. */
.sv-page .sv-hero .sv-crumbs,
.wl-page .wl-hero .wl-crumbs,
.rp-page .rp-hero .rp-crumbs,
.sv-page .sv-hero .sv-hero-rail,
.wl-page .wl-hero .wl-fact-row {
  position: relative;
  z-index: 2;
}
.sv-page .sv-hero .sv-crumbs,
.wl-page .wl-hero .wl-crumbs,
.rp-page .rp-hero .rp-crumbs,
.sv-page .sv-hero .sv-crumbs a,
.wl-page .wl-hero .wl-crumbs a,
.rp-page .rp-hero .rp-crumbs a { color: #d6e3e6; }
.sv-page .sv-hero .sv-crumbs [aria-current],
.wl-page .wl-hero .wl-crumbs [aria-current],
.rp-page .rp-hero .rp-crumbs [aria-current] { color: #fff; }
.sv-page .sv-hero .sv-hero-rail,
.wl-page .wl-hero .wl-fact-row,
.sv-page .sv-hero .sv-hero-rail > div + div,
.sv-page .sv-hero .sv-hero-rail > p,
.wl-page .wl-hero .wl-fact-row div + div { border-color: #ffffff55; }
.sv-page .sv-hero .sv-hero-rail :is(span,p),
.wl-page .wl-hero .wl-fact-row span { color: #ccdade; }
.sv-page .sv-hero .sv-hero-rail strong,
.wl-page .wl-hero .wl-fact-row strong { color: #fff; }

/* The light-background variants need explicit readable text on the photo. */
.v2 .home-signature-hero h1,
.v2 .home-signature-hero h1 > span,
.sv-page .sv-hero .sv-hero-copy h1,
.wl-page .wl-hero .wl-hero-copy h1,
.rp-page .rp-hero .rp-hero-copy h1,
.lp .lp-hero .lp-hero-grid h1 { color: #fff; }
.sv-page .sv-hero .sv-hero-copy h1 em,
.rp-page .rp-hero .rp-hero-copy h1 em { color: #efd18b; }
.v2 .home-signature-hero__eyebrow,
.sv-page .sv-hero .sv-hero-kicker,
.wl-page .wl-hero .wl-overline,
.rp-page .rp-hero .rp-overline,
.lp .lp-hero .lp-kicker,
.lp .lp-hero .lp-overline { color: #efd18b; }
.v2 .home-signature-hero__lead,
.sv-page .sv-hero .sv-hero-lead,
.sv-page .sv-hero .sv-hero-check,
.wl-page .wl-hero .wl-lead,
.wl-page .wl-hero .wl-hero-price,
.rp-page .rp-hero .rp-hero-copy > p,
.lp .lp-hero .lp-lead,
.lp .lp-hero .lp-honesty { color: #e3ecee; }
.v2 .home-signature-hero__secondary { border-color: #ffffff80; background: #0929368c; color: #fff; }
.v2 .home-signature-hero__secondary:hover { border-color: #fff; background: #092936bb; }
.sv-page .sv-hero .sv-btn-outline,
.lp .lp-hero .lp-button-outline { border-color: #ffffff80; color: #fff; }
.sv-page .sv-hero .sv-hero-check { border-color: #efd18b; background: #082935a8; }
.sv-page .sv-hero .sv-hero-contract { border-color: #ffffff65; }
.sv-page .sv-hero .sv-hero-contract :is(span,p) { color: #dce8e9; }
.rp-page .rp-hero .rp-hero-facts { border-color: #ffffff55; }
.rp-page .rp-hero .rp-hero-facts div + div { border-color: #ffffff55; }
.rp-page .rp-hero .rp-hero-facts small { color: #c8d6d9; }
.rp-page .rp-hero .rp-hero-facts strong { color: #fff; }
.lp .lp-hero .lp-crumb,
.lp .lp-hero .lp-crumb a { color: #e3ecee; }
.lp .lp-hero .lp-crumb [aria-current="page"] { color: #fff; }
.lp .lp-hero .lp-text-link { color: #fff; }
.lp .lp-hero .lp-text-link:hover { color: #efd18b; }

/* Three concrete, verifiable promises close the home first screen. */
.v2 .home-signature-hero__grid { padding-bottom: 22px; }
.v2 .home-signature-hero__trust {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 clamp(26px, 3.6vw, 48px) 28px;
  border: 1px solid #ffffff52;
  border-radius: 12px;
  background: #092936b8;
}
.v2 .home-signature-hero__trust li { display: flex; min-width: 0; gap: 11px; padding: 16px 17px; }
.v2 .home-signature-hero__trust li + li { border-left: 1px solid #ffffff42; }
.v2 .home-signature-hero__trust li > span { flex: none; padding-top: 2px; color: #efd18b; font-size: 11px; font-weight: 800; letter-spacing: .09em; }
.v2 .home-signature-hero__trust strong { display: block; color: #fff; font-size: 14px; line-height: 1.3; }
.v2 .home-signature-hero__trust p { margin-top: 4px; color: #d8e5e8; font-size: 12px; line-height: 1.45; }

/* Home task cards: one compact, entirely photographic surface at every width. */
.v2 .home-service-card,
.v2 .home-service-card:nth-child(2) {
  position: relative;
  isolation: isolate;
  display: block;
  min-height: 234px;
  overflow: hidden;
  border: 0;
  border-radius: 16px;
  background: #123948;
  color: #fff;
}
.v2 .home-service-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, #092936f2 0%, #092936dc 47%, #09293669 100%);
  pointer-events: none;
}
.v2 .home-service-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
}
.v2 .home-service-media a { width: 100%; height: 100%; }
.v2 .home-service-media img { width: 100%; height: 100%; object-fit: cover; object-position: 65% center; }
.v2 .home-service-media a > span { top: 14px; right: 14px; left: auto; z-index: 3; }
.v2 .home-service-body {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  width: min(100%, 440px);
  min-height: 234px;
  padding: 20px 58px 18px 20px;
  pointer-events: none;
}
.v2 .home-service-card :is(h3,p) { color: #fff; }
.v2 .home-service-card h3 { margin-top: 7px; font-size: clamp(20px, 1.8vw, 25px); }
.v2 .home-service-card p { max-width: 390px; margin-top: 7px; color: #e6eeee; font-size: 12px; line-height: 1.45; }
.v2 .home-service-number { color: #efd18b; }
.v2 .home-service-bottom { flex: 0 0 auto; gap: 5px; margin-top: auto; padding-top: 12px; border-color: #ffffff70; color: #f5dfab; }
.v2 .home-service-bottom > span { color: #f5dfab; }
.v2 .home-service-bottom > span :is(small,em,i) { color: #f5dfab; }
.v2 .home-service-bottom :is(a,button) { color: #fff; pointer-events: auto; }

@media (max-width: 700px) {
  .v2 .home-signature-hero__grid,
  .sv-page .sv-hero .sv-hero-grid,
  .wl-page .wl-hero .wl-hero-grid,
  .rp-page .rp-hero .rp-hero-grid,
  .lp .lp-hero .lp-hero-grid {
    min-height: 0;
    padding: 25px 20px 27px;
    border-radius: 0;
  }
  .v2 .home-signature-hero__grid::after,
  .sv-page .sv-hero .sv-hero-grid::after,
  .wl-page .wl-hero .wl-hero-grid::after,
  .rp-page .rp-hero .rp-hero-grid::after,
  .lp .lp-hero .lp-hero-grid::after {
    background: linear-gradient(90deg, #092936f5 0%, #092936e8 58%, #092936a8 100%);
  }
  .v2 .home-signature-hero__visual,
  .sv-page .sv-hero .sv-hero-photo,
  .wl-page .wl-hero .wl-hero-media,
  .rp-page .rp-hero .rp-hero-media,
  .lp .lp-hero .lp-photo { height: 100%; min-height: 0; max-height: none; }
  .v2 .home-signature-hero__visual > img,
  .sv-page .sv-hero .sv-hero-photo img,
  .wl-page .wl-hero .wl-hero-media img,
  .rp-page .rp-hero .rp-hero-media img,
  .lp .lp-hero .lp-photo img { height: 100%; min-height: 0; max-height: none; object-position: 64% center; }
  .v2 .home-service-card,
  .v2 .home-service-card:nth-child(2),
  .v2 .home-service-body { min-height: 190px; }
  .v2 .home-service-body { width: 100%; padding: 17px 57px 15px 17px; }
  .v2 .home-signature-hero__grid { padding-bottom: 18px; }
  .v2 .home-signature-hero__trust { grid-template-columns: 1fr; margin: 0 20px 22px; }
  .v2 .home-signature-hero__trust li { gap: 10px; padding: 11px 13px; }
  .v2 .home-signature-hero__trust li + li { border-top: 1px solid #ffffff42; border-left: 0; }
  .v2 .home-signature-hero__trust strong { font-size: 13px; }
  .v2 .home-signature-hero__trust p { margin-top: 2px; font-size: 11px; }
}

@media (max-width: 374px) {
  .v2 .home-signature-hero__grid,
  .sv-page .sv-hero .sv-hero-grid,
  .wl-page .wl-hero .wl-hero-grid,
  .rp-page .rp-hero .rp-hero-grid,
  .lp .lp-hero .lp-hero-grid { padding-inline: 16px; }
  .v2 .home-signature-hero__trust { margin-inline: 16px; }
  .v2 .home-service-body { padding-right: 45px; }
}
