/* Superseguro: native Elementor V4 compatibility.
 * Load after site.css and the document styles. Scope requires body.ss-site,
 * .ss-main, and Elementor's .elementor document wrapper. Original ss-* classes
 * belong on rendered V4 nodes, as recorded in the migration manifests.
 * The existing presentation rules are repeated within this narrower scope so
 * native widget resets (font:inherit, padding:0, width:auto) do not erase them.
 * Native tabs retain their own selected/hidden state and keyboard behavior.
 */

/* Identity and shared foundations. All rules stay inside the public site. */
.ss-site .ss-main .elementor {
  --ss-ink: #143d31;
  --ss-ground: #f6f8f4;
  --ss-accent: #c8e58b;
  --ss-text: #294437;
  --ss-muted: #526659;
  --ss-soft: #eaf0e5;
  --ss-line: #cbd7c9;
  --ss-dark-line: #476659;
  --ss-max: 1280px;
  --ss-radius: 14px;
  --ss-ease: cubic-bezier(.16, 1, .3, 1);
  --ss-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 18 18 6M6 6h12v12' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E");
  --ss-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5v14' fill='none' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E");
  --ss-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14' fill='none' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E");
  margin: 0;
  background: var(--ss-ground);
  color: var(--ss-text);
  font-family: Arial, Helvetica, system-ui, sans-serif;
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  scrollbar-color: #7e9583 var(--ss-ground);
  caret-color: var(--ss-ink);
}
.ss-site .ss-main .elementor *, .ss-site .ss-main .elementor *::before, .ss-site .ss-main .elementor *::after { box-sizing: border-box; }
.ss-site .ss-main .elementor :where(h1,h2,h3,p,figure,ul,ol) { margin: 0; }
.ss-site .ss-main .elementor :where(h1,h2,h3) { color: var(--ss-ink); }
.ss-site .ss-main .elementor :where(h1,h2) {
  font-family: Newsreader, Georgia, serif;
  font-optical-sizing: auto;
  font-weight: 400;
  letter-spacing: -.03em;
  line-height: 1.08;
  text-wrap: balance;
}
.ss-site .ss-main .elementor h1 { font-size: clamp(58px, 5.3vw, 76px); }
.ss-site .ss-main .elementor h2 { font-size: clamp(38px, 3.8vw, 54px); }
.ss-site .ss-main .elementor h3 { font-size: 22px; font-weight: 600; letter-spacing: -.015em; line-height: 1.35; }
.ss-site .ss-main .elementor a { color: inherit; text-underline-offset: .23em; text-decoration-thickness: 1px; }
.ss-site .ss-main .elementor :where(a,button,input,select,summary) { -webkit-tap-highlight-color: transparent; }
.ss-site .ss-main .elementor :where(a,button,input,select,summary):focus-visible { outline: 3px solid #527637; outline-offset: 5px; }
.ss-site .ss-main .elementor :where(button,input,select) { font: inherit; }
.ss-site .ss-main .elementor :where(button,select) { cursor: pointer; }
.ss-site .ss-main .elementor img { display: block; max-width: 100%; height: auto; }
.ss-site .ss-main .elementor figure { min-width: 0; }
.ss-site .ss-main .elementor ::selection { background: var(--ss-accent); color: var(--ss-ink); }
.ss-site .ss-main .elementor ::-webkit-scrollbar { width: 12px; height: 12px; }
.ss-site .ss-main .elementor ::-webkit-scrollbar-track { background: var(--ss-ground); }
.ss-site .ss-main .elementor ::-webkit-scrollbar-thumb { background: #7e9583; border: 3px solid var(--ss-ground); border-radius: 8px; }
.ss-site .ss-main .elementor .ss-container { width: calc(100% - 96px); max-width: var(--ss-max); margin-inline: auto; }
.ss-site .ss-main .elementor .ss-main { outline: none; }


/* Actions share one authored arrow. Text labels stay in the document. */
.ss-site .ss-main .elementor .ss-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 56px; max-width: 100%; padding: 16px 22px; border: 0; background: var(--ss-accent); color: var(--ss-ink); font-size: 16px; line-height: 1.4; font-weight: 600; text-decoration: none; transition: background .2s ease, color .2s ease; }
.ss-site .ss-main .elementor .ss-button::after, .ss-site .ss-main .elementor .ss-text-link::after { content: ''; display: block; width: 22px; height: 22px; flex: 0 0 22px; background: currentColor; -webkit-mask: var(--ss-arrow) center / contain no-repeat; mask: var(--ss-arrow) center / contain no-repeat; }
.ss-site .ss-main .elementor .ss-button:hover { background: #b6d879; }
.ss-site .ss-main .elementor .ss-button:active { background: #a6cb65; }
.ss-site .ss-main .elementor .ss-text-link { display: inline-flex; align-items: center; justify-content: flex-start; gap: 13px; min-height: 44px; font-size: 16px; font-weight: 600; line-height: 1.5; text-decoration: underline; }
.ss-site .ss-main .elementor .ss-text-link:hover { text-decoration-thickness: 2px; }
.ss-site .ss-main .elementor .ss-text-link::after { width: 20px; height: 20px; flex-basis: 20px; }
.ss-site .ss-main .elementor :where(button,input,select):disabled, .ss-site .ss-main .elementor .ss-button[aria-disabled='true'] { opacity: .55; cursor: not-allowed; }

/* The hero is one grid: headline and action left, photograph right. */
.ss-site .ss-main .elementor .ss-hero { display: grid; grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr); grid-template-rows: auto 1fr; column-gap: 56px; row-gap: 23px; padding-top: 32px; padding-bottom: 48px; }
.ss-site .ss-main .elementor .ss-hero-layout { display: contents; }
.ss-site .ss-main .elementor .ss-hero-title { grid-column: 1; grid-row: 1; align-self: end; max-width: 100%; }
.ss-site .ss-main .elementor .ss-home-prevention-title span, .ss-site .ss-main .elementor .ss-home-title span { display: block; }
.ss-site .ss-main .elementor .ss-hero-copy { grid-column: 1; grid-row: 2; align-self: start; max-width: 530px; min-width: 0; }
.ss-site .ss-main .elementor .ss-hero-copy > p { font-size: 19px; line-height: 1.55; max-width: 46ch; }
.ss-site .ss-main .elementor .ss-hero-copy .ss-button { margin-top: 24px; }
.ss-site .ss-main .elementor .ss-hero-copy .ss-small { margin-top: 17px; font-size: 14px; line-height: 1.55; max-width: 47ch; color: var(--ss-muted); }
.ss-site .ss-main .elementor .ss-hero-photo { grid-column: 2; grid-row: 1 / span 2; width: 100%; min-width: 0; height: 440px; overflow: hidden; border-radius: var(--ss-radius); }
.ss-site .ss-main .elementor .ss-hero-photo img { width: 100%; height: 100%; object-fit: cover; }
.ss-site .ss-main .elementor .ss-hero--service .ss-hero-title { max-width: 100%; }
.ss-site .ss-main .elementor .ss-hero--service .ss-hero-photo img { object-position: center; }
.ss-site .ss-main .elementor .ss-section { padding-block: 88px; }
.ss-site .ss-main .elementor .ss-section--compact { padding-top: 48px; padding-bottom: 88px; }
.ss-site .ss-main .elementor .ss-section-heading { max-width: 780px; margin-bottom: 38px; }
.ss-site .ss-main .elementor .ss-section-heading p { margin-top: 20px; max-width: 65ch; }

/* The catalogue reads as eight services, not eight competing panels. */
.ss-site .ss-main .elementor .ss-home-catalog { padding-top: 40px; padding-bottom: 88px; scroll-margin-top: 24px; }
.ss-site .ss-main .elementor .ss-prevention-catalog { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 64px; list-style: none; padding: 0; }
.ss-site .ss-main .elementor .ss-prevention-catalog > li { display: flex; flex-direction: column; align-items: flex-start; padding: 25px 0 27px; border-top: 1px solid var(--ss-line); min-width: 0; }
.ss-site .ss-main .elementor .ss-prevention-catalog h3 { font-size: 23px; line-height: 1.3; font-weight: 600; letter-spacing: -.02em; }
.ss-site .ss-main .elementor .ss-prevention-catalog p { margin-top: 12px; max-width: 62ch; font-size: 16px; line-height: 1.65; flex: 1; }
.ss-site .ss-main .elementor .ss-prevention-catalog .ss-text-link { margin-top: 13px; font-size: 15px; }
.ss-site .ss-main .elementor .ss-catalog-more { padding-top: 25px; border-top: 1px solid var(--ss-line); max-width: 100%; font-size: 16px; }
.ss-site .ss-main .elementor .ss-catalog-more a { display: inline-block; padding-block: 8px; }

/* A quieter statement, followed by the actual sequence of service. */
.ss-site .ss-main .elementor .ss-principle { padding-block: 76px; background: var(--ss-ink); color: var(--ss-ground); }
.ss-site .ss-main .elementor .ss-principle-layout, .ss-site .ss-main .elementor .ss-process-heading { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 4fr); gap: 9%; align-items: center; }
.ss-site .ss-main .elementor .ss-principle h2 { color: var(--ss-ground); font-size: clamp(42px, 4.2vw, 60px); }
.ss-site .ss-main .elementor .ss-principle p { max-width: 50ch; font-size: 17px; }
.ss-site .ss-main .elementor .ss-principle p + p { margin-top: 20px; }
.ss-site .ss-main .elementor .ss-process-heading { align-items: end; margin-bottom: 42px; }
.ss-site .ss-main .elementor .ss-process-heading h2 { max-width: 630px; }
.ss-site .ss-main .elementor .ss-process-heading p { max-width: 45ch; padding-bottom: 4px; }
.ss-site .ss-main .elementor .ss-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 34px; padding-left: 23px; }
.ss-site .ss-main .elementor .ss-steps li { padding-top: 19px; padding-left: 3px; border-top: 1px solid var(--ss-line); }
.ss-site .ss-main .elementor .ss-steps li::marker { color: var(--ss-ink); font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; }
.ss-site .ss-main .elementor .ss-steps h3 { font-size: 19px; margin-bottom: 13px; }
.ss-site .ss-main .elementor .ss-steps p { font-size: 15px; line-height: 1.65; }

