/* ============ CarLogs ============ */
:root{
  --yellow:#FFC400;
  --yellow-deep:#FFB000;
  --tangerine:#FF7A1A;
  --orange:#FF5C2B;
  --ink:#16130C;
  --ink-soft:#3a3327;
  --cream:#FFF8EA;
  --card:#FFFDF7;
  --line:#16130C;
  --shadow:6px 6px 0 var(--ink);
  --shadow-lg:10px 10px 0 var(--ink);
  --r:20px;
  --maxw:1180px;
  --font-display:"Bricolage Grotesque", serif;
  --font-body:"Hanken Grotesk", sans-serif;
  --font-mono:"JetBrains Mono", monospace;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:
    radial-gradient(120% 90% at 100% 0%, var(--tangerine) 0%, rgba(255,122,26,0) 42%),
    radial-gradient(120% 80% at 0% 0%, var(--yellow) 0%, var(--yellow-deep) 55%, #FF9E1B 100%);
  background-attachment:fixed;
  min-height:100vh;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

/* grain */
.grain{
  position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.06; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

a{color:inherit;text-decoration:none}
img{max-width:100%}

/* ---------- buttons ---------- */
.btn{
  font-family:var(--font-body); font-weight:700; font-size:1rem;
  border:2.5px solid var(--ink); border-radius:999px; cursor:pointer;
  padding:.85rem 1.5rem; display:inline-flex; align-items:center; gap:.5rem;
  transition:transform .12s ease, box-shadow .12s ease, background .15s ease;
  background:var(--cream); color:var(--ink);
}
.btn:hover{transform:translate(-2px,-2px); box-shadow:4px 4px 0 var(--ink)}
.btn:active{transform:translate(0,0); box-shadow:none}
.btn--ink{background:var(--ink); color:var(--yellow)}
.btn--ink:hover{box-shadow:4px 4px 0 var(--orange)}
.btn--ghost{background:transparent}
.btn--go{background:var(--orange); color:#fff; padding:.9rem 1.6rem; font-size:1.05rem}
.btn--go:hover{box-shadow:4px 4px 0 var(--ink)}

/* ---------- nav ---------- */
.nav{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  max-width:var(--maxw); margin:0 auto; padding:1.1rem 1.5rem;
}
.nav::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:rgba(255,196,0,.72); backdrop-filter:blur(10px);
  border-bottom:2.5px solid var(--ink);
}
.brand{display:flex; align-items:center; gap:.55rem; font-family:var(--font-display); font-weight:800; font-size:1.5rem; letter-spacing:-.02em}
.brand__mark{
  display:grid; place-items:center; width:38px; height:38px; border-radius:11px;
  background:var(--ink); color:var(--yellow); font-family:var(--font-mono); font-weight:700; font-size:1.25rem;
  box-shadow:3px 3px 0 var(--orange);
}
.brand__dot{color:var(--orange)}
.nav__links{display:flex; gap:1.6rem; font-weight:600}
.nav__links a{position:relative; padding:.2rem 0}
.nav__links a::after{content:""; position:absolute; left:0; bottom:-2px; width:0; height:2.5px; background:var(--ink); transition:width .2s ease}
.nav__links a:hover::after{width:100%}
.nav__cta{padding:.6rem 1.2rem; font-size:.95rem}

/* ---------- hero ---------- */
.hero{position:relative; max-width:var(--maxw); margin:0 auto; padding:3.5rem 1.5rem 2rem}
.hero__deco{position:absolute; inset:0; overflow:hidden; pointer-events:none}
.ticker{
  position:absolute; top:5.5rem; left:-5%; width:130%;
  font-family:var(--font-mono); font-weight:700; font-size:7.5rem; line-height:1;
  color:rgba(22,19,12,.05); white-space:nowrap; display:flex; gap:1.5rem;
  transform:rotate(-3deg);
  animation:slide 38s linear infinite;
}
.ticker span{flex:none}
@keyframes slide{to{transform:rotate(-3deg) translateX(-33.5%)}}

.hero__inner{position:relative; z-index:2; max-width:760px}
.eyebrow{
  display:inline-block; font-family:var(--font-mono); font-weight:700; font-size:.8rem;
  letter-spacing:.16em; text-transform:uppercase; padding:.4rem .8rem;
  background:var(--ink); color:var(--yellow); border-radius:999px; margin-bottom:1.4rem;
}
.eyebrow--dark{background:var(--ink); color:var(--yellow)}
.hero__title{
  font-family:var(--font-display); font-weight:800; letter-spacing:-.035em;
  font-size:clamp(3rem,9vw,6.2rem); line-height:.94; margin-bottom:1.3rem;
}
.hero__title .hl{
  background:var(--ink); color:var(--yellow); padding:0 .18em; border-radius:.12em;
  box-decoration-break:clone; -webkit-box-decoration-break:clone;
}
.hero__sub{font-size:clamp(1.05rem,2.2vw,1.3rem); max-width:560px; color:var(--ink-soft); font-weight:500}

/* ---------- search ---------- */
.search{
  position:relative; z-index:2; margin-top:2.2rem; max-width:680px;
  background:var(--card); border:2.5px solid var(--ink); border-radius:var(--r);
  box-shadow:var(--shadow-lg); padding:1.3rem;
  animation:rise .6s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes rise{from{opacity:0; transform:translateY(18px)}to{opacity:1; transform:none}}
.search__toggle{display:inline-flex; background:var(--cream); border:2px solid var(--ink); border-radius:999px; padding:.25rem; margin-bottom:1rem}
.seg{
  font-family:var(--font-body); font-weight:700; font-size:.95rem; border:none; cursor:pointer;
  background:transparent; color:var(--ink); padding:.5rem 1.1rem; border-radius:999px; transition:.15s;
}
.seg.is-active{background:var(--ink); color:var(--yellow)}
.search__form{display:flex; gap:.7rem}
.search__field{flex:1; display:flex; gap:.5rem}
.search__input{
  flex:1; width:100%; font-family:var(--font-mono); font-weight:500; font-size:1.15rem;
  letter-spacing:.04em; text-transform:uppercase; padding:.95rem 1.1rem;
  border:2.5px solid var(--ink); border-radius:14px; background:#fff; color:var(--ink);
}
.search__input::placeholder{color:#b3a890; text-transform:none; letter-spacing:0; font-family:var(--font-body)}
.search__input:focus{outline:none; box-shadow:inset 0 0 0 2px var(--orange)}
.search__state{
  font-family:var(--font-mono); font-weight:600; font-size:1rem; padding:0 .6rem;
  border:2.5px solid var(--ink); border-radius:14px; background:#fff; cursor:pointer; max-width:90px;
}
.search__meta{display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:.9rem; flex-wrap:wrap}
.sample-link{background:none; border:none; cursor:pointer; font-family:var(--font-body); font-weight:700; color:var(--orange); font-size:.92rem; padding:0}
.sample-link:hover{text-decoration:underline}
.search__hint{font-family:var(--font-mono); font-size:.78rem; color:var(--ink-soft)}
.search.is-error{animation:shake .3s}
@keyframes shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}

.hero__trust{list-style:none; display:flex; gap:1.8rem; flex-wrap:wrap; margin-top:1.6rem; position:relative; z-index:2; font-size:.95rem}
.hero__trust li{font-weight:500}
.hero__trust strong{font-family:var(--font-display); font-weight:800}

/* ---------- results ---------- */
.results{
  max-width:var(--maxw); margin:1rem auto 0; padding:0 1.5rem; position:relative; z-index:2;
  animation:rise .5s cubic-bezier(.2,.8,.2,1) both;
}
.results__head{
  display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; flex-wrap:wrap;
  background:var(--ink); color:var(--cream); border:2.5px solid var(--ink);
  border-radius:var(--r) var(--r) 0 0; padding:1.4rem 1.6rem;
}
.results__kicker{font-family:var(--font-mono); font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--yellow)}
.results__vin{font-family:var(--font-mono); font-weight:700; font-size:clamp(1.3rem,4vw,2rem); letter-spacing:.05em; word-break:break-all}
.results__head .btn{background:var(--yellow); color:var(--ink)}
.results__grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:0;
  background:var(--card); border:2.5px solid var(--ink); border-top:none;
}
.spec{padding:1.1rem 1.3rem; border-right:2px dashed rgba(22,19,12,.18); border-top:2px dashed rgba(22,19,12,.18)}
.spec:nth-child(-n+1){border-top:none}
.spec__label{font-family:var(--font-mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft)}
.spec__value{font-family:var(--font-display); font-weight:700; font-size:1.25rem; margin-top:.25rem; line-height:1.15}
.results__recalls{
  background:var(--card); border:2.5px solid var(--ink); border-top:none;
  border-radius:0 0 var(--r) var(--r); padding:1.4rem 1.6rem;
}
.recalls__title{font-family:var(--font-display); font-weight:800; font-size:1.3rem; display:flex; align-items:center; gap:.6rem; margin-bottom:.9rem}
.recalls__badge{font-family:var(--font-mono); font-weight:700; font-size:.85rem; padding:.15rem .6rem; border-radius:999px; border:2px solid var(--ink)}
.badge--clear{background:#0B7A3B; color:#fff; border-color:#0B7A3B}
.badge--alert{background:var(--orange); color:#fff; border-color:var(--orange)}
.recall{border-left:4px solid var(--orange); padding:.4rem 0 .4rem 1rem; margin-bottom:1rem}
.recall:last-child{margin-bottom:0}
.recall h4{font-family:var(--font-body); font-weight:700; font-size:1rem}
.recall p{font-size:.92rem; color:var(--ink-soft)}
.recall span{font-family:var(--font-mono); font-size:.74rem; color:var(--ink-soft)}
.results__foot{font-size:.86rem; color:var(--ink-soft); margin-top:1rem; max-width:720px}
.results__foot a{font-weight:700; text-decoration:underline}

/* spinner / states */
.state{padding:2.5rem 1.6rem; background:var(--card); border:2.5px solid var(--ink); border-top:none; border-radius:0 0 var(--r) var(--r); text-align:center; font-weight:600}
.spinner{width:34px; height:34px; border:4px solid rgba(22,19,12,.15); border-top-color:var(--orange); border-radius:50%; margin:0 auto 1rem; animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- sections ---------- */
section.what,section.how,section.cta,section.faq{max-width:var(--maxw); margin:0 auto; padding:5rem 1.5rem}
.section-head{max-width:680px; margin-bottom:2.6rem}
.section-head--center{margin-left:auto; margin-right:auto; text-align:center}
.section-title{font-family:var(--font-display); font-weight:800; letter-spacing:-.03em; font-size:clamp(2rem,5vw,3.2rem); line-height:1.02; margin:.6rem 0}
.section-lede{font-size:1.15rem; color:var(--ink-soft); font-weight:500}

/* cards */
.cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1.3rem}
.card{
  background:var(--card); border:2.5px solid var(--ink); border-radius:var(--r);
  padding:1.6rem; box-shadow:var(--shadow); position:relative; overflow:hidden;
  transition:transform .15s ease, box-shadow .15s ease;
}
.card::before{content:""; position:absolute; top:0; left:0; right:0; height:7px; background:var(--c,var(--orange))}
.card:hover{transform:translate(-3px,-3px); box-shadow:var(--shadow-lg)}
.card__icon{font-size:2rem; display:block; margin-bottom:.7rem}
.card h3{font-family:var(--font-display); font-weight:800; font-size:1.35rem; margin-bottom:.4rem}
.card p{color:var(--ink-soft); font-size:.98rem}
.card__tag{
  display:inline-block; margin-top:1rem; font-family:var(--font-mono); font-weight:700;
  font-size:.72rem; letter-spacing:.08em; text-transform:uppercase;
  padding:.3rem .7rem; border-radius:999px; border:2px solid var(--ink); background:var(--cream);
}
.tag--live{background:var(--c); color:#fff; border-color:var(--ink)}

/* steps */
.steps{list-style:none; display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.5rem; counter-reset:s}
.step{position:relative; padding:2rem 1.6rem; background:var(--ink); color:var(--cream); border-radius:var(--r); border:2.5px solid var(--ink)}
.step__num{font-family:var(--font-mono); font-weight:700; font-size:1rem; color:var(--yellow); letter-spacing:.1em}
.step h3{font-family:var(--font-display); font-weight:800; font-size:1.5rem; margin:.8rem 0 .5rem}
.step p{color:#cfc6b4; font-size:.98rem}

/* cta */
.cta{padding-top:1rem}
.cta__card{
  background:var(--ink); color:var(--cream); border-radius:28px; border:2.5px solid var(--ink);
  padding:clamp(2rem,5vw,3.5rem); text-align:center; box-shadow:var(--shadow-lg); position:relative; overflow:hidden;
}
.cta__card::after{
  content:""; position:absolute; right:-60px; bottom:-60px; width:240px; height:240px; border-radius:50%;
  background:radial-gradient(circle,var(--orange),transparent 70%); opacity:.5;
}
.cta__title{font-family:var(--font-display); font-weight:800; letter-spacing:-.03em; font-size:clamp(1.8rem,4.5vw,2.8rem); line-height:1.05; position:relative}
.cta__sub{max-width:540px; margin:1rem auto 1.8rem; color:#cfc6b4; font-size:1.08rem; position:relative}
.cta__form{display:flex; gap:.7rem; max-width:460px; margin:0 auto; position:relative; flex-wrap:wrap; justify-content:center}
.cta__form input{
  flex:1; min-width:200px; font-family:var(--font-body); font-size:1.05rem; padding:.9rem 1.2rem;
  border:2.5px solid var(--cream); border-radius:999px; background:transparent; color:var(--cream);
}
.cta__form input::placeholder{color:#9a917f}
.cta__form input:focus{outline:none; border-color:var(--yellow)}
.cta__note{margin-top:1rem; font-weight:700; color:var(--yellow); position:relative}

/* faq */
.faq__list{display:flex; flex-direction:column; gap:.9rem; max-width:820px}
.qa{
  background:var(--card); border:2.5px solid var(--ink); border-radius:16px; padding:.4rem 1.4rem;
  box-shadow:4px 4px 0 var(--ink);
}
.qa summary{
  font-family:var(--font-display); font-weight:700; font-size:1.15rem; cursor:pointer;
  list-style:none; padding:1rem 0; display:flex; justify-content:space-between; align-items:center; gap:1rem;
}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+"; font-family:var(--font-mono); font-size:1.6rem; color:var(--orange); transition:transform .2s; flex:none}
.qa[open] summary::after{transform:rotate(45deg)}
.qa p{color:var(--ink-soft); padding:0 0 1.2rem; font-size:1rem; max-width:680px}

/* footer */
.footer{position:relative; z-index:2; background:var(--ink); color:var(--cream); margin-top:3rem}
.footer__top{
  max-width:var(--maxw); margin:0 auto; padding:2.5rem 1.5rem; display:flex;
  align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap;
  border-bottom:1px solid rgba(255,248,234,.15);
}
.brand--footer .brand__mark{box-shadow:3px 3px 0 var(--orange)}
.footer__links{display:flex; gap:1.6rem; font-weight:600}
.footer__links a:hover{color:var(--yellow)}
.footer__bottom{max-width:var(--maxw); margin:0 auto; padding:1.6rem 1.5rem 2.5rem; display:flex; flex-direction:column; gap:.6rem}
.footer__bottom p{font-size:.86rem; color:#9a917f}
.footer__fine{max-width:760px}

/* responsive */
@media(max-width:820px){
  .nav__links{display:none}
  .search__form{flex-direction:column}
  .btn--go{justify-content:center}
  .ticker{font-size:4.5rem; top:7rem}
}
@media(max-width:520px){
  .hero{padding-top:2rem}
  .brand__word{font-size:1.3rem}
  .results__grid{grid-template-columns:repeat(2,1fr)}
}

@media(prefers-reduced-motion:reduce){
  *{animation:none !important; scroll-behavior:auto !important}
}

/* ============ Vehicle record page ============ */
.vehicle{max-width:var(--maxw); margin:0 auto; padding:2rem 1.5rem 4rem; position:relative; z-index:2}
.crumbs{font-family:var(--font-mono); font-size:.82rem; color:var(--ink-soft); margin-bottom:1.4rem; display:flex; gap:.5rem; flex-wrap:wrap; align-items:center}
.crumbs a{font-weight:700; text-decoration:underline}
.crumbs__vin{color:var(--ink); font-weight:700}

.vhero{
  background:var(--ink); color:var(--cream); border:2.5px solid var(--ink); border-radius:var(--r);
  box-shadow:var(--shadow-lg); padding:clamp(1.6rem,4vw,2.6rem); margin-bottom:1.6rem;
  display:flex; gap:1.5rem; justify-content:space-between; flex-wrap:wrap;
}
.vhero .eyebrow{background:var(--yellow); color:var(--ink)}
.vhero__title{font-family:var(--font-display); font-weight:800; letter-spacing:-.03em; font-size:clamp(1.9rem,5vw,3.2rem); line-height:1.02; margin:.4rem 0}
.vhero__vin{font-family:var(--font-mono); font-weight:700; font-size:clamp(1.1rem,3vw,1.6rem); color:var(--yellow); letter-spacing:.06em; word-break:break-all}
.vhero__desc{color:#cfc6b4; max-width:560px; margin-top:.9rem; font-size:1rem}
.vhero__badges{display:flex; flex-direction:column; gap:.6rem; align-items:flex-end}
.vbadge{font-family:var(--font-mono); font-weight:700; font-size:.85rem; padding:.4rem .9rem; border-radius:999px; border:2px solid var(--cream); white-space:nowrap}
.vbadge--alert{background:var(--orange); color:#fff; border-color:var(--orange)}
.vbadge--ok{background:#0B7A3B; color:#fff; border-color:#0B7A3B}

.vsection{background:var(--card); border:2.5px solid var(--ink); border-radius:var(--r); box-shadow:var(--shadow); padding:clamp(1.4rem,3vw,2rem); margin-bottom:1.6rem}
.vsection__h{font-family:var(--font-display); font-weight:800; font-size:1.5rem; margin-bottom:1.2rem; display:flex; align-items:center; gap:.7rem; flex-wrap:wrap}
.vmuted{color:var(--ink-soft)}

.vspecs{display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:0; border:2px solid var(--ink); border-radius:14px; overflow:hidden}
.vspec{padding:1rem 1.2rem; border-right:2px dashed rgba(22,19,12,.16); border-bottom:2px dashed rgba(22,19,12,.16)}
.vspec__label{font-family:var(--font-mono); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft)}
.vspec__value{font-family:var(--font-display); font-weight:700; font-size:1.15rem; margin-top:.2rem; line-height:1.15}

.recall__remedy{margin-top:.4rem; font-size:.9rem}
.vsection--locked{background:repeating-linear-gradient(135deg,var(--card),var(--card) 14px,#fff6e0 14px,#fff6e0 28px)}
.locked-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:.8rem; margin-top:1rem}
.locked-item{background:#fff; border:2px solid var(--ink); border-radius:12px; padding:.9rem 1rem; font-weight:700; font-family:var(--font-display)}

.vrecent,.home-recent{display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:.9rem}
.vrecent__item,.hr-item{display:flex; flex-direction:column; gap:.2rem; background:#fff; border:2px solid var(--ink); border-radius:12px; padding:.9rem 1.1rem; transition:transform .12s ease, box-shadow .12s ease}
.vrecent__item:hover,.hr-item:hover{transform:translate(-2px,-2px); box-shadow:4px 4px 0 var(--ink)}
.vrecent__name,.hr-name{font-family:var(--font-display); font-weight:800; font-size:1.05rem}
.vrecent__vin,.hr-vin{font-family:var(--font-mono); font-size:.78rem; color:var(--ink-soft); word-break:break-all}
.hr-flag{font-family:var(--font-mono); font-size:.7rem; font-weight:700; color:#fff; background:var(--orange); border-radius:999px; padding:.1rem .5rem; align-self:flex-start; margin-top:.3rem}
.home-recent{max-width:var(--maxw)}

/* ============ Paywalled report ============ */
.vreport__head{display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:.4rem}
.vreport__price{display:flex; flex-direction:column; align-items:flex-end; line-height:1}
.vreport__amt{font-family:var(--font-display); font-weight:800; font-size:1.8rem}
.vreport__cur{font-family:var(--font-mono); font-size:.72rem; color:var(--ink-soft); margin-top:.2rem}

.report-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:.7rem; margin-top:1rem}
.report-row{display:flex; align-items:center; gap:.8rem; background:#fff; border:2px solid var(--ink); border-radius:12px; padding:.8rem 1rem}
.report-row__icon{font-size:1.4rem; flex:none}
.report-row__text{display:flex; flex-direction:column; flex:1; min-width:0}
.report-row__label{font-family:var(--font-display); font-weight:700; font-size:1rem}
.report-row__desc{font-size:.82rem; color:var(--ink-soft)}
.report-row__lock{display:flex; align-items:center; gap:.5rem; color:var(--ink-soft); flex:none}
.report-row__lock .lockbar{display:inline-block; width:46px; height:11px; border-radius:4px;
  background:repeating-linear-gradient(90deg,#d9cfb8,#d9cfb8 6px,#efe7d2 6px,#efe7d2 12px); filter:blur(.5px)}

.vreport__cta{display:flex; align-items:center; gap:1rem; flex-wrap:wrap; margin-top:1.4rem}
.vreport__note{font-family:var(--font-mono); font-size:.78rem; color:var(--ink-soft)}
.notice{background:#fff6e0; border:2px dashed var(--ink); border-radius:14px; padding:1.2rem 1.3rem}

/* ============ At-a-glance summary ============ */
.glance{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:.8rem}
.glance__item{display:flex; flex-direction:column; gap:.25rem; background:#fff; border:2px solid var(--ink); border-radius:12px; padding:.9rem 1rem; position:relative; overflow:hidden}
.glance__item::before{content:""; position:absolute; top:0; left:0; bottom:0; width:6px; background:var(--ink)}
.glance__item.g-ok::before{background:#0B7A3B}
.glance__item.g-warn::before{background:var(--orange)}
.glance__k{font-family:var(--font-mono); font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); padding-left:.5rem}
.glance__v{font-family:var(--font-display); font-weight:800; font-size:1.25rem; line-height:1.05; padding-left:.5rem}
.g-ok .glance__v{color:#0B7A3B}
.g-warn .glance__v{color:var(--orange)}

/* ============ Vehicle photo ============ */
.vphoto{margin-bottom:1.6rem; border:2.5px solid var(--ink); border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow); background:#fff}
.vphoto img{display:block; width:100%; max-height:460px; object-fit:cover}
.vphoto figcaption{font-family:var(--font-mono); font-size:.72rem; color:var(--ink-soft); padding:.5rem .9rem; background:var(--cream); border-top:2px solid var(--ink)}
.vphoto figcaption a{font-weight:700; text-decoration:underline}

/* ============ Account / auth pages ============ */
.auth-wrap{max-width:var(--maxw); margin:0 auto; padding:3rem 1.5rem 5rem; position:relative; z-index:2; display:flex; justify-content:center}
.auth-card{background:var(--card); border:2.5px solid var(--ink); border-radius:var(--r); box-shadow:var(--shadow-lg); padding:clamp(1.6rem,4vw,2.6rem); width:100%; max-width:440px}
.auth-card--wide{max-width:760px}
.auth-card__h{font-family:var(--font-display); font-weight:800; font-size:clamp(1.6rem,4vw,2.2rem); letter-spacing:-.02em; margin-bottom:.4rem}
.auth-card__sub{color:var(--ink-soft); margin-bottom:1.4rem}
.auth-form{display:flex; flex-direction:column; gap:1rem}
.auth-form label{display:flex; flex-direction:column; gap:.35rem; font-weight:700; font-size:.9rem}
.auth-form input{font-family:var(--font-body); font-size:1.05rem; padding:.8rem 1rem; border:2.5px solid var(--ink); border-radius:12px; background:#fff}
.auth-form input:focus{outline:none; box-shadow:inset 0 0 0 2px var(--orange)}
.auth-form .btn--go{justify-content:center; margin-top:.4rem}
.auth-err{background:#ffe3d6; border:2px solid var(--orange); border-radius:10px; padding:.7rem 1rem; margin-bottom:1rem; font-weight:600; font-size:.92rem}
.auth-alt{margin-top:1.2rem; font-size:.92rem; color:var(--ink-soft)}
.auth-alt a{font-weight:700; text-decoration:underline}
.dash-h{font-family:var(--font-display); font-weight:800; font-size:1.25rem; margin:1.8rem 0 .8rem}
.dash-list{display:flex; flex-direction:column; gap:.7rem}
.dash-item{display:flex; flex-wrap:wrap; gap:.3rem 1rem; align-items:baseline; background:#fff; border:2px solid var(--ink); border-radius:12px; padding:.9rem 1.1rem; transition:transform .12s, box-shadow .12s}
.dash-item:hover{transform:translate(-2px,-2px); box-shadow:4px 4px 0 var(--ink)}
.dash-item__name{font-family:var(--font-display); font-weight:800; font-size:1.05rem; flex:1}
.dash-item__vin{font-family:var(--font-mono); font-size:.78rem; color:var(--ink-soft)}
.dash-item__date{font-size:.8rem; color:var(--ink-soft); width:100%}

/* ============ Trust bar + legal prose ============ */
.trustbar{display:flex; flex-wrap:wrap; gap:.6rem 1.6rem; justify-content:center; max-width:var(--maxw); margin:0 auto; padding:1.1rem 1.5rem; border-top:1px solid rgba(255,248,234,.15)}
.trustbar span{font-family:var(--font-mono); font-size:.8rem; font-weight:500; color:var(--cream); opacity:.92; white-space:nowrap}
.prose{line-height:1.65}
.prose h2{font-family:var(--font-display); font-weight:800; font-size:1.2rem; margin:1.5rem 0 .5rem}
.prose p,.prose li{color:var(--ink-soft)}
.prose ul{margin:.3rem 0 .3rem 1.2rem}
.prose li{margin:.3rem 0}
.prose a{font-weight:700; text-decoration:underline}

/* ============ Admin dashboard ============ */
.adm-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:.8rem; margin:.6rem 0 .4rem}
.adm-stat{background:#fff; border:2px solid var(--ink); border-radius:12px; padding:1rem; text-align:center}
.adm-stat__n{display:block; font-family:var(--font-display); font-weight:800; font-size:1.5rem; line-height:1}
.adm-stat__l{display:block; font-family:var(--font-mono); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); margin-top:.4rem}
.adm-prog{background:#fff; border:2px solid var(--ink); border-radius:12px; padding:1.1rem}
.adm-prog__top{font-size:1.05rem; margin-bottom:.6rem}
.pbar{height:14px; background:var(--cream); border:2px solid var(--ink); border-radius:999px; overflow:hidden}
.pbar__fill{height:100%; background:var(--orange); transition:width .4s}
.adm-pill{font-family:var(--font-mono); font-size:.7rem; font-weight:700; padding:.15rem .6rem; border-radius:999px; border:2px solid var(--ink); margin-left:.5rem}
.adm-pill--run{background:var(--yellow)} .adm-pill--ok{background:#0B7A3B;color:#fff;border-color:#0B7A3B} .adm-pill--idle{background:var(--cream)}
.adm-prog code{font-family:var(--font-mono)}

/* ---------- hero records counter ---------- */
.hero__count{display:inline-flex; align-items:center; gap:.5rem; margin-top:1.2rem; padding:.4rem .9rem;
  background:var(--ink); color:var(--cream); border-radius:999px; font-family:var(--font-mono);
  font-size:.82rem; font-weight:500; position:relative; z-index:2}
.hero__count strong{color:var(--yellow); font-family:var(--font-display); font-weight:800; font-size:1rem}
.hero__count-dot{width:8px; height:8px; border-radius:50%; background:#2ecc71; box-shadow:0 0 0 0 rgba(46,204,113,.6); animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(46,204,113,.6)}70%{box-shadow:0 0 0 7px rgba(46,204,113,0)}100%{box-shadow:0 0 0 0 rgba(46,204,113,0)}}

/* ---------- recently searched cards with thumbnails ---------- */
.home-recent .hr-item, .vrecent .vrecent__item{flex-direction:column; gap:0; padding:0; overflow:hidden}
.hr-thumb, .vrecent__thumb{display:block; width:100%; aspect-ratio:16/10; overflow:hidden; background:var(--cream); border-bottom:2px solid var(--ink)}
.hr-thumb img, .vrecent__thumb img{width:100%; height:100%; object-fit:cover; display:block}
.hr-body, .vrecent__body{display:flex; flex-direction:column; gap:.2rem; padding:.8rem .9rem}

/* ---------- conversion teaser (found box) ---------- */
.found-box{background:var(--ink); color:var(--cream); border:2.5px solid var(--ink); border-radius:14px; padding:1.2rem 1.4rem; margin-bottom:1.3rem}
.found-box__h{font-family:var(--font-display); font-weight:800; font-size:1.15rem; margin-bottom:.85rem}
.found-box__h span{font-family:var(--font-mono); color:var(--yellow); font-size:.85em}
.found-list{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:.55rem}
.found-item{font-size:.95rem; font-weight:600}
.found-item--ok{color:#7CE2A0}
.found-item--alert{color:#FFB37A}
.found-item--lock{color:#bdb4a0}

/* ---------- homepage data-source trust section ---------- */
.trust-sec{max-width:var(--maxw); margin:0 auto; padding:1rem 1.5rem 2rem}
.trust-sources{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1.2rem; margin-top:1.6rem; align-items:stretch}
.trust-src{display:flex; flex-direction:column; background:var(--card); border:2.5px solid var(--ink); border-radius:var(--r); box-shadow:var(--shadow); padding:1.4rem}
.trust-src__t{font-family:var(--font-display); font-weight:800; font-size:1.15rem; display:flex; align-items:center; gap:.5rem; line-height:1.15}
.trust-src__d{color:var(--ink-soft); font-size:.92rem; margin-top:.5rem}
.trust-src__tag{align-self:flex-start; margin-top:auto; font-family:var(--font-mono); font-size:.68rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; background:var(--cream); border:2px solid var(--ink); border-radius:999px; padding:.25rem .7rem}

/* ---------- browse-by-make chips ---------- */
.browse-makes{display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.4rem}
.browse-make{background:var(--card); border:2.5px solid var(--ink); border-radius:999px; padding:.55rem 1.2rem; font-family:var(--font-display); font-weight:800; box-shadow:3px 3px 0 var(--ink); transition:transform .12s, box-shadow .12s, background .15s}
.browse-make:hover{transform:translate(-2px,-2px); box-shadow:5px 5px 0 var(--orange); background:var(--yellow)}

/* ---------- partner offers (lead-gen / affiliate) ---------- */
.partners__lede{color:var(--ink-soft); margin:.3rem 0 1.3rem; font-size:1rem}
.partners__disc{display:block; font-size:.82rem; color:var(--ink-soft); opacity:.8; margin-top:.2rem}
.partner-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.1rem}
.partner-card{display:flex; align-items:flex-start; gap:.9rem; background:var(--card); border:2.5px solid var(--ink); border-radius:var(--r); box-shadow:var(--shadow); padding:1.2rem 1.3rem; transition:transform .12s, box-shadow .12s}
.partner-card:hover{transform:translate(-3px,-3px); box-shadow:9px 9px 0 var(--orange)}
.partner-card__icon{font-size:1.7rem; line-height:1; flex:0 0 auto}
.partner-card__body{display:flex; flex-direction:column; gap:.25rem; flex:1 1 auto}
.partner-card__label{font-family:var(--font-display); font-weight:800; font-size:1.06rem; color:var(--ink)}
.partner-card__blurb{color:var(--ink-soft); font-size:.9rem; line-height:1.4}
.partner-card__cta{display:block; margin-top:.55rem; font-family:var(--font-mono); font-weight:700; font-size:.82rem; color:var(--orange); text-transform:uppercase; letter-spacing:.03em}

/* ---------- pricing page + subscription UI ---------- */
.price-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.3rem; margin-top:1.6rem}
.price-card{position:relative; display:flex; flex-direction:column; background:var(--card); border:2.5px solid var(--ink); border-radius:var(--r); box-shadow:var(--shadow); padding:1.7rem 1.5rem}
.price-card--feature{background:var(--yellow); box-shadow:var(--shadow-lg)}
.price-card__tag{align-self:flex-start; font-family:var(--font-mono); font-weight:700; font-size:.66rem; text-transform:uppercase; letter-spacing:.08em; background:var(--ink); color:var(--cream); padding:.28rem .6rem; border-radius:999px}
.price-card__tag--hot{background:var(--orange); color:#fff}
.price-card__name{font-family:var(--font-display); font-weight:800; font-size:1.5rem; margin:.9rem 0 .2rem}
.price-line{display:flex; align-items:baseline; gap:.4rem; margin:.2rem 0 1rem}
.price-amt{font-family:var(--font-display); font-weight:800; font-size:2.4rem; line-height:1}
.price-cyc{font-family:var(--font-mono); font-size:.85rem; color:var(--ink-soft)}
.price-feats{list-style:none; padding:0; margin:0 0 1.4rem; display:flex; flex-direction:column; gap:.55rem; flex:1 1 auto}
.price-feats li{position:relative; padding-left:1.5rem; font-size:.95rem; line-height:1.35}
.price-feats li::before{content:"✓"; position:absolute; left:0; top:0; font-weight:800; color:var(--accent,#0B7A3B)}
.price-card__cta{margin-top:auto; align-self:stretch; text-align:center}
.sub-benefits{list-style:none; padding:0; margin:1.2rem 0 0; display:flex; flex-direction:column; gap:.6rem}
.sub-benefits li{position:relative; padding-left:1.6rem; font-size:1rem}
.sub-benefits li::before{content:"✓"; position:absolute; left:0; font-weight:800; color:#0B7A3B}
.sub-actions{display:flex; flex-wrap:wrap; gap:.7rem}
.price-line .price-amt{font-size:2.2rem}
.vreport__sub{display:inline-block; margin-top:.7rem; font-family:var(--font-mono); font-size:.9rem; color:var(--ink); border-bottom:2px solid var(--orange); padding-bottom:1px}
.vreport__sub:hover{color:var(--orange)}
.dash-sub{background:var(--card); border:2.5px solid var(--ink); border-radius:var(--r); box-shadow:3px 3px 0 var(--ink); padding:1.2rem 1.3rem; margin-bottom:.6rem}
.dash-sub--active{background:var(--yellow)}
.dash-flash{background:var(--yellow); border:2.5px solid var(--ink); border-radius:var(--r); box-shadow:3px 3px 0 var(--ink); padding:.9rem 1.2rem; margin:1rem 0; font-weight:600}

/* ---------- image lightbox (click any photo to view full size) ---------- */
.vphoto img { cursor: zoom-in; }
.lightbox { position: fixed; inset: 0; z-index: 2000; display: none; align-items: center; justify-content: center;
  background: rgba(15,12,8,.92); padding: 2rem; cursor: zoom-out; }
.lightbox.is-open { display: flex; }
.lightbox__img { max-width: 95vw; max-height: 90vh; width: auto; height: auto; object-fit: contain;
  background: var(--card); border: 3px solid var(--ink); border-radius: 10px;
  box-shadow: 12px 12px 0 rgba(0,0,0,.45); cursor: default; }
.lightbox__close { position: absolute; top: 1.1rem; right: 1.3rem; width: 46px; height: 46px; border-radius: 999px;
  border: 2.5px solid #fff; background: rgba(0,0,0,.45); color: #fff; font-size: 1.7rem; line-height: 1; font-family: var(--font-display);
  cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .15s, transform .12s; }
.lightbox__close:hover { background: var(--orange); border-color: var(--orange); transform: scale(1.05); }

/* ---------- clickable "open recalls" badge → jump to recalls section ---------- */
html { scroll-behavior: smooth; }
#recalls { scroll-margin-top: 90px; }
a.vbadge--link { cursor: pointer; text-decoration: none; transition: transform .12s, box-shadow .12s, filter .12s; }
a.vbadge--link:hover { transform: translateY(-1px); filter: brightness(1.05); text-decoration: none; box-shadow: 0 3px 0 var(--ink); }

/* ---------- recall-alert "Watch this VIN" box ---------- */
.watchbox { display:flex; gap:1rem; align-items:flex-start; margin-top:1.6rem; padding:1.3rem 1.4rem;
  background:var(--yellow); border:2.5px solid var(--ink); border-radius:var(--r); box-shadow:4px 4px 0 var(--ink); }
.watchbox__icon { font-size:1.8rem; line-height:1; flex:0 0 auto }
.watchbox__body { flex:1 1 auto; min-width:0 }
.watchbox__h { font-family:var(--font-display); font-weight:800; font-size:1.1rem; display:block }
.watchbox__p { color:var(--ink-soft); font-size:.92rem; margin:.25rem 0 .9rem }
.watch-form { display:flex; gap:.6rem; flex-wrap:wrap }
.watch-form input[type=email] { flex:1 1 220px; min-width:0; font-family:var(--font-body); font-size:1rem;
  padding:.7rem .95rem; border:2.5px solid var(--ink); border-radius:12px; background:#fff; color:var(--ink) }
.watch-form input[type=email]:focus { outline:none; box-shadow:inset 0 0 0 2px var(--orange) }
.watch-form .btn { flex:0 0 auto }
.watch-hp { position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0; pointer-events:none }
/* dashboard recall-alert rows */
.dash-count { font-family:var(--font-mono); font-size:.8rem; background:var(--ink); color:var(--yellow); padding:.15rem .5rem; border-radius:999px; vertical-align:middle }
.dash-item--row { display:flex; align-items:center; justify-content:space-between; gap:1rem }
.dash-item__link { display:flex; flex-direction:column; flex:1 1 auto; min-width:0 }
.dash-item__unwatch { flex:0 0 auto; font-family:var(--font-mono); font-size:.78rem; color:var(--orange); border-bottom:1.5px solid var(--orange); padding-bottom:1px }
.dash-item__unwatch:hover { color:var(--ink); border-color:var(--ink) }

/* ---------- "Common problems & what to inspect" ---------- */
.problem-flags { display:flex; flex-wrap:wrap; gap:.6rem; margin:0 0 1.2rem }
.pflag { font-family:var(--font-mono); font-size:.8rem; font-weight:700; background:var(--ink); color:var(--cream);
  padding:.35rem .7rem; border-radius:999px }
.pflag--hot { background:var(--orange); color:#fff }
.problems { display:flex; flex-direction:column; gap:1rem }
.problem { background:var(--card); border:2.5px solid var(--ink); border-radius:var(--r); box-shadow:3px 3px 0 var(--ink); padding:1rem 1.2rem }
.problem__head { display:flex; align-items:baseline; justify-content:space-between; gap:1rem }
.problem__name { font-family:var(--font-display); font-weight:800; font-size:1.05rem }
.problem__count { font-family:var(--font-mono); font-size:.78rem; color:var(--ink-soft); flex:0 0 auto }
.problem__bar { height:8px; background:var(--cream); border:1.5px solid var(--ink); border-radius:999px; overflow:hidden; margin:.5rem 0 .6rem }
.problem__bar span { display:block; height:100%; background:var(--orange) }
.problem__tip { font-size:.92rem; color:var(--ink-soft); line-height:1.45 }
.checklist__h { font-family:var(--font-display); font-weight:800; font-size:1.15rem; margin:1.6rem 0 .7rem }
.checklist { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.55rem }
.checklist li { position:relative; padding-left:1.7rem; font-size:.96rem; line-height:1.45 }
.checklist li::before { content:"✓"; position:absolute; left:0; top:0; font-weight:800; color:#0B7A3B }

/* ---------- free market-value range ---------- */
.valrange { background:var(--card); border:2.5px solid var(--ink); border-radius:var(--r); box-shadow:var(--shadow); padding:1.5rem 1.5rem 1.2rem; }
.valrange__ends { display:flex; justify-content:space-between; font-family:var(--font-display); font-weight:800; font-size:1.25rem; }
.valrange__track { position:relative; height:12px; margin:.9rem 0 2.4rem; border-radius:999px;
  background:linear-gradient(90deg, #FFD75E 0%, var(--orange) 50%, #E4002B 100%); border:2.5px solid var(--ink); }
.valrange__marker { position:absolute; top:50%; width:3px; height:26px; background:var(--ink); transform:translate(-50%,-50%); border-radius:2px; }
.valrange__bub { position:absolute; bottom:-30px; left:50%; transform:translateX(-50%); white-space:nowrap;
  font-family:var(--font-mono); font-weight:700; font-size:.78rem; background:var(--ink); color:var(--yellow); padding:.25rem .55rem; border-radius:999px; }
.valrange__labels { display:flex; justify-content:space-between; font-family:var(--font-mono); font-size:.72rem; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.08em; }
.valrange__cta { margin-top:1.3rem; padding:1.2rem 1.3rem; background:var(--yellow); border:2.5px solid var(--ink); border-radius:var(--r); box-shadow:3px 3px 0 var(--ink); }
.valrange__cta p { margin-bottom:.8rem }

/* ---------- share / save-as-PDF actions ---------- */
.vactions { display:flex; gap:.7rem; margin:0 0 1.4rem; flex-wrap:wrap }
.vaction { font-family:var(--font-body); font-weight:700; font-size:.92rem; cursor:pointer;
  background:var(--card); color:var(--ink); border:2.5px solid var(--ink); border-radius:999px; padding:.5rem 1.1rem;
  display:inline-flex; align-items:center; gap:.4rem; box-shadow:3px 3px 0 var(--ink); transition:transform .12s, box-shadow .12s; }
.vaction:hover { transform:translate(-2px,-2px); box-shadow:5px 5px 0 var(--orange) }
.print-head { display:none }

/* ---------- print / "Save as PDF" — clean, mechanic-ready report ---------- */
@media print {
  .grain, .nav, .footer, .vactions, .watchbox, .partners, .search, .lightbox,
  ins, .adsbygoogle, .vreport__cta, .found-box, .report-grid, .valrange__cta,
  .vreport__price, .crumbs, .recalls__badge { display:none !important; }
  body { background:#fff !important; }
  body, .vsection, .vspec, .problem, .recall, .valrange, .glance__item, .vhero {
    color:#000 !important; box-shadow:none !important; }
  .vsection, .vspec, .problem, .recall, .valrange { border-color:#999 !important; break-inside:avoid; }
  main, .vehicle { max-width:100% !important; padding:0 !important; }
  a { color:#000 !important; text-decoration:none !important; }
  .print-head { display:block !important; font-family:var(--font-display); font-weight:800; font-size:13pt;
    border-bottom:2px solid #000; padding-bottom:6px; margin-bottom:14px; }
  .print-head span { color:#000 }
  .vhero__title { font-size:22pt }
  .vphoto img { max-height:260px; width:auto }
  .valrange__track { -webkit-print-color-adjust:exact; print-color-adjust:exact }
}

/* ---------- bulk VIN lookup + compare tools ---------- */
.bulk-form { display:flex; flex-direction:column; gap:.7rem }
.bulk-label { font-family:var(--font-mono); font-size:.8rem; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-soft) }
.bulk-input { width:100%; font-family:var(--font-mono); font-size:1rem; line-height:1.6; padding:1rem 1.1rem;
  border:2.5px solid var(--ink); border-radius:14px; background:#fff; color:var(--ink); resize:vertical }
.bulk-input:focus { outline:none; box-shadow:inset 0 0 0 2px var(--orange) }
.bulk-meta { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap }
.bulk-resulthead { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:1rem }
.bulk-warn { background:var(--yellow); border:2.5px solid var(--ink); border-radius:12px; padding:.7rem 1rem; margin-bottom:1rem; font-size:.92rem }
.bulk-tablewrap { overflow-x:auto; border:2.5px solid var(--ink); border-radius:var(--r); box-shadow:var(--shadow) }
.bulk-table, .cmp-table { width:100%; border-collapse:collapse; background:var(--card); font-size:.93rem }
.bulk-table th, .bulk-table td, .cmp-table th, .cmp-table td { padding:.7rem .9rem; text-align:left; border-bottom:1.5px solid rgba(22,19,12,.12); vertical-align:top }
.bulk-table thead th, .cmp-table thead th { font-family:var(--font-mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; background:var(--ink); color:var(--cream); white-space:nowrap }
.bulk-table tbody tr:last-child td, .cmp-table tbody tr:last-child td { border-bottom:none }
.bulk-table .mono, .cmp-table .mono { font-family:var(--font-mono); font-size:.85rem }
.bulk-alert { background:var(--orange); color:#fff; font-weight:700; padding:.1rem .5rem; border-radius:999px }
.bulk-row--bad td { color:var(--ink-soft) }
.bulk-view { white-space:nowrap; font-family:var(--font-mono); font-size:.82rem; color:var(--orange); font-weight:700 }
/* compare */
.cmp-form { display:flex; align-items:center; gap:.7rem; flex-wrap:wrap }
.cmp-input { flex:1 1 220px; min-width:0; font-family:var(--font-mono); font-size:1rem; text-transform:uppercase;
  padding:.85rem 1rem; border:2.5px solid var(--ink); border-radius:12px; background:#fff; color:var(--ink) }
.cmp-input:focus { outline:none; box-shadow:inset 0 0 0 2px var(--orange) }
.cmp-vs { font-family:var(--font-display); font-weight:800; color:var(--ink-soft) }
.cmp-table th:first-child { font-family:var(--font-mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-soft); white-space:nowrap; background:var(--cream) }
.cmp-table thead th { vertical-align:bottom }
.cmp-v.cmp-better { background:rgba(11,122,59,.13); font-weight:700 }
.cmp-v.cmp-worse { color:var(--ink-soft) }

/* ===== polish pass (2026-06-19): value-range stats, action buttons, bulk badges ===== */
.valrange { padding:1.4rem 1.4rem 1.2rem }
.vstats { display:grid; grid-template-columns:repeat(3,1fr); gap:.8rem }
.vstat { text-align:center; background:var(--cream); border:2.5px solid var(--ink); border-radius:14px; padding:.95rem .5rem }
.vstat--hl { background:var(--yellow); box-shadow:3px 3px 0 var(--ink) }
.vstat__k { font-family:var(--font-mono); font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-soft) }
.vstat--hl .vstat__k { color:var(--ink); font-weight:700 }
.vstat__v { font-family:var(--font-display); font-weight:800; font-size:clamp(1.3rem,4.4vw,1.95rem); line-height:1.1; margin-top:.25rem }
.vbar { position:relative; height:10px; margin:1.4rem 0 .9rem; border-radius:999px; border:2.5px solid var(--ink);
  background:linear-gradient(90deg,#FFD75E,var(--orange),#E4002B) }
.vbar__dot { position:absolute; top:50%; width:18px; height:18px; transform:translate(-50%,-50%); border-radius:50%;
  background:#fff; border:3px solid var(--ink); box-shadow:1px 1px 0 var(--ink) }
.vbar__note { font-size:.9rem; color:var(--ink-soft); line-height:1.45 }

/* share / save-as-PDF — match the site's button family; print button is the dark/primary one */
.vaction { font-family:var(--font-body); font-weight:700; font-size:.92rem; cursor:pointer;
  background:var(--cream); color:var(--ink); border:2.5px solid var(--ink); border-radius:999px;
  padding:.6rem 1.2rem; display:inline-flex; align-items:center; gap:.45rem;
  box-shadow:3px 3px 0 var(--ink); transition:transform .12s, box-shadow .12s, background .15s }
.vaction:hover { transform:translate(-2px,-2px); box-shadow:5px 5px 0 var(--orange); background:#fff }
.vaction[data-print] { background:var(--ink); color:var(--yellow) }
.vaction[data-print]:hover { background:var(--ink); color:var(--yellow); box-shadow:5px 5px 0 var(--orange) }

/* bulk table — zebra rows, hover, title badges */
.bulk-table tbody tr:nth-child(even) td { background:rgba(22,19,12,.025) }
.bulk-table tbody tr:hover td { background:var(--yellow) }
.tbadge { display:inline-block; font-family:var(--font-mono); font-weight:700; font-size:.72rem; padding:.18rem .55rem; border-radius:999px; white-space:nowrap; border:2px solid var(--ink) }
.tbadge--ok { background:#0B7A3B; color:#fff }
.tbadge--bad { background:var(--orange); color:#fff }
@media print { .vbar, .vstat--hl, .tbadge { -webkit-print-color-adjust:exact; print-color-adjust:exact } }

/* ---------- subscription fair-use cap UI ---------- */
.dash-usage { font-family:var(--font-mono); font-size:.85rem; color:var(--ink-soft); margin-top:.5rem }
.cap-notice { background:var(--yellow); border:2.5px solid var(--ink); border-radius:var(--r); box-shadow:3px 3px 0 var(--ink); padding:1rem 1.2rem; margin-bottom:1.2rem; font-size:.95rem; line-height:1.5 }

/* ---------- keyword landing pages ---------- */
.lp-search { display:flex; gap:.7rem; max-width:620px; margin-top:1.6rem; flex-wrap:wrap; }
.lp-search__field { flex:1; min-width:240px; display:flex; gap:.5rem; }
.lp-search__input { flex:1; width:100%; font-family:var(--font-mono); font-weight:500; font-size:1.1rem;
  padding:.95rem 1.1rem; border:2.5px solid var(--ink); border-radius:14px; background:#fff; color:var(--ink); }
.lp-search__input:focus { outline:none; box-shadow:inset 0 0 0 2px var(--orange); }
.lp-search__input::placeholder { color:#b3a890; font-family:var(--font-body); }
.lp-hint { font-family:var(--font-mono); font-size:.78rem; color:var(--ink-soft); margin-top:.8rem; }
.lp-feats { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:.4rem; }
.lp-feat { background:var(--card); border:2.5px solid var(--ink); border-radius:999px; padding:.5rem 1rem;
  font-weight:600; font-size:.92rem; box-shadow:3px 3px 0 var(--ink); }
