/* L5-WALKFIX-1027: Landing page inline-style purge.
 * Eliminates the 15 HTML-source inline style= attributes found in the
 * L5-WALK-2026-10-27 DOM audit (document.querySelectorAll('[style]') = 20).
 * All tokens use host-page palette vars; no raw colour literals.
 *
 * Guard pattern: :not(#lp) raises specificity to 1-1-0 to beat existing
 * single-class rules (0-1-0) that would otherwise win on the same element.
 * Load AFTER public_polish.css.
 */

/* ── 1. site-header-inner: position:relative ── */
.lp-hdr-rel { position: relative; }

/* ── 2. brand-logo img: height override (public.css says 30px) ── */
.lp-brand-logo-img:not(#lp) { height: 26px; width: auto; display: block; }

/* ── 3. nav-toggle SVG: size override (public.css says 16×16) ── */
.lp-nav-toggle-icon:not(#lp) { width: 18px; height: 14px; display: block; }

/* ── 4. section-sub: remove bottom margin for specific instance ── */
.lp-mb0:not(#lp) { margin-bottom: 0; }

/* ── 5. legal-trust-links: tighter top margin than default 28px ── */
.lp-lt-compact:not(#lp) { margin-top: 10px; }

/* ── 6. Proof/disclaimer note block ── */
.lp-proof-note {
  text-align: center;
  margin-top: 14px;
  font-size: 12px;
  line-height: 1.6;
  color: var(--muted);
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

/* ── 7. Proof methodology link ── */
.lp-proof-link {
  color: var(--muted2);
  letter-spacing: .03em;
  text-decoration: underline;
  text-underline-offset: 2px;
  white-space: nowrap;
}

/* ── 8. Section-center ecosystem intro: bottom spacing ── */
.lp-eco-intro { margin-bottom: 56px; }

/* ── 9. Included-grid wrapper: cap width + centering ── */
.lp-included-wrap { max-width: 880px; margin: 0 auto 32px; }

/* ── 10. Group-card wrapper: bottom spacing ── */
.lp-group-wrap { margin-bottom: 24px; }

/* ── 11. Tier-footnote link: muted colour ── */
.lp-link-muted { color: var(--muted); }

/* ── 12. FAQ list: left-aligned + top spacing ── */
.lp-faq-mods:not(#lp) { text-align: left; margin-top: 32px; }

/* ── 13. CTA bottom strip: gutter padding ── */
.lp-gutter-pad { padding: 0 var(--gutter); }

/* ── 14. Preview CTA anchor: subdued button style ── */
.lp-cta-preview { border-color: rgba(197, 165, 102, .30); color: var(--muted2); }

/* ── 15. Copyright line: spacing + colour ── */
.lp-copyright-line { margin-top: 8px; color: var(--muted); }

/* ── proof_block.js display management (replaces style.display) ──────────
 * proof_block.js previously used card.style.display = 'none'/'block' and
 * foot.style.display = 'block' to control visibility. These are now
 * class-toggled to keep the DOM free of inline style= attributes.
 */
#proofBlock .pb-card { display: none; }
#proofBlock .pb-card.pb-show { display: block; }
/* .pb-foot already has display:none in proof_block.css; show class overrides */
#proofBlock .pb-foot.pb-show { display: block; }
/* proof_block dynamic bar widths injected via <style id="pb-dyn"> in head */
#proofBlock .pb-band-bridge { left: 0; width: var(--pb-bridge-w, 0%); }
#proofBlock .pb-mark { left: var(--pb-mark-l, 0%); }
#proofBlock .pb-band-manual { left: var(--pb-manual-l, 0%); width: var(--pb-manual-w, 0%); }

/* ── W-8 token purge: styles moved from landing.html <style> block ── */

/* ── BRAND FONTS: defined once in /static/brand_fonts.css (Grown display,
   Montserrat body, JetBrains Mono numerics). Use var(--font-*) below. ── */
/* ── LANDING PAGE TOKENS & OVERRIDES ── */
:root {
  --radius-card: 12px;
  --radius-screen: 10px;
  --screen-border: rgba(197,165,102,.25);
  --screen-shadow: 0 2px 24px rgba(0,0,0,.35), 0 0 0 1px rgba(197,165,102,.12);
  --gutter: 24px;
}

/* ── HEADER ── */
.site-header {
  padding: 16px var(--gutter);
  border-bottom: 1px solid var(--border);
  background: rgba(11,10,8,.80);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  position: sticky; top: 0; z-index: 50;
}
/* F4 (audit RECOVERY_UI_2026-09-16): same-page anchor targets clear the
   sticky header (≈69px desktop) so the destination is never hidden under it. */
#platform, #copy-trading, #pricing { scroll-margin-top: 84px; }
.site-header-inner {
  max-width: 1200px; margin: 0 auto;
  display: flex; align-items: center; gap: 14px;
}
.site-header .brand { margin-bottom: 0; }
.brand-logo {
  display: inline-flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; border-radius: 8px;
  background: transparent;
  border: none;
  color: var(--gold);
}
.site-nav {
  margin-left: auto;
  display: flex; align-items: center; gap: 20px;
  font-size: 13px;
}
.site-nav a { color: var(--muted2); text-decoration: none; }
.site-nav a.btn { color: var(--bg); }
.site-nav a:hover { color: var(--blue); }
.site-nav .btn { padding: 7px 16px; }
.nav-toggle {
  display: none; margin-left: auto;
  background: transparent; border: 1px solid rgba(197,165,102,.20);
  color: var(--muted2); padding: 8px 10px; border-radius: 8px;
  line-height: 1; cursor: pointer;
  transition: border-color .15s, color .15s;
}
.nav-toggle:hover { border-color: rgba(59,130,246,.45); color: var(--blue); }

/* ── HERO ── */
.hero {
  max-width: 1200px; margin: 0 auto;
  padding: 72px var(--gutter) 56px;
  display: grid; grid-template-columns: 1fr 1.1fr;
  gap: 56px; align-items: center;
}
.hero-copy { max-width: 580px; }
.hero-shot { position: relative; }
.hero-shot img {
  display: block; width: 100%; height: auto;
  border: 1px solid var(--screen-border); border-radius: var(--radius-screen);
  box-shadow: var(--screen-shadow);
  background: var(--bg2);
}
.hero-shot figcaption {
  margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--border);
  font-size: 11px; color: var(--muted); letter-spacing: .3px; line-height: 1.6;
}
.hero-shot figcaption b { color: var(--gold); font-weight: 700; }

.hero .eyebrow {
  display: inline-block; background: rgba(59,130,246,.10); color: var(--blue);
  border: 1px solid rgba(59,130,246,.30); border-radius: 100px;
  padding: 5px 13px; font-size: 11px; font-weight: 700;
  letter-spacing: .8px; text-transform: uppercase; margin-bottom: 20px;
}
.hero h1 {
  font-family: var(--font-display); font-synthesis: none;
  font-size: 50px; font-weight: 400; line-height: 1.07; margin: 0 0 20px;
  letter-spacing: -0.5px; color: var(--text);
}
.hero h1 em {
  font-style: normal;
  color: var(--cream);
  border-bottom: 3px solid var(--blue);
  padding-bottom: 2px;
}
.hero .lead {
  font-size: 17px; color: var(--muted2); line-height: 1.6;
  max-width: 520px; margin: 0 0 30px;
  /* ensure no browser-default link color inside lead */
}
.hero .lead strong { color: var(--text); }
.hero-cta { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.hero-cta .btn-secondary {
  border-color: rgba(197,165,102,.35); color: var(--muted2);
}
.hero-cta .btn-secondary:hover {
  border-color: rgba(197,165,102,.65); color: var(--text);
  background: rgba(197,165,102,.06);
}
.hero .small {
  margin-top: 16px; color: var(--muted); font-size: 12px;
  max-width: 480px; line-height: 1.7;
}

/* ── CENTERED HERO + FULL-WIDTH TERMINAL SHOT (redesign 2026-08-23) ── */
.hero.hero-centered {
  grid-template-columns: 1fr; text-align: center;
  max-width: 960px; padding: 80px var(--gutter) 48px; gap: 0;
}
.hero-centered .hero-copy { max-width: 100%; margin: 0 auto; }
.hero-centered h1 { font-size: clamp(38px, 5vw, 62px); }
.hero-centered .lead { max-width: 640px; margin: 0 auto 30px; }
.hero-centered .hero-cta { justify-content: center; }
.hero-centered .small { margin-left: auto; margin-right: auto; text-align: center; }
.hero-terminal { max-width: 1160px; margin: 0 auto; padding: 0 var(--gutter) 56px; }
.hero-terminal-label {
  font-size: 10px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase;
  color: rgba(197,165,102,.78); text-align: center; margin-bottom: 16px; /* .50→.78: WCAG AA contrast (lighthouse 8/25) */
}
.hero-terminal img {
  display: block; width: 100%; height: auto;
  border: 1px solid rgba(197,165,102,.20); border-radius: 12px;
  box-shadow: 0 4px 60px rgba(0,0,0,.55);
  background: var(--bg2);
}
.hero-terminal .shot-caption {
  margin-top: 12px; font-size: 11px; color: var(--muted);
  letter-spacing: .3px; line-height: 1.6; text-align: center;
}

/* ── TRUST BAR ── */
.trust-bar {
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap;
  gap: 8px 20px; padding: 18px var(--gutter); max-width: 1240px; margin: 0 auto 0;
  border-top: 1px solid rgba(197,165,102,.10);
}
.trust-bar-item {
  display: flex; align-items: center; gap: 7px;
  font-size: 12px; color: var(--muted2); font-weight: 600; letter-spacing: .2px;
}
.trust-bar-item .tb-icon {
  width: 18px; height: 18px; border-radius: 4px;
  background: rgba(197,165,102,.10); display: flex; align-items: center;
  justify-content: center; color: var(--gold); flex-shrink: 0;
}
.trust-bar-item .tb-icon svg { width: 11px; height: 11px; display: block; }

/* ── GENERIC SECTION ── */
.section { max-width: 1100px; margin: 0 auto; padding: 64px var(--gutter); }
.section-center { text-align: center; }
.eyebrow-label {
  display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: 1px;
  text-transform: uppercase; color: var(--gold); margin-bottom: 12px;
}
.section-title {
  font-family: var(--font-display); font-synthesis: none;
  font-size: 30px; font-weight: 400; color: var(--text);
  letter-spacing: -.3px; margin: 0 0 12px; line-height: 1.15;
}
.section-sub {
  color: var(--muted2); font-size: 15px; line-height: 1.6;
  max-width: 640px; margin: 0 auto 40px;
}

/* ── PLATFORM SCREENSHOT (FULL-WIDTH FEATURED) ── */
.platform-shot-wrap {
  max-width: 1100px; margin: 0 auto; padding: 0 var(--gutter) 64px;
}
.platform-shot-wrap img {
  display: block; width: 100%; height: auto;
  border: 1px solid var(--screen-border); border-radius: var(--radius-screen);
  box-shadow: var(--screen-shadow);
}
.platform-shot-wrap .shot-caption {
  margin-top: 12px; font-size: 12px; color: var(--muted);
  text-align: center; letter-spacing: .3px;
}

/* ── WHY BRIDGE 3-COL ── */
.why-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
}
.why-card {
  background: var(--bg2); border: 1px solid var(--border);
  border-radius: var(--radius-card); padding: 28px 24px;
}
.why-card .wc-icon {
  width: 40px; height: 40px; border-radius: 9px; margin-bottom: 16px;
  background: rgba(197,165,102,.10); border: 1px solid rgba(197,165,102,.20);
  display: flex; align-items: center; justify-content: center; color: var(--gold);
}
.why-card .wc-icon svg { width: 20px; height: 20px; display: block; }
.why-card h3 { font-size: 16px; font-weight: 700; margin: 0 0 8px; color: var(--text); }
.why-card p { font-size: 13.5px; color: var(--muted2); line-height: 1.6; margin: 0; }

/* ── TRUST/INFRA SECTION ── */
.trust-section {
  background: linear-gradient(160deg, rgba(197,165,102,.04) 0%, transparent 60%);
  border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
  padding: 64px var(--gutter);
}
.trust-inner { max-width: 1100px; margin: 0 auto; }
.trust-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px; margin-top: 36px;
}
.trust-card {
  background: var(--bg2); border: 1px solid var(--border);
  border-radius: var(--radius-card); padding: 24px 22px;
  display: flex; flex-direction: column; gap: 10px;
}
.trust-card .tc-icon {
  width: 36px; height: 36px; border-radius: 8px;
  background: rgba(197,165,102,.10); border: 1px solid rgba(197,165,102,.18);
  display: flex; align-items: center; justify-content: center; color: var(--gold);
  flex-shrink: 0;
}
.trust-card .tc-icon svg { width: 18px; height: 18px; display: block; }
.trust-card h3 { font-size: 14px; font-weight: 700; color: var(--text); margin: 0; }
.trust-card p { font-size: 13px; color: var(--muted2); line-height: 1.55; margin: 0; }
.trust-card a { color: var(--gold); text-decoration: underline; text-underline-offset: 2px; font-size: 12px; }
.legal-trust-links {
  display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 28px;
  font-size: 12px;
}
.legal-trust-links a { color: var(--muted2); text-decoration: underline; text-underline-offset: 2px; }
.legal-trust-links a:hover { color: var(--gold); }

/* ── ECOSYSTEM (4-STEP) ── */
.ecosystem-step {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 48px; align-items: center; margin-bottom: 64px;
}
.ecosystem-step:last-child { margin-bottom: 0; }
.ecosystem-step.reverse { direction: rtl; }
.ecosystem-step.reverse > * { direction: ltr; }
.ecosystem-step-img img {
  display: block; width: 100%; height: auto;
  border: 1px solid var(--screen-border); border-radius: var(--radius-screen);
  box-shadow: var(--screen-shadow);
}
.ecosystem-step-copy { padding: 8px 0; }
.ecosystem-step-copy .step-num {
  font-family: var(--font-mono);
  font-size: 10px; font-weight: 800; letter-spacing: 1.2px;
  color: var(--gold); text-transform: uppercase; margin-bottom: 10px;
}
.ecosystem-step-copy h3 {
  font-family: var(--font-display); font-synthesis: none;
  font-size: 26px; font-weight: 400; color: var(--text);
  margin: 0 0 12px; letter-spacing: -.2px; line-height: 1.2;
}
.ecosystem-step-copy p {
  font-size: 15px; color: var(--muted2); line-height: 1.65; margin: 0;
}

/* ── FEATURE GRID (max 6) ── */
.feature-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 18px;
}
.feature {
  background: linear-gradient(180deg, rgba(197,165,102,.045) 0%, var(--bg2) 34%);
  border: 1px solid var(--border);
  border-radius: var(--radius-card); padding: 24px 22px;
  box-shadow: 0 8px 24px rgba(0,0,0,.28);
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.feature:hover {
  border-color: rgba(197,165,102,.38);
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(0,0,0,.4);
}
@media (prefers-reduced-motion: reduce) { .feature, .feature:hover { transform: none; transition: none; } }
.feature .feat-icon {
  width: 36px; height: 36px; border-radius: 8px; margin-bottom: 14px;
  background: rgba(197,165,102,.10); border: 1px solid rgba(197,165,102,.18);
  display: flex; align-items: center; justify-content: center; color: var(--gold);
}
.feature .feat-icon svg { width: 18px; height: 18px; display: block; }
.feature h3 { font-size: 14px; font-weight: 700; margin: 0 0 7px; color: var(--text); }
.feature p { font-size: 13px; color: var(--muted2); line-height: 1.55; margin: 0; }

/* ── PRICING ── */
.pricing-row {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px; max-width: 820px; margin: 0 auto;
}
.pricing-card {
  background: var(--bg2); border: 1px solid var(--border);
  border-radius: var(--radius-card); padding: 30px 26px; position: relative;
}
.pricing-card.featured {
  border-color: rgba(197,165,102,.55);
  background: linear-gradient(180deg, rgba(197,165,102,.06) 0%, transparent 100%);
}
.pricing-card.featured::before {
  content: 'CODE FOUNDER5 · FIRST 3 MONTHS $5/MO';
  position: absolute; top: -11px; left: 50%; transform: translateX(-50%);
  background: var(--gold); color: var(--bg);
  padding: 4px 14px; border-radius: 100px;
  font-size: 10px; font-weight: 800; letter-spacing: .8px; white-space: nowrap;
}
.pricing-card .tier-badge {
  font-size: 10px; font-weight: 800; letter-spacing: .8px;
  text-transform: uppercase; color: var(--muted); margin-bottom: 10px;
}
.pricing-card.featured .tier-badge { color: var(--gold); }
.pricing-card .tier-price {
  font-family: var(--font-mono);
  font-size: 38px; font-weight: 800; line-height: 1; margin-bottom: 4px;
  font-variant-numeric: tabular-nums; letter-spacing: -0.5px; color: var(--text);
}
.pricing-card .tier-price small { font-size: 14px; color: var(--muted); font-weight: 400; }
.pricing-card .tier-sub { color: var(--muted); font-size: 12px; margin-bottom: 20px; }
.pricing-card ul {
  list-style: none; padding: 0; margin: 0 0 22px;
  color: var(--muted2); font-size: 13px;
}
.pricing-card ul li {
  padding: 6px 0 6px 22px; position: relative;
  border-bottom: 1px solid var(--border);
}
.pricing-card ul li:last-child { border-bottom: 0; }
.pricing-card ul li::before {
  content: '✓'; position: absolute; left: 0;
  color: var(--gold); font-weight: 700; font-size: 12px;
}
.pricing-card .btn { width: 100%; display: block; text-align: center; }
.pricing-card .btn-waitlist {
  background: transparent; border: 1px solid rgba(197,165,102,.30);
  color: var(--muted2);
}
.pricing-card .btn-waitlist:hover {
  border-color: rgba(197,165,102,.60); color: var(--text);
  background: rgba(197,165,102,.05);
}
.pricing-card .tier-footnote {
  font-size: 11px; color: var(--muted); text-align: center; margin-top: 10px; line-height: 1.5;
}

/* ── FAQ ── */
.faq-list { max-width: 720px; margin: 0 auto; }
.faq-item {
  border-bottom: 1px solid var(--border); padding: 20px 0;
}
.faq-item:last-child { border-bottom: 0; }
.faq-item summary {
  font-size: 14px; font-weight: 700; color: var(--text);
  cursor: pointer; list-style: none; display: flex;
  align-items: center; justify-content: space-between; gap: 12px;
  user-select: none;
}
.faq-item summary::after {
  content: '+'; color: var(--gold); font-size: 20px; font-weight: 300;
  flex-shrink: 0; line-height: 1; transition: transform .2s;
}
.faq-item[open] summary::after { transform: rotate(45deg); }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item .faq-body {
  font-size: 13.5px; color: var(--muted2); line-height: 1.65;
  padding-top: 12px;
}
.faq-item .faq-body a { color: var(--gold); text-decoration: underline; text-underline-offset: 2px; }

/* ── CTA BAND ── */
.cta-band {
  background: linear-gradient(135deg, rgba(197,165,102,.06), rgba(197,165,102,.02));
  border: 1px solid rgba(197,165,102,.22); border-radius: 16px;
  text-align: center; padding: 60px 32px; margin: 0 auto 64px;
  max-width: 900px;
}
.cta-band h2 {
  font-family: var(--font-display); font-synthesis: none;
  font-size: 30px; margin: 0 0 14px; color: var(--text); font-weight: 400;
}
.cta-band p { color: var(--muted2); font-size: 15px; max-width: 560px; margin: 0 auto 26px; }
.cta-band .cta-pair { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; align-items: center; }

/* ── BRIEF PREVIEW ── */
.brief-preview-wrap { max-width: 900px; margin: 0 auto; padding: 0 var(--gutter); }
.brief-preview {
  display: none;
  background: linear-gradient(135deg, rgba(197,165,102,.06), rgba(197,165,102,.015));
  border: 1px solid rgba(197,165,102,.30); border-radius: 14px;
  padding: 22px 24px; text-decoration: none; color: var(--text);
  transition: border-color .15s, transform .15s;
}
.brief-preview:hover { border-color: var(--gold); transform: translateY(-2px); }
.brief-preview .bp-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; }
.brief-preview .bp-eyebrow { font-size: 10px; font-weight: 800; letter-spacing: .8px; text-transform: uppercase; color: var(--gold); }
.brief-preview .bp-date { font-size: 11px; color: var(--muted); font-weight: 600; }
.brief-preview .bp-regime { font-size: 15px; font-weight: 700; color: var(--text); margin-bottom: 4px; }
.brief-preview .bp-regime-detail { font-size: 12px; color: var(--muted2); margin-bottom: 14px; }
.brief-preview .bp-synth { font-size: 13px; color: var(--muted2); line-height: 1.55; margin-bottom: 14px; }
.brief-preview .bp-cta { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: var(--gold); }

/* ── COPY TRADING INCLUDED ITEMS ── */
.included-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 14px;
}
.included-item {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 16px; background: var(--bg2); border: 1px solid var(--border); border-radius: 10px;
}
.included-item .ii-check {
  flex-shrink: 0; width: 20px; height: 20px; border-radius: 5px;
  background: rgba(197,165,102,.12); border: 1px solid rgba(197,165,102,.25);
  display: flex; align-items: center; justify-content: center;
  font-size: 11px; color: var(--gold); font-weight: 700;
}
.included-item .ii-text { font-size: 13px; color: var(--muted2); line-height: 1.5; }
.included-item .ii-text strong { color: var(--text); display: block; margin-bottom: 3px; font-size: 13.5px; }

/* ── GROUP CARD ── */
.group-card {
  background: var(--bg2); border: 1px solid rgba(197,165,102,.50);
  background: linear-gradient(180deg, rgba(197,165,102,.06), transparent);
  border-radius: 14px; padding: 28px 26px; max-width: 560px; margin: 0 auto;
  position: relative;
}
.group-card .gc-badge {
  position: absolute; top: -11px; left: 24px;
  background: var(--gold); color: var(--bg);
  padding: 3px 12px; border-radius: 100px; font-size: 10px;
  font-weight: 800; letter-spacing: .8px;
}
.group-card .gc-top { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.group-card .gc-avatar {
  width: 48px; height: 48px; border-radius: 12px; flex-shrink: 0;
  background: linear-gradient(135deg, rgba(197,165,102,.25), rgba(197,165,102,.08));
  border: 1px solid rgba(197,165,102,.30);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-mono); font-size: 17px;
  font-weight: 800; color: var(--gold); letter-spacing: -1px;
}
.group-card .gc-name { font-size: 18px; font-weight: 800; color: var(--text); }
.group-card .gc-style { font-size: 11px; color: var(--gold); font-weight: 700; letter-spacing: .4px; text-transform: uppercase; margin-top: 2px; }
.group-card .gc-desc { font-size: 13px; color: var(--muted2); line-height: 1.6; margin-bottom: 14px; }
.group-card .gc-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.group-card .gc-tag { background: var(--bg3); border: 1px solid var(--border); padding: 3px 10px; border-radius: 6px; font-size: 11px; color: var(--muted2); font-family: var(--font-mono); }

/* ── LEADER DISCLAIMER ── */
.leader-disclaimer {
  margin: 20px auto 0; padding: 14px 16px; max-width: 820px;
  background: rgba(197,165,102,.04); border: 1px solid rgba(197,165,102,.15);
  border-radius: 10px; font-size: 12px; color: var(--muted2); line-height: 1.55; text-align: center;
}
.leader-disclaimer a { text-decoration: underline; text-underline-offset: 2px; color: var(--muted2); }

/* ── a11y ── */
section p a, .cta-band p a, footer .disclaimer a { text-decoration: underline; text-underline-offset: 2px; }

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
  .hero { grid-template-columns: 1fr; text-align: center; gap: 36px; padding-top: 56px; }
  .hero-copy { margin: 0 auto; }
  .hero .lead { margin: 0 auto 30px; }
  .hero-cta { justify-content: center; }
  .hero .small { margin-left: auto; margin-right: auto; }
  .why-grid { grid-template-columns: 1fr; }
  .ecosystem-step { grid-template-columns: 1fr; gap: 28px; }
  .ecosystem-step.reverse { direction: ltr; }
  .ecosystem-step-img { order: -1; }
}

@media (max-width: 640px) {
  /* Header */
  .site-header { padding: 12px 16px; }
  .site-nav {
    display: none; position: absolute; top: 100%; left: 0; right: 0;
    flex-direction: column; align-items: stretch; gap: 0;
    background: var(--bg2); border-bottom: 1px solid var(--border);
    padding: 8px 16px 16px;
  }
  .site-nav.is-open { display: flex; }
  .site-nav a { padding: 12px 4px; border-bottom: 1px solid var(--border); font-size: 14px; }
  .site-nav a:last-child { border-bottom: 0; }
  .site-nav .btn { margin-top: 8px; text-align: center; }
  .nav-toggle { display: inline-block; }
  #platform, #copy-trading, #pricing { scroll-margin-top: 72px; }  /* F4: mobile header is 57px */

  /* Hero */
  .hero { padding: clamp(52px, 10vh, 80px) 18px 28px; }
  .hero h1 { font-size: clamp(28px, 8vw, 38px); line-height: 1.12; margin-bottom: 16px; }
  .hero .lead { font-size: 15px; line-height: 1.55; margin-bottom: 22px; }
  .hero-cta { flex-direction: column; align-items: stretch; gap: 10px; }
  .hero-cta .btn, .hero-cta a.btn { display: block; width: 100%; text-align: center; padding: 13px 18px; font-size: 13px; min-height: 44px; display: flex; align-items: center; justify-content: center; }

  /* Sections */
  .section { padding: 44px 18px; }
  .section-title { font-size: 24px; }
  .section-sub { font-size: 14px; margin-bottom: 28px; }
  .platform-shot-wrap { padding: 0 18px 44px; }

  /* Trust bar */
  .trust-bar { gap: 8px 14px; padding: 16px 18px; }
  .trust-bar-item { font-size: 11px; }

  /* Ecosystem */
  .ecosystem-step-copy h3 { font-size: 22px; }
  .ecosystem-step-copy p { font-size: 14px; }

  /* Features */
  .feature-grid { gap: 14px; }
  .feature { padding: 20px 18px; }

  /* Pricing */
  .pricing-row { gap: 16px; }
  .pricing-card { padding: 24px 20px; }
  .pricing-card .tier-price { font-size: 32px; }

  /* CTA */
  .cta-band { padding: 44px 20px; }
  .cta-band h2 { font-size: 24px; }
  .cta-band .cta-pair { flex-direction: column; align-items: stretch; }
  .cta-band .cta-pair .btn { display: block; width: 100%; text-align: center; }

  /* Footer */
  footer.public-footer > div:nth-child(2) {
    display: flex; flex-wrap: wrap; justify-content: center;
    gap: 4px 2px; line-height: 2.2;
  }
  footer.public-footer a { margin: 0 6px; display: inline-block; min-height: 36px; line-height: 36px; }

  /* Trust section */
  .trust-grid { grid-template-columns: 1fr; }
  .included-grid { grid-template-columns: 1fr; }
}
/* ── LUX 0916 (2026-09-16): one surface language across every landing card.
   hairline + single soft shadow, ≤150ms hover, thinner hero underline,
   gold focus ring. Additive; lives last in this block so it wins. ── */
.why-card, .trust-card, .feature, .pricing-card {
  box-shadow: 0 1px 2px rgba(0,0,0,.30);
  transition: border-color 140ms cubic-bezier(.4,0,.2,1), transform 140ms cubic-bezier(.4,0,.2,1), box-shadow 140ms cubic-bezier(.4,0,.2,1);
}
.why-card:hover, .trust-card:hover, .feature:hover {
  border-color: rgba(197,165,102,.38); transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,.35);
}
.feature { background: var(--bg2); }
.hero h1 em { border-bottom-width: 2px; border-bottom-color: rgba(197,165,102,.85); padding-bottom: 4px; }
.hero .small { letter-spacing: .01em; }
.eyebrow-label, .hero-terminal-label { letter-spacing: .16em; }
.section-sub { font-size: 15.5px; }
.site-nav a { transition: color 120ms; }
.btn { transition: background 120ms, box-shadow 120ms, transform 100ms, border-color 120ms; }
.btn:focus-visible, .site-nav a:focus-visible, .faq-item summary:focus-visible, .nav-toggle:focus-visible {
  outline: none; box-shadow: 0 0 0 3px rgba(197,165,102,.22); border-radius: 7px;
}
.faq-item summary { transition: color 120ms; }
.faq-item summary:hover { color: var(--gold2); }
@media (prefers-reduced-motion: reduce) { .why-card, .trust-card, .feature, .pricing-card { transition: none; transform: none !important; } }

