/* Legacy s1 aliases keep migrated pages on the same ReCorporate brand system. */
:root {
  --background: #ffffff;
  --foreground: #101216;
  --primary: #183bc8;
  --muted: #f1f3f7;
  --s1-night: var(--foreground);
  --s1-plum: #11235b;
  --s1-violet: var(--primary);
  --s1-lilac: var(--background);
  --s1-mist: var(--background);
  --s1-ink-70: rgba(255,255,255,.78);
  --s1-ink-50: rgba(255,255,255,.65);
  --s1-line: rgba(255,255,255,.18);
  --s1-dark-70: rgba(16,18,22,.72);
  --s1-dark-line: rgba(16,18,22,.15);
  --s1-display: "Inter Tight", "Inter", sans-serif;
  --s1-body: "Inter", sans-serif;
  --s1-radius: 4px;
  --primary-color: var(--primary) !important;
  --primary-color-rgb: 24,59,200 !important;
  --secondary-color: var(--foreground) !important;
  --four-color: var(--primary) !important;
  --gradient-color-from: var(--primary) !important;
  --gradient-color-to: var(--primary) !important;
}
.elementor-kit-8 {
  --e-global-color-37f89e7: var(--primary) !important;
  --e-global-color-85659e1: var(--s1-plum) !important;
  --e-global-color-primary: var(--primary) !important;
  --e-global-color-secondary: var(--foreground) !important;
  --e-global-color-accent: var(--primary) !important;
}
html, .bg-background { background: var(--background); scroll-behavior: smooth; }
body { background: var(--background); color: var(--foreground); -webkit-font-smoothing: antialiased; }
.s1-wrap { width: 100%; max-width: 1320px; margin-inline: auto; padding-inline: 40px; box-sizing: border-box; }
.s1-site { font-family: var(--s1-body); }
.s1-site *, .s1-site *::before, .s1-site *::after { box-sizing: border-box; }
.s1-eyebrow { display: none !important; }
.s1-link { display: inline-flex; align-items: center; gap: 8px; color: var(--s1-mist) !important; font: 600 15px/1.4 var(--s1-body) !important; text-decoration: none !important; }
.s1-link:hover { text-decoration: underline !important; text-underline-offset: 5px; }
.s1-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 14px 24px; border-radius: 4px; font: 600 15px/1.3 var(--s1-body) !important; text-decoration: none !important; transition: background-color .2s, color .2s; }
.s1-btn-primary { background: var(--primary); color: var(--background) !important; border: 1px solid var(--primary); }
.s1-btn-primary:hover { background: var(--s1-plum); border-color: var(--s1-plum); }
.s1-btn-ghost { background: transparent; color: var(--background) !important; border: 1px solid var(--s1-ink-50); }
.s1-btn-ghost:hover { background: var(--background); color: var(--foreground) !important; }
.s1-btn-dark { background: var(--foreground); color: var(--background) !important; border: 1px solid var(--foreground); }
.s1-btn-dark:hover { background: var(--primary); border-color: var(--primary); }
.s1-btn-outline-dark { background: transparent; color: var(--foreground) !important; border: 1px solid var(--s1-dark-line); }
.s1-site :is(a, button, summary, input, select, textarea):focus-visible { outline: 3px solid var(--primary); outline-offset: 4px; }

