.elementor-kit-5853{--e-global-color-primary:#F97316;--e-global-color-secondary:#172026;--e-global-color-text:#657078;--e-global-color-accent:#D95D0B;--e-global-color-jr_warm:#F8F7F4;--e-global-color-jr_white:#FFFFFF;--e-global-color-jr_soft_gray:#F1F3F4;--e-global-color-jr_light_orange:#FFF0E6;--e-global-color-jr_orange_ink:#B4490A;--e-global-color-jr_green:#3D7A57;--e-global-color-jr_light_green:#EEF6F0;--e-global-color-jr_border:#E3E6E8;--e-global-color-jr_footer:#11171C;--e-global-typography-primary-font-family:"Manrope";--e-global-typography-primary-font-weight:800;--e-global-typography-secondary-font-family:"Manrope";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:17.5px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.65em;--e-global-typography-accent-font-family:"Manrope";--e-global-typography-accent-font-weight:800;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-letter-spacing:0.06em;background-color:#FFFFFF;color:var( --e-global-color-secondary );font-family:"Inter", Sans-serif;font-size:17.5px;font-weight:400;line-height:1.65em;}.elementor-kit-5853 button,.elementor-kit-5853 input[type="button"],.elementor-kit-5853 input[type="submit"],.elementor-kit-5853 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Manrope", Sans-serif;font-size:14.5px;font-weight:800;text-transform:uppercase;letter-spacing:0.06em;color:var( --e-global-color-secondary );border-radius:12px 12px 12px 12px;padding:17px 24px 17px 24px;}.elementor-kit-5853 button:hover,.elementor-kit-5853 button:focus,.elementor-kit-5853 input[type="button"]:hover,.elementor-kit-5853 input[type="button"]:focus,.elementor-kit-5853 input[type="submit"]:hover,.elementor-kit-5853 input[type="submit"]:focus,.elementor-kit-5853 .elementor-button:hover,.elementor-kit-5853 .elementor-button:focus{background-color:#FB8233;color:#172026;}.elementor-kit-5853 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5853 a{color:var( --e-global-color-jr_orange_ink );}.elementor-kit-5853 a:hover{color:var( --e-global-color-accent );}.elementor-kit-5853 h1{color:var( --e-global-color-secondary );font-family:"Manrope", Sans-serif;font-size:clamp(42px, 4.4vw + 8px, 72px);font-weight:800;line-height:1.02em;letter-spacing:-0.035em;}.elementor-kit-5853 h2{color:var( --e-global-color-secondary );font-family:"Manrope", Sans-serif;font-size:clamp(32px, 2.4vw + 14px, 50px);font-weight:800;line-height:1.08em;letter-spacing:-0.03em;}.elementor-kit-5853 h3{color:var( --e-global-color-secondary );font-family:"Manrope", Sans-serif;font-size:21px;font-weight:700;line-height:1.25em;letter-spacing:-0.01em;}.elementor-kit-5853 h4{color:#172026;font-family:"Manrope", Sans-serif;font-size:18px;font-weight:700;line-height:1.3em;letter-spacing:0em;}.elementor-kit-5853 h5{color:#172026;font-family:"Manrope", Sans-serif;font-size:16px;font-weight:700;line-height:1.35em;letter-spacing:0em;}.elementor-kit-5853 h6{color:#172026;font-family:"Manrope", Sans-serif;font-size:14px;font-weight:700;line-height:1.4em;letter-spacing:0.04em;}.elementor-kit-5853 label{color:#172026;font-family:"Inter", Sans-serif;font-size:13.5px;font-weight:600;}.elementor-kit-5853 input:not([type="button"]):not([type="submit"]),.elementor-kit-5853 textarea,.elementor-kit-5853 .elementor-field-textual{font-family:"Inter", Sans-serif;font-size:16px;color:#172026;background-color:#FFFFFF;border-style:solid;border-width:1.5px 1.5px 1.5px 1.5px;border-color:#E3E6E8;border-radius:12px 12px 12px 12px;padding:14px 16px 14px 16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1320px;}.e-con{--container-max-width:1320px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:991px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5853{font-size:17px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =========================================================
   Junk Removal And Hauling — Elementor design system (global)
   Loaded once via Elementor Site Settings › Custom CSS.
   Colors/fonts mirror the Elementor Global Colors/Fonts (kit 5853).
   Component classes are prefixed `jr-` and applied through each
   element's "CSS Classes" field.
   ========================================================= */

:root {
  --jr-bg: var(--e-global-color-jr_warm, #F8F7F4);
  --jr-white: #FFFFFF;
  --jr-gray: var(--e-global-color-jr_soft_gray, #F1F3F4);
  --jr-ink: var(--e-global-color-secondary, #172026);
  --jr-muted: var(--e-global-color-text, #657078);
  --jr-orange: var(--e-global-color-primary, #F97316);
  --jr-orange-dark: var(--e-global-color-accent, #D95D0B);
  --jr-orange-ink: var(--e-global-color-jr_orange_ink, #B4490A);
  --jr-orange-soft: var(--e-global-color-jr_light_orange, #FFF0E6);
  --jr-green: var(--e-global-color-jr_green, #3D7A57);
  --jr-green-soft: var(--e-global-color-jr_light_green, #EEF6F0);
  --jr-border: var(--e-global-color-jr_border, #E3E6E8);
  --jr-charcoal: var(--e-global-color-jr_footer, #11171C);
  --jr-head: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --jr-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --jr-container: 1320px;
  --jr-gutter: 32px;
  --jr-section-y: 104px;
  --jr-section-y-sm: 80px;
  --jr-gap: 24px;
  --jr-r-sm: 12px;
  --jr-r: 16px;
  --jr-r-lg: 20px;
  --jr-shadow-sm: 0 1px 2px rgba(23,32,38,.05), 0 2px 8px rgba(23,32,38,.04);
  --jr-shadow: 0 2px 6px rgba(23,32,38,.05), 0 14px 34px rgba(23,32,38,.08);
  --jr-shadow-lg: 0 4px 10px rgba(23,32,38,.05), 0 28px 60px rgba(23,32,38,.12);
  --jr-ease: cubic-bezier(.2,.7,.2,1);
  --jr-header-h: 84px;
  --jr-utility-h: 41px;
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body { overflow-x: clip; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
[id] { scroll-margin-top: calc(var(--jr-header-h) + 16px); }
:focus-visible { outline: 3px solid var(--jr-orange); outline-offset: 3px; border-radius: 6px; }
a[href^="tel:"] { white-space: nowrap; }
.jr-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.jr-icon { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; display: inline-block; vertical-align: middle; }
.jr-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.jr-haul { fill: none; stroke: var(--jr-orange); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; overflow: visible; }
.jr-haul circle { fill: var(--jr-orange); stroke: none; }

/* Elementor containers used by this system: no default padding/gap leaks */
.e-con.jr { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; }
.jr p { margin: 0 0 1em; }
.jr p:last-child { margin-bottom: 0; }
.jr ul, .jr ol { margin: 0; padding: 0; list-style: none; }
.jr img { max-width: 100%; height: auto; }
/* Vertical rhythm inside stacked columns */
.e-con.jr-stack > .elementor-widget-text-editor + .elementor-widget-text-editor { margin-top: 16px; }
.e-con.jr-stack > .elementor-widget-text-editor + .elementor-widget-html { margin-top: 4px; }
.e-con.jr-stack > .e-con.jr-row { margin-top: 32px; }
.jr h1, .jr h2, .jr h3 { text-wrap: balance; }

/* ---------- Layout ---------- */
.e-con.jr-section { padding-block: var(--jr-section-y); position: relative; }
.e-con.jr-wrap {
  width: 100%; max-width: calc(var(--jr-container) + var(--jr-gutter) * 2);
  margin-inline: auto; padding-inline: var(--jr-gutter);
}
.jr-bg-white { background: var(--jr-white); }
.jr-bg-warm { background: var(--jr-bg); }
.jr-bg-gray { background: var(--jr-gray); }
.jr-bg-orange { background: var(--jr-orange-soft); }
.jr-bg-green { background: var(--jr-green-soft); }
.e-con.jr-row { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 14px; }
.e-con.jr-stack { flex-direction: column; gap: 0; }
.e-con.jr-grid { display: grid; }
.e-con.jr-grid > .e-con, .e-con.jr-grid > .elementor-widget { min-width: 0; width: auto; }
.e-con.jr > .e-con, .e-con.jr > .elementor-widget { min-width: 0; }

/* Section heading pattern (heading + supporting paragraph side by side) */
.e-con.jr-head { display: grid; grid-template-columns: 1.15fr .85fr; gap: 24px 64px; align-items: end; margin-bottom: 56px; }
.jr-head .jr-head-p { color: var(--jr-muted); font-size: 18px; max-width: 520px; }
.jr-head .jr-head-p a { color: var(--jr-orange-ink); font-weight: 600; }
.e-con.jr-head--center { display: flex; flex-direction: column; align-items: center; text-align: center; max-width: 780px; margin-inline: auto; }
.jr-head--center h2 { margin-bottom: 18px !important; }
.jr-head--center .jr-head-p { max-width: 600px; margin-inline: auto; }

/* ---------- Type helpers ---------- */
.jr-eyebrow .elementor-heading-title,
.jr-eyebrow-text, .jr-h1-kicker {
  display: inline-flex; align-items: center; gap: 12px; margin: 0 0 18px;
  font: 800 13px/1.2 var(--jr-head) !important; letter-spacing: .14em !important; text-transform: uppercase;
  color: var(--jr-orange-ink) !important;
}
.jr-eyebrow .elementor-heading-title::before,
.jr-eyebrow-text::before, .jr-h1-kicker::before {
  content: ""; flex: none; width: 40px; height: 8px;
  background: radial-gradient(circle at 4px 4px, var(--jr-orange) 3.2px, transparent 3.8px),
    linear-gradient(var(--jr-orange), var(--jr-orange)) 8px 3px / 32px 2px no-repeat;
}
.jr-eyebrow--green .elementor-heading-title { color: var(--jr-green) !important; }
.jr-eyebrow--green .elementor-heading-title::before {
  background: radial-gradient(circle at 4px 4px, var(--jr-green) 3.2px, transparent 3.8px),
    linear-gradient(var(--jr-green), var(--jr-green)) 8px 3px / 32px 2px no-repeat;
}
.jr-h1-kicker { display: flex; width: max-content; max-width: 100%; margin-bottom: 22px; }
.jr-accent { color: var(--jr-orange-dark); }
.jr-lead, .jr-lead p { font-size: 19px; line-height: 1.6; color: var(--jr-ink); }
.jr-muted, .jr-muted p { color: var(--jr-muted); }
.jr-h2 .elementor-heading-title { margin-bottom: 18px; }

/* ---------- Buttons (Elementor Button widget + raw .jr-btn links) ---------- */
.jr-btn .elementor-button, a.jr-btn {
  --b-bg: var(--jr-white); --b-fg: var(--jr-ink); --b-bd: transparent;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 0 24px; border: 1.5px solid var(--b-bd); border-radius: var(--jr-r-sm);
  background: var(--b-bg); color: var(--b-fg); fill: var(--b-fg);
  font: 800 14.5px/1 var(--jr-head); letter-spacing: .06em; text-transform: uppercase;
  text-decoration: none; white-space: nowrap;
  transition: background-color .2s, border-color .2s, color .2s, transform .2s var(--jr-ease), box-shadow .2s;
}
.jr-btn .elementor-button:hover, a.jr-btn:hover { transform: translateY(-1px); color: var(--b-fg); }
.jr-btn .elementor-button-content-wrapper { gap: 10px; align-items: center; }
.jr-btn .elementor-button-icon svg, .jr-btn .elementor-button-icon i { width: 18px; height: 18px; font-size: 18px; fill: currentColor; }
.jr-btn--primary .elementor-button, a.jr-btn--primary { --b-bg: var(--jr-orange); --b-fg: var(--jr-ink); box-shadow: 0 6px 18px rgba(249,115,22,.28); }
.jr-btn--primary .elementor-button:hover, a.jr-btn--primary:hover { --b-bg: #FB8233; box-shadow: 0 10px 24px rgba(249,115,22,.34); }
.jr-btn--ghost .elementor-button, a.jr-btn--ghost { --b-bg: var(--jr-white); --b-bd: #D5DADD; }
.jr-btn--ghost .elementor-button:hover, a.jr-btn--ghost:hover { --b-bd: var(--jr-ink); }
.jr-btn--dark .elementor-button, a.jr-btn--dark { --b-bg: var(--jr-ink); --b-fg: #fff; }
.jr-btn--dark .elementor-button:hover, a.jr-btn--dark:hover { --b-bg: #24313A; }
.jr-btn--lg .elementor-button, a.jr-btn--lg { min-height: 58px; padding: 0 28px; font-size: 15px; }
.jr-btn--sm .elementor-button, a.jr-btn--sm { min-height: 46px; padding: 0 18px; font-size: 13.5px; }
.jr-btn--block, .jr-btn--block .elementor-button, a.jr-btn--block { width: 100%; }
.jr-btn .jr-icon, a.jr-btn .jr-icon { width: 18px; height: 18px; stroke-width: 2.2; }
.jr-btn .elementor-button-text { display: inline-flex; align-items: center; gap: 10px; }
.jr-btn--arrow .elementor-button-text::after,
.jr-btn--phone .elementor-button-text::before {
  content: ""; flex: none; width: 18px; height: 18px; background: currentColor;
  -webkit-mask: var(--jr-ico) center / contain no-repeat; mask: var(--jr-ico) center / contain no-repeat;
  transition: transform .25s var(--jr-ease);
}
.jr-btn--arrow .elementor-button-text::after { --jr-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E"); }
.jr-btn--arrow .elementor-button:hover .elementor-button-text::after { transform: translateX(4px); }
.jr-btn--phone .elementor-button-text::before { --jr-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E"); }

.jr-link-arrow {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px;
  font: 800 13.5px/1 var(--jr-head); letter-spacing: .08em; text-transform: uppercase;
  color: var(--jr-orange-ink); text-decoration: none;
}
.jr-link-arrow .jr-icon { width: 18px; height: 18px; stroke-width: 2.2; transition: transform .25s var(--jr-ease); }
.jr-link-arrow:hover .jr-icon, a:hover > .jr-link-arrow .jr-icon { transform: translateX(4px); }

.jr-checks { display: grid; gap: 12px; margin-top: 24px !important; }
.jr-checks li { display: flex; gap: 12px; align-items: flex-start; font-size: 16.5px; line-height: 1.5; }
.jr-checks .jr-icon { width: 22px; height: 22px; padding: 4px; margin-top: 1px; border-radius: 50%; background: var(--jr-orange-soft); color: var(--jr-orange-ink); stroke-width: 3; }
.jr-checks--lg li { font-size: 17.5px; }
.jr-tile { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: var(--jr-orange-soft); color: var(--jr-orange-ink); }
.jr-tile .jr-icon { width: 24px; height: 24px; }
.jr-tile--green { background: #DDEDE3; color: var(--jr-green); }

/* =========================================================
   HEADER (Theme Builder header template)
   ========================================================= */
.elementor-location-header { position: sticky; top: calc(var(--jr-utility-h) * -1); z-index: 100; }
.admin-bar .elementor-location-header { top: calc(32px - var(--jr-utility-h)); }
.jr-utility { background: var(--jr-bg); border-bottom: 1px solid var(--jr-border); font-size: 14px; color: var(--jr-muted); }
.jr-utility-inner { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 40px; max-width: calc(var(--jr-container) + var(--jr-gutter) * 2); margin-inline: auto; padding-inline: var(--jr-gutter); }
.jr-utility-inner p, .jr-utility-inner a { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: inherit; text-decoration: none; }
.jr-utility-inner a:hover { color: var(--jr-ink); }
.jr-utility-inner .jr-icon { width: 16px; height: 16px; color: var(--jr-orange-ink); }
.e-con.jr-header {
  background: rgba(255,255,255,.96); -webkit-backdrop-filter: saturate(160%) blur(12px); backdrop-filter: saturate(160%) blur(12px);
  border-bottom: 1px solid transparent; transition: box-shadow .25s, border-color .25s;
}
.jr-scrolled .e-con.jr-header { border-color: var(--jr-border); box-shadow: 0 6px 24px rgba(23,32,38,.06); }
.e-con.jr-header-inner {
  flex-direction: row; flex-wrap: nowrap; align-items: center; gap: 28px; min-height: var(--jr-header-h);
  max-width: calc(var(--jr-container) + var(--jr-gutter) * 2); margin-inline: auto; padding-inline: var(--jr-gutter); width: 100%;
}
.jr-brand { flex: none; }
.jr-brand img { height: 62px !important; width: auto !important; display: block; }
.jr-nav { flex: 1 1 auto; min-width: 0; display: flex; justify-content: center; }
.e-con.jr-header-actions { flex: none; flex-direction: row; align-items: center; gap: 18px; width: auto; }
a.jr-header-phone { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--jr-ink); }
.jr-header-phone-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--jr-orange-soft); color: var(--jr-orange-ink); }
.jr-header-phone-text { display: flex; flex-direction: column; line-height: 1.2; }
.jr-header-phone-text small { font-size: 12.5px; color: var(--jr-muted); }
.jr-header-phone-text strong { font: 800 17px/1.2 var(--jr-head); letter-spacing: -.01em; }
.jr-header-phone:hover strong { color: var(--jr-orange-ink); }

/* ---------- UberMenu skin (config "main") ---------- */
.jr-nav .ubermenu { background: none; border: 0; box-shadow: none; font-family: var(--jr-body); }
.jr-nav .ubermenu-main .ubermenu-nav { display: flex; align-items: center; gap: 2px; }
.jr-nav .ubermenu-main .ubermenu-item-level-0 > .ubermenu-target {
  display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 14px !important;
  border: 0; border-radius: 10px; background: none; color: var(--jr-ink) !important;
  font: 600 15.5px/1 var(--jr-body) !important; text-transform: none; letter-spacing: 0;
  transition: background-color .2s, color .2s;
}
.jr-nav .ubermenu-main .ubermenu-item-level-0:hover > .ubermenu-target,
.jr-nav .ubermenu-main .ubermenu-item-level-0.ubermenu-active > .ubermenu-target { background: var(--jr-bg) !important; color: var(--jr-ink) !important; }
/* Mega panels span the header container (not just the nav bar) */
@media (min-width: 960px) {
  .e-con.jr-header-inner { position: relative; }
  .elementor-element.jr-nav, .jr-nav .elementor-widget-container, .jr-nav .elementor-shortcode,
  .jr-nav .ubermenu-main, .jr-nav .ubermenu-main .ubermenu-nav, .jr-nav .ubermenu-main .ubermenu-item-level-0 { position: static !important; }
  .jr-nav .ubermenu-main .ubermenu-item-level-0 > .ubermenu-submenu-type-mega {
    left: var(--jr-gutter) !important; right: var(--jr-gutter) !important; width: auto !important; top: calc(100% - 6px) !important;
    max-height: calc(100vh - var(--jr-header-h) - 24px); overflow-y: auto;
  }
  .jr-nav .ubermenu-main .ubermenu-tab-content-panel .ubermenu-column > .ubermenu-submenu { columns: 2; column-gap: 8px; }
  .jr-nav .ubermenu-main .ubermenu-tab-content-panel .ubermenu-column > .ubermenu-submenu > .ubermenu-item { break-inside: avoid; display: block; width: 100%; float: none; }
  .jr-nav .ubermenu-main .ubermenu-tabs-group { width: 280px !important; }
  .jr-nav .ubermenu-main .ubermenu-tab-content-panel { left: 280px !important; width: calc(100% - 280px) !important; }
}
.jr-nav .ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-item > .ubermenu-target,
.jr-nav .ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-parent > .ubermenu-target,
.jr-nav .ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-ancestor > .ubermenu-target { background: none !important; color: var(--jr-orange-ink) !important; box-shadow: inset 0 -2px 0 var(--jr-orange); border-radius: 10px 10px 0 0; }
.jr-nav .ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-item:hover > .ubermenu-target,
.jr-nav .ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-parent:hover > .ubermenu-target,
.jr-nav .ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-ancestor:hover > .ubermenu-target,
.jr-nav .ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-ancestor.ubermenu-active > .ubermenu-target { background: var(--jr-bg) !important; }
.jr-nav .ubermenu-main .ubermenu-item:not(.ubermenu-item-level-0).ubermenu-current-menu-item > .ubermenu-target { color: var(--jr-orange-ink) !important; background: none !important; }
.jr-nav .ubermenu-main .ubermenu-item-level-0 > .ubermenu-target .ubermenu-sub-indicator { position: static; margin: 0 0 0 2px; transform: none; font-size: 12px; color: var(--jr-muted); }
.jr-nav .ubermenu-main .ubermenu-item-level-0 > .ubermenu-target-with-icon > .ubermenu-icon { display: none; }
/* Drop panels */
.jr-nav .ubermenu-main .ubermenu-submenu.ubermenu-submenu-drop {
  background: var(--jr-white) !important; border: 1px solid var(--jr-border) !important; border-radius: var(--jr-r-lg);
  box-shadow: var(--jr-shadow-lg) !important; padding: 14px !important; margin-top: 12px;
}
.jr-nav .ubermenu-main .ubermenu-submenu .ubermenu-target {
  border-radius: 10px; padding: 9px 12px !important; color: var(--jr-ink) !important;
  font: 500 15px/1.35 var(--jr-body) !important; transition: background-color .15s, color .15s;
}
.jr-nav .ubermenu-main .ubermenu-submenu .ubermenu-target:hover { background: var(--jr-orange-soft) !important; color: var(--jr-orange-ink) !important; }
.jr-nav .ubermenu-main .ubermenu-submenu .ubermenu-item-header:not(.ubermenu-tab) > .ubermenu-target {
  font: 800 12px/1.2 var(--jr-head) !important; letter-spacing: .12em; text-transform: uppercase; color: var(--jr-muted) !important; border: 0 !important;
}
/* Tabs (Services) */
.jr-nav .ubermenu-main .ubermenu-tabs-group { background: var(--jr-bg) !important; border-radius: 14px; padding: 8px !important; border: 0 !important; }
.jr-nav .ubermenu-main .ubermenu-tab > .ubermenu-target {
  font: 700 15px/1.3 var(--jr-head) !important; border-radius: 10px; padding: 12px 14px !important; text-transform: none; letter-spacing: 0; color: var(--jr-ink) !important;
}
.jr-nav .ubermenu-main .ubermenu-tab.ubermenu-active > .ubermenu-target { background: var(--jr-white) !important; color: var(--jr-orange-ink) !important; box-shadow: var(--jr-shadow-sm); }
.jr-nav .ubermenu-main .ubermenu-tab-content-panel { background: none !important; padding: 6px 10px !important; }
.jr-nav .ubermenu-main .ubermenu-tab-content-panel .ubermenu-target { padding: 7px 10px !important; font-size: 14.5px !important; }
.jr-nav .ubermenu-main .ubermenu-tab-content-panel > .ubermenu-item-header > .ubermenu-target,
.jr-nav .ubermenu-main .ubermenu-tab-content-panel .ubermenu-target.jr-panel-hub { font-weight: 700 !important; color: var(--jr-orange-ink) !important; }
/* Mobile toggle */
.jr-nav .ubermenu-responsive-toggle {
  display: none; place-items: center; width: 48px; height: 48px; padding: 0 !important; border: 1.5px solid var(--jr-border) !important;
  border-radius: 12px; background: var(--jr-white) !important; color: var(--jr-ink) !important; font-size: 0 !important; text-shadow: none;
}
.jr-nav .ubermenu-responsive-toggle .fas, .jr-nav .ubermenu-responsive-toggle svg { font-size: 20px; margin: 0; }

/* =========================================================
   HOMEPAGE SECTIONS
   ========================================================= */
/* Hero */
.e-con.jr-hero {
  overflow: hidden; padding-top: 64px;
  background: radial-gradient(900px 520px at 88% 8%, rgba(249,115,22,.10), transparent 60%),
    linear-gradient(to bottom, var(--jr-bg) calc(100% - 64px), var(--jr-white) calc(100% - 64px));
}
.e-con.jr-hero-grid { display: grid; grid-template-columns: 52fr 48fr; gap: 72px; align-items: center; }
.jr-hero h1.elementor-heading-title { margin-bottom: 24px; }
.jr-hero-lead, .jr-hero-lead p { font-size: 20px; line-height: 1.6; color: #3D4A52; max-width: 560px; }
.e-con.jr-hero-ctas { margin-top: 34px; }
.jr-hero-proof { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 34px !important; padding-top: 26px; border-top: 1px solid var(--jr-border); max-width: 560px; }
.jr-hero-proof li { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; color: var(--jr-ink); }
.jr-hero-proof .jr-icon { width: 20px; height: 20px; padding: 3px; border-radius: 50%; background: var(--jr-orange-soft); color: var(--jr-orange-ink); stroke-width: 3; }
.e-con.jr-hero-media { position: relative; padding: 0 0 36px 44px; display: block; }
.jr-hero-photo { position: relative; z-index: 1; }
.jr-hero-photo img, .jr-hero-photo .elementor-widget-container { display: block; }
.jr-hero-photo .elementor-widget-container { border-radius: var(--jr-r-lg); overflow: hidden; aspect-ratio: 5 / 5.6; box-shadow: var(--jr-shadow-lg); }
/* Left-anchored so third-party trailer lettering on the right edge stays out of frame */
.jr-hero-photo img { width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; object-position: 50% 55%; }
.jr-hero-inset { position: absolute !important; z-index: 2; left: 0; bottom: 0; width: 40% !important; }
.jr-hero-inset .elementor-widget-container { aspect-ratio: 4 / 3; border-radius: var(--jr-r); overflow: hidden; border: 6px solid var(--jr-white); box-shadow: var(--jr-shadow-lg); }
.jr-hero-inset img { width: 100% !important; height: 100% !important; object-fit: cover; object-position: 55% 60%; }
.jr-hero-deco { position: absolute !important; inset: 0; pointer-events: none; z-index: 0; }
.jr-hero-block { position: absolute; right: -28px; bottom: 8px; width: 58%; height: 52%; border-radius: var(--jr-r-lg); background: var(--jr-orange); }
.jr-hero-dots { position: absolute; top: -26px; left: 8px; width: 150px; height: 150px; background-image: radial-gradient(#C9CED2 1.6px, transparent 1.8px); background-size: 16px 16px; }
.jr-hero-over { position: absolute !important; inset: 0; pointer-events: none; z-index: 3; }
.jr-hero-chip {
  position: absolute; top: 22px; right: 22px; margin: 0; display: inline-flex; align-items: center; gap: 10px;
  padding: 10px 16px; border-radius: 999px; background: rgba(255,255,255,.95); box-shadow: var(--jr-shadow);
  font: 700 14px/1.2 var(--jr-head); color: var(--jr-ink);
}
.jr-pulse { position: relative; width: 10px; height: 10px; border-radius: 50%; background: #22A06B; }
.jr-pulse::after { content: ""; position: absolute; inset: -5px; border-radius: 50%; border: 2px solid #22A06B; opacity: 0; animation: jrPulse 2s var(--jr-ease) infinite; }
@keyframes jrPulse { 0% { transform: scale(.5); opacity: .8; } 100% { transform: scale(1.4); opacity: 0; } }
.jr-hero-haul { position: absolute; width: 170px; left: calc(40% + 18px); bottom: 2px; }

/* Estimate bar (Gravity Form 2 inside) */
.e-con.jr-estimate {
  position: relative; z-index: 3; display: grid; grid-template-columns: 220px 1fr; gap: 16px 24px; align-items: end;
  margin-top: 56px; padding: 22px 24px 24px; background: var(--jr-white); border: 1px solid var(--jr-border);
  border-radius: var(--jr-r-lg); box-shadow: var(--jr-shadow-lg);
}
.e-con.jr-estimate::before { content: ""; position: absolute; left: 24px; right: 24px; top: -1px; height: 3px; border-radius: 0 0 3px 3px; background: var(--jr-orange); }
.jr-estimate-title { margin: 0 0 4px !important; font: 800 19px/1.2 var(--jr-head); letter-spacing: -.01em; color: var(--jr-ink); }
.jr-estimate-sub { margin: 0; font-size: 14px; color: var(--jr-muted); }
.jr-estimate-intro { align-self: center; }

/* Trust strip */
.jr-trust { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 24px !important; position: relative; z-index: 2; }
.jr-trust li { display: flex; align-items: center; gap: 16px; padding: 20px 22px; background: var(--jr-white); border: 1px solid var(--jr-border); border-radius: var(--jr-r); box-shadow: var(--jr-shadow-sm); }
.jr-trust .jr-tile { width: 50px; height: 50px; flex: none; }
.jr-trust-title { margin: 0 !important; font: 800 16.5px/1.25 var(--jr-head); color: var(--jr-ink); }
.jr-trust-sub { margin: 2px 0 0 !important; font-size: 14.5px; line-height: 1.4; color: var(--jr-muted); }

/* Intro */
.e-con.jr-intro { padding-top: 88px; padding-bottom: var(--jr-section-y-sm); }
.e-con.jr-intro-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 72px; align-items: center; }
.e-con.jr-intro-media { position: relative; margin: 36px 0 22px; max-width: 600px; display: block; }
.jr-intro-img .elementor-widget-container { border-radius: var(--jr-r-lg); overflow: hidden; box-shadow: var(--jr-shadow); aspect-ratio: 3 / 2; }
.jr-intro-img img { width: 100% !important; height: 100% !important; object-fit: cover; object-position: 50% 55%; display: block; }
.jr-badge {
  position: absolute; right: -20px; bottom: -22px; z-index: 2; display: flex; align-items: center; gap: 12px;
  padding: 14px 18px 14px 14px; border-radius: var(--jr-r); background: var(--jr-white); border: 1px solid var(--jr-border); box-shadow: var(--jr-shadow-lg);
}
.jr-badge::before { content: ""; position: absolute; left: 16px; right: 16px; top: -1px; height: 3px; border-radius: 0 0 3px 3px; background: var(--jr-orange); }
.jr-badge-icon { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 12px; background: var(--jr-orange); color: var(--jr-ink); }
.jr-badge-icon .jr-icon { width: 22px; height: 22px; }
.jr-badge-text { display: flex; flex-direction: column; line-height: 1.3; }
.jr-badge-text strong { font: 800 13px/1.3 var(--jr-head); letter-spacing: .12em; text-transform: uppercase; color: var(--jr-orange-ink); }
.jr-badge-text small { font: 600 14.5px/1.35 var(--jr-body); color: var(--jr-ink); }
.jr-intro-body .jr-muted { color: var(--jr-muted); }
.jr-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px !important; }
.jr-chips li { padding: 8px 14px; border-radius: 999px; background: var(--jr-bg); border: 1px solid var(--jr-border); font-size: 14.5px; font-weight: 500; }

/* Why choose us */
.e-con.jr-why-grid { display: grid; grid-template-columns: 5fr 7fr; gap: var(--jr-gap); align-items: stretch; }
.jr-why-feature { display: flex; flex-direction: column; height: 100%; background: var(--jr-white); border-radius: var(--jr-r-lg); overflow: hidden; border: 1px solid var(--jr-border); box-shadow: var(--jr-shadow-sm); }
.jr-why-feature-media { position: relative; flex: 1 1 auto; min-height: 280px; }
.jr-why-feature-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; }
.jr-why-num-badge { position: absolute; left: 24px; top: 20px; padding: 6px 12px; border-radius: 10px; background: var(--jr-orange); color: var(--jr-ink); font: 800 15px/1 var(--jr-head); }
.jr-why-feature-body { padding: 32px 32px 34px; border-top: 4px solid var(--jr-orange); }
.jr-why-feature-body h3 { font-size: 26px; margin: 0 0 10px; }
.jr-why-feature-body > p { color: var(--jr-muted); }
.jr-why-items { display: grid; grid-template-columns: 1fr 1fr; gap: var(--jr-gap); height: 100%; }
.jr-why-item { position: relative; padding: 28px; background: var(--jr-white); border: 1px solid var(--jr-border); border-radius: var(--jr-r-lg); transition: transform .3s var(--jr-ease), box-shadow .3s; }
.jr-why-item:hover { transform: translateY(-4px); box-shadow: var(--jr-shadow); }
.jr-why-item h3 { margin: 20px 0 8px; font-size: 19.5px; }
.jr-why-item p { font-size: 16px; color: var(--jr-muted); line-height: 1.6; }
.jr-why-num { position: absolute; top: 24px; right: 26px; font: 800 15px/1 var(--jr-head); color: #C4CACE; }
a.jr-why-cta { display: flex; flex-direction: column; justify-content: center; gap: 6px; padding: 28px; border-radius: var(--jr-r-lg); text-decoration: none; color: var(--jr-ink); background: var(--jr-orange-soft); border: 1px solid #FBD9BF; transition: transform .3s var(--jr-ease), box-shadow .3s; }
.jr-why-cta > span:first-child { font-size: 15px; color: var(--jr-orange-ink); font-weight: 600; }
.jr-why-cta strong { font: 800 21px/1.25 var(--jr-head); letter-spacing: -.01em; margin-bottom: 8px; }
a.jr-why-cta:hover { transform: translateY(-4px); box-shadow: var(--jr-shadow); color: var(--jr-ink); }

/* Services */
.jr-services { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--jr-gap); }
.jr-service { display: flex; flex-direction: column; background: var(--jr-white); border: 1px solid var(--jr-border); border-radius: var(--jr-r-lg); overflow: hidden; transition: transform .35s var(--jr-ease), box-shadow .35s, border-color .35s; }
.jr-service:hover { transform: translateY(-6px); box-shadow: var(--jr-shadow-lg); border-color: transparent; }
.jr-service-media { position: relative; aspect-ratio: 4 / 3.1; background: var(--jr-gray); overflow: hidden; }
.jr-service-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--jr-ease); }
.jr-service:hover .jr-service-media img { transform: scale(1.06); }
.jr-service-icon { position: relative; z-index: 1; margin: -49px 0 16px; display: grid; place-items: center; width: 50px; height: 50px; border-radius: 14px; background: var(--jr-white); color: var(--jr-orange-ink); box-shadow: var(--jr-shadow); }
.jr-service-icon .jr-icon { width: 24px; height: 24px; }
.jr-service-body { display: flex; flex-direction: column; flex: 1; padding: 24px 24px 18px; }
.jr-service-body h3 { font-size: 20px; margin: 0 0 8px; }
.jr-service-body p { font-size: 16px; line-height: 1.6; color: var(--jr-muted); margin-bottom: 14px; }
.jr-service-body .jr-link-arrow { margin-top: auto; }
.jr-divisions { margin-top: 56px; }
.jr-divisions-label { margin: 0 0 16px !important; font: 800 13px/1 var(--jr-head); letter-spacing: .14em; text-transform: uppercase; color: var(--jr-muted); }
.jr-division-list { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
a.jr-division { position: relative; display: flex; flex-direction: column; gap: 14px; height: 100%; padding: 10px 10px 18px; border-radius: var(--jr-r); text-decoration: none; color: var(--jr-ink); background: var(--jr-bg); border: 1px solid var(--jr-border); transition: background-color .25s, border-color .25s, transform .25s var(--jr-ease); }
.jr-division img { flex: none; width: 100%; height: auto; aspect-ratio: 16 / 10; border-radius: 10px; object-fit: cover; }
.jr-division > span { display: flex; flex-direction: column; min-width: 0; flex: 1; padding: 0 34px 0 8px; }
.jr-division strong { font: 700 16.5px/1.25 var(--jr-head); }
.jr-division small { font-size: 14px; line-height: 1.4; color: var(--jr-muted); margin-top: 4px; }
.jr-division > .jr-icon { position: absolute; right: 16px; bottom: 20px; width: 18px; height: 18px; color: var(--jr-orange-ink); transition: transform .25s var(--jr-ease); }
a.jr-division:hover { background: var(--jr-white); border-color: #FBD9BF; transform: translateY(-2px); color: var(--jr-ink); }
.jr-division:hover > .jr-icon { transform: translateX(3px); }
.jr-all-services { margin-top: 20px; border: 1px solid var(--jr-border); border-radius: var(--jr-r); background: var(--jr-white); }
.jr-all-services summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 22px; cursor: pointer; list-style: none; border-radius: var(--jr-r); }
.jr-all-services summary::-webkit-details-marker { display: none; }
.jr-all-services summary > span:first-child { display: flex; flex-direction: column; }
.jr-all-services summary strong { font: 700 17px/1.3 var(--jr-head); }
.jr-all-services summary small { font-size: 14.5px; color: var(--jr-muted); }
.jr-plus { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--jr-orange-soft); color: var(--jr-orange-ink); transition: transform .3s var(--jr-ease); }
.jr-all-services[open] .jr-plus { transform: rotate(45deg); }
.jr-all-services-list { columns: 4; column-gap: 32px; padding: 6px 22px 24px !important; }
.jr-all-services-list li { break-inside: avoid; }
.jr-all-services-list a { display: block; padding: 7px 0; font-size: 15.5px; text-decoration: none; color: var(--jr-ink); }
.jr-all-services-list a:hover { color: var(--jr-orange-ink); text-decoration: underline; }

/* Featured CTA */
.e-con.jr-featured { padding-block: 96px; overflow: hidden; }
.e-con.jr-featured-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.e-con.jr-featured-media { position: relative; display: block; }
.jr-featured-img .elementor-widget-container { border-radius: var(--jr-r-lg); overflow: hidden; box-shadow: var(--jr-shadow-lg); aspect-ratio: 6 / 5; }
.jr-featured-img img { width: 100% !important; height: 100% !important; object-fit: cover; object-position: 50% 45%; display: block; }
.jr-featured-over { position: absolute !important; inset: 0; pointer-events: none; }
.jr-featured-badge { position: absolute; left: -32px; bottom: 36px; display: flex; align-items: center; gap: 14px; padding: 16px 20px; background: var(--jr-white); border-radius: var(--jr-r); box-shadow: var(--jr-shadow-lg); pointer-events: auto; }
.jr-featured-badge > .jr-icon { width: 44px; height: 44px; padding: 11px; border-radius: 12px; background: var(--jr-orange); color: var(--jr-ink); }
.jr-featured-badge > span { display: flex; flex-direction: column; line-height: 1.3; }
.jr-featured-badge strong { font: 800 16px/1.3 var(--jr-head); }
.jr-featured-badge small { font-size: 14px; color: var(--jr-muted); }
.jr-featured-haul { position: absolute; width: 150px; top: -26px; right: 32px; }

/* Process */
.jr-steps { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.jr-steps::before { content: ""; position: absolute; top: 36px; left: 36px; right: calc(33.333% - 60px); height: 2px; background: var(--jr-orange); }
.jr-steps::after { content: ""; position: absolute; top: 31px; right: calc(33.333% - 62px); width: 10px; height: 10px; border-top: 2px solid var(--jr-orange); border-right: 2px solid var(--jr-orange); transform: rotate(45deg); }
.jr-step { position: relative; padding-right: 12px; }
.jr-step-bg { position: absolute; top: 84px; right: 8px; z-index: 0; font: 800 150px/1 var(--jr-head); letter-spacing: -.06em; color: #F6F2ED; pointer-events: none; user-select: none; }
.jr-step-marker { position: relative; z-index: 1; display: grid; place-items: center; width: 72px; height: 72px; margin-bottom: 28px; border-radius: 50%; background: var(--jr-white); border: 2px solid var(--jr-orange); color: var(--jr-orange-ink); box-shadow: 0 0 0 8px var(--jr-white); }
.jr-step-marker .jr-icon { width: 28px; height: 28px; }
.jr-step:last-child .jr-step-marker { background: var(--jr-orange); color: var(--jr-ink); }
.jr-step-kicker { position: relative; margin: 0 0 6px !important; font: 800 13px/1 var(--jr-head); letter-spacing: .14em; text-transform: uppercase; color: var(--jr-orange-ink); }
.jr-step h3 { position: relative; font-size: 23px; margin: 0 0 10px; }
.jr-step p:not(.jr-step-kicker) { position: relative; color: var(--jr-muted); max-width: 360px; }
.jr-step a { color: var(--jr-ink); font-weight: 600; }

/* Before / after */
.e-con.jr-results-grid { display: grid; grid-template-columns: 5fr 7fr; gap: 72px; align-items: center; }
.jr-results-copy .jr-lead { font-weight: 600; }
.jr-ba { --pos: 50%; position: relative; aspect-ratio: 16 / 11; border-radius: var(--jr-r-lg); overflow: hidden; box-shadow: var(--jr-shadow-lg); background: #ddd; user-select: none; touch-action: pan-y; }
.jr-ba img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.jr-ba-before-wrap { position: absolute; inset: 0; clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
.jr-ba-before { object-position: 50% 50%; }
.jr-ba-label { position: absolute; top: 18px; z-index: 2; padding: 7px 12px; border-radius: 8px; font: 800 12.5px/1 var(--jr-head); letter-spacing: .12em; text-transform: uppercase; background: rgba(17,23,28,.78); color: #fff; pointer-events: none; }
.jr-ba-label--before { left: 18px; }
.jr-ba-label--after { right: 18px; background: var(--jr-orange); color: var(--jr-ink); }
.jr-ba-handle { position: absolute; top: 0; bottom: 0; left: var(--pos); z-index: 2; width: 3px; background: #fff; transform: translateX(-50%); pointer-events: none; box-shadow: 0 0 12px rgba(0,0,0,.25); }
.jr-ba-handle span { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: var(--jr-white); box-shadow: var(--jr-shadow-lg); color: var(--jr-ink); }
.jr-ba-handle .jr-icon { width: 18px; height: 18px; stroke-width: 2.4; }
.jr-ba-handle .jr-icon:first-child { transform: scaleX(-1); }
.jr-ba-range { position: absolute; inset: 0; z-index: 3; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; -webkit-appearance: none; appearance: none; }
.jr-ba:has(.jr-ba-range:focus-visible) { outline: 3px solid var(--jr-orange); outline-offset: 4px; }
.jr-ba-note { margin: 12px 0 0 !important; font-size: 13.5px; color: var(--jr-muted); }

/* Track record / metrics */
.e-con.jr-reviews-top { display: grid; grid-template-columns: 5fr 7fr; gap: var(--jr-gap); }
.e-con.jr-rating-card { padding: 40px; border-radius: var(--jr-r-lg); background: var(--jr-bg); border: 1px solid var(--jr-border); justify-content: center; }
.jr-rating-text, .jr-rating-text p { margin: 18px 0 0; font-size: 18px; max-width: 420px; }
.jr-metrics { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--jr-border); border-radius: var(--jr-r-lg); overflow: hidden; background: var(--jr-white); height: 100%; }
.jr-metrics li { display: flex; flex-direction: column; justify-content: center; padding: 32px 36px; border-color: var(--jr-border); border-style: solid; border-width: 0; }
.jr-metrics li:nth-child(odd) { border-right-width: 1px; }
.jr-metrics li:nth-child(-n+2) { border-bottom-width: 1px; }
.jr-metrics strong { font: 800 44px/1.05 var(--jr-head); letter-spacing: -.03em; color: var(--jr-ink); }
.jr-metrics strong::after { content: ""; display: block; width: 28px; height: 3px; margin: 14px 0 12px; border-radius: 2px; background: var(--jr-orange); }
.jr-metrics span { font-size: 16px; color: var(--jr-muted); }

/* Service areas */
.e-con.jr-areas-grid { display: grid; grid-template-columns: 5fr 7fr; gap: 72px; align-items: center; }
.jr-areas-copy p strong { color: var(--jr-ink); }
.jr-city-chips { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 28px !important; }
.jr-city-chips a { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 16px; border-radius: 12px; background: var(--jr-white); border: 1px solid var(--jr-border); font-size: 15.5px; font-weight: 500; color: var(--jr-ink); text-decoration: none; transition: border-color .2s, background-color .2s, transform .2s var(--jr-ease); }
.jr-city-chips .jr-icon { width: 17px; height: 17px; color: var(--jr-orange-ink); }
.jr-city-chips a:hover { border-color: var(--jr-orange); background: var(--jr-orange-soft); transform: translateY(-1px); color: var(--jr-ink); }
.jr-area-more { margin-top: 18px; }
.jr-area-more summary { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; cursor: pointer; list-style: none; font: 700 15.5px/1.2 var(--jr-head); color: var(--jr-orange-ink); }
.jr-area-more summary::-webkit-details-marker { display: none; }
.jr-area-more summary .jr-icon { width: 18px; height: 18px; transition: transform .25s var(--jr-ease); }
.jr-area-more[open] summary .jr-icon { transform: rotate(180deg); }
.jr-area-list { display: flex; flex-wrap: wrap; gap: 2px 0; margin-top: 10px !important; font-size: 14.5px; line-height: 1.8; color: var(--jr-muted); }
.jr-area-list li:not(:last-child)::after { content: "·"; margin: 0 7px; color: #A9B1B7; }
.jr-area-list a { color: var(--jr-muted); text-decoration: none; }
.jr-area-list a:hover { color: var(--jr-orange-ink); text-decoration: underline; }
.jr-map { position: relative; margin: 0; border-radius: var(--jr-r-lg); overflow: hidden; background: var(--jr-white); border: 1px solid var(--jr-border); box-shadow: var(--jr-shadow); }
.jr-map svg { width: 100%; height: auto; display: block; }
.jr-map .m-ocean { fill: #DCE9EF; }
.jr-map .m-water { font: italic 600 15px var(--jr-body); fill: #7F9CAB; letter-spacing: .04em; }
.jr-map .m-road { fill: none; stroke: #fff; stroke-width: 6; stroke-linecap: round; }
.jr-map .m-cov { fill: rgba(249,115,22,.07); stroke: var(--jr-orange); stroke-width: 1.5; stroke-dasharray: 6 6; }
.jr-map .m-haul, .jr-map .m-head { fill: none; stroke: var(--jr-orange); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.jr-map .m-pin circle { fill: var(--jr-white); stroke: var(--jr-ink); stroke-width: 2.5; }
.jr-map .m-pin text { font: 600 13.5px var(--jr-body); fill: var(--jr-ink); paint-order: stroke; stroke: #F4F1EC; stroke-width: 4px; stroke-linejoin: round; }
.jr-map .m-main circle { fill: var(--jr-orange); stroke: var(--jr-white); stroke-width: 3; }
.jr-map .m-main .m-dot { fill: var(--jr-white); stroke: none; }
.jr-map .m-main text { font: 800 16px var(--jr-head); }
.jr-map-legend { position: absolute; right: 18px; bottom: 18px; display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 14px; background: rgba(255,255,255,.95); box-shadow: var(--jr-shadow); }
.jr-map-swatch { width: 26px; height: 18px; border-radius: 5px; border: 1.5px dashed var(--jr-orange); background: rgba(249,115,22,.1); }
.jr-map-legend > span:last-child { display: flex; flex-direction: column; line-height: 1.3; }
.jr-map-legend strong { font: 800 14.5px/1.3 var(--jr-head); }
.jr-map-legend small { font-size: 13px; color: var(--jr-muted); }

/* Responsible disposal */
.e-con.jr-disposal-top { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; margin-bottom: 56px; }
.jr-disposal-top .jr-lead, .jr-disposal-top .jr-lead p { color: #34414A; }
.jr-disposal-img .elementor-widget-container { border-radius: var(--jr-r-lg); overflow: hidden; box-shadow: var(--jr-shadow); aspect-ratio: 16 / 10; }
.jr-disposal-img img { width: 100% !important; height: 100% !important; object-fit: cover; object-position: 50% 45%; display: block; }
.jr-disposal-steps { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--jr-gap); }
.jr-disposal-steps::before { content: ""; position: absolute; top: 58px; left: 12%; right: 12%; height: 2px; background: repeating-linear-gradient(90deg, var(--jr-green) 0 8px, transparent 8px 14px); opacity: .45; }
.jr-disposal-card { position: relative; padding: 32px; background: var(--jr-white); border-radius: var(--jr-r-lg); border: 1px solid #D6E7DC; box-shadow: var(--jr-shadow-sm); }
.jr-disposal-card .jr-tile { position: relative; z-index: 1; box-shadow: 0 0 0 8px var(--jr-white); }
.jr-disposal-card h3 { margin: 22px 0 8px; font-size: 20px; letter-spacing: .02em; text-transform: uppercase; }
.jr-disposal-card p { color: var(--jr-muted); font-size: 16.5px; }
.jr-recyclables { margin-top: 32px; padding: 24px 28px; border-radius: var(--jr-r-lg); background: rgba(255,255,255,.6); border: 1px solid #D6E7DC; display: flex; gap: 20px 28px; align-items: center; flex-wrap: wrap; }
.jr-recyclables-label { display: flex; align-items: center; gap: 10px; margin: 0 !important; font: 700 15.5px/1.3 var(--jr-head); color: var(--jr-green); }
.jr-recyclables ul { display: flex; flex-wrap: wrap; gap: 8px; flex: 1; }
.jr-recyclables li { padding: 6px 12px; border-radius: 999px; background: var(--jr-white); border: 1px solid #D6E7DC; font-size: 14px; }

/* Clean outs — sticky left column (desktop only) */
.e-con.jr-solutions-grid { display: grid; grid-template-columns: 5fr 7fr; gap: 80px; align-items: start; }
.e-con.jr-solutions-intro { position: sticky; top: calc(var(--jr-header-h) + 36px); align-self: start; }
.admin-bar .e-con.jr-solutions-intro { top: calc(var(--jr-header-h) + 68px); }
.elementor-widget.jr-solutions-img { margin: 28px 0 0; }
.jr-solutions-img .elementor-widget-container { border-radius: var(--jr-r-lg); overflow: hidden; aspect-ratio: 16 / 10; }
.jr-solutions-img img { width: 100% !important; height: 122% !important; object-fit: cover; object-position: 50% 35%; display: block; }
.jr-solutions { border-top: 1px solid var(--jr-border); }
.jr-solution { display: grid; grid-template-columns: 72px 1fr; gap: 20px; padding: 30px 0; border-bottom: 1px solid var(--jr-border); position: relative; }
.jr-solution::before { content: ""; position: absolute; left: 0; top: -1px; height: 2px; width: 0; background: var(--jr-orange); transition: width .5s var(--jr-ease); }
.jr-solution:hover::before { width: 100%; }
.jr-solution-num { font: 800 15px/1.9 var(--jr-head); color: var(--jr-orange-ink); letter-spacing: .06em; }
.jr-solution h3 { font-size: 22px; margin: 0 0 8px; }
.jr-solution p { color: var(--jr-muted); margin-bottom: 12px; }
.jr-solution-links { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 !important; }
.jr-solution-links a { display: inline-flex; align-items: center; min-height: 36px; padding: 0 12px; border-radius: 8px; background: var(--jr-bg); font-size: 14px; font-weight: 500; color: var(--jr-ink); text-decoration: none; transition: background-color .2s, color .2s; }
.jr-solution-links a:hover { background: var(--jr-orange-soft); color: var(--jr-orange-ink); }

/* FAQ — Elementor Accordion widget */
.jr-faq .elementor-accordion { border-top: 1px solid var(--jr-border); }
.jr-faq .elementor-accordion .elementor-accordion-item { border: 0; border-bottom: 1px solid var(--jr-border); }
.jr-faq .elementor-accordion .elementor-tab-title {
  display: flex; align-items: center; justify-content: space-between; flex-direction: row-reverse; gap: 24px;
  min-height: 76px; padding: 20px 0; border: 0; font: 700 20px/1.35 var(--jr-head); letter-spacing: -.01em; color: var(--jr-ink);
}
.jr-faq .elementor-accordion .elementor-tab-title a { color: inherit; text-decoration: none; }
.jr-faq .elementor-accordion .elementor-tab-title:hover, .jr-faq .elementor-accordion .elementor-tab-title.elementor-active { color: var(--jr-ink); }
.jr-faq .elementor-accordion .elementor-tab-title:hover a { color: var(--jr-orange-ink); }
.jr-faq .elementor-accordion .elementor-accordion-icon {
  position: relative; flex: none; width: 40px !important; height: 40px; border-radius: 50%;
  background: var(--jr-white); border: 1.5px solid var(--jr-border); font-size: 0 !important; float: none !important;
  transition: background-color .25s, border-color .25s;
}
.jr-faq .elementor-accordion .elementor-accordion-icon > * { display: none !important; }
.jr-faq .elementor-accordion .elementor-accordion-icon::before,
.jr-faq .elementor-accordion .elementor-accordion-icon::after { content: ""; position: absolute; top: 50%; left: 50%; width: 14px; height: 2px; border-radius: 2px; background: var(--jr-ink); transform: translate(-50%,-50%); transition: transform .3s var(--jr-ease); }
.jr-faq .elementor-accordion .elementor-accordion-icon::after { transform: translate(-50%,-50%) rotate(90deg); }
.jr-faq .elementor-accordion .elementor-active .elementor-accordion-icon { background: var(--jr-orange); border-color: var(--jr-orange); }
.jr-faq .elementor-accordion .elementor-active .elementor-accordion-icon::after { transform: translate(-50%,-50%) rotate(0deg); }
.jr-faq .elementor-accordion .elementor-tab-content { border: 0; padding: 0 0 28px; }
.jr-faq .elementor-accordion .elementor-tab-content > * { max-width: 920px; }
.jr-faq .elementor-accordion .elementor-tab-content p { color: #3D4A52; font-size: 17.5px; margin: 0 0 1em; }
.jr-faq .elementor-accordion .elementor-tab-content p:last-child { margin-bottom: 0; }
.jr-faq .elementor-accordion .elementor-tab-content a { color: var(--jr-orange-ink); font-weight: 600; }

/* Final CTA (Gravity Form 1 inside) */
.e-con.jr-final { padding-block: var(--jr-section-y-sm) var(--jr-section-y); }
.e-con.jr-final-card { position: relative; display: grid; grid-template-columns: 7fr 5fr; gap: 48px; align-items: stretch; border-radius: 28px; background: var(--jr-orange-soft); overflow: hidden; border: 1px solid #FBD9BF; }
.e-con.jr-final-copy { padding: 72px 0 72px 72px; position: relative; z-index: 1; }
.jr-final-copy h2.elementor-heading-title { font-size: clamp(34px, 2.8vw + 14px, 56px); margin-bottom: 16px; }
.jr-final-copy .jr-lead, .jr-final-copy .jr-lead p { max-width: 560px; color: #34414A; }
.e-con.jr-final-media { position: relative; min-height: 460px; display: block; }
.jr-final-circle { position: absolute; width: 420px; height: 420px; right: -120px; top: -120px; border-radius: 50%; background: var(--jr-orange); opacity: .95; }
.jr-final-img { position: absolute !important; top: 40px; bottom: 40px; right: 0; left: 8%; width: 92% !important; z-index: 1; }
.jr-final-img .elementor-widget-container { height: 100%; border-radius: var(--jr-r-lg) 0 0 var(--jr-r-lg); overflow: hidden; box-shadow: var(--jr-shadow-lg); }
.jr-final-img img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.jr-final-deco { position: absolute !important; inset: 0; pointer-events: none; }
.jr-final-haul { position: absolute; z-index: 2; width: 170px; left: -60px; bottom: 16px; }
.jr-final-phone { margin-top: 18px !important; font-size: 15.5px; color: #34414A; }
.jr-final-phone a { font-weight: 700; color: var(--jr-ink); }

/* ---------- Gravity Forms (orbital theme) styled to the design system ---------- */
.jr-gf .gform_wrapper.gform-theme {
  --gf-color-primary: var(--jr-orange); --gf-color-primary-rgb: 249,115,22; --gf-color-primary-contrast: var(--jr-ink);
  --gf-color-primary-darker: var(--jr-orange-dark); --gf-ctrl-border-color: var(--jr-border); --gf-ctrl-radius: var(--jr-r-sm);
  --gf-ctrl-size: 54px; --gf-ctrl-font-size: 16px; --gf-ctrl-label-font-size-primary: 13.5px; --gf-ctrl-label-font-weight-primary: 600;
  --gf-ctrl-label-color-primary: var(--jr-ink); --gf-ctrl-btn-radius: var(--jr-r-sm); --gf-ctrl-btn-font-weight: 800;
  --gf-ctrl-btn-size: 54px; --gf-ctrl-btn-font-size: 14.5px; --gf-ctrl-btn-font-family: var(--jr-head);
  --gf-form-gap-y: 16px; --gf-form-gap-x: 16px; --gf-font-family-base: var(--jr-body);
}
.jr-gf .gform_wrapper input:not([type=submit]):not([type=checkbox]):not([type=radio]), .jr-gf .gform_wrapper textarea, .jr-gf .gform_wrapper select {
  min-height: 54px; border: 1.5px solid var(--jr-border) !important; border-radius: var(--jr-r-sm) !important; background: var(--jr-white) !important; font-size: 16px !important; color: var(--jr-ink) !important; box-shadow: none !important;
}
.jr-gf .gform_wrapper input:focus, .jr-gf .gform_wrapper textarea:focus { border-color: var(--jr-orange) !important; box-shadow: 0 0 0 4px rgba(249,115,22,.16) !important; outline: none; }
.jr-gf .gform_wrapper .gfield_label { font: 600 13.5px/1.2 var(--jr-body) !important; color: var(--jr-ink) !important; margin-bottom: 7px !important; }
.jr-gf .gform_wrapper .gfield_required { color: var(--jr-orange-ink) !important; }
.jr-gf .gform_wrapper .gfield_required_text { display: none !important; }
.jr-gf .gform_wrapper .gfield_label > .gfield_required::after { content: "*"; margin-left: 2px; font-weight: 700; }
.jr-gf .gform_wrapper .gform-field-label--type-sub { font-size: 12.5px !important; font-weight: 500 !important; color: var(--jr-muted) !important; margin-top: 5px !important; }
.jr-gf--final .gform_wrapper .gfield--type-name { grid-column: 1 / -1 !important; }
.jr-gf .gform_wrapper .gform_footer, .jr-gf .gform_wrapper .gform_page_footer { margin: 0 !important; padding: 0 !important; }
.jr-gf .gform_wrapper input[type=submit], .jr-gf .gform_wrapper .gform_button {
  min-height: 54px !important; padding: 0 24px !important; border: 0 !important; border-radius: var(--jr-r-sm) !important;
  background: var(--jr-orange) !important; color: var(--jr-ink) !important; box-shadow: 0 6px 18px rgba(249,115,22,.28) !important;
  font: 800 14.5px/1 var(--jr-head) !important; letter-spacing: .06em !important; text-transform: uppercase !important; cursor: pointer; width: auto;
}
.jr-gf .gform_wrapper input[type=submit]:hover { background: #FB8233 !important; }
.jr-gf .gform_wrapper .gform_validation_errors { border-radius: var(--jr-r-sm); }
.jr-gf .gform_confirmation_message { padding: 18px 20px; border-radius: var(--jr-r-sm); background: var(--jr-green-soft); color: var(--jr-green); font-weight: 600; }
/* Hero bar: one row (Name · Phone · Email · Message · Button) */
.jr-gf--bar .gform_wrapper form { display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: end; }
.jr-gf--bar .gform_wrapper .gform_body .gform_fields { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 16px !important; }
.jr-gf--bar .gform_wrapper .gfield { grid-column: auto !important; }
.jr-gf--bar .gform_wrapper textarea { height: 54px !important; min-height: 54px !important; resize: none; padding-top: 15px !important; line-height: 1.4; }
.jr-gf--bar .gform_wrapper .gform_heading { display: none; }
.jr-gf--bar .gform_wrapper .gfield--type-honeypot, .jr-gf .gform_wrapper .gform_validation_container { display: none !important; }
/* Final CTA: two columns, message full width */
.jr-gf--final { max-width: 640px; margin-top: 30px; }
.jr-gf--final .gform_wrapper .gform_fields { grid-template-columns: 1fr 1fr !important; }
.jr-gf--final .gform_wrapper .gfield { grid-column: span 1 !important; }
.jr-gf--final .gform_wrapper .gfield--type-textarea { grid-column: 1 / -1 !important; }
.jr-gf--final .gform_wrapper textarea { min-height: 110px !important; }
.jr-gf--final .gform_wrapper input:not([type=submit]), .jr-gf--final .gform_wrapper textarea { border-color: #F3D3BB !important; }
.jr-gf--final .gform_wrapper input[type=submit] { min-height: 58px !important; padding: 0 28px !important; font-size: 15px !important; }

/* =========================================================
   FOOTER (Theme Builder footer template)
   ========================================================= */
.e-con.jr-footer { background: var(--jr-charcoal); color: #B7C0C6; padding-top: 88px; font-size: 16px; }
.e-con.jr-footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1.2fr 1fr 1.4fr; gap: 48px; padding-bottom: 64px; }
.jr-footer a { color: #B7C0C6; text-decoration: none; transition: color .2s; }
.jr-footer a:hover { color: #fff; }
.jr-footer-logo .elementor-widget-container { display: inline-block; padding: 8px 12px; border-radius: 14px; background: var(--jr-white); margin-bottom: 22px; }
.jr-footer-logo img { height: 64px !important; width: auto !important; display: block; }
.jr-footer-about, .jr-footer-about p { max-width: 340px; line-height: 1.7; color: #B7C0C6; }
.jr-footer-title { margin: 0 0 18px !important; font: 800 14px/1 var(--jr-head); letter-spacing: .12em; text-transform: uppercase; color: #fff; }
.jr-footer-col ul { display: grid; gap: 2px; }
.jr-footer-col a { display: inline-flex; min-height: 36px; align-items: center; }
.jr-footer-contact li { display: flex; gap: 12px; align-items: flex-start; padding: 6px 0; line-height: 1.55; }
.jr-footer-contact .jr-icon { width: 18px; height: 18px; margin-top: 4px; color: var(--jr-orange); }
.jr-footer-contact .jr-btn { margin-top: 16px; color: var(--jr-ink); }
.jr-footer-contact .jr-btn:hover { color: var(--jr-ink); }
.jr-footer-bottom { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding-block: 24px; font-size: 14.5px; max-width: calc(var(--jr-container) + var(--jr-gutter) * 2); margin-inline: auto; padding-inline: var(--jr-gutter); }
.jr-footer-bottom::before { content: ""; position: absolute; top: 0; left: var(--jr-gutter); right: var(--jr-gutter); height: 1px; background: rgba(255,255,255,.1); }
.jr-footer-bottom p { margin: 0; }
.jr-footer-bottom ul { display: flex; flex-wrap: wrap; gap: 6px 24px; }
.jr-footer-bottom a { display: inline-flex; min-height: 36px; align-items: center; }
.jr-mobile-cta { display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 150; grid-template-columns: 1fr 1fr; gap: 10px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.97); border-top: 1px solid var(--jr-border); box-shadow: 0 -8px 24px rgba(23,32,38,.08); transform: translateY(110%); transition: transform .35s var(--jr-ease); }
.jr-mobile-cta.is-visible { transform: none; }
.jr-mobile-cta .jr-btn { min-height: 52px; padding: 0 12px; font-size: 14px; }

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

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1280px) {
  :root { --jr-gutter: 28px; }
  .jr-header-phone-text small { display: none; }
  .jr-nav .ubermenu-main .ubermenu-item-level-0 > .ubermenu-target { padding: 0 10px !important; }
  .jr-gf--bar .gform_wrapper form { grid-template-columns: 1fr; }
  .e-con.jr-estimate { grid-template-columns: 1fr; }
  .jr-estimate-intro { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
  .jr-estimate-title { margin: 0 !important; }
  .jr-division-list { grid-template-columns: repeat(3, 1fr); }
  .e-con.jr-footer-grid { grid-template-columns: 1.4fr 1fr 1.2fr 1fr; }
  .jr-footer-grid > .jr-footer-contact-w { grid-column: span 2; }
  .jr-footer-grid > .jr-footer-brand { grid-row: span 2; }
}
@media (min-width: 1101px) and (max-height: 860px) { .jr-solutions-img .elementor-widget-container { aspect-ratio: 16 / 7; } }
@media (min-width: 1101px) and (max-height: 700px) { .e-con.jr-solutions-intro { position: static; } }
@media (max-width: 1100px) {
  :root { --jr-section-y: 88px; --jr-section-y-sm: 72px; --jr-header-h: 76px; }
  .jr-brand img { height: 56px !important; }
  .e-con.jr-hero-grid { grid-template-columns: 1fr 1fr; gap: 48px; }
  .jr-hero-lead, .jr-hero-lead p { font-size: 18.5px; }
  .e-con.jr-hero-media { padding: 0 0 28px 28px; }
  .jr-hero-chip { font-size: 13px; top: 16px; right: 16px; }
  .jr-hero-block { right: -14px; }
  .jr-trust { grid-template-columns: repeat(2, 1fr); }
  .e-con.jr-intro-grid { grid-template-columns: 1fr; gap: 28px; }
  .e-con.jr-head { grid-template-columns: 1fr; gap: 18px; }
  .e-con.jr-why-grid { grid-template-columns: 1fr; }
  .jr-why-feature { display: grid; grid-template-columns: 1fr 1fr; }
  .jr-why-feature-body { border-top: 0; border-left: 4px solid var(--jr-orange); }
  .jr-services { grid-template-columns: repeat(2, 1fr); }
  .jr-all-services-list { columns: 3; }
  .e-con.jr-featured-grid, .e-con.jr-results-grid, .e-con.jr-areas-grid, .e-con.jr-disposal-top { grid-template-columns: 1fr; gap: 48px; }
  .e-con.jr-featured-media { max-width: 720px; }
  .jr-featured-badge { left: 20px; }
  .e-con.jr-reviews-top { grid-template-columns: 1fr; }
  .e-con.jr-solutions-grid { grid-template-columns: 1fr; gap: 40px; }
  .e-con.jr-solutions-intro { position: static; }
  .e-con.jr-intro-media { margin: 28px 0 24px; max-width: 640px; }
  .e-con.jr-final-card { grid-template-columns: 1fr; }
  .e-con.jr-final-copy { padding: 56px 48px 0; }
  .e-con.jr-final-media { min-height: 380px; margin: 0 0 0 48px; width: auto; }
  .jr-final-img { top: 40px; bottom: 0; left: 0; width: 100% !important; }
  .jr-final-img .elementor-widget-container { border-radius: var(--jr-r-lg) 0 0 0; }
  .jr-final-circle { right: -80px; top: -40px; width: 300px; height: 300px; }
  .jr-final-haul { left: auto; right: 40px; bottom: auto; top: -10px; transform: scaleY(-1); }
}
@media (max-width: 959px) {
  .jr-nav { flex: none; order: 3; justify-content: flex-end; }
  .jr-nav .ubermenu-responsive-toggle { display: grid !important; }
  .jr-nav .ubermenu-main.ubermenu-responsive.ubermenu-responsive-collapse { display: none !important; }
  .elementor-element.jr-nav, .jr-nav .elementor-widget-container, .jr-nav .elementor-shortcode { position: static !important; }
  .jr-nav .ubermenu-main.ubermenu-responsive { width: auto !important; }
  .jr-nav .ubermenu-main.ubermenu-responsive .ubermenu-item.ubermenu-active > .ubermenu-submenu-drop { visibility: visible !important; opacity: 1 !important; max-height: none !important; }
  .jr-nav .ubermenu-main.ubermenu-responsive { position: absolute; left: 0; right: 0; top: 100%; max-height: calc(100vh - var(--jr-header-h)); overflow-y: auto; background: var(--jr-white); border-top: 1px solid var(--jr-border); box-shadow: var(--jr-shadow-lg); padding: 8px var(--jr-gutter) 20px; }
  .jr-nav .ubermenu-main.ubermenu-responsive .ubermenu-nav { display: block; }
  .jr-nav .ubermenu-main.ubermenu-responsive .ubermenu-item-level-0 { width: 100%; border-bottom: 1px solid var(--jr-border); }
  .jr-nav .ubermenu-main.ubermenu-responsive .ubermenu-item-level-0 > .ubermenu-target { display: flex; width: 100%; min-height: 56px; padding: 0 4px !important; font: 700 18px/1.2 var(--jr-head) !important; border-radius: 0; }
  .jr-nav .ubermenu-main.ubermenu-responsive .ubermenu-submenu.ubermenu-submenu-drop { position: static; width: auto; transform: none; margin: 0 0 12px; box-shadow: none !important; border: 0 !important; padding: 0 !important; }
  .e-con.jr-header-inner { position: relative; justify-content: space-between; }
  .e-con.jr-header-actions { margin-left: auto; }
}
@media (max-width: 860px) {
  :root { --jr-gutter: 24px; }
  .jr-utility-inner { justify-content: center; }
  .jr-utility-inner p:nth-child(2) { display: none; }
  .e-con.jr-hero { padding-top: 44px; }
  .e-con.jr-hero-grid { grid-template-columns: 1fr; gap: 48px; }
  .e-con.jr-hero-copy, .e-con.jr-hero-media { max-width: 640px; }
  .jr-hero-photo .elementor-widget-container { aspect-ratio: 4 / 3.4; }
  .jr-gf--bar .gform_wrapper .gform_body .gform_fields { grid-template-columns: 1fr 1fr !important; }
  .jr-why-feature { grid-template-columns: 1fr; }
  .jr-why-feature-media { min-height: 300px; }
  .jr-why-feature-body { border-left: 0; border-top: 4px solid var(--jr-orange); }
  .jr-steps { grid-template-columns: 1fr; gap: 36px; }
  .jr-steps::before { top: 36px; bottom: 36px; left: 35px; right: auto; width: 2px; height: auto; }
  .jr-steps::after { display: none; }
  .jr-step { padding-left: 100px; min-height: 72px; }
  .jr-step-marker { position: absolute; left: 0; top: 0; margin: 0; }
  .jr-step-bg { font-size: 110px; top: -18px; }
  .jr-division-list { grid-template-columns: 1fr 1fr; }
  .jr-all-services-list { columns: 2; }
  .jr-disposal-steps { grid-template-columns: 1fr; }
  .jr-disposal-steps::before { top: 40px; bottom: 40px; left: 57px; right: auto; width: 2px; height: auto; background: repeating-linear-gradient(180deg, var(--jr-green) 0 8px, transparent 8px 14px); }
  .jr-disposal-card { display: grid; grid-template-columns: 52px 1fr; column-gap: 20px; }
  .jr-disposal-card .jr-tile { grid-row: span 2; }
  .jr-disposal-card h3 { margin-top: 0; }
  .e-con.jr-footer-grid { grid-template-columns: 1fr 1fr; gap: 40px 32px; }
  .jr-footer-grid > .jr-footer-brand { grid-column: 1 / -1; grid-row: auto; }
  .jr-footer-grid > .jr-footer-contact-w { grid-column: auto; }
}
@media (max-width: 640px) {
  :root { --jr-gutter: 16px; --jr-section-y: 72px; --jr-section-y-sm: 60px; --jr-header-h: 68px; --jr-utility-h: 0px; }
  .jr-eyebrow .elementor-heading-title, .jr-eyebrow-text, .jr-h1-kicker { font-size: 12px !important; letter-spacing: .1em !important; gap: 10px; }
  .jr-eyebrow .elementor-heading-title::before, .jr-eyebrow-text::before, .jr-h1-kicker::before { width: 30px; background-size: auto, 22px 2px; }
  .jr-utility { display: none; }
  .jr-brand img { height: 50px !important; }
  .jr-header-phone-text, .jr-header-cta { display: none !important; }
  .e-con.jr-header-actions { gap: 10px; }
  .jr-header-phone-icon { width: 48px; height: 48px; }
  .e-con.jr-hero { padding-top: 32px; }
  .jr-hero h1.elementor-heading-title { font-size: clamp(38px, 10.5vw, 46px); margin-bottom: 18px; }
  .jr-hero-lead, .jr-hero-lead p { font-size: 18px; }
  .jr-hero-ctas .jr-btn, .jr-hero-ctas .elementor-button { width: 100%; }
  .e-con.jr-hero-media { padding: 0 0 20px 16px; }
  .jr-hero-photo .elementor-widget-container { aspect-ratio: 4 / 3.6; }
  .jr-hero-inset { width: 42% !important; }
  .jr-hero-inset .elementor-widget-container { border-width: 4px; }
  .jr-hero-block { right: -16px; }
  .jr-hero-dots { display: none; }
  .jr-hero-haul { width: 120px; left: 30%; bottom: -4px; }
  .jr-hero-chip { font-size: 12.5px; padding: 8px 12px; top: 12px; right: 12px; }
  .e-con.jr-estimate { margin-top: 40px; padding: 20px 18px; }
  .jr-estimate-intro { display: block; }
  .jr-gf--bar .gform_wrapper .gform_body .gform_fields { grid-template-columns: 1fr !important; }
  .jr-gf--bar .gform_wrapper input[type=submit] { width: 100% !important; }
  .jr-trust { grid-template-columns: 1fr; gap: 12px; }
  .jr-trust li { padding: 16px 18px; }
  .e-con.jr-head { margin-bottom: 36px; }
  .jr-head .jr-head-p { font-size: 17px; }
  .jr-why-items { grid-template-columns: 1fr; }
  .jr-why-feature-body { padding: 26px 22px; }
  .jr-why-feature-body h3 { font-size: 23px; }
  .jr-why-item { padding: 24px; }
  .jr-services { grid-template-columns: 1fr; gap: 20px; }
  .jr-service-media { aspect-ratio: 16 / 10; }
  .jr-division-list { grid-template-columns: 1fr; gap: 10px; }
  .jr-division { flex-direction: row; align-items: center; padding: 10px 14px 10px 10px; }
  .jr-division img { width: 76px; height: 76px; aspect-ratio: auto; }
  .jr-division > span { padding: 0 28px 0 0; }
  .jr-division > .jr-icon { top: 50%; bottom: auto; margin-top: -9px; }
  .jr-all-services-list { columns: 1; }
  .e-con.jr-featured { padding-block: 72px; }
  .e-con.jr-featured-grid { gap: 40px; }
  .jr-featured .jr-btn, .jr-featured .elementor-button, .jr-final .jr-btn { width: 100%; }
  .jr-featured-badge { left: 12px; bottom: 12px; padding: 12px 14px; }
  .jr-featured-haul { display: none; }
  .jr-step { padding-left: 90px; }
  .jr-step-bg { font-size: 88px; }
  .jr-ba { aspect-ratio: 4 / 3.4; }
  .jr-results-copy .jr-btn, .jr-results-copy .elementor-button { width: 100%; }
  .e-con.jr-rating-card { padding: 28px; }
  .jr-metrics li { padding: 24px 20px; }
  .jr-metrics strong { font-size: 34px; }
  .jr-city-chips { grid-template-columns: 1fr 1fr; gap: 8px; }
  .jr-city-chips a { padding: 0 12px; font-size: 14.5px; }
  .jr-map-legend { right: 10px; bottom: 10px; padding: 10px 12px; }
  .jr-map-legend small { display: none; }
  .jr-map .m-pin text { font-size: 19px; }
  .jr-map .m-main text { font-size: 22px; }
  .jr-map .m-water { font-size: 19px; }
  .e-con.jr-disposal-top { gap: 32px; margin-bottom: 40px; }
  .jr-disposal-card { padding: 24px; grid-template-columns: 1fr; }
  .jr-disposal-card .jr-tile { grid-row: auto; margin-bottom: 16px; }
  .jr-disposal-steps::before { display: none; }
  .jr-recyclables { padding: 20px; }
  .e-con.jr-intro-media { margin: 24px 0 30px; }
  .jr-badge { right: 12px; bottom: -22px; padding: 10px 14px 10px 10px; gap: 10px; }
  .jr-badge-icon { width: 38px; height: 38px; }
  .jr-badge-text small { font-size: 13.5px; }
  .jr-solution { grid-template-columns: 1fr; gap: 6px; padding: 26px 0; }
  .jr-solution h3 { font-size: 20px; }
  .jr-solutions-intro .jr-btn, .jr-solutions-intro .elementor-button { width: 100%; }
  .jr-faq .elementor-accordion .elementor-tab-title { font-size: 17.5px; min-height: 68px; gap: 16px; }
  .jr-faq .elementor-accordion .elementor-accordion-icon { width: 36px !important; height: 36px; }
  .jr-faq .elementor-accordion .elementor-tab-content p { font-size: 17px; }
  .e-con.jr-final-card { border-radius: 22px; }
  .e-con.jr-final-copy { padding: 40px 22px 0; }
  .jr-gf--final .gform_wrapper .gform_fields { grid-template-columns: 1fr !important; }
  .jr-gf--final .gform_wrapper input[type=submit] { width: 100% !important; }
  .e-con.jr-final-media { min-height: 260px; margin-left: 22px; }
  .jr-final-circle { width: 220px; height: 220px; }
  .jr-final-haul { width: 120px; right: 20px; }
  .e-con.jr-footer { padding-top: 64px; padding-bottom: 76px; }
  .e-con.jr-footer-grid { grid-template-columns: 1fr 1fr; gap: 36px 20px; padding-bottom: 40px; }
  .jr-footer-grid > .jr-footer-contact-w { grid-column: 1 / -1; }
  .jr-footer-bottom { flex-direction: column; align-items: flex-start; }
  .jr-mobile-cta { display: grid; }
}
@media (max-width: 640px) {
  .jr-footer-col a, .jr-footer-bottom a { min-height: 44px; }
}
@media (max-width: 380px) {
  .jr-mobile-cta .jr-btn { padding: 0 8px; font-size: 13px; gap: 6px; letter-spacing: .03em; }
  .jr-city-chips { grid-template-columns: 1fr; }
  .e-con.jr-footer-grid { grid-template-columns: 1fr; }
}

/* =========================================================
   INNER PAGES (service / editorial / utility templates)
   Appended after jr-global.css in the kit Custom CSS.
   Same tokens, type, buttons and cards as the homepage;
   editorial layout: page hero → article + sticky aside → related → CTA.
   ========================================================= */

/* ---------- Page hero ---------- */
.e-con.jr-phero { position: relative; padding-block: 28px 88px; background: var(--jr-bg); overflow: clip; }
.e-con.jr-phero::before { content: ""; position: absolute; right: -160px; top: -200px; width: 520px; height: 520px; border-radius: 50%; background: var(--jr-orange-soft); pointer-events: none; }
.e-con.jr-phero > .e-con { position: relative; z-index: 1; }
.jr-crumbs .rank-math-breadcrumb p { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font: 600 14px/1.4 var(--jr-body); color: var(--jr-muted); }
.jr-crumbs .rank-math-breadcrumb a { color: var(--jr-ink); text-decoration: none; border-bottom: 1px solid transparent; }
.jr-crumbs .rank-math-breadcrumb a:hover { color: var(--jr-orange-ink); border-color: currentColor; }
.jr-crumbs .rank-math-breadcrumb .separator { color: #A8B0B5; }
.jr-crumbs .rank-math-breadcrumb .last { color: var(--jr-muted); }
.e-con.jr-phero-grid { display: grid; grid-template-columns: 1.06fr .94fr; gap: 64px; align-items: center; margin-top: 36px; }
.e-con.jr-phero-copy { max-width: 680px; }
.jr-phero h1.elementor-heading-title { font-size: clamp(38px, 2.4vw + 18px, 60px); line-height: 1.06; letter-spacing: -.03em; margin: 0 0 22px; color: var(--jr-ink); }
.jr-phero .jr-lead, .jr-phero .jr-lead p { color: #34414A; }
.jr-phero .jr-hero-ctas { margin-top: 30px; }
.e-con.jr-phero-media { position: relative; padding: 0 0 26px 26px; }
.e-con.jr-phero-media::before { content: ""; position: absolute; left: 0; bottom: 0; width: 58%; height: 62%; border-radius: var(--jr-r-lg); background: var(--jr-orange); }
.jr-phero-img { position: relative; z-index: 1; width: 100%; }
.jr-phero-img .elementor-widget-container { border-radius: var(--jr-r-lg); overflow: hidden; box-shadow: var(--jr-shadow-lg); aspect-ratio: 4 / 3; background: var(--jr-gray); }
.jr-phero-img img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.e-con.jr-phero--compact { padding-bottom: 72px; }
.jr-phero--compact .e-con.jr-phero-grid { grid-template-columns: 1fr; margin-top: 32px; }
.jr-phero--compact .e-con.jr-phero-copy { max-width: 860px; }
.jr-phero .jr-hero-proof { margin-top: 26px !important; }

/* ---------- Answer box (answer-first summary) ---------- */
.jr-answer .elementor-widget-container { position: relative; padding: 28px 32px 28px 36px; border-radius: var(--jr-r); background: var(--jr-white); border: 1px solid var(--jr-border); box-shadow: var(--jr-shadow-sm); }
.jr-answer .elementor-widget-container::before { content: ""; position: absolute; left: 0; top: 22px; bottom: 22px; width: 4px; border-radius: 0 4px 4px 0; background: var(--jr-orange); }
.jr-answer .jr-answer-label { display: block; margin: 0 0 8px; font: 800 12.5px/1.2 var(--jr-head); letter-spacing: .14em; text-transform: uppercase; color: var(--jr-orange-ink); }
.jr-answer p { font-size: 18.5px; line-height: 1.6; color: var(--jr-ink); }
.jr-answer p.jr-answer-label { display: block; margin: 0 0 6px; font: 800 12.5px/1.2 var(--jr-head); letter-spacing: .14em; text-transform: uppercase; color: var(--jr-orange-ink); }
.jr-answer h2.jr-answer-q { margin: 0 0 10px; font: 800 clamp(22px, .6vw + 18px, 27px)/1.25 var(--jr-head); letter-spacing: -.015em; color: var(--jr-ink); }

/* ---------- Article + aside ---------- */
.e-con.jr-article { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 72px; align-items: start; }
.e-con.jr-article-main { gap: 0; }
.e-con.jr-article-main > .elementor-widget + .elementor-widget,
.e-con.jr-article-main > .e-con + .elementor-widget,
.e-con.jr-article-main > .elementor-widget + .e-con,
.e-con.jr-article-main > .e-con + .e-con { margin-top: 36px; }
.e-con.jr-aside { position: sticky; top: calc(var(--jr-header-h) + 28px); gap: 20px; }
.e-con.jr-aside-card { padding: 30px; border-radius: var(--jr-r-lg); background: var(--jr-charcoal); color: #fff; gap: 0; }
.jr-aside-card .jr-aside-title .elementor-heading-title { font: 800 23px/1.25 var(--jr-head); letter-spacing: -.01em; color: #fff; margin: 0 0 10px; }
.jr-aside-card .jr-aside-text, .jr-aside-card .jr-aside-text p { color: #C9D0D4; font-size: 15.5px; line-height: 1.55; }
.jr-aside-card .jr-btn { width: 100%; margin-top: 12px; }
.jr-aside-card .jr-btn .elementor-button { width: 100%; }
.jr-aside-card .jr-aside-text + .jr-btn { margin-top: 22px; }
.jr-aside-card .jr-btn--ghost .elementor-button { --b-bg: transparent; --b-fg: #fff; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.35); }
.jr-aside-card .jr-btn--ghost .elementor-button:hover { box-shadow: inset 0 0 0 1.5px #fff; }
.jr-aside-meta { margin-top: 22px !important; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.14); }
.jr-aside-meta ul { display: grid; gap: 10px; }
.jr-aside-meta li { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; line-height: 1.45; color: #C9D0D4; }
.jr-aside-meta .jr-icon { width: 18px; height: 18px; color: var(--jr-orange); margin-top: 1px; }
.jr-aside-meta a { color: #fff; font-weight: 600; }
.e-con.jr-aside-links { padding: 26px 28px; border-radius: var(--jr-r-lg); background: var(--jr-white); border: 1px solid var(--jr-border); gap: 0; }
.jr-aside-links-title { margin: 0 0 8px !important; font: 800 13px/1.2 var(--jr-head); letter-spacing: .14em; text-transform: uppercase; color: var(--jr-muted); }
.jr-aside-links ul { display: grid; }
.jr-aside-links li + li { border-top: 1px solid var(--jr-border); }
.jr-aside-links a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 46px; padding: 8px 0; font: 700 15.5px/1.3 var(--jr-head); color: var(--jr-ink); text-decoration: none; }
.jr-aside-links a:hover { color: var(--jr-orange-ink); }
.jr-aside-links a .jr-icon { width: 18px; height: 18px; color: var(--jr-orange); transition: transform .25s var(--jr-ease); }
.jr-aside-links a:hover .jr-icon { transform: translateX(3px); }
.jr-aside-links a[aria-current="page"] { color: var(--jr-orange-ink); }

/* ---------- Prose (text-editor content) ---------- */
.jr-prose { color: #34414A; font-size: 17.5px; line-height: 1.72; }
.jr-prose .elementor-widget-container > *:first-child { margin-top: 0; }
.jr-prose h2 { font: 800 clamp(28px, 1.1vw + 19px, 38px)/1.15 var(--jr-head); letter-spacing: -.025em; color: var(--jr-ink); margin: 52px 0 16px; text-wrap: balance; }
.jr-prose h3 { font: 800 clamp(21px, .5vw + 17px, 25px)/1.3 var(--jr-head); letter-spacing: -.015em; color: var(--jr-ink); margin: 40px 0 12px; }
.jr-prose h4 { font: 700 19px/1.35 var(--jr-head); color: var(--jr-ink); margin: 30px 0 8px; }
.jr-prose p { margin: 0 0 1.1em; }
.jr-prose strong, .jr-prose b { color: var(--jr-ink); font-weight: 700; }
.jr-prose a { color: var(--jr-orange-ink); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.jr-prose a:hover { color: var(--jr-orange-dark); }
.jr-prose ul, .jr-prose ol { margin: 0 0 1.3em; padding: 0; display: grid; gap: 10px; }
.jr-prose ul:last-child, .jr-prose ol:last-child { margin-bottom: 0; }
.jr-prose ul li { position: relative; padding-left: 30px; }
.jr-prose ul li::before { content: ""; position: absolute; left: 4px; top: .62em; width: 9px; height: 9px; border-radius: 50%; background: var(--jr-orange); box-shadow: 0 0 0 4px var(--jr-orange-soft); }
.jr-prose ol { counter-reset: jr; }
.jr-prose ol li { position: relative; padding-left: 40px; counter-increment: jr; }
.jr-prose ol li::before { content: counter(jr); position: absolute; left: 0; top: .1em; width: 26px; height: 26px; border-radius: 8px; background: var(--jr-orange-soft); color: var(--jr-orange-ink); font: 800 13.5px/26px var(--jr-head); text-align: center; }
.jr-prose ul.jr-cols { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 28px; }
.jr-prose ul.jr-cols--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* Section titles inside the article */
.jr-sec-title .elementor-heading-title { font: 800 clamp(28px, 1.1vw + 19px, 38px)/1.15 var(--jr-head); letter-spacing: -.025em; color: var(--jr-ink); margin: 0 0 14px; }
.jr-sec-intro, .jr-sec-intro p { color: #4A565E; font-size: 17.5px; line-height: 1.65; }
.e-con.jr-article-main > .jr-sec-title + .jr-sec-intro, .e-con.jr-article-main > .jr-sec-title + .e-con, .e-con.jr-article-main > .jr-sec-intro + .e-con { margin-top: 18px; }
.e-con.jr-article-main > .jr-sec-title + .jr-faq { margin-top: 8px; }

/* ---------- Media inside the article ---------- */
.jr-figure .elementor-widget-container { border-radius: var(--jr-r-lg); overflow: hidden; box-shadow: var(--jr-shadow); aspect-ratio: 16 / 9; background: var(--jr-gray); }
.jr-figure img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }

/* ---------- Cards ---------- */
.e-con.jr-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.e-con.jr-cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.e-con.jr-card { display: flex; flex-direction: column; gap: 0; border-radius: var(--jr-r-lg); background: var(--jr-white); border: 1px solid var(--jr-border); overflow: hidden; box-shadow: var(--jr-shadow-sm); transition: transform .3s var(--jr-ease), box-shadow .3s var(--jr-ease); }
.e-con.jr-card:hover { transform: translateY(-3px); box-shadow: var(--jr-shadow); }
.jr-card-img { width: 100%; }
.jr-card-img .elementor-widget-container { aspect-ratio: 16 / 10; overflow: hidden; background: var(--jr-gray); }
.jr-card-img img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.e-con.jr-card-body { padding: 24px 24px 26px; gap: 0; flex: 1; }
.jr-card-title .elementor-heading-title { font: 800 20px/1.3 var(--jr-head); letter-spacing: -.01em; color: var(--jr-ink); margin: 0 0 10px; }
.jr-card-title .elementor-heading-title a { color: inherit; }
.jr-card-title .elementor-heading-title a:hover { color: var(--jr-orange-ink); }
.jr-card-text, .jr-card-text p { font-size: 15.5px; line-height: 1.6; color: #4A565E; }
.jr-card-text strong { color: var(--jr-ink); }
.jr-card-text ul { display: grid; gap: 8px; margin: 12px 0 0 !important; }
.jr-card-text li { position: relative; padding-left: 20px; }
.jr-card-text li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: var(--jr-orange); }
.jr-card-link { margin-top: auto !important; padding-top: 18px; }
.jr-card-link a { color: var(--jr-orange-ink); }
.jr-card-icon { margin-bottom: 18px !important; }
.jr-card-icon .jr-tile { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: var(--jr-orange-soft); color: var(--jr-orange-ink); }
.jr-card-icon .jr-icon { width: 26px; height: 26px; }

/* ---------- Tables ---------- */
.jr-table-wrap { border-radius: var(--jr-r); border: 1px solid var(--jr-border); overflow: hidden; background: var(--jr-white); box-shadow: var(--jr-shadow-sm); }
table.jr-table { width: 100%; border-collapse: collapse; font-size: 16px; line-height: 1.5; margin: 0; }
table.jr-table th { padding: 16px 20px; background: var(--jr-charcoal); color: #fff; text-align: left; font: 800 13px/1.3 var(--jr-head); letter-spacing: .1em; text-transform: uppercase; border: 0; }
table.jr-table td { padding: 16px 20px; border: 0; border-top: 1px solid var(--jr-border); vertical-align: top; color: #34414A; }
/* beat Hello Elementor's reset striping (table tbody > tr:nth-child(odd) > td) */
table.jr-table tbody > tr > td, table.jr-table tbody > tr:nth-child(odd) > td { background: var(--jr-white); }
table.jr-table tbody > tr:nth-child(even) > td { background: #FBFAF8; }
table.jr-table td:first-child { font: 700 16px/1.4 var(--jr-head); color: var(--jr-ink); }
table.jr-table td ul { display: grid; gap: 4px; margin: 0; }
table.jr-table td li { padding-left: 16px; position: relative; }
table.jr-table td li::before { content: ""; position: absolute; left: 0; top: .62em; width: 6px; height: 6px; border-radius: 50%; background: var(--jr-orange); box-shadow: none; }
.jr-table-note { margin: 12px 0 0 !important; font-size: 14px; line-height: 1.5; color: var(--jr-muted); }

/* ---------- Callouts ---------- */
.jr-callout .elementor-widget-container { display: flex; gap: 16px; align-items: flex-start; padding: 22px 24px; border-radius: var(--jr-r); background: var(--jr-orange-soft); border: 1px solid #FBD9BF; color: #34414A; font-size: 16px; line-height: 1.6; }
.jr-callout--green .elementor-widget-container { background: var(--jr-green-soft); border-color: #CFE3D6; }
.jr-callout .jr-callout-icon { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--jr-white); color: var(--jr-orange-ink); }
.jr-callout--green .jr-callout-icon { color: var(--jr-green); }
.jr-callout-body { min-width: 0; }
.jr-callout strong { color: var(--jr-ink); }
.jr-callout ul { display: grid; gap: 6px; margin: 8px 0 0; }
.jr-callout li { position: relative; padding-left: 20px; }
.jr-callout li::before { content: ""; position: absolute; left: 2px; top: .6em; width: 7px; height: 7px; border-radius: 50%; background: var(--jr-orange); }
.jr-callout--green li::before { background: var(--jr-green); }
.jr-callout p { margin: 0 0 .5em; }
.jr-callout p:last-child { margin: 0; }
.jr-callout a { color: var(--jr-orange-ink); font-weight: 700; }

/* ---------- Inline CTA band ---------- */
.e-con.jr-band { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px 32px; align-items: center; padding: 30px 34px; border-radius: var(--jr-r-lg); background: var(--jr-charcoal); color: #fff; }
.jr-band .jr-band-title .elementor-heading-title { font: 800 23px/1.3 var(--jr-head); color: #fff; margin: 0 0 6px; }
.jr-band .jr-band-text, .jr-band .jr-band-text p { color: #C9D0D4; font-size: 16px; }
.e-con.jr-band-ctas { flex-direction: row; flex-wrap: wrap; gap: 12px; }
.jr-band .jr-btn--ghost .elementor-button { --b-bg: transparent; --b-fg: #fff; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.35); }

/* ---------- Accordions inside articles (reuse .jr-faq) ---------- */
.jr-article .jr-faq .elementor-accordion .elementor-tab-title { font-size: 18.5px; min-height: 68px; }
.jr-article .jr-faq .elementor-accordion .elementor-tab-content p, .jr-article .jr-faq .elementor-accordion .elementor-tab-content li { font-size: 16.5px; }
.jr-faq .elementor-tab-content ul { display: grid; gap: 6px; margin: 0 0 1em; }
.jr-faq .elementor-tab-content li { position: relative; padding-left: 20px; color: #3D4A52; }
.jr-faq .elementor-tab-content li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: var(--jr-orange); }
.e-con.jr-faq-group { gap: 0; }
.e-con.jr-faq-group + .e-con.jr-faq-group { margin-top: 64px; }
.jr-jump { display: flex; flex-wrap: wrap; gap: 10px; }
.jr-jump a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 999px; background: var(--jr-white); border: 1px solid var(--jr-border); font: 700 15px/1 var(--jr-head); color: var(--jr-ink); text-decoration: none; transition: border-color .2s, color .2s; }
.jr-jump a:hover { border-color: var(--jr-orange); color: var(--jr-orange-ink); }
.jr-phero .jr-jump { margin-top: 28px; }

/* ---------- Related services ---------- */
.jr-related-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.jr-related-list a { display: flex; align-items: center; justify-content: space-between; gap: 14px; height: 100%; min-height: 64px; padding: 16px 18px; border-radius: var(--jr-r); background: var(--jr-white); border: 1px solid var(--jr-border); font: 700 16px/1.3 var(--jr-head); color: var(--jr-ink); text-decoration: none; transition: border-color .2s, box-shadow .25s var(--jr-ease), transform .25s var(--jr-ease); }
.jr-related-list a:hover { border-color: var(--jr-orange); box-shadow: var(--jr-shadow-sm); transform: translateY(-2px); }
.jr-related-list a .jr-icon { width: 18px; height: 18px; color: var(--jr-orange); }
.jr-related-list small { display: block; margin-top: 4px; font: 500 13.5px/1.35 var(--jr-body); color: var(--jr-muted); }
.jr-hubs-label { margin: 40px 0 14px !important; font: 800 13px/1.2 var(--jr-head); letter-spacing: .14em; text-transform: uppercase; color: var(--jr-muted); }
.jr-hubs { display: flex; flex-wrap: wrap; gap: 10px; }
.jr-hubs a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 999px; background: var(--jr-bg); border: 1px solid var(--jr-border); font: 700 14.5px/1.2 var(--jr-head); color: var(--jr-ink); text-decoration: none; }
.jr-hubs a:hover { border-color: var(--jr-orange); color: var(--jr-orange-ink); }
.jr-hubs a[aria-current="page"] { background: var(--jr-orange-soft); border-color: #FBD9BF; color: var(--jr-orange-ink); }

/* ---------- Contact page ---------- */
.e-con.jr-contact-grid { display: grid; grid-template-columns: 5fr 7fr; gap: 48px; align-items: start; }
.e-con.jr-contact-side { gap: 24px; }
.jr-contact-list { display: grid; gap: 14px; }
.jr-contact-list li { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 16px; align-items: start; padding: 20px 22px; border-radius: var(--jr-r); background: var(--jr-white); border: 1px solid var(--jr-border); }
.jr-contact-list .jr-tile { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: var(--jr-orange-soft); color: var(--jr-orange-ink); }
.jr-contact-list .jr-tile .jr-icon { width: 24px; height: 24px; }
.jr-contact-list h2 { margin: 2px 0 4px !important; font: 800 13px/1.3 var(--jr-head) !important; letter-spacing: .12em !important; text-transform: uppercase; color: var(--jr-muted) !important; }
.jr-contact-list p { margin: 0 !important; font: 700 18px/1.45 var(--jr-head); color: var(--jr-ink); overflow-wrap: anywhere; }
.jr-contact-list p small { display: block; font: 500 14.5px/1.45 var(--jr-body); color: var(--jr-muted); }
.jr-contact-list a { color: var(--jr-ink); text-decoration: none; }
.jr-contact-list a:hover { color: var(--jr-orange-ink); }
.e-con.jr-form-card { padding: 40px; border-radius: 24px; background: var(--jr-white); border: 1px solid var(--jr-border); box-shadow: var(--jr-shadow); gap: 0; }
.jr-form-card .jr-sec-title .elementor-heading-title { font-size: clamp(26px, 1vw + 18px, 34px); }
.jr-form-card .jr-sec-intro { margin-bottom: 8px; }
.jr-map-embed { width: 100%; }
.jr-map-embed .elementor-widget-container { border-radius: var(--jr-r-lg); overflow: hidden; border: 1px solid var(--jr-border); background: var(--jr-gray); aspect-ratio: 4 / 3; }
.jr-map-embed iframe { display: block; width: 100%; height: 100%; border: 0; }

/* ---------- Responsive ---------- */
@media (max-width: 1280px) {
  .e-con.jr-article { grid-template-columns: minmax(0, 1fr) 320px; gap: 56px; }
  .jr-related-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1100px) {
  .e-con.jr-phero-grid { grid-template-columns: 1fr 1fr; gap: 44px; }
  .e-con.jr-article { grid-template-columns: minmax(0, 1fr); gap: 56px; }
  .e-con.jr-aside { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
  .e-con.jr-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .e-con.jr-contact-grid { grid-template-columns: minmax(0, 1fr); }
  .e-con.jr-contact-side { display: grid; grid-template-columns: 1fr 1fr; align-items: start; }
}
@media (max-width: 860px) {
  .e-con.jr-phero { padding-bottom: 64px; }
  .e-con.jr-phero-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; margin-top: 28px; }
  .e-con.jr-phero-media { max-width: 640px; }
  .jr-related-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jr-prose ul.jr-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .e-con.jr-band { grid-template-columns: minmax(0, 1fr); }
  .e-con.jr-contact-side { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .e-con.jr-phero { padding-block: 20px 52px; }
  .e-con.jr-phero::before { width: 300px; height: 300px; right: -120px; top: -140px; }
  .jr-phero h1.elementor-heading-title { font-size: clamp(32px, 8.6vw, 40px); }
  .jr-phero .jr-hero-ctas .jr-btn, .jr-phero .jr-hero-ctas .elementor-button { width: 100%; }
  .e-con.jr-phero-media { padding: 0 0 16px 16px; }
  .jr-answer .elementor-widget-container { padding: 22px 20px 22px 26px; }
  .jr-answer p { font-size: 17px; }
  .jr-prose { font-size: 17px; }
  .jr-prose h2 { margin-top: 40px; }
  .jr-prose ul.jr-cols, .jr-prose ul.jr-cols--2 { grid-template-columns: minmax(0, 1fr); }
  .e-con.jr-aside { grid-template-columns: minmax(0, 1fr); }
  .e-con.jr-aside-card { padding: 26px 22px; }
  .e-con.jr-cards, .e-con.jr-cards--2 { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .jr-related-list { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  table.jr-table thead { display: none; }
  table.jr-table, table.jr-table tbody, table.jr-table tr, table.jr-table td { display: block; width: 100%; }
  table.jr-table tr { padding: 14px 18px; border-top: 1px solid var(--jr-border); }
  table.jr-table tbody tr:first-child { border-top: 0; }
  table.jr-table tbody > tr > td, table.jr-table tbody > tr:nth-child(odd) > td, table.jr-table tbody > tr:nth-child(even) > td { background: none; }
  table.jr-table tbody > tr:nth-child(even) { background: #FBFAF8; }
  table.jr-table td { padding: 3px 0; border: 0; }
  table.jr-table td[data-label]::before { content: attr(data-label); display: block; margin-top: 6px; font: 800 11.5px/1.4 var(--jr-head); letter-spacing: .1em; text-transform: uppercase; color: var(--jr-muted); }
  table.jr-table td:first-child { font-size: 17px; }
  table.jr-table td:first-child::before { display: none; }
  .e-con.jr-band { padding: 26px 22px; }
  .jr-band .jr-btn, .jr-band .elementor-button { width: 100%; }
  .e-con.jr-band-ctas { flex-direction: column; }
  .e-con.jr-form-card { padding: 28px 20px; border-radius: 20px; }
  .jr-contact-list li { grid-template-columns: 44px minmax(0, 1fr); padding: 16px; gap: 14px; }
  .jr-contact-list .jr-tile { width: 44px; height: 44px; }
}
.jr-card-icon .jr-tile--size { width: 64px; height: 64px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; background: var(--jr-charcoal); color: #fff; }
.jr-tile--size strong { font: 800 24px/1 var(--jr-head); letter-spacing: -.02em; }
.jr-tile--size small { font: 700 11px/1 var(--jr-head); letter-spacing: .08em; color: var(--jr-orange); }

/* ---------- Gallery ---------- */
.e-con.jr-gal-group + .e-con.jr-gal-group { margin-top: 72px; }
.e-con.jr-gal-head { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px 32px; margin-bottom: 28px; }
.jr-gal-head .jr-sec-intro { max-width: 640px; }
.jr-gal { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.jr-gal-item { position: relative; display: block; border-radius: var(--jr-r); overflow: hidden; aspect-ratio: 4 / 3; background: var(--jr-gray); box-shadow: var(--jr-shadow-sm); }
.jr-gal-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s var(--jr-ease); }
.jr-gal-item:hover img, .jr-gal-item:focus-visible img { transform: scale(1.05); }
.jr-gal-item::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(23,32,38,.06); pointer-events: none; }
@media (max-width: 1100px) { .jr-gal { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .jr-gal { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .e-con.jr-gal-group + .e-con.jr-gal-group { margin-top: 56px; } }

/* ---------- Service hubs (category pages) ---------- */
.e-con.jr-hub-intro { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 56px; align-items: start; }
.e-con.jr-hub-intro-main { gap: 0; }
.e-con.jr-hub-intro-main > .elementor-widget + .elementor-widget { margin-top: 32px; }
.jr-glance-card .elementor-widget-container { padding: 28px; border-radius: var(--jr-r-lg); background: var(--jr-bg); border: 1px solid var(--jr-border); }
.jr-glance-title { margin: 0 0 14px; font: 800 12.5px/1.2 var(--jr-head); letter-spacing: .14em; text-transform: uppercase; color: var(--jr-orange-ink); }
.jr-glance { display: grid; margin: 0; }
.jr-glance > div { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 12px; padding: 12px 0; border-top: 1px solid var(--jr-border); }
.jr-glance > div:first-child { border-top: 0; padding-top: 0; }
.jr-glance dt { font: 700 13.5px/1.5 var(--jr-head); color: var(--jr-muted); }
.jr-glance dd { margin: 0; font-size: 15.5px; line-height: 1.5; font-weight: 600; color: var(--jr-ink); }
.jr-svc-groups .elementor-widget-container { display: grid; gap: 48px; }
.jr-svc-group-title { margin: 0 0 6px; font-size: 22px; }
.jr-svc-group-intro { margin: 0 0 20px; color: var(--jr-muted); }
.jr-svc-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.jr-svc-item { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr) 18px; gap: 14px; align-items: start; padding: 18px; background: var(--jr-white); border: 1px solid var(--jr-border); border-radius: var(--jr-r); transition: transform .25s var(--jr-ease), box-shadow .25s, border-color .25s; }
.jr-svc-item .jr-tile { width: 44px; height: 44px; border-radius: 12px; }
.jr-svc-item .jr-tile .jr-icon { width: 20px; height: 20px; }
.jr-svc-item h4, .jr-svc-item h3 { margin: 2px 0 4px; font: 800 16.5px/1.3 var(--jr-head); letter-spacing: -.01em; color: var(--jr-ink); }
.jr-svc-item h4 a, .jr-svc-item h3 a { color: var(--jr-ink); text-decoration: none; }
.jr-svc-item h4 a::after, .jr-svc-item h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.jr-svc-item p { margin: 0; font-size: 14.5px; line-height: 1.5; color: var(--jr-muted); }
.jr-svc-arrow { width: 18px; height: 18px; margin-top: 4px; color: var(--jr-orange-ink); transition: transform .25s var(--jr-ease); }
.jr-svc-item:not(.jr-svc-item--static):hover { transform: translateY(-2px); border-color: #FBD9BF; box-shadow: var(--jr-shadow); }
.jr-svc-item:hover .jr-svc-arrow { transform: translateX(3px); }
.jr-svc-item:focus-within { outline: 2px solid var(--jr-orange); outline-offset: 2px; }
.jr-svc-item--static { grid-template-columns: 44px minmax(0, 1fr); }
.jr-why-items.jr-why-items--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.jr-hub-steps .jr-step-marker { box-shadow: 0 0 0 8px var(--jr-bg); }
.jr-hub-steps .jr-step-bg { color: #EFE9E2; }
@media (max-width: 1100px) {
  .e-con.jr-hub-intro { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .jr-svc-grid, .jr-why-items.jr-why-items--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .jr-svc-groups .elementor-widget-container { gap: 40px; }
  .jr-svc-grid, .jr-why-items.jr-why-items--3 { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .jr-svc-item { padding: 16px; gap: 12px; }
  .jr-glance-card .elementor-widget-container { padding: 22px; }
  .jr-glance > div { grid-template-columns: 88px minmax(0, 1fr); }
}

/* ---------- Service-area pages ---------- */
.jr-map-embed--wide .elementor-widget-container { aspect-ratio: 16 / 9; }
.jr-near-wrap .jr-city-chips { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 0 !important; padding: 0; list-style: none; }
.jr-near-wrap .jr-city-chips a { min-height: 52px; line-height: 1.3; }
.jr-near-all { margin: 18px 0 0; }
.jr-near-all .jr-link-arrow { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--jr-orange-ink); text-decoration: none; }
.jr-near-all .jr-icon { width: 18px; height: 18px; }
@media (max-width: 640px) {
  .jr-near-wrap .jr-city-chips { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .jr-map-embed--wide .elementor-widget-container { aspect-ratio: 4 / 3; }
}
@media (max-width: 380px) { .jr-near-wrap .jr-city-chips { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Areas Served hub (7468) ---------- */
.jr-region-wrap { margin-top: 40px; }
.jr-region-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--jr-gap); margin: 0; padding: 0; list-style: none; }
.jr-region-card { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 26px; border-radius: var(--jr-r-lg); background: var(--jr-bg); border: 1px solid var(--jr-border); transition: border-color .2s, transform .2s var(--jr-ease), box-shadow .2s; }
.jr-region-card:hover { border-color: var(--jr-orange); transform: translateY(-2px); box-shadow: var(--jr-shadow-sm); }
.jr-region-card h3 { margin: 4px 0 0; font: 800 20px/1.25 var(--jr-head); color: var(--jr-ink); }
.jr-region-card h3 a { color: inherit; text-decoration: none; }
.jr-region-card h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.jr-region-card h3 a:focus-visible { outline: none; }
.jr-region-card:focus-within { outline: 2px solid var(--jr-orange); outline-offset: 2px; }
.jr-region-card p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--jr-muted); }
.jr-region-card .jr-region-count { margin-top: auto; display: inline-flex; align-items: center; gap: 8px; font: 700 14.5px/1.2 var(--jr-head); color: var(--jr-orange-ink); }
.jr-region-count .jr-icon { width: 16px; height: 16px; transform: rotate(90deg); }
.jr-dir-body .elementor-widget-container { display: grid; gap: 36px; }
.jr-dir-label { margin: 0 0 -20px; font: 800 12.5px/1.2 var(--jr-head); letter-spacing: .14em; text-transform: uppercase; color: var(--jr-orange-ink); }
.jr-city-chips.jr-dir-primary { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 0 !important; padding: 0; list-style: none; }
.jr-dir-primary a { min-height: 56px; font: 700 16px/1.3 var(--jr-head); box-shadow: var(--jr-shadow-sm); }
.jr-dir-group { padding-top: 28px; border-top: 1px solid var(--jr-border); }
.jr-dir-group h3 { margin: 0 0 14px; font: 800 18px/1.3 var(--jr-head); color: var(--jr-ink); }
.jr-dir-list { columns: 4 200px; column-gap: 32px; margin: 0; padding: 0; list-style: none; }
.jr-dir-list li { break-inside: avoid; }
.jr-dir-list a { display: inline-block; padding: 7px 0; font-size: 15.5px; line-height: 1.4; color: var(--jr-ink); text-decoration: none; overflow-wrap: anywhere; }
.jr-dir-list a:hover { color: var(--jr-orange-ink); text-decoration: underline; }
@media (max-width: 1100px) {
  .jr-region-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jr-dir-list { columns: 3 180px; }
}
@media (max-width: 640px) {
  .jr-region-wrap { margin-top: 28px; }
  .jr-region-cards { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .jr-region-card { padding: 20px; gap: 8px; }
  .jr-city-chips.jr-dir-primary { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .jr-dir-primary a { min-height: 52px; font-size: 15px; }
  .jr-dir-body .elementor-widget-container { gap: 28px; }
  .jr-dir-list { columns: 2; column-gap: 20px; }
  .jr-dir-list a { font-size: 15px; padding: 8px 0; }
}
@media (max-width: 380px) { .jr-city-chips.jr-dir-primary { grid-template-columns: minmax(0, 1fr); } }/* End custom CSS */