html{ scroll-behavior:smooth; }

body.landing{
  background-color:#010102;
  color:#f7f8f8;
  font-family:"Inter","Noto Sans SC",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  min-height:100vh;
  overflow-x:hidden;
}

body.landing{
  --lp-canvas:#010102;
  --lp-surface1:#0f1011;
  --lp-surface2:#141516;
  --lp-surface3:#18191a;
  --lp-surface4:#191a1b;
  --lp-hairline:#23252a;
  --lp-hairline-strong:#34343a;
  --lp-ink:#f7f8f8;
  --lp-ink-muted:#d0d6e0;
  --lp-ink-subtle:#8a8f98;
  --lp-ink-tertiary:#62666d;
  --lp-primary:#5e6ad2;
  --lp-primary-hover:#828fff;
  --lp-success:#27a644;
}

.landing .site-topbar{ display:none; }

.landing a{
  text-decoration:none;
}

.landing-container{
  max-width:1280px;
  margin:0 auto;
  padding:0 24px;
}

.landing-skip{
  position:absolute;
  left:-9999px;
  top:0;
  z-index:9999;
  padding:10px 14px;
  background:rgba(0,0,0,.85);
  color:#fff;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
}
.landing-skip:focus{
  left:12px;
  top:12px;
  outline:2px solid rgba(94,106,210,.55);
  outline-offset:4px;
}

.text-gradient{
  background: linear-gradient(135deg, #5e6ad2 0%, #828fff 50%, #a78bfa 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  color:transparent;
}

.font-mono{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.landing .font-display{
  font-family:"Noto Sans SC","Inter",system-ui,sans-serif;
}

.landing-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:50;
  height:56px;
  background:rgba(1,1,2,.80);
  border-bottom:1px solid var(--lp-hairline);
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px);
}
.landing-header.is-scrolled{
  background:rgba(1,1,2,.92);
}

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){
  .landing-header{ background:rgba(1,1,2,.92); }
}
.landing-nav-inner{
  height:56px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.landing-brand{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--lp-ink);
}
.landing-brand:focus-visible{ outline:2px solid rgba(94,106,210,.55); outline-offset:4px; border-radius:12px; }
.landing-brand-icon{
  width:32px;
  height:32px;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--lp-primary);
  color:#fff;
}
.landing-brand-logo{
  width:32px;
  height:32px;
  border-radius:8px;
  display:block;
  object-fit:contain;
  background:rgba(255,255,255,.04);
  flex:0 0 auto;
}
.landing-brand-text{
  font-weight:600;
  letter-spacing:-.02em;
  font-size:18px;
  font-family:"Noto Sans SC","Inter",system-ui,sans-serif;
}

.landing-nav{ display:none; gap:4px; align-items:center; }
.landing-nav-link{
  position:relative;
  padding:6px 12px;
  font-size:14px;
  line-height:20px;
  font-weight:500;
  color:var(--lp-ink-subtle);
  transition: color .2s ease;
}
.landing-nav-link:hover{ color:var(--lp-ink); }
.landing-nav-link:focus-visible{ outline:2px solid rgba(94,106,210,.55); outline-offset:4px; border-radius:10px; }
.landing-nav-link::after{
  content:"";
  position:absolute;
  bottom:-4px;
  left:0;
  width:0;
  height:2px;
  background:var(--lp-primary);
  transition: width .2s ease;
}
.landing-nav-link:hover::after,
.landing-nav-link.is-active::after{ width:100%; }
.landing-nav-link.is-active{ color:var(--lp-ink); }

.landing-auth{ display:flex; align-items:center; gap:12px; }
.landing-auth-link{
  font-size:14px;
  line-height:20px;
  font-weight:500;
  color:var(--lp-ink-muted);
  padding:8px 14px;
  border-radius:8px;
  transition: color .2s ease, background .2s ease;
}
.landing-auth-link:hover{ color:var(--lp-ink); background:rgba(255,255,255,.03); }
.landing-auth-link:focus-visible{ outline:2px solid rgba(94,106,210,.55); outline-offset:4px; }
.landing-auth-btn{
  font-size:14px;
  line-height:20px;
  font-weight:500;
  color:#fff;
  background:var(--lp-primary);
  padding:8px 16px;
  border-radius:8px;
  transition: background .2s ease;
}
.landing-auth-btn:hover{ background:var(--lp-primary-hover); }
.landing-auth-btn:focus-visible{ outline:2px solid rgba(255,255,255,.55); outline-offset:4px; }