/* Shared navigation */
.s1-hdr { position: sticky; top: 0; z-index: 1000; background: var(--background); color: var(--foreground); border-bottom: 1px solid var(--s1-dark-line); }
.s1-hdr ul, .s1-ftr ul { list-style: none; margin: 0; padding: 0; }
.s1-topbar { background: var(--primary); color: var(--background); }
.s1-topbar-inner { display: flex; align-items: center; justify-content: center; gap: 24px; min-height: 38px; }
.s1-topbar p { margin: 0; font: 400 14px/1.4 var(--s1-body) !important; color: var(--background); }
.s1-topbar .s1-link { font-size: 14px !important; }
.s1-hdr-inner { display: flex; align-items: center; gap: 22px; height: 86px; }
.s1-logo { display: inline-flex; flex-shrink: 0; text-decoration: none !important; }
.s1-brand-logo { width: 222px; height: auto; display: block; }
.s1-nav { flex: 1; height: 100%; }
.s1-nav > ul { display: flex; align-items: center; gap: 2px; height: 100%; }
.s1-nav > ul > li { display: flex; align-items: center; height: 100%; }
.s1-nav-link { display: inline-flex; align-items: center; gap: 5px; padding: 12px 9px; background: transparent; border: 0; color: var(--foreground) !important; cursor: pointer; font: 500 14px/1.4 var(--s1-body) !important; white-space: nowrap; text-decoration: none !important; }
.s1-nav-link:hover, .s1-has-mega:focus-within > .s1-nav-link { color: var(--primary) !important; }
.s1-chev { width: 12px; }
.s1-mega { position: absolute; inset: 100% 0 auto; background: var(--background); color: var(--foreground); border-block: 1px solid var(--s1-dark-line); box-shadow: 0 20px 30px rgba(16,18,22,.1); visibility: hidden; opacity: 0; transition: opacity .15s; }
.s1-has-mega:hover > .s1-mega, .s1-has-mega:focus-within > .s1-mega { visibility: visible; opacity: 1; }
.s1-mega-inner { display: flex; gap: 40px; padding-block: 32px; }
.s1-mega-col { flex: 1; min-width: 0; }
.s1-mega-title { margin: 0 0 16px; color: var(--primary); font: 600 15px/1.5 var(--s1-body) !important; }
.s1-mega-col ul { display: flex; flex-direction: column; gap: 4px; }
.s1-mega-col a { display: flex; flex-direction: column; gap: 4px; padding-block: 10px; text-decoration: none !important; }
.s1-mega-label { color: var(--foreground); font: 500 15px/1.4 var(--s1-body) !important; }
.s1-mega-col a:hover .s1-mega-label { color: var(--primary); }
.s1-mega-desc { color: var(--s1-dark-70); font: 400 14px/1.5 var(--s1-body) !important; }
.s1-mega-feature { flex: 0 0 280px; display: flex; flex-direction: column; gap: 20px; padding: 28px; background: var(--muted); text-decoration: none !important; }
.s1-mega-feature-title { color: var(--foreground); font: 600 26px/1.15 var(--s1-display) !important; }
.s1-mega-feature .s1-link { color: var(--primary) !important; }
.s1-hdr-actions { display: flex; align-items: center; gap: 16px; margin-left: auto; }
.s1-hdr-phone { display: none; }
.s1-cart { position: relative; display: grid; place-items: center; width: 32px; height: 40px; color: var(--foreground) !important; }
.s1-cart-count { position: absolute; top: 0; right: -4px; min-width: 18px; padding: 0 4px; background: var(--primary); color: var(--background); border-radius: 50%; font: 600 12px/18px var(--s1-body); text-align: center; }
.s1-cart-count[data-counter="0"] { display: none; }
.s1-hdr-cta { min-height: 42px; padding: 12px 16px; font-size: 14px !important; white-space: nowrap; }
.s1-mnav { display: none; }
.s1-mnav > summary { display: grid; place-items: center; width: 40px; height: 40px; list-style: none; color: var(--foreground); cursor: pointer; }
.s1-mnav summary::-webkit-details-marker { display: none; }
.s1-mnav-panel { position: absolute; inset: 100% 0 auto; max-height: calc(100dvh - 124px); overflow-y: auto; background: var(--background); padding: 20px 28px 32px; border-bottom: 1px solid var(--s1-dark-line); }
.s1-m-link, .s1-m-group > summary { display: flex; align-items: center; justify-content: space-between; padding-block: 16px; color: var(--foreground) !important; border-bottom: 1px solid var(--s1-dark-line); font: 500 17px/1.4 var(--s1-body) !important; list-style: none; text-decoration: none; cursor: pointer; }
.s1-m-group ul a { display: block; padding: 10px 16px; color: var(--s1-dark-70); font-size: 15px; }
.s1-mnav-panel .s1-btn { margin-top: 24px; }
.s1-m-phone { display: flex; align-items: center; gap: 8px; padding-top: 20px; color: var(--foreground); }

