/* Frith Towing & Recovery - Core Styles (single-file CSS for site-wide use) */
:root{
  --bg:#0b1220;
  --card:#111b2e;
  --text:#e9eefc;
  --muted:#b9c3df;
  --accent:#ffd54a;
  --accent2:#2dd4bf;
  --danger:#ff5a5f;
  --white:#ffffff;
  --shadow: 0 10px 30px rgba(0,0,0,.35);
  --radius: 16px;
  --max: 1100px;
  --font: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--font);
  color:var(--text);
  background: radial-gradient(1200px 800px at 20% 10%, #182646 0%, var(--bg) 55%, #060a13 100%);
  line-height:1.55;
}
a{color:inherit}
img{max-width:100%;height:auto}

/* Layout */
.container{max-width:var(--max);margin:0 auto;padding:0 18px}
.section{padding:34px 0}
.grid{display:grid;gap:18px}
.card{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius);
  padding:18px;
  box-shadow:var(--shadow);
}
.small{font-size:.95rem;color:var(--muted)}
.kicker{letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--accent2);font-size:.8rem}
h1,h2,h3{line-height:1.15;margin:0 0 10px 0}
h1{font-size: clamp(1.7rem, 2.7vw, 2.6rem)}
h2{font-size: clamp(1.25rem, 2.1vw, 1.9rem)}
h3{font-size:1.05rem;color:var(--white)}

/* Sticky call bar */
.callbar{
  position: sticky; top: 0; z-index: 1000;
  background: rgba(10,16,30,.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.callbar-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:12px 0;
}
.brand{
  display:flex; flex-direction:column;
  gap:2px;
}
.brand strong{font-size:1.02rem}
.brand span{font-size:.86rem;color:var(--muted)}
.cta{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end;
}
.phone{
  font-weight:800;
  text-decoration:none;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:8px;
  padding:10px 14px;
  border-radius:12px;
  border:0;
  text-decoration:none;
  font-weight:900;
  letter-spacing:.02em;
  cursor:pointer;
  white-space:nowrap;
}
.btn-primary{background:var(--accent); color:#111}
.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.14);color:var(--text)}
.btn-danger{background:var(--danger); color:var(--white)}
.btn:focus{outline:2px solid rgba(255,213,74,.55); outline-offset:2px}

/* Hero */
.hero{padding:30px 0 18px}
.hero-wrap{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:18px;
  align-items:stretch;
}
.hero-card{
  background: linear-gradient(135deg, rgba(255,213,74,.12), rgba(45,212,191,.08));
  border:1px solid rgba(255,255,255,.10);
}
.badges{display:flex; gap:10px; flex-wrap:wrap; margin-top:12px}
.badge{
  display:inline-flex; align-items:center; gap:8px;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  font-size:.9rem;
  color:var(--muted);
}

/* Lists */
ul{margin:10px 0 0 18px}
li{margin:6px 0}

/* Footer */
.footer{
  padding:24px 0;
  border-top:1px solid rgba(255,255,255,.08);
  color:var(--muted);
  font-size:.92rem;
}
.footer a{color:var(--muted)}

/* Utilities */
.hr{height:1px;background:rgba(255,255,255,.08);margin:16px 0}
.inline-links{display:flex; gap:10px; flex-wrap:wrap}
.note{
  padding:12px 14px;
  border-radius:14px;
  background:rgba(45,212,191,.08);
  border:1px solid rgba(45,212,191,.18);
  color:var(--text);
}

/* Responsive */
@media (max-width: 900px){
  .hero-wrap{grid-template-columns: 1fr}
}
@media (max-width: 520px){
  .cta{justify-content:stretch}
  .phone{flex:1}
  .btn{flex:1}
  .callbar-inner{align-items:flex-start}
}
