*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;border:0 solid}
html{scroll-behavior:smooth;scrollbar-gutter:stable;background:var(--bg-default);color:var(--text-default);font:400 16px/1.4 var(--font-sans);-webkit-font-smoothing:antialiased;text-wrap:pretty}
body{min-height:100%;background:var(--bg-default)}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;cursor:pointer}
img,svg,canvas{display:block}
ul,ol{list-style:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 16px;position:relative}
@media (min-width:788px){.container{padding:0 24px}}

/* type scale */
.h-base{font-size:16px;font-weight:600;line-height:1.4}
.h-lg{font-size:18px;font-weight:600;line-height:1.4}
.h-xl{font-size:20px;font-weight:600;line-height:1.4;letter-spacing:-.25px}
.h-2xl{font-size:24px;font-weight:600;line-height:1.2;letter-spacing:-.5px}
.h-3xl{font-size:32px;font-weight:600;line-height:1.1;letter-spacing:-.5px}
.h-4xl{font-size:48px;font-weight:600;line-height:1.1;letter-spacing:-2px}
.h-5xl{font-size:64px;font-weight:600;line-height:1.1;letter-spacing:-3px}
.eyebrow{font:500 12px/1 var(--font-mono);letter-spacing:-.5px;text-transform:uppercase}
.mono{font-family:var(--font-mono)}
.t-secondary{color:var(--text-secondary)}
.t-quaternary{color:var(--text-quaternary)}
.t-link{color:var(--text-link)}

/* icons */
.i16{width:16px;height:16px;flex:none}.i20{width:20px;height:20px;flex:none}.i24{width:24px;height:24px;flex:none}.i12{width:12px;height:12px;flex:none}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;white-space:nowrap;font-weight:500;transition:all var(--dur) var(--ease);border-radius:999px;line-height:1}
.btn:active{transform:scale(.98)}
.btn-36{height:36px;padding:0 16px;font-size:14px}
.btn-40{height:40px;padding:0 16px;font-size:14px;font-weight:600}
.btn-48{height:48px;padding:0 24px;font-size:16px}
.btn-32{height:32px;padding:0 12px;font-size:12px;font-weight:600}
.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text)}
.btn-primary:hover{background:var(--btn-primary-hover)}
.btn-secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-text)}
.btn-secondary:hover{background:var(--btn-secondary-hover)}
.btn-tertiary{border-color:var(--btn-tertiary-border);color:var(--btn-tertiary-text)}
.btn-tertiary:hover{background:var(--btn-tertiary-hover)}
.btn-quaternary{color:var(--text-secondary)}
.btn-cta{background:var(--cta-bg);color:var(--cta-text)}
.btn-cta:hover{background:var(--btn-primary-hover)}
.btn-quaternary:hover{background:var(--btn-quaternary-hover)}
.btn-blue{background:var(--blue-9);color:#fff}
.btn-blue:hover{background:var(--blue-10)}

/* ---------------- NAV ---------------- */
.nav{position:sticky;top:0;z-index:50;background:var(--bg-default);border-bottom:.5px solid transparent;transition:border-color .15s var(--ease),background-color .15s var(--ease)}
.nav.scrolled{border-bottom-color:var(--border-default)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding-top:16px;padding-bottom:16px}
.nav-left{display:flex;align-items:center;gap:2px}
.logo{display:flex;align-items:center;gap:6px;margin-right:16px;height:20px;font-weight:700;font-size:19px;letter-spacing:-.6px;color:var(--text-default)}
.logo-mark{width:18px;height:18px;border-radius:6px;background:var(--text-default);position:relative}
.logo-mark::after{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--bg-default)}
.nav-links{display:flex;align-items:center;gap:1px}
.nav-link{display:flex;align-items:center;gap:4px;height:36px;padding:0 12px;border-radius:24px;font-size:14px;font-weight:500;color:var(--text-secondary);white-space:nowrap;transition:background .15s var(--ease)}
.nav-link:hover,.nav-link[aria-expanded=true]{background:var(--btn-quaternary-hover)}
.nav-link.has-menu{padding:0 8px 0 12px;border-radius:36px}
.nav-link .chev{width:18px;height:18px;color:var(--icon-secondary);transition:transform .3s ease-in-out}
.nav-link[aria-expanded=true] .chev{transform:rotate(180deg)}
.nav-link .ext{width:16px;height:16px;color:var(--icon-secondary)}
.nav-right{display:flex;align-items:center;gap:8px}
.nav-right .gh{padding:0 16px 0 12px;color:var(--text-secondary)}
.menu-btn{display:none;position:relative;width:36px;height:36px;border-radius:24px;background:var(--bg-element);align-items:center;justify-content:center}
.menu-btn span{position:absolute;width:14px;height:1.5px;border-radius:2px;background:var(--icon-default);left:11px;transition:transform .3s}
.menu-btn span:first-child{transform:translateY(-3px)}.menu-btn span:last-child{transform:translateY(3px)}
@media (max-width:1007.98px){.nav-links,.nav-right{display:none}.menu-btn{display:flex}}

