:root{
  --black:#000;
  --dark:#121212;
  --white:#fff;
  --g50:#FBFBFB;
  --g100:#F8F8F8;
  --g200:#E0E0E0;
  --g500:#7A7A7A;
  --g600:#5C5C5C;
  --w15:rgba(255,255,255,.15);
  --w60:rgba(255,255,255,.6);
  --m:clamp(20px,4.6vw,88px);
  --r:clamp(14px,1.4vw,24px);
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--white);color:var(--black);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:1920px;margin:0 auto;padding:0 var(--m)}

h1,h2,h3{font-weight:600;letter-spacing:-.04em;line-height:1}
h1{font-size:clamp(52px,9.4vw,180px);letter-spacing:-.055em;line-height:.92}
h2{font-size:clamp(38px,5.4vw,104px);letter-spacing:-.045em;line-height:.98;max-width:16ch}
h3{font-size:clamp(20px,1.6vw,28px);letter-spacing:-.025em;line-height:1.15}

/* meta row: same as the slide header */
.meta-row{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--g200);font-size:14px;font-weight:500;color:var(--g500);margin-bottom:clamp(36px,5vw,88px)}
.dark .meta-row{border-color:var(--w15);color:var(--w60)}
.meta-row.single{margin-bottom:28px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:56px;padding:0 28px;border-radius:999px;font:600 16px/1 Inter,sans-serif;letter-spacing:-.01em;border:0;cursor:pointer;white-space:nowrap;transition:transform .3s var(--ease),background .2s,color .2s}
.btn:hover{transform:translateY(-2px)}
.btn:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.btn-sm{height:44px;padding:0 20px;font-size:15px}
.btn-dark{background:var(--black);color:var(--white)}
.btn-light{background:var(--white);color:var(--black)}
.btn-line{background:transparent;color:var(--black);box-shadow:inset 0 0 0 1px var(--g200)}
.btn-line:hover{box-shadow:inset 0 0 0 1px var(--black)}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);border-bottom:1px solid transparent;transition:border-color .3s}
.nav.scrolled{border-color:var(--g200)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:76px;gap:24px}
.brand .logo{height:24px;width:auto;fill:var(--black)}
.links{display:flex;gap:36px;font-size:15px;font-weight:500}
.links a{color:var(--g600);transition:color .2s}
.links a:hover{color:var(--black)}

/* logo hover: panels shift in turn, then the letters */
.brand .logo polygon,.brand .logo path{transition:transform .7s var(--ease)}
.brand:hover .logo polygon:nth-child(1){transform:translateX(90px);transition-delay:0ms}
.brand:hover .logo polygon:nth-child(2){transform:translateX(90px);transition-delay:70ms}
.brand:hover .logo polygon:nth-child(3){transform:translateX(90px);transition-delay:140ms}
.brand:hover .logo path{transform:translateX(36px);transition-delay:210ms}

/* hero */
.hero{padding:clamp(28px,4vw,64px) 0 clamp(64px,8vw,140px)}
.hero h1{margin-bottom:clamp(32px,4vw,64px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,96px);align-items:start}
.lead{font-size:clamp(19px,1.6vw,26px);line-height:1.38;letter-spacing:-.015em;color:var(--g600);max-width:30ch;margin-bottom:36px}

.join{display:flex;flex-wrap:wrap;gap:10px;max-width:560px}
.join input{flex:1 1 240px;height:56px;padding:0 24px;border-radius:999px;border:1px solid var(--g200);background:var(--g100);font:500 16px Inter,sans-serif;color:var(--black);transition:border-color .2s,background .2s}
.join input::placeholder{color:var(--g500)}
.join input:focus{outline:none;border-color:var(--black);background:var(--white)}
.join-note{flex-basis:100%;font-size:14px;color:var(--g500);padding:4px 4px 0}
.join.done .join-note{color:var(--black);font-weight:500}
.join-dark input{background:var(--dark);border-color:var(--w15);color:var(--white)}
.join-dark input::placeholder{color:var(--w60)}
.join-dark input:focus{border-color:var(--white);background:var(--dark)}
.join-dark .join-note,.join-dark.done .join-note{color:var(--w60)}