/* Supporting electrical detail retains the existing photographic identity. */
.ss-site .ss-main .elementor .ss-electrical-section { padding-bottom: 88px; }
.ss-site .ss-main .elementor .ss-electrical-focus { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 5fr); gap: 10%; align-items: center; }
.ss-site .ss-main .elementor .ss-electrical-photo img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; border-radius: var(--ss-radius); }
.ss-site .ss-main .elementor .ss-electrical-links { display: grid; gap: 18px; margin-top: 24px; }
.ss-site .ss-main .elementor .ss-electrical-links .ss-text-link { font-size: 19px; }
.ss-site .ss-main .elementor .ss-electrical-links p { font-size: 16px; max-width: 52ch; margin-top: 5px; }
.ss-site .ss-main .elementor .ss-electrical-detail { width: 48%; margin-top: 27px; margin-left: auto; }
.ss-site .ss-main .elementor .ss-electrical-detail img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 12px; }
.ss-site .ss-main .elementor .ss-services { padding-block: 40px 88px; }
.ss-site .ss-main .elementor .ss-service-list { display: grid; gap: 70px; }
.ss-site .ss-main .elementor .ss-service-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10%; align-items: center; }
.ss-site .ss-main .elementor .ss-service-row figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--ss-radius); }
.ss-site .ss-main .elementor .ss-service-row h3 { font-family: Newsreader, Georgia, serif; font-size: 44px; font-weight: 400; line-height: 1.1; letter-spacing: -.025em; }
.ss-site .ss-main .elementor .ss-service-row p { margin-top: 18px; max-width: 55ch; }
.ss-site .ss-main .elementor .ss-service-row .ss-text-link { margin-top: 17px; }
.ss-site .ss-main .elementor .ss-service-row--reverse figure { grid-column: 2; grid-row: 1; }
.ss-site .ss-main .elementor .ss-service-row--reverse .ss-service-copy { grid-column: 1; grid-row: 1; }

