/* ===== TOKENS ===== */
:root {
  --bg:           #1A1B20;
  --bg-alt:       #141519;
  --surface:      #24252B;
  --accent:       #3B3BFF;
  --white:        #FFFFFF;
  --gray-100:     #F3F4F6;
  --gray-200:     #D1D5DB;
  --gray-300:     #9CA3AF;
  --gray-400:     #6B7280;
  --blue-300:     #93C5FD;
  --blue-400:     #60A5FA;
  --green-400:    #4ADE80;
  --purple-300:   #D8B4FE;
  --purple-400:   #C084FC;
  --purple-500:   #A855F7;
  --red-500:      #EF4444;
  --yellow-500:   #EAB308;
  --border:       rgba(255,255,255,.1);
  --border-faint: rgba(255,255,255,.05);
  --max-w:        1280px;
  --pad:          32px;
  --radius-sm:    8px;
  --radius:       12px;
  --radius-card:  16px;
  --radius-block: 24px;
  --radius-pill:  9999px;
}

/* ===== RESET ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--gray-300);line-height:1.5;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button{font:inherit;border:none;background:none;cursor:pointer}

/* ===== UTILITIES ===== */
.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 var(--pad)}
.section-header h2{font-size:36px;line-height:40px;font-weight:700;color:var(--white)}
.section-header p{font-size:16px;line-height:24px;color:var(--gray-300);margin-top:16px;max-width:672px}
.section-header--center{text-align:center}
.section-header--center h2,.section-header--center p{margin-left:auto;margin-right:auto}

/* ===== HEADER ===== */
.header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(26,27,32,.8);border-bottom:1px solid var(--border);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.header__inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--max-w);margin:0 auto;padding:0 112px;height:80px}
.header__logo{display:flex;align-items:center;gap:12px}
.header__logo img{width:40px;height:40px}
.header__logo span{font-size:20px;font-weight:700;color:var(--white);line-height:28px}
.header__nav{display:flex;gap:32px}
.header__nav a{font-size:14px;font-weight:500;line-height:20px;color:var(--gray-200);transition:color .2s}
.header__nav a:hover{color:var(--white)}
.header__actions{display:flex;align-items:center;gap:16px}
.header__login{font-size:14px;font-weight:500;color:var(--gray-200);transition:color .2s}
.header__login:hover{color:var(--white)}
.btn-pill{display:inline-flex;align-items:center;padding:10px 24px;background:var(--accent);border-radius:var(--radius-pill);font-size:14px;font-weight:500;color:var(--white);box-shadow:0 10px 15px -3px rgba(59,59,255,.2),0 4px 6px -4px rgba(59,59,255,.2);transition:transform .15s,box-shadow .15s}
.btn-pill:hover{transform:translateY(-1px);box-shadow:0 14px 20px -3px rgba(59,59,255,.3),0 6px 8px -4px rgba(59,59,255,.3)}

/* ===== HERO ===== */
.hero{position:relative;min-height:800px;display:flex;align-items:center;justify-content:center;padding:160px 0 120px;overflow:hidden}
.hero__gradient{position:absolute;inset:0;background:radial-gradient(141.42% 141.42% at 100% 0%,rgba(59,59,255,.2) 0%,var(--bg) 50%,var(--bg) 100%);pointer-events:none}
.hero__container{position:relative;display:flex;align-items:center;gap:32px;z-index:1}
.hero__content{flex:1;max-width:592px}

.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:rgba(255,255,255,.05);border:1px solid var(--border);backdrop-filter:blur(2px);border-radius:var(--radius-pill)}
.badge__dot{width:8px;height:8px;background:var(--accent);border-radius:50%;flex-shrink:0}
.badge span:last-child{font-size:14px;font-weight:500;line-height:20px;color:var(--gray-200)}

