:root{
  --bg: #07111F;
  --bg-raised: #0D1A2C;
  --bg-card: #101F34;
  --line: #1C2E45;
  --ink: #EAF0F8;
  --ink-dim: #7C90AC;
  --sky: #4FA3E3;
  --sky-dim: #2E5A82;
  --gold: #E3B25E;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg); color:var(--ink);
  font-family:'Inter', sans-serif; line-height:1.55;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
  position:relative;
}
body::before{
  content:'';
  position:fixed; inset:0;
  background:var(--bg);
  z-index:-2;
}
body::after{
  content:'';
  position:fixed; inset:0;
  background-image:url('../images/logo.png');
  background-repeat:no-repeat;
  background-position:center;
  background-size:min(55vw, 520px);
  opacity:0.3;
  z-index:-1;
  pointer-events:none;
}
::selection{background:var(--sky); color:#07111F;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1140px; margin:0 auto; padding:0 28px;}

/* NAV */
nav{position:sticky; top:0; z-index:50; background:rgba(7,17,31,0.88); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
.nav-inner{display:flex; align-items:center; justify-content:space-between; padding:18px 28px; max-width:1140px; margin:0 auto;}
.logo{font-family:'Fraunces', serif; font-weight:600; font-size:1.05rem; display:flex; flex-direction:column; align-items:flex-start; gap:6px;}
.logo img{display:block; height:40px; width:auto;}
.nav-links{display:flex; gap:34px; font-size:0.9rem; color:var(--ink-dim);}
.nav-cta{border:1px solid var(--sky-dim); color:var(--sky); padding:9px 20px; border-radius:3px; font-size:0.85rem; font-family:'IBM Plex Mono', monospace;}

/* HERO */
.hero{padding:120px 0 100px; position:relative; border-bottom:1px solid var(--line); text-align:center;}
.eyebrow{font-family:'IBM Plex Mono', monospace; font-size:0.78rem; color:var(--sky); letter-spacing:0.14em; text-transform:uppercase; display:inline-flex; align-items:center; gap:10px; margin-bottom:26px;}
h1{font-family:'Fraunces', serif; font-weight:500; font-size:clamp(2.6rem, 6vw, 4.4rem); line-height:1.05; letter-spacing:-0.01em; max-width:820px; margin:0 auto;}
h1 em{font-style:italic; color:var(--gold); font-weight:300;}
.hero-sub{max-width:540px; color:var(--ink-dim); font-size:1.08rem; margin:26px auto 0; line-height:1.65;}
.hero-actions{display:flex; gap:16px; margin-top:40px; justify-content:center; flex-wrap:wrap;}
.btn-primary{background:var(--sky); color:#07111F; font-weight:600; padding:14px 30px; border-radius:3px; font-size:0.95rem; display:inline-flex; align-items:center; gap:8px;}
.btn-ghost{border:1px solid var(--line); color:var(--ink); padding:14px 30px; border-radius:3px; font-size:0.95rem;}

.hero-visual{margin-top:70px; overflow:hidden;}
.keyline{width:100%; height:auto; display:block;}
.keyline path{fill:none; stroke:var(--line); stroke-width:1;}
.keyline .pulse{stroke:var(--sky); stroke-dasharray:6 460;}

section{padding:90px 0; border-bottom:1px solid var(--line);}
.section-head{text-align:center; margin-bottom:56px;}
.section-tag{font-family:'IBM Plex Mono', monospace; font-size:0.78rem; color:var(--sky); letter-spacing:0.1em; text-transform:uppercase;}
h2{font-family:'Fraunces', serif; font-weight:500; font-size:clamp(1.8rem, 3.4vw, 2.5rem); margin-top:10px;}

/* FEATURES */
.feature-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(230px,1fr)); gap:1px; background:var(--line); border:1px solid var(--line);}
.feature{background:var(--bg); padding:38px 30px; text-align:center;}
.feature .icon{width:48px; height:48px; border:1px solid var(--sky-dim); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 20px; color:var(--sky);}
.feature h3{font-family:'Fraunces', serif; font-weight:500; font-size:1.2rem; margin-bottom:10px;}
.feature p{color:var(--ink-dim); font-size:0.9rem; line-height:1.6;}

/* ARCHITECTURE STRIP */
.arch{background:var(--bg-raised);}
.arch .section-head{text-align:left;}
.arch-flow{display:flex; align-items:center; gap:0; margin-top:20px; overflow-x:auto; font-family:'IBM Plex Mono', monospace; font-size:0.82rem;}
.arch-node{border:1px solid var(--line); padding:16px 20px; white-space:nowrap; background:var(--bg); flex-shrink:0;}
.arch-node span{display:block; color:var(--sky); font-size:0.72rem; margin-bottom:6px;}
.arch-arrow{color:var(--sky-dim); padding:0 14px; flex-shrink:0;}

/* SCREENSHOTS */
.screens{display:flex; gap:22px; overflow-x:auto; padding:10px 0 20px; scroll-snap-type:x mandatory;}
.screen{scroll-snap-align:start; flex-shrink:0; width:220px; height:440px; border-radius:26px; border:1px solid var(--line); background:linear-gradient(155deg, var(--bg-card), var(--bg-raised)); padding:14px; position:relative; overflow:hidden;}
.screen .bar{height:6px; width:60px; background:var(--line); border-radius:4px; margin:0 auto 18px;}
.screen .chatline{height:12px; border-radius:8px; background:var(--line); margin-bottom:10px;}
.screen .chatline.short{width:60%;}
.screen .chatline.right{margin-left:auto; background:var(--sky-dim); width:50%;}
.screen .chatline.me{width:40%;}
.screen .caption{position:absolute; bottom:14px; left:14px; right:14px; font-family:'IBM Plex Mono', monospace; font-size:0.68rem; color:var(--ink-dim); text-align:center;}

/* DOWNLOAD */
.download{text-align:center;}
.download-actions{display:flex; justify-content:center; gap:16px; margin-top:36px; flex-wrap:wrap;}
.platform-note{margin-top:22px; color:var(--ink-dim); font-size:0.85rem; font-family:'IBM Plex Mono', monospace;}

.playstore-block{margin-top:44px; display:flex; flex-direction:column; align-items:center; gap:14px;}
.playstore-badge{
  display:inline-flex; align-items:center; gap:10px;
  border:1px solid var(--line); background:var(--bg-raised);
  color:var(--ink); padding:10px 20px; border-radius:6px;
  opacity:0.6;
}
.playstore-badge svg{color:var(--ink-dim); flex-shrink:0;}
.playstore-text{display:flex; flex-direction:column; line-height:1.15; text-align:left;}
.playstore-text .small{font-size:0.62rem; letter-spacing:0.06em; color:var(--ink-dim); font-family:'Inter', sans-serif;}
.playstore-text .big{font-size:1.05rem; font-family:'Inter', sans-serif; font-weight:600;}
.coming-soon{font-family:'IBM Plex Mono', monospace; font-size:0.8rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--sky);}

/* CONTACT */
#contact{text-align:center; border-bottom:none;}
#contact p{color:var(--ink-dim); margin-top:14px;}
#contact .mail{display:inline-block; margin-top:22px; font-family:'IBM Plex Mono', monospace; color:var(--sky); border-bottom:1px solid var(--sky-dim); padding-bottom:2px;}

footer{padding:40px 0;}
.footer-inner{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px;}
.footer-inner .logo{font-size:1rem;}
.foot-links{display:flex; gap:26px; font-size:0.85rem; color:var(--ink-dim);}
.copyright{color:var(--ink-dim); font-size:0.8rem; text-align:center; padding-bottom:30px;}