/* mega menu */
.mega-overlay{position:fixed;left:0;right:0;top:68px;bottom:0;background:var(--overlay);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .3s ease-in-out;z-index:40}
.mega{position:absolute;left:0;right:0;top:100%;display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s ease-in-out;z-index:45;pointer-events:none}
.mega>div{overflow:hidden;background:var(--bg-default)}
.mega.open{grid-template-rows:1fr;pointer-events:auto}
.nav.mega-open~.mega-overlay,.mega-overlay.open{opacity:1;pointer-events:auto}
.mega-panel{display:none;gap:16px;padding-top:40px;padding-bottom:64px;animation:fadeIn .3s ease-in-out}
.mega-panel.active{display:flex}
.mega-col{width:240px;display:flex;flex-direction:column;gap:24px}
.mega-col .eyebrow{color:var(--text-quaternary)}
.mega-col ul{display:flex;flex-direction:column;gap:8px}
.mega-col a{display:flex;align-items:center;gap:8px;font-size:16px;line-height:1.4;font-weight:500}
.mega-col a:hover{color:var(--text-secondary)}
.chip{display:inline-flex;align-items:center;min-height:20px;padding:0 10px;border-radius:12px;background:var(--bg-element);color:var(--text-secondary);font-size:12px;font-weight:500;line-height:1.25}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* mobile sheet */
.sheet{position:fixed;inset:0;z-index:600;background:var(--bg-default);display:flex;flex-direction:column;transform:translateY(100%);visibility:hidden;transition:transform .45s var(--ease-out-quart),visibility 0s linear .45s;overflow:auto;overscroll-behavior:none}
.sheet.open{transform:none;visibility:visible;transition:transform .45s var(--ease-out-quart),visibility 0s}
@media (min-width:1008px){.sheet{display:none}}
.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:16px}
.sheet-close{width:36px;height:36px;border-radius:24px;background:var(--bg-element);display:flex;align-items:center;justify-content:center}
.sheet-auth{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:1px 16px 0}
.sheet-auth .btn{font-size:14px}
.sheet-list{padding:22px 16px 32px}
.sheet-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:17px 16px;font-size:17px;font-weight:600;line-height:1.4;text-align:left}
.sheet-item .chev{width:16px;height:16px;color:var(--icon-secondary);transition:transform .3s}
.sheet-item[aria-expanded=true] .chev{transform:rotate(180deg)}
.sheet-sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease-out}
.sheet-sub>div{overflow:hidden}
.sheet-sub.open{grid-template-rows:1fr}
.sheet-sub ul{padding:0 16px 12px 32px;display:flex;flex-direction:column;gap:12px}
.sheet-sub a{font-size:15px;font-weight:500;color:var(--text-secondary)}
body.locked{overflow:hidden}