/* Service pages: clear reasons, scope and delivery, using the same rhythm. */
.ss-site .ss-main .elementor .ss-intro-layout, .ss-site .ss-main .elementor .ss-scope-layout { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 6fr); gap: 10%; align-items: start; }
.ss-site .ss-main .elementor .ss-intro-layout h2, .ss-site .ss-main .elementor .ss-scope-heading h2 { max-width: 520px; }
.ss-site .ss-main .elementor .ss-situations { display: grid; gap: 25px; padding: 0; list-style: none; }
.ss-site .ss-main .elementor .ss-situations li + li { padding-top: 23px; border-top: 1px solid var(--ss-line); }
.ss-site .ss-main .elementor .ss-situations strong { display: block; margin-bottom: 7px; font-size: 21px; line-height: 1.35; font-weight: 600; color: var(--ss-ink); }
.ss-site .ss-main .elementor .ss-situations span { font-size: 16px; line-height: 1.65; }
.ss-site .ss-main .elementor .ss-scope { padding-block: 76px; background: var(--ss-soft); }
.ss-site .ss-main .elementor .ss-scope-heading p { margin-top: 21px; max-width: 45ch; }
.ss-site .ss-main .elementor .ss-scope-list { display: grid; gap: 25px; padding-left: 22px; }
.ss-site .ss-main .elementor .ss-scope-list li { padding-left: 5px; font-size: 16px; max-width: 65ch; }
.ss-site .ss-main .elementor .ss-scope-list strong { display: block; margin-bottom: 7px; font-size: 20px; line-height: 1.35; font-weight: 600; color: var(--ss-ink); }
.ss-site .ss-main .elementor .ss-delivery-layout { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 4fr); gap: 9%; align-items: start; }
.ss-site .ss-main .elementor .ss-delivery-main h2 { max-width: 650px; }
.ss-site .ss-main .elementor .ss-delivery-main > p { margin-top: 21px; max-width: 62ch; font-size: 18px; }
.ss-site .ss-main .elementor .ss-delivery-main ul { display: grid; gap: 11px; padding-left: 21px; margin-top: 24px; max-width: 65ch; font-size: 16px; }
.ss-site .ss-main .elementor .ss-delivery-aside { padding: 28px; border-radius: 12px; background: var(--ss-soft); }
.ss-site .ss-main .elementor .ss-delivery-aside h3 { font-size: 22px; margin-bottom: 17px; }
.ss-site .ss-main .elementor .ss-delivery-aside p { font-size: 15px; line-height: 1.7; }
.ss-site .ss-main .elementor .ss-delivery-aside p + p { margin-top: 17px; }
.ss-site .ss-main .elementor .ss-delivery-main .ss-note, .ss-site .ss-main .elementor .ss-note { margin-top: 25px; max-width: 68ch; font-size: 14px; line-height: 1.6; color: var(--ss-muted); }
.ss-site .ss-main .elementor .ss-service-process { padding-top: 0; }

