:root{--navy:#1b4765;--navy-2:#285a7c;--ink:#183a52;--mint:#B4E1EB;--mint-dark:#78A4CB;--cloud:#f3f9fb;--paper:#dceef4;--line:#95BDD7;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,sans-serif;color:var(--ink);background:var(--cloud);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}.notice{background:var(--mint);height:34px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;font:500 10px 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase}.notice a{text-decoration:underline;text-underline-offset:3px}.site-header{height:93px;padding:0 5vw;background:#fff;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.brand{display:flex;align-items:center;gap:11px;font-size:13px;line-height:1.02;font-weight:800;letter-spacing:-.04em}.brand b{font-weight:500}.brand-mark{width:39px;height:39px;display:grid;place-items:center;background:var(--navy);color:white;font:500 12px 'DM Mono',monospace;letter-spacing:-.14em}.site-nav{display:flex;align-items:center;gap:29px;font-size:13px;font-weight:700}.site-nav>a:not(.nav-cta){position:relative}.site-nav>a:not(.nav-cta)::after{content:'';position:absolute;left:0;bottom:-5px;width:0;height:1px;background:var(--mint-dark);transition:width .2s}.site-nav>a:hover::after{width:100%}.nav-dropdown{position:relative}.nav-trigger{border:0;background:transparent;color:var(--ink);padding:0;font:700 13px Manrope,sans-serif;cursor:pointer}.nav-trigger span{font-size:16px;margin-left:3px;color:var(--mint-dark)}.dropdown-menu{position:absolute;top:calc(100% + 22px);left:-17px;width:300px;padding:11px 0;background:#fff;border:1px solid var(--line);box-shadow:0 17px 30px rgba(24,58,82,.18);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s,transform .18s,visibility .18s;z-index:10}.area-menu{width:250px}.nav-dropdown.open .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-menu a{display:block;padding:10px 17px;color:#345569;font-size:12px;font-weight:600;line-height:1.25}.dropdown-menu a:hover,.dropdown-menu a:focus{background:var(--paper);color:var(--ink)}.nav-cta{background:var(--navy);color:white;padding:12px 18px}.menu-toggle{display:none;border:0;background:none;font:700 12px Manrope,sans-serif}.hero{min-height:610px;background:var(--navy);color:white;display:grid;grid-template-columns:1.05fr .95fr;position:relative;overflow:hidden}.hero-copy{padding:92px 10vw 75px 8vw;align-self:center;position:relative;z-index:1}.kicker{font:500 10px/1.2 'DM Mono',monospace;letter-spacing:.13em;text-transform:uppercase;color:var(--mint);margin:0 0 20px}.section-label{display:none}.hero h1,h2,h3{font-family:Fraunces,Georgia,serif;letter-spacing:-.045em}.hero h1{font-size:clamp(44px,4.6vw,64px);line-height:1.02;margin:0 0 22px;max-width:620px}.lede{font-size:18px;line-height:1.6;max-width:520px;color:#d2e1e4;margin:0}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:35px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:15px 18px;font-weight:800;font-size:13px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:18px}.button-light{background:var(--mint);color:var(--navy)}.button-dark{background:var(--navy);color:white}.text-link{font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:4px}.hero-image{min-height:610px;background:linear-gradient(90deg,rgba(16,40,58,.12),rgba(16,40,58,.02)),url('https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1400&q=85') center/cover}.hero.hero--text-only{grid-template-columns:minmax(0,1fr);min-height:0}.hero--text-only .hero-copy{max-width:900px;padding:clamp(76px,10vw,124px) 8vw}.hero-stamp{position:absolute;right:8vw;bottom:33px;background:var(--mint);color:var(--navy);padding:16px 20px;min-width:145px}.hero-stamp span{display:block;font:500 9px 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase}.hero-stamp b{font:700 20px/.95 Fraunces,Georgia,serif;display:block;margin-top:6px}.intro-section{max-width:960px;margin:auto;padding:2% 6vw;display:block;text-align:center}.intro-section h2{margin-left:auto;margin-right:auto}.intro-copy{max-width:720px;margin:0 auto;text-align:center}.intro-section h2{font-size:40px;line-height:1.02;margin:0;max-width:620px}.areas-section h2{font-size:40px;line-height:1.14;margin:0 auto;max-width:820px;text-align:center}.intro-copy{padding-top:24px}.intro-copy p{margin:0 0 19px;color:#536875}.text-link.dark{color:var(--mint-dark);display:inline-block;margin-top:8px}.text-link span{margin-left:6px}.services-section{background:#fff;padding:2% 5vw}.section-heading{max-width:720px}.section-heading.centered{text-align:left;margin:0 auto 43px}.section-heading h2{font-size:40px;line-height:1.02;margin:0 auto;max-width:620px;text-align:center}.section-heading>p:not(.section-label){color:#60717c;max-width:none;margin:18px 0 0;text-align:left}.service-grid{max-width:1380px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}.service-card{background:var(--cloud);border:1px solid #e3eae6;display:flex;min-width:0}.service-card__body{display:flex;flex-direction:column;width:100%;padding:30px;min-width:0}.service-card h3{font-size:25px;line-height:1.05;margin:0 0 11px}.service-card p{font-size:13px;line-height:1.6;color:#5d717a;margin:0 0 16px}.service-card__body ul{columns:2;column-gap:24px;margin-top:auto;margin-bottom:0;padding-left:17px;color:#2d4b57;font-size:11px;line-height:1.75}.service-card__body li{break-inside:avoid;margin-bottom:4px}.services-section#services .service-card__body{padding:24px;text-align:center}.services-section#services .service-card h3{margin-bottom:13px}.services-section#services .service-card p{font-size:15px;line-height:1.65;color:#456275;margin:0}.industry-strip{max-width:1380px;margin:45px auto 0;padding:19px 0;border-top:1px solid var(--line);color:#45616d;font-size:13px}.industry-strip span{font:500 10px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--mint-dark);margin-right:12px}.process-section{background:var(--paper);padding:0;display:grid;grid-template-columns:minmax(0,1fr);min-height:0}.process-panel{padding:2% 8vw;display:grid;grid-template-columns:1.15fr .85fr;gap:6vw;align-items:center}.process-title{max-width:640px;margin:0}.process-title h2{font-size:40px;line-height:1.14;margin:0;max-width:640px;text-align:center}.process-title>p:not(.section-label){color:#456275}.process-title>p:last-child{color:#456275;margin-bottom:0}.process-accordion{border:0;margin-top:0;background:transparent;max-width:none;margin-left:0;margin-right:0;align-self:center}.process-accordion details{padding:0;border-bottom:1px solid var(--line)}.process-accordion details:last-child{border-bottom:0}.process-accordion summary{padding:17px 18px;font-size:14px;color:var(--ink)}.process-accordion details p{margin:0;padding:0 18px 17px;color:#3d5a6d;font-size:14px;line-height:1.65}.process-image{min-height:420px;background:url('https://images.unsplash.com/photo-1581578731548-c64695cc6952?auto=format&fit=crop&w=1400&q=85') center/cover}.why-section{display:grid;grid-template-columns:minmax(0,1fr);background:#fff}.why-photo{min-height:420px;background:url('https://images.unsplash.com/photo-1565610222536-ef125c59da2e?auto=format&fit=crop&w=1300&q=85') center/cover}.why-copy{padding:2% 8vw;align-self:center;max-width:none;margin:0;display:grid;grid-template-columns:1.15fr .85fr;gap:6vw;align-items:center}.why-intro{max-width:640px;margin:0}.why-intro h2{font-size:40px;line-height:1.14;margin:0;max-width:640px;text-align:center}.why-intro>p:not(.section-label){color:#456275}.why-copy h2{font-size:40px;line-height:1.14;margin:0;max-width:640px;text-align:center}.why-copy>p:not(.section-label){color:#456275}.why-accordion{border:0;margin-top:0;background:transparent;max-width:none;margin-left:0;margin-right:0;align-self:center}.why-accordion details{padding:0;border-bottom:1px solid var(--line)}.why-accordion details:last-child{border-bottom:0}.why-accordion summary{padding:16px 17px;font-size:14px;color:var(--ink)}.why-accordion details p{margin:0;padding:0 17px 16px;color:#3d5a6d;font-size:14px;line-height:1.65}.why-copy .button{margin-top:20px}.areas-section{padding:2% 8vw;background:var(--navy);color:#fff;display:grid;grid-template-columns:1.15fr .85fr;gap:6vw;align-items:center}.areas-copy{max-width:820px;margin:0}.areas-copy>p:not(.section-label){color:#d1e0e2;max-width:none}.areas-section address{font-style:normal;color:var(--mint);font:500 12px/1.7 'DM Mono',monospace;margin-top:28px;text-align:center}.area-list{align-self:center;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));column-gap:34px}.area-list a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0;border-bottom:1px solid rgba(211,232,228,.35);font-size:14px;font-weight:700;transition:color .2s,padding .2s}.area-list a:hover{color:var(--mint);padding-left:8px}.area-list span{color:var(--mint);font-size:18px}.faq-section{padding:2% 8vw;background:var(--cloud);display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:20px 0}summary{list-style:none;cursor:pointer;font-weight:800;font-size:15px;display:flex;justify-content:space-between;gap:15px}summary::-webkit-details-marker{display:none}summary span{font-size:20px;font-weight:400}details[open] summary span{transform:rotate(45deg)}details p{font-size:14px;color:#5c6f78;max-width:620px;margin:13px 30px 0 0}.trust-section{padding:2% 6vw;background:var(--cloud);text-align:left}.trust-copy{max-width:720px;margin:auto}.trust-copy h2{font:500 40px/1.14 Fraunces,Georgia,serif;letter-spacing:-.045em;margin:0 auto;max-width:620px;text-align:center}.trust-copy p{max-width:720px;margin:18px auto 0;color:#456275;text-align:left}.quote-section{padding:2% 6vw;background:var(--mint);display:flex;flex-direction:column;align-items:center;gap:28px;text-align:center}.quote-section>div:first-child{width:100%;max-width:720px;margin:0 auto}.section-label.light{color:#356b58}.quote-section h2{font-size:40px;line-height:.96;margin:0 auto;max-width:620px;text-align:center}.quote-section p:not(.section-label){max-width:720px;margin:18px auto 0;color:#315745;text-align:left}.quote-actions{display:flex;flex-direction:column;align-items:flex-start;gap:15px;width:100%;max-width:720px;margin:0 auto}.footer-form-section{padding:2% 8vw;background:var(--paper);display:grid;grid-template-columns:1.15fr .85fr;gap:6vw;align-items:center}.footer-form-copy{max-width:640px;margin:0}.footer-form-copy h2{font-size:40px;line-height:1.14;margin:0;max-width:640px;text-align:center}.footer-form-copy p{margin:18px 0 0;color:#456275;text-align:left}.quote-form{width:100%;background:#fff;padding:28px;border:1px solid rgba(24,58,82,.12)}.quote-form iframe{width:100%;border:0;display:block}.email-link{font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:4px}.footer-map-section{padding:2% 8vw;background:var(--cloud);display:grid;grid-template-columns:1.15fr .85fr;gap:6vw;align-items:center}.footer-map-copy{max-width:640px;margin:0}.footer-map-copy h2{font-size:40px;line-height:1.14;margin:0;max-width:640px;text-align:center}.footer-map-copy p{margin:18px 0 0;color:#456275;text-align:left}.footer-map-copy address{font-style:normal;color:#2d4b57;font:500 12px/1.7 'DM Mono',monospace;margin-top:20px}.footer-map{width:100%;border:1px solid rgba(24,58,82,.12);background:#fff;line-height:0}.footer-map iframe{width:100%;height:320px;border:0;display:block}.footer-links{margin-left:auto;display:flex;gap:20px}.footer-links a{font-weight:700;color:#d7e5e4;text-decoration:underline;text-underline-offset:3px}.footer-links a:hover{color:var(--mint)}footer{background:#0b202e;color:#d7e5e4;padding:47px 5vw;display:flex;align-items:center;gap:34px;font-size:12px}.footer-brand{color:white}.footer-brand .brand-mark{background:var(--mint);color:var(--navy)}footer p{margin:0}footer a{font-weight:800}.copyright{color:#88a0a5;font-size:11px}@media(max-width:950px){.process-panel,.why-copy,.footer-form-section,.footer-map-section{grid-template-columns:1fr;gap:34px}.why-intro,.process-title,.footer-form-copy,.footer-map-copy{max-width:none}.hero{grid-template-columns:1fr}.hero-image{min-height:340px}.hero-copy{padding:80px 8vw 65px}.hero-stamp{right:8vw;bottom:20px}.service-grid{grid-template-columns:repeat(2,1fr)}.intro-section,.process-section,.areas-section,.faq-section{grid-template-columns:1fr;gap:45px}.why-copy{padding:2% 8vw}.quote-section{align-items:flex-start;flex-direction:column}footer{flex-wrap:wrap}.copyright{margin-left:0;width:100%}}@media(max-width:650px){.hero--text-only .hero-copy{padding:2% 7vw 54px}.site-header{height:75px}.site-nav{display:none;position:absolute;top:75px;left:0;right:0;background:#fff;padding:20px 5vw;flex-direction:column;align-items:flex-start;gap:18px;border-top:1px solid var(--line)}.site-nav.open{display:flex}.nav-dropdown{width:100%}.nav-trigger{width:100%;text-align:left;display:flex;justify-content:space-between}.dropdown-menu,.area-menu{position:static;width:100%;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;margin-top:8px}.nav-dropdown.open .dropdown-menu{display:block}.dropdown-menu a{padding:10px 0 10px 14px}.site-nav>a:not(.nav-cta){width:100%}.menu-toggle{display:block}.hero h1{font-size:53px}.hero-copy{padding:2% 7vw 54px}.hero-image{min-height:250px}.hero-stamp{display:none}.intro-section,.services-section,.areas-section,.faq-section{padding:2% 7vw}.process-panel{padding:2% 7vw}.process-image{min-height:320px}.service-grid{grid-template-columns:1fr}.service-card__body ul{columns:1}.why-section{grid-template-columns:1fr}.why-photo{min-height:330px}.why-copy{padding:2% 7vw}.quote-section{padding:2% 7vw}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.notice{padding:0 7vw}}

/* Detailed service pages: keep the services heading block left-aligned. */
.hero--text-only ~ .services-section .section-heading.centered {
  text-align: start;
}

/* Site-wide intro sections: centered label + heading, left-aligned body copy. */
.intro-section > div:first-child {
  text-align: center;
}
.intro-section h2 {
  margin-left: auto;
  margin-right: auto;
}
.intro-copy,
.intro-section .intro-copy p {
  text-align: left;
}

/* Homepage only: retain its compact photo cards without restoring photos to service-page text cards. */
.services-section#services .service-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.services-section#services .service-card {
  display: flex;
  flex-direction: column;
}
.services-section#services .service-photo {
  flex: 0 0 auto;
}
.services-section#services .service-card > div:last-child {
  flex: 1 1 auto;
}
.services-section#services .service-card p {
  margin-bottom: 18px;
}
.services-section#services .service-photo {
  height: 300px;
  background-position: center;
  background-size: cover;
}
.services-section#services .service-photo.office { background-image: url('images/services/office-cleaning-minnesota.jpg'); }
.services-section#services .service-photo.retail { background-image: url('images/services/retail-shopping-center-cleaning-minnesota.jpg'); }
.services-section#services .service-photo.restaurant { background-image: url('images/services/restaurant-cleaning-minnesota.jpg'); }
.services-section#services .service-photo.medical { background-image: url('images/services/medical-healthcare-cleaning-minnesota.jpg'); }
.services-section#services .service-photo.financial { background-image: url('images/services/financial-institution-cleaning-minnesota.jpg'); }
.services-section#services .service-photo.auto { background-image: url('images/services/auto-dealership-cleaning-minnesota.jpg'); }
.services-section#services .service-photo.industrial { background-image: url('images/services/industrial-warehouse-cleaning-minnesota.jpg'); }
.services-section#services .service-photo.school { background-image: url('images/services/school-daycare-cleaning-minnesota.jpg'); }
.services-section#services .service-photo.fitness { background-image: url('images/services/fitness-center-gym-cleaning-minnesota.jpg'); }
.services-section#services .service-photo.church { background-image: url('images/services/church-religious-facility-cleaning-minnesota.jpg'); }
.services-section#services .service-card > div:last-child {
  padding: 24px;
  text-align: center;
  display: flex;
  flex-direction: column;
}

