*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#09090b;--bg-card:#121214;--fg:#fafafa;--fg-muted:#a1a1aa;
  --primary:hsl(24,85%,50%);--primary-hover:hsl(24,85%,45%);--accent:hsl(217,90%,60%);
  --green:hsl(142,70%,45%);--green-bg:hsla(142,70%,45%,0.15);--red:hsl(0,72%,51%);--red-bg:hsla(0,72%,51%,0.15);
  --border:hsla(0,0%,100%,0.1);--surface:hsla(0,0%,100%,0.05);--radius:.5rem;--radius-lg:.75rem;
}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font-family:'Plus Jakarta Sans',sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4,h5,h6{font-family:'Space Grotesk',sans-serif;font-weight:600;line-height:1.15}
a{color:inherit;text-decoration:none}
.container{max-width:1520px;margin:0 auto;padding:0 clamp(14px,3vw,36px);width:100%}
.nav-brand{display:flex;align-items:center;gap:10px;font-family:'Space Grotesk',sans-serif;font-size:clamp(17px,2vw,18px);font-weight:600}
.brand-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px}
.brand-icon svg{width:100%;height:100%}
.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:clamp(16px,2vw,24px);transition:border-color .2s}
.card:hover{border-color:hsla(0,0%,100%,0.2)}
.text-primary{color:var(--primary)}.text-green{color:var(--green)}.text-red{color:var(--red)}.text-muted{color:var(--fg-muted)}
.badge{display:inline-flex;align-items:center;padding:4px 8px;font-size:10px;font-weight:700;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}
.badge-green{background:var(--green-bg);color:var(--green)}.badge-red{background:var(--red-bg);color:var(--red)}.badge-blue{background:hsla(217,90%,60%,0.15);color:var(--accent)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 20px;border-radius:var(--radius);font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:14px;border:none;cursor:pointer;transition:all .2s;white-space:nowrap}
.btn-lg{min-height:46px;padding:12px 24px;font-size:15px}
.btn-sm{min-height:34px;padding:6px 14px;font-size:13px}
.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}
.btn-outline{background:transparent;border:1px solid var(--border);color:var(--fg)}.btn-outline:hover{background:var(--surface);border-color:hsla(0,0%,100%,0.2)}
.navbar{position:fixed;top:0;left:0;right:0;z-index:100;padding:14px 0;background:hsla(9,9%,4%,0.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);transition:transform .28s ease,box-shadow .2s ease}
.nav-container{display:flex;align-items:center;justify-content:space-between;position:relative;gap:16px}
.nav-links{display:flex;gap:clamp(14px,2vw,30px)}
.nav-links a{font-size:14px;color:var(--fg-muted);transition:color .2s;font-weight:500}
.nav-links a:hover{color:var(--fg)}
.nav-actions{display:flex;gap:10px;align-items:center}
#authActionSlot{position:relative}
#authActionSlot .btn{min-height:40px}
.hero{padding:clamp(108px,12vw,140px) 0 clamp(52px,8vw,88px);position:relative}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(18px,4vw,44px);align-items:center}
.hero h1{font-size:clamp(31px,6vw,58px);font-weight:700;margin-bottom:18px;letter-spacing:-1px;text-wrap:balance}
.hero p{font-size:clamp(14px,2.2vw,16px);color:var(--fg-muted);max-width:560px;margin-bottom:26px}
.hero-cta-row{display:flex;gap:14px;flex-wrap:wrap}
.trust-strip{display:flex;align-items:center;gap:16px 24px;margin-top:28px;flex-wrap:wrap}
.trust-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--fg-muted)}
.hero-preview{position:relative;padding:10px 12px 40px}
.hero-preview .card{padding:18px;position:relative}
.preview-kpi{display:flex;justify-content:space-between;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.section{padding:clamp(52px,8vw,84px) 0}
.section-header{text-align:center;margin-bottom:clamp(28px,5vw,52px)}
.section-header h2{font-size:clamp(24px,4.2vw,34px);letter-spacing:-.5px;margin-bottom:12px;text-wrap:balance}
.section-header p{color:var(--fg-muted);font-size:clamp(14px,2.8vw,15px);max-width:640px;margin:0 auto;padding:0 12px}
.features-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.feature-card{display:flex;flex-direction:column;gap:12px;min-height:100%}
.feature-icon{width:40px;height:40px;border-radius:10px;background:var(--surface);display:flex;align-items:center;justify-content:center;color:var(--primary)}
.how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.how-step{text-align:center}
.personas-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.persona-card{padding:26px;text-align:left}
.persona-card h3{font-size:18px;margin:12px 0 8px}
.persona-card p{font-size:13px;color:var(--fg-muted)}
.upload-flow{max-width:min(860px,100%);margin:0 auto;text-align:center}
.upload-box{border:1px dashed hsla(24,85%,50%,0.4);background:hsla(24,85%,50%,0.02);padding:clamp(22px,4vw,42px);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s;position:relative}
.upload-box:hover{border-color:var(--primary);background:hsla(24,85%,50%,0.05)}
.upload-microcopy{display:flex;justify-content:center;gap:10px 20px;margin-top:16px;font-size:12px;color:var(--fg-muted);flex-wrap:wrap}
.upload-state{display:none}.upload-state.active{display:block}
.progress-container{width:100%;height:6px;background:var(--surface);border-radius:3px;margin:16px 0;overflow:hidden}
.progress-bar{height:100%;background:var(--primary);width:0%;transition:width .4s ease}
.site-footer{border-top:1px solid var(--border);padding:58px 0 28px;background:var(--bg-card)}
.footer-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:30px;margin-bottom:32px}
.footer-brand{max-width:330px}
.footer-links-wrap{display:flex;gap:36px 60px;flex-wrap:wrap}
.footer-bottom{border-top:1px solid var(--border);padding-top:20px;font-size:12px;color:var(--fg-muted);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.mobile-topbar{display:none}

@media (max-width:1024px){
  .hero-grid,.personas-grid,.how-grid{grid-template-columns:1fr}
  .features-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-content{margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center}
  .hero p{margin-inline:auto}
  .trust-strip{justify-content:center}
  .hero-preview{max-width:680px;margin-inline:auto}
}
@media (max-width:900px){
  .mobile-menu-btn{display:flex !important}
  .nav-links,.nav-actions{position:absolute;left:0;right:0;background:hsla(9,9%,4%,0.97);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);display:flex;visibility:hidden;opacity:0;transform:translateY(-8px);transition:all .3s}
  .nav-links{top:calc(100% + 8px);padding:18px 18px 8px;gap:16px;flex-direction:column}
  .nav-actions{top:calc(100% + 142px);padding:0 18px 18px;gap:10px;flex-wrap:wrap}
  .navbar.mobile-open .nav-links,.navbar.mobile-open .nav-actions{visibility:visible;opacity:1;transform:translateY(0)}
  .nav-actions .btn{flex:1;min-width:140px}
  .mobile-menu-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .mobile-menu-btn.open span:nth-child(2){opacity:0}
  .mobile-menu-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .features-grid{grid-template-columns:1fr}
}
@media (max-width:834px){
  .hero-preview .card[style*="position:absolute"]{position:relative !important;inset:auto !important;margin-top:12px;right:auto !important;bottom:auto !important}
  .hero-cta-row{justify-content:center;width:100%}
  .hero-cta-row .btn{flex:1;min-width:150px}
}
@media (max-width:428px){
  .container{padding:0 12px}
  .hero{padding-top:94px}
  .hero h1{font-size:clamp(28px,9.6vw,38px)}
  .section{padding:44px 0}
  .btn,.btn-lg{min-height:44px;padding:11px 16px}
  .trust-item{font-size:12px}
  .footer-links-wrap{gap:22px}
}