:root{
  --bg:#000000; --line:rgba(255,255,255,.09); --line-soft:rgba(255,255,255,.055);
  --txt:#c9c9c9; --txt-bright:#f0f0f0; --dim:#828282; --faint:#4c4c4c;
  --red:#e05252; --yellow:#d9a53b; --green:#4fc46a;
  --mono:'JetBrains Mono',Consolas,'Courier New',monospace;
  --r-lg:18px; --r-md:14px; --r-sm:10px;
  --mx:50vw; --my:20vh;
}
@property --angle{syntax:'<angle>';initial-value:0deg;inherits:false}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--txt);font-family:var(--mono);font-weight:400;line-height:1.6;overflow-x:hidden;cursor:default}
h1,h2,h3,blockquote,.p-value,.specs b{font-family:var(--mono);font-weight:500;letter-spacing:-.01em}
em{font-style:normal}
::selection{background:#e8e8e8;color:#000}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#050505}
::-webkit-scrollbar-thumb{background:#262626;border-radius:99px;border:2px solid #050505}
::-webkit-scrollbar-thumb:hover{background:#3d3d3d}

/* ---------- FX layers ---------- */
#progress{position:fixed;top:0;left:0;height:2px;width:0;z-index:120;background:linear-gradient(90deg,#555,#eee);box-shadow:0 0 12px rgba(255,255,255,.35)}
.bg-grid{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(ellipse 90% 70% at 50% 20%,#000 30%,transparent 75%);
  animation:grid-pan 24s linear infinite}
@keyframes grid-pan{to{background-position:0 44px,44px 0}}
.bg-spot{display:none}
/* cursor glow removed - only dot remains */
body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(600px 400px at 15% 10%,rgba(255,255,255,.05),transparent 70%),
    radial-gradient(700px 500px at 85% 30%,rgba(255,255,255,.032),transparent 70%),
    radial-gradient(800px 600px at 50% 100%,rgba(255,255,255,.028),transparent 70%)}
.scanlines{position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.5;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.022) 0 1px,transparent 1px 3px)}
.grain{position:fixed;inset:0;z-index:61;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='0.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
#petals{position:fixed;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.petal{position:absolute;top:-20px;background:#222;border-radius:80% 0 80% 0;animation:fall linear forwards}
@keyframes fall{to{transform:translateY(110vh) rotate(320deg);opacity:0}}
/* ---------- native cursor OFF - only lantern ---------- */
@media(hover:hover) and (pointer:fine){
  *,*::before,*::after{cursor:none!important}
}
/* cursor glow removed - only dot remains */
#cursor-dot{position:fixed;top:0;left:0;width:14px;height:14px;margin:-7px 0 0 -7px;z-index:130;pointer-events:none;opacity:0;transition:opacity .3s}
#cursor-dot::before{content:'';position:absolute;inset:0;border:1px solid rgba(255,255,255,.8);border-radius:50%}
#cursor-dot::after{content:'';position:absolute;left:50%;top:50%;width:3px;height:3px;margin:-1.5px;background:#fff;border-radius:50%}
#cursor-dot.hot::before{transform:scale(1.9);border-color:#fff}
@media(hover:none){#cursor-dot{display:none}}

/* ---------- BOOT ---------- */
.boot{position:fixed;inset:0;background:rgba(0,0,0,.92);backdrop-filter:blur(10px);z-index:100;display:flex;align-items:center;justify-content:center;transition:opacity .6s}
.boot.hide{opacity:0;pointer-events:none}
.boot-box{width:min(620px,90vw);border-radius:var(--r-lg);padding:1.4rem;background:rgba(10,10,10,.75);backdrop-filter:blur(20px);border:1px solid var(--line);animation:boot-in .5s steps(14) both}
@keyframes boot-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.boot-top{font-size:11px;color:var(--faint);margin-bottom:.8rem;letter-spacing:.1em}
.boot-code{font-size:12px;color:var(--dim);white-space:pre-wrap;min-height:150px;line-height:1.7}
.boot-code .ok{color:var(--txt)}
.boot-code div{animation:boot-line .3s steps(8) both}
@keyframes boot-line{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}
.boot-bar-wrap{margin-top:1rem;border:1px solid var(--line);border-radius:99px;padding:3px}
.boot-bar{height:8px;background:#111;border-radius:99px;overflow:hidden}
.boot-bar b{display:block;height:100%;width:0;background:linear-gradient(90deg,#444,#ddd);border-radius:99px;transition:width .3s}
.boot-pct{margin-top:.5rem;font-size:11px;color:var(--faint)}
.caret,.blink{animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}

body.loading main,body.loading header.nav,body.loading footer{visibility:hidden}
body.loaded main,body.loaded header.nav,body.loaded footer{visibility:visible}
.from-code{opacity:0}
body.loaded .from-code{opacity:1;animation:codein .9s steps(24) both}
body.loaded .from-code.d1{animation-delay:.05s}
body.loaded .from-code.d2{animation-delay:.18s}
body.loaded .from-code.d3{animation-delay:.32s}
body.loaded .from-code.d4{animation-delay:.46s}
@keyframes codein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.decode{white-space:pre-wrap}

/* ---------- NAV ---------- */
.nav{position:sticky;top:12px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1.2rem;margin:12px 16px 0;border-radius:var(--r-lg);background:rgba(10,10,10,.62);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--line);box-shadow:0 12px 40px rgba(0,0,0,.5)}
body.loaded .nav{animation:nav-drop .6s steps(18) both}
@keyframes nav-drop{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
.logo{display:flex;align-items:center;gap:.6rem;color:var(--txt);text-decoration:none;font-size:13px;letter-spacing:.12em}
.logo svg{color:var(--dim);transition:transform .4s ease;filter:drop-shadow(0 0 6px rgba(255,255,255,.15))}
.logo:hover svg{transform:rotate(-12deg) scale(1.12)}
.logo-dim{color:var(--faint)}
.nav nav{display:flex;gap:.2rem}
.nav nav a{color:var(--dim);text-decoration:none;font-size:12px;padding:.4rem .7rem;border-radius:8px;position:relative;transition:color .25s,background .25s}
.nav nav a:hover{color:var(--txt-bright);background:rgba(255,255,255,.06)}
.nav nav a::before{content:'[ ';color:var(--faint)}
.nav nav a::after{content:' ]';color:var(--faint)}
.btn-small{border:1px solid var(--line);border-radius:var(--r-sm);color:var(--txt);text-decoration:none;font-size:12px;padding:.55rem 1rem;background:rgba(255,255,255,.05);transition:transform .25s,background .25s,box-shadow .25s}
.btn-small:hover{background:#e8e8e8;color:#000;transform:translateY(-2px);box-shadow:0 8px 24px rgba(255,255,255,.15)}

/* ---------- HERO ---------- */
.hero{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;padding:2.5rem 1rem 1.5rem;max-width:1200px;margin:0 auto;position:relative;z-index:2}
.hero-left{border-radius:var(--r-lg);padding:2rem;background:rgba(12,12,12,.58);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line);color:var(--txt);animation:hero-in .8s steps(22) both .35s;position:relative;overflow:hidden}
.hero-left::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(400px 200px at 20% 0%,rgba(255,255,255,.06),transparent 70%)}
@keyframes hero-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.hero-left .cmd-line,.hero-left h1,.hero-left h1 em,.hero-left .sub,.hero-left .hero-meta,.hero-left .hero-meta span,.hero-left .hero-meta b{color:var(--txt)}
.cmd-line{font-size:12px;margin-bottom:1.2rem}
.cmd-line::after{content:'▊';margin-left:4px;animation:blink 1s steps(1) infinite}
.hero h1{font-size:clamp(2.9rem,6.5vw,5.2rem);line-height:1.0;font-weight:700;color:var(--txt-bright);text-shadow:0 0 30px rgba(255,255,255,.12)}
.hero h1 em{position:relative}
.sub{margin:1.6rem 0 2.2rem;font-size:14.5px;max-width:44ch}
.hero-cta{display:flex;gap:.7rem;flex-wrap:wrap}
.hero-steps{margin-top:1.3rem;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-sm);background:rgba(0,0,0,.35);overflow:hidden}
.hero-steps div{display:flex;align-items:center;gap:.7rem;padding:.5rem .8rem;font-size:12.5px;border-bottom:1px solid rgba(255,255,255,.05)}
.hero-steps div:last-child{border-bottom:0}
.hero-steps span{color:var(--faint);font-size:11px}
.btn{border:1px solid var(--line);border-radius:var(--r-sm);color:var(--txt);text-decoration:none;padding:.85rem 1.35rem;font-size:13px;display:inline-block;background:rgba(255,255,255,.06);font-family:var(--mono);font-weight:700;transition:transform .25s,background .25s,border-color .25s,color .25s}
/* white-button sweep removed: buttons are matte gray now */
.btn:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);color:var(--txt-bright);transform:translateY(-2px)}
.btn:focus-visible{outline:1px solid var(--txt);outline-offset:2px}
.btn:active{transform:scale(.97)}
.btn-ghost{border:1px solid var(--line);border-radius:var(--r-sm);color:var(--txt);text-decoration:none;padding:.85rem 1.35rem;font-size:13px;display:inline-block;background:rgba(255,255,255,.03);font-family:var(--mono);transition:transform .25s,background .25s,border-color .25s}
.btn-ghost:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.25);transform:translateY(-2px)}
.hero-meta{margin-top:1.6rem;font-size:11px;display:flex;gap:.6rem;align-items:center}
.hero-meta i{font-style:normal;opacity:.5}
.hero-left{display:flex;flex-direction:column;justify-content:space-between;gap:1.2rem}
.hero-live{margin-top:auto;padding-top:1.4rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.hero-live div{border:1px solid var(--line);border-radius:var(--r-sm);padding:.5rem .6rem;background:rgba(0,0,0,.35)}
.hero-live span{display:block;font-size:9.5px;letter-spacing:.18em;color:var(--faint);text-transform:uppercase}
.hero-live b{font-size:14px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}
.hero-meta b{font-weight:700}
#clock{border:1px solid var(--line);border-radius:6px;padding:.1rem .5rem;background:rgba(0,0,0,.4)}

.hero-right{display:flex;flex-direction:column;gap:1.2rem}
.monitor{border-radius:var(--r-lg);font-size:12.5px;background:rgba(12,12,12,.66);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--line);overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.55);animation:floaty 7s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.term-head{display:flex;align-items:center;gap:.8rem;padding:.7rem 1rem;border-bottom:1px solid var(--line);color:var(--dim);background:rgba(255,255,255,.025)}
.dots{display:flex;gap:5px}.dots i{width:9px;height:9px;border-radius:50%;background:#222;display:block}
.dots i:nth-child(1){background:var(--red)}
.dots i:nth-child(2){background:var(--yellow)}
.dots i:nth-child(3){background:var(--green)}
.dots i:nth-child(3){animation:pulse-dot 2.4s ease-in-out infinite}
.lamp{width:10px;height:10px;border-radius:50%;flex:none;animation:pulse-dot 2.4s ease-in-out infinite}
.lamp.g{background:var(--green)}
.lamp.y{background:var(--yellow)}
.lamp.r{background:var(--red)}
@keyframes pulse-dot{0%,100%{opacity:1}50%{opacity:.25}}
.term-title{flex:1;font-size:11px;opacity:.7}
.term-live{font-size:11px;color:var(--faint);border:1px solid var(--line);border-radius:99px;padding:.15rem .6rem;background:rgba(0,0,0,.4)}
.term-live.on{color:#06130a;background:var(--green);border-color:var(--green);animation:pulse-on 1.8s ease-in-out infinite}
@keyframes pulse-on{0%,100%{box-shadow:0 0 0 0 rgba(79,196,106,.45)}50%{box-shadow:0 0 0 6px rgba(79,196,106,0)}}
.mon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;padding:.9rem 1rem 0}
.mon-stat{border:1px solid var(--line);border-radius:var(--r-sm);padding:.5rem .6rem;background:rgba(0,0,0,.4)}
.mon-k{display:block;font-size:9.5px;letter-spacing:.18em;color:var(--faint);text-transform:uppercase}
.mon-stat b{font-size:14px;font-weight:500;color:var(--txt-bright);font-variant-numeric:tabular-nums;white-space:nowrap}
.node{border:1px solid var(--line);border-radius:var(--r-sm);padding:.6rem .7rem .55rem;background:rgba(0,0,0,.38)}
.mon-nodes{padding:.6rem 1rem 1rem;display:flex;flex-direction:column;gap:.4rem}
.node-top{display:flex;align-items:center;gap:.5rem;font-size:12px}
.node-top b{color:var(--txt-bright);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.node-meta{margin-left:auto;color:var(--faint);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}
.node-load{color:var(--txt);font-size:11px;font-variant-numeric:tabular-nums;min-width:38px;text-align:right}
.node-bar{height:4px;border-radius:99px;background:#1c1c1c;margin:.5rem 0 .45rem;overflow:hidden}
.node-bar b{display:block;height:100%;background:linear-gradient(90deg,#666,#ddd);border-radius:99px;transition:width .6s ease}
.node-chart{display:block;width:100%;height:44px}
.mon-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mon-ms{font-variant-numeric:tabular-nums;color:var(--txt);text-align:right}
.dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex:none}
.dot.g{background:var(--green)}
.dot.y{background:var(--yellow)}
.dot.r{background:var(--red)}
.mon-legend{display:flex;gap:1rem;padding:.1rem 1rem 1rem;font-size:10px;letter-spacing:.08em;color:var(--faint)}
.mon-legend .dot{margin-right:.35rem}
.mon-src{margin-left:auto;border:1px solid var(--line);border-radius:6px;padding:0 .45rem;font-size:10px;letter-spacing:.12em}
.mon-src.real{color:var(--green);border-color:rgba(79,196,106,.45)}
.mon-src.stale{color:var(--yellow);border-color:rgba(217,165,59,.45)}
.mon-src.demo{color:var(--faint)}

.rose-wrap{border-radius:var(--r-lg);padding:1.2rem;background:rgba(12,12,12,.58);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line);overflow-x:auto;position:relative;transition:border-color .4s,transform .4s}
.rose-wrap:hover{border-color:rgba(255,255,255,.22);transform:translateY(-3px)}
.rose-wrap::after{content:'LIVE RENDER';position:absolute;top:12px;right:14px;font-size:9px;letter-spacing:.2em;color:var(--faint);border:1px solid var(--line);border-radius:6px;padding:.15rem .5rem}
.rose-head{font-size:11px;color:var(--faint);margin-bottom:.6rem;letter-spacing:.08em}
.rose-ascii{font-family:var(--mono);font-size:10.5px;line-height:1.25;color:#9a9a9a;white-space:pre;min-width:560px;animation:flicker 6s linear infinite;text-shadow:0 0 18px rgba(255,255,255,.08)}
@keyframes flicker{0%,100%{opacity:1}92%{opacity:1}93%{opacity:.6}94%{opacity:1}96%{opacity:.75}97%{opacity:1}}
.rose-caption{color:var(--faint);margin-top:.6rem;font-size:12px}

/* ---------- blocks ---------- */
.block{max-width:1200px;margin:0 auto;padding:2.5rem 1rem;position:relative;z-index:2}
.label{color:var(--faint);font-size:12px;margin-bottom:.8rem;display:inline-block;border:1px solid var(--line);border-radius:8px;padding:.2rem .6rem;background:rgba(0,0,0,.4)}
.label.typing::after{content:'▊';animation:blink .8s steps(1) infinite}
.block h2{font-size:clamp(1.5rem,3.5vw,2.4rem);line-height:1.15;margin-bottom:1.6rem;color:var(--txt-bright);font-weight:700;text-shadow:0 0 24px rgba(255,255,255,.08)}
.block h2 em{color:var(--dim)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem;background:transparent;border:0;perspective:900px}
.card,.price{border-radius:var(--r-lg);padding:1.7rem;background:rgba(12,12,12,.58);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line);position:relative;overflow:hidden;transition:transform .12s ease-out,border-color .35s,box-shadow .35s;transform-style:preserve-3d;will-change:transform}
.card::before,.price::before{content:'';position:absolute;inset:0;opacity:0;transition:opacity .35s;pointer-events:none;background:radial-gradient(300px 200px at var(--sx,50%) var(--sy,0%),rgba(255,255,255,.09),transparent 70%)}
.card:hover::before,.price:hover::before{opacity:1}
.card:hover,.price:hover{border-color:rgba(255,255,255,.22);box-shadow:0 18px 50px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.04)}
.card .num{color:var(--faint);font-size:12px}
.card h3{font-size:1.15rem;font-weight:700;margin:.6rem 0;color:var(--txt-bright)}
.card p{color:var(--dim);font-size:13px;margin-bottom:1rem}
.card code{font-size:11.5px;color:var(--dim);background:rgba(0,0,0,.6);border:1px solid var(--line);border-radius:var(--r-sm);padding:.35rem .6rem;display:inline-block;transition:border-color .3s,color .3s}
.card:hover code{border-color:rgba(255,255,255,.25);color:var(--txt-bright)}
.specs{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem;margin-top:.9rem;border:0;background:transparent}
.specs div{padding:1.3rem;text-align:center;border-radius:var(--r-md);background:rgba(12,12,12,.58);backdrop-filter:blur(16px);border:1px solid var(--line);transition:transform .3s,border-color .3s}
.specs div:hover{transform:translateY(-3px) scale(1.02);border-color:rgba(255,255,255,.2)}
.specs b{display:block;font-size:1.7rem;font-weight:700;color:var(--txt-bright);font-variant-numeric:tabular-nums}
.specs span{font-size:11px;color:var(--dim)}

/* ---------- servers ---------- */
.srv-table{border-radius:var(--r-lg);background:rgba(12,12,12,.58);backdrop-filter:blur(16px);border:1px solid var(--line);font-size:13px;overflow:hidden}
.srv-head,.srv-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;padding:.85rem 1.2rem;gap:1rem;align-items:center}
.srv-head{color:var(--faint);font-size:11px;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid var(--line);background:rgba(255,255,255,.025)}
.srv-row{border-bottom:1px solid rgba(255,255,255,.05);transition:background .3s,transform .3s}
.srv-row:last-child{border-bottom:0}
.srv-row:hover{background:rgba(255,255,255,.045);transform:translateX(4px)}
.ok{color:var(--txt-bright)}.warn{color:var(--dim)}
.bar{display:inline-block;width:70px;height:6px;border-radius:99px;background:#1c1c1c;vertical-align:middle;margin-right:.5rem;overflow:hidden}
.bar b{display:block;height:100%;background:linear-gradient(90deg,#666,#eee);border-radius:99px;transform-origin:left}
.hint{color:var(--faint);font-size:12px;margin-top:.9rem}

/* ---------- price ---------- */
.price{display:flex;flex-direction:column;gap:.5rem}
.price.featured{background:rgba(22,22,22,.7);border:1px solid transparent;background-clip:padding-box;position:relative}
.price.featured::after{content:'';position:absolute;inset:-1px;border-radius:var(--r-lg);padding:1px;pointer-events:none;
  background:conic-gradient(from var(--angle),rgba(255,255,255,.05),rgba(255,255,255,.5),rgba(255,255,255,.05));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  animation:spin-border 5s linear infinite}
@keyframes spin-border{to{--angle:360deg}}
.p-tag{font-size:11px;color:var(--txt);letter-spacing:.1em;animation:pulse-dot 2.4s ease-in-out infinite}
.p-stage{font-size:11px;color:var(--faint);letter-spacing:.2em}
.p-name{letter-spacing:.2em;font-size:13px;color:var(--txt-bright);font-weight:700}
.p-value{font-size:2.4rem;color:var(--txt-bright);font-weight:700;text-shadow:0 0 26px rgba(255,255,255,.1)}
.p-value span{font-size:1rem;color:var(--dim)}
.p-desc{color:var(--faint);font-size:13px;margin-bottom:.8rem}
.price ul{list-style:none;margin-bottom:1.4rem;flex:1}
.price li{font-size:12.5px;color:var(--dim);padding:.45rem .65rem;border:1px solid rgba(255,255,255,.07);border-radius:var(--r-sm);margin-bottom:.4rem;background:rgba(0,0,0,.38);transition:transform .25s,border-color .25s}
.price li:hover{transform:translateX(4px);border-color:rgba(255,255,255,.2);color:var(--txt)}
.price li::before{content:'> ';color:var(--faint)}

/* ---------- manifesto ---------- */
.manifesto{max-width:800px;margin:0 auto;padding:2.5rem 1rem;text-align:center;position:relative;z-index:2}
.manifesto-inner{border-radius:var(--r-lg);padding:2.5rem 2rem;background:rgba(12,12,12,.58);backdrop-filter:blur(16px);border:1px solid var(--line);position:relative;overflow:hidden}
.manifesto-inner::before{content:'“';position:absolute;top:-10px;left:18px;font-size:90px;color:rgba(255,255,255,.07);font-family:var(--mono)}
.manifesto blockquote{font-size:clamp(1.1rem,2.6vw,1.6rem);line-height:1.5;color:var(--dim)}
.manifesto blockquote em{color:var(--txt-bright)}
.sign{margin-top:1.5rem;color:var(--faint);font-size:12px}

/* ---------- faq ---------- */
#faq .faq-item{border-radius:var(--r-md);background:rgba(12,12,12,.58);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line);margin-bottom:.6rem;overflow:hidden;transition:border-color .3s}
#faq .faq-item:hover{border-color:rgba(255,255,255,.2)}
#faq .faq-item.open{border-color:rgba(255,255,255,.25)}
#faq .faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.8rem;background:none;border:0;padding:1rem 1.2rem;font:inherit;font-size:13px;color:var(--txt-bright);text-align:left}
#faq .faq-arrow{color:var(--dim);font-size:17px;line-height:1;transform:rotate(90deg);transition:transform .35s ease,color .3s;flex:none}
#faq .faq-q:hover .faq-arrow{color:var(--txt)}
#faq .faq-item.open .faq-arrow{transform:rotate(-90deg);color:var(--txt-bright)}
#faq .faq-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.2,.7,.2,1)}
#faq .faq-item.open .faq-body{grid-template-rows:1fr}
#faq .faq-clip{overflow:hidden;min-height:0;min-width:0}
#faq .faq-clip>p{margin:0;padding:.2rem 1.2rem 1.1rem;color:var(--dim);font-size:13px;max-width:70ch}

footer{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.2rem 1.4rem;margin:0 16px 16px;border-radius:var(--r-lg);background:rgba(10,10,10,.62);backdrop-filter:blur(18px);border:1px solid var(--line);color:var(--faint);font-size:12px;position:relative;z-index:2}
footer b{color:var(--dim);letter-spacing:.12em;margin-right:1rem}

/* ---------- fly-to-user + abyss depth ---------- */
main{perspective:1100px;perspective-origin:50% 28%}
.block,.manifesto,.hero-left,.hero-right{transform-style:preserve-3d;will-change:transform,filter,opacity}
.abyss-dim{position:relative}
.abyss-dim::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at 50% 120%,rgba(0,0,0,.85),transparent 70%);opacity:var(--sink,0)}

/* ---------- scroll reveal: fly TO user from depth ---------- */
.reveal{opacity:0;transform:translateY(46px) translateZ(-220px) scale(.93);filter:blur(10px)}
.reveal.visible{opacity:1;transform:translateY(0) translateZ(0) scale(1);filter:blur(0);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1),filter .9s}
.reveal.visible.steady{transition:none}
.reveal.visible .srv-row{animation:hero-in .5s steps(14) both}
.reveal.visible .srv-row:nth-child(2){animation-delay:.05s}
.reveal.visible .srv-row:nth-child(3){animation-delay:.1s}
.reveal.visible .srv-row:nth-child(4){animation-delay:.15s}
.reveal.visible .srv-row:nth-child(5){animation-delay:.2s}
.reveal.visible .srv-row:nth-child(6){animation-delay:.25s}
.reveal.visible .srv-row:nth-child(7){animation-delay:.3s}
.reveal.visible .bar b{transform-origin:left;animation:bar-grow .8s ease both .3s}
@keyframes bar-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}

