*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --gold:#C9A84C;--gold-l:#DBC06A;--lilac:#8B7EC8;--lilac-l:#AEA3DD;
  --navy:#081225;--surface:#0D1B36;--card:#111E38;--ivory:#E8E4DC;
  --teal:#4DD9C0;--pink:#F472B6;--orange:#FB923C;
}
html{scroll-behavior:smooth;}
body{background:var(--navy);color:var(--ivory);font-family:'Inter',sans-serif;overflow-x:hidden;}

/* NAVBAR */
.navbar{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 24px;transition:background .3s;}
.navbar.scrolled{background:rgba(8,18,37,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(201,168,76,.1);}
.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:70px;}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;}
.logo-img{height:32px;object-fit:contain;}
.logo-text{font-family:'Outfit',sans-serif;font-weight:800;font-size:20px;color:var(--gold);letter-spacing:3px;}
.nav-links{display:flex;align-items:center;gap:32px;list-style:none;}
.nav-links a{color:rgba(232,228,220,.7);text-decoration:none;font-size:14px;transition:color .2s;}
.nav-links a:hover{color:var(--ivory);}
.nav-cta{background:var(--gold)!important;color:var(--navy)!important;padding:10px 22px;border-radius:8px;font-weight:600!important;font-size:14px!important;}
.nav-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;}
.nav-burger span{display:block;width:22px;height:2px;background:var(--ivory);transition:.3s;}

/* HERO */
.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;max-width:1200px;margin:0 auto;padding:120px 24px 80px;position:relative;}
.hero-bg{position:fixed;inset:0;pointer-events:none;z-index:0;}
.orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.25;}
.orb-1{width:500px;height:500px;background:var(--lilac);top:-100px;right:-100px;}
.orb-2{width:400px;height:400px;background:var(--gold);bottom:100px;left:-150px;}
.orb-3{width:300px;height:300px;background:var(--teal);top:50%;right:20%;}
.grid-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:60px 60px;}
.hero-content{position:relative;z-index:1;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.3);color:var(--gold);padding:6px 16px;border-radius:100px;font-size:13px;margin-bottom:24px;}
.badge-dot{width:6px;height:6px;background:var(--gold);border-radius:50%;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.4;}}
.hero-title{font-family:'Outfit',sans-serif;font-size:clamp(42px,6vw,72px);font-weight:800;line-height:1.05;margin-bottom:20px;}
.gradient-text{background:linear-gradient(135deg,var(--gold),var(--lilac));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hero-subtitle{font-size:17px;color:rgba(232,228,220,.65);line-height:1.7;margin-bottom:36px;max-width:480px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:48px;}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:10px;font-family:'Outfit',sans-serif;font-weight:600;font-size:15px;text-decoration:none;cursor:pointer;border:none;transition:all .25s;}
.btn-primary{background:linear-gradient(135deg,var(--gold),var(--gold-l));color:var(--navy);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(201,168,76,.4);}
.btn-ghost{background:transparent;color:var(--ivory);border:1px solid rgba(232,228,220,.2);}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);}
.btn-full{width:100%;justify-content:center;}
.hero-stats{display:flex;align-items:center;gap:24px;}
.stat{text-align:center;}
.stat-value{display:block;font-family:'Outfit',sans-serif;font-size:20px;font-weight:700;color:var(--gold);}
.stat-label{font-size:12px;color:rgba(232,228,220,.5);}
.stat-divider{width:1px;height:36px;background:rgba(232,228,220,.15);}

/* PHONE MOCKUP */
.hero-visual{position:relative;z-index:1;display:flex;justify-content:center;}
.phone-mockup{width:260px;background:linear-gradient(145deg,var(--card),#0a1526);border-radius:36px;border:1px solid rgba(201,168,76,.2);padding:20px;box-shadow:0 40px 80px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.05);animation:float 4s ease-in-out infinite;}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
.phone-screen{display:flex;flex-direction:column;gap:12px;}
.phone-header{display:flex;justify-content:space-between;align-items:center;}
.phone-trip{font-family:'Outfit',sans-serif;font-size:14px;font-weight:600;color:var(--ivory);}
.phone-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--lilac));display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--navy);}
.phone-day-nav{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border-radius:8px;padding:8px 12px;font-size:12px;color:var(--ivory);}
.day-btn{background:none;border:none;color:var(--gold);cursor:pointer;font-size:16px;font-weight:700;}
.phone-timeline{display:flex;flex-direction:column;gap:8px;}
.phone-event{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:10px;}
.phone-event.gold{background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.2);}
.phone-event.lilac{background:rgba(139,126,200,.1);border:1px solid rgba(139,126,200,.2);}
.phone-event.teal{background:rgba(77,217,192,.1);border:1px solid rgba(77,217,192,.2);}
.event-time{font-size:10px;color:var(--gold);font-weight:600;min-width:36px;padding-top:2px;}
.event-title{font-size:11px;font-weight:600;color:var(--ivory);}
.event-sub{font-size:10px;color:rgba(232,228,220,.5);}
.phone-swipe-hint{text-align:center;font-size:10px;color:rgba(232,228,220,.3);padding-top:4px;}

