/* ── Design tokens ──────────────────────────────────────────────────────────── */
:root {
  --bg-base:          #060f1c;
  --bg-panel:         #0a1929;
  --bg-card:          #0d2137;
  --bg-card-hover:    #112843;
  --border:           #1e3a5f;
  --border-light:     #2a4f7c;
  --accent-green:     #00e676;
  --accent-green-dim: #00c853;
  --accent-blue:      #00b4d8;
  --accent-blue-dim:  #0086a8;
  --text-primary:     #e8f0fe;
  --text-secondary:   #90afc5;
  --text-muted:       #5a7a95;
  --danger:           #f44336;
  --danger-dark:      #c62828;
  --warning:          #ff9800;
  --success:          #00e676;
  --neon-green:       0 0 12px rgba(0,230,118,.35);
  --neon-blue:        0 0 12px rgba(0,180,216,.35);
  --radius:           8px;
  --radius-lg:        14px;
  --font:             -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono:        "SF Mono", "Fira Code", "Cascadia Code", Consolas, monospace;
  --transition:       .18s ease;
  --nav-height:       64px;
}

/* ── Reset ──────────────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  background: var(--bg-base);
  color: var(--text-primary);
  font-family: var(--font);
  line-height: 1.65;
  min-height: 100vh;
}
img { max-width: 100%; display: block; }
a { color: var(--accent-blue); text-decoration: none; }
a:hover, a:focus { color: var(--accent-green); text-decoration: underline; }
a:focus-visible { outline: 2px solid var(--accent-green); outline-offset: 3px; border-radius: 3px; }
ul { list-style: none; }
button { font-family: inherit; cursor: pointer; border: none; }

/* ── Skip to content ────────────────────────────────────────────────────────── */
.skip-link {
  position: absolute; top: -100%; left: 1rem; padding: .5rem 1rem;
  background: var(--accent-green); color: #000; font-weight: 700;
  border-radius: var(--radius); z-index: 9999;
}
.skip-link:focus { top: 1rem; }

/* ── Typography ─────────────────────────────────────────────────────────────── */
h1 { font-size: clamp(1.8rem, 4vw, 2.8rem); font-weight: 800; letter-spacing: -.02em; }
h2 { font-size: clamp(1.3rem, 3vw, 1.9rem); font-weight: 700; margin: 2rem 0 .75rem; }
h3 { font-size: 1.1rem; font-weight: 600; margin: 1.5rem 0 .5rem; }
p  { margin-bottom: .9rem; color: var(--text-secondary); }
p:last-child { margin-bottom: 0; }
ul li, ol li { margin-bottom: .4rem; }
code { font-family: var(--font-mono); background: var(--bg-card); padding: .15rem .4rem; border-radius: 4px; font-size: .9em; }
strong { color: var(--text-primary); }

/* ── Layout ─────────────────────────────────────────────────────────────────── */
.section-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 1.5rem;
}
.section-inner.narrow { max-width: 760px; }
.site-main { padding-top: var(--nav-height); min-height: calc(100vh - var(--nav-height)); }