/* Homepage service cards only: Learn More action pinned to the card foot. */
.services-section#services .service-card__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  align-self: center;
  margin-top: auto;
  padding: 11px 18px;
  background: var(--navy);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  transition: background .2s, transform .2s;
}
.services-section#services .service-card__link span {
  font-size: 15px;
  line-height: 1;
}
.services-section#services .service-card__link:hover,
.services-section#services .service-card__link:focus {
  background: var(--navy-2);
  transform: translateY(-2px);
}
@media (max-width: 950px) {
  .services-section#services .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
  .services-section#services .service-grid { grid-template-columns: 1fr; }
}
/* Homepage hero slideshow: slides enter from the right on a 2s cadence. */
.hero-slideshow {
  position: relative;
  overflow: hidden;
  background-image: none;
}
.hero-slide {
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  transform: translateX(100%);
  transition: transform .7s cubic-bezier(.4, 0, .2, 1);
  will-change: transform;
}
.hero-slide.is-active {
  transform: translateX(0);
  z-index: 1;
}
.hero-slide.is-leaving {
  transform: translateX(-100%);
  z-index: 0;
}
.hero-slideshow::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(16,40,58,.12), rgba(16,40,58,.02));
}
@media (prefers-reduced-motion: reduce) {
  .hero-slide { transition: none; }
}

