:root { --navy:#063563; --navy-deep:#022a52; --teal:#10aeb4; --ink:#082f5c; --off:#f6f9fa; --line:#dce6ea; --white:#fff; --font-sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:#15314a; font-family:var(--font-sans); }
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; position:relative; isolation:isolate; 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; }
.sea-sweep { position:absolute; inset:0; z-index:8; overflow:hidden; pointer-events:none; }
.sea-sweep:before { content:""; position:absolute; top:-30%; left:-48%; width:42%; height:160%; border-radius:48% 54% 46% 52%; background:linear-gradient(90deg, transparent 3%, #10aeb40d 23%, #10aeb438 54%, #d9ffff8f 70%, #10aeb42b 80%, transparent 98%); box-shadow:20px 0 38px #ffffff30, 42px 0 74px #10aeb42b; transform:rotate(8deg); animation:sea-wave-sweep 3.2s cubic-bezier(.28,.64,.24,1) .12s both; }
.sea-sweep:after { content:""; position:absolute; top:-34%; left:-51%; width:40%; height:168%; border-right:2px solid #d9ffffbd; border-radius:50%; filter:drop-shadow(0 0 9px #63f4f294) drop-shadow(0 0 20px #10aeb45c); transform:rotate(7deg); animation:sea-wave-line 3.2s cubic-bezier(.28,.64,.24,1) .12s both; }
.sea-sweep-glint { position:absolute; top:82%; left:72.5%; width:118px; height:72px; opacity:0; border-radius:50%; background:radial-gradient(ellipse at 52% 50%, #ffffffdc 0 4%, #d9ffff9e 12%, #75eeee4d 30%, transparent 68%); filter:drop-shadow(0 0 12px #ffffffbd) drop-shadow(0 0 30px #6ef7f48a); animation:sea-glint 3.2s cubic-bezier(.22,.7,.28,1) .12s both; }
.sea-sweep-glint:before { content:""; position:absolute; left:8%; top:42%; width:86%; height:10px; border-radius:50%; background:linear-gradient(90deg, transparent, #cfffff8c 22%, #fff 51%, #d9ffffad 69%, transparent); filter:blur(.35px) drop-shadow(0 0 8px #fff); transform:rotate(-8deg); }
.sea-sweep-glint:after { content:""; position:absolute; left:38%; top:62%; width:48%; height:5px; border-radius:50%; background:linear-gradient(90deg, transparent, #bffcfca3 24%, #ffffffd9 55%, transparent); filter:blur(.45px) drop-shadow(0 0 6px #6ef7f4); transform:rotate(-8deg); }
@keyframes sea-wave-sweep { 0% { transform:translateX(0) rotate(8deg); opacity:0; } 9% { opacity:.82; } 72% { opacity:.7; } 91% { opacity:.48; } 100% { transform:translateX(355%) rotate(8deg); opacity:0; } }
@keyframes sea-wave-line { 0% { transform:translateX(0) rotate(7deg); opacity:0; } 10% { opacity:.92; } 75% { opacity:.76; } 92% { opacity:.5; } 100% { transform:translateX(375%) rotate(7deg); opacity:0; } }
@keyframes sea-glint { 0%,62% { transform:translate(-50%,-50%) scale(.62); opacity:0; } 72% { transform:translate(-50%,-50%) scale(1); opacity:.96; } 84% { transform:translate(-50%,-50%) scale(1.07); opacity:.76; } 96%,100% { transform:translate(-50%,-50%) scale(1.18); opacity:0; } }

.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-grid-five { grid-template-columns:repeat(6,1fr); }
.service-grid-five .service-card-featured { grid-column:span 3; }
.service-grid-five .service-card-compact { grid-column:span 2; min-height:300px; display:flex; align-items:stretch; }
.service-grid-five .service-card-compact .service-content { display:flex; flex-direction:column; justify-content:flex-start; }
.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-number { margin:0 0 15px !important; color:var(--teal) !important; font-size:12px; font-weight:850; letter-spacing:.15em; }
.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; }
.service-card-link { width:max-content; max-width:100%; margin-top:auto; padding-top:24px; color:var(--ink); border-bottom:2px solid var(--teal); font-size:14px; font-weight:800; }
.service-card-featured .service-card-link { margin-top:22px; }
.process-section { background:#fff; }
.process-grid { max-width:1320px; margin:auto; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.process-grid article { position:relative; padding:44px 44px 46px; border-right:1px solid var(--line); }
.process-grid article:last-child { border-right:0; }
.process-grid span { width:48px; height:48px; display:grid; place-items:center; border:1px solid #9ec0cb; border-radius:50%; color:var(--teal); font-size:12px; font-weight:850; }
.process-grid h3 { margin:28px 0 12px; color:var(--ink); font-size:22px; }
.process-grid p { margin:0; color:#587080; line-height:1.65; }
.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; }
.faq-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; background:#f8fbfc; }
.faq-intro h2 { margin:0; color:var(--ink); font-size:clamp(38px, 3.5vw, 54px); line-height:1.08; letter-spacing:-.04em; }
.faq-intro > p:not(.eyebrow) { max-width:470px; margin:24px 0 0; color:#587080; font-size:17px; line-height:1.7; }
.faq-list { border-top:1px solid #cadce2; }
.faq-list details { border-bottom:1px solid #cadce2; }
.faq-list summary { position:relative; padding:25px 48px 25px 0; color:var(--ink); font-size:18px; font-weight:750; cursor:pointer; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary:after { content:"+"; position:absolute; right:8px; top:21px; color:var(--teal); font-size:27px; font-weight:400; }
.faq-list details[open] summary:after { content:"−"; }
.faq-list details p { margin:0; padding:0 50px 25px 0; color:#587080; line-height:1.7; }
.faq-list details a { color:#087f85; font-weight:750; }
.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); }
.optional { color:#708793; font-size:11px; font-weight:650; }
.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; }

/* Commercial cleaning landing page */
.commercial-hero { min-height:620px; }
.commercial-hero .hero-copy { padding-top:120px; padding-bottom:85px; }
.commercial-hero .hero-image { min-height:620px; background-image:url('images/commercial-cleaning.png'); background-position:center; }
.commercial-hero h1 { font-size:clamp(44px, 4.4vw, 68px); }
.landing-trust { background:#fff; }
.commercial-intro { max-width:1440px; margin:auto; display:grid; grid-template-columns:.9fr 1.1fr; gap:85px; align-items:start; }
.commercial-intro-copy h2, .commercial-services-heading h2, .industries-heading h2 { margin:0; color:var(--ink); font-size:clamp(38px, 3.7vw, 56px); line-height:1.08; letter-spacing:-.04em; }
.commercial-intro-copy > p:not(.eyebrow) { color:#587080; font-size:18px; line-height:1.75; }
.commercial-points { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); }
.commercial-points article { min-height:190px; padding:30px; background:#fff; }
.commercial-points span { color:var(--teal); font-size:12px; font-weight:850; letter-spacing:.12em; }
.commercial-points h3 { margin:24px 0 10px; color:var(--ink); font-size:19px; }
.commercial-points p { margin:0; color:#5b7180; line-height:1.6; }
.commercial-services { background:var(--off); }
.commercial-services-heading { max-width:1320px; margin:0 auto 45px; }
.commercial-services-heading p:last-child { max-width:660px; color:#587080; font-size:18px; line-height:1.7; }
.task-grid { max-width:1320px; margin:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.task-grid article { position:relative; padding:30px 28px 30px 62px; background:#fff; border:1px solid #dfe9ed; }
.task-grid article:before { content:"✓"; position:absolute; left:27px; top:29px; width:23px; height:23px; display:grid; place-items:center; border-radius:50%; background:#e2f7f7; color:#078f95; font-size:13px; font-weight:850; }
.task-grid h3 { margin:0 0 9px; color:var(--ink); font-size:18px; }
.task-grid p { margin:0; color:#5c7281; line-height:1.6; }
.industries-section { max-width:1440px; margin:auto; display:grid; grid-template-columns:.72fr 1.28fr; gap:80px; }
.industries-heading p:last-child { color:#587080; font-size:17px; line-height:1.7; }
.industry-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.industry-grid article { min-height:180px; padding:32px; border:1px solid var(--line); }
.industry-grid span { color:var(--teal); font-size:13px; font-weight:850; }
.industry-grid h3 { margin:24px 0 10px; color:var(--ink); font-size:20px; }
.industry-grid p { margin:0; color:#5b7180; line-height:1.6; }
.schedule-banner { padding:75px max(6vw, 60px); background:var(--navy); color:#fff; display:flex; align-items:center; justify-content:space-between; gap:45px; }
.schedule-banner h2 { max-width:850px; margin:0; color:#fff; font-size:clamp(36px, 3.7vw, 54px); line-height:1.1; letter-spacing:-.04em; }
.schedule-banner .eyebrow { margin-bottom:16px; }
.schedule-banner p:last-child { max-width:760px; margin:18px 0 0; color:#c7dbe6; font-size:17px; line-height:1.7; }
.schedule-banner .button { flex:0 0 auto; }

@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; }
  .service-grid-five { grid-template-columns:1fr 1fr; }
  .service-grid-five .service-card-featured, .service-grid-five .service-card-compact { grid-column:span 1; }
  .service-grid-five .service-card-compact:last-child { grid-column:1 / -1; }
  .commercial-intro, .industries-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%; }
  .sea-sweep-glint { top:38vw; left:79%; width:98px; height:62px; }
  .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; }
  .service-grid-five .service-card-featured, .service-grid-five .service-card-compact, .service-grid-five .service-card-compact:last-child { grid-column:1; }
  .service-grid-five .service-card-compact { min-height:0; }
  .process-grid { grid-template-columns:1fr; border-bottom:0; }
  .process-grid article { border-right:0; border-bottom:1px solid var(--line); padding:35px 24px; }
  .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; }
  .faq-section { grid-template-columns:1fr; gap:45px; }
  .contact-section { padding:80px 26px; grid-template-columns:1fr; gap:55px; }
  .quote-form { padding:28px 22px; }
  .footer-main { grid-template-columns:1fr; gap:28px; }
  .commercial-hero .hero-copy { padding:75px 26px 68px; }
  .commercial-hero .hero-image { min-height:400px; }
  .commercial-intro, .industries-section { grid-template-columns:1fr; }
  .commercial-points, .industry-grid { grid-template-columns:1fr; }
  .task-grid { grid-template-columns:1fr; }
  .schedule-banner { padding:65px 26px; align-items:flex-start; flex-direction:column; }
}
@media (max-width:520px) {
  .brand small { letter-spacing:.3em; }
  h1 { font-size:43px; }
  .hero-image { min-height:350px; }
  .sea-sweep-glint { width:88px; height:56px; }
  .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; } .sea-sweep { display:none; } }

/* MARVORA service-card focal points: start */
.service-grid-five > .service-card-featured:nth-child(1) img { object-position:center 35%; }
.service-grid-five > .service-card-featured:nth-child(2) img { object-position:center 50%; }
/* MARVORA service-card focal points: end */