.hero__heading{margin-top:32px;font-size:72px;line-height:72px;font-weight:700;color:var(--white);letter-spacing:-1.8px}
.hero__heading--accent{background:linear-gradient(135deg,var(--accent),var(--blue-400));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero__subtitle{margin-top:24px;font-size:20px;line-height:28px;color:var(--gray-300);max-width:588px}

.store-buttons{display:flex;gap:16px;margin-top:40px}
.store-btn{display:inline-flex;align-items:center;gap:12px;padding:16px 32px;border-radius:var(--radius);transition:transform .15s}
.store-btn:hover{transform:translateY(-2px)}
.store-btn--apple{background:var(--white)}
.store-btn--google{background:var(--surface);border:1px solid var(--border)}
.store-btn__text{display:flex;flex-direction:column}
.store-btn__label{font-size:10px;font-weight:600;line-height:12px;text-transform:uppercase}
.store-btn--apple .store-btn__label{color:var(--gray-400)}
.store-btn--google .store-btn__label{color:var(--gray-300)}
.store-btn__name{font-size:16px;font-weight:600;line-height:20px}
.store-btn--apple .store-btn__name{color:#000}
.store-btn--google .store-btn__name{color:var(--white)}
.store-btn__name--lg{font-size:18px;line-height:28px}

.hero__preview{position:relative;flex:0 0 520px;min-height:540px}
.hero__blur{position:absolute;inset:40px;background:rgba(59,59,255,.2);filter:blur(50px);border-radius:var(--radius-pill)}
.hero__img{position:absolute;border:8px solid #141519;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);border-radius:32px;overflow:hidden}
.hero__img img{width:100%;height:100%;object-fit:cover;display:block}
.hero__img--front{width:280px;height:560px;left:40px;top:-40px;transform:rotate(-5deg);z-index:2}
.hero__img--back{width:240px;height:480px;right:0;top:0;opacity:.6;border-width:6px;border-radius:28px;transform:rotate(10deg);z-index:0}

/* ===== HOW IT WORKS ===== */
.how-it-works{background:var(--bg-alt);padding:96px 80px}
.how-it-works .section-header{margin-bottom:64px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.step-card{background:var(--surface);border:1px solid var(--border-faint);border-radius:var(--radius-card);padding:33px}
.step-card__icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--border-faint);box-shadow:inset 0 2px 4px 1px rgba(0,0,0,.05);border-radius:var(--radius-card)}
.step-card h3{margin-top:24px;font-size:20px;line-height:28px;font-weight:700;color:var(--white)}
.step-card p{margin-top:12px;font-size:16px;line-height:24px;color:var(--gray-300)}

/* ===== FEATURES ===== */
.features{position:relative;padding:96px 80px;overflow:hidden}
.features__blur{position:absolute;width:384px;height:384px;border-radius:var(--radius-pill);filter:blur(60px);pointer-events:none}
.features__blur--left{left:-160px;top:160px;background:rgba(59,59,255,.1)}
.features__blur--right{right:-160px;bottom:160px;background:rgba(0,210,255,.1)}
.features__inner{position:relative;z-index:2}
.features__top{margin-bottom:64px}
.features__grid{display:flex;gap:48px;align-items:center;justify-content:space-between}
.features__cards{display:flex;flex-direction:column;gap:24px;flex:1;max-width:640px}
.feature-card{display:flex;gap:16px;padding:24px;background:rgba(36,37,43,.5);border:1px solid var(--border-faint);backdrop-filter:blur(2px);border-radius:var(--radius-card)}
.feature-card__icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);flex-shrink:0}
.feature-card__icon--blue{background:rgba(59,130,246,.2)}
.feature-card__icon--green{background:rgba(34,197,94,.2)}
.feature-card__icon--purple{background:rgba(168,85,247,.2)}
.feature-card__body h4{font-size:18px;line-height:28px;font-weight:600;color:var(--white)}
.feature-card__body p{margin-top:8px;font-size:14px;line-height:20px;color:var(--gray-300)}
.features__preview{flex:0 0 320px;border:8px solid #141519;border-radius:32px;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);overflow:hidden;aspect-ratio:9/19.5;background:var(--surface)}
.features__preview img{width:100%;height:100%;object-fit:cover}

/* ===== MODULES ===== */
.modules{position:relative;background:var(--bg-alt);padding:96px 80px;overflow:hidden}
.modules__blur{position:absolute;width:800px;height:800px;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(59,59,255,.05);filter:blur(75px);border-radius:var(--radius-pill);pointer-events:none}
.modules__inner{position:relative;z-index:1}
.modules__heading{font-size:48px;line-height:48px;font-weight:700;color:var(--white)}
.modules__subtitle{font-size:18px;line-height:28px;max-width:768px}
.modules .section-header{margin-bottom:80px}

.module-block{display:flex;background:linear-gradient(135deg,rgba(36,37,43,.8) 0%,rgba(36,37,43,.4) 100%);border:1px solid var(--border);backdrop-filter:blur(2px);border-radius:var(--radius-block);overflow:hidden}
.module-block + .module-block{margin-top:64px}
.module-block__content{flex:1;padding:64px}
.module-block__visual{flex:1;position:relative;display:flex;align-items:center;justify-content:center;padding:64px}

.module-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--radius-pill);margin-bottom:24px}
.module-badge--purple{background:rgba(168,85,247,.2);border:1px solid rgba(168,85,247,.3)}
.module-badge--purple span{font-size:14px;font-weight:500;line-height:20px;color:var(--purple-300)}
.module-badge--blue{background:rgba(59,130,246,.2);border:1px solid rgba(59,130,246,.3)}
.module-badge--blue span{font-size:14px;font-weight:500;line-height:20px;color:var(--blue-300)}