/* Native disclosure remains usable with no JavaScript. */
.ss-site .ss-main .elementor .ss-faq-section { padding-block: 76px; background: var(--ss-soft); }
.ss-site .ss-main .elementor .ss-faq-layout { display: grid; grid-template-columns: minmax(0, 3.6fr) minmax(0, 6.4fr); gap: 8%; align-items: start; }
.ss-site .ss-main .elementor .ss-faq-photo { width: 88%; max-width: 340px; margin-top: 54px; }
.ss-site .ss-main .elementor .ss-faq-photo img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; object-position: 45% center; border-radius: var(--ss-radius); }
.ss-site .ss-main .elementor .ss-faq-content h2 { margin-bottom: 28px; }
.ss-site .ss-main .elementor .ss-faq details { border-bottom: 1px solid #bdccba; }
.ss-site .ss-main .elementor .ss-faq details:first-child { border-top: 1px solid #bdccba; }
.ss-site .ss-main .elementor .ss-faq summary { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 76px; padding: 21px 0; color: var(--ss-ink); font-size: 17px; font-weight: 500; line-height: 1.45; list-style: none; cursor: pointer; transition: color .2s ease; }
.ss-site .ss-main .elementor .ss-faq summary::-webkit-details-marker { display: none; }
.ss-site .ss-main .elementor .ss-faq summary::after { content: ''; display: block; width: 22px; height: 22px; flex: 0 0 22px; background: currentColor; -webkit-mask: var(--ss-plus) center / contain no-repeat; mask: var(--ss-plus) center / contain no-repeat; }
.ss-site .ss-main .elementor .ss-faq summary:hover { color: #3b653d; }
.ss-site .ss-main .elementor .ss-faq details[open] summary { font-weight: 600; }
.ss-site .ss-main .elementor .ss-faq details[open] summary::after { -webkit-mask-image: var(--ss-minus); mask-image: var(--ss-minus); }
.ss-site .ss-main .elementor .ss-faq details > p { padding: 0 46px 24px 0; font-size: 16px; line-height: 1.65; max-width: 72ch; }
.ss-site .ss-main .elementor .ss-faq-section--service .ss-faq-layout { grid-template-columns: minmax(0, 4fr) minmax(0, 6fr); gap: 10%; }
.ss-site .ss-main .elementor .ss-faq-intro p { margin-top: 21px; max-width: 42ch; }

/* Conversion closes each page in one purposeful green surface. */
.ss-site .ss-main .elementor .ss-contact { margin-block: 88px; padding: 58px 60px; background: var(--ss-ink); color: var(--ss-ground); border-radius: 16px; }
.ss-site .ss-main .elementor .ss-contact-layout { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 5fr); gap: 9%; align-items: center; }
.ss-site .ss-main .elementor .ss-contact h2 { color: var(--ss-ground); font-size: clamp(38px, 3.6vw, 52px); max-width: 560px; }
.ss-site .ss-main .elementor .ss-contact-copy > p { margin-top: 22px; max-width: 46ch; color: #deeadf; }
.ss-site .ss-main .elementor .ss-contact-picker { min-width: 0; }
.ss-site .ss-main .elementor .ss-contact-picker fieldset { min-width: 0; padding: 0; margin: 0; border: 0; }
.ss-site .ss-main .elementor .ss-service-label, .ss-site .ss-main .elementor .ss-contact-picker legend { display: block; padding: 0; margin-bottom: 13px; font-size: 17px; line-height: 1.5; font-weight: 600; color: #f6f8f4; }
.ss-site .ss-main .elementor .ss-service-select { display: block; width: 100%; min-height: 56px; padding: 14px 40px 14px 15px; border: 1px solid #d2decf; border-radius: 0; background-color: #f6f8f4; color: var(--ss-ink); font-size: 16px; line-height: 1.5; text-overflow: ellipsis; }
.ss-site .ss-main .elementor .ss-service-select:hover { border-color: var(--ss-accent); }
.ss-site .ss-main .elementor .ss-picker-status { min-height: 23px; margin-top: 17px; font-size: 14px; line-height: 1.6; color: #deeadf; }
.ss-site .ss-main .elementor .ss-contact-picker .ss-button { margin-top: 20px; }
.ss-site .ss-main .elementor .ss-contact-picker .ss-small { margin-top: 15px; max-width: 58ch; font-size: 13px; line-height: 1.6; color: #c7d8ca; }
.ss-site .ss-main .elementor .ss-simple-contact { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 4fr); gap: 8%; align-items: center; }
.ss-site .ss-main .elementor .ss-simple-contact p { max-width: 45ch; margin-bottom: 24px; color: #deeadf; }
.ss-site .ss-main .elementor .ss-choice-list { display: flex; flex-wrap: wrap; gap: 8px; }
.ss-site .ss-main .elementor .ss-choice { display: flex; align-items: center; gap: 9px; min-height: 48px; padding: 10px 14px; background: #245846; color: #fff; font-size: 14px; cursor: pointer; }
.ss-site .ss-main .elementor .ss-choice:has(input:checked) { background: var(--ss-accent); color: var(--ss-ink); }
.ss-site .ss-main .elementor .ss-choice input { width: 18px; height: 18px; margin: 0; accent-color: var(--ss-ink); }
.ss-site .ss-main .elementor .ss-contact :where(a,button,input,select):focus-visible { outline-color: var(--ss-accent); }
.ss-site .ss-main .elementor .ss-next-service { padding-bottom: 80px; }
.ss-site .ss-main .elementor .ss-next-service-inner { display: flex; justify-content: space-between; align-items: center; gap: 40px; padding-top: 30px; border-top: 1px solid var(--ss-line); }
.ss-site .ss-main .elementor .ss-next-service h2 { font-size: 34px; }
.ss-site .ss-main .elementor .ss-next-service p { margin-top: 11px; max-width: 65ch; font-size: 16px; }
.ss-site .ss-main .elementor .ss-next-service .ss-text-link { flex-shrink: 0; }



@media (max-width: 1000px) {
  .ss-site .ss-main .elementor .ss-container { width: calc(100% - 64px); }
  .ss-site .ss-main .elementor .ss-hero { column-gap: 32px; row-gap: 20px; padding-top: 25px; padding-bottom: 40px; }
  .ss-site .ss-main .elementor .ss-hero h1 { font-size: clamp(44px, 5.8vw, 58px); }
  .ss-site .ss-main .elementor .ss-hero--service h1 { font-size: clamp(42px, 5.5vw, 56px); }
  .ss-site .ss-main .elementor .ss-hero-copy > p { font-size: 17px; }
  .ss-site .ss-main .elementor .ss-hero-copy .ss-button { font-size: 14px; padding: 15px 17px; gap: 14px; min-height: 52px; }
  .ss-site .ss-main .elementor .ss-hero-copy .ss-small { font-size: 13px; }
  .ss-site .ss-main .elementor .ss-hero-photo { height: 410px; }
  .ss-site .ss-main .elementor h2 { font-size: 42px; }
  .ss-site .ss-main .elementor .ss-section { padding-block: 72px; }
  .ss-site .ss-main .elementor .ss-section--compact { padding-top: 32px; padding-bottom: 72px; }
  .ss-site .ss-main .elementor .ss-home-catalog { padding-top: 32px; padding-bottom: 72px; }
  .ss-site .ss-main .elementor .ss-prevention-catalog { column-gap: 38px; }
  .ss-site .ss-main .elementor .ss-prevention-catalog h3 { font-size: 21px; }
  .ss-site .ss-main .elementor .ss-prevention-catalog .ss-text-link { font-size: 14px; }
  .ss-site .ss-main .elementor .ss-principle { padding-block: 64px; }
  .ss-site .ss-main .elementor .ss-principle-layout, .ss-site .ss-main .elementor .ss-process-heading { gap: 7%; }
  .ss-site .ss-main .elementor .ss-principle h2 { font-size: 46px; }
  .ss-site .ss-main .elementor .ss-principle p { font-size: 16px; }
  .ss-site .ss-main .elementor .ss-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 31px 40px; }
  .ss-site .ss-main .elementor .ss-electrical-section { padding-bottom: 72px; }
  .ss-site .ss-main .elementor .ss-electrical-focus { gap: 8%; align-items: start; }
  .ss-site .ss-main .elementor .ss-electrical-photo { padding-top: 25px; }
  .ss-site .ss-main .elementor .ss-electrical-photo img { aspect-ratio: 4 / 5; }
  .ss-site .ss-main .elementor .ss-electrical-detail { width: 60%; }
  .ss-site .ss-main .elementor .ss-intro-layout, .ss-site .ss-main .elementor .ss-scope-layout, .ss-site .ss-main .elementor .ss-delivery-layout { gap: 7%; }
  .ss-site .ss-main .elementor .ss-scope, .ss-site .ss-main .elementor .ss-faq-section { padding-block: 64px; }
  .ss-site .ss-main .elementor .ss-situations strong { font-size: 19px; }
  .ss-site .ss-main .elementor .ss-delivery-aside { padding: 23px; }
  .ss-site .ss-main .elementor .ss-delivery-aside h3 { font-size: 20px; }
  .ss-site .ss-main .elementor .ss-service-process { padding-top: 0; }
  .ss-site .ss-main .elementor .ss-faq-layout { grid-template-columns: minmax(0, 3fr) minmax(0, 7fr); gap: 7%; }
  .ss-site .ss-main .elementor .ss-faq-photo { width: 100%; }
  .ss-site .ss-main .elementor .ss-faq-section--service .ss-faq-layout { gap: 7%; }
  .ss-site .ss-main .elementor .ss-contact { padding: 44px 35px; margin-block: 72px; }
  .ss-site .ss-main .elementor .ss-contact-layout, .ss-site .ss-main .elementor .ss-simple-contact { gap: 7%; }
  .ss-site .ss-main .elementor .ss-contact h2 { font-size: 40px; }
  .ss-site .ss-main .elementor .ss-contact .ss-button { font-size: 14px; padding-inline: 17px; gap: 12px; }
  .ss-site .ss-main .elementor .ss-service-select { font-size: 16px; padding-right: 25px; }
  .ss-site .ss-main .elementor .ss-next-service { padding-bottom: 72px; }
  .ss-site .ss-main .elementor .ss-next-service-inner { flex-direction: column; align-items: flex-start; gap: 17px; }
}
@media (max-width: 699px) {
  .ss-site .ss-main .elementor { font-size: 16px; }
  .ss-site .ss-main .elementor .ss-container { width: calc(100% - 40px); }
  .ss-site .ss-main .elementor h2 { font-size: 36px; line-height: 1.12; letter-spacing: -.025em; }
  .ss-site .ss-main .elementor .ss-hero { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto; gap: 20px; padding-top: 22px; padding-bottom: 48px; }
  .ss-site .ss-main .elementor .ss-hero h1, .ss-site .ss-main .elementor .ss-hero--service h1 { font-size: clamp(42px, 11.8vw, 54px); line-height: 1.04; letter-spacing: -.03em; }
  .ss-site .ss-main .elementor .ss-hero-title { grid-column: 1; grid-row: 1; }
  .ss-site .ss-main .elementor .ss-hero-copy { grid-column: 1; grid-row: 2; max-width: 100%; }
  .ss-site .ss-main .elementor .ss-hero-copy > p { font-size: 17px; line-height: 1.55; max-width: 49ch; }
  .ss-site .ss-main .elementor .ss-hero-copy .ss-button { margin-top: 22px; min-height: 54px; font-size: 15px; padding: 15px 20px; gap: 16px; }
  .ss-site .ss-main .elementor .ss-hero-copy .ss-small { font-size: 13px; margin-top: 15px; max-width: 49ch; }
  .ss-site .ss-main .elementor .ss-hero-photo { grid-column: 1; grid-row: 3; height: auto; margin-top: 6px; border-radius: 12px; }
  .ss-site .ss-main .elementor .ss-hero-photo img { height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
  .ss-site .ss-main .elementor .ss-section { padding-block: 58px; }
  .ss-site .ss-main .elementor .ss-section--compact { padding-top: 10px; padding-bottom: 58px; }
  .ss-site .ss-main .elementor .ss-section-heading { margin-bottom: 28px; }
  .ss-site .ss-main .elementor .ss-section-heading p { margin-top: 17px; }
  .ss-site .ss-main .elementor .ss-home-catalog { padding-top: 10px; padding-bottom: 58px; }
  .ss-site .ss-main .elementor .ss-prevention-catalog { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .ss-site .ss-main .elementor .ss-prevention-catalog > li { padding: 23px 0 24px; }
  .ss-site .ss-main .elementor .ss-prevention-catalog h3 { font-size: 22px; }
  .ss-site .ss-main .elementor .ss-prevention-catalog p { font-size: 16px; margin-top: 11px; }
  .ss-site .ss-main .elementor .ss-prevention-catalog .ss-text-link { font-size: 15px; margin-top: 11px; }
  .ss-site .ss-main .elementor .ss-catalog-more { font-size: 15px; padding-top: 20px; }
  .ss-site .ss-main .elementor .ss-catalog-more a { min-height: 44px; padding-block: 9px; }
  .ss-site .ss-main .elementor .ss-principle { padding-block: 54px; }
  .ss-site .ss-main .elementor .ss-principle-layout, .ss-site .ss-main .elementor .ss-process-heading { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .ss-site .ss-main .elementor .ss-principle h2 { font-size: 40px; }
  .ss-site .ss-main .elementor .ss-principle p { font-size: 16px; }
  .ss-site .ss-main .elementor .ss-principle p + p { margin-top: 17px; }
  .ss-site .ss-main .elementor .ss-process-heading { margin-bottom: 31px; }
  .ss-site .ss-main .elementor .ss-process-heading p { padding: 0; }
  .ss-site .ss-main .elementor .ss-steps { grid-template-columns: minmax(0, 1fr); gap: 25px; padding-left: 22px; }
  .ss-site .ss-main .elementor .ss-steps li { padding-top: 17px; }
  .ss-site .ss-main .elementor .ss-steps h3 { font-size: 20px; margin-bottom: 9px; }
  .ss-site .ss-main .elementor .ss-steps p { font-size: 16px; }
  .ss-site .ss-main .elementor .ss-electrical-section { padding-bottom: 58px; }
  .ss-site .ss-main .elementor .ss-electrical-focus { grid-template-columns: minmax(0, 1fr); gap: 29px; }
  .ss-site .ss-main .elementor .ss-electrical-photo { padding-top: 0; width: 86%; }
  .ss-site .ss-main .elementor .ss-electrical-photo img { aspect-ratio: 4 / 3; }
  .ss-site .ss-main .elementor .ss-electrical-links { margin-top: 19px; gap: 18px; }
  .ss-site .ss-main .elementor .ss-electrical-links .ss-text-link { font-size: 19px; }
  .ss-site .ss-main .elementor .ss-electrical-detail { width: 52%; margin-top: 23px; }
  .ss-site .ss-main .elementor .ss-services { padding-block: 10px 58px; }
  .ss-site .ss-main .elementor .ss-service-list { gap: 50px; }
  .ss-site .ss-main .elementor .ss-service-row { grid-template-columns: minmax(0, 1fr); gap: 25px; }
  .ss-site .ss-main .elementor .ss-service-row h3 { font-size: 36px; }
  .ss-site .ss-main .elementor .ss-service-row--reverse figure, .ss-site .ss-main .elementor .ss-service-row--reverse .ss-service-copy { grid-column: 1; grid-row: auto; }
  .ss-site .ss-main .elementor .ss-intro-layout, .ss-site .ss-main .elementor .ss-scope-layout, .ss-site .ss-main .elementor .ss-delivery-layout { grid-template-columns: minmax(0, 1fr); gap: 29px; }
  .ss-site .ss-main .elementor .ss-situations { gap: 21px; }
  .ss-site .ss-main .elementor .ss-situations li + li { padding-top: 20px; }
  .ss-site .ss-main .elementor .ss-situations strong { font-size: 20px; }
  .ss-site .ss-main .elementor .ss-scope, .ss-site .ss-main .elementor .ss-faq-section { padding-block: 54px; }
  .ss-site .ss-main .elementor .ss-scope-heading p { margin-top: 18px; }
  .ss-site .ss-main .elementor .ss-scope-list { gap: 24px; padding-left: 20px; }
  .ss-site .ss-main .elementor .ss-scope-list strong { font-size: 19px; }
  .ss-site .ss-main .elementor .ss-delivery-main > p { font-size: 17px; margin-top: 18px; }
  .ss-site .ss-main .elementor .ss-delivery-main ul { margin-top: 20px; }
  .ss-site .ss-main .elementor .ss-delivery-aside { padding: 23px; }
  .ss-site .ss-main .elementor .ss-delivery-aside h3 { font-size: 21px; }
  .ss-site .ss-main .elementor .ss-delivery-aside p { font-size: 15px; }
  .ss-site .ss-main .elementor .ss-service-process { padding-top: 0; }
  .ss-site .ss-main .elementor .ss-faq-layout, .ss-site .ss-main .elementor .ss-faq-section--service .ss-faq-layout { grid-template-columns: minmax(0, 1fr); gap: 27px; }
  .ss-site .ss-main .elementor .ss-faq-content { grid-row: 1; }
  .ss-site .ss-main .elementor .ss-faq-photo { grid-row: 2; width: 48%; max-width: 190px; margin-top: 3px; margin-left: auto; }
  .ss-site .ss-main .elementor .ss-faq-content h2 { margin-bottom: 22px; }
  .ss-site .ss-main .elementor .ss-faq summary { min-height: 70px; padding-block: 19px; gap: 18px; font-size: 16px; }
  .ss-site .ss-main .elementor .ss-faq details > p { padding: 0 27px 22px 0; font-size: 15px; }
  .ss-site .ss-main .elementor .ss-faq-intro p { margin-top: 17px; }
  .ss-site .ss-main .elementor .ss-contact { margin-block: 58px; padding: 32px 24px; border-radius: 14px; }
  .ss-site .ss-main .elementor .ss-contact-layout, .ss-site .ss-main .elementor .ss-simple-contact { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .ss-site .ss-main .elementor .ss-contact h2 { font-size: 36px; }
  .ss-site .ss-main .elementor .ss-contact-copy > p { margin-top: 18px; font-size: 16px; }
  .ss-site .ss-main .elementor .ss-service-label, .ss-site .ss-main .elementor .ss-contact-picker legend { font-size: 16px; }
  .ss-site .ss-main .elementor .ss-service-select { padding: 13px 25px 13px 12px; min-height: 54px; font-size: 16px; }
  .ss-site .ss-main .elementor .ss-picker-status { font-size: 13px; margin-top: 15px; }
  .ss-site .ss-main .elementor .ss-contact .ss-button { min-height: 54px; font-size: 14px; gap: 12px; padding: 15px 17px; }
  .ss-site .ss-main .elementor .ss-contact-picker .ss-small { font-size: 12px; line-height: 1.65; }
  .ss-site .ss-main .elementor .ss-simple-contact p { margin-bottom: 22px; font-size: 16px; }
  .ss-site .ss-main .elementor .ss-next-service { padding-bottom: 58px; }
  .ss-site .ss-main .elementor .ss-next-service-inner { padding-top: 25px; gap: 16px; }
  .ss-site .ss-main .elementor .ss-next-service h2 { font-size: 30px; }
  .ss-site .ss-main .elementor .ss-next-service p { font-size: 15px; }
  .ss-site .ss-main .elementor .ss-next-service .ss-text-link { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .ss-site .ss-main .elementor *, .ss-site .ss-main .elementor *::before, .ss-site .ss-main .elementor *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Atomic text uses all:unset; restore block flow without changing inline text. */
.ss-site .ss-main .elementor { min-width: 0; width: 100%; max-width: none; }
.ss-site .ss-main .elementor :is(h1,h2,h3,p) { display: block; }
.ss-site .ss-main .elementor :is(h1,h2,h3,p,a,span) { overflow-wrap: break-word; }
.ss-site .ss-main .elementor :is(.ss-hero-copy,.ss-section-heading,.ss-electrical-copy,.ss-delivery-main,.ss-delivery-aside,.ss-faq-content,.ss-faq-intro,.ss-contact-copy,.ss-contact-picker) { min-width: 0; }
.ss-site .ss-main .elementor :is(.ss-hero-photo,.ss-electrical-photo,.ss-electrical-detail,.ss-faq-photo) { display: block; min-width: 0; }
.ss-site .ss-main .elementor .ss-hero-photo > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ss-site .ss-main .elementor .ss-hero-layout { display: contents; }

/* Native block lists keep list/listitem roles; only the HTML tag has changed. */
.ss-site .ss-main .elementor .ss-native-list { list-style: none; }
.ss-site .ss-main .elementor .ss-native-list-item { min-width: 0; margin: 0; }
.ss-site .ss-main .elementor .ss-prevention-catalog > .ss-native-list-item {
  display: flex; flex-direction: column; align-items: flex-start;
  padding: 25px 0 27px; border-top: 1px solid var(--ss-line);
}
.ss-site .ss-main .elementor .ss-prevention-catalog > .ss-native-list-item > p { flex: 1; }
.ss-site .ss-main .elementor .ss-steps { counter-reset: ss-step; }
.ss-site .ss-main .elementor .ss-steps > .ss-native-list-item {
  position: relative; counter-increment: ss-step;
  padding: 19px 0 0 3px; border-top: 1px solid var(--ss-line);
}
.ss-site .ss-main .elementor .ss-steps > .ss-native-list-item::before {
  content: counter(ss-step) "."; position: absolute; top: 19px; left: -23px;
  color: var(--ss-ink); font-size: 15px; font-weight: 600; line-height: 1.7;
  font-variant-numeric: tabular-nums;
}
.ss-site .ss-main .elementor .ss-situations > .ss-native-list-item + .ss-native-list-item {
  padding-top: 23px; border-top: 1px solid var(--ss-line);
}
.ss-site .ss-main .elementor .ss-situations > .ss-native-list-item > p {
  margin: 0; font-size: 16px; line-height: 1.65;
}
.ss-site .ss-main .elementor .ss-scope-list > .ss-native-list-item {
  position: relative; padding-left: 5px; max-width: 65ch; font-size: 16px;
}
.ss-site .ss-main .elementor .ss-scope-list > .ss-native-list-item > p {
  margin: 0; font-size: inherit; line-height: inherit;
}
.ss-site .ss-main .elementor .ss-delivery-main > .ss-native-list-ul {
  display: grid; gap: 11px; padding-left: 21px; margin-top: 24px;
  max-width: 65ch; font-size: 16px; line-height: 1.65;
}
.ss-site .ss-main .elementor .ss-delivery-main > .ss-native-list-ul > .ss-native-list-item {
  position: relative; padding: 0;
}
.ss-site .ss-main .elementor .ss-delivery-main > .ss-native-list-ul > .ss-native-list-item > p {
  margin: 0; font-size: inherit; line-height: inherit;
}
.ss-site .ss-main .elementor :is(.ss-scope-list,.ss-delivery-main > .ss-native-list-ul) > .ss-native-list-item::before {
  content: ""; position: absolute; top: .75em; left: -15px;
  width: 4px; height: 4px; border-radius: 50%; background: currentColor;
}

/* Accordion title/content slots are native V4 wrappers, not extra questions. */
.ss-site .ss-main .elementor .ss-faq { display: block; padding: 0; gap: 0; }
.ss-site .ss-main .elementor .ss-faq > details {
  display: block; min-width: 0; width: 100%; margin: 0; padding: 0;
  border: 0; border-bottom: 1px solid #bdccba;
}
.ss-site .ss-main .elementor .ss-faq > details:first-child { border-top: 1px solid #bdccba; }
.ss-site .ss-main .elementor .ss-faq > details > summary {
  display: flex; justify-content: space-between; align-items: center;
  width: 100%; min-width: 0; min-height: 76px; gap: 24px;
  padding: 21px 0; margin: 0; cursor: pointer; list-style: none;
  color: var(--ss-ink); font-size: 17px; font-weight: 500; line-height: 1.45;
}
.ss-site .ss-main .elementor .ss-faq > details > summary::-webkit-details-marker { display: none; }
.ss-site .ss-main .elementor .ss-faq > details > summary > :first-child {
  display: block; flex: 1 1 auto; width: auto; min-width: 0;
  margin: 0; padding: 0; color: inherit; font: inherit; cursor: inherit;
}
.ss-site .ss-main .elementor .ss-faq > details > summary :is(p,span) {
  margin: 0; padding: 0; color: inherit; font: inherit; cursor: inherit;
}
.ss-site .ss-main .elementor .ss-faq > details > summary::after {
  content: ""; display: block; width: 22px; height: 22px; flex: 0 0 22px;
  background: currentColor;
  -webkit-mask: var(--ss-plus) center / contain no-repeat;
  mask: var(--ss-plus) center / contain no-repeat;
}
.ss-site .ss-main .elementor .ss-faq > details[open] > summary { font-weight: 600; }
.ss-site .ss-main .elementor .ss-faq > details[open] > summary::after {
  -webkit-mask-image: var(--ss-minus); mask-image: var(--ss-minus);
}
.ss-site .ss-main .elementor .ss-faq .ss-faq-answer {
  min-width: 0; width: auto; max-width: 72ch; margin: 0;
  padding: 0 46px 24px 0; font-size: 16px; line-height: 1.65;
}
.ss-site .ss-main .elementor .ss-faq .ss-faq-answer > p {
  margin: 0; padding: 0; font: inherit; color: inherit;
}
.ss-site .ss-main .elementor .ss-faq > details > summary:focus-visible {
  outline: 3px solid #527637; outline-offset: 5px;
}

/* Nine native tabs replace the former select. Neutralize its retained class. */
.ss-site .ss-main .elementor .ss-native-contact-picker { min-width: 0; }
.ss-site .ss-main .elementor .ss-service-tabs,
.ss-site .ss-main .elementor .ss-service-tabs.ss-service-select {
  display: flex; flex-direction: column; align-items: stretch; gap: 20px;
  min-width: 0; min-height: 0; width: 100%; max-width: 100%;
  margin: 0; padding: 0; border: 0; border-radius: 0;
  background: transparent; color: inherit; font: inherit;
  cursor: auto; overflow: visible; text-overflow: clip;
}
.ss-site .ss-main .elementor .ss-service-tabs-menu {
  display: flex; flex-direction: row; flex-wrap: wrap;
  align-items: stretch; justify-content: flex-start;
  gap: 8px; width: 100%; min-width: 0; margin: 0; padding: 0;
}
.ss-site .ss-main .elementor .ss-service-tab {
  display: flex; align-items: center; justify-content: center;
  flex: 1 1 calc(50% - 4px); min-width: 0; width: auto; max-width: 100%;
  min-height: 48px; margin: 0; padding: 10px 12px;
  border: 1px solid #638773; border-radius: 5px;
  background: #245846; color: #f6f8f4; cursor: pointer;
  font-family: Arial, Helvetica, system-ui, sans-serif;
  font-size: 13px; font-weight: 500; line-height: 1.4;
  text-align: center; white-space: normal; overflow-wrap: break-word;
}
.ss-site .ss-main .elementor .ss-service-tab:first-child { flex-basis: 100%; }
.ss-site .ss-main .elementor .ss-service-tab:hover { background: #316a52; border-color: #c8e58b; }
.ss-site .ss-main .elementor .ss-service-tab[aria-selected="true"],
.ss-site .ss-main .elementor .ss-service-tab.e--selected {
  background: var(--ss-accent); border-color: var(--ss-accent);
  color: var(--ss-ink); font-weight: 600;
}
.ss-site .ss-main .elementor .ss-service-tab:focus-visible {
  outline: 3px solid var(--ss-accent); outline-offset: 3px;
}
.ss-site .ss-main .elementor .ss-service-tab-label {
  display: inline; width: auto; min-width: 0; margin: 0; padding: 0;
  color: inherit; font: inherit; cursor: inherit; white-space: normal;
}
.ss-site .ss-main .elementor .ss-service-tabs-panels,
.ss-site .ss-main .elementor .ss-service-tab-panel {
  width: 100%; min-width: 0; margin: 0; padding: 0; border: 0;
  color: inherit; background: transparent;
}
.ss-site .ss-main .elementor .ss-service-tabs-panels { display: block; }
.ss-site .ss-main .elementor .ss-service-tab-panel:not([hidden]) { display: block; }
.ss-site .ss-main .elementor .ss-service-tab-panel[hidden] { display: none !important; }
.ss-site .ss-main .elementor .ss-service-tab-panel .ss-picker-status {
  margin: 0; min-height: 23px; font-size: 14px; line-height: 1.6; color: #deeadf;
}
.ss-site .ss-main .elementor .ss-service-tab-panel .ss-button { margin-top: 16px; }

@media (max-width: 1000px) {
  .ss-site .ss-main .elementor .ss-service-tab { padding: 10px; font-size: 13px; }
}
@media (max-width: 699px) {
  .ss-site .ss-main .elementor .ss-hero-photo > img { height: auto; aspect-ratio: 3 / 2; }
  .ss-site .ss-main .elementor .ss-prevention-catalog > .ss-native-list-item { padding: 23px 0 24px; }
  .ss-site .ss-main .elementor .ss-steps > .ss-native-list-item { padding-top: 17px; }
  .ss-site .ss-main .elementor .ss-steps > .ss-native-list-item::before { top: 17px; left: -22px; }
  .ss-site .ss-main .elementor .ss-situations > .ss-native-list-item + .ss-native-list-item { padding-top: 20px; }
  .ss-site .ss-main .elementor .ss-delivery-main > .ss-native-list-ul { margin-top: 20px; }
  .ss-site .ss-main .elementor .ss-faq > details > summary {
    min-height: 70px; padding-block: 19px; gap: 18px; font-size: 16px;
  }
  .ss-site .ss-main .elementor .ss-faq .ss-faq-answer { padding: 0 27px 22px 0; font-size: 15px; }
  .ss-site .ss-main .elementor .ss-service-tabs { gap: 18px; }
  .ss-site .ss-main .elementor .ss-service-tab { padding: 10px 8px; font-size: 12px; }
  .ss-site .ss-main .elementor .ss-service-tab-panel .ss-picker-status { font-size: 13px; }
}