/* Homepage: typography and photography, not badges and nested panels. */
.s1-home { background: var(--foreground); color: var(--background); }
.s1-home :is(h1,h2,h3,h4,p,ul,figure,blockquote) { margin: 0; }
.s1-home ul { list-style: none; padding: 0; }
.s1-home a { text-decoration: none; }
.s1-home :is(h1,h2,h3) { color: inherit; font-family: var(--s1-display) !important; letter-spacing: -.035em; text-wrap: balance; }
.s1-section { padding-block: 100px; }
.s1-section-light { background: var(--background); color: var(--foreground); }
.s1-section-plum { background: var(--s1-plum); color: var(--background); }
.s1-head { display: flex; flex-direction: column; gap: 24px; max-width: 760px; }
.s1-head-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; }
.s1-h2 { font: 500 clamp(34px,4.2vw,58px)/1.08 var(--s1-display) !important; }
.s1-lead { font: 400 18px/1.6 var(--s1-body) !important; color: var(--s1-ink-70); text-wrap: pretty; }
.s1-section-light .s1-lead { color: var(--s1-dark-70); }
.s1-hero { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; min-height: 610px; padding-block: 90px 100px; background: var(--s1-plum); }
.s1-hero-bg { position: absolute; inset: 0; z-index: -2; background: var(--s1-plum); }
.s1-hero-bg img { width: 100%; height: 100%; object-fit: cover; object-position: 65% center; filter: grayscale(1); mix-blend-mode: luminosity; opacity: .78; }
.s1-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, var(--s1-plum) 0%, rgba(17,35,91,.87) 36%, rgba(17,35,91,.15) 100%); }
.s1-hero-content { display: flex; flex-direction: column; gap: 30px; max-width: 860px; }
.s1-hero h1 { font: 500 clamp(48px,6.2vw,86px)/1.02 var(--s1-display) !important; letter-spacing: -.045em !important; }
.s1-hero .s1-lead { max-width: 570px; color: var(--background); font-size: 19px !important; }
.s1-hero-actions { display: flex; gap: 16px; flex-wrap: wrap; }
.s1-hero-actions .s1-btn { min-height: 52px; }
.s1-hero-actions .s1-btn-primary { background: var(--background); border-color: var(--background); color: var(--primary) !important; }
.s1-hero-actions .s1-btn-primary:hover { background: var(--muted); }
.s1-trust { background: var(--muted); color: var(--foreground); padding-block: 30px; overflow: hidden; }
.s1-trust-inner { display: flex; align-items: center; gap: 40px; }
.s1-trust-label { flex-shrink: 0; max-width: 170px; font: 400 14px/1.5 var(--s1-body) !important; color: var(--s1-dark-70); }
.s1-marquee { overflow: hidden; flex: 1; }
.s1-marquee-track { display: flex; gap: 52px; width: max-content; animation: s1-marquee 45s linear infinite; }
.s1-marquee-track span { font: 600 21px/1 var(--s1-display); color: var(--s1-dark-70); white-space: nowrap; }
@keyframes s1-marquee { to { transform: translateX(-50%); } }
.s1-split { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.s1-split-media { overflow: hidden; aspect-ratio: 4/5; }
.s1-split-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.s1-split-badge { display: none; }
.s1-split-body { display: flex; flex-direction: column; gap: 28px; }
.s1-checks { display: flex; flex-direction: column; gap: 12px; }
.s1-checks li { display: flex; align-items: flex-start; gap: 12px; font: 400 16px/1.5 var(--s1-body); }
.s1-checks svg { flex-shrink: 0; color: var(--primary); margin-top: 2px; }
.s1-pillars { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 48px; margin-top: 72px; }
.s1-pillar { display: flex; flex-direction: column; gap: 16px; }
.s1-pillar > svg { display: none; }
.s1-pillar h3 { font: 500 25px/1.2 var(--s1-display) !important; }
.s1-pillar p { color: var(--s1-dark-70); font: 400 16px/1.6 var(--s1-body); }
.s1-pkgs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 48px 32px; margin-top: 48px; }
.s1-pkg { display: flex; flex-direction: column; min-width: 0; }
.s1-pkg-media { aspect-ratio: 16/10; overflow: hidden; }
.s1-pkg-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.s1-pkg-body { flex: 1; display: flex; flex-direction: column; gap: 16px; padding-top: 24px; }
.s1-pkg-region { font: 400 14px/1.4 var(--s1-body); color: var(--s1-ink-50); }
.s1-pkg h3 { font: 500 28px/1.2 var(--s1-display) !important; }
.s1-pkg p { font: 400 16px/1.6 var(--s1-body); color: var(--s1-ink-70); }
.s1-pkg-price { display: flex; gap: 8px; align-items: baseline; margin-top: auto; padding-top: 8px; }
.s1-pkg-price small { font-size: 14px; color: var(--s1-ink-70); }
.s1-pkg-price strong { color: var(--background); font: 500 26px/1.2 var(--s1-display); }
.s1-pkg-actions { display: flex; gap: 12px; }
.s1-pkg-actions .s1-btn { flex: 1; padding-inline: 12px; }
.s1-svcs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 64px; margin-top: 48px; }
.s1-svc { display: flex; flex-direction: column; gap: 14px; padding-block: 30px; border-top: 1px solid var(--s1-dark-line); color: var(--foreground); }
.s1-svc-icon { display: none; }
.s1-svc h3 { font: 500 28px/1.2 var(--s1-display) !important; }
.s1-svc p { color: var(--s1-dark-70); font: 400 16px/1.6 var(--s1-body); max-width: 500px; }
.s1-svc .s1-link { color: var(--primary) !important; }
.s1-svc:hover h3 { color: var(--primary); }
.s1-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 32px; margin-top: 48px; }
.s1-stat { display: flex; flex-direction: column; gap: 12px; }
.s1-stat strong { color: var(--background); font: 500 clamp(40px,5vw,68px)/1 var(--s1-display); }
.s1-stat span { color: var(--s1-ink-70); font: 400 16px/1.5 var(--s1-body); }
.s1-quotes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; margin-top: 64px; }
.s1-quote { display: flex; flex-direction: column; gap: 24px; padding-block: 28px; border-top: 1px solid var(--s1-line); }
.s1-quote blockquote { color: var(--background); font: 400 20px/1.5 var(--s1-body) !important; }
.s1-quote figcaption { display: flex; gap: 12px; align-items: center; margin-top: auto; color: var(--background); font: 500 15px/1.4 var(--s1-body); }
.s1-quote figcaption small { display: block; color: var(--s1-ink-70); font-size: 14px; }
.s1-avatar { display: none; }
.s1-stars { display: flex; gap: 3px; color: var(--background); }
.s1-posts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; margin-top: 48px; }
.s1-post { display: flex; flex-direction: column; gap: 16px; color: var(--foreground); }
.s1-post-media { aspect-ratio: 16/10; overflow: hidden; background: var(--muted); }
.s1-post-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.s1-post-tag { color: var(--primary); font: 500 14px/1.5 var(--s1-body); }
.s1-post h3 { font: 500 25px/1.25 var(--s1-display) !important; }
.s1-post:hover h3 { color: var(--primary); }
.s1-cta { display: flex; align-items: center; justify-content: space-between; gap: 48px; background: var(--primary); color: var(--background); padding: 64px; }
.s1-cta-body { display: flex; flex-direction: column; gap: 24px; max-width: 680px; }
.s1-cta-actions { display: flex; flex-direction: column; gap: 16px; }
.s1-cta-contact { display: flex; flex-direction: column; gap: 4px; font: 400 15px/1.5 var(--s1-body); }
.s1-cta-contact a { color: var(--background); }