/* SECTIONS COMMON */
section{padding:100px 24px;position:relative;}
.section-header{text-align:center;margin-bottom:64px;}
.section-tag{display:inline-block;background:rgba(139,126,200,.15);border:1px solid rgba(139,126,200,.3);color:var(--lilac-l);padding:4px 16px;border-radius:100px;font-size:12px;text-transform:uppercase;letter-spacing:2px;margin-bottom:16px;}
.section-header h2{font-family:'Outfit',sans-serif;font-size:clamp(32px,5vw,52px);font-weight:700;line-height:1.15;margin-bottom:16px;}
.section-header p{color:rgba(232,228,220,.6);font-size:16px;max-width:520px;margin:0 auto;}

/* FEATURES */
.features{background:var(--surface);}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1200px;margin:0 auto;}
.feature-card{background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:20px;padding:28px;transition:transform .3s,border-color .3s;}
.feature-card:hover{transform:translateY(-4px);border-color:rgba(201,168,76,.25);}
.feature-large{grid-column:span 2;}
.feature-right{grid-column:2 / span 2;}
.feature-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.gold-icon{background:rgba(201,168,76,.15);color:var(--gold);}
.lilac-icon{background:rgba(139,126,200,.15);color:var(--lilac-l);}
.teal-icon{background:rgba(77,217,192,.15);color:var(--teal);}
.orange-icon{background:rgba(251,146,60,.15);color:var(--orange);}
.pink-icon{background:rgba(244,114,182,.15);color:var(--pink);}
.feature-card h3{font-family:'Outfit',sans-serif;font-size:18px;font-weight:600;margin-bottom:8px;}
.feature-card p{font-size:14px;color:rgba(232,228,220,.6);line-height:1.65;}
.feature-pill{display:inline-block;margin-top:14px;background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.25);color:var(--gold);font-size:11px;padding:4px 12px;border-radius:100px;}

/* HOW */
.steps{display:flex;align-items:center;max-width:900px;margin:0 auto;gap:0;}
.step{flex:1;text-align:center;padding:40px 24px;background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:20px;}
.step-number{font-family:'Outfit',sans-serif;font-size:48px;font-weight:800;color:var(--gold);opacity:.25;line-height:1;}
.step-content h3{font-family:'Outfit',sans-serif;font-size:18px;font-weight:600;margin:12px 0 8px;}
.step-content p{font-size:13px;color:rgba(232,228,220,.6);line-height:1.6;}
.step-connector{width:40px;height:2px;background:linear-gradient(90deg,var(--gold),var(--lilac));flex-shrink:0;}

/* PERSONAS */
.personas{background:var(--surface);}
.personas-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:860px;margin:0 auto;}
.persona-card{background:var(--card);border:1px solid rgba(201,168,76,.2);border-radius:24px;padding:36px;position:relative;overflow:hidden;}
.persona-family{border-color:rgba(139,126,200,.2);}
.persona-badge{position:absolute;top:20px;right:20px;padding:4px 14px;border-radius:100px;font-size:11px;font-weight:600;letter-spacing:1px;}
.admin-badge{background:rgba(201,168,76,.15);color:var(--gold);}
.family-badge{background:rgba(139,126,200,.15);color:var(--lilac-l);}
.persona-avatar{width:64px;height:64px;background:rgba(255,255,255,.05);border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.persona-card h3{font-family:'Outfit',sans-serif;font-size:22px;font-weight:700;margin-bottom:4px;}
.persona-desc{font-size:13px;color:rgba(232,228,220,.5);margin-bottom:20px;}
.persona-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:24px;}
.persona-list li{font-size:14px;color:rgba(232,228,220,.75);}
.persona-tag{display:inline-block;background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.25);color:var(--gold);font-size:12px;font-weight:600;padding:6px 16px;border-radius:100px;}
.persona-tag-lilac{background:rgba(139,126,200,.1);border-color:rgba(139,126,200,.25);color:var(--lilac-l);}