@media(max-width:900px){
  .hero{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr}
  .specs{grid-template-columns:1fr 1fr}
  .nav nav{display:none}
  .srv-head{display:none}
  .srv-row{grid-template-columns:1fr 1fr}
  #cursor-dot{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none;filter:none}
  .from-code{opacity:1}
}

/* ---------- MOBILE-ADAPT ---------- */
@media(max-width:900px){
  .nav{margin:8px 8px 0;padding:.7rem .9rem}
  .logo{font-size:12px}
  .btn-small{font-size:11px;padding:.45rem .7rem;white-space:nowrap}
  .hero{padding:1.2rem .6rem 1rem;gap:.8rem}
  .hero-left{padding:1.4rem 1.1rem}
  .sub{font-size:13px}
  .hero-cta .btn,.hero-cta .btn-ghost{flex:1 1 100%;text-align:center}
  .hero-steps div{font-size:12px;padding:.45rem .7rem}
  .hero-meta{flex-wrap:wrap}
  .block{padding:1.8rem .6rem}
  .block h2{font-size:clamp(1.3rem,7vw,1.8rem)}
  .mon-grid{grid-template-columns:repeat(2,1fr)}
  .mon-stat b{font-size:13px}
  .node-top{font-size:11px}
  .rose-ascii{font-size:7px;min-width:0;animation:none}
  .rose-wrap{overflow:hidden}
  .rose-wrap::after{display:none}
  .term-head{flex-wrap:wrap;row-gap:.4rem}
  .card,.price{padding:1.3rem 1.1rem}
  .specs{gap:.6rem}
  .specs div{padding:1rem .5rem}
  .specs b{font-size:1.3rem}
  .specs span{font-size:10px}
  .price li{font-size:12px}
  footer{margin:0 8px 8px;font-size:11px;padding:1rem}
  #faq .faq-q{padding:.9rem 1rem;font-size:12.5px}
  #faq .faq-clip>p{padding:.2rem 1rem 1rem}
  .manifesto{padding:1.8rem .6rem}
  .manifesto-inner{padding:1.8rem 1.2rem}
  .hero-right .monitor{animation:none}
  .boot-box{padding:1.1rem}
  .boot-code{font-size:11px;min-height:130px}
}
@media(max-width:560px){
  .mon-stat b{font-size:12px}
  .p-value{font-size:1.9rem}
  .p-name{font-size:12px}
  .hero h1{line-height:1.05}
  #clock{display:none}
  .mon-legend{flex-wrap:wrap;gap:.5rem}
}