.recorp-google-reviews { background: var(--muted); color: var(--foreground); padding-block: 72px; text-align: center; }
.recorp-google-reviews .s1-wrap { display: flex; flex-direction: column; align-items: center; gap: 24px; }
.recorp-google-reviews h2 { margin: 0; color: var(--foreground); font: 500 clamp(30px,4vw,48px)/1.15 var(--s1-display) !important; letter-spacing: -.025em; text-wrap: balance; }
.recorp-google-reviews p { max-width: 680px; margin: 0; color: var(--s1-dark-70); font: 400 18px/1.6 var(--s1-body); }

/* Common footer */
.s1-ftr { background: var(--foreground); color: var(--s1-ink-70); }
.s1-ftr-cta { display: flex; justify-content: space-between; align-items: center; gap: 40px; padding-block: 64px; border-bottom: 1px solid var(--s1-line); }
.s1-ftr-cta-title { margin: 0; max-width: 620px; color: var(--background); font: 500 clamp(30px,3.5vw,44px)/1.15 var(--s1-display) !important; letter-spacing: -.03em; }
.s1-ftr-cta-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.s1-ftr-main { display: flex; gap: 64px; padding-block: 64px; }
.s1-ftr-brand { flex: 0 1 300px; display: flex; flex-direction: column; gap: 24px; }
.s1-ftr-brand .s1-logo { align-self: flex-start; background: var(--background); border-radius: 4px; }
.s1-ftr-brand p { margin: 0; color: var(--s1-ink-70); font: 400 15px/1.6 var(--s1-body) !important; }
.s1-ftr-contact { display: flex; flex-direction: column; gap: 8px; }
.s1-ftr-contact a { color: var(--background); font-size: 15px; }
.s1-ftr-cols { flex: 1; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px; }
.s1-ftr-title { margin: 0 0 24px; color: var(--background); font: 600 15px/1.4 var(--s1-body) !important; }
.s1-ftr-col ul { display: flex; flex-direction: column; gap: 14px; }
.s1-ftr-col a { color: var(--s1-ink-70); font: 400 14px/1.5 var(--s1-body) !important; }
.s1-ftr-col a:hover { color: var(--background); text-decoration: underline; }
.s1-ftr-bottom { display: flex; justify-content: space-between; gap: 20px; padding-block: 24px; border-top: 1px solid var(--s1-line); }
.s1-ftr-bottom p { margin: 0; color: var(--s1-ink-50); font: 400 14px/1.5 var(--s1-body) !important; }

