
:root{--bg:#050817;--ink:#f7f5ff;--pink:#ff3e9f;--violet:#a855f7}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.wrap{width:min(1120px,88vw);margin:auto;position:relative;z-index:3}
.panel{position:relative;overflow:hidden}

.topbar{height:74px;position:sticky;z-index:50;top:0;display:flex;align-items:center;gap:34px;padding:0 max(5vw,28px);background:rgba(5,8,23,.94);backdrop-filter:blur(16px);border-bottom:1px solid #20183c}
.brand{display:flex;align-items:center;gap:10px}
.brand-mark{width:40px!important;height:40px!important;object-fit:contain;display:block;animation:spinmark 9s linear infinite}
.brand-word img{width:118px;height:auto;display:block}
@keyframes spinmark{to{transform:rotate(360deg)}}
.topbar nav{display:flex;gap:28px;margin-left:auto;font-size:13px}
.topbar nav a{opacity:.78}.topbar nav a:hover{opacity:1;color:#ff69c2}
.btn{display:inline-block;padding:15px 22px;border-radius:8px;background:linear-gradient(100deg,var(--violet),var(--pink));font-size:12px;font-weight:800;letter-spacing:.02em;box-shadow:0 0 26px rgba(220,44,198,.22)}
.btn.small{padding:12px 18px}.ghost{border:1px solid #8d63ff;padding:14px 20px;border-radius:8px;font-size:12px;font-weight:700}

.hero{height:700px;min-height:700px;display:flex;align-items:center;background:#050817}
.hero-image{position:absolute;z-index:0;right:-3%;top:-110px;width:68%;height:920px;background:url('../images/hero-approved-v26.png') center center/1872px auto no-repeat;will-change:transform}
.hero:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#050817 0%,rgba(5,8,23,.98) 28%,rgba(5,8,23,.72) 46%,rgba(5,8,23,.12) 73%,rgba(5,8,23,.03) 100%)}
.hero .veil{display:none}
.hero-copy{padding-top:10px}.hero-copy>*{max-width:610px}
.eyebrow{font-size:12px;letter-spacing:.32em;font-weight:800;color:#d8ccff;margin:0 0 16px}
.hero h1,.panel h2{font-size:clamp(48px,6.3vw,88px);line-height:.94;letter-spacing:-.055em;margin:0}
.hero h1 span,.panel h2 span{background:linear-gradient(90deg,#b55cff,#ff3e9f);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead,.sectionintro{font-size:18px;line-height:1.6;color:#eceaf7}.lead{max-width:650px;margin-top:22px}
.actions{display:flex;gap:14px;margin-top:28px}

.featurebar{position:relative;z-index:5;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#080b1d;border-top:1px solid #26164a;border-bottom:1px solid #26164a;padding:26px max(3.2vw,28px);min-height:190px}
.featurebar>div{text-align:center;border-right:1px solid #29223f;padding:6px 30px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.featurebar>div:last-child{border-right:0;padding-left:44px;padding-right:44px}
.featurebar b{display:block;color:#d45aff;font-size:30px;line-height:1;margin-bottom:14px}
.featurebar strong{display:block;font-size:18px;line-height:1.25;letter-spacing:.02em;margin-bottom:12px;white-space:normal}
.featurebar span{display:block;font-size:15px;color:#bbb8ca;line-height:1.5}

.works{padding:100px 0 110px;background:radial-gradient(circle at 75% 80%,#251064 0,transparent 40%),#09091b}
.wave{position:absolute;inset:-90px 0;background:url('../images/earth-clean.png') center 65%/cover no-repeat;opacity:.38;will-change:transform}
.works .wrap{position:relative}.works h2,.future h2,.ip h2{font-size:clamp(46px,5vw,70px)}
.sectionintro{max-width:760px;color:#c9c7d6}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:50px}
.steps article{min-height:190px;padding:26px 24px;border-radius:14px;background:linear-gradient(145deg,rgba(26,26,65,.96),rgba(58,18,84,.78));border:1px solid #4b285e}
.steps em{font-style:normal;color:#df58ff;font-weight:900}.steps h3{font-size:23px;margin:24px 0}.steps p{color:#c5c3d6;line-height:1.55}

.vision{min-height:650px;display:flex;align-items:center;background:#08091b}
.vision-image{position:absolute;inset:-80px 0;background:url('../images/vision-clean.png') center/cover no-repeat;will-change:transform}
.vision .veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,7,22,.93),rgba(3,7,22,.45),rgba(3,7,22,.66))}
.vision-copy{display:grid;grid-template-columns:1.1fr .7fr;gap:80px;align-items:end}
.vision-copy .eyebrow,.vision-copy h2,.vision-copy>p{grid-column:1}.vision-copy h2{font-size:clamp(48px,5vw,72px)}
.vision-copy>p{font-size:17px;line-height:1.65;color:#dddbea;margin:16px 0 0}
.question{grid-column:2;grid-row:2/5;border-left:3px solid var(--pink);padding-left:24px;margin-bottom:4px}
.question small{display:block;color:#ff5ab2;font-weight:800;margin-bottom:12px}.question b{font-size:27px;line-height:1.35}

.future{padding:110px 0;background:radial-gradient(circle at 50% 120%,#182a70 0,transparent 48%),#070a1b;text-align:center}
.centered .sectionintro{margin:22px auto}.futuregrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:44px}
.futuregrid div{border:1px solid #463067;background:#14132f;border-radius:10px;padding:22px;font-size:13px;font-weight:800;color:#dcbcff}
.ip{padding:105px 0;background:linear-gradient(120deg,#0d0a24,#251047)}
.split{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center}.split>div:first-child p:last-child{color:#c7c4d5;line-height:1.65;max-width:650px}
.ipcard{display:grid;gap:7px;padding:28px;border:1px solid #49336c;background:#15132f;border-radius:14px}.ipcard strong{font-size:22px;margin-top:8px}.ipcard span{font-size:12px;color:#b9b5c9}
.founder{padding:100px 0;background:linear-gradient(120deg,#14102e,#281152)}.foundergrid{display:grid;grid-template-columns:260px 1fr;gap:62px;align-items:center}
.portrait{width:240px;aspect-ratio:891/1113;border-radius:16px;background:url('../images/founder.jpg') center/cover no-repeat;box-shadow:0 25px 80px rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.08)}
.founder h2{font-size:48px}.founder h3{color:#e75cff;margin:10px 0 20px}.founder p{line-height:1.65;color:#dddbea}.founder blockquote{margin:24px 0 0;border-left:3px solid var(--pink);padding-left:20px;font-size:18px;font-weight:700;font-style:italic}
.contact{padding:100px 0;background:#070a1b}.contactgrid{display:grid;grid-template-columns:1fr .75fr;gap:90px;align-items:center}.contact h2{font-size:52px}.contact p{color:#c7c4d5;line-height:1.6}
.contactbox{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:30px;border:1px solid #49336c;background:#14132f;border-radius:14px}.contactbox .btn{margin-top:8px}
footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px max(5vw,28px);border-top:1px solid #24243d;background:#050817;color:#8f8ca2;font-size:12px}footer img{width:132px;height:36px;object-fit:contain}
.reveal{opacity:1;transform:none}

@media(max-width:1100px){
 .featurebar>div{padding-left:18px;padding-right:18px}.featurebar>div:last-child{padding-left:24px;padding-right:24px}
 .featurebar strong{font-size:16px}.featurebar span{font-size:13px}
}
@media(max-width:900px){
 .topbar nav{display:none}.topbar{gap:16px}.topbar .btn.small{margin-left:auto}.hero{height:720px;min-height:720px}.hero h1{font-size:58px}
 .hero-image{width:88%;right:-30%;opacity:.7}.featurebar{grid-template-columns:1fr 1fr}.featurebar>div{border-bottom:1px solid #29223f;padding:22px}
 .steps{grid-template-columns:1fr 1fr}.vision-copy,.split,.foundergrid,.contactgrid{grid-template-columns:1fr;gap:36px}
 .vision-copy .eyebrow,.vision-copy h2,.vision-copy>p,.question{grid-column:1}.question{grid-row:auto}.futuregrid{grid-template-columns:1fr 1fr}
 .portrait{width:240px}.vision{min-height:720px}footer{flex-direction:column;text-align:center}
}
@media(max-width:560px){
 .wrap{width:88vw}.brand-word img{width:105px}.topbar .btn.small{font-size:10px;padding:10px 12px}.hero h1{font-size:46px}.lead{font-size:16px}
 .actions{flex-direction:column;align-items:flex-start}.featurebar,.steps,.futuregrid{grid-template-columns:1fr}.featurebar>div{border-right:0}
 .works,.future,.ip,.founder,.contact{padding:76px 0}.panel h2,.works h2,.future h2,.ip h2,.contact h2{font-size:42px}
 .portrait{width:220px}.founder h2{font-size:40px}
}


/* ===== V19 FINAL: approved visuals + strong parallax ===== */
.hero{
  position:relative!important;
  overflow:hidden!important;
  background:#050817!important;
}
.hero-image{
  position:absolute!important;
  z-index:0!important;
  left:0!important;
  right:0!important;
  top:-150px!important;
  width:100%!important;
  height:1000px!important;
  background-image:url('../images/hero-approved-v26.png')!important;
  background-size:min(100%, 1872px) auto!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  opacity:1!important;
  filter:none!important;
  will-change:transform!important;
}
.hero:before{
  content:""!important;
  position:absolute!important;
  z-index:1!important;
  inset:0!important;
  background:linear-gradient(90deg,rgba(5,8,23,.92) 0%,rgba(5,8,23,.72) 28%,rgba(5,8,23,.22) 52%,rgba(5,8,23,.03) 100%)!important;
  pointer-events:none!important;
}
.hero .wrap,.hero-copy{position:relative!important;z-index:3!important}

/* AI analysis visual replaces the old lower/car visual completely */
.works{
  position:relative!important;
  overflow:hidden!important;
  background:#050817!important;
}
.works .wave{
  position:absolute!important;
  z-index:0!important;
  left:42%!important;
  right:-5%!important;
  top:-130px!important;
  bottom:-130px!important;
  background-image:url('../images/ai-technology-v20.jpg')!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  opacity:.88!important;
  filter:none!important;
  will-change:transform!important;
}
.works:after{
  content:""!important;
  position:absolute!important;
  z-index:1!important;
  inset:0!important;
  background:linear-gradient(90deg,#050817 0%,rgba(5,8,23,.97) 33%,rgba(5,8,23,.60) 55%,rgba(5,8,23,.12) 82%,rgba(5,8,23,.03) 100%)!important;
  pointer-events:none!important;
}
.works .wrap{position:relative!important;z-index:3!important}

/* Visible parallax overscan: images move, HTML text does not */
.hero-image,.works .wave,.vision-image{
  transform:translate3d(0,0,0);
  backface-visibility:hidden;
}

/* Five blocks: clear spacing, especially PATENT-PENDING */
.featurebar{
  min-height:194px!important;
  padding:28px 3.2vw!important;
}
.featurebar>div{
  padding:7px 30px!important;
}
.featurebar>div:last-child{
  padding-left:48px!important;
  padding-right:48px!important;
}
.featurebar strong{
  margin:0 0 14px!important;
  font-size:18px!important;
  line-height:1.32!important;
  letter-spacing:.025em!important;
}
.featurebar span{
  font-size:15px!important;
  line-height:1.55!important;
}
@media(max-width:1100px){
  .featurebar>div{padding-left:18px!important;padding-right:18px!important}
  .featurebar>div:last-child{padding-left:28px!important;padding-right:28px!important}
}


/* V26 — only image corrections below. Parallax JS unchanged. */
.vision-image{
  background-image:url('../images/earth.png')!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}


/* V27 — IP section typography only */
.ip h2{
  letter-spacing:-0.025em!important;
  line-height:1.02!important;
  word-spacing:.02em!important;
}
.ip h2 span{
  display:block!important;
  margin-top:4px!important;
  letter-spacing:-0.015em!important;
}
.ipcard strong{
  letter-spacing:0!important;
  line-height:1.22!important;
  margin-bottom:3px!important;
}


/* V28 — HERO ONLY: restore approved image reliably, never upscale it. */
.hero-image{
  background-image:url('../images/hero-approved-v26.png')!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:1872px auto!important;
}
@media(max-width:1872px){
  .hero-image{background-size:100% auto!important;}
}


/* V29 — only logo duplicate fix + contact address */
.brand::before,
.brand::after,
.brand-mark::before,
.brand-mark::after{
  content:none!important;
  display:none!important;
}
.brand{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.brand-mark{
  display:block!important;
  width:40px!important;
  height:40px!important;
  object-fit:contain!important;
  animation:spinmark 9s linear infinite!important;
  flex:0 0 40px!important;
}
.brand-name{
  display:inline-block!important;
  font-size:18px!important;
  font-weight:700!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.brand-name b{
  color:#ff3e9f!important;
  font-weight:800!important;
}

.contact-address{
  margin-top:4px!important;
  line-height:1.55!important;
  color:#c7c4d5!important;
  font-size:14px!important;
}


/* V30 — compact contact section across page width; everything else unchanged */
.contact{
  padding:54px 0!important;
}
.contactgrid{
  display:grid!important;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.8fr)!important;
  gap:34px!important;
  align-items:center!important;
}
.contactintro h2{
  margin:2px 0 8px!important;
}
.contactintro p{
  margin:0!important;
}
.contactbox{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:0!important;
  width:100%!important;
  padding:12px 14px!important;
  min-height:64px!important;
  border-radius:14px!important;
  white-space:nowrap!important;
}
.contactbox > a:not(.btn),
.contactbox > .contact-address{
  display:flex!important;
  align-items:center!important;
  min-height:38px!important;
  margin:0!important;
  padding:0 18px!important;
  line-height:1.25!important;
}
.contactbox > a:not(.btn){
  border-right:1px solid #403758!important;
}
.contact-address{
  flex:1 1 auto!important;
  color:#c7c4d5!important;
  font-size:13px!important;
  border-right:1px solid #403758!important;
}
.contactbox .btn{
  margin:0 0 0 14px!important;
  padding:12px 18px!important;
  flex:0 0 auto!important;
}
@media(max-width:1050px){
  .contactgrid{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .contactbox{
    flex-wrap:wrap!important;
    row-gap:8px!important;
  }
  .contact-address{
    min-width:310px!important;
  }
}
@media(max-width:680px){
  .contact{padding:40px 0!important;}
  .contactbox{
    align-items:stretch!important;
    padding:10px!important;
  }
  .contactbox > a:not(.btn),
  .contactbox > .contact-address{
    width:100%!important;
    border-right:0!important;
    border-bottom:1px solid #403758!important;
    padding:9px 8px!important;
  }
  .contactbox .btn{
    margin:8px 0 0!important;
    text-align:center!important;
  }
}
