/* Base */
:root{
  --bg:#0b0c10;
  --panel:#11121a;
  --panel-elev:#0f1220;
  --muted:#a7b0c0;
  --muted-strong:#c7cfdb;
  --text:#e8ecf1;
  --brand:#6ee7ff;
  --brand2:#7c5cff;
  --line:#1c1e2a;
  --line-strong:#23263a;
  --ok:#00d084;
  /* iPhone mock overlay tuning */
  --mock-inset-left: 3.6%;
  --mock-inset-right: 3.6%;
  --mock-inset-top: 9.4%;
  --mock-inset-bottom: 6.6%;
  --mock-radius: 28px;
  --mock-safe-top: 18px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--text);
  background:radial-gradient(1200px 600px at 20% -10%, #162036 0%, transparent 60%),
             radial-gradient(1000px 500px at 100% 0%, #1a1027 0%, transparent 60%),
             var(--bg);
}
img{max-width:100%;display:block}
a{color:var(--brand);text-decoration:none;transition:color .15s ease, opacity .15s ease}
a:hover{color:var(--brand2);opacity:.95}
.container{width:100%;max-width:1100px;margin:0 auto;padding:0 20px}
.lead{color:var(--muted);font-size:1.125rem;line-height:1.6}
.muted{color:var(--muted)}
.gradient{background:linear-gradient(90deg,var(--brand),var(--brand2));-webkit-background-clip:text;background-clip:text;color:transparent}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(11,12,16,.7);backdrop-filter: blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{font-weight:800;letter-spacing:.3px}
.nav-links{display:flex;gap:16px;align-items:center;list-style:none;margin:0;padding:0}
.nav-links a{color:var(--text);opacity:.9;padding:8px 10px;border-radius:8px}
.nav-links a:hover,.nav-links a.active{background:var(--panel)}
.nav-toggle{display:none;background:none;border:1px solid var(--line);color:var(--text);padding:6px 10px;border-radius:8px}

/* Buttons */
.btn{display:inline-block;background:linear-gradient(90deg,var(--brand),var(--brand2));color:#0b0c10;padding:10px 16px;border-radius:10px;font-weight:600;box-shadow:0 6px 18px rgba(124,92,255,.18)}
.btn:hover{opacity:.95}
.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--text)}
.btn-ghost:hover{border-color:var(--line-strong);background:rgba(124,92,255,.08)}
.btn-lg{padding:14px 20px}
.btn-block{display:block;text-align:center}
.badge{position:absolute;top:-12px;right:-12px;background:#182033;color:#9db0ff;padding:6px 10px;border-radius:100px;font-size:.75rem;border:1px solid var(--line)}

/* Hero */
.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;padding:60px 0}
.hero h1{font-size:3rem;line-height:1.1;margin:0 0 12px}
.cta{display:flex;gap:12px;margin:20px 0}
.trust{display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 20px;list-style:none;padding-left:0;margin:0}
.trust li{position:relative;padding-left:18px;color:var(--muted)}
.trust li::before{content:"✓";position:absolute;left:0;top:0;color:var(--brand);opacity:.9}
.hero-media{display:flex;justify-content:center}
.device-mock{position:relative;width:360px;max-width:100%;
  filter:drop-shadow(0 12px 32px rgba(124,92,255,.32)) drop-shadow(0 4px 12px rgba(110,231,255,.18));
  transition:transform .18s ease, filter .18s ease}
