.elementor-1579 .elementor-element.elementor-element-8358163{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-1579 .elementor-element.elementor-element-709d44e{font-family:"Inter", Sans-serif;font-weight:500;}.elementor-1579 .elementor-element.elementor-element-d310404{margin:-20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"Inter", Sans-serif;font-weight:500;}:root{--page-title-display:none;}/* Start custom CSS for text-editor, class: .elementor-element-709d44e */a{ text-decoration:none !important;}
.btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 14px 26px;
      border-radius: 999px;
      font-weight: 600;
      font-size: 15px;
      border: none;
      cursor: pointer;
      text-decoration: none;
      transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
      white-space: nowrap;
    }

    .btn-primary {
      background: linear-gradient(135deg, var(--socal-blue), var(--socal-blue-dark));
      color: #ffffff !important;
      box-shadow: 0 12px 24px rgba(20, 107, 183, 0.28) !important;
    }

    .btn-primary:hover {
      transform: translateY(-1px);
      box-shadow: 0 16px 30px rgba(20, 107, 183, 0.38);
    }

    .btn-outline {
      background: #ffffff;
      color: var(--socal-blue-dark);
      border: 1px solid rgba(15, 85, 145, 0.18);
    }

    .btn-outline:hover {
      background: var(--socal-blue-soft);
    }

    .page-wrap {
      max-width: 1200px;
      margin: 0 auto;
      padding:0 20px;
    }

    h1, h2, h3, h4 {
      font-family: "Montserrat", Sans-serif !important;
      margin: 0 0 14px;
      color: var(--socal-gray-900) ;
    }

    h1 {
      
      line-height: 1.15;
      font-weight: 900;
    }

    h2 {
      line-height: 1.2;
      font-weight: 900;
      font-size:2.5rem !important;
    }

    h3 {
      line-height: 1.25;
      font-weight: 900;
    }

    p {
      margin: 0 0 14px;
      font-size: 17px;
      color: var(--socal-gray-700) !important;
      max-width: 780px;
    }

  

    /* HERO */
    .hero {
      background: radial-gradient(circle at top left, #ffffff 0, #ffffff 32%, #e5f1ff 72%, #d6e8ff 100%);
      padding: 40px 0 30px;
    }
    .hero-band {
      background: linear-gradient(180deg, #99bcee 0%, #f3f8ff 100%);
      padding: 30px 0 0;
    }

    .hero-inner {
      max-width: 1220px;
      margin: 0 auto;
      padding: 0 20px;
      border-radius: 26px;
      background: #ffffff;
      box-shadow: 0 18px 45px rgba(15, 85, 145, 0.18);
      display: grid;
      grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.1fr);
      gap: 32px;
      position: relative;
      overflow: hidden;
    }

    .hero-left {
      padding: 20px 25px 0;
      position: relative;
      z-index: 2;
    }

    .hero-kicker {
      font-size: 12px;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--socal-blue-dark);
      margin-bottom: 10px;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 4px 10px;
      border-radius: 999px;
      background: rgba(20, 107, 183, 0.06);
    }

    .hero-kicker b {
      width: 8px;
      height: 8px;
      border-radius: 999px;
      background: var(--socal-green);
    }

    .hero-bullets {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin: 10px 0 18px;
    }

    .hero-badge-chip {
      font-size: 12px;
      padding: 4px 10px;
      border-radius: 999px;
      background: var(--socal-blue-soft);
      color: var(--socal-blue-dark);
      font-weight: 500;
    }

    .hero-sub {
      font-size: 15px;
      color: var(--socal-gray-700) !important;
      margin-bottom: 14px;
    }

    .hero-cta-row {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      align-items: center;
      margin-bottom: 12px;
    }

    .hero-phone-row {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 14px;
      color: var(--socal-gray-700);
    }

    .hero-phone-row strong a {
      color: var(--socal-blue-dark);
    }

    .hero-phone-row strong a:hover {
      text-decoration: underline;
    }

    .hero-mini-guarantee {
      font-size: 12px;
      color: var(--socal-gray-700);
      display: flex;
      align-items: center;
      gap: 6px;
      margin-top: 6px;
    }

    .hero-mini-dot {
      width: 6px;
      height: 6px;
      border-radius: 999px;
      background: var(--accent-gold);
    }

    .hero-right {
      position: relative;
      padding: 20px 20px 10px 0;
    }

    .hero-truck-card {
      position: relative;
      border-radius: 24px;
      overflow: hidden;
      background: #0f172a;
      min-height: 260px;
      box-shadow: 0 18px 45px rgba(15, 23, 42, 0.5);
    }

    .hero-truck-img {
      width: 100%;
      height: 260px;
      object-fit: cover;
    }

    .hero-tag-pill {
      position: absolute;
      top: 14px;
      left: 14px;
      background: rgba(15, 23, 42, 0.72);
      color: #ffffff;
      padding: 6px 12px;
      border-radius: 999px;
      font-size: 11px;
      display: inline-flex;
      align-items: center;
      gap: 8px;
    }
    .hero-mini-guarantee p{ margin:0; font-size:12px ;}

    .hero-tag-pill b {
      width: 8px;
      height: 8px;
      border-radius: 999px;
      background: var(--accent-gold);
    }

    .hero-overlay-bottom {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      padding: 14px 16px 12px;
      background: linear-gradient(to top, rgba(15, 23, 42, 0.96), rgba(15, 23, 42, 0.06));
      color: #ffffff;
    }

    .hero-overlay-title {
      font-size: 14px;
      font-weight: 600;
      margin-bottom: 3px;
    }

    .hero-overlay-sub {
      font-size: 12px;
      opacity: 0.9;
      margin-bottom: 6px;
    }

    .hero-review-ticker {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      align-items: center;
      font-size: 11px;
      overflow:hidden;
    }

    .hero-review-dot {
      width: 6px;
      height: 6px;
      border-radius: 999px;
      background: #22c55e;
    }

    .hero-review-stars {
      font-size: 12px;
      color: #facc15;
    }
