:root { --navy:#063563; --navy-deep:#022a52; --teal:#10aeb4; --ink:#082f5c; --off:#f6f9fa; --line:#dce6ea; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:#15314a; font-family:var(--font-geist-sans), Arial, sans-serif; }
a { color:inherit; text-decoration:none; }
button, input, select, textarea { font:inherit; }
.site-header { height:90px; position:relative; z-index:20; background:#fff; border-bottom:1px solid #e8eef1; }
.nav-wrap { max-width:1440px; height:100%; margin:auto; padding:0 42px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.brand { display:flex; align-items:center; min-width:270px; }
.brand-logo { display:block; width:265px; height:auto; }
.brand-light .brand-logo { filter:brightness(0) invert(1); opacity:.96; }
nav { display:flex; align-items:center; gap:35px; margin-left:auto; }
nav a { font-size:15px; font-weight:650; color:#173f64; position:relative; }
nav a:after { content:""; position:absolute; left:50%; right:50%; bottom:-8px; height:2px; background:var(--teal); transition:.2s ease; }
nav a:hover:after, nav a:focus-visible:after { left:0; right:0; }
.header-actions { display:flex; align-items:center; gap:20px; }
.phone-link { font-weight:700; color:var(--navy); white-space:nowrap; }
.button { min-height:56px; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:0 28px; background:var(--teal); color:#fff; border:0; border-radius:7px; font-weight:750; cursor:pointer; transition:transform .18s ease, background .18s ease, box-shadow .18s ease; }
.button:hover, .button:focus-visible { background:#0b989e; transform:translateY(-2px); box-shadow:0 10px 25px #001d3525; }
.button-small { min-height:48px; padding:0 21px; font-size:14px; white-space:nowrap; }
.menu-button { display:none; border:0; background:none; padding:8px; }
.menu-button span { display:block; width:25px; height:2px; background:var(--navy); margin:5px; }
.hero { min-height:666px; display:grid; grid-template-columns:54% 46%; background:var(--navy-deep); color:#fff; overflow:hidden; }
.hero-copy { position:relative; z-index:2; padding:150px 7vw 90px max(4vw, 60px); background:radial-gradient(circle at 35% 45%, #084985 0, var(--navy-deep) 67%); }
.hero-copy:after { content:""; position:absolute; z-index:-1; width:150px; top:-40px; bottom:-40px; right:-76px; background:var(--navy-deep); transform:skewX(-17deg); border-right:1px solid var(--teal); }
.eyebrow { margin:0 0 22px; color:var(--teal); font-size:14px; font-weight:800; letter-spacing:.16em; }
.eyebrow span { margin:0 8px; }
.eyebrow.dark { color:#0b979d; }
h1 { max-width:680px; margin:0; font-size:clamp(46px, 4.5vw, 70px); line-height:1.08; letter-spacing:-.045em; font-weight:800; }
.hero-text { max-width:570px; margin:26px 0 32px; color:#e6f0f5; font-size:20px; line-height:1.55; }
.hero-actions { display:flex; gap:18px; flex-wrap:wrap; }
.button-outline { background:transparent; border:1px solid #fff; }
.button-outline:hover { background:#ffffff14; }
.hero-image { min-height:666px; background:url('images/hero-cleaner.png') center/cover no-repeat; }

.form-status { margin:0; min-height:22px; text-align:center; font-size:14px; font-weight:650; }
.form-status.success { color:#087c64; }
.form-status.error { color:#a52a2a; }
.hp-field { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.submit-button[disabled] { opacity:.65; cursor:wait; transform:none; }
.trust-strip { min-height:130px; display:grid; grid-template-columns:repeat(3,1fr); align-items:center; max-width:1320px; margin:auto; padding:25px 20px; }
.trust-strip > div { min-height:58px; display:flex; align-items:center; justify-content:center; gap:18px; border-right:1px solid var(--line); color:var(--ink); }
.trust-strip > div:last-child { border:0; }
.trust-icon { width:50px; height:50px; border:1px solid #99b5c7; border-radius:50%; display:grid; place-items:center; color:var(--teal); font-size:12px; font-weight:800; }
.section { padding:110px max(5vw, 42px); }
.services-section { background:var(--off); }
.section-heading { max-width:1320px; margin:0 auto 50px; display:flex; justify-content:space-between; align-items:end; gap:50px; }
.section-heading h2, .about-copy h2, .why-intro h2, .area-banner h2, .contact-copy h2 { margin:0; color:var(--ink); font-size:clamp(38px, 4vw, 58px); line-height:1.08; letter-spacing:-.04em; }
.section-heading > p { max-width:460px; margin:0; color:#526c7e; font-size:18px; line-height:1.65; }
.service-grid { max-width:1320px; margin:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.service-card { background:#fff; border:1px solid #e2eaee; overflow:hidden; transition:.2s ease; }
.service-card:hover { transform:translateY(-5px); box-shadow:0 18px 45px #07365d14; }
.service-card img { width:100%; height:235px; display:block; object-fit:cover; }
.service-content { padding:30px; }
.service-content h3 { margin:0 0 14px; color:var(--ink); font-size:25px; }
.service-content p { margin:0 0 24px; color:#5b7180; line-height:1.65; }
.service-content ul { list-style:none; padding:20px 0 0; margin:0; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:8px; }
.service-content li { font-size:12px; font-weight:700; color:#1b6674; background:#eaf7f7; padding:7px 9px; }
.about-section { display:grid; grid-template-columns:1fr 1fr; background:var(--navy); color:#fff; }
.about-photo { min-height:680px; overflow:hidden; }
.about-photo img { width:100%; height:100%; object-fit:cover; }
.about-copy { padding:110px max(6vw, 70px); display:flex; flex-direction:column; justify-content:center; }
.about-copy h2 { color:#fff; }
.about-copy > p:not(.eyebrow) { max-width:630px; color:#d6e5ed; font-size:18px; line-height:1.75; margin:28px 0 0; }
.signature-line { margin-top:38px; padding-top:28px; border-top:1px solid #ffffff30; display:flex; flex-direction:column; }
.signature-line span { font-size:22px; font-weight:750; }
.signature-line small { margin-top:7px; color:#8bcbd0; }
.why-section { max-width:1440px; margin:auto; display:grid; grid-template-columns:.8fr 1.4fr; gap:90px; }
.why-intro h2 { font-size:clamp(38px, 3.5vw, 54px); }
.why-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); }
.why-grid article { background:#fff; padding:36px; }
.why-grid article > span { color:var(--teal); font-size:13px; font-weight:800; }
.why-grid h3 { color:var(--ink); font-size:20px; margin:28px 0 12px; }
.why-grid p { color:#587080; line-height:1.65; margin:0; }
.area-banner { padding:75px max(6vw, 60px); background:#e9f7f7; display:flex; align-items:end; justify-content:space-between; gap:40px; }
.area-banner h2 { max-width:850px; }
.text-link { display:flex; align-items:center; gap:10px; color:var(--ink); font-weight:750; white-space:nowrap; padding-bottom:10px; border-bottom:2px solid var(--teal); }
.text-link svg, .submit-button svg { width:20px; fill:none; stroke:currentColor; stroke-width:2; }
.contact-section { padding:110px max(6vw, 60px); display:grid; grid-template-columns:.85fr 1.15fr; gap:8vw; background:var(--navy-deep); color:#fff; }
.contact-copy h2 { color:#fff; }
.contact-copy > p:not(.eyebrow) { color:#cbdde7; font-size:18px; line-height:1.7; max-width:540px; margin:25px 0 40px; }
.contact-details { display:grid; gap:22px; }
.contact-details a, .contact-details div { display:flex; flex-direction:column; gap:5px; }
.contact-details small { color:#62c8cd; letter-spacing:.16em; font-weight:800; }
.contact-details strong { font-size:17px; }
.quote-form { background:#fff; color:#234155; padding:44px; display:grid; gap:20px; }
.quote-form label { display:grid; gap:8px; font-size:13px; font-weight:750; color:var(--ink); }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.quote-form input, .quote-form select, .quote-form textarea { width:100%; border:1px solid #cad8de; background:#fff; padding:15px; border-radius:4px; color:#15314a; outline:none; }
.quote-form input:focus, .quote-form select:focus, .quote-form textarea:focus { border-color:var(--teal); box-shadow:0 0 0 3px #10aeb41b; }
.quote-form textarea { resize:vertical; }
.submit-button { width:100%; }
.form-note { margin:0; text-align:center; font-size:12px; color:#6d808b; }
footer { background:#021d38; color:#fff; padding:65px max(5vw, 42px) 25px; }
.footer-main { max-width:1320px; margin:auto; display:grid; grid-template-columns:1fr 1.2fr auto; align-items:center; gap:50px; }
.footer-main > p { color:#a9bdca; line-height:1.6; max-width:500px; }
.footer-bottom { max-width:1320px; margin:50px auto 0; padding-top:22px; border-top:1px solid #ffffff1f; display:flex; justify-content:space-between; color:#7992a3; font-size:13px; }

@media (max-width:1100px) {
  .nav-wrap { padding:0 24px; }
  nav { gap:20px; }
  .phone-link { display:none; }
  .hero { grid-template-columns:56% 44%; }
  .why-section { gap:45px; }
}
@media (max-width:820px) {
  .site-header { height:76px; }
  .brand { min-width:0; }
  .brand-logo { width:220px; }
  .header-actions { display:none; }
  .menu-button { display:block; margin-left:auto; }
  nav { display:none; position:absolute; top:76px; left:0; right:0; margin:0; padding:24px; background:#fff; border-top:1px solid var(--line); box-shadow:0 20px 35px #042d5022; flex-direction:column; align-items:flex-start; }
  nav.open { display:flex; }
  .hero { display:flex; flex-direction:column; }
  .hero-copy { padding:85px 26px 70px; }
  .hero-copy:after { display:none; }
  .hero-image { min-height:430px; order:-1; background-position:center 22%; }
  .trust-strip { grid-template-columns:1fr; padding:10px 26px; }
  .trust-strip > div { justify-content:flex-start; border-right:0; border-bottom:1px solid var(--line); padding:20px 0; }
  .section { padding:80px 26px; }
  .section-heading { display:block; }
  .section-heading > p { margin-top:20px; }
  .service-grid { grid-template-columns:1fr; }
  .about-section { grid-template-columns:1fr; }
  .about-photo { min-height:420px; }
  .about-copy { padding:80px 26px; }
  .why-section { grid-template-columns:1fr; gap:45px; }
  .why-grid { grid-template-columns:1fr; }
  .area-banner { padding:65px 26px; align-items:flex-start; flex-direction:column; }
  .contact-section { padding:80px 26px; grid-template-columns:1fr; gap:55px; }
  .quote-form { padding:28px 22px; }
  .footer-main { grid-template-columns:1fr; gap:28px; }
}
@media (max-width:520px) {
  .brand small { letter-spacing:.3em; }
  h1 { font-size:43px; }
  .hero-image { min-height:350px; }
  .hero-actions { flex-direction:column; }
  .button { width:100%; }
  .field-row { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; gap:10px; }
}
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto !important; transition:none !important; } }