/* Detailed service page heroes: scoped photos paired with the homepage service cards. */
.hero--service-office .hero-image { background-image: linear-gradient(rgba(0, 0, 0, .3), rgba(0, 0, 0, .3)), url('images/services/office-cleaning-minnesota.jpg'); }
.hero--service-retail .hero-image { background-image: linear-gradient(rgba(0, 0, 0, .3), rgba(0, 0, 0, .3)), url('images/services/retail-shopping-center-cleaning-minnesota.jpg'); }
.hero--service-restaurant .hero-image { background-image: linear-gradient(rgba(0, 0, 0, .3), rgba(0, 0, 0, .3)), url('images/services/restaurant-cleaning-minnesota.jpg'); }
.hero--service-medical .hero-image { background-image: linear-gradient(rgba(0, 0, 0, .3), rgba(0, 0, 0, .3)), url('images/services/medical-healthcare-cleaning-minnesota.jpg'); }
.hero--service-financial .hero-image { background-image: linear-gradient(rgba(0, 0, 0, .3), rgba(0, 0, 0, .3)), url('images/services/financial-institution-cleaning-minnesota.jpg'); }
.hero--service-auto .hero-image { background-image: linear-gradient(rgba(0, 0, 0, .3), rgba(0, 0, 0, .3)), url('images/services/auto-dealership-cleaning-minnesota.jpg'); }
.hero--service-industrial .hero-image { background-image: linear-gradient(rgba(0, 0, 0, .3), rgba(0, 0, 0, .3)), url('images/services/industrial-warehouse-cleaning-minnesota.jpg'); }
.hero--service-school .hero-image { background-image: linear-gradient(rgba(0, 0, 0, .3), rgba(0, 0, 0, .3)), url('images/services/school-daycare-cleaning-minnesota.jpg'); }
.hero--service-fitness .hero-image { background-image: linear-gradient(rgba(0, 0, 0, .3), rgba(0, 0, 0, .3)), url('images/services/fitness-center-gym-cleaning-minnesota.jpg'); }
.hero--service-church .hero-image { background-image: linear-gradient(rgba(0, 0, 0, .3), rgba(0, 0, 0, .3)), url('images/services/church-religious-facility-cleaning-minnesota.jpg'); }

/* Homepage only: replace the remaining stock section photography. */
.process-image { background-image: url('images/home/process-waiting-room-minnesota.jpg'); }
.why-photo { background-image: url('images/home/why-church-office-minnesota.jpg'); }

/* Homepage hero: the opening subtitle runs to two paragraphs, so give the
   column more width and restore spacing between them. */
.hero-copy .lede p {
  margin: 0 0 16px;
  font-size: 17px;
  line-height: 1.7;
  text-align: left;
}
.hero-copy .lede p:last-child { margin-bottom: 0; }
.hero-copy div.lede { max-width: 640px; }
