/* Website Maker — homepage styles */
:root{
  --bg:#05070d; --bg-1:#0a0e18; --bg-2:#0f1523; --card:rgba(16,22,38,.62); --card-2:rgba(22,30,52,.7);
  --line:rgba(120,150,220,.14); --line-2:rgba(120,160,255,.26);
  --t0:#f3f6fc; --t1:#aeb7cb; --t2:#6e7890;
  --blue:#3d7bff; --blue-2:#6ea2ff; --cyan:#59d0ff; --ok:#3ddc97; --bad:#ff6b7a;
  --glow:0 0 0 1px rgba(110,162,255,.35), 0 8px 30px -6px rgba(61,123,255,.65), inset 0 1px 0 rgba(255,255,255,.25);
  --r:18px;
  --sans:"Geist",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--bg);color:var(--t0);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.035em;line-height:1.05}
p{margin:0}
pre{margin:0}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.wrap.narrow{max-width:820px}
.center{text-align:center}
section{position:relative;padding:100px 0}
@media (max-width:720px){section{padding:80px 0}}

/* background grid (ref: blueprint glow) */
.bg-grid{position:absolute;inset:0 0 auto 0;height:1300px;pointer-events:none;z-index:0;
  background:
    radial-gradient(900px 520px at 50% 0%, rgba(61,123,255,.28), transparent 70%),
    linear-gradient(rgba(110,150,255,.06) 1px, transparent 1px) 0 0/44px 44px,
    linear-gradient(90deg, rgba(110,150,255,.06) 1px, transparent 1px) 0 0/44px 44px;
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%, #000 30%, transparent 75%);
          mask-image:radial-gradient(ellipse 70% 60% at 50% 30%, #000 30%, transparent 75%)}
main,.foot{position:relative;z-index:1}

/* type helpers */
.grad{background:linear-gradient(92deg,#fff 0%,#a9c6ff 35%,var(--blue-2) 65%,var(--cyan) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.dim{color:var(--t2)}
.kicker{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-2);margin-bottom:18px;display:inline-flex;align-items:center;gap:10px}
.kicker::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue-2);box-shadow:0 0 12px var(--blue)}
h2{font-size:clamp(34px,5vw,56px)}
.sec-sub{color:var(--t1);font-size:18px;max-width:640px;margin:22px auto 0}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:50px;padding:0 24px;border-radius:12px;font:600 15px/1 var(--sans);letter-spacing:-.01em;transition:transform .18s, box-shadow .18s, background .18s, border-color .18s;white-space:nowrap;cursor:pointer;border:0}
.btn-sm{height:40px;padding:0 18px;font-size:14px;border-radius:10px}
.btn-glow{color:#fff;background:linear-gradient(180deg,#5b93ff,#2f63f0);box-shadow:var(--glow)}
.btn-glow:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(140,185,255,.5),0 14px 44px -8px rgba(61,123,255,.9),inset 0 1px 0 rgba(255,255,255,.3)}
.btn-glass{color:var(--t0);background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--line-2);backdrop-filter:blur(8px)}
.btn-glass:hover{background:rgba(255,255,255,.08)}
.btn.wide{width:100%}
.play{width:22px;height:22px;border-radius:6px;background:rgba(110,162,255,.18);position:relative}
.play::after{content:"";position:absolute;left:8px;top:6px;border-left:8px solid var(--blue-2);border-top:5px solid transparent;border-bottom:5px solid transparent}
.cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:36px}
.link-arrow{display:inline-block;margin-top:14px;color:var(--blue-2);font-weight:600}
.link-arrow:hover{color:#fff}

/* nav (floating glass pill) */
.nav{position:sticky;top:14px;z-index:50;padding:0 16px}
.nav-in{max-width:1120px;margin:0 auto;height:62px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 10px 0 20px;border-radius:16px;background:rgba(8,12,22,.55);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);box-shadow:inset 0 0 0 1px var(--line);transition:background .25s, box-shadow .25s}
.nav.scrolled .nav-in{background:rgba(8,12,22,.85);box-shadow:inset 0 0 0 1px var(--line-2),0 12px 40px -12px rgba(0,0,0,.8)}
.logo{display:flex;align-items:center;gap:10px;font-weight:600;font-size:17px;letter-spacing:-.02em}
.logo-mark{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:15px;color:#fff;background:linear-gradient(160deg,#6ea2ff,#2c5be6);box-shadow:0 0 18px rgba(61,123,255,.6)}
.nav-links{display:flex;gap:30px;font-size:14.5px;color:var(--t1)}
.nav-links a{transition:color .15s}
.nav-links a:hover{color:#fff}
@media (max-width:860px){.nav-links{display:none}}

/* hero */
.hero{padding:90px 0 60px}
.badge{display:inline-flex;align-items:center;gap:10px;padding:5px 14px 5px 5px;border-radius:99px;font-size:13px;color:var(--t1);background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--line-2)}
.badge:hover{color:#fff}
.badge-new{padding:3px 10px;border-radius:99px;background:linear-gradient(180deg,#5b93ff,#2f63f0);color:#fff;font-weight:600;font-size:12px}
.chev{color:var(--t2)}
.eyebrow{margin-top:34px;font-family:var(--mono);font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--t2)}
.hero h1{margin-top:14px;font-size:clamp(44px,8vw,92px);letter-spacing:-.045em;line-height:.98}
.hero-sub{max-width:660px;margin:28px auto 0;font-size:clamp(16px,1.9vw,19px);color:var(--t1)}
.hero-by{margin-top:26px;font-size:13px;color:var(--t2)}
.hero-by a{color:var(--t1);border-bottom:1px solid var(--line-2)}

/* vault core diagram */
.core{position:relative;margin-top:80px;height:440px;display:grid;grid-template-columns:1fr 280px 1fr;grid-template-rows:1fr 1fr;gap:26px 110px;align-items:center}
.core-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.core-lines path{fill:none;stroke:rgba(110,162,255,.3);stroke-width:1.5;vector-effect:non-scaling-stroke}
.core-lines path.flow{stroke:var(--cyan);stroke-width:2;stroke-dasharray:10 190;animation:flow 3.2s linear infinite;filter:drop-shadow(0 0 4px var(--cyan))}
.core-lines path.flow.rev{animation-delay:-1.6s}
@keyframes flow{from{stroke-dashoffset:200}to{stroke-dashoffset:0}}
.gcard{position:relative;z-index:2;padding:18px;border-radius:var(--r);background:var(--card);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px var(--line-2),0 20px 60px -30px rgba(61,123,255,.6)}
.gcard::after{content:"";position:absolute;top:50%;width:9px;height:9px;margin-top:-4.5px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--cyan)}
.c-tl,.c-bl{grid-column:1}.c-tr,.c-br{grid-column:3}
.c-tl,.c-tr{grid-row:1}.c-bl,.c-br{grid-row:2}
.c-tl::after,.c-bl::after{right:-5px}
.c-tr::after,.c-br::after{left:-5px}
.gcard-h{display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:15px;margin-bottom:14px}
.pill-mini{font:500 11px var(--mono);padding:3px 8px;border-radius:99px;color:var(--blue-2);background:rgba(61,123,255,.14)}
.pill-mini.ok{color:var(--ok);background:rgba(61,220,151,.12)}
.tlist{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.tlist li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--t1);padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px var(--line)}
.tlist li:first-child{color:#fff;box-shadow:inset 0 0 0 1px var(--line-2);background:rgba(61,123,255,.1)}
.sw{width:12px;height:12px;border-radius:4px;flex-shrink:0;background:var(--blue);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.sw.big{width:22px;height:22px;border-radius:7px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-size:12.5px;padding:6px 11px;border-radius:9px;color:var(--t1);background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--line)}
.chip.ok::before{content:"✓ ";color:var(--ok)}
.cursor-line{margin-top:14px;font:12.5px var(--mono);color:var(--t2);display:flex;align-items:center;gap:8px}
.caret{display:inline-block;width:2px;height:14px;background:var(--blue-2);animation:blink 1.1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.tree{list-style:none;margin:0;padding:0;font:13px/1.9 var(--mono);color:var(--t1)}
.tree li{padding-left:18px;position:relative}
.tree li::before{content:"";position:absolute;left:4px;top:0;bottom:0;border-left:1px solid var(--line-2)}
.tree li:not(.dir)::after{content:"";position:absolute;left:4px;top:50%;width:8px;border-top:1px solid var(--line-2)}
.tree li.dir{padding-left:0;color:#fff}
.tree li.dir::before{display:none}
.tree li.dir::after{display:none}
.tree li.dir:last-child{padding-left:18px}
.tree li.dir:last-child::before{display:block}
.upload{margin-top:16px;height:6px;border-radius:9px;background:rgba(255,255,255,.06);overflow:hidden}
.upload span{display:block;height:100%;width:0;border-radius:9px;background:linear-gradient(90deg,var(--blue),var(--cyan));animation:up 4s ease-in-out infinite}
@keyframes up{0%{width:0}60%,100%{width:100%}}
.upload-l{display:flex;justify-content:space-between;margin-top:8px;font:12px var(--mono);color:var(--t2)}
.ok-t{color:var(--ok);opacity:0;animation:okT 4s infinite}
@keyframes okT{0%,58%{opacity:0}66%,100%{opacity:1}}

/* orb */
.orb{grid-column:2;grid-row:1 / span 2;position:relative;width:280px;height:280px;justify-self:center;z-index:1}
.orb-glow{position:absolute;inset:-70px;border-radius:50%;background:radial-gradient(circle,rgba(61,123,255,.55),rgba(61,123,255,.12) 45%,transparent 70%);filter:blur(10px);animation:pulse 5s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(1.08);opacity:.8}}
.orb-ring{position:absolute;inset:0;border-radius:50%}
.orb-ring.r1{background:conic-gradient(from 0deg,transparent 0 20%,rgba(89,208,255,.9) 30%,transparent 42% 60%,rgba(110,162,255,.9) 72%,transparent 84%);-webkit-mask:radial-gradient(closest-side,transparent 92%,#000 93%);mask:radial-gradient(closest-side,transparent 92%,#000 93%);animation:spin 9s linear infinite;filter:drop-shadow(0 0 8px var(--cyan))}
.orb-ring.r2{inset:22px;border:1px solid rgba(110,162,255,.45);border-left-color:transparent;border-right-color:rgba(89,208,255,.9);animation:spin 6s linear infinite reverse;transform:rotateX(60deg)}
.orb-ring.r3{inset:40px;border:1px solid rgba(110,162,255,.3);border-top-color:rgba(89,208,255,.8);animation:spin3 7s linear infinite}
@keyframes spin{to{rotate:360deg}}
@keyframes spin3{from{transform:rotate(0) rotateY(65deg)}to{transform:rotate(360deg) rotateY(65deg)}}
.orb-core{position:absolute;inset:64px;border-radius:50%;display:grid;place-items:center;align-content:center;gap:8px;
  background:radial-gradient(circle at 35% 30%,#8fbaff 0%,#3d7bff 30%,#1236a8 62%,#08163f 100%);
  box-shadow:0 0 60px rgba(61,123,255,.8),inset 0 0 40px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.2)}
.orb-core span{font:500 10.5px var(--mono);letter-spacing:.2em;color:rgba(255,255,255,.85)}
.lock{width:44px;height:44px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(255,255,255,.7))}
.lock rect{fill:rgba(255,255,255,.12)}
.lock .shackle{transform-origin:15.6px 6px;animation:unlock 4s ease-in-out infinite}
@keyframes unlock{0%,30%{transform:translateY(0)}45%,85%{transform:translateY(-2px) rotate(-18deg)}100%{transform:translateY(0)}}

@media (max-width:980px){
  .core{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:16px;margin-top:60px}
  .core-lines,.gcard::after{display:none}
  .orb{grid-column:1 / -1;grid-row:1;width:220px;height:220px;margin:10px auto 30px}
  .orb-core{inset:50px}
  .c-tl,.c-tr,.c-bl,.c-br{grid-column:auto;grid-row:auto}
}
@media (max-width:560px){.core{grid-template-columns:1fr}}

/* template marquee */
.marquee-sec{padding:40px 0 60px}
.strip-title{text-align:center;color:var(--t2);font-size:15px;margin:0 24px 34px}
.strip-title strong{color:var(--t0);font-weight:600}
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee + .marquee{margin-top:18px}
.track{display:flex;gap:18px;width:max-content;animation:scroll 70s linear infinite}
.marquee.rev .track{animation-direction:reverse;animation-duration:80s}
.marquee:hover .track{animation-play-state:paused}
@keyframes scroll{to{transform:translateX(calc(-50% - 9px))}}
.tpl{margin:0;width:240px;flex-shrink:0}
.tpl-site{height:150px;border-radius:12px;overflow:hidden;background:var(--b);color:var(--t);padding:10px 12px;display:flex;flex-direction:column;gap:10px;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 16px 40px -20px rgba(0,0,0,.8);transition:transform .25s}
.tpl:hover .tpl-site{transform:translateY(-4px)}
.tpl-nav{display:flex;align-items:center;gap:5px;font-size:8.5px}
.tpl-nav b{margin-right:auto;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90px}
.tpl-nav i{width:14px;height:3px;border-radius:2px;background:var(--m);opacity:.5}
.tpl-nav span{width:26px;height:9px;border-radius:calc(var(--r) / 3);background:var(--a)}
.pill .tpl-nav span,.pill .tpl-hero span{border-radius:99px}
.tpl-hero p{font-size:11.5px;font-weight:700;line-height:1.15;letter-spacing:-.02em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tpl-hero p em{font-style:normal;color:var(--a)}
.tpl-hero i{display:block;height:3px;margin-top:5px;border-radius:2px;background:var(--m);opacity:.45;width:85%}
.tpl-hero i.short{width:55%}
.tpl-hero span{display:inline-block;margin-top:7px;width:40px;height:11px;border-radius:calc(var(--r) / 3);background:var(--a)}
.tpl-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:auto}
.tpl-row i{height:26px;border-radius:calc(var(--r) / 3);background:var(--s);box-shadow:0 0 0 1px color-mix(in srgb,var(--t) 8%,transparent)}
.tpl figcaption{padding:10px 2px 0;display:flex;flex-direction:column}
.tpl figcaption strong{font-size:13.5px;font-weight:600}
.tpl figcaption small{font-size:12px;color:var(--t2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* editor mock-up */
.own{padding-top:100px}
.app{margin-top:60px;border-radius:20px;overflow:hidden;background:#0b101c;box-shadow:inset 0 0 0 1px var(--line-2),0 40px 120px -40px rgba(61,123,255,.55),0 0 0 8px rgba(255,255,255,.02);position:relative}
.app::before{content:"";position:absolute;left:10%;right:10%;top:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--blue-2),transparent)}
.app-bar{height:46px;display:flex;align-items:center;gap:14px;padding:0 16px;border-bottom:1px solid var(--line);background:#0d1322}
.dots{display:flex;gap:7px}
.dots i{width:11px;height:11px;border-radius:50%;background:#ff5f57}.dots i:nth-child(2){background:#febc2e}.dots i:nth-child(3){background:#28c840}
.app-title{font-size:13px;color:var(--t2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-title b{color:var(--t0);font-weight:500}
.app-actions{margin-left:auto;display:flex;gap:8px}
.ab{font-size:12px;padding:6px 10px;border-radius:8px;color:var(--t1);background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--line);white-space:nowrap}
.ab-exp{color:#fff;background:linear-gradient(180deg,#5b93ff,#2f63f0);box-shadow:0 0 18px rgba(61,123,255,.5)}
.app-body{display:grid;grid-template-columns:200px 1fr 190px;min-height:470px}
.app-left,.app-right{padding:14px;background:#0a0f1a}
.app-left{border-right:1px solid var(--line)}
.app-right{border-left:1px solid var(--line)}
.al-tabs{display:flex;gap:4px;margin-bottom:12px;font-size:11.5px}
.al-tabs span{flex:1;text-align:center;padding:6px 0;border-radius:7px;color:var(--t2)}
.al-tabs span.on{background:rgba(61,123,255,.16);color:#fff}
.al-item{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--t1);padding:8px 9px;border-radius:9px;margin-bottom:4px;transition:background .3s,color .3s}
.al-item.on{background:rgba(255,255,255,.05);color:#fff;box-shadow:inset 0 0 0 1px var(--line-2)}
.al-more{font-size:12px;color:var(--t2);padding:8px 9px}
.app-canvas{padding:26px;background:repeating-linear-gradient(45deg,#0c1220 0 10px,#0b111d 10px 20px);display:flex;align-items:flex-start;justify-content:center}
.site{position:relative;width:100%;max-width:620px;border-radius:12px;overflow:hidden;background:var(--b);color:var(--t);padding:18px 24px 24px;box-shadow:0 30px 70px -30px rgba(0,0,0,.9);transition:background .6s,color .6s}
.site *{transition:background .6s,color .6s,border-radius .6s}
.s-nav{display:flex;align-items:center;gap:16px;font-size:13px}
.s-nav b{font-weight:700;margin-right:auto}
.s-nav span{display:flex;gap:10px}
.s-nav span i{width:30px;height:4px;border-radius:3px;background:var(--m);opacity:.5}
.s-btn{font-style:normal;font-size:11px;font-weight:600;padding:7px 12px;border-radius:calc(var(--r) / 2);background:var(--a);color:#fff;white-space:nowrap}
.pill .s-btn{border-radius:99px}
.s-btn.ghost{background:transparent;color:var(--t);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--t) 25%,transparent)}
.s-hero{text-align:center;padding:44px 10px 34px;position:relative}
.s-hero h3{font-size:clamp(22px,3vw,32px);font-weight:700;letter-spacing:-.03em;line-height:1.1;max-width:460px;margin:0 auto}
.s-hero h3 em{font-style:normal;color:var(--a)}
.s-hero p{max-width:340px;margin:16px auto 0}
.s-hero p i{display:block;height:5px;border-radius:3px;background:var(--m);opacity:.45;margin:7px auto 0;width:100%}
.s-hero p i.short{width:60%}
.s-ctas{display:flex;gap:10px;justify-content:center;margin-top:20px}
.s-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.s-cards div{padding:14px;border-radius:var(--r);background:var(--s);box-shadow:0 0 0 1px color-mix(in srgb,var(--t) 8%,transparent)}
.s-cards i{display:block;height:5px;border-radius:3px;background:var(--m);opacity:.4;margin-top:7px}
.s-cards i:first-child{width:40%;height:7px;background:var(--a);opacity:.9;margin-top:0}
.s-cards i.short{width:60%}
.s-sel{position:absolute;left:10px;right:10px;top:58px;height:210px;border:1.5px dashed var(--blue-2);border-radius:10px;pointer-events:none}
.s-sel span{position:absolute;top:-11px;left:12px;font:500 10.5px var(--mono);background:var(--blue);color:#fff;padding:3px 8px;border-radius:6px}
.ar-h{font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--t2);margin:6px 0 12px}
.ar-h:not(:first-child){margin-top:24px}
.ar-row{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:var(--t1);margin-bottom:14px}
.slider{width:80px;height:5px;border-radius:9px;background:rgba(255,255,255,.08);overflow:hidden}
.slider i{display:block;height:100%;background:var(--blue-2);transition:width .6s}
.toggle{width:30px;height:17px;border-radius:99px;background:var(--blue);position:relative}
.toggle::after{content:"";position:absolute;right:2px;top:2px;width:13px;height:13px;border-radius:50%;background:#fff}
.ar-file{font:12px var(--mono);color:var(--t1);padding:7px 9px;border-radius:8px;background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px var(--line);margin-bottom:6px}
.ar-file::before{content:"▸ ";color:var(--blue-2)}
@media (max-width:980px){.app-body{grid-template-columns:1fr}.app-left,.app-right{display:none}.app-actions .ab:not(.ab-exp){display:none}}
@media (max-width:560px){.app-canvas{padding:12px}.site{padding:14px}.s-nav span{display:none}.s-cards{grid-template-columns:1fr 1fr}.s-cards div:last-child{display:none}.s-sel{display:none}}

.nots{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}
.not{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--t1);padding:18px;border-radius:14px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.not .x{flex-shrink:0;width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font-size:11px;color:var(--bad);background:rgba(255,107,122,.12)}
.not.yes{color:#fff;box-shadow:inset 0 0 0 1px var(--line-2);background:linear-gradient(180deg,rgba(61,123,255,.16),rgba(61,123,255,.04))}
.not.yes .x{color:var(--ok);background:rgba(61,220,151,.14)}
@media (max-width:900px){.nots{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.nots{grid-template-columns:1fr}}

/* bento */
.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:64px}
.bcard{position:relative;overflow:hidden;padding:26px;border-radius:22px;background:linear-gradient(180deg,rgba(20,28,48,.8),rgba(10,14,24,.8));box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column;transition:box-shadow .25s,transform .25s}
.bcard:hover{box-shadow:inset 0 0 0 1px var(--line-2),0 30px 80px -40px rgba(61,123,255,.6);transform:translateY(-3px)}
.bcard::before{content:"";position:absolute;inset:-40% -20% auto auto;width:300px;height:300px;background:radial-gradient(circle,rgba(61,123,255,.18),transparent 65%);pointer-events:none}
.bcard h3{font-size:20px;letter-spacing:-.02em;margin-top:22px}
.bcard p{color:var(--t1);font-size:15px;margin-top:8px}
.bvis{position:relative;flex:1;min-height:170px;display:flex;align-items:center;justify-content:center}
.b-builder{grid-column:span 2}
.b-host{grid-column:span 3}
@media (max-width:900px){.bento{grid-template-columns:1fr 1fr}.b-builder,.b-host{grid-column:span 2}}
@media (max-width:600px){.bento{grid-template-columns:1fr}.b-builder,.b-host{grid-column:auto}}

.v-builder{position:relative;width:100%;display:grid;grid-template-columns:150px 1fr;gap:16px}
.vb-lib{display:grid;gap:7px}
.vb-lib span{font-size:12.5px;padding:8px 10px;border-radius:9px;color:var(--t1);background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px var(--line)}
.vb-lib span:nth-child(2){opacity:.35}
.vb-page{padding:12px;border-radius:12px;background:rgba(255,255,255,.025);box-shadow:inset 0 0 0 1px var(--line);display:grid;gap:9px}
.vb-sec{height:40px;border-radius:8px;background:rgba(110,162,255,.08)}
.vb-sec.drop{height:52px;display:grid;place-items:center;border:1.5px dashed var(--blue-2);background:rgba(61,123,255,.08);font:12px var(--mono);color:var(--blue-2);animation:dropPulse 3s ease-in-out infinite}
@keyframes dropPulse{50%{background:rgba(61,123,255,.18)}}
.vb-drag{position:absolute;left:120px;top:44px;font-size:12.5px;padding:8px 12px;border-radius:9px;background:#1d2a4a;color:#fff;box-shadow:0 0 0 1px var(--blue-2),0 16px 30px -8px rgba(61,123,255,.7);animation:drag 3s ease-in-out infinite}
@keyframes drag{0%{transform:translate(-80px,-6px) rotate(-2deg)}50%,100%{transform:translate(90px,24px) rotate(1deg)}}
@media (max-width:600px){.v-builder{grid-template-columns:1fr}.vb-lib{display:none}.vb-drag{left:40%}}

.v-export{width:100%;max-width:280px}
.zip{display:flex;align-items:center;gap:14px;padding:14px;border-radius:14px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--line-2)}
.zip-ic{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;font-size:20px;color:#fff;background:linear-gradient(160deg,#6ea2ff,#2c5be6);box-shadow:0 0 20px rgba(61,123,255,.6)}
.zip b{display:block;font:500 14px var(--mono)}
.zip small{color:var(--t2);font-size:12px}
.bar{margin-top:16px;height:6px;border-radius:9px;background:rgba(255,255,255,.06);overflow:hidden}
.bar i{display:block;height:100%;width:100%;border-radius:9px;background:linear-gradient(90deg,var(--blue),var(--cyan));animation:barFill 3.5s ease-out infinite}
@keyframes barFill{from{width:0}70%,to{width:100%}}
.bar-l{display:block;margin-top:8px;font:12px var(--mono);color:var(--t2)}
.bar-l b{color:var(--ok);font-weight:500}

.v-code,.v-edit pre{font:12.5px/1.75 var(--mono);color:var(--t1);white-space:pre;overflow:hidden}
.v-code{width:100%;padding:16px;border-radius:14px;background:rgba(0,0,0,.35);box-shadow:inset 0 0 0 1px var(--line)}
.c{color:var(--t2)}.t{color:#7fb0ff}.a{color:#c792ea}.s{color:#9ee6a8}
.ln{color:#3f4960;margin-right:8px}
.v-edit{width:100%;border-radius:14px;overflow:hidden;background:rgba(0,0,0,.35);box-shadow:inset 0 0 0 1px var(--line)}
.ed-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--line);font:11.5px var(--mono);color:var(--t2)}
.ed-bar i{width:8px;height:8px;border-radius:50%;background:#2a3348}
.ed-bar span{margin-left:8px}
.v-edit pre{padding:12px 14px}
.v-edit .caret{height:13px;vertical-align:-2px;margin-left:1px}

.v-assets{display:grid;grid-template-columns:repeat(3,70px);gap:10px}
.as{height:70px;border-radius:14px;display:grid;place-items:end start;padding:8px;font:500 10.5px var(--mono);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.as.i1{background:linear-gradient(135deg,#ff8a5b,#c2338a)}
.as.i2{background:linear-gradient(135deg,#3d7bff,#59d0ff)}
.as.i3{background:linear-gradient(135deg,#3ddc97,#157a64)}
.as.i4{background:linear-gradient(135deg,#9a6bff,#3b2f99)}
.as.i5{background:linear-gradient(135deg,#ffd166,#e0752e)}
.as.i6{background:linear-gradient(135deg,#1c2640,#34446e)}
.bcard:hover .as{animation:pop .5s ease both}
.bcard:hover .as:nth-child(2){animation-delay:.05s}.bcard:hover .as:nth-child(3){animation-delay:.1s}.bcard:hover .as:nth-child(4){animation-delay:.15s}.bcard:hover .as:nth-child(5){animation-delay:.2s}.bcard:hover .as:nth-child(6){animation-delay:.25s}
@keyframes pop{40%{transform:translateY(-6px)}}

.v-host{width:100%;max-width:860px;margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:0}
.vh-src{padding:16px 20px;border-radius:14px;background:linear-gradient(160deg,rgba(61,123,255,.3),rgba(61,123,255,.08));box-shadow:inset 0 0 0 1px var(--line-2),0 0 30px rgba(61,123,255,.3);display:flex;flex-direction:column}
.vh-src .dir{font:500 15px var(--mono);color:#fff}
.vh-src small{color:var(--t1);font-size:12px}
.vh-lines{height:150px;display:flex;flex-direction:column;justify-content:space-around;padding:0 8px}
.vh-lines i{display:block;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--line-2),rgba(89,208,255,.7));position:relative;overflow:hidden}
.vh-lines i::after{content:"";position:absolute;top:0;left:-30%;width:30%;height:100%;background:linear-gradient(90deg,transparent,#fff,transparent);animation:zip 2.4s linear infinite}
.vh-lines i:nth-child(2)::after{animation-delay:.6s}.vh-lines i:nth-child(3)::after{animation-delay:1.2s}.vh-lines i:nth-child(4)::after{animation-delay:1.8s}
@keyframes zip{to{left:100%}}
.vh-dests{display:grid;gap:8px}
.vh-dests span{font-size:13.5px;padding:9px 14px;border-radius:10px;color:var(--t0);background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--line)}
.vh-dests span::before{content:"●";color:var(--ok);font-size:9px;margin-right:9px;vertical-align:2px}
@media (max-width:600px){.v-host{grid-template-columns:1fr;gap:12px}.vh-lines{display:none}.vh-src{align-items:center}}

/* no lock-in */
.nolock{padding:40px 0 100px}
.nolock-card{position:relative;overflow:hidden;text-align:center;padding:80px 32px;border-radius:28px;background:linear-gradient(180deg,#0c1426,#070b15);box-shadow:inset 0 0 0 1px var(--line-2)}
.nl-glow{position:absolute;left:50%;top:-220px;width:760px;height:440px;translate:-50% 0;border-radius:50%;background:radial-gradient(closest-side,rgba(61,123,255,.45),transparent);filter:blur(20px)}
.nolock-card > :not(.nl-glow){position:relative}
.nolock-card h2{font-size:clamp(44px,7vw,80px)}
.nl-flow{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:40px}
.nl-flow span{font-size:15px;padding:11px 18px;border-radius:12px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--line-2)}
.nl-flow span.hi{color:#fff;background:linear-gradient(180deg,#5b93ff,#2f63f0);box-shadow:var(--glow)}
.nl-flow i{width:40px;height:2px;background:linear-gradient(90deg,var(--line-2),var(--cyan))}
.nl-end{margin-top:30px;font-weight:600;font-size:18px}
@media (max-width:600px){.nl-flow{flex-direction:column}.nl-flow i{width:2px;height:18px}}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:64px}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}
.step{padding:22px;border-radius:20px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.svis{height:130px;border-radius:14px;margin-bottom:20px;display:grid;place-items:center;background:radial-gradient(circle at 50% 110%,rgba(61,123,255,.22),transparent 70%),rgba(255,255,255,.02);box-shadow:inset 0 0 0 1px var(--line)}
.step-n{font:500 12.5px var(--mono);letter-spacing:.1em;color:var(--blue-2)}
.step p{margin-top:8px;color:var(--t1);font-size:15px}
.open-btn{position:relative;font-size:13px;font-weight:600;padding:10px 16px;border-radius:10px;background:linear-gradient(180deg,#5b93ff,#2f63f0);box-shadow:var(--glow)}
.ptr{position:absolute;right:-16px;bottom:-18px;font-size:20px;color:#fff;animation:tap 2s ease-in-out infinite}
@keyframes tap{50%{transform:translate(-4px,-4px)}}
.stack{display:grid;gap:7px;width:120px}
.stack i{height:22px;border-radius:7px;background:rgba(110,162,255,.14);box-shadow:inset 0 0 0 1px var(--line)}
.stack i.hi{background:rgba(61,123,255,.35);box-shadow:inset 0 0 0 1px var(--blue-2);animation:slide 3s ease-in-out infinite}
@keyframes slide{0%,100%{transform:translateX(0)}50%{transform:translateX(10px)}}
.ring{position:relative;width:74px;height:74px}
.ring svg{width:100%;height:100%;rotate:-90deg}
.ring circle{fill:none;stroke:rgba(255,255,255,.08);stroke-width:3}
.ring circle.p{stroke:var(--cyan);stroke-linecap:round;stroke-dasharray:95;stroke-dashoffset:95;animation:ringP 3s ease-out infinite}
@keyframes ringP{70%,100%{stroke-dashoffset:0}}
.ring span{position:absolute;inset:0;display:grid;place-items:center;font-size:20px}
.server{position:relative;display:grid;gap:5px;width:84px}
.server i{height:18px;border-radius:5px;background:#131b2e;box-shadow:inset 0 0 0 1px var(--line-2)}
.server i::after{content:"";display:block;width:5px;height:5px;border-radius:50%;background:var(--ok);margin:6px 0 0 8px;box-shadow:0 0 6px var(--ok)}
.server .up{position:absolute;top:-30px;left:50%;translate:-50% 0;color:var(--cyan);font-size:18px;animation:rise 1.8s ease-in infinite}
@keyframes rise{from{transform:translateY(10px);opacity:0}50%{opacity:1}to{transform:translateY(-8px);opacity:0}}
.thats{text-align:center;margin-top:44px;font-size:20px;font-weight:600}

/* what if */
.whatif h2{margin-bottom:40px}
.wi-list{display:grid;gap:10px}
.wi{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:center;padding:20px 24px;border-radius:14px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .2s}
.wi:hover{box-shadow:inset 0 0 0 1px var(--line-2)}
.wi-q{font-size:16px;color:var(--t1)}
.wi-a{font-size:17px;font-weight:600;color:#fff}
.wi-a::before{content:"→ ";color:var(--blue-2)}
@media (max-width:640px){.wi{grid-template-columns:1fr;gap:6px}}

/* pricing */
.price-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
@media (max-width:900px){.price-grid{grid-template-columns:1fr;gap:44px}}
.price-copy p:not(.kicker){color:var(--t1);font-size:17px;margin-top:18px;max-width:520px}
.price-copy h2{margin-bottom:6px}
.zero{list-style:none;counter-reset:z;margin:30px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.zero li{counter-increment:z;font-size:13.5px;padding:8px 12px;border-radius:99px;color:var(--t1);background:rgba(255,255,255,.035);box-shadow:inset 0 0 0 1px var(--line)}
.zero li::before{content:counter(z,decimal-leading-zero) " ";font-family:var(--mono);color:var(--blue-2);font-size:11.5px}
.zero li.last{color:#fff;box-shadow:inset 0 0 0 1px var(--line-2);background:rgba(61,123,255,.12)}
.zero li.last::before{content:"→ "}
.price-card{position:relative;padding:34px;border-radius:26px;background:linear-gradient(180deg,rgba(24,34,60,.9),rgba(10,15,27,.9));box-shadow:inset 0 0 0 1px var(--line-2),0 40px 100px -40px rgba(61,123,255,.7)}
.price-card::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(160deg,rgba(110,162,255,.8),transparent 40%,transparent 70%,rgba(89,208,255,.5));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.pc-top{display:flex;align-items:center;justify-content:space-between}
.pc-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(160deg,#6ea2ff,#2c5be6);box-shadow:0 0 22px rgba(61,123,255,.6)}
.pc-tag{font:500 11.5px var(--mono);padding:5px 10px;border-radius:99px;color:var(--ok);background:rgba(61,220,151,.12)}
.price-card h3{margin-top:22px;font-size:20px}
.pc-price{font-size:68px;font-weight:600;letter-spacing:-.05em;line-height:1;margin-top:10px}
.pc-price .cur{font-size:30px;vertical-align:26px;margin-right:2px;color:var(--t1)}
.pc-price small{font-size:16px;font-weight:400;color:var(--t2);letter-spacing:0;margin-left:6px}
.pc-list{list-style:none;margin:26px 0;padding:22px 0 0;border-top:1px solid var(--line);display:grid;gap:12px}
.pc-list li{display:flex;gap:12px;font-size:15px;color:var(--t1)}
.pc-list li::before{content:"✓";flex-shrink:0;width:20px;height:20px;border-radius:6px;display:grid;place-items:center;font-size:11px;color:var(--ok);background:rgba(61,220,151,.12)}
.pc-note{margin-top:14px;text-align:center;font-size:13px;color:var(--t2)}

/* vaultlabz */
.vl{padding:110px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:radial-gradient(700px 300px at 50% 100%,rgba(61,123,255,.14),transparent 70%)}
.vl-h{font-size:clamp(24px,3.4vw,38px);max-width:860px;margin:0 auto;letter-spacing:-.03em;line-height:1.2;color:var(--t1)}
.vl-h a{color:#fff;border-bottom:1px solid var(--line-2)}
.vl-tag{margin-top:34px;display:flex;justify-content:center;gap:18px;font:500 14px var(--mono);letter-spacing:.24em}
.vl-tag span:nth-child(2){color:var(--blue-2)}.vl-tag span:nth-child(3){color:var(--cyan)}

/* faq */
#faq h2{margin-bottom:40px}
.faq{display:grid;gap:10px}
.faq-i{border-radius:14px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .2s}
.faq-i[open]{box-shadow:inset 0 0 0 1px var(--line-2);background:var(--card-2)}
.faq-i summary{list-style:none;cursor:pointer;padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-weight:500;font-size:16.5px}
.faq-i summary::-webkit-details-marker{display:none}
.pm{position:relative;flex-shrink:0;width:26px;height:26px;border-radius:8px;background:rgba(255,255,255,.05)}
.pm::before,.pm::after{content:"";position:absolute;left:8px;right:8px;top:12.5px;height:1.5px;background:var(--t1);transition:transform .2s}
.pm::after{transform:rotate(90deg)}
.faq-i[open] .pm{background:rgba(61,123,255,.2)}
.faq-i[open] .pm::after{transform:rotate(0)}
.faq-a{padding:0 22px 22px;color:var(--t1);font-size:15.5px}

/* final */
.final{padding:130px 0 140px;overflow:hidden}
.final-glow{position:absolute;left:50%;bottom:-340px;width:1100px;height:620px;translate:-50% 0;border-radius:50%;background:radial-gradient(closest-side,rgba(61,123,255,.5),rgba(61,123,255,.1) 60%,transparent);filter:blur(10px)}
.final .wrap{position:relative}
.why{font-size:17px;color:var(--t2);max-width:560px;margin:0 auto 60px}
.why span{color:var(--t1)}
.final h2.big{font-size:clamp(44px,7.5vw,88px);letter-spacing:-.045em}
.door{margin-top:40px;color:var(--t1);font-size:17px}
.door b{color:#fff;font-weight:600}

/* footer */
.foot{border-top:1px solid var(--line);background:#04060b}
.foot-in{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-top:56px;padding-bottom:40px}
.foot-brand p{margin-top:12px;color:var(--t2);font:13px var(--mono);letter-spacing:.14em}
.foot-links{display:grid;gap:10px;font-size:14.5px;color:var(--t1)}
.foot-links a:hover,.foot-vl a:hover{color:#fff}
.foot-vl{display:grid;gap:10px;font-size:14px;color:var(--t2);align-content:start}
.foot-vl a{font:500 14px var(--mono);letter-spacing:.12em;color:var(--blue-2)}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;padding-top:22px;padding-bottom:30px;border-top:1px solid var(--line);font-size:13px;color:var(--t2)}
.status{display:flex;gap:18px;font:500 11.5px var(--mono);letter-spacing:.12em}
.status span{display:flex;align-items:center;gap:8px}
.status i{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px rgba(61,220,151,.15);animation:blink 2.4s ease-in-out infinite}
.status span:nth-child(2) i{background:var(--cyan);box-shadow:0 0 0 3px rgba(89,208,255,.15);animation-delay:1.2s}
@media (max-width:760px){.foot-in{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1 / -1}}

/* reveal on scroll */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.js .reveal.in{opacity:1;transform:none}
/* safety net: if landing.js never runs, show everything anyway */
.js:not(.js-ready) .reveal{animation:showAll 0s 2.5s forwards}
@keyframes showAll{to{opacity:1;transform:none}}


/* =====================================================================
   v2 components (new copy)
   ===================================================================== */
section.alt{background:linear-gradient(180deg,transparent,rgba(61,123,255,.035) 20%,rgba(61,123,255,.035) 80%,transparent)}
.mono{font-family:var(--mono);font-size:12.5px;letter-spacing:.1em}
.sec-sub b,.side-p b,.prose b{color:#fff;font-weight:600}
.sec-sub a,.side-p a,.note a,.panel a{color:var(--blue-2);border-bottom:1px solid rgba(110,162,255,.35)}
.sec-sub.small{font-size:15.5px;max-width:720px}
.note{color:var(--t1);font-size:16px;margin-top:34px;max-width:720px;margin-left:auto;margin-right:auto}
.note.center{text-align:center}
.note b{color:#fff;font-weight:600}
.side-p{color:var(--t1);font-size:17px;margin-top:18px;max-width:540px}
.mini-h{font:500 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--t2);margin:22px 0 14px}
.punch{margin-top:26px;font-size:clamp(20px,2.4vw,26px);line-height:1.3;letter-spacing:-.02em}
.punch b{font-weight:600}
.punch.sm{font-size:17px;margin-top:22px}
.caption{margin-top:12px;font-size:13px;color:var(--t2);text-align:center}

/* split layout */
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.split h2{font-size:clamp(32px,4.2vw,50px)}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:40px}.rev-mobile > :first-child{order:2}}

/* hero bits */
.beats{margin-top:22px;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px 14px;font-size:clamp(16px,2vw,20px);font-weight:500}
.beats span{color:#fff}
.beats i{font-style:normal;color:var(--blue-2)}
.hero-nos{list-style:none;padding:0;margin:22px auto 0;display:flex;justify-content:center;flex-wrap:wrap;gap:8px 22px;font-size:14.5px;color:var(--t2)}
.hero-nos li::before{content:"✓ ";color:var(--ok)}
.hero-by b{font-weight:500}

/* hero core with system panel */
.c-term{grid-column:1;grid-row:1 / span 2;align-self:center}
.c-term::after{right:-5px}
.gcard-h.mono{color:var(--t1);font-weight:500}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px rgba(61,220,151,.18);animation:blink 2s ease-in-out infinite}
.kv{margin:0;display:grid;gap:10px;font:13px var(--mono)}
.kv div{display:flex;align-items:baseline;gap:10px}
.kv dt{color:var(--t2);letter-spacing:.06em}
.kv div::after{content:"";order:1;flex:1;border-bottom:1px dotted rgba(120,150,220,.3);transform:translateY(-3px)}
.kv dd{order:2;margin:0;color:#fff;letter-spacing:.06em}
.kv dd.ok{color:var(--ok)}
.kv.slash div::after{display:none}
.kv.slash dt::after{content:" /";color:var(--t2)}
.prompt{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font:14px var(--mono);color:#fff;display:flex;align-items:center;gap:8px}
.pr{color:var(--blue-2)}
@media (max-width:980px){.c-term{grid-column:1 / -1;grid-row:auto}.orb{grid-row:auto}}

/* triad + verb cloud */
.lead{font-size:clamp(19px,2.2vw,24px);color:var(--t1);letter-spacing:-.01em;line-height:1.4}
.lead + .lead{margin-top:6px}
.prose p:not(.lead):not(.punch){color:var(--t1);font-size:16.5px;margin-top:16px}
.triad{list-style:none;margin:26px 0 8px;padding:0;display:grid;gap:10px}
.triad li{display:flex;align-items:center;gap:14px;font-size:18px;font-weight:500;padding:14px 18px;border-radius:14px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.triad li:last-child{box-shadow:inset 0 0 0 1px var(--line-2);background:linear-gradient(90deg,rgba(61,123,255,.18),rgba(61,123,255,.03))}
.triad span{font:500 12px var(--mono);color:var(--blue-2)}
.verb-cloud{list-style:none;padding:0;margin:36px auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:860px}
.verb-cloud.left{justify-content:flex-start;margin:24px 0 0}
.verb-cloud li{font-size:15px;padding:10px 16px;border-radius:12px;color:var(--t0);background:rgba(255,255,255,.035);box-shadow:inset 0 0 0 1px var(--line)}
.verb-cloud li.hi{color:#fff;background:linear-gradient(180deg,#5b93ff,#2f63f0);box-shadow:var(--glow)}

/* pipelines */
.pipe{list-style:none;padding:0;margin:44px auto 0;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0}
.pipe li{position:relative;font:500 13px var(--mono);letter-spacing:.12em;padding:14px 18px;border-radius:12px;color:var(--t0);background:var(--card);box-shadow:inset 0 0 0 1px var(--line-2)}
.pipe li + li{margin-left:44px}
.pipe li + li::before{content:"";position:absolute;right:100%;top:50%;width:44px;height:2px;margin-top:-1px;background:linear-gradient(90deg,var(--line-2),var(--cyan))}
.pipe li + li::after{content:"";position:absolute;right:calc(100% + 1px);top:50%;margin-top:-4px;border-left:6px solid var(--cyan);border-top:4px solid transparent;border-bottom:4px solid transparent}
.pipe.glow-last li:last-child{color:#fff;background:linear-gradient(180deg,#5b93ff,#2f63f0);box-shadow:var(--glow)}
.js .reveal .pipe li{opacity:0;transform:translateY(8px);transition:opacity .5s,transform .5s;transition-delay:calc(var(--i) * 120ms + 200ms)}
.js .reveal.in .pipe li,.js .reveal.in.pipe li{opacity:1;transform:none}
.pipe.vert{flex-direction:column;align-items:stretch;margin:0}
.pipe.vert li{text-align:center}
.pipe.vert li + li{margin-left:0;margin-top:26px}
.pipe.vert li + li::before{right:auto;left:50%;top:auto;bottom:100%;width:2px;height:26px;margin:0 0 0 -1px;background:linear-gradient(180deg,var(--line-2),var(--cyan))}
.pipe.vert li + li::after{right:auto;left:50%;top:auto;bottom:calc(100% + 1px);margin:0 0 0 -4px;border-top:6px solid var(--cyan);border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:0}
@media (max-width:760px){
  .pipe:not(.vert){flex-direction:column;align-items:center}
  .pipe:not(.vert) li + li{margin-left:0;margin-top:26px}
  .pipe:not(.vert) li + li::before{right:auto;left:50%;top:auto;bottom:100%;width:2px;height:26px;margin:0 0 0 -1px;background:linear-gradient(180deg,var(--line-2),var(--cyan))}
  .pipe:not(.vert) li + li::after{right:auto;left:50%;top:auto;bottom:calc(100% + 1px);margin:0 0 0 -4px;border-top:6px solid var(--cyan);border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:0}
}

/* step line under editor */
.stepline{list-style:none;counter-reset:s;padding:0;margin:28px 0 0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.stepline li{counter-increment:s;font-size:13.5px;padding:8px 13px;border-radius:99px;color:var(--t1);background:rgba(255,255,255,.035);box-shadow:inset 0 0 0 1px var(--line)}
.stepline li::before{content:counter(s,decimal-leading-zero) "  ";font:11.5px var(--mono);color:var(--blue-2)}
.stepline li.hi{color:#fff;box-shadow:inset 0 0 0 1px var(--line-2);background:rgba(61,123,255,.16)}
.stepline li.hi::before{content:"→  "}

/* kinds list */
.kinds{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.kinds li{display:flex;align-items:center;gap:10px;font-size:15px;padding:13px 16px;border-radius:12px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .2s,transform .2s}
.kinds li:hover{box-shadow:inset 0 0 0 1px var(--line-2);transform:translateX(3px)}
.kinds li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue-2);box-shadow:0 0 8px var(--blue)}
@media (max-width:480px){.kinds{grid-template-columns:1fr}}

/* terminal windows */
.term{border-radius:18px;overflow:hidden;background:#070b14;box-shadow:inset 0 0 0 1px var(--line-2),0 40px 100px -40px rgba(61,123,255,.55)}
.term-bar{display:flex;align-items:center;gap:12px;height:40px;padding:0 14px;background:#0b111e;border-bottom:1px solid var(--line)}
.term-t{font:12px var(--mono);color:var(--t2)}
.term-body{padding:22px 22px 24px;font:14px/1.9 var(--mono);color:var(--t1)}
.tl{margin:0}
.tl.dim{color:var(--t2)}
.tl.ok,.ok{color:var(--ok)}
.tl.hl{color:#fff;font-weight:500;letter-spacing:.06em}
.log{list-style:none;margin:4px 0 6px;padding:0 0 0 12px}
.log li{color:#fff}
.ck{color:var(--ok)}
.zipline{margin-top:12px;display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:10px;background:rgba(61,123,255,.14);box-shadow:inset 0 0 0 1px var(--line-2);color:#fff}
.zipi{color:var(--cyan)}
.js .reveal .log li,.js .reveal .tl.done,.js .reveal .tl.zipline,.js .reveal .tl.s{opacity:0;transform:translateX(-6px);transition:opacity .35s,transform .35s;transition-delay:calc(var(--i) * 260ms + 300ms)}
.js .reveal.in .log li,.js .reveal.in .tl.done,.js .reveal.in .tl.zipline,.js .reveal.in .tl.s{opacity:1;transform:none}
.ftree{margin:0;font:14px/1.6 var(--mono);color:#3f4c6b;white-space:pre;overflow-x:auto}
.ftree .d{color:#fff}.ftree .f{color:#7fb0ff}.ftree .c{color:#c792ea}.ftree .j{color:#ffd166}
.code{margin:0;font:14px/1.85 var(--mono);color:var(--t0);white-space:pre;overflow-x:auto}
.code .ln{display:inline-block;width:26px;color:#3f4960;margin-right:10px;text-align:right}
.form-l{display:flex;gap:12px;align-items:center;margin:6px 0 6px 14px}
.form-l > span:first-child{color:var(--t2);min-width:120px}
.form-l b{color:#fff;font-weight:500}
.form-l .okc{color:var(--ok)}
.field{display:inline-flex;align-items:center;min-width:180px;padding:2px 8px;border-bottom:1px solid var(--line-2);color:#fff}
.typed{display:inline-block;overflow:hidden;white-space:nowrap;width:0;animation:type 2.2s steps(16) .6s forwards}
@keyframes type{to{width:16ch}}
.btn.mt{margin-top:18px}
@media (max-width:520px){.term-body{padding:16px;font-size:12.5px}.form-l{flex-wrap:wrap;gap:4px 10px;margin-left:0}.form-l > span:first-child{min-width:0}.ftree,.code{font-size:12.5px}}

/* checks */
.checks{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:10px}
.checks.two{grid-template-columns:1fr 1fr}
.checks li{display:flex;align-items:center;gap:12px;font-size:16px;color:var(--t0)}
.checks li::before{content:"✓";flex-shrink:0;width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font-size:11px;color:var(--ok);background:rgba(61,220,151,.12)}
@media (max-width:480px){.checks.two{grid-template-columns:1fr}}

/* layers (HTML/CSS/JS) */
.layers{position:relative;display:grid;gap:14px;perspective:1200px}
.layer{position:relative;display:grid;grid-template-columns:150px 1fr;grid-template-rows:auto auto;column-gap:18px;padding:22px 24px;border-radius:18px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line-2),0 20px 50px -30px rgba(61,123,255,.6);transition:transform .3s,box-shadow .3s}
.layer:hover{transform:translateX(-6px);box-shadow:inset 0 0 0 1px rgba(110,162,255,.5),0 24px 60px -28px rgba(61,123,255,.8)}
.layer b{grid-row:1 / span 2;font:600 18px var(--mono);letter-spacing:.04em;align-self:center}
.layer span{font:500 12px var(--mono);letter-spacing:.18em;color:var(--t2)}
.layer small{font-size:14.5px;color:var(--t1)}
.layer.l0 b{color:#7fb0ff}.layer.l1 b{color:#c792ea}.layer.l2 b{color:#ffd166}
.layer.l0{margin-left:0}.layer.l1{margin-left:22px}.layer.l2{margin-left:44px}
@media (max-width:560px){.layer{grid-template-columns:1fr;row-gap:4px}.layer b{grid-row:auto}.layer.l1,.layer.l2{margin-left:0}}

/* compare */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:760px;margin-top:54px}
.cmp{position:relative;padding:26px;border-radius:22px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.cmp.new{box-shadow:inset 0 0 0 1px var(--line-2),0 30px 80px -40px rgba(61,123,255,.7);background:linear-gradient(180deg,rgba(24,34,60,.9),rgba(10,15,27,.9))}
.cmp-h{font:500 12px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--t2);margin-bottom:18px;text-align:center}
.cmp.new .cmp-h{color:var(--blue-2)}
.cmp.old .pipe li{color:var(--t2);background:rgba(255,255,255,.02);box-shadow:inset 0 0 0 1px var(--line);padding:10px 14px;font-size:12px}
.cmp.old .pipe li + li{margin-top:16px}
.cmp.old .pipe li + li::before{height:16px;background:var(--line-2)}
.cmp.old .pipe li + li::after{border-top-color:var(--line-2)}
.cmp.old .pipe li:last-child{color:var(--bad);box-shadow:inset 0 0 0 1px rgba(255,107,122,.35)}
.loop{position:absolute;right:18px;bottom:18px;font-size:22px;color:var(--bad);opacity:.7;animation:spin 4s linear infinite}
@media (max-width:640px){.compare{grid-template-columns:1fr}}

/* pricing v2 */
.maybes,.lock-maybes{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:8px}
.maybes li{font-size:17px;color:var(--t1);padding-left:18px;position:relative}
.maybes li::before{content:"";position:absolute;left:0;top:.65em;width:8px;height:1.5px;background:var(--blue-2)}
.pc-price small{font-size:17px}
.pc-beats{display:grid;gap:4px;margin:0 0 22px;font-weight:600;font-size:16px}
.pc-beats span:last-child{color:var(--blue-2)}
.lock-maybes{max-width:560px;margin:30px auto;text-align:left}
.lock-maybes li{font-size:16px;color:var(--t1);padding:12px 16px;border-radius:12px;background:rgba(255,255,255,.035);box-shadow:inset 0 0 0 1px var(--line)}
.nolock-card h2{font-size:clamp(34px,5vw,56px)}

/* two panels */
.two-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media (max-width:900px){.two-cards{grid-template-columns:1fr}}
.panel{position:relative;overflow:hidden;padding:34px;border-radius:24px;background:linear-gradient(180deg,rgba(20,28,48,.8),rgba(10,14,24,.8));box-shadow:inset 0 0 0 1px var(--line)}
.panel::before{content:"";position:absolute;inset:-40% -20% auto auto;width:320px;height:320px;background:radial-gradient(circle,rgba(61,123,255,.16),transparent 65%);pointer-events:none}
.panel p:not(.kicker):not(.mini-h){color:var(--t1);font-size:15.5px;margin-top:14px}
.panel p b{color:#fff;font-weight:600}
.h-md{font-size:clamp(28px,3.4vw,40px);margin-bottom:6px}
ul.chips{list-style:none;padding:0;margin:16px 0 0}
.chips.big .chip{font-size:13.5px;padding:8px 13px}
.v-host.compact{margin:22px 0 0;max-width:none}
.v-host.compact .vh-lines{height:110px}
.v-host.compact .vh-dests span{font-size:13px;padding:8px 12px}
@media (max-width:600px){.panel{padding:24px}}

/* use cases */
.uses{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:56px}
@media (max-width:1000px){.uses{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.uses{grid-template-columns:1fr}}
.use{padding:24px;border-radius:20px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);transition:transform .25s,box-shadow .25s}
.use:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px var(--line-2),0 24px 60px -30px rgba(61,123,255,.7)}
.use-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:18px;color:var(--cyan);background:rgba(61,123,255,.14);box-shadow:inset 0 0 0 1px var(--line-2);margin-bottom:18px}
.use h3{font-size:18px;letter-spacing:-.02em}
.use p{margin-top:8px;color:var(--t1);font-size:14.5px}
.use:last-child{background:linear-gradient(160deg,rgba(61,123,255,.2),rgba(89,208,255,.05));box-shadow:inset 0 0 0 1px var(--line-2)}

/* numbered */
.numbered{list-style:none;counter-reset:n;padding:0;margin:24px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.numbered li{counter-increment:n;display:flex;gap:10px;font-size:15.5px;color:var(--t0)}
.numbered li::before{content:counter(n,decimal-leading-zero);font:12px/1.9 var(--mono);color:var(--blue-2)}
@media (max-width:480px){.numbered{grid-template-columns:1fr}}

/* personas */
.personas{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:50px}
@media (max-width:860px){.personas{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.personas{grid-template-columns:1fr}}
.persona{padding:20px 22px;border-radius:16px;font-size:15.5px;color:var(--t1);background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.persona b{display:block;color:#fff;font-size:17px;font-weight:600;margin-bottom:4px}

/* files you can keep */
.keeps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:54px}
@media (max-width:860px){.keeps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.keeps{grid-template-columns:1fr}}
.keep{padding:22px;border-radius:20px;background:linear-gradient(180deg,rgba(20,28,48,.8),rgba(10,14,24,.8));box-shadow:inset 0 0 0 1px var(--line)}
.keep h3{font-size:18px;margin-top:18px}
.keep p{color:var(--t1);font-size:14.5px;margin-top:6px}
.keep-vis{height:92px;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:10px;background:rgba(0,0,0,.3);box-shadow:inset 0 0 0 1px var(--line)}
.keep-vis code{font:14px var(--mono);color:#7fb0ff}
.k-css .keep-vis code{color:#c792ea}.k-js .keep-vis code{color:#ffd166}
.swc{display:inline-block;width:12px;height:12px;border-radius:3px;background:var(--cyan);vertical-align:-1px}
.img-tile{width:48px;height:48px;border-radius:10px;background:linear-gradient(135deg,#ff8a5b,#c2338a)}
.img-tile.b{background:linear-gradient(135deg,#3d7bff,#59d0ff)}.img-tile.c{background:linear-gradient(135deg,#3ddc97,#157a64)}
.aa{font-size:44px;font-weight:600;letter-spacing:-.03em;background:linear-gradient(92deg,#fff,var(--blue-2));-webkit-background-clip:text;background-clip:text;color:transparent;font-family:Georgia,"Times New Roman",serif}
.icons{font-size:24px;letter-spacing:.35em;color:var(--cyan)}

/* ownership */
.own-card{padding:32px;border-radius:24px;background:linear-gradient(180deg,rgba(24,34,60,.9),rgba(10,15,27,.9));box-shadow:inset 0 0 0 1px var(--line-2),0 40px 100px -40px rgba(61,123,255,.6)}
.own-card > p:first-child{font-size:17px;color:var(--t1)}

/* open web */
.stack-list{margin:44px auto 0;max-width:560px;display:grid;gap:8px;text-align:left}
.stack-list div{display:grid;grid-template-columns:140px 1fr;align-items:center;padding:14px 20px;border-radius:12px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.stack-list dt{font:500 14px var(--mono);color:var(--blue-2)}
.stack-list dd{margin:0;color:var(--t0);font-size:15.5px}
.principle{margin:30px auto 0;max-width:640px;padding:28px 30px;border-radius:20px;font-size:clamp(20px,2.6vw,28px);font-weight:600;letter-spacing:-.02em;line-height:1.3;color:#fff;background:linear-gradient(135deg,rgba(61,123,255,.24),rgba(89,208,255,.06));box-shadow:inset 0 0 0 1px var(--line-2),0 30px 80px -40px rgba(61,123,255,.8)}
@media (max-width:480px){.stack-list div{grid-template-columns:1fr;gap:2px}}

/* big stat */
.bigstat{margin:40px auto 0;display:flex;flex-direction:column;align-items:center;gap:8px}
.bigstat .num{font-size:clamp(52px,10vw,120px);font-weight:600;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums;background:linear-gradient(180deg,#fff 30%,var(--blue-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.bigstat .lbl{color:var(--t1);font-size:16px}
.bigstat .src{font:12px var(--mono);color:var(--t2);border-bottom:1px solid var(--line-2)}
.bigstat .src:hover{color:var(--blue-2)}
.vl-tag.big{font-size:clamp(16px,2.4vw,24px);margin-top:26px}
.vl-tag.left{justify-content:flex-start}

/* 5 steps */
.steps.five{grid-template-columns:repeat(5,1fr)}
@media (max-width:1100px){.steps.five{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){.steps.five{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.steps.five{grid-template-columns:1fr}}
.step ul{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:6px}
.step ul li{font-size:14.5px;color:var(--t1)}
.step .step-n{display:block;padding-bottom:14px;border-bottom:1px solid var(--line);font-size:13px}
.steps.five .step{position:relative}
.steps.five .step:nth-child(4){box-shadow:inset 0 0 0 1px var(--line-2);background:linear-gradient(180deg,rgba(61,123,255,.14),rgba(10,15,27,.6))}
.mini-term{margin:12px 0 0;padding:12px;border-radius:10px;background:rgba(0,0,0,.35);box-shadow:inset 0 0 0 1px var(--line);font:12.5px/1.7 var(--mono);color:var(--t1)}

/* no cage + final */
.cage{margin-bottom:110px}
.big-cage{font-size:clamp(56px,9vw,110px);letter-spacing:-.05em}
.nocage{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:10px}
.nocage li{font-size:18px;color:var(--t1);display:flex;gap:12px;align-items:center}
.nocage li::before{content:"✕";flex-shrink:0;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font-size:11px;color:var(--bad);background:rgba(255,107,122,.12)}
.final-cta .beats{margin-top:26px}
.final-cta .door{margin-top:24px}

/* vaultlabz v2 */
.vl .vl-h{text-align:left;margin:0;font-size:clamp(26px,3.4vw,40px);color:#fff}
.vl-list{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px}
.vl-list span{font-size:14px;padding:8px 13px;border-radius:10px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--line);color:var(--t0)}
.cta.left{justify-content:flex-start;margin-top:28px}
.vl-name{font:600 30px var(--sans);letter-spacing:.12em;color:#fff;margin:4px 0 18px}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .js .reveal{opacity:1;transform:none}
  .track{flex-wrap:wrap;width:auto;justify-content:center}
  .track [aria-hidden="true"]{display:none}
  .marquee.rev{display:none}
  .js .reveal .pipe li,.js .reveal .log li,.js .reveal .tl.done,.js .reveal .tl.zipline,.js .reveal .tl.s{opacity:1;transform:none}
  .typed{width:auto}
}
/* if landing.js never runs, show animated children too */
.js:not(.js-ready) .reveal .pipe li,.js:not(.js-ready) .reveal .log li,.js:not(.js-ready) .reveal .tl.done,.js:not(.js-ready) .reveal .tl.zipline,.js:not(.js-ready) .reveal .tl.s{animation:showAll 0s 2.5s forwards}
@media (max-width:480px){.badge{font-size:11.5px;text-align:left}.hero h1{font-size:44px}}
