/* ============================================================
   Goldcattle — Custom CNC Automotive Driveshaft Components
   All rules namespaced under #body (the wrapper div).
   NO :root / body / bare-tag selectors — nothing leaks upward
   into the theme header (the blue page banner stays untouched).
   ============================================================ */

/* design tokens live ON the #body wrapper, not on <html>,
   so they cannot reach the theme's header/footer */
#body{
  --ink:#15181c;
  --dark:#14171b;
  --dark-2:#1d2229;
  --paper:#eceef0;
  --surface:#ffffff;
  --line:#d3d8dd;
  --line-strong:#aab2bb;
  --amber:#c2621f;
  --amber-bright:#e08a3c;
  --muted:#5b646e;
  --radius:3px;
  box-sizing:border-box;
  margin:0;
  padding:0;
  font-family:'Work Sans',-apple-system,sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
#body *,#body *::before,#body *::after{box-sizing:border-box}
#body .hero-grid h2{color:#FFFFFF}
#body h2,#body h3,#body h4{font-family:'Archivo',-apple-system,sans-serif;color:var(--ink);line-height:1.12;font-weight:700;letter-spacing:-.01em}
#body a{color:var(--amber);text-decoration:none}
#body a:hover{text-decoration:underline}
#body .wrap{max-width:1180px;margin:0 auto;padding:0 28px}
#body .mono{font-family:'JetBrains Mono',ui-monospace,monospace}

/* top bar (hidden in embed, kept for completeness) */
#body .topbar{background:var(--dark);color:#9aa4ae;font-size:12.5px;border-bottom:1px solid #2a3038}
#body .topbar .wrap{display:flex;justify-content:space-between;height:40px;align-items:center}
#body .topbar .crumb{font-family:'JetBrains Mono',monospace;font-size:11.5px}
#body .topbar .crumb a{color:#c7cfd7}
#body .topbar .brand{font-family:'Archivo';font-weight:800;color:#fff;letter-spacing:.08em}

/* HERO dark */
#body .hero{background:var(--dark);color:#d6dbe0;position:relative;overflow:hidden;padding:0}
#body .hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}
#body .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding:72px 28px 64px;position:relative;z-index:1}
#body .hero .eyebrow{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--amber-bright);letter-spacing:.12em;text-transform:uppercase;margin-bottom:20px}
#body .hero h1,#body .hero h2{color:#fff;font-size:48px;font-weight:800;margin-bottom:20px;line-height:1.06}
#body .hero .sub{font-size:17.5px;color:#aeb6bf;max-width:54ch;margin-bottom:30px}
#body .hero .sub strong{color:#e6eaee;font-weight:600}
#body .cta-row{display:flex;gap:14px;flex-wrap:wrap}
#body .btn{display:inline-block;padding:13px 24px;font-family:'Archivo';font-weight:600;font-size:14.5px;letter-spacing:.02em;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:.15s}
#body .btn-amber{background:var(--amber);color:#fff}
#body .btn-amber:hover{background:#a8521a;text-decoration:none}
#body .btn-ghost{background:transparent;color:#fff;border-color:#4a525c}
#body .btn-ghost:hover{border-color:#fff;text-decoration:none}
#body .hero-media img{width:100%;height:auto;border-radius:var(--radius);display:block;border:1px solid #2e343c}
#body .hero-media .cap{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:#7d8791;margin-top:10px}

/* sections */
#body section{padding:64px 0}
#body section.alt{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
#body .sec-head{margin-bottom:36px}
#body .sec-num{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--amber);letter-spacing:.1em;margin-bottom:12px;display:flex;align-items:center;gap:12px}
#body .sec-num::after{content:"";flex:1;height:1px;background:var(--line)}
#body h2{font-size:31px;margin-bottom:14px}
#body .sec-head p.lead{font-size:16.5px;color:var(--muted);max-width:76ch}
#body .sec-head p.lead strong{color:var(--ink)}

/* snapshot table */
#body .snapshot{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin:0}
#body .snapshot td{padding:14px 18px;border-bottom:1px solid var(--line);font-size:14.5px;vertical-align:top}
#body .snapshot tr:last-child td{border-bottom:none}
#body .snapshot td.k{font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;width:23%;background:#f6f7f8;border-right:1px solid var(--line)}
#body .snapshot td.v{color:var(--ink)}

/* quick answer GEO */
#body .qa{background:var(--dark);color:#cdd3da;border-left:3px solid var(--amber);padding:26px 30px;border-radius:0 var(--radius) var(--radius) 0}
#body .qa .tag{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--amber-bright);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
#body .qa p{font-size:15.5px;line-height:1.65;margin:0}
#body .qa p strong{color:#fff}

