
:root {
  --bg: #050d17;
  --bg2: #071220;
  --card: #0a1929;
  --card2: #0d1f33;
  --cyan: #00d4ff;
  --blue: #0070f3;
  --blue2: #0051b5;
  --gold: #fbbf24;
  --green: #34d399;
  --purple: #e879f9;
  --white: #f0f8ff;
  --muted: #4a6885;
  --muted2: #8eb4d4;
  --border: rgba(0,212,255,0.12);
  --border2: rgba(255,255,255,0.06);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{
  scroll-behavior:smooth;
  overflow-x:hidden;          /* prevent any horizontal scroll on small screens */
}
body{background:var(--bg);color:var(--white);font-family:'Inter',sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased;}
body::before{content:'';position:fixed;inset:0;background-image:linear-gradient(rgba(0,212,255,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,255,0.03) 1px,transparent 1px);background-size:72px 72px;pointer-events:none;z-index:0;}
body::after{content:'';position:fixed;inset:0;background:radial-gradient(ellipse 80% 60% at 20% 0%,rgba(0,112,243,0.10) 0%,transparent 60%),radial-gradient(ellipse 60% 50% at 80% 100%,rgba(245,166,35,0.06) 0%,transparent 60%);pointer-events:none;z-index:0;}

/* NAV */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 52px;
  background:rgba(5,13,23,0.95);backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  max-width:100vw;           /* never wider than the viewport */
  box-sizing:border-box;
}
.logo{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:1.45rem;letter-spacing:-.5px;color:var(--white);}
.logo span{color:var(--cyan);}
.nav-links{display:flex;gap:36px;align-items:center;}
.nav-links a{color:var(--muted2);text-decoration:none;font-size:.88rem;font-weight:500;transition:color .2s;}
.nav-links a:hover{color:var(--white);}
.nav-cta{background:linear-gradient(135deg,var(--blue),#0099cc);color:var(--white)!important;padding:10px 24px;border-radius:9px;font-weight:600!important;transition:background .2s,transform .2s,box-shadow .2s!important;}
.nav-cta:hover{background:#0099cc!important;transform:translateY(-1px);box-shadow:0 6px 24px rgba(0,112,243,.5);}

/* HERO */
.hero{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:130px 24px 80px;}
.orb{position:absolute;border-radius:50%;filter:blur(100px);pointer-events:none;}
.orb1{width:560px;height:560px;background:rgba(0,112,243,.15);top:-140px;left:-180px;animation:drift 9s ease-in-out infinite;}
.orb2{width:440px;height:440px;background:rgba(245,166,35,.08);bottom:-60px;right:-120px;animation:drift 11s ease-in-out infinite reverse;}
.orb3{width:300px;height:300px;background:rgba(0,229,160,.07);top:40%;left:60%;animation:drift 7s ease-in-out infinite 2s;}
@keyframes drift{0%,100%{transform:translate(0,0);}50%{transform:translate(28px,-36px);}}

.badge{display:inline-flex;align-items:center;gap:8px;background:rgba(0,212,255,.06);border:1px solid rgba(0,212,255,.22);border-radius:100px;padding:7px 18px;font-size:.75rem;font-weight:600;color:var(--cyan);letter-spacing:1px;text-transform:uppercase;margin-bottom:30px;animation:fadeUp .6s ease both;}
.badge::before{content:'';width:7px;height:7px;background:var(--cyan);border-radius:50%;animation:blink 1.6s infinite;}
@keyframes blink{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.4;transform:scale(1.5);}}

h1{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(2.8rem,6.5vw,5.8rem);font-weight:800;line-height:1.06;letter-spacing:-2.5px;margin-bottom:16px;animation:fadeUp .7s .1s ease both;}
h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px rgba(0,212,255,.7);}
.hero-sub{font-size:clamp(.95rem,1.8vw,1.2rem);color:var(--muted2);font-weight:300;font-style:italic;line-height:1.7;max-width:520px;margin-bottom:52px;animation:fadeUp .7s .2s ease both;}

/* WAITLIST CARD */
.waitlist-wrap{width:100%;max-width:620px;animation:fadeUp .8s .3s ease both;}
.waitlist-card{background:var(--card);border:1px solid rgba(0,212,255,.13);border-radius:24px;padding:44px 48px;position:relative;overflow:hidden;}
.waitlist-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--blue),var(--cyan),transparent);}
.waitlist-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,212,255,.2),transparent);}

/* Make the waitlist modal scale nicely on all screens */
#waitlistModal .modal-box{
  max-width:640px;
  width:100%;
}
@media(max-width:1024px){
  #waitlistModal .modal-box{
    max-width:90vw !important; /* avoid feeling too wide on tablets/small laptops */
  }
}

.progress-wrap{margin-bottom:28px;}
.progress-bar-track{height:3px;background:rgba(255,255,255,.06);border-radius:3px;margin-bottom:14px;overflow:hidden;}
.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan));border-radius:3px;transition:width .4s ease;}
.progress-labels{display:flex;justify-content:space-between;}
.prog-label{font-size:.7rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);transition:color .3s;}
.prog-label.active{color:var(--cyan);}
.prog-label.done{color:var(--blue);}

.step-panel{display:none;}
.step-panel.active{display:block;}
.step-title{font-family:'Bricolage Grotesque',sans-serif;font-size:1.1rem;font-weight:700;margin-bottom:20px;display:flex;align-items:center;gap:10px;}
.step-title .num{width:28px;height:28px;background:linear-gradient(135deg,var(--blue),#0099cc);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:var(--white);font-weight:800;flex-shrink:0;}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px;}
.form-grid .full{grid-column:1 / -1;}
.field{display:flex;flex-direction:column;gap:6px;}
.field label{font-size:.7rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--muted2);}
.field label span{color:var(--cyan);margin-left:1px;}
input,select,textarea{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:13px 16px;color:var(--white);font-family:'Inter',sans-serif;font-size:.9rem;outline:none;transition:border-color .2s,background .2s,box-shadow .2s;width:100%;-webkit-appearance:none;}
input::placeholder,textarea::placeholder{color:var(--muted);}
input:focus,select:focus,textarea:focus{border-color:var(--cyan);background:rgba(0,212,255,.04);box-shadow:0 0 0 3px rgba(0,212,255,.12);}
select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235a6f94' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;}
select option{background:var(--card2);color:var(--white);}
textarea{resize:none;min-height:80px;line-height:1.5;}

.intent-wrap{position:relative;}
.intent-prefix{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--cyan);font-size:.9rem;font-weight:500;pointer-events:none;}
.intent-wrap input{padding-left:76px;}

.btn-row{display:flex;gap:12px;}
.btn-back{flex:0 0 auto;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:var(--muted2);font-family:'Inter',sans-serif;font-size:.9rem;font-weight:500;padding:14px 22px;border-radius:11px;cursor:pointer;transition:background .2s,color .2s;}
.btn-back:hover{background:rgba(255,255,255,.1);color:var(--white);}
.btn-next{flex:1;background:linear-gradient(135deg,var(--blue),var(--blue2));border:none;color:var(--white);font-family:'Bricolage Grotesque',sans-serif;font-size:.95rem;font-weight:700;padding:14px;border-radius:11px;cursor:pointer;transition:transform .2s,box-shadow .2s;}
.btn-next:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,112,243,.4);}
.submit-btn{width:100%;border:none;cursor:pointer;background:linear-gradient(135deg,var(--blue),var(--blue2));color:var(--white);font-family:'Bricolage Grotesque',sans-serif;font-size:1rem;font-weight:700;padding:16px;border-radius:11px;letter-spacing:.3px;transition:transform .2s,box-shadow .2s,opacity .2s;}
.submit-btn:hover{transform:translateY(-2px);box-shadow:0 10px 36px rgba(0,112,243,.4);}
.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;}
.form-msg{display:none;text-align:center;font-size:.85rem;padding:12px 16px;border-radius:10px;margin-top:12px;}
.form-msg.success{display:block;background:rgba(0,232,135,.1);color:var(--green);border:1px solid rgba(0,232,135,.2);}
.form-msg.error{display:block;background:rgba(255,80,80,.09);color:#ff7070;border:1px solid rgba(255,80,80,.2);}
.privacy-note{text-align:center;margin-top:16px;color:var(--muted);font-size:.75rem;}

/* SECTIONS */
.section-wrap{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:110px 52px;}
.section-label{font-size:.7rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--cyan);margin-bottom:14px;}
.section-title{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(2rem,3.8vw,3.4rem);font-weight:800;letter-spacing:-1.5px;line-height:1.08;margin-bottom:18px;}
.section-sub{color:var(--muted2);font-size:1rem;font-weight:300;font-style:italic;line-height:1.6;max-width:560px;margin-bottom:56px;}

/* STATS */
.stats-bar{position:relative;z-index:1;background:var(--bg2);border-top:1px solid var(--border2);border-bottom:1px solid var(--border2);}
.stats-inner{max-width:1180px;margin:0 auto;padding:40px 52px;display:grid;grid-template-columns:repeat(4,1fr);}
.stat{text-align:center;padding:28px;border-right:1px solid var(--border2);}
.stat:last-child{border-right:none;}
.stat-num{font-family:'Bricolage Grotesque',sans-serif;font-size:2.4rem;font-weight:800;color:var(--cyan);letter-spacing:-1px;margin-bottom:6px;}
.stat-label{color:var(--muted2);font-size:.82rem;font-weight:300;}