/* ---------- MOBILE-PERF (<=700px): calm static mode, no 3D ---------- */
@media(max-width:700px){
  main{perspective:none}
  .block,.manifesto,.hero-left,.hero-right{will-change:auto;transform:none!important}
  .reveal{opacity:1;transform:none;filter:none}
  .reveal.visible{transition:opacity .45s ease}
  .from-code{opacity:1!important;animation:none!important}
  body.loaded .from-code{animation:none}
  body.loaded .nav{animation:none}
  .hero-left{animation:none}
  .bg-grid{animation:none;opacity:.35}
  .terminal,.monitor{box-shadow:none}
  .boot-code{min-height:0}
  .price.featured::after{animation-duration:9s}
  #petals{display:none}
}

/* ---------- MOBILE-PERF2 (<=700px): kill GPU hogs ---------- */
@media(max-width:700px){
  .grain,.scanlines{display:none}
  .nav,.hero-left,.monitor,.rose-wrap,.card,.price,.specs div,.srv-table,#faq .faq-item,.manifesto-inner,footer,.node,.mon-stat,.boot-box,.hero-steps div{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    background:rgba(9,9,9,.94);
  }
  .hero-left::before{display:none}
  .card::before,.price::before{display:none}
  .btn,.btn-ghost,.btn-small{transition:none}
}
