/* ============================================================
   CheatCode Solutions — landing page layer
   Sits on top of styles.css. Reuses the site tokens: #050505 canvas,
   #0fa00f accent, Anton display, Space Grotesk body, JetBrains mono labels.
   ============================================================ */

.lp-body { background:#050505; color:#fff; min-height:100vh; }
.lp-body .nav { background:rgba(5,5,5,.94); border-bottom:1px solid #141414; }
.lp-body .nav-links a.active { color:#fff; }
.lp-body .nav-links a.active::after { width:100%; }
.lp-body a.client-portal-btn, .lp-body a.dealer-portal-btn { text-decoration:none; }

.lp-wrap { max-width:1000px; margin:0 auto; padding:132px 24px 40px; position:relative; z-index:2; }

/* breadcrumb */
.lp-crumb { font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:#666; margin-bottom:28px; display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.lp-crumb a { color:#888; text-decoration:none; transition:color .2s; }
.lp-crumb a:hover { color:#0fa00f; }
.lp-crumb span[aria-current] { color:#cfcfcf; }

/* hero */
.lp-hero { padding-bottom:52px; border-bottom:1px solid #1a1a1a; margin-bottom:8px; }
.lp-eyebrow { color:#0fa00f; font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.34em; margin-bottom:14px; text-transform:uppercase; }
.lp-title { font-family:Anton,Impact,sans-serif; font-size:clamp(40px,7.2vw,84px); line-height:.96; letter-spacing:-.02em; text-transform:uppercase; margin:0 0 20px; }
.lp-title .accent { color:#0fa00f; }
.lp-lede { color:#cfcfcf; font-family:'Space Grotesk',sans-serif; font-size:18px; line-height:1.6; max-width:680px; margin:0 0 28px; }

.lp-cta-row { display:flex; gap:12px; flex-wrap:wrap; }
.lp-btn { display:inline-block; padding:14px 26px; background:#0fa00f; color:#000; font-family:Anton,Impact,sans-serif; text-transform:uppercase; letter-spacing:.08em; font-size:15px; text-decoration:none; border:1px solid #0fa00f; transition:background .2s,color .2s,transform .2s; }
.lp-btn:hover { background:#0c8a0c; border-color:#0c8a0c; transform:translateY(-2px); }
.lp-btn.ghost { background:transparent; color:#fff; border:1px solid #2a2a2a; }
.lp-btn.ghost:hover { border-color:#0fa00f; color:#0fa00f; background:transparent; }

.lp-trust { list-style:none; margin:28px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:10px 22px; }
.lp-trust li { font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#7d7d7d; display:flex; align-items:center; gap:8px; }
.lp-trust li::before { content:''; width:5px; height:5px; background:#0fa00f; border-radius:50%; flex-shrink:0; }

/* body sections */
.lp-section { padding:44px 0; border-bottom:1px solid #141414; }
.lp-h2 { font-family:Anton,Impact,sans-serif; font-size:clamp(26px,3.6vw,38px); line-height:1.06; text-transform:uppercase; letter-spacing:-.01em; margin:0 0 18px; }
.lp-h2 .accent { color:#0fa00f; }
.lp-section p { color:#c4c4c4; font-family:'Space Grotesk',sans-serif; font-size:16px; line-height:1.72; margin:0 0 16px; max-width:760px; }
.lp-section p:last-child { margin-bottom:0; }

.lp-list { list-style:none; margin:22px 0 0; padding:0; display:grid; gap:11px; max-width:760px; }
.lp-list li { display:flex; gap:13px; color:#cfcfcf; font-family:'Space Grotesk',sans-serif; font-size:15.5px; line-height:1.58; }
.lp-list li::before { content:'>'; color:#0fa00f; font-family:'JetBrains Mono',monospace; font-weight:700; flex-shrink:0; }

/* proof block */
.lp-proof { background:linear-gradient(90deg,rgba(15,160,15,.055),transparent 70%); border-left:2px solid #0fa00f; padding-left:26px; }

/* FAQ */
.faq-wrap { display:grid; gap:10px; max-width:820px; }
.faq { background:#0a0a0a; border:1px solid #1a1a1a; border-radius:4px; overflow:hidden; transition:border-color .2s; }
.faq[open] { border-color:#143d14; }
.faq:hover { border-color:#2a2a2a; }
.faq summary { list-style:none; cursor:pointer; padding:18px 22px; display:flex; justify-content:space-between; align-items:center; gap:18px; font-family:'Space Grotesk',sans-serif; font-size:16px; font-weight:500; color:#fff; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary i { width:12px; height:12px; position:relative; flex-shrink:0; }
.faq summary i::before, .faq summary i::after { content:''; position:absolute; background:#0fa00f; transition:transform .22s; }
.faq summary i::before { left:0; top:5px; width:12px; height:2px; }
.faq summary i::after { left:5px; top:0; width:2px; height:12px; }
.faq[open] summary i::after { transform:scaleY(0); }
.faq-a { padding:0 22px 20px; }
.faq-a p { color:#a8a8a8; font-family:'Space Grotesk',sans-serif; font-size:15px; line-height:1.68; margin:0; }

/* cross links */
.lp-cross .xl-label { font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.3em; color:#0fa00f; text-transform:uppercase; margin:8px 0 14px; }
.xl-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; }
.xl-card { display:flex; flex-direction:column; gap:6px; background:#0a0a0a; border:1px solid #1a1a1a; border-radius:4px; padding:18px 20px; text-decoration:none; transition:border-color .2s, transform .2s; }
.xl-card:hover { border-color:#0fa00f; transform:translateY(-2px); }
.xl-name { font-family:Anton,Impact,sans-serif; font-size:17px; text-transform:uppercase; letter-spacing:.01em; color:#fff; }
.xl-blurb { font-family:'Space Grotesk',sans-serif; font-size:13px; line-height:1.5; color:#8f8f8f; }

/* final CTA */
.lp-final { margin:56px 0 8px; padding:44px 32px; border:1px solid #143d14; border-radius:4px; background:linear-gradient(135deg,rgba(15,160,15,.09),rgba(5,5,5,0) 65%); }
.lp-final h2 { font-family:Anton,Impact,sans-serif; font-size:clamp(28px,4.4vw,44px); line-height:1.04; text-transform:uppercase; letter-spacing:-.01em; margin:0 0 12px; }
.lp-final p { color:#cfcfcf; font-family:'Space Grotesk',sans-serif; font-size:16px; line-height:1.65; margin:0 0 24px; max-width:640px; }

/* footer */
.lp-footer { background:#000; border-top:1px solid #1a1a1a; padding:52px 24px 24px; position:relative; z-index:2; }
.lp-foot-grid { max-width:1000px; margin:0 auto; display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; }
.lp-foot-logo { font-family:Anton,Impact,sans-serif; font-size:22px; letter-spacing:-.01em; text-transform:uppercase; color:#fff; margin-bottom:8px; }
.lp-foot-logo span { color:#0fa00f; }
.lp-foot-tag { color:#888; font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.2em; margin:0 0 16px; }
.lp-foot-nap { color:#7d7d7d; font-family:'Space Grotesk',sans-serif; font-size:13px; line-height:1.8; margin:0; }
.lp-foot-nap a { color:#cfcfcf; text-decoration:none; }
.lp-foot-nap a:hover { color:#0fa00f; }
.lp-foot-col h4 { font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.25em; color:#0fa00f; margin:0 0 12px; }
.lp-foot-col a { display:block; color:#cfcfcf; text-decoration:none; font-family:'Space Grotesk',sans-serif; font-size:13px; margin-bottom:7px; transition:color .2s; }
.lp-foot-col a:hover { color:#0fa00f; }
.lp-foot-col a.is-here { color:#0fa00f; }
.lp-foot-bot { max-width:1000px; margin:34px auto 0; padding-top:22px; border-top:1px solid #1a1a1a; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; color:#666; font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.15em; }
.lp-foot-bot .ok { color:#0fa00f; }

@media (max-width:860px) {
  .lp-foot-grid { grid-template-columns:1fr 1fr; gap:32px; }
}
@media (max-width:620px) {
  .lp-wrap { padding:112px 18px 32px; }
  .lp-section { padding:34px 0; }
  .lp-final { padding:32px 22px; }
  .lp-foot-grid { grid-template-columns:1fr; }
  .lp-foot-bot { flex-direction:column; }
  .lp-btn { width:100%; text-align:center; }
}

@media (prefers-reduced-motion: reduce) {
  .lp-btn, .xl-card, .faq { transition:none; }
  .lp-btn:hover, .xl-card:hover { transform:none; }
}

/* ============================================================
   CASE STUDY additions
   ============================================================ */
.cs-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1px; background:#1a1a1a; border:1px solid #1a1a1a; border-radius:4px; overflow:hidden; margin:36px 0 8px; }
.cs-fact { background:#0a0a0a; padding:18px 20px; display:flex; flex-direction:column; gap:7px; }
.cs-fact-k { font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.3em; color:#0fa00f; text-transform:uppercase; }
.cs-fact-v { font-family:'Space Grotesk',sans-serif; font-size:14px; line-height:1.5; color:#cfcfcf; }

.cs-shot { margin:34px 0 0; }
.cs-shot img { width:100%; height:auto; display:block; border:1px solid #1a1a1a; border-radius:4px; background:#0a0a0a; }
.cs-shot figcaption { font-family:'JetBrains Mono',monospace; font-size:11px; line-height:1.6; letter-spacing:.06em; color:#7d7d7d; margin-top:11px; }
.cs-shot-lead { margin:28px 0 8px; }

.cs-quote { margin:44px 0 0; padding:30px 32px; border:1px solid #143d14; border-left:3px solid #0fa00f; border-radius:4px; background:linear-gradient(120deg,rgba(15,160,15,.07),rgba(5,5,5,0) 70%); }
.cs-quote p { font-family:'Space Grotesk',sans-serif; font-size:19px; line-height:1.6; color:#e8e8e8; margin:0 0 14px; }
.cs-quote cite { font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.28em; color:#0fa00f; text-transform:uppercase; font-style:normal; }

@media (max-width:620px) {
  .cs-quote { padding:22px 20px; }
  .cs-quote p { font-size:16.5px; }
}
