/* ==========================================================
   Junk Cars TN — Premium, fast, responsive site
   No external CSS frameworks.
   ========================================================== */

:root{
  --bg:#090E16;
  --bg2:#0F1A2E;
  --surface:#0E1626;
  --surface2:#121D33;
  --text:#F5F7FA;
  --muted:#B6C0D0;
  --muted2:#93A1B7;
  --line: rgba(255,255,255,.10);
  --gold:#C9AA58;
  --gold2:#E2C77A;
  --danger:#F16A6A;
  --ok:#66D19E;

  --shadow: 0 18px 40px rgba(0,0,0,.45);
  --shadow2: 0 10px 24px rgba(0,0,0,.35);

  --radius: 18px;
  --radius-sm: 12px;
  --max: 1180px;

  --font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;

  --t: 220ms;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font);
  background:
    radial-gradient(1100px 620px at 20% -10%, rgba(201,170,88,.18), transparent 55%),
    radial-gradient(900px 520px at 90% 0%, rgba(101,197,255,.10), transparent 55%),
    linear-gradient(180deg, var(--bg), var(--bg2));
  color:var(--text);
  line-height:1.55;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; height:auto}
a{color:inherit; text-decoration:none}
a:hover{color:var(--gold2)}
p{margin:0 0 16px}
h1,h2,h3{margin:0 0 12px; line-height:1.15}
h1{font-size:clamp(32px, 4vw, 54px); letter-spacing:-.03em}
h2{font-size:clamp(24px, 2.6vw, 34px); letter-spacing:-.02em}
h3{font-size:clamp(18px, 2vw, 22px)}
small{color:var(--muted2)}
code, .mono{font-family:var(--mono)}
hr{border:0;border-top:1px solid var(--line);margin:24px 0}

.container{width:min(var(--max), calc(100% - 44px)); margin-inline:auto}
.section{padding: 72px 0}
.section.compact{padding: 54px 0}
.center{text-align:center}
.muted{color:var(--muted)}
.muted2{color:var(--muted2)}
.kbd{font-family:var(--mono); font-size:12px; padding:2px 6px; border-radius:8px; border:1px solid var(--line); background:rgba(255,255,255,.03)}
.hide{display:none !important}
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

.card{
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow2);
}
.card.pad{padding: 22px}
.card.pad-lg{padding: 28px}
.glass{
  background: rgba(9,14,22,.42);
  border: 1px solid rgba(255,255,255,.09);
  backdrop-filter: blur(10px);
}

.grid{display:grid; gap:18px}
.grid.two{grid-template-columns: repeat(2, minmax(0,1fr))}
.grid.three{grid-template-columns: repeat(3, minmax(0,1fr))}
.grid.four{grid-template-columns: repeat(4, minmax(0,1fr))}
@media (max-width: 900px){
  .grid.two,.grid.three,.grid.four{grid-template-columns:1fr}
}

/* Top navigation */
.topbar{
  position:sticky; top:0; z-index:50;
  backdrop-filter: blur(10px);
  background: linear-gradient(180deg, rgba(9,14,22,.82), rgba(9,14,22,.55));
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding: 14px 0;
  gap: 18px;
}
.brand{display:flex; align-items:center; gap: 12px; min-width: 210px}
.brand img{width:38px; height:38px}
.brand .name{font-weight:700; letter-spacing:.2px}
.brand .tag{font-size:12px; color:var(--muted2); margin-top:2px}

.navlinks{display:flex; align-items:center; gap: 6px}
.navlinks > a, .navlinks button{
  font-size: 14px;
  color: rgba(245,247,250,.92);
  padding:10px 12px;
  border-radius: 12px;
  background: transparent;
  border: 0;
  cursor: pointer;
}
.navlinks > a:hover, .navlinks button:hover{background: rgba(255,255,255,.05)}
.navlinks .active{background: rgba(201,170,88,.12); border:1px solid rgba(201,170,88,.35)}

