:root {
	--ss-primary: #026fcd;
	--ss-secondary: #035ba9;
	--ss-accent: #de64aa;
	--ss-bg: #f7fbff;
	--ss-surface: #fff;
	--ss-text: #334155;
	--ss-heading: #073968;
	--ss-muted: #5f6f80;
	--ss-border: rgba(3, 91, 169, .14);
	--ss-radius: 22px;
	--ss-shadow: 0 22px 60px rgba(3, 91, 169, .11);
	--ss-container-width: 1320px;
	--ss-base-font-size: 16px;
	--ss-heading-weight: 800;
	--ss-button-weight: 700;
	--ss-header-bg: rgba(255, 255, 255, .92);
	--ss-header-text: #243447;
	--ss-header-active: #026fcd;
	--ss-footer-bg: #043f79;
	--ss-footer-text: #f5f9ff;
}

:root.swiss_shine-dark-mode {
	--ss-bg: #062c54;
	--ss-surface: #093d70;
	--ss-text: #f5f9ff;
	--ss-heading: #fff;
	--ss-muted: #d6e8f8;
	--ss-border: rgba(255,255,255,.13);
	--ss-header-bg: rgba(6,31,58,.92);
	--ss-header-text: #fff;
	--ss-header-active: #f292c9;
	--ss-footer-bg: #031b33;
	--ss-footer-text: #f5f9ff;
}

.swiss_shine-dark-mode body,
.swiss_shine-dark-mode .ss-trust-strip,
.swiss_shine-dark-mode .ss-process-section,
.swiss_shine-dark-mode .ss-features-section,
.swiss_shine-dark-mode .ss-references-section,
.swiss_shine-dark-mode .ss-faq-section,
.swiss_shine-dark-mode .ss-service-section,
.swiss_shine-dark-mode .ss-areas-section,
.swiss_shine-dark-mode .ss-contact-band,
.swiss_shine-dark-mode .ss-testimonials { background: var(--ss-bg); }
.swiss_shine-dark-mode .ss-header-shell,
.swiss_shine-dark-mode .ss-offcanvas,
.swiss_shine-dark-mode .ss-content-card,
.swiss_shine-dark-mode .ss-post-card,
.swiss_shine-dark-mode .ss-process-card,
.swiss_shine-dark-mode .page-numbers,
.swiss_shine-dark-mode .ss-area-pills span { background: var(--ss-surface); color: var(--ss-text); }
.swiss_shine-dark-mode .ss-header-shell { border-color: var(--ss-border); }
.swiss_shine-dark-mode .ss-faq-section .accordion { --bs-accordion-color: var(--ss-text); --bs-accordion-btn-color: var(--ss-heading); --bs-accordion-active-color: var(--ss-header-active); --bs-accordion-bg: transparent; --bs-accordion-btn-bg: transparent; --bs-accordion-active-bg: transparent; }
.swiss_shine-dark-mode .ss-trust-item,
.swiss_shine-dark-mode .ss-area-pills span { color: var(--ss-text); }
.swiss_shine-dark-mode .navbar-toggler-icon { filter: invert(1) grayscale(1) brightness(2); }
.swiss_shine-dark-mode .ss-logo-link.ss-logo-has-dark .ss-logo-light { display: none; }
.swiss_shine-dark-mode .ss-logo-link.ss-logo-has-dark .ss-logo-dark { display: block; }

*,
*::before,
*::after { box-sizing: border-box; }

html {
	max-width: 100%;
	overflow-x: hidden;
	scroll-behavior: smooth;
	scroll-padding-top: 110px;
}

body {
	background: var(--ss-bg);
	color: var(--ss-text);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: var(--ss-base-font-size);
	line-height: 1.7;
	margin: 0;
	max-width: 100%;
	overflow-x: hidden;
}

@supports (overflow: clip) {
	html,
	body { overflow-x: clip; }
}

.site-main,
.elementor-page .elementor { max-width: 100%; }

body.admin-bar .ss-floating-header { top: 32px; }

h1, h2, h3, h4, h5, h6 {
	color: var(--ss-heading);
	font-weight: var(--ss-heading-weight);
	letter-spacing: -.035em;
	line-height: 1.12;
	margin: 0 0 .65em;
}