/* ── Buttons ─────────────────────────────────────────────────────────────────── */
.btn-primary, .btn-secondary, .btn-platform, .btn-nav-cta, .btn-danger {
  display: inline-flex; align-items: center; justify-content: center;
  padding: .65rem 1.5rem; border-radius: var(--radius); font-size: .95rem;
  font-weight: 600; text-decoration: none !important; transition: var(--transition);
  cursor: pointer; border: 2px solid transparent;
}
.btn-primary  { background: var(--accent-green); color: #000; }
.btn-primary:hover  { background: var(--accent-green-dim); color: #000; box-shadow: var(--neon-green); }
.btn-secondary { background: transparent; color: var(--accent-blue); border-color: var(--accent-blue); }
.btn-secondary:hover { background: rgba(0,180,216,.1); box-shadow: var(--neon-blue); }
.btn-platform { background: var(--bg-card); color: var(--text-primary); border-color: var(--border); margin-top: 1rem; }
.btn-platform:hover { border-color: var(--accent-blue); color: var(--accent-blue); }
.btn-nav-cta { background: var(--accent-green); color: #000; padding: .45rem 1.1rem; font-size: .875rem; }
.btn-nav-cta:hover { background: var(--accent-green-dim); color: #000; }
.btn-danger { background: var(--danger); color: #fff; }
.btn-danger:hover:not([disabled]) { background: var(--danger-dark); }
.btn-danger[disabled] { opacity: .6; cursor: not-allowed; }
button:focus-visible, a.btn-primary:focus-visible, a.btn-secondary:focus-visible {
  outline: 2px solid var(--accent-green); outline-offset: 3px;
}

/* ── Navigation ─────────────────────────────────────────────────────────────── */
.site-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  height: var(--nav-height);
  background: rgba(6,15,28,.95); backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
}
.nav-inner {
  max-width: 1100px; margin: 0 auto; padding: 0 1.5rem;
  display: flex; align-items: center; justify-content: space-between; height: 100%;
}
.nav-brand {
  display: flex; align-items: center; gap: .5rem;
  text-decoration: none !important; color: var(--text-primary);
}
.brand-icon { color: var(--accent-green); font-size: 1.4rem; }
.brand-name { font-size: 1.1rem; font-weight: 800; letter-spacing: -.01em; color: var(--text-primary); }
.nav-links {
  display: flex; align-items: center; gap: .25rem; list-style: none;
}
.nav-links a {
  padding: .5rem .85rem; border-radius: var(--radius); color: var(--text-secondary);
  font-size: .9rem; font-weight: 500; text-decoration: none; transition: var(--transition);
}
.nav-links a:hover, .nav-links a.active { color: var(--text-primary); background: rgba(255,255,255,.06); }
.nav-links a.active { color: var(--accent-green); }
.nav-toggle {
  display: none; flex-direction: column; gap: 5px; background: none;
  padding: .4rem; border-radius: var(--radius);
}
.nav-toggle span { display: block; width: 22px; height: 2px; background: var(--text-primary); transition: var(--transition); }

/* ── Hero ───────────────────────────────────────────────────────────────────── */
.hero {
  min-height: calc(100vh - var(--nav-height));
  display: flex; align-items: center;
  padding: 5rem 1.5rem 4rem;
  max-width: 1100px; margin: 0 auto;
  gap: 3rem;
}
.hero-inner { flex: 1; }
.hero-badge {
  display: inline-block; padding: .3rem .9rem;
  background: rgba(0,230,118,.1); color: var(--accent-green);
  border: 1px solid rgba(0,230,118,.3); border-radius: 20px;
  font-size: .8rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase;
  margin-bottom: 1.5rem;
}
.hero-title { color: var(--text-primary); margin-bottom: 1.25rem; }
.accent-text { color: var(--accent-green); }
.hero-subtitle { font-size: 1.1rem; color: var(--text-secondary); max-width: 550px; margin-bottom: 2rem; }
.hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; }

/* Hero chart mock */
.hero-graphic { flex: 0 0 320px; display: flex; align-items: center; justify-content: center; }
.chart-mock {
  width: 280px; height: 180px; background: var(--bg-panel); border: 1px solid var(--border);
  border-radius: var(--radius-lg); padding: 1.25rem; position: relative; overflow: hidden;
}
.chart-line {
  position: absolute; left: 1.25rem; right: 1.25rem; bottom: 2rem;
  height: 60px; opacity: .25;
  background: linear-gradient(to right, var(--accent-green), var(--accent-blue));
  clip-path: polygon(0 100%, 8% 60%, 20% 70%, 35% 30%, 50% 45%, 65% 10%, 80% 25%, 100% 0, 100% 100%);
}
.chart-bars { display: flex; align-items: flex-end; gap: 6px; height: 100px; padding-top: 1rem; }
.bar {
  flex: 1; background: var(--accent-blue); border-radius: 3px 3px 0 0;
  opacity: .35; animation: barPulse 3s ease-in-out infinite;
}
.b1{height:30%} .b2{height:55%} .b3{height:40%} .b4{height:80%}
.b5{height:60%} .b6{height:45%} .b7{height:90%} .b8{height:70%}
.b2{animation-delay:.2s} .b3{animation-delay:.4s} .b4{animation-delay:.6s}
.b5{animation-delay:.8s} .b6{animation-delay:1s}  .b7{animation-delay:1.2s} .b8{animation-delay:1.4s}
@keyframes barPulse { 0%,100%{opacity:.35} 50%{opacity:.6} }

/* ── Sections ────────────────────────────────────────────────────────────────── */
.section-title {
  font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 800;
  color: var(--text-primary); text-align: center;
  margin: 0 0 .75rem;
}
.section-subtitle { text-align: center; max-width: 600px; margin: 0 auto 2.5rem; }

section { padding: 5rem 0; }
.capabilities, .platforms, .membership-preview, .disclaimer-section { padding: 4rem 0; }

/* ── Capability cards ────────────────────────────────────────────────────────── */
.capability-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.25rem; margin-top: 2.5rem;
}
.cap-card {
  background: var(--bg-panel); border: 1px solid var(--border); border-radius: var(--radius-lg);
  padding: 1.5rem; transition: var(--transition);
}
.cap-card:hover { border-color: var(--border-light); background: var(--bg-card-hover); }
.cap-icon { font-size: 1.75rem; margin-bottom: .75rem; }
.cap-card h3 { font-size: 1rem; font-weight: 700; color: var(--text-primary); margin: 0 0 .5rem; }
.cap-card p { font-size: .9rem; color: var(--text-secondary); margin: 0; }

/* ── Platform cards ──────────────────────────────────────────────────────────── */
.platform-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.25rem; margin-top: 2.5rem;
}
.platform-card {
  background: var(--bg-panel); border: 1px solid var(--border); border-radius: var(--radius-lg);
  padding: 2rem; text-align: center; transition: var(--transition);
}
.platform-card:hover { border-color: var(--border-light); }
.platform-coming-soon { opacity: .7; }
.platform-icon { font-size: 2.5rem; margin-bottom: 1rem; }
.platform-card h3 { font-size: 1.1rem; font-weight: 700; color: var(--text-primary); margin-bottom: .5rem; }
.platform-card p { font-size: .9rem; color: var(--text-secondary); margin-bottom: 1rem; }
.badge-coming-soon {
  display: inline-block; padding: .3rem .8rem;
  background: rgba(255,152,0,.1); color: var(--warning);
  border: 1px solid rgba(255,152,0,.3); border-radius: 20px;
  font-size: .8rem; font-weight: 600;
}

/* ── Plan cards ──────────────────────────────────────────────────────────────── */
.plan-cards {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem; margin: 2rem 0;
}
.plan-cards-full { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.plan-card {
  background: var(--bg-panel); border: 1px solid var(--border); border-radius: var(--radius-lg);
  padding: 1.75rem 1.5rem; position: relative;
}
.plan-card.plan-featured { border-color: var(--accent-green); box-shadow: var(--neon-green); }
.plan-badge {
  position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
  background: var(--accent-green); color: #000; font-size: .75rem; font-weight: 700;
  padding: .2rem .75rem; border-radius: 20px; white-space: nowrap;
}
.plan-tier { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--text-muted); margin-bottom: .3rem; }
.plan-price { font-size: 1.6rem; font-weight: 800; color: var(--text-primary); margin-bottom: .5rem; }
.plan-price span { font-size: .9rem; font-weight: 400; color: var(--text-muted); }
.plan-desc { font-size: .875rem; color: var(--text-secondary); margin-bottom: 1rem; }
.plan-features { list-style: none; padding: 0; }
.plan-features li { font-size: .875rem; color: var(--text-secondary); padding: .3rem 0; border-top: 1px solid rgba(255,255,255,.05); }
.plan-features li::before { content: "✓ "; color: var(--accent-green); font-weight: 700; }
.membership-cta { text-align: center; margin-top: 2.5rem; }
.membership-note { font-size: .85rem; color: var(--text-muted); margin-top: .75rem; }
.membership-notes { background: var(--bg-panel); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 1.75rem; margin: 2.5rem 0; }
.membership-notes ul { list-style: disc; padding-left: 1.5rem; }
.membership-notes li { color: var(--text-secondary); font-size: .9rem; }
.billing-note { margin-top: 2rem; }

/* ── Disclaimer ──────────────────────────────────────────────────────────────── */
.disclaimer-section { padding: 2rem 0 3rem; }
.risk-disclaimer {
  font-size: .8rem; color: var(--text-muted); line-height: 1.6;
  border-top: 1px solid var(--border); padding-top: 1.5rem;
}

/* ── Page hero ───────────────────────────────────────────────────────────────── */
.page-hero {
  background: var(--bg-panel); border-bottom: 1px solid var(--border);
  padding: 4rem 1.5rem 3rem;
}
.page-hero h1 { color: var(--text-primary); margin-bottom: .75rem; }
.page-lead { font-size: 1.05rem; color: var(--text-secondary); max-width: 600px; }

/* ── Content pages ───────────────────────────────────────────────────────────── */
.content-page { padding: 3rem 1.5rem 5rem; }
.legal-page h1 { margin-bottom: .25rem; }
.legal-page h2 { font-size: 1.15rem; margin-top: 2rem; margin-bottom: .5rem; color: var(--text-primary); }
.legal-page h3 { font-size: 1rem; margin-top: 1.25rem; margin-bottom: .4rem; }
.legal-page ul, .legal-page ol { padding-left: 1.5rem; }
.legal-page ul li, .legal-page ol li { color: var(--text-secondary); font-size: .95rem; }
.legal-date { font-size: .85rem; color: var(--text-muted); margin-bottom: 2rem; }
.legal-counsel-notice {
  background: rgba(255,152,0,.08); border: 1px solid rgba(255,152,0,.3);
  border-radius: var(--radius); padding: 1rem 1.25rem; margin-bottom: 2rem;
  color: var(--warning); font-size: .875rem;
}
.legal-counsel-notice strong { color: var(--warning); }

/* ── Feature page ────────────────────────────────────────────────────────────── */
.feature-legend {
  display: flex; flex-wrap: wrap; gap: .75rem 1.5rem;
  margin-bottom: 2rem; padding: 1rem 1.25rem;
  background: var(--bg-panel); border-radius: var(--radius); border: 1px solid var(--border);
}
.legend-item { font-size: .85rem; color: var(--text-secondary); display: flex; align-items: center; gap: .4rem; }
.feature-list { list-style: none; padding: 0; }
.feature-list li { padding: .4rem 0; border-bottom: 1px solid rgba(255,255,255,.04); font-size: .9rem; color: var(--text-secondary); display: flex; align-items: baseline; gap: .6rem; }
.feature-list li:last-child { border-bottom: none; }
.badge-available, .badge-membership, .badge-broker, .badge-provider, .badge-web {
  display: inline-flex; align-items: center; justify-content: center;
  width: 1.4rem; flex-shrink: 0; font-size: .8rem;
}
.badge-available  { color: var(--accent-green); }
.badge-membership { color: #ffd700; }
.badge-broker     { color: var(--accent-blue); }
.badge-provider   { color: var(--text-muted); }
.badge-web        { color: var(--warning); }
.feature-note, .feature-disclaimer { font-size: .85rem; color: var(--text-muted); margin-top: 1rem; padding: .75rem 1rem; background: var(--bg-panel); border-radius: var(--radius); border-left: 3px solid var(--warning); }
.feature-disclaimer { margin: 3rem 0 0; }

/* ── About ───────────────────────────────────────────────────────────────────── */
.about-apps { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px,1fr)); gap: 1rem; margin-top: 1rem; }
.about-app { background: var(--bg-panel); border: 1px solid var(--border); border-radius: var(--radius); padding: 1.25rem; }
.about-app h3 { color: var(--text-primary); margin-top: 0; margin-bottom: .5rem; font-size: 1rem; }
.legal-links { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 1rem; }