/* Preserve migrated content and forms while replacing the old visual skin. */
.s1-inner #pxl-page-title-elementor > .elementor > :first-child { background: var(--s1-plum) !important; padding-block: 88px !important; }
.s1-inner #pxl-page-title-elementor :is(.elementor-background-overlay,.elementor-motion-effects-container,.pxl-parallax--image) { display: none !important; }
.s1-inner #pxl-page-title-elementor :is(h1,h2,.pxl-item--title) { font: 500 clamp(36px,4.8vw,66px)/1.08 var(--s1-display) !important; letter-spacing: -.035em; color: var(--background) !important; }
.s1-inner #pxl-page-title-elementor :is(a,li,span) { color: var(--background) !important; }
.s1-inner #pxl-page-title-elementor .elementor-container { min-height: 0 !important; }
.s1-inner #pxl-main .elementor > :is(.elementor-section,.e-con):first-child:has(h1) .elementor-container { min-height: 0 !important; }
.s1-inner #pxl-main .elementor > :is(.elementor-section,.e-con):first-child:has(h1) :is(.elementor-widget-wrap,.elementor-widget-container) { padding-block: 0 !important; margin-block: 0 !important; }
.s1-inner #pxl-main .elementor > :is(.elementor-section,.e-con):first-child:has(h1) :is(.pxl-heading,h1) { text-align: left !important; }
.s1-inner .pxl-item--subtitle { display: none !important; }
.s1-inner :is(.elementor-widget-wrap,.elementor-widget-container,.pxl-pricing,.pxl-pricing1,.pxl-pricing2) { border-radius: 4px !important; }
.s1-inner #pxl-main :is(h2,h3,h4) { font-weight: 500 !important; }

