:root{--navy:#062f47;--deep:#041f30;--blue:#087ca7;--aqua:#39bfd0;--sky:#dff6f8;--mist:#f3f8f8;--white:#fff;--ink:#0d3445;--muted:#5c7480;--line:#cfe0e3;--shadow:0 22px 60px rgba(4,47,71,.13);--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--mist);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(207,224,227,.8);backdrop-filter:blur(14px)}.header-inner{width:min(1800px,calc(100% - 36px));min-height:82px;margin:auto;display:flex;align-items:center;gap:20px}.brand{display:inline-flex;align-items:center;gap:10px;flex:none}.brand>span:last-child{display:grid;line-height:1}.brand strong{font-size:23px;letter-spacing:-.04em}.brand small{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--blue);font-weight:800}.brand-mark{position:relative;width:39px;height:48px;display:block}.brand-mark:before{content:"";position:absolute;left:8px;top:2px;width:23px;height:34px;border-radius:55% 45% 55% 45%/65% 65% 35% 35%;background:linear-gradient(150deg,var(--aqua),var(--blue));transform:rotate(45deg)}.brand-mark i{position:absolute;width:18px;height:2px;background:white;left:12px;top:20px;transform:rotate(-18deg)}.brand-mark i+ i{top:26px;width:13px}.site-nav{display:flex;align-items:center;justify-content:center;gap:clamp(8px,1vw,18px);margin-left:auto}.site-nav>a,.nav-parent{border:0;background:none;padding:11px 5px;font-weight:750;font-size:13px;white-space:nowrap;color:var(--deep);cursor:pointer}.site-nav>a:hover,.nav-parent:hover{color:var(--blue)}.nav-group{position:relative}.nav-dropdown{position:absolute;right:0;top:calc(100% + 10px);width:260px;padding:8px;display:grid;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-6px);transition:.18s}.nav-group:hover .nav-dropdown,.nav-group:focus-within .nav-dropdown,.nav-group.open .nav-dropdown{opacity:1;visibility:visible;transform:none}.nav-dropdown a{padding:12px;border-radius:9px;font-weight:700}.nav-dropdown a:hover{background:var(--sky)}.service-menu .nav-dropdown{left:0;right:auto;width:310px}.about-menu .nav-dropdown{right:0;left:auto}.header-actions{display:flex;align-items:center;gap:9px}.mobile-actions{display:none}.button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:0 18px;border:1px solid transparent;border-radius:10px;font-weight:800;white-space:nowrap;transition:.15s}.button.primary{color:white;background:linear-gradient(135deg,var(--blue),#06628b);box-shadow:0 10px 22px rgba(8,124,167,.22)}.button.primary:hover{transform:translateY(-1px);background:var(--navy)}.button.secondary,.button.call{background:white;border-color:var(--line);color:var(--navy)}.button.disabled{opacity:.56;cursor:not-allowed}.button.large{min-height:54px;padding:0 24px}.menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--line);border-radius:10px;background:white;padding:10px}.menu-toggle span{display:block;height:2px;background:var(--navy);margin:5px}.hero{position:relative;min-height:720px;display:grid;align-items:center;overflow:hidden;background-color:var(--deep);background-image:url("/assets/images/purespan-water-treatment-hero.jpg");background-position:center;background-size:cover;color:white}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,31,48,.94) 0%,rgba(4,31,48,.82) 38%,rgba(4,31,48,.18) 68%,rgba(4,31,48,.08) 100%)}.hero-content{position:relative;z-index:2;width:min(1180px,calc(100% - 40px));margin:auto;padding:100px 0 80px}.hero-content>p:not(.eyebrow){max-width:740px;font-size:clamp(18px,2vw,23px);color:#d9edf1}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--aqua);font-size:12px;font-weight:900}.hero h1,.page-hero h1,.form-intro h1,.not-found h1{max-width:980px;margin:.18em 0;font-size:clamp(48px,7vw,92px);line-height:.98;letter-spacing:-.055em}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0 50px}.hero-pillars{display:grid;grid-template-columns:repeat(3,1fr);max-width:900px;border:1px solid rgba(255,255,255,.24);border-radius:14px;overflow:hidden}.hero-pillars div{padding:21px;border-right:1px solid rgba(255,255,255,.2);display:grid}.hero-pillars div:last-child{border:0}.hero-pillars b{font-size:18px}.hero-pillars span{font-size:13px;color:#b9d6dc}.hero-visual{position:absolute;inset:0}.water-orbit{position:absolute;border:1px solid rgba(100,224,234,.3);border-radius:50%;right:-9vw;top:-26vw;width:72vw;height:72vw}.orbit-b{right:10vw;top:18vw;width:38vw;height:38vw}.system-diagram{position:absolute;right:4vw;bottom:9%;display:flex;gap:10px;align-items:center;opacity:.38}.system-diagram span{padding:10px;border:1px solid white;border-radius:8px}.system-diagram i{width:30px;height:1px;background:white}.section{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:100px 0}.split-intro,.two-column{display:grid;grid-template-columns:1fr 1fr;gap:72px}.section h2,.cta-panel h2{margin:.15em 0 .45em;font-size:clamp(34px,4vw,58px);line-height:1.05;letter-spacing:-.045em}.section-heading{max-width:760px;margin-bottom:36px}.section-heading>p:last-child,.split-intro>div>p,.two-column p{color:var(--muted);font-size:18px}.check-list,.feature-list{list-style:none;padding:0;margin:24px 0}.check-list li,.feature-list li{position:relative;padding:12px 0 12px 28px;border-bottom:1px solid var(--line)}.check-list li:before,.feature-list li:before{content:"";position:absolute;left:0;top:20px;width:10px;height:10px;border:2px solid var(--aqua);border-radius:50%}.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-card{min-height:330px;padding:27px;background:white;border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;transition:.18s}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.card-number{font-size:12px;font-weight:900;color:var(--blue)}.service-card h3{font-size:23px;line-height:1.12;margin:28px 0 12px}.service-card p{color:var(--muted)}.text-link{margin-top:auto;font-weight:850;color:var(--blue)}.text-link span{float:right}.problem-section{width:100%;padding-left:max(20px,calc((100% - 1180px)/2));padding-right:max(20px,calc((100% - 1180px)/2));background:var(--deep);color:white}.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12)}.problem-grid a{padding:21px;background:var(--deep);display:flex;align-items:center;gap:12px}.problem-grid a:hover{background:var(--navy)}.problem-grid span{width:9px;height:9px;border:2px solid var(--aqua);border-radius:50%}.problem-grid b{margin-left:auto}.process-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.process-grid li{padding:26px;border-top:3px solid var(--aqua);background:white}.process-grid b{color:var(--blue)}.process-grid h3{font-size:20px}.process-grid p{color:var(--muted)}.cta-panel{width:min(1180px,calc(100% - 40px));margin:20px auto 90px;padding:50px;display:flex;align-items:center;justify-content:space-between;gap:40px;background:linear-gradient(135deg,var(--navy),var(--deep));border-radius:24px;color:white}.cta-panel>div{max-width:720px}.cta-panel p:last-child{color:#c8dfe3}.page-hero{padding:90px max(20px,calc((100% - 1180px)/2));min-height:570px;background:linear-gradient(135deg,var(--deep),#0c5872);color:white;display:flex;flex-direction:column;justify-content:center}.page-hero h1{font-size:clamp(44px,6vw,78px)}.page-hero>p:not(.eyebrow){max-width:760px;font-size:20px;color:#d2e7ea}.page-hero .button{align-self:flex-start;margin-top:24px}.compact-hero{min-height:460px}.breadcrumbs{display:flex;gap:10px;align-items:center;margin-bottom:40px;color:#cce5e8;font-size:13px}.breadcrumbs a{color:var(--aqua);font-weight:800}.data-panel{background:white;border:1px solid var(--line);padding:30px;border-radius:var(--radius)}.data-panel h3{font-size:26px}.data-panel dl div{padding:16px 0;border-bottom:1px solid var(--line)}.data-panel dt{font-weight:850}.data-panel dd{margin:4px 0;color:var(--muted)}.technical{width:100%;padding-left:max(20px,calc((100% - 1180px)/2));padding-right:max(20px,calc((100% - 1180px)/2));background:#dceff0}.flow-diagram{display:flex;align-items:center;justify-content:center;gap:9px;margin:35px 0;flex-wrap:wrap}.flow-diagram span{background:white;border:1px solid var(--line);padding:15px;border-radius:9px;font-weight:800}.term-cloud{display:flex;flex-wrap:wrap;gap:8px}.term-cloud span{background:rgba(255,255,255,.65);padding:8px 11px;border-radius:999px;font-size:13px}.faq{max-width:900px}.faq details{background:white;border:1px solid var(--line);padding:20px;margin:10px 0;border-radius:12px}.faq summary{cursor:pointer;font-weight:850}.faq details p{color:var(--muted)}.related{width:min(1180px,calc(100% - 40px));margin:auto;padding:25px;border:1px solid var(--line);display:flex;gap:15px;align-items:center;flex-wrap:wrap;background:white;border-radius:14px}.related h2{font-size:17px;margin-right:auto}.related a{color:var(--blue);font-weight:800}.empty-state{text-align:center;max-width:700px;margin:auto;padding:70px 20px}.empty-state h2{font-size:42px}.project-placeholder{height:220px;display:flex;align-items:flex-end;justify-content:center;gap:18px}.project-placeholder i{width:80px;height:140px;border:2px solid var(--blue);border-radius:13px 13px 0 0}.project-placeholder i:nth-child(2){height:200px}.project-fields{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.project-fields span{padding:9px 12px;background:white;border:1px solid var(--line);border-radius:999px}.review-icon{font-size:100px;line-height:.5;color:var(--aqua)}.guide-grid,.county-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.guide-grid article,.county-grid article{padding:28px;background:white;border:1px solid var(--line);border-radius:var(--radius)}.guide-grid span,.county-grid span{color:var(--blue);font-size:12px;font-weight:900;text-transform:uppercase}.guide-grid h2,.county-grid h2{font-size:25px}.guide-grid p,.county-grid p{color:var(--muted)}.notice{margin-top:26px;padding:20px;border-left:4px solid var(--aqua);background:white}.form-hero{padding:70px max(20px,calc((100% - 1180px)/2)) 100px;background:linear-gradient(150deg,var(--deep) 0 34%,var(--mist) 34%)}.form-intro{color:white;max-width:700px;margin-bottom:60px}.form-intro h1{font-size:clamp(48px,7vw,80px)}.form-intro>p:last-child{color:#c9e0e4}.assessment-form{max-width:920px;margin:auto;padding:36px;background:white;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid label{display:grid;gap:7px;font-weight:800}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #b7ced3;border-radius:9px;padding:14px;background:white;color:var(--ink)}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:3px solid rgba(57,191,208,.25);border-color:var(--blue)}.full{grid-column:1/-1}.upload-placeholder{padding:18px;border:1px dashed #9bbbc1;border-radius:10px}.upload-placeholder span{font-weight:850}.upload-placeholder p,.form-status{margin:4px 0;color:var(--muted)}.not-found{min-height:70vh;padding:100px 20px;display:grid;place-content:center;text-align:center}.not-found h1{font-size:65px}.not-found div{display:flex;gap:10px;justify-content:center}.site-footer{padding:70px max(20px,calc((100% - 1180px)/2)) 25px;background:var(--deep);color:white}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:50px}.footer-grid>div{display:flex;flex-direction:column;gap:10px}.footer-grid h2{font-size:14px;text-transform:uppercase;letter-spacing:.14em;color:var(--aqua)}.footer-grid p,.footer-grid span{color:#aec9ce}.footer-brand{color:white;margin-bottom:12px}.footer-brand strong{color:white}.footer-note{border-top:1px solid rgba(255,255,255,.15);margin-top:45px;padding-top:20px;color:#9ab8be;font-size:13px}
@media(max-width:1180px){.header-inner{width:min(1180px,calc(100% - 30px))}.menu-toggle{display:block;margin-left:auto}.site-nav{position:fixed;inset:82px 0 auto;background:white;padding:20px;display:none;max-height:calc(100vh - 82px);overflow:auto;box-shadow:var(--shadow)}.site-nav.open{display:grid}.site-nav>a,.nav-parent{text-align:left;padding:13px;width:100%;font-size:16px}.nav-group{width:100%}.nav-dropdown{position:static;width:100%;box-shadow:none;display:none;opacity:1;visibility:visible;transform:none}.nav-group.open .nav-dropdown{display:grid}.header-actions{display:flex}.mobile-actions{display:none}}
@media(max-width:900px){.card-grid{grid-template-columns:repeat(2,1fr)}.split-intro,.two-column{grid-template-columns:1fr;gap:30px}.problem-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}.guide-grid,.county-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.hero-pillars{grid-template-columns:1fr}.hero-pillars div{border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}.system-diagram{display:none}}
@media(max-width:640px){.header-inner{min-height:72px}.brand strong{font-size:20px}.header-actions{display:none}.site-nav{inset:72px 0 auto}.mobile-actions{display:grid;gap:10px;margin-top:10px}.hero{min-height:auto}.hero-content{padding:70px 0 55px}.hero h1{font-size:49px}.hero-actions{display:grid}.section{padding:70px 0}.card-grid,.problem-grid,.process-grid,.guide-grid,.county-grid,.footer-grid,.form-grid{grid-template-columns:1fr}.service-card{min-height:280px}.problem-grid a{padding:18px}.cta-panel{padding:30px;display:grid}.page-hero{min-height:520px;padding-top:70px}.compact-hero{min-height:420px}.form-hero{padding-top:40px;background:linear-gradient(165deg,var(--deep) 0 27%,var(--mist) 27%)}.assessment-form{padding:22px}.footer-grid{gap:30px}.not-found h1{font-size:48px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.brand-logo{display:block;width:clamp(190px,15vw,250px);height:auto}.footer-brand{padding:8px 10px;background:#fff;border-radius:12px;width:max-content;max-width:100%}.footer-brand .brand-logo{width:240px;max-width:100%}@media(max-width:640px){.brand-logo{width:180px}.header-inner{gap:12px}}
