
/* Source: /workspace/sites/cleaning-lady-preview/app/globals.css */

:root{--ink:#07110b;--ink2:#0d1d14;--green-original:#9dff00;--green2-original:#c6ff4a;--green:#a6d94f;--green2:#b8e866;--green-rgb:166,217,79;--paper:#f5f2ea;--muted:#aab5ad;--line:rgba(var(--green-rgb),.28)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:#fff;font-family:Arial,var(--font-geist),sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.wrap{width:min(1180px,calc(100% - 44px));margin:auto}.siteHeader{height:88px;background:rgba(3,7,5,.96);border-bottom:1px solid var(--green);display:flex;align-items:center;gap:22px;padding:0 max(24px,calc((100vw - 1340px)/2));position:sticky;top:0;z-index:50}.brand{width:155px;height:72px;display:flex;align-items:center;overflow:hidden}.brand img{width:150px;filter:brightness(1.12);transform:scale(1.18)}.nav{display:flex;align-items:center;gap:21px;margin-left:auto}.nav a{font-size:13px;font-weight:700;white-space:nowrap;color:#f3f3f3;transition:.2s}.nav a:hover{color:var(--green)}.button{border:1px solid var(--green);background:linear-gradient(135deg,var(--green),var(--green2));color:#0a120d;border-radius:999px;padding:17px 25px;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-weight:800;box-shadow:0 0 24px rgba(157,255,0,.24);transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 0 35px rgba(157,255,0,.4)}.button.ghost{background:rgba(0,0,0,.22);color:var(--green);box-shadow:none}.button.compact{padding:12px 18px;gap:16px;font-size:13px}.desktopCta{margin-left:2px}.menuButton{display:none;background:none;border:0;width:44px}.menuButton span{height:2px;background:var(--green);display:block;margin:6px}.hero{min-height:790px;position:relative;background:url('/assets/hero-young-blue.webp') center/cover no-repeat;padding-top:112px}.heroShade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.77) 35%,rgba(0,0,0,.08) 70%)}.heroContent{position:relative;z-index:2}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:900;color:#4d6b55;margin:0 0 18px}.dark .eyebrow,.hero .eyebrow{color:var(--green)}.sparkle{text-transform:none;letter-spacing:0;font-size:16px}.hero h1{font-family:Georgia,serif;font-size:clamp(58px,6vw,94px);line-height:.96;letter-spacing:-.055em;margin:30px 0;max-width:820px}.hero h1 em{font-style:normal;color:var(--green)}.heroLead{max-width:620px;font-size:20px;line-height:1.55;color:#e2e6e3}.actions{display:flex;gap:24px;margin-top:36px}.trustBar{position:absolute;bottom:0;left:50%;transform:translateX(-50%);z-index:2;width:100%;max-width:none;padding:22px max(24px,calc((100vw - 1180px)/2));background:rgba(6,13,8,.9);border-top:1px solid rgba(255,255,255,.18);display:grid;grid-template-columns:repeat(3,1fr)}.trustBar article{display:flex;gap:20px;padding:8px 35px;border-right:1px solid rgba(255,255,255,.26)}.trustBar article:last-child{border:0}.trustBar b{font-size:34px;color:var(--green)}.trustBar strong,.trustBar span{display:block}.trustBar span{color:#c6cdc8;font-size:14px;margin-top:6px}.section{padding:108px 0}.light{background:var(--paper);color:#101512}.dark{background:radial-gradient(circle at 75% 30%,#173b24 0,transparent 28%),var(--ink2);color:#fff}.section h2{font-size:clamp(42px,5vw,72px);line-height:1;letter-spacing:-.055em;margin:0 0 24px}.intro{max-width:670px;color:#667168;line-height:1.65;font-size:17px}.serviceGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:52px}.serviceCard{background:#fff;border-radius:20px;padding:10px 18px 20px;box-shadow:0 14px 32px rgba(8,20,12,.08);display:flex;flex-direction:column;min-height:410px}.serviceVisual{height:130px;border-radius:14px;background:radial-gradient(circle at 20% 20%,#327342,transparent 28%),linear-gradient(135deg,#0d2918,#102117 65%,#26381c);display:grid;place-items:center;margin-bottom:18px}.serviceVisual span{width:58px;height:58px;border:1px solid rgba(157,255,0,.34);border-radius:16px;background:#0a1710;color:var(--green);display:grid;place-items:center;font-size:25px}.serviceCard small{text-transform:uppercase;letter-spacing:.14em;color:#6a756c}.serviceCard h3{font-size:20px;margin:14px 0 8px}.serviceCard p{color:#667168;line-height:1.55;font-size:14px;flex:1}.serviceCard>a{border-top:1px solid #e4e7e4;padding-top:15px;font-weight:800;font-size:14px}.serviceCard>a span{float:right}.sectionTop{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.sectionTop .intro{color:inherit;opacity:.66}.pills{display:flex;gap:10px;margin:30px 0 45px}.pills span{border:1px solid rgba(157,255,0,.5);border-radius:999px;padding:9px 14px;font-size:12px}.subhead{font-size:28px;margin-bottom:22px}.priceGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.priceGrid article{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.25);padding:22px;border-radius:18px;min-height:260px;display:flex;flex-direction:column}.priceIcon{color:var(--green)}.priceGrid h3{font-size:19px}.priceGrid p{font-size:14px;line-height:1.5;color:#d0d9d2;flex:1}.priceGrid strong{font-size:24px;color:var(--green2)}.movePanel{display:grid;grid-template-columns:1fr 1.5fr;gap:30px;background:rgba(255,255,255,.08);border-radius:22px;padding:30px;margin-top:28px}.movePanel small,.laserPricing small{text-transform:uppercase;color:var(--green);font-weight:900}.movePanel h3,.laserPricing h3{font-size:32px;margin:8px 0}.movePanel>div>strong{font-size:52px;color:var(--green2)}.moveRows p{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.18);padding:14px}.laserPricing{border:1px solid var(--green);border-radius:22px;padding:30px;margin-top:28px;background:rgba(0,0,0,.18);box-shadow:inset 0 0 65px rgba(157,255,0,.08)}.laserHead{display:flex;justify-content:space-between}.laserHead>span{color:var(--green);font-size:12px}.laserRows{display:grid;grid-template-columns:1fr 1fr;gap:10px}.laserRows p{border:1px solid rgba(255,255,255,.24);border-radius:13px;padding:16px;display:flex;justify-content:space-between}.laserRows strong{color:var(--green2);font-size:20px}.taxBox{background:var(--green);color:#10200e;border-radius:20px;padding:25px;margin-top:28px;display:grid;grid-template-columns:2.4fr repeat(4,1fr);align-items:center;gap:22px}.taxBox h3{margin:5px 0}.taxBox b,.taxBox span{display:block}.taxBox b{font-size:26px}.taxBox span{font-size:12px}.calculator{background:linear-gradient(135deg,#bafc65,#94e742);color:#11200e}.calcGrid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.calcCard{background:#fff;color:#1b211c;padding:30px;border-radius:22px;box-shadow:0 20px 60px rgba(7,18,9,.22)}.calcCard label{display:block;font-weight:800;margin-bottom:22px}.calcCard select,.calcCard input[type=range]{width:100%;margin:10px 0;padding:12px;border-radius:10px}.estimate{display:flex;justify-content:space-between;align-items:end;margin:25px 0}.estimate strong{color:#76d900;font-size:42px}.full{width:100%}.sootGrid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.sootPhoto{background:#3a2c28;border:1px solid #69554d;border-radius:20px;padding:18px}.sootPhoto div{height:310px;border-radius:13px;margin:13px 0;background:radial-gradient(circle,#7a4d40 0,transparent 28%),linear-gradient(135deg,#1c1715,#503830)}.soot h2{max-width:590px}.soot p,.soot li{color:#c8d0ca;line-height:1.65}.soot ul{margin:20px 0 28px}.weather{display:grid;grid-template-columns:1.2fr .8fr;gap:28px}.weatherSearch{display:flex;align-items:end;gap:10px}.weatherSearch label{font-weight:800;width:100%}.weatherSearch input{display:block;width:100%;padding:13px;border:1px solid #ddd;border-radius:8px;margin-top:9px}.weatherCard{grid-column:1/-1;background:#0d1511;color:#fff;border-radius:18px;padding:22px 30px;display:grid;grid-template-columns:auto 1fr 1fr;align-items:center;gap:22px}.sun{font-size:42px}.weatherCard small,.weatherCard strong,.weatherCard b,.weatherCard div span{display:block}.weatherCard strong{font-size:42px}.weatherCard>div:last-child{justify-self:end}.weatherCard>div:last-child span{color:#bbc5be;font-size:13px;margin-top:4px}.weatherNote{grid-column:1/-1;border-left:3px solid var(--green);padding:14px;background:#fff;border-radius:8px;color:#6b756e}.process{text-align:center;padding-top:40px}.stepGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:40px;text-align:left}.stepGrid article{background:#fff;padding:24px;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.05)}.stepGrid b{background:var(--green);border-radius:50%;width:28px;height:28px;display:grid;place-items:center}.stepGrid p{color:#667168;font-size:14px;line-height:1.5}.references{border-top:1px solid #e2ded5}.refGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}.refGrid article{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 15px 40px rgba(0,0,0,.07)}.refImage{height:210px}.ref1{background:linear-gradient(135deg,#9ee16a,#f2f9e9)}.ref2{background:linear-gradient(135deg,#b5d3cc,#edf6f3)}.ref3{background:linear-gradient(135deg,#78584f,#291c18)}.refGrid span{display:inline-block;margin:18px 20px 0;background:#f1f1ee;border-radius:999px;padding:6px 10px;font-size:11px}.refGrid h3,.refGrid p{margin-left:20px;margin-right:20px}.refGrid p{color:#667168;line-height:1.55;padding-bottom:18px}.videoSection{background:#eeeae1;color:#111}.videoGrid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.textLink{font-weight:800}.videoCard{height:290px;border-radius:20px;background:radial-gradient(circle,#1a3b24,#08110b);display:grid;place-items:center;position:relative}.videoCard button{border:1px solid var(--green);color:var(--green);background:#102017;border-radius:50%;width:66px;height:66px;font-size:22px}.videoCard span{position:absolute;left:18px;bottom:16px}.news .sectionTop>.intro{max-width:500px}.newsCard{margin-top:45px;max-width:760px;background:radial-gradient(circle at 80% 15%,#255835,transparent 25%),#0c1810;color:#fff;border-radius:24px;padding:38px}.newsCard>span{background:var(--green);color:#10200e;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800}.newsCard small{display:block;margin:25px 0 10px}.newsCard h3{font-size:45px;line-height:1;margin:0 0 20px}.newsCard p{line-height:1.55}.newsCard blockquote{margin:22px 0;padding:16px;background:rgba(255,255,255,.07);border-radius:12px}.contactGrid{display:grid;grid-template-columns:1fr 1.1fr;gap:90px}.contactGrid>div>p{line-height:1.6;color:#c1ccc4}.contactDetails{display:flex;flex-direction:column;gap:12px;margin-top:30px;font-size:22px;color:var(--green)}.contactForm{background:#f6f4ef;color:#19201b;border-radius:22px;padding:30px}.formRow{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contactForm label{display:block;font-size:13px;font-weight:800;margin-bottom:15px}.contactForm input:not([type=checkbox]),.contactForm select,.contactForm textarea{display:block;width:100%;border:1px solid #d4d9d5;border-radius:8px;background:#fff;padding:12px;margin-top:7px}.consent{font-weight:normal!important}footer{background:#070b08;padding:65px 0 25px;color:#d9e0db}.footerGrid{display:grid;grid-template-columns:1fr 1.3fr .7fr;gap:70px}.footerGrid img{width:150px}.footerGrid p{line-height:1.55}.footerGrid>div:last-child{display:flex;flex-direction:column;gap:12px}.footerTrust{margin-top:40px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.footerTrust span{border:1px solid rgba(157,255,0,.34);border-radius:13px;padding:20px;font-size:13px}.legal{border-top:1px solid #29312c;margin-top:35px;padding-top:20px;font-size:12px;display:flex;justify-content:space-between}.legal span{display:flex;gap:20px}
@media(max-width:1180px){.nav{position:fixed;inset:88px 0 auto;background:#07110b;padding:25px;display:none;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.menuButton{display:block}.desktopCta{margin-left:auto}.serviceGrid{grid-template-columns:repeat(3,1fr)}.siteHeader{padding:0 22px}}
@media(max-width:800px){.wrap{width:min(100% - 28px,1180px)}.siteHeader{height:75px}.brand{width:125px;height:62px}.brand img{width:122px}.desktopCta{display:none}.nav{inset:75px 0 auto}.hero{min-height:800px;padding-top:70px;background-position:62% center}.heroShade{background:linear-gradient(180deg,rgba(0,0,0,.8),rgba(0,0,0,.3) 55%,rgba(0,0,0,.9))}.hero h1{font-size:49px;max-width:100%}.heroLead{font-size:17px}.actions{flex-direction:column;align-items:stretch;max-width:340px}.trustBar{grid-template-columns:1fr;padding:14px}.trustBar article{padding:8px 4px;border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.trustBar b{font-size:24px}.section{padding:75px 0}.section h2{font-size:42px}.serviceGrid,.priceGrid,.stepGrid,.footerTrust{grid-template-columns:1fr}.serviceCard{min-height:350px}.sectionTop,.pills{align-items:flex-start;flex-direction:column}.movePanel,.laserRows,.taxBox,.calcGrid,.sootGrid,.weather,.videoGrid,.contactGrid,.footerGrid{grid-template-columns:1fr}.taxBox{gap:12px}.taxBox>div:not(:first-child){border-top:1px solid rgba(0,0,0,.16);padding-top:10px}.weatherCard{grid-template-columns:auto 1fr}.weatherCard>div:last-child{grid-column:1/-1;justify-self:start}.refGrid{grid-template-columns:1fr}.formRow{grid-template-columns:1fr}.newsCard{padding:25px}.newsCard h3{font-size:36px}.legal{flex-direction:column;gap:16px}.legal span{flex-wrap:wrap}.footerGrid{gap:35px}}
@media(max-width:600px){.refGrid{gap:13px;margin-top:30px}.refGrid article{border-radius:16px}.refGrid span{margin:14px 16px 0;padding:5px 9px;font-size:9px}.refGrid h3{margin:10px 16px 6px;font-size:18px;line-height:1.18}.refGrid p{margin:0 16px;padding-bottom:15px;font-size:12px;line-height:1.45}}
@media(min-width:801px){.refGrid{grid-template-columns:repeat(4,1fr)}}

/* Source: /workspace/sites/cleaning-lady-preview/app/premium.css */
.laserPricing {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin-top: 34px;
  padding: 42px;
  border: 1px solid rgba(157, 255, 0, 0.55);
  border-radius: 28px;
  background:
    repeating-linear-gradient(120deg, transparent 0 24px, rgba(255,255,255,.025) 25px 27px),
    radial-gradient(circle at 82% 12%, rgba(129,255,42,.21), transparent 25%),
    linear-gradient(135deg, #0b1a11, #07100b 62%, #0a170e);
  box-shadow: inset 0 0 90px rgba(93,255,41,.07), 0 18px 60px rgba(0,0,0,.3);
}

/* Complianzin automaattinen EU-evästekäytäntö nykyisen sivurakenteen sisällä. */
.cookiePolicyDocument{max-width:960px}.cookiePolicyDocument #cmplz-document{max-width:none;font-size:16px;line-height:1.7}.cookiePolicyDocument #cmplz-document h2{margin:42px 0 18px;font:700 clamp(30px,4vw,46px)/1.08 Georgia,serif;letter-spacing:-.035em;color:#101512}.cookiePolicyDocument #cmplz-document h3{margin:30px 0 12px;font-size:24px;line-height:1.25;color:#172019}.cookiePolicyDocument #cmplz-document h4,.cookiePolicyDocument #cmplz-document h5{color:#213128}.cookiePolicyDocument #cmplz-document p,.cookiePolicyDocument #cmplz-document li{color:#4f5e54;line-height:1.75}.cookiePolicyDocument #cmplz-document a{color:#467b28;text-decoration:underline;text-underline-offset:3px}.cookiePolicyDocument #cmplz-document .cmplz-service-header,.cookiePolicyDocument #cmplz-document .cmplz-category-header{border-color:#d8e1d5;background:#f4f7f1}.cookiePolicyDocument #cmplz-document button{font:inherit}.cookiePolicyDocument .cmplz-manage-consent{display:inline-flex!important;align-items:center;justify-content:center;min-height:46px;padding:12px 20px!important;border:1px solid #75a93f!important;border-radius:999px!important;background:var(--green)!important;color:#07110d!important;font-weight:800!important;cursor:pointer}
@media(max-width:700px){.cookiePolicyDocument #cmplz-document{font-size:15px}.cookiePolicyDocument #cmplz-document h2{font-size:32px}.cookiePolicyDocument #cmplz-document h3{font-size:21px}}

.laserSweep {
  position: absolute;
  z-index: -1;
  top: -55%;
  bottom: -55%;
  left: -45%;
  width: 28%;
  transform: skewX(-18deg);
  background: linear-gradient(90deg, transparent, rgba(178,255,95,.03), rgba(157,255,0,.32), rgba(205,255,153,.07), transparent);
  filter: blur(15px);
  mix-blend-mode: screen;
  animation: laserSweep 5.5s ease-in-out infinite;
  pointer-events: none;
}

.laserHead {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 32px;
}

.laserPricing .laserHead small {
  display: inline-block;
  padding: 9px 15px;
  border: 1px solid rgba(157,255,0,.45);
  border-radius: 999px;
  background: rgba(157,255,0,.06);
  color: var(--green2);
  letter-spacing: .16em;
}

.laserPricing .laserHead h3 {
  max-width: 850px;
  margin: 34px 0 18px;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.02;
  letter-spacing: -.045em;
}

.laserHead p { color: #c6cec8; }

.premiumBadge {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  flex: none;
}

.premiumBadge span {
  color: var(--green2);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .18em;
}

.premiumBadge b {
  padding: 14px 19px;
  border-radius: 999px;
  background: var(--green2);
  color: #17220f;
  box-shadow: 0 0 32px rgba(157,255,0,.45);
}

.laserPricing .laserRows {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 46px;
}

.laserPricing .laserRows p {
  position: relative;
  display: block;
  margin: 0;
  min-height: 170px;
  padding: 28px 28px 24px 32px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
}

.laserPricing .laserRows p::before {
  content: "";
  position: absolute;
  left: 0;
  top: 20px;
  bottom: 20px;
  width: 4px;
  border-radius: 4px;
  background: var(--green);
  box-shadow: 0 0 18px var(--green);
}

.laserPricing .laserRows p > span,
.laserPricing .laserRows b,
.laserPricing .laserRows small,
.laserPricing .laserRows strong { display: block; }
.laserPricing .laserRows b { font-size: 18px; }
.laserPricing .laserRows small {
  margin: 15px 0 10px;
  color: #aeb9b1;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 400;
  line-height: 1.45;
}
.laserPricing .laserRows strong {
  color: var(--green2);
  font-size: 29px;
}

@keyframes laserSweep {
  0%, 12% { left: -45%; opacity: 0; }
  22% { opacity: .95; }
  70% { opacity: .8; }
  88%, 100% { left: 125%; opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .laserSweep { animation: none; left: 58%; opacity: .35; }
}

@media (max-width: 800px) {
  .laserPricing { padding: 24px 18px; border-radius: 20px; }
  .laserHead { flex-direction: column-reverse; }
  .premiumBadge { align-items: flex-start; }
  .laserPricing .laserHead h3 { margin-top: 24px; }
  .laserPricing .laserRows { grid-template-columns: 1fr; margin-top: 30px; }
  .laserPricing .laserRows p { min-height: 150px; }
}

/* Source: /workspace/sites/cleaning-lady-preview/app/services.css */
.serviceVisual {
  position: relative;
  display: block;
  overflow: hidden;
  height: 155px;
  background: #0d1b12;
}

.serviceVisual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 48%, rgba(3,10,6,.68));
  pointer-events: none;
}

.serviceVisual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .45s ease, filter .45s ease;
}

.serviceVisual > span {
  position: absolute;
  z-index: 2;
  left: 14px;
  bottom: 12px;
  width: 43px;
  height: 43px;
  border-radius: 13px;
  backdrop-filter: blur(8px);
  background: rgba(4,15,8,.8);
  box-shadow: 0 0 18px rgba(157,255,0,.12);
}

.serviceCard:hover .serviceVisual img {
  transform: scale(1.045);
  filter: brightness(1.06);
}

@media (prefers-reduced-motion: reduce) {
  .serviceVisual img { transition: none; }
  .serviceCard:hover .serviceVisual img { transform: none; }
}

/* Source: /workspace/sites/cleaning-lady-preview/app/trust.css */
.sootPhoto {
  margin: 0;
  background: #241f1d;
  border-color: rgba(157,255,0,.24);
  box-shadow: 0 22px 55px rgba(0,0,0,.34);
}

.sootPhoto > span,
.sootPhoto figcaption {
  display: block;
  font-size: 13px;
  font-weight: 800;
}

.sootPhoto > span { color: var(--green2); }

.sootPhoto img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  margin: 13px 0;
  border-radius: 13px;
  object-fit: cover;
  object-position: center;
}

.partnerCheck {
  margin-top: 18px;
  padding: 20px 24px;
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  align-items: center;
  gap: 28px;
  border: 1px solid rgba(157,255,0,.35);
  border-radius: 17px;
  background: linear-gradient(135deg,rgba(157,255,0,.07),rgba(255,255,255,.025));
}

.partnerCheck strong { color: var(--green2); font-size: 19px; }
.partnerCheck p { margin: 8px 0 0; color: #bac5bd; line-height: 1.5; font-size: 14px; }
.partnerCheck > a {
  min-height: 82px;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-radius: 12px;
  background: #fff;
  color: #132116;
  font-size: 13px;
  font-weight: 900;
  transition: transform .2s ease, box-shadow .2s ease;
}
.partnerCheck > a:hover { transform: translateY(-2px); box-shadow: 0 0 28px rgba(157,255,0,.18); }
.partnerCheck img { display: block; width: min(190px,55%); height: auto; }

@media (max-width: 800px) {
  .partnerCheck { grid-template-columns: 1fr; padding: 18px; }
  .partnerCheck > a { flex-direction: column; align-items: flex-start; }
  .partnerCheck img { width: 190px; max-width: 100%; }
}

/* Source: /workspace/sites/cleaning-lady-preview/app/calculator.css */
.smartCalculator{position:relative;overflow:hidden;background:#aefd52;color:#0d1a10}.calculatorGlow{position:absolute;inset:-30% auto auto 55%;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.55),transparent 65%);filter:blur(20px);pointer-events:none}.calculatorIntro{position:relative;display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:70px;margin-bottom:48px}.calculatorIntro h2 em{font-style:normal;color:#2c5d1d}.calculatorIntro>p{max-width:500px;line-height:1.7;font-size:17px}.calculatorShell{position:relative;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,.75fr);gap:18px;padding:14px;border:1px solid rgba(9,32,14,.22);border-radius:30px;background:rgba(5,17,9,.16);box-shadow:0 28px 80px rgba(9,33,13,.24)}.calculatorBuilder{padding:30px;border-radius:22px;background:#f7f5ef}.calcStep{display:flex;gap:14px;align-items:center;margin:0 0 18px;color:#152019}.calcStep>span{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:#122018;color:var(--green);font-size:12px;font-weight:900}.calcStep b,.calcStep small{display:block}.calcStep small{margin-top:2px;color:#738078}.modeTabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:34px}.modeTabs button,.choiceGrid button,.crewChoice button{border:1px solid #d9ded9;border-radius:16px;background:#fff;color:#152019;text-align:left;cursor:pointer;transition:.2s}.modeTabs button{min-height:118px;padding:17px;display:flex;flex-direction:column;gap:7px}.modeTabs button>span{font-size:20px;color:#65a82b}.modeTabs small,.choiceGrid small{color:#758078}.modeTabs button.active,.choiceGrid button.selected,.crewChoice button.selected{border-color:#66c414;background:#efffdc;box-shadow:0 0 0 2px rgba(135,255,35,.15)}.calcPanel{padding-top:2px}.choiceGrid{display:grid;gap:9px;margin-bottom:25px}.hourlyChoices{grid-template-columns:repeat(5,1fr)}.choiceGrid button{min-height:152px;padding:15px;display:flex;flex-direction:column;gap:7px}.choiceGrid button>span{font-size:20px;color:#5da421}.choiceGrid button strong{margin-top:auto;color:#3d7e21;font-size:18px}.moveChoices{grid-template-columns:repeat(3,1fr)}.moveChoices button{min-height:126px}.rangeField{display:block;padding:20px;border:1px solid #dce2dc;border-radius:16px;background:#fff}.rangeField>span{display:flex;justify-content:space-between;align-items:center}.rangeField output{padding:7px 10px;border-radius:9px;background:#eaffd6;color:#315d21;font-weight:900}.rangeField input{width:100%;margin:20px 0 8px;accent-color:#6dd10d}.rangeField>small{display:flex;justify-content:space-between;color:#78817a}.rangeField i{font-style:normal}.compactField,.customerRow{margin-top:14px;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #dce2dc;border-radius:16px;background:#fff}.counter,.numberField>div{display:flex;align-items:center;gap:6px}.counter button,.numberField button{width:34px;height:34px;border:0;border-radius:9px;background:#e9fbd8;color:#2d6218;font-size:20px;cursor:pointer}.counter output{min-width:40px;text-align:center;font-weight:900}.optionToggle{padding:18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;border:1px solid #dce2dc;border-radius:16px;background:#fff;cursor:pointer}.optionToggle input{width:20px;height:20px;accent-color:#6dd10d}.optionToggle b,.optionToggle small{display:block}.optionToggle small{margin-top:3px;color:#738078}.optionToggle i{font-style:normal;color:#4a8c27;font-weight:900}.crewChoice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.crewChoice button{padding:18px}.crewChoice small,.crewChoice strong{display:block}.crewChoice strong{margin-top:8px;font-size:22px;color:#478321}.numberGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.numberField{padding:15px;border:1px solid #dce2dc;border-radius:14px;background:#fff}.numberField>span{display:block;margin-bottom:10px;font-size:13px;font-weight:800}.numberField>div{justify-content:space-between}.numberField output{font-weight:900}.customerRow>span b,.customerRow>span small{display:block}.customerRow>span small{margin-top:3px;color:#758078}.customerRow>div{display:flex;padding:4px;border-radius:12px;background:#edf0ed}.customerRow button{padding:9px 13px;border:0;border-radius:9px;background:transparent;cursor:pointer}.customerRow button.active{background:#122018;color:#fff}.calculatorSummary{position:sticky;top:104px;align-self:start;padding:28px;border-radius:22px;background:radial-gradient(circle at 85% 10%,#29553a,transparent 31%),#09150e;color:#fff;box-shadow:0 22px 45px rgba(4,15,8,.3)}.summaryTop{display:flex;justify-content:space-between;color:#aab8ae;text-transform:uppercase;letter-spacing:.14em;font-size:11px}.summaryTop i{font-style:normal;padding:5px 8px;border-radius:999px;background:var(--green);color:#10200d;font-weight:900;box-shadow:0 0 18px rgba(157,255,0,.35)}.calculatorSummary h3{margin:25px 0 4px;font-size:24px}.totalPrice{padding:12px 0 24px;border-bottom:1px solid rgba(255,255,255,.15)}.totalPrice strong,.totalPrice span{display:block}.totalPrice strong{font-size:clamp(39px,4vw,58px);line-height:1;color:var(--green2);letter-spacing:-.05em}.totalPrice span{margin-top:7px;color:#aebbb2;font-size:12px}.summaryRows{padding:12px 0}.summaryRows p{display:flex;justify-content:space-between;gap:15px;margin:0;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:13px}.summaryRows span{color:#9eaca2}.summaryRows b{text-align:right}.deduction{display:flex;gap:12px;padding:14px;margin:8px 0 18px;border:1px solid rgba(157,255,0,.28);border-radius:14px;background:rgba(157,255,0,.08)}.deduction>span{font-size:24px;color:var(--green)}.deduction b,.deduction strong,.deduction small{display:block}.deduction strong{margin:4px 0;color:var(--green2);font-size:19px}.deduction small{color:#a8b5ab;line-height:1.35}.copyButton{width:100%;margin-top:10px;padding:12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:transparent;color:#fff;cursor:pointer}.calcDisclaimer{margin:18px 0 0;color:#87958b;font-size:11px;line-height:1.45}
@media(max-width:1000px){.calculatorShell{grid-template-columns:1fr}.calculatorSummary{position:relative;top:auto}.hourlyChoices{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.calculatorIntro{grid-template-columns:1fr;gap:10px}.calculatorShell{padding:7px;border-radius:22px}.calculatorBuilder,.calculatorSummary{padding:20px}.modeTabs,.moveChoices,.hourlyChoices{grid-template-columns:1fr}.modeTabs button{min-height:auto}.choiceGrid button{min-height:120px}.numberGrid,.crewChoice{grid-template-columns:1fr}.customerRow{align-items:flex-start;flex-direction:column}.customerRow>div{width:100%}.customerRow button{flex:1}.totalPrice strong{font-size:42px}}

/* Source: /workspace/sites/cleaning-lady-preview/app/contract-note.css */
.contractPriceNote {
  margin-top: 14px;
  padding: 16px 18px;
  display: flex;
  gap: 14px;
  align-items: flex-start;
  border: 1px solid rgba(92, 164, 33, 0.28);
  border-radius: 16px;
  background: linear-gradient(135deg, #f0ffdf, #fff);
  color: #152019;
}

.contractPriceNote > span {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #142019;
  color: var(--green);
  box-shadow: 0 0 18px rgba(109, 209, 13, 0.2);
}

.contractPriceNote b,
.contractPriceNote p,
.summaryContractNote b,
.summaryContractNote span {
  display: block;
}

.contractPriceNote p {
  margin: 4px 0 0;
  color: #647168;
  font-size: 13px;
  line-height: 1.5;
}

.summaryContractNote {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(157, 255, 0, 0.22);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(157, 255, 0, 0.1), rgba(255, 255, 255, 0.025));
}

.summaryContractNote b {
  color: var(--green2);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.summaryContractNote span {
  margin-top: 5px;
  color: #aebbb2;
  font-size: 12px;
  line-height: 1.45;
}

/* Source: /workspace/sites/cleaning-lady-preview/app/contact-modern.css */
.contactModern{position:relative;overflow:hidden;background:radial-gradient(circle at 12% 35%,rgba(43,103,57,.28),transparent 28%),radial-gradient(circle at 88% 20%,rgba(157,255,0,.09),transparent 24%),#07130c}.contactModern:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(157,255,0,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(157,255,0,.025) 1px,transparent 1px);background-size:42px 42px;pointer-events:none}.contactIntro,.contactExperience{position:relative}.contactIntro{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end;margin-bottom:48px}.contactIntro h2{margin-bottom:0}.contactIntro h2 em{font-style:normal;color:var(--green)}.contactIntro>p{max-width:500px;margin:0 0 8px;color:#c4cec7;font-size:17px;line-height:1.7}.contactExperience{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.5fr);gap:22px;padding:14px;border:1px solid rgba(157,255,0,.2);border-radius:30px;background:rgba(0,0,0,.22);box-shadow:0 32px 90px rgba(0,0,0,.34)}.contactSidebar{padding:32px;border-radius:21px;background:linear-gradient(160deg,rgba(30,69,42,.85),rgba(8,22,13,.94));border:1px solid rgba(255,255,255,.08)}.availability{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border-radius:999px;background:rgba(157,255,0,.1);color:#d9f6be;font-size:12px}.availability i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}.contactSidebar h3{font-size:27px;line-height:1.1;margin:28px 0}.contactMethod{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.11)}.contactMethod>span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:rgba(157,255,0,.1);color:var(--green)}.contactMethod small,.contactMethod strong{display:block}.contactMethod small{margin-bottom:3px;color:#91a097}.contactMethod strong{font-size:15px}.contactFacts{display:grid;grid-template-columns:1.35fr .65fr;gap:15px;padding:22px 0}.contactFacts p{margin:0;color:#b6c2ba;font-size:13px;line-height:1.55}.contactFacts b{display:block;margin-bottom:5px;color:#fff}.responsePromise{display:flex;gap:12px;padding:16px;border-radius:15px;background:rgba(157,255,0,.08);border:1px solid rgba(157,255,0,.18)}.responsePromise>span{color:var(--green);font-weight:900}.responsePromise p{margin:0;color:#aebbb2;font-size:12px;line-height:1.5}.responsePromise b{display:block;margin-bottom:4px;color:#fff}.modernForm{padding:34px 36px;border-radius:21px;background:#f7f7f2}.formHeading,.formHeading>div,.formDivider{display:flex;align-items:center}.formHeading{justify-content:space-between;margin-bottom:24px}.formHeading>div,.formDivider{gap:12px}.formHeading div>span,.formDivider>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#142019;color:var(--green);font-size:12px;font-weight:900}.formHeading p,.formDivider p{margin:0}.formHeading b,.formHeading small,.formDivider b,.formDivider small{display:block}.formHeading small,.formDivider small{margin-top:2px;color:#7a857d;font-size:11px}.formHeading>i{font-style:normal;color:#58853f;font-size:11px}.customerType{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 22px;padding:0;border:0}.customerType legend{grid-column:1/-1;margin-bottom:7px;font-size:13px;font-weight:800}.customerType label{position:relative;display:flex;align-items:center;gap:9px;margin:0;padding:13px;border:1px solid #dbe1db;border-radius:13px;background:#fff;cursor:pointer}.customerType input{position:absolute;opacity:0}.customerType label:has(input:checked){border-color:#72ca25;background:#efffdf;box-shadow:0 0 0 2px rgba(114,202,37,.11)}.customerType span{color:#5c9e2d}.modernForm label{color:#263129}.modernForm input:not([type=checkbox]):not([type=radio]):not([type=file]),.modernForm select,.modernForm textarea{min-height:48px;border:1px solid #d8ded8;border-radius:11px;background:#fff;padding:13px 14px;outline:none;transition:border-color .2s,box-shadow .2s}.modernForm textarea{min-height:130px;resize:vertical}.modernForm input:focus,.modernForm select:focus,.modernForm textarea:focus{border-color:#72ca25;box-shadow:0 0 0 3px rgba(114,202,37,.13)}.formDivider{margin:13px 0 20px;padding-top:22px;border-top:1px solid #e1e5e1}.fileDrop{display:flex!important;align-items:center;gap:14px;margin:3px 0 17px!important;padding:15px;border:1px dashed #aeb9af;border-radius:13px;background:#fcfdfb;cursor:pointer}.fileDrop input{position:absolute;opacity:0;pointer-events:none}.fileDrop>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#eaffd9;color:#45851f;font-size:22px}.fileDrop b,.fileDrop small{display:block}.fileDrop small{margin-top:3px;color:#7e8981;font-weight:400}.modernConsent{display:flex!important;align-items:flex-start;gap:10px;font-size:12px!important;color:#667168!important}.modernConsent input{margin-top:2px;accent-color:#6fd213}.modernConsent a{text-decoration:underline}.submitOffer{border:0;min-height:56px;font-style:normal}.submitOffer i{font-style:normal;font-size:20px}.formReassurance{text-align:center;margin:13px 0 0;color:#728078;font-size:11px}
@media(max-width:900px){.contactIntro{grid-template-columns:1fr;gap:18px}.contactExperience{grid-template-columns:1fr}.contactSidebar{padding:25px}.modernForm{padding:27px}}
@media(max-width:620px){.contactExperience{padding:7px;border-radius:22px}.contactSidebar,.modernForm{padding:21px}.customerType,.modernForm .formRow{grid-template-columns:1fr}.formHeading>i{display:none}.contactFacts{grid-template-columns:1fr}.formReassurance{line-height:1.7}}

/* Complianz controls all cookie consent. */
.legal button,.legal .cmplz-manage-consent{border:0;padding:0;background:none;color:inherit;font:inherit;cursor:pointer;text-decoration:underline}@media(max-width:760px){.legal span{gap:12px}}

/* Keep privacy links clear of the floating media controls. */
.legal{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.legal>span:first-child{justify-self:start}
.legal>span:last-child{justify-self:center;justify-content:center;text-align:center}
@media(max-width:800px){.legal{display:flex;align-items:center;text-align:center}.legal>span:first-child{align-self:center;justify-content:center}.legal>span:last-child{align-self:flex-start;justify-content:flex-start!important;width:100%;text-align:left}}

/* Desktop footer: reserve clear space for fixed controls and center legal text. */
@media(min-width:801px){
  footer{padding-bottom:72px}
  footer .legal{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:14px!important;text-align:center!important}
  footer .legal>span{display:flex!important;justify-content:center!important;align-items:center!important;width:100%!important}
  .floatingActions{bottom:118px!important}
}

/* Source: /workspace/sites/cleaning-lady-preview/app/contact-submit.css */
.submitOffer:disabled {
  cursor: wait;
  opacity: 0.72;
}

.botField {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.formFeedback {
  margin-top: 14px;
  padding: 15px 17px;
  border-radius: 13px;
  display: grid;
  gap: 5px;
  font-size: 13px;
  line-height: 1.5;
}

.formFeedback.success {
  border: 1px solid #87ce46;
  background: #efffdf;
  color: #315c20;
}

.formFeedback.error {
  border: 1px solid #d6a29a;
  background: #fff0ed;
  color: #7a3028;
}

.formFeedback b,
.formFeedback span,
.formFeedback small {
  display: block;
}

.formFeedback small {
  margin-top: 4px;
}

.formFeedback a {
  text-decoration: underline;
  font-weight: 800;
}

/* Source: /workspace/sites/cleaning-lady-preview/app/references.css */
.refImage {
  position: relative;
  overflow: hidden;
  background: #102017;
}

.refImage::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(4, 14, 8, 0.24));
  pointer-events: none;
}

.refImage img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transition: transform 0.45s ease, filter 0.45s ease;
}

.refGrid article:hover .refImage img {
  transform: scale(1.035);
  filter: brightness(1.04);
}

@media (prefers-reduced-motion: reduce) {
  .refImage img { transition: none; }
  .refGrid article:hover .refImage img { transform: none; }
}

/* Source: /workspace/sites/cleaning-lady-preview/app/youtube-banner.css */
.videoCard{overflow:hidden;border:1px solid rgba(157,255,0,.2);transition:transform .25s,box-shadow .25s,border-color .25s}.videoCard:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 40%,rgba(157,255,0,.12))}.videoCard:hover{transform:translateY(-4px);border-color:var(--green);box-shadow:0 18px 45px rgba(14,46,24,.25),0 0 28px rgba(157,255,0,.18)}.videoPlay{position:relative;z-index:1;border:1px solid var(--green);color:var(--green);background:#102017;border-radius:50%;width:66px;height:66px;display:grid;place-items:center;font-size:22px;box-shadow:0 0 28px rgba(157,255,0,.18)}.videoCard span{z-index:1;font-weight:800}.videoCard:focus-visible{outline:3px solid var(--green);outline-offset:4px}.textLink:hover{color:#4d8e15;text-decoration:underline;text-underline-offset:5px}@media(prefers-reduced-motion:reduce){.videoCard{transition:none}}

/* Source: /workspace/sites/cleaning-lady-preview/app/soft-lime-theme.css */
/* Pehmeä limekokeilu. Alkuperäiset sävyt säilyvät muuttujissa --green-original ja --green2-original. */
.button{box-shadow:0 0 22px rgba(var(--green-rgb),.18)}.button:hover{box-shadow:0 0 30px rgba(var(--green-rgb),.3)}.serviceVisual span,.pills span,.footerTrust span{border-color:rgba(var(--green-rgb),.38)}.laserPricing{box-shadow:inset 0 0 65px rgba(var(--green-rgb),.07)}.calculator{background:linear-gradient(135deg,#c8e98f,#a6d94f)}.estimate strong{color:#78a82f}.whatsappFloat,.mediaToggle{border-color:rgba(var(--green-rgb),.5);box-shadow:0 14px 42px rgba(0,0,0,.35),0 0 22px rgba(var(--green-rgb),.1)}.whatsappIcon,.mediaToggle span{background:var(--green)}.whatsappFloat:hover{border-color:var(--green2);box-shadow:0 16px 45px rgba(0,0,0,.4),0 0 26px rgba(var(--green-rgb),.2)}.mediaPanel,.whatsappChat{border-color:rgba(var(--green-rgb),.34);box-shadow:0 24px 70px rgba(0,0,0,.52),0 0 30px rgba(var(--green-rgb),.1)}.chatHead{background:linear-gradient(135deg,#087a48,#168b55 62%,var(--green))}.chatComposer button{background:linear-gradient(135deg,#168b55,var(--green));box-shadow:0 7px 20px rgba(var(--green-rgb),.2)}.videoCard{border-color:rgba(var(--green-rgb),.25)}.videoCard:before{background:linear-gradient(135deg,transparent 40%,rgba(var(--green-rgb),.1))}.videoCard:hover{box-shadow:0 18px 45px rgba(14,46,24,.25),0 0 24px rgba(var(--green-rgb),.15)}

/* Source: /workspace/sites/cleaning-lady-preview/app/site-structure.css */
.structuredHeader{overflow:visible}.structuredNav{gap:16px}.structuredNav>a,.navGroup>summary{font-size:12px;font-weight:750;white-space:nowrap;color:#f3f3f3}.navGroup{position:relative}.navGroup>summary{list-style:none;display:flex;align-items:center;gap:6px;cursor:pointer;padding:34px 0}.navGroup>summary::-webkit-details-marker{display:none}.navGroup>summary span{color:var(--green);font-size:13px;transition:transform .2s}.navGroup[open]>summary{color:var(--green)}.navGroup[open]>summary span{transform:rotate(180deg)}.navDropdown{position:absolute;top:76px;left:50%;transform:translateX(-50%);width:275px;padding:10px;border:1px solid rgba(var(--green-rgb),.28);border-radius:18px;background:rgba(5,13,8,.985);box-shadow:0 22px 55px rgba(0,0,0,.45);display:grid;z-index:70}.navDropdown a{padding:12px 13px;border-radius:10px;color:#e7ede8;font-size:13px;font-weight:650}.navDropdown a:hover{background:rgba(var(--green-rgb),.1);color:var(--green)}.navDropdown .navOverview{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1);border-radius:10px 10px 3px 3px;color:var(--green);font-weight:800}.servicePage{background:var(--paper);color:#111}.serviceHero{position:relative;overflow:hidden;background:radial-gradient(circle at 82% 18%,rgba(var(--green-rgb),.18),transparent 28%),linear-gradient(135deg,#07110b,#10251a);color:#fff;padding:80px 0 92px}.serviceHero:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 45%,rgba(255,255,255,.035) 45.2%,transparent 45.5%);background-size:35px 35px;pointer-events:none}.serviceHero .wrap{position:relative}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:9px;color:#aebbb2;font-size:12px;margin-bottom:50px}.breadcrumbs a:hover{color:var(--green)}.breadcrumbs span:last-child{color:#fff}.serviceHero h1{font-size:clamp(54px,7vw,94px);line-height:.95;letter-spacing:-.06em;margin:0 0 27px;max-width:900px}.serviceHero p:not(.eyebrow){max-width:690px;font-size:19px;line-height:1.65;color:#d1dad3}.serviceHeroGrid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px}.detailHero{padding:58px 0 78px}.detailHero .breadcrumbs{grid-column:1/-1;margin-bottom:15px}.detailHero figure{margin:0;height:485px;border:1px solid rgba(var(--green-rgb),.35);border-radius:26px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.42)}.detailHero figure img{width:100%;height:100%;object-fit:cover}.serviceBenefits{background:#0c1710;color:#fff;border-top:1px solid rgba(var(--green-rgb),.25);border-bottom:1px solid rgba(var(--green-rgb),.18)}.serviceBenefits .wrap{display:grid;grid-template-columns:repeat(3,1fr)}.serviceBenefits p{display:flex;align-items:center;gap:15px;margin:0;padding:24px 30px;border-right:1px solid rgba(255,255,255,.12)}.serviceBenefits p:last-child{border:0}.serviceBenefits b{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#10190f}.serviceBenefits span{font-weight:700}.serviceLandingGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:46px}.serviceLandingGrid article{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 16px 44px rgba(10,28,15,.1)}.landingImage{display:block;height:235px;overflow:hidden}.landingImage img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.serviceLandingGrid article:hover .landingImage img{transform:scale(1.035)}.serviceLandingGrid article>div{padding:24px}.serviceLandingGrid article span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#65806d;font-weight:800}.serviceLandingGrid h3{font-size:26px;margin:10px 0}.serviceLandingGrid p{color:#617066;line-height:1.55;min-height:75px}.textArrow{font-weight:800;color:#41631f}.contentColumns{display:grid;grid-template-columns:1.2fr .8fr;gap:90px}.contentColumns h2,.serviceFaq h2,.relatedServices h2,.groupTrust h2,.serviceCta h2{font-size:clamp(40px,5vw,65px);line-height:1;letter-spacing:-.05em;margin:0 0 30px}.checkList{list-style:none;padding:0;margin:35px 0}.checkList li{position:relative;padding:18px 18px 18px 54px;border-bottom:1px solid #dfe5df;font-size:17px}.checkList li:before{content:"✓";position:absolute;left:8px;top:14px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#10200e;font-weight:900}.contentColumns aside{background:#eef2ec;border:1px solid #dce4dc;border-radius:24px;padding:30px}.contentColumns aside>ul{padding-left:20px;line-height:2;color:#526057}.priceNote{margin-top:28px;padding:22px;border-radius:16px;background:#0d1811;color:#fff}.priceNote small{color:var(--green);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.priceNote p{line-height:1.55}.priceNote a{color:var(--green);font-weight:800}.miniSteps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:45px}.miniSteps article{padding:24px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(255,255,255,.055)}.miniSteps article>b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--green);color:#0c160d}.miniSteps h3{font-size:19px;margin:25px 0 10px}.miniSteps p{color:#b9c5bd;line-height:1.55;font-size:14px}.faqGrid{display:grid;grid-template-columns:.75fr 1.25fr;gap:85px;align-items:start}.faqGrid>div:first-child>p:last-child{color:#667168}.serviceFaq details{border-bottom:1px solid #d6ded7}.serviceFaq summary{list-style:none;padding:22px 0;display:flex;justify-content:space-between;gap:20px;font-size:18px;font-weight:800;cursor:pointer}.serviceFaq summary::-webkit-details-marker{display:none}.serviceFaq summary span{color:#659e2e}.serviceFaq details p{margin:0;padding:0 35px 22px 0;color:#5c6a61;line-height:1.65}.relatedServices{padding-top:0}.relatedServices .wrap>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.relatedServices .wrap>div>a{display:flex;justify-content:space-between;align-items:center;padding:22px;border:1px solid #dbe3dc;border-radius:15px;background:#fff;font-weight:800}.relatedServices a b{color:var(--green2);font-size:22px}.serviceCta{padding:70px 0;background:linear-gradient(135deg,#0c1810,#143323);color:#fff}.serviceCta .wrap{display:flex;align-items:center;justify-content:space-between;gap:50px}.serviceCta h2{margin-bottom:15px}.serviceCta p:not(.eyebrow){max-width:680px;color:#c1cdc4;line-height:1.6}.groupTrust .wrap>p:not(.eyebrow){max-width:700px;color:#c2cdc5;line-height:1.65;font-size:17px}.groupTrust .button{margin-top:20px}.serviceFooterGrid{grid-template-columns:1.1fr repeat(4,1fr);gap:35px}.serviceFooterGrid>div{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.serviceFooterGrid img{width:155px}.serviceFooterGrid p{font-size:13px;line-height:1.6;color:#aeb9b1}.serviceFooterGrid a{font-size:12px;color:#d1dad3}.serviceFooterGrid a:hover{color:var(--green)}.serviceFooterGrid .footerGroupTitle{font-size:13px;font-weight:850;color:var(--green);margin-bottom:7px}.serviceFooterBottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #29312c;margin-top:40px;padding-top:20px;font-size:12px}.serviceFooterBottom span:last-child{display:flex;gap:20px}
@media(max-width:1180px){.structuredNav{gap:3px}.navGroup{width:100%}.navGroup>summary{width:100%;justify-content:space-between;padding:11px 0;font-size:14px}.navDropdown{position:static;transform:none;width:100%;padding:4px 0 6px 14px;border:0;border-left:1px solid rgba(var(--green-rgb),.3);border-radius:0;background:transparent;box-shadow:none}.navDropdown a{padding:9px 11px}.structuredNav>a{font-size:14px;padding:7px 0}.structuredNav.open{max-height:calc(100dvh - 88px);overflow-y:auto}.serviceFooterGrid{grid-template-columns:1fr 1fr 1fr}.serviceFooterGrid>div:first-child{grid-row:span 2}}
@media(max-width:800px){.serviceHero{padding:52px 0 70px}.serviceHeroGrid,.contentColumns,.faqGrid{grid-template-columns:1fr;gap:42px}.detailHero figure{height:350px}.serviceBenefits .wrap{grid-template-columns:1fr}.serviceBenefits p{border-right:0;border-bottom:1px solid rgba(255,255,255,.12);padding:17px 4px}.serviceLandingGrid,.miniSteps,.relatedServices .wrap>div{grid-template-columns:1fr}.landingImage{height:250px}.serviceLandingGrid p{min-height:0}.serviceCta .wrap{align-items:flex-start;flex-direction:column}.serviceFooterGrid{grid-template-columns:1fr 1fr}.serviceFooterGrid>div:first-child{grid-column:1/-1;grid-row:auto}.serviceFooterBottom{flex-direction:column}.breadcrumbs{margin-bottom:35px}.serviceHero h1{font-size:52px}.serviceHero p:not(.eyebrow){font-size:17px}}
@media(max-width:520px){.serviceFooterGrid{grid-template-columns:1fr}.serviceFooterGrid>div:first-child{grid-column:auto}.serviceHero .actions{max-width:none}.detailHero figure{height:285px}}

.weatherWidget{background:linear-gradient(135deg,#edf3e9,#f8faf6)}.weatherWidgetGrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}.weatherWidget h2,.embeddedContact h2{font-size:clamp(40px,5vw,64px);line-height:1;letter-spacing:-.05em;margin:0 0 24px}.weatherWidgetGrid>div:first-child>p:last-child{color:#5c6b61;line-height:1.65}.weatherPanel{padding:26px;border:1px solid #d8e1d8;border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(15,48,23,.1)}.weatherPanel form{display:flex;align-items:flex-end;gap:12px}.weatherPanel label{flex:1;font-size:12px;font-weight:800;color:#435448}.weatherPanel input{display:block;width:100%;margin-top:8px;border:1px solid #ccd8cf;border-radius:12px;padding:13px 14px;font:inherit}.weatherResult{display:grid;grid-template-columns:auto 1fr auto;gap:17px;align-items:center;margin-top:18px;padding:19px;border-radius:18px;background:#0c1710;color:#fff}.weatherIcon{font-size:38px}.weatherResult small,.weatherResult span{display:block;color:#b9c6bc;font-size:12px}.weatherResult strong{display:block;font-size:33px;color:var(--green)}.weatherResult>div:last-child{text-align:right}.weatherError{color:#a52727;font-weight:700}.weatherSource{display:block;margin-top:12px;color:#79867d}
.embeddedContact{padding:90px 0;background:radial-gradient(circle at 8% 10%,rgba(var(--green-rgb),.15),transparent 32%),#0a160e;color:#fff}.embeddedContactGrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:start}.contactIntro>p:not(.eyebrow){color:#c0cbc3;line-height:1.7;font-size:17px}.contactPromises{display:grid;gap:12px;margin-top:30px;color:#dce5de;font-weight:700}.embeddedForm{padding:30px;border:1px solid rgba(var(--green-rgb),.26);border-radius:24px;background:#f7f9f5;color:#142017;box-shadow:0 25px 65px rgba(0,0,0,.25)}.formRow{display:grid;grid-template-columns:1fr 1fr;gap:14px}.embeddedForm label{display:block;margin-bottom:15px;font-size:12px;font-weight:800;color:#46564b}.embeddedForm input:not([type="checkbox"]),.embeddedForm textarea{display:block;width:100%;margin-top:8px;border:1px solid #d4ddd5;border-radius:12px;background:#fff;padding:13px 14px;font:inherit;color:#111;outline:none}.embeddedForm input:focus,.embeddedForm textarea:focus{border-color:var(--green2);box-shadow:0 0 0 3px rgba(var(--green-rgb),.16)}.privacyCheck{display:flex!important;align-items:flex-start;gap:9px;font-weight:600!important}.privacyCheck input{margin-top:2px}.embeddedForm .button{width:100%;justify-content:center;border:0}.embeddedForm .button:disabled{opacity:.65}.formStatus{min-height:20px;margin:12px 0 0;font-size:13px;font-weight:700}.formStatus.success{color:#34741f}.formStatus.error{color:#a52727}
.embeddedForm .serviceFileDrop{display:flex;align-items:center;gap:14px;margin:2px 0 18px;padding:15px;border:1px dashed #aab8ac;border-radius:13px;background:#fff;cursor:pointer;transition:border-color .2s,background .2s}.embeddedForm .serviceFileDrop:hover{border-color:var(--green2);background:#f4faee}.embeddedForm .serviceFileDrop input{position:absolute;width:1px;height:1px;margin:0;padding:0;opacity:0;pointer-events:none}.serviceFileDrop>span{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:12px;background:rgba(var(--green-rgb),.14);color:#4f8d2b;font-size:23px}.serviceFileDrop b,.serviceFileDrop small{display:block}.serviceFileDrop b{overflow-wrap:anywhere;color:#26342a}.serviceFileDrop small{margin-top:3px;color:#77837a;font-weight:500}
@media(max-width:800px){.weatherWidgetGrid,.embeddedContactGrid{grid-template-columns:1fr;gap:42px}.embeddedContact{padding:70px 0}}

/* Editable weather lookup: keyboard, touch and mobile safe. */
.weatherPanel form{display:block}.weatherSearchRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.weatherPanel input[type="search"]{min-width:0;min-height:48px;background:#fff;color:#102116;opacity:1;pointer-events:auto;touch-action:manipulation;-webkit-appearance:none;appearance:none}.weatherPanel button{min-height:48px;white-space:nowrap}.weatherResult{grid-template-columns:auto 1fr}.weatherResult .sun{font-size:34px;line-height:1}.weatherResult strong{font-size:clamp(20px,3vw,30px)}.weatherPanel .textArrow{display:inline-flex;margin-top:16px}.weatherNote{margin:16px 0 0;color:#607064;font-size:13px;line-height:1.55}
@media(max-width:560px){.weatherSearchRow{grid-template-columns:1fr}.weatherPanel button{width:100%}.weatherPanel{padding:20px}.weatherWidget h2{font-size:clamp(34px,11vw,48px)}}
.weatherStatus{margin-top:18px;padding:18px;border-radius:16px;background:#eef4eb;color:#34513a;font-weight:750}.weatherCurrent{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;margin-top:18px;padding:20px;border-radius:18px;background:linear-gradient(135deg,#0b1710,#173b24);color:#fff}.weatherCurrentIcon{font-size:42px}.weatherCurrent small,.weatherCurrent span{display:block;color:#c5d2c7}.weatherCurrent strong{display:block;margin:2px 0;font-size:34px;color:var(--green)}.weatherForecast{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:12px}.weatherForecast article{min-width:0;padding:14px 10px;border:1px solid #dce6dc;border-radius:15px;background:#f7faf5;text-align:center}.weatherForecast article>b,.weatherForecast article>small,.weatherForecast article>em{display:block}.weatherForecast article>b{text-transform:capitalize;font-size:12px}.weatherForecast article>span{display:block;margin:7px 0;font-size:25px}.weatherForecast article>strong{font-size:17px;white-space:nowrap}.weatherForecast article>small{min-height:32px;margin-top:5px;color:#526057;font-size:11px;line-height:1.35}.weatherForecast article>em{margin-top:7px;color:#6d786f;font-size:9px;font-style:normal;line-height:1.35}.weatherSource{margin:13px 0 0;color:#78847b;font-size:11px}.weatherSource a{color:#31583a;text-decoration:underline}.weatherPanel button:disabled{cursor:wait;opacity:.7}
@media(max-width:720px){.weatherWidget,.weatherWidget .wrap,.weatherWidgetGrid,.weatherWidgetGrid>*{min-width:0;max-width:100%}.weatherPanel{width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.weatherForecast{width:100%;max-width:100%;grid-template-columns:repeat(5,minmax(108px,1fr));overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding-bottom:8px;-webkit-overflow-scrolling:touch}.weatherForecast article{min-width:108px;scroll-snap-align:start}.weatherCurrent{min-width:0;max-width:100%;box-sizing:border-box}.weatherCurrent>div{min-width:0}.weatherCurrent strong,.weatherCurrent span,.weatherCurrent small{overflow-wrap:anywhere}.weatherCurrent strong{font-size:30px}}

/* WordPress-managed material library */
.cl-material-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}.cl-material-filters button{appearance:none;border:1px solid rgba(var(--green-rgb),.28);border-radius:999px;padding:10px 17px;background:#fff;color:#213327;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.cl-material-filters button:hover,.cl-material-filters button.active{border-color:var(--green);background:var(--green);color:#102015}.cl-material-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.cl-material-card{overflow:hidden;border:1px solid rgba(var(--green-rgb),.18);border-radius:22px;background:#fff;box-shadow:0 14px 38px rgba(12,34,18,.08)}.cl-material-card>img,.cl-material-placeholder{width:100%;height:190px;object-fit:cover}.cl-material-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#112318,#31553a);color:var(--green);font-size:42px;font-weight:900;letter-spacing:.08em}.cl-material-card>div:last-child{padding:22px}.cl-material-type{display:block;color:#55705d;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.cl-material-card h3{margin:8px 0 10px;font-size:24px}.cl-material-card p{min-height:66px;color:#59675e;line-height:1.55}.cl-material-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.cl-material-empty{display:grid;gap:6px;padding:28px;border:1px dashed rgba(var(--green-rgb),.38);border-radius:20px;background:#f8faf6;color:#405246}.cl-material-empty strong{font-size:20px}.cl-material-empty span{color:#6c786f}.cl-material-card[hidden]{display:none}.materialHelp{margin-top:50px}
@media(max-width:900px){.cl-material-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.cl-material-grid{grid-template-columns:1fr}.cl-material-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.cl-material-filters button{flex:0 0 auto}.cl-material-card p{min-height:0}.cl-material-actions{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.formRow{grid-template-columns:1fr}.embeddedForm,.weatherPanel{padding:20px}.weatherPanel form{align-items:stretch;flex-direction:column}.weatherResult{grid-template-columns:auto 1fr}.weatherResult>div:last-child{grid-column:1/-1;text-align:left;padding-top:10px;border-top:1px solid rgba(255,255,255,.12)}}

/* Palvelusivujen yhteinen Cleaning Lady -värimaailma */
.servicePage{background:var(--paper);color:#101512}.servicePage .light{background:radial-gradient(circle at 88% 10%,rgba(var(--green-rgb),.08),transparent 30%),var(--paper)}.serviceHero{background:radial-gradient(circle at 82% 18%,rgba(var(--green-rgb),.2),transparent 30%),linear-gradient(135deg,var(--ink),var(--ink2));border-bottom:1px solid rgba(var(--green-rgb),.25)}.serviceLandingGrid article,.relatedServices .wrap>div>a{background:#fbfaf5;border:1px solid rgba(var(--green-rgb),.13);box-shadow:0 16px 44px rgba(8,20,12,.09)}.serviceLandingGrid article:hover,.relatedServices .wrap>div>a:hover{border-color:rgba(var(--green-rgb),.42);box-shadow:0 20px 55px rgba(31,67,26,.14)}.contentColumns aside{background:#edf1e8;border-color:rgba(var(--green-rgb),.24)}.serviceFaq details{border-color:rgba(52,79,58,.2)}.serviceProcess,.groupTrust{background:radial-gradient(circle at 78% 28%,#173b24 0,transparent 30%),var(--ink2)}.weatherWidget{background:radial-gradient(circle at 88% 12%,rgba(var(--green-rgb),.13),transparent 31%),var(--paper)}.embeddedForm{background:#f7f4ed;border-color:rgba(var(--green-rgb),.35)}

/* Kaikkien alasivujen HERO vastaa etusivun tummaa, lämmintä ilmettä */
.servicePage .serviceHero{background:radial-gradient(circle at 84% 24%,rgba(var(--green-rgb),.17),transparent 27%),radial-gradient(circle at 68% 88%,rgba(102,75,50,.18),transparent 35%),linear-gradient(90deg,#020403 0%,#060b08 43%,#0e1d14 100%);border-bottom:1px solid var(--green);box-shadow:inset 0 -35px 80px rgba(0,0,0,.2)}.servicePage .serviceHero:before{background:linear-gradient(90deg,rgba(0,0,0,.42),rgba(0,0,0,.08) 54%,transparent),linear-gradient(115deg,transparent 45%,rgba(255,255,255,.03) 45.2%,transparent 45.5%);background-size:auto,35px 35px}.servicePage .serviceHero h1{font-family:Georgia,serif;font-weight:700;color:#fff;text-shadow:0 3px 28px rgba(0,0,0,.48)}.servicePage .serviceHero .eyebrow{color:var(--green)}.servicePage .serviceHero p:not(.eyebrow){color:#e2e6e3}.servicePage .serviceHero .button.ghost{background:rgba(0,0,0,.3);border-color:rgba(var(--green-rgb),.7);color:var(--green)}.servicePage .detailHero figure{position:relative;border-color:rgba(var(--green-rgb),.42);background:#07110b}.servicePage .detailHero figure:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(4,8,5,.28),transparent 40%),linear-gradient(180deg,transparent 62%,rgba(5,12,7,.22));mix-blend-mode:multiply}.servicePage .detailHero figure img{filter:saturate(.9) contrast(1.04) brightness(.91) sepia(.04)}.servicePage .breadcrumbs{color:#b9c3bc}.servicePage .breadcrumbs span:last-child{color:#fff}

/* Noki- ja laserpuhdistus: hinnaston laserosion kaltainen liikkuva valo */
.nokiLaserPage .serviceHero,.nokiLaserPage .groupTrust,.nokiLaserPage .weatherWidget{position:relative;isolation:isolate;overflow:hidden}.nokiLaserPage .serviceHero>* ,.nokiLaserPage .groupTrust>* ,.nokiLaserPage .weatherWidget>*{position:relative;z-index:2}.nokiLaserPage .serviceHero:after,.nokiLaserPage .groupTrust:before,.nokiLaserPage .weatherWidget:before{content:"";position:absolute;z-index:1;top:-45%;bottom:-45%;left:-32%;width:28%;pointer-events:none;transform:rotate(14deg);background:linear-gradient(90deg,transparent,rgba(var(--green-rgb),.03) 18%,rgba(var(--green-rgb),.3) 48%,rgba(231,255,192,.38) 52%,rgba(var(--green-rgb),.12) 70%,transparent);filter:blur(12px);mix-blend-mode:screen;animation:cleaningLaserSweep 6.4s cubic-bezier(.42,0,.58,1) infinite}.nokiLaserPage .groupTrust:before{animation-delay:-2.1s}.nokiLaserPage .weatherWidget:before{animation-delay:-4.2s;opacity:.55;mix-blend-mode:multiply}.nokiLaserPage .detailHero figure{box-shadow:0 30px 80px rgba(0,0,0,.42),0 0 45px rgba(var(--green-rgb),.13)}
@keyframes cleaningLaserSweep{0%,12%{left:-32%;opacity:0}22%{opacity:.95}62%{opacity:.78}78%,100%{left:118%;opacity:0}}
@media(prefers-reduced-motion:reduce){.nokiLaserPage .serviceHero:after,.nokiLaserPage .groupTrust:before,.nokiLaserPage .weatherWidget:before{animation:none;left:66%;opacity:.24}}
@media(max-width:800px){.nokiLaserPage .serviceHero:after,.nokiLaserPage .groupTrust:before,.nokiLaserPage .weatherWidget:before{width:42%;animation-duration:7.2s;filter:blur(16px)}}

/* WordPressin Galleria-lohkosta päivittyvä palo- ja nokivauriogalleria */
.damageGallery{position:relative;background:radial-gradient(circle at 85% 10%,rgba(var(--green-rgb),.11),transparent 32%),var(--paper)}.damageGalleryHead{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end;margin-bottom:42px}.damageGallery h2{font-size:clamp(40px,5vw,66px);line-height:1;letter-spacing:-.05em;margin:0}.damageGalleryHead>p{max-width:560px;margin:0;color:#5d6b61;line-height:1.7}.damageGalleryGrid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:190px;gap:14px}.damageGalleryGrid button{position:relative;grid-column:span 4;grid-row:span 2;padding:0;border:0;border-radius:22px;overflow:hidden;background:#0a130d;color:#fff;text-align:left;cursor:pointer;box-shadow:0 16px 42px rgba(7,22,12,.13)}.damageGalleryGrid button:first-child{grid-column:span 8}.damageGalleryGrid img{width:100%;height:100%;object-fit:cover;transition:transform .45s,filter .45s;filter:saturate(.82) contrast(1.04)}.damageGalleryGrid button:hover img,.damageGalleryGrid button:focus-visible img{transform:scale(1.035);filter:saturate(.95) contrast(1.06)}.damageGalleryGrid button>span{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;align-items:end;gap:15px;padding:42px 20px 18px;background:linear-gradient(transparent,rgba(2,7,4,.88))}.damageGalleryGrid b{font-size:14px}.damageGalleryGrid i{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:var(--green);color:#10200e;font-style:normal;font-size:18px}.galleryLightbox{position:fixed;z-index:300;inset:0;display:grid;place-items:center;padding:60px 90px;background:rgba(1,5,3,.94);backdrop-filter:blur(10px)}.galleryLightbox figure{max-width:min(1100px,90vw);margin:0}.galleryLightbox figure img{display:block;max-width:100%;max-height:76vh;margin:auto;border:1px solid rgba(var(--green-rgb),.35);border-radius:18px;object-fit:contain;box-shadow:0 30px 90px #000}.galleryLightbox figcaption{display:flex;justify-content:space-between;gap:30px;padding:17px 4px;color:#f0f5f1;font-weight:700}.galleryLightbox figcaption small{color:var(--green)}.galleryClose,.galleryPrevious,.galleryNext{position:absolute;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:#122019;color:#fff;cursor:pointer}.galleryClose{top:24px;right:28px;width:48px;height:48px;font-size:30px}.galleryPrevious,.galleryNext{top:50%;width:54px;height:54px;font-size:42px;transform:translateY(-50%)}.galleryPrevious{left:24px}.galleryNext{right:24px}.galleryClose:hover,.galleryPrevious:hover,.galleryNext:hover{border-color:var(--green);color:var(--green)}
@media(max-width:800px){.damageGalleryHead{grid-template-columns:1fr;gap:22px}.damageGalleryGrid{grid-template-columns:1fr;grid-auto-rows:260px}.damageGalleryGrid button,.damageGalleryGrid button:first-child{grid-column:auto;grid-row:auto}.galleryLightbox{padding:70px 18px}.galleryPrevious,.galleryNext{top:auto;bottom:18px}.galleryPrevious{left:calc(50% - 68px)}.galleryNext{right:calc(50% - 68px)}.galleryLightbox figure img{max-height:68vh}}

/* Nokipuhdistuksen pitkä asiantuntijasisältö */
.sootEditorial{padding-top:110px;background:radial-gradient(circle at 88% 8%,rgba(var(--green-rgb),.1),transparent 28%),#f5f3ed!important}.sootEditorialIntro{display:grid;grid-template-columns:.8fr 1.2fr;column-gap:80px}.sootEditorialIntro>.eyebrow{grid-column:1/-1}.sootEditorial h2{font-size:clamp(44px,6vw,78px);line-height:.98;letter-spacing:-.055em;margin:12px 0}.sootEditorialLead{border-left:1px solid rgba(44,78,49,.22);padding-left:36px;color:#536058;font-size:17px;line-height:1.75}.sootEditorialLead p:first-child{margin-top:0}.sootMethod{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;margin:85px 0 100px;padding:42px;border-radius:28px;background:radial-gradient(circle at 88% 12%,rgba(var(--green-rgb),.17),transparent 32%),#0a160e;color:#fff;box-shadow:0 26px 70px rgba(7,22,12,.2)}.sootMethod h3,.sootBenefitSection h3,.sootExpertise h3,.sootClosing h3{font-size:clamp(34px,4vw,56px);line-height:1.02;letter-spacing:-.045em;margin:8px 0 24px}.sootMethod>div:last-child{color:#c8d2ca;line-height:1.72}.sootMethod strong{display:block;margin-top:24px;padding:18px 20px;border-left:3px solid var(--green);border-radius:0 12px 12px 0;background:rgba(var(--green-rgb),.08);color:#fff;font-size:18px}.sootBenefitSection>h3{max-width:780px}.sootBenefitGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:42px}.sootBenefitGrid article{grid-column:span 2;padding:28px;border:1px solid rgba(43,75,47,.15);border-radius:20px;background:#fff;box-shadow:0 14px 35px rgba(18,42,22,.07)}.sootBenefitGrid article:nth-child(4),.sootBenefitGrid article:nth-child(5){grid-column:span 3}.sootBenefitGrid b{color:#578432;font-size:12px;letter-spacing:.12em}.sootBenefitGrid h4,.sootExpertiseList h4{font-size:21px;line-height:1.2;margin:22px 0 12px}.sootBenefitGrid p,.sootExpertiseList p{color:#5d6861;line-height:1.65;margin:0}.sootExpertise{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px;margin:110px 0}.sootExpertiseList{border-top:1px solid rgba(43,75,47,.2)}.sootExpertiseList article{display:grid;grid-template-columns:.62fr 1fr;gap:30px;padding:26px 0;border-bottom:1px solid rgba(43,75,47,.2)}.sootExpertiseList h4{margin:0}.sootClosing{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;padding:48px;border:1px solid rgba(var(--green-rgb),.26);border-radius:28px;background:#edf1e8}.sootClosing>div>p:not(.eyebrow){color:#536058;line-height:1.72}.sootClosing aside{align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:30px;border-radius:21px;background:#0b1710;color:#fff}.sootClosing aside small{margin-bottom:10px;color:var(--green);font-weight:850;text-transform:uppercase;letter-spacing:.1em}.sootClosing aside strong{padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.12);font-size:18px}.sootClosing aside strong:last-child{border:0;padding-bottom:0}
@media(max-width:900px){.sootEditorialIntro,.sootMethod,.sootExpertise,.sootClosing{grid-template-columns:1fr;gap:35px}.sootEditorialLead{padding-left:0;border-left:0}.sootBenefitGrid{grid-template-columns:1fr 1fr}.sootBenefitGrid article,.sootBenefitGrid article:nth-child(4),.sootBenefitGrid article:nth-child(5){grid-column:auto}.sootExpertiseList article{grid-template-columns:1fr;gap:10px}}
@media(max-width:580px){.sootEditorial{padding-top:75px}.sootMethod,.sootClosing{padding:26px 22px;margin-left:-8px;margin-right:-8px}.sootBenefitGrid{grid-template-columns:1fr}.sootExpertise{margin:75px 0}.sootEditorial h2{font-size:42px}}

/* Source: /workspace/sites/cleaning-lady-preview/app/pricing-clean.css */
.pricingHero{max-width:760px;margin-bottom:28px}.pricingHero .intro{max-width:680px}.pricingNav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}.pricingNav a{padding:10px 15px;border:1px solid rgba(185,240,92,.3);border-radius:999px;color:#dfffb0;text-decoration:none;font-size:.87rem;font-weight:700;background:rgba(255,255,255,.035)}.pricingNav a:hover{background:rgba(185,240,92,.12);border-color:var(--lime)}
.pricingPageHero{min-height:610px;position:relative;display:flex;align-items:center;background:url('/assets/hero-young-blue.webp') 68% center/cover no-repeat}.pricingHeroShade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,8,5,.98) 0%,rgba(2,8,5,.9) 42%,rgba(2,8,5,.22) 76%)}.pricingHeroContent{position:relative;z-index:1;padding:84px 0}.pricingHeroContent .breadcrumbs{margin-bottom:54px}.pricingHeroContent h1{font:700 clamp(4.2rem,9vw,8rem)/.88 Georgia,serif;letter-spacing:-.06em;margin:18px 0 25px}.pricingHeroContent>p:not(.eyebrow){max-width:640px;color:#d5ded8;font-size:1.17rem;line-height:1.65}.pricingPage .priceSection{padding-top:90px}.pricingPage .smartCalculator{border-top:1px solid rgba(185,240,92,.18)}
.pricingConditions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 52px}.pricingConditions article{display:flex;gap:14px;padding:18px;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:rgba(255,255,255,.04)}.pricingConditions article>span{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:rgba(185,240,92,.13);color:var(--lime);font-size:.72rem;font-weight:900}.pricingConditions b{display:block;color:#fff;margin-bottom:6px}.pricingConditions p{margin:0;color:#abb9b0;font-size:.84rem;line-height:1.5}
.pricingBlockHead{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.pricingBlockHead .eyebrow{margin-bottom:7px}.pricingBlockHead h3{margin:0;font-size:clamp(1.45rem,3vw,2.15rem)}.pricingBlockHead>span{color:#a9b5ad;font-size:.78rem;font-weight:700}.priceSection [id]{scroll-margin-top:110px}
.laserExtras{margin-top:18px;padding:25px;border:1px solid rgba(185,240,92,.2);border-radius:22px;background:rgba(255,255,255,.035)}.laserExtras h3{margin:4px 0 20px;font-size:1.55rem}.laserExtraGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 28px}.laserExtraGrid p{display:flex;justify-content:space-between;gap:18px;margin:0;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.1);color:#b8c5bc;font-size:.86rem}.laserExtraGrid b{color:#e6f6e9;text-align:right}
.pricingFinalCta{padding:48px 0 60px;background:#06140e}.pricingFinalCta .wrap{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:30px 34px;border:1px solid rgba(185,240,92,.25);border-radius:24px;background:linear-gradient(110deg,rgba(185,240,92,.1),rgba(255,255,255,.025))}.pricingFinalCta h2{font-size:clamp(1.7rem,3.5vw,2.8rem);margin:5px 0 8px}.pricingFinalCta p:not(.eyebrow){margin:0;max-width:720px;color:#b9c5bd}.pricingPrimaryCta{flex:0 0 auto}
@media(max-width:780px){.pricingPageHero{min-height:660px;align-items:flex-end;background-position:70% center}.pricingHeroShade{background:linear-gradient(180deg,rgba(2,8,5,.42),rgba(2,8,5,.94) 63%,#020805)}.pricingHeroContent{padding:55px 0 70px}.pricingHeroContent .breadcrumbs{margin-bottom:80px}.pricingHeroContent h1{font-size:4.5rem}.pricingConditions{grid-template-columns:1fr;margin-bottom:38px}.pricingBlockHead{align-items:start;flex-direction:column;gap:5px}.laserExtraGrid{grid-template-columns:1fr}.pricingFinalCta .wrap{align-items:flex-start;flex-direction:column;padding:24px}.pricingPrimaryCta{width:100%;justify-content:center}.pricingNav{display:grid;grid-template-columns:1fr 1fr}.pricingNav a{text-align:center}}
@media(max-width:430px){.pricingNav{grid-template-columns:1fr}.laserExtraGrid p{align-items:flex-start;flex-direction:column;gap:3px}.laserExtraGrid b{text-align:left}}

/* Source: /workspace/sites/cleaning-lady-preview/app/brand-hero.css */
.brandEyebrow {
  --brand-neon: #9dff00;
  display: flex;
  align-items: center;
  gap: 13px;
  width: max-content;
  max-width: 100%;
  margin: 0 0 22px;
  color: var(--brand-neon);
  text-shadow: 0 0 7px rgba(157, 255, 0, 0.72), 0 0 18px rgba(157, 255, 0, 0.38);
}

.brandNames {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  white-space: nowrap;
}

.brandLockup {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}

.brandCleaning {
  font-family: "Bodoni 72", Didot, "Times New Roman", Georgia, serif;
  font-size: clamp(24px, 2.35vw, 35px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.045em;
}

.brandLady {
  display: inline-block;
  font-family: var(--font-great-vibes), "Snell Roundhand", cursive;
  font-size: clamp(32px, 2.85vw, 43px);
  font-weight: 400;
  font-style: normal;
  line-height: 0.72;
  letter-spacing: -0.035em;
  margin-right: 8px;
  transform: translate(-1px, 4px) rotate(-2deg) scaleX(1.4);
  transform-origin: left center;
}

.brandService {
  position: relative;
  width: auto;
  padding: 5px 9px;
  text-align: center;
  font-family: Arial, var(--font-geist), sans-serif;
  font-size: 9px;
  font-weight: 750;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  white-space: nowrap;
}

.brandService::before,
.brandService::after {
  content: "";
  position: absolute;
  right: 9px;
  left: 9px;
  height: 1px;
  background: currentColor;
  box-shadow: 0 0 6px rgba(157, 255, 0, 0.72);
}

.brandService::before { top: 0; }
.brandService::after { bottom: 0; }

.brandSpark {
  flex: 0 0 auto;
  font-family: Arial, sans-serif;
  font-size: 12px;
  filter: drop-shadow(0 0 7px rgba(157, 255, 0, 0.88));
}

/* Keep the shared logo lockup green in every hero variant. The p.brandEyebrow
   selector intentionally outranks the generic hero paragraph colour rules. */
.hero p.brandEyebrow,
.servicePage .serviceHero p.brandEyebrow,
.pricingPageHero p.brandEyebrow {
  color: var(--brand-neon) !important;
  -webkit-text-fill-color: currentColor;
  opacity: 1;
  text-shadow: 0 0 7px rgba(157, 255, 0, 0.72), 0 0 18px rgba(157, 255, 0, 0.38);
}

.hero p.brandEyebrow *,
.servicePage .serviceHero p.brandEyebrow *,
.pricingPageHero p.brandEyebrow * {
  color: inherit !important;
  -webkit-text-fill-color: currentColor;
}

@media (max-width: 600px) {
  .brandEyebrow { gap: 8px; }
  .brandCleaning { font-size: 23px; }
  .brandLady { font-size: 31px; margin-right: 6px; transform: translate(-1px, 3px) rotate(-2deg) scaleX(1.31); }
  .brandLockup { gap: 4px; }
  .brandService { width: auto; font-size: 7px; letter-spacing: 0.22em; padding-inline: 5px; }
  .brandService::before,
  .brandService::after { right: 5px; left: 5px; }
  .brandSpark:last-child { display: none; }
}

/* Source: /workspace/sites/cleaning-lady-preview/app/info-pages.css */
.infoPage{background:var(--paper);color:#101512}.infoHero{position:relative;overflow:hidden;padding:72px 0 94px;background:radial-gradient(circle at 82% 22%,rgba(var(--green-rgb),.19),transparent 28%),linear-gradient(90deg,#020403,#07100b 48%,#102519);color:#fff;border-bottom:1px solid var(--green)}.infoHero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 48%,rgba(255,255,255,.035) 48.2%,transparent 48.5%);background-size:38px 38px}.infoHero .wrap{position:relative;z-index:1}.infoHero h1{max-width:900px;margin:0 0 26px;font:700 clamp(56px,7vw,94px)/.96 Georgia,serif;letter-spacing:-.055em}.infoHero>div>p:last-child,.infoHero .wrap>p:last-child{max-width:760px;color:#d7dfd9;font-size:19px;line-height:1.7}.infoGrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}.infoGrid h2,.narrow h2{font-size:clamp(42px,5vw,68px);line-height:1;letter-spacing:-.05em;margin:0 0 28px}.infoGrid>div:first-child>p:not(.eyebrow),.narrow>p:not(.eyebrow){color:#667168;font-size:17px;line-height:1.75}.dark .narrow>p:not(.eyebrow){color:#c5d0c8}.valueCards,.areaCards{display:grid;gap:15px}.valueCards article,.areaCards article{padding:27px;border:1px solid rgba(var(--green-rgb),.24);border-radius:20px;background:#fff;box-shadow:0 16px 40px rgba(8,20,12,.07)}.valueCards b,.areaCards span{color:#5b9f2d;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.valueCards h3,.areaCards h3{font-size:25px;margin:12px 0}.valueCards p,.areaCards p{margin:0;color:#667168;line-height:1.6}.narrow{max-width:900px;margin:auto}.contactDirectory{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.contactDirectory article{padding:30px;border:1px solid rgba(var(--green-rgb),.24);border-radius:22px;background:#fff}.contactDirectory small,.contactDirectory a,.contactDirectory strong{display:block}.contactDirectory small{color:#5b7b64;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.contactDirectory a,.contactDirectory strong{margin:15px 0;font-size:22px}.contactDirectory p{color:#6b776e;line-height:1.55}.mapEmbed{position:relative;height:0;padding-bottom:36%;border:1px solid rgba(var(--green-rgb),.24);border-radius:22px;overflow:hidden;margin-top:26px;box-shadow:0 16px 40px rgba(8,20,12,.07)}.mapEmbed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.mapLink{margin-top:14px}.contactMethod.hoursMethod{border-bottom:0;margin-top:4px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18)}.contactMethod.hoursMethod>span{background:var(--green);color:#0a120d}.contactMethod.hoursMethod strong{color:#fff;font-size:19px;font-weight:800}.contactMethod.hoursMethod small{color:#d9f6be}.appPromo{padding:54px 0}.appPromoGrid{display:grid;grid-template-columns:150px 1fr;gap:32px;align-items:center}.appPromoGrid img{width:100%;height:auto;border-radius:20px;display:block;box-shadow:0 16px 40px rgba(0,0,0,.35)}.appPromoGrid h2{font-size:clamp(24px,2.6vw,32px);margin:0 0 10px;line-height:1.1}.appPromoGrid>div>p{margin:0 0 14px;max-width:560px;color:#c4cec7;line-height:1.6;font-size:15px}.appPromoGrid .textLink{color:var(--green)}@media(max-width:800px){.appPromoGrid{grid-template-columns:1fr;text-align:left}.appPromoGrid img{max-width:190px}.appPromo{padding:44px 0}}.caseGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.caseGrid article{overflow:hidden;border-radius:22px;background:#fff;box-shadow:0 18px 46px rgba(7,21,11,.1)}.caseGrid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.caseGrid article div{padding:25px}.caseGrid span,.articleGrid span{color:#568c36;text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:900}.caseGrid h2{font-size:28px;margin:12px 0}.caseGrid p,.articleGrid p{color:#667168;line-height:1.65}.caseGrid b,.articleGrid a,.sectionLink{color:#467b28;font-weight:850}.sectionLink{display:inline-flex;margin-top:28px}.articleGrid{display:grid;grid-template-columns:1.3fr .85fr .85fr;gap:18px}.articleGrid article{padding:30px;border:1px solid rgba(var(--green-rgb),.22);border-radius:22px;background:#fff}.articleGrid h2{font-size:30px;line-height:1.1;margin:18px 0}.editorial{max-width:820px}.editorial>p{font-size:18px;line-height:1.8;color:#4f5e54}.editorial blockquote{margin:35px 0;padding:25px 28px;border-left:4px solid var(--green);border-radius:0 18px 18px 0;background:#eaf2e4;font:700 20px/1.6 Georgia,serif}.megaDropdown{width:min(920px,calc(100vw - 40px));grid-template-columns:repeat(4,1fr);gap:10px;left:0;transform:translateX(-28%)}.megaDropdown section{display:flex;flex-direction:column}.megaDropdown .navOverview{min-height:58px;align-items:center}
.customerReferences{min-height:48vh}.customerReferences .caseGrid article{border:1px solid rgba(var(--green-rgb),.2);box-shadow:none}
@media(max-width:1180px){.megaDropdown{width:100%;display:grid;grid-template-columns:1fr 1fr;transform:none}.megaDropdown section{padding-bottom:8px}.structuredNav{gap:6px}}
@media(max-width:800px){.infoHero{padding:52px 0 70px}.infoHero h1{font-size:52px}.infoGrid,.contactDirectory,.caseGrid,.articleGrid{grid-template-columns:1fr;gap:18px}.megaDropdown{grid-template-columns:1fr}.articleGrid article,.valueCards article,.areaCards article{padding:23px}.mapEmbed{padding-bottom:78%}}

/* Source: /workspace/sites/cleaning-lady-preview/app/reference-gallery.css */
.customerReferences{position:relative;background:radial-gradient(circle at 90% 4%,rgba(var(--green-rgb),.1),transparent 26%),var(--paper)}
.referenceMasonry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.referenceTile{position:relative;min-width:0;aspect-ratio:4/3;overflow:hidden;padding:0;border:0;border-radius:26px;background:#07110b;color:#fff;text-align:left;cursor:pointer;box-shadow:0 22px 55px rgba(4,18,9,.14);isolation:isolate}
.referenceTile.featured,.referenceTile.wide,.referenceTile.tall{grid-column:auto;grid-row:auto}
.referenceTile img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .45s;filter:saturate(.83) contrast(1.04) brightness(.88)}
.referenceTile:after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(3,9,5,.03) 30%,rgba(3,9,5,.94) 100%),linear-gradient(90deg,rgba(3,9,5,.3),transparent 55%)}
.referenceTile:hover img,.referenceTile:focus-visible img{transform:scale(1.045);filter:saturate(.96) contrast(1.06) brightness(.96)}
.referenceTile:focus-visible{outline:3px solid var(--green);outline-offset:4px}
.referenceNumber{position:absolute;z-index:2;top:20px;left:20px;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(4,13,7,.55);backdrop-filter:blur(8px);font-size:11px;font-weight:900;color:var(--green)}
.referenceCaption{position:absolute;z-index:2;inset:auto 0 0;display:block;padding:70px 26px 25px}
.referenceCaption small,.referenceCaption strong,.referenceCaption em{display:block}.referenceCaption small{margin-bottom:9px;color:var(--green);font-size:9px;line-height:1.35;letter-spacing:.14em;text-transform:uppercase;font-weight:900}.referenceCaption strong{max-width:90%;font:700 clamp(21px,2.35vw,36px)/1.08 Georgia,serif;letter-spacing:-.03em}.referenceCaption em{max-width:620px;margin-top:9px;color:#d4ddd6;font-size:12px;line-height:1.48;font-style:normal}.referenceCaption i{position:absolute;right:24px;bottom:24px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--green);color:#0b160d;font-size:20px;font-style:normal;transition:transform .25s}.referenceTile:hover .referenceCaption i{transform:rotate(45deg)}
.referenceLightbox{position:fixed;z-index:300;inset:0;display:grid;grid-template-columns:64px minmax(0,1180px) 64px;align-items:center;justify-content:center;gap:20px;padding:50px 26px;background:rgba(2,7,4,.96);backdrop-filter:blur(14px)}
.referenceLightbox figure{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);max-height:calc(100vh - 100px);margin:0;overflow:hidden;border:1px solid rgba(var(--green-rgb),.28);border-radius:28px;background:#09130d;box-shadow:0 38px 120px #000}
.referenceLightbox figure>img{width:100%;height:100%;min-height:580px;max-height:calc(100vh - 100px);object-fit:contain;background:#020503}
.referenceLightbox figcaption{display:flex;flex-direction:column;justify-content:flex-end;padding:38px;background:radial-gradient(circle at 85% 5%,rgba(var(--green-rgb),.17),transparent 35%),#0b1710;color:#fff}
.referenceLightbox figcaption small{color:var(--green);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:900}.referenceLightbox h2{margin:15px 0;font:700 clamp(34px,4vw,56px)/1 Georgia,serif;letter-spacing:-.045em}.referenceLightbox p{color:#c1cdc4;line-height:1.7}.referenceClose,.referencePrev,.referenceNext{display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:#122019;color:#fff;cursor:pointer}.referenceClose{position:absolute;top:20px;right:22px;width:46px;height:46px;font-size:28px}.referencePrev,.referenceNext{width:58px;height:58px;font-size:40px}.referenceClose:hover,.referencePrev:hover,.referenceNext:hover{border-color:var(--green);color:var(--green)}
@media(max-width:900px){.referenceMasonry{grid-template-columns:repeat(2,minmax(0,1fr))}.referenceCaption strong{font-size:24px}.referenceCaption em{font-size:11.5px}.referenceLightbox{grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;padding:65px 8px 20px}.referenceLightbox figure{grid-template-columns:1fr}.referenceLightbox figure>img{min-height:0;height:58vh}.referenceLightbox figcaption{padding:22px}.referenceLightbox h2{font-size:34px;margin:10px 0}.referencePrev,.referenceNext{width:42px;height:42px}}
@media(max-width:600px){.referenceMasonry{grid-template-columns:1fr;gap:13px}.referenceTile,.referenceTile.featured,.referenceTile.wide,.referenceTile.tall{aspect-ratio:4/3;border-radius:20px}.referenceNumber{top:14px;left:14px;width:35px;height:35px;font-size:9px}.referenceCaption{padding:54px 18px 17px}.referenceCaption small{margin-bottom:6px;font-size:8px;line-height:1.3;letter-spacing:.13em}.referenceCaption strong{max-width:88%;font-size:19px;line-height:1.12;letter-spacing:-.02em}.referenceCaption em{max-width:88%;margin-top:7px;padding-right:32px;font-size:11px;line-height:1.42}.referenceCaption i{right:14px;bottom:14px;width:36px;height:36px;font-size:17px}.referenceLightbox{display:block;padding:64px 10px 16px}.referenceLightbox figure{height:calc(100vh - 80px);display:flex;flex-direction:column}.referenceLightbox figure>img{height:60%;flex:1}.referenceLightbox figcaption{flex:0 0 auto}.referencePrev,.referenceNext{position:absolute;z-index:2;top:42%;transform:translateY(-50%)}.referencePrev{left:15px}.referenceNext{right:15px}}
@media(prefers-reduced-motion:reduce){.referenceTile img,.referenceCaption i{transition:none}.referenceTile:hover img,.referenceTile:focus-visible img{transform:none}}

/* Source: /workspace/sites/cleaning-lady-preview/app/button-contrast.css */
/* Toissijaiset toimintopainikkeet: yhtenäinen, saavutettava kontrasti vaaleilla ja tummilla pinnoilla. */
.button.ghost,
.servicePage .serviceHero .button.ghost {
  border-color: #78dc2f;
  background: #0a2a17;
  color: #f7fff8;
  box-shadow: 0 8px 24px rgba(4, 20, 10, .2);
  transition: transform .2s, box-shadow .2s, background-color .2s, color .2s, border-color .2s;
}

.button.ghost span {
  color: #9dff00;
}

.button.ghost:hover,
.servicePage .serviceHero .button.ghost:hover {
  border-color: #9dff00;
  background: #123c23;
  color: #fff;
  box-shadow: 0 10px 28px rgba(4, 20, 10, .28), 0 0 18px rgba(157, 255, 0, .14);
}

.button:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}

.light .button.ghost:focus-visible {
  outline-color: #0a2a17;
}

/* Source: /workspace/sites/cleaning-lady-preview/app/material-bank.css */
.materialBankSection{background:radial-gradient(circle at 15% 0,rgba(var(--green-rgb),.08),transparent 24%),var(--paper)}
.materialIntro{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:end;margin-bottom:38px}.materialIntro h2{max-width:760px;margin:0;font-size:clamp(42px,6vw,72px);line-height:.98;letter-spacing:-.055em}.materialIntro>p{max-width:520px;margin:0;color:#647068;font-size:17px;line-height:1.7}
.materialFolderGrid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.materialFolder{position:relative;grid-column:span 4;display:flex;min-height:410px;flex-direction:column;padding:30px;overflow:hidden;border:1px solid rgba(var(--green-rgb),.23);border-radius:26px;background:linear-gradient(145deg,#fff 0,#f7faf5 72%,#eaf6df 100%);box-shadow:0 20px 50px rgba(5,19,10,.08);transition:transform .25s,border-color .25s,box-shadow .25s}.materialFolder:nth-child(1),.materialFolder:nth-child(2){grid-column:span 6}.materialFolder:before{content:"";position:absolute;width:150px;height:34px;top:-1px;right:42px;border:1px solid rgba(var(--green-rgb),.23);border-bottom:0;border-radius:16px 16px 0 0;background:#f7faf5;transform:translateY(-45%)}.materialFolder:hover{transform:translateY(-5px);border-color:rgba(var(--green-rgb),.55);box-shadow:0 28px 68px rgba(5,19,10,.13)}
.materialFolderTop{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.materialFolderTop small{color:#829087;font-weight:850}.materialIcon{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:#0a160e;color:var(--green);font-size:27px;box-shadow:0 0 24px rgba(var(--green-rgb),.18)}.materialEyebrow{color:#538b32;font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.materialFolder h2{margin:12px 0;font:700 clamp(28px,3vw,40px)/1.03 Georgia,serif;letter-spacing:-.035em}.materialFolder>p{margin:0;color:#647068;line-height:1.65}.materialExamples{margin-top:20px;padding-top:18px;border-top:1px solid #dce5dd;color:#536158;font-size:12px;line-height:1.6}.materialStatus{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:26px;color:#315d1e}.materialStatus span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#dff3cb;color:#315d1e;font-size:21px}.materialStatus strong{font-size:13px}.materialHelp{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:26px;padding:36px 40px;border:1px solid rgba(var(--green-rgb),.34);border-radius:26px;background:radial-gradient(circle at 85% 20%,rgba(var(--green-rgb),.17),transparent 34%),#07130b;color:#fff}.materialHelp span{color:var(--green);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.materialHelp h2{margin:8px 0;font-size:35px}.materialHelp p{max-width:700px;margin:0;color:#c7d1ca;line-height:1.6}.materialHelp .button{flex:0 0 auto}
.materialDownloads{display:grid;gap:8px;margin-top:22px}.materialDownloads>a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border:1px solid #d6e2d8;border-radius:14px;background:#fff;color:#18301e;transition:border-color .2s,transform .2s}.materialDownloads>a:hover{transform:translateX(3px);border-color:#74ad50}.materialDownloads span,.materialDownloads small,.materialDownloads strong,.materialDownloads em{display:block}.materialDownloads small{color:#568c36;font-size:10px;font-weight:900;letter-spacing:.1em}.materialDownloads strong{margin-top:3px;font-size:14px}.materialDownloads em{margin-top:3px;color:#68736c;font-size:11px;font-style:normal}.materialDownloads b{font-size:22px;color:#4e8b2d}
@media(max-width:900px){.materialFolder,.materialFolder:nth-child(1),.materialFolder:nth-child(2){grid-column:span 6}.materialIntro{grid-template-columns:1fr;gap:18px}.materialHelp{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.materialFolder,.materialFolder:nth-child(1),.materialFolder:nth-child(2){grid-column:1/-1;min-height:360px;padding:25px}.materialHelp{padding:28px 24px}.materialHelp .button{width:100%}}

/* Source: /workspace/sites/cleaning-lady-preview/app/floating-actions.css */
.floatingActions{position:fixed;right:clamp(14px,2vw,28px);bottom:clamp(14px,2vw,26px);z-index:90;display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-family:inherit}.whatsappFloat,.mediaToggle{border:1px solid rgba(174,255,0,.48);background:rgba(5,15,10,.95);color:#fff;box-shadow:0 14px 42px rgba(0,0,0,.35),0 0 25px rgba(153,255,0,.13);backdrop-filter:blur(16px)}.whatsappFloat{min-height:58px;padding:8px 17px 8px 9px;border-radius:999px;display:flex;align-items:center;gap:11px;text-decoration:none;transition:.25s ease}.whatsappFloat:hover{transform:translateY(-2px);border-color:#a8ff18;box-shadow:0 16px 45px rgba(0,0,0,.4),0 0 30px rgba(153,255,0,.25)}.whatsappIcon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#a8ff18;color:#071108;font-size:24px;font-weight:900}.floatLabel{display:grid;line-height:1.15}.floatLabel b{font-size:14px}.floatLabel small{margin-top:4px;color:#b9c5bc;font-size:11px}.mediaLauncher{position:relative;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.mediaToggle{height:54px;min-width:118px;padding:7px 17px 7px 8px;border-radius:999px;display:flex;align-items:center;gap:9px;cursor:pointer;font:inherit}.mediaToggle span{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:#a8ff18;color:#071108;font-size:23px;line-height:1;transition:.25s}.mediaToggle b{font-size:14px}.mediaLauncher.open .mediaToggle span{transform:rotate(90deg)}.mediaPanel{position:absolute;right:0;bottom:66px;width:min(370px,calc(100vw - 28px));padding:20px;border:1px solid rgba(174,255,0,.3);border-radius:24px;background:linear-gradient(145deg,rgba(7,20,13,.98),rgba(4,9,7,.98));box-shadow:0 24px 70px rgba(0,0,0,.55),0 0 36px rgba(153,255,0,.12);color:#fff;opacity:0;visibility:hidden;transform:translateY(12px) scale(.98);transform-origin:bottom right;transition:.22s ease}.mediaLauncher.open .mediaPanel{opacity:1;visibility:visible;transform:none}.mediaPanelHead{display:flex;align-items:center;gap:13px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.mediaPanelHead img{width:88px;height:58px;object-fit:contain;border-radius:9px;background:#020604}.mediaPanelHead div{display:grid;gap:5px}.mediaPanelHead b{font-size:17px}.mediaPanelHead span{color:#b9c5bc;font-size:12px;line-height:1.4}.mediaLinks{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:16px 0}.mediaLinks a{min-height:54px;padding:10px 11px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.04);color:#fff;text-decoration:none;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:7px;transition:.2s}.mediaLinks a:first-child{grid-column:1/-1}.mediaLinks a:hover{border-color:rgba(174,255,0,.6);background:rgba(174,255,0,.08);transform:translateY(-1px)}.mediaLinks a>span{width:30px;height:30px;border-radius:9px;background:rgba(174,255,0,.14);color:#b4ff2f;display:grid;place-items:center;font-style:normal;font-weight:800}.mediaLinks b{font-size:13px}.mediaLinks i{color:#a8ff18;font-style:normal}.mediaEmail{display:block;color:#b4ff2f;text-decoration:none;font-size:13px}.mediaEmail:hover{text-decoration:underline}@media(max-width:600px){.floatingActions{bottom:12px;right:12px;gap:8px}.floatLabel{display:none}.whatsappFloat{padding:7px}.mediaToggle{min-width:52px;width:52px;padding:6px}.mediaToggle b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.mediaPanel{bottom:62px}.mediaLinks{grid-template-columns:1fr}.mediaLinks a:first-child{grid-column:auto}}@media(prefers-reduced-motion:reduce){.whatsappFloat,.mediaToggle span,.mediaPanel,.mediaLinks a{transition:none}}

.whatsappLauncher{position:relative;display:flex;flex-direction:column;align-items:flex-end}.whatsappFloat{cursor:pointer;font:inherit}.whatsappChat{position:absolute;right:0;bottom:70px;width:min(390px,calc(100vw - 28px));overflow:hidden;border:1px solid rgba(174,255,0,.38);border-radius:26px;background:#eef4ef;box-shadow:0 28px 85px rgba(0,0,0,.55),0 0 38px rgba(85,255,83,.18);color:#112018;opacity:0;visibility:hidden;transform:translateY(14px) scale(.97);transform-origin:bottom right;transition:.24s ease}.whatsappLauncher.open .whatsappChat{opacity:1;visibility:visible;transform:none}.chatHead{min-height:94px;padding:18px 18px;display:grid;grid-template-columns:58px 1fr 34px;align-items:center;gap:12px;background:linear-gradient(135deg,#087a48,#05ad62 60%,#a8ff18);color:#fff}.chatAvatar{position:relative;width:56px;height:56px;border:2px solid rgba(255,255,255,.75);border-radius:50%;overflow:visible;background:#04120b}.chatAvatar img{width:100%;height:100%;border-radius:50%;object-fit:contain}.chatAvatar>i{position:absolute;right:-1px;bottom:2px;width:13px;height:13px;border:2px solid #fff;border-radius:50%;background:#a8ff18}.chatHead>div{display:grid;gap:5px}.chatHead b{font-size:19px}.chatHead span span{display:flex;align-items:center;gap:6px;font-size:12px;color:rgba(255,255,255,.9)}.chatHead span span i{width:7px;height:7px;border-radius:50%;background:#c3ff55}.chatHead>button{align-self:start;border:0;background:rgba(0,0,0,.12);color:#fff;width:34px;height:34px;border-radius:50%;font-size:25px;cursor:pointer}.chatBody{min-height:260px;padding:20px 18px 14px;background:radial-gradient(circle at 15% 15%,rgba(168,255,24,.15),transparent 34%),linear-gradient(135deg,#edf4ee,#dae8de)}.chatWelcome{width:85%;padding:15px 16px;border-radius:5px 19px 19px 19px;background:#fff;box-shadow:0 8px 25px rgba(16,48,28,.1)}.chatWelcome small{color:#668072;font-size:10px}.chatWelcome p{margin:10px 0 0;font-size:14px;line-height:1.48}.chatSuggestions{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.chatSuggestions button{border:1px solid rgba(8,122,72,.25);border-radius:999px;background:rgba(255,255,255,.78);padding:8px 11px;color:#0b5837;font:600 11px/1.2 inherit;cursor:pointer}.chatSuggestions button:hover{background:#fff;border-color:#0a9b5b}.chatComposer{padding:13px 14px 14px;background:#fff;border-top:1px solid #d8e2db}.chatComposer>label{display:block;margin:0 0 6px 4px;color:#5d7164;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.chatComposer>div{display:grid;grid-template-columns:1fr 46px;align-items:end;gap:8px}.chatComposer textarea{width:100%;min-height:52px;max-height:120px;resize:vertical;border:1px solid #cad8ce;border-radius:16px;padding:12px 13px;color:#112018;background:#f7faf8;font:13px/1.35 inherit;outline:none}.chatComposer textarea:focus{border-color:#08a65f;box-shadow:0 0 0 3px rgba(8,166,95,.12)}.chatComposer button{width:46px;height:46px;border:0;border-radius:50%;background:linear-gradient(135deg,#0aa55f,#a8ff18);color:#052012;font-size:20px;cursor:pointer;box-shadow:0 7px 20px rgba(8,166,95,.24)}.chatComposer button:disabled{opacity:.35;cursor:not-allowed}.chatComposer>small{display:block;margin:7px 4px 0;color:#7a8b80;font-size:9px}@media(max-width:600px){.whatsappChat{position:fixed;right:12px;bottom:78px;width:calc(100vw - 24px);max-height:calc(100vh - 100px)}.chatBody{min-height:220px}}@media(prefers-reduced-motion:reduce){.whatsappChat{transition:none}}

@media(max-width:600px){.floatingActions{gap:9px}.whatsappFloat{min-width:132px;padding:6px 13px 6px 7px}.whatsappIcon{width:38px;height:38px;font-size:21px}.floatLabel{display:grid!important}.floatLabel b{font-size:12px}.floatLabel small{display:none}.mediaToggle{width:auto;min-width:112px;padding:6px 13px 6px 7px}.mediaToggle span{width:38px;height:38px}.mediaToggle b{position:static;width:auto;height:auto;overflow:visible;clip:auto;font-size:12px}}

@media(max-width:600px){
  .floatingActions{bottom:calc(28px + env(safe-area-inset-bottom))}
  .whatsappChat{bottom:calc(92px + env(safe-area-inset-bottom));max-height:calc(100dvh - 118px);display:flex;flex-direction:column}
  .whatsappChat .chatBody{min-height:0;overflow-y:auto;flex:1}
  .chatComposer{position:relative;z-index:2;flex:none;padding-bottom:calc(18px + env(safe-area-inset-bottom))}
  .whatsappLauncher.open .whatsappFloat{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px)}
}

/* WordPress-sovitus nykyiseen Cleaning Lady -versioon */
body.cleaning-lady-site{margin:0;background:var(--ink);color:#fff}
body.cleaning-lady-site .wp-site-blocks{padding:0}
.serviceVisual{position:relative;display:block;overflow:hidden}
.serviceVisual img{width:100%;height:100%;object-fit:cover;display:block}
.serviceCard h3 a{color:inherit}
.serviceCard>a:last-child{margin-top:auto}
.sootPhoto{overflow:hidden}
.sootPhoto img{display:block;width:100%;height:310px;object-fit:cover;border-radius:13px;margin:13px 0}
.entryContent{min-height:45vh;color:#172019}
.entryContent>*{max-width:820px}
.entryContent a{color:#477d25;text-decoration:underline}
.contentColumns{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(270px,.6fr);gap:70px;align-items:start}
.contentColumns aside{padding:28px;border-radius:20px;background:#edf1e8}
.contentColumns aside h2{font-size:30px}
.modernForm .wpcf7{margin:0}
.modernForm .wpcf7-form>p{margin:0 0 15px}
.modernForm .wpcf7-form-control-wrap{display:block;margin-top:7px}
.modernForm .wpcf7-submit{width:100%;min-height:54px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--green),var(--green2));color:#0a120d;font-weight:800;cursor:pointer}
.modernForm .wpcf7-response-output{margin:16px 0 0!important;border-radius:12px}
.admin-bar .siteHeader{top:32px}
@media(max-width:800px){.contentColumns{grid-template-columns:1fr}.admin-bar .siteHeader{top:46px}}
.serviceDetailGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.serviceDetailGrid article{padding:28px;border:1px solid #dce4dc;border-radius:22px;background:#fff;box-shadow:0 16px 40px rgba(8,20,12,.07)}.serviceDetailGrid h2{font-size:34px}.serviceDetailGrid ul{margin:20px 0 0;padding-left:20px;color:#56645a;line-height:1.9}.priceNote{margin-top:28px;padding:24px;border-radius:18px;background:#0d1811;color:#fff}.faqList{display:grid;grid-template-columns:1fr 1fr;gap:12px}.faqList details{padding:20px;border:1px solid #d8e1d9;border-radius:16px;background:#fff}.faqList summary{cursor:pointer;font-weight:800}.faqList p{color:#59675e;line-height:1.6}.materialIntro{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:42px}.materialIntro>p{color:#657168;line-height:1.65}@media(max-width:800px){.serviceDetailGrid,.faqList{grid-template-columns:1fr}}
.serviceEditorial .wrap,.groupEditorial .wrap{display:grid;gap:24px;max-width:940px}.serviceEditorial article,.groupEditorial article,.faqVisible article{padding:28px;border:1px solid #dce4dc;border-radius:20px;background:#fff}.serviceEditorial h2,.groupEditorial h2,.faqVisible h3{margin-top:0}.serviceEditorial p,.groupEditorial p,.faqVisible p{color:#59675e;line-height:1.75}.faqVisible article{padding:22px 24px}

/* WordPress-safe hero: the artwork is an absolute background layer and can
   never push the heading or buttons underneath the image. */
.hero{position:relative!important;isolation:isolate;overflow:hidden!important;background:#08100b!important;min-height:clamp(680px,56.25vw,900px)!important;aspect-ratio:auto!important;padding-top:clamp(72px,5.8vw,112px)!important}
.heroArtwork{position:absolute!important;inset:0!important;z-index:0!important;display:block!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;pointer-events:none;overflow:hidden}
.heroArtwork img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center center!important}
.heroShade{position:absolute!important;inset:0!important;z-index:1!important;background:linear-gradient(90deg,rgba(3,10,6,.97) 0%,rgba(3,10,6,.9) 35%,rgba(3,10,6,.62) 52%,rgba(3,10,6,.08) 72%,rgba(3,10,6,0) 100%)!important}
.heroContent{position:relative!important;z-index:2!important}
.hero .trustBar{z-index:2!important}
@media(max-width:767px){.hero{min-height:0!important;padding-top:0!important}.heroArtwork{inset:0 0 auto!important;height:min(130vw,560px)!important}.heroArtwork img{object-position:center top!important}.heroShade{background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.18) 31%,rgba(8,16,11,.96) 51%,#08100b 70%)!important}.heroContent{padding-top:min(108vw,430px)!important;padding-bottom:30px!important}.hero .actions{position:relative;z-index:3;margin-bottom:22px}.hero .trustBar{position:relative!important;left:auto!important;bottom:auto!important;transform:none!important;margin:0!important}}

/* Julkaisukunnon ja mobiilin yhtenäinen viimeistely. Säävimpain on rajattu
   tarkoituksella tämän kerroksen ulkopuolelle. */
html{max-width:100%;scroll-behavior:smooth;overflow-x:hidden}
body{max-width:100%;overflow-x:hidden}
img,svg,video,iframe{max-width:100%}

/* YouTube-kortin hillitty liike ja valopyyhkäisy. */
.videoCard{
  isolation:isolate;
  background:
    radial-gradient(circle at 26% 38%,rgba(var(--green-rgb),.22),transparent 34%),
    radial-gradient(circle at 78% 72%,rgba(var(--green-rgb),.1),transparent 29%),
    linear-gradient(135deg,#07110a,#12311d 58%,#08110b);
  background-size:145% 145%;
  box-shadow:0 18px 45px rgba(14,46,24,.18),inset 0 1px 0 rgba(255,255,255,.05);
  animation:videoAmbient 8s ease-in-out infinite alternate;
}
.videoCard:before{
  z-index:0;
  background:linear-gradient(120deg,transparent 22%,rgba(var(--green-rgb),.08) 48%,transparent 72%);
  background-size:220% 100%;
  animation:videoGlowShift 7s ease-in-out infinite;
}
.videoCard:after{
  content:"";
  position:absolute;
  z-index:0;
  top:-38%;
  left:-34%;
  width:22%;
  height:176%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),rgba(var(--green-rgb),.2),transparent);
  filter:blur(7px);
  transform:rotate(15deg) translateX(-220%);
  animation:videoSweep 6.5s ease-in-out infinite;
  pointer-events:none;
}
.videoPlay{
  transition:transform .25s ease,background-color .25s ease,box-shadow .25s ease;
  animation:videoPlayPulse 2.8s ease-in-out infinite;
}
.videoPlay:after{
  content:"";
  position:absolute;
  inset:-9px;
  border:1px solid rgba(var(--green-rgb),.42);
  border-radius:50%;
  animation:videoPlayRing 2.8s ease-out infinite;
}
.videoCard span{color:#f5f8f5;text-shadow:0 2px 12px rgba(0,0,0,.8)}
.videoCard span i{margin-left:4px;color:var(--green);font-style:normal}
.videoCard:hover .videoPlay{transform:scale(1.08);background:#173522;box-shadow:0 0 42px rgba(var(--green-rgb),.34)}
@keyframes videoAmbient{0%{background-position:0 45%}100%{background-position:100% 55%}}
@keyframes videoGlowShift{0%,18%{background-position:115% 0}72%,100%{background-position:-115% 0}}
@keyframes videoSweep{0%,56%{transform:rotate(15deg) translateX(-220%);opacity:0}64%{opacity:1}82%,100%{transform:rotate(15deg) translateX(760%);opacity:0}}
@keyframes videoPlayPulse{0%,100%{box-shadow:0 0 22px rgba(var(--green-rgb),.15)}50%{box-shadow:0 0 38px rgba(var(--green-rgb),.34)}}
@keyframes videoPlayRing{0%{opacity:.7;transform:scale(.82)}70%,100%{opacity:0;transform:scale(1.28)}}
@media(prefers-reduced-motion:reduce){
  .videoCard,.videoCard:before,.videoCard:after,.videoPlay,.videoPlay:after{animation:none!important}
}
#main-content{scroll-margin-top:100px}
.skipLink{position:fixed;z-index:10000;top:8px;left:8px;padding:12px 18px;border-radius:10px;background:#fff;color:#071108;font-weight:850;transform:translateY(-160%);transition:transform .18s}
.skipLink:focus{transform:none}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #9cdf54!important;outline-offset:3px!important}
.cl-widget-panel label{display:block;margin:12px 0 6px;font-weight:750}
.structuredNav summary{cursor:pointer}

@media (min-width:768px) and (max-width:1180px){
  .serviceGrid,.serviceLandingGrid,.articleGrid,.contactDirectory{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .infoGrid,.contentColumns{gap:42px}
}

@media (max-width:767px){
  :root{--mobile-gutter:18px}
  .wrap{width:min(100% - (var(--mobile-gutter) * 2),1180px)!important}
  .siteHeader{height:72px!important;padding:0 14px!important;gap:10px!important}
  .brand{flex:1 1 auto;min-width:0}
  .brand img{display:block;width:138px!important;height:56px!important;object-fit:contain;object-position:left center}
  .desktopCta{display:none!important}
  .menuButton{display:grid!important;flex:0 0 48px;width:48px!important;height:48px!important;margin-left:auto}
  .nav{position:fixed!important;inset:72px 0 auto 0!important;width:100%!important;max-height:calc(100dvh - 72px)!important;overflow-y:auto!important;overscroll-behavior:contain;padding:18px 16px calc(28px + env(safe-area-inset-bottom))!important;background:rgba(4,12,8,.985)!important}
  .admin-bar .nav{inset:118px 0 auto 0!important;max-height:calc(100dvh - 118px)!important}
  .nav>a,.nav>details,.nav summary{width:100%!important;min-width:0!important}
  .nav>a,.nav summary{display:flex!important;align-items:center;justify-content:space-between;min-height:46px;padding:10px 4px!important}
  .navDropdown,.megaDropdown{position:static!important;inset:auto!important;width:100%!important;min-width:0!important;grid-template-columns:1fr!important;margin:4px 0 10px!important;padding:8px!important;box-shadow:none!important}
  .navDropdown section{min-width:0!important;padding:10px!important}
  .navDropdown a{white-space:normal!important;overflow-wrap:anywhere}

  .hero{min-height:0!important;padding:0!important}
  .heroArtwork{height:clamp(300px,92vw,440px)!important}
  .heroShade{background:linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.18) 28%,rgba(8,16,11,.96) 48%,#08100b 66%)!important}
  .heroContent{padding-top:clamp(280px,86vw,405px)!important;padding-bottom:24px!important}
  .heroContent>*{max-width:100%!important}
  .hero h1{max-width:100%!important;margin-bottom:18px!important;font-size:clamp(43px,12vw,60px)!important;line-height:.94!important;letter-spacing:-.05em!important;overflow-wrap:anywhere}
  .heroLead{font-size:16px!important;line-height:1.55!important}
  .hero .actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important;margin:22px 0 24px!important}
  .hero .actions .button{position:relative!important;z-index:4!important;width:100%!important;min-height:52px!important;justify-content:center!important;opacity:1!important;visibility:visible!important}
  .hero .trustBar{display:grid!important;grid-template-columns:1fr!important;gap:0!important;width:100%!important;padding:0!important;border-top:1px solid rgba(255,255,255,.14)!important}
  .hero .trustBar>div{min-width:0!important;padding:16px 0!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.12)!important}

  .section{padding:64px 0!important}
  .section h2,.infoGrid h2,.narrow h2,.serviceHero h1,.infoHero h1{max-width:100%!important;font-size:clamp(38px,11vw,54px)!important;line-height:1!important;overflow-wrap:anywhere}
  .serviceHero,.infoHero{padding:54px 0 64px!important}
  .serviceGrid,.serviceLandingGrid,.articleGrid,.contactDirectory,.serviceDetailGrid,.faqList,.infoGrid,.contentColumns{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
  .serviceCard,.serviceLandingGrid>article,.articleGrid>article,.contactDirectory>article{min-width:0!important}
  .serviceVisual,.landingImage{aspect-ratio:4/3!important;min-height:0!important}
  .serviceVisual img,.landingImage img{width:100%!important;height:100%!important;object-fit:cover!important}
  .serviceCard h3,.serviceLandingGrid h3{font-size:clamp(27px,8vw,36px)!important;overflow-wrap:anywhere}
  .pricingGrid,.priceCards,.calculatorLayout,.contactGrid,.footerGrid{grid-template-columns:minmax(0,1fr)!important}
  .modernForm input,.modernForm select,.modernForm textarea{width:100%!important;max-width:100%!important;font-size:16px!important}
  .materialIntro{grid-template-columns:1fr!important;gap:18px!important}
  .materialHelp{padding:26px 22px!important}

  .floatingActions{right:10px!important;bottom:calc(18px + env(safe-area-inset-bottom))!important;gap:8px!important;max-width:calc(100vw - 20px)}
  .whatsappFloat,.mediaToggle{min-height:50px!important;max-width:calc(100vw - 20px)}
  .whatsappChat{position:fixed!important;inset:auto 10px calc(82px + env(safe-area-inset-bottom)) 10px!important;width:auto!important;max-height:calc(100dvh - 106px)!important}
  .mediaPanel{position:fixed!important;right:10px!important;left:10px!important;bottom:calc(76px + env(safe-area-inset-bottom))!important;width:auto!important;max-height:calc(100dvh - 100px)!important;overflow-y:auto!important}
}

@media (max-width:380px){
  .hero h1{font-size:40px!important}
  .brand img{width:124px!important}
  .floatLabel b,.mediaToggle b{font-size:11px!important}
}

/* Korjaukset 2–3: kokoon perustuva hintalaskuri, aikataulukko ja leveämpi työpöytälogo. */
@media (min-width:1181px){
  .siteHeader .brand{width:214px;flex:0 0 214px}
  .siteHeader .brand img{width:208px;max-width:none;transform:scale(1.08)}
}
.calculatorEnhanced{background:radial-gradient(circle at 15% 20%,rgba(255,255,255,.55),transparent 25%),linear-gradient(135deg,#cceca0,#9fce59);color:#102014}
.calculatorEnhanced .calculatorCopy p{max-width:560px;font-size:17px;line-height:1.7}
.calculatorEnhanced .calculatorCopy ul{display:grid;gap:12px;margin:28px 0 0;padding:0;list-style:none}
.calculatorEnhanced .calculatorCopy li{position:relative;padding-left:30px;font-weight:750}
.calculatorEnhanced .calculatorCopy li:before{content:"✓";position:absolute;left:0;top:-2px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#102014;color:var(--green);font-size:12px}
.calculatorEnhanced .calcCard{padding:34px;border:1px solid rgba(16,32,20,.14);box-shadow:0 26px 70px rgba(10,34,16,.2)}
.calcFields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.calculatorEnhanced .calcCard label{margin-bottom:16px}
.calculatorEnhanced .calcCard select{border:1px solid #ccd7ce;background:#f9fbf8;color:#152019;min-height:50px}
.calcHours{padding:18px;border:1px solid #d5dfd6;border-radius:16px;background:#f7faf7}
.calcHours>span{display:flex;align-items:center;justify-content:space-between;gap:20px}
.calcHours output{padding:7px 11px;border-radius:10px;background:#e5f8d2;color:#315c22;font-weight:900}
.calcHours input[type=range]{padding:0;accent-color:#6ea934}
.calcHours small{display:block;color:#6d786f;font-weight:500}
.calculatorEnhanced .estimate{padding:22px 0;border-top:1px solid #e0e6e1;border-bottom:1px solid #e0e6e1}
.calculatorEnhanced .estimate span small,.calculatorEnhanced .estimate span b{display:block}
.calculatorEnhanced .estimate span small{color:#6e7b71;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.calculatorEnhanced .estimate span b{margin-top:6px;font-size:14px}
.calculatorEnhanced .estimate strong{color:#5f9730}
.calcNotice{color:#657168;font-size:12px;line-height:1.55}
.calculatorDisclosure{min-width:0}
.calculatorDisclosure>summary{display:none}
.calculatorDisclosureContent{min-width:0}
.disclosureClosed,.disclosureOpen{align-items:center;justify-content:space-between;gap:18px;width:100%}
.disclosureOpen{display:none}
details[open]>.timeGuideDisclosureContent,details[open]>.calculatorDisclosureContent{animation:clDisclosureOpen .22s ease-out}
details[open]>summary .disclosureClosed{display:none}
details[open]>summary .disclosureOpen{display:flex}
@keyframes clDisclosureOpen{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* 3.2.7: clearer text contrast without changing the existing layout */
.dark h1,.dark h2,.dark h3,.dark h4,.dark h5,.dark h6,
.dark p,.dark li,.dark label,.dark b,.dark strong,
.pricingPage .priceSection h1,.pricingPage .priceSection h2,.pricingPage .priceSection h3,
.pricingPage .priceSection p,.pricingPage .priceSection li,
.soot h1,.soot h2,.soot h3,.soot p,.soot li,
.contactGrid>div>p,.moveRows p,.laserHead p,.laserRows p,
.newsCard p,.newsCard blockquote,.materialHelp p,
.timeGuideHeader .intro,.timeGuideNote p{color:#fff}

.dark .eyebrow,.dark .priceIcon,.dark .movePanel small,
.dark .laserPricing small,.dark .laserRows strong,
.dark .contactDetails,.dark .textLink{color:var(--green)}

.light,.entryContent,.serviceEditorial,.groupEditorial,.faqVisible,
.materialBankSection,.videoSection,.references{color:#101512}
.light p,.light li,.light .intro,.light small,
.entryContent p,.entryContent li,
.serviceCard p,.stepGrid p,.refGrid p,
.serviceEditorial p,.groupEditorial p,.faqVisible p,
.serviceDetailGrid ul,.faqList p,.materialIntro>p,
.materialFolder>p,.materialExamples{color:#27332b}
.light .eyebrow,.serviceCard small,.materialEyebrow{color:#3e6928}
.sootEditorial .sootMethod .eyebrow{color:#fff!important}

.serviceCard,.stepGrid article,.refGrid article,
.serviceEditorial article,.groupEditorial article,.faqVisible article,
.serviceDetailGrid article,.faqList details{color:#101512}

.trustBar span,.footerGrid p,.footerTrust span,.legal,
.mediaPanelHead span,.floatLabel small{color:#fff}
.cleaningTimeGuide{position:relative;overflow:hidden;padding-top:90px;background:radial-gradient(circle at 88% 12%,rgba(150,221,83,.2),transparent 32%),linear-gradient(145deg,#07130c 0%,#0d2115 55%,#102c1a 100%);color:#fff}
.cleaningTimeGuide:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.2;background-image:linear-gradient(rgba(153,220,89,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(153,220,89,.2) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(to bottom,black,transparent 82%)}
.cleaningTimeGuide .wrap{position:relative;z-index:1}
.timeGuideHeader{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:70px;align-items:end}
.timeGuideHeader h2{max-width:780px;margin-bottom:0;font-size:clamp(40px,4.5vw,66px);color:#fff}
.timeGuideHeader .intro{margin:0;color:#cbd8cf}
.timeGuideDisclosure{margin-top:34px}
.timeGuideDisclosure[data-mobile-disclosure]>summary{display:none}
.timeGuideDisclosure>summary,.calculatorDisclosure>summary{list-style:none;cursor:pointer;border:1px solid rgba(164,225,102,.34);border-radius:16px;padding:17px 20px;background:rgba(5,15,9,.5);color:#fff;font-weight:850;line-height:1.3;transition:border-color .2s ease,background .2s ease,transform .2s ease}
.timeGuideDisclosure>summary::-webkit-details-marker,.calculatorDisclosure>summary::-webkit-details-marker{display:none}
.timeGuideDisclosure>summary:hover,.calculatorDisclosure>summary:hover{border-color:rgba(183,238,121,.72);background:rgba(25,61,36,.78)}
.timeGuideDisclosure>summary:focus-visible,.calculatorDisclosure>summary:focus-visible{outline:3px solid #b7ee79;outline-offset:4px}
.timeGuideDisclosure>summary .disclosureClosed{display:flex}
.timeGuideDisclosure>summary b,.calculatorDisclosure>summary b{display:grid;flex:0 0 34px;place-items:center;width:34px;height:34px;border-radius:50%;background:#9edb5e;color:#0b190f;font-size:18px}
.timeGuideDisclosureContent{min-width:0}
.timeGuideGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:46px 0 0;padding:0;list-style:none}
.timeGuideCard{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:16px;align-items:center;min-height:106px;padding:20px 24px 27px;border:1px solid rgba(164,225,102,.22);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025));box-shadow:inset 0 1px 0 rgba(255,255,255,.05);transition:transform .2s ease,border-color .2s ease,background .2s ease}
.timeGuideCard:hover{transform:translateY(-2px);border-color:rgba(169,233,102,.52);background:linear-gradient(135deg,rgba(154,220,90,.13),rgba(255,255,255,.035))}
.timeGuideIndex{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#9edb5e;color:#0b190f;font-size:13px;font-weight:900;letter-spacing:.08em}
.timeGuideCopy,.timeGuideDuration{display:flex;flex-direction:column;gap:3px}
.timeGuideCard small{color:#9fb0a4;font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.timeGuideCard strong{color:#fff;font-size:20px;line-height:1.2}
.timeGuideDuration{min-width:90px;text-align:right}
.timeGuideDuration strong{color:#b7ee79;font-size:27px}
.timeGuideBar{position:absolute;right:24px;bottom:14px;left:88px;height:3px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.1)}
.timeGuideBar i{display:block;width:var(--time-progress);height:100%;border-radius:inherit;background:linear-gradient(90deg,#79bb3b,#c0f57d);box-shadow:0 0 14px rgba(174,239,104,.55)}
.timeGuideNote{display:flex;gap:16px;align-items:center;margin-top:18px;padding:20px 24px;border:1px solid rgba(164,225,102,.2);border-radius:18px;background:rgba(5,15,9,.48)}
.timeGuideNote>span{color:#b7ee79;font-size:28px}
.timeGuideNote p{margin:0;color:#b9c8bd;font-size:14px}
.timeGuideNote strong{color:#fff}
@media(max-width:800px){
  .calcFields{grid-template-columns:1fr}
  .calculatorCopy ul{margin-bottom:0}
  .calculatorDisclosure[data-mobile-disclosure]{margin-top:6px}
  .calculatorDisclosure[data-mobile-disclosure]>summary{display:flex;border-color:rgba(16,32,20,.24);background:#102014;color:#fff;box-shadow:0 12px 30px rgba(10,34,16,.14)}
  .calculatorDisclosure[data-mobile-disclosure]>summary:hover{background:#183322;border-color:#102014}
  .calculatorDisclosure[data-mobile-disclosure]>summary .disclosureClosed{display:flex}
  .calculatorDisclosure[data-mobile-disclosure]>summary b{background:var(--green);color:#102014}
  .calculatorDisclosureContent{padding-top:14px}
  .calculatorEnhanced .calcCard{padding:22px}
  .calculatorEnhanced .estimate{align-items:flex-start;flex-direction:column;gap:12px}
  .timeGuideHeader{grid-template-columns:1fr;gap:18px}
  .timeGuideDisclosure{margin-top:24px}
  .timeGuideDisclosure[data-mobile-disclosure]>summary{display:flex}
  .timeGuideGrid{grid-template-columns:1fr;margin-top:30px}
  .timeGuideCard{grid-template-columns:42px minmax(0,1fr) auto;padding:17px 18px 25px}
  .timeGuideIndex{width:40px;height:40px}
  .timeGuideBar{right:18px;left:76px}
  .timeGuideDuration strong{font-size:24px}
}
.timeGuideDisclosure[open]>summary .disclosureClosed,.calculatorDisclosure[open]>summary .disclosureClosed{display:none}
.timeGuideDisclosure[open]>summary .disclosureOpen,.calculatorDisclosure[open]>summary .disclosureOpen{display:flex}
@media(prefers-reduced-motion:reduce){details[open]>.timeGuideDisclosureContent,details[open]>.calculatorDisclosureContent{animation:none}}


/* 3.3.18: soot-method contrast fix + improved heading/search readability */
.sootEditorial .sootMethod p,
.sootEditorial .sootMethod li,
.sootEditorial .sootMethod small{color:#c8d2ca!important}
.sootEditorial .sootMethod h2,
.sootEditorial .sootMethod h3,
.sootEditorial .sootMethod h4,
.sootEditorial .sootMethod strong{color:#fff!important}
.sootEditorial .sootMethod .eyebrow{color:var(--green)!important}

/* Weather search: larger, easier-to-read controls and forecast labels */
.weatherPanel label{font-size:15px;line-height:1.35}
.weatherPanel input[type="search"]{font-size:16px;line-height:1.35;padding:15px 16px;min-height:52px}
.weatherPanel button{font-size:15px;min-height:52px}
.weatherStatus{font-size:14px;line-height:1.5}
.weatherForecast article>b{font-size:14px}
.weatherForecast article>strong{font-size:19px}
.weatherForecast article>small{font-size:13px;line-height:1.4}
.weatherForecast article>em{font-size:11px;line-height:1.4}
.weatherSource,.weatherNote{font-size:13px}

/* Nokivaurio page: make section and card headings more readable without changing layout */
.nokiLaserPage .section h2,
.sootEditorial .section h2{font-size:clamp(46px,5.4vw,76px);line-height:1.02}
.nokiLaserPage .section h3,
.sootEditorial .section h3{font-size:clamp(24px,2.3vw,32px);line-height:1.16}
.nokiLaserPage .eyebrow,
.sootEditorial .eyebrow{font-size:13px;line-height:1.4}

@media(max-width:800px){
  .nokiLaserPage .section h2,
  .sootEditorial .section h2{font-size:clamp(40px,11vw,56px)}
  .nokiLaserPage .section h3,
  .sootEditorial .section h3{font-size:clamp(23px,7vw,30px)}
  .weatherPanel label{font-size:15px}
  .weatherPanel input[type="search"],.weatherPanel button{font-size:16px}
}

/* 3.3.19: header navigation readability + pure-white soot method text */
/* Desktop/main navigation: larger headings */
.structuredNav>a,
.navGroup>summary,
.nav a{font-size:15px;line-height:1.35}

/* Text links shown under navigation headings/dropdowns */
.navDropdown a,
.megaDropdown a{font-size:15px;line-height:1.45}
.navDropdown .navOverview,
.megaDropdown .navOverview{font-size:15px;line-height:1.4}

/* Keep the navigation readable on medium and mobile screens */
@media(max-width:1180px){
  .navGroup>summary,.structuredNav>a{font-size:15px}
  .navDropdown a,.megaDropdown a{font-size:15px}
}
@media(max-width:800px){
  .nav>a,.nav summary{font-size:17px!important;line-height:1.4!important}
  .navDropdown a,.megaDropdown a{font-size:16px!important;line-height:1.45!important}
}

/* Soot-method dark card: use pure white like the other dark text areas */
.sootEditorial .sootMethod p,
.sootEditorial .sootMethod li,
.sootEditorial .sootMethod small{color:#fff!important}
