/* ================= AeonPad — landing (gaya AUTARCH, isi launchpad) ================= */
/* theme.css menyediakan hero/nav/section; berkas ini untuk bagian khusus AeonPad. */

.page-landing .t-glitch,.page-landing .t-sweep{-webkit-mask:url(/assets/title-glitch.webp) center/100% 100% no-repeat;mask:url(/assets/title-glitch.webp) center/100% 100% no-repeat}
.lead-x{font:700 34px/1.02 var(--f-ui);letter-spacing:.05em;text-transform:uppercase;text-shadow:0 2px 20px rgba(3,5,11,.9);margin:0}
.lock span{letter-spacing:.2em}
.nav .brand{font-size:16px}
.page-landing .section h2 em{font-style:normal}

/* ---------- pemutar tur ---------- */
.player{margin-top:40px}
.player-frame{position:relative;aspect-ratio:16/9;border:1px solid var(--line-2);background:#030712;overflow:hidden;box-shadow:0 40px 100px -40px rgba(59,91,255,.45)}
.player-frame video{width:100%;height:100%;object-fit:cover}
.player-frame .corner{z-index:3}
.player-big{position:absolute;inset:0;margin:auto;width:96px;height:96px;border-radius:50%;border:1px solid var(--line-2);background:rgba(3,5,11,.55);display:grid;place-items:center;z-index:4;transition:transform .3s var(--ease),background .3s}
.player-big::before{content:"";position:absolute;inset:-10px;border-radius:50%;border:1px solid rgba(124,196,255,.35);animation:ring 2.4s ease-out infinite}
.player-big svg{width:30px;fill:var(--ice);margin-left:4px}
.player-big:hover{transform:scale(1.06);background:rgba(59,91,255,.3)}
.player.playing .player-big{opacity:0;pointer-events:none}
.player-rec{position:absolute;left:22px;top:20px;z-index:4;display:flex;align-items:center;gap:9px;font:600 11px/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;background:rgba(3,5,11,.65);padding:8px 10px;border:1px solid var(--line)}
.chapters{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;margin-top:1px;background:var(--line);border:1px solid var(--line);border-top:0}
.chapters button{position:relative;text-align:left;padding:14px 16px 16px;background:#050b1d;color:var(--mute);border:0;overflow:hidden;transition:color .2s,background .2s}
.chapters button:hover{color:var(--ink);background:#081330}
.chapters button.on{color:var(--ink);background:linear-gradient(180deg,rgba(59,91,255,.22),#050b1d)}
.chapters .n{display:block;font:500 11px/1 var(--f-mono);color:var(--ice);margin-bottom:7px}
.chapters b{font:600 12.5px/1.3 var(--f-ui);letter-spacing:.06em}
.chapters i{position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--ultra),var(--ice));transform-origin:left;transform:scaleX(0)}

/* ---------- playground: jendela terminal ---------- */
.pgbox{margin-top:40px;background:linear-gradient(180deg,rgba(8,16,38,.95),rgba(3,6,15,.97))}
.play-bar{display:flex;align-items:center;gap:16px;padding:12px 18px;border-bottom:1px solid var(--line)}
.play-bar .dots{display:flex;gap:7px}
.play-bar .dots i{width:10px;height:10px;border-radius:50%;background:#1b2a48}
.play-bar .dots i:first-child{background:var(--ice);box-shadow:0 0 8px var(--ice)}
.play-title{flex:1;font:500 12px/1 var(--f-mono);color:var(--mute)}
.play-body{display:grid;grid-template-columns:1.1fr .9fr}
.play-in{padding:26px 26px 22px;border-right:1px solid var(--line)}
.prompt-label{display:block;font:500 12px/1 var(--f-mono);color:var(--mute);margin-bottom:12px}
.prompt-label b{color:var(--ice);font-weight:500}
#pgPrompt{width:100%;min-height:170px;resize:vertical;background:transparent;border:0;outline:none;color:#fff;font:500 clamp(19px,2vw,24px)/1.5 var(--f-body)}
.play-ex{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;font-size:13px}
.play-ex button{font:600 12px/1 var(--f-ui);letter-spacing:.08em;padding:10px 12px;border:1px solid var(--line);background:rgba(124,196,255,.04);color:var(--silver);transition:all .2s}
.play-ex button:hover{border-color:var(--ice);color:#fff}
.play-out{padding:26px;display:flex;flex-direction:column;gap:14px}
.po-head{display:flex;justify-content:space-between;align-items:center;font:600 11px/1 var(--f-ui);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.po-rows{display:grid;gap:8px}
.po-row{display:grid;grid-template-columns:80px 1fr;gap:12px;align-items:center;padding:12px 14px;border:1px dashed var(--line-2);font-size:14px;transition:all .3s}
.po-row span{font:600 10.5px/1 var(--f-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.po-row b{font:600 16px/1.2 var(--f-ui);letter-spacing:.03em}
.po-row b em{font:400 13px/1.2 var(--f-body);color:var(--faint,#56627a);font-style:normal;letter-spacing:0}
.po-row.ok{border-style:solid;border-color:var(--line-2);background:rgba(124,196,255,.06)}
.po-coin{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);background:#040915;transition:box-shadow .4s,border-color .4s}
.po-coin.ready{border-color:var(--line-2);box-shadow:0 0 30px rgba(59,91,255,.25)}
.po-coin b{display:block;font:700 18px/1.2 var(--f-ui)}
.po-coin span{font:500 12.5px/1 var(--f-mono);color:var(--mute)}
.po-cta{align-self:flex-start;margin-top:auto}

/* ---------- cara kerja: kolom bertangga ---------- */
.how{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:start}
.how-step:nth-child(2){margin-top:40px}.how-step:nth-child(3){margin-top:80px}.how-step:nth-child(4){margin-top:120px}
.how-step .frame{aspect-ratio:4/3;margin:0}
.how-step .frame img{object-position:left top;transform:scale(1.02)}
.how-body{padding:18px 4px 0;position:relative}
.how-n{display:block;font:900 58px/.8 var(--f-display);color:transparent;-webkit-text-stroke:1px rgba(124,196,255,.5);margin-bottom:12px}
.how-body h3{font:700 20px/1.25 var(--f-ui);margin:0 0 8px}
.how-body p{margin:0;color:var(--silver);font-size:14.5px}

/* ---------- galeri vonis: kartu berstempel ---------- */
.verdicts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.vd{position:relative;padding:34px 26px 22px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(15,36,71,.5),rgba(4,9,22,.9));overflow:hidden}
.vd p{margin:0 0 20px;font:500 17px/1.5 var(--f-body);color:#fff}
.vd footer{padding-top:14px;border-top:1px dashed var(--line);font:500 12px/1.4 var(--f-mono);color:var(--mute)}
.vd-stamp{position:absolute;right:16px;top:14px;font:700 11px/1 var(--f-ui);letter-spacing:.22em;text-transform:uppercase;padding:6px 9px;border:1.5px solid currentColor;transform:rotate(4deg)}
.vd.ok .vd-stamp{color:var(--ice);box-shadow:0 0 14px rgba(124,196,255,.3)}
.vd.no .vd-stamp{color:#ff7a8a}
.vd.hold .vd-stamp{color:#f0b45a}
.vd.ok{border-color:rgba(124,196,255,.22)}
.vd.no p{color:var(--silver);text-decoration:line-through;text-decoration-color:rgba(255,122,138,.5)}

/* ---------- tab produk ---------- */
.product{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px;margin-top:40px;align-items:start}
.ptabs{display:grid;gap:10px}
.ptabs button{position:relative;text-align:left;padding:18px 20px 18px 64px;border:1px solid var(--line);background:rgba(8,16,38,.6);color:var(--silver);transition:all .25s}
.ptabs button .pt-n{position:absolute;left:18px;top:18px;font:500 12px/1 var(--f-mono);color:var(--mute)}
.ptabs button b{display:block;font:700 16px/1.3 var(--f-ui);letter-spacing:.04em;color:var(--ink);margin-bottom:4px}
.ptabs button > span:last-child{font-size:13.5px;line-height:1.5}
.ptabs button[aria-selected="true"]{border-color:var(--line-2);background:linear-gradient(90deg,rgba(59,91,255,.22),rgba(8,16,38,.6));box-shadow:inset 3px 0 0 var(--ice)}
.ptabs button[aria-selected="true"] .pt-n{color:var(--ice)}
.pshot{margin:0;aspect-ratio:16/10}
.pshot img{object-position:left top;transform:none;transition:opacity .2s}
.pshot img.fade{opacity:0}

/* ---------- perbandingan ---------- */
.cmp{margin-top:40px}
.cmp-row{display:grid;grid-template-columns:.9fr 1fr 1fr;border-bottom:1px solid var(--line)}
.cmp-row:last-child{border-bottom:0}
.cmp-row > span{padding:16px 22px;font-size:14.5px;color:var(--silver)}
.cmp-row > span:first-child{font:600 13px/1.4 var(--f-ui);letter-spacing:.06em;color:var(--ink)}
.cmp-row .us{background:rgba(124,196,255,.05);color:#fff;border-left:1px solid var(--line-2)}
.cmp-row.head > span{font:600 11px/1 var(--f-ui);letter-spacing:.2em;text-transform:uppercase;color:var(--mute);padding-top:18px;padding-bottom:18px}
.cmp-row.head .us{display:flex;align-items:center;gap:10px;color:var(--ice)}
.cmp-row.head .us img{width:26px;height:26px}

/* ---------- fee 50/50 ---------- */
.fees{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.fees-copy p{color:var(--silver);max-width:520px}
.ticks{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:10px}
.ticks li{position:relative;padding-left:28px;color:var(--silver);font-size:15px}
.ticks li::before{content:"";position:absolute;left:0;top:7px;width:12px;height:12px;border:1.5px solid var(--ice);transform:rotate(45deg);box-shadow:0 0 8px rgba(124,196,255,.5)}
.split{display:grid;gap:24px;justify-items:center}
.split-ring{position:relative;width:min(340px,70vw);aspect-ratio:1;display:grid;place-items:center;text-align:center}
.split-ring .ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(var(--ice) 0 50%,var(--ultra) 50% 100%);
  -webkit-mask:radial-gradient(closest-side,transparent 66%,#000 67%);mask:radial-gradient(closest-side,transparent 66%,#000 67%);filter:drop-shadow(0 0 30px rgba(59,91,255,.45))}
.split-ring b{display:block;font:900 70px/.9 var(--f-display)}
.split-ring b small{font-size:40px;color:var(--mute);margin:0 4px}
.split-ring span{font:600 11px/1.4 var(--f-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.legend{display:grid;gap:10px;width:100%}
.legend > div{display:grid;grid-template-columns:14px 1fr auto;gap:14px;align-items:center;padding:14px 18px;border:1px solid var(--line);background:rgba(8,16,38,.6)}
.legend i{width:14px;height:14px}
.legend strong{font:700 15px/1.2 var(--f-ui)}
.legend small{display:block;color:var(--mute);font-size:12.5px}
.legend > div > b{font:500 20px/1 var(--f-mono)}

/* ---------- keamanan ---------- */
.shields{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.shield{padding:28px 26px}
.sh-n{display:inline-grid;place-items:center;width:40px;height:40px;font:500 13px/1 var(--f-mono);color:var(--ice);border:1px solid var(--line-2);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:rgba(124,196,255,.06)}
.shield h3{font:700 19px/1.3 var(--f-ui);margin:16px 0 8px}
.shield p{margin:0;color:var(--silver);font-size:14.5px}

/* ---------- CTA ---------- */
.cta-band{position:relative;margin-top:140px;min-height:560px;display:flex;align-items:center;overflow:hidden;isolation:isolate;border-block:1px solid var(--line)}
.cta-bg{position:absolute;inset:0;z-index:-2}
.cta-bg img{position:absolute;right:0;top:0;width:62%;height:100%;object-fit:cover;object-position:50% 35%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 45%);mask-image:linear-gradient(90deg,transparent,#000 45%)}
.cta-inner{position:relative;width:100%;max-width:1260px;margin:0 auto;padding:90px clamp(20px,4vw,48px)}
.cta-band h2{font:900 clamp(56px,8vw,120px)/.9 var(--f-display);text-transform:uppercase;margin:18px 0 18px;background:linear-gradient(180deg,#fff 20%,#9aa8c0);-webkit-background-clip:text;background-clip:text;color:transparent}
.cta-band h2 em{font-style:normal;background:linear-gradient(180deg,var(--ice-hi),var(--ice));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}
.cta-band p{color:var(--silver);max-width:440px;margin-bottom:28px}

/* ---------- footer ---------- */
.page-landing .foot{margin-top:0}
.foot-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;padding:40px clamp(20px,4vw,56px) 20px;border-top:1px solid var(--line)}
.foot-cols p{color:var(--mute);font-size:14px;max-width:360px}
.foot-cols h4{margin:0 0 12px;font:600 11px/1 var(--f-ui);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.foot-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot-cols a{color:var(--silver);text-decoration:none;font-size:14px}
.foot-cols a:hover{color:#fff}
.foot .brand.small{display:inline-flex;align-items:center;gap:10px;font:700 13px/1 var(--f-ui);letter-spacing:.3em;margin-bottom:12px}
.foot .brand.small .mark{width:28px;height:28px}
.disclaimer{padding:0 clamp(20px,4vw,56px) 10px;color:#4d5a70;font-size:12px;line-height:1.6;max-width:1100px}

/* ---------- responsif ---------- */
@media (max-width:1100px){
  .chapters{grid-template-columns:repeat(3,1fr)}
  .how{grid-template-columns:1fr 1fr}
  .how-step:nth-child(n){margin-top:0}
  .verdicts,.shields{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .lead-x{font-size:28px}
  .play-body,.product,.fees{grid-template-columns:1fr}
  .play-in{border-right:0;border-bottom:1px solid var(--line)}
  .chapters{grid-template-columns:1fr 1fr}
  .how,.verdicts,.shields,.foot-cols{grid-template-columns:1fr}
  .cmp-row{grid-template-columns:1fr 1fr}
  .cmp-row > span:first-child{grid-column:1/-1;padding-bottom:4px}
  .cmp-row.head > span:first-child{display:none}
  .cta-bg img{width:100%;opacity:.35}
}

/* perbaikan HP: isi playground boleh menyusut */
.pgbox,.play-body,.play-in,.play-out,.po-row,.po-coin{min-width:0}
.play-body > *{min-width:0}
.po-row b{overflow-wrap:anywhere}
@media (max-width:860px){
  .play-in,.play-out{padding:18px}
  .play-bar{gap:10px}
  .play-title{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .po-cta{white-space:normal}
}
.fees h2{font-size:clamp(44px,5.2vw,78px)}

.split-ring.full .ring{background:conic-gradient(from 200deg,var(--ultra),var(--ice),#c4e6ff,var(--ice),var(--ultra))}
.split-ring.full b span{font:inherit;letter-spacing:0;text-transform:none;color:inherit}

/* ================= kartu alamat kontrak (hero kanan) ================= */
.page-landing .hero-copy-right{width:min(400px,32vw)}
.page-landing .hero-copy-right .caps{margin:0 0 18px}
.ca-card{position:relative;overflow:hidden;padding:16px 16px 16px;border:1px solid var(--line-2);
  background:linear-gradient(160deg,rgba(15,36,71,.92),rgba(3,6,15,.96));box-shadow:0 0 50px rgba(59,91,255,.22),inset 0 0 0 1px rgba(255,255,255,.02)}
.ca-corner{position:absolute;width:16px;height:16px;border:2px solid var(--ice);filter:drop-shadow(0 0 6px var(--ice))}
.ca-corner.tl{left:-1px;top:-1px;border-right:0;border-bottom:0}.ca-corner.br{right:-1px;bottom:-1px;border-left:0;border-top:0}
.ca-beam{position:absolute;top:0;bottom:0;left:0;width:40%;pointer-events:none;will-change:transform;
  background:linear-gradient(100deg,transparent,rgba(124,196,255,.10) 45%,rgba(196,230,255,.2) 50%,transparent 60%);transform:translateX(-120%);animation:caBeam 5s ease-in-out infinite}
@keyframes caBeam{0%,55%{transform:translateX(-120%)}100%{transform:translateX(320%)}}
.ca-top{position:relative;display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.ca-tag{display:inline-flex;align-items:center;gap:8px;font:700 13px/1 var(--f-ui);letter-spacing:.14em;color:#fff}
.ca-tag i{width:8px;height:8px;border-radius:50%;background:var(--ice);box-shadow:0 0 10px var(--ice);animation:ping 2s infinite}
.ca-tag span{font:inherit;letter-spacing:inherit;text-transform:none}
.ca-state{font:700 10px/1 var(--f-ui);letter-spacing:.2em;text-transform:uppercase;color:#f0b45a;border:1px solid rgba(240,180,90,.4);padding:5px 7px}
.ca-card.live .ca-state{color:#8fe3ff;border-color:rgba(124,196,255,.45);background:rgba(124,196,255,.08)}
.ca-label{position:relative;display:block;font:600 10px/1 var(--f-ui);letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
.ca-row{position:relative;display:flex;align-items:center;gap:8px;padding:10px 10px 10px 12px;background:#02050d;border:1px solid var(--line)}
.ca-addr{flex:1;min-width:0;font:500 12.5px/1.3 var(--f-mono);letter-spacing:0;color:#9fb1c9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ca-card.live .ca-addr{color:#fff;text-shadow:0 0 12px rgba(124,196,255,.45)}
.ca-addr .hx{color:var(--ice)}
.ca-copy{flex:none;display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line-2);background:rgba(124,196,255,.06);color:var(--ice);transition:background .2s}
.ca-copy:hover{background:rgba(124,196,255,.18)}
.ca-copy svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}
.ca-copy.done{background:var(--ice);color:#03050b}
.ca-hint{position:relative;margin:9px 0 14px;font:500 11.5px/1.4 var(--f-mono);color:var(--mute)}
.ca-btns{position:relative;display:grid;grid-template-columns:1fr auto;gap:8px}
.ca-btns .btn-cut{justify-content:center}
.is-soon{filter:saturate(.6) brightness(.85)}

/* ================= ekosistem: orbit ================= */
.eco-wrap{display:grid;grid-template-columns:1fr auto 1fr;gap:30px;align-items:center;margin-top:40px}
.eco-col{display:grid;gap:14px;align-content:center;min-width:0}
.orbit{--size:min(430px,33vw);position:relative;width:var(--size);aspect-ratio:1;margin:0 auto;flex:none}
.orbit:not(.run) *{animation-play-state:paused!important}
.orbit-glow{position:absolute;inset:26%;border-radius:50%;background:radial-gradient(closest-side,rgba(59,91,255,.45),rgba(124,196,255,.1) 60%,transparent 75%);animation:breathe 6s ease-in-out infinite}
.ring{position:absolute;border-radius:50%;border:1px dashed rgba(124,196,255,.25);will-change:transform}
.ring-outer{inset:2%;animation:spin 70s linear infinite}
.ring-inner{inset:24%;border-style:solid;border-color:rgba(124,196,255,.18);animation:spin 46s linear infinite reverse}
.node{position:absolute;left:50%;top:50%;width:0;height:0;transform:rotate(var(--a)) translateY(calc(var(--r) * -1)) rotate(calc(var(--a) * -1))}
.ring-outer .node{--r:calc(var(--size) * .40)}
.ring-inner .node{--r:calc(var(--size) * .265)}
.node-in{position:absolute;left:0;top:0;display:grid;justify-items:center;gap:6px;transform:translate(-50%,-50%);will-change:rotate}
.ring-outer .node-in{animation:unspin 70s linear infinite}
.ring-inner .node-in{animation:unspin 46s linear infinite reverse}
@keyframes unspin{to{rotate:-360deg}}
.node-in b{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;overflow:hidden;
  background:radial-gradient(circle at 35% 30%,#1c3a7a,#060d22 70%);border:1px solid var(--line-2);box-shadow:0 0 18px rgba(59,91,255,.35)}
.ring-inner .node-in b{width:60px;height:60px;border-color:var(--ice);box-shadow:0 0 24px rgba(124,196,255,.45)}
.node-in b img{width:60%;height:60%;object-fit:contain;filter:drop-shadow(0 0 6px rgba(0,0,0,.5))}
.ring-inner .node-in b img{width:62%;height:62%}
.node-in em{font:600 9.5px/1 var(--f-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--silver);font-style:normal;white-space:nowrap;background:rgba(3,5,11,.8);padding:3px 5px;border:1px solid var(--line)}
.orbit-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:8px}
.orbit-core img{width:86px;height:86px;object-fit:contain;filter:drop-shadow(0 0 24px rgba(124,196,255,.6))}
.orbit-core span{font:700 10.5px/1 var(--f-ui);letter-spacing:.3em;color:#fff}

.eco-card{padding:22px 20px}
.eco-card header{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.eco-n{font:500 12px/1 var(--f-mono);color:var(--ice)}
.eco-card h3{font:700 16px/1.2 var(--f-ui);letter-spacing:.08em;text-transform:uppercase;margin:0}
.eco-card ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.eco-card li b{display:block;font:700 14.5px/1.3 var(--f-ui);letter-spacing:.03em;color:#fff}
.eco-card li span{font-size:13px;color:var(--silver);line-height:1.45}

/* ================= footer: papan neon ================= */
.foot-neon{display:grid;padding:60px clamp(20px,4vw,56px) 20px;overflow:hidden}
.foot-neon svg{grid-area:1/1;display:block;width:100%;height:auto;overflow:visible}
/* HANYA section paling bawah yang memakai Michroma (permintaan user) */
.foot-neon text{font:400 110px/1 var(--f-word);letter-spacing:.02em}
.fn-base text{fill:rgba(124,196,255,.03);stroke:rgba(124,196,255,.14);stroke-width:1.4}
.fn-glow{opacity:0;will-change:opacity;filter:drop-shadow(0 0 4px #bfe3ff) drop-shadow(0 0 16px #7cc4ff) drop-shadow(0 0 44px rgba(59,91,255,.9))}
.fn-glow text{fill:rgba(124,196,255,.07);stroke:#cfeaff;stroke-width:2.4}
.fn-sweep{opacity:0}
.fn-sweep text{fill:none;stroke-width:3.2}
.foot-neon.on .fn-glow{animation:neonOn 1.8s linear forwards,neonHum 7s ease-in-out 1.8s infinite}
.foot-neon.on .fn-sweep{animation:fadeIn .6s ease 1.6s forwards}
@keyframes neonOn{0%{opacity:0}6%{opacity:.9}9%{opacity:.05}16%{opacity:.8}19%{opacity:.15}30%{opacity:1}33%{opacity:.35}45%,100%{opacity:1}}
@keyframes neonHum{0%,100%{opacity:1}40%{opacity:.82}62%{opacity:1}63%{opacity:.35}64%{opacity:1}66%{opacity:.6}67%{opacity:1}}
@keyframes fadeIn{to{opacity:.9}}

/* ================= responsif tambahan ================= */
@media (max-width:1180px){
  .page-landing .hero-copy-right{display:block;width:min(360px,40vw)}
  .page-landing .hero-copy-right .caps{display:none}
  .eco-wrap{grid-template-columns:1fr 1fr;gap:16px}
  .orbit{--size:min(430px,60vw);grid-column:1/-1;order:-1}
}
@media (max-width:860px){
  .nav-buy{display:none}
  .page-landing .hero-copy-right{width:auto;margin-top:22px}
  .eco-wrap{grid-template-columns:1fr}
  .orbit{width:min(340px,100%)}
  .ring-outer .node{--r:165px}.ring-inner .node{--r:86px}
  .node-in b{width:40px;height:40px;font-size:11px}.ring-inner .node-in b{width:44px;height:44px}
  .node-in em{font-size:8.5px;letter-spacing:.08em}
  .orbit-core img{width:72px;height:72px}
}
@media (prefers-reduced-motion:reduce){
  .fn-glow,.fn-sweep{opacity:1!important;animation:none!important}
}

/* hero memakai PNG asli user (kabut biru lembut): tepi kiri/kanan & bawah dipudarkan, tanpa animasi melayang */
.page-landing .android{
  -webkit-mask-image:linear-gradient(to bottom,#000 78%,transparent 99%),linear-gradient(to right,transparent 0,#000 14%,#000 86%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to bottom,#000 78%,transparent 99%),linear-gradient(to right,transparent 0,#000 14%,#000 86%,transparent 100%);
  mask-composite:intersect;transform:none;translate:none!important;
  /* glitch sesekali: karakter jadi separuh transparan + tergeser, jadi huruf AEONPAD di belakangnya menembus */
  will-change:opacity,transform,filter;animation:heroGlitch 5.5s steps(1,end) 1.8s infinite}
@keyframes heroGlitch{
  0%,81%{opacity:1;transform:none;filter:none}
  81.4%{opacity:.45;transform:translate3d(-10px,2px,0) skewX(-1.2deg);filter:drop-shadow(-8px 0 rgba(255,70,110,.55)) drop-shadow(8px 0 rgba(90,160,255,.55))}
  82%{opacity:.7;transform:translate3d(8px,-3px,0) skewX(1deg);filter:drop-shadow(6px 0 rgba(90,160,255,.5))}
  82.6%{opacity:.32;transform:translate3d(-5px,1px,0);filter:drop-shadow(-6px 0 rgba(255,70,110,.5))}
  83.2%{opacity:1;transform:none;filter:none}
  87.5%{opacity:.55;transform:translate3d(7px,0,0) skewY(.6deg);filter:drop-shadow(-6px 0 rgba(255,70,110,.5)) drop-shadow(6px 0 rgba(90,160,255,.5))}
  88.1%{opacity:.82;transform:translate3d(-6px,2px,0);filter:none}
  88.6%{opacity:1;transform:none}
  94.6%{opacity:.38;transform:translate3d(-9px,-2px,0) scale(1.006);filter:drop-shadow(-7px 0 rgba(255,70,110,.5)) drop-shadow(7px 0 rgba(90,160,255,.5))}
  95.2%{opacity:.75;transform:translate3d(5px,1px,0);filter:none}
  95.8%,100%{opacity:1;transform:none;filter:none}}
/* saat karakter glitch, judul di belakangnya ikut menyala sedikit */
.page-landing .title svg{animation:titleFlare 5.5s steps(1,end) 1.8s infinite}
@keyframes titleFlare{0%,81%,83.2%,87.5%,88.6%,95.8%,100%{filter:drop-shadow(0 0 30px rgba(124,196,255,.28)) drop-shadow(0 0 80px rgba(59,91,255,.25))}
  81.4%,82.6%,88.1%,94.6%{filter:drop-shadow(0 0 44px rgba(124,196,255,.65)) drop-shadow(0 0 130px rgba(59,91,255,.55)) brightness(1.14)}}
@media (prefers-reduced-motion:reduce){.page-landing .android,.page-landing .title svg{animation:none!important}}
.page-landing .android-wrap{translate:none!important}
/* kartu CA jadi elemen utama kolom kanan: kalimat di atasnya disembunyikan agar tidak menempel panel bawah */
.page-landing .hero-copy-right .caps{display:none}
/* orbit ekosistem tidak boleh melebarkan halaman di HP */
.eco-wrap{min-width:0}
.eco,.eco-wrap{overflow-x:clip}
@media (max-width:860px){
  .orbit{--size:min(300px,84vw)}
  .node-in em{display:none}
}

/* pita sobek tipis melintas saat glitch — hanya garis, tubuh karakter tetap utuh */
.page-landing .android-wrap::after{content:"";position:absolute;left:-4%;right:-4%;height:12%;top:34%;pointer-events:none;z-index:3;opacity:0;
  background:linear-gradient(180deg,transparent,rgba(196,230,255,.16) 40%,rgba(124,196,255,.22) 55%,transparent);
  mix-blend-mode:screen;will-change:transform,opacity;animation:heroTear 5.5s steps(1,end) 1.8s infinite}
@keyframes heroTear{0%,81%{opacity:0;transform:translateY(0) scaleY(.6)}
  81.4%{opacity:1;transform:translateY(-110px) scaleY(.5)}
  82%{opacity:.9;transform:translateY(130px) scaleY(.8)}
  82.6%{opacity:.7;transform:translateY(-50px) scaleY(.4)}
  83.2%,87.4%{opacity:0}
  87.5%{opacity:.95;transform:translateY(70px) scaleY(.6)}
  88.1%{opacity:.6;transform:translateY(-80px) scaleY(.35)}
  88.6%,94.5%{opacity:0}
  94.6%{opacity:1;transform:translateY(40px) scaleY(.55)}
  95.2%{opacity:.6;transform:translateY(-120px) scaleY(.3)}
  95.8%,100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.page-landing .android-wrap::after{animation:none!important;opacity:0}}

/* tombol suara di pemutar tur (video autoplay wajib bisu, suara dinyalakan manual) */
.player-sound{position:absolute;right:20px;top:20px;z-index:5;display:inline-flex;align-items:center;gap:9px;padding:9px 13px;
  font:700 11px/1 var(--f-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);background:rgba(3,5,11,.7);border:1px solid var(--line-2);transition:background .2s}
.player-sound:hover{background:rgba(59,91,255,.3)}
.player-sound svg{width:17px;height:17px;fill:none;stroke:var(--ice);stroke-width:1.7;stroke-linecap:round}
.player-sound svg .wave{opacity:0}
.player-sound[aria-pressed="true"] svg .wave{opacity:1}
.player-sound[aria-pressed="true"] svg .mute{opacity:0}
@media (max-width:860px){.player-sound{right:12px;top:12px;padding:7px 10px}.player-sound span{display:none}}

/* ============================================================
   VISUAL YANG DIGENERATE — dipakai di tiga section
   (review desk, pita visor, koin mengalir)
   ============================================================ */

/* --- galeri vonis: panel gambar di kiri, kartu di kanan --- */
.verdict-wrap{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:22px;align-items:stretch;margin-top:40px}
.verdict-wrap .verdicts{grid-template-columns:repeat(2,1fr);margin-top:0}
.art-panel{position:relative;margin:0;overflow:hidden;border:1px solid var(--line);background:#050a18}
.art-panel img{width:100%;height:100%;object-fit:cover;object-position:62% 30%;display:block}
.art-panel::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(to bottom,rgba(255,255,255,.03) 0 1px,transparent 1px 3px),
             linear-gradient(to top,rgba(3,5,11,.92),rgba(3,5,11,.1) 52%)}
.art-panel figcaption{position:absolute;z-index:3;left:22px;right:22px;bottom:20px;display:grid;gap:6px}
.art-panel figcaption b{font:600 11px/1 var(--f-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ice)}
.art-panel figcaption span{font-size:13px;line-height:1.45;color:var(--silver)}

/* --- fee: satu panggung besar — cincin menumpang di telapak tangan --- */
.fees{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}
.fee-stage{position:relative;margin:0;width:100%;aspect-ratio:1;overflow:hidden;border:1px solid var(--line);background:#050a18}
.fee-stage > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 46%;display:block}
.fee-stage::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:linear-gradient(to top,rgba(3,5,11,.93) 4%,rgba(3,5,11,.55) 26%,rgba(3,5,11,.05) 58%)}
/* tangan hero ada di x 27% y 52% (diukur dari berkas gambarnya),
   jadi cincin diletakkan tepat di atasnya seperti sedang ditopang telapak tangan */
.fee-stage .split-ring{position:absolute;left:27%;top:34%;transform:translate(-50%,-50%);width:34%;z-index:2}
.fee-stage .split-ring b{font-size:clamp(34px,4.4vw,56px)}
.fee-stage .split-ring b small{font-size:.62em}
.fee-stage .split-ring span{font-size:9.5px;letter-spacing:.16em}
.fee-stage .legend{position:absolute;left:18px;right:18px;bottom:18px;z-index:2;width:auto;gap:8px}
.fee-stage .legend > div{padding:12px 16px;background:rgba(4,9,22,.72);border-color:var(--line-2);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.fee-stage .legend small{font-size:12px}

/* --- keamanan: potret tegak sebagai kolom pertama kartu --- */
.shields{grid-template-columns:360px repeat(2,1fr)}
.visor-card{position:relative;margin:0;grid-row:span 3;overflow:hidden;border:1px solid var(--line);background:#050a18;min-height:340px}
.visor-card img{width:100%;height:100%;object-fit:cover;object-position:54% 44%;display:block}
.visor-card::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(3,5,11,.95),rgba(3,5,11,.05) 58%)}
.visor-card figcaption{position:absolute;z-index:3;left:22px;right:22px;bottom:20px;display:grid;gap:7px}
.visor-card figcaption b{font:600 10.5px/1 var(--f-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ice)}
.visor-card figcaption span{font-size:13.5px;line-height:1.5;color:var(--silver)}

@media (max-width:980px){
  /* panggung fee jadi selebar layar; aturan 2 kolom di atas harus dibatalkan di sini */
  .fees{grid-template-columns:1fr;gap:36px}
  .fee-stage .split-ring{width:44%;left:29%;top:33%}
  .fee-stage .legend{left:14px;right:14px;bottom:14px}
  .verdict-wrap{grid-template-columns:1fr}
  .art-panel{aspect-ratio:16/9}
  .art-panel img{object-position:60% 28%}
  .shields{grid-template-columns:repeat(2,1fr)}
  .visor-card{grid-row:span 1;grid-column:1/-1;aspect-ratio:4/3;min-height:0}
  .visor-card img{object-position:50% 40%}
}
@media (max-width:640px){
  .fee-stage{aspect-ratio:3/4}
  .fee-stage > img{object-position:38% 42%}
  .fee-stage .split-ring{width:48%;left:26%;top:30%}
  .fee-stage .split-ring b{font-size:clamp(30px,10vw,44px)}
  .fee-stage .legend > div{padding:10px 12px}
  .fee-stage .legend small{display:none}
  .verdict-wrap .verdicts{grid-template-columns:1fr}
  .fee-duo{grid-template-columns:1fr}
  .shields{grid-template-columns:1fr}
  .visor-card{aspect-ratio:1}
}
/* angka di tengah cincin tetap tajam walau ada gambar di belakangnya */
.split-ring::before{content:"";position:absolute;inset:12%;border-radius:50%;z-index:-1;
  background:radial-gradient(closest-side,rgba(3,5,11,.9),rgba(3,5,11,.55) 72%,transparent)}
