/* ===========================================================
   Rush Bail Bonds — modern theme
   Dark navy / charcoal with fluorescent green highlights
   =========================================================== */

:root{
  --bg:#0D1420;          /* page background (deep navy) */
  --bg-2:#0A111C;        /* darker bands */
  --panel:#131D2E;       /* raised panels */
  --card:#16233A;        /* cards */
  --border:#25334F;      /* hairline borders */
  --green:#54F84A;       /* fluorescent green accent */
  --green-2:#3FE03A;     /* hover green */
  --green-ink:#08130A;   /* text on green */
  --blue:#1E88E5;        /* electric blue secondary */
  --blue-soft:#7FC0FF;
  --text:#EAF0F8;        /* primary text */
  --muted:#9DB0CC;       /* secondary text */
  --faint:#7E91AE;       /* tertiary text */
  --radius:12px;
  --radius-sm:9px;
  --maxw:1140px;
  --font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font);
  background:var(--bg);
  color:var(--text);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:9px;
  font-weight:800;font-size:16px;line-height:1;
  padding:14px 22px;border-radius:var(--radius-sm);
  border:2px solid transparent;cursor:pointer;transition:.15s ease;
  white-space:nowrap;
}
.btn i,.btn svg{flex:none}
.btn-green{background:var(--green);color:var(--green-ink)}
.btn-green:hover{background:var(--green-2)}
.btn-outline{background:transparent;border-color:var(--green);color:var(--green)}
.btn-outline:hover{background:rgba(84,248,74,.12)}
.btn-sm{font-size:14px;padding:10px 16px}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(10,17,28,.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:70px}
.logo{display:flex;align-items:center;gap:8px;font-weight:800;font-size:21px;letter-spacing:.5px}
.logo .a{color:var(--text)}
.logo .b{color:var(--green)}
.nav{display:flex;align-items:center;gap:26px}
.nav a{color:var(--muted);font-size:14px;font-weight:500;transition:.15s}
.nav a:hover,.nav a.active{color:var(--text)}
.nav .has-sub{position:relative}
.nav .sub{
  position:absolute;top:130%;left:50%;transform:translateX(-50%);
  background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:8px;min-width:210px;display:none;flex-direction:column;gap:2px;
}
.nav .has-sub:hover .sub{display:flex}
.nav .sub a{padding:9px 12px;border-radius:7px;font-size:14px}
.nav .sub a:hover{background:var(--card);color:var(--green)}
.header-cta{display:flex;align-items:center;gap:12px}
.hamburger{display:none;background:none;border:0;color:var(--text);font-size:26px;cursor:pointer}

/* mobile menu */
.mobile-menu{display:none;border-bottom:1px solid var(--border);background:var(--panel)}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;padding:13px 22px;color:var(--muted);border-top:1px solid var(--border);font-size:15px}
.mobile-menu a:hover{color:var(--green)}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--border)}
.hero-bg{position:absolute;inset:0;z-index:0;opacity:.5}
.hero .wrap{position:relative;z-index:1;padding:72px 22px 64px}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  background:#13243A;border:1px solid #1E5FA5;color:var(--blue-soft);
  font-size:13px;font-weight:600;padding:7px 14px;border-radius:30px;margin-bottom:22px;
}
.badge i{color:var(--green);font-size:16px}
.hero h1{font-size:clamp(34px,6vw,54px);line-height:1.05;font-weight:800;max-width:640px;margin-bottom:18px}
.hero h1 .hl{color:var(--green)}
.hero p.lead{color:var(--muted);font-size:clamp(16px,2.2vw,19px);max-width:560px;margin-bottom:30px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:16px}
.cta-block .lbl{color:var(--faint);font-size:12px;margin-top:7px;text-align:center}