/* hero demo */
.demo{position:relative;display:grid;gap:16px}
.chat{background:var(--g100);border-radius:var(--r);padding:20px 24px 22px}
.chat-top{display:flex;align-items:center;gap:6px;margin-bottom:16px}
.dot{width:10px;height:10px;border-radius:50%;background:var(--g200)}
.chat-label{margin-left:10px;font-size:13px;font-weight:500;color:var(--g500)}
.prompt{font-size:clamp(17px,1.35vw,22px);font-weight:500;letter-spacing:-.015em;line-height:1.35;min-height:2.7em}
.caret{display:inline-block;width:2px;height:1.05em;background:var(--black);vertical-align:-.15em;margin-left:2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.tool{display:inline-flex;align-items:center;gap:10px;margin-top:16px;padding:9px 14px 9px 12px;background:var(--white);border-radius:999px;font-size:14px;font-weight:500;opacity:0;transform:translateY(6px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.tool-mark{width:20px;height:14px;fill:var(--black)}
.demo.built .tool{opacity:1;transform:none}

.stack{position:relative;aspect-ratio:16/9;margin-top:8px}
.stack img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:var(--r);box-shadow:0 1px 0 var(--g200),0 30px 60px -30px rgba(0,0,0,.35);transition:transform .9s var(--ease),opacity .6s}
.stack img:nth-child(1){transform:translate(-6%,-10%) scale(.82) rotate(-4deg);opacity:0}
.stack img:nth-child(2){transform:translate(6%,-6%) scale(.88) rotate(3deg);opacity:0}
.stack img:nth-child(3){transform:scale(.96);opacity:0}
.demo.built .stack img:nth-child(1){transform:translate(-5%,-9%) scale(.84) rotate(-3deg);opacity:1}
.demo.built .stack img:nth-child(2){transform:translate(5%,-5%) scale(.9) rotate(2.5deg);opacity:1;transition-delay:.12s}
.demo.built .stack img:nth-child(3){transform:none;opacity:1;transition-delay:.24s}

/* works with */
.strip{border-top:1px solid var(--g200);border-bottom:1px solid var(--g200)}
.strip-in{display:flex;align-items:center;gap:clamp(24px,4vw,64px);padding-top:28px;padding-bottom:28px}
.strip-label{flex:none;font-size:14px;font-weight:500;color:var(--g500)}
.strip ul{display:flex;flex-wrap:wrap;gap:12px 40px;font-size:clamp(18px,1.6vw,26px);font-weight:600;letter-spacing:-.03em}

/* dark section */
.dark{background:var(--black);color:var(--white)}
section.dark,.showcase,.features,.pricing,.faq{padding:clamp(72px,9vw,160px) 0}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,1.6vw,28px);margin-top:clamp(48px,6vw,104px)}
.steps li{background:var(--dark);border-radius:var(--r);padding:clamp(24px,2.4vw,44px);min-height:clamp(260px,22vw,400px);display:flex;flex-direction:column}
.step-dot{width:48px;height:48px;border-radius:50%;background:var(--white);color:var(--black);display:grid;place-items:center;font-weight:600;font-size:18px;margin-bottom:auto}
.steps h3{margin:40px 0 12px}
.steps p{color:var(--w60);font-size:clamp(15px,1.1vw,18px);max-width:34ch}

/* showcase */
.split-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,80px);align-items:end}
.split-head p{font-size:clamp(17px,1.3vw,22px);color:var(--g600);line-height:1.45;max-width:40ch}
.marquee{display:grid;gap:clamp(12px,1.2vw,20px);margin:clamp(48px,6vw,104px) 0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.track{display:flex;gap:clamp(12px,1.2vw,20px);width:max-content;animation:slide 70s linear infinite}
.track.reverse{animation-direction:reverse;animation-duration:80s}
.track img{width:clamp(280px,30vw,560px);aspect-ratio:16/9;object-fit:cover;border-radius:var(--r);background:var(--g100)}
.marquee:hover .track{animation-play-state:paused}
@keyframes slide{to{transform:translateX(-50%)}}

.numbers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--g200)}
.numbers div{padding:28px 24px 0 0}
.numbers div+div{padding-left:24px;border-left:1px solid var(--g200)}
.numbers dt{font-size:clamp(48px,6.6vw,132px);font-weight:600;letter-spacing:-.06em;line-height:1}
.numbers dd{margin-top:10px;font-size:15px;color:var(--g500);font-weight:500}

/* features */
.features{background:var(--g100)}
.features .meta-row{border-color:var(--g200)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.2vw,20px);margin-top:clamp(48px,6vw,104px)}
.card{background:var(--white);border-radius:var(--r);padding:clamp(24px,2.2vw,40px);min-height:clamp(240px,18vw,320px);display:flex;flex-direction:column}
.card h3{margin:auto 0 10px}
.card p{color:var(--g600);font-size:clamp(15px,1.05vw,17px);max-width:34ch}
.ico{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:48px}
.card-dark{background:var(--black);color:var(--white)}
.card-dark p{color:var(--w60)}

