/* BTC v3 — full editorial redesign. Loaded last, after site-overrides.css. */

:root {
  --paper: #FFFFFF;
  --hair: rgba(14,14,14,0.14);
  --hair-soft: rgba(14,14,14,0.08);
}

html, body { background: var(--paper) !important; }
body { color: var(--ink) !important; -webkit-font-smoothing: antialiased; }

.container { max-width: 1220px !important; padding-left: 2rem !important; padding-right: 2rem !important; }

/* ---------- Header ---------- */
header {
  background: rgba(255,255,255,0.92) !important;
  backdrop-filter: saturate(140%) blur(8px);
  border-bottom: 1px solid var(--hair) !important;
}
.header-inner { padding-top: 0.9rem !important; padding-bottom: 0.9rem !important; }
.nav-links a, .nav-links button {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  color: var(--ink) !important;
}
.nav-links a:hover, .nav-links button:hover { color: var(--ink) !important; }
.nav-links a.nav-cta, .nav-links button.nav-cta, .nav-cta {
  background: var(--ink) !important;
  border: 1px solid var(--ink) !important;
  color: var(--paper) !important;
  border-radius: 0 !important;
  padding: 0.6rem 1.2rem !important;
}
.nav-links a.nav-cta:hover, .nav-links button.nav-cta:hover, .nav-cta:hover {
  background: var(--ink) !important; border-color: var(--ink) !important; color: #fff !important;
}

/* ---------- Section rhythm ---------- */
section { background: var(--paper) !important; }
#services, #how, #about, #record, #consulting, #contact {
  padding: 7rem 0 !important;
  border-top: 1px solid var(--hair);
}
.road-rule { display: none !important; }

.section-label, .page-label {
  font-family: var(--font-ui) !important;
  font-size: 0.66rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.32em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  margin-bottom: 1.25rem !important;
}
.section-title {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: -0.02em !important;
  line-height: 0.95 !important;
  font-size: clamp(2.2rem, 4.6vw, 3.9rem) !important;
  color: var(--ink) !important;
  margin: 0 0 1.5rem !important;
}
.section-title .accent { color: var(--muted) !important; }
.section-header, .consulting-header {
  text-align: left !important;
  max-width: 46rem;
  margin: 0 0 4rem !important;
}
.section-header p:not(.section-label),
.consulting-header p:not(.section-label) {
  font-family: 'Source Serif 4', Georgia, serif !important;
  font-size: 1.12rem !important;
  line-height: 1.7 !important;
  color: #333333 !important;
  margin: 0 !important;
}

/* ---------- Hero ---------- */
#hero {
  background: var(--paper) !important;
  padding: 10rem 0 5rem !important;
  min-height: 0 !important;
  display: block !important;
  border: none !important;
}
.manifest, .manifest-bar { all: unset !important; display: block !important; }
.hero-meta {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--hair);
  font-family: var(--font-ui);
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--muted);
}
.hero-grid {
  display: grid !important;
  grid-template-columns: 1.35fr 1fr;
  gap: 4rem;
  align-items: end;
  padding: 3.5rem 0 2.5rem !important;
  background: none !important;
}
.hero-grid::before { display: none !important; }
.hero-headline-col { text-align: left !important; }
.hero-h1, .hero-headline-col .hero-h1 {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
  text-transform: none !important;
  letter-spacing: -0.035em !important;
  line-height: 0.88 !important;
  font-size: clamp(3rem, 7.4vw, 6.4rem) !important;
  text-align: left !important;
  margin: 0 !important;
  animation: btcRise 0.8s cubic-bezier(.2,.7,.2,1) both;
}
.hero-h1 .accent { color: var(--muted) !important; }
@keyframes btcRise { from { opacity: 0; transform: translateY(18px);} to { opacity:1; transform:none;} }

