/* ================================================================
   DSv2 — Design System v2  |  assets/dsv2.css
   Tokens + componentes reutilizáveis para Dash e HTML estático.
   Sem resets globais (* / body / a / ul) para coexistir com Bootstrap.
   ================================================================ */

/* ── CSS Variables ── */
:root {
  --bg-body:        #ffffff;
  --bg-surface:     #ffffff;
  --bg-surface-2:   #f4f4f5;
  --text-primary:   #09090b;
  --text-secondary: #52525b;
  --text-tertiary:  #a1a1aa;
  --border-light:   #e4e4e7;
  --border-hover:   #d4d4d8;
  --brand-primary:  #09090b;
  --brand-inverse:  #ffffff;
  --accent:         #6366f1;
  --accent-2:       #8b5cf6;
  --success:        #10b981;
  --warning:        #f59e0b;
  --error:          #ef4444;
  --font-sans:      'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono:      'JetBrains Mono', 'Fira Code', monospace;
  --ease-expo:      cubic-bezier(0.16, 1, 0.3, 1);
  --ease-bounce:    cubic-bezier(0.34, 1.56, 0.64, 1);
  --r-card:         1rem;
  --section-py:     6rem;
}

button, input, select, textarea { font-family: var(--font-sans); }
html { scroll-behavior: smooth; }