/* generic table */
#body table.spec{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin:0}
#body table.spec th,#body table.spec td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);font-size:14.5px;vertical-align:top}
#body table.spec tr:last-child td{border-bottom:none}
#body table.spec th{font-family:'Archivo';font-weight:600;font-size:13px;background:#f4f6f7;color:var(--ink);border-bottom:2px solid var(--line-strong)}
#body table.spec td.mono{font-family:'JetBrains Mono',monospace;font-size:13px;white-space:nowrap}

/* component grid */
#body .comp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
#body .comp{background:var(--surface);padding:22px}
#body .comp .n{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--amber);margin-bottom:8px}
#body .comp h3{font-size:16px;margin-bottom:6px}
#body .comp p{font-size:13.5px;color:var(--muted)}

/* media row */
#body .media-row{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
#body .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
#body .cards-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
#body .cards-2 .comp,#body .grid-2 > div{border:1px solid var(--line);border-radius:var(--radius)}
#body .media-row img{width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--line);display:block}
#body .media-row .cap{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--muted);margin-top:8px}
#body .media-row p{font-size:15px;color:var(--muted);margin-top:14px}

/* flow */
#body .flow{display:flex;flex-wrap:wrap;align-items:stretch;gap:0}
#body .flow .node{flex:1;min-width:120px;background:var(--surface);border:1px solid var(--line);border-top:2px solid var(--amber);padding:14px 12px;text-align:center;font-family:'Archivo';font-weight:600;font-size:13.5px}
#body .flow .sep{align-self:center;color:var(--line-strong);padding:0 7px;font-family:'JetBrains Mono',monospace}

/* traceability */
#body .trace{display:flex;flex-wrap:wrap;gap:0;align-items:center;background:var(--dark);border-radius:var(--radius);padding:22px 10px}
#body .trace .step{color:#e3e7eb;font-family:'JetBrains Mono',monospace;font-size:12.5px;padding:6px 12px}
#body .trace .arr{color:var(--amber-bright);padding:0 4px}

/* buyer cards */
#body .buyer-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
#body .buyer{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;border-top:2px solid var(--line-strong)}
#body .buyer h3{font-size:14.5px;margin-bottom:8px}
#body .buyer p{font-size:12.5px;color:var(--muted);line-height:1.5}

/* callout clarify */
#body .clarify{background:#fbf3ea;border:1px solid #e6c9a8;border-left:4px solid var(--amber);padding:24px 28px;border-radius:var(--radius)}
#body .clarify h3{font-size:17px;margin-bottom:8px;color:#7a3d10}
#body .clarify p{font-size:14.5px;color:#5e4630}

/* case */
#body .case{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface);display:grid;grid-template-columns:.9fr 1.1fr}
#body .case img{width:100%;height:100%;object-fit:cover;display:block}
#body .case .body{padding:28px 30px}
#body .case dl{display:grid;grid-template-columns:auto 1fr;gap:7px 18px;font-size:13.5px;margin-top:12px}
#body .case dt{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--muted);padding-top:2px}
#body .case dd{color:#2b3644;margin:0}

/* FAQ */
#body details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:9px;overflow:hidden}
#body summary{padding:17px 22px;cursor:pointer;font-family:'Archivo';font-weight:600;font-size:15.5px;list-style:none;display:flex;justify-content:space-between;align-items:center}
#body summary::-webkit-details-marker{display:none}
#body summary::after{content:"+";font-family:'JetBrains Mono',monospace;color:var(--amber);font-weight:400;font-size:19px}
#body details[open] summary::after{content:"–"}
#body details .a{padding:0 22px 18px;font-size:14.5px;color:var(--muted);max-width:88ch}

/* final CTA dark */
#body .final{background:var(--dark);color:#cdd3da}
#body .final h2{color:#fff}
#body .final .lead{color:#aeb6bf}
#body .final .sec-num::after{background:#2e343c}

/* reduce top gap in embed (theme banner removed via page template) */
#body .hero:first-child{margin-top:0}

@media(max-width:900px){
  #body .hero-grid,#body .media-row,#body .case,#body .grid-2,#body .cards-2{grid-template-columns:1fr}
  #body .comp-grid{grid-template-columns:1fr 1fr}
  #body .buyer-grid{grid-template-columns:1fr 1fr}
  #body .hero h1,#body .hero h2{font-size:34px}
  #body h2{font-size:25px}
  #body .flow{flex-direction:column}
  #body .flow .sep{transform:rotate(90deg)}
  #body .topbar .crumb{display:none}
}
@media(max-width:560px){
  #body .comp-grid,#body .buyer-grid{grid-template-columns:1fr}
}
