:root{
  --green:#2f9346;--green-dark:#187333;--mint:#eaf8ee;--mint-2:#f4fbf6;--ink:#111827;--muted:#667085;--line:#e6ece8;--white:#fff;--shadow:0 24px 70px rgba(18,52,34,.13);--radius:22px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:#fff}.page-shell{overflow:hidden}.container{width:min(1120px,calc(100% - 36px));margin:auto}.narrow{width:min(760px,calc(100% - 36px))}.section-pad{padding:84px 0}.section-pad-sm{padding:48px 0}.site-header{position:absolute;top:0;left:0;width:100%;z-index:10;display:flex;justify-content:center;align-items:center;gap:20px;padding:24px 18px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);padding:10px 14px;border-radius:18px;background:rgba(255,255,255,.75);backdrop-filter:blur(12px);box-shadow:0 10px 30px rgba(0,0,0,.05)}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:linear-gradient(135deg,#f6c85f,#299343);color:#fff;font-size:18px}.brand strong{display:block;letter-spacing:.02em}.brand small{display:block;color:var(--green);font-size:11px;font-weight:800;text-transform:uppercase}.phone-pill{position:absolute;right:clamp(18px,6vw,90px);top:34px;color:#1f2937;text-decoration:none;font-size:13px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 14px;box-shadow:0 10px 25px rgba(0,0,0,.05)}.hero{position:relative;min-height:760px;padding-top:132px;background:radial-gradient(circle at 18% 14%,#fff 0,#f7fcf8 38%,#e4f5e8 100%)}.hero-bg-glow{position:absolute;border-radius:999px;filter:blur(14px);opacity:.65}.hero-bg-glow.one{width:360px;height:360px;background:#c8f0d2;left:-120px;top:180px}.hero-bg-glow.two{width:260px;height:260px;background:#fff3bf;right:8%;top:90px}.hero-grid{position:relative;display:grid;grid-template-columns:1fr 440px;gap:80px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--green-dark);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.eyebrow span{width:26px;height:2px;background:var(--green);border-radius:2px}.hero h1{font-size:clamp(42px,5vw,72px);line-height:.98;letter-spacing:-.06em;margin:18px 0;color:#101828}.hero-lead{font-size:19px;line-height:1.65;color:var(--muted);max-width:620px}.benefit-list{display:grid;gap:12px;margin:28px 0;color:#334155;font-weight:650}.benefit-list span{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:10px;border-radius:999px;background:#e7f7ec;color:var(--green)}.hero-photo-card{position:relative;width:min(430px,100%);border-radius:28px;overflow:hidden;margin-top:36px;box-shadow:var(--shadow);transform:rotate(-1.2deg);border:8px solid rgba(255,255,255,.85)}.hero-photo-card img{display:block;width:100%;height:260px;object-fit:cover}.floating-proof{position:absolute;right:14px;bottom:14px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:18px;padding:12px 14px;max-width:190px}.floating-proof strong{display:block;color:var(--green);font-size:20px}.floating-proof span{font-size:11px;color:var(--muted)}.trust-row{display:flex;gap:14px;flex-wrap:wrap;color:#667085}.small-trust{font-size:12px;margin-top:16px}.lead-card{background:rgba(255,255,255,.9);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.9);border-radius:32px;padding:24px;box-shadow:0 34px 90px rgba(17,24,39,.18);position:sticky;top:24px}.card-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.card-topline span{font-family:cursive;color:var(--green);font-size:25px;font-weight:800}.card-topline small{color:var(--muted);font-size:11px}.progress-label{display:flex;justify-content:space-between;color:#344054;font-size:12px;margin-bottom:8px}.progress-track{height:8px;background:#eaf1ec;border-radius:999px;overflow:hidden}.progress-track div{height:100%;width:20%;background:linear-gradient(90deg,var(--green),#5fce7b);border-radius:999px;transition:.35s}.form-step{display:none;animation:stepIn .32s ease}.form-step.active{display:block}@keyframes stepIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.form-step h2{font-size:20px;text-align:center;margin:24px 0 6px}.form-step p{text-align:center;color:var(--muted);font-size:13px;margin:0 0 18px}.amount-display{text-align:center;background:linear-gradient(180deg,#f8fffa,#eff9f2);border:1px solid #d7ecdd;border-radius:18px;padding:20px;margin:18px 0}.amount-display small{display:block;color:var(--muted);font-weight:700;text-transform:uppercase;font-size:11px}.amount-display strong{font-size:42px;color:var(--green);letter-spacing:-.04em}input[type=range]{width:100%;accent-color:var(--green)}.range-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:5px}.amount-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:18px}.amount-buttons button{border:1px solid var(--line);background:#fff;padding:10px;border-radius:999px;font-weight:800;cursor:pointer}.amount-buttons button.selected,.amount-buttons button:hover{background:var(--green);color:#fff;border-color:var(--green)}label{display:block;font-size:13px;font-weight:800;color:#344054;margin-top:14px}input:not([type=range]):not([type=checkbox]){width:100%;border:1px solid #dce7df;border-radius:14px;padding:15px 14px;margin-top:7px;font:inherit;outline:none;background:#fff;transition:.2s}input:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(47,147,70,.11)}.field-grid{display:grid;gap:12px}.field-grid.two{grid-template-columns:1fr 1fr}.compact-address{margin-top:10px}.helper-text{font-size:11px!important}.consent{display:flex;gap:10px;align-items:flex-start;font-weight:600;line-height:1.45}.success-icon{width:58px;height:58px;margin:24px auto 0;display:grid;place-items:center;border-radius:20px;background:#e7f7ec;color:var(--green);font-size:28px;font-weight:900}.summary-box{background:#f7fbf8;border:1px solid var(--line);border-radius:18px;padding:14px;color:#344054;font-size:13px}.form-actions{display:flex;gap:10px;margin-top:22px}.primary,.secondary,.wide-cta,.cta-button{border:0;border-radius:12px;padding:15px 18px;font-weight:900;cursor:pointer;text-decoration:none;text-align:center}.primary,.wide-cta,.cta-button{background:linear-gradient(135deg,var(--green),var(--green-dark));color:#fff;box-shadow:0 12px 24px rgba(47,147,70,.22)}.secondary{background:#f3f7f4;color:#344054}.form-actions button{flex:1}.secure-note{text-align:center;color:var(--muted);font-size:11px;margin:14px 0 0}.logo-strip{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 0;text-align:center}.logo-strip p{margin:0 0 20px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.logos{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}.logos span{font-weight:900;color:#344054;opacity:.76;font-size:clamp(16px,2vw,25px)}.stats{background:#fbfdfb}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stats-grid div,.feature-card,.step-card,.review-marquee article,.debt-grid div,.benefit-cards div{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px rgba(17,24,39,.035)}.stats-grid div{padding:24px;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:center}.stats-grid span{grid-row:span 2;width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#eaf8ee;color:var(--green)}.stats-grid strong{font-size:24px}.stats-grid small{color:var(--muted)}.section-title{text-align:center;margin-bottom:42px}.section-title span{color:var(--green);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.14em}.section-title h2{font-size:clamp(28px,4vw,44px);letter-spacing:-.04em;margin:8px 0 10px}.section-title p{color:var(--muted);max-width:600px;margin:auto;line-height:1.7}.section-title.left{text-align:left;margin:0}.section-title.left p{margin:0}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card{padding:26px;transition:.25s}.feature-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.feature-card span{display:grid;place-items:center;width:38px;height:38px;border-radius:14px;background:#eaf8ee;color:var(--green)}.feature-card h3,.step-card h3{margin:18px 0 8px}.feature-card p,.step-card p{color:var(--muted);line-height:1.65;margin:0}.wide-cta{display:block;width:min(760px,100%);margin:34px auto 0}.steps,.reviews,.benefits{background:#f8faf9}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.step-card{padding:30px;text-align:center}.step-card b{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#eaf8ee;color:var(--green)}.review-marquee{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.review-marquee article{padding:24px}.review-marquee div{color:#f59e0b;letter-spacing:.08em}.review-marquee p{color:#475467;line-height:1.6;min-height:78px}.debt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.debt-grid div{display:grid;gap:8px;text-align:center;padding:26px}.debt-grid strong{display:block}.debt-grid small{color:var(--muted)}.benefits-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center}.benefit-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.benefit-cards div{padding:22px}.benefit-cards span{color:var(--green);font-size:20px}.benefit-cards strong{display:block;margin:8px 0}.benefit-cards p{margin:0;color:var(--muted)}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{cursor:pointer;font-weight:800}.faq p{color:var(--muted);line-height:1.7}.final-cta{text-align:center;background:radial-gradient(circle at 70% 20%,#dff4e6,#fff 50%,#effaf2)}.final-cta h2{font-size:42px;letter-spacing:-.04em;margin:0 0 10px}.final-cta p{color:var(--muted);margin-bottom:26px}.cta-button{display:inline-block;min-width:340px}.footer{padding:44px 0 24px;background:#fbfdfb;border-top:1px solid var(--line)}.footer-grid{display:flex;justify-content:space-between;gap:24px;align-items:center}.footer p{color:var(--muted);max-width:430px}.footer a{color:var(--green-dark);font-weight:800;text-decoration:none}.copyright{display:block;text-align:center;color:var(--muted);margin-top:24px}#toast{position:fixed;right:20px;bottom:20px;z-index:50;background:#111827;color:#fff;border-radius:16px;padding:14px 18px;box-shadow:0 18px 44px rgba(0,0,0,.22);transform:translateY(30px);opacity:0;transition:.3s}#toast.show{transform:none;opacity:1}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.1s}
@media(max-width:960px){.site-header{justify-content:flex-start}.phone-pill{position:static}.hero-grid,.benefits-grid{grid-template-columns:1fr;gap:38px}.lead-card{position:relative;top:auto;max-width:520px;margin:auto}.hero-copy{text-align:center}.hero-lead{margin-left:auto;margin-right:auto}.benefit-list{justify-items:center}.hero-photo-card{margin-left:auto;margin-right:auto}.logos{justify-content:center}.feature-grid,.steps-grid{grid-template-columns:1fr 1fr}.review-marquee,.debt-grid{grid-template-columns:1fr 1fr}.section-title.left{text-align:center}.section-title.left p{margin:auto}.footer-grid{flex-direction:column;text-align:center}}
@media(max-width:640px){.container{width:min(100% - 26px,1120px)}.section-pad{padding:58px 0}.hero{padding-top:112px}.site-header{padding:16px 13px;gap:8px;justify-content:space-between}.phone-pill{font-size:11px;padding:9px 10px}.brand{padding:8px 10px}.hero h1{font-size:43px}.hero-photo-card img{height:220px}.lead-card{border-radius:24px;padding:18px}.field-grid.two,.feature-grid,.steps-grid,.review-marquee,.debt-grid,.benefit-cards,.stats-grid{grid-template-columns:1fr}.amount-display strong{font-size:35px}.amount-buttons{grid-template-columns:repeat(2,1fr)}.cta-button{min-width:0;width:100%}.final-cta h2{font-size:32px}.footer-brand{margin:auto}}


/* ================================
   L1F TRUST LOGO CAROUSEL
   Fully scoped to avoid conflicts
================================ */

.l1f-trust-section,
.l1f-trust-section * {
  box-sizing: border-box;
}

.l1f-trust-section {
  width: 100%;
  padding: 66px 20px 58px;
  background: #ffffff;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  overflow: hidden;
}

.l1f-trust-inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.l1f-trust-title {
  text-align: center;
  margin-bottom: 34px;
}

.l1f-trust-title span {
  display: inline-block;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #6d7890;
}

/* Logo Slider */

.l1f-logo-slider {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 8px 0 34px;
}

.l1f-logo-track {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 58px;
  width: max-content;
  animation: l1fLogoScroll 30s linear infinite;
}

.l1f-logo-slider:hover .l1f-logo-track {
  animation-play-state: paused;
}

.l1f-logo-card {
  min-width: max-content;
  height: 76px;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px;
  flex-shrink: 0;
  white-space: nowrap;
  color: #172033;
  opacity: 0.95;
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.l1f-logo-card:hover {
  transform: translateY(-3px);
  opacity: 1;
}

.l1f-logo-card strong {
  display: inline-block;
  margin: 0;
  padding: 0;
  line-height: 1;
  font-weight: 900;
}

.l1f-logo-card small {
  display: inline-block;
  margin: 0 0 0 4px;
  padding: 0;
  line-height: 1;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.2px;
  color: #75829a;
}

.l1f-bbb strong {
  color: #1f2a44;
  font-size: 22px;
}

.l1f-inc strong {
  font-family: Georgia, serif;
  color: #1f2937;
  font-size: 24px;
}

.l1f-businesswire strong {
  color: #26304f;
  font-size: 30px;
  letter-spacing: -1.4px;
}

.l1f-businesswire small {
  text-transform: none;
  font-size: 12px;
}

.l1f-yahoo strong {
  color: #5f2ab7;
  font-size: 32px;
  letter-spacing: -1.2px;
}

.l1f-yahoo small {
  color: #7c3aed;
  font-size: 15px;
  font-weight: 900;
}

.l1f-riviera strong {
  color: #161616;
  font-size: 27px;
  letter-spacing: -0.8px;
}

.l1f-riviera small {
  font-family: Georgia, serif;
  font-style: italic;
  color: #333333;
  font-size: 14px;
}

.l1f-orange strong {
  color: #1d2a44;
  font-size: 22px;
}

.l1f-google strong {
  color: #4285f4;
  font-size: 34px;
  font-family: Arial, sans-serif;
}

.l1f-google small {
  color: #f6c452;
  font-size: 20px;
  letter-spacing: 2px;
}

/* Fade edges */

.l1f-logo-fade {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 130px;
  z-index: 5;
  pointer-events: none;
}

.l1f-left-fade {
  left: 0;
  background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
}

.l1f-right-fade {
  right: 0;
  background: linear-gradient(270deg, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
}

@keyframes l1fLogoScroll {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

/* Proof Row */

.l1f-proof-grid {
  width: min(980px, 100%);
  margin: 22px auto 24px;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 28px;
  align-items: center;
}

.l1f-proof-item {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px;
  min-height: 70px;
}

.l1f-proof-icon {
  width: 48px;
  height: 48px;
  min-width: 48px;
  border-radius: 10px;
  background: #eaf7ee;
  color: #2f9348;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
}

.l1f-proof-text {
  display: block;
}

.l1f-proof-text span {
  display: block;
  margin-bottom: 5px;
  color: #748199;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 1.6px;
}

.l1f-proof-text strong {
  display: block;
  color: #101828;
  font-size: 19px;
  line-height: 1.15;
  font-weight: 900;
  white-space: nowrap;
}

/* CTA */

.l1f-trust-button {
  width: min(880px, 100%);
  height: 58px;
  margin: 26px auto 0;
  border-radius: 8px;
  background: linear-gradient(135deg, #2f9348 0%, #16833c 100%);
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center;
  text-decoration: none !important;
  font-size: 16px;
  font-weight: 900;
  box-shadow: 0 18px 36px rgba(47, 147, 72, 0.23);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.l1f-trust-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 44px rgba(47, 147, 72, 0.32);
}

/* Responsive */

@media (max-width: 900px) {
  .l1f-trust-section {
    padding: 50px 16px 46px;
  }

  .l1f-logo-track {
    gap: 38px;
    animation-duration: 24s;
  }

  .l1f-proof-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px 28px;
  }

  .l1f-logo-fade {
    width: 70px;
  }
}

@media (max-width: 560px) {
  .l1f-trust-title span {
    font-size: 11px;
    letter-spacing: 2.4px;
  }

  .l1f-logo-track {
    gap: 32px;
    animation-duration: 20s;
  }

  .l1f-logo-card {
    height: 64px;
  }

  .l1f-businesswire strong {
    font-size: 23px;
  }

  .l1f-yahoo strong {
    font-size: 28px;
  }

  .l1f-riviera strong {
    font-size: 23px;
  }

  .l1f-google strong {
    font-size: 30px;
  }

  .l1f-google small {
    font-size: 17px;
  }

  .l1f-proof-grid {
    grid-template-columns: 1fr !important;
    max-width: 370px;
    gap: 12px;
  }

  .l1f-proof-item {
    padding: 14px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
  }

  .l1f-proof-text strong {
    font-size: 17px;
  }

  .l1f-trust-button {
    height: 54px;
    font-size: 15px;
  }
}


/* ================================
   BACK TO TOP BUTTON
================================ */

.back-to-top {
  position: fixed;
  right: 26px;
  bottom: 26px;
  width: 52px;
  height: 52px;
  border: none;
  border-radius: 50%;
  background: linear-gradient(135deg, #2f9348 0%, #167c39 100%);
  color: #ffffff;
  font-size: 26px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow:
    0 18px 38px rgba(47, 147, 72, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.35);
  opacity: 0;
  visibility: hidden;
  transform: translateY(18px) scale(0.92);
  transition:
    opacity 0.25s ease,
    visibility 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.back-to-top.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

.back-to-top:hover {
  transform: translateY(-4px) scale(1.04);
  box-shadow:
    0 24px 48px rgba(47, 147, 72, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.back-to-top:active {
  transform: translateY(-1px) scale(0.98);
}

@media (max-width: 560px) {
  .back-to-top {
    right: 18px;
    bottom: 18px;
    width: 46px;
    height: 46px;
    font-size: 23px;
  }
}

.review-grid-custom {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
  overflow: visible !important;
}

.review-grid-custom article {
  min-width: 0 !important;
}

.review-grid-custom article small {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  font-weight: 800;
  color: #111827;
}

@media (max-width: 1100px) {
  .review-grid-custom {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .review-grid-custom {
    grid-template-columns: 1fr;
  }
}

/* ================================
   UPDATED BENEFITS SECTION
================================ */

.benefits .section-title.left h2 {
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.12;
  letter-spacing: -1.4px;
  margin-bottom: 18px;
}

.benefits .section-title.left p {
  font-size: clamp(20px, 2.4vw, 30px);
  line-height: 1.3;
  color: #101828;
  font-weight: 700;
  max-width: 520px;
}

.benefit-cards-six {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.benefit-cards-six > div {
  min-height: 145px;
}

.benefit-cards-six strong {
  display: block;
  font-size: 17px;
  line-height: 1.25;
  margin-bottom: 8px;
}

.benefit-cards-six p {
  font-size: 14px;
  line-height: 1.55;
}

@media (max-width: 800px) {
  .benefit-cards-six {
    grid-template-columns: 1fr;
  }

  .benefits .section-title.left p {
    font-size: 20px;
  }
}

.pop-link{
      color: var(--muted);

}
/* ================================
   LEGAL MODAL POPUP
================================ */

.legal-text {
  max-width: 420px;
  margin: 12px auto 0;
  text-align: center;
  font-size: 12px;
  line-height: 1.45;
  color: #64748b;
}

.legal-text a,
.legal-link {
  color: #1f7a3a;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.legal-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 22px;
}

.legal-modal.is-open {
  display: flex;
}

.legal-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.62);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.legal-modal-card {
  position: relative;
  width: min(720px, 100%);
  max-height: 82vh;
  overflow: hidden;
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 34px 90px rgba(15, 23, 42, 0.32);
  border: 1px solid rgba(255, 255, 255, 0.9);
  animation: legalModalIn 0.25s ease forwards;
}

.legal-modal-card h2 {
  margin: 0;
  padding: 26px 30px 18px;
  font-size: 28px;
  line-height: 1.15;
  color: #101828;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.legal-modal-content {
  padding: 22px 30px 30px;
  max-height: 62vh;
  overflow-y: auto;
}

.legal-modal-content p {
  margin: 0 0 16px;
  font-size: 15px;
  line-height: 1.7;
  color: #475569;
}

.legal-modal-close {
  position: absolute;
  top: 16px;
  right: 18px;
  width: 38px;
  height: 38px;
  border: none;
  border-radius: 50%;
  background: #eef7f0;
  color: #1f7a3a;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  font-weight: 700;
  transition: transform 0.2s ease, background 0.2s ease;
}

.legal-modal-close:hover {
  transform: rotate(90deg);
  background: #dff3e5;
}

body.modal-open {
  overflow: hidden;
}

@keyframes legalModalIn {
  from {
    opacity: 0;
    transform: translateY(18px) scale(0.96);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 560px) {
  .legal-modal {
    padding: 14px;
  }

  .legal-modal-card {
    border-radius: 18px;
  }

  .legal-modal-card h2 {
    padding: 22px 22px 16px;
    font-size: 23px;
  }

  .legal-modal-content {
    padding: 18px 22px 24px;
  }

  .legal-modal-content p {
    font-size: 14px;
  }
}

table, th, td {
  border: 1px solid #d9d9d9;
  border-collapse: collapse;
  padding:10px;
  text-align: left;
}

th{
  background-color: #c4c2c2;
}

/* ================================
   REAL GOOGLE REVIEWS SECTION
================================ */

.real-review-slider {
  display: grid;
  grid-template-columns: repeat(6, minmax(260px, 1fr));
  gap: 22px;
  overflow-x: auto;
  padding: 8px 4px 12px;
  scroll-snap-type: x mandatory;
}

.real-review-slider::-webkit-scrollbar {
  height: 8px;
}

.real-review-slider::-webkit-scrollbar-track {
  background: #edf2f7;
  border-radius: 999px;
}

.real-review-slider::-webkit-scrollbar-thumb {
  background: #2f9348;
  border-radius: 999px;
}

.real-review-card {
  min-height: 285px;
  padding: 28px 26px;
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.10);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06);
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.review-stars {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #2f9348;
  font-size: 20px;
  letter-spacing: 3px;
  font-weight: 900;
  margin-bottom: 18px;
}

.google-g {
  color: #4285f4;
  font-family: Arial, sans-serif;
  font-size: 24px;
  letter-spacing: 0;
}

.real-review-card p {
  margin: 0;
  color: #64748b;
  font-size: 15px;
  line-height: 1.7;
  font-weight: 700;
  flex: 1;
}

.review-user {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-top: 26px;
  padding-top: 20px;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.review-user span {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(47, 147, 72, 0.12);
  color: #2f9348;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 900;
}

.review-user strong {
  font-size: 15px;
  font-weight: 900;
  color: #1f2937;
}

/* Desktop keeps cards wide and scrollable like real review carousel */
@media (min-width: 1200px) {
  .real-review-slider {
    grid-template-columns: repeat(6, 320px);
  }
}

@media (max-width: 900px) {
  .real-review-slider {
    grid-template-columns: repeat(6, 285px);
  }

  .real-review-card {
    min-height: 265px;
    padding: 24px 22px;
  }
}

@media (max-width: 560px) {
  .real-review-slider {
    grid-template-columns: repeat(6, 86vw);
    gap: 16px;
  }

  .real-review-card {
    min-height: 250px;
  }

  .review-stars {
    font-size: 17px;
  }
}
/* =====================================================
   FINAL LOGO CAROUSEL SIZE FIX
   Add at very bottom of styles.css
===================================================== */

.l1f-trust-section {
  overflow: hidden !important;
  padding-top: 74px !important;
  padding-bottom: 72px !important;
}

.l1f-logo-slider {
  position: relative !important;
  overflow: hidden !important;
  min-height: 150px !important;
  padding: 12px 0 48px !important;
}

.l1f-logo-track {
  display: flex !important;
  align-items: center !important;
  gap: 84px !important;
  width: max-content !important;
}

.l1f-logo-card {
  width: 210px !important;
  min-width: 210px !important;
  height: 125px !important;
  min-height: 125px !important;
  padding: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  overflow: visible !important;
}

.l1f-logo-card.logo-wide-card {
  width: 260px !important;
  min-width: 260px !important;
}

.l1f-logo-img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  max-width: none !important;
  max-height: none !important;
  transform-origin: center center !important;
}

/* Individual logo sizes */
.logo-bbb-img {
  width: 170px !important;
}

.logo-inc-img {
  width: 135px !important;
}

.logo-businesswire-img {
  width: 245px !important;
}

.logo-google-review-img {
  width: 230px !important;
}

.logo-ocbj-img {
  width: 220px !important;
}

.logo-riviera-img {
  width: 220px !important;
}

.logo-yahoo-img {
  width: 230px !important;
}

/* Fade should not cover too much of first/last logo */
.l1f-logo-fade {
  width: 70px !important;
}

/* Mobile */
@media (max-width: 900px) {
  .l1f-logo-slider {
    min-height: 120px !important;
  }

  .l1f-logo-track {
    gap: 54px !important;
  }

  .l1f-logo-card {
    width: 160px !important;
    min-width: 160px !important;
    height: 95px !important;
    min-height: 95px !important;
  }

  .l1f-logo-card.logo-wide-card {
    width: 205px !important;
    min-width: 205px !important;
  }

  .logo-bbb-img {
    width: 125px !important;
  }

  .logo-inc-img {
    width: 95px !important;
  }

  .logo-businesswire-img,
  .logo-google-review-img,
  .logo-ocbj-img,
  .logo-riviera-img,
  .logo-yahoo-img {
    width: 180px !important;
  }
}

@media (max-width: 560px) {
  .l1f-logo-slider {
    min-height: 105px !important;
  }

  .l1f-logo-track {
    gap: 38px !important;
  }

  .l1f-logo-card {
    width: 135px !important;
    min-width: 135px !important;
    height: 82px !important;
    min-height: 82px !important;
  }

  .l1f-logo-card.logo-wide-card {
    width: 170px !important;
    min-width: 170px !important;
  }

  .logo-bbb-img {
    width: 105px !important;
  }

  .logo-inc-img {
    width: 80px !important;
  }

  .logo-businesswire-img,
  .logo-google-review-img,
  .logo-ocbj-img,
  .logo-riviera-img,
  .logo-yahoo-img {
    width: 145px !important;
  }
}

/* ================================
   THANK YOU PANEL AFTER SUBMISSION
================================ */

.thank-you-panel {
  text-align: center;
  padding: 34px 8px 14px;
  animation: thankYouIn 0.45s ease both;
}

.thank-you-icon {
  width: 82px;
  height: 82px;
  margin: 0 auto 20px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 25%, rgba(255, 255, 255, 0.9), transparent 28%),
    linear-gradient(135deg, #35a853 0%, #17823b 100%);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 42px;
  font-weight: 900;
  box-shadow:
    0 18px 44px rgba(47, 147, 72, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.45);
}

.thank-you-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  padding: 8px 14px;
  border-radius: 999px;
  background: #eaf7ee;
  color: #23823b;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.thank-you-panel h2 {
  margin: 0 auto 14px;
  max-width: 460px;
  font-size: clamp(28px, 3.5vw, 38px);
  line-height: 1.12;
  letter-spacing: -1.2px;
  color: #101828;
}

.thank-you-panel > p {
  max-width: 500px;
  margin: 0 auto 24px;
  color: #64748b;
  font-size: 15px;
  line-height: 1.65;
  font-weight: 600;
}

.thank-you-summary {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin: 26px 0;
}

.thank-you-summary div {
  padding: 16px;
  border-radius: 16px;
  background:
    linear-gradient(180deg, #ffffff 0%, #f8fcf9 100%);
  border: 1px solid rgba(47, 147, 72, 0.12);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04);
  text-align: left;
}

.thank-you-summary span {
  display: block;
  margin-bottom: 5px;
  color: #748199;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}

.thank-you-summary strong {
  display: block;
  color: #101828;
  font-size: 17px;
  font-weight: 900;
}

.thank-you-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 26px;
}

.thank-you-call,
.thank-you-home {
  min-height: 54px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 15px;
  font-weight: 900;
  cursor: pointer;
}

.thank-you-call {
  background: linear-gradient(135deg, #2f9348 0%, #167c39 100%);
  color: #ffffff;
  box-shadow: 0 16px 34px rgba(47, 147, 72, 0.24);
}

.thank-you-home {
  border: 1px solid rgba(47, 147, 72, 0.22);
  background: #ffffff;
  color: #1f7a3a;
}

.thank-you-call:hover,
.thank-you-home:hover {
  transform: translateY(-2px);
}

.thank-you-note {
  margin-top: 18px !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  color: #64748b !important;
}

.lead-card.submitted .card-topline,
.lead-card.submitted .progress-wrap,
.lead-card.submitted form {
  display: none;
}

.lead-card.submitted {
  min-height: 620px;
  display: flex;
  align-items: center;
  justify-content: center;
}

@keyframes thankYouIn {
  from {
    opacity: 0;
    transform: translateY(18px) scale(0.96);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 560px) {
  .thank-you-panel {
    padding: 24px 0 10px;
  }

  .thank-you-icon {
    width: 72px;
    height: 72px;
    font-size: 36px;
  }

  .thank-you-actions {
    grid-template-columns: 1fr;
  }

  .lead-card.submitted {
    min-height: auto;
  }
}

/* ================================
   SEPARATE THANK YOU PAGE
================================ */

.thankyou-page,
.thankyou-page * {
  box-sizing: border-box;
}

.thankyou-page {
  position: relative;
  min-height: 100vh;
  padding: 40px 20px;
  background:
    radial-gradient(circle at 15% 35%, rgba(47, 147, 72, 0.16), transparent 32%),
    radial-gradient(circle at 82% 22%, rgba(245, 198, 66, 0.18), transparent 28%),
    linear-gradient(135deg, #f8fffb 0%, #eefaf2 48%, #ffffff 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  font-family: "Inter", sans-serif;
}

.thankyou-bg-glow {
  position: absolute;
  border-radius: 999px;
  filter: blur(24px);
  opacity: 0.65;
  pointer-events: none;
}

.thankyou-bg-glow.glow-one {
  width: 280px;
  height: 280px;
  left: -90px;
  top: 22%;
  background: rgba(47, 147, 72, 0.18);
}

.thankyou-bg-glow.glow-two {
  width: 320px;
  height: 320px;
  right: -110px;
  top: 8%;
  background: rgba(245, 198, 66, 0.16);
}

.thankyou-card {
  position: relative;
  z-index: 2;
  width: min(760px, 100%);
  padding: 46px;
  border-radius: 34px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.85);
  box-shadow:
    0 34px 90px rgba(15, 23, 42, 0.14),
    0 18px 42px rgba(47, 147, 72, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  text-align: center;
  animation: thankyouEnter 0.55s ease both;
}

.thankyou-logo {
  display: inline-flex;
  margin-bottom: 28px;
  padding: 14px 18px;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08);
}

.thankyou-logo img {
  width: 130px;
  height: auto;
  display: block;
}

.thankyou-check {
  width: 92px;
  height: 92px;
  margin: 0 auto 22px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 25%, rgba(255, 255, 255, 0.95), transparent 28%),
    linear-gradient(135deg, #35a853 0%, #17823b 100%);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 46px;
  font-weight: 900;
  box-shadow:
    0 20px 46px rgba(47, 147, 72, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.45);
}

.thankyou-kicker {
  display: inline-flex;
  margin-bottom: 16px;
  padding: 8px 15px;
  border-radius: 999px;
  background: #eaf7ee;
  color: #23823b;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 1.6px;
  text-transform: uppercase;
}

.thankyou-card h1 {
  max-width: 620px;
  margin: 0 auto 16px;
  color: #101828;
  font-size: clamp(36px, 5vw, 56px);
  line-height: 1.05;
  letter-spacing: -2px;
}

.thankyou-lead {
  max-width: 610px;
  margin: 0 auto 30px;
  color: #64748b;
  font-size: 17px;
  line-height: 1.7;
  font-weight: 600;
}

.thankyou-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 32px 0;
}

.thankyou-summary div {
  padding: 18px 14px;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fcf9 100%);
  border: 1px solid rgba(47, 147, 72, 0.12);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.045);
}

.thankyou-summary span {
  display: block;
  margin-bottom: 7px;
  color: #748199;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1.3px;
  text-transform: uppercase;
}

.thankyou-summary strong {
  display: block;
  color: #101828;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.25;
}

.thankyou-actions {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-top: 28px;
}

.thankyou-primary,
.thankyou-secondary {
  min-width: 170px;
  min-height: 56px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 15px;
  font-weight: 900;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;
}

.thankyou-primary {
  background: linear-gradient(135deg, #2f9348 0%, #167c39 100%);
  color: #ffffff;
  box-shadow: 0 16px 34px rgba(47, 147, 72, 0.24);
}

.thankyou-secondary {
  background: #ffffff;
  color: #1f7a3a;
  border: 1px solid rgba(47, 147, 72, 0.22);
}

.thankyou-primary:hover,
.thankyou-secondary:hover {
  transform: translateY(-3px);
}

.thankyou-note {
  margin: 22px auto 0;
  max-width: 520px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.55;
  font-weight: 600;
}

@keyframes thankyouEnter {
  from {
    opacity: 0;
    transform: translateY(22px) scale(0.96);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 760px) {
  .thankyou-card {
    padding: 34px 24px;
    border-radius: 26px;
  }

  .thankyou-summary {
    grid-template-columns: 1fr;
  }

  .thankyou-actions {
    flex-direction: column;
  }

  .thankyou-primary,
  .thankyou-secondary {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .thankyou-page {
    padding: 24px 14px;
  }

  .thankyou-card h1 {
    letter-spacing: -1.4px;
  }

  .thankyou-check {
    width: 78px;
    height: 78px;
    font-size: 38px;
  }

  .thankyou-logo img {
    width: 112px;
  }
}

.form-error {
  margin: 0 0 16px;
  padding: 14px 16px;
  border-radius: 12px;
  background: #fff1f2;
  border: 1px solid #fecdd3;
  color: #be123c;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.4;
}

.duplicate-message {
  margin: 22px auto 0;
  padding: 22px;
  max-width: 620px;
  border-radius: 18px;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  color: #102033;
  text-align: center;
}

.duplicate-message h2 {
  margin: 0 0 10px;
  font-size: 24px;
}

.duplicate-message p {
  margin: 8px 0;
  line-height: 1.5;
}

.duplicate-message a {
  color: #15803d;
  font-weight: 800;
}