/*
Theme Name: Ремонт Перални София
Theme URI: https://remontperalnisofia.com/
Author: Codex
Description: Модерна, бърза и адаптивна тема за сервиз за перални и бяла техника в София.
Version: 1.1.0
Requires at least: 4.1
Tested up to: 6.7
Requires PHP: 5.2.4
Text Domain: remont-peralni-sofia
*/

:root {
  --rps-ink: #0b1f33;
  --rps-navy: #102c48;
  --rps-blue: #0b72e7;
  --rps-blue-dark: #0759b5;
  --rps-cyan: #22c7d7;
  --rps-lime: #c8f45a;
  --rps-paper: #f4f9fd;
  --rps-white: #ffffff;
  --rps-muted: #5e7185;
  --rps-line: #dbe7f0;
  --rps-shadow: 0 24px 70px rgba(11, 31, 51, .12);
  --rps-radius: 24px;
  --rps-width: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--rps-ink);
  background: var(--rps-white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.admin-bar .site-header { top: 32px; }
a { color: var(--rps-blue); text-decoration: none; }
a:hover { color: var(--rps-blue-dark); }
img { max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip-link:focus {
  clip: auto; width: auto; height: auto; top: 10px; left: 10px; z-index: 10000;
  padding: 10px 16px; background: var(--rps-white); color: var(--rps-ink); border-radius: 8px;
}
.rps-container { width: min(calc(100% - 40px), var(--rps-width)); margin-inline: auto; }
.rps-section { padding: 100px 0; }
.rps-section--soft { background: var(--rps-paper); }
.rps-section--dark { color: var(--rps-white); background: var(--rps-ink); }
.rps-kicker {
  display: inline-flex; align-items: center; gap: 9px; margin: 0 0 14px;
  color: var(--rps-blue); font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
}
.rps-kicker::before { content: ""; width: 26px; height: 3px; border-radius: 99px; background: var(--rps-cyan); }
.rps-section--dark .rps-kicker { color: var(--rps-cyan); }
.rps-title {
  margin: 0; max-width: 760px; font-size: clamp(2rem, 4vw, 3.55rem); line-height: 1.08; letter-spacing: -.045em;
}
.rps-lead { max-width: 720px; margin: 22px 0 0; color: var(--rps-muted); font-size: 1.1rem; }
.rps-section--dark .rps-lead { color: #b9cad8; }
.rps-section-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 48px; }
.rps-section-head__copy { max-width: 760px; }

.rps-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 54px; padding: 0 24px; border: 1px solid transparent; border-radius: 999px;
  background: var(--rps-blue); color: var(--rps-white); font-weight: 800; line-height: 1;
  box-shadow: 0 12px 28px rgba(11, 114, 231, .25); transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.rps-btn:hover { color: var(--rps-white); background: var(--rps-blue-dark); transform: translateY(-2px); box-shadow: 0 16px 34px rgba(11, 114, 231, .32); }
.rps-btn--light { background: var(--rps-white); color: var(--rps-ink); box-shadow: none; }
.rps-btn--light:hover { color: var(--rps-ink); background: #eaf6ff; }
.rps-btn--ghost { color: var(--rps-ink); background: transparent; border-color: #bfd0dd; box-shadow: none; }
.rps-btn--ghost:hover { color: var(--rps-blue); background: var(--rps-paper); box-shadow: none; }
.rps-btn svg { width: 20px; height: 20px; }

.rps-topbar { position: relative; z-index: 50; color: #dceaf4; background: #071726; font-size: .82rem; }
.rps-topbar__inner { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.rps-topbar__group { display: flex; align-items: center; gap: 24px; }
.rps-topbar a { color: #dceaf4; }
.rps-topbar a:hover { color: var(--rps-cyan); }
.rps-topbar strong { color: var(--rps-lime); }
.site-header {
  position: sticky; top: 0; z-index: 40; background: rgba(255,255,255,.94); border-bottom: 1px solid rgba(219,231,240,.8);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
}
.rps-header__inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.rps-brand { display: flex; align-items: center; gap: 12px; color: var(--rps-ink); min-width: max-content; }
.rps-brand:hover { color: var(--rps-ink); }
.rps-brand__mark {
  position: relative; display: grid; place-items: center; width: 45px; height: 45px; border-radius: 13px;
  color: var(--rps-white); background: linear-gradient(145deg, var(--rps-blue), var(--rps-cyan)); box-shadow: 0 9px 20px rgba(11,114,231,.22);
}
.rps-brand__mark svg { width: 27px; height: 27px; }
.rps-brand__copy { display: grid; line-height: 1.05; }
.rps-brand__copy strong { font-size: .98rem; letter-spacing: -.02em; }
.rps-brand__copy span { margin-top: 6px; color: var(--rps-muted); font-size: .68rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.rps-nav { margin-left: auto; }
.rps-nav ul { display: flex; align-items: center; gap: 28px; margin: 0; padding: 0; list-style: none; }
.rps-nav a { position: relative; color: var(--rps-ink); font-size: .88rem; font-weight: 750; }
.rps-nav a::after { content: ""; position: absolute; right: 0; bottom: -8px; left: 0; height: 2px; background: var(--rps-blue); transform: scaleX(0); transition: transform .2s ease; }
.rps-nav a:hover::after, .rps-nav .current-menu-item > a::after { transform: scaleX(1); }
.rps-header__call { min-height: 46px; padding: 0 18px; font-size: .88rem; }
.rps-menu-toggle { display: none; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 12px; background: var(--rps-paper); color: var(--rps-ink); }
.rps-menu-toggle span, .rps-menu-toggle::before, .rps-menu-toggle::after { content: ""; display: block; width: 20px; height: 2px; margin: 4px auto; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
.rps-menu-toggle.is-open span { opacity: 0; }
.rps-menu-toggle.is-open::before { transform: translateY(6px) rotate(45deg); }
.rps-menu-toggle.is-open::after { transform: translateY(-6px) rotate(-45deg); }

.rps-hero {
  position: relative; overflow: hidden; color: var(--rps-white); background:
    radial-gradient(circle at 82% 24%, rgba(34,199,215,.24), transparent 26%),
    radial-gradient(circle at 18% 100%, rgba(11,114,231,.28), transparent 34%),
    linear-gradient(128deg, #071827 0%, #0d2943 55%, #0c3752 100%);
}
.rps-hero::before {
  content: ""; position: absolute; inset: 0; opacity: .13;
  background-image: linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px);
  background-size: 44px 44px; mask-image: linear-gradient(to right, #000, transparent 72%);
}
.rps-hero__inner { position: relative; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 70px; min-height: 680px; padding: 86px 0 92px; }
.rps-hero__eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 22px; color: var(--rps-lime); font-size: .78rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.rps-hero__eyebrow::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--rps-lime); box-shadow: 0 0 0 6px rgba(200,244,90,.12); }
.rps-hero h1 { margin: 0; max-width: 760px; font-size: clamp(2.75rem, 6vw, 5.4rem); line-height: .98; letter-spacing: -.06em; }
.rps-hero h1 em { color: var(--rps-cyan); font-style: normal; }
.rps-hero__text { max-width: 650px; margin: 26px 0 0; color: #c8d8e4; font-size: clamp(1rem, 1.7vw, 1.18rem); }
.rps-hero__actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 34px; }
.rps-hero__proof { display: flex; flex-wrap: wrap; gap: 24px; margin: 32px 0 0; padding: 0; list-style: none; color: #dceaf4; font-size: .84rem; font-weight: 700; }
.rps-hero__proof li { display: flex; align-items: center; gap: 8px; }
.rps-check { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; color: var(--rps-ink); background: var(--rps-lime); font-size: .72rem; }
.rps-hero__visual { position: relative; min-height: 520px; display: grid; place-items: center; }
.rps-orbit { position: absolute; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; }
.rps-orbit--one { width: 460px; height: 460px; }
.rps-orbit--two { width: 360px; height: 360px; border-style: dashed; animation: rps-spin 24s linear infinite; }
@keyframes rps-spin { to { transform: rotate(360deg); } }
.rps-washer {
  position: relative; z-index: 2; width: min(330px, 80vw); aspect-ratio: .82; padding: 28px;
  border: 1px solid rgba(255,255,255,.48); border-radius: 36px; background: linear-gradient(145deg, #fff, #d9e7ef);
  box-shadow: 0 40px 80px rgba(0,0,0,.35), inset 0 1px 0 #fff; transform: rotate(-3deg);
}
.rps-washer__panel { display: flex; align-items: center; justify-content: space-between; height: 62px; padding: 0 4px; }
.rps-washer__dial { width: 39px; height: 39px; border: 8px solid #bacbd7; border-radius: 50%; background: #eef5f9; box-shadow: inset 0 0 0 3px #fff; }
.rps-washer__screen { width: 86px; height: 27px; border-radius: 7px; background: #0b2437; box-shadow: inset 0 0 14px rgba(34,199,215,.5); }
.rps-washer__buttons { display: flex; gap: 6px; }
.rps-washer__buttons i { display: block; width: 8px; height: 8px; border-radius: 50%; background: #9fb3c1; }
.rps-washer__door { position: relative; width: 220px; height: 220px; margin: 22px auto 0; border: 24px solid #b7c9d5; border-radius: 50%; background: radial-gradient(circle at 38% 30%, #3e7b9e 0, #163d58 38%, #071a29 73%); box-shadow: 0 0 0 8px #edf5f9, inset 0 0 30px #050e16; overflow: hidden; }
.rps-washer__door::before, .rps-washer__door::after { content: ""; position: absolute; border-radius: 46%; background: rgba(34,199,215,.26); }
.rps-washer__door::before { width: 170px; height: 80px; left: -14px; bottom: 20px; transform: rotate(9deg); }
.rps-washer__door::after { width: 145px; height: 60px; right: -35px; bottom: 74px; transform: rotate(-18deg); }
.rps-float-card { position: absolute; z-index: 3; display: flex; align-items: center; gap: 12px; min-width: 190px; padding: 15px 17px; border: 1px solid rgba(255,255,255,.28); border-radius: 17px; color: var(--rps-ink); background: rgba(255,255,255,.94); box-shadow: 0 18px 40px rgba(0,0,0,.22); backdrop-filter: blur(8px); }
.rps-float-card strong { display: block; font-size: .9rem; line-height: 1.2; }
.rps-float-card span { color: var(--rps-muted); font-size: .72rem; }
.rps-float-card__icon { display: grid; place-items: center; width: 39px; height: 39px; flex: 0 0 auto; border-radius: 12px; color: var(--rps-blue); background: #e9f4ff; }
.rps-float-card--top { top: 54px; right: -8px; }
.rps-float-card--bottom { bottom: 54px; left: -8px; }
.rps-wave { position: absolute; right: 0; bottom: -1px; left: 0; height: 42px; color: var(--rps-white); }

.rps-quick { position: relative; z-index: 4; margin-top: -34px; }
.rps-quick__grid { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; border: 1px solid var(--rps-line); border-radius: 22px; background: var(--rps-white); box-shadow: var(--rps-shadow); }
.rps-quick__item { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 11px; min-height: 132px; padding: 24px 28px; text-align: center; }
.rps-quick__item + .rps-quick__item { border-left: 1px solid var(--rps-line); }
.rps-quick__icon { display: grid; place-items: center; width: 48px; height: 48px; flex: 0 0 auto; border-radius: 15px; color: var(--rps-blue); background: #eaf5ff; }
.rps-quick__icon svg { width: 24px; height: 24px; }
.rps-quick__item strong { display: block; font-size: .95rem; }
.rps-quick__item span { display: block; color: var(--rps-muted); font-size: .82rem; }

.rps-services { display: grid; grid-template-columns: repeat(6, 1fr); gap: 18px; }
.rps-service-card { grid-column: span 2; min-height: 272px; padding: 28px; border: 1px solid var(--rps-line); border-radius: var(--rps-radius); background: var(--rps-white); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.rps-service-card:nth-child(4), .rps-service-card:nth-child(5) { grid-column: span 3; }
.rps-service-card:hover { transform: translateY(-7px); border-color: #b8d8ef; box-shadow: 0 24px 50px rgba(11,31,51,.1); }
.rps-service-card__icon { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 32px; border-radius: 18px; color: var(--rps-blue); background: linear-gradient(145deg, #e9f5ff, #f6fbff); }
.rps-service-card__icon svg { width: 29px; height: 29px; }
.rps-service-card h3 { margin: 0 0 10px; font-size: 1.15rem; line-height: 1.2; }
.rps-service-card p { margin: 0; color: var(--rps-muted); font-size: .9rem; }

.rps-about { display: grid; grid-template-columns: .9fr 1.1fr; gap: 72px; align-items: center; }
.rps-about__panel { position: relative; min-height: 480px; overflow: hidden; border-radius: 32px; color: var(--rps-white); background: linear-gradient(145deg, var(--rps-blue), #083c75); box-shadow: var(--rps-shadow); }
.rps-about__panel::before { content: ""; position: absolute; width: 370px; height: 370px; right: -100px; bottom: -100px; border: 70px solid rgba(255,255,255,.09); border-radius: 50%; }
.rps-about__stat { position: absolute; left: 38px; bottom: 40px; }
.rps-about__stat strong { display: block; font-size: 5rem; line-height: 1; letter-spacing: -.08em; }
.rps-about__stat span { display: block; max-width: 210px; margin-top: 9px; color: #d6e8f7; font-weight: 700; }
.rps-about__tools { position: absolute; top: 40px; right: 40px; width: 180px; height: 180px; }
.rps-about__tools svg { width: 100%; height: 100%; opacity: .92; }
.rps-values { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 34px; }
.rps-value { padding: 18px 20px; border: 1px solid var(--rps-line); border-radius: 17px; background: var(--rps-white); }
.rps-value strong { display: flex; align-items: center; gap: 9px; margin-bottom: 5px; font-size: .92rem; }
.rps-value strong::before { content: "✓"; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; color: var(--rps-ink); background: var(--rps-lime); font-size: .7rem; }
.rps-value span { color: var(--rps-muted); font-size: .8rem; }

.rps-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px; counter-reset: steps; }
.rps-step { position: relative; counter-increment: steps; padding-top: 80px; }
.rps-step::before { content: "0" counter(steps); position: absolute; top: 0; left: 0; color: rgba(34,199,215,.2); font-size: 4.4rem; font-weight: 900; line-height: 1; letter-spacing: -.08em; }
.rps-step:not(:last-child)::after { content: ""; position: absolute; top: 31px; left: 88px; width: calc(100% - 45px); border-top: 1px dashed rgba(255,255,255,.26); }
.rps-step h3 { margin: 0 0 10px; font-size: 1.2rem; }
.rps-step p { margin: 0; color: #aebfce; font-size: .9rem; }

.rps-pricing { display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: center; }
.rps-repair-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 20px; margin: 32px 0 0; padding: 0; list-style: none; }
.rps-repair-list li { display: flex; gap: 10px; color: #c6d6e3; font-size: .88rem; }
.rps-repair-list li::before { content: "•"; color: var(--rps-cyan); font-size: 1.4rem; line-height: 1.1; }
.rps-price-card { position: relative; overflow: hidden; padding: 42px; border: 1px solid rgba(255,255,255,.13); border-radius: 28px; background: linear-gradient(145deg, rgba(255,255,255,.11), rgba(255,255,255,.04)); box-shadow: 0 28px 70px rgba(0,0,0,.28); }
.rps-price-card::after { content: ""; position: absolute; width: 180px; height: 180px; top: -90px; right: -70px; border-radius: 50%; background: rgba(34,199,215,.14); }
.rps-price-card__label { color: var(--rps-cyan); font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.rps-price-card__price { display: flex; align-items: end; gap: 10px; margin: 18px 0 4px; }
.rps-price-card__price strong { font-size: clamp(3.5rem, 7vw, 6.2rem); line-height: .85; letter-spacing: -.08em; }
.rps-price-card__price span { padding-bottom: 7px; color: #d8e8f4; font-weight: 750; }
.rps-price-card p { margin: 20px 0 30px; color: #b7cad9; font-size: .9rem; }
.rps-price-card__note { display: flex; gap: 10px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.14); color: var(--rps-lime); font-size: .82rem; font-weight: 800; }

.rps-areas { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: start; }
.rps-map-card { position: sticky; top: 130px; overflow: hidden; min-height: 440px; padding: 38px; border-radius: 28px; color: var(--rps-white); background: linear-gradient(145deg, #0b72e7, #0d375b); }
.rps-map-card::before { content: ""; position: absolute; inset: 0; opacity: .16; background-image: radial-gradient(circle, #fff 1.4px, transparent 1.5px); background-size: 22px 22px; }
.rps-map-card__pin { position: relative; z-index: 1; display: grid; place-items: center; width: 78px; height: 78px; margin: 50px auto 40px; border: 1px solid rgba(255,255,255,.35); border-radius: 50% 50% 50% 0; background: var(--rps-white); color: var(--rps-blue); transform: rotate(-45deg); box-shadow: 0 20px 40px rgba(0,0,0,.22); }
.rps-map-card__pin svg { width: 34px; height: 34px; transform: rotate(45deg); }
.rps-map-card__content { position: relative; z-index: 1; text-align: center; }
.rps-map-card__content strong { display: block; font-size: 1.4rem; }
.rps-map-card__content span { color: #d6e7f4; font-size: .88rem; }
.rps-areas details { border-bottom: 1px solid var(--rps-line); }
.rps-areas summary { position: relative; padding: 22px 50px 22px 0; font-size: 1.05rem; font-weight: 800; cursor: pointer; list-style: none; }
.rps-areas summary::-webkit-details-marker { display: none; }
.rps-areas summary::after { content: "+"; position: absolute; right: 8px; top: 18px; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: var(--rps-blue); background: #eaf5ff; }
.rps-areas details[open] summary::after { content: "−"; }
.rps-area-tags { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 0 24px; }
.rps-area-tags span { padding: 7px 12px; border: 1px solid var(--rps-line); border-radius: 999px; color: var(--rps-muted); background: var(--rps-white); font-size: .75rem; }

.rps-brands { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.rps-brand-chip { display: grid; place-items: center; min-width: 132px; min-height: 72px; padding: 14px 22px; border: 1px solid var(--rps-line); border-radius: 18px; color: #314a61; background: var(--rps-white); font-size: 1rem; font-weight: 850; letter-spacing: -.02em; }
.rps-brand-chip:hover { border-color: #9fc9e9; color: var(--rps-blue); }
.rps-brand-chip img { display: block; width: auto; max-width: 105px; height: auto; max-height: 42px; object-fit: contain; filter: grayscale(1); opacity: .72; transition: filter .2s ease, opacity .2s ease, transform .2s ease; }
.rps-brand-chip:hover img { filter: grayscale(0); opacity: 1; transform: scale(1.04); }

.rps-review { display: grid; grid-template-columns: 1.15fr .85fr; overflow: hidden; border-radius: 30px; color: var(--rps-white); background: var(--rps-ink); box-shadow: var(--rps-shadow); }
.rps-review__quote { padding: 56px; }
.rps-review__marks { color: var(--rps-cyan); font-family: Georgia, serif; font-size: 5rem; line-height: .6; }
.rps-review blockquote { margin: 18px 0 28px; font-size: clamp(1.25rem, 2.5vw, 1.75rem); line-height: 1.45; letter-spacing: -.02em; }
.rps-review cite { color: #b8cad8; font-size: .84rem; font-style: normal; }
.rps-review__side { display: grid; place-items: center; padding: 45px; text-align: center; background: linear-gradient(145deg, var(--rps-blue), #0b4f92); }
.rps-review__stars { color: #ffd85a; font-size: 1.6rem; letter-spacing: .18em; }
.rps-review__side strong { display: block; margin-top: 13px; font-size: 1.35rem; }
.rps-review__side span { display: block; margin-top: 5px; color: #d7e7f4; font-size: .82rem; }
.rps-reviews-heading { margin-bottom: 36px; }
.rps-review-carousel { position: relative; padding-bottom: 62px; }
.rps-review-slide { display: none; animation: rps-review-in .45s ease both; }
.rps-review-slide.is-active { display: grid; }
@keyframes rps-review-in { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: translateY(0); } }
.rps-review-controls { position: absolute; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center; gap: 18px; }
.rps-review-controls > button { display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 1px solid var(--rps-line); border-radius: 50%; color: var(--rps-ink); background: var(--rps-white); }
.rps-review-controls > button:hover { color: var(--rps-blue); border-color: #9fc9e9; }
.rps-review-dots { display: flex; gap: 7px; }
.rps-review-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; background: #b9c8d4; transition: width .2s ease, background .2s ease; }
.rps-review-dots button.is-active { width: 25px; background: var(--rps-blue); }

.rps-tips { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.rps-tip { display: flex; flex-direction: column; min-height: 280px; padding: 30px; border: 1px solid var(--rps-line); border-radius: 24px; background: var(--rps-white); }
.rps-tip__tag { color: var(--rps-blue); font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.rps-tip h3 { margin: 30px 0 10px; font-size: 1.18rem; line-height: 1.3; }
.rps-tip p { margin: 0; color: var(--rps-muted); font-size: .86rem; }
.rps-tip a { margin-top: auto; padding-top: 28px; font-size: .82rem; font-weight: 800; }

.rps-phone-cta { position: relative; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 60px; overflow: hidden; padding: 62px; border-radius: 32px; color: var(--rps-white); background: linear-gradient(135deg, #071827, #0d3656); box-shadow: var(--rps-shadow); }
.rps-phone-cta::after { content: ""; position: absolute; width: 340px; height: 340px; right: -180px; bottom: -190px; border: 65px solid rgba(34,199,215,.1); border-radius: 50%; }
.rps-phone-cta__copy, .rps-phone-cta__action { position: relative; z-index: 1; }
.rps-phone-cta h2 { margin: 0 0 16px; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.08; letter-spacing: -.045em; }
.rps-phone-cta__copy > p:not(.rps-kicker) { max-width: 620px; margin: 0; color: #bdd0de; }
.rps-phone-cta__location { margin-top: 24px; color: var(--rps-cyan); font-size: .86rem; font-weight: 750; }
.rps-phone-cta__action { display: grid; justify-items: center; padding: 36px 30px; border: 1px solid rgba(255,255,255,.15); border-radius: 24px; background: rgba(255,255,255,.07); text-align: center; }
.rps-phone-cta__action span { color: #9eb7c9; font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.rps-phone-cta__action a { margin: 13px 0 9px; color: var(--rps-white); font-size: clamp(2rem, 4vw, 3.35rem); font-weight: 900; line-height: 1; letter-spacing: -.05em; }
.rps-phone-cta__action a:hover { color: var(--rps-lime); }
.rps-phone-cta__action small { color: var(--rps-lime); font-weight: 750; }

.site-footer { color: #b3c7d6; background: #06131f; }
.rps-footer__main { display: grid; grid-template-columns: 1.4fr .8fr; gap: 90px; padding: 72px 0 54px; }
.rps-footer__about { max-width: 420px; }
.rps-footer__about p { margin-top: 20px; color: #829eb2; font-size: .86rem; }
.rps-footer__title { margin: 0 0 19px; color: var(--rps-white); font-size: .85rem; text-transform: uppercase; letter-spacing: .08em; }
.rps-footer__links { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.rps-footer__links a { color: #9eb5c6; font-size: .84rem; }
.rps-footer__links a:hover { color: var(--rps-cyan); }
.rps-footer__phone { color: var(--rps-white) !important; font-size: 1.45rem !important; font-weight: 850; }
.rps-footer__bottom { display: flex; justify-content: space-between; gap: 20px; padding: 22px 0; border-top: 1px solid rgba(255,255,255,.08); color: #6f899d; font-size: .74rem; }
.rps-mobile-call { display: none; }

.rps-content { padding: 90px 0; }
.rps-content__header { max-width: 820px; margin-bottom: 46px; }
.rps-content__header h1 { margin: 0; font-size: clamp(2.3rem, 5vw, 4.5rem); line-height: 1.05; letter-spacing: -.05em; }
.rps-content article { max-width: 840px; }
.rps-content article h2, .rps-content article h3 { line-height: 1.2; letter-spacing: -.025em; }
.rps-content article p, .rps-content article li { color: #41576b; }
.rps-post-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.rps-post-card { padding: 28px; border: 1px solid var(--rps-line); border-radius: 22px; }
.rps-post-card h2 { margin: 10px 0; font-size: 1.25rem; line-height: 1.25; }
.rps-post-card p { color: var(--rps-muted); font-size: .88rem; }
.rps-post-meta { color: var(--rps-blue); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }

@media (max-width: 1040px) {
  .rps-nav { position: absolute; top: 100%; right: 20px; left: 20px; display: none; padding: 18px; border: 1px solid var(--rps-line); border-radius: 18px; background: var(--rps-white); box-shadow: var(--rps-shadow); }
  .rps-nav.is-open { display: block; }
  .rps-nav ul { align-items: stretch; flex-direction: column; gap: 0; }
  .rps-nav a { display: block; padding: 11px 8px; }
  .rps-nav a::after { display: none; }
  .rps-menu-toggle { display: block; }
  .rps-header__call { margin-left: auto; }
  .rps-hero__inner { grid-template-columns: 1fr 390px; gap: 30px; }
  .rps-washer { width: 280px; }
  .rps-washer__door { width: 184px; height: 184px; }
  .rps-about, .rps-pricing, .rps-areas { gap: 45px; }
}

@media (max-width: 820px) {
  body { font-size: 16px; }
  body.admin-bar .site-header { top: 46px; }
  .rps-section { padding: 76px 0; }
  .rps-topbar__group--secondary { display: none; }
  .rps-hero__inner { grid-template-columns: 1fr; min-height: auto; padding: 72px 0 110px; text-align: center; }
  .rps-hero__eyebrow, .rps-hero__actions, .rps-hero__proof { justify-content: center; }
  .rps-hero__text { margin-inline: auto; }
  .rps-hero__visual { min-height: 430px; margin-top: 10px; }
  .rps-orbit--one { width: 390px; height: 390px; }
  .rps-orbit--two { width: 300px; height: 300px; }
  .rps-float-card--top { right: 5%; }
  .rps-float-card--bottom { left: 5%; }
  .rps-quick__grid { grid-template-columns: 1fr; }
  .rps-quick__item + .rps-quick__item { border-top: 1px solid var(--rps-line); border-left: 0; }
  .rps-services { grid-template-columns: 1fr 1fr; }
  .rps-service-card, .rps-service-card:nth-child(4), .rps-service-card:nth-child(5) { grid-column: auto; }
  .rps-about, .rps-pricing, .rps-areas, .rps-review, .rps-phone-cta { grid-template-columns: 1fr; }
  .rps-about__panel { min-height: 390px; }
  .rps-steps { grid-template-columns: 1fr; gap: 30px; }
  .rps-step { padding: 12px 0 12px 88px; }
  .rps-step::before { top: 0; }
  .rps-step:not(:last-child)::after { display: none; }
  .rps-map-card { position: relative; top: auto; min-height: 360px; }
  .rps-tips, .rps-post-list { grid-template-columns: 1fr; }
  .rps-phone-cta { gap: 36px; padding: 46px; }
  .rps-footer__main { grid-template-columns: 1fr 1fr; }
  .rps-footer__about { grid-column: 1 / -1; }
}

@media (max-width: 580px) {
  .rps-container { width: min(calc(100% - 28px), var(--rps-width)); }
  .rps-topbar__inner { justify-content: center; }
  .rps-header__inner { min-height: 70px; gap: 10px; }
  .rps-brand__copy span, .rps-header__call { display: none; }
  .rps-brand__mark { width: 42px; height: 42px; }
  .rps-hero h1 { font-size: clamp(2.45rem, 13vw, 4rem); }
  .rps-hero__actions { flex-direction: column; }
  .rps-hero__actions .rps-btn { width: 100%; }
  .rps-hero__visual { min-height: 390px; }
  .rps-washer { width: 245px; padding: 21px; border-radius: 28px; }
  .rps-washer__panel { height: 48px; }
  .rps-washer__door { width: 165px; height: 165px; border-width: 19px; margin-top: 17px; }
  .rps-orbit--one { width: 320px; height: 320px; }
  .rps-orbit--two { width: 260px; height: 260px; }
  .rps-float-card { min-width: 160px; padding: 11px 13px; }
  .rps-float-card--top { top: 20px; right: 0; }
  .rps-float-card--bottom { bottom: 25px; left: 0; }
  .rps-section-head { align-items: start; flex-direction: column; }
  .rps-services, .rps-values, .rps-repair-list, .rps-form-grid { grid-template-columns: 1fr; }
  .rps-service-card { min-height: auto; }
  .rps-about__panel { min-height: 330px; }
  .rps-about__stat { left: 28px; bottom: 30px; }
  .rps-about__stat strong { font-size: 4rem; }
  .rps-about__tools { top: 28px; right: 28px; width: 130px; height: 130px; }
  .rps-price-card, .rps-review__quote, .rps-review__side { padding: 32px 25px; }
  .rps-phone-cta { padding: 36px 25px; }
  .rps-phone-cta__action { padding: 30px 18px; }
  .rps-price-card__price strong { font-size: 4.7rem; }
  .rps-footer__main { grid-template-columns: 1fr; gap: 36px; }
  .rps-footer__about { grid-column: auto; }
  .rps-footer__bottom { flex-direction: column; padding-bottom: 90px; }
  .rps-mobile-call { position: fixed; right: 14px; bottom: 14px; left: 14px; z-index: 80; display: flex; align-items: center; justify-content: center; min-height: 56px; border-radius: 999px; color: var(--rps-white); background: var(--rps-blue); font-weight: 850; box-shadow: 0 14px 35px rgba(11,31,51,.35); }
  .rps-mobile-call:hover { color: var(--rps-white); }
}

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