.module-block__content h3{font-size:36px;line-height:40px;font-weight:700;color:var(--white);margin-bottom:32px}
.module-features{display:flex;flex-direction:column;gap:24px}
.module-feature{display:flex;gap:16px}
.module-feature__icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);flex-shrink:0}
.module-feature__icon--purple{background:rgba(168,85,247,.2)}
.module-feature__icon--blue{background:rgba(59,130,246,.2)}
.module-feature h4{font-size:20px;line-height:28px;font-weight:600;color:var(--white)}
.module-feature p{margin-top:8px;font-size:16px;line-height:24px;color:var(--gray-300)}

/* Voice visualizer */
.voice-viz{position:relative;width:100%;max-width:519px}
.voice-viz__gradient{position:absolute;inset:0;background:linear-gradient(135deg,rgba(168,85,247,.2) 0%,rgba(168,85,247,0) 100%);filter:blur(32px);pointer-events:none}
.voice-viz__card{position:relative;background:rgba(26,27,32,.5);border:1px solid rgba(168,85,247,.2);border-radius:var(--radius-card);padding:48px;display:flex;flex-direction:column;align-items:center;gap:32px}
.voice-viz__bars{display:flex;align-items:center;gap:12px;height:128px}
.voice-bar{width:16px;border-radius:var(--radius-pill);background:var(--purple-500);animation:voicePulse 1.4s ease-in-out infinite alternate}
.voice-bar:nth-child(1){animation-delay:0s}
.voice-bar:nth-child(2){animation-delay:.15s}
.voice-bar:nth-child(3){animation-delay:.3s}
.voice-bar:nth-child(4){animation-delay:.45s}
.voice-bar:nth-child(5){animation-delay:.6s}
@keyframes voicePulse{0%{transform:scaleY(1)}50%{transform:scaleY(.6)}100%{transform:scaleY(1)}}
.voice-viz__bottom{display:flex;flex-direction:column;align-items:center;gap:16px}
.voice-viz__mic{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:rgba(168,85,247,.3);border:4px solid rgba(168,85,247,.5);border-radius:50%}
.voice-viz__label{font-size:14px;line-height:20px;color:var(--gray-300);text-align:center}

/* Module phone screenshot */
.module-phone{position:relative;display:flex;justify-content:center;align-items:center}
.module-phone__glow{position:absolute;width:70%;height:60%;border-radius:var(--radius-pill);filter:blur(48px);pointer-events:none}
.module-phone--purple .module-phone__glow{background:rgba(168,85,247,.25)}
.module-phone--blue .module-phone__glow{background:rgba(59,130,246,.25)}
.module-phone img{position:relative;width:280px;aspect-ratio:9/19.5;object-fit:cover;border:6px solid #141519;border-radius:28px;box-shadow:0 25px 50px -12px rgba(0,0,0,.3)}

/* Board visualizer */
.board-viz{position:relative;width:100%;max-width:519px}
.board-viz__gradient{position:absolute;inset:0;background:linear-gradient(135deg,rgba(59,130,246,.2) 0%,rgba(59,130,246,0) 100%);filter:blur(32px);pointer-events:none}
.board-viz__card{position:relative;background:rgba(26,27,32,.5);border:1px solid rgba(59,130,246,.2);border-radius:var(--radius-card);padding:32px;display:flex;flex-direction:column;gap:24px}
.board-viz__editor{background:rgba(20,21,25,.8);border:1px solid rgba(59,130,246,.3);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:16px}
.board-viz__toolbar{display:flex;justify-content:space-between;align-items:center}
.board-viz__title{font-family:'Liberation Mono',monospace;font-size:12px;line-height:16px;color:var(--gray-400)}
.board-viz__dots{display:flex;gap:8px}
.dot{width:12px;height:12px;border-radius:50%}
.dot--red{background:var(--red-500)}
.dot--yellow{background:var(--yellow-500)}
.dot--green{background:#22C55E}
.board-viz__content{display:flex;flex-direction:column;gap:12px}
.board-viz__row{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--radius-sm)}
.board-viz__row--active{background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.3)}
.board-viz__row span{font-size:14px;line-height:20px;color:var(--gray-200)}
.board-viz__blocks{background:rgba(59,130,246,.05);border:1px solid rgba(59,130,246,.2);border-radius:var(--radius-sm);padding:16px;display:flex;gap:2px;height:98px;align-items:flex-end}
.board-block{flex:1;border-radius:4px}
.board-block--sm{height:48px;background:rgba(59,130,246,.2)}
.board-block--lg{height:64px;background:rgba(59,130,246,.3)}
.board-block--md{height:40px;background:rgba(59,130,246,.2)}
.board-viz__progress{display:flex;gap:8px}
.board-progress{height:8px;flex:1;border-radius:var(--radius-pill)}
.board-progress--filled{background:rgba(59,130,246,.4)}
.board-progress--empty{background:rgba(59,130,246,.2)}
.board-viz__actions{display:flex;justify-content:center;gap:12px}
.board-action{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgba(59,130,246,.2);border:1px solid rgba(59,130,246,.3);border-radius:var(--radius-sm);transition:background .15s}
.board-action:hover{background:rgba(59,130,246,.35)}

