*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

  :root {
    --gold: #ecc919;
    --green: #b8a233;
    --charcoal: #1a1a1a;
    --card-bg: #2a2a2a;
    --white: #ffffff;
    --body-text: #e0e0e0;
    --muted: #aaaaaa;
  }

  html { scroll-behavior: smooth; }

  body {
    background: var(--charcoal);
    color: var(--body-text);
    font-family: 'Space Grotesk', 'Helvetica Neue', sans-serif;
    font-size: 16px;
    line-height: 1.6;
    overflow-x: hidden;
  }

  /* ── TYPOGRAPHY ── */
  h1, h2, h3, h4 {
    font-family: 'Playfair Display', Georgia, serif;
    color: var(--gold);
    line-height: 1.15;
  }

  p { color: var(--body-text); }

  a { text-decoration: none; color: inherit; }

  /* ── IGNITION LINE MOTIF ── */
  .ignition-line {
    display: block;
    width: 100%;
    height: 1px;
    background: var(--gold);
    opacity: 0.85;
  }

  /* ── BUTTONS ── */
  .btn-primary {
    display: inline-block;
    background: var(--gold);
    color: var(--charcoal);
    font-family: 'Space Grotesk', sans-serif;
    font-weight: 600;
    font-size: 1rem;
    padding: 0.9rem 2.2rem;
    border: 2px solid var(--gold);
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    letter-spacing: 0.03em;
  }
  .btn-primary:hover {
    background: var(--green);
    border-color: var(--green);
    color: var(--white);
  }

  .btn-outline {
    display: inline-block;
    background: transparent;
    color: var(--white);
    font-family: 'Space Grotesk', sans-serif;
    font-weight: 600;
    font-size: 1rem;
    padding: 0.9rem 2.2rem;
    border: 2px solid var(--white);
    cursor: pointer;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
    letter-spacing: 0.03em;
  }
  .btn-outline:hover {
    background: var(--gold);
    border-color: var(--gold);
    color: var(--charcoal);
  }

  /* ── NAV ── */
  .site-header {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 1000;
    background: rgba(26,26,26,0.97);
    border-bottom: 1px solid rgba(236,201,25,0.2);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 2rem;
    height: 68px;
  }

  .nav-logo { display: flex; align-items: center; gap: 0.75rem; }
  .nav-logo-img { height: 40px; display: block; }

  .nav-menu {
    display: flex;
    align-items: center;
    gap: 2rem;
    list-style: none;
  }
  .nav-menu a {
    color: var(--body-text);
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.9rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: color 0.2s;
  }
  .nav-menu a:hover { color: var(--gold); }

  .nav-cta {
    display: flex;
    align-items: center;
    gap: 1rem;
  }

  .nav-phone {
    color: var(--gold);
    font-weight: 600;
    font-size: 0.95rem;
    letter-spacing: 0.02em;
  }

  /* Hamburger */
  .hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    background: none;
    border: none;
    padding: 4px;
  }
  .hamburger span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--gold);
    transition: transform 0.3s;
  }

  .mobile-nav {
    display: none;
    position: fixed;
    top: 68px; left: 0; right: 0;
    background: var(--charcoal);
    border-top: 1px solid rgba(236,201,25,0.2);
    padding: 1.5rem 2rem;
    z-index: 999;
    flex-direction: column;
    gap: 1rem;
  }
  .mobile-nav.open { display: flex; }
  .mobile-nav a {
    color: var(--body-text);
    font-size: 1rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0.5rem 0;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }
  .mobile-nav a:hover { color: var(--gold); }

  @media (max-width: 860px) {
    .nav-menu { display: none; }
    .hamburger { display: flex; }
    .nav-cta .btn-primary { display: none; }
  }

  /* ── HERO ── */
  .hero-section {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    padding-top: 68px;
  }

  .hero-img-wrap {
    position: absolute;
    inset: 0;
    z-index: 0;
  }
  .hero-img-wrap svg {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
      to top,
      rgba(26,26,26,0.97) 0%,
      rgba(26,26,26,0.7) 45%,
      rgba(26,26,26,0.3) 100%
    );
    z-index: 1;
  }

  .hero-content {
    position: relative;
    z-index: 2;
    max-width: 1100px;
    margin: 0 auto;
    padding: 5rem 2rem 6rem;
    width: 100%;
  }

  .hero-eyebrow {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--green);
    margin-bottom: 1.2rem;
  }

  .hero-headline {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(2.6rem, 7vw, 5.5rem);
    font-weight: 900;
    color: var(--gold);
    line-height: 1.05;
    max-width: 820px;
    margin-bottom: 1.5rem;
  }

  .hero-sub {
    font-size: clamp(1rem, 2vw, 1.2rem);
    color: var(--white);
    max-width: 560px;
    margin-bottom: 2.5rem;
    font-weight: 400;
  }

  .hero-actions {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
  }

  /* ── SECTION WRAPPER ── */
  .section-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 2rem;
  }

  /* ── SECTION HEADING BLOCK ── */
  .section-label {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--green);
    margin-bottom: 0.6rem;
  }

  .section-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(1.9rem, 4vw, 2.8rem);
    color: var(--gold);
    margin-bottom: 0;
  }

  .heading-line {
    margin: 0.8rem 0 1.6rem;
  }

  /* ── URGENCY / VALUE PROP ── */
  .urgency-section {
    background: var(--charcoal);
    padding: 7rem 0;
  }

  .urgency-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    align-items: center;
  }

  .urgency-img-wrap {
    position: relative;
  }
  .urgency-img-wrap svg {
    width: 100%;
    height: auto;
    border-radius: 4px;
    display: block;
  }
  .urgency-img-accent {
    position: absolute;
    bottom: -16px;
    right: -16px;
    width: 60%;
    height: 4px;
    background: var(--gold);
  }

  .urgency-text p {
    font-size: 1.05rem;
    line-height: 1.8;
    color: var(--body-text);
    margin-bottom: 2rem;
  }

  @media (max-width: 760px) {
    .urgency-grid { grid-template-columns: 1fr; gap: 3rem; }
  }

  /* ── HOW IT WORKS ── */
  .how-section {
    background: var(--card-bg);
    padding: 7rem 0;
  }

  .how-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    align-items: center;
  }

  .steps-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
  }

  .step-item {
    display: flex;
    gap: 1.5rem;
    align-items: flex-start;
    animation: fadeUp 0.5s ease both;
  }
  .step-item:nth-child(1) { animation-delay: 0.1s; }
  .step-item:nth-child(2) { animation-delay: 0.25s; }
  .step-item:nth-child(3) { animation-delay: 0.4s; }

  .step-num {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 3rem;
    font-weight: 900;
    color: var(--gold);
    line-height: 1;
    min-width: 2.5rem;
  }

  .step-body h3 {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 1.25rem;
    color: var(--white);
    margin-bottom: 0.4rem;
  }

  .step-body p {
    font-size: 0.95rem;
    color: var(--muted);
  }

  .step-divider {
    width: 1px;
    height: 24px;
    background: rgba(236,201,25,0.3);
    margin-left: 1.2rem;
  }

  .how-img-wrap svg {
    width: 100%;
    height: auto;
    border-radius: 4px;
    display: block;
  }

  @media (max-width: 760px) {
    .how-inner { grid-template-columns: 1fr; gap: 3rem; }
  }

  /* ── WHY CHOOSE US ── */
  .trust-section {
    background: var(--charcoal);
    padding: 7rem 0;
  }

  .trust-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    margin-top: 3rem;
  }

  .trust-card {
    background: var(--card-bg);
    padding: 2rem 1.5rem;
    border-top: 3px solid var(--gold);
    transition: border-color 0.2s, transform 0.2s;
  }
  .trust-card:hover {
    border-color: var(--green);
    transform: translateY(-4px);
  }

  .trust-icon {
    margin-bottom: 1rem;
  }

  .trust-card h3 {
    font-size: 1.1rem;
    color: var(--gold);
    margin-bottom: 0.6rem;
    font-family: 'Playfair Display', Georgia, serif;
  }

  .trust-card p {
    font-size: 0.9rem;
    color: var(--muted);
    line-height: 1.6;
  }

  @media (max-width: 900px) {
    .trust-grid { grid-template-columns: 1fr 1fr; }
  }
  @media (max-width: 540px) {
    .trust-grid { grid-template-columns: 1fr; }
  }

  /* ── ABOUT THE LOAN ── */
  .about-section {
    background: var(--card-bg);
    padding: 7rem 0;
  }

  .about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    align-items: center;
  }

  .about-text p {
    font-size: 1.05rem;
    line-height: 1.8;
    color: var(--body-text);
    margin-bottom: 1.5rem;
  }

  .about-img-wrap svg {
    width: 100%;
    height: auto;
    border-radius: 4px;
    display: block;
  }

  @media (max-width: 760px) {
    .about-grid { grid-template-columns: 1fr; gap: 3rem; }
  }

  /* ── IMPORTANT LOAN INFO ── */
  .info-section {
    background: var(--charcoal);
    padding: 5rem 0;
    border-top: 1px solid rgba(236,201,25,0.18);
    border-bottom: 1px solid rgba(236,201,25,0.18);
  }

  .info-inner {
    max-width: 740px;
    margin: 0 auto;
    text-align: center;
    padding: 0 2rem;
  }

  .info-inner p {
    font-size: 1rem;
    color: var(--muted);
    line-height: 1.8;
  }

  .info-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(184, 162, 51, 0.12);
    border: 1px solid var(--green);
    color: var(--green);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 0.35rem 1rem;
    margin-bottom: 1.5rem;
  }

  /* ── CTA SECTION ── */
  .cta-section {
    position: relative;
    background: var(--charcoal);
    padding: 7rem 0;
    overflow: hidden;
  }

  .cta-img-wrap {
    position: absolute;
    inset: 0;
    z-index: 0;
  }
  .cta-img-wrap svg {
    width: 100%;
    height: 100%;
  }
  .cta-overlay {
    position: absolute;
    inset: 0;
    background: rgba(26,26,26,0.88);
    z-index: 1;
  }

  .cta-content {
    position: relative;
    z-index: 2;
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    padding: 0 2rem;
  }

  .cta-content h2 {
    font-size: clamp(1.8rem, 4vw, 3rem);
    margin-bottom: 1rem;
  }

  .cta-content p {
    font-size: 1.05rem;
    color: var(--body-text);
    max-width: 560px;
    margin: 0 auto 2rem;
    line-height: 1.8;
  }

  .cta-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 2.5rem;
  }

  /* Contact Form */
  .contact-form-wrap {
    background: var(--card-bg);
    padding: 2.5rem;
    max-width: 560px;
    margin: 0 auto;
    text-align: left;
  }

  .contact-form-wrap h3 {
    font-size: 1.2rem;
    margin-bottom: 1.5rem;
    color: var(--gold);
  }

  .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }

  .form-group {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin-bottom: 1rem;
  }

  .form-group label {
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
  }

  .form-group input,
  .form-group textarea {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(236,201,25,0.25);
    color: var(--white);
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.95rem;
    padding: 0.7rem 1rem;
    outline: none;
    transition: border-color 0.2s;
    width: 100%;
  }
  .form-group input:focus,
  .form-group textarea:focus {
    border-color: var(--gold);
  }
  .form-group textarea { resize: vertical; min-height: 100px; }

  @media (max-width: 540px) { .form-row { grid-template-columns: 1fr; } }

  /* ── FOOTER ── */
  .site-footer {
    background: #111111;
    padding: 4rem 0 2rem;
    border-top: 1px solid rgba(236,201,25,0.15);
  }

  .footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.5fr;
    gap: 3rem;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 2rem 3rem;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }

  .footer-brand p {
    font-size: 0.9rem;
    color: var(--muted);
    line-height: 1.7;
    margin-top: 1rem;
    max-width: 280px;
  }

  .footer-col h4 {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 1rem;
  }

  .footer-col ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
  }

  .footer-col ul li a {
    color: var(--muted);
    font-size: 0.9rem;
    transition: color 0.2s;
  }
  .footer-col ul li a:hover { color: var(--gold); }

  .footer-contact-item {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
    margin-bottom: 0.7rem;
    font-size: 0.9rem;
    color: var(--muted);
  }
  .footer-contact-item a {
    color: var(--gold);
    transition: color 0.2s;
  }
  .footer-contact-item a:hover { color: var(--green); }

  .footer-bottom {
    max-width: 1100px;
    margin: 0 auto;
    padding: 1.5rem 2rem 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
  }

  .footer-bottom p {
    font-size: 0.8rem;
    color: var(--muted);
  }

  @media (max-width: 860px) {
    .footer-grid { grid-template-columns: 1fr 1fr; }
  }
  @media (max-width: 540px) {
    .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
    .footer-bottom { flex-direction: column; text-align: center; }
  }

  /* ── ANIMATIONS ── */
  @keyframes fadeUp {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: translateY(0); }
  }
  @keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }

  .hero-content { animation: fadeUp 0.8s ease both; }

  /* ── SECTION DIVIDER SVG ── */
  .ignition-divider {
    display: block;
    width: 100%;
    line-height: 0;
    overflow: hidden;
  }

