/* /brand-colors.css?v=26cb887e51a2 */
/* One color system for the business site, paid destinations, and confirmations. */
:root {
  --navy: #10364d;
  --navy-light: #24516b;
  --ink: #17354a;
  --muted: #496274;
  --blue: #076b8d;
  --gold: #ffc34c;
  --gold-end: #f5a623;
  --paper: #ffffff;
  --white: #ffffff;
  --line: #c9dfe9;
  --warm: #eaf6ff;
  --soft: #f3f8fc;
  --sand: #e3f3ff;
  --accent-soft: #eaf6ff;
  --accent-light: #c5eaff;
  --sky: #eaf6ff;
  --sky-strong: #cceaff;
  /* Legacy token names retained so every page uses the blue-and-white palette. */
  --green: var(--sky);
  --green-strong: var(--line);
  --teal: #087581;
  --teal-deep: #075465;
  --frame-blue: #2a93bf;
  --frame-green: var(--frame-blue);
  --on-color: #ffffff;
  --on-color-muted: #def3f5;
  --header-surface: #fffffff5;
  --hero-surface: linear-gradient(112deg, #ffffff 0%, #f1faff 50%, #cceaff 100%);
  --feature-surface: linear-gradient(120deg, #103f5b, #076f7b);
  --action-surface: linear-gradient(110deg, var(--gold), #ffb936);
  --action-hover: #ffd06a;
  --action-shadow: #bd7d0b;
  --review-stars: #86600b;
  --input-border: #7d9ba9;
  --footer-muted: #d9ebf1;
}

/* Shared family navigation, separate from each site's main menu. */
.family-nav { background:#f3f6f8; color:var(--ink); border-bottom:1px solid var(--line); font:600 12px/1.4 Arial,sans-serif; }
.family-nav-inner { max-width:1320px; margin:auto; padding:0 28px; min-height:34px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.family-nav-inner > div { display:flex; gap:22px; }
.family-nav a { display:inline-flex; align-items:center; gap:8px; min-height:34px; color:var(--ink); text-decoration:none; border-bottom:2px solid transparent; }
.family-nav a::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--frame-blue); }
.family-nav .family-energy::before { background:var(--gold); }
.family-nav a[aria-current],.family-nav a:hover { border-bottom-color:var(--blue); }
.family-nav a:focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
@media(max-width:480px) { .family-nav-inner { padding:0 14px; font-size:10px; gap:8px; } .family-nav-inner > div { gap:12px; } .family-nav a { gap:5px; } }

/* Keep confirmation badges in the same blue palette. */
.success-symbol { background:var(--sky); color:var(--blue); }

/* /landing-warm.css?v=ec2494327d9b */
/* Campaign layouts share the corporate palette without inheriting its navigation or form layout. */
@font-face { font-family: Montserrat; src: url('/assets/heading.otf') format('opentype'); font-weight: 700 900; font-display: swap; }
@font-face { font-family: OpenSans; src: url('/assets/body.ttf') format('truetype'); font-weight: 400; font-display: swap; }
@font-face { font-family: OpenSans; src: url('/assets/body-semibold.ttf') format('truetype'); font-weight: 600 800; font-display: swap; }
body.landing-warm {
  --campaign-yellow: var(--gold); --campaign-yellow-deep: var(--gold-end);
  --yellow: var(--gold); --aqua: var(--blue); --blue-deep: var(--blue);
  --slate: var(--muted); --mist: var(--soft); --navy-2: var(--navy-light);
  --shadow: 0 12px 36px #54462c0b;
  background: var(--paper); color: var(--ink); font-family: OpenSans, Arial, sans-serif;
}
.landing-warm h1, .landing-warm h2, .landing-warm h3 { font-family: Montserrat, Arial, sans-serif; }
body.landing-warm [id] { scroll-margin-top: 110px; }
body.landing-warm .lp-header { background: var(--header-surface); border-color: var(--line); box-shadow: none; }
.landing-preview-note { margin: 0; padding: 8px 18px; background: var(--soft); color: var(--muted); font-size: .75rem; text-align: center; }
body.landing-warm .lp-button, body.landing-warm .mobile-sticky-cta, body.landing-warm .button {
  border-color: transparent; color: var(--ink); background: var(--action-surface); box-shadow: 0 3px 0 var(--action-shadow); font-size: .875rem;
}
body.landing-warm .lp-button:hover, body.landing-warm .mobile-sticky-cta:hover, body.landing-warm .button:hover { background: var(--action-hover); box-shadow: 0 5px 0 var(--action-shadow); }
body.landing-warm .lp-button::after { display: none; }
body.landing-warm :is(a,button,input,summary):focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
body.landing-warm :is(.eyebrow,.eyebrow-light,.text-link,.campaign-highlight,.product-kicker,.campaign-line,.phone,.consent-field a,.form-save-status) { color: var(--blue); }
body.landing-warm .stars { color: var(--review-stars); }
body.landing-warm .hero { background: var(--hero-surface); }
body.landing-warm .hero-grid { grid-template-columns: minmax(0,1.3fr) minmax(360px,.9fr); gap: 28px; }
body.landing-warm .fix-hero-story { display: flex; flex-direction: column; height: auto; min-height: 0; color: var(--ink); background: transparent; box-shadow: none; border-radius: 9px; }
body.landing-warm .fix-hero-shade { display: none; }
body.landing-warm .fix-hero-image { order: 2; position: static; width: 100%; height: auto; object-fit: contain; border-radius: 8px; }
body.landing-warm .fix-hero-copy { width: 100%; padding: 22px 8px 24px 0; background: transparent; }
body.landing-warm .fix-hero-copy h1 { color: var(--ink); font-size: clamp(2.4rem,3.7vw,3.8rem); line-height: 1.08; }
body.landing-warm .hero-copy .hero-lead { color: var(--muted); font-size: 1.06rem; }
body.landing-warm .hero-social-proof { color: var(--ink); background: white; border-left-color: var(--blue); }
body.landing-warm .hero-review { color: var(--ink); font-size: .875rem; }
body.landing-warm .hero-review cite { color: var(--muted); white-space: normal; }
body.landing-warm .trust-list li { color: var(--muted); background: transparent; font-size: .8rem; }
body.landing-warm .landing-illustration-note { order: 3; margin: 7px 0 0; color: var(--muted); font-size: .75rem; }
body.landing-warm .consent-field { font-size: .75rem; line-height: 1.5; }
body.landing-warm .hero-form { min-height: 0; border-color: var(--line); border-radius: 9px; box-shadow: var(--shadow); }
body.landing-warm .form-rating { color: var(--ink); background: var(--soft); border-color: var(--line); font-size: .8rem; }
body.landing-warm .form-field, body.landing-warm .choice-group legend { font-size: .875rem; }
body.landing-warm .form-field input, body.landing-warm .choice-card span, body.landing-warm .form-back-button { border-color: var(--input-border); }
body.landing-warm .form-field input:focus { border-color: var(--blue); outline-color: var(--blue); }
body.landing-warm .form-progress-track { background: var(--soft); }
body.landing-warm .choice-card input:checked + span { color: var(--blue); background: var(--accent-soft); border-color: var(--blue); box-shadow: inset 0 0 0 1px var(--blue); }
body.landing-warm input[type=checkbox], body.landing-warm input[type=radio] { accent-color: var(--blue); }
body.landing-warm .form-back-button:hover { color: white; background: var(--blue); }
body.landing-warm .campaign-benefits { background: var(--sand); color: var(--ink); border-color: var(--line); }
body.landing-warm .campaign-benefit strong { color: var(--ink); }
body.landing-warm .campaign-benefit span { color: var(--muted); }
body.landing-warm .campaign-benefit { border-color: var(--line); }
body.landing-warm :is(.symptom-selector,.offer-section,.price-product-picker,.decision-section) { background: var(--soft); color: var(--ink); }
body.landing-warm :is(.source-solution,.results-band,.faq-section) { background: var(--paper); color: var(--ink); }
body.landing-warm :is(.source-heading h2,.premium-proof strong,.shared-platform strong,.hydro360-callout h3,.result-list strong,.faq-list summary) { color: var(--ink); }
body.landing-warm :is(.source-heading > p:not(.eyebrow),.premium-proof p,.platform-points span,.hydro360-callout p:last-child,.result-list span,.decision-copy p:not(.eyebrow),.decision-steps p,.faq-heading p:not(.eyebrow),.faq-list details p) { color: var(--muted); }
body.landing-warm :is(.premium-proof,.shared-platform,.hydro360-callout,.decision-steps article,.faq-list,.faq-list details,.best-fit,.premium-build,.premium-build-list li,.offer-copy li) { border-color: var(--line); }
body.landing-warm :is(.source-heading h2 span,.premium-proof .text-link,.premium-build-copy .text-link,.faq-list summary::after) { color: var(--blue); }
body.landing-warm .product-led-solution .source-heading::before { background: var(--blue); }
body.landing-warm :is(.hydro-card-image,.hydro-card-image-studio,.hydrosip-product-image,.package-product-image,.price-product-image,.premium-build-cutaway) { background: var(--warm); }
body.landing-warm :is(.hydro-card-image-studio,.package-product-image)::before,
body.landing-warm :is(.hydro-card-image-studio,.package-product-image)::after { display: none; }
body.landing-warm .product-stage-label { color: var(--blue); background: white; border-color: var(--line); }
body.landing-warm :is(.hydro-card,.price-product-card) { border-color: var(--line); }
body.landing-warm :is(.shared-platform,.hydro360-callout,.result-list div) { background: var(--soft); }
body.landing-warm .result-list { background: var(--line); }
body.landing-warm .platform-points span::before, body.landing-warm .offer-image::after { background: var(--blue); }
body.landing-warm .package-plus, body.landing-warm .offer-copy li::before { background: var(--accent-soft); color: var(--blue); }
body.landing-warm .symptom-tabs, body.landing-warm .symptom-tabs button { border-color: var(--line); }
body.landing-warm .symptom-tabs button::after { color: var(--blue); border-color: var(--blue); }
body.landing-warm .symptom-tabs button[aria-selected=true]::after { color: white; background: var(--blue); border-color: var(--blue); }
body.landing-warm .symptom-label { color: var(--accent-light); }
body.landing-warm .score-large { background: var(--soft); color: var(--ink); }
body.landing-warm .score-large > span:last-child { color: var(--muted); }
body.landing-warm .final-cta { background: var(--sand); color: var(--ink); }
body.landing-warm .final-image { display: none; }
body.landing-warm .final-copy > p:not(.eyebrow), body.landing-warm .final-reassurance { color: var(--muted); }
body.landing-warm .final-phone { color: var(--blue); }
body.landing-warm .lp-footer { background: var(--navy); }
body.landing-warm .footer-inner p, body.landing-warm .footer-inner > span { color: var(--footer-muted); }
body.landing-warm .lp-footer a:hover { color: var(--action-hover); }
body.landing-warm .panel { border-color: var(--line); border-top-color: var(--blue); box-shadow: var(--shadow); border-radius: 9px; }
body.landing-warm .check { color: var(--blue); background: var(--accent-soft); }
body.landing-warm .assurance { border-color: var(--line); }
@media(max-width: 760px) {
  body.landing-warm .hero-grid { display: flex; flex-direction: column; gap: 18px; }
  /* Preserve the existing campaign's form-first mobile layout. */
  body.landing-warm .fix-hero-story { display: none; }
  body.landing-warm .hero-form { width: 100%; }
}

/* /landing-conversion.css?v=e959132d0b44 */
/* Paid-traffic layout: the form is the first content block at every screen size. */
.campaign-page *, .campaign-page *::before, .campaign-page *::after { box-sizing:border-box; }
body.campaign-page { margin:0; font-size:16px; line-height:1.6; }
.campaign-page [hidden] { display:none !important; }
.campaign-page a { color:var(--blue); text-underline-offset:3px; }
.campaign-page img { display:block; max-width:100%; height:auto; }
.campaign-page figure, .campaign-page blockquote { margin:0; }
.campaign-page h1,.campaign-page h2,.campaign-page h3 { margin:0 0 16px; letter-spacing:-.035em; line-height:1.15; }
.campaign-page h2 { font-size:clamp(28px,3.4vw,44px); }
.campaign-page h3 { font-size:24px; }
.campaign-page p { margin:0 0 18px; }
.campaign-page .campaign-eyebrow { color:var(--blue); font-size:11px; letter-spacing:.06em; font-weight:700; text-transform:uppercase; margin:0 0 10px; }
.campaign-shell { width:min(1192px,calc(100% - 64px)); margin-inline:auto; }
.campaign-header { background:var(--header-surface); border-bottom:1px solid var(--line); }
.campaign-header .campaign-shell { display:flex; align-items:center; justify-content:space-between; min-height:88px; gap:20px; }
.campaign-header img { width:206px; height:72px; object-fit:contain; }
.campaign-phone { display:flex; flex-direction:column; text-align:right; text-decoration:none; line-height:1.4; }
.campaign-phone span { font-size:12px; color:var(--muted); }
.campaign-phone strong { color:var(--ink); font-size:19px; }
.campaign-skip { position:absolute; left:20px; top:-100px; z-index:10; padding:10px; background:white; }
.campaign-skip:focus { top:10px; }
.campaign-hero { background:var(--hero-surface); border-bottom:1px solid var(--line); padding:32px 0 44px; }
.campaign-hero-grid { display:grid; grid-template-columns:minmax(400px,.9fr) minmax(0,1.1fr); gap:44px; align-items:start; }
.campaign-form-card { padding:28px; border:1px solid var(--line); border-top:4px solid var(--blue); border-radius:12px; background:white; box-shadow:0 12px 40px #12658a14; }
.campaign-form-card h1 { font-size:clamp(29px,2.8vw,37px); margin-bottom:10px; }
.campaign-form-intro { color:var(--muted); font-size:14px; line-height:1.5; }
.campaign-price-lockup { display:grid; gap:2px; margin:0 0 8px; padding:14px 16px; border-left:5px solid var(--gold-end); border-radius:7px; background:var(--sky); color:var(--ink); }
.campaign-price-lockup .campaign-price-label { color:var(--muted); font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.campaign-price-lockup strong { color:var(--navy); font-size:32px; line-height:1.05; letter-spacing:-.035em; }
.campaign-price-lockup strong small { font-size:14px; letter-spacing:0; }
.campaign-price-lockup .campaign-payment { font-size:14px; color:var(--muted); }
.campaign-price-lockup .campaign-payment b { color:var(--navy); font-size:18px; }
.campaign-page .campaign-price-note { margin:0 0 16px; color:var(--muted); font-size:11px; line-height:1.45; }
.campaign-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.campaign-field { display:flex; flex-direction:column; gap:5px; min-width:0; font-size:12px; font-weight:600; }
.campaign-field small { font-size:11px; color:var(--muted); font-weight:400; }
.campaign-field input,.campaign-field select { border:1px solid var(--input-border); border-radius:5px; background:white; color:var(--ink); width:100%; min-width:0; height:43px; font:inherit; font-size:16px; padding:9px 10px; }
.campaign-field select { font-size:14px; }
.campaign-wide { grid-column:1/-1; }
.campaign-page :is(input,select,summary):focus-visible { outline:3px solid var(--blue); outline-offset:2px; }
.campaign-page [aria-invalid=true] { border:2px solid #a53027; }
.campaign-consent { display:flex; align-items:flex-start; gap:9px; margin:16px 0; font-size:11px; line-height:1.5; color:var(--muted); }
.campaign-consent input { flex:0 0 18px; width:18px; height:18px; margin:2px 0 0; }
.campaign-page .lp-button { display:inline-flex; align-items:center; justify-content:center; min-height:49px; padding:12px 20px; border:0; border-radius:6px; text-decoration:none; font:inherit; font-size:14px; font-weight:700; text-align:center; cursor:pointer; line-height:1.35; }
.campaign-submit { width:100%; }
.campaign-page .lp-button:disabled { opacity:.7; cursor:wait; }
.campaign-page .campaign-reassurance { margin:12px 0 0; font-size:11px; color:var(--muted); line-height:1.45; text-align:center; }
.campaign-details { border-top:1px solid var(--line); margin-top:18px; padding-top:10px; }
.campaign-details summary { cursor:pointer; font-size:12px; font-weight:600; padding:5px 0; }
.campaign-details summary span { font-weight:400; color:var(--muted); }
.campaign-details[open] summary { margin-bottom:14px; }
.campaign-concerns { border:0; padding:12px 0 0; margin:0; font-size:12px; }
.campaign-concerns legend { padding-top:16px; font-weight:600; }
.campaign-concerns label { display:flex; gap:8px; padding:4px 0; align-items:center; }
.campaign-concerns input { width:17px; height:17px; margin:0; }
.campaign-form-proof { display:flex; justify-content:center; align-items:center; gap:10px; padding-top:14px; font-size:12px; }
.campaign-form-proof a { color:var(--ink); }
.campaign-page .stars { letter-spacing:1px; color:var(--review-stars); }
.campaign-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.campaign-page .campaign-error { color:#9b2822; font-size:13px; padding:10px; background:#fff2ee; border-left:3px solid #9b2822; }
.campaign-page #form-status,.campaign-page .campaign-chosen { font-size:12px; color:var(--blue); margin:12px 0 0; }
.campaign-story { padding-top:10px; }
.campaign-story h2 { font-size:clamp(34px,4.2vw,54px); max-width:590px; }
.campaign-story > p:not(.campaign-eyebrow) { color:var(--muted); font-size:16px; }
.campaign-story figure { margin-top:24px; }
.campaign-story figure img { border-radius:10px; width:100%; aspect-ratio:3/2; object-fit:cover; }
.campaign-page figcaption { font-size:11px; color:var(--muted); padding-top:7px; }
.campaign-story .campaign-local { border-top:1px solid var(--line); padding:18px 0 0; margin:18px 0 0; max-width:500px; font-weight:600; color:var(--ink); }
.campaign-assurance { background:var(--sand); padding:28px 0; }
.campaign-assurance .campaign-shell { display:grid; grid-template-columns:1fr 1fr; gap:60px; font-size:14px; }
.campaign-assurance p { margin:0; }
.campaign-assurance strong { display:block; line-height:1.35; margin-bottom:8px; font-size:18px; }
.campaign-assurance blockquote { border-left:1px solid var(--green-strong); padding-left:30px; }
.campaign-page cite { font-style:normal; font-size:12px; display:block; margin-top:12px; font-weight:600; }
.campaign-section { padding:78px 0; }
.campaign-section-heading { max-width:760px; margin-bottom:32px; }
.campaign-section-heading > p:not(.campaign-eyebrow) { color:var(--muted); }
.campaign-product-grid { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.campaign-product { border:1px solid var(--line); background:white; border-radius:10px; overflow:hidden; }
.campaign-product-image { background:var(--warm); height:330px; padding:24px; }
.campaign-product-image img { width:100%; height:100%; object-fit:contain; }
.campaign-product-copy { padding:28px; }
.campaign-product-copy h3 { font-size:27px; }
.campaign-product-copy p:not(.campaign-eyebrow) { color:var(--muted); font-size:14px; }
.campaign-product-copy .lp-button { width:100%; }
.campaign-spec-link { display:inline-block; margin-top:15px; font-size:13px; font-weight:600; }
.campaign-product-copy .campaign-spec-link { display:block; text-align:center; }
.campaign-page .campaign-package-note { color:var(--muted); font-size:13px; margin:24px 0 0; max-width:930px; }
.campaign-media { background:var(--soft); }
.campaign-media-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:64px; }
.campaign-cutaways { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.campaign-cutaways figure { min-width:0; }
.campaign-cutaways img { width:100%; height:330px; object-fit:contain; mix-blend-mode:multiply; }
.campaign-cutaways figcaption { text-align:center; }
.campaign-media-benefits article { padding-bottom:18px; margin-bottom:20px; border-bottom:1px solid var(--line); }
.campaign-media-benefits h3 { font-size:21px; }
.campaign-media-benefits p { font-size:14px; color:var(--muted); margin-bottom:0; }
.campaign-page .campaign-small { font-size:12px; color:var(--muted); line-height:1.5; margin:16px 0 0; }
.campaign-drinking { display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:center; }
.campaign-drinking > figure > img { width:100%; height:auto; object-fit:contain; border-radius:10px; }
.campaign-drinking > div > p:not(.campaign-eyebrow) { color:var(--muted); }
.campaign-ro-tech { display:grid; grid-template-columns:180px 1fr; align-items:center; gap:20px; margin:24px 0; }
.campaign-ro-tech img { width:100%; height:180px; object-fit:contain; }
.campaign-ro-tech p { font-size:13px; margin:0; color:var(--muted); }
.campaign-drinking .campaign-spec-link { display:block; }
.campaign-specialist { margin-top:38px; padding:22px 26px; background:var(--soft); border:1px solid var(--line); border-radius:8px; }
.campaign-specialist summary { font-weight:600; cursor:pointer; }
.campaign-specialist > div { display:flex; gap:35px; align-items:center; padding-top:25px; }
.campaign-specialist img { width:180px; max-height:220px; object-fit:contain; }
.campaign-specialist p { color:var(--muted); font-size:14px; }
.campaign-social { background:var(--warm); }
.campaign-reviews { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.campaign-reviews blockquote { border-top:2px solid var(--blue); padding:22px 0; font-size:14px; }
.campaign-reviews cite span { display:block; color:var(--muted); font-weight:400; }
.campaign-work { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:24px; }
.campaign-work img { width:100%; height:550px; object-fit:cover; object-position:center 55%; border-radius:8px; }
.campaign-faq { display:grid; grid-template-columns:.7fr 1fr; gap:75px; }
.campaign-faq h2 { font-size:35px; }
.campaign-faq details { border-bottom:1px solid var(--line); padding:19px 0; }
.campaign-faq details:first-child { padding-top:0; }
.campaign-faq summary { cursor:pointer; font-size:16px; font-weight:600; }
.campaign-faq details p { font-size:14px; color:var(--muted); margin:15px 0 0; }
.campaign-closing { background:var(--sand); padding:60px 0; text-align:center; }
.campaign-closing .campaign-shell { max-width:700px; }
.campaign-footer { background:var(--navy); color:var(--footer-muted); padding:44px 0; }
.campaign-footer .campaign-shell { display:grid; grid-template-columns:200px 1fr 190px; gap:32px; align-items:start; }
.campaign-footer p,.campaign-footer small,.campaign-footer a { color:var(--footer-muted); font-size:12px; }
.campaign-footer a { display:block; margin-bottom:8px; }
.campaign-footer small { grid-column:1/-1; }
body.campaign-page .campaign-sticky { display:none; }
.campaign-confirmation { min-height:70vh; display:grid; place-items:center; padding:48px 24px; background:var(--hero-surface); }
.campaign-confirmation section { width:min(700px,100%); padding:48px; border:1px solid var(--line); border-radius:12px; background:white; text-align:center; }
.campaign-confirmation h1 { font-size:42px; }
@media(max-width:980px) {
 .campaign-hero-grid { gap:26px; grid-template-columns:minmax(360px,1fr) 1fr; }
 .campaign-form-card { padding:22px; }
 .campaign-media-grid,.campaign-drinking { gap:30px; }
 .campaign-ro-tech { grid-template-columns:130px 1fr; }
}
@media(max-width:760px) {
 .campaign-shell { width:calc(100% - 28px); }
 .campaign-header .campaign-shell { min-height:67px; gap:14px; }
 .campaign-header img { width:155px; height:57px; }
 .campaign-phone span { font-size:10px; }.campaign-phone strong { font-size:15px; }
 .campaign-page .landing-preview-note { font-size:9px; padding:5px 10px; }
 .campaign-hero { padding:14px 0 20px; }
 .campaign-hero-grid { display:block; }
 .campaign-story { display:none; }
 .campaign-form-card { padding:20px; }
 .campaign-form-card h1 { font-size:30px; }
 .campaign-form-intro { font-size:13px; margin-bottom:16px; }
 .campaign-price-lockup { padding:12px 14px; }
 .campaign-price-lockup strong { font-size:30px; }
 .campaign-form-card .campaign-eyebrow { font-size:10px; }
 .campaign-fields { gap:10px; }
 .campaign-consent { font-size:10px; line-height:1.5; margin:14px 0; }
 .campaign-form-proof { padding-top:12px; }
 .campaign-details { margin-top:13px; }
 .campaign-details summary { font-size:11px; }
 .campaign-assurance { padding:25px 8px; }
 .campaign-assurance .campaign-shell { display:block; font-size:13px; }
 .campaign-assurance blockquote { margin-top:22px; padding:18px 0 0; border:0; border-top:1px solid var(--green-strong); }
 .campaign-section { padding:46px 0; }
 .campaign-section-heading { margin-bottom:24px; }
 .campaign-section-heading p { font-size:14px; }
 .campaign-product-grid,.campaign-media-grid,.campaign-drinking,.campaign-reviews,.campaign-work,.campaign-faq { grid-template-columns:1fr; gap:25px; }
 .campaign-product-image { height:290px; }
 .campaign-product-copy { padding:23px; }
 .campaign-product-copy h3 { font-size:23px; }
 .campaign-cutaways img { height:250px; }
 .campaign-media-benefits h3 { font-size:21px; }
 .campaign-drinking > figure > img { height:330px; object-position:center 40%; }
 .campaign-ro-tech { grid-template-columns:140px 1fr; gap:16px; }
 .campaign-specialist { padding:18px; }
 .campaign-specialist summary { font-size:14px; }
 .campaign-specialist > div { flex-direction:column; gap:20px; }
 .campaign-reviews { gap:5px; }
 .campaign-work img { height:350px; }
 .campaign-faq h2 { font-size:29px; }
 .campaign-faq summary { font-size:14px; }
 .campaign-closing { padding:42px 0; }
 .campaign-footer { padding-bottom:95px; }
 .campaign-footer .campaign-shell { grid-template-columns:1fr; gap:20px; }
 .campaign-footer img { width:180px; }
 body.campaign-page .campaign-sticky { display:flex; position:fixed; bottom:12px; left:14px; right:14px; z-index:10; box-shadow:0 3px 0 var(--action-shadow),0 0 0 7px #ffffffee; }
 .campaign-confirmation { padding:25px 14px; }
 .campaign-confirmation section { padding:28px 22px; }
 .campaign-confirmation h1 { font-size:32px; }
}
@media(prefers-reduced-motion:no-preference) { html { scroll-behavior:smooth; } }

/* Match the business site: white form, blue hero, light blue proof, and teal technology. */
.campaign-form-card { border-top:5px solid var(--frame-blue); box-shadow:7px 7px 0 var(--sky-strong); }
.campaign-story figure img { border:2px solid var(--frame-blue); box-shadow:7px 7px 0 #ffffffb3; }
.campaign-story .campaign-local { border-color:#91c9df; }
.campaign-assurance { background:var(--green); border-bottom:1px solid var(--green-strong); }
.campaign-assurance strong { color:var(--teal-deep); }
.campaign-product { border-top:5px solid var(--frame-blue); }
.campaign-product:nth-child(2) { border-top-color:var(--frame-blue); }
.campaign-product-image { background:var(--sky); }
.campaign-product:nth-child(2) .campaign-product-image { background:var(--sky); }
.campaign-media { background:var(--feature-surface); color:white; }
.campaign-media .campaign-eyebrow { color:var(--accent-light); }
.campaign-media-benefits p,.campaign-media .campaign-small { color:var(--on-color-muted); }
.campaign-media-benefits article { border-color:#ffffff40; }
.campaign-media a { color:white; }
.campaign-cutaways figure { background:white; border:2px solid #a5dee1; border-radius:8px; padding:12px 4px; }
.campaign-cutaways img { mix-blend-mode:normal; }
.campaign-cutaways figcaption { color:var(--ink); }
.campaign-drinking > figure > img { border:2px solid var(--frame-green); }
.campaign-ro-tech { padding:14px; background:var(--sky); border-left:4px solid var(--frame-blue); border-radius:5px; }
.campaign-specialist { background:var(--green); border-color:var(--green-strong); }
.campaign-social { background:var(--sky); border-block:1px solid var(--sky-strong); }
.campaign-reviews blockquote { background:white; border:1px solid var(--line); border-top:4px solid var(--frame-blue); padding:24px; border-radius:7px; }
.campaign-reviews blockquote:nth-child(2) { border-top-color:var(--frame-green); }
.campaign-work img { border:2px solid white; box-shadow:0 8px 24px #12658a10; }
.campaign-closing { background:var(--feature-surface); color:white; }
.campaign-closing .campaign-eyebrow { color:var(--accent-light); }
.campaign-closing p,.campaign-closing .campaign-small { color:var(--on-color-muted); }
.campaign-closing .lp-button { color:var(--ink); }
.campaign-confirmation section { border-top:5px solid var(--frame-blue); box-shadow:8px 8px 0 var(--sky-strong); }
.campaign-footer { border-top:5px solid var(--teal); }
@media(max-width:760px) {
 .campaign-form-card { box-shadow:4px 4px 0 var(--sky-strong); }
 .campaign-ro-tech { grid-template-columns:100px 1fr; padding:12px; }
 .campaign-reviews { gap:18px; }
}

.campaign-work img[src*="faucet-chrome-retouched"] { object-fit:contain; background:white; }

.ro-installed-photo.ro-installed-photo { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; margin-top:22px; border-radius:8px; }

/* Contact first; water details and consent complete the request. */
.campaign-step { border:0; margin:0; padding:0; min-width:0; }
.campaign-step-legend { font-weight:700; margin-bottom:12px; }
.campaign-progress { display:flex; gap:20px; padding:0; list-style:none; margin:18px 0; color:var(--muted); font-size:13px; }
.campaign-progress li { padding-bottom:6px; border-bottom:3px solid var(--line); flex:1; }
.campaign-progress [aria-current="step"] { color:var(--navy); border-color:var(--blue); font-weight:700; }
.campaign-back { display:block; background:none; border:0; padding:12px 0; color:var(--blue); text-decoration:underline; cursor:pointer; font:inherit; }
.campaign-step .campaign-details { margin-top:0; }

#campaign-continue { margin-top:16px; }

.campaign-home { margin-left:auto; font-size:14px; font-weight:700; color:var(--blue); padding:10px 4px; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:480px) { .campaign-header .campaign-shell { gap:12px; } .campaign-header img { width:125px; } .campaign-home { font-size:12px; } }

/* Monthly reassurance stays with the assessment, separate from individual products. */
.campaign-monthly-payment { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:5px 16px; margin:16px 0 20px; padding:13px 16px; background:var(--sky); border:1px solid var(--line); border-left:4px solid var(--frame-blue); border-radius:7px; color:var(--ink); }
.campaign-monthly-payment > span { font-size:12px; line-height:1.4; }
.campaign-monthly-payment strong { font-size:14px; font-weight:600; white-space:nowrap; }
.campaign-monthly-payment b { font-size:22px; font-weight:800; letter-spacing:-.5px; }
@media(max-width:420px) { .campaign-monthly-payment { padding:11px 13px; margin-block:12px 16px; gap:3px; } }

