:root {
  --red: #d32f2f;
  --black: #111111;
  --white: #ffffff;
  --gray: #e8e8e8;
  --muted: #a0a0a0;
}
* { box-sizing: border-box; }
html, body { margin: 0; font-family: Inter, Roboto, system-ui, sans-serif; color: var(--white); background: var(--black); }
a { color: inherit; }
img { max-width: 100%; display: block; height: auto; }
.container { width: min(1100px, 92vw); margin-inline: auto; }
.section { padding: 2.5rem 0; }
.skip-link { position:absolute; left:-999px; }
.skip-link:focus { left:1rem; top:1rem; background:#fff; color:#000; padding:.5rem; z-index:9999; }
.promo-strip { position: sticky; top: 0; z-index: 50; background: linear-gradient(180deg, #d73333 0%, #c52828 100%); color: #fff; display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem; align-items:center; padding:.45rem .75rem; font-weight:700; font-size:.95rem; text-align:center; border-bottom:1px solid rgba(255,255,255,.14); }
.promo-message { margin:0; letter-spacing:.01em; }
.promo-link { text-decoration:none; display:inline-flex; align-items:center; justify-content:center; padding:.38rem .75rem; border-radius:999px; border:1px solid rgba(255,255,255,.38); background:rgba(255,255,255,.12); font-size:.88rem; white-space:nowrap; }
.site-header { background:linear-gradient(180deg, #181818 0%, #131313 100%); border-bottom:1px solid #2c2c2c; box-shadow:0 10px 30px rgba(0,0,0,.18); }
.nav { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.85rem; padding:.8rem 0; }
.brand-lockup { display:flex; align-items:center; gap:.75rem; }
.brand-logo { width:96px; height:96px; border-radius:1rem; object-fit:contain; background:#fff; padding:0; box-shadow:0 8px 24px rgba(0,0,0,.28); }
.brand-copy { min-width:0; }
.brand { font-weight:800; font-size:1.05rem; line-height:1.05; margin:0 0 .18rem; }
.tag { margin:0; font-size:.82rem; line-height:1.2; color:var(--muted); max-width:17rem; }
.hero { display:grid; gap:1.5rem; padding:2rem 0; align-items:center; }
.hero img { width:100%; border-radius:1rem; border:1px solid #333; background:#171717; object-fit:cover; }
.hero h1 { font-size:clamp(1.8rem, 5vw, 3rem); line-height:1.1; margin:.5rem 0; }
.eyebrow { color:#ff8076; font-weight:700; margin:0; }
.hero-copy { color:#ededed; }
.hero-pills { display:flex; flex-wrap:wrap; gap:.5rem; margin:1rem 0; }
.hero-pills span { border:1px solid #3b3b3b; border-radius:999px; padding:.35rem .7rem; font-size:.85rem; }
.hero-ctas { display:flex; flex-wrap:wrap; gap:.65rem; }
.button { display:inline-block; border-radius:.7rem; padding:.75rem 1rem; text-decoration:none; font-weight:700; border:2px solid transparent; }
.button-primary { background:var(--red); color:#fff; }
.button-secondary { background:transparent; border-color:#fff; }
.button:focus-visible, .accordion:focus-visible, select:focus-visible, .support-widget:focus-visible { outline:3px solid #fff; outline-offset:2px; }
.trust-bar { background:#1d1d1d; border-top:1px solid #333; border-bottom:1px solid #333; }
.trust-grid { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; padding:.8rem 0; font-size:.9rem; }
.card-grid { display:grid; gap:1rem; }
.card { background:#1a1a1a; border:1px solid #333; border-radius:1rem; padding:1rem; }
.card-media { width:100%; border-radius:.85rem; border:1px solid #2f2f2f; margin:.25rem 0 .9rem; background:#121212; object-fit:cover; aspect-ratio: 4 / 3; }
.badge { display:inline-block; font-size:.78rem; font-weight:700; background:#2d2d2d; color:#ffb4b4; padding:.25rem .55rem; border-radius:999px; margin-bottom:.5rem; }
.text-link { color:#ff8d8d; font-weight:700; }
.small-note { color:#c7c7c7; font-size:.93rem; }
.accordion-group { display:grid; gap:.6rem; }
.accordion { width:100%; text-align:left; background:#181818; color:#fff; border:1px solid #444; border-radius:.7rem; padding:.8rem; font-weight:700; }
.panel { display:none; padding:.25rem .6rem .8rem; color:#ddd; }
.panel.open { display:block; }
.calculator { background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02)); border:1px solid #3b3b3b; border-radius:1rem; padding:1rem; backdrop-filter: blur(6px); }
.calc-grid { display:grid; gap:.9rem; }
select, input, textarea { width:100%; background:#111; color:#fff; border:1px solid #555; border-radius:.6rem; padding:.65rem; font:inherit; }
textarea { resize:vertical; min-height:120px; }
.calc-output { border:1px solid #444; border-radius:.7rem; padding:.9rem; background:#111; min-height:86px; }
.feature-list { margin:0; padding-left:1.1rem; display:grid; gap:.45rem; }
.callout { background:#311; border-left:4px solid var(--red); padding:.8rem; border-radius:.5rem; }
.finance-shell { display:grid; gap:1rem; }
.table-card { background:#161616; border:1px solid #333; border-radius:1rem; padding:1rem; }
.table-card h3 { margin-top:0; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; min-width:680px; }
th, td { padding:.7rem; border-bottom:1px solid #303030; text-align:left; vertical-align:top; }
thead th { color:#ffb4b4; font-size:.9rem; }
tbody tr:last-child th, tbody tr:last-child td { border-bottom:none; }
.final-cta { text-align:center; }
.lead-shell { display:grid; gap:1.25rem; align-items:start; }
.lead-form { background:#161616; border:1px solid #333; border-radius:1rem; padding:1rem; }
.form-grid { display:grid; gap:.9rem; }
.checkbox-row { display:flex; gap:.75rem; align-items:flex-start; margin-top:1rem; }
.checkbox-row input { width:auto; margin-top:.2rem; }
.form-status { min-height:1.5rem; margin:.85rem 0 0; color:#c7c7c7; }
.form-status.is-success { color:#92f2a3; }
.form-status.is-error { color:#ff9d9d; }
.form-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1rem; }
.site-footer { background:#0a0a0a; border-top:1px solid #303030; color:#d5d5d5; padding:2rem 0; }
.footer-brand { display:flex; align-items:center; gap:1rem; margin-bottom:1rem; }
.footer-logo { width:104px; height:104px; border-radius:1rem; object-fit:contain; background:#fff; padding:0; box-shadow:0 10px 28px rgba(0,0,0,.35); }
.support-widget { position:fixed; right:1rem; bottom:1rem; border:none; border-radius:999px; background:rgba(211,47,47,.95); color:#fff; padding:.8rem 1rem; font-weight:700; box-shadow:0 8px 24px rgba(0,0,0,.35); cursor:pointer; }
.noscript { background:#fff4d6; color:#331f00; padding:.75rem; text-align:center; }
@media (min-width: 760px) {
  .hero { grid-template-columns: 1.1fr .9fr; }
  .card-grid { grid-template-columns: repeat(3, 1fr); }
  .finance-shell { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .trust-grid { grid-template-columns: repeat(4, 1fr); }
  .lead-shell { grid-template-columns: .9fr 1.1fr; }
  .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .form-grid label:last-child { grid-column: 1 / -1; }
}
@media (max-width: 759px) {
  .promo-strip { gap:.45rem; padding:.42rem .65rem; font-size:.88rem; }
  .promo-link { width:auto; max-width:100%; padding:.34rem .68rem; font-size:.82rem; }
  .brand-logo { width:80px; height:80px; }
  .nav { align-items:flex-start; }
  .brand-lockup { flex:1 1 100%; }
  .nav > .button { width:100%; text-align:center; }
  .footer-brand { align-items:flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