/* ── Info card (login coming soon) ──────────────────────────────────────────── */
.info-card {
  background: var(--bg-panel); border: 1px solid var(--border); border-radius: var(--radius-lg);
  padding: 2.5rem; text-align: center;
}
.info-card-icon { font-size: 3rem; margin-bottom: 1.25rem; }
.info-card h2 { font-size: 1.35rem; margin-bottom: .75rem; }
.app-links { display: flex; gap: 1rem; flex-wrap: wrap; justify-content: center; margin: 1.5rem 0; }
.muted-note { font-size: .875rem; color: var(--text-muted); margin-top: 1.25rem; }

/* ── Support ─────────────────────────────────────────────────────────────────── */
.faq-group { margin-bottom: 2rem; }
.faq-group h3 { font-size: .95rem; text-transform: uppercase; letter-spacing: .06em; color: var(--accent-blue); margin-bottom: .75rem; }
.faq-item {
  background: var(--bg-panel); border: 1px solid var(--border); border-radius: var(--radius);
  margin-bottom: .5rem; overflow: hidden;
}
.faq-item summary {
  padding: .9rem 1.1rem; cursor: pointer; font-size: .95rem; font-weight: 500;
  color: var(--text-primary); list-style: none; display: flex; justify-content: space-between; align-items: center;
}
.faq-item summary::after { content: "+"; font-size: 1.2rem; color: var(--accent-green); flex-shrink: 0; }
.faq-item[open] summary::after { content: "−"; }
.faq-item summary:focus-visible { outline: 2px solid var(--accent-green); outline-offset: 2px; }
.faq-item p { padding: 0 1.1rem 1rem; margin: 0; font-size: .9rem; color: var(--text-secondary); }
.contact-cta { text-align: center; margin-top: 3rem; padding: 2rem; background: var(--bg-panel); border-radius: var(--radius-lg); border: 1px solid var(--border); }
.contact-cta h2 { margin-top: 0; margin-bottom: .75rem; }
.contact-cta p { margin-bottom: 1.25rem; }