/* ---------------- HERO ---------------- */
.hero{position:relative;overflow-x:clip}
.hero .container{padding-bottom:32px}
.hero-grid{display:flex;flex-direction:column;align-items:center;gap:24px}
.burst{width:min(41rem,calc(100vw + 2rem));aspect-ratio:1;margin:-24px 0;touch-action:pan-y;user-select:none}
.hero-copy{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center;width:100%;max-width:448px}
.hero-copy h1{letter-spacing:-1.2px;text-wrap:balance}
.hero-ctas{display:flex;flex-direction:column;gap:8px;width:100%}
.hero-side{position:relative;z-index:10;display:flex;flex-direction:column-reverse;align-items:center;gap:24px;text-align:center;width:100%;max-width:448px}
.hero-side p{font-size:16px;font-weight:500;color:var(--text-secondary)}
.pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;border:.5px solid var(--border-default);background:color-mix(in srgb,var(--bg-subtle) 80%,transparent);padding:4px 10px 4px 4px;backdrop-filter:blur(2px);transition:all .3s}
.pill:hover{background:var(--bg-element);border-color:var(--border-secondary);box-shadow:var(--pill-hover-shadow)}
.pill-tag{display:inline-flex;align-items:center;gap:6px;border-radius:16px;border:.5px solid var(--border-default);background:var(--pill-tag-bg);padding:4px 10px;box-shadow:var(--shadow-sm);font-size:12px;transition:background-color .3s;font-weight:500;line-height:1}
.pill-dot{position:relative;width:8px;height:8px;display:flex;align-items:center;justify-content:center}
.pill-dot::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--green-7)}
.pill-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--green-9);animation:status-pulse 2.2s linear infinite}
.pill-dot i{position:relative;width:4px;height:4px;border-radius:50%;background:var(--green-11);z-index:1}
.pill-text{font-size:12px;line-height:20px;font-weight:500;color:var(--text-secondary);display:inline-flex;align-items:center;gap:8px}
.pill:hover .pill-text svg{transform:translateX(1.5px)}
.pill-text svg{transition:transform .3s}
@keyframes status-pulse{0%{opacity:0;transform:scale(1)}20%{opacity:.65}to{opacity:0;transform:scale(2.1)}}
@media (min-width:788px){.hero .container{padding-bottom:48px}}
@media (min-width:944px){
  .hero .container{padding-bottom:0}
  .hero-grid{display:grid;grid-template-columns:26rem minmax(0,1fr);align-items:center}
  .burst{grid-column:2;grid-row:1/span 2;margin:-64px auto;width:100%;max-width:41rem}
  .hero-copy{grid-column:1;grid-row:1;align-items:flex-start;text-align:left;max-width:none}
  .hero-ctas{flex-direction:row;width:auto}
  .hero-side{grid-column:1;grid-row:2;flex-direction:column;align-items:flex-start;text-align:left;max-width:none}
}
@media (min-width:1328px){
  .hero-grid{grid-template-columns:26rem minmax(0,1fr) 26rem}
  .hero-side{grid-column:3;grid-row:1;padding-left:64px;align-self:center}
  .burst{grid-row:1;width:41rem;max-width:none;justify-self:center;margin:-64px 0}
}
.burst .app-tile{filter:drop-shadow(0 10px 20px rgba(0,0,0,.1))}
.burst .rays{color:var(--text-secondary)}
.burst .rays .t0{stroke-opacity:var(--burst-t0)}.burst .rays .t1{stroke-opacity:var(--burst-t1)}.burst .rays .t2{stroke-opacity:var(--burst-t2)}
.burst .dots{fill:var(--text-secondary);opacity:var(--burst-dots)}
.burst .tile-bg{fill:#fff;stroke:var(--burst-tile-stroke)}
.burst .tile-mark{stroke:var(--burst-mark)}

/* ---------------- LOGO STRIP ---------------- */
.logos{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 0}
.logos .caption{display:none;font:400 12px/1.6 var(--font-mono);text-transform:uppercase;color:var(--text-secondary);text-align:center}
.marquee{width:100%;max-width:768px;margin-bottom:-32px;height:72px;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 6rem,#000 calc(100% - 6rem),transparent);mask-image:linear-gradient(to right,transparent,#000 6rem,#000 calc(100% - 6rem),transparent)}
.marquee-track{display:flex;gap:12px;width:max-content;animation:logo-carousel 30s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.app-icon{width:40px;height:40px;border-radius:12px;box-shadow:var(--shadow-md);flex:none;display:flex;align-items:center;justify-content:center;color:#fff;font:700 15px/1 var(--font-sans)}
@keyframes logo-carousel{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 6px))}}
@media (min-width:788px){.logos{padding-top:40px}.logos .caption{display:block}.marquee{margin-bottom:0}}
@media (min-width:1008px){.logos{padding-bottom:0}}

/* ---------------- BUILDING BLOCKS ---------------- */
.blocks{padding-bottom:16px}
.blocks-card{display:grid;grid-template-columns:1fr;border-radius:32px;background:var(--bg-subtle);padding:32px 24px 24px}
.blocks-card h2{text-align:center;text-wrap:balance}
.blocks-art{margin:0 -18px;aspect-ratio:342/318;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.blocks-art svg{position:absolute;height:100%;width:auto;left:50%;transform:translateX(-50%);transition:opacity .5s,visibility .5s}
.blocks-art svg:not(.on){opacity:0;visibility:hidden}
.steps{display:flex;flex-direction:column;gap:4px}
.steps li{padding:4px 0}
.steps li.on{padding-bottom:8px}
.step-row{display:flex;align-items:center;gap:8px;position:relative}
.step-btn{font-size:16px;font-weight:600;line-height:1.4;color:var(--text-secondary);text-align:left;transition:color .15s}
.step-btn:hover,.on .step-btn{color:var(--text-default)}
.ring{display:none;width:24px;height:24px;color:var(--icon-default)}
.on .ring{display:block}
.ring circle.prog{transition:stroke-dashoffset .2s linear}
.step-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease-out}
.on .step-body{grid-template-rows:1fr}
.step-body>div{overflow:hidden}
.step-body p{padding-top:16px;font-size:14px;line-height:1.4;font-weight:500;color:var(--text-secondary);opacity:0;transition:opacity .3s}
.on .step-body p{opacity:1}
@media (min-width:468px){.blocks-art{margin:0 auto;width:100%;max-width:448px}}
@media (min-width:1008px){
  .blocks{padding:16px 0}
  .blocks-card{grid-template-columns:minmax(0,1fr) minmax(0,min(600px,50%));grid-template-rows:auto 1fr;gap:16px;border-radius:40px;padding:40px}
  .blocks-card h2{grid-column:1;grid-row:1;max-width:384px;text-align:left;font-size:32px;line-height:1.1}
  .blocks-art{grid-column:2;grid-row:1/span 2;margin:0;max-width:none;aspect-ratio:6/5;align-self:center}
  .steps{grid-column:1;grid-row:2;max-width:384px;gap:16px;align-self:end}
  .steps li{padding:8px 0}
  .step-row{gap:12px}
  .step-btn{font-size:24px;line-height:1.2;letter-spacing:-.5px}
  .step-body p{font-size:16px}
}

/* ---------------- BENTO ---------------- */
.bento{padding-bottom:80px}
.bento-grid{display:grid;grid-template-columns:1fr;gap:16px}
.bcard{position:relative;display:block;overflow:hidden;border-radius:24px;background:var(--bg-subtle);border:1px solid transparent;transition:background-color .15s,border-color .15s}
.bcard:hover{background:var(--bg-element);border-color:var(--border-default)}
.bcard .corner{position:absolute;top:14px;right:19px;z-index:40;width:36px;height:36px;border-radius:50%;background:var(--corner-bg);display:flex;align-items:center;justify-content:center;opacity:0;box-shadow:0 4px 16px rgba(0,0,0,.12);transition:opacity .2s}
.bcard:hover .corner{opacity:1}
.sdk{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:32px;padding:40px 24px 48px;text-align:center}
.sdk-art{width:160px;height:160px;position:relative;flex:none}
.sdk-text{display:flex;flex-direction:column;align-items:center;gap:24px}
.sdk-text>div{display:flex;flex-direction:column;align-items:center;gap:12px}
.sdk-text p{font-size:18px;font-weight:500}
.sdk .btn{height:36px;padding:0 16px;font-size:14px}
.bento-right{display:grid;grid-template-columns:1fr;gap:16px}
.ai{position:relative;display:flex;height:100%;min-height:320px;align-items:center;justify-content:center;overflow:hidden;padding:40px 24px;text-align:center}
.glow{position:absolute;left:0;right:0;top:0;height:80px;filter:blur(40px);pointer-events:none}
.glow span{position:absolute;border-radius:999px}
.glow .g1{top:0;left:8%;height:56px;width:58%;background:#2788f3;animation:ai-glow 11s ease-in-out infinite}
.glow .g2{top:4px;right:7%;height:52px;width:50%;background:#f76809;animation:ai-glow 14s ease-in-out -5s infinite reverse}
.glow .g3{top:8px;left:25%;height:40px;width:40%;background:#fff;animation:ai-glow 9s ease-in-out -3s infinite}
@keyframes ai-glow{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(6%,8px) scale(1.08)}66%{transform:translate(-5%,-6px) scale(.95)}}
.ai-inner{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;gap:24px}
.tiles{display:grid;grid-template-columns:max-content;grid-template-rows:max-content;line-height:0}
.tiles>div{grid-column:1;grid-row:1;width:104px;height:104px;display:flex;align-items:center;justify-content:center}
.tiles>div:last-child{margin-left:81px}
.tile{width:91px;height:91px;border-radius:24px;display:flex;align-items:center;justify-content:center}
.tile.a{transform:rotate(-9deg);background:#d9775a}
.tile.b{transform:rotate(9deg);background:linear-gradient(135deg,#f76809,#2788f3);position:relative}
.tile.b::after{content:"";position:absolute;inset:6px;border-radius:17px;background:#000}
.tile.b b{position:relative;z-index:1;color:#fff;font:600 15px/1 var(--font-sans);letter-spacing:-.5px}
.ai-text{display:flex;flex-direction:column;align-items:center;gap:12px}
.ai-text h3{line-height:1.3}
.soft-pill{display:flex;align-items:center;border-radius:999px;background:var(--soft-pill-bg);padding:8px 16px;font-size:14px;font-weight:500;line-height:1.4;backdrop-filter:blur(2px)}
.bento-pair{display:grid;grid-template-columns:1fr;gap:16px}
.api{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:space-between;gap:32px;padding-bottom:48px;text-align:center}
.phone{position:relative;width:calc(100% - 64px);max-width:288px;aspect-ratio:1;flex:none;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgb(0 0 0/.35) 22%,#000 45%);mask-image:linear-gradient(to bottom,transparent 0%,rgb(0 0 0/.35) 22%,#000 45%)}
.phone .screen{position:absolute;left:3%;right:3%;top:0;bottom:3%;border-radius:0 0 40px 40px;background:#111;border:7px solid #2a2a2e;border-top:0;padding:10px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;align-content:end}
.phone .screen i{display:block;aspect-ratio:1;border-radius:3px;background:linear-gradient(160deg,#7d8a99,#c9d0d8)}
.phone .screen i:nth-child(3n){background:linear-gradient(160deg,#5f6b77,#a9b3bd)}
.phone .screen i:nth-child(4n){background:linear-gradient(160deg,#9aa4ae,#e4e8ec)}
.phone .tabbar{grid-column:1/-1;height:34px;margin:6px 18px 4px;border-radius:20px;background:#2a2b30}
.bigline{display:flex;flex-direction:column;align-items:center;padding:0 16px;text-wrap:balance}
.bigline p{font-size:24px;font-weight:600;line-height:1.2;letter-spacing:-.5px}
.code-chip{display:inline-block;font-family:var(--font-mono);border-radius:6px;border:1px solid var(--border-default);background:var(--bg-element);padding:0 6px;vertical-align:middle;letter-spacing:-.6px;color:var(--text-secondary)}
.native{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:space-between;gap:24px;padding:48px 0;text-align:center}
.arc{position:relative;width:100%;aspect-ratio:360/199;container-type:inline-size}
.arc .sweep{position:absolute;left:50%;top:100%;width:0;height:0;animation:arc-sweep 16s linear infinite}
.arc .sweep>div{position:absolute;width:20cqw;height:20cqw;left:-10cqw;top:calc(-78cqw);border-radius:25%;box-shadow:0 5px 10px rgba(0,0,0,.05),0 15px 25px rgba(0,0,0,.12);display:flex;align-items:center;justify-content:center;color:#fff;font:700 5cqw/1 var(--font-mono)}
.arc .caret{position:absolute;top:73%;left:50%;width:6cqw;aspect-ratio:21/13;transform:translateX(-50%);color:var(--icon-quaternary)}
@keyframes arc-sweep{0%{opacity:0;transform:rotate(-58deg)}7.76%{opacity:1;transform:rotate(-49deg)}92.24%{opacity:1;transform:rotate(49deg)}to{opacity:0;transform:rotate(58deg)}}
@media (min-width:788px){
  .bento{padding-bottom:128px}
  .bento-grid{grid-template-columns:524fr 740fr}
  .bcard{border-radius:40px}
  .sdk{gap:40px;padding:48px 16px}
  .sdk-art{width:192px;height:192px}
  .sdk-text h3{font-size:32px;line-height:1.1}
  .sdk-text p{font-size:18px;font-weight:500;line-height:1.4}
  .sdk .btn{height:48px;padding:0 24px;font-size:16px}
  .bento-pair{grid-template-columns:1fr 1fr}
  .ai{padding:64px 24px 48px}
  .api{padding-bottom:24px}
  .bigline p{font-size:16px;line-height:1.4;letter-spacing:0}
  .bigline{padding:0 8px}
}
@media (min-width:1008px){
  .sdk{gap:48px;padding:64px 40px}
  .sdk-art{width:224px;height:224px}
  .sdk-text h3{font-size:48px;letter-spacing:-2px}
  .sdk-text p{font-size:24px;letter-spacing:-.5px;line-height:1.2}
  .api{padding-bottom:32px}
  .bigline p{font-size:18px}
  .bigline{padding:0 16px}
}
@media (min-width:1328px){
  .bento-grid{aspect-ratio:1280/650}
  .bento-right{height:100%;grid-template-rows:230fr 404fr}
  .bento-pair{height:100%}
  .sdk{padding:64px}
  .sdk-art{width:240px;height:240px}
  .ai{min-height:0;padding:40px 24px}
  .glow{top:auto;bottom:-32px}
  .glow .g1{left:12%;height:64px;width:60%}.glow .g2{right:10%;height:60px}.glow .g3{height:48px}
  .ai-inner{flex-direction:row;justify-content:center;gap:16px}
  .ai-text{align-items:flex-start;gap:8px}
  .ai-text h3{white-space:nowrap}
  .soft-pill{font-size:16px}
  .api{padding-bottom:48px}
  .bigline p{font-size:24px;line-height:1.2;letter-spacing:-.5px}
  .bigline{padding:0 32px}
  .code-chip{border-radius:8px}
}

/* ---------------- PLATFORM ---------------- */
.platform-head{display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center}
.platform-head h2{max-width:576px;text-wrap:balance}
.stack-list{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 24px}
.stack-list li{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500}
.stack-list i{width:20px;height:20px;border-radius:6px;display:block}
.platform-head .btn{height:36px;padding:0 16px;font-size:14px}
.features{margin-top:80px;display:flex;flex-direction:column;gap:24px}
.frow{display:grid;grid-template-columns:1fr;gap:24px}
.fcard{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:24px;overflow:hidden;border-radius:24px;border:1px solid transparent;background:var(--bg-subtle);padding:32px}
.fcard.top{justify-content:flex-start;padding-bottom:0}
.ftext{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
.ftext.narrow{max-width:448px}
.ftext h3 span{display:block;white-space:nowrap}
.ftext p{font-size:14px;font-weight:500;color:var(--text-secondary);text-wrap:pretty}
.more{display:flex;align-items:center;gap:4px;font-size:16px;font-weight:500;color:var(--text-link)}
.more svg{width:16px;height:16px;transition:transform .15s}
.more:hover svg{transform:translateX(2px)}
.fart{width:100%;aspect-ratio:8/5;position:relative;display:flex;align-items:center;justify-content:center}
.fade-bottom{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 120px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 120px),transparent)}
/* placeholder mock UI blocks */
.mock{background:var(--mock-bg);border:1px solid var(--border-secondary);border-radius:16px;box-shadow:var(--shadow-sm)}
.mock-line{height:10px;border-radius:5px;background:var(--mock-line)}
.mock-line.dark{background:var(--mock-line-strong)}
.mock-line.blue{background:var(--blue-7)}
.wide-art{width:100%;position:relative;display:grid;grid-template-columns:1fr 1.3fr 1.4fr;gap:20px;align-items:start;height:520px;padding:0 16px}
.tree{position:relative;width:62%;height:70%;margin:auto}
.dev-node{position:absolute;width:56px;height:56px;border-radius:16px;background:var(--bg-element);border:1px solid var(--border-secondary)}
@media (min-width:788px){
  .features{margin-top:128px}
  .frow{grid-template-columns:1fr 1fr}
  .fcard{border-radius:40px;padding:32px 24px}
  .ftext{gap:24px}
  .ftext h3{font-size:32px;line-height:1.1}
  .ftext p{text-wrap:balance}
  .platform-head h2{font-size:48px;letter-spacing:-2px}
  .platform-head .btn{height:48px;padding:0 24px;font-size:16px}
}
@media (min-width:1008px){
  .features,.frow{gap:40px}
  .fcard{padding:64px;gap:32px}
  .fcard.top{padding:64px 64px 0}
}
@media (min-width:1328px){
  .features,.frow{gap:64px}
  .fcard{gap:48px}
  .fcard.top{gap:48px}
}
@media (max-width:787.98px){.wide-art{height:340px;grid-template-columns:1fr 1fr;width:calc(100% + 64px)}.wide-art>.col3{display:none}}

/* ---------------- STATS ---------------- */
.stats{padding:200px 0}
.stats .container{padding-left:0;padding-right:0}
.stat-lines{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;font-size:30px;line-height:1.1;font-weight:600;letter-spacing:-1px}
.stat-line{display:flex;align-items:center;justify-content:center;gap:4px}
.badge-pkg{display:inline-flex;align-items:center;justify-content:center;height:20px;width:51px;border-radius:4px;background:var(--slate-12);color:var(--bg-default);font:700 11px/1 var(--font-mono);letter-spacing:0;transform:translateY(4px)}
.avatars{display:flex}
.avatars i{width:24px;height:24px;border-radius:50%;border:2px solid var(--bg-default);display:block}
.avatars i+i{margin-left:-8px}
.shape-a{width:40px;height:40px;border-radius:30%;background:var(--stat-tile);border:1px solid var(--stat-tile-border);transform:rotate(18deg) scale(.8)}
.shape-b{width:42px;height:40px;border-radius:28%;background:linear-gradient(135deg,#5fb8ff,#1b6fe0);transform:rotate(-8deg) scale(.8);margin-right:-4px}
@media (min-width:788px){
  .stats .container{padding:0 24px}
  .stat-lines{font-size:48px;letter-spacing:-2px}
  .stat-line{gap:8px}
  .badge-pkg{height:36px;width:93px;font-size:18px;transform:translateY(6px)}
  .avatars i{width:40px;height:40px}.avatars i+i{margin-left:-12px}
  .shape-a{width:60px;height:60px}.shape-b{width:63px;height:60px;margin-right:-8px}
}
@media (min-width:1008px){
  .stat-lines{font-size:64px;letter-spacing:-3px}
  .badge-pkg{height:50px;width:129px;font-size:24px;transform:translateY(8px)}
  .avatars i{width:48px;height:48px}.avatars i+i{margin-left:-14px}
  .shape-a{width:80px;height:80px}.shape-b{width:84px;height:80px;margin-right:-12px}
}

/* ---------------- COMMUNITY ---------------- */
.community{padding-top:20px}
.community-inner{display:flex;flex-direction:column;align-items:center;gap:40px;text-align:center}
.community-inner>div{display:flex;flex-direction:column;align-items:center;gap:16px}
.community-inner>div p{font-size:14px;font-weight:500;color:var(--text-secondary)}
.community .cta-group{gap:8px}
.community .btn{height:36px;padding:0 16px;font-size:14px;background:var(--bg-element);color:var(--text-default)}
.community .btn:hover{background:var(--bg-hover)}
.community .cta-group span{font-size:12px;font-weight:500;color:var(--text-tertiary)}
.quotes{padding-top:48px}
.quotes-mask{overflow:hidden;max-height:1120px;-webkit-mask-image:linear-gradient(to bottom,#000 50%,transparent 100%);mask-image:linear-gradient(to bottom,#000 50%,transparent 100%)}
.quotes-cols{columns:1;column-gap:16px}
.quote{display:inline-block;width:100%;break-inside:avoid;padding-bottom:16px;vertical-align:top;opacity:0;transform:translateY(8px);transition:opacity .6s,transform .6s}
.quote.in{opacity:1;transform:none}
.quote a{display:flex;flex-direction:column;gap:24px;border-radius:16px;border:1px solid var(--border-secondary);background:var(--bg-default);padding:32px;transition:all .3s ease-in-out}
.quote a:hover{border-color:var(--border-default);background:var(--bg-element)}
.who{display:flex;align-items:center;gap:8px}
.who i{width:48px;height:48px;border-radius:50%;flex:none;display:block}
.who b{display:block;font-size:14px;font-weight:600;line-height:1.25}
.who small{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);line-height:1.6}
.quote p{font-size:16px;font-weight:500;line-height:1.4}
@media (min-width:788px){
  .community-inner>div h2{font-size:48px;letter-spacing:-2px;line-height:1.1}
  .community-inner>div p{font-size:16px}
  .community .btn{height:48px;padding:0 24px;font-size:16px}
  .quotes{padding-top:80px}
  .quotes-mask{max-height:600px}
  .quotes-cols{columns:2}
}
@media (min-width:1008px){.quotes-cols{columns:3}}
@media (min-width:1328px){.quotes-cols{columns:4}}

/* ---------------- CTA ---------------- */
.cta{position:relative;isolation:isolate;display:flex;align-items:center;min-height:560px;overflow:hidden}
.squircle{position:absolute;top:50%;left:50%;z-index:-10;width:540px;aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none}
.squircle i{position:absolute;inset:0;border-radius:32%;display:block}
.squircle .s1{background:var(--bg-default);box-shadow:inset 0 2.5px 21px 0 rgba(255,255,255,.9),inset 8.4px 8.4px 168px 0 rgba(134,134,134,.16)}
.squircle .s2{background:rgba(134,134,134,.12);box-shadow:inset 8.4px 8.4px 168px 0 rgba(134,134,134,.28)}
.dark-theme .squircle .s1{box-shadow:inset 0 2.5px 40px 0 rgba(210,216,228,.07),inset 8.4px 8.4px 168px 0 rgba(148,152,158,.035)}
.dark-theme .squircle .s2{background:rgba(255,255,255,.03);box-shadow:inset 0 2.5px 24px 0 rgba(255,255,255,.1)}
.cta-fade{position:absolute;left:0;right:0;bottom:0;z-index:-10;height:244px;background:linear-gradient(to top,var(--cta-fade-to),transparent)}
.cta .container{text-align:center}
.cta-inner{display:flex;flex-direction:column;align-items:center;gap:32px}
.cta h2{text-wrap:balance}
@media (min-width:788px){.cta{min-height:620px}.squircle{width:535px}.cta h2{font-size:64px;letter-spacing:-3px}}

/* ---------------- TRUST ROW ---------------- */
.trust .container{padding:0 16px}
.trust-row{display:flex;align-items:center;justify-content:center;padding:32px 0}
.trust-items{display:flex;align-items:center;gap:24px}
.trust-item{display:flex;align-items:center;gap:4px;font-size:12px;white-space:nowrap}
.trust-item b{font-weight:600}
.trust-item span{font-weight:500;color:var(--text-secondary)}
.trust-item svg{width:20px;height:20px}
.trust-mobile{display:none;width:100%;align-items:flex-start;justify-content:space-between}
.trust-mobile>div{display:flex;flex-direction:column;gap:8px}
.rule{margin:0 16px;border-bottom:.5px solid var(--border-default)}
@media (min-width:788px){.trust .container{padding:0 8px}}
@media (min-width:1008px){.trust-items{gap:32px}}
@media (min-width:1328px){.trust-items{gap:40px}}
@media (max-width:1007.98px){.trust-item .lg{display:none}}
@media (max-width:787.98px){.trust-items{display:none}.trust-mobile{display:flex}.rule{margin:0}}

/* ---------------- FOOTER ---------------- */
.foot-nav{display:flex;flex-direction:column;gap:40px;padding:40px 0}
.foot-brand{display:flex;flex-direction:column;gap:24px}
.foot-logo{width:44px;height:44px;border-radius:12px;background:#000;position:relative;overflow:hidden;box-shadow:var(--tile-shadow)}
.foot-logo::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,#2bd98b,transparent 55%),radial-gradient(circle at 80% 90%,#3a6bff,transparent 60%);opacity:.9}
.foot-logo::after{content:"";position:absolute;inset:13px;border-radius:50%;border:4px solid #fff}
.newsletter{display:flex;flex-direction:row;align-items:center;gap:12px;border-radius:16px;background:var(--bg-subtle);padding:16px}
.newsletter>div{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.newsletter .eyebrow-row{display:flex;align-items:center;gap:6px;font:400 12px/1 var(--font-mono);text-transform:uppercase;color:var(--text-secondary)}
.newsletter .eyebrow-row i{display:inline-block;width:6px;height:10px;background:#0072de}
.newsletter p{font-size:14px;font-weight:500;line-height:1}
.newsletter .btn{margin-left:auto}
.foot-cols{display:grid;grid-template-columns:1fr;gap:40px 16px;width:100%}
.foot-cols h3{margin-bottom:20px;font-size:16px;font-weight:600}
.foot-cols ul{display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:14px;line-height:22.4px}
.foot-cols a{color:var(--text-secondary);transition:color .15s}
.foot-cols a:hover{color:var(--text-default)}
.foot-bottom{padding:24px 0;font-size:12px;color:var(--text-secondary);border-top:1px solid var(--border-default)}
.foot-bottom-row{display:flex;flex-direction:column;flex-wrap:wrap;align-items:center;gap:12px}
.status{display:inline-flex;align-items:center;gap:6px;padding:0 4px;font-weight:500;color:var(--text-default)}
.status i{width:6px;height:6px;border-radius:50%;background:var(--green-9)}
.privacy{display:inline-flex;align-items:center;gap:6px}
.privacy i{width:26px;height:12px;border-radius:6px;background:var(--blue-9);display:block;position:relative}
.privacy i::after{content:"";position:absolute;right:2px;top:2px;width:8px;height:8px;border-radius:50%;background:#fff}
.socials{display:flex;gap:16px}
.socials a{width:26px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:32px;color:var(--text-secondary)}
.socials a:hover{color:var(--text-default);background:var(--bg-element)}
.socials svg{width:16px;height:16px}
.theme-select{position:relative}
.theme-btn{display:flex;align-items:center;gap:8px;height:32px;padding:8px;min-width:97px;border-radius:20px;border:1px solid var(--border-default);background:var(--bg-default);font-size:12px;font-weight:500;color:var(--text-default)}
.theme-btn:hover{background:var(--theme-btn-hover)}
.theme-btn .grow{flex:1;text-align:left}
.theme-menu{position:absolute;bottom:38px;right:0;min-width:120px;padding:4px;border-radius:12px;border:1px solid var(--border-default);background:var(--bg-default);box-shadow:var(--shadow-md);display:none;z-index:20}
.theme-menu.open{display:block}
.theme-menu button{display:block;width:100%;text-align:left;padding:6px 10px;border-radius:8px;font-size:13px;font-weight:500}
.theme-menu button:hover,.theme-menu button[aria-checked=true]{background:var(--bg-element)}
.foot-right{display:flex;flex-direction:column;align-items:center;gap:12px}
@media (min-width:300px){.foot-cols{grid-template-columns:1fr 1fr}}
@media (min-width:788px){
  .foot-brand{flex-direction:row}
  .foot-logo{margin-right:auto}
  .newsletter{background:none;padding:0;gap:16px;border-radius:0}
  .newsletter .btn{margin-left:0}
  .foot-cols{grid-template-columns:repeat(5,1fr)}
  .foot-bottom{border-top:0}
  .foot-bottom-row{flex-direction:row;gap:8px}
  .foot-right{flex-direction:row;margin-left:auto;gap:16px}
}
@media (min-width:1008px){
  .foot-nav{flex-direction:row;gap:16px;padding:88px 0 48px}
  .foot-brand{flex-direction:column;width:100%;max-width:300px}
  .newsletter{flex-direction:column;align-items:flex-start;height:100%;justify-content:flex-start;padding-top:24px;gap:12px}
  .theme-btn{margin-left:8px}
}
@media (max-width:467.98px){.newsletter .eyebrow-row .sm{display:none}}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.wf{width:100%;height:300px;border-radius:16px 16px 0 0;display:grid;grid-template-columns:96px 1fr;overflow:hidden;box-shadow:none}
@media (min-width:788px){.wf{width:90%;height:560px;border-radius:20px 20px 0 0;grid-template-columns:200px 1fr}}

.pill:hover .pill-tag{background:var(--pill-tag-hover)}
.app-icon{outline:1px solid var(--app-icon-ring);outline-offset:-1px}
/* dark-only refinements */
.dark-theme .squircle .s1, .dark-theme .squircle .s2{background:transparent}
.dark-theme .squircle .s1{background:var(--bg-default)}
.dark-theme .squircle::after{content:"";position:absolute;inset:0;border-radius:32%;opacity:.024;background:repeating-conic-gradient(#fff 0 25%,transparent 0 50%) 0 0/3px 3px}
.dark-theme .burst .app-tile{filter:none}
.dark-theme .phone .screen{border-color:#3a3b40}
.dark-theme .quote a{background:var(--bg-default)}
@media (prefers-color-scheme: dark){
  :root:where(:not(.light-theme)) .squircle .s1{box-shadow:inset 0 2.5px 40px 0 rgba(210,216,228,.07),inset 8.4px 8.4px 168px 0 rgba(148,152,158,.035)}
  :root:where(:not(.light-theme)) .squircle .s2{background:rgba(255,255,255,.03);box-shadow:inset 0 2.5px 24px 0 rgba(255,255,255,.1)}
}

/* FAQ (placeholder content) */
.faq{padding:80px 0 40px}
.faq-head{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;margin-bottom:32px}
.faq-head .eyebrow{color:var(--text-tertiary)}
.faq-head p:last-child{font-size:14px;font-weight:500;color:var(--text-secondary)}
.faq-list{max-width:760px;margin:0 auto;border-top:1px solid var(--border-secondary)}
.faq-item{border-bottom:1px solid var(--border-secondary)}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 4px;cursor:pointer;list-style:none;font-size:16px;font-weight:600;letter-spacing:-.2px;color:var(--text-default)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:var(--text-secondary)}
.faq-item summary:focus-visible{outline:2px solid var(--text-link);outline-offset:2px;border-radius:8px}
.faq-chev{flex:none;color:var(--icon-secondary,var(--text-tertiary));transition:transform var(--dur) var(--ease)}
.faq-item[open] .faq-chev{transform:rotate(180deg)}
.faq-item p{padding:0 4px 20px;max-width:640px;font-size:14px;line-height:1.55;color:var(--text-secondary)}
@media (min-width:1008px){.faq{padding:120px 0 60px}.faq-head h2{font-size:48px;letter-spacing:-2px;line-height:1.1}.faq-head p:last-child{font-size:16px}.faq-item summary{font-size:18px}.faq-item p{font-size:16px}}

/* Subpages: docs, pricing, about, contact, privacy (placeholder content) */
.page-top{border-bottom:1px solid var(--border-secondary)}
.page-top-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px}
.page-top .logo{margin:0}
.page-nav{display:flex;gap:4px;flex-wrap:wrap}
.page-nav .nav-link{padding:6px 10px;border-radius:999px;font-size:14px;font-weight:500;color:var(--text-secondary)}
.page-nav .nav-link:hover,.page-nav .nav-link[aria-current=page]{color:var(--text-default);background:var(--bg-element)}
.prose{max-width:760px;padding-top:56px;padding-bottom:80px;font-size:16px;line-height:1.6;color:var(--text-secondary)}
.prose h1{font-size:40px;line-height:1.1;letter-spacing:-1.5px;font-weight:600;color:var(--text-default);margin:0 0 24px}
.prose h2{font-size:24px;line-height:1.25;letter-spacing:-.5px;font-weight:600;color:var(--text-default);margin:40px 0 12px}
.prose h3{font-size:18px;font-weight:600;color:var(--text-default);margin:28px 0 8px}
.prose p,.prose ul,.prose ol,.prose table,.prose pre,.prose blockquote{margin:0 0 16px}
.prose ul,.prose ol{padding-left:22px}
.prose ul{list-style:disc}.prose ol{list-style:decimal}
.prose li{margin:4px 0}
.prose a{color:var(--text-link);text-decoration:underline;text-underline-offset:2px}
.prose strong{color:var(--text-default)}
.prose blockquote{padding:12px 16px;border:1px solid var(--border-info);background:var(--bg-info);border-radius:12px;color:var(--text-default)}
.prose blockquote p{margin:0}
.prose code{font-family:var(--font-mono);font-size:.88em;background:var(--bg-element);padding:2px 5px;border-radius:6px;color:var(--text-default)}
.prose pre{background:var(--bg-subtle);border:1px solid var(--border-secondary);border-radius:12px;padding:16px;overflow:auto}
.prose pre code{background:none;padding:0;font-size:13px;line-height:1.6}
.prose table{width:100%;border-collapse:collapse;font-size:14px;display:block;overflow-x:auto}
.prose th,.prose td{border:1px solid var(--border-secondary);padding:10px 12px;text-align:left;vertical-align:top}
.prose th{background:var(--bg-subtle);color:var(--text-default);font-weight:600}
.page-foot{border-top:1px solid var(--border-secondary);padding:24px 0;font-size:13px;color:var(--text-tertiary)}
.page-foot-inner{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between}
.page-foot-links{display:flex;flex-wrap:wrap;gap:8px 16px}
.page-foot-links a:hover{color:var(--text-default)}
@media (max-width:600px){.prose h1{font-size:32px}.page-top-inner{height:auto;padding-top:12px;padding-bottom:12px;flex-direction:column;align-items:flex-start}}