/* ---------- trust strip ---------- */
.trust{background:var(--bg-2);border-bottom:1px solid var(--border)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-item{padding:22px 14px;text-align:center;border-right:1px solid #16202F}
.trust-item:last-child{border-right:0}
.trust-item .n{color:var(--green);font-size:26px;font-weight:800}
.trust-item .t{color:var(--muted);font-size:13px;margin-top:3px}

/* ---------- sections ---------- */
.section{padding:62px 0}
.section.alt{background:var(--bg-2)}
.eyebrow{color:var(--blue);font-size:13px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;margin-bottom:8px}
.section h2{font-size:clamp(24px,4vw,32px);font-weight:800;margin-bottom:14px;max-width:720px}
.section .intro{color:var(--muted);font-size:17px;max-width:680px;margin-bottom:34px}

/* ---------- service cards ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}
.card{
  background:var(--card);border:1px solid var(--border);
  border-top:3px solid var(--green);border-radius:var(--radius);
  padding:22px 20px;transition:.15s;
}
.card:hover{transform:translateY(-3px);border-color:#34507e}
.card .ico{color:var(--green);font-size:26px;margin-bottom:12px}
.card h3{font-size:18px;font-weight:700;margin-bottom:2px}
.card .county{color:var(--faint);font-size:13px}
.card .ph{display:inline-flex;align-items:center;gap:7px;color:var(--green);font-weight:700;font-size:15px;margin-top:14px}

/* ---------- feature / steps ---------- */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;counter-reset:s}
.step{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:24px 22px;position:relative}
.step::before{counter-increment:s;content:counter(s);position:absolute;top:-16px;left:22px;width:34px;height:34px;border-radius:50%;background:var(--green);color:var(--green-ink);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:16px}
.step h3{font-size:17px;font-weight:700;margin:10px 0 8px}
.step p{color:var(--muted);font-size:15px}

/* ---------- two column content ---------- */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.prose h2{font-size:22px;font-weight:800;margin:26px 0 10px}
.prose h2:first-child{margin-top:0}
.prose p{color:var(--muted);font-size:16px;margin-bottom:14px}
.prose strong{color:var(--text)}
.prose .ph-inline{color:var(--green);font-weight:700}

/* ---------- CTA band ---------- */
.cta-band{background:var(--bg-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.cta-band .inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;padding:36px 0}
.cta-band h2{font-size:clamp(22px,3.5vw,28px);font-weight:800}
.cta-band p{color:var(--muted);margin-top:5px}

/* ---------- offices / footer ---------- */
.footer{background:#070C14;border-top:1px solid var(--border);padding:48px 0 26px;color:var(--muted)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px;margin-bottom:34px}
.footer h4{color:var(--text);font-size:15px;font-weight:700;margin-bottom:14px;letter-spacing:.4px}
.footer a{color:var(--muted);font-size:14px;display:block;padding:4px 0;transition:.15s}
.footer a:hover{color:var(--green)}
.office{font-size:14px;line-height:1.7;margin-bottom:16px}
.office .name{color:var(--text);font-weight:700}
.office .ph{color:var(--green);font-weight:700}
.footer-bottom{border-top:1px solid var(--border);padding-top:20px;font-size:13px;color:var(--faint);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}

/* ---------- sticky mobile call bar ---------- */
.callbar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:60;background:var(--green);border-top:2px solid var(--green-2)}
.callbar a{display:flex;align-items:center;justify-content:center;gap:9px;color:var(--green-ink);font-weight:800;font-size:17px;padding:15px}

/* ---------- responsive ---------- */
@media(max-width:860px){
  .nav,.header-cta .btn{display:none}
  .hamburger{display:block}
  .two-col{grid-template-columns:1fr;gap:26px}
  .footer-grid{grid-template-columns:1fr;gap:26px}
  .trust-grid{grid-template-columns:repeat(2,1fr)}
  .trust-item:nth-child(2){border-right:0}
  .trust-item:nth-child(1),.trust-item:nth-child(2){border-bottom:1px solid #16202F}
  .callbar{display:block}
  body{padding-bottom:54px}
}
@media(max-width:480px){
  .hero-ctas{flex-direction:column;align-items:stretch}
  .btn{justify-content:center}
}