.landing-hero{
  position:relative;
  padding:128px 0 96px;
  overflow:hidden;
}
.landing-hero-glow{
  position:absolute;
  inset:0;
  background: radial-gradient(ellipse 80% 60% at 50% 40%, rgba(94,106,210,.15) 0%, transparent 70%);
  pointer-events:none;
}
.landing-hero-radial{
  position:absolute;
  top:80px;
  left:50%;
  transform: translateX(-50%);
  width:800px;
  height:600px;
  background: radial-gradient(ellipse at center, rgba(94,106,210,.12) 0%, transparent 70%);
  opacity:.6;
  pointer-events:none;
}
.landing-hero-inner{ position:relative; z-index:1; }
.landing-hero-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:64px;
  align-items:center;
}

.landing-hero-left{
  display:flex;
  flex-direction:column;
  gap:32px;
  align-items:flex-start;
}
.landing-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 12px;
  border-radius:999px;
  background:var(--lp-surface2);
  border:1px solid var(--lp-hairline);
}
.landing-status-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--lp-success);
  box-shadow:0 0 8px rgba(39,166,68,.5);
}
.landing-pill-text{
  font-size:12px;
  font-weight:500;
  color:var(--lp-ink-muted);
  letter-spacing:.025em;
}
.landing-h1{
  margin:0;
  font-size:48px;
  font-weight:700;
  letter-spacing:-.025em;
  line-height:1.05;
  font-family:"Noto Sans SC","Inter",system-ui,sans-serif;
}
.landing-subtitle{
  margin:0;
  font-size:18px;
  line-height:1.625;
  color:var(--lp-ink-muted);
  max-width:512px;
}
.landing-hero-actions{
  margin:0;
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  align-items:center;
}
.landing-btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:176px;
  height:48px;
  padding:0 20px;
  border-radius:12px;
  box-sizing:border-box;
  background:var(--lp-primary);
  color:#fff;
  font-weight:600;
  font-size:14px;
  line-height:20px;
  transition: background .2s ease, box-shadow .2s ease, transform .08s ease;
  box-shadow: 0 0 30px rgba(94,106,210,.12);
}
.landing-btn-primary:hover{ background:var(--lp-primary-hover); box-shadow: 0 0 30px rgba(94,106,210,.18); }
.landing-btn-primary:active{ transform: translateY(1px); }
.landing-btn-primary:focus-visible{ outline:2px solid rgba(255,255,255,.6); outline-offset:4px; }
.landing-arrow{ display:inline-flex; transition: transform .2s ease; }
.landing-btn-primary:hover .landing-arrow{ transform: translateX(2px); }

.landing-btn-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:176px;
  height:48px;
  padding:0 20px;
  border-radius:12px;
  box-sizing:border-box;
  background:var(--lp-surface1);
  border:1px solid var(--lp-hairline);
  color:var(--lp-ink);
  font-weight:600;
  font-size:14px;
  line-height:20px;
  transition: background .2s ease, transform .08s ease;
}
.landing-btn-secondary:hover{ background:var(--lp-surface2); }
.landing-btn-secondary:active{ transform: translateY(1px); }
.landing-btn-secondary:focus-visible{ outline:2px solid rgba(94,106,210,.55); outline-offset:4px; }
.landing-play-pill{
  width:32px;
  height:32px;
  border-radius:999px;
  background:var(--lp-surface2);
  border:1px solid var(--lp-hairline);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--lp-primary);
}

.landing-proof{ padding-top:8px; }
.landing-stars-row{
  display:flex;
  align-items:center;
  gap:10px;
}
.landing-avatar-stack{
  display:flex;
  align-items:center;
  --avatar-size:28px;
  --avatar-gap:-8px;
}
.landing-avatar-stack .landing-avatar-slot{
  width:var(--avatar-size);
  height:var(--avatar-size);
  border-radius:999px;
  border:1px solid var(--lp-hairline-strong);
  background: rgba(255,255,255,.04);
  box-shadow: 0 8px 20px rgba(0,0,0,.25);
}
.landing-avatar-stack .landing-avatar-slot + .landing-avatar-slot{ margin-left:var(--avatar-gap); }
.landing-star{ color:#eab308; display:inline-flex; }
.landing-proof-score{
  display:inline-flex;
  align-items:baseline;
  gap:4px;
  font-size:14px;
  font-weight:700;
  color:var(--lp-ink);
}
.landing-proof-score-unit{ font-weight:600; color:var(--lp-ink-subtle); }
.landing-proof-text{
  margin-left:0;
  font-size:14px;
  color:var(--lp-ink-subtle);
}

.landing-hero-right{ position:relative; }
.landing-panel-glow{
  position:absolute;
  inset:-16px;
  border-radius:24px;
  background: linear-gradient(90deg, rgba(94,106,210,.10), rgba(168,85,247,.05), rgba(94,106,210,.10));
  filter: blur(40px);
  pointer-events:none;
}
.landing-panel{
  position:relative;
  border-radius:16px;
  border:1px solid var(--lp-hairline);
  background: linear-gradient(180deg, var(--lp-surface1) 0%, var(--lp-surface2) 100%);
  box-shadow: 0 0 60px rgba(94,106,210,.15), 0 0 120px rgba(94,106,210,.08);
  padding:24px;
}
.landing-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:20px;
}
.landing-panel-head-left{ display:flex; align-items:center; gap:12px; min-width:0; }
.landing-panel-badge{
  width:40px;
  height:40px;
  border-radius:12px;
  background:var(--lp-surface2);
  border:1px solid var(--lp-hairline);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--lp-primary);
  flex:0 0 auto;
}
.landing-panel-name{ font-size:14px; font-weight:500; color:var(--lp-ink); }
.landing-panel-sub{ font-size:12px; color:var(--lp-ink-subtle); margin-top:2px; }
.landing-panel-play{
  width:36px;
  height:36px;
  border:none;
  border-radius:8px;
  background:var(--lp-primary);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}