.pxl-header-elementor-main, .pxl-header-elementor-sticky, #pxl-header-elementor { display: none !important; }
.s1-inner #pxl-main { background: var(--background); color: var(--foreground); }
.s1-inner #pxl-main .elementor > .elementor-section { background-image: none !important; }
.s1-inner :is(.pxl-row-particles,.pxl-section-effect-images,.pxl-divider-vertical,.elementor-shape) { display: none !important; }
.s1-inner #pxl-main .elementor > :is(.elementor-section,.e-con):first-child:has(h1),
.pxl-page-title-elementor > .elementor > :first-child { background: var(--s1-plum) !important; padding-block: 88px !important; }
.s1-inner #pxl-main .elementor > :is(.elementor-section,.e-con):first-child:has(h1) > :is(.elementor-background-overlay,.elementor-motion-effects-container) { display: none !important; }
.s1-inner #pxl-main .elementor > :is(.elementor-section,.e-con):first-child:has(h1) h1,
.s1-inner #pxl-main .elementor > :is(.elementor-section,.e-con):first-child:has(h1) h1 span { color: var(--background) !important; background: none !important; -webkit-text-fill-color: var(--background) !important; }
.s1-inner #pxl-main h1 { font: 500 clamp(36px,4.8vw,66px)/1.08 var(--s1-display) !important; letter-spacing: -.035em !important; text-wrap: balance; }
.s1-inner #pxl-main :is(h2,.elementor-heading-title) { letter-spacing: -.025em !important; }
.s1-inner #pxl-main .elementor-widget-image img { border-radius: 4px; }
#pxl-wapper #pxl-main .btn, #pxl-wapper .elementor-button, #pxl-wapper .woocommerce .button, #pxl-wapper button.ff-btn, #pxl-wapper .ff-btn-submit { background: var(--primary) !important; background-image: none !important; color: var(--background) !important; border: 1px solid var(--primary) !important; border-radius: 4px !important; box-shadow: none !important; font-family: var(--s1-body) !important; letter-spacing: 0 !important; text-transform: none !important; }
#pxl-wapper #pxl-main .btn::before, #pxl-wapper #pxl-main .btn::after { display: none !important; }
#pxl-wapper :is(input[type="text"],input[type="email"],input[type="tel"],input[type="number"],select,textarea) { border-radius: 4px !important; }
#pxl-wapper :is(input,select,textarea):focus { border-color: var(--primary) !important; outline: 2px solid var(--primary) !important; outline-offset: 2px; }
.recorp-cart-toast { background: var(--foreground); color: var(--background); }
.recorp-cart-toast__link { background: var(--primary); color: var(--background) !important; border-radius: 4px; }