/* ── Contact ─────────────────────────────────────────────────────────────────── */
.contact-methods { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px,1fr)); gap: 1.25rem; margin-bottom: 2.5rem; }
.contact-method { background: var(--bg-panel); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 1.5rem; }
.contact-method h2 { font-size: 1.05rem; margin-top: 0; margin-bottom: .5rem; }
.contact-icon { font-size: 1.75rem; margin-bottom: .75rem; }
.response-note, .topic-links { margin-top: 2rem; }
.topic-links ul { padding-left: 1.25rem; list-style: disc; }
.topic-links li { margin-bottom: .35rem; }

/* ── Status ──────────────────────────────────────────────────────────────────── */
.status-loading { display: flex; align-items: center; gap: 1rem; padding: 2rem; }
.spinner {
  width: 24px; height: 24px; border: 3px solid var(--border);
  border-top-color: var(--accent-green); border-radius: 50%;
  animation: spin .8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }
.status-card {
  display: flex; align-items: center; gap: 1rem;
  background: var(--bg-panel); border: 1px solid var(--border); border-radius: var(--radius);
  padding: 1.25rem 1.5rem; margin-bottom: 1rem;
}
.status-card.status-ok     { border-left: 4px solid var(--accent-green); }
.status-card.status-degraded { border-left: 4px solid var(--danger); }
.status-card.status-info   { border-left: 4px solid var(--accent-blue); }
.status-indicator { font-size: 1.5rem; }
.status-ok     .status-indicator { color: var(--accent-green); }
.status-degraded .status-indicator { color: var(--danger); }
.status-info   .status-indicator { color: var(--accent-blue); }
.status-card h2 { margin: 0; font-size: 1rem; font-weight: 700; }
.status-label { margin: 0; font-size: .9rem; color: var(--text-secondary); }
.status-note, .status-time { font-size: .85rem; color: var(--text-muted); margin-top: 1rem; }

