
/* ==========================================================================
   Ranger look for native Elementor elements.
   Pages are built from Elementor's own Containers, Headings, Text Editors,
   Images, Buttons, Icon Lists, Icon Boxes and Nested Accordions. These
   classes (Advanced > CSS Classes) give them the Ranger style. Anything set
   in an element's Style tab overrides them.
   ========================================================================== */
body /* ---------- Text ---------- */
.rg-section .elementor-heading-title, body .rg-header .elementor-heading-title, body .rg-footer .elementor-heading-title, body .rg-article .elementor-heading-title { font-family: var(--f-head); line-height: 1.2; text-wrap: balance; }
body .rg-h1 .elementor-heading-title, body .rg-page-title__h, body .rg-post-title { font-family: var(--f-head); font-size: clamp(2rem, 4.4vw, 3.2rem); font-weight: 700; line-height: 1.12; color: var(--white); margin: 0; text-wrap: balance; }
body .rg-page-title__desc { font-size: 1.1rem; color: #D7D8DD; margin: 14px 0 0; }
body .rg-post-title { font-size: clamp(2rem, 4.4vw, 3rem); line-height: 1.15; }
body .rg-post-excerpt { font-size: 1.15rem; color: #D7D8DD; max-width: 680px; margin: 0; }
body .rg-post-meta { font-size: .92rem; color: #A9ABB3; margin: 0; }
body .rg-h2 .elementor-heading-title { font-size: clamp(1.8rem, 3.4vw, 2.6rem); font-weight: 600; color: var(--ink); }
body .rg-h3 .elementor-heading-title { font-size: clamp(1.15rem, 1.6vw, 1.3rem); font-weight: 600; color: var(--ink); }
body .rg-h3--sm .elementor-heading-title { font-size: 1.12rem; }
body .rg-h2 .elementor-heading-title a, body .rg-h3 .elementor-heading-title a { color: inherit; text-decoration: none; transition: color .15s; }
body .rg-h2 .elementor-heading-title a:hover, body .rg-h3 .elementor-heading-title a:hover { color: var(--red); }
body .rg-bar .elementor-heading-title { padding-left: 20px; border-left: 4px solid var(--red); }
body .rg-section .accent { color: var(--red); }
body .rg-eyebrow .elementor-heading-title { font-size: .95rem; font-weight: 600; line-height: 1.4; color: var(--red); }
body .rg-eyebrow--yellow .elementor-heading-title { color: var(--yellow); }
body .rg-kicker .elementor-heading-title { display: flex; align-items: center; gap: 10px; font-size: 1rem; font-weight: 500; line-height: 1.4; color: var(--yellow); }
body .rg-kicker .elementor-heading-title::before { content: ""; width: 34px; height: 3px; background: var(--red); flex: none; }
body .rg-display .elementor-heading-title { font-size: clamp(2.4rem, 5.2vw, 4.1rem); font-weight: 700; line-height: 1.08; color: var(--white); }
body .rg-text, body .rg-lede, body .rg-prose { color: var(--text); }
body .rg-text p:last-child, body .rg-lede p:last-child, body .rg-prose > :last-child { margin-bottom: 0; }
body .rg-lede { font-size: 1.08rem; }
body .rg-lede.rg-on-dark { font-size: 1.12rem; }
body .rg-small { font-size: .95rem; }
body .rg-center, body .rg-center p { text-align: center; }
body .rg-on-dark, body .rg-on-dark p, body .rg-dark .rg-text { color: #D7D8DD; }
body .rg-on-dark .elementor-heading-title, body .rg-on-dark.elementor-widget-heading .elementor-heading-title { color: var(--white); }
body .rg-on-red, body .rg-on-red p { color: #FFE3E5; }
body .rg-on-red .elementor-heading-title, body .rg-on-red.elementor-widget-heading .elementor-heading-title { color: var(--white); }
body /* Rich text written in the Text Editor */
.rg-prose { font-size: 1.05rem; }
body .rg-prose h2 { font-size: clamp(1.5rem, 2.6vw, 1.9rem); margin: 1.6em 0 .5em; }
body .rg-prose h3 { font-size: 1.2rem; margin: 1.4em 0 .4em; }
body .rg-prose > :first-child { margin-top: 0; }
body .rg-prose ul, body .rg-prose ol { padding-left: 1.3em; margin: 0 0 1.2em; }
body .rg-prose li { margin-bottom: .4em; }
body .rg-prose ul li::marker { color: var(--red); }
body .rg-prose a { color: var(--red); font-weight: 500; }
body /* ---------- Buttons ---------- */
.rg-btn .elementor-button {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 52px; padding: 12px 26px;
	font-family: var(--f-head); font-weight: 600; font-size: .98rem; line-height: 1.1;
	border: 2px solid transparent; border-radius: var(--radius);
	transition: background-color .15s, color .15s, border-color .15s;
}
body .rg-btn .elementor-button-content-wrapper { gap: 9px; align-items: center; }
body .rg-btn .elementor-button-icon svg { width: 1.15em; height: 1.15em; }
body .rg-btn--red .elementor-button { background: var(--red); color: var(--white); fill: var(--white); box-shadow: 0 10px 22px -12px rgba(229, 9, 20, .7); }
body .rg-btn--red .elementor-button:hover { background: var(--red-dark); color: var(--white); }
body .rg-btn--yellow .elementor-button { background: var(--yellow); color: var(--ink); fill: var(--ink); }
body .rg-btn--yellow .elementor-button:hover { background: var(--yellow-dark); color: var(--ink); }
body .rg-btn--dark .elementor-button { background: var(--dark); color: var(--white); fill: var(--white); }
body .rg-btn--dark .elementor-button:hover { background: var(--dark-2); color: var(--white); }
body .rg-btn--white .elementor-button { background: var(--white); color: var(--ink); fill: var(--ink); }
body .rg-btn--white .elementor-button:hover { background: var(--yellow); color: var(--ink); }
body .rg-btn--outline-light .elementor-button { background: transparent; color: var(--white); fill: var(--white); border-color: rgba(255, 255, 255, .7); }
body .rg-btn--outline-light .elementor-button:hover { background: var(--white); color: var(--ink); fill: var(--ink); }
body .rg-btn--outline-dark .elementor-button { background: transparent; color: var(--ink); fill: var(--ink); border-color: var(--ink); }
body .rg-btn--outline-dark .elementor-button:hover { background: var(--ink); color: var(--white); fill: var(--white); }
body .rg-btn--link .elementor-button { white-space: nowrap; background: none; color: var(--red); fill: var(--red); padding: 0; min-height: 0; border: 0; box-shadow: none; }
body .rg-btn--link .elementor-button:hover { color: var(--red-dark); }
body .rg-btn--link .elementor-button-icon { transition: transform .2s; }
body .rg-btn--link .elementor-button:hover .elementor-button-icon { transform: translateX(4px); }
body .rg-btn--block, body .rg-btn--block .elementor-button { width: 100%; }
@media (max-width: 520px) { body .rg-hero .rg-btn-row > .elementor-widget-button, body .rg-cta .rg-btn-row > .elementor-widget-button { width: 100%; }
body .rg-hero .rg-btn-row .elementor-button, body .rg-cta .rg-btn-row .elementor-button { width: 100%; }
}
body /* ---------- Images ---------- */
.rg-img img, body .rg-work img, body .rg-ring img { display: block; width: 100%; border-radius: var(--radius); object-fit: cover; }
body .rg-img--tall img { aspect-ratio: 4 / 4.4; }
body .rg-img--wide img { aspect-ratio: 4 / 3; }
body .rg-img--portrait img { aspect-ratio: 3 / 4; }
body .rg-img--framed { border: 8px solid var(--white); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; }
body .rg-img--framed img { aspect-ratio: 4 / 3; border-radius: 0; }
body .rg-img--fill, body .elementor .rg-img--fill img { height: 100%; }
body .elementor .rg-img--fill img { min-height: 320px; }
body .rg-split__img img { aspect-ratio: 16 / 10; }
body .rg-img--dashed { position: relative; }
body .rg-img--dashed::before { content: ""; position: absolute; inset: 20px -20px -20px 20px; border: 2px dashed var(--red); border-radius: var(--radius); }
body .rg-img--dashed-flip::before { inset: 20px 20px -20px -20px; }
body .rg-img--dashed img { position: relative; aspect-ratio: 4 / 3; }
@media (max-width: 767px) { body .rg-img--dashed { margin-right: 20px; }
}
body /* Gallery photos with captions */
.rg-work figure { position: relative; margin: 0; overflow: hidden; border-radius: var(--radius); background: var(--dark); }
body .rg-work img { aspect-ratio: 1; border-radius: 0; transition: transform .5s ease; }
body .rg-work:hover img { transform: scale(1.06); }
body .rg-work figcaption.widget-image-caption { position: absolute; inset: auto 0 0 0; margin: 0; padding: 40px 16px 14px; background: linear-gradient(180deg, rgba(20, 22, 28, 0), rgba(20, 22, 28, .85)); color: var(--white); font-family: var(--f-head); font-weight: 500; font-size: .95rem; text-align: left; }
body /* Round service photos with an icon badge */
.rg-ring { width: 168px; height: 168px; padding: 8px; border: 2px dashed var(--red); border-radius: 50%; transition: border-color .2s, transform .2s; }
body .rg-ring img { width: 100%; height: 100%; border-radius: 50%; aspect-ratio: 1; }
body .rg-svc-card:hover .rg-ring { border-color: var(--yellow-dark); transform: translateY(-4px); }
body .rg-ring-badge { margin-top: -38px; position: relative; z-index: 1; }
body .rg-ring-badge .elementor-icon { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: var(--red); color: var(--white); fill: var(--white); border: 4px solid var(--white); font-size: 20px; }
body .rg-ring-badge .elementor-icon svg { width: 20px; height: 20px; }
body .rg-svc-card:hover .rg-ring-badge .elementor-icon { background: var(--yellow); fill: var(--ink); }
body /* ---------- Icon lists ---------- */
.rg-list .elementor-icon-list-icon svg, body .rg-checks .elementor-icon-list-icon svg { fill: var(--red); }
body .rg-checks { --e-icon-list-icon-size: 12px; }
body .rg-checks .elementor-icon-list-items { display: grid; gap: 12px; }
body .rg-checks .elementor-icon-list-item { color: var(--ink); font-weight: 500; }
body .rg-checks .elementor-icon-list-icon { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--red); flex: none; }
body .rg-checks .elementor-icon-list-icon svg { fill: var(--white); }
body .rg-checks .elementor-icon-list-text { padding-left: 12px; }
body .rg-checks--plain .elementor-icon-list-icon { background: none; width: 18px; }
body .rg-checks--plain .elementor-icon-list-icon svg { fill: var(--red); width: 16px; height: 16px; }
body .rg-checks--plain .elementor-icon-list-text { padding-left: 10px; }
body .rg-ticks { --e-icon-list-icon-size: 16px; }
body .rg-ticks .elementor-icon-list-items { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 20px; }
body .rg-ticks .elementor-icon-list-item { align-items: flex-start; padding: 14px 16px; background: var(--light); border-radius: var(--radius); color: var(--ink); font-weight: 500; line-height: 1.4; }
body .rg-ticks .elementor-icon-list-icon svg { fill: var(--red); }
body .rg-ticks .elementor-icon-list-icon { margin-top: 2px; }
body .rg-ticks .elementor-icon-list-text { padding-left: 12px; }
@media (max-width: 600px) { body .rg-ticks .elementor-icon-list-items { grid-template-columns: 1fr; }
}
body .rg-problems { --e-icon-list-icon-size: 16px; margin-top: 16px; }
body .rg-problems .elementor-icon-list-items { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
body .rg-problems .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
body .rg-problems .elementor-icon-list-item > a { width: 100%; padding: 13px 0; border-bottom: 1px solid var(--line); color: var(--ink); font-weight: 500; line-height: 1.4; align-items: flex-start; }
body .rg-problems .elementor-icon-list-item > a:hover { color: var(--red); }
body .rg-problems .elementor-icon-list-icon svg { fill: var(--red); }
body .rg-problems .elementor-icon-list-text { padding-left: 10px; }
@media (max-width: 520px) { body .rg-problems .elementor-icon-list-items { grid-template-columns: 1fr; }
}
body .rg-kicker-list { --e-icon-list-icon-size: 16px; }
body .rg-kicker-list .elementor-icon-list-text { color: var(--red); font-family: var(--f-head); font-weight: 500; padding-left: 8px; }
body .rg-chips { --e-icon-list-icon-size: 14px; }
body .rg-chips .elementor-icon-list-items { gap: 10px; }
body .rg-chips .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
body .rg-chips .elementor-icon-list-item::after { display: none !important; }
body .rg-chips .elementor-icon-list-item > a, body .rg-chips .elementor-icon-list-item > span { display: inline-flex; align-items: center; padding: 10px 16px; background: var(--light); border-radius: 999px; font-weight: 500; color: var(--ink); transition: background-color .15s, color .15s; }
body .rg-chips .elementor-icon-list-icon svg { fill: var(--red); }
body .rg-chips .elementor-icon-list-text { padding-left: 8px; }
body .rg-chips .elementor-icon-list-item > a:hover { background: var(--red); color: var(--white); }
body .rg-chips .elementor-icon-list-item > a:hover svg { fill: var(--white); }
body .rg-chips--dark .elementor-icon-list-item > a { background: var(--dark-2); color: var(--white); }
body .rg-chips--dark .elementor-icon-list-icon:empty { display: none; }
body .rg-areas-line { --e-icon-list-icon-size: 16px; font-size: .95rem; margin-top: 12px; }
body .rg-areas-line .elementor-icon-list-icon svg { fill: var(--red); }
body .rg-areas-line .elementor-icon-list-text { padding-left: 10px; }
body .rg-areas-line a:hover .elementor-icon-list-text { color: var(--red); }
body .rg-contact-list { --e-icon-list-icon-size: 18px; }
body .rg-contact-list .elementor-icon-list-item { padding: 14px 0 !important; border-bottom: 1px solid var(--line); color: var(--ink); align-items: flex-start; }
body .rg-contact-list .elementor-icon-list-icon svg { fill: var(--red); }
body .rg-contact-list .elementor-icon-list-text { padding-left: 12px; }
body .rg-bigphone { --e-icon-list-icon-size: 22px; }
body .rg-bigphone .elementor-icon-list-text { font-family: var(--f-head); font-weight: 700; font-size: 1.5rem; color: var(--white); padding-left: 10px; }
body .rg-bigphone .elementor-icon-list-icon svg { fill: var(--yellow); }
body .rg-bigphone--yellow .elementor-icon-list-text { color: var(--yellow); font-size: 1.6rem; }
body /* ---------- Icon boxes ---------- */
.rg-ibox .elementor-icon-box-title, body .rg-feature .elementor-icon-box-title { font-family: var(--f-head); font-weight: 600; color: var(--ink); }
body /* Quick contact bar */
.rg-quickbar .rg-qb { background: var(--white); box-shadow: var(--shadow); border-right: 1px solid var(--line); padding: 22px 26px; transition: background-color .15s; }
body .rg-quickbar .rg-qb:last-child { border-right: 0; border-radius: 0 var(--radius) var(--radius) 0; }
body .rg-quickbar .rg-qb:first-child { border-radius: var(--radius) 0 0 var(--radius); }
body .rg-quickbar .rg-qb:hover { background: var(--light); }
body .rg-qb .elementor-icon-box-wrapper { align-items: center; gap: 14px; }
body .rg-qb .elementor-icon-box-icon { margin: 0 !important; }
body .rg-qb .elementor-icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--light); fill: var(--red); color: var(--red); }
body .rg-qb .elementor-icon svg { width: 22px; height: 22px; }
body .rg-qb .elementor-icon-box-title { font-family: var(--f-body); font-size: .85rem; font-weight: 400; color: var(--text); margin: 0; }
body .rg-qb .elementor-icon-box-title a { color: inherit; }
body .rg-qb .elementor-icon-box-description { font-family: var(--f-head); font-weight: 600; font-size: 1.12rem; color: var(--ink); margin: 0; }
body .rg-quickbar .rg-qb--red { background: var(--red); border-right-color: var(--red); }
body .rg-quickbar .rg-qb--red:hover { background: var(--red-dark); }
body .rg-qb--red .elementor-icon { background: var(--yellow); fill: var(--ink); }
body .rg-qb--red .elementor-icon-box-title, body .rg-qb--red .elementor-icon-box-description { color: var(--white); }
@media (max-width: 767px) { body .rg-quickbar .rg-qb { border-radius: 0 !important; box-shadow: none; border-right: 0; border-bottom: 1px solid var(--line); }
}
body /* Badge, body call box, body feature cards, body areas */
.rg-badge { background: var(--red); border-radius: var(--radius); padding: 22px 12px; box-shadow: var(--shadow); }
body .rg-badge .elementor-icon { fill: var(--yellow); }
body .rg-badge .elementor-icon svg { width: 28px; height: 28px; }
body .rg-badge .elementor-icon-box-icon { margin-bottom: 6px !important; }
body .rg-badge .elementor-icon-box-title { font-family: var(--f-head); font-weight: 600; font-size: 1rem; color: var(--white); margin: 0; text-align: center; line-height: 1.2; }
body .rg-badge .elementor-icon-box-wrapper { text-align: center; }
body .rg-callbox .elementor-icon-box-wrapper { align-items: center; gap: 12px; }
body .rg-callbox .elementor-icon-box-icon { margin: 0 !important; }
body .rg-callbox .elementor-icon { display: grid; place-items: center; width: 50px; height: 50px; border: 2px dashed var(--red); border-radius: 50%; fill: var(--red); }
body .rg-callbox .elementor-icon svg { width: 20px; height: 20px; }
body .rg-callbox .elementor-icon-box-title { font-family: var(--f-body); font-size: .85rem; font-weight: 400; color: var(--text); margin: 0; }
body .rg-callbox .elementor-icon-box-title a { color: inherit; }
body .rg-callbox .elementor-icon-box-description { font-family: var(--f-head); font-weight: 600; font-size: 1.2rem; color: var(--ink); margin: 0; }
body .rg-feature { background: var(--white); border-radius: var(--radius); border-bottom: 3px solid var(--red); padding: 26px; height: 100%; }
body .rg-feature .elementor-icon-box-wrapper { text-align: left; align-items: flex-start; }
body .rg-feature .elementor-icon-box-icon { align-self: flex-start; }
body .rg-feature .elementor-icon { fill: var(--red); }
body .rg-feature .elementor-icon svg { width: 28px; height: 28px; }
body .rg-feature .elementor-icon-box-icon { margin-bottom: 10px !important; }
body .rg-feature .elementor-icon-box-title { font-size: 1.12rem; margin: 0 0 6px; }
body .rg-feature .elementor-icon-box-description { margin: 0; color: var(--text); }
body .rg-area { padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); }
body .rg-area .elementor-icon-box-wrapper { align-items: center; gap: 12px; }
body .rg-area .elementor-icon-box-icon { margin: 0 !important; }
body .rg-area .elementor-icon { fill: var(--red); }
body .rg-area .elementor-icon svg { width: 22px; height: 22px; }
body .rg-area .elementor-icon-box-title { font-family: var(--f-head); font-weight: 600; font-size: 1.1rem; color: var(--ink); margin: 0; line-height: 1.3; }
body .rg-area .elementor-icon-box-description { font-size: .88rem; margin: 0; }
body /* Image boxes: related services */
.rg-mini { padding: 12px; border: 1px solid var(--line); border-radius: var(--radius); transition: border-color .15s, box-shadow .15s; }
body .rg-mini:hover { border-color: var(--red); box-shadow: var(--shadow); }
body .rg-mini .elementor-image-box-wrapper { display: flex; align-items: center; gap: 18px; text-align: left; }
body .rg-mini .elementor-image-box-img { width: 100px !important; margin: 0 !important; flex: none; }
body .rg-mini .elementor-image-box-img img { aspect-ratio: 1; object-fit: cover; border-radius: var(--radius); }
body .rg-mini .elementor-image-box-title { font-family: var(--f-head); font-weight: 600; font-size: 1.15rem; margin: 0 0 4px; }
body .rg-mini .elementor-image-box-title a { color: var(--ink); text-decoration: none; }
body .rg-mini .elementor-image-box-description { font-size: .93rem; margin: 0; }
body /* ---------- Cards ---------- */
.e-con.rg-card { border-radius: var(--radius); box-shadow: var(--shadow); }
body .rg-card__h .elementor-heading-title { font-size: 1.3rem; font-weight: 600; color: var(--ink); }
body .rg-on-dark .rg-card__h .elementor-heading-title, body .rg-on-red .rg-card__h .elementor-heading-title { color: var(--white); }
body .rg-card__sub .elementor-heading-title { font-family: var(--f-head); font-weight: 500; font-size: 1rem; color: var(--white); }
body .rg-bignum .elementor-heading-title { font-weight: 700; font-size: clamp(1.9rem, 4vw, 2.4rem); line-height: 1.1; color: var(--white); }
body .rg-bignum .elementor-heading-title a, body .rg-footer__phone .elementor-heading-title a { color: inherit; text-decoration: none; }
body .e-con.rg-side-card { border-top: 4px solid var(--red); }
body .e-con.rg-side-card:not(.rg-on-dark) { box-shadow: none; }
body .e-con.rg-side-card.rg-on-dark p { font-size: .95rem; }
body .e-con.rg-warn { box-shadow: none; }
body .rg-warn .rg-text { color: var(--ink); }
body .rg-alert__icon .elementor-icon { fill: var(--red); }
body .rg-alert__icon .elementor-icon svg { width: 26px; height: 26px; }
body .rg-alert__text { color: var(--ink); }
body .rg-alert__text p { margin: 0; }
body /* Emergency card over the photo */
.e-con.rg-trouble__media { position: relative; }
@media (max-width: 767px) { body .rg-emergency-card.e-con { position: relative !important; inset: auto !important; margin: -60px 16px 0 !important; width: auto !important; }
}
body /* About photos */
.e-con.rg-about__media { position: relative; }
body .e-con.rg-about__foot { border-top: 1px solid var(--line); }
body /* ---------- Bands ---------- */
.e-con.rg-hero, body .e-con.rg-banner { color: var(--white); }
body .e-con.rg-help .rg-help__card { box-shadow: var(--shadow); }
body .e-con.rg-facts { background-image: radial-gradient(rgba(255, 255, 255, .06) 1.2px, transparent 1.2px) !important; background-size: 18px 18px; }
body .rg-fact__n .elementor-heading-title { font-weight: 700; font-size: clamp(2.4rem, 4vw, 3.2rem); line-height: 1; color: var(--white); font-variant-numeric: tabular-nums; }
body .rg-fact__n .elementor-heading-title::after { content: ""; display: block; width: 32px; height: 3px; background: var(--red); margin: 14px 0 4px; }
body .e-con.rg-cta { position: relative; overflow: hidden; }
body .e-con.rg-cta::before { content: ""; position: absolute; right: 4%; top: -10%; width: 260px; height: 120%; background: rgba(255, 255, 255, .08); clip-path: polygon(55% 0, 100% 0, 62% 46%, 88% 46%, 30% 100%, 44% 56%, 14% 56%); pointer-events: none; }
body .e-con.rg-cta > .e-con-inner { position: relative; }
body .rg-cta .rg-btn--dark .elementor-button { box-shadow: none; }
body /* Angled photo panels */
.e-con.rg-panels { overflow: hidden; }
body .e-con.rg-panel { position: relative; color: var(--white); text-decoration: none; isolation: isolate; flex: 1 1 0; }
body .rg-panels--3 > .rg-panel--0, body .rg-panels--3 > .rg-panel--2 { flex: 0 0 39.333%; }
body .rg-panels--3 > .rg-panel--1 { flex: 0 0 45.333%; }
body .rg-panels--2 > .rg-panel--0, body .rg-panels--2 > .rg-panel--2 { flex: 0 0 56%; }
body .e-con.rg-panel--0 { clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%); margin-right: -6%; z-index: 3; }
body .e-con.rg-panel--1 { clip-path: polygon(12% 0, 100% 0, 88% 100%, 0 100%); margin-left: -6%; margin-right: -6%; z-index: 2; }
body .e-con.rg-panel--2 { clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%); margin-left: -6%; z-index: 1; }
body .e-con.rg-panel:hover::before { background-color: rgba(229, 9, 20, .55) !important; opacity: 1 !important; }
body .rg-panel__title .elementor-heading-title { font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 600; color: var(--white); }
body .rg-panel__plus .elementor-icon { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 50%; background: var(--red); fill: var(--white); transition: background-color .2s; }
body .rg-panel__plus .elementor-icon svg { width: 18px; height: 18px; }
body .e-con.rg-panel:hover .rg-panel__plus .elementor-icon { background: var(--yellow); fill: var(--ink); }
@media (max-width: 767px) { body .e-con.rg-panel { margin: 0 !important; clip-path: none !important; border-bottom: 3px solid var(--dark); flex: 1 1 auto !important; }
}
body /* Process steps */
.rg-step__n .elementor-heading-title { display: grid; place-items: center; width: 64px; height: 64px; margin: 0 auto 10px; border-radius: 50%; background: var(--white); color: var(--red); border: 2px solid var(--red); font-weight: 700; font-size: 1.4rem; transition: background-color .2s, color .2s; }
body .rg-step:hover .rg-step__n .elementor-heading-title { background: var(--red); color: var(--white); }
body .rg-step__n--solid .elementor-heading-title { width: 52px; height: 52px; margin: 0; background: var(--red); color: var(--white); font-size: 1.3rem; }
body .e-con.rg-step-row { border-bottom: 1px solid var(--line); }
body .e-con.rg-step { position: relative; }
body .e-con.rg-step:not(:last-child)::after { content: ""; position: absolute; top: 32px; left: calc(50% + 40px); width: calc(100% - 60px); border-top: 2px dashed #C9C9C4; pointer-events: none; }
@media (max-width: 1024px) { body .e-con.rg-step::after { display: none; }
}
body .e-con.rg-step-row > .elementor-widget-heading { flex: none; }
@media (max-width: 767px) { body .rg-steps .rg-step { display: grid; grid-template-columns: 64px 1fr; column-gap: 18px; text-align: left; }
body .rg-steps .rg-step > .rg-step__n { grid-row: span 2; }
body .rg-steps .rg-step .elementor-heading-title, body .rg-steps .rg-step p { text-align: left; }
body .rg-steps .rg-step__n .elementor-heading-title { margin: 0; }
}

/* Sidebars */
@media (min-width: 1025px) { body .e-con.rg-aside, body .rg-sticky-side { position: sticky; top: 110px; }
}
body .e-con.rg-grow { flex: 1 1 0; min-width: 0; }
body /* FAQ (Nested Accordion) */
.rg-faq .e-n-accordion { display: grid; gap: 10px; }
body .rg-faq .e-n-accordion-item { border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
body .rg-faq .e-n-accordion-item[open] { border-color: var(--red); }
body .rg-faq .e-n-accordion-item-title { padding: 18px 20px; border: 0; background: none; }
body .rg-faq .e-n-accordion-item-title-text { font-family: var(--f-head); font-weight: 500; font-size: 1.02rem; color: var(--ink); }
body .rg-faq .e-n-accordion-item[open] .e-n-accordion-item-title-text { color: var(--red); }
body .rg-faq .e-n-accordion-item-title-icon svg { fill: var(--red); width: 14px; height: 14px; }
body .rg-faq .e-n-accordion-item > .e-con { border: 0; }
body /* Estimate form and article cards inside native sections */
.rg-form .estimate { height: 100%; }
body .rg-form-split .rg-form .estimate { box-shadow: none; }
body .e-con.rg-form-split > .e-con-inner > .rg-img--fill img { height: 100%; }
body .rg-articles-grid { width: 100%; }
body .rg-section .post-list { padding: 0; }
body /* ---------- Header ---------- */
.e-con.rg-topbar { color: #C9CAD0; font-size: .9rem; }
body .rg-topbar__item, body .rg-topbar__phone { --e-icon-list-icon-size: 15px; }
body .rg-topbar__item .elementor-icon-list-icon svg { fill: var(--red); }
body .rg-topbar__item .elementor-icon-list-text { color: #C9CAD0; padding-left: 8px; }
body .e-con.rg-topbar > .e-con-inner > .rg-topbar__phone { margin-left: auto; }
body .rg-topbar__phone .elementor-icon-list-icon svg { fill: var(--yellow); }
body .rg-topbar__phone .elementor-icon-list-text { color: var(--yellow); font-family: var(--f-head); font-weight: 600; padding-left: 8px; }
@media (max-width: 767px) { body .rg-topbar__item .elementor-icon-list-text { font-size: .82rem; }
}
body .e-con.rg-header { z-index: 50; box-shadow: 0 6px 24px -14px rgba(28, 30, 36, .35); }
body .rg-header .elementor-widget-ranger-logo { margin-right: auto; }
body .rg-header .logo, body .rg-header .nav__list a { white-space: nowrap; }
body .rg-header .elementor-widget-ranger-menu { display: flex; justify-content: flex-end; }
body .rg-menu { display: flex; align-items: center; justify-content: flex-end; gap: 8px; width: 100%; }
body .rg-header-btn .elementor-button { min-height: 0; padding: 13px 18px; font-size: .9rem; box-shadow: none; }
body .rg-header-call .elementor-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--red); fill: var(--white); }
body .rg-header-call .elementor-icon svg { width: 18px; height: 18px; }
@media (max-width: 1180px) and (min-width: 768px) { body .rg-header-btn .elementor-button-text { display: none; }
body .rg-header-btn .elementor-button { padding: 13px; }
}
@media (max-width: 760px) { body .rg-header .elementor-widget-ranger-menu { flex: 0 0 auto !important; }
}
body /* ---------- Footer ---------- */
.e-con.rg-footer { position: relative; color: #A9ABB3; font-size: .97rem; }
body .e-con.rg-footer--stripe::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--red) 0 50%, var(--yellow) 50% 100%); }
body .rg-footer .rg-text, body .rg-footer p, body .rg-footer__text { color: #A9ABB3; }
body .rg-footer__tag .elementor-heading-title { font-size: 1rem; font-weight: 600; color: var(--white); margin-top: 6px; }
body .rg-footer__text { max-width: 340px; }
body .rg-footer__h .elementor-heading-title { position: relative; font-size: 1.1rem; font-weight: 600; color: var(--white); padding-bottom: 12px; }
body .rg-footer__h .elementor-heading-title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 34px; height: 2px; background: var(--red); }
body .rg-footer__links .elementor-icon-list-item { padding-bottom: 9px !important; }
body .rg-footer__links .elementor-icon-list-text { color: #A9ABB3; transition: color .15s; }
body .rg-footer__links a:hover .elementor-icon-list-text { color: var(--yellow); }
body .rg-footer__links .elementor-icon-list-icon:empty, body .rg-chips .elementor-icon-list-icon:empty { display: none; }
body .rg-footer__phone .elementor-heading-title { font-weight: 700; font-size: 1.5rem; color: var(--white); }
body .rg-footer__phone .elementor-heading-title a:hover { color: var(--yellow); }
body .rg-footer__meta { --e-icon-list-icon-size: 16px; }
body .rg-footer__meta .elementor-icon-list-item { align-items: flex-start; padding-bottom: 8px !important; }
body .rg-footer__meta .elementor-icon-list-icon svg { fill: var(--red); }
body .rg-footer__meta .elementor-icon-list-text { color: #A9ABB3; font-size: .94rem; padding-left: 10px; }
body .e-con.rg-footer__base { border-top: 1px solid #343843; }
body .rg-footer__small, body .rg-footer__small p { font-size: .88rem; color: #868892; margin: 0; }
body .rg-footer__safety { --e-icon-list-icon-size: 15px; }
body .rg-footer__safety .elementor-icon-list-icon svg { fill: var(--yellow); }
body .rg-footer__safety .elementor-icon-list-text { font-size: .88rem; color: #868892; padding-left: 8px; }
body /* ---------- Phone call bar ---------- */
.e-con.rg-action-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; box-shadow: 0 -6px 20px rgba(0, 0, 0, .18); padding-bottom: env(safe-area-inset-bottom); background: var(--dark); }
body .rg-action-bar .elementor-widget-button { flex: 1 1 0 !important; }
body .rg-action-bar .rg-action-bar__est { flex-grow: 1.25 !important; }
body .rg-action-bar .elementor-button { width: 100%; min-height: 58px; border-radius: 0; box-shadow: none; font-size: 1rem; }
@media (min-width: 768px) { body .e-con.rg-action-bar { display: none !important; }
}
@media (max-width: 767px) { body:has(.rg-action-bar) { padding-bottom: 58px; }
body .nav-open .rg-action-bar { display: none !important; }
body .ranger-no-action-bar .rg-action-bar { display: none !important; }
}
body /* ---------- Article ---------- */
.rg-featured img { width: 100%; aspect-ratio: 16 / 8; object-fit: cover; border-radius: var(--radius); box-shadow: var(--shadow); }
body .rg-post-content { max-width: 720px; }
body .rg-dark .crumbs ol, body .rg-crumbs .crumbs ol { margin-bottom: 4px; }
body /* ---------- 404 ---------- */
.rg-404 .elementor-heading-title { font-weight: 800; font-size: clamp(5rem, 16vw, 10rem); line-height: .9; color: var(--red); }
body /* ---------- Elementor editor niceties ---------- */
.elementor-editor-active .e-con.rg-action-bar { position: relative; }
body .e-con .rg-alert__icon { flex: 0 0 auto; width: 26px; max-width: 26px; }
body .e-con .rg-alert__icon .elementor-icon { display: block; line-height: 0; }
body .e-con.rg-side-card.rg-sticky-side { flex: 0 0 320px; }

@media (max-width: 767px) { body .e-con.rg-side-card.rg-sticky-side { flex: 1 1 auto; width: 100%; }
}