.dropdown{position:relative}
.dropdown-menu{
  position:absolute; top: 46px; left: 0;
  min-width: 260px;
  padding: 10px;
  display:none;
  border-radius: 16px;
  border:1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(14,22,38,.98), rgba(12,18,32,.95));
  box-shadow: var(--shadow);
}
.dropdown-menu a{
  display:flex; align-items:center; justify-content:space-between;
  padding: 10px 12px;
  border-radius: 12px;
  color: rgba(245,247,250,.92);
  font-size:14px;
}
.dropdown-menu a:hover{background: rgba(255,255,255,.06)}
.dropdown.open .dropdown-menu{display:block}
.dropdown .hint{color: var(--muted2); font-size:12px; margin-left:10px}

.navcta{display:flex; align-items:center; gap: 10px}

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:10px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.04);
  transition: transform var(--t) ease, background var(--t) ease, border-color var(--t) ease;
  font-weight:600;
  font-size:14px;
}
.btn:hover{transform: translateY(-1px); background: rgba(255,255,255,.06); border-color: rgba(201,170,88,.5)}
.btn.primary{
  background: linear-gradient(180deg, rgba(201,170,88,.26), rgba(201,170,88,.10));
  border-color: rgba(201,170,88,.50);
}
.btn.primary:hover{background: linear-gradient(180deg, rgba(226,199,122,.32), rgba(201,170,88,.12))}
.btn.ghost{background: transparent}
.btn.small{padding:10px 12px; border-radius: 12px}
.btn.full{width:100%}
.btn:focus{outline: 3px solid rgba(201,170,88,.32); outline-offset: 2px}
.btn svg{width:18px; height:18px}

.burger{
  display:none;
  width:44px; height:44px;
  border-radius: 14px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.03);
}
.burger span{display:block; width:18px; height:2px; background: rgba(245,247,250,.9); margin:4px auto}
@media (max-width: 980px){
  .navlinks, .navcta{display:none}
  .burger{display:inline-block}
  .mobilemenu{display:block}
}

.mobilemenu{
  display:none;
  padding: 0 0 14px;
}
.mobilemenu a{
  display:block; padding:12px 10px; border-radius: 12px; color: rgba(245,247,250,.92)
}
.mobilemenu a:hover{background: rgba(255,255,255,.05)}
.mobilemenu .group{border-top: 1px solid rgba(255,255,255,.08); padding-top: 10px; margin-top: 10px}
.mobilemenu .sub{padding-left:10px}
.mobilemenu .sub a{font-size:13px}

/* Hero */
.hero{padding: 54px 0 26px}
.hero-wrap{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 22px;
  align-items: stretch;
}
@media (max-width: 900px){.hero-wrap{grid-template-columns:1fr}}

.kicker{
  display:inline-flex; gap:10px; align-items:center;
  padding: 8px 12px;
  border-radius: 999px;
  border:1px solid rgba(201,170,88,.35);
  background: rgba(201,170,88,.08);
  color: rgba(245,247,250,.92);
  font-weight:600;
  font-size:13px;
}
.dot{
  width:8px; height:8px;
  border-radius: 99px;
  background: var(--gold);
  box-shadow: 0 0 0 6px rgba(201,170,88,.14);
}

.lead{font-size:18px; color: rgba(245,247,250,.90)}
.hero-card{display:flex; flex-direction:column; justify-content:space-between; gap: 14px}
.hero-card .mini{
  display:grid; gap: 10px;
  padding-top: 8px;
}
.keyline{
  display:flex; align-items:flex-start; gap: 10px;
  color: var(--muted);
  font-size:14px;
}
.keyline svg{width:20px; height:20px; color: var(--gold)}
.hero-media{
  position:relative; overflow:hidden;
  border-radius: var(--radius);
  min-height: 340px;
  border:1px solid rgba(255,255,255,.10);
  box-shadow: var(--shadow);
  background: #0b1220;
}
.hero-media img{
  width:100%; height:100%;
  object-fit:cover;
  opacity:.95;
  transform: scale(1.03);
}
.hero-media .badge{
  position:absolute;
  left: 16px; bottom: 16px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(9,14,22,.62);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(10px);
  color: rgba(245,247,250,.92);
  font-size: 13px;
}
.hero-media .badge b{color: var(--gold2)}

/* Feature cards */
.feature{
  display:flex; flex-direction:column; gap: 8px;
  padding: 18px;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}
