:root{
  --bg:#121314;
  --panel:#181a1c;
  --muted:#9ba3af;
  --text:#eaeef4;
  --brand:#f8ac31;
  --brand-2:#ffd27a;
  --ok:#27c07d;
  --warn:#f06a6a;

  --radius:20px;
  --radius-sm:14px;
  --shadow:0 10px 30px rgba(0,0,0,.35);
  --max:1120px;

  --border: rgba(255,255,255,.07);
  --border-soft: rgba(255,255,255,.06);
}

/* Base / Reset */
*{ box-sizing:border-box }
html,body{ height:100% }
html{ scroll-behavior:smooth }
body{
  margin:0;
  background:#0f1113;
  color:var(--text);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Inter, Roboto, Arial, sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{ color:var(--brand); text-decoration:none }
a:hover{ text-decoration:underline }
img{ max-width:100%; height:auto; display:block }
.container{ width:min(var(--max), 92vw); margin:0 auto }

/* Static ambient background */
.bg-ambient{
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(900px 600px at 15% 20%, rgba(248,172,49,.16), transparent 60%),
    radial-gradient(800px 520px at 85% 25%, rgba(255,210,122,.14), transparent 60%),
    radial-gradient(700px 480px at 50% 75%, rgba(248,172,49,.1), transparent 60%),
    linear-gradient(#0f1113, #0f1113);
  filter: saturate(115%);
}
.bg-ambient::after{
  content:"";
  position:absolute; inset:0;
  background-image:
    radial-gradient(circle at 25% 15%, rgba(255,255,255,.02) 0, transparent 40%),
    radial-gradient(circle at 75% 85%, rgba(0,0,0,.12) 0, transparent 55%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.015), rgba(255,255,255,.015) 1px, transparent 1px, transparent 2px);
  mix-blend-mode: overlay;
  opacity:.6;
}

/* Focus ring */
:focus{ outline:none }
:focus-visible{
  outline:2px solid var(--brand-2);
  outline-offset:2px;
  border-radius:8px;
}

/* Header */
header{
  position:sticky; top:0; z-index:40;
  background:rgba(18,19,20,.9);
  backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid var(--border);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 0;
  gap:18px;
}
.brand{
  display:flex; gap:10px; align-items:center;
  font-weight:800; letter-spacing:.02em;
}
.logo{
  width:28px; height:28px; border-radius:8px;
  background:radial-gradient(120px 120px at 30% 30%, var(--brand-2), var(--brand));
  box-shadow:0 0 0 2px rgba(0,0,0,.15) inset;
}

.header-right{
  display:flex;
  align-items:center;
  gap:16px;
}
.header-contact{
  display:flex;
  flex-wrap:wrap;
  gap:6px 14px;
  align-items:center;
  font-size:.85rem;
  color:var(--muted);
}
.header-contact a{
  color:var(--text);
  text-decoration:none;
}
.header-contact a:hover{ text-decoration:underline }

.nav-links{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:.9rem;
}
.nav-links a{
  color:var(--muted);
  padding:6px 10px;
  border-radius:999px;
  text-decoration:none;
}
.nav-links a:hover{
  color:var(--text);
  background:rgba(255,255,255,.05);
}
.nav-links a.active{
  color:#1d1d1d;
  background:var(--brand);
}
.btn-nav-cta{
  color:#1d1d1d !important;
  background:var(--brand);
  font-weight:700;
}

/* Buttons */
.btn, .primary, .ghost{
  display:inline-block;
  border-radius:999px;
  font-weight:700;
  letter-spacing:.02em;
  cursor:pointer;
  transition:transform .06s ease, background-color .15s ease, border-color .15s ease, color .15s ease;
  will-change:transform;
}
.btn{ padding:10px 16px; color:var(--brand); border:1px solid var(--brand); background:transparent }
.btn:hover{ background:rgba(248,172,49,.08); text-decoration:none }
.btn:active, .primary:active, .ghost:active{ transform:translateY(1px) }

.primary{ background:var(--brand); color:#1d1d1d; padding:12px 20px; border:none }
.primary:hover{ filter:brightness(1.03) }
.ghost{ border:1px solid rgba(255,255,255,.15); color:#e7ebf2; background:transparent; padding:12px 18px }
.ghost:hover{ border-color:rgba(255,255,255,.28) }

/* Underlines (static) */
.nav-btn{ position:relative; display:flex; flex-direction:column; align-items:center }
.btn-with-underline{ display:inline-flex; flex-direction:column; align-items:center }
.btn-underline{
  width:100%;
  height:3px;
  margin-top:6px;
  border-radius:2px;
  background:linear-gradient(90deg, var(--brand), var(--brand-2), var(--brand));
}

/* Full-width static line used above footer */
.yellow-line{
  width:100%;
  height:4px;
  margin-top:12px;
  background:linear-gradient(90deg, var(--brand) 20%, var(--brand-2) 50%, var(--brand) 80%);
}

/* Hero */
.hero{
  position:relative;
  overflow:hidden;
  padding:88px 0 70px;
}
.hero h1{
  font-size:clamp(34px, 6.7vw, 60px);
  line-height:1.05;
  margin:0 0 10px;
}
.hero p.kicker{
  letter-spacing:.25em; color:#d2d7de; opacity:.85; font-size:.9rem; margin:0 0 14px;
  text-transform:uppercase;
}
.hero p.sub{
  max-width:720px; color:var(--muted); margin:10px 0 22px;
}
.hero-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:14px 0 22px;
}
.badge{
  padding:6px 10px;
  border-radius:999px;
  background:rgba(248,172,49,.14);
  color:var(--brand-2);
  font-size:.78rem;
  font-weight:600;
}
.cta{ display:flex; gap:12px; flex-wrap:wrap }

/* Generic page hero */
.page-hero{
  padding:70px 0 40px;
}
.page-hero h1{
  font-size:clamp(30px, 4.8vw, 40px);
  margin:0 0 8px;
}
.page-hero p{
  max-width:720px;
  color:var(--muted);
  margin:0;
}

/* Sections */
section{ padding:60px 0 }
.panel{
  background:var(--panel);
  border:1px solid var(--border-soft);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:32px;
}
.grid{ display:grid; gap:22px }
@media (min-width:900px){
  .grid.cols-2{ grid-template-columns:1.2fr 1fr }
  .grid.cols-2-balanced{ grid-template-columns:1fr 1fr }
  .grid.cols-3{ grid-template-columns:repeat(3,1fr) }
}
h2{ font-size:clamp(24px,4.2vw,36px); margin:0 0 6px }
.muted{ color:var(--muted) }

/* Checklist items */
.check{ display:flex; gap:12px; align-items:flex-start }
.check .icon{
  width:22px; height:22px; border-radius:6px;
  background:linear-gradient(180deg,#30d989,#16a34a);
  display:grid; place-items:center;
  color:#032f1f; font-weight:900; font-size:.9rem;
}

/* Steps */
.step{
  background:#101214;
  border:1px solid var(--border);
  border-radius:16px; padding:18px;
}
.step .num{ font-weight:900; color:var(--brand); margin-bottom:4px }
.step h3{ margin:0 0 4px; font-size:1.05rem }
.step p{ margin:0; color:var(--muted); font-size:.93rem }

/* Timeline / tags */
.timeline{ display:grid; gap:10px; margin-top:12px }
.pill{
  display:inline-block; padding:6px 10px; border-radius:999px;
  background:rgba(248,172,49,.12); color:var(--brand);
  font-weight:700; font-size:.85rem
}

/* Foreclosure alert */
.alert{
  border-left:5px solid var(--warn);
  background:#1a1010;
  padding:18px; border-radius:12px;
}

/* Contact form */
form{ display:grid; gap:12px }
input, textarea{
  width:100%;
  background:#0e0f11;
  color:#eaeef4;
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  padding:12px 14px;
  outline:none;
  transition:border-color .15s ease, box-shadow .15s ease;
}
input::placeholder, textarea::placeholder{ color:#9aa1ab }
input:focus, textarea:focus{
  border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(248,172,49,.18);
}
button.primary[disabled]{ opacity:.7; cursor:not-allowed }

.formMsg{
  font-size:.9rem;
}

/* Testimonials */
.testimonials{
  display:grid;
  gap:18px;
}
.testimonial{
  background:#101114;
  border-radius:var(--radius-sm);
  border:1px solid var(--border-soft);
  padding:18px;
  font-size:.95rem;
}
.testimonial strong{
  display:block;
  margin-top:8px;
  color:var(--brand-2);
  font-size:.9rem;
}

/* FAQ */
.faq-list{
  display:grid;
  gap:14px;
}
.faq-item{
  border-radius:var(--radius-sm);
  border:1px solid var(--border-soft);
  padding:14px 16px;
  background:#121316;
}
.faq-item h3{
  margin:0 0 6px;
  font-size:1rem;
}
.faq-item p{
  margin:0;
  font-size:.93rem;
  color:var(--muted);
}

/* Footer */
footer{
  padding:36px 0 70px;
  color:var(--muted);
  text-align:center;
}
footer a{ color:var(--muted); }
footer a:hover{ color:var(--text); }

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); border:0;
}

/* Spacing helpers */
.mt-0{ margin-top:0 } .mt-1{ margin-top:.25rem } .mt-2{ margin-top:.5rem }
.mt-3{ margin-top:1rem } .mt-4{ margin-top:1.5rem } .mt-5{ margin-top:2rem }
.mb-0{ margin-bottom:0 } .mb-1{ margin-bottom:.25rem } .mb-2{ margin-bottom:.5rem }
.mb-3{ margin-bottom:1rem } .mb-4{ margin-bottom:1.5rem } .mb-5{ margin-bottom:1.5rem }

/* Responsive tweaks */
@media (max-width: 899px){
  .nav{
    padding:10px 0;
    flex-direction:column;
    align-items:flex-start;
  }
  .header-right{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
  .nav-links{
    flex-wrap:wrap;
  }
  .hero{ padding:70px 0 56px }
  .panel{ padding:24px }
  section{ padding:46px 0 }
}