.s1-estimator { background: var(--background); color: var(--foreground); }
.s1-estimator-title { background: var(--s1-plum); color: var(--background); padding-block: 80px; }
.s1-estimator-title h1 { color: inherit; font: 500 clamp(40px,5vw,68px)/1.1 var(--s1-display) !important; letter-spacing: -.035em; margin: 0 0 24px; }
.s1-estimator-title p { font-size: 18px; color: var(--s1-ink-70); margin: 0; }
.s1-estimator-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 72px; padding-block: 72px; }
.s1-estimator h2 { font: 500 32px/1.2 var(--s1-display) !important; color: inherit; margin: 0 0 20px; }
.s1-estimator p { line-height: 1.6; }
.s1-estimator-options { border: 0; padding: 0; margin: 28px 0 0; }
.s1-estimator-options legend { font-size: 15px; margin-bottom: 12px; }
.s1-estimator-options label { display: flex; align-items: center; gap: 16px; padding: 20px; border: 1px solid var(--s1-dark-line); border-radius: 4px; margin-bottom: 12px; cursor: pointer; }
.s1-estimator-options label.is-selected { border-color: var(--primary); background: var(--muted); }
.s1-estimator-options input { accent-color: var(--primary); width: 18px; height: 18px; flex-shrink: 0; }
.s1-estimator-options strong { display: block; font-size: 17px; font-weight: 500; }
.s1-estimator-options small { display: block; font-size: 14px; line-height: 1.5; margin-top: 4px; color: var(--s1-dark-70); }
.s1-estimator-result { align-self: start; background: var(--muted); color: var(--foreground); padding: 36px; }
.s1-estimator-price { display: block; font: 500 48px/1.2 var(--s1-display); color: var(--primary); margin-bottom: 24px; }
.s1-estimator-details { display: block; color: var(--primary); font-size: 15px; margin-top: 20px; text-decoration: underline; }
@media (max-width: 767px) { .s1-estimator-grid { grid-template-columns: 1fr; gap: 32px; padding-block: 48px; } .s1-estimator-result { padding: 24px; } }

@media (max-width: 1199px) {
  .s1-nav { display: none; }
  .s1-mnav { display: block; }
  .s1-topbar .s1-link { display: none; }
  .s1-split { gap: 40px; }
  .s1-ftr-main { flex-direction: column; }
  .s1-ftr-brand { flex-basis: auto; max-width: 600px; }
}
@media (max-width: 959px) {
  .s1-pkgs, .s1-posts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .s1-split { grid-template-columns: 1fr; }
  .s1-split-media { aspect-ratio: 16/10; }
  .s1-quotes { grid-template-columns: 1fr; }
  .s1-cta, .s1-ftr-cta, .s1-head-row { flex-direction: column; align-items: flex-start; }
  .s1-hero h1 { font-size: 64px !important; }
}
@media (max-width: 639px) {
  .s1-wrap { padding-inline: 24px; }
  .s1-topbar p { font-size: 14px !important; text-align: center; }
  .s1-topbar-inner { padding-block: 8px; }
  .s1-hdr-inner { height: 76px; gap: 12px; }
  .s1-brand-logo { width: 195px; }
  .s1-hdr-cta { display: none; }
  .s1-hdr-actions { gap: 8px; }
  .s1-hero { min-height: 570px; padding-block: 64px; }
  .s1-hero h1 { font-size: clamp(43px,10vw,58px) !important; }
  .s1-hero-bg img { object-position: 70% center; opacity: .5; }
  .s1-hero::before { background: rgba(17,35,91,.55); }
  .s1-hero .s1-lead { font-size: 17px !important; }
  .s1-hero-actions { flex-direction: column; align-items: stretch; }
  .s1-section { padding-block: 64px; }
  .s1-pkgs, .s1-posts, .s1-pillars, .s1-svcs { grid-template-columns: 1fr; }
  .s1-pillars { gap: 32px; margin-top: 48px; }
  .s1-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .s1-trust-label { display: none; }
  .s1-cta { padding: 32px 24px; gap: 32px; }
  .s1-ftr-cols { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px 24px; }
  .s1-ftr-bottom { flex-direction: column; }
  .s1-inner #pxl-main .elementor > :is(.elementor-section,.e-con):first-child:has(h1) { padding-block: 56px !important; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .s1-marquee-track { animation: none; } .s1-site * { transition: none !important; } }
