
    :root {
      --navy-950: #061525;
      --navy-900: #08203a;
      --navy-800: #0b2d50;
      --blue-600: #0a74d8;
      --blue-500: #1493ff;
      --blue-400: #49b9ff;
      --cyan-300: #76dafc;
      --gray-950: #111827;
      --gray-700: #374151;
      --gray-500: #6b7280;
      --gray-200: #e5e7eb;
      --gray-100: #f3f6f9;
      --ice-50: #f7fbff;
      --ice-100: #eef6fc;
      --steel-100: #e8eef4;
      --steel-200: #d5e2ec;
      --surface-blue: #f8fbfe;
      --white: #ffffff;
      --green: #39c77a;
      --shadow-soft: 0 22px 70px rgba(6, 21, 37, .14);
      --shadow-blue: 0 18px 42px rgba(10, 116, 216, .28);
      --radius: 8px;
      --radius-lg: 18px;
      --max: 1240px;
      --header-height: 84px;
      --ease: cubic-bezier(.2, .75, .25, 1);
    }

    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      color: var(--gray-950);
      background: var(--ice-50);
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      line-height: 1.6;
      overflow-x: hidden;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    button,
    input {
      font: inherit;
    }

    img,
    svg {
      display: block;
      max-width: 100%;
    }

    .container {
      width: min(var(--max), calc(100% - 40px));
      margin-inline: auto;
    }

    .section {
      padding: 88px 0;
      position: relative;
      overflow: hidden;
    }

    .section > .container {
      position: relative;
      z-index: 1;
    }

    .eyebrow {
      color: var(--blue-600);
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-size: .78rem;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .eyebrow::before {
      background: var(--blue-500);
      content: "";
      width: 30px;
      height: 2px;
    }

    h1,
    h2,
    h3 {
      color: var(--navy-950);
      line-height: 1.05;
      letter-spacing: 0;
    }

    h1 {
      color: var(--white);
      font-size: clamp(2.55rem, 7vw, 5.8rem);
      max-width: 900px;
    }

    h2 {
      font-size: clamp(2rem, 4vw, 3.55rem);
      max-width: 780px;
    }

    h3 {
      font-size: 1.2rem;
    }

    p {
      color: var(--gray-700);
    }

    .section-head {
      display: grid;
      gap: 16px;
      margin-bottom: 38px;
    }

    .section-head p {
      font-size: 1.06rem;
      max-width: 700px;
    }

    .btn {
      align-items: center;
      border: 0;
      border-radius: var(--radius);
      cursor: pointer;
      display: inline-flex;
      font-weight: 800;
      gap: 10px;
      justify-content: center;
      min-height: 50px;
      padding: 0 22px;
      transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease), color .25s var(--ease);
      white-space: nowrap;
    }

    .btn:hover {
      transform: translateY(-2px);
    }

    .btn-primary {
      background: linear-gradient(135deg, var(--blue-600), var(--blue-400));
      box-shadow: var(--shadow-blue);
      color: var(--white);
    }

    .btn-primary:hover {
      box-shadow: 0 24px 48px rgba(10, 116, 216, .34);
    }

    .btn-secondary {
      background: rgba(255, 255, 255, .1);
      border: 1px solid rgba(255, 255, 255, .28);
      color: var(--white);
    }

    .btn-secondary:hover {
      background: var(--white);
      color: var(--navy-950);
    }

    .btn-light {
      background: var(--white);
      color: var(--navy-950);
      box-shadow: var(--shadow-soft);
    }

    .btn-outline {
      background: transparent;
      border: 1px solid rgba(10, 116, 216, .25);
      color: var(--blue-600);
    }

    .btn-dark {
      background: linear-gradient(180deg, #1a2433 0%, var(--gray-950) 100%);
      box-shadow: 0 16px 36px rgba(6, 21, 37, .24);
      color: var(--white);
    }

    .btn-dark:hover {
      background: linear-gradient(180deg, #243247 0%, #0a1420 100%);
      box-shadow: 0 20px 42px rgba(6, 21, 37, .32);
    }

    .icon {
      align-items: center;
      background: linear-gradient(135deg, rgba(20, 147, 255, .16), rgba(118, 218, 252, .12));
      border: 1px solid rgba(20, 147, 255, .18);
      border-radius: var(--radius);
      color: var(--blue-600);
      display: inline-flex;
      flex: 0 0 auto;
      height: 46px;
      justify-content: center;
      width: 46px;
    }

    .icon svg {
      height: 22px;
      width: 22px;
    }

    .reveal {
      opacity: 0;
      transform: translateY(28px);
      transition: opacity .7s var(--ease), transform .7s var(--ease);
    }

    .reveal.visible {
      opacity: 1;
      transform: translateY(0);
    }

    .team-photo.reveal,
    .about-intro-visual.reveal,
    .plumbing-services-intro-visual.reveal {
      opacity: 1;
      transform: none;
    }

    /* Header / Navigation */
    .site-header {
      background: rgba(6, 21, 37, .9);
      backdrop-filter: blur(18px);
      border-bottom: 1px solid rgba(255, 255, 255, .1);
      color: var(--white);
      left: 0;
      position: fixed;
      right: 0;
      top: 0;
      z-index: 1000;
    }

    .nav-wrap {
      align-items: center;
      display: flex;
      gap: 24px;
      height: var(--header-height);
      justify-content: space-between;
    }

    .logo {
      align-items: center;
      display: inline-flex;
      flex-shrink: 0;
      gap: 12px;
      min-width: 0;
    }

    .nav-wrap-end {
      align-items: center;
      display: flex;
      flex: 1;
      gap: 18px;
      justify-content: flex-end;
      min-width: 0;
    }

    .nav-wrap-end .main-nav {
      flex: 0 1 auto;
      justify-content: flex-end;
    }

    .header-right {
      align-items: center;
      display: flex;
      flex-shrink: 0;
      gap: 18px;
    }

    .logo-mark {
      background: var(--white);
      border-radius: 7px;
      color: var(--blue-600);
      display: grid;
      font-weight: 950;
      height: 44px;
      letter-spacing: 0;
      line-height: 1;
      place-items: center;
      width: 58px;
    }

    .logo-text {
      display: grid;
      gap: 1px;
      line-height: 1;
      text-transform: uppercase;
    }

    .logo-line {
      color: var(--white);
      font-size: 1.05rem;
      font-weight: 950;
      letter-spacing: .04em;
    }

    .logo-tagline {
      color: rgba(255, 255, 255, .82);
      font-size: .62rem;
      font-weight: 700;
      letter-spacing: .2em;
      margin-top: 3px;
    }

    .main-nav {
      align-items: center;
      display: flex;
      flex: 1;
      gap: 3px;
      justify-content: center;
    }

    .nav-link,
    .mega-trigger {
      align-items: center;
      background: transparent;
      border: 0;
      border-radius: 999px;
      color: rgba(255, 255, 255, .84);
      cursor: pointer;
      display: inline-flex;
      flex-wrap: nowrap;
      font-size: .84rem;
      font-weight: 350;
      gap: 6px;
      line-height: 1;
      padding: 10px 9px;
      transition: background .2s var(--ease), color .2s var(--ease);
      white-space: nowrap;
    }

    .mega-trigger-label {
      line-height: 1.2;
      white-space: nowrap;
    }

    .nav-link:hover,
    .mega-trigger:hover,
    .nav-item:focus-within .mega-trigger {
      background: rgba(255, 255, 255, .1);
      color: var(--white);
    }

    .nav-link.is-active,
    .mega-trigger.is-active,
    .nav-item:focus-within .mega-trigger.is-active {
      background: rgba(255, 255, 255, .16);
      color: var(--white);
      font-weight: 500;
    }

    .nav-link.is-active:hover,
    .mega-trigger.is-active:hover {
      background: rgba(255, 255, 255, .2);
      color: var(--white);
    }

    .nav-chevron {
      align-items: center;
      display: inline-flex;
      flex: 0 0 auto;
      height: 1em;
      justify-content: center;
      line-height: 1;
      width: .7em;
    }

    .nav-chevron svg {
      display: block;
      height: .45em;
      width: .7em;
    }

    .nav-item {
      position: static;
    }

    .mega-menu {
      background: var(--white);
      border: 1px solid rgba(8, 32, 58, .08);
      border-radius: 0 0 var(--radius-lg) var(--radius-lg);
      box-shadow: 0 26px 80px rgba(0, 0, 0, .2);
      color: var(--gray-950);
      left: 50%;
      opacity: 0;
      padding: 28px;
      padding-top: 42px;
      pointer-events: none;
      position: absolute;
      top: calc(var(--header-height) - 14px);
      transform: translateX(-50%) translateY(12px);
      transition: opacity .22s var(--ease), transform .22s var(--ease), visibility .22s var(--ease);
      visibility: hidden;
      width: min(1040px, calc(100vw - 40px));
    }

    .mega-menu::before {
      content: '';
      height: 14px;
      left: 0;
      position: absolute;
      right: 0;
      top: 0;
    }

    .nav-item:hover .mega-menu,
    .nav-item:focus-within .mega-menu,
    .mega-trigger:hover + .mega-menu,
    .mega-menu:hover,
    .mega-menu.open {
      opacity: 1;
      pointer-events: auto;
      transform: translateX(-50%) translateY(0);
      visibility: visible;
    }

    .nav-item:has(.mega-menu:hover) .mega-trigger,
    .nav-item:has(.mega-menu.open) .mega-trigger {
      background: rgba(255, 255, 255, .1);
      color: var(--white);
    }

    .mega-grid {
      display: grid;
      gap: 22px;
      grid-template-columns: repeat(5, 1fr);
    }

    .mega-group h3 {
      border-bottom: 1px solid var(--gray-200);
      color: var(--navy-900);
      font-size: .88rem;
      margin-bottom: 12px;
      padding-bottom: 10px;
      text-transform: uppercase;
    }

    .mega-menu-simple {
      padding: 18px 22px;
      width: min(320px, calc(100vw - 40px));
    }

    .mega-simple-links {
      display: grid;
      gap: 4px;
    }

    .mega-simple-links a {
      border-radius: 10px;
      color: var(--navy-900);
      display: block;
      font-size: .92rem;
      font-weight: 600;
      padding: 10px 12px;
      transition: background .2s var(--ease), color .2s var(--ease);
    }

    .mega-simple-links a:hover {
      background: var(--ice-50);
      color: var(--blue-600);
    }

    .mega-group a {
      border-radius: 6px;
      color: var(--gray-700);
      display: block;
      font-size: .92rem;
      font-weight: 650;
      padding: 7px 8px;
      transition: background .2s var(--ease), color .2s var(--ease), transform .2s var(--ease);
    }

    .mega-group a:hover {
      background: rgba(20, 147, 255, .08);
      color: var(--blue-600);
      transform: translateX(3px);
    }

    .mega-group a.is-active,
    .mega-simple-links a.is-active {
      background: rgba(20, 147, 255, .12);
      color: var(--blue-600);
      font-weight: 700;
    }

    .mega-cta {
      align-items: center;
      background: linear-gradient(135deg, var(--navy-900), var(--navy-800));
      border-radius: var(--radius);
      color: var(--white);
      display: flex;
      gap: 18px;
      justify-content: space-between;
      margin-top: 22px;
      padding: 18px;
    }

    .mega-cta p {
      color: rgba(255, 255, 255, .74);
      font-size: .92rem;
    }

    .header-cta {
      align-items: flex-end;
      display: grid;
      justify-items: end;
      line-height: 1.1;
      min-width: 0;
    }

    .header-cta span {
      color: var(--cyan-300);
      font-size: .68rem;
      font-weight: 900;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .header-cta a {
      color: var(--white);
      font-size: 1rem;
      font-weight: 350;
      text-decoration: none;
      transition: color .2s var(--ease), opacity .2s var(--ease);
    }

    .header-cta a:hover {
      color: var(--cyan-300);
      opacity: .95;
    }

    .header-cta a:focus-visible {
      border-radius: 4px;
      color: var(--cyan-300);
      outline: 2px solid rgba(118, 218, 252, .45);
      outline-offset: 3px;
    }

    .social-icons {
      align-items: center;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      gap: 12px;
      width: fit-content;
    }

    .social-icons[role='list'] {
      list-style: none;
      margin: 0;
      padding: 0;
    }

    .social-icons .social-icon-link {
      align-items: center;
      color: var(--white);
      display: inline-flex;
      flex: 0 0 auto;
      height: 34px;
      justify-content: center;
      transition: color .2s var(--ease), opacity .2s var(--ease);
      width: 34px;
    }

    .social-icons .social-icon-link:hover {
      color: var(--cyan-300);
      opacity: .92;
    }

    .social-icons svg {
      display: block;
      flex-shrink: 0;
      height: 18px;
      max-height: 18px;
      max-width: 18px;
      width: 18px;
    }

    .header-social.social-icons,
    .footer-social.social-icons {
      align-items: center;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
    }

    .header-social.social-icons {
      gap: 16px;
    }

    .header-social .social-icon-link {
      height: 40px;
      width: 40px;
    }

    .header-social svg {
      height: 24px;
      max-height: 24px;
      max-width: 24px;
      width: 24px;
    }

    .header-social .social-icon-link:hover {
      color: var(--white);
      opacity: .88;
    }

    .menu-toggle {
      align-items: center;
      background: rgba(255, 255, 255, .1);
      border: 1px solid rgba(255, 255, 255, .16);
      border-radius: var(--radius);
      color: var(--white);
      cursor: pointer;
      display: none;
      height: 44px;
      justify-content: center;
      width: 44px;
    }

    .menu-toggle span,
    .menu-toggle span::before,
    .menu-toggle span::after {
      background: currentColor;
      content: "";
      display: block;
      height: 2px;
      transition: transform .25s var(--ease), opacity .25s var(--ease);
      width: 20px;
    }

    .menu-toggle span::before {
      transform: translateY(-7px);
    }

    .menu-toggle span::after {
      transform: translateY(5px);
    }

    .menu-toggle.active span {
      transform: rotate(45deg);
    }

    .menu-toggle.active span::before {
      opacity: 0;
    }

    .menu-toggle.active span::after {
      transform: translateY(-2px) rotate(-90deg);
    }

    /* Hero Section With Opening Video */
    .hero {
      background: var(--navy-950);
      color: var(--white);
      min-height: 860px;
      overflow: hidden;
      padding: calc(var(--header-height) + 70px) 0 74px;
      position: relative;
    }

    .hero::before {
      background:
        linear-gradient(90deg, rgba(6, 21, 37, .96) 0%, rgba(6, 21, 37, .78) 44%, rgba(6, 21, 37, .36) 100%),
        radial-gradient(circle at 76% 24%, rgba(20, 147, 255, .24), transparent 34%),
        linear-gradient(135deg, rgba(255, 255, 255, .05), transparent);
      content: "";
      inset: 0;
      position: absolute;
      z-index: 1;
    }

    .video-placeholder {
      background:
        linear-gradient(90deg, rgba(6, 21, 37, .28), rgba(6, 21, 37, .05) 62%, rgba(6, 21, 37, .42)),
        radial-gradient(circle at 78% 38%, rgba(73, 185, 255, .24), transparent 17%),
        radial-gradient(circle at 60% 66%, rgba(118, 218, 252, .13), transparent 18%),
        url("../images/hero-mechanical-room.webp"),
        linear-gradient(145deg, #0d355d, #081b30 56%, #123f6e);
      background-position: center;
      background-size: cover;
      inset: 0;
      position: absolute;
    }

    .visual-img {
      display: block;
      height: 100%;
      inset: 0;
      object-fit: cover;
      position: absolute;
      width: 100%;
    }

    .video-placeholder .visual-img,
    .video-placeholder .hero-video {
      z-index: 0;
    }

    .hero-video {
      background: var(--navy-950);
      object-fit: cover;
    }

    .video-placeholder::before {
      background:
        radial-gradient(circle at 72% 52%, rgba(118, 218, 252, .24), transparent 15%),
        radial-gradient(ellipse at 83% 58%, rgba(255, 255, 255, .18), transparent 11%),
        linear-gradient(0deg, rgba(0, 0, 0, .34), transparent 50%);
      content: "";
      inset: 0;
      position: absolute;
      z-index: 1;
    }

    .video-label {
      align-items: center;
      background: rgba(255, 255, 255, .08);
      border: 1px solid rgba(255, 255, 255, .15);
      border-radius: var(--radius);
      color: rgba(255, 255, 255, .8);
      display: flex;
      gap: 12px;
      position: absolute;
      right: clamp(22px, 7vw, 96px);
      top: 170px;
      padding: 12px 16px;
      z-index: 2;
    }

    .play {
      background: var(--blue-500);
      border-radius: 50%;
      height: 36px;
      position: relative;
      width: 36px;
    }

    .play::after {
      border-bottom: 7px solid transparent;
      border-left: 11px solid var(--white);
      border-top: 7px solid transparent;
      content: "";
      left: 14px;
      position: absolute;
      top: 11px;
    }

    .hero-inner {
      display: grid;
      gap: 46px;
      grid-template-columns: minmax(0, 1fr);
      position: relative;
      z-index: 2;
    }

    .hero-copy {
      display: grid;
      gap: 24px;
      max-width: 900px;
      padding-top: 55px;
    }

    .hero-copy .eyebrow {
      color: var(--cyan-300);
    }

    .hero-copy p {
      color: rgba(255, 255, 255, .82);
      font-size: clamp(1.08rem, 2vw, 1.28rem);
      max-width: 760px;
    }

    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      margin-top: 6px;
    }

    .hero-trust {
      align-items: stretch;
      display: grid;
      gap: 14px;
      grid-template-columns: repeat(5, 1fr);
      margin-top: 62px;
    }

    .hero-trust-card {
      background: rgba(255, 255, 255, .1);
      border: 1px solid rgba(255, 255, 255, .16);
      border-radius: var(--radius);
      min-height: 116px;
      padding: 18px;
      transition: background .25s var(--ease), transform .25s var(--ease);
    }

    .hero-trust-card:hover {
      background: rgba(255, 255, 255, .16);
      transform: translateY(-4px);
    }

    .hero-trust-card strong {
      color: var(--white);
      display: block;
      font-size: 1.12rem;
      line-height: 1.15;
      margin-bottom: 8px;
    }

    .hero-trust-card span {
      color: rgba(255, 255, 255, .68);
      font-size: .87rem;
    }

    /* Trust Bar */
    .trust-bar {
      background: var(--white);
      box-shadow: var(--shadow-soft);
      position: relative;
      z-index: 5;
    }

    .trust-strip {
      display: grid;
      gap: 18px;
      grid-template-columns: repeat(5, 1fr);
      padding: 22px 0;
    }

    .trust-item {
      align-items: center;
      border-right: 1px solid var(--gray-200);
      display: flex;
      gap: 12px;
      min-height: 46px;
    }

    .trust-item:last-child {
      border-right: 0;
    }

    .trust-item span {
      color: var(--navy-900);
      font-size: .94rem;
      font-weight: 850;
      line-height: 1.2;
    }

    /* Expertise & Stats */
    .stats-section {
      background:
        linear-gradient(180deg, var(--ice-50), var(--ice-100));
      overflow: visible;
    }

    .stats-section::before {
      display: none;
    }

    .expertise-eyebrow {
      color: var(--blue-600);
      display: inline-block;
      font-size: .74rem;
      font-weight: 800;
      letter-spacing: .1em;
      line-height: 1.2;
      margin-bottom: 4px;
      padding: 10px 16px;
      text-transform: uppercase;
    }

    .expertise-eyebrow::before {
      content: "— ";
    }

    .expertise-intro {
      color: var(--gray-700);
      font-size: 1.05rem;
      line-height: 1.7;
      max-width: 640px;
    }

    .stats-grid {
      display: grid;
      gap: 18px;
      grid-template-columns: repeat(5, 1fr);
    }

    .expertise-layout {
      align-items: stretch;
      display: grid;
      gap: 44px;
      grid-template-columns: 1fr 1fr;
    }

    .expertise-content {
      display: grid;
      gap: 28px;
      padding-block: 8px;
    }

    .expertise-content .section-head {
      gap: 18px;
      margin-bottom: 0;
    }

    .expertise-content .section-head h2 {
      max-width: none;
    }

    .expertise-content .stats-grid,
    .expertise-stats-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .expertise-content .stats-grid .stat-card:last-child:nth-child(odd),
    .expertise-stats-grid .stat-card:last-child:nth-child(odd) {
      grid-column: 1 / -1;
    }

    .expertise-content .stat-card {
      background: var(--white);
      min-height: 132px;
    }

    .expertise-content .expertise-cta {
      justify-self: stretch;
      width: 100%;
    }

    .stat-card {
      background: rgba(255, 255, 255, .86);
      border: 1px solid rgba(8, 32, 58, .08);
      border-radius: var(--radius);
      box-shadow: 0 18px 44px rgba(8, 32, 58, .08);
      min-height: 164px;
      padding: 24px;
      position: relative;
      overflow: hidden;
    }

    .stat-card::after {
      background: linear-gradient(135deg, rgba(20, 147, 255, .18), transparent);
      content: "";
      height: 80px;
      pointer-events: none;
      position: absolute;
      right: -26px;
      top: -26px;
      transform: rotate(18deg);
      width: 80px;
    }

    .stat-number {
      color: var(--blue-600);
      display: block;
      font-size: clamp(2.1rem, 4vw, 3rem);
      font-weight: 950;
      letter-spacing: 0;
      line-height: 1;
      margin-bottom: 12px;
    }

    .stat-card p {
      color: var(--navy-900);
      font-weight: 850;
      line-height: 1.25;
    }

    /* Services Overview Section */
    #services {
      background:
        linear-gradient(135deg, rgba(10, 116, 216, .055), transparent 38%),
        linear-gradient(180deg, var(--white), var(--ice-50));
    }

    #services::before {
      background:
        linear-gradient(135deg, rgba(8, 32, 58, .045), transparent 62%),
        linear-gradient(180deg, rgba(255, 255, 255, .68), rgba(255, 255, 255, 0));
      clip-path: polygon(66% 0, 100% 0, 100% 100%, 48% 100%);
      content: "";
      inset: 0;
      position: absolute;
    }

    .services-grid {
      display: grid;
      gap: 18px;
      grid-template-columns: repeat(4, 1fr);
    }

    .services-showcase {
      display: grid;
      gap: 22px;
      grid-template-columns: 1.1fr .9fr;
    }

    .service-feature-grid {
      display: grid;
      gap: 18px;
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .service-feature {
      background: rgba(255, 255, 255, .92);
      border: 1px solid rgba(8, 32, 58, .09);
      border-radius: var(--radius);
      box-shadow: 0 18px 44px rgba(8, 32, 58, .07);
      color: var(--gray-950);
      display: flex;
      flex-direction: column;
      min-height: 430px;
      min-width: 0;
      overflow: hidden;
      position: relative;
      transition: border .25s var(--ease), box-shadow .25s var(--ease), transform .25s var(--ease);
    }

    .service-feature:hover {
      border-color: rgba(20, 147, 255, .36);
      box-shadow: var(--shadow-soft);
      transform: translateY(-5px);
    }

    .service-feature img {
      flex-shrink: 0;
      height: 250px;
      object-fit: cover;
      width: 100%;
    }

    .service-feature-body {
      display: flex;
      flex: 1;
      flex-direction: column;
      gap: 14px;
      min-width: 0;
      padding: 24px;
    }

    .service-feature-body p {
      font-size: .98rem;
      line-height: 1.55;
      overflow-wrap: anywhere;
    }

    .service-feature-btn {
      align-self: stretch;
      margin-top: auto;
      width: 100%;
    }

    .service-list-panel {
      background: rgba(232, 238, 244, .78);
      border: 1px solid rgba(8, 32, 58, .08);
      border-radius: var(--radius);
      display: grid;
      gap: 8px;
      padding: 14px;
    }

    .service-list-panel h3 {
      padding: 10px 10px 4px;
    }

    .service-row {
      align-items: center;
      background: rgba(255, 255, 255, .88);
      border: 1px solid rgba(8, 32, 58, .08);
      border-radius: var(--radius);
      display: grid;
      gap: 14px;
      grid-template-columns: 44px 1fr auto;
      min-height: 78px;
      padding: 14px;
      transition: border .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease);
    }

    .service-row:hover {
      border-color: rgba(20, 147, 255, .3);
      box-shadow: 0 14px 28px rgba(8, 32, 58, .07);
      transform: translateX(4px);
    }

    .service-row p {
      font-size: .88rem;
      line-height: 1.35;
    }

    .service-row strong {
      color: var(--navy-950);
      display: block;
      line-height: 1.15;
      margin-bottom: 3px;
    }

    .service-row::after {
      color: var(--blue-600);
      content: "→";
      font-size: 1.1rem;
      font-weight: 900;
      line-height: 1;
    }

    .service-card {
      background: var(--white);
      border: 1px solid rgba(8, 32, 58, .09);
      border-radius: var(--radius);
      display: grid;
      gap: 14px;
      min-height: 220px;
      padding: 24px;
      position: relative;
      transition: border .25s var(--ease), box-shadow .25s var(--ease), transform .25s var(--ease);
      overflow: hidden;
    }

    .service-card::after {
      color: var(--blue-600);
      content: "->";
      font-weight: 900;
      opacity: 0;
      position: absolute;
      right: 22px;
      top: 24px;
      transform: translateX(-8px);
      transition: opacity .25s var(--ease), transform .25s var(--ease);
    }

    .service-card.has-image {
      background: var(--white);
      min-height: 260px;
      padding-top: 158px;
    }

    .service-card.has-image::before {
      background:
        linear-gradient(180deg, rgba(6, 21, 37, .08), rgba(6, 21, 37, .34));
      content: "";
      height: 132px;
      inset: 0 0 auto;
      position: absolute;
      z-index: 1;
    }

    .service-card .card-img {
      height: 132px;
      inset: 0 0 auto;
      object-fit: cover;
      position: absolute;
      width: 100%;
      z-index: 0;
    }

    .service-card.has-image .icon {
      background: rgba(255, 255, 255, .82);
      backdrop-filter: blur(8px);
      left: 24px;
      position: absolute;
      top: 106px;
      z-index: 1;
    }

    .service-card.has-image h3,
    .service-card.has-image p {
      position: relative;
      z-index: 1;
    }

    .service-card:hover {
      border-color: rgba(20, 147, 255, .36);
      box-shadow: var(--shadow-soft);
      transform: translateY(-5px);
    }

    .service-card:hover::after {
      opacity: 1;
      transform: translateX(0);
    }

    .service-card p {
      font-size: .96rem;
    }

    .section-cta {
      display: flex;
      justify-content: center;
      margin-top: 34px;
    }

    /* Property Types Section */
    .property-section {
      background:
        linear-gradient(135deg, rgba(10, 116, 216, .05), transparent 44%),
        linear-gradient(180deg, var(--steel-100), var(--ice-50));
    }

    .property-section::before {
      background: linear-gradient(135deg, rgba(255, 255, 255, .58), rgba(255, 255, 255, 0));
      clip-path: polygon(0 18%, 44% 0, 24% 100%, 0 100%);
      content: "";
      inset: 0;
      position: absolute;
    }

    .property-layout {
      align-items: stretch;
      display: grid;
      gap: 24px;
      grid-template-columns: .92fr 1.08fr;
    }

    .property-visual {
      border-radius: var(--radius);
      min-height: 520px;
      overflow: hidden;
      position: relative;
    }

    .property-visual img {
      height: 100%;
      object-fit: cover;
      position: absolute;
      width: 100%;
    }

    .property-visual::after {
      background: linear-gradient(180deg, rgba(6, 21, 37, .08), rgba(6, 21, 37, .72));
      content: "";
      inset: 0;
      position: absolute;
    }

    .property-visual-badge {
      background: var(--white);
      border-radius: var(--radius);
      bottom: 22px;
      color: var(--navy-900);
      display: grid;
      gap: 4px;
      left: 22px;
      max-width: 320px;
      padding: 18px;
      position: absolute;
      z-index: 1;
    }

    .property-list {
      display: grid;
      gap: 12px;
    }

    .property-row {
      align-items: center;
      background: rgba(255, 255, 255, .9);
      border: 1px solid rgba(8, 32, 58, .08);
      border-radius: var(--radius);
      display: grid;
      gap: 18px;
      grid-template-columns: 84px 1fr;
      min-height: 116px;
      padding: 14px;
      transition: box-shadow .25s var(--ease), transform .25s var(--ease);
    }

    .property-row:hover {
      box-shadow: var(--shadow-soft);
      transform: translateY(-3px);
    }

    .property-row img {
      aspect-ratio: 1;
      border-radius: 6px;
      height: 84px;
      object-fit: cover;
      width: 84px;
    }

    .property-row p {
      font-size: .94rem;
    }

    .property-grid {
      display: grid;
      gap: 18px;
      grid-template-columns: repeat(4, 1fr);
    }

    .property-card {
      border-radius: var(--radius);
      color: var(--white);
      min-height: 370px;
      overflow: hidden;
      position: relative;
    }

    .property-card::before {
      background: linear-gradient(180deg, rgba(6, 21, 37, .16), rgba(6, 21, 37, .88));
      content: "";
      inset: 0;
      position: absolute;
      transform: scale(1);
      transition: transform .6s var(--ease);
      background-position: center;
      background-size: cover;
      z-index: 1;
    }

    .property-img {
      height: 100%;
      inset: 0;
      object-fit: cover;
      position: absolute;
      transform: scale(1);
      transition: transform .6s var(--ease);
      width: 100%;
      z-index: 0;
    }

    .property-card:hover .property-img {
      transform: scale(1.08);
    }

    .property-content {
      bottom: 0;
      display: grid;
      gap: 14px;
      left: 0;
      padding: 24px;
      position: absolute;
      right: 0;
      z-index: 2;
    }

    .property-content .icon {
      background: rgba(255, 255, 255, .13);
      border-color: rgba(255, 255, 255, .2);
      color: var(--white);
    }

    .property-content h3 {
      color: var(--white);
    }

    .property-content p {
      color: rgba(255, 255, 255, .75);
      font-size: .95rem;
    }

    /* Specialty Systems Section */
    .specialty-section {
      background:
        linear-gradient(180deg, rgba(6, 21, 37, .91), rgba(8, 32, 58, .9)),
        linear-gradient(90deg, rgba(6, 21, 37, .96), rgba(6, 21, 37, .42)),
        radial-gradient(circle at 78% 18%, rgba(73, 185, 255, .19), transparent 22%),
        linear-gradient(135deg, rgba(20, 147, 255, .13), transparent 36%),
        linear-gradient(180deg, var(--navy-950), var(--navy-900));
      background-position: center;
      background-size: cover;
      color: var(--white);
      overflow: hidden;
    }

    .specialty-section::before {
      background: linear-gradient(90deg, rgba(6, 21, 37, .96), rgba(6, 21, 37, .34));
      content: "";
      inset: 0;
      opacity: .88;
      position: absolute;
      z-index: 1;
    }

    .specialty-section .container {
      position: relative;
      z-index: 2;
    }

    .section-bg-img {
      height: 100%;
      inset: 0;
      object-fit: cover;
      position: absolute;
      width: 100%;
      z-index: 0;
    }

    .specialty-section .section-bg-img {
      opacity: .2;
    }

    .specialty-section h2,
    .specialty-section h3 {
      color: var(--white);
    }

    .specialty-section p {
      color: rgba(255, 255, 255, .72);
    }

    .specialty-grid {
      display: grid;
      gap: 18px;
      grid-template-columns: repeat(3, 1fr);
    }

    .specialty-split {
      align-items: end;
      display: grid;
      gap: 38px;
      grid-template-columns: .85fr 1.15fr;
    }

    .specialty-points {
      display: grid;
      gap: 12px;
    }

    .specialty-point {
      background: rgba(255, 255, 255, .08);
      border: 1px solid rgba(255, 255, 255, .14);
      border-radius: var(--radius);
      display: grid;
      gap: 8px;
      padding: 18px;
    }

    .specialty-point p {
      font-size: .95rem;
    }

    .specialty-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 6px;
    }

    .specialty-card {
      background: rgba(255, 255, 255, .07);
      border: 1px solid rgba(255, 255, 255, .13);
      border-radius: var(--radius);
      display: grid;
      gap: 14px;
      min-height: 226px;
      padding: 25px;
      transition: background .25s var(--ease), border .25s var(--ease), transform .25s var(--ease);
    }

    .specialty-card:hover {
      background: rgba(255, 255, 255, .11);
      border-color: rgba(118, 218, 252, .42);
      transform: translateY(-5px);
    }

    .specialty-card .icon {
      background: rgba(20, 147, 255, .18);
      border-color: rgba(118, 218, 252, .24);
      color: var(--cyan-300);
    }

    /* Team / Company Scale Section */
    .team-wrap {
      align-items: center;
      display: grid;
      gap: 46px;
      grid-template-columns: 1.05fr .95fr;
    }

    .team-photo {
      background: var(--steel-100);
      background-position: center;
      background-size: cover;
      border-radius: var(--radius);
      box-shadow: var(--shadow-soft);
      min-height: 480px;
      overflow: hidden;
      position: relative;
    }

    .team-photo::before,
    .about-intro-visual::before,
    .plumbing-services-intro-visual::before {
      background: linear-gradient(
        0deg,
        rgba(6, 21, 37, 0.9) 0%,
        rgba(6, 21, 37, 0.58) 22%,
        rgba(6, 21, 37, 0.22) 42%,
        transparent 62%
      );
      content: "";
      inset: 0;
      pointer-events: none;
      position: absolute;
      z-index: 1;
    }

    .team-photo .visual-img {
      display: block;
      height: 100%;
      inset: 0;
      object-fit: cover;
      position: absolute;
      width: 100%;
      z-index: 0;
    }

    .team-photo picture {
      display: block;
      height: 100%;
      inset: 0;
      position: absolute;
      width: 100%;
      z-index: 0;
    }

    .photo-badge,
    .about-photo-badge,
    .plumbing-services-photo-badge {
      background: var(--white);
      border-radius: var(--radius);
      box-shadow: var(--shadow-soft);
      color: var(--navy-900);
      display: grid;
      gap: 6px;
      padding: 18px;
      position: absolute;
      z-index: 2;
    }

    .photo-badge {
      bottom: 24px;
      left: 24px;
      max-width: 280px;
    }

    .photo-badge strong,
    .about-photo-badge strong,
    .plumbing-services-photo-badge strong {
      font-size: 1.35rem;
      line-height: 1.1;
    }

    .photo-badge span,
    .about-photo-badge span,
    .plumbing-services-photo-badge span {
      color: var(--gray-700);
      font-size: .92rem;
      line-height: 1.45;
    }

    @media (max-width: 991px) {
      .team-photo,
      .about-intro-visual,
      .plumbing-services-intro-visual {
        aspect-ratio: 1.05 / 1;
        min-height: clamp(260px, 92vw, 420px);
      }

      .team-photo .visual-img,
      .about-intro-visual img,
      .plumbing-services-intro-visual img {
        height: 100%;
        inset: 0;
        position: absolute;
        width: 100%;
      }

      @supports not (aspect-ratio: 1 / 1) {
        .team-photo,
        .about-intro-visual,
        .plumbing-services-intro-visual {
          height: auto;
          min-height: 0;
          padding-bottom: 95.24%;
          position: relative;
        }

        .team-photo .visual-img,
        .about-intro-visual img,
        .plumbing-services-intro-visual img {
          height: 100%;
          inset: 0;
          position: absolute;
          width: 100%;
        }
      }

      .photo-badge,
      .about-photo-badge,
      .plumbing-services-photo-badge {
        bottom: 20px;
        box-sizing: border-box;
        left: 50%;
        max-width: calc(100% - 40px);
        right: auto;
        transform: translateX(-50%);
        width: calc(100% - 40px);
      }

      .photo-badge strong,
      .about-photo-badge strong,
      .plumbing-services-photo-badge strong {
        font-size: clamp(1.15rem, 4.8vw, 1.35rem);
      }
    }

    .team-copy {
      display: grid;
      gap: 22px;
    }

    .side-stats {
      display: grid;
      gap: 12px;
      margin: 10px 0;
    }

    .side-stat {
      align-items: center;
      background: var(--gray-100);
      border-left: 4px solid var(--blue-500);
      border-radius: var(--radius);
      display: flex;
      gap: 16px;
      padding: 16px 18px;
    }

    .side-stat strong {
      color: var(--blue-600);
      font-size: 1.35rem;
      min-width: 80px;
    }

    .side-stat span {
      color: var(--navy-900);
      font-weight: 800;
    }

    /* Financing / CTA Section */
    .financing {
      background:
        linear-gradient(90deg, rgba(6, 21, 37, .96), rgba(8, 32, 58, .84) 48%, rgba(6, 21, 37, .62)),
        radial-gradient(circle at 78% 40%, rgba(73, 185, 255, .2), transparent 24%),
        url("../images/financing-project-planning.webp"),
        linear-gradient(135deg, #08203a, #0a74d8);
      background-position: center;
      background-size: cover;
      color: var(--white);
      overflow: hidden;
      position: relative;
    }

    .slim-cta {
      background:
        linear-gradient(90deg, rgba(6, 21, 37, .96), rgba(8, 32, 58, .86)),
        linear-gradient(135deg, var(--navy-950), var(--blue-600));
      color: var(--white);
      padding: 34px 0;
    }

    .slim-cta-inner {
      align-items: center;
      display: flex;
      gap: 24px;
      justify-content: space-between;
    }

    .slim-cta h2 {
      color: var(--white);
      font-size: clamp(1.45rem, 2.4vw, 2.2rem);
    }

    .slim-cta p {
      color: rgba(255, 255, 255, .72);
      max-width: 620px;
    }

    .slim-cta-light {
      background:
        linear-gradient(135deg, rgba(10, 116, 216, .055), transparent 36%),
        linear-gradient(180deg, var(--white), var(--ice-100));
      border-bottom: 1px solid rgba(8, 32, 58, .08);
      border-top: 1px solid rgba(8, 32, 58, .08);
      color: var(--navy-950);
      padding: 30px 0;
      position: relative;
    }

    .slim-cta-light::before {
      background: rgba(8, 32, 58, .035);
      clip-path: polygon(72% 0, 100% 0, 100% 100%, 58% 100%);
      content: "";
      inset: 0;
      position: absolute;
    }

    .slim-cta-light h2 {
      color: var(--navy-950);
    }

    .slim-cta-light p {
      color: var(--gray-700);
    }

    .financing::before {
      background:
        linear-gradient(90deg, rgba(6, 21, 37, .96), rgba(8, 32, 58, .84) 48%, rgba(6, 21, 37, .62)),
        radial-gradient(circle at 78% 40%, rgba(73, 185, 255, .2), transparent 24%);
      content: "";
      inset: 0;
      position: absolute;
      z-index: 1;
    }

    .financing .section-bg-img {
      opacity: 1;
    }

    .financing-box {
      align-items: center;
      display: grid;
      gap: 28px;
      grid-template-columns: 1fr auto;
      position: relative;
      z-index: 2;
    }

    .financing.section {
      padding: 52px 0;
    }

    .financing h2 {
      color: var(--white);
    }

    .financing .eyebrow {
      color: var(--blue-400);
    }

    .financing .eyebrow::before {
      background: var(--blue-400);
    }

    .financing p {
      color: rgba(255, 255, 255, .76);
      font-size: 1.1rem;
      margin-top: 14px;
      max-width: 680px;
    }

    .financing-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      justify-content: flex-end;
    }

    /* FAQ Preview Section */
    #faq {
      background:
        linear-gradient(135deg, rgba(8, 32, 58, .045), transparent 34%),
        linear-gradient(180deg, var(--ice-50), var(--white));
    }

    #faq::before {
      background: linear-gradient(135deg, rgba(10, 116, 216, .055), rgba(10, 116, 216, 0));
      clip-path: polygon(0 0, 34% 0, 18% 100%, 0 100%);
      content: "";
      inset: 0;
      position: absolute;
    }

    .faq-wrap {
      display: grid;
      gap: 38px;
      grid-template-columns: .8fr 1.2fr;
    }

    .accordion {
      display: grid;
      gap: 12px;
    }

    .faq-item {
      background: rgba(255, 255, 255, .9);
      border: 1px solid rgba(8, 32, 58, .1);
      border-radius: var(--radius);
      box-shadow: 0 14px 34px rgba(8, 32, 58, .06);
      overflow: hidden;
    }

    .faq-question {
      align-items: flex-start;
      background: transparent;
      border: 0;
      color: var(--navy-900);
      cursor: pointer;
      display: flex;
      font-weight: 900;
      gap: 16px;
      justify-content: space-between;
      padding: 20px 22px;
      text-align: left;
      width: 100%;
    }

    .faq-question span:first-child {
      flex: 1;
      line-height: 1.45;
      min-width: 0;
    }

    .faq-question span:last-child {
      color: var(--blue-600);
      flex-shrink: 0;
      font-size: 1.35rem;
      line-height: 1;
      transition: transform .25s var(--ease);
    }

    .faq-answer {
      display: grid;
      grid-template-rows: 0fr;
      overflow: hidden;
      transition: grid-template-rows .35s var(--ease);
    }

    .faq-item.active .faq-answer {
      grid-template-rows: 1fr;
    }

    .faq-answer-inner {
      min-height: 0;
      overflow: hidden;
    }

    .faq-answer-inner p {
      color: var(--gray-700);
      line-height: 1.65;
      padding: 0 22px 20px;
    }

    .faq-answer-inner p + p {
      padding-top: 8px;
    }

    .faq-item.active .faq-question span:last-child {
      transform: rotate(45deg);
    }

    /* Final Emergency CTA Footer Strip */
    .emergency-strip {
      background: var(--navy-950);
      color: var(--white);
      padding: 28px 0;
    }

    .emergency-inner {
      align-items: center;
      display: flex;
      gap: 24px;
      justify-content: space-between;
    }

    .emergency-copy {
      align-items: baseline;
      display: flex;
      flex: 1 1 auto;
      flex-wrap: wrap;
      gap: 10px 16px;
      min-width: 0;
    }

    .emergency-headline {
      color: var(--white);
      font-size: clamp(1.35rem, 2.4vw, 1.85rem);
      font-weight: 900;
      line-height: 1.1;
      white-space: nowrap;
    }

    .emergency-phone {
      color: var(--blue-400);
      font-size: clamp(1.25rem, 2.2vw, 1.75rem);
      font-weight: 900;
      line-height: 1.1;
      white-space: nowrap;
    }

    .emergency-phone a {
      color: inherit;
      font-weight: inherit;
      text-decoration: none;
    }

    .emergency-phone a:hover {
      color: var(--cyan-300);
    }

    .emergency-phone-label {
      color: rgba(255, 255, 255, .62);
      font-size: clamp(.95rem, 1.6vw, 1.05rem);
      font-weight: 600;
      line-height: 1.2;
      white-space: nowrap;
    }

    .emergency-cta {
      flex: 0 0 auto;
      min-width: 190px;
    }

    /* Footer */
    .site-footer {
      background: #050c14;
      color: var(--white);
      padding: 72px 0 32px;
    }

    .footer-grid {
      align-items: start;
      display: grid;
      gap: 40px 48px;
      grid-template-columns: minmax(280px, 1.45fr) minmax(120px, .8fr) minmax(150px, .95fr) minmax(150px, 1fr);
      margin-bottom: 48px;
    }

    .footer-col {
      display: grid;
      gap: 16px;
    }

    .footer-col-brand {
      gap: 20px;
      max-width: 380px;
    }

    .site-footer .logo {
      align-self: start;
      gap: 14px;
    }

    .site-footer .logo-icon {
      height: 60px;
      max-width: 225px;
      width: 90px;
    }

    .site-footer .logo-line {
      font-size: 1rem;
      letter-spacing: .06em;
    }

    .site-footer .logo-tagline {
      color: rgba(255, 255, 255, .76);
      font-size: .58rem;
      letter-spacing: .22em;
    }

    .footer-description {
      color: rgba(255, 255, 255, .68);
      font-size: .94rem;
      line-height: 1.65;
      margin: 0;
      max-width: 340px;
    }

    .site-footer h3 {
      color: var(--white);
      font-size: .98rem;
      font-weight: 850;
      letter-spacing: .01em;
      line-height: 1.2;
      margin: 0 0 4px;
    }

    .site-footer ul,
    .site-footer address {
      color: rgba(255, 255, 255, .68);
      display: grid;
      font-size: .92rem;
      font-style: normal;
      gap: 10px;
      line-height: 1.45;
      list-style: none;
      margin: 0;
    }

    .site-footer .footer-col a {
      color: rgba(255, 255, 255, .68);
      transition: color .2s var(--ease);
    }

    .site-footer .footer-col a:hover {
      color: var(--white);
    }

    .site-footer .footer-col a.is-active {
      color: var(--white);
      font-weight: 650;
    }

    .site-footer address a {
      color: inherit;
      font-weight: 650;
    }

    .footer-social {
      margin-top: 2px;
    }

    .footer-social.social-icons {
      gap: 14px;
    }

    .footer-social .social-icon-link {
      height: 20px;
      width: 20px;
    }

    .footer-social svg {
      height: 20px;
      max-height: 20px;
      max-width: 20px;
      width: 20px;
    }

    .footer-social .social-icon-link:hover {
      color: var(--white);
      opacity: 1;
    }

    .footer-bottom {
      align-items: center;
      border-top: 1px solid rgba(255, 255, 255, .1);
      color: rgba(255, 255, 255, .52);
      display: flex;
      font-size: .84rem;
      gap: 16px;
      justify-content: space-between;
      line-height: 1.4;
      padding-top: 28px;
    }

    .mobile-nav-footer {
      display: none;
    }

    .mobile-nav-body {
      display: contents;
    }

    @media (max-width: 1100px) {
      .site-header {
        overflow: visible;
      }

      html.mobile-nav-open {
        overflow: hidden;
      }

      html.mobile-nav-open body {
        overflow: hidden;
        touch-action: none;
      }

      html.mobile-nav-open .site-header {
        overflow: visible;
      }

      .nav-wrap {
        display: flex;
        justify-content: space-between;
        position: relative;
      }

      .nav-wrap-end {
        flex: 0 0 auto;
        position: static;
      }

      .main-nav,
      .header-right {
        display: none;
      }

      .menu-toggle {
        display: inline-flex;
      }

      .main-nav {
        align-items: stretch;
        background: var(--navy-950);
        border-top: 1px solid rgba(255, 255, 255, .1);
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        gap: 0;
        justify-content: flex-start;
        left: 0;
        max-height: calc(100vh - var(--header-height));
        max-height: calc(100svh - var(--header-height));
        min-height: 0;
        opacity: 0;
        overflow: hidden;
        padding: 0;
        pointer-events: none;
        position: absolute;
        right: 0;
        text-align: left;
        top: var(--header-height);
        transform: translateY(-8px);
        transition: opacity .25s var(--ease), transform .25s var(--ease);
        width: 100%;
      }

      .mobile-nav-body {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding: 14px 20px 10px;
      }

      .main-nav.open {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
      }

      .nav-link,
      .mega-trigger {
        border-radius: var(--radius);
        flex-shrink: 0;
        justify-content: flex-start;
        padding: 14px;
        text-align: left;
        white-space: normal;
        width: 100%;
      }

      .mega-trigger {
        display: flex;
        justify-content: space-between;
        text-align: left;
      }

      .mobile-nav-footer {
        border-top: 1px solid rgba(255, 255, 255, .1);
        display: grid;
        flex-shrink: 0;
        gap: 16px;
        padding: 18px 20px 22px;
        width: 100%;
      }

      .mobile-nav-tagline {
        color: rgba(255, 255, 255, .58);
        font-size: .9rem;
        line-height: 1.5;
        margin: 0;
        text-align: left;
      }

      .mobile-nav-social.social-icons {
        gap: 12px;
        justify-content: flex-start;
      }

      .mobile-nav-social .social-icon-link {
        align-items: center;
        background: rgba(255, 255, 255, .08);
        border: 1px solid rgba(255, 255, 255, .12);
        border-radius: 999px;
        color: var(--white);
        display: inline-flex;
        height: 44px;
        justify-content: center;
        transition: background .2s var(--ease), border-color .2s var(--ease);
        width: 44px;
      }

      .mobile-nav-social .social-icon-link:hover {
        background: rgba(255, 255, 255, .14);
        border-color: rgba(255, 255, 255, .22);
        color: var(--white);
        opacity: 1;
      }

      .mobile-nav-social svg {
        height: 22px;
        max-height: 22px;
        max-width: 22px;
        width: 22px;
      }

      .mobile-nav-call {
        display: flex;
        justify-content: center;
        text-align: center;
        width: 100%;
      }

      .nav-item {
        flex-shrink: 0;
        min-width: 0;
        overflow: visible;
        width: 100%;
      }

      .mega-menu {
        background: var(--white);
        border: 1px solid rgba(8, 32, 58, .08);
        border-radius: var(--radius);
        box-shadow: none;
        display: none;
        left: auto;
        margin: 6px 0 10px;
        max-height: none;
        max-width: 100%;
        opacity: 1;
        overflow: visible;
        padding: 16px;
        pointer-events: none;
        position: static;
        top: auto;
        transform: none;
        visibility: hidden;
        width: 100%;
      }

      .mega-menu::before {
        display: none;
      }

      .mega-trigger:hover + .mega-menu:not(.open),
      .mega-menu:hover:not(.open) {
        display: none;
        opacity: 0;
        pointer-events: none;
        visibility: hidden;
      }

      .nav-item:has(.mega-menu:hover) .mega-trigger,
      .nav-item:has(.mega-menu.open) .mega-trigger {
        background: transparent;
        color: rgba(255, 255, 255, .84);
      }

      .nav-item:hover .mega-menu:not(.open),
      .nav-item:focus-within .mega-menu:not(.open) {
        display: none;
        left: auto;
        opacity: 0;
        pointer-events: none;
        top: auto;
        transform: none;
        visibility: hidden;
      }

      .nav-item .mega-menu.open,
      .mega-menu.open {
        display: block;
        left: auto;
        opacity: 1;
        pointer-events: auto;
        top: auto;
        transform: none;
        visibility: visible;
      }

      .main-nav .nav-item .mega-menu.open {
        inset: auto;
        position: static;
        transform: none;
        width: 100%;
      }

      .mega-grid {
        gap: 16px;
        grid-template-columns: 1fr;
      }

      .mega-group {
        min-width: 0;
      }

      .mega-group h3 {
        font-size: .82rem;
        word-break: break-word;
      }

      .mega-group a {
        overflow-wrap: anywhere;
        padding: 10px 8px;
        word-break: break-word;
      }

      .mega-cta {
        align-items: stretch;
        flex-direction: column;
        gap: 14px;
        margin-top: 16px;
        min-width: 0;
        padding: 16px;
      }

      .mega-cta > div {
        min-width: 0;
      }

      .mega-cta strong {
        display: block;
        line-height: 1.45;
        overflow-wrap: anywhere;
      }

      .mega-cta p {
        line-height: 1.5;
        overflow-wrap: anywhere;
      }

      .mega-cta .btn {
        align-self: stretch;
        box-sizing: border-box;
        height: auto;
        justify-content: center;
        line-height: 1.35;
        max-width: 100%;
        min-height: 50px;
        padding: 12px 16px;
        text-align: center;
        white-space: normal;
        width: 100%;
      }

      .mega-menu-simple {
        padding: 12px 14px;
        width: 100%;
      }

      .hero {
        min-height: auto;
      }

      .hero-trust,
      .stats-grid,
      .services-grid,
      .property-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .expertise-layout,
      .services-showcase,
      .property-layout,
      .specialty-split {
        grid-template-columns: 1fr;
      }

      .property-visual {
        min-height: 420px;
      }

      .trust-strip {
        grid-template-columns: repeat(3, 1fr);
      }

      .trust-item {
        border-right: 0;
      }

      .specialty-grid,
      .footer-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .team-wrap,
      .faq-wrap,
      .financing-box {
        grid-template-columns: 1fr;
      }

      .financing-actions {
        justify-content: flex-start;
      }

      .slim-cta-inner {
        align-items: flex-start;
        flex-direction: column;
      }
    }

    @media (max-width: 720px) {
      :root {
        --header-height: 72px;
      }

      .container {
        width: min(var(--max), calc(100% - 28px));
      }

      .section {
        padding: 66px 0;
      }

      .team-section,
      .about-section,
      .plumbing-services-section,
      .contact-section,
      main > div:first-child > section#faq:first-child {
        padding-top: calc(var(--header-height) + 42px);
      }

      .logo {
        min-width: 0;
      }

      .logo-mark {
        height: 40px;
        width: 52px;
      }

      .logo-line {
        font-size: .92rem;
      }

      .logo-tagline {
        font-size: .56rem;
      }

      .hero {
        padding: calc(var(--header-height) + 42px) 0 52px;
      }

      .hero-copy {
        padding-top: 34px;
      }

      .video-label {
        display: none;
      }

      .hero-actions,
      .financing-actions,
      .emergency-inner {
        align-items: stretch;
        flex-direction: column;
      }

      .btn {
        width: 100%;
      }

      .hero-trust,
      .trust-strip,
      .stats-grid,
      .services-grid,
      .property-grid,
      .specialty-grid,
      .mega-grid,
      .footer-grid {
        grid-template-columns: 1fr;
      }

      .expertise-content .stats-grid,
      .expertise-stats-grid {
        grid-template-columns: 1fr;
      }

      .emergency-inner {
        align-items: stretch;
        flex-direction: column;
      }

      .emergency-copy {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
      }

      .emergency-headline,
      .emergency-phone,
      .emergency-phone-label {
        white-space: normal;
      }

      .emergency-cta {
        min-width: 0;
        width: 100%;
      }

      .service-feature {
        min-height: auto;
      }

      .service-feature-grid {
        gap: 16px;
        grid-template-columns: 1fr;
      }

      .service-feature img {
        height: 210px;
      }

      .service-feature-body {
        padding: 20px;
      }

      #services::before {
        opacity: .45;
      }

      .service-row {
        grid-template-columns: 44px 1fr;
      }

      .service-row::after {
        display: none;
      }

      .property-row {
        align-items: start;
        grid-template-columns: 72px 1fr;
      }

      .property-row img {
        height: 72px;
        width: 72px;
      }

      .property-visual {
        min-height: 340px;
      }

      .hero-trust {
        margin-top: 42px;
      }

      .property-card {
        min-height: 300px;
      }

      .side-stat {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
      }

      .mega-cta {
        align-items: stretch;
        flex-direction: column;
      }

      .footer-bottom {
        flex-direction: column;
        gap: 8px;
      }
    }

    .team-section {
      background: linear-gradient(180deg, var(--white) 0%, var(--ice-50) 42%, var(--ice-100) 100%);
      padding-top: calc(var(--header-height) + 56px);
    }

    .team-section-bg {
      background:
        radial-gradient(circle at 12% 18%, rgba(20, 147, 255, .12), transparent 28%),
        radial-gradient(circle at 88% 8%, rgba(10, 116, 216, .08), transparent 24%),
        radial-gradient(circle at 50% 100%, rgba(8, 32, 58, .04), transparent 40%);
      inset: 0;
      pointer-events: none;
      position: absolute;
      z-index: 0;
    }

    .team-hero {
      margin-bottom: 52px;
      max-width: 760px;
      text-align: center;
      margin-inline: auto;
    }

    .team-hero .eyebrow {
      justify-content: center;
    }

    .team-hero-title {
      margin-top: 14px;
    }

    .team-hero-intro {
      font-size: 1.08rem;
      line-height: 1.75;
      margin-top: 18px;
      max-width: 640px;
      margin-inline: auto;
    }

    .team-hero-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      justify-content: center;
      margin-top: 24px;
    }

    .team-meta-pill {
      background: rgba(255, 255, 255, .88);
      border: 1px solid rgba(8, 32, 58, .08);
      border-radius: 999px;
      color: var(--navy-900);
      font-size: .82rem;
      font-weight: 700;
      letter-spacing: .02em;
      padding: 8px 16px;
    }

    .team-meta-pill-accent {
      background: linear-gradient(135deg, rgba(10, 116, 216, .1), rgba(73, 185, 255, .08));
      border-color: rgba(10, 116, 216, .18);
      color: var(--blue-600);
    }

    .team-grid {
      display: grid;
      gap: 20px;
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .team-card {
      border-radius: 20px;
      overflow: hidden;
      position: relative;
      transition: transform .35s var(--ease), box-shadow .35s var(--ease);
    }

    .team-card::after {
      border: 1px solid rgba(255, 255, 255, .22);
      border-radius: inherit;
      content: "";
      inset: 0;
      pointer-events: none;
      position: absolute;
      z-index: 2;
    }

    .team-card:hover {
      box-shadow: 0 28px 56px rgba(6, 21, 37, .18);
      transform: translateY(-8px);
    }

    .team-card-media {
      aspect-ratio: 3 / 4;
      background: linear-gradient(145deg, var(--navy-900), var(--navy-800));
      overflow: hidden;
      position: relative;
    }

    .team-card-media img {
      display: block;
      height: 100%;
      object-fit: cover;
      object-position: center top;
      transition: opacity .35s var(--ease), transform .55s var(--ease);
      width: 100%;
    }

    .team-card-photo {
      opacity: 0;
    }

    .team-card-photo.is-loaded {
      opacity: 1;
    }

    .team-card:hover .team-card-media img {
      transform: scale(1.06);
    }

    .team-card-overlay {
      background: linear-gradient(180deg, rgba(6, 21, 37, 0) 42%, rgba(6, 21, 37, .72) 78%, rgba(6, 21, 37, .92) 100%);
      inset: 0;
      position: absolute;
      z-index: 1;
    }

    .team-card-name {
      bottom: 0;
      color: var(--white);
      font-size: 1.12rem;
      font-weight: 800;
      left: 0;
      letter-spacing: -.01em;
      margin: 0;
      padding: 18px 18px 20px;
      position: absolute;
      right: 0;
      z-index: 2;
    }

    .team-card-name::before {
      background: var(--blue-400);
      border-radius: 999px;
      content: "";
      display: block;
      height: 3px;
      margin-bottom: 10px;
      transform: scaleX(.35);
      transform-origin: left center;
      transition: transform .35s var(--ease);
      width: 34px;
    }

    .team-card:hover .team-card-name::before {
      transform: scaleX(1);
    }

    .team-recruit {
      align-items: center;
      background:
        linear-gradient(120deg, rgba(6, 21, 37, .97), rgba(8, 32, 58, .92)),
        linear-gradient(135deg, var(--navy-950), var(--blue-600));
      border: 1px solid rgba(255, 255, 255, .1);
      border-radius: 24px;
      box-shadow: var(--shadow-blue);
      display: flex;
      gap: 28px;
      justify-content: space-between;
      margin-top: 56px;
      overflow: hidden;
      padding: clamp(28px, 4vw, 40px);
      position: relative;
    }

    .team-recruit::before {
      background: radial-gradient(circle at 100% 0, rgba(73, 185, 255, .28), transparent 52%);
      content: "";
      inset: 0;
      pointer-events: none;
      position: absolute;
    }

    .team-recruit-copy {
      display: grid;
      gap: 10px;
      max-width: 620px;
      position: relative;
      z-index: 1;
    }

    .team-recruit-label {
      color: var(--cyan-300);
      font-size: .76rem;
      font-weight: 800;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    .team-recruit-copy h3 {
      color: var(--white);
      font-size: clamp(1.45rem, 2.5vw, 2rem);
    }

    .team-recruit-copy p {
      color: rgba(255, 255, 255, .74);
      font-size: 1rem;
      line-height: 1.65;
    }

    .team-recruit-btn {
      flex-shrink: 0;
      position: relative;
      z-index: 1;
    }

    .team-grid .team-card.reveal:nth-child(4n+2) { transition-delay: .06s; }
    .team-grid .team-card.reveal:nth-child(4n+3) { transition-delay: .12s; }
    .team-grid .team-card.reveal:nth-child(4n) { transition-delay: .18s; }

    @media (max-width: 1100px) {
      .team-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }

    @media (max-width: 991px) {
      .team-grid {
        gap: 16px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .team-recruit {
        align-items: flex-start;
        flex-direction: column;
      }
    }

    @media (max-width: 575px) {
      .team-section {
        padding-top: calc(var(--header-height) + 36px);
      }

      .team-hero {
        margin-bottom: 36px;
      }

      .team-grid {
        grid-template-columns: 1fr;
      }

      .team-card-media {
        aspect-ratio: 4 / 5;
      }

      .team-recruit-btn {
        width: 100%;
      }
    }

    .about-section {
      background: linear-gradient(180deg, var(--white) 0%, var(--ice-50) 48%, var(--ice-100) 100%);
      padding-top: calc(var(--header-height) + 56px);
    }

    .about-section-bg {
      background:
        radial-gradient(circle at 10% 12%, rgba(20, 147, 255, .1), transparent 30%),
        radial-gradient(circle at 92% 18%, rgba(10, 116, 216, .07), transparent 26%);
      inset: 0;
      pointer-events: none;
      position: absolute;
      z-index: 0;
    }

    .about-hero {
      margin-bottom: 48px;
      max-width: 760px;
      text-align: center;
      margin-inline: auto;
    }

    .about-hero .eyebrow {
      justify-content: center;
    }

    .about-hero-title {
      margin-top: 14px;
    }

    .about-hero-intro {
      font-size: 1.08rem;
      line-height: 1.75;
      margin-top: 18px;
    }

    .about-intro {
      align-items: center;
      display: grid;
      gap: 40px;
      grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
      margin-bottom: 36px;
    }

    .about-intro-visual {
      aspect-ratio: 5 / 4;
      border-radius: 24px;
      box-shadow: var(--shadow-soft);
      overflow: hidden;
      position: relative;
    }

    .about-intro-visual img {
      display: block;
      height: 100%;
      inset: 0;
      object-fit: cover;
      position: absolute;
      width: 100%;
    }

    @media (min-width: 992px) {
      .about-photo-badge,
      .plumbing-services-photo-badge {
        bottom: 18px;
        left: 18px;
        max-width: min(280px, calc(100% - 36px));
        transform: none;
        width: auto;
      }
    }

    .about-intro-copy {
      display: grid;
      gap: 18px;
    }

    .about-intro-copy h3 {
      font-size: clamp(1.55rem, 2.8vw, 2.2rem);
    }

    .about-copy {
      display: grid;
      gap: 14px;
    }

    .about-copy p {
      font-size: 1.02rem;
      line-height: 1.75;
    }

    .about-stats {
      display: grid;
      gap: 12px;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      margin-top: 8px;
    }

    .about-stat {
      background: rgba(255, 255, 255, .88);
      border: 1px solid rgba(8, 32, 58, .08);
      border-radius: 16px;
      display: grid;
      gap: 4px;
      padding: 16px;
    }

    .about-stat-number {
      color: var(--blue-600);
      font-size: 1.45rem;
      font-weight: 900;
      line-height: 1;
    }

    .about-stat-label {
      color: var(--gray-700);
      font-size: .82rem;
      font-weight: 700;
      line-height: 1.35;
    }

    .about-callout {
      background: linear-gradient(135deg, rgba(10, 116, 216, .08), rgba(73, 185, 255, .06));
      border: 1px solid rgba(10, 116, 216, .16);
      border-radius: 16px;
      padding: 16px 18px;
    }

    .about-callout a {
      color: var(--blue-600);
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .about-callout p {
      color: var(--navy-900);
      margin: 0;
    }

    .about-story-grid {
      display: grid;
      gap: 22px;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      margin-top: 22px;
    }

    .about-story-card {
      background: rgba(255, 255, 255, .92);
      border: 1px solid rgba(8, 32, 58, .08);
      border-radius: 22px;
      box-shadow: 0 16px 40px rgba(6, 21, 37, .06);
      display: grid;
      gap: 14px;
      padding: clamp(24px, 3vw, 32px);
      position: relative;
      transition: transform .35s var(--ease), box-shadow .35s var(--ease);
    }

    .about-story-card:hover {
      box-shadow: var(--shadow-soft);
      transform: translateY(-4px);
    }

    .about-story-index {
      color: var(--blue-500);
      font-size: .78rem;
      font-weight: 900;
      letter-spacing: .12em;
    }

    .about-story-card h3 {
      font-size: clamp(1.25rem, 2vw, 1.65rem);
    }

    .about-callout-inline {
      margin-top: auto;
    }

    .about-cta {
      align-items: center;
      background:
        linear-gradient(120deg, rgba(6, 21, 37, .97), rgba(8, 32, 58, .92)),
        linear-gradient(135deg, var(--navy-950), var(--blue-600));
      border: 1px solid rgba(255, 255, 255, .1);
      border-radius: 24px;
      box-shadow: var(--shadow-blue);
      display: flex;
      gap: 28px;
      justify-content: space-between;
      margin-top: 52px;
      overflow: hidden;
      padding: clamp(28px, 4vw, 40px);
      position: relative;
    }

    .about-cta::before {
      background: radial-gradient(circle at 100% 0, rgba(73, 185, 255, .28), transparent 52%);
      content: "";
      inset: 0;
      pointer-events: none;
      position: absolute;
    }

    .about-cta-copy {
      display: grid;
      gap: 10px;
      max-width: 620px;
      position: relative;
      z-index: 1;
    }

    .about-cta-label {
      color: var(--cyan-300);
      font-size: .76rem;
      font-weight: 800;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    .about-cta-copy h3 {
      color: var(--white);
      font-size: clamp(1.45rem, 2.5vw, 2rem);
    }

    .about-cta-copy p {
      color: rgba(255, 255, 255, .74);
      font-size: 1rem;
      line-height: 1.65;
    }

    .about-cta-actions {
      display: flex;
      flex-shrink: 0;
      flex-wrap: wrap;
      gap: 12px;
      position: relative;
      z-index: 1;
    }

    @media (max-width: 991px) {
      .about-intro {
        grid-template-columns: 1fr;
      }

      .about-intro-visual {
        margin-inline: auto;
        max-width: 100%;
        width: 100%;
      }

      .about-photo-badge {
        bottom: 16px;
        box-sizing: border-box;
        left: 50%;
        max-width: calc(100% - 32px);
        padding: 16px 18px;
        right: auto;
        text-align: left;
        transform: translateX(-50%);
        width: calc(100% - 32px);
      }

      .about-photo-badge strong,
      .about-photo-badge span {
        overflow-wrap: anywhere;
      }

      .about-stats {
        grid-template-columns: 1fr;
      }

      .about-story-grid {
        grid-template-columns: 1fr;
      }

      .about-cta {
        align-items: flex-start;
        flex-direction: column;
      }

      .about-cta-actions {
        width: 100%;
      }

      .about-cta-actions .btn {
        flex: 1 1 auto;
        min-width: min(100%, 220px);
      }
    }

    @media (max-width: 575px) {
      .about-section {
        padding-top: calc(var(--header-height) + 36px);
      }

      .about-hero {
        margin-bottom: 32px;
      }

      .about-cta-actions {
        align-items: stretch;
        flex-direction: column;
      }

      .about-cta-actions .btn {
        flex: 0 0 auto;
        justify-content: center;
        min-height: 52px;
        width: 100%;
      }
    }

    .plumbing-services-section {
      background: linear-gradient(180deg, var(--white) 0%, var(--ice-50) 48%, var(--ice-100) 100%);
      padding-top: calc(var(--header-height) + 56px);
    }

    .plumbing-services-bg {
      background:
        radial-gradient(circle at 12% 14%, rgba(20, 147, 255, .1), transparent 30%),
        radial-gradient(circle at 90% 16%, rgba(10, 116, 216, .07), transparent 26%);
      inset: 0;
      pointer-events: none;
      position: absolute;
      z-index: 0;
    }

    .plumbing-services-hero {
      margin-bottom: 48px;
      margin-inline: auto;
      max-width: 760px;
      text-align: center;
    }

    .plumbing-services-hero .eyebrow {
      justify-content: center;
    }

    .plumbing-services-hero-title {
      margin-top: 14px;
    }

    .plumbing-services-hero-intro {
      font-size: 1.08rem;
      line-height: 1.75;
      margin-top: 18px;
    }

    .plumbing-services-intro {
      align-items: center;
      display: grid;
      gap: 40px;
      grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
      margin-bottom: 48px;
    }

    .plumbing-services-intro-visual {
      aspect-ratio: 5 / 4;
      border-radius: 24px;
      box-shadow: var(--shadow-soft);
      overflow: hidden;
      position: relative;
    }

    .plumbing-services-intro-visual img {
      display: block;
      height: 100%;
      inset: 0;
      object-fit: cover;
      position: absolute;
      width: 100%;
    }

    .plumbing-services-intro-copy {
      display: grid;
      gap: 18px;
    }

    .plumbing-services-intro-copy h3 {
      font-size: clamp(1.55rem, 2.8vw, 2.2rem);
    }

    .plumbing-services-copy {
      display: grid;
      gap: 14px;
    }

    .plumbing-services-copy p {
      font-size: 1.02rem;
      line-height: 1.75;
    }

    .plumbing-services-stats {
      display: grid;
      gap: 12px;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      margin-top: 8px;
    }

    .plumbing-services-stat {
      background: rgba(255, 255, 255, .88);
      border: 1px solid rgba(8, 32, 58, .08);
      border-radius: 16px;
      display: grid;
      gap: 4px;
      padding: 16px;
    }

    .plumbing-services-stat-number {
      color: var(--blue-600);
      font-size: 1.45rem;
      font-weight: 900;
      line-height: 1;
    }

    .plumbing-services-stat-label {
      color: var(--gray-700);
      font-size: .82rem;
      font-weight: 700;
      line-height: 1.35;
    }

    .plumbing-services-callout {
      background: linear-gradient(135deg, rgba(10, 116, 216, .08), rgba(73, 185, 255, .06));
      border: 1px solid rgba(10, 116, 216, .16);
      border-radius: 16px;
      padding: 16px 18px;
    }

    .plumbing-services-callout a {
      color: var(--blue-600);
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .plumbing-services-callout p {
      color: var(--navy-900);
      margin: 0;
    }

    .plumbing-services-catalog {
      display: grid;
      gap: 28px;
      margin-bottom: 40px;
    }

    .plumbing-services-catalog-head {
      display: grid;
      gap: 10px;
      max-width: 680px;
    }

    .plumbing-services-catalog-head h3 {
      font-size: clamp(1.45rem, 2.5vw, 2rem);
    }

    .plumbing-services-catalog-head p {
      color: var(--gray-700);
      font-size: 1.02rem;
      line-height: 1.65;
      margin: 0;
    }

    .plumbing-services-grid {
      display: grid;
      gap: 14px;
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .plumbing-service-card {
      align-items: center;
      background: rgba(255, 255, 255, .92);
      border: 1px solid rgba(8, 32, 58, .08);
      border-radius: 18px;
      box-shadow: 0 8px 24px rgba(6, 21, 37, .05);
      display: grid;
      gap: 10px;
      grid-template-columns: auto 1fr auto;
      min-height: 0;
      min-width: 0;
      padding: 18px 16px;
      transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
    }

    .plumbing-service-card:hover {
      border-color: rgba(10, 116, 216, .22);
      box-shadow: var(--shadow-soft);
      transform: translateY(-3px);
    }

    .plumbing-service-icon {
      align-items: center;
      background: linear-gradient(135deg, rgba(10, 116, 216, .12), rgba(73, 185, 255, .08));
      border-radius: 12px;
      color: var(--blue-600);
      display: grid;
      font-size: 1rem;
      font-weight: 800;
      height: 40px;
      place-items: center;
      width: 40px;
    }

    .plumbing-service-title {
      color: var(--navy-900);
      font-size: .92rem;
      font-weight: 800;
      line-height: 1.35;
      min-width: 0;
    }

    .plumbing-service-arrow {
      color: var(--blue-500);
      font-size: 1rem;
      font-weight: 800;
      opacity: 0;
      transform: translateX(-4px);
      transition: opacity .25s var(--ease), transform .25s var(--ease);
    }

    .plumbing-service-card:hover .plumbing-service-arrow {
      opacity: 1;
      transform: translateX(0);
    }

    .plumbing-services-scope {
      background: rgba(255, 255, 255, .92);
      border: 1px solid rgba(8, 32, 58, .08);
      border-radius: 22px;
      box-shadow: 0 16px 40px rgba(6, 21, 37, .06);
      display: grid;
      gap: 14px;
      margin-bottom: 28px;
      padding: clamp(24px, 3vw, 32px);
    }

    .plumbing-services-scope h3 {
      font-size: clamp(1.25rem, 2vw, 1.65rem);
    }

    .plumbing-services-callout-inline {
      margin-top: 4px;
    }

    .plumbing-services-maintenance {
      background: linear-gradient(135deg, rgba(10, 116, 216, .08), rgba(73, 185, 255, .05));
      border: 1px solid rgba(10, 116, 216, .14);
      border-radius: 20px;
      display: grid;
      gap: 10px;
      margin-bottom: 36px;
      padding: clamp(22px, 3vw, 28px);
    }

    .plumbing-services-maintenance-label {
      color: var(--blue-600);
      font-size: .76rem;
      font-weight: 800;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    .plumbing-services-maintenance h3 {
      font-size: clamp(1.2rem, 2vw, 1.55rem);
    }

    .plumbing-services-maintenance p {
      color: var(--gray-700);
      font-size: 1rem;
      line-height: 1.65;
      margin: 0;
      max-width: 720px;
    }

    .plumbing-services-cta {
      align-items: center;
      background:
        linear-gradient(120deg, rgba(6, 21, 37, .97), rgba(8, 32, 58, .92)),
        linear-gradient(135deg, var(--navy-950), var(--blue-600));
      border: 1px solid rgba(255, 255, 255, .1);
      border-radius: 24px;
      box-shadow: var(--shadow-blue);
      display: flex;
      gap: 28px;
      justify-content: space-between;
      margin-top: 12px;
      overflow: hidden;
      padding: clamp(28px, 4vw, 40px);
      position: relative;
    }

    .plumbing-services-cta::before {
      background: radial-gradient(circle at 100% 0, rgba(73, 185, 255, .28), transparent 52%);
      content: "";
      inset: 0;
      pointer-events: none;
      position: absolute;
    }

    .plumbing-services-cta-copy {
      display: grid;
      gap: 10px;
      max-width: 620px;
      position: relative;
      z-index: 1;
    }

    .plumbing-services-cta-label {
      color: var(--cyan-300);
      font-size: .76rem;
      font-weight: 800;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    .plumbing-services-cta-copy h3 {
      color: var(--white);
      font-size: clamp(1.45rem, 2.5vw, 2rem);
    }

    .plumbing-services-cta-copy p {
      color: rgba(255, 255, 255, .74);
      font-size: 1rem;
      line-height: 1.65;
    }

    .plumbing-services-cta-actions {
      display: flex;
      flex-shrink: 0;
      flex-wrap: wrap;
      gap: 12px;
      position: relative;
      z-index: 1;
    }

    @media (max-width: 1199px) {
      .plumbing-services-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }

    @media (max-width: 991px) {
      .plumbing-services-intro {
        grid-template-columns: 1fr;
      }

      .plumbing-services-intro-visual {
        margin-inline: auto;
        max-width: 100%;
        width: 100%;
      }

      .plumbing-services-photo-badge {
        bottom: 16px;
        box-sizing: border-box;
        left: 50%;
        max-width: calc(100% - 32px);
        padding: 16px 18px;
        right: auto;
        text-align: left;
        transform: translateX(-50%);
        width: calc(100% - 32px);
      }

      .plumbing-services-photo-badge strong,
      .plumbing-services-photo-badge span {
        overflow-wrap: anywhere;
      }

      .plumbing-services-stats {
        grid-template-columns: 1fr;
      }

      .plumbing-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .plumbing-services-cta {
        align-items: flex-start;
        flex-direction: column;
      }

      .plumbing-services-cta-actions {
        width: 100%;
      }
    }

    @media (max-width: 575px) {
      .plumbing-services-section {
        padding-top: calc(var(--header-height) + 36px);
      }

      .plumbing-services-hero {
        margin-bottom: 32px;
      }

      .plumbing-services-grid {
        grid-template-columns: 1fr;
      }

      .plumbing-services-cta-actions {
        flex-direction: column;
      }

      .plumbing-services-cta-actions .btn {
        width: 100%;
      }
    }

    .service-page-hero {
      padding-top: calc(var(--header-height) + 56px);
      position: relative;
    }

    .service-page-hero-first {
      background: linear-gradient(180deg, var(--white) 0%, var(--ice-50) 52%, var(--ice-100) 100%);
    }

    .service-page-hero-bg {
      background:
        radial-gradient(circle at 12% 14%, rgba(20, 147, 255, .1), transparent 30%),
        radial-gradient(circle at 90% 16%, rgba(10, 116, 216, .07), transparent 26%);
      inset: 0;
      pointer-events: none;
      position: absolute;
      z-index: 0;
    }

    .service-page-hero .container {
      display: flex;
      flex-direction: column;
      gap: 32px;
      position: relative;
      z-index: 1;
    }

    .service-page-hero-inner {
      align-self: center;
      display: grid;
      gap: 16px;
      max-width: 700px;
    }

    .service-page-hero-title {
      font-size: clamp(2rem, 4vw, 3rem);
      line-height: 1.08;
      color: #2e4b78;
    }

    .service-page-hero-intro {
      color: var(--gray-700);
      font-size: 1.06rem;
      line-height: 1.75;
    }

    .service-page-hero-badge {
      background: linear-gradient(135deg, rgba(10, 116, 216, .08), rgba(73, 185, 255, .06));
      border: 1px solid rgba(10, 116, 216, .16);
      border-radius: 16px;
      display: grid;
      gap: 4px;
      max-width: 420px;
      padding: 14px 16px;
    }

    .service-page-hero-badge strong {
      color: var(--navy-900);
      font-size: .95rem;
    }

    .service-page-hero-badge span {
      color: var(--gray-700);
      font-size: .88rem;
      line-height: 1.45;
    }

    .service-page-hero-visual {
      border-radius: 24px;
      box-shadow: var(--shadow-soft);
      overflow: hidden;
    }

    .service-page-hero-visual img {
      aspect-ratio: 5 / 4;
      display: block;
      height: 100%;
      object-fit: cover;
      width: 100%;
    }

    .service-page-hero-trust-item img {
      display: block;
      height: auto;
      max-height: 64px;
      max-width: 100%;
      object-fit: contain;
      width: auto;
    }

    .service-page-hero-inner-centered .service-page-hero-actions {
      display: flex;
      justify-content: center;
    }

    .service-page-hero-has-bg .service-page-hero-inner-centered .eyebrow {
      justify-self: center;
    }

    .service-page-segments {
      background:
        radial-gradient(circle at 10% 0%, rgba(20, 147, 255, .06), transparent 28%),
        radial-gradient(circle at 90% 8%, rgba(10, 116, 216, .05), transparent 24%),
        var(--ice-50);
      padding: clamp(48px, 6vw, 72px) 0 clamp(56px, 7vw, 84px);
    }

    .service-page-segment-stack {
      display: grid;
      gap: clamp(24px, 3vw, 32px);
    }

    .service-page-segment {
      background: rgba(255, 255, 255, .94);
      border: 1px solid rgba(8, 32, 58, .07);
      border-radius: 28px;
      box-shadow: 0 20px 50px rgba(6, 21, 37, .07);
      display: grid;
      gap: 16px;
      padding: clamp(28px, 3.5vw, 40px);
      position: relative;
      transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
    }

    .service-page-segment:hover {
      border-color: rgba(10, 116, 216, .14);
      box-shadow: 0 28px 60px rgba(6, 21, 37, .1);
      transform: translateY(-4px);
    }

    .service-page-segment-split,
    .service-page-segment-video {
      background: transparent;
      border: 0;
      box-shadow: none;
      padding: 0;
    }

    .service-page-segment-split:hover,
    .service-page-segment-video:hover {
      border-color: transparent;
      box-shadow: none;
      transform: none;
    }

    .service-page-showcase {
      position: relative;
    }

    .service-page-showcase-shell {
      background: linear-gradient(180deg, #fff 0%, #f8fbff 100%);
      border: 1px solid rgba(8, 32, 58, .08);
      border-radius: 32px;
      box-shadow:
        0 28px 70px rgba(6, 21, 37, .08),
        inset 0 1px 0 rgba(255, 255, 255, .9);
      overflow: hidden;
      position: relative;
    }

    .service-page-showcase-shell::before {
      background:
        radial-gradient(circle at 0% 0%, rgba(20, 147, 255, .08), transparent 42%),
        radial-gradient(circle at 100% 0%, rgba(10, 116, 216, .06), transparent 36%);
      content: "";
      inset: 0;
      pointer-events: none;
      position: absolute;
    }

    .service-page-showcase-intro {
      display: grid;
      gap: clamp(28px, 4vw, 44px);
      grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
      padding: clamp(32px, 4.5vw, 48px);
      position: relative;
      z-index: 1;
    }

    .service-page-showcase-image-right .service-page-showcase-intro {
      grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    }

    .service-page-showcase-image-right .service-page-showcase-visual {
      order: 2;
    }

    .service-page-showcase-visual {
      display: grid;
      gap: 12px;
      margin: 0;
    }

    .service-page-showcase-visual-frame {
      background: linear-gradient(145deg, var(--ice-50), #fff);
      border: 1px solid rgba(10, 116, 216, .14);
      border-radius: 24px;
      box-shadow:
        0 24px 50px rgba(6, 21, 37, .12),
        0 0 0 6px rgba(10, 116, 216, .06);
      overflow: hidden;
      padding: 14px;
      position: relative;
    }

    .service-page-showcase-visual-frame::after {
      background: linear-gradient(180deg, transparent 62%, rgba(6, 21, 37, .12));
      content: "";
      inset: 0;
      pointer-events: none;
      position: absolute;
    }

    .service-page-showcase-visual-frame img {
      border-radius: 16px;
      display: block;
      height: auto;
      width: 100%;
    }

    .service-page-showcase-caption {
      color: var(--gray-500);
      font-size: .86rem;
      font-weight: 600;
      letter-spacing: .02em;
      text-align: center;
    }

    .service-page-showcase-copy {
      align-self: center;
      display: grid;
      gap: 16px;
    }

    .service-page-showcase-copy h2 {
      color: var(--navy-900);
      font-size: clamp(1.55rem, 2.6vw, 2.15rem);
      letter-spacing: -.02em;
      line-height: 1.15;
    }

    .service-page-showcase-copy h2::after {
      background: linear-gradient(90deg, var(--blue-500), var(--cyan-300));
      border-radius: 999px;
      content: "";
      display: block;
      height: 4px;
      margin-top: 14px;
      width: 72px;
    }

    .service-page-showcase-benefits {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      list-style: none;
      margin: 4px 0 0;
      padding: 0;
    }

    .service-page-showcase-benefits li {
      background: linear-gradient(135deg, rgba(10, 116, 216, .08), rgba(73, 185, 255, .05));
      border: 1px solid rgba(10, 116, 216, .14);
      border-radius: 999px;
      color: var(--navy-900);
      font-size: .82rem;
      font-weight: 700;
      letter-spacing: .02em;
      padding: 8px 14px;
      text-transform: uppercase;
    }

    .service-page-showcase-media {
      background: linear-gradient(180deg, rgba(6, 21, 37, .97), rgba(8, 32, 58, .98));
      border-top: 1px solid rgba(255, 255, 255, .08);
      display: grid;
      gap: clamp(20px, 3vw, 28px);
      padding: clamp(28px, 4vw, 40px);
      position: relative;
      z-index: 1;
    }

    .service-page-showcase-media-head {
      align-items: flex-start;
      display: flex;
      gap: 20px;
      justify-content: space-between;
    }

    .service-page-showcase-media-copy {
      display: grid;
      gap: 10px;
      max-width: 640px;
    }

    .service-page-showcase-media-copy .eyebrow {
      color: var(--cyan-300);
    }

    .service-page-showcase-media-copy h3 {
      color: #fff;
      font-size: clamp(1.25rem, 2.2vw, 1.65rem);
      letter-spacing: -.01em;
      line-height: 1.2;
    }

    .service-page-showcase-media-copy p {
      color: rgba(255, 255, 255, .78);
      font-size: .98rem;
      line-height: 1.65;
      margin: 0;
    }

    .service-page-showcase-media-badge {
      background: rgba(255, 255, 255, .08);
      border: 1px solid rgba(255, 255, 255, .14);
      border-radius: 14px;
      display: grid;
      flex-shrink: 0;
      gap: 2px;
      padding: 10px 14px;
      text-align: center;
    }

    @media (max-width: 991px) {
      .service-page-showcase-media-badge {
        align-items: center;
        display: inline-flex;
        flex-direction: row;
        gap: 8px;
        text-align: left;
        white-space: nowrap;
        width: fit-content;
      }

      .service-page-showcase-media-badge span:first-child {
        line-height: 1;
      }

      .service-page-showcase-media-badge span:last-child {
        line-height: 1;
      }
    }

    .service-page-showcase-media-badge span:first-child {
      color: var(--cyan-300);
      font-size: .72rem;
      font-weight: 800;
      letter-spacing: .12em;
    }

    .service-page-showcase-media-badge span:last-child {
      color: #fff;
      font-size: .92rem;
      font-weight: 700;
      letter-spacing: .04em;
      text-transform: uppercase;
    }

    .service-page-showcase-video {
      aspect-ratio: 16 / 9;
      background: #000;
      border: 1px solid rgba(255, 255, 255, .1);
      border-radius: 22px;
      box-shadow:
        0 24px 60px rgba(0, 0, 0, .35),
        0 0 0 1px rgba(10, 116, 216, .2),
        0 0 40px rgba(10, 116, 216, .15);
      overflow: hidden;
      position: relative;
    }

    .service-page-showcase-video iframe {
      border: 0;
      height: 100%;
      inset: 0;
      position: absolute;
      width: 100%;
    }

    .service-page-segment-index {
      color: var(--blue-500);
      font-size: .78rem;
      font-weight: 900;
      letter-spacing: .12em;
    }

    .service-page-segment h2 {
      font-size: clamp(1.25rem, 2vw, 1.7rem);
    }

    .service-page-segment-intro {
      color: var(--gray-700);
      font-size: 1rem;
      line-height: 1.65;
      margin: 0;
    }

    .service-page-copy {
      display: grid;
      gap: 14px;
    }

    .service-page-copy p {
      font-size: 1.02rem;
      line-height: 1.75;
    }

    .service-page-list {
      display: grid;
      gap: 10px;
      list-style: none;
      margin: 0;
      padding: 0;
    }

    .service-page-list li {
      background: var(--ice-50);
      border: 1px solid rgba(8, 32, 58, .06);
      border-radius: 12px;
      color: var(--navy-900);
      font-size: .96rem;
      font-weight: 600;
      line-height: 1.45;
      padding: 12px 14px 12px 34px;
      position: relative;
    }

    .service-page-list li::before {
      background: var(--blue-500);
      border-radius: 50%;
      content: "";
      height: 7px;
      left: 14px;
      position: absolute;
      top: 18px;
      width: 7px;
    }

    .service-page-callout {
      background: linear-gradient(135deg, rgba(10, 116, 216, .08), rgba(73, 185, 255, .06));
      border: 1px solid rgba(10, 116, 216, .16);
      border-radius: 16px;
      padding: 16px 18px;
    }

    .service-page-callout a {
      color: var(--blue-600);
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .service-page-callout p {
      color: var(--navy-900);
      margin: 0;
    }

    .service-page-hero-has-bg {
      color: #fff;
      min-height: clamp(520px, 72vh, 760px);
      overflow: hidden;
      padding-bottom: 96px;
    }

    .service-page-hero-photo,
    .service-page-hero-overlay {
      inset: 0;
      pointer-events: none;
      position: absolute;
      z-index: 0;
    }

    .service-page-hero-photo img {
      display: block;
      height: 100%;
      object-fit: cover;
      transform: scale(1.04);
      width: 100%;
    }

    .service-page-hero-overlay {
      background:
        linear-gradient(125deg, rgba(6, 21, 37, .92) 0%, rgba(8, 32, 58, .78) 42%, rgba(10, 116, 216, .32) 100%),
        linear-gradient(180deg, rgba(0, 0, 0, .15), rgba(0, 0, 0, .62));
    }

    .service-page-hero-glow {
      background:
        radial-gradient(circle at 18% 24%, rgba(73, 185, 255, .28), transparent 34%),
        radial-gradient(circle at 82% 18%, rgba(10, 116, 216, .22), transparent 30%);
      inset: 0;
      pointer-events: none;
      position: absolute;
      z-index: 0;
    }

    .service-page-hero-curve {
      background: var(--ice-50);
      bottom: -1px;
      clip-path: ellipse(120% 100% at 50% 100%);
      height: 56px;
      left: 0;
      pointer-events: none;
      position: absolute;
      right: 0;
      z-index: 2;
    }

    .service-page-hero-has-bg .service-page-hero-title,
    .service-page-hero-has-bg .service-page-hero-intro {
      color: #fff;
    }

    .service-page-hero-has-bg .eyebrow {
      color: var(--cyan-300);
    }

    .service-page-hero-actions {
      margin-top: 4px;
    }

    .service-page-hero-has-bg .service-page-hero-visual {
      border: 1px solid rgba(255, 255, 255, .18);
      box-shadow: 0 24px 60px rgba(0, 0, 0, .28);
    }

    .service-page-hero-trust {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      justify-content: center;
      margin-bottom: clamp(28px, 4vw, 40px);
      position: relative;
      z-index: 1;
    }

    .service-page-hero-trust-item {
      align-items: center;
      backdrop-filter: blur(10px);
      background: rgba(255, 255, 255, .96);
      border: 1px solid rgba(255, 255, 255, .65);
      border-radius: 16px;
      box-shadow: 0 14px 34px rgba(0, 0, 0, .16);
      display: flex;
      flex: 1 1 150px;
      justify-content: center;
      margin: 0;
      max-width: 196px;
      min-height: 92px;
      padding: 14px 16px;
      transition: transform .35s var(--ease), box-shadow .35s var(--ease);
    }

    .service-page-hero-trust-item:hover {
      box-shadow: 0 18px 42px rgba(0, 0, 0, .22);
      transform: translateY(-4px);
    }

    .service-page-hero-main {
      display: grid;
      gap: 32px;
      grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
      position: relative;
      z-index: 1;
    }

    .service-page-hero-main-centered {
      grid-template-columns: 1fr;
      justify-items: center;
    }

    .service-page-hero-premium .service-page-hero-inner-centered {
      backdrop-filter: blur(16px);
      background: rgba(255, 255, 255, .08);
      border: 1px solid rgba(255, 255, 255, .16);
      border-radius: 28px;
      box-shadow: 0 28px 80px rgba(0, 0, 0, .24);
      margin-inline: auto;
      max-width: 820px;
      padding: clamp(28px, 4vw, 44px);
      text-align: center;
    }

    .service-page-hero-premium .service-page-hero-title {
      background: linear-gradient(135deg, #fff 0%, #d9f0ff 100%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
      font-size: clamp(2.2rem, 4.8vw, 3.4rem);
      letter-spacing: -.02em;
    }

    .service-page-hero-premium .service-page-hero-intro {
      color: rgba(255, 255, 255, .88);
      font-size: 1.12rem;
      margin-inline: auto;
      max-width: 640px;
    }

    .service-page-hero-premium .service-page-hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      justify-content: center;
      margin-top: 8px;
    }

    .service-page-hero-premium .btn-primary {
      box-shadow: 0 16px 36px rgba(10, 116, 216, .42);
      min-width: 160px;
    }

    .service-page-hero-has-bg:has(.service-page-hero-trust) .container {
      display: block;
    }

    .service-page-segment-split .service-page-segment-index {
      display: none;
    }

    .service-page-split-grid {
      display: grid;
      gap: clamp(24px, 4vw, 40px);
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .service-page-segment-split-right .service-page-split-media {
      order: 2;
    }

    .service-page-split-media {
      background: linear-gradient(145deg, #fff, var(--ice-50));
      border: 1px solid rgba(10, 116, 216, .14);
      border-radius: 28px;
      box-shadow: 0 24px 60px rgba(6, 21, 37, .1);
      overflow: hidden;
      padding: 16px;
      position: relative;
    }

    .service-page-split-media::after {
      background: linear-gradient(180deg, transparent 55%, rgba(6, 21, 37, .08));
      content: "";
      inset: 0;
      pointer-events: none;
      position: absolute;
    }

    .service-page-split-media img {
      border-radius: 18px;
      display: block;
      height: auto;
      width: 100%;
    }

    .service-page-split-copy {
      align-self: center;
      display: grid;
      gap: 16px;
    }

    .service-page-split-copy h2 {
      position: relative;
    }

    .service-page-split-copy h2::after {
      background: linear-gradient(90deg, var(--blue-500), var(--cyan-300));
      border-radius: 999px;
      content: "";
      display: block;
      height: 4px;
      margin-top: 12px;
      width: 64px;
    }

    .service-page-segment-video {
      background: linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(247, 251, 255, .98));
      border: 1px solid rgba(10, 116, 216, .1);
      border-radius: 28px;
      box-shadow: 0 24px 60px rgba(6, 21, 37, .08);
      padding: clamp(28px, 4vw, 40px);
    }

    .service-page-segment-video .service-page-segment-index {
      display: none;
    }

    .service-page-video-block {
      display: grid;
      gap: clamp(20px, 3vw, 28px);
    }

    .service-page-video-copy {
      display: grid;
      gap: 10px;
      max-width: 720px;
    }

    .service-page-video-copy h2 {
      font-size: clamp(1.45rem, 2.4vw, 2rem);
    }

    .service-page-video-frame {
      aspect-ratio: 16 / 9;
      background: var(--navy-950);
      border: 1px solid rgba(255, 255, 255, .08);
      border-radius: 24px;
      box-shadow:
        0 24px 60px rgba(6, 21, 37, .18),
        0 0 0 1px rgba(10, 116, 216, .12),
        0 0 48px rgba(10, 116, 216, .12);
      overflow: hidden;
      position: relative;
    }

    .service-page-video-frame iframe {
      border: 0;
      height: 100%;
      inset: 0;
      position: absolute;
      width: 100%;
    }

    .service-page-steps {
      background: linear-gradient(180deg, #04101d 0%, var(--navy-950) 48%, #071828 100%);
      color: #fff;
      overflow: hidden;
      padding: clamp(72px, 9vw, 108px) 0;
      position: relative;
    }

    .service-page-steps-bg {
      background:
        radial-gradient(circle at 12% 18%, rgba(73, 185, 255, .18), transparent 34%),
        radial-gradient(circle at 88% 12%, rgba(10, 116, 216, .14), transparent 28%);
      inset: 0;
      pointer-events: none;
      position: absolute;
    }

    .service-page-steps-grid-bg {
      background-image:
        linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px);
      background-size: 48px 48px;
      inset: 0;
      mask-image: linear-gradient(180deg, rgba(0, 0, 0, .7), transparent 90%);
      opacity: .35;
      pointer-events: none;
      position: absolute;
    }

    .service-page-steps .container {
      position: relative;
      z-index: 1;
    }

    .service-page-steps-intro {
      display: grid;
      gap: 18px;
      justify-items: center;
      margin: 0 auto 48px;
      max-width: 880px;
      text-align: center;
    }

    .service-page-steps-intro .eyebrow.eyebrow-light {
      justify-content: center;
    }

    .service-page-steps-intro .eyebrow.eyebrow-light::before,
    .service-page-steps-intro .eyebrow.eyebrow-light::after {
      background: var(--cyan-300);
      content: "";
      flex-shrink: 0;
      height: 2px;
      width: 24px;
    }

    .service-page-steps-intro h2 {
      color: #fff;
      font-size: clamp(1.9rem, 3.6vw, 2.75rem);
      letter-spacing: -.02em;
      line-height: 1.12;
      margin: 0;
      max-width: none;
      text-wrap: balance;
    }

    .service-page-steps-lead {
      display: grid;
      gap: 18px;
      line-height: 1.75;
      margin-top: 4px;
      width: 100%;
    }

    .service-page-steps-lead p {
      color: rgba(255, 255, 255, .92);
      font-size: 1.06rem;
      line-height: 1.75;
      margin: 0;
      max-width: 700px;
      margin-inline: auto;
    }

    .service-page-steps-lead p.service-page-steps-highlight {
      background: linear-gradient(135deg, rgba(10, 116, 216, .78), rgba(20, 147, 255, .52));
      border: 1px solid rgba(118, 218, 252, .72);
      border-radius: 18px;
      box-shadow:
        0 16px 40px rgba(0, 0, 0, .28),
        inset 0 1px 0 rgba(255, 255, 255, .18);
      color: #fff;
      font-size: clamp(.92rem, 1.8vw, 1.05rem);
      font-weight: 800;
      letter-spacing: .04em;
      line-height: 1.55;
      max-width: 780px;
      padding: 18px 24px;
      text-shadow: 0 1px 2px rgba(0, 0, 0, .18);
      text-transform: uppercase;
      width: 100%;
    }

    .eyebrow-light {
      color: var(--cyan-300);
    }

    .service-page-steps-grid {
      display: grid;
      gap: 20px;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      position: relative;
    }

    .service-page-step-card {
      backdrop-filter: blur(10px);
      background: linear-gradient(160deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .04));
      border: 1px solid rgba(255, 255, 255, .14);
      border-radius: 24px;
      display: grid;
      gap: 12px;
      min-height: 100%;
      overflow: hidden;
      padding: 24px 24px 28px;
      position: relative;
      transition: transform .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);
    }

    .service-page-step-card:hover {
      border-color: rgba(118, 218, 252, .35);
      box-shadow: 0 20px 48px rgba(0, 0, 0, .22);
      transform: translateY(-4px);
    }

    .service-page-step-index {
      color: rgba(255, 255, 255, .08);
      font-size: clamp(3rem, 6vw, 4.5rem);
      font-weight: 900;
      line-height: 1;
      pointer-events: none;
      position: absolute;
      right: 18px;
      top: 8px;
    }

    .service-page-step-number span {
      background: linear-gradient(135deg, var(--blue-500), var(--blue-400));
      border-radius: 999px;
      box-shadow: 0 8px 20px rgba(10, 116, 216, .35);
      color: #fff;
      display: inline-block;
      font-size: .78rem;
      font-weight: 700;
      letter-spacing: .06em;
      padding: 7px 14px;
      text-transform: uppercase;
    }

    .service-page-step-card h3 {
      color: #fff;
      font-size: 1.18rem;
      letter-spacing: .01em;
      line-height: 1.25;
      margin: 0;
      padding-right: 48px;
      text-transform: uppercase;
    }

    .service-page-step-card p {
      color: rgba(255, 255, 255, .88);
      line-height: 1.68;
      margin: 0;
    }

    .service-page-cta-wrap {
      padding: 0 0 56px;
    }

    .service-page-cta {
      align-items: center;
      background:
        linear-gradient(120deg, rgba(6, 21, 37, .97), rgba(8, 32, 58, .92)),
        linear-gradient(135deg, var(--navy-950), var(--blue-600));
      border: 1px solid rgba(255, 255, 255, .1);
      border-radius: 24px;
      box-shadow: var(--shadow-blue);
      display: flex;
      gap: 28px;
      justify-content: space-between;
      overflow: hidden;
      padding: clamp(28px, 4vw, 40px);
      position: relative;
    }

    .service-page-cta::before {
      background: radial-gradient(circle at 100% 0, rgba(73, 185, 255, .28), transparent 52%);
      content: "";
      inset: 0;
      pointer-events: none;
      position: absolute;
    }

    .service-page-cta-copy {
      display: grid;
      gap: 10px;
      max-width: 620px;
      position: relative;
      z-index: 1;
    }

    .service-page-cta-label {
      color: var(--cyan-300);
      font-size: .76rem;
      font-weight: 800;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    .service-page-cta-copy h2 {
      color: var(--white);
      font-size: clamp(1.45rem, 2.5vw, 2rem);
    }

    .service-page-cta-copy p {
      color: rgba(255, 255, 255, .74);
      font-size: 1rem;
      line-height: 1.65;
    }

    .service-page-cta-actions {
      display: flex;
      flex-shrink: 0;
      flex-wrap: wrap;
      gap: 12px;
      position: relative;
      z-index: 1;
    }

    @media (max-width: 991px) {
      .service-page-hero-main {
        grid-template-columns: 1fr;
      }

      .service-page-split-grid,
      .service-page-steps-grid,
      .service-page-showcase-intro {
        grid-template-columns: 1fr;
      }

      .service-page-showcase-image-right .service-page-showcase-visual {
        order: 0;
      }

      .service-page-showcase-media-head {
        flex-direction: column;
      }

      .service-page-segment-split-right .service-page-split-media {
        order: 0;
      }

      .service-page-hero-trust-item {
        flex: 1 1 calc(50% - 12px);
        max-width: none;
      }

      .service-page-cta {
        align-items: flex-start;
        flex-direction: column;
      }

      .service-page-cta-actions {
        width: 100%;
      }
    }

    @media (max-width: 575px) {
      .service-page-hero {
        padding-top: calc(var(--header-height) + 36px);
      }

      .service-page-cta-actions {
        flex-direction: column;
      }

      .service-page-cta-actions .btn {
        width: 100%;
      }
    }

    .service-page-flow {
      background: var(--ice-50);
    }

    .service-page-flow .section#faq {
      background:
        radial-gradient(circle at 14% 0%, rgba(20, 147, 255, .05), transparent 28%),
        linear-gradient(180deg, var(--white), var(--ice-50));
      padding: clamp(72px, 8vw, 96px) 0;
    }

    .service-page-flow .section#faq::before {
      display: none;
    }

    .service-page-flow .faq-wrap {
      gap: clamp(28px, 4vw, 40px);
      grid-template-columns: 1fr;
    }

    .service-page-flow .section#faq .section-head {
      gap: 14px;
      justify-items: center;
      margin-bottom: 0;
      margin-inline: auto;
      max-width: 900px;
      text-align: center;
    }

    .service-page-flow .section#faq .section-head .eyebrow {
      justify-content: center;
    }

    .service-page-flow .section#faq .section-head .eyebrow::before,
    .service-page-flow .section#faq .section-head .eyebrow::after {
      background: var(--blue-500);
      content: "";
      flex-shrink: 0;
      height: 2px;
      width: 28px;
    }

    .service-page-flow .section#faq .section-head h2 {
      font-size: clamp(1.85rem, 3.2vw, 2.75rem);
      line-height: 1.12;
      max-width: none;
      text-wrap: balance;
    }

    .service-page-flow .section#faq .section-head p {
      margin-inline: auto;
      max-width: 640px;
    }

    .service-page-flow .section#faq .accordion {
      display: grid;
      gap: 12px;
      grid-template-columns: 1fr;
    }

    .service-page-flow .faq-item {
      align-self: start;
      background: rgba(255, 255, 255, .92);
      border: 1px solid rgba(8, 32, 58, .08);
      border-radius: 18px;
      box-shadow: 0 10px 28px rgba(6, 21, 37, .05);
      height: auto;
      overflow: hidden;
      transition: border-color .3s var(--ease), box-shadow .3s var(--ease);
    }

    .service-page-flow .faq-item.active,
    .service-page-flow .faq-item:hover {
      border-color: rgba(10, 116, 216, .18);
      box-shadow: 0 16px 36px rgba(6, 21, 37, .08);
    }

    .service-page-flow .faq-question {
      background: transparent;
      box-shadow: none;
      font-size: 1rem;
      margin: 0;
      padding: 18px 20px;
    }

    .service-page-flow .faq-answer-inner p {
      padding: 0 20px 18px;
    }

    .service-page-flow .service-page-cta-actions .btn-secondary {
      background: rgba(255, 255, 255, .08);
      border-color: rgba(255, 255, 255, .35);
      color: #fff;
    }

    .service-page-flow .service-page-cta-actions .btn-secondary:hover {
      background: #fff;
      border-color: #fff;
      color: var(--navy-950);
    }

    .service-page-flow .service-page-cta-wrap {
      background:
        radial-gradient(circle at 18% 50%, rgba(73, 185, 255, .12), transparent 34%),
        var(--ice-50);
      padding: 0 0 clamp(64px, 8vw, 88px);
    }

    .service-page-flow .service-page-cta {
      border: 1px solid rgba(255, 255, 255, .12);
      box-shadow:
        0 28px 70px rgba(6, 21, 37, .24),
        inset 0 1px 0 rgba(255, 255, 255, .08);
      position: relative;
    }

    .service-page-flow .service-page-cta::after {
      background: linear-gradient(90deg, var(--blue-500), var(--cyan-300));
      border-radius: 999px;
      content: "";
      height: 3px;
      left: clamp(28px, 4vw, 40px);
      position: absolute;
      top: 0;
      width: 120px;
    }

    @media (max-width: 575px) {
      .service-page-hero-premium .service-page-hero-inner-centered {
        padding: 24px 20px;
      }

      .service-page-hero-trust-item {
        flex: 1 1 calc(50% - 10px);
        max-width: none;
        min-height: 80px;
      }

      .service-page-hero-premium .service-page-hero-actions {
        flex-direction: column;
        width: 100%;
      }

      .service-page-hero-premium .service-page-hero-actions .btn {
        width: 100%;
      }

      .service-page-steps-grid {
        grid-template-columns: 1fr;
      }
    }

    .contact-section {
      background: linear-gradient(180deg, var(--white) 0%, var(--ice-50) 50%, var(--ice-100) 100%);
      padding-top: calc(var(--header-height) + 56px);
    }

    .contact-section-bg {
      background:
        radial-gradient(circle at 14% 10%, rgba(20, 147, 255, .1), transparent 28%),
        radial-gradient(circle at 88% 14%, rgba(10, 116, 216, .07), transparent 24%);
      inset: 0;
      pointer-events: none;
      position: absolute;
      z-index: 0;
    }

    .contact-hero {
      align-items: end;
      display: grid;
      gap: clamp(24px, 4vw, 48px);
      grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
      margin-bottom: 44px;
      text-align: left;
    }

    .contact-hero-main {
      display: grid;
      gap: 16px;
    }

    .contact-hero .eyebrow {
      justify-content: flex-start;
    }

    .contact-hero-title {
      margin-top: 4px;
    }

    .contact-hero-subtitle {
      color: var(--navy-900);
      font-size: clamp(1.15rem, 2vw, 1.45rem);
      font-weight: 700;
      line-height: 1.45;
      margin: 0;
      max-width: 34ch;
    }

    .contact-hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 8px;
    }

    .contact-hero-email {
      background: rgba(255, 255, 255, .88);
      border: 1px solid rgba(8, 32, 58, .12);
      color: var(--navy-900);
    }

    .contact-hero-email:hover {
      background: var(--white);
      border-color: rgba(10, 116, 216, .35);
      color: var(--blue-600);
    }

    .contact-hero-aside {
      background: linear-gradient(135deg, rgba(255, 255, 255, .92), rgba(238, 246, 252, .88));
      border: 1px solid rgba(8, 32, 58, .08);
      border-left: 4px solid var(--blue-500);
      border-radius: 20px;
      box-shadow: 0 16px 40px rgba(6, 21, 37, .06);
      padding: clamp(22px, 3vw, 30px);
    }

    .contact-hero-intro {
      color: var(--gray-700);
      font-size: 1.02rem;
      line-height: 1.75;
      margin: 0;
    }

    .contact-split {
      align-items: stretch;
      display: grid;
      gap: 28px;
      grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    }

    .contact-form-panel,
    .contact-side-panel,
    .contact-map-card {
      background: rgba(255, 255, 255, .96);
      border: 1px solid rgba(8, 32, 58, .08);
      border-radius: 24px;
      box-shadow: 0 20px 48px rgba(6, 21, 37, .08);
    }

    .contact-form-panel,
    .contact-side-panel {
      display: flex;
      flex-direction: column;
      gap: 22px;
      min-height: 100%;
      padding: clamp(24px, 3vw, 32px);
    }

    .contact-form-panel .cw-contact-form-wrap {
      display: flex;
      flex: 1;
      flex-direction: column;
      min-height: 0;
    }

    .contact-form-panel .cw-contact-form {
      display: flex;
      flex: 1;
      flex-direction: column;
      min-height: 0;
    }

    .contact-form-panel .cw-form-grid {
      flex: 1;
      grid-template-rows: repeat(4, auto) minmax(150px, 1fr);
    }

    .contact-form-panel .cw-form-field-full:has(textarea) {
      display: flex;
      flex-direction: column;
      min-height: 0;
    }

    .contact-form-panel .cw-form-field-full:has(textarea) textarea {
      flex: 1;
      min-height: 150px;
      resize: none;
    }

    .contact-side-panel .contact-block-grid {
      flex: 1;
    }

    .contact-side-panel {
      min-width: 0;
      position: sticky;
      top: calc(var(--header-height) + 24px);
    }

    .contact-panel-head {
      display: grid;
      gap: 8px;
    }

    .contact-panel-head h3 {
      font-size: clamp(1.35rem, 2.2vw, 1.75rem);
    }

    .contact-panel-head p {
      color: var(--gray-700);
      font-size: .96rem;
      line-height: 1.6;
    }

    .contact-panel-label {
      color: var(--blue-600);
      font-size: .76rem;
      font-weight: 800;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    .contact-block-grid {
      display: grid;
      gap: 14px;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      min-width: 0;
    }

    .contact-block {
      background: linear-gradient(180deg, var(--white), var(--ice-50));
      border: 1px solid rgba(8, 32, 58, .06);
      border-radius: 18px;
      box-shadow: 0 8px 24px rgba(6, 21, 37, .06);
      display: grid;
      gap: 10px;
      min-height: 0;
      min-width: 0;
      padding: 18px 16px 16px;
      transition: box-shadow .3s var(--ease), transform .3s var(--ease);
    }

    .contact-block:hover {
      box-shadow: 0 14px 32px rgba(6, 21, 37, .1);
      transform: translateY(-2px);
    }

    .contact-block--wide,
    .contact-block--feature {
      grid-column: 1 / -1;
    }

    .contact-block--feature {
      background: linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(232, 244, 252, .92));
      border-color: rgba(10, 116, 216, .12);
      box-shadow: 0 10px 28px rgba(6, 21, 37, .07);
      gap: 14px;
      overflow: hidden;
      padding: 18px 18px 16px;
      position: relative;
    }

    .contact-block--feature::before {
      background: linear-gradient(180deg, var(--blue-500), var(--blue-600));
      border-radius: 0 4px 4px 0;
      content: "";
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 4px;
    }

    .contact-block-feature-head {
      align-items: center;
      display: flex;
      gap: 12px;
    }

    .contact-block--feature .contact-block-icon {
      background: rgba(10, 116, 216, .14);
      height: 40px;
      width: 40px;
    }

    .contact-block-email-link {
      align-items: center;
      background: var(--white);
      border: 1px solid rgba(8, 32, 58, .08);
      border-radius: 14px;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
      color: var(--navy-900);
      display: flex;
      font-size: clamp(.76rem, 1.6vw, .9rem);
      font-weight: 700;
      letter-spacing: -.01em;
      line-height: 1.4;
      min-height: 48px;
      padding: 12px 16px;
      text-decoration: none;
      transition: border-color .2s var(--ease), box-shadow .2s var(--ease), color .2s var(--ease);
      white-space: nowrap;
      width: 100%;
    }

    .contact-block-email-link:hover {
      border-color: rgba(10, 116, 216, .35);
      box-shadow: 0 6px 18px rgba(10, 116, 216, .12);
      color: var(--blue-600);
    }

    .contact-block-address-text {
      background: var(--white);
      border: 1px solid rgba(8, 32, 58, .08);
      border-radius: 14px;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
      color: var(--navy-900);
      font-size: .92rem;
      font-weight: 600;
      line-height: 1.65;
      min-height: 48px;
      padding: 12px 16px;
    }

    .contact-block-icon {
      align-items: center;
      background: rgba(10, 116, 216, .1);
      border-radius: 999px;
      color: var(--blue-600);
      display: inline-flex;
      height: 42px;
      justify-content: center;
      width: 42px;
    }

    .contact-block-label {
      color: var(--navy-950);
      font-size: .74rem;
      font-weight: 900;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .contact-block-value {
      color: var(--gray-700);
      font-size: .9rem;
      line-height: 1.5;
      min-width: 0;
    }

    .contact-block-value p {
      margin: 0;
    }

    .contact-block-value p + p {
      margin-top: 2px;
    }

    .contact-block-value a {
      color: var(--gray-700);
      transition: color .2s var(--ease);
    }

    .contact-block-value a:hover {
      color: var(--blue-600);
    }

    .contact-social-wrap {
      display: flex;
      justify-content: flex-start;
    }

    .contact-social-block {
      border-top: 1px solid rgba(8, 32, 58, .08);
      display: grid;
      gap: 14px;
      padding-top: 18px;
    }

    .contact-social-label {
      color: var(--navy-950);
      font-size: .82rem;
      font-weight: 900;
      letter-spacing: .06em;
      text-transform: uppercase;
    }

    .contact-page-social.social-icons .social-icon-link {
      align-items: center;
      background: rgba(10, 116, 216, .1);
      border-radius: 999px;
      color: var(--blue-600);
      display: inline-flex;
      height: 44px;
      justify-content: center;
      transition: background .25s var(--ease), color .25s var(--ease), transform .25s var(--ease);
      width: 44px;
    }

    .contact-page-social.social-icons .social-icon-link:hover {
      background: var(--blue-600);
      color: var(--white);
      opacity: 1;
      transform: translateY(-2px);
    }

    .contact-page-social.social-icons svg {
      height: 22px;
      max-height: 22px;
      max-width: 22px;
      width: 22px;
    }

    .contact-map-section {
      display: grid;
      gap: 18px;
      margin-top: 28px;
    }

    .contact-map-head {
      display: grid;
      gap: 8px;
      text-align: center;
    }

    .contact-map-head h3 {
      font-size: clamp(1.35rem, 2.2vw, 1.75rem);
    }

    .contact-map-section .contact-map-card {
      background: rgba(255, 255, 255, .96);
      border: 1px solid rgba(8, 32, 58, .08);
      border-radius: 24px;
      box-shadow: 0 20px 48px rgba(6, 21, 37, .08);
      overflow: hidden;
      padding: 0;
    }

    .contact-map-section .contact-map-card iframe {
      border: 0;
      display: block;
      height: min(420px, 55vw);
      width: 100%;
    }

    .contact-social {
      margin-top: 0;
    }

    .contact-map-card {
      overflow: hidden;
      padding: 0;
    }

    .contact-map-card iframe {
      border: 0;
      display: block;
      height: 240px;
      width: 100%;
    }

    .cw-form-grid {
      display: grid;
      gap: 16px;
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cw-form-field-full {
      grid-column: 1 / -1;
    }

    .cw-form-control {
      background: var(--white);
      border: 1px solid rgba(8, 32, 58, .12);
      border-radius: 14px;
      color: var(--navy-900);
      font: inherit;
      min-height: 54px;
      padding: 14px 16px;
      transition: border-color .25s var(--ease), box-shadow .25s var(--ease);
      width: 100%;
    }

    .cw-form-control:focus {
      border-color: rgba(10, 116, 216, .45);
      box-shadow: 0 0 0 4px rgba(10, 116, 216, .12);
      outline: none;
    }

    textarea.cw-form-control {
      min-height: 150px;
      resize: vertical;
    }

    .cw-form-select {
      appearance: none;
      background-image: linear-gradient(45deg, transparent 50%, var(--blue-600) 50%), linear-gradient(135deg, var(--blue-600) 50%, transparent 50%);
      background-position: calc(100% - 22px) calc(50% - 3px), calc(100% - 16px) calc(50% - 3px);
      background-repeat: no-repeat;
      background-size: 6px 6px, 6px 6px;
      padding-right: 42px;
    }

    .cw-form-actions {
      display: flex;
      justify-content: flex-end;
      margin-top: 20px;
    }

    .cw-form-submit {
      min-width: 180px;
    }

    .cw-form-alerts {
      display: grid;
      gap: 12px;
      margin-bottom: 18px;
    }

    .cw-form-alert {
      border-radius: 14px;
      display: grid;
      gap: 4px;
      padding: 14px 16px;
    }

    .cw-form-alert strong {
      font-size: .92rem;
    }

    .cw-form-alert span {
      font-size: .92rem;
      line-height: 1.5;
    }

    .cw-form-alert-error {
      background: rgba(220, 38, 38, .08);
      border: 1px solid rgba(220, 38, 38, .18);
      color: #991b1b;
    }

    .cw-form-alert-success {
      background: rgba(57, 199, 122, .1);
      border: 1px solid rgba(57, 199, 122, .24);
      color: #166534;
    }

    .cw-form-error {
      color: #b91c1c;
      font-size: .82rem;
      margin-top: 6px;
    }

    @media (max-width: 991px) {
      .contact-split {
        grid-template-columns: 1fr;
      }

      .contact-hero {
        grid-template-columns: 1fr;
      }

      .contact-hero-title,
      .contact-hero-subtitle {
        max-width: none;
      }

      .contact-side-panel {
        position: static;
      }

      .contact-form-panel .cw-contact-form-wrap,
      .contact-form-panel .cw-contact-form {
        flex: none;
      }

      .contact-form-panel .cw-form-grid {
        flex: none;
        grid-template-rows: none;
      }

      .contact-form-panel .cw-form-field-full:has(textarea) textarea {
        flex: none;
        resize: vertical;
      }

      .contact-side-panel .contact-block-grid {
        flex: none;
      }

      .cw-form-grid {
        grid-template-columns: 1fr;
      }

      .cw-form-field-half {
        grid-column: auto;
      }
    }

    @media (max-width: 575px) {
      .service-feature img {
        height: 190px;
      }

      .service-feature-body {
        gap: 12px;
        padding: 18px;
      }

      .service-feature-body h3 {
        font-size: 1.12rem;
      }

      .contact-section {
        padding-top: calc(var(--header-height) + 36px);
      }

      .contact-hero {
        margin-bottom: 28px;
      }

      .contact-hero-actions {
        flex-direction: column;
      }

      .contact-hero-actions .btn {
        width: 100%;
      }

      .contact-block-grid {
        grid-template-columns: 1fr;
      }

      .contact-block--feature {
        grid-column: auto;
      }

      .contact-block-email-link {
        font-size: clamp(.72rem, 3.2vw, .88rem);
      }

      .contact-map-section .contact-map-card iframe {
        height: 240px;
      }

      .cw-form-actions,
      .cw-form-submit {
        width: 100%;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      *,
      *::before,
      *::after {
        animation-duration: .01ms !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
      }

      .reveal {
        opacity: 1 !important;
        transform: none !important;
      }
    }

    .hero .hero-copy.reveal,
    .about-hero.reveal,
    .team-hero.reveal,
    .contact-hero.reveal,
    .plumbing-services-hero.reveal {
      opacity: 1;
      transform: none;
    }

    .logo-image,
    .logo-icon {
      display: block;
      flex-shrink: 0;
      height: 65px;
      width: auto;
      max-width: 220px;
      object-fit: contain;
    }

    .logo-icon {
      max-width: 224px;
    }

    .cms-page-banner {
      padding-top: calc(var(--header-height) + 40px);
    }

    .cms-page-banner-visual {
      min-height: clamp(220px, 42vw, 320px);
    }

    .cms-page-body-first {
      padding-top: calc(var(--header-height) + 40px);
    }

    .cms-rich-content {
      color: var(--gray-700);
      font-size: 1rem;
      line-height: 1.75;
      max-width: 100%;
      min-width: 0;
      overflow-wrap: anywhere;
      word-break: break-word;
    }

    .cms-rich-content > :first-child {
      margin-top: 0;
    }

    .cms-rich-content > :last-child {
      margin-bottom: 0;
    }

    .cms-rich-content p {
      margin: 0 0 1rem;
    }

    .cms-rich-content h2,
    .cms-rich-content h3,
    .cms-rich-content h4 {
      color: var(--navy-950);
      line-height: 1.15;
      margin: 1.5rem 0 .75rem;
    }

    .cms-rich-content img,
    .cms-rich-content video,
    .cms-rich-content iframe {
      display: block;
      height: auto;
      max-width: 100%;
    }

    .cms-rich-content table {
      border-collapse: collapse;
      display: block;
      max-width: 100%;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      width: 100%;
    }

    .cms-rich-content pre {
      max-width: 100%;
      overflow-x: auto;
      white-space: pre-wrap;
      word-break: break-word;
    }

    .cms-rich-content a {
      overflow-wrap: anywhere;
      word-break: break-word;
    }

    .page-blocks-stack > section.section:first-child:not(.hero):not(.team-section):not(.about-section):not(.contact-section):not(.plumbing-services-section):not(.service-page-hero) {
      padding-top: calc(66px + var(--header-height));
    }

    @media (max-width: 575px) {
      .container {
        width: min(var(--max), calc(100% - 24px));
      }

      .section {
        padding: 52px 0;
      }

      .team-section,
      .about-section,
      .plumbing-services-section,
      .contact-section,
      main > div:first-child > section#faq:first-child {
        padding-top: calc(var(--header-height) + 36px);
      }

      .cms-page-banner,
      .cms-page-body-first {
        padding-top: calc(var(--header-height) + 28px);
      }

      .cms-page-banner-visual {
        min-height: clamp(180px, 52vw, 260px);
      }

      .section-head h2,
      .cms-page-body .section-head h2 {
        font-size: clamp(1.65rem, 8vw, 2.2rem);
      }

      .section-head p {
        font-size: .98rem;
      }

      .page-blocks-stack > section.section:first-child:not(.hero):not(.team-section):not(.about-section):not(.contact-section):not(.plumbing-services-section):not(.service-page-hero) {
        padding-top: calc(52px + var(--header-height));
      }

      .service-page-segment {
        padding: 20px 16px;
      }

      .service-page-segment h2 {
        font-size: clamp(1.15rem, 5.5vw, 1.45rem);
      }

      .service-page-list li {
        font-size: .9rem;
        padding: 11px 12px 11px 30px;
      }

      .property-visual-badge {
        left: 14px;
        max-width: calc(100% - 28px);
        right: 14px;
      }

      .slim-cta-inner,
      .financing-box,
      .emergency-inner {
        gap: 16px;
      }

      .contact-hero-subtitle,
      .contact-hero-title {
        max-width: none;
      }
    }

    @media (max-width: 399px) {
      .container {
        width: min(var(--max), calc(100% - 20px));
      }

      .hero-copy h1 {
        font-size: clamp(2rem, 11vw, 2.55rem);
      }

      .btn {
        font-size: .92rem;
        padding: 14px 18px;
      }

      .mega-cta .btn {
        font-size: .88rem;
        padding: 12px 14px;
      }

      .logo-image,
      .logo-icon {
        max-width: min(58vw, 180px);
      }
    }

    .inner-content-section {
      padding-top: calc(var(--header-height) + 48px);
    }

    .inner-content-card {
      display: grid;
      gap: 28px;
      margin-inline: auto;
      max-width: 920px;
    }

    .inner-content-title {
      color: #2e4b78;
      font-size: clamp(1.55rem, 2.6vw, 2.15rem);
      letter-spacing: -.02em;
      line-height: 1.15;
      max-width: none;
    }

    .inner-content-title::after {
      background: linear-gradient(90deg, var(--blue-500), var(--cyan-300));
      border-radius: 999px;
      content: "";
      display: block;
      height: 4px;
      margin-top: 16px;
      width: 72px;
    }

    .inner-content-media {
      margin: 0;
    }
