:root { color-scheme: light; --w-ink:#172f43; --w-muted:#465d6c; --w-blue:#0065ad; --w-navy:#0b2c47; --w-line:#cbd8e1; --w-soft:#f1f6f9; }
* { box-sizing:border-box; }
html { scroll-behavior:auto; scroll-padding-top:94px; }
.w-page { margin:0; color:var(--w-ink); background:#fff; font:17px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
[hidden] { display:none !important; }
a { color:var(--w-blue); text-underline-offset:.23em; }
button,input,textarea { font:inherit; }
button,summary { cursor:pointer; }
button { border:0; }
img { display:block; max-width:100%; height:auto; }
figure,dl,dd { margin:0; }
p { margin:0 0 1em; }
h1,h2,h3 { line-height:1.18; letter-spacing:-.025em; text-wrap:balance; }
h1 { font-size:clamp(36px,3.5vw,50px); margin:0 0 20px; }
h2 { font-size:clamp(30px,2.7vw,39px); margin:0 0 18px; }
h3 { font-size:23px; margin:0 0 12px; }
:focus-visible { outline:3px solid #efa900; outline-offset:5px; }
.w-wrap { width:calc(100% - 64px); max-width:1220px; margin:0 auto; }
.w-section { padding:74px 0; }
.w-soft { background:var(--w-soft); }
.w-heading { max-width:940px; margin-bottom:34px; }
.w-heading > p:last-child { font-size:18px; color:var(--w-muted); margin-bottom:0; }
.w-eyebrow { color:var(--w-blue); font-size:13px; line-height:1.5; font-weight:750; letter-spacing:.09em; text-transform:uppercase; margin-bottom:14px; }
.w-skip { position:fixed; top:-100px; left:20px; z-index:100; background:#fff; padding:12px; }
.w-skip:focus { top:10px; }
.w-header { position:sticky; top:0; z-index:20; background:#fff; border-bottom:1px solid #dce5eb; }
.w-header-inner { min-height:80px; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.w-brand { display:inline-flex; align-items:center; flex-shrink:0; gap:9px; color:#0065b0; text-decoration:none; }
.w-brand img { width:46px; height:46px; }
.w-brand > span { font-size:25px; font-weight:850; letter-spacing:-.7px; }
.w-brand > span > span { font-weight:500; }
.w-desktop-nav { display:flex; align-items:center; gap:17px; }
.w-desktop-nav a { color:var(--w-ink); padding:12px 0; font-size:16px; font-weight:650; text-decoration:none; }
.w-desktop-nav a:hover,.w-desktop-nav a[aria-current] { color:var(--w-blue); }
.w-desktop-nav .w-nav-inquiry { color:#fff; background:var(--w-blue); border-radius:4px; padding:10px 16px; }
.w-mobile-menu { display:none; position:relative; }
.w-mobile-menu summary { list-style:none; padding:12px 0 12px 12px; font-weight:700; }
.w-mobile-menu summary::-webkit-details-marker { display:none; }
.w-mobile-menu summary span { margin-left:8px; }
.w-mobile-menu nav { position:absolute; right:0; top:calc(100% + 9px); width:245px; max-width:calc(100vw - 36px); padding:10px; background:#fff; border:1px solid var(--w-line); border-radius:5px; box-shadow:0 16px 35px #142e4626; }
.w-mobile-menu nav a { display:block; padding:10px 13px; color:var(--w-ink); font-weight:650; text-decoration:none; }
.w-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:13px 18px; border:1px solid transparent; border-radius:4px; font-size:16px; line-height:1.45; font-weight:750; text-align:center; text-decoration:none; }
.w-primary { color:#fff; background:var(--w-blue); }
.w-primary:hover,.w-desktop-nav .w-nav-inquiry:hover { color:#fff; background:#004e87; }
.w-secondary { color:var(--w-ink); border-color:#9bafbd; background:transparent; }
.w-secondary:hover { background:#e9f0f5; }
.w-light { color:var(--w-navy); background:#fff; }
.w-outline-light { color:#fff; border-color:#9bbbd1; background:transparent; }
.w-hero { background:#edf3f7; padding:55px 0 60px; }
.w-hero-grid { display:grid; grid-template-columns:.9fr 1.1fr; grid-template-rows:auto auto auto; gap:20px 34px; align-items:center; }
.w-hero-copy { grid-column:1; grid-row:1; align-self:end; }
.w-lead { font-size:18px; color:#344e60; margin:0; }
.w-hero-photo { grid-column:2; grid-row:1/4; align-self:center; }
.w-hero-photo img { width:100%; aspect-ratio:16/9; object-fit:contain; border-radius:5px; }
.w-proof-list { grid-column:1; grid-row:2; display:grid; grid-template-columns:1fr 1fr; gap:8px 16px; list-style:none; padding:0; margin:0; font-size:16px; font-weight:700; }
.w-proof-list li { border-top:1px solid #b6cad8; padding:9px 0 0; }
.w-hero-actions { grid-column:1; grid-row:3; display:flex; flex-wrap:wrap; gap:11px; }
.w-hero-actions .w-button { flex:1 1 220px; }
.w-wear-grid,.w-supply-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.w-wear-panel,.w-supply-grid article { min-width:0; border-top:3px solid #77a9c9; }
.w-hardware img { width:100%; aspect-ratio:4/3; object-fit:contain; background:#fff; border-radius:4px; }
.w-wear-panel .w-hardware img { height:auto; }
.w-wear-panel .w-hardware img { aspect-ratio:4/3; }
.w-hardware figcaption { font-size:16px; color:var(--w-muted); padding:10px 0 0; }
.w-panel-copy,.w-supply-copy { padding-top:18px; }
.w-panel-copy p,.w-supply-copy p { color:var(--w-muted); }
.w-panel-copy strong { color:var(--w-ink); }
.w-linking-line { border-left:3px solid var(--w-blue); margin:32px 0 0; padding:16px 22px; background:#eaf3f8; font-size:17px; }
.w-linking-line a { display:inline; font-weight:750; }
.w-replacement-grid { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:45px; }
.w-replacement-grid .w-heading { margin-bottom:22px; }
.w-replacement-list { margin:0 0 25px; }
.w-replacement-list > div { padding:13px 0; border-top:1px solid var(--w-line); }
.w-replacement-list dt { font-size:19px; font-weight:750; }
.w-replacement-list dd { color:var(--w-muted); }
.w-replacement-photo { align-self:stretch; display:flex; align-items:center; }
.w-replacement-photo img { width:100%; }
.w-case { background:#e6f0f6; }
.w-case-header { display:grid; grid-template-columns:1.08fr .92fr; gap:48px; align-items:end; border-bottom:1px solid #a9c4d4; padding-bottom:30px; margin-bottom:32px; }
.w-case-header h2 { max-width:670px; }
.w-case-theme { margin:0 0 12px; font-size:18px; font-weight:700; color:#28516d; }
.w-case-header h2 { color:#063d69; }
.w-case-place { color:var(--w-muted); font-size:16px; margin:0; }
.w-case-metric { border-left:4px solid var(--w-blue); padding:4px 0 4px 23px; }
.w-case-metric strong { display:block; font-size:clamp(45px,5vw,70px); line-height:1.1; color:#0065ad; letter-spacing:-.035em; }
.w-case-metric strong span { display:block; font-size:26px; letter-spacing:0; }
.w-case-metric p { margin:12px 0 0; font-size:18px; font-weight:650; }
.w-case-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:42px; align-items:start; }
.w-case-story { font-size:17px; }
.w-case-story strong { color:#063d69; }
.w-illustrative { padding-top:18px; margin-top:22px; border-top:1px solid #b7cdda; font-size:16px; }
.w-case-images { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.w-case-images img { width:100%; aspect-ratio:4/3; object-fit:contain; background:#fff; border-radius:4px; }
.w-case-images figcaption { font-size:16px; font-weight:700; padding-top:10px; }
.w-pump-head { display:flex; align-items:center; gap:24px; padding:18px 26px; background:#e8f2f8; border-left:3px solid var(--w-blue); margin-bottom:29px; }
.w-pump-head h3 { flex:0 0 170px; margin:0; }
.w-pump-head p { margin:0; }
.w-supply-grid article { padding-top:0; }
.w-supply-grid .w-hardware img { width:100%; }
.w-supply-copy { padding-top:20px; }
.w-supply-copy a { font-size:16px; font-weight:750; }
.w-availability { background:var(--w-navy); color:#fff; }
.w-availability-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:45px; align-items:center; }
.w-availability .w-eyebrow { color:#a5d8fb; }
.w-availability p { color:#d2e4ef; }
.w-availability .w-button { margin-top:12px; }
.w-leadtime { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.w-leadtime > div { min-width:0; padding:23px; background:#164769; border-top:3px solid #66b6e8; }
.w-leadtime dt { min-height:54px; font-size:17px; font-weight:700; }
.w-leadtime dd { margin-top:20px; font-size:17px; }
.w-leadtime strong { display:block; font-size:32px; line-height:1.2; }
.w-support-intro { display:grid; grid-template-columns:1.05fr .95fr; gap:42px; align-items:center; margin-bottom:30px; }
.w-support-intro .w-heading { margin:0; }
.w-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px 28px; }
.w-services > div { padding-top:18px; border-top:2px solid #c0d3e0; }
.w-services dt { font-size:20px; font-weight:750; }
.w-services dd { color:var(--w-muted); }
.w-inquiry { background:var(--w-navy); color:#fff; }
.w-inquiry-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:52px; align-items:start; }
.w-inquiry .w-eyebrow { color:#9ed5ff; }
.w-inquiry-copy > p:not(.w-eyebrow) { color:#d0e0ec; }
.w-contact-email { display:inline-block; color:#fff; font-size:clamp(22px,2.2vw,28px); font-weight:750; overflow-wrap:anywhere; margin:8px 0 22px; }
.w-email-actions,.w-summary-actions { display:flex; flex-wrap:wrap; gap:12px; }
.w-inquiry-panel { min-width:0; background:#fff; color:var(--w-ink); border-radius:6px; padding:28px; }
.w-inquiry-panel label { display:block; font-size:16px; font-weight:700; margin-bottom:8px; }
.w-field-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:22px; }
.w-field-row > div { min-width:0; }
.w-inquiry-panel input,.w-inquiry-panel textarea { display:block; width:100%; min-width:0; padding:11px 12px; border:1px solid #9aaebd; border-radius:3px; background:#fff; color:var(--w-ink); font-size:16px; }
.w-inquiry-panel input { min-height:48px; }
.w-inquiry-panel textarea { min-height:160px; resize:vertical; line-height:1.5; }
.w-inquiry-panel [aria-invalid="true"] { border-color:#a51d26; }
.w-requirements-prompts { display:grid; grid-template-columns:1fr 1fr; gap:7px 18px; margin:4px 0 14px; padding-left:20px; font-size:16px; }
.w-field-help { color:var(--w-muted); font-size:16px; line-height:1.5; }
.w-prepare { width:100%; margin-top:20px; }
.w-status { margin:16px 0 0; font-size:16px; line-height:1.5; overflow-wrap:anywhere; }
.w-status:empty { display:none; }
.w-inquiry-summary { border-top:1px solid var(--w-line); padding-top:24px; margin-top:24px; }
.w-inquiry-summary pre { font:inherit; font-size:16px; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere; padding:18px; margin:0 0 18px; background:var(--w-soft); }
.w-footer { padding:28px 0; background:var(--w-soft); }
.w-footer .w-wrap { display:flex; align-items:center; justify-content:space-between; gap:20px 30px; flex-wrap:wrap; }
.w-footer p { font-size:16px; margin:0; color:var(--w-muted); }
.w-footer nav { display:flex; flex-wrap:wrap; gap:20px; font-size:16px; }
.w-footer a:not(.w-brand) { padding:10px 0; }
@media(max-width:1199px) { .w-desktop-nav { gap:12px; } .w-desktop-nav a { font-size:15px; } .w-brand > span { font-size:23px; } }
@media(max-width:1099px) { .w-desktop-nav { display:none; } .w-mobile-menu { display:block; } .w-header-inner { min-height:70px; } .w-wrap { width:calc(100% - 48px); } }
@media(max-width:899px) {
  .w-section { padding:60px 0; } .w-hero { padding:36px 0 45px; }
  .w-hero-grid,.w-replacement-grid,.w-case-header,.w-case-grid,.w-availability-grid,.w-support-intro,.w-inquiry-grid { grid-template-columns:1fr; gap:26px; }
  .w-hero-copy,.w-hero-photo,.w-proof-list,.w-hero-actions { grid-column:1; grid-row:auto; }
  .w-hero-actions { order:3; } .w-proof-list { order:4; }
  .w-hero-photo { max-width:750px; } .w-proof-list { margin-top:2px; }
  .w-wear-grid,.w-supply-grid { grid-template-columns:1fr; gap:36px; }
  .w-replacement-photo { width:100%; max-width:760px; } .w-replacement-grid > div { min-width:0; }
  .w-case-header { align-items:start; } .w-case-identity { margin-top:20px; } .w-case-images { max-width:760px; }
  .w-support-intro .w-heading { margin:0; } .w-services { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:639px) {
  html { scroll-padding-top:80px; } .w-wrap { width:calc(100% - 36px); } .w-section { padding:48px 0; } .w-header-inner { min-height:64px; }
  .w-brand img { width:38px; height:38px; } .w-brand { gap:7px; } .w-brand > span { font-size:22px; }
  h1 { font-size:36px; margin-bottom:16px; } h2 { font-size:30px; } .w-lead,.w-heading > p:last-child { font-size:17px; }
  .w-hero { padding:29px 0 38px; } .w-hero-grid { gap:20px; } .w-hero-actions { flex-direction:column; } .w-hero-actions .w-button { width:100%; flex:initial; }
  .w-proof-list { gap:8px 12px; } .w-proof-list li { padding-top:7px; }
  .w-heading { margin-bottom:28px; } .w-panel-copy h3 { font-size:22px; } .w-linking-line { padding:17px; }
  .w-replacement-list > div { padding:13px 0; } .w-replacement-photo { max-width:none; }
  .w-case-metric strong { font-size:49px; } .w-case-metric strong span { font-size:23px; } .w-case-images { grid-template-columns:1fr; gap:24px; max-width:none; }
  .w-pump-head { display:block; padding:20px; } .w-pump-head h3 { margin-bottom:8px; }
  .w-leadtime { gap:12px; } .w-leadtime > div { padding:17px; } .w-leadtime dt { font-size:16px; min-height:78px; } .w-leadtime strong { font-size:27px; }
  .w-services { grid-template-columns:1fr; gap:19px; }
  .w-field-row,.w-requirements-prompts { grid-template-columns:1fr; } .w-inquiry-panel { padding:22px; }
  .w-summary-actions .w-button { width:100%; } .w-footer .w-wrap { display:block; }
}
@media(max-width:359px) { h1 { font-size:33px; } h2 { font-size:28px; } .w-brand > span { font-size:20px; } .w-brand img { width:34px; height:34px; } .w-mobile-menu summary { font-size:16px; } .w-proof-list { grid-template-columns:1fr; } .w-leadtime { grid-template-columns:1fr; } }