/* PROBLEM */
.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.prob-card{background:var(--card);border:1px solid var(--border2);border-radius:18px;padding:34px 28px;position:relative;overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s;}
.prob-card:hover{transform:translateY(-5px);border-color:rgba(0,212,255,.25);box-shadow:0 20px 60px rgba(0,0,0,.4);}
.prob-card::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;}
.prob-card:nth-child(1)::before{background:#f87171;}
.prob-card:nth-child(2)::before{background:var(--gold);}
.prob-card:nth-child(3)::before{background:var(--cyan);}
.prob-icon{font-size:1.8rem;margin-bottom:16px;}
.prob-card h3{font-family:'Bricolage Grotesque',sans-serif;font-size:1.05rem;font-weight:700;margin-bottom:10px;}
.prob-card p{color:var(--muted2);font-size:.88rem;line-height:1.7;font-weight:300;}

/* HOW */
.how-bg{background:var(--bg2);border-top:1px solid var(--border2);border-bottom:1px solid var(--border2);}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.step-card{background:var(--card);border:1px solid var(--border2);border-radius:18px;padding:32px 28px;transition:transform .3s,border-color .3s;}
.step-card:hover{transform:translateY(-4px);border-color:rgba(0,212,255,.2);}
.step-num{width:50px;height:50px;background:linear-gradient(135deg,var(--blue),#0099cc);border-radius:14px;display:flex;align-items:center;justify-content:center;font-family:'Bricolage Grotesque',sans-serif;font-size:1.15rem;font-weight:800;color:var(--white);margin-bottom:18px;}
.step-card h3{font-family:'Bricolage Grotesque',sans-serif;font-size:1.05rem;font-weight:700;margin-bottom:8px;}
.step-card p{color:var(--muted2);font-size:.88rem;line-height:1.65;font-weight:300;}

.intents-cloud{display:flex;flex-wrap:wrap;gap:10px;margin-top:44px;}
.intent-chip{background:rgba(0,212,255,.06);border:1px solid rgba(0,212,255,.16);border-radius:100px;padding:8px 18px;font-size:.82rem;color:var(--cyan);font-style:italic;transition:background .2s;}
.intent-chip:hover{background:rgba(0,212,255,.12);}

/* INSIGHT */
.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px;}
.insight-card{background:var(--card);border:1px solid var(--border2);border-radius:18px;padding:36px 32px;transition:transform .3s,border-color .3s;}
.insight-card:hover{transform:translateY(-4px);}
.insight-card.old{border-left:3px solid #ff5757;}
.insight-card.new{border-left:3px solid var(--cyan);}
.insight-tag{font-size:.7rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:14px;}
.insight-card.old .insight-tag{color:#ff5757;}
.insight-card.new .insight-tag{color:var(--cyan);}
.insight-card h3{font-family:'Bricolage Grotesque',sans-serif;font-size:1.1rem;font-weight:700;margin-bottom:10px;}
.insight-card p{color:var(--muted2);font-size:.88rem;line-height:1.7;font-weight:300;}
.insight-arrow{display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--muted);align-self:center;}

/* FUSION */
.fusion-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.fusion-card{background:var(--card);border:1px solid var(--border2);border-radius:18px;padding:32px 28px;display:flex;gap:20px;align-items:flex-start;transition:transform .3s,border-color .3s;}
.fusion-card:hover{transform:translateY(-4px);border-color:rgba(0,212,255,.2);}
.fusion-icon{width:52px;height:52px;flex-shrink:0;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;}
.fusion-card:nth-child(1) .fusion-icon{background:rgba(0,212,255,.1);}
.fusion-card:nth-child(2) .fusion-icon{background:rgba(240,180,41,.1);}
.fusion-card:nth-child(3) .fusion-icon{background:rgba(26,108,255,.12);}
.fusion-card:nth-child(4) .fusion-icon{background:rgba(0,232,135,.1);}
.fusion-card h3{font-family:'Bricolage Grotesque',sans-serif;font-size:1rem;font-weight:700;margin-bottom:8px;}
.fusion-card p{color:var(--muted2);font-size:.85rem;line-height:1.65;font-weight:300;}

/* PERSONAS */
.persona-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.persona-card{background:var(--card);border:1px solid var(--border2);border-radius:18px;padding:28px 18px;text-align:center;transition:transform .3s,box-shadow .3s;}
.persona-card:hover{transform:translateY(-6px);box-shadow:0 16px 48px rgba(0,0,0,.4);}
.persona-card:nth-child(1){border-top:2px solid var(--cyan);}
.persona-card:nth-child(2){border-top:2px solid #5b9dff;}
.persona-card:nth-child(3){border-top:2px solid #7b68ee;}
.persona-card:nth-child(4){border-top:2px solid var(--green);}
.persona-card:nth-child(5){border-top:2px solid var(--gold);}
.p-icon{font-size:2rem;margin-bottom:14px;}
.persona-card h3{font-family:'Bricolage Grotesque',sans-serif;font-size:.92rem;font-weight:700;margin-bottom:8px;}
.persona-card:nth-child(1) h3{color:var(--cyan);}
.persona-card:nth-child(2) h3{color:#5b9dff;}
.persona-card:nth-child(3) h3{color:#7b68ee;}
.persona-card:nth-child(4) h3{color:var(--green);}
.persona-card:nth-child(5) h3{color:var(--gold);}
.persona-card p{color:var(--muted2);font-size:.78rem;line-height:1.55;font-weight:300;}

/* VS TABLE */
.vs-wrap{overflow-x:auto;margin-top:48px;}
table{width:100%;border-collapse:collapse;font-size:.88rem;}
th{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:.75rem;padding:14px 20px;text-align:left;letter-spacing:.8px;text-transform:uppercase;color:var(--muted2);border-bottom:1px solid var(--border2);}
th.hl{color:var(--cyan);}
td{padding:15px 20px;border-bottom:1px solid rgba(255,255,255,.03);color:var(--muted2);font-weight:300;}
td:first-child{color:var(--white);font-weight:400;}
td.yes{color:var(--green);font-weight:600;}
td.no{color:#f87171;}
td.partial{color:var(--gold);}
tr:hover td{background:rgba(255,255,255,.018);}

/* VISION QUOTE */
.quote-block{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:48px 52px;text-align:center;margin-top:56px;position:relative;overflow:hidden;}
.quote-block::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--blue),var(--cyan),transparent);}
.quote-block blockquote{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(1.2rem,2.5vw,1.8rem);font-weight:700;line-height:1.4;color:var(--white);letter-spacing:-.5px;}
.quote-block blockquote em{color:var(--cyan);font-style:normal;}
.quote-attr{margin-top:20px;font-size:.8rem;color:var(--muted);letter-spacing:1px;text-transform:uppercase;}

/* TIMELINE */
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:48px;position:relative;}
.timeline::before{content:'';position:absolute;top:30px;left:10%;right:10%;height:2px;background:linear-gradient(90deg,var(--cyan),var(--blue),var(--gold),var(--green));opacity:.25;}
.tl-step{text-align:center;padding:0 16px;}
.tl-dot{width:60px;height:60px;border-radius:50%;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;font-family:'Bricolage Grotesque',sans-serif;font-size:.72rem;font-weight:700;position:relative;z-index:1;}
.tl-step:nth-child(1) .tl-dot{background:rgba(0,212,255,.1);border:2px solid var(--cyan);color:var(--cyan);}
.tl-step:nth-child(2) .tl-dot{background:rgba(26,108,255,.12);border:2px solid var(--blue);color:var(--blue);}
.tl-step:nth-child(3) .tl-dot{background:rgba(167,139,250,.12);border:2px solid var(--purple);color:var(--purple);}
.tl-step:nth-child(4) .tl-dot{background:rgba(0,232,135,.12);border:2px solid var(--green);color:var(--green);}
.tl-day{font-size:.68rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:6px;color:var(--muted);}
.tl-step h3{font-family:'Bricolage Grotesque',sans-serif;font-size:.95rem;font-weight:700;margin-bottom:8px;}
.tl-step p{color:var(--muted2);font-size:.8rem;line-height:1.6;font-weight:300;}

/* CTA */
.cta-section{text-align:center;padding:130px 48px;position:relative;z-index:1;}
.cta-orb{position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(0,112,243,.18) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;}
.cta-section h2{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(2.2rem,4.5vw,4.2rem);font-weight:800;letter-spacing:-2px;line-height:1.1;margin-bottom:18px;position:relative;}
.cta-section p{color:var(--muted2);font-size:1.05rem;font-style:italic;margin-bottom:44px;position:relative;}
.cta-btn{display:inline-block;background:linear-gradient(135deg,var(--blue),#0099cc);color:var(--white);text-decoration:none;font-family:'Bricolage Grotesque',sans-serif;font-size:1.05rem;font-weight:700;padding:18px 48px;border-radius:14px;transition:transform .2s,box-shadow .2s;position:relative;}
.cta-btn:hover{transform:translateY(-3px);box-shadow:0 14px 44px rgba(0,112,243,.5);}

/* FOOTER */
footer{border-top:1px solid var(--border2);padding:32px 52px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1;}
footer p{color:var(--muted);font-size:.78rem;}
.footer-links{display:flex;gap:24px;}
.footer-links a{color:var(--muted2);text-decoration:none;font-size:.78rem;transition:color .2s;}
.footer-links a:hover{color:var(--white);}

@keyframes fadeUp{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:translateY(0);}}
.reveal{opacity:0;transform:translateY(32px);transition:opacity .65s ease,transform .65s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:.12s;}
.reveal-delay-2{transition-delay:.22s;}
.reveal-delay-3{transition-delay:.32s;}

.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;z-index:300;}
.hamburger span{display:block;width:24px;height:2px;background:var(--muted2);border-radius:2px;transition:transform .3s,opacity .3s,background .2s;}
.hamburger:hover span{background:var(--white);}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-menu{display:none;position:fixed;top:65px;left:0;right:0;background:rgba(5,13,23,0.98);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);z-index:199;padding:20px 24px 28px;flex-direction:column;gap:0;}
.mobile-menu.open{display:flex;}
.mobile-menu a{color:var(--muted2);text-decoration:none;font-size:1rem;font-weight:500;padding:14px 0;border-bottom:1px solid var(--border2);transition:color .2s;}
.mobile-menu a:last-child{border-bottom:none;}
.mobile-menu a:hover{color:var(--white);}
.mobile-menu .nav-cta{background:linear-gradient(135deg,var(--blue),#0099cc);color:var(--white)!important;padding:14px 24px;border-radius:9px;font-weight:600!important;text-align:center;margin-top:8px;border-bottom:none!important;}
@media(max-width:960px){
  nav{padding:16px 24px;}
  .nav-links{gap:16px;}
  .nav-links a{font-size:.82rem;}
  .problem-grid,.steps,.timeline,.insight-grid{grid-template-columns:1fr;}
  .fusion-grid{grid-template-columns:1fr 1fr;}
  .persona-grid{grid-template-columns:repeat(3,1fr);}
  .stats-inner{grid-template-columns:repeat(2,1fr);padding:24px;}
  .form-grid{grid-template-columns:1fr;}
  .section-wrap{
    padding:70px 24px;
    text-align:center;          /* center section headings and intro text */
  }
  .section-sub{
    margin-left:auto;
    margin-right:auto;          /* keep descriptive text centered under titles */
  }
  .waitlist-card{padding:28px 24px;}
  .stat{border-right:none;border-bottom:1px solid var(--border2);}
  .insight-arrow{display:none;}
  .quote-block{padding:32px 24px;}
  .cta-section{padding:80px 24px;}
  /* modal handled separately */
}
@media(max-width:600px){
  nav{
    padding:12px 14px;        /* slightly tighter so menu never forces side scroll */
    max-width:100%;
  }
  .nav-links{display:none;}
  .hamburger{display:flex;}
  h1{letter-spacing:-1px;font-size:clamp(2.2rem,9vw,3.8rem);}
  .hero{
    padding:100px 20px 60px;
    min-height:auto;              /* remove extra empty space below hero on mobile */
  }
  .hero-sub{font-size:.92rem;margin-bottom:36px;}
  .hero-join-btn{width:100%;padding:16px 24px;font-size:1rem;text-align:center;}
  footer{flex-direction:column;gap:16px;text-align:center;padding:24px 20px;}
  footer .footer-links{flex-wrap:wrap;justify-content:center;}
  .persona-grid{grid-template-columns:repeat(2,1fr);}
  .fusion-grid{grid-template-columns:1fr;}
  .timeline{grid-template-columns:1fr 1fr;}
  .timeline::before{display:none;}
  .section-wrap{padding:56px 20px;}
  .section-title{letter-spacing:-.5px;}
  .section-sub{margin-bottom:36px;}
  .stats-inner{grid-template-columns:1fr 1fr;padding:16px 20px;}
  .stat{padding:18px 12px;}
  .stat-num{font-size:1.8rem;}
  .quote-block{padding:24px 20px;}
  .quote-block blockquote{font-size:1.05rem;}
  /* modal responsiveness handled in modal-styles block */
  .cta-section{padding:70px 20px;}
  .cta-section h2{letter-spacing:-1px;}
  .pill-choice{gap:6px;}
  .pill-btn{font-size:.78rem;padding:7px 12px;}
  .btn-next,.submit-btn{font-size:.92rem;}
  .progress-labels{font-size:.62rem;}
  .tl-step h3{font-size:.88rem;}
  .tl-step p{font-size:.75rem;}
  table{font-size:.78rem;}
  th,td{padding:10px 12px;}
  .intents-cloud{gap:8px;}
  .intent-chip{font-size:.76rem;padding:6px 14px;}
  /* chat handled in chatbot-styles block */

  /* stack the comparison table so there is no side‑scroll on small screens */
  .vs-wrap{
    overflow-x:visible;
  }
  .vs-wrap table,
  .vs-wrap thead,
  .vs-wrap tbody,
  .vs-wrap th,
  .vs-wrap td,
  .vs-wrap tr{
    display:block;
    width:100%;
  }
  .vs-wrap thead{
    /* hide header row but keep it for screen readers */
    position:absolute;
    top:-9999px;
    left:-9999px;
  }
  .vs-wrap tr{
    margin-bottom:14px;
    border:1px solid var(--border2);
    border-radius:12px;
    padding:8px 10px;
    background:var(--card);
  }
  .vs-wrap td{
    border:none;
    padding:4px 0;
    display:block;
  }
  .vs-wrap td:first-child{
    font-weight:600;
    font-size:.9rem;
    margin-bottom:4px;
    display:block;
  }
  /* explicit labels for each platform column */
  .vs-wrap td:nth-child(2)::before,
  .vs-wrap td:nth-child(3)::before,
  .vs-wrap td:nth-child(4)::before{
    content:'';
    display:inline-block;
    min-width:88px;
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:.7px;
    color:var(--muted);
    margin-right:6px;
  }
  /* align platform rows label on left, icon on right */
  .vs-wrap td:nth-child(2),
  .vs-wrap td:nth-child(3),
  .vs-wrap td:nth-child(4){
    display:flex;
    justify-content:space-between;
    align-items:center;
  }
  .vs-wrap td:nth-child(2)::before{content:'LinkedIn';}
  .vs-wrap td:nth-child(3)::before{content:'Reddit';}
  .vs-wrap td:nth-child(4)::before{content:'Linkaverse ✦';}
}
@media(max-width:380px){
  .stats-inner{grid-template-columns:1fr;}
  .persona-grid{grid-template-columns:1fr 1fr;}
  .timeline{grid-template-columns:1fr;}
  .hero-join-btn{font-size:.9rem;}
  /* modal handled in modal-styles block */
}
.hero-join-btn{display:inline-block;background:linear-gradient(135deg,var(--blue),#0099cc);color:var(--white);border:none;font-family:"Bricolage Grotesque",sans-serif;font-size:1.05rem;font-weight:700;padding:18px 52px;border-radius:14px;cursor:pointer;transition:transform .2s,box-shadow .2s;animation:fadeUp .9s .35s ease both;}
.hero-join-btn:hover{transform:translateY(-3px);box-shadow:0 14px 44px rgba(0,112,243,.5);}
.terms-box{margin-top:20px;padding:16px 18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:12px;}
.tcb-row{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:.84rem;color:var(--muted2);line-height:1.5;user-select:none;-webkit-user-select:none;}
.tcb-row a{color:var(--cyan);text-decoration:none;}
.tcb-row a:hover{text-decoration:underline;}
.tcb{width:18px;height:18px;min-width:18px;border-radius:5px;border:2px solid rgba(167,139,250,.4);background:rgba(255,255,255,.04);display:flex;align-items:center;justify-content:center;margin-top:1px;transition:background .15s,border-color .15s;}
.tcb[data-checked="true"]{background:var(--cyan);border-color:var(--cyan);}
.tcb-tick{width:12px;height:10px;opacity:0;transition:opacity .15s;}
.tcb[data-checked="true"] .tcb-tick{opacity:1;}
.intent-examples{font-size:.74rem;color:var(--muted);margin-top:8px;line-height:1.6;font-style:italic;}
.pill-choice{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;}
.pill-btn{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--muted2);font-family:"Inter",sans-serif;font-size:.82rem;padding:8px 16px;border-radius:100px;cursor:pointer;transition:background .2s,border-color .2s,color .2s;}
.pill-btn:hover{background:rgba(167,139,250,.1);border-color:rgba(167,139,250,.3);color:var(--white);}
.pill-btn.selected{background:rgba(0,112,243,.2);border-color:var(--cyan);color:var(--white);}
.field-hint{font-size:.7rem;color:var(--muted);font-weight:400;text-transform:none;letter-spacing:0;margin-left:6px;font-style:italic;}
/* keyword grid – class replaces inline style */
.kw-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;}
/* waitlist form responsive */
@media(max-width:600px){
  .kw-grid{grid-template-columns:1fr 1fr;}
  .intent-prefix{position:static!important;transform:none!important;display:block!important;top:auto!important;left:auto!important;margin-bottom:6px;font-size:.8rem;}
  .intent-wrap{display:flex;flex-direction:column;}
  .intent-wrap input{padding-left:14px!important;}
  .tcb-row{font-size:.82rem;}
  .btn-row{flex-direction:column;gap:8px;}
  .btn-back,.btn-next,.submit-btn{width:100%!important;text-align:center;}
}
@media(max-width:400px){
  .kw-grid{grid-template-columns:1fr;}
  .progress-labels{font-size:.6rem;letter-spacing:0;}
  .pill-btn{font-size:.75rem;padding:7px 11px;}
}

/* ── Modal overlay ── */
.modal-overlay{
  position:fixed;inset:0;z-index:9999;
  background:rgba(5,9,15,.93);backdrop-filter:blur(14px);
  display:flex;align-items:center;justify-content:center;
  padding:20px;
  opacity:0;pointer-events:none;
  transition:opacity .25s ease;
  overflow:hidden;
}
.modal-overlay.open{opacity:1;pointer-events:all;}

/* ── Modal box ── */
.modal-box{
  background:#0b1322;
  border:1px solid rgba(0,212,255,.15);
  border-radius:24px;
  width:100%;
  max-width:700px;
  /* use min/max with viewport so it never overflows the screen */
  max-height:min(90vh,900px);
  overflow:hidden;
  display:flex;flex-direction:column;
  transform:translateY(28px) scale(.96);
  transition:transform .35s cubic-bezier(.34,1.56,.64,1);
  position:relative;
  /* ensure the box stays within the overlay on very short screens */
  margin:auto;
}
.modal-overlay.open .modal-box{transform:translateY(0) scale(1);}
.modal-box::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,#00d4ff,#1a6cff,transparent);
  pointer-events:none;
}

/* ── Modal header — close button lives here ── */
.modal-header{
  padding:16px 18px 14px;
  border-bottom:1px solid rgba(255,255,255,.06);
  display:flex;align-items:center;justify-content:space-between;
  flex-shrink:0;
  gap:12px;
  /* prevent header growing taller than needed */
  min-height:0;
}
.modal-title{
  display:flex;align-items:center;gap:10px;
  flex:1;min-width:0;
  /* stop title text overflowing into close button */
  overflow:hidden;
}
.modal-title span{font-size:1.3rem;flex-shrink:0;}
.modal-title h2{
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(.95rem,2.5vw,1.15rem);
  font-weight:800;letter-spacing:-.5px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* ── Close button — always visible, never squished ── */
.modal-close{
  flex-shrink:0;
  width:36px;height:36px;min-width:36px;min-height:36px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.14);
  color:#8899bb;
  font-size:1.25rem;
  line-height:1;
  border-radius:10px;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s,color .2s,border-color .2s;
  /* sit above any overflow */
  position:relative;z-index:1;
}
.modal-close:hover{background:rgba(255,80,80,.15);border-color:rgba(255,80,80,.3);color:#ff8080;}

/* ── Modal body — scrolls independently ── */
.modal-body{
  padding:20px 20px 28px;
  overflow-y:auto;
  flex:1;
  min-height:0;
  -webkit-overflow-scrolling:touch;
}
.modal-body::-webkit-scrollbar{width:4px;}
.modal-body::-webkit-scrollbar-track{background:transparent;}
.modal-body::-webkit-scrollbar-thumb{background:rgba(0,212,255,.2);border-radius:4px;}
.modal-body::-webkit-scrollbar-thumb:hover{background:rgba(0,212,255,.4);}
.modal-body h3{
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(.9rem,2.5vw,1rem);
  font-weight:700;color:#00d4ff;
  margin:24px 0 9px;
}
.modal-body h3:first-child{margin-top:0;}
.modal-body p{color:#8899bb;font-size:clamp(.82rem,2.2vw,.9rem);font-weight:300;line-height:1.75;margin-bottom:12px;}
.modal-body ul{color:#8899bb;font-size:clamp(.82rem,2.2vw,.9rem);font-weight:300;padding-left:18px;margin-bottom:14px;line-height:1.75;}
.modal-body ul li{margin-bottom:5px;}
.modal-body a{color:#00d4ff;text-decoration:none;}
.modal-body a:hover{text-decoration:underline;}
.modal-divider{height:1px;background:rgba(255,255,255,.06);margin:20px 0;}
.modal-badge{display:inline-block;background:rgba(0,232,135,.1);border:1px solid rgba(0,232,135,.2);color:#00e887;font-size:.72rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:5px 14px;border-radius:100px;margin-bottom:18px;}
.modal-warn{display:inline-block;background:rgba(240,180,41,.08);border:1px solid rgba(240,180,41,.2);color:#f0b429;font-size:.72rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:5px 14px;border-radius:100px;margin-bottom:18px;}

/* ── Contact card ── */
.contact-card{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  border-radius:14px;padding:18px 20px;margin:12px 0;
  display:flex;gap:16px;align-items:center;
  flex-wrap:wrap;/* wraps avatar + info on very narrow screens */
}
.contact-avatar{width:52px;height:52px;flex-shrink:0;background:linear-gradient(135deg,#1a6cff,#00d4ff);border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;}
.contact-info{flex:1;min-width:0;}
.contact-info h4{font-family:'Bricolage Grotesque',sans-serif;font-size:.95rem;font-weight:800;margin-bottom:3px;}
.contact-role{color:#00d4ff;font-size:.72rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;margin-bottom:6px;}
.contact-info a{color:#8899bb;font-size:.84rem;text-decoration:none;display:block;margin-top:4px;transition:color .2s;word-break:break-all;}
.contact-info a:hover{color:#00d4ff;}

/* ── Info box ── */
.info-box{background:rgba(0,212,255,.05);border:1px solid rgba(0,212,255,.12);border-radius:12px;padding:14px 16px;margin:14px 0;}
.info-box p{color:#8899bb;font-size:.87rem;margin:0;line-height:1.65;}
.info-box strong{color:#eef2ff;}

/* -- Responsive modals: bottom-sheet on mobile -- */
@media(max-width:600px){
  .modal-overlay{padding:0!important;align-items:flex-end!important;}
  .modal-box{max-width:100%!important;width:100%!important;border-radius:20px 20px 0 0!important;max-height:90vh!important;margin:0!important;transform:translateY(100%)!important;transition:transform .3s ease!important;}
  .modal-overlay.open .modal-box{transform:translateY(0)!important;}
  .modal-header{padding:14px 16px 12px;}
  .modal-title h2{font-size:1rem;}
  .modal-body{padding:14px 16px 32px;}
  .modal-close{width:34px;height:34px;min-width:34px;font-size:1.1rem;}
  .contact-card{padding:14px;gap:12px;flex-wrap:wrap;}
  .contact-avatar{width:44px;height:44px;font-size:1.3rem;}
}
@media(max-width:360px){
  .modal-title h2{font-size:.9rem;}
  .modal-close{width:32px;height:32px;min-width:32px;}
}

/* Ensure waitlist modal is perfectly centered on larger screens */
@media(min-width:601px){
  #waitlistModal{
    align-items:center !important;
    justify-content:center !important;
  }
}
/* CHAT BUTTON */
.chat-fab {
  position: fixed;
  bottom: 32px;
  /* simple fixed position that does not affect layout */
  right: 24px;
  width: 62px; height: 62px;
  background: linear-gradient(135deg, #1a6cff, #00d4ff);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; z-index: 999;
  box-shadow: 0 8px 32px rgba(26,108,255,.5);
  transition: transform .2s, box-shadow .2s;
  border: none;
}
.chat-fab:hover { transform: scale(1.08); box-shadow: 0 12px 40px rgba(26,108,255,.6); }
.chat-fab svg { width: 28px; height: 28px; fill: white; }
.chat-fab .notif {
  position: absolute; top: 2px; right: 2px;
  width: 14px; height: 14px;
  background: #00e887; border-radius: 50%;
  border: 2px solid var(--bg);
  animation: blink 2s infinite;
}

/* CHAT WINDOW */
.chat-window {
  position: fixed;
  bottom: 108px;
  right: 24px;
  width: 380px; height: 560px;
  max-width: calc(100% - 32px - 16px); /* prevent horizontal overflow on narrow viewports */
  max-height: calc(100vh - 140px);      /* keep chat fully visible on short screens */
  background: #0b1322;
  border: 1px solid rgba(0,212,255,.15);
  border-radius: 22px;
  display: flex; flex-direction: column;
  z-index: 998;
  box-shadow: 0 24px 80px rgba(0,0,0,.6);
  transform: translateY(20px) scale(.95);
  opacity: 0;
  pointer-events: none;
  transition: all .3s cubic-bezier(.34,1.56,.64,1);
  overflow: hidden;
}
.chat-window.open {
  transform: translateY(0) scale(1);
  opacity: 1;
  pointer-events: all;
}
.chat-window::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, #00d4ff, #1a6cff, transparent);
}

/* CHAT HEADER */
.chat-header {
  padding: 18px 20px 14px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  display: flex; align-items: center; gap: 12px;
}
.chat-avatar {
  width: 40px; height: 40px;
  background: linear-gradient(135deg, #1a6cff, #00d4ff);
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.2rem; flex-shrink: 0;
}
.chat-header-info { flex: 1; }
.chat-header-info h4 {
  font-family: 'Syne', sans-serif;
  font-size: .95rem; font-weight: 700;
  margin-bottom: 2px;
}
.chat-header-info span {
  font-size: .72rem; color: #00e887;
  display: flex; align-items: center; gap: 4px;
}
.chat-header-info span::before {
  content: ''; width: 6px; height: 6px;
  background: #00e887; border-radius: 50%;
}
.chat-close {
  background: none; border: none; cursor: pointer;
  color: #5a6f94; font-size: 1.4rem; line-height: 1;
  padding: 4px; transition: color .2s;
}
.chat-close:hover { color: #eef2ff; }

/* MESSAGES */
.chat-messages {
  flex: 1; overflow-y: auto;
  padding: 16px; display: flex;
  flex-direction: column; gap: 12px;
  scroll-behavior: smooth;
}
.chat-messages::-webkit-scrollbar { width: 4px; }
.chat-messages::-webkit-scrollbar-track { background: transparent; }
.chat-messages::-webkit-scrollbar-thumb { background: rgba(255,255,255,.1); border-radius: 4px; }

.msg {
  display: flex; gap: 8px; align-items: flex-end;
  animation: msgIn .3s ease;
}
@keyframes msgIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }

.msg.user { flex-direction: row-reverse; }

.msg-bubble {
  max-width: 82%;
  padding: 11px 15px;
  border-radius: 16px;
  font-size: .85rem; line-height: 1.55;
  font-weight: 300;
}
.msg.bot .msg-bubble {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.07);
  color: #eef2ff;
  border-bottom-left-radius: 4px;
}
.msg.user .msg-bubble {
  background: linear-gradient(135deg, #1a6cff, #0052cc);
  color: white;
  border-bottom-right-radius: 4px;
}
.msg-icon {
  width: 28px; height: 28px; flex-shrink: 0;
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  font-size: .85rem;
}
.msg.bot .msg-icon { background: rgba(0,212,255,.1); }
.msg.user .msg-icon { background: rgba(26,108,255,.3); }

/* TYPING */
.typing-dots { display: flex; gap: 4px; padding: 4px 2px; }
.typing-dots span {
  width: 6px; height: 6px;
  background: #5a6f94; border-radius: 50%;
  animation: typing 1.2s infinite;
}
.typing-dots span:nth-child(2) { animation-delay: .2s; }
.typing-dots span:nth-child(3) { animation-delay: .4s; }
@keyframes typing { 0%,60%,100%{transform:translateY(0);opacity:.4;} 30%{transform:translateY(-6px);opacity:1;} }

/* QUICK REPLIES */
.quick-replies {
  padding: 8px 16px;
  display: flex; flex-wrap: wrap; gap: 6px;
  border-top: 1px solid rgba(255,255,255,.04);
}
.quick-btn {
  background: rgba(0,212,255,.07);
  border: 1px solid rgba(0,212,255,.18);
  border-radius: 100px;
  padding: 6px 14px;
  font-size: .75rem; color: #00d4ff;
  cursor: pointer; transition: background .2s;
  font-family: 'DM Sans', sans-serif;
  white-space: nowrap;
}
.quick-btn:hover { background: rgba(0,212,255,.15); }

/* INPUT */
.chat-input-row {
  padding: 12px 16px;
  border-top: 1px solid rgba(255,255,255,.06);
  display: flex; gap: 10px; align-items: center;
}
.chat-input {
  flex: 1;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  padding: 11px 14px;
  color: #eef2ff;
  font-family: 'DM Sans', sans-serif;
  font-size: .88rem; outline: none;
  transition: border-color .2s;
}
.chat-input::placeholder { color: #5a6f94; }
.chat-input:focus { border-color: #00d4ff; }
.chat-send {
  width: 40px; height: 40px; flex-shrink: 0;
  background: linear-gradient(135deg, #1a6cff, #0052cc);
  border: none; border-radius: 11px;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  transition: transform .2s, box-shadow .2s;
}
.chat-send:hover { transform: scale(1.08); box-shadow: 0 4px 16px rgba(26,108,255,.4); }
.chat-send svg { width: 18px; height: 18px; fill: white; }

/* -- Responsive chat: full-width bottom sheet -- */
@media(max-width:600px){
  .chat-fab{right:16px!important;bottom:16px!important;width:54px!important;height:54px!important;}
  .chat-fab svg{width:24px;height:24px;}
  .chat-window{
    left:0!important;right:0!important;bottom:0!important;top:auto!important;
    width:100%!important;height:80vh!important;max-height:80vh!important;
    border-radius:20px 20px 0 0!important;
    transform:translateY(105%)!important;
    opacity:1!important;
    pointer-events:none!important;
    transition:transform .35s ease!important;
  }
  .chat-window.open{transform:translateY(0)!important;pointer-events:all!important;}
  .chat-header{padding:14px 16px 12px;}
  .chat-messages{padding:12px;gap:10px;}
  .msg-bubble{font-size:.83rem;padding:10px 13px;max-width:88%;}
  .quick-btn{font-size:.73rem;padding:5px 12px;}
  .chat-input{font-size:.85rem;padding:10px 12px;}
  .chat-input-row{padding:10px 14px 20px;}
  .quick-replies{padding:6px 14px;gap:5px;}
}
@media(max-width:380px){
  .chat-window{height:88vh!important;max-height:88vh!important;}
}

/* ══════════════════════════════════════════
   PROBLEM STATEMENT SECTION
══════════════════════════════════════════ */
.ps-section {
  position: relative;
  z-index: 1;
  background: var(--bg2);
  border-top: 1px solid var(--border2);
  border-bottom: 1px solid var(--border2);
  overflow: hidden;
}
.ps-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 60% at 100% 50%, rgba(0,112,243,.06) 0%, transparent 70%);
  pointer-events: none;
}
.ps-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 100px 52px;
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 80px;
  align-items: center;
}

/* LEFT */
.ps-eyebrow {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 16px;
}
.ps-headline {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: clamp(2rem, 3.5vw, 3rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -1.5px;
  color: var(--white);
  margin-bottom: 20px;
}
.ps-sub {
  font-size: .95rem;
  color: var(--muted2);
  font-weight: 300;
  line-height: 1.7;
  max-width: 260px;
}

/* RIGHT — two cards */
.ps-right {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.ps-card {
  border-radius: 16px;
  padding: 28px 30px;
  display: flex;
  gap: 18px;
  position: relative;
}
.ps-card--bad {
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(255,255,255,.07);
}
.ps-card--good {
  background: rgba(0,112,243,.06);
  border: 1px solid rgba(0,212,255,.15);
}
.ps-card-icon {
  font-size: 1rem;
  color: var(--muted);
  flex-shrink: 0;
  margin-top: 3px;
  line-height: 1;
}
.ps-card--good .ps-card-icon { color: var(--cyan); }

.ps-card-title {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 12px;
}
.ps-card--good .ps-card-title { color: var(--cyan); }

/* bad card list */
.ps-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ps-list li {
  font-size: .84rem;
  color: var(--muted2);
  font-weight: 300;
  line-height: 1.6;
  padding-left: 16px;
  position: relative;
}
.ps-list li::before {
  content: '—';
  position: absolute;
  left: 0;
  color: rgba(255,255,255,.15);
  font-size: .75rem;
}

/* good card */
.ps-card-desc {
  font-size: .88rem;
  color: var(--muted2);
  line-height: 1.75;
  font-weight: 300;
  margin-bottom: 16px;
}
.ps-tag {
  display: inline-block;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--cyan);
  background: rgba(0,212,255,.08);
  border: 1px solid rgba(0,212,255,.2);
  border-radius: 100px;
  padding: 5px 14px;
}

/* arrow between cards */
.ps-arrow {
  text-align: center;
  font-size: 1.1rem;
  color: rgba(255,255,255,.1);
  padding: 10px 0;
  line-height: 1;
  user-select: none;
}

@media(max-width: 860px) {
  .ps-inner {
    grid-template-columns: 1fr;
    gap: 48px;
    padding: 60px 24px;
  }
  .ps-sub { max-width: 100%; }
}

/* ===== FIX 6: WAITLIST COUNTER ===== */
.waitlist-counter {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .82rem;
  color: var(--muted2);
  margin-bottom: 28px;
  animation: fadeUp .7s .15s ease both;
}
.counter-pulse {
  width: 8px; height: 8px;
  background: var(--green);
  border-radius: 50%;
  flex-shrink: 0;
  animation: blink 1.6s infinite;
}

/* ===== FIX 7: REFERRAL BOX ===== */
.referral-box {
  background: rgba(0,212,255,.04);
  border: 1px solid rgba(0,212,255,.18);
  border-radius: 14px;
  padding: 20px 22px;
}
.referral-label {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: .85rem;
  font-weight: 700;
  color: var(--cyan);
  margin-bottom: 8px;
}
.referral-link-row {
  display: flex;
  gap: 10px;
  align-items: center;
}

/* ===== FIX 8: FUSION ROOM MOCKUP ===== */
/* ===== FUSION ROOM REDESIGN ===== */
.fr-section {
  position: relative;
  z-index: 1;
  padding: 100px 0;
  background: linear-gradient(180deg, var(--bg2) 0%, var(--bg) 100%);
  overflow: hidden;
}
.fr-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 50% at 50% 0%, rgba(0,112,243,0.10) 0%, transparent 60%),
    radial-gradient(ellipse 40% 30% at 80% 80%, rgba(0,212,255,0.06) 0%, transparent 60%);
  pointer-events: none;
}

.fr-header { text-align: center; margin-bottom: 56px; }

/* TRAIT PILLS */
.fr-traits {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 64px;
}
.fr-trait {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 16px;
  padding: 22px 20px;
  display: flex;
  gap: 14px;
  align-items: flex-start;
  transition: border-color .25s, transform .25s, background .25s;
}
.fr-trait:hover {
  border-color: rgba(0,212,255,0.25);
  background: rgba(0,212,255,0.04);
  transform: translateY(-3px);
}
.fr-trait-icon {
  width: 40px; height: 40px;
  border-radius: 10px;
  background: rgba(0,212,255,0.09);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  color: var(--cyan);
}
.fr-trait-icon svg { width: 18px; height: 18px; }
.fr-trait-body { display: flex; flex-direction: column; gap: 4px; }
.fr-trait-body strong { font-size: .88rem; font-weight: 700; color: var(--white); }
.fr-trait-body span { font-size: .78rem; color: var(--muted2); line-height: 1.5; font-weight: 300; }

/* MOCKUP WRAPPER */
.fr-mockup { position: relative; }
.fr-mockup-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--muted);
  text-align: center;
  justify-content: center;
  margin-bottom: 20px;
}
.fr-live-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 8px var(--green);
  animation: pulse-dot 2s ease-in-out infinite;
}
@keyframes pulse-dot {
  0%,100% { opacity:1; transform: scale(1); }
  50% { opacity:.6; transform: scale(1.3); }
}

/* THE WINDOW */
.fr-window {
  max-width: 920px;
  margin: 0 auto;
  background: #080f1a;
  border: 1px solid rgba(0,212,255,0.18);
  border-radius: 20px;
  overflow: hidden;
  box-shadow:
    0 0 0 1px rgba(0,212,255,0.06),
    0 32px 100px rgba(0,0,0,.7),
    0 0 80px rgba(0,112,243,0.08) inset;
}

/* TOP BAR */
.fr-topbar {
  background: rgba(255,255,255,0.03);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  padding: 12px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.fr-topbar-left { display: flex; align-items: center; gap: 14px; }
.fr-tb-dots { display: flex; gap: 6px; }
.fr-tb-dots span {
  width: 10px; height: 10px; border-radius: 50%;
}
.fr-tb-dots span:nth-child(1) { background: #ff5f57; }
.fr-tb-dots span:nth-child(2) { background: #ffbd2e; }
.fr-tb-dots span:nth-child(3) { background: #28ca41; }
.fr-tb-room {
  display: flex; align-items: center; gap: 8px;
  font-size: .82rem; font-weight: 600; color: var(--white);
}
.fr-tb-icon { color: var(--cyan); font-size: 1rem; }
.fr-topbar-center { flex: 1; display: flex; justify-content: center; }
.fr-timer-pill {
  display: flex; align-items: center; gap: 6px;
  background: rgba(251,191,36,0.1);
  border: 1px solid rgba(251,191,36,0.2);
  border-radius: 20px;
  padding: 5px 14px;
  font-size: .78rem;
  color: var(--gold);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: .5px;
}
.fr-timer-label { color: rgba(251,191,36,0.6); font-weight: 400; font-size: .72rem; }
.fr-status-badge {
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .5px;
  padding: 4px 10px;
  border-radius: 20px;
  background: rgba(255,80,80,0.1);
  border: 1px solid rgba(255,80,80,0.2);
  color: #ff7070;
}

/* BODY */
.fr-body {
  display: grid;
  grid-template-columns: 220px 1fr;
  min-height: 380px;
}

/* SIDEBAR */
.fr-sidebar {
  background: rgba(0,0,0,0.25);
  border-right: 1px solid rgba(255,255,255,0.05);
  padding: 20px 16px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.fr-sb-block { display: flex; flex-direction: column; gap: 10px; }
.fr-sb-label {
  font-size: .6rem; font-weight: 700;
  letter-spacing: 1.6px; text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 2px;
}
.fr-member {
  display: flex; align-items: center; gap: 10px;
}
.fr-avatar {
  width: 28px; height: 28px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  font-size: .72rem; font-weight: 700; color: #fff;
  flex-shrink: 0;
}
.fr-av-green { background: linear-gradient(135deg,#059669,#34d399); }
.fr-av-blue  { background: linear-gradient(135deg,#0051b5,#0070f3); }
.fr-av-purple{ background: linear-gradient(135deg,#7c3aed,#e879f9); }
.fr-member-info { display: flex; flex-direction: column; gap: 1px; flex: 1; }
.fr-member-name { font-size: .78rem; font-weight: 600; color: var(--white); }
.fr-member-role { font-size: .68rem; color: var(--muted2); font-weight: 300; }
.fr-online-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 6px var(--green);
  flex-shrink: 0;
}
.fr-dot-dim { background: var(--muted); box-shadow: none; }

/* CHECKPOINTS */
.fr-checkpoint {
  display: flex; align-items: center; gap: 10px;
  font-size: .76rem; color: var(--muted);
}
.fr-cp-icon {
  width: 20px; height: 20px; border-radius: 6px;
  background: rgba(255,255,255,0.05);
  display: flex; align-items: center; justify-content: center;
  font-size: .65rem; font-weight: 700;
  flex-shrink: 0;
}
.fr-cp-done { color: var(--green); }
.fr-cp-done .fr-cp-icon { background: rgba(52,211,153,0.12); color: var(--green); }
.fr-cp-active { color: var(--cyan); font-weight: 600; }
.fr-cp-active .fr-cp-icon { background: rgba(0,212,255,0.12); color: var(--cyan); }
.fr-cp-pulse { animation: cp-pulse 1.5s ease-in-out infinite; }
@keyframes cp-pulse {
  0%,100% { opacity:1; } 50% { opacity:.4; }
}

/* PROGRESS BAR */
.fr-progress-wrap { margin-top: auto; }
.fr-progress-label {
  display: flex; justify-content: space-between;
  font-size: .66rem; color: var(--muted);
  margin-bottom: 6px;
}
.fr-progress-track {
  height: 4px; border-radius: 99px;
  background: rgba(255,255,255,0.06);
  overflow: hidden;
}
.fr-progress-fill {
  height: 100%;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--blue), var(--cyan));
  transition: width .6s ease;
}

/* MAIN FEED */
.fr-main {
  display: flex; flex-direction: column;
  padding: 20px 22px;
  gap: 16px;
}
.fr-brief {
  background: linear-gradient(135deg, rgba(0,212,255,0.06) 0%, rgba(0,112,243,0.04) 100%);
  border: 1px solid rgba(0,212,255,0.14);
  border-radius: 12px;
  padding: 14px 16px;
}
.fr-brief-tag {
  font-size: .6rem; font-weight: 700;
  letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--cyan); margin-bottom: 6px;
}
.fr-brief p {
  font-size: .82rem; color: var(--muted2);
  font-style: italic; line-height: 1.6;
}

.fr-feed { display: flex; flex-direction: column; gap: 14px; flex: 1; }

.fr-msg { display: flex; gap: 10px; align-items: flex-start; }
.fr-msg-avatar {
  width: 30px; height: 30px; border-radius: 9px;
  display: flex; align-items: center; justify-content: center;
  font-size: .72rem; font-weight: 700; color: #fff;
  flex-shrink: 0; margin-top: 1px;
}
.fr-msg-body { flex: 1; }
.fr-msg-meta {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 4px;
}
.fr-msg-meta strong { font-size: .82rem; font-weight: 700; color: var(--white); }
.fr-msg-meta span { font-size: .7rem; color: var(--muted); }
.fr-msg-text {
  font-size: .81rem; color: var(--muted2);
  line-height: 1.55;
  background: rgba(255,255,255,0.03);
  border-radius: 10px;
  padding: 9px 12px;
}
.fr-msg-latest .fr-msg-text {
  background: rgba(0,112,243,0.08);
  border: 1px solid rgba(0,112,243,0.12);
}
.fr-new-badge {
  font-size: .6rem; font-weight: 700;
  letter-spacing: .6px; text-transform: uppercase;
  background: rgba(0,212,255,0.15);
  color: var(--cyan);
  border-radius: 4px;
  padding: 2px 6px;
}

/* TYPING INDICATOR */
.fr-typing { display: flex; gap: 10px; align-items: center; }
.fr-typing-bubble {
  display: flex; gap: 4px; align-items: center;
  background: rgba(255,255,255,0.04);
  border-radius: 10px;
  padding: 10px 14px;
}
.fr-typing-bubble span {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--muted2);
  animation: typing-dot 1.2s ease-in-out infinite;
}
.fr-typing-bubble span:nth-child(2) { animation-delay: .2s; }
.fr-typing-bubble span:nth-child(3) { animation-delay: .4s; }
@keyframes typing-dot {
  0%,60%,100% { transform: translateY(0); opacity:.4; }
  30% { transform: translateY(-4px); opacity:1; }
}

/* INPUT BAR */
.fr-input-bar {
  display: flex; align-items: center; gap: 10px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  padding: 10px 14px;
}
.fr-input-fake {
  flex: 1; font-size: .8rem;
  color: var(--muted); font-style: italic;
}
.fr-send-btn {
  background: var(--blue);
  border: none; border-radius: 8px;
  width: 30px; height: 30px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; color: #fff;
  transition: background .2s, transform .2s;
}
.fr-send-btn:hover { background: var(--cyan); transform: scale(1.05); }

/* RESPONSIVE */
@media (max-width: 860px) {
  .fr-traits { grid-template-columns: repeat(2,1fr); }
  .fr-body { grid-template-columns: 1fr; }
  .fr-sidebar { display: none; }
}
@media (max-width: 540px) {
  .fr-traits { grid-template-columns: 1fr; }
  .fr-topbar-center { display: none; }
}

/* ===== INTERACTIVE DEMO ===== */
.demo-section {
  position: relative;
  z-index: 1;
  padding: 90px 0 80px;
  background: linear-gradient(180deg, var(--bg) 0%, rgba(0,18,40,0.95) 100%);
  overflow: hidden;
}
.demo-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 60% at 50% 0%, rgba(0,112,243,0.12) 0%, transparent 70%);
  pointer-events: none;
}
.demo-inner {
  max-width: 760px;
  margin: 0 auto;
  padding: 0 24px;
}
.demo-header {
  text-align: center;
  margin-bottom: 40px;
}
.demo-title {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 800;
  line-height: 1.1;
  color: var(--white);
  margin: 12px 0 14px;
}
.demo-sub {
  font-size: .95rem;
  color: var(--muted2);
  font-weight: 300;
}

/* INPUT ROW */
.demo-input-wrap {
  display: flex;
  align-items: center;
  gap: 0;
  background: rgba(255,255,255,0.04);
  border: 1.5px solid rgba(0,212,255,0.25);
  border-radius: 16px;
  padding: 6px 6px 6px 20px;
  transition: border-color .2s, box-shadow .2s;
  box-shadow: 0 0 0 0 rgba(0,212,255,0);
}
.demo-input-wrap:focus-within {
  border-color: rgba(0,212,255,0.6);
  box-shadow: 0 0 0 4px rgba(0,212,255,0.08);
}
.demo-prefix {
  font-size: .95rem;
  font-weight: 600;
  color: var(--cyan);
  white-space: nowrap;
  flex-shrink: 0;
  margin-right: 8px;
}
.demo-input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  font-size: .95rem;
  color: var(--white);
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  padding: 10px 0;
  min-width: 0;
}
.demo-input::placeholder { color: var(--muted); }
.demo-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, var(--blue), #0099cc);
  color: #fff;
  border: none;
  border-radius: 11px;
  padding: 12px 22px;
  font-size: .88rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background .2s, transform .15s, opacity .2s;
  opacity: 0.5;
}
.demo-btn:hover { background: linear-gradient(135deg,#0099cc,var(--cyan)); transform: scale(1.02); }

/* QUICK CHIPS */
.demo-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
  justify-content: center;
}
.demo-chip {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 20px;
  padding: 7px 14px;
  font-size: .78rem;
  color: var(--muted2);
  cursor: pointer;
  transition: all .2s;
  font-family: 'Inter', sans-serif;
}
.demo-chip:hover, .demo-chip.active {
  background: rgba(0,212,255,0.08);
  border-color: rgba(0,212,255,0.3);
  color: var(--white);
}

/* RESULTS */
.demo-results {
  margin-top: 36px;
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .4s ease, transform .4s ease;
}
.demo-results.visible {
  opacity: 1;
  transform: translateY(0);
}
.demo-results-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
  gap: 12px;
  flex-wrap: wrap;
}
.demo-match-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .85rem;
  font-weight: 600;
  color: var(--white);
}
.demo-pulse {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 8px var(--green);
  animation: pulse-dot 2s ease-in-out infinite;
  flex-shrink: 0;
}
.demo-disclaimer {
  font-size: .7rem;
  color: var(--muted);
  font-style: italic;
}

/* MATCH CARDS */
.demo-cards {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.demo-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 20px 22px;
  animation: card-in .35s ease both;
  transition: border-color .2s, transform .2s;
}
.demo-card:hover {
  border-color: rgba(0,212,255,0.2);
  transform: translateX(4px);
}
@keyframes card-in {
  from { opacity:0; transform: translateY(12px); }
  to   { opacity:1; transform: translateY(0); }
}
.dc-top {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 12px;
}
.dc-avatar {
  width: 44px; height: 44px;
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem; font-weight: 800;
  color: #fff;
  flex-shrink: 0;
}
.dc-info { flex: 1; }
.dc-name { font-size: .92rem; font-weight: 700; color: var(--white); margin-bottom: 2px; }
.dc-role { font-size: .78rem; color: var(--cyan); font-weight: 500; margin-bottom: 3px; }
.dc-location { font-size: .72rem; color: var(--muted); }
.dc-match {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: rgba(52,211,153,0.1);
  border: 1px solid rgba(52,211,153,0.2);
  border-radius: 10px;
  padding: 6px 10px;
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--green);
  line-height: 1;
  flex-shrink: 0;
}
.dc-match span {
  font-size: .6rem;
  font-weight: 500;
  color: rgba(52,211,153,0.7);
  margin-top: 2px;
  letter-spacing: .5px;
  text-transform: uppercase;
}
.dc-intent {
  font-size: .82rem;
  color: var(--muted2);
  font-style: italic;
  line-height: 1.6;
  margin-bottom: 12px;
  padding-left: 2px;
}
.dc-skills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 14px;
}
.dc-skill {
  background: rgba(0,112,243,0.1);
  border: 1px solid rgba(0,112,243,0.2);
  border-radius: 6px;
  padding: 3px 9px;
  font-size: .72rem;
  color: var(--muted2);
  font-weight: 500;
}
.dc-connect {
  width: 100%;
  background: transparent;
  border: 1px solid rgba(0,212,255,0.2);
  border-radius: 10px;
  padding: 10px 16px;
  font-size: .82rem;
  font-weight: 600;
  color: var(--cyan);
  cursor: pointer;
  text-align: center;
  transition: background .2s, border-color .2s, transform .15s;
  font-family: 'Inter', sans-serif;
}
.dc-connect:hover {
  background: rgba(0,212,255,0.07);
  border-color: rgba(0,212,255,0.4);
  transform: translateY(-1px);
}

/* DEMO CTA */
.demo-cta-row {
  margin-top: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: linear-gradient(135deg, rgba(0,112,243,0.1), rgba(0,212,255,0.06));
  border: 1px solid rgba(0,212,255,0.15);
  border-radius: 14px;
  padding: 18px 22px;
  flex-wrap: wrap;
}
.demo-cta-text {
  font-size: .85rem;
  color: var(--muted2);
  font-weight: 400;
  flex: 1;
  min-width: 200px;
}
.demo-cta-btn {
  background: linear-gradient(135deg, var(--blue), #0099cc);
  color: #fff;
  border: none;
  border-radius: 10px;
  padding: 11px 22px;
  font-size: .85rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: background .2s, transform .15s;
  font-family: 'Inter', sans-serif;
}
.demo-cta-btn:hover { background: linear-gradient(135deg,#0099cc,var(--cyan)); transform: scale(1.02); }

/* Skeleton loader */
@keyframes skel-shimmer {
  0%   { background-position: -400px 0; }
  100% { background-position: 400px 0; }
}
.skel-block {
  background: linear-gradient(90deg, rgba(255,255,255,0.04) 25%, rgba(255,255,255,0.09) 50%, rgba(255,255,255,0.04) 75%);
  background-size: 800px 100%;
  animation: skel-shimmer 1.4s ease-in-out infinite;
  border-radius: 6px;
}
.demo-card-skeleton {
  pointer-events: none;
}

/* Spinner inside label */
@keyframes spin { to { transform: rotate(360deg); } }
.demo-spinner {
  display: inline-block;
  width: 12px; height: 12px;
  border: 2px solid rgba(0,212,255,0.25);
  border-top-color: var(--cyan);
  border-radius: 50%;
  animation: spin 0.7s linear infinite;
  flex-shrink: 0;
}

@media (max-width: 600px) {
  .demo-input-wrap { flex-wrap: wrap; padding: 12px 14px; border-radius: 12px; }
  .demo-btn { width: 100%; justify-content: center; }
  .demo-results-header { flex-direction: column; align-items: flex-start; }
  .demo-cta-row { flex-direction: column; }
  .demo-cta-btn { width: 100%; text-align: center; }
}

/* ===== COMPARISON TABLE ===== */
.vs-wrap {
  overflow-x: auto;
  border-radius: 16px;
  border: 1px solid rgba(0,212,255,0.12);
  box-shadow: 0 8px 40px rgba(0,0,0,0.3);
}
.vs-wrap table {
  width: 100%;
  border-collapse: collapse;
  font-size: .85rem;
}
.vs-wrap thead tr {
  background: rgba(0,212,255,0.06);
}
.vs-wrap th {
  padding: 14px 18px;
  text-align: center;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--muted2);
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.vs-wrap th:first-child { text-align: left; }
.vs-wrap th.hl { color: var(--cyan); }
.vs-wrap td {
  padding: 13px 18px;
  text-align: center;
  color: var(--muted2);
  border-bottom: 1px solid rgba(255,255,255,0.04);
  font-size: .84rem;
}
.vs-wrap td:first-child {
  text-align: left;
  color: var(--white);
  font-weight: 500;
}
.vs-wrap tr:last-child td { border-bottom: none; }
.vs-wrap tr:hover td { background: rgba(255,255,255,0.02); }
.vs-wrap .yes { color: var(--green); font-weight: 700; font-size:1rem; }
.vs-wrap .no  { color: var(--muted); }
.vs-wrap .partial { color: var(--gold); }
.vs-wrap .hl { background: rgba(0,212,255,0.05); }

/* ===== SOCIAL PROOF ===== */
.sp-section {
  position: relative;
  z-index: 1;
  padding: 80px 0;
  background: linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%);
}
.sp-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 48px;
}
.sp-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 18px;
  padding: 28px 26px;
  display: flex;
  flex-direction: column;
  gap: 22px;
  transition: border-color .25s, transform .25s;
  position: relative;
}
.sp-card::before {
  content: '\201C';
  position: absolute;
  top: 16px; left: 22px;
  font-size: 3.5rem;
  line-height: 1;
  color: var(--cyan);
  opacity: 0.2;
  font-family: 'Bricolage Grotesque', sans-serif;
  font-weight: 800;
}
.sp-card:hover {
  border-color: rgba(0,212,255,0.2);
  transform: translateY(-4px);
}
.sp-quote {
  font-size: .88rem;
  color: var(--muted2);
  line-height: 1.7;
  font-style: italic;
  padding-top: 18px;
  flex: 1;
}
.sp-author {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 6px;
  border-top: 1px solid rgba(255,255,255,0.06);
}
.sp-avatar {
  width: 36px; height: 36px;
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-size: .82rem; font-weight: 700; color: #fff;
  flex-shrink: 0;
}
.sp-av-a { background: linear-gradient(135deg,#0051b5,#00d4ff); }
.sp-av-b { background: linear-gradient(135deg,#7c3aed,#e879f9); }
.sp-av-c { background: linear-gradient(135deg,#059669,#34d399); }
.sp-info { display: flex; flex-direction: column; gap: 2px; }
.sp-info strong { font-size: .83rem; font-weight: 700; color: var(--white); }
.sp-info span { font-size: .74rem; color: var(--muted); }

@media (max-width: 768px) {
  .sp-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .vs-wrap th, .vs-wrap td { padding: 10px 12px; font-size: .78rem; }
}

/* ===== FIX 9: ROADMAP ===== */
.roadmap {
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  padding-left: 32px;
}
.roadmap::before {
  content: '';
  position: absolute;
  left: 11px;
  top: 12px;
  bottom: 12px;
  width: 2px;
  background: rgba(255,255,255,.07);
}
.roadmap-item {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  padding-bottom: 32px;
  position: relative;
}
.rm-dot {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--card2);
  border: 2px solid rgba(255,255,255,.1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .7rem;
  color: var(--muted);
  flex-shrink: 0;
  position: relative;
  z-index: 1;
  margin-left: -32px;
}
.done-dot { background: var(--green); border-color: var(--green); color: #fff; font-size: .75rem; }
.active-dot { background: var(--cyan); border-color: var(--cyan); color: #000; font-weight: 700; }
.rm-content { flex: 1; }
.rm-phase {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--cyan);
  margin-bottom: 5px;
}
.roadmap-item.done .rm-phase { color: var(--green); }
.rm-content h4 {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: 5px;
}
.rm-content p { color: var(--muted2); font-size: .88rem; line-height: 1.6; font-weight: 300; }

/* ===== FIX 5: FOUNDER CARD ===== */
.founder-card {
  background: var(--card);
  border: 1px solid rgba(0,212,255,.13);
  border-radius: 20px;
  padding: 40px 44px;
  position: relative;
  overflow: hidden;
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
}
.founder-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--blue), var(--cyan), transparent);
}
.founder-avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--blue), #0099cc);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  margin: 0 auto 16px;
}
.founder-name {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 1.3rem;
  font-weight: 800;
  margin-bottom: 4px;
}
.founder-role {
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--cyan);
  margin-bottom: 20px;
}
.founder-story {
  color: var(--muted2);
  font-size: .92rem;
  line-height: 1.75;
  font-weight: 300;
}
.founder-story em { color: var(--white); font-style: normal; font-weight: 500; }

@media(max-width: 600px) {
  .founder-card { padding: 28px 20px; }
  .roadmap { padding-left: 24px; }
}

/* ══════════════════════════════════════════
   WAITLIST COUNTER — inline, no box
══════════════════════════════════════════ */
.wl-counter {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 36px;
  animation: fadeUp .7s .15s ease both;
}
.wl-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
  flex-shrink: 0;
  position: relative;
}
.wl-dot::after {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 1.5px solid var(--green);
  opacity: 0;
  animation: wl-ring 2.4s ease-out infinite;
}
@keyframes wl-ring {
  0%   { transform: scale(.4); opacity: .8; }
  100% { transform: scale(2.2); opacity: 0; }
}
.wl-number {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 1.45rem;
  font-weight: 800;
  color: var(--white);
  letter-spacing: -.5px;
  line-height: 1;
  /* slot-machine roll */
  display: inline-block;
}
.wl-text {
  font-size: .88rem;
  color: var(--muted2);
  font-weight: 300;
}
.wl-loading {
  font-size: 1rem;
  letter-spacing: 3px;
  color: var(--muted2);
  animation: wlPulse 1.2s ease-in-out infinite;
  display: inline-block;
}
@keyframes wlPulse {
  0%, 100% { opacity: 0.3; }
  50%       { opacity: 1; }
}

/* ══════════════════════════════════════════
   FOUNDER SECTION — two person layout
══════════════════════════════════════════ */
.founder-section {
  position: relative;
  z-index: 1;
  background: var(--bg2);
  border-top: 1px solid var(--border2);
  border-bottom: 1px solid var(--border2);
  overflow: hidden;
}
.founder-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 50% 80% at 0% 50%, rgba(0,112,243,.07) 0%, transparent 60%),
    radial-gradient(ellipse 50% 80% at 100% 50%, rgba(0,212,255,.05) 0%, transparent 60%);
  pointer-events: none;
}
.founder-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 90px 52px;
  display: flex;
  align-items: flex-start;
  gap: 0;
}

/* Each person card */
.founder-person {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 40px;
}

/* Photo */
.founder-photo-wrap {
  position: relative;
  margin-bottom: 28px;
}
.founder-photo {
  width: 150px;
  height: 150px;
  object-fit: cover;
  object-position: center top;
  display: block;
  filter: contrast(1.04);
}
/* circle shape */
.founder-circle {
  border-radius: 50%;
  box-shadow:
    0 0 0 3px rgba(0,212,255,.2),
    0 0 0 6px rgba(0,212,255,.06),
    0 20px 60px rgba(0,0,0,.5);
  transition: box-shadow .3s ease, transform .3s ease;
}
.founder-circle:hover {
  transform: scale(1.04);
  box-shadow:
    0 0 0 3px rgba(0,212,255,.4),
    0 0 0 8px rgba(0,212,255,.1),
    0 24px 70px rgba(0,0,0,.6);
}
/* badge */
.founder-photo-badge {
  position: absolute;
  bottom: -14px;
  left: 50%;
  transform: translateX(-50%);
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  padding: 6px 18px;
  border-radius: 100px;
  white-space: nowrap;
  backdrop-filter: blur(8px);
}
.founder-badge-founder {
  background: linear-gradient(135deg, var(--blue), #0099cc);
  color: #fff;
  box-shadow: 0 6px 20px rgba(0,112,243,.4);
}
.founder-badge-advisor {
  background: linear-gradient(135deg, #7c3aed, #a855f7);
  color: #fff;
  box-shadow: 0 6px 20px rgba(124,58,237,.4);
}

/* Text */
.founder-text { width: 100%; }
.founder-tag {
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 8px;
}
.founder-name-lg {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 1.45rem;
  font-weight: 800;
  color: var(--white);
  letter-spacing: -.5px;
  margin-bottom: 14px;
}
.founder-bio {
  font-size: .88rem;
  color: var(--muted2);
  line-height: 1.75;
  font-weight: 300;
  margin-bottom: 18px;
  max-width: 320px;
  margin-left: auto;
  margin-right: auto;
}
.founder-bio em {
  color: var(--cyan);
  font-style: normal;
  font-weight: 500;
}
.founder-meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}
.founder-meta-item {
  font-size: .74rem;
  color: var(--muted2);
  font-weight: 400;
}
.founder-meta-dot { color: rgba(255,255,255,.15); font-size: .8rem; }
.founder-li-link {
  font-size: .74rem;
  color: var(--cyan);
  text-decoration: none;
  font-weight: 600;
  transition: opacity .2s;
}
.founder-li-link:hover { opacity: .7; }

/* Center divider between the two */
.founder-divider {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 8px;
  min-height: 240px;
  flex-shrink: 0;
}
.founder-divider-line {
  flex: 1;
  width: 1px;
  background: rgba(255,255,255,.07);
  min-height: 60px;
}
.founder-divider-label {
  font-size: 1.1rem;
  color: rgba(255,255,255,.15);
  padding: 10px 0;
  font-weight: 300;
}

@media(max-width: 780px) {
  .founder-inner {
    flex-direction: column;
    align-items: center;
    padding: 60px 24px;
    gap: 48px;
  }
  .founder-divider {
    flex-direction: row;
    min-height: auto;
    width: 100%;
    padding: 0;
  }
  .founder-divider-line {
    flex: 1;
    height: 1px;
    width: auto;
    min-height: auto;
  }
  .founder-divider-label { padding: 0 16px; }
  .founder-person { padding: 0; width: 100%; }
}


