:root {
  --clr-bg:#f9fafb;
  --clr-text:#1e1e1e;
  --clr-accent:#0075ff;
  --clr-dark:#090909;
  --space-1:0.5rem;
  --space-2:1rem;
}

*{
  box-sizing:border-box;
}
html{scroll-behavior:smooth;font-family:'Inter',sans-serif;background:var(--clr-bg);color:var(--clr-text);}
body{margin:0;}

.navbar{position:sticky;top:0;height:64px;display:flex;align-items:center;width:100%;background:rgba(249,250,251,0.7);backdrop-filter:saturate(180%) blur(12px);transition:background-color .2s cubic-bezier(0.4,0,0.2,1);z-index:999;}
.navbar.scrolled{background:var(--clr-bg);}
.nav-container{width:100%;max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;padding:0 var(--space-2);}
.nav-links{transform:translateX(-16px);}
.nav-links a{text-decoration:none;margin-left:var(--space-2);color:var(--clr-text);font-weight:600;}
.nav-links a.active{color:var(--clr-accent);}

.hero{position:relative;height:100vh;overflow:hidden;}
.hero-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;}
.overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,rgba(0,0,0,.5) 0%,rgba(0,0,0,.65) 100%);}
.hero-content{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:0 var(--space-2);}
.headline{font-size:clamp(2rem,5vw,4rem);margin:0;font-weight:600;}
.sub-head{max-width:40ch;font-size:clamp(1rem,2.5vw,1.5rem);margin:var(--space-2) 0;}
.btn{display:inline-block;padding:0.75rem 1.5rem;background:var(--clr-accent);color:#fff;border-radius:4px;text-decoration:none;font-weight:600;}
.btn:focus-visible{outline:2px solid #fff;outline-offset:2px;}
.scroll-indicator{position:absolute;bottom:var(--space-2);left:50%;transform:translateX(-50%);color:#fff;animation:pulse 2s infinite;}
@keyframes pulse{0%{opacity:.6;transform:translateX(-50%) translateY(0);}50%{opacity:1;transform:translateX(-50%) translateY(8px);}100%{opacity:.6;transform:translateX(-50%) translateY(0);}}
@media (prefers-reduced-motion:reduce){.scroll-indicator{animation:none;}}
@media (prefers-reduced-motion:reduce){
  .navbar,.card,.card-inner,.reveal{transition:none;}
}

main{overflow-x:hidden;}
section{padding:4rem var(--space-2);}
.features{display:grid;gap:2rem;}
@media(min-width:600px){.features{grid-template-columns:repeat(2,1fr);}}
@media(min-width:992px){.features{grid-template-columns:repeat(3,1fr);}}
.card{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 8px rgba(0,0,0,0.05);perspective:1000px;transform-style:preserve-3d;transition:transform .2s cubic-bezier(0.4,0,0.2,1);}
.card-inner{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .2s cubic-bezier(0.4,0,0.2,1);}

.solutions{display:flex;flex-wrap:wrap;align-items:center;gap:2rem;}
.solutions .text{flex:1 1 300px;}
.solutions .image{flex:1 1 300px;min-height:300px;background-size:cover;background-position:center;background-image:url('https://source.unsplash.com/800x600/?technology,ai');background-attachment:fixed;}
@media(max-width:600px){.solutions .image{background-attachment:scroll;}}

.showcase{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:2rem;}
.showcase .card-lg{flex:0 0 80%;height:200px;background:#fff;border-radius:8px;scroll-snap-align:center;display:flex;align-items:center;justify-content:center;font-weight:600;}
@media(min-width:600px){.showcase .card-lg{flex:0 0 40%;}}

.roadmap{display:flex;flex-direction:column;gap:2rem;scroll-snap-type:y mandatory;}
.mile{background:#fff;padding:1.5rem;border-radius:8px;scroll-snap-align:center;}
@media(min-width:992px){.roadmap{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;}
.mile{flex:0 0 300px;}}

.cta{background:var(--clr-dark);color:#fff;text-align:center;padding:4rem var(--space-2);}
.cta form{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:var(--space-2);}
.cta input{padding:0.75rem;border-radius:4px;border:none;min-width:200px;}
.cta button{background:var(--clr-accent);color:#fff;padding:0.75rem 1.5rem;border:none;border-radius:4px;font-weight:600;}

footer{background:#111;color:#888;padding:2rem var(--space-2);text-align:center;border-top:1px solid #1a1a1a;}
footer nav{margin-bottom:1rem;}
footer a{color:#ccc;margin:0 0.5rem;text-decoration:none;}
footer a:hover,footer a:focus{color:#fff;}

.reveal{opacity:0;transform:translateY(40px);transition:opacity .6s cubic-bezier(0.4,0,0.2,1),transform .6s cubic-bezier(0.4,0,0.2,1);}
.reveal.visible{opacity:1;transform:none;}