.device-mock:hover{transform:translateY(-2px);filter:drop-shadow(0 16px 40px rgba(124,92,255,.36)) drop-shadow(0 6px 16px rgba(110,231,255,.22))}
.device-mock img{width:100%;height:auto;display:block}
/* Approximate screen insets for provided PNG (tuned visually) */
.device-screen-overlay{position:absolute;left:var(--mock-inset-left);right:var(--mock-inset-right);top:var(--mock-inset-top);bottom:var(--mock-inset-bottom);border-radius:var(--mock-radius);overflow:hidden}
.device-screen-overlay{padding-top:var(--mock-safe-top)}
.device-screen-overlay .chat-header{margin:0 0 8px 0;border-top-left-radius:0;border-top-right-radius:0;padding:8px 12px;width:100%}
.device-screen-overlay .chat--fixed .chat-list{height:calc(100% - 62px);max-height:none}
.device-screen-overlay .chat-widget{max-width:none;width:100%;height:100%;border:none;border-radius:0;overflow:visible}
.device-screen-overlay .chat-widget{padding:0}
.device-screen-overlay .chat--fixed .chat-list{padding-left:12px;padding-right:12px}
.device-screen-overlay .chat--fixed{width:100%}
.device-screen-overlay .chat--fixed .chat-list{height:calc(100% - 62px);max-height:none}
.device-iphone{position:relative;width:360px;height:720px;border-radius:44px;padding:12px;background:linear-gradient(135deg,#2a2d3a,#0e0f15);border:1px solid #272b3a;box-shadow:0 20px 60px rgba(0,0,0,.45), inset 0 0 0 8px #0a0b10}
.device-notch{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:120px;height:24px;background:#0a0b10;border-radius:16px}
.device-screen{position:absolute;inset:12px;border-radius:36px;background:#0b0c10;overflow:hidden;border:1px solid #23263a}
.device-screen .chat-widget{max-width:none;width:100%;height:100%;border-radius:0;border:none}
.device-screen .chat--fixed{width:100%}
.device-screen .chat--fixed .chat-list{height:calc(100% - 44px);max-height:none}
.phone{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:16px;width:320px;box-shadow:0 10px 40px rgba(0,0,0,.3)}
.screen{background:#0e0f15;border:1px solid var(--line);border-radius:16px;padding:12px;height:360px;overflow:auto}
.glyph{width:28px;height:28px;border-radius:8px;margin:2px 0 8px;background:conic-gradient(from 180deg at 50% 50%, #7c5cff, #6ee7ff, #7c5cff);filter:drop-shadow(0 2px 8px rgba(124,92,255,.35))}
.bubble{padding:10px 12px;border-radius:14px;margin:8px 0;max-width:85%;font-size:.95rem;line-height:1.35}
.bubble.bot{background:#0b1322;border:1px solid #1c2a42}
.bubble.user{background:#0f1a10;border:1px solid #1a3222;text-align:right;margin-left:auto}

/* Features */
.features{padding:30px 0}
.features h2{text-align:center;margin-bottom:18px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.card{background:linear-gradient(180deg, rgba(124,92,255,.05), rgba(110,231,255,.03)), var(--panel);
  border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 6px 20px rgba(0,0,0,.25);
  display:grid;grid-auto-rows:auto;gap:8px}
.card:hover{border-color:var(--line-strong);box-shadow:0 10px 26px rgba(0,0,0,.28)}
/* Feature icons */
.features .card .feature-icon{width:36px;height:36px;color:var(--brand2);display:inline-flex;align-items:center;justify-content:center;margin-bottom:6px;border-radius:10px;background:rgba(124,92,255,.08);border:1px solid var(--line)}
.features .card .feature-icon svg{width:28px;height:28px}
.features .card h3{margin:2px 0 2px}
.features .card p{margin:0;color:var(--muted)}
/* Use-cases icons (smaller, consistent) */
.usecases .card .feature-icon{width:28px;height:28px;color:var(--brand2);display:inline-flex;align-items:center;justify-content:center;margin-bottom:6px;border-radius:8px;background:rgba(124,92,255,.06);border:1px solid var(--line)}
.usecases .card .feature-icon svg{width:22px;height:22px}

/* How */
.how{padding:28px 0}
.how h2{margin-bottom:12px}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px;counter-reset:step;list-style:none;padding-left:0;margin:0}
.steps li{list-style:none;background:linear-gradient(180deg, rgba(18,20,30,.94), rgba(14,16,24,.94));
  border:1px solid var(--line);border-radius:14px;padding:16px 16px 16px 56px;position:relative;min-height:64px;
  color:var(--muted);box-shadow:0 2px 10px rgba(0,0,0,.2);font-size:.95rem;line-height:1.4;transition:border-color .15s ease, box-shadow .2s ease}
.steps li:hover{border-color:var(--line-strong);box-shadow:0 6px 16px rgba(0,0,0,.25)}
.steps li strong{display:block;color:var(--text);margin:0 0 4px;font-weight:800;letter-spacing:.2px;font-size:1.05rem}
.steps li::before{counter-increment:step;content:counter(step);position:absolute;left:12px;top:50%;transform:translateY(-50%);
  width:30px;height:30px;border-radius:999px;display:grid;place-items:center;font-weight:800;font-size:.85rem;color:#0b0c10;
  background:linear-gradient(135deg,var(--brand),var(--brand2));box-shadow:0 4px 12px rgba(124,92,255,.25);transition:transform .15s ease}
.steps li:hover::before{transform:translateY(-50%) scale(1.06)}

/* Demo */
.demo{padding:28px 0}
.demo-card{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:center;
  background:linear-gradient(180deg,rgba(124,92,255,.12),rgba(110,231,255,.08));
  border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:transform .18s ease, box-shadow .18s ease}
.demo-card:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(0,0,0,.28)}
.stretched-link{position:absolute;inset:0;border-radius:16px}
.demo-visual{display:grid;place-items:center;gap:8px}
.orb{width:170px;height:170px;border-radius:50%;
  background: radial-gradient(60% 60% at 35% 35%, rgba(110,231,255,.8) 0%, rgba(110,231,255,.1) 60%, transparent 70%),
              radial-gradient(80% 80% at 60% 60%, rgba(124,92,255,.9) 0%, rgba(124,92,255,.15) 60%, transparent 70%),
              linear-gradient(145deg, rgba(124,92,255,.35), rgba(110,231,255,.25));
  box-shadow: 0 20px 60px rgba(124,92,255,.25), inset 0 0 40px rgba(110,231,255,.25);
  border: 1px solid rgba(124,92,255,.35);
  animation:pulseOrb 2.4s ease-in-out infinite;
}
@keyframes pulseOrb{0%,100%{transform:scale(1);opacity:.95}50%{transform:scale(1.04);opacity:1}}

@media (max-width: 920px){
  .demo-card{gap:16px;padding:18px}
  .orb{width:140px;height:140px}
}
@media (max-width: 720px){
  .orb{width:120px;height:120px}
}

/* Pricing */
.pricing{padding:30px 0}
.plans{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.plan{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:8px}
.plan ul{flex:1;margin:0 0 8px 18px}
.plan .btn{margin-top:auto}
.plan-pro{outline:1px solid #4650ff;box-shadow:0 0 40px rgba(124,92,255,.15)}
.price{font-size:2rem;margin:8px 0}
.price span{font-size:.9rem;color:var(--muted);font-weight:400}
.fine{text-align:center;color:var(--muted);margin-top:8px}

/* CTA band */
.cta-band{background:#0f1220;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:20px}
.cta-band-inner{display:grid;gap:8px;place-items:center;padding:30px 0;text-align:center}

/* Footer */
.site-footer{border-top:1px solid var(--line);margin-top:30px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;padding:20px 0}
.copyright{border-top:1px solid var(--line);padding:12px 0;color:var(--muted);font-size:.9rem}

/* Page common */
.page{padding:40px 0}
.usecases .card h3{margin-top:0}
.callout{margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,rgba(110,231,255,.06),rgba(124,92,255,.06))}

/* Chat widget (homepage) */
.chat-widget{background:#0e0f15;border:1px solid var(--line);border-radius:16px;padding:12px;max-width:420px;overflow:hidden}
.chat-list{display:flex;flex-direction:column;gap:10px;max-height:360px;overflow:auto;padding-right:0;scrollbar-width:none;-ms-overflow-style:none}
.chat-list::-webkit-scrollbar{width:0;height:0}
.chat-row{display:flex;gap:10px;align-items:flex-end}
.chat-row.user{justify-content:flex-end}
.chat-avatar{width:28px;height:28px;border-radius:8px;background:#121624;display:flex;align-items:center;justify-content:center;font-size:16px}
.chat-spacer{width:28px}
.chat-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;margin:-12px -12px 8px;border-bottom:1px solid var(--line);
  background: linear-gradient(90deg,var(--brand),var(--brand2));
  box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);
  color:#0b0c10}
.chat-title{font-weight:700;font-size:.95rem;color:inherit}
.chat-bubble{max-width:78%;padding:10px 12px;border-radius:14px;border:1px solid #1c2233}
.chat-role{font-size:.68rem;color:#9aa4b2;margin-bottom:4px;opacity:.9}
.chat-bubble.bot{background:#0b1322;color:var(--text)}
.chat-bubble.user{background:#0e2440;color:var(--text);border-color:#2d4f85}
.chat-text{white-space:pre-wrap;line-height:1.5;font-size:.92rem}
.typing{display:inline-flex;gap:4px}
.typing span{width:6px;height:6px;background:#9aa4b2;border-radius:999px;display:block;opacity:.6;animation:dot 1.2s infinite}
.typing span:nth-child(2){animation-delay:.15s}
.typing span:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-4px)}}

/* Fixed-size variant for hero placement */
.chat--fixed{width:340px}
.chat--fixed .chat-list{height:360px;max-height:360px}

/* Chat controls */
.chat-controls{display:flex;justify-content:center;margin-top:8px}
.chat-replay{width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid rgba(0,0,0,.15);color:#0b0c10;opacity:.95;cursor:pointer}
.chat-replay:hover{opacity:1;background:rgba(255,255,255,.9)}

/* FAQ */
.faq details{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;margin:8px 0}
.faq summary{cursor:pointer;font-weight:600}

/* Contact */
.contact-form{display:grid;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px}
.contact-form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.contact-form label{display:grid;gap:6px}
.contact-form input,.contact-form textarea{background:#0e0f15;border:1px solid var(--line);border-radius:8px;padding:10px;color:var(--text)}
.contact-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}

/* Utilities */
.bullets{padding-left:18px;color:var(--muted)}

/* Responsive */
@media (max-width: 920px){
  .hero{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr}
  .demo-card{grid-template-columns:1fr}
  .plans{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .contact-form .row{grid-template-columns:1fr}
  .trust{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 720px){
  .nav-toggle{display:inline-block}
  .nav-links{position:fixed;inset:64px 0 auto 0;background:#0b0c10;border-bottom:1px solid var(--line);padding:12px;display:none;flex-direction:column}
  .nav-links.show{display:flex}
  .trust{grid-template-columns:1fr}
}