.feature .icon{
  width: 44px; height: 44px;
  border-radius: 14px;
  display:grid; place-items:center;
  border:1px solid rgba(201,170,88,.35);
  background: rgba(201,170,88,.08);
  color: var(--gold2);
}
.feature .icon svg{width: 26px; height: 26px}
.feature p{color: var(--muted); margin: 0}

.media-card{overflow:hidden}
.media-card img{width:100%; height:220px; object-fit:cover; border-bottom: 1px solid rgba(255,255,255,.08)}
.media-card .body{padding: 18px}
.media-card .body p{color:var(--muted)}

/* Breadcrumbs & page header */
.pagehead{padding: 32px 0 0}
.breadcrumbs{
  display:flex; gap: 10px; align-items:center;
  font-size:13px;
  color: var(--muted2);
}
.breadcrumbs a{color: var(--muted2)}
.breadcrumbs a:hover{color: var(--gold2)}
.page-title{margin-top: 10px}

/* Lists */
.checklist{list-style:none; padding:0; margin:0; display:grid; gap: 10px}
.checklist li{display:flex; gap:10px; align-items:flex-start; color: var(--muted)}
.checklist li::before{
  content:"";
  width: 18px; height: 18px; margin-top: 2px;
  border-radius: 99px;
  border:1px solid rgba(201,170,88,.45);
  background: rgba(201,170,88,.12);
  box-shadow: inset 0 0 0 3px rgba(201,170,88,.10);
}

/* Accordions */
.faq{display:grid; gap: 12px}
details{
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  background: rgba(255,255,255,.03);
  overflow:hidden;
}
summary{
  list-style:none;
  cursor:pointer;
  padding: 14px 14px;
  display:flex; justify-content:space-between; align-items:center;
  gap: 14px;
  font-weight:650;
}
summary::-webkit-details-marker{display:none}
details[open] summary{background: rgba(201,170,88,.08)}
.details-body{padding: 0 14px 14px; color: var(--muted)}
.chev{width:18px; height:18px; color: var(--muted2); transition: transform var(--t) ease}
details[open] .chev{transform: rotate(180deg)}

/* Forms */
.form{
  display:grid; gap: 14px;
}
.field{
  display:grid; gap: 7px;
}
label{font-weight:650; font-size:14px}
input, textarea, select{
  width:100%;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(9,14,22,.28);
  color: var(--text);
  padding: 12px 12px;
  font-size: 15px;
  outline: none;
}
textarea{min-height: 120px; resize: vertical}
input:focus, textarea:focus, select:focus{
  border-color: rgba(201,170,88,.55);
  box-shadow: 0 0 0 4px rgba(201,170,88,.18);
}
.help{
  font-size: 13px;
  color: var(--muted2);
}
.inline{
  display:flex; gap: 14px;
}
@media (max-width: 900px){.inline{flex-direction:column}}
.checkbox{
  display:flex; gap: 10px; align-items:flex-start;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.02);
}
.checkbox input{width:18px; height:18px; margin-top:2px}
.error{color: var(--danger); font-size: 13px; display:none}
.field.invalid .error{display:block}
.field.invalid input, .field.invalid textarea, .field.invalid select{border-color: rgba(241,106,106,.6)}
.successbox{
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(102,209,158,.38);
  background: rgba(102,209,158,.10);
  color: rgba(245,247,250,.92);
  display:none;
}
.successbox.show{display:block}
.warnbox{
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(241,106,106,.40);
  background: rgba(241,106,106,.10);
  color: rgba(245,247,250,.92);
  display:none;
}
.warnbox.show{display:block}

/* Footer */
.footer{
  margin-top: 40px;
  border-top: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(9,14,22,.32), rgba(9,14,22,.65));
}
.footer .wrap{padding: 34px 0}
.footer .cols{display:grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 18px}
@media (max-width: 980px){.footer .cols{grid-template-columns: 1fr 1fr}}
@media (max-width: 680px){.footer .cols{grid-template-columns: 1fr}}
.footer .brandline{display:flex; gap: 12px; align-items:center; margin-bottom: 10px}
.footer .brandline img{width:38px; height:38px}
.footer .links a{
  display:block;
  padding: 8px 0;
  color: var(--muted);
  font-size: 14px;
}
.footer .links a:hover{color: var(--gold2)}
.footer .meta{color: var(--muted2); font-size: 13px}
.footer .legalbar{
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 14px 0;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap: 10px;
  color: var(--muted2);
  font-size: 13px;
}
.footer .legalbar a{color: var(--muted2); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px}
.footer .legalbar a:hover{color: var(--gold2)}