.landing-panel-play:focus-visible{ outline:2px solid rgba(255,255,255,.6); outline-offset:4px; }
.play-button-pulse{ box-shadow: 0 0 0 0 rgba(94, 106, 210, 0); }
.is-playing .play-button-pulse{ animation: pulse-ring 2s ease-out infinite; }
@keyframes pulse-ring{
  0% { box-shadow: 0 0 0 0 rgba(94, 106, 210, 0.4); }
  70% { box-shadow: 0 0 0 12px rgba(94, 106, 210, 0); }
  100% { box-shadow: 0 0 0 0 rgba(94, 106, 210, 0); }
}

.landing-panel-image{
  position:relative;
  border-radius:12px;
  overflow:hidden;
  border:1px solid var(--lp-hairline);
  margin-bottom:20px;
}
.landing-panel-image img{
  width:100%;
  height:192px;
  object-fit:cover;
  object-position: top;
  display:block;
}
.landing-panel-image-tags{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:12px;
  background: linear-gradient(180deg, rgba(1,1,2,0), rgba(1,1,2,.90));
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.landing-mini-tag{
  padding:2px 8px;
  border-radius:4px;
  background: rgba(20,21,22,.80);
  border:1px solid var(--lp-hairline);
  font-size:12px;
  color:var(--lp-ink-muted);
}
.landing-mini-tag.is-primary{
  background: rgba(94,106,210,.20);
  border-color: rgba(94,106,210,.30);
  color: var(--lp-primary);
}

.landing-panel-text{
  border-radius:12px;
  background: var(--lp-surface2);
  border:1px solid var(--lp-hairline);
  padding:16px;
  margin-bottom:20px;
}
.landing-panel-text p{
  margin:0;
  font-size:14px;
  line-height:1.625;
  color:var(--lp-ink-muted);
}
.landing-panel-count{
  margin-top:8px;
  text-align:right;
  font-size:12px;
  color:var(--lp-ink-tertiary);
}
.landing-typing-cursor::after{
  content:"|";
  animation: blink 1s step-end infinite;
  color: var(--lp-primary);
}
@keyframes blink{ 50%{ opacity:0; } }

.landing-panel-wave{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
}
.landing-wave-play{
  width:40px;
  height:40px;
  border-radius:999px;
  border:none;
  background:var(--lp-primary);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.landing-wave-play:focus-visible{ outline:2px solid rgba(255,255,255,.6); outline-offset:4px; }
.landing-wave-bars{
  flex:1;
  height:32px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:3px;
}
.waveform-bar{
  width:3px;
  border-radius:999px;
  background:rgba(94,106,210,.95);
  height:24px;
  transform-origin: bottom;
  transform: scaleY(.18);
  will-change: transform, opacity;
  animation: waveformScale 1.1s ease-in-out infinite;
  animation-play-state: paused;
}
@keyframes waveformScale{
  0%,100%{ transform: scaleY(.18); opacity:.55; }
  50%{ transform: scaleY(var(--amp, 1)); opacity: 1; }
}
.waveform-bar.w1{ --amp:.34; animation-delay:.0s; }
.waveform-bar.w2{ --amp:.62; animation-delay:.08s; }
.waveform-bar.w3{ --amp:.92; animation-delay:.16s; }
.waveform-bar.w4{ --amp:.52; animation-delay:.24s; }
.waveform-bar.w5{ --amp:.78; animation-delay:.12s; }
.waveform-bar.w6{ --amp:1; animation-delay:.20s; }
.waveform-bar.w7{ --amp:.56; animation-delay:.04s; }
.waveform-bar.w8{ --amp:.84; animation-delay:.28s; }
.waveform-bar.w9{ --amp:.40; animation-delay:.16s; }
.waveform-bar.w10{ --amp:.70; animation-delay:.08s; }
.waveform-bar.w11{ --amp:.34; animation-delay:.24s; }
.waveform-bar.w12{ --amp:.52; animation-delay:.12s; }
.landing-wave-time{ font-size:12px; color:var(--lp-ink-subtle); flex:0 0 auto; }

.is-playing .waveform-bar{ animation-play-state: running; }
.is-playing .landing-wave-play{ box-shadow: 0 0 0 6px rgba(94,106,210,.18), 0 0 26px rgba(94,106,210,.35); }
.is-playing .landing-panel-play{ box-shadow: 0 0 0 6px rgba(94,106,210,.16), 0 0 26px rgba(94,106,210,.32); }

.landing-panel-sliders{ display:grid; gap:16px; margin-bottom:18px; }
.landing-slider-row{
  display:grid;
  grid-template-columns: 64px 1fr 54px;
  align-items:center;
  gap:16px;
}
.landing-slider-name{ font-size:12px; color:var(--lp-ink-subtle); }
.landing-slider-val{ font-size:12px; color:var(--lp-ink-muted); text-align:right; }
.landing-slider-bar{
  position:relative;
  height:6px;
  border-radius:999px;
  background:var(--lp-surface3);
  display:block;
}
.landing-slider-fill{
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width: var(--value);
  border-radius:999px;
  background:var(--lp-primary);
}
.landing-slider-knob{
  position:absolute;
  left: var(--value);
  top:50%;
  transform: translate(-50%,-50%);
  width:14px;
  height:14px;
  border-radius:999px;
  background:#fff;
  box-shadow: 0 10px 20px rgba(0,0,0,.35);
}

.landing-panel-actions{
  display:flex;
  align-items:center;
  gap:12px;
}
.landing-action-btn{
  flex:1;
  height:40px;
  border-radius:10px;
  border:1px solid var(--lp-hairline);
  background:var(--lp-surface2);
  color:var(--lp-ink-muted);
  font-weight:700;
  font-size:14px;
  transition: background .2s ease;
}
.landing-action-btn:hover{ background:var(--lp-surface3); }
.landing-action-btn:focus-visible{ outline:2px solid rgba(94,106,210,.55); outline-offset:4px; }
.landing-action-btn.is-primary{
  background:var(--lp-primary);
  border-color: transparent;
  color:#fff;
}
.landing-action-btn.is-primary:hover{ background:var(--lp-primary-hover); }

.landing-scroll-indicator{
  position:absolute;
  left:50%;
  bottom:24px;
  transform: translateX(-50%);
  color: var(--lp-ink-tertiary);
  animation: scrollFloat 2.4s ease-in-out infinite;
}
@keyframes scrollFloat{
  0%,100%{ transform: translateX(-50%) translateY(0); opacity:.78; }
  50%{ transform: translateX(-50%) translateY(6px); opacity:1; }
}

.landing-section-glow{
  position:absolute;
  inset:0;
  background: radial-gradient(ellipse 60% 40% at 50% 0%, rgba(94,106,210,.08) 0%, transparent 60%);
  pointer-events:none;
}

.landing-features,
.landing-how,
.landing-testimonials{ position:relative; padding:96px 0; }

.landing-section-head{ margin-bottom:64px; position:relative; z-index:1; }
.landing-center{ text-align:center; }
.landing-left{ text-align:left; }
.landing-chip{
  display:inline-block;
  padding:4px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:500;
  color: var(--lp-primary);
  background: rgba(94,106,210,.10);
  border:1px solid rgba(94,106,210,.20);
  margin-bottom:16px;
}
.landing-h2{
  margin:0;
  font-weight:700;
  letter-spacing:-.025em;
  line-height:1.15;
  font-family:"Noto Sans SC","Inter",system-ui,sans-serif;
}
.landing-h2-lg{ font-size:36px; }
.landing-h2-md{ font-size:30px; }
.landing-lead{
  margin:16px auto 0;
  font-size:18px;
  color: var(--lp-ink-muted);
  max-width: 720px;
  line-height:1.55;
}
.landing-h3{
  margin:0 0 8px;
  font-size:18px;
  font-weight:600;
  color: var(--lp-ink);
}
.landing-p{
  margin:0;
  font-size:14px;
  color: var(--lp-ink-subtle);
  line-height:1.625;
}

.landing-grid-4{
  display:grid;
  grid-template-columns: 1fr;
  gap:24px;
  position:relative;
  z-index:1;
}
.landing-feature{
  padding:24px;
  border-radius:12px;
  background:var(--lp-surface1);
  border:1px solid var(--lp-hairline);
}
.feature-icon-bg{
  width:48px;
  height:48px;
  border-radius:12px;
  background: linear-gradient(135deg, rgba(94, 106, 210, 0.15) 0%, rgba(94, 106, 210, 0.05) 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:20px;
  color: var(--lp-primary);
}

.card-lift{
  transition: transform .2s ease, border-color .2s ease;
}
.card-lift:hover{
  transform: translateY(-2px);
  border-color: var(--lp-hairline-strong);
}

.landing-stats{ padding:80px 0; position:relative; }
.landing-stats-card{
  position:relative;
  border-radius:16px;
  background: linear-gradient(180deg, rgba(94,106,210,.08) 0%, rgba(94,106,210,.02) 100%);
  border:1px solid var(--lp-hairline);
  overflow:hidden;
  padding:64px 32px;
}
.landing-stats-deco{
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, rgba(94,106,210,.05), transparent, rgba(94,106,210,.05));
  pointer-events:none;
}
.landing-stats-grid{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:32px;
  margin-top:48px;
  position:relative;
  z-index:1;
}
.landing-stat{ text-align:center; }
.landing-stat-top{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color: var(--lp-primary);
  margin-bottom:10px;
}
.landing-data-number{
  font-size:30px;
  font-weight:700;
  font-family:"Noto Sans SC","Inter",system-ui,sans-serif;
  background: linear-gradient(180deg, #f7f8f8 0%, #d0d6e0 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.landing-stat-label{
  margin:0;
  font-size:14px;
  color: var(--lp-ink-subtle);
}

.landing-how-head{ margin-bottom:64px; position:relative; z-index:1; }
.landing-how-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:64px;
  align-items:start;
  position:relative;
  z-index:1;
}
.landing-how-preview{ position:relative; align-self:start; }
.landing-steps{ display:grid; gap:32px; }
.landing-step{ display:flex; gap:20px; }
.landing-step-axis{ display:flex; flex-direction:column; align-items:center; }
.step-number-bg{
  background: linear-gradient(135deg, var(--lp-primary) 0%, #7c3aed 100%);
  color:#fff;
}
.landing-step-no{
  width:40px;
  height:40px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  font-size:14px;
}
.step-line{
  width:2px;
  height:80px;
  background: var(--lp-primary);
  margin-top:8px;
}
.landing-step-content{ padding-top:4px; }

.landing-panel-compact{ padding:24px; box-shadow:none; }
.landing-preview-grid{ display:flex; gap:20px; }
.landing-preview-side{ width:64px; display:flex; flex-direction:column; gap:12px; }
.landing-preview-icon{
  width:40px;
  height:40px;
  border-radius:8px;
  background: var(--lp-surface2);
  border:1px solid var(--lp-hairline);
}
.landing-preview-icon.is-primary{
  background: rgba(94,106,210,.20);
  border-color: rgba(94,106,210,.30);
}
.landing-preview-main{ flex:1; display:grid; gap:20px; }

.landing-voice-label{ font-size:12px; color:var(--lp-ink-subtle); margin-bottom:12px; }
.landing-voice-row{ display:grid; grid-template-columns: 1fr; gap:12px; }
.landing-voice-card{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px;
  border-radius:14px;
  background: var(--lp-surface2);
  border:1px solid var(--lp-hairline);
}
.landing-voice-card img{
  width:40px;
  height:40px;
  border-radius:999px;
  object-fit:cover;
  display:block;
}
.landing-voice-card.is-primary{
  background: rgba(94,106,210,.10);
  border-color: rgba(94,106,210,.30);
}
.landing-voice-card.is-muted{ opacity:.60; }
.landing-voice-name{ font-size:14px; font-weight:800; color:var(--lp-ink); }
.landing-voice-sub{ font-size:12px; color:var(--lp-ink-subtle); margin-top:2px; }
.landing-voice-sub.is-primary{ color: var(--lp-primary); }
.landing-more-btn{
  margin-top:12px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:10px;
  background: var(--lp-surface2);
  border:1px solid var(--lp-hairline);
  color: var(--lp-ink-muted);
  font-weight:700;
  font-size:14px;
}
.landing-more-btn:hover{ background: var(--lp-surface3); }
.landing-more-btn:focus-visible{ outline:2px solid rgba(94,106,210,.55); outline-offset:4px; }

.landing-playback{
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px;
  border-radius:14px;
  background: var(--lp-surface2);
  border:1px solid var(--lp-hairline);
}
.landing-mini-bars{
  flex:1;
  height:24px;
  display:flex;
  gap:2px;
  align-items:flex-end;
  justify-content:center;
}
.landing-mini-bars span{
  width:2px;
  border-radius:999px;
  background: rgba(94,106,210,.70);
  height: 20px;
  transform-origin: bottom;
  transform: scaleY(.18);
  will-change: transform, opacity;
  animation: miniWave 1.05s ease-in-out infinite;
  animation-play-state: paused;
}
.landing-mini-bars span:nth-child(1){ --amp:.38; animation-delay:.00s; }
.landing-mini-bars span:nth-child(2){ --amp:.62; animation-delay:.08s; }
.landing-mini-bars span:nth-child(3){ --amp:.92; animation-delay:.16s; }
.landing-mini-bars span:nth-child(4){ --amp:.50; animation-delay:.24s; }
.landing-mini-bars span:nth-child(5){ --amp:.72; animation-delay:.12s; }
.landing-mini-bars span:nth-child(6){ --amp:1; animation-delay:.20s; }
.landing-mini-bars span:nth-child(7){ --amp:.34; animation-delay:.04s; }
.landing-mini-bars span:nth-child(8){ --amp:.58; animation-delay:.28s; }
@keyframes miniWave{
  0%,100%{ transform: scaleY(.18); opacity:.55; }
  50%{ transform: scaleY(var(--amp, 1)); opacity: 1; }
}
.is-playing .landing-mini-bars span{ animation-play-state: running; }
.landing-export-btn{
  padding:10px 18px;
  border:none;
  border-radius:10px;
  background: var(--lp-primary);
  color:#fff;
  font-weight:800;
  font-size:14px;
}
.landing-export-btn:hover{ background: var(--lp-primary-hover); }
.landing-export-btn:focus-visible{ outline:2px solid rgba(255,255,255,.6); outline-offset:4px; }

.landing-grid-3{
  display:grid;
  grid-template-columns: 1fr;
  gap:24px;
  position:relative;
  z-index:1;
}
.landing-t-card{
  padding:32px;
  border-radius:14px;
  background: var(--lp-surface1);
  border:1px solid var(--lp-hairline);
  position:relative;
}
.testimonial-quote::before{
  content:"\"";
  position:absolute;
  top:-10px;
  left:10px;
  font-size:56px;
  line-height:1;
  color: rgba(94,106,210,.20);
  font-family: Georgia, serif;
}
.landing-t-text{
  margin:0 0 24px;
  color: var(--lp-ink-muted);
  line-height:1.75;
}
.landing-t-foot{
  display:flex;
  align-items:center;
  gap:12px;
}
.landing-t-foot img{
  width:44px;
  height:44px;
  border-radius:999px;
  object-fit:cover;
  box-shadow: 0 0 0 2px var(--lp-canvas), 0 0 0 4px var(--lp-primary);
}
.landing-t-name{ font-size:14px; font-weight:800; color: var(--lp-ink); }
.landing-t-sub{ margin-top:2px; font-size:12px; color: var(--lp-ink-subtle); }
.landing-t-stars{ margin-left:auto; color:#fbbf24; letter-spacing:1px; }

.landing-cta{ padding:96px 0; }
.landing-cta-card{
  position:relative;
  border-radius:18px;
  background: linear-gradient(180deg, rgba(94,106,210,.08) 0%, rgba(94,106,210,.02) 100%);
  border:1px solid var(--lp-hairline);
  overflow:hidden;
  padding:64px 32px;
}
.cta-glow{
  position:absolute;
  inset:0;
  background: radial-gradient(ellipse 70% 50% at 50% 50%, rgba(94,106,210,.12) 0%, transparent 70%);
  pointer-events:none;
}
.landing-cta-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns: 1fr;
  gap:40px;
  align-items:center;
}
.landing-cta-title{ font-style: italic; }
.landing-cta-text{
  margin:16px 0 28px;
  color: var(--lp-ink-muted);
  line-height:1.75;
}
.landing-cta-right{ display:flex; justify-content:center; }
.landing-mic-wrap{ position:relative; }
.landing-mic-glow{
  position:absolute;
  inset:0;
  background: rgba(94,106,210,.20);
  border-radius:999px;
  filter: blur(46px);
  transform: scale(1.25);
}
.landing-mic-wrap img{
  position:relative;
  width:256px;
  height:320px;
  object-fit:contain;
}
.microphone-glow{
  filter: drop-shadow(0 0 40px rgba(94,106,210,.30)) drop-shadow(0 0 80px rgba(94,106,210,.15));
}

.landing-faq{
  padding:96px 0 80px;
}
.landing-faq-list{
  max-width:880px;
  margin:0 auto;
  display:grid;
  gap:16px;
}
.landing-faq-item{
  border-radius:18px;
  background:var(--lp-surface1);
  border:1px solid var(--lp-hairline);
  overflow:hidden;
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.landing-faq-item:hover{
  border-color:var(--lp-hairline-strong);
  background:var(--lp-surface2);
}
.landing-faq-item[open]{
  border-color:rgba(94,106,210,.30);
  background:linear-gradient(180deg, rgba(94,106,210,.08) 0%, rgba(20,21,22,.96) 100%);
  box-shadow:0 18px 48px rgba(0,0,0,.18);
}
.landing-faq-summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:24px 24px 22px;
  cursor:pointer;
}
.landing-faq-summary::-webkit-details-marker{
  display:none;
}
.landing-faq-summary:focus-visible{
  outline:2px solid rgba(94,106,210,.55);
  outline-offset:-2px;
}
.landing-faq-question{
  display:block;
  margin:0;
  color:var(--lp-ink);
  font-size:18px;
  line-height:1.45;
  font-weight:600;
}
.landing-faq-icon{
  position:relative;
  flex:0 0 24px;
  width:24px;
  height:24px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}
.landing-faq-icon::before,
.landing-faq-icon::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:10px;
  height:1.5px;
  border-radius:999px;
  background:var(--lp-ink-muted);
  transform:translate(-50%, -50%);
  transition:transform .2s ease, opacity .2s ease, background .2s ease;
}
.landing-faq-icon::after{
  transform:translate(-50%, -50%) rotate(90deg);
}
.landing-faq-item[open] .landing-faq-icon{
  border-color:rgba(94,106,210,.28);
  background:rgba(94,106,210,.10);
}
.landing-faq-item[open] .landing-faq-icon::before,
.landing-faq-item[open] .landing-faq-icon::after{
  background:var(--lp-primary-hover);
}
.landing-faq-item[open] .landing-faq-icon::after{
  opacity:0;
  transform:translate(-50%, -50%) rotate(90deg) scaleX(.4);
}
.landing-faq-answer{
  padding:0 24px 24px;
}
.landing-faq-answer p{
  margin:0;
  color:var(--lp-ink-muted);
  font-size:15px;
  line-height:1.8;
}

.landing-footer{
  padding:64px 0 32px;
}
.landing-footer-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:32px;
  margin-bottom:48px;
}
.landing-footer-brand{ grid-column: 1 / -1; }
.landing-footer-logo{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:16px;
  color: var(--lp-ink);
}
.landing-footer-desc{ margin:0 0 16px; color: var(--lp-ink-subtle); line-height:1.625; font-size:14px; }
.landing-footer-social{ display:flex; gap:12px; }
.landing-social{
  width:32px;
  height:32px;
  border-radius:8px;
  background: var(--lp-surface1);
  border:1px solid var(--lp-hairline);
}
.landing-social:hover{ background: var(--lp-surface2); }
.landing-footer-title{ margin:0 0 16px; font-size:14px; font-weight:600; color: var(--lp-ink); }
.landing-footer-link{
  display:block;
  padding:0;
  font-size:14px;
  line-height:20px;
  color: var(--lp-ink-subtle);
  transition: color .2s ease;
}
.landing-footer-link:hover{ color: var(--lp-ink-muted); }
.landing-footer-link:focus-visible{ outline:2px solid rgba(94,106,210,.55); outline-offset:4px; border-radius:10px; }
.landing-footer-qr{ grid-column:auto; }
.landing-qr-wrap{
  width:96px;
  height:96px;
  border-radius:12px;
  background:#fff;
  padding:8px;
  border:1px solid var(--lp-hairline);
}
.landing-qr-wrap img{ width:100%; height:100%; object-fit:contain; display:block; }
.landing-qr-tip{ margin:10px 0 0; font-size:12px; color: var(--lp-ink-tertiary); }

.landing-footer-meta{
  margin-top:28px;
  padding-top:20px;
  border-top:1px solid var(--lp-hairline);
  display:grid;
  gap:14px;
}
.landing-footer-bottom .landing-footer-meta{
  margin-top:0;
  padding-top:0;
  border-top:0;
  gap:0;
}
.landing-footer-meta--top{
  padding-bottom:16px;
  border-bottom:1px solid var(--lp-hairline);
}
.landing-footer-meta--bottom{
  padding-top:16px;
  border-top:1px solid var(--lp-hairline);
}
.landing-footer-meta-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
}
.landing-footer-bottom .landing-footer-meta-row{
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
}
.landing-footer-meta-title{
  font-size:12px;
  font-weight:700;
  color:var(--lp-ink);
  letter-spacing:-.01em;
}
.landing-footer-meta-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
.landing-footer-bottom .landing-footer-meta-links{
  width:100%;
}
.landing-footer-meta-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:28px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid var(--lp-hairline);
  background:rgba(255,255,255,.02);
  color:var(--lp-ink-subtle);
  font-size:12px;
  line-height:16px;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.landing-footer-meta-link:hover{
  color:var(--lp-ink);
  background:rgba(255,255,255,.04);
  border-color:var(--lp-hairline-strong);
}
.landing-footer-meta-link:focus-visible{ outline:2px solid rgba(94,106,210,.55); outline-offset:4px; }
.landing-footer-meta-link.is-logo{ padding:0 10px; }
.landing-footer-meta-link.is-logo img{
  height:18px;
  width:auto;
  max-width:120px;
  display:block;
  object-fit:contain;
  border-radius:6px;
}
.landing-footer-bottom{
  padding-top:32px;
  border-top:1px solid var(--lp-hairline);
  display:grid;
  grid-template-columns: 1fr;
  gap:22px;
}
.landing-footer-bottom-left{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.landing-footer-bottom-right{
  display:flex;
  flex-direction:column;
}
.landing-footer-copy{ margin:0; font-size:12px; color: var(--lp-ink-tertiary); }
.landing-footer-legal{ display:flex; gap:18px; flex-wrap:wrap; }
.landing-footer-small{ font-size:12px; line-height:16px; color: var(--lp-ink-tertiary); }
.landing-footer-small:hover{ color: var(--lp-ink-subtle); }

.landing-footer-filing{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
}
.landing-footer-filing-link{
  font-size:12px;
  line-height:16px;
  color: var(--lp-ink-tertiary);
}
.landing-footer-filing-link:hover{ color: var(--lp-ink-subtle); }
.landing-footer-filing-link:focus-visible{ outline:2px solid rgba(94,106,210,.55); outline-offset:4px; border-radius:10px; }

.landing-footer-friends-title{
  font-size:18px;
  line-height:24px;
  font-weight:600;
  color:var(--lp-ink);
  margin:0 0 18px;
  letter-spacing:-.02em;
}
.landing-footer-friends-links{
  display:flex;
  flex-wrap:wrap;
  gap:18px 22px;
}
.landing-footer-friends-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:14px;
  line-height:20px;
  color:var(--lp-ink-subtle);
  transition: color .2s ease;
}
.landing-footer-friends-link:hover{ color:var(--lp-ink); }
.landing-footer-friends-link:focus-visible{ outline:2px solid rgba(94,106,210,.55); outline-offset:4px; border-radius:10px; }
.landing-footer-friends-logo{
  height:16px;
  width:auto;
  max-width:110px;
  display:block;
  object-fit:contain;
  border-radius:4px;
  opacity:.9;
}
.landing-footer-friends-text{ display:block; }