/* ── LANE L 0921 (2026-09-21): landing polish pass. Lives LAST so it wins.
   1. Cards read left-aligned (section headers stay centered) — kills the
      "centered-everything" template tell.
   2. One palette: every gradient tint → one flat gold tint; proof badges use
      the Noir tokens (no off-palette yellow/grey/green hexes).
   3. Grids never orphan: trust 3-col (6 cards = 2 rows); the 7th feature card
      is a deliberate full-width horizontal card, not a lonely 3rd-row tile.
   4. Glyph icons (✓ / +) → inline SVG; all standalone links/buttons ≥ 44px.
   5. FAQ: larger type + looser leading; summary is a 44px hit target.
   6. 4px spacing scale: 13.5px/15.5px → 14px/16px; card paddings on 8px steps. ── */
:root { --tint-1: rgba(197,165,102,.04); --tint-2: rgba(197,165,102,.08); --line-gold: rgba(197,165,102,.22); }
.why-card, .trust-card, .feature { text-align: left; }
.why-card .wc-icon, .trust-card .tc-icon, .feature .feat-icon { margin-left: 0; margin-right: 0; }
.why-card h3, .trust-card h3, .feature h3 { letter-spacing: .01em; }
.why-card p, .faq-item .faq-body, .trust-card p, .feature p, .included-item .ii-text, .group-card .gc-desc { font-size: 14px; line-height: 1.6; }
.section-sub, .ecosystem-step-copy p, .cta-band p { font-size: 16px; }
.why-card { padding: 28px 24px 32px; }
.trust-card, .feature { padding: 24px; }
.trust-card { gap: 12px; }