/* Sticky mobile call bar */
.callbar{
  position:fixed;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 60;
  display:none;
}
.callbar .inner{
  display:flex;
  gap: 10px;
  padding: 10px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(9,14,22,.66);
  backdrop-filter: blur(10px);
  box-shadow: var(--shadow);
}
.callbar a{flex:1}
@media (max-width: 900px){
  .callbar{display:block}
}

/* Cookie banner & modal */
.cookie-banner{
  position:fixed;
  left: 14px; right: 14px; bottom: 14px;
  z-index: 90;
  display:none;
}
.cookie-banner .box{
  width:min(920px, 100%);
  margin-inline:auto;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(9,14,22,.78);
  backdrop-filter: blur(10px);
  box-shadow: var(--shadow);
}
.cookie-banner .row{
  display:flex;
  gap: 14px;
  align-items:flex-start;
  justify-content:space-between;
}
.cookie-banner p{color: var(--muted); margin: 0}
.cookie-banner .actions{display:flex; gap: 10px; align-items:center; flex-wrap:wrap; justify-content:flex-end}
@media (max-width: 900px){
  .cookie-banner .row{flex-direction:column}
  .cookie-banner .actions{justify-content:flex-start}
}

.modal{
  position:fixed; inset: 0;
  display:none;
  z-index: 95;
  background: rgba(0,0,0,.55);
  padding: 18px;
}
.modal .panel{
  width:min(900px, 100%);
  margin: 4vh auto 0;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.14);
  background: linear-gradient(180deg, rgba(14,22,38,.98), rgba(9,14,22,.96));
  box-shadow: var(--shadow);
  overflow:hidden;
}
.modal .head{
  display:flex; align-items:flex-start; justify-content:space-between; gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.modal .content{padding: 18px}
.modal .foot{
  padding: 16px 18px;
  border-top: 1px solid rgba(255,255,255,.08);
  display:flex; gap: 10px; justify-content:flex-end; flex-wrap:wrap;
}
.modal .x{
  width:44px; height:44px;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: rgba(245,247,250,.9);
  cursor:pointer;
}
.modal .x:hover{border-color: rgba(201,170,88,.5)}
.modal.show{display:block}

.cookie-cats{display:grid; gap: 12px}
.cookie-cat{
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.02);
}
.cookie-cat .top{display:flex; justify-content:space-between; gap: 12px; align-items:flex-start}
.switch{display:flex; align-items:center; gap:10px}
.switch input{width:18px; height:18px}
.pill{
  display:inline-flex;
  gap: 8px;
  align-items:center;
  padding: 6px 10px;
  border-radius: 999px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  color: var(--muted2);
  font-size: 12px;
}

/* Scroll reveal */
.reveal{
  opacity:0;
  transform: translateY(10px);
  transition: opacity 540ms ease, transform 540ms ease;
}
.reveal.in{
  opacity:1;
  transform:none;
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1; transform:none}
  .btn{transition:none}
  .chev{transition:none}
}

/* Skip link */
.skip{
  position:absolute;
  left: 14px;
  top: 10px;
  padding: 10px 12px;
  background: rgba(9,14,22,.92);
  border: 1px solid rgba(201,170,88,.35);
  border-radius: 14px;
  transform: translateY(-140%);
  transition: transform var(--t) ease;
  z-index: 100;
}
.skip:focus{transform: translateY(0)}



/* Info strip */
.infostrip{
  padding: 0 0 14px;
}
.infostrip .row{
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
  align-items:center;
}
.infostrip .pill{
  background: rgba(255,255,255,.02);
}
.infostrip a.pill:hover{border-color: rgba(201,170,88,.45); color: var(--gold2)}