/* ===== FOOTER CTA ===== */
.footer-cta{position:relative;background:var(--bg-alt);border-top:1px solid var(--border-faint);padding:96px 0;overflow:hidden}
.footer-cta__gradient{position:absolute;inset:0;background:linear-gradient(180deg,rgba(59,59,255,0) 0%,rgba(59,59,255,.05) 100%);pointer-events:none}
.footer-cta__inner{position:relative;z-index:1;text-align:center;max-width:896px}
.footer-cta__inner h2{font-size:48px;line-height:48px;font-weight:700;color:var(--white)}
.footer-cta__inner > p{font-size:20px;line-height:28px;color:var(--gray-300);margin-top:24px}
.store-buttons--lg{justify-content:center;margin-top:40px}
.store-btn--lg{padding:16px 32px}

/* ===== FOOTER ===== */
.footer{background:var(--bg);border-top:1px solid var(--border);padding:48px 80px}
.footer__inner{max-width:var(--max-w)}
.footer__top{display:flex;align-items:center;justify-content:space-between}
.footer__logo{display:flex;align-items:center;gap:12px}
.footer__logo img{width:32px;height:32px}
.footer__logo span{font-size:18px;font-weight:600;line-height:28px;color:var(--white)}
.footer__links{display:flex;gap:24px}
.footer__links a{font-size:14px;line-height:20px;color:var(--gray-300);transition:color .2s}
.footer__links a:hover{color:var(--white)}
.footer__socials{display:flex;gap:16px}
.social-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--surface);border-radius:50%;transition:background .15s}
.social-icon:hover{background:rgba(59,59,255,.3)}
.footer__copy{margin-top:32px;font-size:14px;line-height:20px;color:var(--gray-400);text-align:center}

/* ===== RESPONSIVE ===== */
@media(max-width:1280px){
  .header__inner{padding:0 var(--pad)}
  .how-it-works,.features,.modules,.footer{padding-left:var(--pad);padding-right:var(--pad)}
}

@media(max-width:1024px){
  .hero__container{flex-direction:column;text-align:center;align-items:center}
  .hero__content{flex:none;max-width:100%;display:flex;flex-direction:column;align-items:center}
  .hero__preview{display:none}
  .hero__heading{font-size:56px;line-height:56px}
  .store-buttons{justify-content:center}
  .steps{grid-template-columns:1fr;max-width:480px;margin:0 auto}
  .features__grid{flex-direction:column}
  .features__cards{flex:none;width:100%;max-width:none}
  .features__preview{flex:none;width:280px;aspect-ratio:9/19.5;margin:0 auto}
  .module-block{flex-direction:column}
  .module-block--blue{flex-direction:column-reverse}
  .module-block__content,.module-block__visual{padding:40px}
  .footer__top{flex-direction:column;gap:32px;text-align:center}
  .footer__links{flex-wrap:wrap;justify-content:center}
}

@media(max-width:768px){
  :root{--pad:16px}
  .header__inner{height:64px}
  .header__nav{display:none}
  .hero{min-height:auto;padding:140px 0 80px}
  .hero__heading{font-size:40px;line-height:40px}
  .hero__subtitle{font-size:16px;line-height:24px}
  .store-buttons{flex-direction:column;align-items:center}
  .how-it-works,.features,.modules{padding-top:64px;padding-bottom:64px}
  .section-header h2{font-size:28px;line-height:32px}
  .modules__heading{font-size:32px;line-height:36px}
  .module-block__content h3{font-size:28px;line-height:32px}
  .module-block__content,.module-block__visual{padding:24px}
  .footer-cta__inner h2{font-size:32px;line-height:36px}
  .footer-cta__inner > p{font-size:16px}
  .footer__socials{justify-content:center}
}