.hero-copy-col {
  border: none !important;
  padding: 0 0 0.6rem !important;
  display: flex; flex-direction: column; gap: 1.25rem;
}
.hero-copy-col .hero-sub, .hero-copy-col .hero-proofline {
  font-family: 'Source Serif 4', Georgia, serif !important;
  font-size: 1.05rem !important;
  line-height: 1.75 !important;
  margin: 0 !important;
}
.hero-copy-col .hero-sub { color: var(--ink) !important; }
.hero-copy-col .hero-proofline { color: #555555 !important; font-size: 0.98rem !important; }
.hero-btns { display: flex; gap: 0.75rem; flex-wrap: wrap; margin-top: 0.5rem; }

.hero-btns .btn-primary, .btn-primary {
  background: var(--ink) !important;
  border: 1px solid var(--ink) !important;
  color: #fff !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: var(--font-ui) !important;
  font-weight: 700 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  padding: 1rem 1.75rem !important;
  transition: background .18s ease, transform .18s ease;
}
.hero-btns .btn-primary:hover, .btn-primary:hover {
  background: var(--ink) !important; border-color: var(--ink) !important; transform: none !important;
}
.hero-btns .btn-outline, .btn-outline {
  background: transparent !important;
  border: 1px solid var(--ink) !important;
  color: var(--ink) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: var(--font-ui) !important;
  font-weight: 700 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  padding: 1rem 1.75rem !important;
}
.hero-btns .btn-outline:hover, .btn-outline:hover { background: var(--ink) !important; color: var(--paper) !important; }

.tagline-hard {
  font-family: var(--font-ui) !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.34em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  text-align: left !important;
  margin: 0 0 1.25rem !important;
}

/* ---------- Stats: quiet hairline register ---------- */
.stats-ledger {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  background: transparent !important;
  color: var(--ink) !important;
  border-top: 1px solid var(--ink) !important;
  border-bottom: none !important;
  padding: 0 !important;
}
.stat-cell {
  display: block !important;
  padding: 1.6rem 1.5rem 0 0 !important;
  border: none !important;
  min-height: 0 !important;
}
.stat-cell .stat-key { display: none !important; }
.stat-cell .stat-label {
  font-family: var(--font-ui) !important;
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.26em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  margin: 0 0 0.5rem !important;
  opacity: 1 !important;
}
.stat-cell .stat-num {
  font-family: var(--font-display) !important;
  font-size: clamp(1.4rem, 2.4vw, 2.1rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: var(--ink) !important;
  line-height: 1 !important;
}

/* ---------- Proof: numbered editorial rows ---------- */
#proof { padding: 6rem 0 !important; border-top: 1px solid var(--hair); }
.proof-block { border: none !important; padding: 0 !important; background: none !important; }
.proof-lead, .proof-lead * { text-align: left !important; }
.proof-lead { max-width: 46rem; margin: 0 0 4rem !important; }
.section-header, .section-header *, .consulting-header, .consulting-header * { text-align: left !important; }
.proof-lead .section-title {
  font-size: clamp(2.4rem, 5.2vw, 4.4rem) !important;
  text-transform: none !important;
  line-height: 0.95 !important;
}
.proof-intro {
  font-family: 'Source Serif 4', Georgia, serif !important;
  font-size: 1.12rem !important;
  line-height: 1.7 !important;
  color: #333333 !important;
  border: none !important;
  padding: 0 !important;
}
.proof-grid { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 0 !important; }
.proof-card {
  background: none !important;
  border: none !important;
  border-top: 1px solid var(--ink) !important;
  padding: 1.75rem 2rem 0 0 !important;
  gap: 0.5rem !important;
}
.proof-card::after { display: none !important; }
.proof-card .proof-marker {
  background: none !important;
  color: var(--muted) !important;
  padding: 0 !important;
  font-size: 0.64rem !important;
  letter-spacing: 0.26em !important;
  margin-bottom: 1.25rem !important;
}
.proof-card .proof-metric {
  font-family: var(--font-display) !important;
  font-size: 2.6rem !important;
  color: var(--ink) !important;
  letter-spacing: -0.03em !important;
  margin-bottom: 0.35rem !important;
}
.proof-card h3 {
  font-family: var(--font-ui) !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: -0.01em !important;
  font-size: 1.05rem !important;
  color: var(--ink) !important;
  margin-bottom: 0.35rem !important;
}
.proof-card p {
  font-family: var(--font-ui) !important;
  font-size: 0.88rem !important;
  line-height: 1.65 !important;
  color: #555555 !important;
}

/* ---------- Services / steps / consulting: hairline grid ---------- */
.services-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 0 !important; border-top: 1px solid var(--hair); }
.service-card {
  background: none !important;
  border: none !important;
  border-bottom: 1px solid var(--hair) !important;
  border-right: 1px solid var(--hair) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 2.5rem 2rem !important;
  transition: background .2s ease;
}
.service-card:hover { background: rgba(14,14,14,0.03) !important; transform: none !important; }
.service-card:nth-child(3n) { border-right: none !important; }
.service-icon { background: none !important; border: none !important; width: auto !important; height: auto !important; margin-bottom: 1.25rem !important; }
.service-icon svg { width: 26px !important; height: 26px !important; stroke: var(--ink) !important; fill: none !important; stroke-width: 1.5 !important; }
.service-card h3 {
  font-family: var(--font-ui) !important; font-weight: 700 !important;
  font-size: 1.05rem !important; text-transform: none !important; letter-spacing: -0.01em !important;
  color: var(--ink) !important; margin-bottom: 0.6rem !important;
}
.service-card p { font-size: 0.9rem !important; line-height: 1.65 !important; color: #555555 !important; }

.steps-grid { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 0 !important; border-top: 1px solid var(--ink); }
.step-card {
  background: none !important; border: none !important; border-radius: 0 !important; box-shadow: none !important;
  padding: 1.75rem 2rem 0 0 !important;
}
.step-num {
  background: none !important; color: var(--muted) !important; width: auto !important; height: auto !important;
  font-family: var(--font-ui) !important; font-size: 0.64rem !important; font-weight: 700 !important;
  letter-spacing: 0.26em !important; margin-bottom: 1.25rem !important; border-radius: 0 !important; padding: 0 !important;
}
.step-card h3 { font-family: var(--font-ui) !important; font-weight: 700 !important; font-size: 1.02rem !important; text-transform: none !important; color: var(--ink) !important; margin-bottom: 0.5rem !important; }
.step-card p { font-size: 0.88rem !important; line-height: 1.65 !important; color: #555555 !important; }

.consulting-layout { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 0 !important; border-top: 1px solid var(--hair); }
.consulting-card {
  background: none !important; border: none !important; border-bottom: 1px solid var(--hair) !important;
  border-right: 1px solid var(--hair) !important; border-radius: 0 !important; box-shadow: none !important;
  padding: 2.5rem 2.5rem 2.5rem 0 !important;
}
.consulting-card:nth-child(2n) { border-right: none !important; padding-left: 2.5rem !important; }
.consulting-card-num { font-family: var(--font-ui) !important; color: var(--muted) !important; font-size: 0.64rem !important; letter-spacing: 0.26em !important; background: none !important; -webkit-text-fill-color: currentColor !important; }
.consulting-card h3 { font-family: var(--font-ui) !important; font-weight: 700 !important; font-size: 1.1rem !important; text-transform: none !important; color: var(--ink) !important; margin: 1rem 0 0.5rem !important; }
.consulting-card p { font-size: 0.9rem !important; line-height: 1.65 !important; color: #555555 !important; }
.consulting-cta-row {
  display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 2rem;
  background: none !important; border: none !important; border-top: 1px solid var(--ink) !important;
  border-radius: 0 !important; padding: 2.5rem 0 0 !important; margin-top: 3rem !important;
}
.consulting-cta-row p { font-family: 'Source Serif 4', Georgia, serif !important; font-size: 1.05rem !important; color: #333333 !important; max-width: 40rem; margin: 0 !important; }
.btn-consulting {
  background: transparent !important; border: 1px solid var(--ink) !important; color: var(--ink) !important;
  border-radius: 0 !important; font-family: var(--font-ui) !important; font-weight: 700 !important;
  font-size: 0.72rem !important; letter-spacing: 0.16em !important; text-transform: uppercase !important;
  padding: 0.95rem 1.6rem !important; white-space: nowrap;
}
.btn-consulting:hover { background: var(--ink) !important; color: var(--paper) !important; }

/* ---------- About ---------- */
.about-grid { display: grid !important; grid-template-columns: 1.4fr 1fr !important; gap: 4rem !important; align-items: start; }
.about-text p { font-family: 'Source Serif 4', Georgia, serif !important; font-size: 1.05rem !important; line-height: 1.8 !important; color: #333333 !important; }
.about-cards { display: grid; gap: 0; }
.about-card {
  background: none !important; border: none !important; border-top: 1px solid var(--ink) !important;
  border-radius: 0 !important; box-shadow: none !important; padding: 1.75rem 0 2rem !important;
}
.about-card h3 { font-family: var(--font-ui) !important; font-weight: 700 !important; text-transform: none !important; font-size: 1.05rem !important; color: var(--ink) !important; margin-bottom: 0.5rem !important; }
.about-card p { font-size: 0.9rem !important; line-height: 1.65 !important; color: #555555 !important; }

/* ---------- Contact ---------- */
.contact-grid { display: grid !important; grid-template-columns: 1.25fr 1fr !important; gap: 0 !important; border-top: 1px solid var(--ink); }
.contact-form-wrap, .contact-cta-panel {
  background: none !important; border: none !important; border-right: 1px solid var(--hair) !important;
  border-radius: 0 !important; box-shadow: none !important; padding: 2.5rem 3rem 2.5rem 0 !important;
}
.contact-cta-panel h3 { font-family: var(--font-display) !important; font-weight: 700 !important; text-transform: none !important; font-size: clamp(1.6rem,2.6vw,2.2rem) !important; letter-spacing: -0.02em !important; color: var(--ink) !important; }
.contact-cta-panel p { font-family: 'Source Serif 4', Georgia, serif !important; color: #333333 !important; }
.contact-sidebar { padding: 2.5rem 0 2.5rem 3rem !important; }
.contact-info-block, .contact-cta-block { background: none !important; border: none !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 !important; }
.contact-cta-block { border-top: 1px solid var(--hair) !important; margin-top: 2rem !important; padding-top: 2rem !important; }
.contact-cta-block h3 { font-family: var(--font-ui) !important; font-weight: 700 !important; text-transform: none !important; font-size: 1.05rem !important; color: var(--ink) !important; }
.contact-info-icon { background: none !important; border: none !important; }
.contact-info-icon svg { stroke: var(--ink) !important; fill: none !important; stroke-width: 1.5 !important; width: 20px !important; height: 20px !important; }
.btn-call {
  background: var(--ink) !important; border: 1px solid var(--ink) !important; color: var(--paper) !important;
  border-radius: 0 !important; font-family: var(--font-ui) !important; font-weight: 700 !important;
  font-size: 0.72rem !important; letter-spacing: 0.16em !important; text-transform: uppercase !important; padding: 0.95rem 1.6rem !important;
}
.btn-call:hover { background: var(--ink) !important; border-color: var(--ink) !important; color: #fff !important; }

/* ---------- Footer ---------- */
footer { background: var(--ink) !important; color: var(--paper) !important; border: none !important; padding: 5rem 0 2.5rem !important; }
footer p, footer li, footer a, footer span { color: rgba(255,255,255,0.68) !important; }
footer a:hover { color: #fff !important; }
.footer-col h4 { color: var(--muted) !important; font-family: var(--font-ui) !important; font-size: 0.64rem !important; letter-spacing: 0.26em !important; text-transform: uppercase !important; }
.footer-brand .footer-logo { font-family: var(--font-display) !important; color: var(--paper) !important; font-size: 1.1rem !important; letter-spacing: 0.02em !important; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,0.14) !important; margin-top: 3rem !important; padding-top: 1.5rem !important; }
.social-link { border: 1px solid rgba(255,255,255,0.28) !important; border-radius: 0 !important; color: rgba(255,255,255,0.8) !important; }
.social-link:hover { background: var(--ink) !important; border-color: var(--ink) !important; color: #fff !important; }

/* ---------- Responsive ---------- */
@media (max-width: 980px) {
  .hero-grid { grid-template-columns: 1fr !important; gap: 2.25rem; }
  #hero { padding: 8rem 0 4rem !important; }
  .stats-ledger { grid-template-columns: repeat(2, 1fr) !important; }
  .services-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .service-card:nth-child(3n) { border-right: 1px solid var(--hair) !important; }
  .service-card:nth-child(2n) { border-right: none !important; }
  .steps-grid, .proof-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .about-grid, .contact-grid { grid-template-columns: 1fr !important; gap: 2.5rem !important; }
  .contact-form-wrap, .contact-cta-panel { border-right: none !important; padding: 2.5rem 0 !important; }
  .contact-sidebar { padding: 0 0 2.5rem !important; }
  .consulting-layout { grid-template-columns: 1fr !important; }
  .consulting-card, .consulting-card:nth-child(2n) { border-right: none !important; padding: 2rem 0 !important; }
  .consulting-cta-row { flex-direction: column; align-items: flex-start !important; }
}
@media (max-width: 620px) {
  .container { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
  #services, #how, #about, #record, #consulting, #contact { padding: 4.5rem 0 !important; }
  .hero-meta { font-size: 0.56rem; letter-spacing: 0.22em; }
  .stats-ledger, .services-grid, .steps-grid, .proof-grid { grid-template-columns: 1fr !important; }
  .service-card { border-right: none !important; padding: 2rem 0 !important; }
  .hero-btns .btn-primary, .hero-btns .btn-outline { width: 100%; text-align: center; }
}

/* Flatten leftover card fills */
.service-card, .consulting-card, .about-card, .step-card, .proof-card,
.contact-info-block, .contact-cta-block, .contact-form-wrap, .contact-cta-panel,
.consulting-cta-row, .status-card, .about-cards > * {
  background: transparent !important;
  background-image: none !important;
}
.service-card { text-align: left !important; }
.service-icon { margin-left: 0 !important; display: block !important; text-align: left !important; }
.service-icon svg { display: block !important; margin: 0 !important; }

.services-grid, .consulting-layout, .contact-grid, .steps-grid, .proof-grid, .about-grid, .about-cards {
  background: transparent !important;
  background-image: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  overflow: visible !important;
}
.contact-grid { align-items: stretch; }

@media (max-width: 620px) {
  .hero-grid { padding: 2.5rem 0 1.75rem !important; }
  .tagline-hard { margin-bottom: 1rem !important; }
}