/* ── Keyframes ── */
@keyframes fadeUp    { from{opacity:0;transform:translateY(28px) scale(.98);filter:blur(8px)} to{opacity:1;transform:none;filter:none} }
@keyframes beam-spin { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
@keyframes marquee   { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes float     { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
@keyframes shimmer   { 0%{transform:translateX(-150%) skewX(-12deg)} 100%{transform:translateX(150%) skewX(-12deg)} }
@keyframes pulse-dot { 0%,100%{box-shadow:0 0 0 0 rgba(99,102,241,.5)} 50%{box-shadow:0 0 0 8px rgba(99,102,241,0)} }
@keyframes scanline  { from{transform:translateY(-100%)} to{transform:translateY(100vh)} }
@keyframes ticker    { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ── Animation helpers ── */
.anim-in { opacity:0; animation-fill-mode:forwards; }
.anim-in.go { animation:fadeUp .9s var(--ease-expo) forwards; }
.scroll-reveal { opacity:0; transform:translateY(24px); transition:opacity .75s var(--ease-expo), transform .75s var(--ease-expo); }
.scroll-reveal.visible { opacity:1; transform:none; }

.d0  { animation-delay:0s }
.d1  { animation-delay:.1s }
.d2  { animation-delay:.2s }
.d3  { animation-delay:.3s }
.d4  { animation-delay:.4s }
.d5  { animation-delay:.5s }
.d7  { animation-delay:.7s }
.td2 { transition-delay:.1s }
.td3 { transition-delay:.2s }
.td4 { transition-delay:.3s }
.td5 { transition-delay:.4s }

/* ── Layout ── */
.dsv2-container { max-width:1320px; margin:0 auto; padding:0 2rem; }
.section-py      { padding:var(--section-py) 0; }

.grid-guide {
  position:fixed; inset:0; pointer-events:none; z-index:0;
  opacity:.15; display:flex; justify-content:space-between;
  max-width:1320px; margin:0 auto; padding:0 2rem;
}
.grid-line { width:1px; height:100%; background:var(--border-light); }

/* ── Eyebrow ── */
.eyebrow {
  font-family:var(--font-mono); font-size:.6875rem; font-weight:500;
  letter-spacing:.1em; text-transform:uppercase;
  color:var(--text-tertiary); display:block; margin-bottom:.75rem;
}
.eyebrow-accent { color:var(--accent); }

/* ── Section backgrounds ── */
.bg-s1 { background:#ffffff; }
.bg-s2 { background:#fafafa; }
.bg-s3 { background:#f4f4f5; }
.bg-s4 { background:#09090b; }
.bg-s5 { background:#ffffff; }
.bg-s6 { background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%); }

.fade-top::before { content:''; position:absolute; top:0; left:0; right:0; height:80px; pointer-events:none; z-index:1; }
.fade-top-white::before  { background:linear-gradient(to bottom,#fff,transparent); }
.fade-top-fafafa::before { background:linear-gradient(to bottom,#fafafa,transparent); }
.fade-top-f4::before     { background:linear-gradient(to bottom,#f4f4f5,transparent); }
.fade-top-dark::before   { background:linear-gradient(to bottom,#09090b,transparent); }

/* ── Glass ── */
.glass {
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.5);
}
.glass-dark {
  background:rgba(9,9,11,.6);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.08);
}

/* ── Text effects ── */
.text-stroke        { color:transparent; -webkit-text-stroke:2px rgba(9,9,11,.48); }
.text-stroke-white  { color:transparent; -webkit-text-stroke:2px rgba(255,255,255,.55); }
.text-grad          { background:linear-gradient(135deg,var(--text-primary) 0%,rgba(9,9,11,.35) 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.text-accent-grad   { background:linear-gradient(135deg,var(--accent),var(--accent-2)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.text-white-grad    { background:linear-gradient(135deg,#fff 0%,rgba(255,255,255,.6) 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* ── DSv2 Navbar ── */
.dsv2-navbar {
  position:fixed; top:0; left:0; right:0; z-index:100;
  transition:all .3s var(--ease-expo);
}
.dsv2-navbar .inner {
  display:flex; align-items:center; justify-content:space-between;
  max-width:1320px; margin:0 auto; padding:0 2rem; height:72px;
}
.dsv2-navbar.scrolled {
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border-light);
  box-shadow:0 1px 20px rgba(9,9,11,.04);
}
.nav-link {
  font-size:.8125rem; font-weight:500;
  color:var(--text-secondary); transition:color .2s;
  text-decoration:none;
}
.nav-link:hover { color:var(--text-primary); }

.dsv2-mobile-menu {
  display:none; position:absolute; top:72px; left:0; right:0;
  background:rgba(255,255,255,.96); backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border-light);
  padding:1.5rem 2rem; flex-direction:column; gap:1rem;
}
.dsv2-mobile-menu.open { display:flex; }
.landing-nav-desktop,
.landing-nav-actions {
  display:flex;
  align-items:center;
}
.landing-nav-desktop { gap:2rem; }
.landing-nav-actions { gap:.75rem; }
.landing-hamburger {
  display:none;
  background:none;
  border:none;
  cursor:pointer;
  padding:.5rem;
  color:var(--text-primary);
  font-size:.875rem;
  font-weight:600;
}

/* ── Authenticated internal navbar ── */
.dsv2-topbar {
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border-light);
  box-shadow:0 1px 12px rgba(9,9,11,.04);
}
.dsv2-topbar .inner {
  display:flex; align-items:center; justify-content:space-between;
  max-width:1320px; margin:0 auto; padding:0 2rem; height:60px; gap:1.5rem;
}
.dsv2-topbar-brand {
  display:flex; align-items:center; gap:.5rem;
  font-weight:700; font-size:.9375rem; letter-spacing:-.01em;
  color:var(--text-primary); text-decoration:none;
}
.dsv2-topbar-nav {
  display:flex; align-items:center; gap:.25rem; flex:1;
}
.dsv2-topnav-link {
  padding:.4375rem .875rem; border-radius:.5rem;
  font-size:.8125rem; font-weight:500; color:var(--text-secondary);
  text-decoration:none; transition:all .18s ease; white-space:nowrap;
}
.dsv2-topnav-link:hover { color:var(--text-primary); background:var(--bg-surface-2); }
.dsv2-topnav-link.active { color:var(--text-primary); background:var(--bg-surface-2); font-weight:600; }
.dsv2-topbar-actions { display:flex; align-items:center; gap:.75rem; }
.dsv2-user-chip {
  display:flex; align-items:center; gap:.5rem; padding:.375rem .75rem;
  border:1px solid var(--border-light); border-radius:9999px;
  font-size:.8125rem; color:var(--text-secondary);
}
.dsv2-logout-btn {
  padding:.4375rem .875rem; border-radius:9999px; border:none;
  background:var(--brand-primary); color:#fff;
  font-size:.8125rem; font-weight:600; cursor:pointer;
  font-family:var(--font-sans);
  transition:transform .18s ease, box-shadow .18s ease;
}
.dsv2-logout-btn:hover { transform:translateY(-1px); box-shadow:0 4px 12px rgba(9,9,11,.2); }

/* ── Buttons ── */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.75rem 1.5rem; border-radius:9999px;
  font-size:.875rem; font-weight:600; cursor:pointer;
  white-space:nowrap; border:none; position:relative; overflow:hidden;
  transition:all .2s var(--ease-expo); font-family:var(--font-sans);
  text-decoration:none;
}
.btn-black   { background:var(--brand-primary); color:#fff; }
.btn-black:hover { transform:translateY(-2px); box-shadow:0 10px 24px -6px rgba(9,9,11,.3); }
.btn-white   { background:#fff; color:var(--brand-primary); }
.btn-white:hover { transform:translateY(-2px); box-shadow:0 10px 24px -6px rgba(0,0,0,.15); }
.btn-outline { background:transparent; color:var(--text-primary); border:1px solid var(--border-light); }
.btn-outline:hover { border-color:var(--text-primary); background:var(--bg-surface-2); }
.btn-outline-white { background:transparent; color:#fff; border:1px solid rgba(255,255,255,.35); }
.btn-outline-white:hover { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.6); }
.btn-accent  { background:var(--accent); color:#fff; }
.btn-accent:hover { transform:translateY(-2px); box-shadow:0 10px 24px -6px rgba(99,102,241,.4); }
.btn-lg      { padding:1rem 2rem; font-size:1rem; }

.btn-shim::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent); transform:translateX(-150%) skewX(-12deg); }
.btn-shim:hover::after { animation:shimmer 1s var(--ease-expo) forwards; }

.btn-beam-wrap { position:relative; display:inline-flex; padding:2px; border-radius:9999px; overflow:hidden; cursor:pointer; transition:transform .3s; text-decoration:none; }
.btn-beam-wrap:hover { transform:scale(1.03); }
.btn-beam-border { position:absolute; inset:-200%; background:conic-gradient(from 0deg,transparent 0 320deg,var(--brand-primary) 360deg); animation:beam-spin 3s linear infinite; }
.btn-beam-inner { position:relative; background:var(--bg-body); color:var(--text-primary); border-radius:9999px; padding:.75rem 1.75rem; font-size:.875rem; font-weight:600; display:flex; align-items:center; gap:.5rem; z-index:1; font-family:var(--font-sans); }
.btn-beam-inner-dark { background:#09090b; color:#fff; }

/* ── Flashlight cards ── */
.fl-card {
  background:var(--bg-surface); border:1px solid var(--border-light);
  border-radius:var(--r-card); position:relative; overflow:hidden;
  transition:all .3s var(--ease-expo);
}
.fl-card::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(500px circle at var(--mx,50%) var(--my,50%),rgba(99,102,241,.07),transparent 40%);
  opacity:0; transition:opacity .4s; pointer-events:none; z-index:0;
}
.fl-card:hover::before { opacity:1; }
.fl-card:hover { border-color:var(--border-hover); transform:translateY(-3px); box-shadow:0 20px 40px -12px rgba(9,9,11,.08); }
.fl-card > * { position:relative; z-index:1; }

.fl-card-dark {
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-card); position:relative; overflow:hidden;
  transition:all .3s var(--ease-expo);
}
.fl-card-dark::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(400px circle at var(--mx,50%) var(--my,50%),rgba(99,102,241,.12),transparent 40%);
  opacity:0; transition:opacity .4s; pointer-events:none; z-index:0;
}
.fl-card-dark:hover::before { opacity:1; }
.fl-card-dark:hover { border-color:rgba(99,102,241,.3); transform:translateY(-3px); }
.fl-card-dark > * { position:relative; z-index:1; }

/* ── Badges ── */
.badge {
  display:inline-flex; align-items:center; gap:.375rem;
  padding:.25rem .625rem; border-radius:.375rem;
  font-size:.6875rem; font-weight:600;
  letter-spacing:.04em; text-transform:uppercase;
}
.badge-default { background:var(--bg-surface-2); color:var(--text-secondary); }
.badge-black   { background:var(--brand-primary); color:#fff; }
.badge-accent  { background:rgba(99,102,241,.1); color:var(--accent); }
.badge-success { background:rgba(16,185,129,.1); color:#065f46; }
.badge-warning { background:rgba(245,158,11,.1); color:#92400e; }
.badge-dot::before { content:''; width:5px; height:5px; border-radius:50%; background:currentColor; display:block; }

/* ── Input ── */
.inp {
  width:100%; padding:.875rem 1rem;
  background:#fff; color:var(--text-primary);
  border:1px solid var(--border-light); border-radius:.625rem;
  font-size:.9375rem; outline:none;
  transition:border-color .2s, box-shadow .2s;
  font-family:var(--font-sans);
}
.inp::placeholder { color:var(--text-tertiary); }
.inp:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(99,102,241,.12); }

/* ── Hero helpers ── */
.hero-grid {
  background-image:
    linear-gradient(to right,rgba(9,9,11,.07) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(9,9,11,.07) 1px,transparent 1px);
  background-size:32px 32px;
}
.hero-actions,
.hero-proof,
.hero-cards-grid {
  position:relative;
}

.hero-app-card-copy {
  display:flex;
  flex-direction:column;
}

.hero-app-card h3,
.hero-app-title {
  max-width:14ch;
}

.hero-app-index {
  display:inline-block;
}
.scanline {
  position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,rgba(99,102,241,.35),transparent);
  animation:scanline 9s linear infinite; pointer-events:none;
}
.glow-blob {
  position:absolute; border-radius:50%;
  filter:blur(80px); pointer-events:none; z-index:0;
}

/* ── Stats ── */
.stat-val { font-size:2.75rem; font-weight:800; letter-spacing:-.04em; line-height:1; }

/* ── Avatar stack ── */
.avatar-stack { display:flex; }
.avatar { width:32px; height:32px; border-radius:50%; border:2px solid #fff; margin-right:-8px; }

/* ── Step connector ── */
.step-line {
  position:absolute; top:24px; left:calc(50% + 28px);
  width:calc(100% - 56px); height:1px;
  background:linear-gradient(to right,var(--border-light),transparent);
}

/* ── Testimonial ── */
.testimonial-card {
  background:#fff; border:1px solid var(--border-light);
  border-radius:1.25rem; padding:2rem;
  transition:all .3s var(--ease-expo);
}
.testimonial-card:hover { border-color:var(--border-hover); box-shadow:0 20px 48px -12px rgba(9,9,11,.08); transform:translateY(-4px); }
.stars { color:#f59e0b; font-size:1rem; letter-spacing:2px; }

/* ── FAQ ── */
.faq-item { border-bottom:1px solid var(--border-light); }
.faq-trigger {
  width:100%; display:flex; align-items:center; justify-content:space-between;
  padding:1.25rem 0; background:none; border:none; cursor:pointer;
  font-size:1rem; font-weight:600; color:var(--text-primary);
  text-align:left; transition:color .2s; font-family:var(--font-sans);
}
.faq-trigger:hover { color:var(--accent); }
.faq-icon { transition:transform .3s var(--ease-expo); flex-shrink:0; }
.faq-item.open .faq-icon { transform:rotate(45deg); }
.faq-body { max-height:0; overflow:hidden; transition:max-height .4s var(--ease-expo); }
.faq-item.open .faq-body { max-height:300px; }
.faq-body p { padding:0 0 1.25rem; font-size:.9375rem; color:var(--text-secondary); line-height:1.7; }

/* ── Footer ── */
.dsv2-footer,
#site-footer { background:#09090b; color:#fff; padding:5rem 0 2rem; position:relative; overflow:hidden; }
.footer-dot-bg {
  position:absolute; inset:0;
  background-image:radial-gradient(circle,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:26px 26px; pointer-events:none;
}
.footer-link { font-size:.875rem; color:rgba(255,255,255,.45); transition:color .2s; text-decoration:none; }
.footer-link:hover { color:#fff; }
.footer-mobile-shortcuts {
  display:none;
}
.footer-mobile-icon {
  width:40px;
  height:40px;
  border-radius:.75rem;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,.75);
  transition:transform .2s ease, background .2s ease, color .2s ease;
}
.footer-mobile-icon:hover {
  transform:translateY(-1px);
  background:rgba(255,255,255,.12);
  color:#fff;
}

/* ── App pricing card ── */
.app-card {
  background:#fff; border:1px solid var(--border-light);
  border-radius:1.25rem; padding:2rem; position:relative;
  transition:all .3s var(--ease-expo); overflow:hidden;
}
.app-card::after { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(99,102,241,.04),transparent); opacity:0; transition:opacity .4s; pointer-events:none; }
.app-card:hover { border-color:rgba(99,102,241,.3); box-shadow:0 20px 48px -12px rgba(99,102,241,.12); transform:translateY(-4px); }
.app-card:hover::after { opacity:1; }
.app-card.featured { background:var(--brand-primary); border-color:transparent; box-shadow:0 20px 48px -12px rgba(9,9,11,.35); }
.app-card.featured:hover { transform:translateY(-4px) scale(1.01); }

/* ── Check list ── */
.check-item { display:flex; align-items:flex-start; gap:.75rem; margin-bottom:.875rem; }
.check-icon { width:20px; height:20px; border-radius:50%; background:rgba(99,102,241,.1); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }

/* ── Wave divider ── */
.wave-divider { display:block; width:100%; overflow:hidden; line-height:0; }
.wave-divider svg { display:block; width:100%; }

/* ── Page wrapper for landing ── */
.dsv2-page {
  font-family:var(--font-sans);
  background:var(--bg-body);
  color:var(--text-primary);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
.dsv2-page *, .dsv2-page *::before, .dsv2-page *::after {
  box-sizing:border-box;
  margin:0;
  padding:0;
}
.dsv2-page a { text-decoration:none; color:inherit; }
.dsv2-page ul { list-style:none; }

/* container alias para landing dentro de .dsv2-page */
.dsv2-page .container { max-width:1320px; margin:0 auto; padding:0 2rem; }

/* ── Auth dashboard hub ── */
.dashboard-hub-page {
  background:linear-gradient(180deg,#fafafa 0%,#fff 28%,#f8fafc 100%);
  min-height:calc(100vh - 60px);
  padding:2rem 0 3rem;
}
.dashboard-shell {
  max-width:1320px;
  margin:0 auto;
  padding:0 2rem;
}
.dashboard-section { margin-top:1.5rem; }
.dashboard-hero-panel {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:1.25rem;
  padding:1.5rem;
  border:1px solid var(--border-light);
  border-radius:1.5rem;
  background:linear-gradient(135deg,#ffffff 0%,#f4f4f5 100%);
  box-shadow:0 20px 48px -24px rgba(9,9,11,.12);
}
.dashboard-kicker {
  font-family:var(--font-mono);
  font-size:.6875rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--accent);
  display:block;
  margin-bottom:.85rem;
}
.dashboard-hero-title {
  font-size:clamp(2rem,3.5vw,3rem);
  line-height:1;
  letter-spacing:-.04em;
  font-weight:800;
  color:var(--text-primary);
  margin-bottom:1rem;
}
.dashboard-hero-copy {
  font-size:1rem;
  line-height:1.75;
  color:var(--text-secondary);
  max-width:700px;
}
.dashboard-stat-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:1rem;
}
.dashboard-stat-card {
  padding:1.25rem;
  border-radius:1.25rem;
  background:#09090b;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:120px;
}
.dashboard-stat-card.soft {
  background:#fff;
  color:var(--text-primary);
  border:1px solid var(--border-light);
}
.dashboard-stat-value {
  font-size:2rem;
  line-height:1;
  font-weight:800;
  letter-spacing:-.04em;
}
.dashboard-stat-value.small {
  font-size:1rem;
  line-height:1.4;
  word-break:break-word;
}
.dashboard-stat-label {
  margin-top:.5rem;
  font-size:.8125rem;
  color:inherit;
  opacity:.72;
}
.dashboard-section-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}
.dashboard-section-title {
  font-size:1.375rem;
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--text-primary);
  margin-bottom:.35rem;
}
.dashboard-section-copy {
  font-size:.9375rem;
  line-height:1.65;
  color:var(--text-secondary);
  max-width:720px;
}
.dashboard-card-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.dashboard-app-card,
.dashboard-side-card,
.dashboard-empty-card {
  border:1px solid var(--border-light);
  border-radius:1.25rem;
  background:#fff;
  box-shadow:0 18px 42px -28px rgba(9,9,11,.14);
}
.dashboard-app-card {
  padding:1.25rem;
  position:relative;
  overflow:hidden;
}
.dashboard-app-card.active {
  background:linear-gradient(180deg,#fff 0%,#fafafa 100%);
}
.dashboard-app-card.available:hover {
  transform:translateY(-2px);
  box-shadow:0 24px 48px -28px rgba(9,9,11,.18);
}
.dashboard-app-ribbon {
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
}
.dashboard-app-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  margin-bottom:1rem;
  padding-top:.5rem;
}
.dashboard-app-index {
  font-family:var(--font-mono);
  font-size:.75rem;
  font-weight:700;
  color:var(--text-tertiary);
  letter-spacing:.12em;
}
.dashboard-badge {
  display:inline-flex;
  align-items:center;
  gap:.375rem;
  border-radius:9999px;
  background:#eef2ff;
  color:#4338ca;
  font-size:.75rem;
  font-weight:700;
  padding:.35rem .75rem;
}
.dashboard-badge.success {
  background:#ecfdf5;
  color:#047857;
}
.dashboard-app-title {
  font-size:1.125rem;
  font-weight:800;
  letter-spacing:-.02em;
  color:var(--text-primary);
  margin-bottom:.5rem;
}
.dashboard-app-copy {
  font-size:.875rem;
  line-height:1.7;
  color:var(--text-secondary);
  min-height:72px;
}
.dashboard-meta-block {
  margin-top:1rem;
  padding:1rem;
  border-radius:1rem;
  background:#fafafa;
  border:1px solid #f1f5f9;
}
.dashboard-meta-label {
  font-family:var(--font-mono);
  font-size:.6875rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--text-tertiary);
  margin-bottom:.4rem;
}
.dashboard-meta-value {
  font-size:1.125rem;
  font-weight:800;
  color:var(--text-primary);
  letter-spacing:-.02em;
}
.dashboard-app-actions {
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
  margin-top:1rem;
}
.dashboard-card-action {
  min-width:160px;
}
.dashboard-empty-card {
  padding:1.5rem;
  color:var(--text-secondary);
}
.dashboard-side-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.dashboard-side-card {
  display:block;
  text-decoration:none;
  padding:1.25rem;
}
.dashboard-side-title {
  font-size:1rem;
  font-weight:800;
  color:var(--text-primary);
  margin-bottom:.45rem;
}
.dashboard-side-copy {
  font-size:.875rem;
  line-height:1.7;
  color:var(--text-secondary);
  margin:0;
}
.app-plan-modal .modal-content {
  border:none;
  border-radius:1.5rem;
  overflow:hidden;
}
.app-plan-modal .modal-header {
  border-bottom:1px solid var(--border-light);
  padding:1.25rem 1.5rem;
}
.app-plan-modal .modal-body {
  padding:1.5rem;
  background:#fafafa;
}
.plan-modal-description {
  font-size:.9375rem;
  line-height:1.7;
  color:var(--text-secondary);
  margin-bottom:1rem;
}
.plan-tier-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.plan-tier-card {
  background:#fff;
  border:1px solid var(--border-light);
  border-radius:1.25rem;
  padding:1.25rem;
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.plan-tier-card.featured {
  border-color:#c7d2fe;
  box-shadow:0 20px 48px -24px rgba(99,102,241,.25);
}
.plan-tier-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
}
.plan-tier-name {
  font-size:1rem;
  font-weight:800;
  color:var(--text-primary);
}
.plan-tier-chip {
  font-size:.75rem;
  font-weight:700;
  color:#4338ca;
}
.plan-tier-price {
  font-size:1.5rem;
  line-height:1;
  letter-spacing:-.04em;
  font-weight:800;
  color:var(--text-primary);
}
.plan-tier-summary {
  font-size:.875rem;
  line-height:1.65;
  color:var(--text-secondary);
  margin:.5rem 0 0;
}
.plan-feature-list {
  display:flex;
  flex-direction:column;
  gap:.625rem;
  min-height:180px;
}
.plan-feature-line {
  font-size:.875rem;
  line-height:1.5;
  color:var(--text-secondary);
  padding-left:1rem;
  position:relative;
}
.plan-feature-line::before {
  content:'';
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--accent);
  position:absolute;
  left:0;
  top:.5rem;
}
.plan-tier-action {
  width:100%;
}

.billing-hero-panel {
  align-items:stretch;
}

.billing-metric-card {
  min-height:220px;
}

.billing-metric-plan {
  background:linear-gradient(135deg,#f7fbff 0%,#e8f4ff 100%);
}

.billing-metric-cost {
  background:linear-gradient(135deg,#fff7ec 0%,#ffe6bf 100%);
}

.billing-metric-note {
  margin-top:1rem;
  font-size:.875rem;
  line-height:1.65;
  color:var(--text-secondary);
}

.billing-metric-row {
  font-size:.9375rem;
  font-weight:700;
  color:var(--text-primary);
  margin-bottom:.5rem;
}

.billing-breakdown-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.625rem 0;
  border-bottom:1px solid #eef2f7;
}

.billing-breakdown-row:last-child {
  border-bottom:none;
}

.billing-breakdown-label {
  font-size:.9375rem;
  font-weight:700;
  color:var(--text-primary);
}

.billing-breakdown-value {
  font-size:.875rem;
  color:var(--text-secondary);
}

.billing-graph-wrap .card {
  border-radius:1.25rem;
  overflow:hidden;
  box-shadow:0 18px 42px -28px rgba(9,9,11,.14);
}

.account-form-card {
  display:grid;
  gap:1rem;
  padding:1.25rem;
  border:1px solid var(--border-light);
  border-radius:1.25rem;
  background:#fff;
  box-shadow:0 18px 42px -28px rgba(9,9,11,.14);
}

.account-field-group {
  display:flex;
  flex-direction:column;
  gap:.5rem;
}

.account-field-label {
  font-family:var(--font-mono);
  font-size:.6875rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--text-tertiary);
}

.account-field-input {
  height:48px;
}

.account-field-input-readonly {
  background:#f8fafc;
  color:var(--text-secondary);
}

.account-actions-row {
  display:flex;
  align-items:center;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:.25rem;
}

.account-save-button {
  min-width:220px;
}

.account-save-message {
  font-size:.875rem;
  color:var(--text-secondary);
}

.account-save-message.success {
  color:#047857;
  font-weight:700;
}

.account-save-message.error {
  color:#b91c1c;
  font-weight:700;
}

.agenda-page .dashboard-shell + .dashboard-shell {
  margin-top:1.5rem;
}

.agenda-hero-panel {
  align-items:stretch;
}

.agenda-day-card {
  gap:1rem;
  justify-content:center;
  align-items:flex-start;
  background:
    radial-gradient(circle at top right, rgba(99,102,241,.14), transparent 46%),
    linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
}

.agenda-day-value {
  font-size:clamp(2.5rem, 6vw, 4rem);
  line-height:.9;
  font-weight:800;
  letter-spacing:-.06em;
  color:var(--text-primary);
}

.agenda-day-label {
  font-size:.9375rem;
  font-weight:700;
  color:var(--text-secondary);
}

.agenda-add-button {
  min-width:220px;
}

.agenda-main-grid {
  display:grid;
  grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr);
  gap:1.25rem;
}

.agenda-left-stack {
  display:grid;
  gap:1.25rem;
}

.agenda-calendar-panel,
.agenda-events-panel {
  border:1px solid var(--border-light);
  border-radius:1.5rem;
  background:#fff;
  box-shadow:0 18px 42px -28px rgba(9,9,11,.14);
  padding:1.25rem;
}

.agenda-settings-panel {
  border:1px solid var(--border-light);
  border-radius:1.5rem;
  background:
    radial-gradient(circle at top right, rgba(99,102,241,.12), transparent 40%),
    linear-gradient(180deg,#ffffff 0%,#fafafa 100%);
  box-shadow:0 18px 42px -28px rgba(9,9,11,.14);
  padding:1.25rem;
}

.agenda-config-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1rem;
}

.agenda-config-card {
  display:grid;
  gap:.55rem;
  padding:1rem;
  border:1px solid #e8edf5;
  border-radius:1.125rem;
  background:rgba(255,255,255,.88);
}

.agenda-config-label {
  font-family:var(--font-mono);
  font-size:.6875rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--text-tertiary);
}

.agenda-config-text input,
.agenda-service-input input {
  width:100%;
  min-height:48px;
  border-radius:1rem;
  border:1px solid #dbe2ea;
  background:#fff;
  color:var(--text-primary);
  padding:.85rem 1rem;
  font-size:.9375rem;
  transition:border-color .18s ease, box-shadow .18s ease;
}

.agenda-config-text input:focus,
.agenda-service-input input:focus {
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(99,102,241,.12);
}

.agenda-config-input .Select-control,
.agenda-config-input .Select__control,
.agenda-config-input .select__control {
  min-height:48px;
  border-radius:1rem;
}

.agenda-config-actions {
  display:flex;
  align-items:center;
  gap:.875rem;
  flex-wrap:wrap;
  margin-top:1rem;
}

.agenda-config-save {
  min-width:200px;
}

.agenda-inline-feedback {
  min-height:1.25rem;
  font-size:.875rem;
  color:var(--text-secondary);
}

.agenda-subsection-title {
  margin:1.1rem 0 .75rem;
  font-size:1rem;
  font-weight:800;
  color:var(--text-primary);
  letter-spacing:-.02em;
}

.agenda-service-form {
  display:grid;
  grid-template-columns:minmax(0, 1fr) 56px;
  gap:.75rem;
  align-items:center;
}

.agenda-service-add,
.agenda-service-remove {
  border:none;
  border-radius:9999px;
  font-family:var(--font-sans);
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.agenda-service-add {
  width:56px;
  height:48px;
  background:#09090b;
  color:#fff;
  font-size:1.25rem;
  font-weight:800;
}

.agenda-service-add:hover,
.agenda-service-remove:hover {
  transform:translateY(-1px);
}

.agenda-services-list {
  display:grid;
  gap:.75rem;
  margin-top:1rem;
}

.agenda-service-item {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.9rem 1rem;
  border:1px solid #e8edf5;
  border-radius:1rem;
  background:rgba(255,255,255,.92);
}

.agenda-service-name {
  font-size:.9375rem;
  font-weight:700;
  color:var(--text-primary);
}

.agenda-service-remove {
  padding:.55rem .9rem;
  background:#fff5f5;
  color:#dc2626;
  border:1px solid #fee2e2;
  font-size:.8125rem;
  font-weight:700;
}

.agenda-nav-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}

.agenda-nav-btn {
  width:44px;
  height:44px;
  border-radius:9999px;
  border:1px solid var(--border-light);
  background:#09090b;
  color:#fff;
  font-size:1.1rem;
  font-weight:800;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.agenda-nav-btn:hover {
  transform:translateY(-1px);
  box-shadow:0 12px 28px -18px rgba(9,9,11,.5);
}

.agenda-year-chip {
  min-width:110px;
  padding:.65rem 1rem;
  border-radius:9999px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  font-family:var(--font-mono);
  font-size:.875rem;
  font-weight:700;
  letter-spacing:.08em;
  text-align:center;
  color:var(--text-secondary);
}

.agenda-month-title {
  margin:1rem 0 .75rem;
  font-size:1.375rem;
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--text-primary);
}

.agenda-panel-head {
  display:flex;
  flex-direction:column;
  gap:.45rem;
  margin-bottom:1rem;
}

.agenda-panel-copy {
  font-size:.9375rem;
  line-height:1.7;
  color:var(--text-secondary);
}

.agenda-events-list {
  display:flex;
  flex-direction:column;
  gap:.875rem;
}

.agenda-slot-card,
.agenda-event-card {
  border:1px solid var(--border-light);
  border-radius:1.125rem;
  background:#fff;
  box-shadow:0 14px 30px -24px rgba(9,9,11,.18);
}

.agenda-slot-card {
  padding:1rem 1.125rem;
  background:linear-gradient(135deg,#eef2ff 0%,#f8fafc 100%);
}

.agenda-slot-label {
  font-family:var(--font-mono);
  font-size:.6875rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#6366f1;
  margin-bottom:.4rem;
}

.agenda-slot-value {
  font-size:1.125rem;
  font-weight:800;
  color:var(--text-primary);
}

.agenda-event-card {
  padding:1rem 1.125rem;
}

.agenda-event-row {
  display:grid;
  grid-template-columns:88px minmax(0, 1fr) auto;
  gap:1rem;
  align-items:center;
}

.agenda-event-time {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:68px;
  border-radius:1rem;
  background:#09090b;
  color:#fff;
  font-size:1.25rem;
  font-weight:800;
  letter-spacing:-.04em;
}

.agenda-event-copy {
  min-width:0;
}

.agenda-event-title {
  font-size:1rem;
  font-weight:800;
  color:var(--text-primary);
  margin-bottom:.3rem;
}

.agenda-event-meta {
  font-size:.8125rem;
  color:var(--text-secondary);
  word-break:break-word;
}

.agenda-delete-button {
  width:44px;
  height:44px;
  border-radius:9999px;
  border:1px solid #fee2e2;
  background:#fff5f5;
  color:#dc2626;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.agenda-empty-state {
  padding:1.25rem;
}

.agenda-modal .modal-content {
  border:none;
  border-radius:1.5rem;
  overflow:hidden;
  box-shadow:0 24px 60px -26px rgba(9,9,11,.35);
}

.agenda-modal-shell {
  padding:1.25rem 1.5rem;
  border:none;
  background:
    radial-gradient(circle at top right, rgba(99,102,241,.14), transparent 38%),
    linear-gradient(180deg,#ffffff 0%,#fafafa 100%);
}

.agenda-modal-title {
  font-size:1.25rem;
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--text-primary);
}

.agenda-modal-input {
  min-height:48px;
  border-radius:1rem !important;
  margin-bottom:.875rem;
  background:#fff !important;
  color:var(--text-primary) !important;
  border:1px solid #dbe2ea !important;
  box-shadow:none !important;
}

.agenda-modal-title-input {
  min-height:54px;
}

.agenda-modal-select {
  margin-bottom:.875rem;
}

.agenda-modal-input::placeholder {
  color:#94a3b8 !important;
}

.agenda-modal-feedback {
  min-height:1.25rem;
  margin-top:.25rem;
  font-size:.875rem;
  font-weight:700;
  color:var(--text-secondary);
}

.agenda-modal-actions {
  display:flex;
  justify-content:flex-end;
  margin-top:1rem;
}

.agenda-modal-submit {
  min-width:180px;
}

.agenda-page .dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner td,
.agenda-page .dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner th {
  border-color:#1e293b !important;
}

/* ── Responsive ── */
@media (max-width: 768px) {
  :root { --section-py: 3.5rem; }
  .dsv2-page .container { padding: 0 1.25rem; }
  #hero { min-height:auto !important; }
  #hero .container.flex-1.flex.items-center {
    display:block !important;
    padding-top:5.75rem !important;
    padding-bottom:2.5rem !important;
  }
  .hero-main-grid {
    grid-template-columns:1fr !important;
    gap:1.25rem !important;
    align-items:start !important;
  }
  .hero-kicker-chip {
    margin-bottom:1.25rem !important;
    max-width:100%;
  }
  .hero-kicker-chip span:last-child {
    font-size:.625rem !important;
    letter-spacing:.02em !important;
  }
  .hero-title {
    font-size:clamp(2.2rem, 11vw, 3.2rem) !important;
    line-height:.96 !important;
    margin-bottom:1.1rem !important;
  }
  .hero-copy {
    font-size:.95rem !important;
    line-height:1.6 !important;
    max-width:none !important;
    margin-bottom:1.5rem !important;
  }
  .hero-actions {
    flex-direction:row !important;
    align-items:stretch !important;
    gap:.625rem !important;
    margin-bottom:1.5rem !important;
  }
  .hero-actions > * {
    flex:1 1 0;
    min-width:0;
  }
  .hero-actions .btn,
  .hero-actions .btn-beam-wrap,
  .hero-actions .btn-beam-inner {
    width:100%;
  }
  .hero-actions .btn,
  .hero-actions .btn-beam-inner {
    padding:.875rem 1rem !important;
    font-size:.875rem !important;
  }
  .hero-proof {
    gap:.75rem !important;
    padding-top:1rem !important;
    align-items:center !important;
  }
  .hero-proof .avatar-stack {
    flex-shrink:0;
  }
  .hero-proof span {
    font-size:.75rem !important;
    line-height:1.5 !important;
  }
  .hero-cards-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:.625rem !important;
    max-width:100% !important;
    margin:0 !important;
    align-self:start !important;
  }
  .hero-app-card,
  .hero-app-card-offset {
    aspect-ratio:auto !important;
    margin-top:0 !important;
    min-height:64px;
    padding:.75rem !important;
    display:grid !important;
    grid-template-columns:24px minmax(0, 1fr) !important;
    align-items:center !important;
    gap:.625rem !important;
  }
  .hero-app-card iconify-icon[data-fl-icon] {
    font-size:1rem !important;
  }
  .hero-app-card-copy {
    min-width:0;
    gap:.125rem;
    justify-content:center;
  }
  .hero-app-card h3,
  .hero-app-title {
    font-size:.875rem !important;
    margin-top:0 !important;
    line-height:1.25 !important;
    max-width:none;
  }
  .hero-app-index {
    font-size:.5rem !important;
  }
  .hero-app-card .badge {
    margin-top:.25rem !important;
    width:fit-content;
    font-size:.625rem !important;
    padding:.2rem .5rem !important;
  }
  .hero-app-title,
  .hero-app-index {
    display:none !important;
  }
  .pain-grid {
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:.625rem !important;
    align-items:stretch !important;
  }
  .pain-card {
    padding:.85rem .75rem !important;
    min-width:0;
  }
  .pain-card > div:first-child {
    width:40px !important;
    height:40px !important;
    margin-bottom:.85rem !important;
  }
  .pain-card h4 {
    font-size:.9rem !important;
    line-height:1.2 !important;
    margin-bottom:.5rem !important;
    word-break:break-word;
  }
  .pain-card p {
    display:none !important;
  }
  .pain-card > div:last-child {
    padding:.625rem .5rem !important;
    min-height:72px;
    align-items:flex-start !important;
  }
  .pain-card > div:last-child span {
    font-size:.72rem !important;
    line-height:1.35 !important;
    color:rgba(255,255,255,.88) !important;
  }
  .stats-bar-grid {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:1px !important;
    overflow:hidden;
    border-radius:1rem !important;
  }
  .stats-bar-grid::-webkit-scrollbar {
    display:none;
  }
  .stats-bar-grid > div {
    padding:1rem .95rem !important;
    min-height:auto;
    display:grid !important;
    grid-template-columns:minmax(72px, 88px) minmax(0, 1fr) !important;
    align-items:center !important;
    gap:.85rem !important;
    text-align:left !important;
  }
  .stats-bar-grid .stat-val {
    font-size:2rem !important;
    margin:0 !important;
  }
  .stats-bar-grid p {
    font-size:.78rem !important;
    line-height:1.45 !important;
    margin:0 !important;
  }
  .faq-grid {
    grid-template-columns:.78fr 1.22fr !important;
    gap:1rem !important;
    align-items:start !important;
  }
  .faq-copy-column h2 {
    font-size:clamp(1.65rem, 5.2vw, 2.1rem) !important;
    margin-bottom:.75rem !important;
  }
  .faq-copy-column p {
    font-size:.9rem !important;
    line-height:1.65 !important;
    margin-bottom:1.25rem !important;
  }
  .faq-copy-column .btn {
    width:100%;
    justify-content:center;
    padding:.85rem 1rem !important;
  }
  .faq-trigger {
    font-size:.95rem !important;
    line-height:1.45 !important;
    padding:1rem 0 !important;
  }
  .cta-main-grid {
    grid-template-columns:.82fr 1.18fr !important;
    gap:1rem !important;
    align-items:start !important;
  }
  .cta-copy-column h2 {
    font-size:clamp(1.7rem, 5.2vw, 2.2rem) !important;
    margin-bottom:.75rem !important;
  }
  .cta-copy-column p {
    font-size:.92rem !important;
    line-height:1.65 !important;
    margin-bottom:1.2rem !important;
  }
  .cta-copy-column > div:last-child {
    gap:.55rem !important;
  }
  .cta-copy-column > div:last-child > div {
    gap:.5rem !important;
  }
  .cta-copy-column > div:last-child > div span {
    font-size:.82rem !important;
    line-height:1.35 !important;
  }
  .cta-form-shell {
    padding:1.25rem !important;
    border-radius:1.25rem !important;
  }
  .cta-form-shell h3 {
    font-size:1.05rem !important;
    margin-bottom:.25rem !important;
  }
  .cta-form-shell p {
    margin-bottom:1rem !important;
  }
  .cta-form-shell label {
    font-size:.625rem !important;
  }
  .cta-form-shell .inp {
    min-height:44px;
    padding:.8rem .9rem !important;
    font-size:.9rem !important;
  }
  .cta-form-shell .btn-lg {
    padding:.9rem 1rem !important;
    font-size:.9rem !important;
  }
  .dsv2-navbar .inner { height: 60px; padding: 0 1.25rem; }
  .dsv2-topbar .inner { padding: 0 1rem; }
  .dashboard-shell { padding:0 1rem; }
  .dashboard-hero-panel,
  .dashboard-card-grid,
  .dashboard-side-grid,
  .plan-tier-grid { grid-template-columns:1fr; }
  .agenda-main-grid,
  .agenda-event-row { grid-template-columns:1fr; }
  .agenda-config-grid,
  .agenda-service-form { grid-template-columns:1fr; }
  .dashboard-app-actions { flex-direction:column; }
  .dashboard-card-action { width:100%; }
  .account-actions-row { flex-direction:column; align-items:stretch; }
  .account-save-button { width:100%; }
  .agenda-add-button,
  .agenda-modal-submit,
  .agenda-config-save,
  .agenda-service-add { width:100%; }
  .agenda-modal-actions { justify-content:stretch; }
  .footer-top-grid { grid-template-columns: 1fr !important; gap: 2rem !important; margin-bottom: 2.5rem !important; }
  .footer-top-grid > div:not(:first-child) {
    display:none !important;
  }
  .footer-mobile-shortcuts {
    margin-top:1rem;
    display:flex;
    gap:.5rem;
    flex-wrap:wrap;
  }
  .landing-nav-desktop,
  .landing-nav-actions { display:none; }
  .landing-hamburger { display:inline-flex; align-items:center; justify-content:center; }
  .dsv2-mobile-menu { top:60px; padding:1rem 1.25rem 1.25rem; }
}

@media (max-width: 640px) {
  .hero-actions {
    flex-direction:column !important;
  }
  .hero-proof {
    flex-direction:column !important;
    align-items:flex-start !important;
  }
  .hero-app-card {
    grid-template-columns:20px minmax(0, 1fr) !important;
    min-height:58px;
    padding:.65rem !important;
  }
  .hero-app-card .badge {
    justify-self:start;
    font-size:.58rem !important;
    padding:.18rem .42rem !important;
  }
  .hero-app-card-copy {
    gap:.2rem;
  }
  .hero-app-card-offset {
    margin-top:0 !important;
  }
  .pain-grid {
    grid-template-columns:repeat(3, minmax(94px, 1fr)) !important;
  }
  .pain-card h4 {
    font-size:.82rem !important;
  }
  .pain-card > div:last-child span {
    font-size:.68rem !important;
  }
  .faq-grid,
  .cta-main-grid {
    grid-template-columns:1fr 1fr !important;
    gap:.8rem !important;
  }
  .faq-copy-column p,
  .cta-copy-column p {
    font-size:.84rem !important;
  }
  .stats-bar-grid {
    grid-template-columns:1fr !important;
  }
  .dsv2-topbar-nav { display: none; }
}
