@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700;800&family=Playfair+Display:wght@500;600;700&display=swap');
:root{
  --bw-blue:#4478ff;
  --bw-blue-dark:#2357d8;
  --bw-blue-soft:#edf3ff;
  --bw-ink:#242424;
  --bw-muted:#626b78;
  --bw-line:#dbe3f3;
  --bw-white:#ffffff;
  --bw-soft:#f8faff;
  --bw-shadow:0 18px 46px rgba(39,76,170,.13);
  --bw-radius:16px;
  --bw-wrap:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--bw-ink);font-family:"Open Sans",Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--bw-blue-dark);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
.bw-wrap{width:min(var(--bw-wrap),calc(100% - 2.4rem));margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:0;background:#fff;color:#000;padding:.75rem 1rem;z-index:9999}.skip-link:focus{left:1rem;top:1rem}

/* Header intentionally mirrors the live Blue Water Restoration visual language. */
.bw-header{background:#fff;color:var(--bw-ink);border-bottom:1px solid #eef1f7;box-shadow:0 7px 24px rgba(25,50,110,.07)}
.bw-topbar{display:flex;align-items:center;justify-content:center;min-height:42px;padding:.55rem 1rem;background:var(--bw-blue);color:#fff;text-align:center;letter-spacing:.14em;font-size:.9rem;font-weight:500}
.bw-topbar a{color:#fff;text-decoration:none}.bw-topbar a:hover{text-decoration:underline}
.bw-logo-area{display:flex;justify-content:center;align-items:center;padding:2.15rem 1rem 1.15rem;background:#fff}
.bw-logo-area img{display:block;width:auto;max-width:min(390px,82vw);max-height:190px;object-fit:contain}
.bw-nav-shell{background:#fff;padding:0 1rem 1.7rem}
.bw-mainnav{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.3rem 1.45rem}
.bw-mainnav a{position:relative;color:#252525;font-size:.88rem;font-weight:500;letter-spacing:.18em;padding:.48rem 0;text-decoration:none;white-space:nowrap}
.bw-mainnav a:hover{color:var(--bw-blue)}
.bw-mainnav a:after{content:"";position:absolute;left:50%;right:50%;bottom:0;height:1px;background:var(--bw-blue);transition:left .18s ease,right .18s ease}
.bw-mainnav a:hover:after{left:0;right:0}

/* Hero uses the same flood image and blue treatment already used by the existing site. */
.bw-hero{position:relative;isolation:isolate;padding:4.6rem 0 4.35rem;background:linear-gradient(90deg,rgba(41,91,226,.94),rgba(68,120,255,.87)),url('/assets/bluewater-original-background.webp') center/cover no-repeat;color:#fff;border-top:1px solid rgba(255,255,255,.2)}
.bw-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(35,87,216,.08))}
.bw-breadcrumbs{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:1.2rem;font-size:.84rem;color:rgba(255,255,255,.83)}
.bw-breadcrumbs a{color:#fff;font-weight:700}.bw-breadcrumbs span{color:rgba(255,255,255,.8)}
.bw-eyebrow{margin:0 0 .65rem;text-transform:uppercase;letter-spacing:.16em;color:#fff;font-size:.76rem;font-weight:800}
.bw-hero h1{max-width:20ch;margin:0 0 1rem;color:#fff;font-family:"Playfair Display",Georgia,serif;font-size:clamp(2.4rem,5vw,4.45rem);font-weight:600;line-height:1.08;letter-spacing:-.025em}
.bw-lead{max-width:780px;margin:0;color:rgba(255,255,255,.93);font-size:clamp(1.05rem,1.9vw,1.24rem)}
.bw-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.45rem}
.bw-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.77rem 1.1rem;border:1px solid #fff;border-radius:5px;background:#fff;color:var(--bw-blue-dark);font-weight:800;text-decoration:none;box-shadow:0 9px 24px rgba(18,48,120,.14);transition:transform .18s ease,box-shadow .18s ease}
.bw-btn:hover{transform:translateY(-1px);text-decoration:none;box-shadow:0 13px 28px rgba(18,48,120,.2)}
.bw-btn-danger{background:var(--bw-blue-dark);border-color:#fff;color:#fff}
.bw-btn-light{background:#fff;color:var(--bw-blue-dark)}

.bw-section{padding:3.6rem 0;background:#fff}.bw-section:nth-of-type(even){background:var(--bw-soft)}
.bw-section h2,.bw-section h3,.bw-footer h2,.bw-footer h3{font-family:"Playfair Display",Georgia,serif;color:var(--bw-ink)}
.bw-section h2{margin:0 0 .85rem;font-size:clamp(1.8rem,3.2vw,2.75rem);line-height:1.17;font-weight:600}
.bw-section h3{margin:.35rem 0 .55rem;font-size:1.25rem;font-weight:600;line-height:1.28}
.bw-section p{color:var(--bw-muted)}
.bw-grid{display:grid;gap:1.15rem}.bw-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.bw-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.bw-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.bw-card{position:relative;overflow:hidden;padding:1.35rem;border:1px solid var(--bw-line);border-radius:var(--bw-radius);background:#fff;box-shadow:0 11px 30px rgba(30,65,145,.065)}
.bw-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:var(--bw-blue)}
.bw-card p{margin:.45rem 0 .8rem}.bw-cardlink{font-weight:800}.bw-badge{display:inline-flex;padding:.27rem .58rem;border:1px solid #c8d7fb;border-radius:999px;background:#edf3ff;color:#2858c4;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.bw-note{margin:1.2rem 0;padding:1rem 1.1rem;border-left:5px solid var(--bw-blue);border-radius:11px;background:#edf3ff;color:#3f4c62}
.bw-checks{list-style:none;padding:0;margin:1rem 0}.bw-checks li{position:relative;margin:.45rem 0;padding-left:1.55rem;color:#46546a}.bw-checks li:before{content:"✓";position:absolute;left:0;color:var(--bw-blue);font-weight:900}
.bw-tags{display:flex;flex-wrap:wrap;gap:.55rem}.bw-tags a,.bw-tags span{display:inline-flex;padding:.48rem .7rem;border:1px solid #cbd9fb;border-radius:999px;background:#f0f5ff;color:#2856bb;font-size:.88rem;font-weight:700}
.bw-callout{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1.4rem;padding:1.8rem;border-radius:16px;background:var(--bw-blue);color:#fff;box-shadow:var(--bw-shadow)}
.bw-callout h2,.bw-callout p{color:#fff}.bw-callout p{opacity:.92}
.bw-faq{display:grid;gap:.75rem}.bw-faq details{padding:.9rem 1rem;border:1px solid var(--bw-line);border-radius:12px;background:#fff}.bw-faq summary{cursor:pointer;font-weight:800}.bw-faq p{margin:.65rem 0 0}
.bw-steps{counter-reset:steps;display:grid;gap:.8rem}.bw-step{position:relative;counter-increment:steps;padding:1rem 1rem 1rem 4rem;border:1px solid var(--bw-line);border-radius:13px;background:#fff}.bw-step:before{content:counter(steps);position:absolute;left:1rem;top:1rem;display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--bw-blue);color:#fff;font-weight:800}

.bw-footer{margin-top:0;background:#fff;color:#555;border-top:1px solid #e6ebf4}
.bw-footergrid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:1.6rem;padding:2.5rem 0 2rem}.bw-footer h2,.bw-footer h3{margin-top:0;font-weight:600}.bw-footer p{color:#666}.bw-footer a{color:var(--bw-blue-dark)}
.bw-footbar{padding:1.15rem 0;background:var(--bw-blue);color:#fff;text-align:center;font-size:.78rem;letter-spacing:.08em}

@media(max-width:900px){.bw-grid-4,.bw-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.bw-callout{grid-template-columns:1fr}.bw-footergrid{grid-template-columns:1fr 1fr}.bw-mainnav{gap:.25rem .9rem}.bw-mainnav a{font-size:.8rem;letter-spacing:.12em}}
@media(max-width:620px){.bw-wrap{width:min(var(--bw-wrap),calc(100% - 1.25rem))}.bw-logo-area{padding:1.35rem .7rem .85rem}.bw-logo-area img{max-height:125px}.bw-nav-shell{padding-bottom:1rem}.bw-mainnav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:.25rem}.bw-mainnav a{text-align:center;padding:.6rem .25rem}.bw-hero{padding:3rem 0}.bw-hero h1{font-size:2.55rem}.bw-grid-4,.bw-grid-3,.bw-grid-2,.bw-footergrid{grid-template-columns:1fr}.bw-btn{width:100%}.bw-topbar{font-size:.78rem;letter-spacing:.08em}.bw-callout{padding:1.3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.bw-btn{transition:none}.bw-btn:hover{transform:none}}
