/* AXON BESS — Site-wide supplemental styles */

/* ── Theme: Lighter Dark ─────────────────────────── */
[data-theme="lighter"] { --bg:#1A1D24; --bg2:#0F1015; --surface:#2A2D36; --elev:#363A48; }
[data-theme="lighter"] body { background:#1A1D24; }
[data-theme="lighter"] .ax-section.alt { background:#0F1015; }
[data-theme="lighter"] .ax-nav { background:rgba(26,29,36,0.97); }

/* ── Nav extras ──────────────────────────────────── */
.ax-nav-right { display:flex; align-items:center; gap:16px; }
.nav-hamburger { display:none; background:none; border:none; cursor:pointer; padding:4px; flex-direction:column; gap:5px; }
.nav-hamburger span { display:block; width:22px; height:1.5px; background:var(--fg2,#BEC2CC); transition:background 200ms; }
.nav-hamburger:hover span { background:var(--gold,#C9B37A); }
.nav-mobile { display:none; padding:24px 40px 32px; border-top:1px solid var(--elev,#2A2D36); background:var(--bg,#0F1015); }
.nav-mobile.open { display:block; }
.nav-mobile ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:16px; }
.nav-mobile ul a { font-size:15px; color:var(--fg2,#BEC2CC); letter-spacing:0.04em; }
.nav-mobile ul a:hover, .nav-mobile ul a.active { color:var(--gold,#C9B37A); }
.nav-mobile-cta { display:inline-block; margin-top:24px; font-size:12px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; padding:12px 26px; background:var(--gold,#C9B37A); color:var(--bg,#0F1015); text-decoration:none; }
.ax-nav-links a.active { color:var(--gold,#C9B37A); }

/* ── Hero 2-col (home) ───────────────────────────── */
.hero-grid { display:grid; grid-template-columns:3fr 2fr; gap:56px; align-items:stretch; }
.hero-stat-card { background:var(--surface,#1A1D24); padding:32px 32px; flex-shrink:0; }
.hero-stat-card-label { font-size:10px; letter-spacing:0.28em; text-transform:uppercase; color:var(--gold-dim,#5C5238); font-weight:700; margin-bottom:24px; }
.hero-stat-row { display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:18px 0; border-bottom:1px solid var(--elev,#2A2D36); }
.hero-stat-row:first-of-type { padding-top:0; }
.hero-stat-row:last-of-type { border-bottom:none; padding-bottom:0; }
.hero-stat-val { font-size:26px; font-weight:700; color:var(--gold,#C9B37A); letter-spacing:-0.02em; line-height:1; white-space:nowrap; }
.hero-stat-desc { font-size:12px; color:var(--fg2,#BEC2CC); text-align:right; line-height:1.5; max-width:130px; }

/* ── Section header ──────────────────────────────── */
.section-header { margin-bottom:56px; }
.section-header .ax-section-title { margin-top:14px; }
.section-header p { max-width:680px; font-size:17px; color:var(--fg2,#BEC2CC); line-height:1.75; }
.gold-rule { width:48px; height:1px; background:var(--gold,#C9B37A); margin:20px 0; }

/* ── Pain points grid (5-card 3+2 layout) ───────── */
.pain-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:3px; }
.pain-card { background:var(--surface,#1A1D24); padding:36px 32px; grid-column:span 2; }
.pain-card.wide { grid-column:span 3; }
.pain-num { font-size:32px; font-weight:700; color:var(--fg2,#BEC2CC); letter-spacing:-0.02em; line-height:1; margin-bottom:20px; }
.pain-title { font-size:16px; font-weight:700; color:var(--fg,#F5F7F9); margin-bottom:10px; line-height:1.3; }
.pain-body { font-size:13px; color:var(--fg2,#BEC2CC); line-height:1.85; }
.pain-metric { font-size:11px; color:var(--gold,#C9B37A); letter-spacing:0.08em; margin-top:12px; font-weight:700; }

/* ── Value stack (4 cards) ───────────────────────── */
.value-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:3px; }
.value-card { background:var(--surface,#1A1D24); padding:36px 32px; }
.value-card.gold-card { background:var(--gold,#C9B37A); }
.value-card.gold-card .value-eyebrow { color:rgba(15,16,21,0.5); }
.value-card.gold-card .value-title { color:#0F1015; }
.value-card.gold-card .value-body { color:rgba(15,16,21,0.65); }
.value-card.gold-card .value-metric { color:#0F1015; }
.value-card.gold-card .value-share { color:rgba(15,16,21,0.5); }
.value-eyebrow { font-size:10px; letter-spacing:0.28em; text-transform:uppercase; color:var(--gold,#C9B37A); font-weight:700; margin-bottom:16px; }
.value-title { font-size:18px; font-weight:700; color:var(--fg,#F5F7F9); letter-spacing:-0.01em; line-height:1.25; margin-bottom:12px; }
.value-body { font-size:13px; color:var(--fg2,#BEC2CC); line-height:1.85; margin-bottom:20px; }
.value-metric { font-size:20px; font-weight:700; color:var(--gold,#C9B37A); letter-spacing:-0.01em; line-height:1; }
.value-share { font-size:11px; color:var(--fg2,#BEC2CC); margin-top:5px; }

/* ── Steps (teaser, 4-col) ───────────────────────── */
.steps-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:3px; }
.step-card { background:var(--surface,#1A1D24); padding:36px 32px; }
.step-num { font-size:11px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold-dim,#5C5238); margin-bottom:20px; }
.step-title { font-size:17px; font-weight:700; color:var(--fg,#F5F7F9); letter-spacing:-0.01em; line-height:1.3; margin-bottom:10px; }
.step-body { font-size:13px; color:var(--fg2,#BEC2CC); line-height:1.85; }
.step-price { font-size:13px; color:var(--gold,#C9B37A); font-weight:700; margin-top:10px; }

/* ── Financing cards (3-col) ─────────────────────── */
.fin-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:3px; }
.fin-card { background:var(--surface,#1A1D24); padding:40px 32px; display:flex; flex-direction:column; }
.fin-tag { font-size:10px; letter-spacing:0.25em; text-transform:uppercase; color:var(--gold-dim,#5C5238); font-weight:700; margin-bottom:20px; }
.fin-title { font-size:22px; font-weight:700; color:var(--fg,#F5F7F9); letter-spacing:-0.02em; margin-bottom:14px; line-height:1.2; }
.fin-body { font-size:13px; color:var(--fg2,#BEC2CC); line-height:1.85; flex:1; margin-bottom:24px; }
.fin-badge { font-size:10px; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold,#C9B37A); font-weight:700; border:1px solid var(--gold,#C9B37A); padding:5px 12px; display:inline-block; }

/* ── Case study ──────────────────────────────────── */
.case-inner { display:grid; grid-template-columns:3fr 2fr; gap:3px; }
.case-text { background:var(--surface,#1A1D24); padding:48px; }
.case-metrics { display:flex; flex-direction:column; gap:3px; }
.case-metric { background:var(--surface,#1A1D24); padding:28px 32px; flex:1; display:flex; flex-direction:column; justify-content:center; }
.case-metric-val { font-size:32px; font-weight:700; color:var(--gold,#C9B37A); letter-spacing:-0.02em; line-height:1; margin-bottom:6px; }
.case-metric-label { font-size:12px; color:var(--fg2,#BEC2CC); letter-spacing:0.05em; }
.case-company { font-size:10px; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold-dim,#5C5238); font-weight:700; margin-bottom:16px; }
.case-heading { font-size:24px; font-weight:700; color:var(--fg,#F5F7F9); letter-spacing:-0.01em; line-height:1.25; margin-bottom:20px; }
.case-body { font-size:14px; color:var(--fg2,#BEC2CC); line-height:1.85; }

/* ── CTA band ────────────────────────────────────── */
.cta-band { padding:100px 40px; text-align:center; }
.cta-band h2 { font-size:42px; font-weight:700; letter-spacing:-0.02em; color:var(--fg,#F5F7F9); line-height:1.1; max-width:680px; margin:0 auto 20px; }
.cta-band .cta-sub { font-size:16px; color:var(--fg2,#BEC2CC); max-width:540px; margin:0 auto 36px; line-height:1.75; }
.cta-fine { display:block; margin-top:16px; font-size:11px; color:var(--gold-dim,#5C5238); letter-spacing:0.08em; }

/* ── Footer tweaks ───────────────────────────────── */
.ax-footer-tagline { font-size:13px; color:var(--fg2,#BEC2CC); margin-top:12px; max-width:300px; line-height:1.75; }

/* ── Page hero (inner pages) ─────────────────────── */
.page-hero { padding:100px 40px 80px; position:relative; overflow:hidden; }
.page-hero::before { content:''; position:absolute; top:-200px; right:-200px; width:600px; height:600px; border-radius:50%; background:radial-gradient(circle, rgba(201,179,122,0.06) 0%, transparent 60%); pointer-events:none; }
.page-hero-inner { max-width:var(--max,1080px); margin:0 auto; position:relative; }
.page-hero h1 { font-size:64px; font-weight:700; letter-spacing:-0.03em; line-height:1.05; color:var(--fg,#F5F7F9); margin:18px 0 24px; }
.page-hero .lead { font-size:19px; color:var(--fg2,#BEC2CC); max-width:600px; line-height:1.75; }

/* ── Solutions pillars ───────────────────────────── */
.pillar { padding:80px 0; border-bottom:1px solid var(--elev,#2A2D36); }
.pillar:last-child { border-bottom:none; }
.pillar-inner { display:grid; grid-template-columns:2fr 3fr; gap:80px; align-items:start; max-width:var(--max,1080px); margin:0 auto; padding:0 40px; }
.pillar-lead { font-size:11px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold-dim,#5C5238); margin-bottom:12px; }
.pillar-h { font-size:32px; font-weight:700; color:var(--fg,#F5F7F9); letter-spacing:-0.02em; line-height:1.15; margin-bottom:0; }
.pillar-num { font-size:64px; font-weight:700; color:var(--elev,#2A2D36); letter-spacing:-0.03em; line-height:1; margin-bottom:24px; }
.pillar-body { font-size:15px; color:var(--fg2,#BEC2CC); line-height:1.85; margin-bottom:20px; }
.pillar-metric { font-size:26px; font-weight:700; color:var(--gold,#C9B37A); letter-spacing:-0.01em; margin-bottom:6px; }
.pillar-metric-label { font-size:11px; color:var(--fg2,#BEC2CC); letter-spacing:0.08em; text-transform:uppercase; }

/* ── Table ───────────────────────────────────────── */
.ax-table-wrap { background:var(--surface,#1A1D24); overflow-x:auto; }
.ax-table { width:100%; border-collapse:collapse; }
.ax-table th { font-size:10px; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold-dim,#5C5238); font-weight:700; padding:18px 24px; border-bottom:1px solid var(--elev,#2A2D36); text-align:left; white-space:nowrap; }
.ax-table th.accent { color:var(--gold,#C9B37A); }
.ax-table td { font-size:13px; color:var(--fg2,#BEC2CC); padding:18px 24px; border-bottom:1px solid var(--elev,#2A2D36); vertical-align:top; line-height:1.6; }
.ax-table td.label-col { color:var(--fg,#F5F7F9); font-weight:700; font-size:14px; }
.ax-table td.gold { color:var(--gold,#C9B37A); font-weight:700; }
.ax-table tr:last-child td { border-bottom:none; }
.ax-table-caption { font-size:11px; color:var(--gold-dim,#5C5238); letter-spacing:0.08em; margin-top:12px; }

/* ── Financing comparison table ──────────────────── */
.fin-compare { background:var(--surface,#1A1D24); overflow-x:auto; }
.fin-compare table { width:100%; border-collapse:collapse; min-width:640px; }
.fin-compare th { font-size:11px; letter-spacing:0.18em; text-transform:uppercase; font-weight:700; padding:20px 24px; border-bottom:1px solid var(--elev,#2A2D36); text-align:left; color:var(--fg2,#BEC2CC); }
.fin-compare th.accent { color:var(--gold,#C9B37A); }
.fin-compare td { font-size:13px; color:var(--fg2,#BEC2CC); padding:18px 24px; border-bottom:1px solid var(--elev,#2A2D36); line-height:1.5; }
.fin-compare td.row-label { color:var(--fg,#F5F7F9); font-weight:700; font-size:14px; }
.fin-compare tr:last-child td { border-bottom:none; }

/* ── Process steps (full) ────────────────────────── */
.process-list { display:flex; flex-direction:column; gap:3px; }
.process-item { background:var(--surface,#1A1D24); padding:36px 40px; display:grid; grid-template-columns:56px 1fr; gap:28px; align-items:start; }
.process-n { font-size:40px; font-weight:700; color:var(--gold-dim,#5C5238); letter-spacing:-0.03em; line-height:1; }
.process-title { font-size:20px; font-weight:700; color:var(--fg,#F5F7F9); letter-spacing:-0.01em; margin-bottom:10px; }
.process-body { font-size:14px; color:var(--fg2,#BEC2CC); line-height:1.85; }
.process-price { font-size:13px; color:var(--gold,#C9B37A); font-weight:700; margin-top:10px; }

/* ── Fit checklist ───────────────────────────────── */
.fit-card { background:var(--surface,#1A1D24); padding:48px; }
.fit-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:14px; }
.fit-list li { display:flex; align-items:baseline; gap:14px; font-size:15px; color:var(--fg2,#BEC2CC); line-height:1.6; }
.fit-list li::before { content:'—'; color:var(--gold,#C9B37A); font-weight:700; flex-shrink:0; }

/* ── Team grid (2 person + quote) ───────────────── */
.team-grid { display:grid; grid-template-columns:1fr 1fr 1.5fr; gap:3px; align-items:stretch; }
.team-card { background:var(--surface,#1A1D24); display:flex; flex-direction:column; }
.team-photo-wrap { width:100%; height:200px; overflow:hidden; background:#0A0B0F; flex-shrink:0; }
.team-photo { width:100%; height:100%; object-fit:cover; object-position:center 15%; display:block; }
.team-body { padding:32px 36px 36px; flex:1; display:flex; flex-direction:column; }
.team-quote-card { background:var(--surface,#1A1D24); padding:48px; display:flex; flex-direction:column; justify-content:center; }
@media (max-width:700px) { .team-grid { grid-template-columns:1fr 1fr; } .team-quote-card { grid-column:span 2; } }
@media (max-width:480px) { .team-grid { grid-template-columns:1fr; } .team-quote-card { grid-column:span 1; } .team-body { padding:24px 20px 28px; } .team-quote-card { padding:32px 24px; } }

/* ── About / founder ─────────────────────────────── */
.founder-grid { display:grid; grid-template-columns:1fr 2fr; gap:3px; }
.founder-card { background:var(--surface,#1A1D24); padding:48px; }
.founder-meta { font-size:10px; letter-spacing:0.25em; text-transform:uppercase; color:var(--gold-dim,#5C5238); font-weight:700; margin-bottom:20px; }
.founder-name { font-size:28px; font-weight:700; color:var(--fg,#F5F7F9); letter-spacing:-0.02em; line-height:1.15; margin-bottom:8px; }
.founder-role { font-size:13px; color:var(--gold,#C9B37A); letter-spacing:0.05em; margin-bottom:24px; }
.founder-bio { font-size:14px; color:var(--fg2,#BEC2CC); line-height:1.9; }
.quote-block { font-size:22px; font-weight:700; color:var(--fg,#F5F7F9); letter-spacing:-0.01em; line-height:1.4; max-width:720px; padding-left:28px; border-left:1px solid var(--gold,#C9B37A); margin:0; }
.quote-attr { font-size:11px; color:var(--gold-dim,#5C5238); letter-spacing:0.15em; text-transform:uppercase; margin-top:16px; }
.diff-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:3px; }
.diff-card { background:var(--surface,#1A1D24); padding:36px 32px; }
.diff-num { font-size:11px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold-dim,#5C5238); margin-bottom:16px; }
.diff-title { font-size:18px; font-weight:700; color:var(--fg,#F5F7F9); letter-spacing:-0.01em; margin-bottom:10px; line-height:1.3; }
.diff-body { font-size:13px; color:var(--fg2,#BEC2CC); line-height:1.85; }

/* ── Contact form ────────────────────────────────── */
.contact-grid { display:grid; grid-template-columns:3fr 2fr; gap:3px; }
.contact-card { background:var(--surface,#1A1D24); padding:48px; }
.form-group { margin-bottom:20px; }
.form-label { display:block; font-size:10px; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold-dim,#5C5238); font-weight:700; margin-bottom:8px; }
.ax-select { background:var(--bg,#0F1015); border:1px solid var(--elev,#2A2D36); color:var(--fg,#F5F7F9); font-family:inherit; font-size:14px; padding:14px 16px; width:100%; outline:none; transition:border-color 200ms ease-out; appearance:none; cursor:pointer; }
.ax-select:focus { border-color:var(--gold,#C9B37A); }
.ax-textarea { background:var(--bg,#0F1015); border:1px solid var(--elev,#2A2D36); color:var(--fg,#F5F7F9); font-family:inherit; font-size:14px; padding:14px 16px; width:100%; outline:none; transition:border-color 200ms ease-out; resize:vertical; min-height:110px; }
.ax-textarea:focus { border-color:var(--gold,#C9B37A); }
.ax-textarea::placeholder { color:var(--fg2,#BEC2CC); }
.contact-info-row { padding:20px 0; border-bottom:1px solid var(--elev,#2A2D36); }
.contact-info-row:first-child { padding-top:0; }
.contact-info-row:last-child { border-bottom:none; padding-bottom:0; }
.contact-info-label { font-size:10px; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold-dim,#5C5238); font-weight:700; margin-bottom:6px; }
.contact-info-val { font-size:14px; color:var(--fg2,#BEC2CC); line-height:1.6; }
.contact-info-val a { color:var(--gold,#C9B37A); }
.contact-info-val a:hover { color:var(--gold-deep,#8A7A52); }
.form-success { display:none; padding:40px; text-align:center; }
.form-success h3 { font-size:22px; font-weight:700; color:var(--fg,#F5F7F9); margin-bottom:12px; }
.form-success p { font-size:14px; color:var(--fg2,#BEC2CC); line-height:1.7; }

/* ── Levers (financing) ──────────────────────────── */
.levers-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:3px; }
.lever-card { background:var(--surface,#1A1D24); padding:36px 32px; }
.lever-title { font-size:17px; font-weight:700; color:var(--fg,#F5F7F9); letter-spacing:-0.01em; margin-bottom:10px; line-height:1.3; }
.lever-body { font-size:13px; color:var(--fg2,#BEC2CC); line-height:1.85; }

/* ── Stat band ───────────────────────────────────── */
.stat-band { display:grid; grid-template-columns:repeat(4,1fr); gap:3px; }
.stat-band-card { background:var(--surface,#1A1D24); padding:40px 32px; }

/* ── Typography large ────────────────────────────── */
[data-typography="large"] .ax-hero h1 { font-size:100px; }
[data-typography="large"] .page-hero h1 { font-size:72px; }
[data-typography="large"] .ax-section-title { font-size:48px; }
[data-typography="large"] body { font-size:17px; }

/* ── Responsive ──────────────────────────────────── */
@media (max-width:1024px) {
  .hero-grid { grid-template-columns:1fr; gap:48px; align-items:start; }
  .ax-hero h1 { font-size:64px; }
  .value-grid { grid-template-columns:repeat(2,1fr); }
  .steps-grid { grid-template-columns:repeat(2,1fr); }
  .stat-band { grid-template-columns:repeat(2,1fr); }
  .case-inner { grid-template-columns:1fr; }
  .case-metrics { flex-direction:row; }
  .case-metric { flex:1; }
  .founder-grid { grid-template-columns:1fr; }
  .pillar-inner { grid-template-columns:1fr; gap:32px; }
  .levers-grid { grid-template-columns:1fr; }
  .page-hero h1 { font-size:48px; }
}
@media (max-width:768px) {
  .fin-grid { grid-template-columns:1fr; }
  .diff-grid { grid-template-columns:1fr; }
  .pain-grid { grid-template-columns:1fr; }
  .pain-card { grid-column:span 1 !important; }
  .contact-grid { grid-template-columns:1fr; }
  .steps-grid { grid-template-columns:1fr; }
  .ax-section-title { font-size:32px; }
  .cta-band h2 { font-size:32px; }
}
@media (max-width:640px) {
  .ax-nav-links { display:none; }
  .ax-nav-cta { display:none; }
  .nav-hamburger { display:flex; }
  .ax-hero { padding:80px 24px 64px; }
  .ax-hero h1 { font-size:38px; }
  .ax-hero p { font-size:16px; }
  .ax-hero-ctas { flex-direction:column; }
  .ax-hero-ctas .ax-btn { width:100%; text-align:center; display:block; }
  .page-hero { padding:72px 24px 56px; }
  .page-hero h1 { font-size:34px; }
  .page-hero .lead { font-size:16px; }
  .ax-section { padding:64px 0; }
  .container { padding:0 24px; }
  .ax-nav-inner { padding:0 24px; }
  .nav-mobile { padding:20px 24px 28px; }
  .value-grid { grid-template-columns:1fr; }
  .stat-band { grid-template-columns:1fr; }
  .ax-footer-grid { grid-template-columns:1fr 1fr; gap:32px; }
  .cta-band { padding:64px 24px; }
  .cta-band h2 { font-size:28px; }
  .contact-card { padding:32px 24px; }
  .founder-card { padding:32px 24px; }
  .case-text { padding:32px 24px; }
  .case-metrics { flex-direction:column; }
  .pillar-inner { padding:0 24px; }
  .process-item { padding:28px 24px; grid-template-columns:40px 1fr; gap:16px; }
  .fit-card { padding:32px 24px; }
}