/* ── Account deletion form ───────────────────────────────────────────────────── */
.deletion-info { margin-bottom: 2.5rem; }
.deletion-info h3 { color: var(--accent-blue); margin-top: 1.25rem; margin-bottom: .4rem; }
.deletion-info ul, .deletion-info ol { padding-left: 1.5rem; margin-bottom: .75rem; }
.deletion-info li { font-size: .9rem; color: var(--text-secondary); }
.form-group { margin-bottom: 1.25rem; }
.form-group label { display: block; font-size: .9rem; font-weight: 600; color: var(--text-primary); margin-bottom: .4rem; }
.form-input, .form-select, .form-textarea {
  width: 100%; background: var(--bg-panel); border: 1px solid var(--border);
  color: var(--text-primary); border-radius: var(--radius); padding: .6rem .9rem;
  font-family: inherit; font-size: .95rem; transition: var(--transition);
}
.form-input:focus, .form-select:focus, .form-textarea:focus {
  outline: none; border-color: var(--accent-blue); box-shadow: 0 0 0 3px rgba(0,180,216,.2);
}
.form-textarea { resize: vertical; min-height: 100px; }
.form-checkbox { display: flex; align-items: flex-start; gap: .7rem; }
.form-checkbox input[type="checkbox"] { margin-top: .2rem; flex-shrink: 0; accent-color: var(--accent-green); }
.form-checkbox label { font-size: .9rem; font-weight: 400; }
.required { color: var(--danger); }
.field-error { display: block; font-size: .82rem; color: var(--danger); margin-top: .3rem; }
.form-actions { margin-top: 1.75rem; }
.validation-summary { color: var(--danger); font-size: .88rem; margin-top: 1rem; }
.validation-summary ul { padding-left: 1.25rem; list-style: disc; }
.success-card {
  background: rgba(0,230,118,.07); border: 1px solid rgba(0,230,118,.3);
  border-radius: var(--radius-lg); padding: 2rem; text-align: center;
}
.success-icon { font-size: 3rem; color: var(--accent-green); margin-bottom: 1rem; }
.success-card h2 { color: var(--accent-green); margin-top: 0; margin-bottom: .75rem; }
.success-card p { color: var(--text-secondary); }
.error-card {
  background: rgba(244,67,54,.07); border: 1px solid rgba(244,67,54,.3);
  border-radius: var(--radius-lg); padding: 2rem;
}
.error-card h2 { color: var(--danger); margin-top: 0; }
.error-detail { font-family: var(--font-mono); font-size: .85rem; color: var(--text-muted); }