h1 { font-size: clamp(2.55rem, 6vw, 5.6rem); }
h2 { font-size: clamp(2rem, 4.4vw, 3.7rem); }
h3 { font-size: clamp(1.18rem, 2vw, 1.55rem); }

p { margin: 0 0 1.25rem; }
a { color: var(--ss-primary); text-decoration: none; }
a:hover { color: var(--ss-accent); }
img { height: auto; max-width: 100%; }

.container { max-width: var(--ss-container-width); }
.site-main { min-height: 55vh; }
.ss-section { padding: clamp(72px, 9vw, 126px) 0; position: relative; }
.ss-section-head { margin: 0 auto clamp(34px, 5vw, 60px); max-width: 820px; text-align: center; }
.ss-section-head > p:not(.ss-eyebrow) { color: var(--ss-muted); font-size: 1.08rem; }

.ss-eyebrow {
	align-items: center;
	color: var(--ss-primary);
	display: inline-flex;
	font-size: .78rem;
	font-weight: 800;
	gap: .45rem;
	letter-spacing: .13em;
	margin-bottom: 1rem;
	text-transform: uppercase;
}

.ss-eyebrow::before {
	background: var(--ss-accent);
	border-radius: 10px;
	content: "";
	height: 7px;
	width: 7px;
}

.btn {
	align-items: center;
	border-radius: 999px;
	display: inline-flex;
	font-weight: var(--ss-button-weight);
	justify-content: center;
	min-height: 50px;
	padding: .78rem 1.35rem;
	transition: transform .25s ease, box-shadow .25s ease, color .25s ease, background .25s ease;
}