/* pricing */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.2vw,20px);margin-top:clamp(48px,6vw,104px)}
.plan{border:1px solid var(--g200);border-radius:var(--r);padding:clamp(24px,2.2vw,40px);display:flex;flex-direction:column}
.plan-tag{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600}
.pill{font-size:12px;font-weight:600;padding:5px 10px;border-radius:999px;background:var(--white);color:var(--black)}
.price{font-size:clamp(56px,5.4vw,96px);font-weight:600;letter-spacing:-.06em;line-height:1;margin-top:clamp(32px,3vw,56px)}
.price span{font-size:18px;letter-spacing:-.01em;font-weight:500;color:var(--g500);margin-left:6px}
.per{color:var(--g500);font-size:15px;margin-top:8px}
.plan ul{margin:32px 0 40px;display:grid;gap:12px;font-size:16px}
.plan li{display:flex;gap:12px}
.plan li::before{content:"";flex:none;width:6px;height:6px;margin-top:9px;border-radius:50%;background:currentColor}
.plan .btn{margin-top:auto}
.plan-dark{background:var(--black);color:var(--white);border-color:var(--black)}
.plan-dark .price span,.plan-dark .per{color:var(--w60)}

.once{margin-top:clamp(16px,1.6vw,28px);background:var(--g100);border-radius:var(--r);padding:clamp(24px,2.6vw,48px);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,3vw,56px);align-items:start}
.once-head p{color:var(--g600);margin-top:10px;font-size:16px}
.once-list{display:grid;gap:0}
.once-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;border-bottom:1px solid var(--g200)}
.once-item:first-child{padding-top:0}
.once-name{font-weight:600;font-size:clamp(18px,1.4vw,22px);letter-spacing:-.02em}
.once-desc{color:var(--g500);font-size:15px;margin-top:2px}
.once-price{font-size:clamp(28px,2.4vw,40px);font-weight:600;letter-spacing:-.04em}
.once .btn{grid-column:2;justify-self:start}

/* faq */
.faq{border-top:1px solid var(--g200)}
.faq-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,96px)}
.faq h2{font-size:clamp(36px,4vw,72px)}
.faq-list{border-top:1px solid var(--g200)}
details{border-bottom:1px solid var(--g200)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;font-size:clamp(18px,1.4vw,22px);font-weight:600;letter-spacing:-.02em}
summary::-webkit-details-marker{display:none}
summary::after{content:"";flex:none;width:14px;height:14px;background:linear-gradient(currentColor,currentColor) center/14px 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 14px no-repeat;transition:transform .3s var(--ease)}
details[open] summary::after{transform:rotate(45deg)}
details p{padding:0 48px 28px 0;color:var(--g600);font-size:17px;max-width:62ch}

/* final cta */
.final h2{max-width:18ch;margin-bottom:clamp(40px,5vw,72px)}

/* footer */
.foot{background:var(--black);color:var(--w60);border-top:1px solid var(--w15)}
.foot-in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:32px;padding-bottom:32px;font-size:14px}
.foot .logo{height:20px;width:auto;fill:var(--white)}
.foot a:hover{color:var(--white)}

/* reveal */
.rv{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.in{opacity:1;transform:none}

/* responsive */
@media (max-width:1100px){
  .hero-grid,.split-head,.faq-grid,.once{grid-template-columns:1fr}
  .once .btn{grid-column:1}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .demo{max-width:720px}
}
@media (max-width:820px){
  .links{display:none}
  .steps,.plans{grid-template-columns:1fr}
  .steps li{min-height:0}
  .steps h3{margin-top:32px}
  .numbers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .numbers div:nth-child(3){padding-left:0;border-left:0}
  .numbers div:nth-child(n+3){border-top:1px solid var(--g200);margin-top:28px}
  .strip-in{flex-direction:column;align-items:flex-start;gap:14px}
}
@media (max-width:560px){
  body{font-size:16px}
  .nav-in{height:64px}
  .brand .logo{height:20px}
  .btn-sm{height:40px;padding:0 16px;font-size:14px}
  .cards{grid-template-columns:1fr}
  .card{min-height:0}
  .ico{margin-bottom:32px}
  .join .btn{width:100%}
  .strip ul{gap:8px 22px}
  .foot-in{flex-direction:column;align-items:flex-start}
  details p{padding-right:0}
  .once-item{align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv{opacity:1;transform:none}
  .track{flex-wrap:wrap;width:auto}
}