/* ── Not found ───────────────────────────────────────────────────────────────── */
.not-found { padding: 5rem 1.5rem; text-align: center; max-width: 500px; margin: 0 auto; }
.not-found h1 { margin-bottom: .75rem; }
.not-found p { margin-bottom: 1.5rem; }

/* ── Footer ──────────────────────────────────────────────────────────────────── */
.site-footer {
  background: var(--bg-panel); border-top: 1px solid var(--border);
  padding: 3rem 1.5rem 2rem;
}
.footer-inner { max-width: 1100px; margin: 0 auto; }
.footer-brand { margin-bottom: 2.5rem; }
.footer-brand .brand-icon { font-size: 1.25rem; }
.footer-brand .brand-name { font-size: 1rem; }
.footer-tagline { font-size: .85rem; color: var(--text-muted); margin-top: .4rem; }
.footer-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px,1fr)); gap: 2rem; margin-bottom: 2.5rem; }
.footer-col h3 { font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; color: var(--text-muted); margin: 0 0 .75rem; font-weight: 700; }
.footer-col a { display: block; color: var(--text-secondary); font-size: .875rem; margin-bottom: .4rem; text-decoration: none; }
.footer-col a:hover { color: var(--text-primary); }
.footer-legal { border-top: 1px solid var(--border); padding-top: 1.5rem; }
.disclaimer { font-size: .78rem; color: var(--text-muted); line-height: 1.6; margin-bottom: .75rem; }
.copyright { font-size: .8rem; color: var(--text-muted); }

/* ── Responsive ──────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .nav-toggle { display: flex; }
  .nav-links { display: none; flex-direction: column; position: absolute; top: var(--nav-height); left: 0; right: 0; background: var(--bg-base); border-bottom: 1px solid var(--border); padding: 1rem; gap: .25rem; }
  .nav-links.open { display: flex; }
  .nav-links a { display: block; padding: .75rem 1rem; }
  .hero { flex-direction: column; padding: 3rem 1.5rem; gap: 2rem; }
  .hero-graphic { display: none; }
  .plan-cards { grid-template-columns: 1fr 1fr; }
  .capability-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .plan-cards, .plan-cards-full { grid-template-columns: 1fr; }
  .hero-actions { flex-direction: column; }
  .app-links { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