.btn:hover { transform: translateY(-2px); }
.ss-btn-primary { background: linear-gradient(135deg, var(--ss-primary), var(--ss-secondary)); border: 0; box-shadow: 0 12px 30px rgba(2, 111, 205, .28); color: var(--ss-button-text, #fff); }
.ss-btn-primary:hover { box-shadow: 0 16px 36px rgba(2, 111, 205, .38); color: var(--ss-button-text, #fff); }
.ss-btn-outline { background: rgba(255,255,255,.92); border: 1px solid rgba(255,255,255,.58); color: var(--ss-secondary); }
.ss-btn-outline:hover { background: #fff; color: var(--ss-accent); }
.ss-text-link { align-items: center; color: var(--ss-primary); display: inline-flex; font-weight: 750; gap: .45rem; margin-top: 1rem; }

.screen-reader-text {
	clip: rect(1px,1px,1px,1px);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background: #fff;
	clip: auto !important;
	clip-path: none;
	color: #073968;
	display: block;
	height: auto;
	left: 12px;
	padding: 12px 18px;
	top: 12px;
	width: auto;
	z-index: 100000;
}

.ss-floating-header { left: 0; padding: 18px 0; position: fixed; right: 0; top: 0; transition: padding .25s ease; z-index: 1040; }
.ss-floating-header.is-scrolled { padding: 8px 0; }
.ss-header-shell {
	backdrop-filter: blur(var(--ss-header-blur, 18px));
	background: var(--ss-header-bg);
	border: 1px solid rgba(255,255,255,.75);
	border-radius: var(--ss-radius-header, 28px);
	box-shadow: var(--ss-header-shadow, 0 18px 50px rgba(3,91,169,.14));
	min-height: 78px;
	padding: .6rem .8rem .6rem 1.15rem;
}

.ss-logo-wrap { align-items: center; display: flex; margin: 0; max-width: 190px; }
.ss-logo-link { display: block; line-height: 0; }
.ss-logo-image { display: block; max-height: 62px; object-fit: contain; width: auto; }
.ss-logo-dark, .ss-logo-mobile { display: none; }
.ss-brand-text { color: var(--ss-secondary); font-size: 1.25rem; font-weight: 850; }
.ss-main-menu { align-items: center; }
.ss-main-menu a, .ss-mobile-menu a { color: var(--ss-header-text); display: block; font-size: .94rem; font-weight: 700; padding: .75rem .35rem; }
.ss-main-menu a:hover, .ss-main-menu .current-menu-item > a { color: var(--ss-header-active); }
.ss-header-actions .btn { min-height: 46px; padding: .68rem 1.1rem; }
.ss-menu-toggle { border: 0; box-shadow: none !important; padding: .6rem; }
.ss-dark-toggle { align-items: center; background: rgba(2,111,205,.08); border: 0; border-radius: 50%; color: var(--ss-primary); display: inline-flex; height: 44px; justify-content: center; width: 44px; }
.ss-icon-sun { display: none; }
.swiss_shine-dark-mode .ss-dark-toggle { background: rgba(255,255,255,.1); color: var(--ss-header-active); }
.swiss_shine-dark-mode .ss-icon-moon { display: none; }
.swiss_shine-dark-mode .ss-icon-sun { display: inline-block; }
.ss-offcanvas { padding: 1rem; width: min(88vw, 390px) !important; }
.ss-offcanvas .offcanvas-title { color: var(--ss-heading); }

.ss-trust-strip { background: #fff; border-bottom: 1px solid var(--ss-border); padding: 25px 0; }
.ss-trust-item { align-items: center; color: var(--ss-secondary); display: flex; font-weight: 750; gap: .7rem; justify-content: center; text-align: center; }
.ss-trust-item i { color: var(--ss-accent); font-size: 1.35rem; }

.ss-about-section { overflow: hidden; }
.ss-about-section p:not(.ss-eyebrow) { color: var(--ss-muted); font-size: 1.04rem; }
.ss-inline-checks { display: grid; gap: .65rem; margin-top: 1.6rem; }
.ss-inline-checks span { align-items: flex-start; display: flex; font-weight: 650; gap: .6rem; }
.ss-inline-checks i { color: var(--ss-accent); margin-top: .25rem; }
.ss-cleaning-visual {
	align-items: center;
	background: radial-gradient(circle at 25% 18%, rgba(255,255,255,.72), transparent 22%), linear-gradient(145deg, #026fcd, #035ba9 58%, #de64aa);
	border-radius: 48% 52% 38% 62% / 48% 37% 63% 52%;
	box-shadow: 0 34px 90px rgba(3,91,169,.28);
	display: flex;
	justify-content: center;
	min-height: 480px;
	overflow: hidden;
	position: relative;
}
.ss-cleaning-visual > i { color: #fff; font-size: clamp(6rem, 13vw, 11rem); filter: drop-shadow(0 15px 25px rgba(0,0,0,.12)); }
.ss-cleaning-bubble { background: rgba(255,255,255,.25); border: 1px solid rgba(255,255,255,.48); border-radius: 50%; position: absolute; }
.ss-cleaning-bubble-one { height: 110px; right: 12%; top: 9%; width: 110px; }
.ss-cleaning-bubble-two { bottom: 10%; height: 65px; left: 11%; width: 65px; }
.ss-cleaning-stat { background: rgba(255,255,255,.92); border-radius: 18px; bottom: 60px; box-shadow: 0 16px 36px rgba(0,0,0,.12); display: grid; left: 150px; padding: 18px 22px; position: absolute; }
.ss-cleaning-stat strong { color: var(--ss-secondary); font-size: 1.8rem; }
.ss-cleaning-stat span { color: #5f6f80; font-size: .88rem; }

.ss-process-section { background: #fff; }
.ss-process-card { background: var(--ss-bg); border: 1px solid var(--ss-border); border-radius: var(--ss-radius); height: 100%; padding: clamp(25px, 4vw, 38px); position: relative; }
.ss-process-card > span { color: rgba(2,111,205,.2); font-size: 3.4rem; font-weight: 900; line-height: 1; }
.ss-process-card h3 { margin-top: 1.2rem; }
.ss-process-card p { color: var(--ss-muted); margin-bottom: 0; }

.ss-guarantee-section { padding-top: 0; }
.ss-guarantee-box { align-items: center; background: linear-gradient(135deg, #062f59, #035ba9); border-radius: 30px; box-shadow: var(--ss-shadow); color: #e9f5ff; display: grid; gap: 26px; grid-template-columns: auto 1fr auto; padding: clamp(28px, 5vw, 54px); }
.ss-guarantee-box h2, .ss-guarantee-box .ss-eyebrow { color: #fff; }
.ss-guarantee-box p { margin-bottom: 0; }
.ss-guarantee-icon { align-items: center; background: rgba(255,255,255,.12); border-radius: 24px; color: #f292c9; display: flex; font-size: 3rem; height: 90px; justify-content: center; width: 90px; }

.ss-areas-section { background: linear-gradient(180deg, #f7fbff, #edf7ff); }
.ss-area-pills { display: flex; flex-wrap: wrap; gap: .85rem; }
.ss-area-pills span { align-items: center; background: #fff; border: 1px solid var(--ss-border); border-radius: 999px; box-shadow: 0 10px 25px rgba(3,91,169,.07); color: var(--ss-secondary); display: inline-flex; font-weight: 700; gap: .5rem; padding: .75rem 1rem; }
.ss-area-pills i { color: var(--ss-accent); }

.ss-contact-band { background: linear-gradient(135deg, #f4faff, #fff0f8); overflow: hidden; }
.ss-contact-highlights { list-style: none; margin: 2rem 0 0; padding: 0; }
.ss-contact-highlights li { align-items: center; display: flex; font-weight: 650; gap: .7rem; margin-bottom: .75rem; }
.ss-contact-highlights i { color: var(--ss-accent); font-size: 1.15rem; }

.ss-faq-section { background: #fff; }
.ss-faq-section .accordion { --bs-accordion-bg: transparent; --bs-accordion-border-color: var(--ss-border); --bs-accordion-btn-focus-box-shadow: none; }
.ss-faq-section .accordion-item { border-left: 0; border-right: 0; }
.ss-faq-section .accordion-button { color: var(--ss-heading); font-size: 1.05rem; font-weight: 750; padding: 1.3rem .2rem; }
.ss-faq-section .accordion-button:not(.collapsed) { background: transparent; color: var(--ss-primary); box-shadow: none; }
.ss-faq-section .accordion-body { color: var(--ss-muted); padding: 0 .2rem 1.3rem; }

.ss-page-hero, .ss-archive-hero { background: linear-gradient(135deg, #043f79, #026fcd); color: #fff; padding: 170px 0 75px; }
.ss-page-hero h1, .ss-archive-hero h1, .ss-page-hero .ss-eyebrow, .ss-archive-hero .ss-eyebrow { color: #fff; }
.ss-content-wrap { padding: 70px 0 110px; }
.ss-content-card, .ss-post-card { background: #fff; border: 1px solid var(--ss-border); border-radius: var(--ss-radius); box-shadow: 0 18px 50px rgba(3,91,169,.08); overflow: hidden; padding: clamp(24px, 5vw, 50px); }
.ss-post-grid { display: grid; gap: 25px; grid-template-columns: repeat(3, minmax(0,1fr)); }
.ss-post-card { padding: 0; }
.ss-post-card-img { aspect-ratio: 16/10; object-fit: cover; width: 100%; }
.ss-post-card-content { padding: 24px; }
.ss-entry-meta { color: var(--ss-muted); display: flex; font-size: .85rem; gap: .8rem; }
.ss-read-more { font-weight: 750; }
.pagination, .nav-links { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 35px; }
.page-numbers { align-items: center; background: #fff; border: 1px solid var(--ss-border); border-radius: 50%; display: inline-flex; height: 42px; justify-content: center; min-width: 42px; }
.page-numbers.current { background: var(--ss-primary); color: #fff; }

.ss-site-footer { background: var(--ss-footer-bg); color: var(--ss-footer-text); overflow: hidden; padding: 80px 0 0; position: relative; }
.ss-site-footer::before { background: radial-gradient(circle, rgba(222,100,170,.28), transparent 68%); content: ""; height: 520px; pointer-events: none; position: absolute; right: -180px; top: -240px; width: 520px; }
.ss-site-footer h3 { color: var(--ss-footer-heading, #fff); font-size: 1rem; letter-spacing: .02em; margin-bottom: 1.2rem; }
.ss-site-footer p, .ss-site-footer a, .ss-footer-list { color: var(--ss-footer-text); opacity: .82; }
.ss-site-footer a:hover { color: #fff; }
.ss-footer-brand .ss-logo-image { background: #fff; border-radius: 14px; max-height: 84px; padding: 7px; }
.ss-footer-menu, .ss-footer-list { display: grid; gap: .6rem; list-style: none; margin: 0; padding: 0; }
.ss-footer-menu li { margin: 0; }
.ss-footer-menu a { color: var(--ss-footer-text); opacity: .82; }
.ss-social-links { display: flex; gap: .6rem; margin-top: 1.2rem; }
.ss-social-links a { align-items: center; background: rgba(255,255,255,.1); border-radius: 50%; display: inline-flex; height: 42px; justify-content: center; width: 42px; }
.ss-footer-bottom { align-items: center; border-top: 1px solid rgba(255,255,255,.13); display: flex; flex-wrap: wrap; gap: 1rem 2rem; justify-content: space-between; margin-top: 60px; padding: 22px 0; }
.ss-footer-bottom span { color: var(--ss-footer-text); font-size: .84rem; opacity: .75; }

.alignwide { margin-left: auto; margin-right: auto; max-width: 1320px; }
.alignfull { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); max-width: 100vw; width: 100vw; }

.ss-animate { opacity: 0; transition: opacity .65s ease, transform .65s cubic-bezier(.2,.75,.25,1); }
.ss-fade-up { transform: translateY(24px); }
.ss-scale-in { transform: scale(.97); }
.ss-animate.is-visible { opacity: 1; transform: none; }

@media (max-width: 1199.98px) {
	.ss-header-shell { min-height: 72px; }
	.ss-main-menu { gap: .25rem !important; }
	.ss-main-menu a { font-size: .86rem; }
	.ss-guarantee-box { grid-template-columns: auto 1fr; }
	.ss-guarantee-box .btn { grid-column: 2; justify-self: start; }
}

@media (max-width: 991.98px) {
	body.admin-bar .ss-floating-header { top: 32px; }
	.ss-floating-header { padding: 10px 0; }
	.ss-header-shell { border-radius: 22px; padding: .45rem .7rem; }
	.ss-logo-wrap { max-width: 150px; }
	.ss-logo-image { max-height: 56px; }
	.ss-mobile-menu { gap: .2rem; }
	.ss-mobile-menu a { border-bottom: 1px solid var(--ss-border); font-size: 1.05rem; padding: .85rem 0; }
	.ss-cleaning-visual { min-height: 400px; }
	.ss-post-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 767.98px) {
	body.admin-bar .ss-floating-header { top: 46px; }
	.ss-section { padding: 64px 0; }
	.ss-trust-item { align-items: flex-start; flex-direction: column; font-size: .88rem; gap: .25rem; text-align: left; }
	.ss-cleaning-visual { min-height: 330px; }
	.ss-cleaning-stat { bottom: 20px; left: 20px; }
	.ss-guarantee-box { grid-template-columns: 1fr; text-align: left; }
	.ss-guarantee-box .btn { grid-column: auto; justify-self: stretch; }
	.ss-guarantee-icon { height: 70px; width: 70px; }
	.ss-footer-bottom { align-items: flex-start; flex-direction: column; }
	.ss-post-grid { grid-template-columns: 1fr; }
}

@media (max-width: 575.98px) {
	h1 { font-size: clamp(2.3rem, 13vw, 3.5rem); }
	h2 { font-size: clamp(1.8rem, 9vw, 2.55rem); }
	.container { --bs-gutter-x: 1.35rem; }
	.btn { width: 100%; }
	.ss-header-shell .btn { width: auto; }
	.ss-logo-wrap { max-width: 128px; }
	.ss-logo-image { max-height: 50px; }
	.ss-cleaning-visual { border-radius: 30px; min-height: 290px; }
	.ss-cleaning-stat { padding: 12px 16px; }
	.ss-cleaning-stat strong { font-size: 1.35rem; }
	.ss-area-pills span { font-size: .88rem; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