/* flat tints (no gradients) */
.trust-section { background: var(--bg2); }
.pricing-card.featured, .group-card, .cta-band, .brief-preview { background: var(--tint-1); }
.group-card .gc-avatar { background: var(--tint-2); }
.hero-terminal img { box-shadow: 0 1px 2px rgba(0,0,0,.30), 0 16px 40px rgba(0,0,0,.35); }

/* proof block (Lane PF 0922): styles live in /static/proof_block.css and consume the same tokens */

/* grids that never orphan */
@media (min-width: 901px) { .trust-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 641px) and (max-width: 900px) { .trust-grid { grid-template-columns: repeat(2, 1fr); } }
.feature-grid { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1000px) { .feature-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .feature-grid { grid-template-columns: 1fr; } }
.feature.feature-wide { grid-column: 1 / -1; display: grid; grid-template-columns: 36px 1fr; column-gap: 18px; align-items: start; }
.feature.feature-wide .feat-icon { margin-bottom: 0; grid-row: 1 / span 2; }
.feature.feature-wide h3 { margin-bottom: 6px; }
.feature.feature-wide p { max-width: 72ch; }

/* SVG glyphs replace ✓ and + */
.pricing-card ul li::before, .included-item .ii-check::before {
  content: ''; display: block; width: 12px; height: 12px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C5A566' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.pricing-card ul li::before { position: absolute; left: 0; top: 10px; }
.pricing-card ul li { padding: 8px 0 8px 24px; }
.included-item .ii-check { font-size: 0; }
.faq-item summary::after {
  content: ''; width: 16px; height: 16px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C5A566' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* FAQ readability */
.faq-item { padding: 8px 0; }
.faq-item summary { min-height: 44px; padding: 10px 0; font-size: 15px; line-height: 1.45; gap: 16px; }
.faq-item .faq-body { padding: 2px 32px 14px 0; line-height: 1.7; max-width: 64ch; }

/* ≥44px targets for every standalone link/button */
.site-nav a:not(.btn) { display: inline-flex; align-items: center; min-height: 44px; padding: 0 6px; }
.site-nav .btn { min-height: 44px; display: inline-flex; align-items: center; padding: 0 18px; }
.site-nav { gap: 10px; }
.brand > a { display: inline-flex; align-items: center; min-height: 44px; }
.hero-cta .btn, .cta-band .cta-pair .btn, .pricing-card .btn, .ct-cta .btn { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.pricing-card .tier-footnote a, .pricing-foot a, .legal-trust-links a, footer.public-footer > div > a {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px;
}
.legal-trust-links { gap: 0 14px; margin-top: 8px !important; }
.pricing-foot { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0 4px; color: var(--muted); font-size: 12px; margin-top: 16px; }
.pricing-foot a { color: var(--muted2); text-decoration: underline; text-underline-offset: 2px; }
footer.public-footer > div:nth-child(2) { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 2px; }
footer.public-footer > div:nth-child(2) a { margin: 0 4px; }
footer.public-footer .sep { color: var(--muted); display: inline-flex; align-items: center; min-height: 44px; font-size: 11px; opacity: .7; }
footer.public-footer .data-attr { margin-top: 10px; color: var(--muted); font-size: 12px; max-width: 760px; margin-left: auto; margin-right: auto; line-height: 1.6; }

/* copy-trading CTA row */
.ct-cta { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; align-items: center; margin: 28px auto 0; }
.ct-cta .btn-secondary { border-color: rgba(197,165,102,.35); color: var(--muted2); }
.ct-cta .btn-secondary:hover { border-color: rgba(197,165,102,.65); color: var(--text); background: var(--tint-1); }
.ct-cta-note { margin: 12px auto 0; color: var(--muted); font-size: 12px; max-width: 520px; line-height: 1.6; }

/* trust bar: a tidy grid on small screens instead of ragged wrapping */
@media (max-width: 640px) {
  .trust-bar { display: grid; grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)); gap: 12px 14px; text-align: left; }
  .trust-bar-item { align-items: flex-start; }
  .trust-bar-item .tb-icon { margin-top: 1px; }
  .ct-cta { flex-direction: column; align-items: stretch; }
  .ct-cta .btn { width: 100%; }
  .feature.feature-wide { grid-template-columns: 1fr; }
  .feature.feature-wide .feat-icon { grid-row: auto; margin-bottom: 14px; }
  .site-nav a:not(.btn) { min-height: 44px; padding: 0 4px; }
  .site-nav .btn { margin-top: 8px; justify-content: center; }
  .nav-toggle { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
  .faq-item .faq-body { padding-right: 0; }
}
/* ── LANE LP2 0921 (2026-09-21): landing polish round 2. Stays inside the last
   style block (after Lane L) so it wins the cascade.
   1. Inline legal links inside body copy (trust cards, leader disclaimer, FAQ
      answers) get a ≥44px vertical hit box via INLINE vertical padding — on an
      inline box vertical padding never touches the line box, so the paragraph
      rhythm is unchanged while the tap area grows (measured 15–18px before).
   2. Footer "Terms" measured 40px wide → every footer link ≥44px wide.
   3. No linked asset changed in this lane, so no ?v= bump is needed. ── */
.trust-card p a, .leader-disclaimer a, .faq-body a, .ct-cta-note a { padding-top: 15px; padding-bottom: 15px; }
footer.public-footer > div > a { min-width: 44px; justify-content: center; }