[data-reveal]{ opacity:1; transform:none; }
[data-reveal].is-visible{ opacity:1; transform:none; }

@media (min-width: 768px){
  .landing-nav{ display:flex; }
  .landing-grid-4{ grid-template-columns: repeat(2, 1fr); }
  .landing-grid-3{ grid-template-columns: repeat(3, 1fr); }
  .landing-footer-grid{ grid-template-columns: repeat(5, 1fr); }
  .landing-footer-brand{ grid-column: auto; }
  .landing-footer-qr{ grid-column: auto; }
  .landing-footer-bottom{
    grid-template-columns: minmax(320px, 1.2fr) minmax(260px, 1fr);
    align-items:start;
    gap:48px;
  }
}

@media (min-width: 1024px){
  .landing-hero-grid{ grid-template-columns: 1fr 1fr; }
  .landing-h1{ font-size:72px; }
  .landing-h2-lg{ font-size:48px; }
  .landing-h2-md{ font-size:36px; }
  .landing-data-number{ font-size:36px; }
  .landing-grid-4{ grid-template-columns: repeat(4, 1fr); }
  .landing-stats-card{ padding-left:64px; padding-right:64px; }
  .landing-stats-grid{ grid-template-columns: repeat(4, 1fr); gap:48px; }
  .landing-how-grid{ grid-template-columns: 1fr 1fr; gap:64px; }
  .landing-cta-grid{ grid-template-columns: 1fr 1fr; }
}

@media (max-width: 767.98px){
  .landing-faq{
    padding:80px 0 64px;
  }
  .landing-faq-list{
    gap:14px;
  }
  .landing-faq-summary{
    padding:20px 18px 18px;
    gap:16px;
  }
  .landing-faq-question{
    font-size:16px;
  }
  .landing-faq-answer{
    padding:0 18px 20px;
  }
  .landing-faq-answer p{
    font-size:14px;
    line-height:1.75;
  }
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  [data-reveal]{ opacity:1; transform:none; }
  .waveform-bar{
    animation: waveformScale 1.1s ease-in-out infinite !important;
    animation-play-state: paused !important;
  }
  .is-playing .waveform-bar{
    animation-play-state: running !important;
  }
  .landing-mini-bars span{
    animation: miniWave 1.05s ease-in-out infinite !important;
    animation-play-state: paused !important;
  }
  .is-playing .landing-mini-bars span{
    animation-play-state: running !important;
  }
}
