/* Contact and fault-report pages; shared header/footer styles stay unchanged. */
.service-page-body { background: #e5f2fa; }
.service-page-main { position: relative; isolation: isolate; overflow: clip; background: #e5f2fa; }
.service-page-main::before { position: absolute; z-index: -2; inset: 0; background: url('assets/water-clear.webp') center -170px / max(1720px, 100%) auto no-repeat; opacity: .68; content: ""; pointer-events: none; }
.service-page-main::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, #e5f2fa80 0, #e5f2fa45 430px, #e5f2fa 1200px); content: ""; pointer-events: none; }
.contact-v6.service-page { width: 100%; margin: 0; padding: 0 0 108px; color: #063f5e; }
.service-page__inner { width: min(1200px, calc(100% - 96px)); margin-inline: auto; }
.service-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding-top: 16px; color: #617b88; font-size: 13px; line-height: 1.5; }
.service-breadcrumb a { color: #617b88; text-decoration: none; }
.service-breadcrumb a:hover { color: #063f5e; text-decoration: underline; text-underline-offset: 4px; }
.service-breadcrumb > span[aria-hidden] { color: #b2c2c9; }
.service-page__heading { max-width: 1080px; margin: 42px 0 56px; }
.contact-v6.service-page .service-page__eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 24px; color: #5b7480; font-size: 11px; font-weight: 500; line-height: 1.5; letter-spacing: .12em; text-transform: uppercase; }
.service-page__eyebrow > span { width: 30px; height: 2px; background: #f49500; }
.contact-v6.service-page .service-page__heading h1 { margin: 0; color: #063f5e; font-size: clamp(56px, 6.65vw, 94px); font-weight: 500; line-height: 1.02; letter-spacing: -.058em; }
.contact-v6.service-page .service-page__heading h1 > span { color: #006ea8; }
.contact-v6.service-page .service-page__heading > p:last-child { max-width: 610px; margin: 25px 0 0; color: #355d71; font-size: 20px; line-height: 1.7; }
.service-page__layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(300px, 1fr); align-items: start; gap: 76px; padding-top: 9px; }
.service-page__form-stack { position: relative; min-width: 0; isolation: isolate; }
.service-page__form-stack::before,
.service-page__form-stack::after { content: none; }
.service-page__form-stack::before { z-index: -2; background: #c9e9f8; transform: translate(-11px, -2px) rotate(-2.1deg); }
.service-page__form-stack::after { z-index: -1; background: linear-gradient(150deg, #0789bd, #07679d); transform: translate(9px, 8px) rotate(1.25deg); }
.service-page__form-stack:focus-within::before { transform: translate(-13px, -3px) rotate(-2.35deg); }
.service-page__form-stack:focus-within::after { transform: translate(11px, 9px) rotate(1.4deg); }
.service-page__form-panel { position: relative; z-index: 1; min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.service-page__form-heading { margin-bottom: 22px; }
.contact-v6.service-page .service-page__form-heading h2 { margin: 0; color: #063f5e; font-size: 34px; font-weight: 500; line-height: 1.2; letter-spacing: -.035em; }
.contact-v6.service-page .service-page__form-heading p { margin: 13px 0 0; color: #355d71; font-size: 17px; line-height: 1.65; }
.contact-v6.service-page .service-preview-note { display: flex; align-items: center; gap: 8px; margin: 0 0 30px; color: #355d71; font-size: 13px; line-height: 1.6; }
.service-preview-note > span { width: 5px; height: 5px; flex: 0 0 5px; border-radius: 50%; background: #e39420; }
.service-page .contact-v6__fields { gap: 28px 22px; }
.contact-v6.service-page .contact-v6__field > label { margin-bottom: 11px; color: #063f5e; font-size: 17px; font-weight: 500; transition: color .18s ease; }
.contact-v6.service-page .contact-v6__field:focus-within > label { color: #006b9e; }
.contact-v6.service-page .contact-v6__field input,
.contact-v6.service-page .contact-v6__field select,
.contact-v6.service-page .contact-v6__field textarea { min-height: 66px; padding: 17px 22px; border: 1.5px solid #376b85; border-radius: 34px; background: #ffffff52; color: #063f5e; font-size: 19px; line-height: 1.5; transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease; }
.contact-v6.service-page .contact-v6__field textarea { min-height: 190px; border-radius: 26px; }
.contact-v6.service-page .contact-v6__field input::placeholder,
.contact-v6.service-page .contact-v6__field textarea::placeholder { color: #4b6d81; font-size: 16px; }
.contact-v6.service-page .contact-v6__field input:hover,
.contact-v6.service-page .contact-v6__field select:hover,
.contact-v6.service-page .contact-v6__field textarea:hover { border-color: #006b9d; background: #ffffffb0; }
.contact-v6.service-page .contact-v6__field input:focus,
.contact-v6.service-page .contact-v6__field select:focus,
.contact-v6.service-page .contact-v6__field textarea:focus { border-color: #0074ac; outline: 2px solid #0074ac29; outline-offset: 2px; background: #fff; box-shadow: 0 5px 15px #0074ac10; }
.service-page .contact-v6__fieldset { margin-bottom: 32px; }
.service-page .contact-v6__fieldset > legend { margin-bottom: 21px; padding-bottom: 12px; border-bottom: 1px solid #9bbdce; font-size: 22px; }
.contact-v6.service-page .contact-v6__consent { margin-top: 25px; color: #355d71; font-size: 14px; line-height: 1.75; }
.service-page .contact-v6__consent > input { margin-top: 2px; }
.service-page .contact-v6__actions { flex-direction: row; align-items: center; gap: 18px; margin-top: 28px; padding-top: 24px; border-color: #8db3c76b; }
.contact-v6.service-page .contact-v6__actions > p { color: #4b6d81; font-size: 12px; }
.contact-v6.service-page .contact-v6__submit { justify-content: center; width: auto; min-height: 64px; padding: 18px 34px; border-color: #006398; border-radius: 32px; background: #006398; box-shadow: 0 8px 18px #0063981c; color: #fff; font-size: 18px; font-weight: 500; transition: background-color .18s ease, box-shadow .18s ease; }
.contact-v6.service-page .contact-v6__submit:hover { border-color: #064b73; background: #064b73; box-shadow: 0 9px 21px #00639829; }
.contact-v6.service-page .contact-v6__submit > span { display: none; }
.service-page__aside { min-width: 0; }
.service-contact-card { position: relative; isolation: isolate; overflow: hidden; padding: 40px 32px 38px; border: 1px solid #ffffffd9; border-radius: 26px; background: #ffffffbf; box-shadow: 0 15px 55px #084b6c0b; backdrop-filter: blur(7px); color: #063f5e; }
.service-contact-card::after { position: absolute; z-index: -1; top: -68px; right: -90px; width: 260px; height: 260px; border: 25px solid #0076ad06; border-radius: 50%; content: ""; pointer-events: none; }
.contact-v6.service-page .service-contact-card__eyebrow { margin: 0 0 22px; color: #315f78; font-size: 16px; font-weight: 500; line-height: 1.5; letter-spacing: .035em; text-transform: uppercase; }
.contact-v6.service-page .service-contact-card h2 { margin: 0 0 18px; color: #006398; font-size: 42px; font-weight: 500; line-height: 1.08; letter-spacing: -.04em; }
.contact-v6.service-page .service-contact-card__intro { margin: 0; color: #355d71; font-size: 18px; line-height: 1.7; }
.service-contact-card__details { display: grid; gap: 22px; margin: 31px 0; }
.contact-v6.service-page .service-contact-card__details a { display: flex; align-items: flex-start; gap: 14px; width: fit-content; max-width: 100%; color: #063f5e; font-size: 21px; font-weight: 500; line-height: 1.5; text-decoration: none; }
.service-contact-card__details a:hover > span { text-decoration: underline; text-decoration-color: #f6a523; text-underline-offset: 4px; }
.service-contact-card__details a > svg { width: 22px; height: 22px; flex: 0 0 22px; margin-top: 2px; color: #f49500; }
.service-contact-card__details a > span { min-width: 0; overflow-wrap: anywhere; }
.service-contact-card__details small { display: block; margin: 0 0 4px; color: #4d7184; font-size: 14px; font-weight: 400; }
.contact-v6.service-page .service-contact-card__address { margin: 0; padding-top: 25px; border-top: 1px solid #7eabbc4d; color: #355d71; font-size: 16px; line-height: 1.8; }
.service-contact-card__address strong { display: block; margin-bottom: 3px; color: #063f5e; font-weight: 500; }
.contact-v6.service-page .service-other-path { display: block; margin-top: 20px; padding: 23px 25px; border: 1px solid #ffffffd9; border-radius: 20px; background: #ffffffb8; box-shadow: none; color: #063f5e; text-decoration: none; transition: border-color .2s ease, background-color .2s ease; }
.service-other-path > span { display: block; margin-bottom: 9px; color: #4b6d81; font-size: 15px; line-height: 1.5; }
.service-other-path > strong { display: flex; align-items: center; justify-content: space-between; gap: 15px; font-size: 20px; font-weight: 500; line-height: 1.4; }
.service-other-path > strong > span { font-size: 23px; }
.contact-v6.service-page .service-other-path:hover { border-color: #7ba1b5; background: #fff; }
.service-internal-note { margin: 23px 6px 0; color: #4b6d81; font-size: 12px; line-height: 1.75; }
.service-internal-note > summary { width: fit-content; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.contact-v6.service-page .service-internal-note p { margin: 10px 0 0; color: inherit; font-size: inherit; line-height: inherit; }
.service-page-body .mw6-navigation a[aria-current="page"] { color: #f49500; }

@media (max-width: 1100px) {
  .service-page__inner { width: calc(100% - 64px); }
  .service-page__layout { grid-template-columns: minmax(0, 1.55fr) minmax(270px, 1fr); gap: 44px; }
  .service-page__form-panel { padding: 0; }
  .service-contact-card { padding: 31px 26px 27px; }
  .contact-v6.service-page .service-contact-card h2 { font-size: 38px; }
  .contact-v6.service-page .service-contact-card__details a { font-size: 18px; }
  .service-page .contact-v6__fields { column-gap: 16px; }
}
@media (max-width: 850px) {
  .service-page__layout { grid-template-columns: 1fr; gap: 28px; }
  .service-page__heading { margin: 39px 0 36px; }
  .service-page__aside { display: grid; grid-template-columns: 1.2fr 1fr; gap: 20px; align-items: start; }
  .service-contact-card { grid-row: span 2; }
  .contact-v6.service-page .service-other-path { margin-top: 0; }
  .service-internal-note { margin-top: 0; }
  .service-page-main::before { background-position: 56% -190px; opacity: .66; }
  .service-page__form-stack::before { transform: translate(-7px, -2px) rotate(-1.35deg); }
  .service-page__form-stack::after { transform: translate(7px, 7px) rotate(.9deg); }
  .service-page__form-stack:focus-within::before { transform: translate(-7px, -2px) rotate(-1.5deg); }
  .service-page__form-stack:focus-within::after { transform: translate(7px, 7px) rotate(1deg); }
}
@media (max-width: 600px) {
  .contact-v6.service-page { padding-bottom: 62px; }
  .service-page__inner { width: calc(100% - 40px); }
  .service-breadcrumb { padding-top: 12px; font-size: 12px; }
  .service-page__heading { margin-top: 32px; }
  .contact-v6.service-page .service-page__eyebrow { margin-bottom: 19px; font-size: 9px; }
  .contact-v6.service-page .service-page__heading h1 { font-size: clamp(43px, 10.5vw, 63px); line-height: 1.04; }
  .contact-v6.service-page .service-page__heading > p:last-child { margin-top: 21px; font-size: 18px; }
  .service-page__form-stack::before,
  .service-page__form-stack::after { inset: 9px 3px 0; border-radius: 25px; }
  .service-page__form-stack::before,
  .service-page__form-stack:focus-within::before { transform: translate(-8px, -4px); }
  .service-page__form-stack::after,
  .service-page__form-stack:focus-within::after { transform: translate(7px, 7px); }
  .service-page__form-panel { padding: 0; border-radius: 0; }
  .contact-v6.service-page .service-page__form-heading h2 { font-size: 30px; }
  .contact-v6.service-page .service-page__form-heading p { font-size: 16px; }
  .service-page .contact-v6__fields { grid-template-columns: 1fr; gap: 21px; }
  .service-page__aside { grid-template-columns: 1fr; gap: 18px; }
  .service-contact-card { grid-row: auto; padding: 30px 27px; border-radius: 22px; }
  .contact-v6.service-page .service-contact-card h2 { font-size: 38px; }
  .contact-v6.service-page .service-contact-card__details a { font-size: 20px; }
  .service-internal-note { margin-top: 3px; }
  .service-page-main::before { background-size: 1230px auto; background-position: 53% -105px; opacity: .48; }
  .service-page-main::after { background: linear-gradient(180deg, #e5f2fa88 0, #e5f2fa66 430px, #e5f2fa 850px); }
  .service-page .contact-v6__actions { flex-direction: column; align-items: flex-start; }
  .contact-v6.service-page .contact-v6__submit { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .service-page__form-stack::before,
  .service-page__form-stack::after,
  .contact-v6.service-page .contact-v6__field > label,
  .contact-v6.service-page .contact-v6__field input,
  .contact-v6.service-page .contact-v6__field select,
  .contact-v6.service-page .contact-v6__field textarea,
  .contact-v6.service-page .contact-v6__submit,
  .contact-v6.service-page .service-other-path { transition: none; }
  .service-page__form-stack::before,
  .service-page__form-stack:focus-within::before { transform: translate(-7px, -3px); }
  .service-page__form-stack::after,
  .service-page__form-stack:focus-within::after { transform: translate(7px, 7px); }
}
@media (max-width: 370px) {
  .service-page__inner { width: calc(100% - 28px); }
  .service-page__form-panel { padding-inline: 0; }
  .contact-v6.service-page .service-page__heading h1 { font-size: 41px; }
  .contact-v6.service-page .service-preview-note { font-size: 12px; }
}

/* Readable controls on narrow displays; the blue surface continues to the footer. */
@media (max-width: 600px) {
  .contact-v6.service-page .contact-v6__field input,
  .contact-v6.service-page .contact-v6__field select,
  .contact-v6.service-page .contact-v6__field textarea { min-height: 64px; padding: 16px 19px; font-size: 18px; }
  .contact-v6.service-page .contact-v6__field textarea { min-height: 180px; }
  .contact-v6.service-page .contact-v6__field > label { font-size: 17px; }
  .contact-v6.service-page .service-contact-card__eyebrow { font-size: 16px; }
  .service-page .contact-v6__fieldset > legend { font-size: 21px; }
}