@media (max-width: 960px) {
      

      .hero-inner {
        grid-template-columns: minmax(0, 1fr);
        padding: 18px 15px 18px;
        margin: 10px;
      }

      .hero-left {
        padding: 10px 4px 6px;
      }

      .hero-right {
        padding: 4px 0 0;
      }
}
.marquee-container {
  overflow: hidden;
  white-space: nowrap;
  display: flex;
  align-items: center;
}

/* The moving element */
.hero-review-marquee {
  display: inline-block;
  white-space: nowrap;
  animation: marquee-scroll 15s linear infinite;
}

.hero-review-marquee b {
  padding-right: 50px; /* Space between the original and the duplicate */
}

/* The Animation */
@keyframes marquee-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); } /* Moves exactly half the total width */
}

/* Optional: Pause on hover so people can click the phone number */
.hero-review-ticker:hover .hero-review-marquee {
  animation-play-state: paused;
}

@keyframes fadeUpStagger {
  from {
    opacity: 0;
    transform: translateY(40px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-d310404 */.socal-container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 22px;
  }

  .socal-eyebrow {
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: #d98b13;
    margin-bottom: 14px;
  }

  .socal-eyebrow.light {
    color: #f4b23b;
  }

  .socal-about-intro,
  .socal-about-services,
  .socal-about-properties,
  .socal-about-process,
  .socal-about-faq {
    padding: 82px 0;
    background: #ffffff;
  }

  .socal-beige {
    padding: 82px 0;
    background: #f5f0e6;
  }

  .socal-about-blue {
    padding: 82px 0;
    background: #223248;
    color: #ffffff;
  }

  .socal-about-blue h2,
  .socal-about-final h2 {
    color: #ffffff !important;
  }

  .socal-about-blue p {
    color: rgba(255,255,255,.88) !important;
    max-width: 900px;
  }

  .socal-container h2 {
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.08;
    margin: 0 0 22px;
    color: #152536;
  }

  .socal-container h3 {
    font-size: 22px;
    line-height: 1.2;
    margin: 0 0 12px;
    color: #152536;
  }

  .socal-container p {
    font-size: 17px;
    line-height: 1.75;
    color: #344255;
    margin: 0 0 18px;
  }

  .socal-grid-2 {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 44px;
    align-items: center;
  }

  .socal-card-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
    margin-top: 38px;
  }

  .socal-card {
    background: #ffffff;
    border: 1px solid rgba(21,37,54,.1);
    border-radius: 18px;
    padding: 28px;
    box-shadow: 0 14px 40px rgba(21,37,54,.08);
  }

  .socal-card p {
    font-size: 16px;
    margin-bottom: 0;
  }

  .socal-card-dark {
    background: #223248;
    color: #ffffff;
    border: none;
  }

  .socal-card-dark h3 {
    color: #ffffff;
  }

  .socal-card-dark ul {
    padding-left: 18px;
    margin: 18px 0 0;
  }

  .socal-card-dark li {
    font-size: 16px;
    line-height: 1.8;
    color: rgba(255,255,255,.9);
  }

  .socal-about-services .socal-card,
  .socal-about-properties .socal-card {
    background: #f8fafc;
  }

  .socal-about-process {
    background: #ffffff;
  }

  .socal-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
    margin-top: 38px;
  }

  .socal-step {
    padding: 28px;
    border-radius: 18px;
    background: #f5f0e6;
    border: 1px solid rgba(21,37,54,.08);
  }

  .socal-step span {
    display: inline-flex;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: #d98b13;
    color: #ffffff;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    margin-bottom: 18px;
  }

  .socal-step p {
    font-size: 16px;
    margin-bottom: 0;
  }

  .socal-faq-item {
    border-bottom: 1px solid rgba(21,37,54,.12);
    padding: 24px 0;
  }

  .socal-faq-item:first-of-type {
    border-top: 1px solid rgba(21,37,54,.12);
    margin-top: 34px;
  }

  .socal-faq-item p {
    margin-bottom: 0;
  }

  .socal-about-final {
    padding: 92px 0;
    background: #223248;
    color: #ffffff;
    text-align: center;
  }

  .socal-about-final p {
    max-width: 850px;
    margin: 0 auto 30px;
    color: rgba(255,255,255,.88) !important;
    font-size: 19px;
  }

  .socal-about-final a {
    display: inline-block;
    background: #d98b13;
    color: #ffffff;
    padding: 16px 28px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 800;
    box-shadow: 0 12px 28px rgba(0,0,0,.18);
  }

  .socal-container a {
    color: #0f5da8;
    font-weight: 700;
  }

  @media (max-width: 980px) {
    .socal-grid-2,
    .socal-card-grid,
    .socal-steps {
      grid-template-columns: 1fr 1fr;
    }
  }

  @media (max-width: 680px) {
    .socal-about-intro,
    .socal-about-services,
    .socal-about-properties,
    .socal-about-process,
    .socal-about-faq,
    .socal-beige,
    .socal-about-blue,
    .socal-about-final {
      padding: 58px 0;
    }

    .socal-grid-2,
    .socal-card-grid,
    .socal-steps {
      grid-template-columns: 1fr;
    }

    .socal-card,
    .socal-step {
      padding: 24px;
    }
  }/* End custom CSS */