/* LOGIN */
.login-section{padding:120px 24px;position:relative;overflow:hidden;}
.login-bg{position:absolute;inset:0;pointer-events:none;}
.orb-login-1{position:absolute;width:600px;height:600px;background:var(--lilac);top:-200px;left:-200px;border-radius:50%;filter:blur(100px);opacity:.15;}
.orb-login-2{position:absolute;width:500px;height:500px;background:var(--gold);bottom:-150px;right:-100px;border-radius:50%;filter:blur(100px);opacity:.12;}
.login-container{display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:1000px;margin:0 auto;align-items:center;position:relative;z-index:1;}
.login-info h2{font-family:'Outfit',sans-serif;font-size:42px;font-weight:700;margin-bottom:16px;}
.login-info p{font-size:16px;color:rgba(232,228,220,.6);line-height:1.7;margin-bottom:32px;}
.login-features{display:flex;flex-direction:column;gap:14px;}
.lf-item{display:flex;align-items:center;gap:12px;font-size:15px;color:rgba(232,228,220,.8);}
.lf-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.gold-dot{background:var(--gold);}
.lilac-dot{background:var(--lilac);}
.teal-dot{background:var(--teal);}
.login-box{background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:36px;backdrop-filter:blur(20px);}
.login-tabs{display:flex;gap:0;margin-bottom:28px;background:rgba(255,255,255,.05);border-radius:10px;padding:4px;}
.tab-btn{flex:1;padding:10px;border:none;background:none;color:rgba(232,228,220,.5);font-family:'Outfit',sans-serif;font-size:14px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s;}
.tab-btn.active{background:var(--gold);color:var(--navy);}
.form-group{margin-bottom:18px;}
.form-group label{display:block;font-size:13px;font-weight:500;color:rgba(232,228,220,.7);margin-bottom:8px;}
.input-wrapper{position:relative;display:flex;align-items:center;}
.input-icon{position:absolute;left:14px;color:rgba(232,228,220,.35);pointer-events:none;}
.input-wrapper input{width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:12px 42px;color:var(--ivory);font-size:14px;font-family:'Inter',sans-serif;transition:border .2s;outline:none;}
.input-wrapper input:focus{border-color:var(--gold);}
.input-wrapper input::placeholder{color:rgba(232,228,220,.25);}
.toggle-pass{position:absolute;right:14px;background:none;border:none;color:rgba(232,228,220,.4);cursor:pointer;padding:0;}
.form-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#F87171;border-radius:8px;padding:10px 14px;font-size:13px;margin-bottom:16px;}
.form-success{background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.3);color:#6EE7B7;border-radius:8px;padding:10px 14px;font-size:13px;margin-bottom:16px;}
.btn-spinner{width:16px;height:16px;border:2px solid rgba(8,18,37,.3);border-top-color:var(--navy);border-radius:50%;animation:spin .7s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

/* FOOTER */
.footer{background:var(--surface);border-top:1px solid rgba(255,255,255,.06);padding:32px 24px;}
.footer-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
.footer-logo-img{height:24px;object-fit:contain;margin-bottom:8px;}
.footer-brand p{font-size:13px;color:rgba(232,228,220,.4);}
.footer-links{display:flex;align-items:center;gap:12px;font-size:13px;color:rgba(232,228,220,.4);}
.footer-dot{opacity:.4;}

/* RESPONSIVE */
@media(max-width:900px){
  .hero{grid-template-columns:1fr;padding-top:100px;text-align:center;}
  .hero-subtitle{margin:0 auto 36px;}
  .hero-actions{justify-content:center;}
  .hero-stats{justify-content:center;}
  .hero-visual{display:none;}
  .features-grid{grid-template-columns:1fr;}
  .feature-large,.feature-right{grid-column:auto;}
  .steps{flex-direction:column;}
  .step-connector{width:2px;height:30px;}
  .personas-grid{grid-template-columns:1fr;}
  .login-container{grid-template-columns:1fr;}
  .login-info{display:none;}
  .nav-links{display:none;}
  .nav-burger{display:flex;}
}
