/* Erith Cleaning landing blocks */
html { scroll-behavior: smooth; }
body.ec-blank { margin: 0; background: #F8FAFC; }
.ec-page { display: block; }

.ec.ec { width: 100%; max-width: none !important; margin-top: 0 !important; margin-bottom: 0 !important; margin-left: 0; margin-right: 0; font-family: "Nunito Sans", system-ui, sans-serif; line-height: 1.5; color: #1B1713; -webkit-font-smoothing: antialiased; }
.ec *, .ec *::before, .ec *::after { box-sizing: border-box; }
.ec h1, .ec h2, .ec h3, .ec p, .ec figure, .ec blockquote { margin: 0; padding: 0; }
.ec blockquote { border: 0; background: none; font-style: normal; quotes: none; }
.ec blockquote::before, .ec blockquote::after { content: none; }
.ec a { text-decoration: none; color: inherit; box-shadow: none; }
.ec img { max-width: none; border: 0; }
.ec button { font: inherit; text-transform: none; letter-spacing: normal; box-shadow: none; }
.ec [hidden] { display: none !important; }

/* Shared */
.ec-eyebrow { font-family: Poppins, sans-serif; font-size: 14px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #F2571B; margin-bottom: 8px; line-height: 1.5; }
.ec-eyebrow--sm { font-size: 13px; margin-bottom: 6px; }
.ec .ec-h2 { font-family: Poppins, sans-serif; font-weight: 700; font-size: clamp(30px, 3.6vw, 42px); line-height: 1.12; letter-spacing: -.02em; text-wrap: balance; }
.ec-stars { color: #FFB400; font-size: 14px; letter-spacing: 2px; line-height: 1; }
.ec-stars--lg { font-size: 15px; }
.ec-btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.ec .ec-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-family: Poppins, sans-serif; font-weight: 700; font-size: 16px; line-height: 1.3; padding: 12.5px 22px; border-radius: 4px; border: 1.5px solid #F2571B; background: #F2571B; color: #fff; white-space: nowrap; transition: background .15s, border-color .15s, color .15s; }
.ec .ec-btn:hover { background: #ff6a2c; border-color: #ff6a2c; color: #fff; }
.ec .ec-btn--ghost { background: transparent; border-color: rgba(255,255,255,.35); }
.ec .ec-btn--ghost:hover { background: transparent; border-color: #fff; }
.ec-navy { background-color: #061118; background-image: radial-gradient(420px 340px at 100% 0%, rgba(220,232,255,.16), transparent 70%), radial-gradient(520px 420px at 0% 0%, rgba(205,222,255,.10), transparent 70%), radial-gradient(520px 420px at 100% 100%, rgba(205,222,255,.09), transparent 70%); }
.ec-glass { background: rgba(2,8,12,.35); border: 1px solid rgba(255,255,255,.14); border-radius: 14px; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.ec-scroller { display: grid; grid-template-columns: repeat(var(--ec-n, 5), minmax(200px, 1fr)); gap: 16px; overflow-x: auto; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.35) rgba(255,255,255,.06); padding-bottom: 4px; }
.ec-klarna { display: inline-flex; align-items: center; background: #FFB3C7; color: #0B051D; font-family: Poppins, sans-serif; font-weight: 800; font-size: 18px; letter-spacing: -.02em; line-height: 1; padding: 8px 13px; border-radius: 6px; }
.ec-klarna--lg { font-size: 22px; padding: 10px 16px; border-radius: 7px; }

/* Animated background (services + reviews) */
.ec-fx { position: relative; overflow: hidden; }
.ec-fx::before { content: ""; position: absolute; left: 6%; top: -30%; width: 640px; height: 640px; border-radius: 50%; background: radial-gradient(closest-side, rgba(200,218,255,.26), transparent); filter: blur(8px); animation: ec-float 27s ease-in-out infinite; pointer-events: none; }
.ec-fx::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(90deg, rgba(205,222,255,.14) 0 1px, transparent 1px 40px); animation: ec-px 21s linear infinite; pointer-events: none; }
@keyframes ec-px { to { background-position: 40px 0; } }
@keyframes ec-float { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(40px, 30px); } }
@keyframes ec-hero-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

/* Header */
.ec.ec-header { position: sticky; top: 0; z-index: 50; border-bottom: 2px solid #F2571B; font-family: Poppins, sans-serif; color: #fff; }
.admin-bar .ec.ec-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .ec.ec-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .ec.ec-header { top: 0; } }
.ec-header__bar { background: #061118; border-bottom: 1px solid rgba(255,255,255,.1); }
.ec-header__inner { max-width: 1280px; margin: 0 auto; height: 80px; padding: 0 28px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 20px; }
.ec-header__logo { display: block; height: 50px; }
.ec-header__logo img { display: block; height: 50px; width: auto; }
.ec-header__nav { display: flex; align-items: center; justify-content: center; white-space: nowrap; gap: clamp(14px, 1.8vw, 26px); min-width: 0; font-size: 14.5px; font-weight: 500; }
.ec .ec-header__nav a { color: #fff; padding: 6px 0; border-bottom: 2px solid transparent; transition: border-color .15s; }
.ec .ec-header__nav a:hover, .ec .ec-header__nav a.is-active { border-bottom-color: #F2571B; }
.ec-header__right { display: flex; align-items: center; justify-content: flex-end; gap: 16px; }
.ec .ec-header__menu { display: none; align-items: center; gap: 8px; background: transparent; border: 1px solid rgba(255,255,255,.25); color: #fff; border-radius: 4px; padding: 10px 14px; cursor: pointer; font-family: Poppins, sans-serif; font-weight: 600; font-size: 14.5px; line-height: 1; }
.ec-burger { display: grid; gap: 4px; }
.ec-burger span { display: block; width: 18px; height: 2px; background: #fff; }
.ec-header__call { display: grid; gap: 3px; justify-items: end; text-align: right; white-space: nowrap; }
.ec-header__hours { font-size: 13px; font-weight: 600; line-height: 1.3; color: rgba(255,255,255,.9); }
.ec .ec-header__phone { font-weight: 800; font-size: 27px; line-height: 1; letter-spacing: -.01em; color: #fff; }
.ec .ec-header__phone:hover { color: #F2571B; }
.ec .ec-header__cta { display: grid; text-align: center; line-height: 1.1; padding: 7px 16px; border-radius: 4px; white-space: nowrap; border: 1.5px solid #F2571B; color: #fff; transition: background .15s; }
.ec .ec-header__cta:hover { background: #F2571B; color: #fff; }
.ec-header__cta span:first-child { font-size: 12px; font-weight: 600; }
.ec-header__cta span:last-child { font-size: 16px; font-weight: 700; }
.ec .ec-header__icon { display: none; place-items: center; width: 44px; height: 44px; border-radius: 4px; background: #F2571B; color: #fff; }
.ec-header__mobile { background: #061118; border-bottom: 1.5px solid #F2571B; display: grid; padding: 6px 28px 14px; font-size: 16px; font-weight: 600; }
.ec .ec-header__mobile a { color: #fff; padding: 13px 0; border-top: 1px solid rgba(255,255,255,.1); }
.ec .ec-header__mobile a:hover { color: #F2571B; }
@media (max-width: 1099px) {
	.ec-header__inner { grid-template-columns: auto minmax(0,1fr); }
	.ec-header__nav { display: none; }
	.ec .ec-header__menu { display: flex; }
}
@media (max-width: 639px) {
	.ec-header__inner { padding: 0 16px; gap: 12px; }
	.ec-header__mobile { padding: 6px 16px 14px; }
	.ec-header__call, .ec .ec-header__cta { display: none; }
	.ec .ec-header__icon { display: grid; }
	.ec-header__logo, .ec-header__logo img { height: 42px; }
}

/* Hero */
.ec.ec-hero { position: relative; background: #1B1713; display: flex; align-items: center; color: #fff; overflow: hidden; }
.ec-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .9; }
.ec-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6,17,24,.9) 0%, rgba(6,17,24,.78) 50%, rgba(6,17,24,.6) 100%); }
.ec-hero__inner { position: relative; width: 100%; max-width: 1280px; margin: 0 auto; padding: clamp(56px, 7vw, 88px) 24px clamp(100px, 10vw, 140px); }
.ec-hero__content { width: 100%; max-width: 760px; display: flex; flex-direction: column; align-items: flex-start; animation: ec-hero-in .7s cubic-bezier(.2,.7,.2,1) both; }
.ec .ec-hero h1 { font-family: Poppins, sans-serif; font-weight: 700; font-size: clamp(36px, 5vw, 60px); line-height: 1.08; letter-spacing: -.025em; margin: 0 0 18px; max-width: 18ch; color: #fff; text-wrap: balance; }
.ec-hero h1 span { color: #F2571B; }
.ec .ec-hero__text { font-size: clamp(17px, 1.6vw, 20px); line-height: 1.6; color: #fff; opacity: .86; max-width: 58ch; text-wrap: pretty; }
.ec-hero__btns { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 28px; }
.ec .ec-hero__btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 46px; width: 290px; max-width: 100%; padding: 0 18px; white-space: nowrap; font-family: Poppins, sans-serif; font-weight: 700; font-size: 15px; border-radius: 5px; background: #F2571B; border: 1.5px solid #F2571B; color: #fff; box-shadow: 0 8px 18px rgba(242,87,27,.25); transition: background .15s, border-color .15s; }
.ec .ec-hero__btn:hover { background: #ff6a2c; color: #fff; }
.ec .ec-hero__btn--dark { background: #061118; border-color: rgba(255,255,255,.28); box-shadow: none; }
.ec .ec-hero__btn--dark:hover { background: #061118; border-color: #F2571B; }
.ec-hero__wave { position: absolute; left: 0; right: 0; bottom: -1px; width: 100%; height: clamp(44px, 6vw, 90px); display: block; pointer-events: none; }
@media (max-width: 639px) { .ec .ec-hero__btn { width: 100%; } }

/* Window cleaning & prices */
.ec.ec-pricing { background: #F8FAFC; scroll-margin-top: 82px; }
.ec-pricing__grid { max-width: 1280px; margin: 0 auto; padding: 64px 28px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: 38px; align-items: stretch; }
.ec .ec-pricing .ec-h2 { margin: 0 0 22px; color: #1B1713; }
.ec .ec-pricing__text { font-size: 18px; line-height: 1.6; color: #4B4238; margin: 0 0 18px; max-width: 46ch; }
.ec-guarantee { display: flex; gap: 16px; align-items: center; border-radius: 10px; padding: 16px 18px; max-width: 560px; background: #FEF2ED; }
.ec-guarantee__icon { flex: none; display: block; }
.ec-guarantee__title { font-family: Poppins, sans-serif; font-weight: 700; font-size: 17px; color: #1B1713; margin-bottom: 4px; }
.ec .ec-guarantee p { font-size: 15.5px; line-height: 1.55; color: #4B4238; }
.ec-table { display: flex; flex-direction: column; background: #fff; border-radius: 10px; overflow: hidden; border: 1px solid #DDE3E8; }
.ec-table__head, .ec-table__row { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr); }
.ec-table__head { background: #061118; color: #fff; border-bottom: 2px solid #F2571B; }
.ec-table__head > div { padding: 12px; text-align: center; }
.ec-table__head > div + div { border-left: 1px solid rgba(255,255,255,.12); }
.ec-table__head .ec-table__label { padding: 12px 16px; display: flex; align-items: center; justify-content: center; font-family: Poppins, sans-serif; font-weight: 700; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; }
.ec-table__top { font-family: Poppins, sans-serif; font-weight: 700; font-size: 14px; }
.ec-table__sub { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #F2571B; }
.ec-table__row { flex: 1 1 auto; border-top: 1px solid #E6EAEE; color: #1B1713; }
.ec-table__head + .ec-table__row { border-top: 0; }
.ec-table__row:nth-child(odd) { background: #F4F6F8; }
.ec-table__name { padding: 8px 16px; display: flex; flex-direction: column; justify-content: center; font-family: Poppins, sans-serif; font-weight: 600; font-size: 15.5px; line-height: 1.3; }
.ec-table__name span { display: block; font-size: 12.5px; font-weight: 500; color: #5E6B75; }
.ec-table__price { padding: 8px 12px; display: flex; align-items: center; justify-content: center; font-family: Poppins, sans-serif; font-weight: 700; font-size: 17px; }
.ec-table__price--both { color: #061118; background: rgba(242,87,27,.08); }
.ec-results { grid-column: 1 / -1; border-radius: 12px; padding: 22px; display: flex; flex-wrap: wrap; gap: 22px; align-items: stretch; color: #fff; }
.ec-results__copy { flex: 1 1 220px; min-width: 0; display: grid; gap: 10px; align-content: center; }
.ec-results__copy .ec-eyebrow { margin: 0; }
.ec-results__title { font-family: Poppins, sans-serif; font-weight: 700; font-size: 24px; line-height: 1.2; color: #fff; text-wrap: balance; }
.ec .ec-results__copy p { font-size: 15.5px; line-height: 1.55; color: rgba(255,255,255,.78); text-wrap: pretty; }
.ec-results__photos { flex: 2 1 420px; min-width: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 10px; align-items: stretch; }
.ec-pair { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; min-width: 0; }
.ec-photo { position: relative; min-height: 200px; min-width: 0; border-radius: 10px; overflow: hidden; background: rgba(255,255,255,.06); }
.ec .ec-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ec-photo__tag { position: absolute; top: 10px; left: 10px; z-index: 2; pointer-events: none; font-family: Poppins, sans-serif; font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 5px 10px; border-radius: 3px; color: #fff; background: #1B1713; }
.ec-photo__tag--after { background: #F2571B; }
.ec-photo__empty { position: absolute; inset: 0; display: grid; place-items: center; padding: 40px 12px 12px; text-align: center; font-size: 13px; color: rgba(255,255,255,.55); }

/* What we clean */
.ec.ec-services { background: #061118; color: #fff; }
.ec-services__inner { position: relative; z-index: 1; max-width: 1440px; margin: 0 auto; padding: 64px 28px; scroll-margin-top: 82px; }
.ec-services__head { margin-bottom: 20px; max-width: 640px; }
.ec .ec-services .ec-h2 { color: #F8FAFC; }
.ec .ec-services__head p { font-size: 18px; line-height: 1.6; color: rgba(255,255,255,.7); margin: 10px 0 0; max-width: 60ch; text-wrap: pretty; }
.ec-service { padding: 8px; display: flex; flex-direction: column; }
.ec-service__img { width: 100%; height: 130px; border-radius: 9px; background: #16242d center / cover no-repeat; }
.ec-service__body { padding: 12px 6px 6px; display: flex; flex-direction: column; flex: 1; gap: 6px; }
.ec .ec-service h3 { font-family: Poppins, sans-serif; font-weight: 700; font-size: 17px; line-height: 1.3; color: #fff; }
.ec .ec-service p { font-size: 14px; line-height: 1.5; color: rgba(255,255,255,.7); margin: 0 0 6px; }
.ec-service__price { margin-top: auto; font-family: Poppins, sans-serif; font-weight: 700; font-size: 14px; color: #F2571B; }
.ec-klarna-note { margin-top: 16px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; padding: 14px 18px; }
.ec .ec-klarna-note p { flex: 1 1 280px; font-size: 15px; line-height: 1.5; color: rgba(255,255,255,.85); }
.ec-klarna-note strong { color: #fff; font-family: Poppins, sans-serif; font-weight: 700; }

/* Areas covered */
.ec.ec-areas { position: relative; padding: 64px 28px; scroll-margin-top: 82px; background-size: cover; background-position: center; }
.ec-areas__inner { max-width: 1224px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 16px; align-items: stretch; }
.ec-areas__card { flex: 1 1 260px; min-width: 0; border-radius: 12px; padding: 24px; display: flex; flex-direction: column; gap: 14px; color: #fff; }
.ec .ec-areas__card h2 { font-family: Poppins, sans-serif; font-weight: 700; font-size: clamp(26px, 3vw, 34px); line-height: 1.12; letter-spacing: -.02em; color: #fff; }
.ec .ec-areas__card p { font-size: 16px; line-height: 1.55; color: rgba(255,255,255,.8); }
.ec-areas__cta { margin-top: auto; padding-top: 6px; display: flex; }
.ec .ec-areas__cta .ec-btn { flex: 1 1 auto; text-align: center; white-space: normal; text-wrap: balance; padding: 12.5px 18px; }
.ec-areas__groups { flex: 2 1 520px; min-width: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); gap: 10px; align-items: stretch; }
.ec-area { background: #fff; border: 1px solid #DCD1C1; border-radius: 10px; overflow: hidden; }
.ec-area__head { background: #061118; color: #fff; padding: 10px 14px; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 10px; }
.ec-area__name { font-family: Poppins, sans-serif; font-weight: 700; font-size: 16px; }
.ec-area__count { font-family: Poppins, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #F2571B; white-space: nowrap; }
.ec-area__list { padding: 6px 14px 10px; display: grid; gap: 2px; }
.ec-area__row { display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 8px; padding: 6px; align-items: baseline; border-radius: 4px; }
.ec-area__code { font-family: Poppins, sans-serif; font-weight: 800; font-size: 13.5px; color: #F2571B; }
.ec-area__town { font-size: 13.5px; line-height: 1.4; color: #4B4238; min-width: 0; overflow-wrap: break-word; }

/* Reviews */
.ec.ec-reviews { color: #fff; background: #061118; scroll-margin-top: 82px; }
.ec-reviews__inner { position: relative; z-index: 1; max-width: 1440px; margin: 0 auto; padding: 64px 28px; }
.ec-reviews__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px; margin-bottom: 20px; }
.ec .ec-reviews .ec-h2 { color: #fff; }
.ec-reviews .ec-h2 span { color: #F2571B; }
.ec .ec-pill { display: inline-flex; align-items: center; gap: 12px; border-radius: 999px; padding: 10px 18px; color: #fff; font-family: Poppins, sans-serif; font-weight: 600; font-size: 15px; transition: border-color .15s; }
.ec a.ec-pill:hover { border-color: #F2571B; color: #fff; }
.ec-pill__arrow { color: #F2571B; }
.ec-review { padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.ec .ec-review blockquote { font-size: 14.5px; line-height: 1.5; color: rgba(255,255,255,.88); text-wrap: pretty; }
.ec-review figcaption { margin-top: auto; display: flex; align-items: center; gap: 10px; }
.ec-review__avatar { width: 34px; height: 34px; flex: none; border-radius: 50%; background: #F2571B; color: #fff; display: flex; align-items: center; justify-content: center; font-family: Poppins, sans-serif; font-weight: 700; font-size: 14px; }
.ec-review__name { font-family: Poppins, sans-serif; font-weight: 600; font-size: 14px; }
.ec-review__meta { font-size: 13px; color: rgba(255,255,255,.5); }

/* FAQs */
.ec.ec-faq { background: #F8FAFC; scroll-margin-top: 82px; }
.ec-faq__inner { max-width: 1280px; margin: 0 auto; padding: 64px 28px; }
.ec-faq__head { margin-bottom: 28px; }
.ec .ec-faq .ec-h2 { color: #1B1713; }
.ec-faq__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr)); gap: 24px 28px; align-items: stretch; }
.ec-faq__list { display: grid; gap: 2px; align-content: start; }
.ec .ec-faq__q { width: 100%; display: flex; align-items: center; gap: 16px; text-align: left; border: 0; cursor: pointer; border-radius: 10px; padding: 16px 20px; font-family: Poppins, sans-serif; font-weight: 600; font-size: 17px; line-height: 1.35; color: #1B1713; background: transparent; transition: background .15s; }
.ec .ec-faq__q:hover, .ec .ec-faq__q.is-active { background: #F2EEE8; color: #1B1713; }
.ec-faq__num { font-weight: 800; font-size: 15px; color: #F2571B; flex: none; min-width: 26px; }
.ec-faq__panel { border-radius: 16px; background-color: #061118; background-image: radial-gradient(520px 380px at 45% 65%, rgba(205,222,255,.10), transparent 70%); color: #fff; padding: 44px 44px 40px; display: flex; flex-direction: column; gap: 16px; min-height: 360px; }
.ec-faq__count { font-family: Poppins, sans-serif; font-size: 14px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #F2571B; }
.ec-faq__item { display: flex; flex-direction: column; gap: 16px; }
.ec .ec-faq__item h3 { font-family: Poppins, sans-serif; font-weight: 700; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.2; letter-spacing: -.01em; color: #fff; }
.ec .ec-faq__item p { font-size: 17px; line-height: 1.7; color: rgba(255,255,255,.85); max-width: 56ch; }
.ec .ec-faq__item a { align-self: flex-start; color: #fff; font-weight: 700; text-decoration: underline; font-size: 16px; }
.ec-faq__nav { display: flex; gap: 12px; margin-top: auto; padding-top: 12px; }
.ec .ec-faq__arrow { width: 48px; height: 48px; padding: 0; border-radius: 50%; border: 1.5px solid #fff; background: transparent; color: #fff; font-size: 20px; line-height: 1; cursor: pointer; display: grid; place-items: center; transition: background .15s, border-color .15s; }
.ec .ec-faq__arrow:hover { background: #F2571B; border-color: #F2571B; color: #fff; }
@media (max-width: 639px) { .ec-faq__panel { padding: 28px 22px; min-height: 0; } }

/* Klarna bar */
.ec.ec-klarna-bar { background: #F2571B; color: #fff; }
.ec-klarna-bar__inner { max-width: 1280px; margin: 0 auto; padding: 6px 28px; min-height: 96px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 28px; }
.ec-klarna-bar__left { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; }
.ec-klarna-bar__copy { display: grid; gap: 2px; }
.ec .ec-klarna-bar h2 { font-family: Poppins, sans-serif; font-weight: 800; font-size: 22px; line-height: 1.15; letter-spacing: -.01em; color: #fff; }
.ec .ec-klarna-bar p { font-size: 15px; line-height: 1.5; color: #fff; }
.ec-tag { display: inline-flex; align-items: center; background: #1B1713; color: #fff; font-family: Poppins, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 8px 14px; border-radius: 4px; }
@media (max-width: 639px) { .ec-klarna-bar__inner { padding: 20px 18px; } }

/* Contact */
.ec.ec-contact { position: relative; overflow: hidden; background-color: #061118; color: #fff; scroll-margin-top: 82px; }
.ec-contact__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .9; }
.ec-contact__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6,17,24,.88) 0%, rgba(6,17,24,.68) 45%, rgba(6,17,24,.22) 78%, rgba(6,17,24,.1) 100%), linear-gradient(0deg, rgba(6,17,24,.7) 0%, rgba(6,17,24,0) 28%), linear-gradient(180deg, rgba(6,17,24,.45) 0%, rgba(6,17,24,0) 22%), radial-gradient(ellipse 120% 90% at 60% 45%, rgba(6,17,24,0) 55%, rgba(6,17,24,.45) 100%); }
.ec-contact__inner { position: relative; max-width: 1280px; margin: 0 auto; padding: 64px 28px; display: flex; flex-wrap: wrap; gap: 32px 48px; align-items: stretch; }
.ec-contact__copy { flex: 1 1 300px; min-width: 0; display: grid; gap: 18px; align-content: start; }
.ec .ec-contact__copy h2 { font-family: Poppins, sans-serif; font-weight: 700; font-size: clamp(28px, 3vw, 36px); line-height: 1.15; letter-spacing: -.02em; color: #fff; text-wrap: balance; }
.ec .ec-contact__text { font-size: 16px; line-height: 1.6; color: rgba(255,255,255,.8); max-width: 52ch; text-wrap: pretty; }
.ec-box { padding: 16px 18px; border-radius: 10px; background: rgba(6,17,24,.6); border: 1px solid rgba(255,255,255,.14); }
.ec-steps { display: grid; gap: 12px; }
.ec-steps__title { font-family: Poppins, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #9A8F80; }
.ec-steps__list { display: grid; gap: 12px; }
.ec-step { display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 12px; align-items: start; }
.ec-step__n { width: 32px; height: 32px; border-radius: 50%; background: #F2571B; color: #fff; display: grid; place-items: center; font-family: Poppins, sans-serif; font-weight: 700; font-size: 15px; }
.ec-step__t { font-family: Poppins, sans-serif; font-weight: 700; font-size: 16px; color: #fff; }
.ec-step__d { font-size: 15px; line-height: 1.5; color: rgba(255,255,255,.75); }
.ec-callbox { padding: 18px 20px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 20px; }
.ec .ec-callbox__link { display: flex; align-items: center; gap: 14px; color: #fff; transition: color .15s; }
.ec .ec-callbox__link:hover { color: #F2571B; }
.ec-callbox__icon { flex: none; width: 44px; height: 44px; border-radius: 50%; background: #F2571B; color: #fff; display: grid; place-items: center; }
.ec-callbox__copy { display: grid; gap: 1px; min-width: 0; }
.ec-callbox__label { font-size: 12.5px; letter-spacing: .06em; color: rgba(255,255,255,.65); white-space: nowrap; }
.ec-callbox__num { font-family: Poppins, sans-serif; font-weight: 800; font-size: 24px; line-height: 1.2; white-space: nowrap; }
.ec-social { display: flex; gap: 10px; }
.ec .ec-social a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); color: #fff; transition: background .15s, border-color .15s; }
.ec .ec-social a:hover { background: #F2571B; border-color: #F2571B; color: #fff; }
.ec-contact__form { flex: 1.65 1 420px; min-width: 0; }
.ec-contact__placeholder { border: 1.5px dashed rgba(255,255,255,.3); border-radius: 10px; padding: 32px; text-align: center; color: rgba(255,255,255,.75); background: rgba(6,17,24,.6); }

/* Footer bar */
.ec.ec-footer { border-top: 1px solid rgba(255,255,255,.1); background: #061118; color: #fff; }
.ec-footer__inner { max-width: 1280px; margin: 0 auto; padding: 6px 28px; min-height: 80px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 0; font-family: Poppins, sans-serif; font-weight: 600; font-size: 13px; }
.ec-footer__item { padding: 0 14px; white-space: nowrap; flex: none; display: flex; align-items: center; gap: 10px; }
.ec-footer__item + .ec-footer__item { border-left: 1px solid rgba(255,255,255,.16); }
.ec-footer__icon { flex: none; display: block; }
.ec .ec-footer a { color: #fff; text-decoration: underline; }
.ec-footer__hl { color: #F2571B; font-weight: 800; }
.ec-sticky { display: none; }
@media (max-width: 639px) {
	.ec-footer__inner { padding: 18px 16px; flex-direction: column; gap: 10px; }
	.ec-footer__item { white-space: normal; text-align: center; }
	.ec-footer__item + .ec-footer__item { border-left: 0; }
	.ec.ec-footer { padding-bottom: 72px; }
	.ec-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: rgba(6,17,24,.94); border-top: 1px solid rgba(255,255,255,.14); display: grid; grid-template-columns: auto minmax(0,1fr); gap: 10px; box-shadow: 0 -6px 20px rgba(0,0,0,.25); transform: translateY(110%); transition: transform .25s ease; }
	.ec-sticky.is-shown { transform: none; }
	.ec .ec-sticky__call { display: flex; align-items: center; gap: 8px; padding: 0 16px; height: 48px; border-radius: 5px; border: 1.5px solid rgba(255,255,255,.3); color: #fff; font-family: Poppins, sans-serif; font-weight: 700; font-size: 15px; text-decoration: none; }
	.ec .ec-sticky__cta { display: flex; align-items: center; justify-content: center; height: 48px; border-radius: 5px; background: #F2571B; color: #fff; font-family: Poppins, sans-serif; font-weight: 700; font-size: 16px; text-decoration: none; }
}

/* Phones */
@media (max-width: 639px) {
	.ec-pricing__grid, .ec-services__inner, .ec-reviews__inner, .ec-faq__inner, .ec-contact__inner { padding: 48px 18px; }
	.ec.ec-areas { padding: 48px 18px; }
	.ec-results { padding: 18px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.ec-fx::before, .ec-fx::after, .ec-hero__content { animation: none; }
}

/* Contact + trust bar fill the screen below the sticky header (82px header, 81px trust bar), so the Klarna bar is hidden after jumping to #contact. */
.ec.ec-contact{min-height:calc(100vh - 163px);min-height:calc(100svh - 163px);display:flex;flex-direction:column;justify-content:center}
.ec.ec-contact>.ec-contact__inner{width:100%}
.admin-bar .ec.ec-contact{min-height:calc(100vh - 195px);min-height:calc(100svh - 195px)}
@media (max-width:639px){.ec.ec-contact{min-height:calc(100svh - 82px)}.admin-bar .ec.ec-contact{min-height:calc(100svh - 128px)}}

/* Privacy policy page: wider reading column */
.ec-policy>*{max-width:1040px!important;margin-left:auto!important;margin-right:auto!important}

/* Mobile: services stacked as compact rows, reviews drift slowly (marquee set up in blocks/reviews/render.php) */
.ec-review.ec-clone{display:none}
@media (max-width:639px){
.ec-services .ec-scroller{display:flex;flex-direction:column;gap:12px;overflow:visible;padding-bottom:0}
.ec-services .ec-service{flex-direction:row;align-items:stretch;gap:12px}
.ec-services .ec-service__img{flex:0 0 112px;width:112px;height:auto;min-height:112px}
.ec-services .ec-service__body{flex:1;min-width:0;display:flex;flex-direction:column}
.ec-reviews .ec-reviews__inner{overflow:hidden}
.ec-reviews .ec-scroller.ec-marquee{display:flex;gap:0;width:max-content;overflow:visible;padding-bottom:0;animation:ec-marquee var(--ec-marquee-dur,55s) linear infinite}
.ec-reviews .ec-marquee .ec-review{flex:0 0 auto;width:min(78vw,320px);margin-right:14px}
.ec-reviews .ec-marquee .ec-review.ec-clone{display:flex}
.ec-reviews .ec-marquee.is-paused{animation-play-state:paused}
}
@keyframes ec-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ec-reviews .ec-scroller.ec-marquee{animation:none;width:auto;overflow-x:auto}.ec-reviews .ec-marquee .ec-review.ec-clone{display:none}}

/* Hide the price line on service cards when it is left blank */
.ec-service__price:empty{display:none}

/* Map credit required by OpenStreetMap for the Areas background */
.ec.ec-areas::after{content:"\00A9 OpenStreetMap contributors";position:absolute;right:10px;bottom:6px;font-size:10px;line-height:1;color:rgba(0,0,0,.55);pointer-events:none}

/* Areas map: smaller image on phones, full-size on wider screens (URLs set inline by blocks/areas/render.php) */
.ec.ec-areas{background-image:linear-gradient(rgba(247,242,234,.5),rgba(247,242,234,.5)),var(--ec-map-sm,none)}
@media (min-width:768px){.ec.ec-areas{background-image:linear-gradient(rgba(247,242,234,.5),rgba(247,242,234,.5)),var(--ec-map-lg,none)}}

/* Service card photos: URLs set inline by blocks/services/render.php; phones get the 300px copy */
.ec-service__img{background-image:var(--ec-img,none)}
@media (max-width:639px){.ec-service__img{background-image:var(--ec-img-sm,var(--ec-img,none))}}

/* Real results: one pair on phones (lazy-loaded photos in the hidden pair are not downloaded) */
@media (max-width:639px){.ec-results__photos .ec-pair:nth-child(n+2){display:none}}

/* WhatsApp: button in the mobile bar and a box under the phone box in the contact section */
.ec-sticky{grid-template-columns:auto auto minmax(0,1fr)}
.ec .ec-sticky__wa{display:flex;align-items:center;gap:6px;padding:0 12px;height:48px;border-radius:5px;background:#1f8f4e;color:#fff;font-family:Poppins,sans-serif;font-weight:700;font-size:15px;text-decoration:none}
.ec .ec-sticky__cta{white-space:nowrap}

/* WhatsApp pill in the contact call box, alongside the Facebook and Instagram icons */
.ec-social{flex-wrap:wrap;align-items:center}
.ec .ec-social a.ec-social__wa{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;min-width:0;height:44px;padding:0 14px;border-radius:22px;background:#1f8f4e;border:0;color:#fff;font-family:Poppins,sans-serif;font-weight:700;font-size:14px;line-height:1;text-decoration:none;white-space:nowrap}
.ec .ec-social a.ec-social__wa:hover{background:#1a7a43}

/* Call box: call link, WhatsApp pill and social icons on one row */
.ec .ec-callbox{column-gap:10px}
.ec .ec-callbox .ec-social{gap:6px}
.ec .ec-callbox .ec-social a{width:40px;height:40px}
.ec .ec-callbox .ec-social a.ec-social__wa{width:auto;height:40px;padding:0 10px;font-size:13.5px}
.ec .ec-callbox .ec-social a.ec-social__wa svg{display:none}

/* Footer: privacy shows as text on desktop; on phones the trust items hide and privacy becomes an icon */
.ec-footer__privacy-icon{display:none}
@media (max-width:639px){
.ec-footer__item--trust{display:none!important}
.ec-footer__privacy-text{display:none}
.ec-footer__privacy-icon{display:block}
.ec .ec-footer__privacy{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.25);color:inherit}
.ec .ec-footer__inner{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;gap:12px}
}

/* Mobile: bar shows from the start (hidden over the contact section); header keeps just logo + menu; WhatsApp wide, Get your price compact */
@media (max-width:639px){
.ec .ec-header__icon{display:none}
.ec-sticky{transform:none;grid-template-columns:auto minmax(0,1fr) auto}
.ec-sticky.is-hidden{transform:translateY(110%)}
.ec .ec-sticky__wa{justify-content:center;font-size:16px}
.ec .ec-sticky__cta{padding:0 11px;font-size:13.5px}
}

/* No underlines on button-style links (bottom bar, call box, WhatsApp, privacy icon) */
.ec .ec-sticky a,.ec .ec-sticky a:hover,.ec .ec-sticky a:focus,.ec a.ec-callbox__link,.ec .ec-social a,.ec a[class*="__btn"],.ec a[class*="__cta"]{text-decoration:none!important}
@media (max-width:639px){.ec a.ec-footer__privacy{text-decoration:none!important}}

/* Mobile bar: three equal buttons */
@media (max-width:639px){
.ec-sticky{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ec .ec-sticky a{justify-content:center;gap:6px;padding:0 6px;font-size:14px;white-space:nowrap}
}
@media (max-width:380px){.ec .ec-sticky a{font-size:13px;gap:4px}.ec .ec-sticky a svg{width:16px;height:16px}}
@media (max-width:350px){.ec .ec-sticky a svg{display:none}}