/* sf-form-color-reset */
.contact-form-wrapper { color: var(--text, #111); }
.contact-form-wrapper input::placeholder, .contact-form-wrapper textarea::placeholder { color: var(--muted, #6b7280); }
.panel-dark .contact-form-wrapper, .section.dark .contact-form-wrapper, .section-dark .contact-form-wrapper, .dark .contact-form-wrapper, .bg-dark .contact-form-wrapper, .bg-black .contact-form-wrapper, [class*="panel-dark"] .contact-form-wrapper { color: var(--text-on-dark, #f0f0f0); }

/* sf-form-input-box-floor */
.contact-form-wrapper input:not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
.contact-form-wrapper textarea,
.contact-form-wrapper select {
  display: block !important;
  width: 100%;
  box-sizing: border-box;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--input-border, #9ca3af);
  border-radius: 6px;
  background: var(--input-bg, #fff);
  color: var(--text, #111);
}
.contact-form-wrapper textarea { min-height: 120px; }
.panel-dark .contact-form-wrapper input:not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
.panel-dark .contact-form-wrapper textarea,
.panel-dark .contact-form-wrapper select,
.section.dark .contact-form-wrapper input:not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
.section.dark .contact-form-wrapper textarea,
.section.dark .contact-form-wrapper select,
.section-dark .contact-form-wrapper input:not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
.section-dark .contact-form-wrapper textarea,
.section-dark .contact-form-wrapper select,
.dark .contact-form-wrapper input:not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
.dark .contact-form-wrapper textarea,
.dark .contact-form-wrapper select,
.bg-dark .contact-form-wrapper input:not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
.bg-dark .contact-form-wrapper textarea,
.bg-dark .contact-form-wrapper select,
.bg-black .contact-form-wrapper input:not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
.bg-black .contact-form-wrapper textarea,
.bg-black .contact-form-wrapper select,
[class*="panel-dark"] .contact-form-wrapper input:not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
[class*="panel-dark"] .contact-form-wrapper textarea,
[class*="panel-dark"] .contact-form-wrapper select {
  border-color: var(--input-border-on-dark, rgba(255,255,255,0.35));
  background: var(--input-bg-on-dark, rgba(255,255,255,0.06));
  color: var(--text-on-dark, #f0f0f0);
}

html,body{background:#1a1a1a !important;}:root{--sf-plan-surface:#1a1a1a;}
/*text-aa-floor*/

.nav-brand-logo{height:64px;width:auto;display:block;object-fit:contain;}@media(max-width:1280px){.nav-brand-logo{height:52px;}}@media(max-width:768px){.nav-brand-logo{height:42px;}}

/* sf-hero-text-contrast (hero-overlay) */
section[class*="hero"] :where(h1, h2, h3, h4, p, li, small, dd, blockquote):not([class~="btn"]):not([class~="badge"]):not([class~="chip"]):not([class~="pill"]):not([class~="tag"]) { color: rgba(255, 255, 255, 0.92); }

/* Hero font cap — keeps hero CTA + value prop above the fold. The Stage-1
   prompt instructs clamp(48px, 8vw, 120px); 8vw = ~115px at 1440px, producing
   an ~800px headline block that pushes the CTA below the fold. */
:where(h1) {
  font-size: clamp(32px, 4.4vw, 60px) !important;
  line-height: 1.07 !important;
  text-wrap: balance;
  overflow-wrap: break-word;
}
/* Trim oversized hero padding + grid gaps + the large top-padding the LLM puts
   on the CTA container, so the primary CTA rises above the fold. min-height is
   intentionally untouched so 100vh heroes still work. Selectors use class
   substring matches scoped to the first section / hero because the LLM-
   generated class names vary per page (.hero-copy/.hero-actions on the Mirage
   preview; different elsewhere). Verified on the Mirage preview: CTA top
   1191 -> 745 (above a 768px laptop fold); headline + subhead fully above
   fold; hero height 1519 -> 1135. */
:where(body > section:first-of-type,
       .hero, section.hero, header.hero,
       [class*="hero"], [class*="Hero"]) {
  padding-top: clamp(12px, 2vh, 30px) !important;
  padding-bottom: clamp(36px, 5vh, 76px) !important;
}
:where(body > section:first-of-type [class*="grid"],
       [class*="hero"] [class*="grid"]) {
  gap: clamp(20px, 2.4vw, 32px) !important;
}
:where(body > section:first-of-type [class*="action"],
       body > section:first-of-type [class*="cta"],
       [class*="hero"] [class*="action"],
       [class*="hero"] [class*="cta"]) {
  margin-top: 8px !important;
  padding-top: 8px !important;
}
:where(body > section:first-of-type [class*="copy"],
       [class*="hero"] [class*="copy"]) {
  padding-top: 0 !important;
}
/* #778 follow-up — tighten the hero lead/subhead so the primary CTA lifts above
   the fold even inside the preview wrapper (top promo bar + bottom device bar). */
:where(body > section:first-of-type [class*="lead"],
       [class*="hero"] [class*="lead"],
       [class*="hero-copy"] > p) {
  font-size: clamp(14px, 1.1vw, 16px) !important;
  line-height: 1.5 !important;
  margin-top: 10px !important;
  margin-bottom: 14px !important;
}
@media (min-width: 769px) {
  :where([class*="hero"], [class*="copy"]):has(> h1) {
    min-width: min(460px, 52%) !important;
  }
  :where([class*="hero"], [class*="copy"]):has(> h1) > h1 {
    max-width: 100% !important;
    font-size: clamp(30px, 4vw, 54px) !important;
  }
  /* #1616-v2 — class-agnostic: the GPL GPT hero column carried neither a
     "hero" nor "copy" class and stayed ~240px wide -> 8-line h1. In the FIRST
     section, whatever element directly contains the h1 gets the same floor. */
  body > section:first-of-type :where(*:has(> h1)) {
    min-width: min(460px, 52%) !important;
  }
}
/* Mobile: tighter headline (keeps a 28px floor; >=16px avoids iOS focus-zoom
   on adjacent inputs). */
@media (max-width: 768px) {
  :where(h1) {
    font-size: clamp(28px, 7.5vw, 42px) !important;
    line-height: 1.1 !important;
  text-wrap: balance;
  overflow-wrap: break-word;
  }
}
/* Footer link contrast: bare <a> (e.g. a mailto: email) in footers fall back to
   the UA link-blue (#0000ee), which is illegible on a dark brand footer
   (contrast ~1.2 on a navy footer). Make footer links inherit the footer's
   already-legible text colour instead. */
:where(footer) a, :where([class*="footer" i]) a, :where([class*="Footer"]) a { color: inherit; text-underline-offset: 2px; }

/* Mobile overflow guard — kills horizontal scroll on narrow viewports.
   overflow-x:clip is stricter than overflow-x:hidden and cannot be
   subverted by descendant sticky/fixed ancestors establishing scroll
   containers. */
html { overflow-x: clip !important; max-width: 100vw !important; }
body { overflow-x: clip !important; max-width: 100vw !important; }
/* Fallback for browsers without overflow-x: clip support. */
@supports not (overflow-x: clip) {
  html, body { overflow-x: hidden !important; }
}
/* Decorative shapes commonly extend past viewport on mobile. Their
   parent contexts (.hero / .hero-bg / sections with shape backgrounds)
   should clip — visual loses nothing on mobile, mobile gains a usable
   layout. */
.hero, .hero-bg, .hero-visual, [class*="hero-section"],
section [class*="decorative"], section [class*="float-shape"],
section [class*="abstract-bg"] {
  overflow-x: clip !important;
}
@supports not (overflow-x: clip) {
  .hero, .hero-bg, .hero-visual, [class*="hero-section"],
  section [class*="decorative"], section [class*="float-shape"],
  section [class*="abstract-bg"] {
    overflow-x: hidden !important;
  }
}
/* Force card-grid stacking on narrow viewports so portfolio/blog/
   product/team grids don't extend past the viewport horizontally. */
@media (max-width: 600px) {
  .sf-portfolio-grid,
  .sf-blog-grid,
  .sf-products-grid,
  .sf-team-grid,
  [class*="portfolio-grid"],
  [class*="blog-grid"],
  [class*="products-grid"],
  [class*="team-grid"] {
    grid-template-columns: 1fr !important;
  }
}
/* #135 — cap oversized full-width content-image slots. A full-width photo slot (e.g.
   .services-bg-photo, .shop-visual) whose inner img carries an inline aspect-ratio with no
   height bound renders enormous (~960-1200px tall on desktop — Zach's "images too large",
   sturgis-gpt-r138 §02 .shop-visual = 1278x959 at ar 4/3). Bound the slot + its image to a
   sane height with object-fit:cover (crops to the focal area, never distorts or overflows the
   section). The [class*="visual"] pattern catches section-visual containers (shop-visual,
   media-visual, etc.) but EXCLUDES the hero (hero-visual / hero media-fill), which is meant to
   be full-bleed. Hero-fill images (data-sf-hero-image) + logos/icons are unaffected.
   SF_CONTENT_IMG_CAP=off reverts. */
[class*="bg-photo"], [class*="feature-photo"], [class*="showcase-photo"], [class*="section-photo"],
[class*="visual"]:not([class*="hero"]) {
  max-height: 600px !important;
  overflow: hidden !important;
}
[class*="bg-photo"] > img, [class*="feature-photo"] > img,
[class*="showcase-photo"] > img, [class*="section-photo"] > img,
[class*="visual"]:not([class*="hero"]) > img {
  max-height: 600px !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* SiteForge: ensure header stays above all content */
header, .site-header, [class*="header"] { position: relative; z-index: 9999; }
nav.mobile-menu, .mobile-menu-overlay { z-index: 10000; }
.mobile-menu-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.5); z-index:9999; }
.mobile-menu-overlay.open { display:block; }
/* Hamburger toggle — sf-ui.js APPENDS a fully-independent <aside class="sf-mobnav">
   at the END of <body>. Outside any Claude-emitted stacking context. We don't
   touch the original .nav-links at all (hide on mobile via CSS); the mobile
   menu is a wholly separate component with its own click handlers. */
.hamburger { display: none; background: none; border: 0; cursor: pointer; padding: 8px; -webkit-tap-highlight-color: transparent; }
/* #1270 — white bars with a dark outline + soft shadow so the hamburger is
   visible on ANY nav background (currentColor was resolving to black on the
   dark dealermate nav -> invisible). The outline keeps it visible on light navs. */
.hamburger span { display: block; width: 24px; height: 2px; background: #fff !important; margin: 5px 0; border-radius: 2px; box-shadow: 0 0 0 0.5px rgba(0,0,0,0.55), 0 1px 2px rgba(0,0,0,0.45); transition: transform .2s, opacity .2s; }
.sf-mobnav {
  position: fixed; top: 0; right: 0;
  height: 100%; height: 100dvh;
  width: min(86vw, 320px);
  background: #fff; color: #1f2937;
  box-shadow: -8px 0 32px rgba(0,0,0,0.18);
  transform: translateX(100%);
  transition: transform .25s ease-out;
  z-index: 2147483646;
  display: flex; flex-direction: column;
  padding: 72px 24px 32px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  visibility: hidden;
}
.sf-mobnav.sf-mobnav-open { transform: translateX(0) !important; visibility: visible !important; }
.sf-mobnav a {
  display: block; padding: 14px 4px; font-size: 17px; line-height: 1.4;
  color: #1f2937; text-decoration: none; border-bottom: 1px solid #e5e7eb;
  -webkit-tap-highlight-color: rgba(0,0,0,.05);
}
.sf-mobnav a:active { background: rgba(0,0,0,0.04); }
.sf-mobnav-close {
  position: absolute; top: 12px; right: 12px;
  width: 44px; height: 44px;
  background: transparent; border: 0; cursor: pointer;
  font-size: 28px; line-height: 1; color: inherit;
  -webkit-tap-highlight-color: rgba(0,0,0,.05);
}
.sf-mobnav-backdrop {
  position: fixed; inset: 0; background: rgba(0,0,0,0.45);
  opacity: 0; pointer-events: none;
  transition: opacity .25s ease-out;
  z-index: 2147483645;
}
.sf-mobnav-backdrop.sf-mobnav-open { opacity: 1 !important; pointer-events: auto !important; }
body.sf-mobnav-locked { overflow: hidden !important; }
@media (max-width: 900px) {
  /* #1270 — pin the hamburger to the RIGHT. margin-left:auto is a no-op when the
     nav is display:block and the button is inline-flex (the real dealermate case:
     <nav style="z-index:2147483647 !important;"> block > .nav-inner + .hamburger), so position it absolutely instead.
     :has() makes the button's container the positioning context regardless of its
     class (the nav often has none) so it pins to the nav's right edge, not the
     viewport's. */
  nav:has(> .hamburger), header:has(.hamburger), .site-header:has(.hamburger), .nav-inner:has(~ .hamburger) { position: relative; }
  /* top:14px (fixed), NOT top:50%+translateY: the nav collapses to ~0px on mobile
     when its in-flow content is hidden, so 50% resolved to ~0 and pushed the
     button half ABOVE the viewport -> user saw "1 line not 3". A fixed top from
     the nav's top edge keeps all 3 bars on-screen regardless of nav height. */
  .hamburger { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; z-index: 2147483647; position: absolute !important; right: 16px; top: 14px; transform: none; margin: 0 !important; }
  /* #1270 — on mobile show ONLY the hamburger. Hide the desktop nav entirely (link
     list, logo bar, CTA). An earlier :has() attempt to KEEP a logo-bearing
     .nav-links container produced an unwanted opaque white bar (with a white-on-white
     hamburger) plus the fixed accent line scrolling over content. The wanted design
     is a clean transparent hero with just the 3 floating white hamburger bars. The
     hamburger top:14px fix above keeps it on-screen even though the nav collapses. */
  nav .nav-links, nav ul.nav-links, nav ol.nav-links { display: none !important; }
  /* Hide the gen's fixed decorative accent/divider bar on mobile (e.g. dealermate's
     .accent-bar gradient line) so nothing floats or scrolls over the hero. */
  .accent-bar, [class*="accent-bar"], nav .accent, header + .accent-bar { display: none !important; }
  /* Covers the case where Stage 1 puts .nav-links on the <nav> itself
     instead of on a child <ul>/<div>. Direct anchor + list-item children
     of the nav get hidden; the hamburger is a <button>, not an <a>/<li>,
     so it stays visible. */
  nav.nav-links > a:not(.nav-logo):not(.nav-cta),
  nav.nav-links > li,
  nav.nav-links > ul > li { display: none !important; }
  /* #1274b — the brand logo often lives INSIDE a .nav-links wrapper (e.g.
     .nav-inner.nav-links), so the blanket hide above also removes the logo on
     mobile. Re-show ONLY a logo-bearing wrapper, forced fully TRANSPARENT (no
     bg/shadow/border/blur) so it does NOT reintroduce the opaque white bar a
     prior :has() attempt caused; hide just its inner link list. The floating
     hamburger (a sibling <button>, not inside .nav-links) is unaffected.
     :has() — modern mobile browsers; older degrade to the logo-hidden look. */
  nav .nav-links:has(.nav-logo-img),
  nav .nav-links:has([class*="logo"]),
  nav .nav-links:has(> a img) {
    display: flex !important; align-items: center !important;
    background: transparent !important; box-shadow: none !important;
    border: 0 !important; backdrop-filter: none !important;
  }
  nav .nav-links:has(.nav-logo-img) > ul,
  nav .nav-links:has(.nav-logo-img) > ol,
  nav .nav-links:has([class*="logo"]) > ul,
  nav .nav-links:has(> a img) > ul { display: none !important; }
  nav .nav-logo-img, nav [class*="logo"] img { display: block !important; max-height: 40px; width: auto; }
}
@media (min-width: 901px) {
  .sf-mobnav, .sf-mobnav-backdrop { display: none !important; }
}

.sf-recovered *,.sf-recovered *::before,.sf-recovered *::after{box-sizing:border-box;margin:0;padding:0}
.sf-recovered{scroll-behavior:smooth;font-size:16px}
.sf-recovered{font-family:'DM Sans',sans-serif;background:#1a1a1a;color:#fff;overflow-x:hidden}

/* NAV */
.sf-recovered .site-nav{position:fixed;top:0;left:0;width:100%;z-index:100;background:#111;border-bottom:1px solid #2e2e2e}
.sf-recovered .nav-inner{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:68px}
.sf-recovered .nav-logo-img{height:40px;display:block}
.sf-recovered .nav-links{display:flex;align-items:center;gap:2rem;list-style:none}
.sf-recovered .nav-links a{font-family:'DM Sans',sans-serif;font-size:.9rem;font-weight:500;color:#ccc;text-decoration:none;letter-spacing:.03em;transition:color .2s}
.sf-recovered .nav-links a:hover{color:#ecc919}
.sf-recovered .nav-phone{font-family:'Barlow Condensed',sans-serif;font-size:1.05rem;font-weight:700;color:#ecc919;text-decoration:none;letter-spacing:.05em;white-space:nowrap}
.sf-recovered .nav-phone:hover{color:#fff}
.sf-recovered .nav-cta{background:#ecc919;color:#1a1a1a;font-family:'DM Sans',sans-serif;font-size:.85rem;font-weight:600;padding:.5rem 1.2rem;text-decoration:none;letter-spacing:.04em;transition:background .2s,color .2s}
.sf-recovered .nav-cta:hover{background:#fff;color:#1a1a1a}
.sf-recovered .hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}
.sf-recovered .hamburger span{display:block;width:24px;height:2px;background:#fff}
.sf-recovered .mobile-menu{display:none}

/* BUTTONS */
.sf-recovered .btn-primary{display:inline-block;background:#ecc919;color:#1a1a1a;font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:700;padding:.85rem 2.2rem;text-decoration:none;letter-spacing:.05em;border:none;cursor:pointer;transition:background .2s,transform .15s}
.sf-recovered .btn-primary:hover{background:#fff;color:#1a1a1a;transform:translateY(-2px)}
.sf-recovered .btn-outline{display:inline-block;background:transparent;color:#ecc919;font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:600;padding:.8rem 2rem;text-decoration:none;letter-spacing:.05em;border:2px solid #ecc919;cursor:pointer;transition:background .2s,color .2s}
.sf-recovered .btn-outline:hover{background:#ecc919;color:#1a1a1a}

/* SECTION RULE MOTIF */
.sf-recovered .section-rule{display:block;width:60px;height:3px;background:#ecc919;margin:0 0 1.2rem 0}
.sf-recovered .section-rule-center{display:block;width:60px;height:3px;background:#ecc919;margin:0 auto 1.2rem auto}

/* HERO */
.sf-recovered .hero{min-height:100vh;background:#1a1a1a;display:grid;grid-template-columns:1fr 1fr;position:relative;padding-top:68px}
.sf-recovered .hero-content{display:flex;flex-direction:column;justify-content:center;padding:6rem 4rem 6rem 6rem;position:relative;z-index:2}
.sf-recovered .hero-eyebrow{font-family:'Barlow Condensed',sans-serif;font-size:.9rem;font-weight:700;letter-spacing:.2em;color:#ecc919;text-transform:uppercase;margin-bottom:1rem}
.sf-recovered .hero-headline{font-family:'Barlow Condensed',sans-serif;font-weight:900;line-height:.95;text-transform:uppercase;margin-bottom:1.5rem}
.sf-recovered .hero-headline .line-fast{display:block;font-size:clamp(5rem,9vw,10rem);color:#ecc919;line-height:.9}
.sf-recovered .hero-headline .line-main{display:block;font-size:clamp(2.5rem,4.5vw,5rem);color:#fff;line-height:1}
.sf-recovered .hero-sub{font-family:'DM Sans',sans-serif;font-size:1.1rem;color:#bbb;line-height:1.65;max-width:480px;margin-bottom:2.5rem}
.sf-recovered .hero-actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.sf-recovered .hero-phone-link{font-family:'Barlow Condensed',sans-serif;font-size:1.3rem;font-weight:700;color:#ecc919;text-decoration:none;letter-spacing:.08em}
.sf-recovered .hero-phone-link:hover{color:#fff}
.sf-recovered .hero-image{position:relative;overflow:hidden}
.sf-recovered .hero-image svg{width:100%;height:100%;display:block}

/* URGENCY BAR */
.sf-recovered .urgency-bar{background:#ecc919;padding:1.2rem 0}
.sf-recovered .urgency-inner{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.sf-recovered .urgency-stat{display:flex;align-items:center;gap:1rem;padding:0 2rem;border-right:2px solid rgba(26,26,26,.2)}
.sf-recovered .urgency-stat:last-child{border-right:none}
.sf-recovered .urgency-icon{flex-shrink:0}
.sf-recovered .urgency-label{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.25rem;color:#1a1a1a;text-transform:uppercase;letter-spacing:.05em;line-height:1.1}
.sf-recovered .urgency-sub{font-family:'DM Sans',sans-serif;font-size:.8rem;font-weight:500;color:#4a3800;margin-top:.15rem}

/* TRANSITION RULE — amber stripe between sections */
.sf-recovered .section-divider{height:3px;background:#ecc919;width:100%;display:block}

/* NEED CASH */
.sf-recovered .need-cash{background:#1a1a1a;padding:7rem 0}
.sf-recovered .need-cash-inner{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.sf-recovered .need-cash-text h2{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(2.5rem,4vw,3.8rem);text-transform:uppercase;color:#fff;line-height:1.05;margin-bottom:1.5rem}
.sf-recovered .need-cash-text p{font-family:'DM Sans',sans-serif;font-size:1.05rem;color:#bbb;line-height:1.7;margin-bottom:2rem}
.sf-recovered .need-cash-image{position:relative}
.sf-recovered .need-cash-image svg{width:100%;border-radius:4px;display:block}
.sf-recovered .need-cash-image::before{content:'';position:absolute;left:-12px;top:12px;bottom:12px;width:3px;background:#ecc919;border-radius:2px}

/* HOW IT WORKS */
.sf-recovered .how-it-works{background:#2e2e2e;padding:7rem 0}
.sf-recovered .section-header{text-align:center;margin-bottom:4rem}
.sf-recovered .section-header h2{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(2.2rem,3.5vw,3.2rem);text-transform:uppercase;color:#fff;margin-bottom:.5rem}
.sf-recovered .section-header p{font-family:'DM Sans',sans-serif;font-size:1rem;color:#999;max-width:520px;margin:0 auto}
.sf-recovered .hiw-grid{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.sf-recovered .hiw-card{background:#1a1a1a;padding:2rem 1.5rem;position:relative;border-left:3px solid #ecc919}
.sf-recovered .hiw-num{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:3.5rem;color:#ecc919;line-height:1;margin-bottom:.5rem;opacity:.9}
.sf-recovered .hiw-title{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.3rem;text-transform:uppercase;color:#fff;letter-spacing:.05em;margin-bottom:.8rem}
.sf-recovered .hiw-body{font-family:'DM Sans',sans-serif;font-size:.9rem;color:#999;line-height:1.6}
.sf-recovered .hiw-form-img{max-width:1200px;margin:3rem auto 0;padding:0 2rem}
.sf-recovered .hiw-form-img svg{width:100%;max-height:280px;border-radius:4px;display:block}

/* WHY CHOOSE */
.sf-recovered .why-choose{background:#1a1a1a;padding:7rem 0}
.sf-recovered .why-grid{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}
.sf-recovered .why-card{background:#2e2e2e;padding:2.5rem 2rem;display:flex;gap:1.5rem;align-items:flex-start;position:relative}
.sf-recovered .why-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#ecc919}
.sf-recovered .why-icon{flex-shrink:0;margin-top:.2rem}
.sf-recovered .why-title{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.4rem;text-transform:uppercase;letter-spacing:.05em;color:#ecc919;margin-bottom:.5rem}
.sf-recovered .why-body{font-family:'DM Sans',sans-serif;font-size:.95rem;color:#bbb;line-height:1.65}

/* WHAT IS */
.sf-recovered .what-is{background:#2e2e2e;padding:7rem 0}
.sf-recovered .what-is-inner{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.sf-recovered .what-is-text h2{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(2.2rem,3.5vw,3.2rem);text-transform:uppercase;color:#fff;line-height:1.05;margin-bottom:1.5rem}
.sf-recovered .what-is-text p{font-family:'DM Sans',sans-serif;font-size:1.05rem;color:#bbb;line-height:1.7;margin-bottom:1.5rem}
.sf-recovered .what-is-image{position:relative}
.sf-recovered .what-is-image svg{width:100%;border-radius:4px;display:block}

/* CTA BAND */
.sf-recovered .cta-band{background:#1a1a1a;padding:7rem 0;position:relative;overflow:hidden}
.sf-recovered .cta-band-inner{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;position:relative;z-index:2}
.sf-recovered .cta-text h2{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(2.5rem,4vw,3.8rem);text-transform:uppercase;color:#fff;line-height:1.05;margin-bottom:1rem}
.sf-recovered .cta-text p{font-family:'DM Sans',sans-serif;font-size:1.05rem;color:#bbb;line-height:1.7;margin-bottom:2rem}
.sf-recovered .cta-actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.sf-recovered .cta-image svg{width:100%;border-radius:4px;display:block}

/* CONTACT */
.sf-recovered .contact-section{background:#111;padding:5rem 0 0}
.sf-recovered .contact-inner{max-width:1200px;margin:0 auto;padding:0 2rem 4rem}
.sf-recovered .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.sf-recovered .contact-info h2{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:2.2rem;text-transform:uppercase;color:#fff;margin-bottom:1rem}
.sf-recovered .contact-info p{font-family:'DM Sans',sans-serif;font-size:.95rem;color:#bbb;line-height:1.7;margin-bottom:1.5rem}
.sf-recovered .contact-detail{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}
.sf-recovered .contact-detail a{font-family:'DM Sans',sans-serif;font-size:1rem;color:#ecc919;text-decoration:none;font-weight:500}
.sf-recovered .contact-detail a:hover{color:#fff}
.sf-recovered .contact-tagline{margin-top:2rem;padding:1.2rem 1.5rem;border-left:3px solid #ecc919;background:#1a1a1a}
.sf-recovered .contact-tagline p{font-family:'DM Sans',sans-serif;font-size:.9rem;color:#bbb;line-height:1.6;font-style:italic}
.sf-recovered .contact-form{background:#1a1a1a;padding:2.5rem}
.sf-recovered .contact-form h3{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.4rem;text-transform:uppercase;color:#ecc919;letter-spacing:.08em;margin-bottom:1.5rem}
.sf-recovered .form-group{margin-bottom:1.2rem}
.sf-recovered .form-group label{display:block;font-family:'DM Sans',sans-serif;font-size:.85rem;font-weight:600;color:#ccc;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.5rem}
.sf-recovered .form-group input,.sf-recovered .form-group textarea,.sf-recovered .form-group select{width:100%;background:#2e2e2e;border:1px solid #444;color:#fff;font-family:'DM Sans',sans-serif;font-size:.95rem;padding:.75rem 1rem;outline:none;transition:border-color .2s}
.sf-recovered .form-group input:focus,.sf-recovered .form-group textarea:focus{border-color:#ecc919}
.sf-recovered .form-group textarea{resize:vertical;min-height:120px}
.sf-recovered .form-submit{width:100%}

/* FOOTER */
.sf-recovered .footer{background:#0a0a0a;border-top:1px solid #222;padding:3rem 0 2rem}
.sf-recovered .footer-inner{max-width:1200px;margin:0 auto;padding:0 2rem}
.sf-recovered .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:3rem}
.sf-recovered .footer-brand p{font-family:'DM Sans',sans-serif;font-size:.85rem;color:#777;line-height:1.7;margin-top:1rem;max-width:260px}
.sf-recovered .footer-heading{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.15em;color:#ecc919;margin-bottom:1rem}
.sf-recovered .footer-links{list-style:none}
.sf-recovered .footer-links li{margin-bottom:.5rem}
.sf-recovered .footer-links a{font-family:'DM Sans',sans-serif;font-size:.85rem;color:#777;text-decoration:none;transition:color .2s}
.sf-recovered .footer-links a:hover{color:#ecc919}
.sf-recovered .footer-bottom{border-top:1px solid #222;padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.sf-recovered .footer-bottom p{font-family:'DM Sans',sans-serif;font-size:.8rem;color:#555}
.sf-recovered .footer-bottom a{color:#777;text-decoration:none;font-size:.8rem}
.sf-recovered .footer-bottom a:hover{color:#ecc919}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.sf-recovered .hero-content{animation:fadeUp .8s ease both}
.sf-recovered .hero-headline .line-fast{animation:fadeUp .7s .1s ease both}
.sf-recovered .hero-headline .line-main{animation:fadeUp .7s .2s ease both}

/* RESPONSIVE */
@media(max-width:1024px){
  .sf-recovered .hero{grid-template-columns:1fr}
  .sf-recovered .hero-image{display:none}
  .sf-recovered .hero-content{padding:5rem 2rem 4rem}
  .sf-recovered .need-cash-inner,.sf-recovered .what-is-inner,.sf-recovered .cta-band-inner,.sf-recovered .contact-grid{grid-template-columns:1fr;gap:3rem}
  .sf-recovered .hiw-grid{grid-template-columns:repeat(2,1fr)}
  .sf-recovered .why-grid{grid-template-columns:1fr}
  .sf-recovered .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .sf-recovered .nav-links{display:none}
  .sf-recovered .hamburger{display:flex}
  .sf-recovered .urgency-inner{grid-template-columns:1fr}
  .sf-recovered .urgency-stat{border-right:none;border-bottom:1px solid rgba(26,26,26,.2);padding:1rem 0}
  .sf-recovered .urgency-stat:last-child{border-bottom:none}
  .sf-recovered .hiw-grid{grid-template-columns:1fr}
  .sf-recovered .footer-grid{grid-template-columns:1fr}
  .sf-recovered .hero-headline .line-fast{font-size:5rem}
  .sf-recovered .cta-actions{flex-direction:column;align-items:flex-start}
}

/* sf-form-color-reset */
.sf-recovered .contact-form-wrapper { color: var(--text, #111); }
.sf-recovered .contact-form-wrapper input::placeholder, .sf-recovered .contact-form-wrapper textarea::placeholder { color: var(--muted, #6b7280); }
.sf-recovered .panel-dark .contact-form-wrapper, .sf-recovered .section.dark .contact-form-wrapper, .sf-recovered .section-dark .contact-form-wrapper, .sf-recovered .dark .contact-form-wrapper, .sf-recovered .bg-dark .contact-form-wrapper, .sf-recovered .bg-black .contact-form-wrapper, .sf-recovered [class*="panel-dark"] .contact-form-wrapper { color: var(--text-on-dark, #f0f0f0); }

/* sf-form-input-box-floor */
.sf-recovered .contact-form-wrapper input:not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
.sf-recovered .contact-form-wrapper textarea,
.sf-recovered .contact-form-wrapper select {
  display: block !important;
  width: 100%;
  box-sizing: border-box;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--input-border, #9ca3af);
  border-radius: 6px;
  background: var(--input-bg, #fff);
  color: var(--text, #111);
}
.sf-recovered .contact-form-wrapper textarea { min-height: 120px; }
.sf-recovered .panel-dark .contact-form-wrapper input:not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
.sf-recovered .panel-dark .contact-form-wrapper textarea,
.sf-recovered .panel-dark .contact-form-wrapper select,
.sf-recovered .section.dark .contact-form-wrapper input:not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
.sf-recovered .section.dark .contact-form-wrapper textarea,
.sf-recovered .section.dark .contact-form-wrapper select,
.sf-recovered .section-dark .contact-form-wrapper input:not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
.sf-recovered .section-dark .contact-form-wrapper textarea,
.sf-recovered .section-dark .contact-form-wrapper select,
.sf-recovered .dark .contact-form-wrapper input:not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
.sf-recovered .dark .contact-form-wrapper textarea,
.sf-recovered .dark .contact-form-wrapper select,
.sf-recovered .bg-dark .contact-form-wrapper input:not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
.sf-recovered .bg-dark .contact-form-wrapper textarea,
.sf-recovered .bg-dark .contact-form-wrapper select,
.sf-recovered .bg-black .contact-form-wrapper input:not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
.sf-recovered .bg-black .contact-form-wrapper textarea,
.sf-recovered .bg-black .contact-form-wrapper select,
.sf-recovered [class*="panel-dark"] .contact-form-wrapper input:not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
.sf-recovered [class*="panel-dark"] .contact-form-wrapper textarea,
.sf-recovered [class*="panel-dark"] .contact-form-wrapper select {
  border-color: var(--input-border-on-dark, rgba(255,255,255,0.35));
  background: var(--input-bg-on-dark, rgba(255,255,255,0.06));
  color: var(--text-on-dark, #f0f0f0);
}

/* HERO SPLIT REDESIGN */
.sf-recovered .hero-split-section{background:#1a1a1a;position:relative;background-image:url('/wp-content/themes/progressivetitleloans-com/assets/images/6010eb35-82e6-469e-bbe6-88d7ef47aa58.webp?v=1784309321954');background-size:cover;background-position:center}
.sf-recovered .hero-split-section .hero-split-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.62);z-index:1}
.sf-recovered .hero-split-inner{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 87px);align-items:stretch;position:relative;z-index:2}
.sf-recovered .hero-split-left{position:relative;display:flex;flex-direction:column;justify-content:center}
.sf-recovered .hero-split-text{position:relative;z-index:2;padding:5rem 4rem}
.sf-recovered .hero-split-right{background:transparent;display:flex;flex-direction:column;justify-content:center;padding:4rem 3rem}

/* BANNER FORM */
.sf-recovered .banner-form-wrap{background:rgba(255,255,255,0.04);border:1px solid rgba(236,201,25,0.25);border-radius:4px;padding:1.5rem}
.sf-recovered .banner-form-wrap .form-group label{color:#ccc !important}
.sf-recovered .banner-form-extra{margin-top:.25rem}

/* TESTIMONIALS */
.sf-recovered .testimonials-section{background:#222;padding:5rem 0}
.sf-recovered .testimonials-inner{max-width:1200px;margin:0 auto;padding:0 2rem}
.sf-recovered .testimonials-header{text-align:center;margin-bottom:3rem}
.sf-recovered .testimonials-header h2{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(2rem,3vw,2.8rem);text-transform:uppercase;color:#fff;margin-bottom:.5rem}
.sf-recovered .testimonials-header p{font-family:'DM Sans',sans-serif;font-size:1rem;color:#999;max-width:500px;margin:0 auto}
.sf-recovered .gr-summary{display:flex;align-items:center;gap:2.5rem;background:#fff;border-radius:12px;padding:1.5rem 2rem;margin-bottom:2rem;box-shadow:0 2px 8px rgba(0,0,0,.22);flex-wrap:wrap}
.sf-recovered .gr-summary-logo{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding-right:2.5rem;border-right:1px solid #e8eaed}
.sf-recovered .gr-summary-label{font-family:'DM Sans',sans-serif;font-size:.73rem;font-weight:600;color:#5f6368;letter-spacing:.04em;text-transform:uppercase}
.sf-recovered .gr-summary-rating{display:flex;flex-direction:column;gap:.15rem}
.sf-recovered .gr-summary-score{font-family:'Barlow Condensed',sans-serif;font-size:2.8rem;font-weight:900;color:#202124;line-height:1}
.sf-recovered .gr-summary-stars{color:#FBBC04;font-size:1.25rem;letter-spacing:.06em}
.sf-recovered .gr-summary-count{font-family:'DM Sans',sans-serif;font-size:.8rem;color:#70757a}
.sf-recovered .gr-summary-link{font-family:'DM Sans',sans-serif;font-size:.82rem;color:#1a73e8;text-decoration:none;margin-left:auto;white-space:nowrap;font-weight:500;align-self:center}
.sf-recovered .gr-summary-link:hover{text-decoration:underline}
.sf-recovered .gr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.sf-recovered .gr-card{background:#fff;border-radius:12px;padding:1.25rem 1.4rem;box-shadow:0 1px 3px rgba(0,0,0,.14),0 2px 8px rgba(0,0,0,.07);display:flex;flex-direction:column;gap:.55rem}
.sf-recovered .gr-card-header{display:flex;align-items:flex-start;justify-content:space-between}
.sf-recovered .gr-card-user{display:flex;align-items:center;gap:.6rem}
.sf-recovered .gr-avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;color:#fff;flex-shrink:0;font-family:'Barlow Condensed',sans-serif}
.sf-recovered .gr-user-name{font-family:'DM Sans',sans-serif;font-size:.86rem;font-weight:600;color:#202124}
.sf-recovered .gr-user-date{font-family:'DM Sans',sans-serif;font-size:.74rem;color:#70757a;margin-top:.1rem}
.sf-recovered .gr-card-stars{color:#FBBC04;font-size:.92rem;letter-spacing:.04em}
.sf-recovered .gr-card-text{font-family:'DM Sans',sans-serif;font-size:.82rem;color:#3c4043;line-height:1.55}
.sf-recovered .gr-google-icon{flex-shrink:0;margin-top:2px}
.sf-recovered .gr-slider{position:relative;overflow:hidden;width:100%}
.sf-recovered .gr-slides{display:flex;width:100%;transition:transform .4s cubic-bezier(.4,0,.2,1)}
.sf-recovered .gr-slide{flex:0 0 100%;width:100%;min-width:0;box-sizing:border-box}
.sf-recovered .gr-slider-nav{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.25rem}
.sf-recovered .gr-slider-btn{background:#fff;border:1px solid #e8eaed;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.95rem;color:#3c4043;box-shadow:0 1px 3px rgba(0,0,0,.1);transition:background .2s,box-shadow .2s;line-height:1}
.sf-recovered .gr-slider-btn:hover{background:#f8f9fa;box-shadow:0 2px 6px rgba(0,0,0,.14)}
.sf-recovered .gr-slider-dots{display:flex;gap:.45rem;align-items:center}
.sf-recovered .gr-slider-dot{width:8px;height:8px;border-radius:50%;background:#e8eaed;cursor:pointer;transition:background .2s}
.sf-recovered .gr-slider-dot.active{background:#4285F4;width:10px;height:10px}

@media(max-width:960px){
  .sf-recovered .hero-split-inner{grid-template-columns:1fr}
  .sf-recovered .hero-split-left{min-height:60vw}
  .sf-recovered .hero-split-text{padding:3rem 2rem}
  .sf-recovered .hero-split-right{padding:2.5rem 2rem}
  .sf-recovered .gr-grid{grid-template-columns:1fr}
  .sf-recovered .gr-summary{flex-direction:column;align-items:flex-start;gap:1rem}
  .sf-recovered .gr-summary-logo{border-right:none;padding-right:0;border-bottom:1px solid #e8eaed;padding-bottom:1rem;width:100%}
  .sf-recovered .gr-summary-link{margin-left:0}
}

.sf-recovered,.sf-recovered{background:#1a1a1a !important;}.sf-recovered{--sf-plan-surface:#1a1a1a;}
/*text-aa-floor*/
.sf-recovered .btn-outline{color:#5e500a}
.sf-recovered .hero-headline .line-fast{color:#ecc919}
.sf-recovered .hero-headline .line-main{color:#737373}
.sf-recovered .footer-brand p{color:#7e7e7e}
.sf-recovered .footer-links a{color:#7e7e7e}
.sf-recovered .footer-bottom p{color:#808080}
.sf-recovered .footer-bottom a{color:#7e7e7e}


/* Hero font cap — keeps hero CTA + value prop above the fold. The Stage-1
   prompt instructs clamp(48px, 8vw, 120px); 8vw = ~115px at 1440px, producing
   an ~800px headline block that pushes the CTA below the fold. */
.sf-recovered :where(h1) {
  font-size: clamp(32px, 4.4vw, 60px) !important;
  line-height: 1.07 !important;
  text-wrap: balance;
  overflow-wrap: break-word;
}
/* Trim oversized hero padding + grid gaps + the large top-padding the LLM puts
   on the CTA container, so the primary CTA rises above the fold. min-height is
   intentionally untouched so 100vh heroes still work. Selectors use class
   substring matches scoped to the first section / hero because the LLM-
   generated class names vary per page (.hero-copy/.hero-actions on the Mirage
   preview; different elsewhere). Verified on the Mirage preview: CTA top
   1191 -> 745 (above a 768px laptop fold); headline + subhead fully above
   fold; hero height 1519 -> 1135. */
.sf-recovered :where(body > section:first-of-type,
       .hero, section.hero, header.hero,
       [class*="hero"], [class*="Hero"]) {
  padding-top: clamp(12px, 2vh, 30px) !important;
  padding-bottom: clamp(36px, 5vh, 76px) !important;
}
.sf-recovered :where(body > section:first-of-type [class*="grid"],
       [class*="hero"] [class*="grid"]) {
  gap: clamp(20px, 2.4vw, 32px) !important;
}
.sf-recovered :where(body > section:first-of-type [class*="action"],
       body > section:first-of-type [class*="cta"],
       [class*="hero"] [class*="action"],
       [class*="hero"] [class*="cta"]) {
  margin-top: 8px !important;
  padding-top: 8px !important;
}
.sf-recovered :where(body > section:first-of-type [class*="copy"],
       [class*="hero"] [class*="copy"]) {
  padding-top: 0 !important;
}
/* #778 follow-up — tighten the hero lead/subhead so the primary CTA lifts above
   the fold even inside the preview wrapper (top promo bar + bottom device bar). */
.sf-recovered :where(body > section:first-of-type [class*="lead"],
       [class*="hero"] [class*="lead"],
       [class*="hero-copy"] > p) {
  font-size: clamp(14px, 1.1vw, 16px) !important;
  line-height: 1.5 !important;
  margin-top: 10px !important;
  margin-bottom: 14px !important;
}
@media (min-width: 769px) {
  .sf-recovered :where([class*="hero"], [class*="copy"]):has(> h1) {
    min-width: min(460px, 52%) !important;
  }
  .sf-recovered :where([class*="hero"], [class*="copy"]):has(> h1) > h1 {
    max-width: 100% !important;
    font-size: clamp(30px, 4vw, 54px) !important;
  }
  /* #1616-v2 — class-agnostic: the GPL GPT hero column carried neither a
     "hero" nor "copy" class and stayed ~240px wide -> 8-line h1. In the FIRST
     section, whatever element directly contains the h1 gets the same floor. */
  .sf-recovered > section:first-of-type :where(*:has(> h1)) {
    min-width: min(460px, 52%) !important;
  }
}
/* Mobile: tighter headline (keeps a 28px floor; >=16px avoids iOS focus-zoom
   on adjacent inputs). */
@media (max-width: 768px) {
  .sf-recovered :where(h1) {
    font-size: clamp(28px, 7.5vw, 42px) !important;
    line-height: 1.1 !important;
  text-wrap: balance;
  overflow-wrap: break-word;
  }
}
/* Footer link contrast: bare <a> (e.g. a mailto: email) in footers fall back to
   the UA link-blue (#0000ee), which is illegible on a dark brand footer
   (contrast ~1.2 on a navy footer). Make footer links inherit the footer's
   already-legible text colour instead. */
.sf-recovered :where(footer) a, .sf-recovered :where([class*="footer" i]) a, .sf-recovered :where([class*="Footer"]) a { color: inherit; text-underline-offset: 2px; }


/* Mobile overflow guard — kills horizontal scroll on narrow viewports.
   overflow-x:clip is stricter than overflow-x:hidden and cannot be
   subverted by descendant sticky/fixed ancestors establishing scroll
   containers. */
.sf-recovered { overflow-x: clip !important; max-width: 100vw !important; }
.sf-recovered { overflow-x: clip !important; max-width: 100vw !important; }
/* Fallback for browsers without overflow-x: clip support. */
@supports not (overflow-x: clip) {
  .sf-recovered, .sf-recovered { overflow-x: hidden !important; }
}
/* Decorative shapes commonly extend past viewport on mobile. Their
   parent contexts (.hero / .hero-bg / sections with shape backgrounds)
   should clip — visual loses nothing on mobile, mobile gains a usable
   layout. */
.sf-recovered .hero, .sf-recovered .hero-bg, .sf-recovered .hero-visual, .sf-recovered [class*="hero-section"], .sf-recovered section [class*="decorative"], .sf-recovered section [class*="float-shape"], .sf-recovered section [class*="abstract-bg"] {
  overflow-x: clip !important;
}
@supports not (overflow-x: clip) {
  .sf-recovered .hero, .sf-recovered .hero-bg, .sf-recovered .hero-visual, .sf-recovered [class*="hero-section"], .sf-recovered section [class*="decorative"], .sf-recovered section [class*="float-shape"], .sf-recovered section [class*="abstract-bg"] {
    overflow-x: hidden !important;
  }
}
/* Force card-grid stacking on narrow viewports so portfolio/blog/
   product/team grids don't extend past the viewport horizontally. */
@media (max-width: 600px) {
  .sf-recovered .sf-portfolio-grid,
  .sf-recovered .sf-blog-grid,
  .sf-recovered .sf-products-grid,
  .sf-recovered .sf-team-grid,
  .sf-recovered [class*="portfolio-grid"],
  .sf-recovered [class*="blog-grid"],
  .sf-recovered [class*="products-grid"],
  .sf-recovered [class*="team-grid"] {
    grid-template-columns: 1fr !important;
  }
}
/* #135 — cap oversized full-width content-image slots. A full-width photo slot (e.g.
   .services-bg-photo, .shop-visual) whose inner img carries an inline aspect-ratio with no
   height bound renders enormous (~960-1200px tall on desktop — Zach's "images too large",
   sturgis-gpt-r138 §02 .shop-visual = 1278x959 at ar 4/3). Bound the slot + its image to a
   sane height with object-fit:cover (crops to the focal area, never distorts or overflows the
   section). The [class*="visual"] pattern catches section-visual containers (shop-visual,
   media-visual, etc.) but EXCLUDES the hero (hero-visual / hero media-fill), which is meant to
   be full-bleed. Hero-fill images (data-sf-hero-image) + logos/icons are unaffected.
   SF_CONTENT_IMG_CAP=off reverts. */
.sf-recovered [class*="bg-photo"], .sf-recovered [class*="feature-photo"], .sf-recovered [class*="showcase-photo"], .sf-recovered [class*="section-photo"], .sf-recovered [class*="visual"]:not([class*="hero"]) {
  max-height: 600px !important;
  overflow: hidden !important;
}
.sf-recovered [class*="bg-photo"] > img, .sf-recovered [class*="feature-photo"] > img, .sf-recovered [class*="showcase-photo"] > img, .sf-recovered [class*="section-photo"] > img, .sf-recovered [class*="visual"]:not([class*="hero"]) > img {
  max-height: 600px !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* SiteForge: ensure header stays above all content */
.sf-recovered header, .sf-recovered .site-header, .sf-recovered [class*="header"] { position: relative; z-index: 9999; }
.sf-recovered nav.mobile-menu, .sf-recovered .mobile-menu-overlay { z-index: 10000; }
.sf-recovered .mobile-menu-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.5); z-index:9999; }
.sf-recovered .mobile-menu-overlay.open { display:block; }
/* Hamburger toggle — sf-ui.js APPENDS a fully-independent <aside class="sf-mobnav">
   at the END of <body>. Outside any Claude-emitted stacking context. We don't
   touch the original .nav-links at all (hide on mobile via CSS); the mobile
   menu is a wholly separate component with its own click handlers. */
.sf-recovered .hamburger { display: none; background: none; border: 0; cursor: pointer; padding: 8px; -webkit-tap-highlight-color: transparent; }
/* #1270 — white bars with a dark outline + soft shadow so the hamburger is
   visible on ANY nav background (currentColor was resolving to black on the
   dark dealermate nav -> invisible). The outline keeps it visible on light navs. */
.sf-recovered .hamburger span { display: block; width: 24px; height: 2px; background: #fff !important; margin: 5px 0; border-radius: 2px; box-shadow: 0 0 0 0.5px rgba(0,0,0,0.55), 0 1px 2px rgba(0,0,0,0.45); transition: transform .2s, opacity .2s; }
.sf-recovered .sf-mobnav {
  position: fixed; top: 0; right: 0;
  height: 100%; height: 100dvh;
  width: min(86vw, 320px);
  background: #fff; color: #1f2937;
  box-shadow: -8px 0 32px rgba(0,0,0,0.18);
  transform: translateX(100%);
  transition: transform .25s ease-out;
  z-index: 2147483646;
  display: flex; flex-direction: column;
  padding: 72px 24px 32px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  visibility: hidden;
}
.sf-recovered .sf-mobnav.sf-mobnav-open { transform: translateX(0) !important; visibility: visible !important; }
.sf-recovered .sf-mobnav a {
  display: block; padding: 14px 4px; font-size: 17px; line-height: 1.4;
  color: #1f2937; text-decoration: none; border-bottom: 1px solid #e5e7eb;
  -webkit-tap-highlight-color: rgba(0,0,0,.05);
}
.sf-recovered .sf-mobnav a:active { background: rgba(0,0,0,0.04); }
.sf-recovered .sf-mobnav-close {
  position: absolute; top: 12px; right: 12px;
  width: 44px; height: 44px;
  background: transparent; border: 0; cursor: pointer;
  font-size: 28px; line-height: 1; color: inherit;
  -webkit-tap-highlight-color: rgba(0,0,0,.05);
}
.sf-recovered .sf-mobnav-backdrop {
  position: fixed; inset: 0; background: rgba(0,0,0,0.45);
  opacity: 0; pointer-events: none;
  transition: opacity .25s ease-out;
  z-index: 2147483645;
}
.sf-recovered .sf-mobnav-backdrop.sf-mobnav-open { opacity: 1 !important; pointer-events: auto !important; }
.sf-recovered.sf-mobnav-locked { overflow: hidden !important; }
@media (max-width: 900px) {
  /* #1270 — pin the hamburger to the RIGHT. margin-left:auto is a no-op when the
     nav is display:block and the button is inline-flex (the real dealermate case:
     <nav style="z-index:2147483647 !important;"> block > .nav-inner + .hamburger), so position it absolutely instead.
     :has() makes the button's container the positioning context regardless of its
     class (the nav often has none) so it pins to the nav's right edge, not the
     viewport's. */
  .sf-recovered nav:has(> .hamburger), .sf-recovered header:has(.hamburger), .sf-recovered .site-header:has(.hamburger), .sf-recovered .nav-inner:has(~ .hamburger) { position: relative; }
  /* top:14px (fixed), NOT top:50%+translateY: the nav collapses to ~0px on mobile
     when its in-flow content is hidden, so 50% resolved to ~0 and pushed the
     button half ABOVE the viewport -> user saw "1 line not 3". A fixed top from
     the nav's top edge keeps all 3 bars on-screen regardless of nav height. */
  .sf-recovered .hamburger { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; z-index: 2147483647; position: absolute !important; right: 16px; top: 14px; transform: none; margin: 0 !important; }
  /* #1270 — on mobile show ONLY the hamburger. Hide the desktop nav entirely (link
     list, logo bar, CTA). An earlier :has() attempt to KEEP a logo-bearing
     .nav-links container produced an unwanted opaque white bar (with a white-on-white
     hamburger) plus the fixed accent line scrolling over content. The wanted design
     is a clean transparent hero with just the 3 floating white hamburger bars. The
     hamburger top:14px fix above keeps it on-screen even though the nav collapses. */
  .sf-recovered nav .nav-links, .sf-recovered nav ul.nav-links, .sf-recovered nav ol.nav-links { display: none !important; }
  /* Hide the gen's fixed decorative accent/divider bar on mobile (e.g. dealermate's
     .accent-bar gradient line) so nothing floats or scrolls over the hero. */
  .sf-recovered .accent-bar, .sf-recovered [class*="accent-bar"], .sf-recovered nav .accent, .sf-recovered header + .accent-bar { display: none !important; }
  /* Covers the case where Stage 1 puts .nav-links on the <nav> itself
     instead of on a child <ul>/<div>. Direct anchor + list-item children
     of the nav get hidden; the hamburger is a <button>, not an <a>/<li>,
     so it stays visible. */
  .sf-recovered nav.nav-links > a:not(.nav-logo):not(.nav-cta),
  .sf-recovered nav.nav-links > li,
  .sf-recovered nav.nav-links > ul > li { display: none !important; }
  /* #1274b — the brand logo often lives INSIDE a .nav-links wrapper (e.g.
     .nav-inner.nav-links), so the blanket hide above also removes the logo on
     mobile. Re-show ONLY a logo-bearing wrapper, forced fully TRANSPARENT (no
     bg/shadow/border/blur) so it does NOT reintroduce the opaque white bar a
     prior :has() attempt caused; hide just its inner link list. The floating
     hamburger (a sibling <button>, not inside .nav-links) is unaffected.
     :has() — modern mobile browsers; older degrade to the logo-hidden look. */
  .sf-recovered nav .nav-links:has(.nav-logo-img),
  .sf-recovered nav .nav-links:has([class*="logo"]),
  .sf-recovered nav .nav-links:has(> a img) {
    display: flex !important; align-items: center !important;
    background: transparent !important; box-shadow: none !important;
    border: 0 !important; backdrop-filter: none !important;
  }
  .sf-recovered nav .nav-links:has(.nav-logo-img) > ul,
  .sf-recovered nav .nav-links:has(.nav-logo-img) > ol,
  .sf-recovered nav .nav-links:has([class*="logo"]) > ul,
  .sf-recovered nav .nav-links:has(> a img) > ul { display: none !important; }
  .sf-recovered nav .nav-logo-img, .sf-recovered nav [class*="logo"] img { display: block !important; max-height: 40px; width: auto; }
}
@media (min-width: 901px) {
  .sf-recovered .sf-mobnav, .sf-recovered .sf-mobnav-backdrop { display: none !important; }
}

/* #26 mobile header — hide hours, keep a single-line tap-to-call phone, reserve room for the absolute hamburger so nothing wraps/overlaps */
@media (max-width: 860px) {
  .site-header .nav-cta { display: none !important; }
  .site-header .nav-phone { white-space: nowrap !important; font-size: 0.85rem !important; }
  .site-header { padding-right: 60px !important; }
}
/* #27 desktop hero — shrink the oversized headline spans + release the forced full-viewport min-height so the form + both CTAs clear the fold. Desktop-only so mobile is untouched. */
@media (min-width: 961px) {
  .sf-recovered .hero-headline .line-fast { font-size: clamp(2.25rem, 3.2vw, 3rem) !important; }
  .sf-recovered .hero-headline .line-main { font-size: clamp(1.5rem, 2.2vw, 2.25rem) !important; }
  .sf-recovered .hero-split-inner { min-height: auto !important; }
}