
:root{--navy:#0d254b;--blue:#14569b;--green:#81b936;--cream:#f6f8f5;--ink:#172b40;--muted:#5b6c7a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.65;background:white}a{color:inherit}img{max-width:100%}.container{width:min(1180px,calc(100% - 42px));margin:auto}.announcement{background:var(--navy);color:white;text-align:center;padding:9px 16px;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.header{background:white;position:sticky;top:0;z-index:20;box-shadow:0 3px 22px #102c4314}.nav{min-height:94px;display:flex;align-items:center;gap:22px;justify-content:space-between}.brand{display:flex;align-items:center;gap:14px;text-decoration:none}.brand img{width:70px;height:70px;object-fit:contain}.brandtext{font-weight:800;line-height:1.1;letter-spacing:.08em;color:var(--navy);font-size:18px}.brandtext small{display:block;letter-spacing:.18em;color:#52708a;font-size:10px;margin-top:6px}.navlinks{display:flex;gap:25px;align-items:center}.navlinks a{text-decoration:none;font-size:13px;font-weight:700}.btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;border-radius:5px;padding:14px 22px;background:var(--green);color:#112b21;text-decoration:none;font-weight:800;font-size:13px;letter-spacing:.02em;transition:transform .2s,background .2s;border:0;cursor:pointer}.btn:hover{transform:translateY(-2px);background:#96cd4b}.btn.dark{background:var(--navy);color:white}.btn.white{background:white;color:var(--navy)}.menu{display:none}.hero{background:radial-gradient(circle at 83% 24%,#3b77a2 0%,transparent 40%),linear-gradient(120deg,#071e40,#154c83 80%);color:white;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;min-height:610px;gap:35px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-weight:800;font-size:11px;color:var(--green)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;line-height:1.12;font-weight:400}h1{font-size:clamp(45px,5.4vw,76px);margin:20px 0 25px;letter-spacing:-.035em}h2{font-size:clamp(33px,4vw,53px);letter-spacing:-.025em;margin:14px 0 18px}h3{font-size:25px;margin:0 0 12px}.hero p{font-size:18px;max-width:540px;color:#dbe8f4}.actions{display:flex;gap:13px;flex-wrap:wrap;margin:30px 0}.ghost{border:1px solid #a3c0d8;color:white;text-decoration:none;padding:12px 20px;border-radius:5px;font-size:13px;font-weight:700}.hero-art{min-height:490px;position:relative;display:grid;place-items:center}.hero-art:before{content:'';position:absolute;width:420px;height:420px;border:1px solid #ffffff32;border-radius:50%;box-shadow:0 0 0 50px #ffffff08,0 0 0 100px #ffffff04}.hero-art img{width:min(360px,80%);position:relative;filter:drop-shadow(0 20px 45px #03172b90)}.hero-note{position:absolute;bottom:16px;right:0;background:#ffffff12;border:1px solid #ffffff30;border-radius:8px;padding:12px 18px;font-size:12px;color:#dceaf6;backdrop-filter:blur(6px)}.trust{background:#f0f5f5;border-bottom:1px solid #e3e9e8}.trust-row{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;gap:10px;padding:26px 0}.trust strong{display:block;font-size:21px;color:var(--navy)}.trust span{font-size:12px;color:var(--muted)}section{padding:95px 0}.section-intro{max-width:680px;margin-bottom:35px}.section-intro p,.split p{color:var(--muted)}.pale{background:var(--cream)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{padding:32px;border:1px solid #dce5e5;background:white;border-radius:9px;box-shadow:0 6px 18px #0d254b08}.service .num{color:#6ca02d;font-size:12px;letter-spacing:.2em;font-weight:800}.service p{color:var(--muted);font-size:14px}.service a{color:var(--blue);font-weight:800;font-size:13px;text-decoration:none}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.visual{min-height:400px;background:linear-gradient(145deg,#e0edf2,#bfd4dd);border-radius:9px;position:relative;display:grid;place-items:center;text-align:center;padding:40px;overflow:hidden}.visual:after{content:'';position:absolute;inset:18px;border:1px solid #ffffffb0;border-radius:5px;pointer-events:none}.visual .visual-label{font-family:Georgia,serif;font-size:30px;max-width:280px;color:#2a5470}.visual .mini{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#587589}.visual.green{background:linear-gradient(140deg,#d8e9cb,#eef4e8)}.visual.green .visual-label{color:#3b6636}.listline{padding:11px 0;border-bottom:1px solid #e0e6e8;font-size:14px}.learning{background:#0d254b;color:white}.learning p{color:#d4e2ed}.learning .visual{background:linear-gradient(135deg,#2a5e8b,#16385d)}.learning .visual-label,.learning .visual .mini{color:white}.areas{background:#f5f8f8;text-align:center}.areas p{max-width:720px;margin:0 auto;color:var(--muted)}.quote{text-align:center;background:linear-gradient(130deg,#14569b,#0d254b);color:white}.quote p{color:#e0eaf3;max-width:660px;margin:0 auto 28px}.quote .pending{display:block;font-size:12px;color:#dce7ef;margin-top:16px}.footer{background:#071a32;color:white;padding:48px 0}.footer-grid{display:flex;justify-content:space-between;gap:24px;align-items:center}.footer a{color:#d5e6f1}.footer small{color:#a4b9c9}.footer img{width:72px}.footer-brand{display:flex;align-items:center;gap:14px}.footnote{font-size:11px;color:#7c91a4;margin-top:25px}.skip{position:absolute;top:-60px;left:10px;background:white;color:black;padding:10px;z-index:99}.skip:focus{top:10px}@media(max-width:900px){.navlinks a:not(.btn){display:none}.hero-grid,.split{grid-template-columns:1fr}.hero-grid{padding:70px 0 45px;gap:0}.hero-art{min-height:340px}.hero-art:before{width:270px;height:270px}.hero-art img{width:240px}.cards{grid-template-columns:repeat(2,1fr)}.split{gap:30px}}@media(max-width:600px){.announcement{font-size:10px}.nav{min-height:75px}.brand img{width:52px;height:52px}.brandtext{font-size:14px}.brandtext small{font-size:8px}.navlinks .btn{padding:11px;font-size:11px}.hero-grid{padding-top:55px}.hero-art{min-height:280px}.hero-note{bottom:0;right:10px}.trust-row{grid-template-columns:1fr;gap:18px}.cards{grid-template-columns:1fr}section{padding:65px 0}.visual{min-height:280px}.footer-grid{align-items:start;flex-direction:column}}

.pagehero{background:linear-gradient(115deg,#071e40,#14569b);color:white;padding:95px 0 75px}.pagehero h1{max-width:900px}.pagebody{padding:70px 0}.pagebody p{max-width:820px}.pagebody h2{margin-top:35px}.simple-nav{display:flex;gap:18px;flex-wrap:wrap}.simple-nav a{text-decoration:none;font-size:13px;font-weight:700}.simple-nav a:hover{text-decoration:underline}.smallprint{font-size:13px;color:#65788b}.mobile-cta{margin-top:25px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}@media(max-width:700px){.service-grid{grid-template-columns:1fr}.simple-nav{gap:9px}}

/* Clear View actual brand and job footage — v4 */
.brand img{flex-shrink:0;width:68px;height:68px;object-fit:contain}
.hero-video-panel{isolation:isolate;min-height:490px;overflow:hidden;border-radius:22px;background:#113c69;box-shadow:0 35px 75px #03182d80}
.hero-video-panel:before{display:none}
.hero-video{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:center center;filter:brightness(.79) saturate(.9)}
.hero-video-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,#071b39a8 100%);pointer-events:none}
.hero-video-panel .hero-video-logo{position:absolute;top:20px;right:20px;width:96px;height:96px;z-index:2;filter:drop-shadow(0 8px 18px #001d3f9c)}
.hero-video-panel .hero-note{z-index:2;bottom:20px;right:20px;left:20px;text-align:center}
@media(max-width:900px){.hero-video-panel{min-height:370px;max-width:560px;width:100%;margin:12px auto 0}}
@media(max-width:600px){.brand img{width:46px;height:46px}.hero-video-panel{min-height:310px}}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}.hero-video-panel{background:linear-gradient(135deg,#0d254b,#14569b) url('/assets/window-cleaning-poster.jpg') center/cover no-repeat}}

/* Click-to-play Learning Center featured video */
.featured-video-wrap{width:100%;min-width:0}.featured-video{position:relative;aspect-ratio:16/9;background:#061a30;border-radius:12px;overflow:hidden;box-shadow:0 18px 50px #0006}.featured-video-play{display:block;position:relative;width:100%;height:100%;padding:0;border:0;cursor:pointer;background:#0c2c4f;color:white;text-align:left}.featured-video-play>img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.72)}.featured-play-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;width:76px;height:76px;background:#8dc53d;color:#0d254b;font-size:28px;box-shadow:0 4px 25px #0007;transition:transform .2s}.featured-video-play:hover .featured-play-icon{transform:translate(-50%,-50%) scale(1.07)}.featured-video-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#061a30e8);padding:35px 18px 15px;color:#fff;font-size:14px;font-weight:700}.featured-video iframe{display:block;width:100%;height:100%;border:0}.featured-video-subtitle{color:#c8d9e8!important;font-size:13px;margin:12px 0 0}@media(max-width:600px){.featured-play-icon{width:60px;height:60px}}

/* v12 local SEO area pages */
.local-service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:25px 0 40px}.local-service{border:1px solid #dce7ed;border-radius:12px;background:#f8fbfd;padding:22px;box-shadow:0 8px 22px #0d254b0a}.local-service h3{margin:0 0 12px;color:var(--navy)}.local-service h3 a{text-decoration:none;color:var(--blue)}.local-service p{margin:0}.local-cta{padding:27px;background:#eef6e7;border-radius:14px;margin:32px 0}.local-cta h2{margin-top:0}.town-links{display:flex;gap:18px;flex-wrap:wrap}.town-links a{font-weight:bold;color:var(--blue)}.table-scroll{overflow-x:auto}.area-table{border-collapse:collapse;width:100%;min-width:620px;margin:20px 0 38px}.area-table th,.area-table td{border:1px solid #dce7ed;padding:11px 13px;text-align:left}.area-table thead{background:#0d254b;color:#fff}.area-table a{color:var(--blue)}@media(max-width:720px){.local-cta{padding:18px}}

/* FAQ layout */
.faq-list{max-width:850px;margin:0 0 40px}.faq-item{padding:19px 0;border-bottom:1px solid #d4e1ec}.faq-item summary{cursor:pointer;font-size:1.1rem;font-weight:700;color:#103a71}.faq-item p{line-height:1.65;max-width:72ch}.faq-item summary:focus-visible{outline:3px solid #81b936;outline-offset:4px}

/* v20 — mobile navigation: compact header and accessible disclosure menu */
.mobile-menu,.mobile-header-quote{display:none}
@media(max-width:900px){
  .header .nav{position:relative;flex-wrap:nowrap;gap:10px;min-height:82px}
  .header .simple-nav,.header .navlinks{display:none}
  .header .mobile-menu{display:block;order:3;flex:0 0 auto}
  .header .brand{min-width:0;flex:1 1 auto}
  .header .nav>.btn,.header .mobile-header-quote{display:inline-flex;order:2;flex:0 0 auto;padding:11px 12px;font-size:12px;white-space:nowrap}
  .header .mobile-menu summary{list-style:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;cursor:pointer;min-width:55px;min-height:46px;border:1px solid #d9e2e9;border-radius:7px;color:var(--navy);font-size:10px;font-weight:700;line-height:1.1;background:white}
  .header .mobile-menu summary::-webkit-details-marker{display:none}
  .header .mobile-menu summary:focus-visible{outline:3px solid var(--green);outline-offset:3px}
  .header .menu-lines{font-size:24px;line-height:1.15}
  .header .mobile-menu-panel{position:absolute;right:0;left:0;top:calc(100% + 3px);padding:10px 12px;background:white;box-shadow:0 16px 26px #0d254b30;border:1px solid #d9e2e9;border-radius:0 0 10px 10px;z-index:30;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 10px}
  .header .mobile-menu-panel a{display:block;text-decoration:none;font-weight:700;font-size:14px;padding:11px 9px;border-radius:5px}
  .header .mobile-menu-panel a:hover,.header .mobile-menu-panel a:focus-visible{background:#eef6e9;color:var(--navy)}
}
@media(max-width:420px){
  .header .container{width:calc(100% - 24px)}
  .header .brand{gap:7px}
  .header .brand img{width:41px;height:41px}
  .header .brandtext{font-size:12px;letter-spacing:.035em}
  .header .brandtext small{font-size:7px;letter-spacing:.09em}
  .header .nav{gap:6px;min-height:69px}
  .header .nav>.btn,.header .mobile-header-quote{padding:10px 8px;font-size:11px;text-align:center;max-width:107px;white-space:normal;line-height:1.2}
  .header .mobile-menu summary{min-width:48px}
}
