
:root{--bg:#060a1c;--bg2:#0b1230;--ink:#eef2ff;--muted:#a3acd1;--dim:#7c86ad;--line:rgba(148,163,255,.15);
--glass:rgba(255,255,255,.035);--glass2:rgba(255,255,255,.07);--indigo:#6366f1;--violet:#8b5cf6;--cyan:#22d3ee;
--amber:#fbbf24;--pink:#f472b6;--mint:#34d399;--grad:linear-gradient(135deg,#6366f1 0%,#8b5cf6 48%,#22d3ee 100%);--max:1200px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--bg);-webkit-text-size-adjust:100%}
body{font-family:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);line-height:1.65;
-webkit-font-smoothing:antialiased;overflow-x:hidden;min-height:100vh}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
background:radial-gradient(900px 620px at 88% -8%,rgba(99,102,241,.22),transparent 60%),
radial-gradient(700px 520px at -12% 32%,rgba(34,211,238,.10),transparent 60%),
radial-gradient(820px 620px at 50% 112%,rgba(139,92,246,.15),transparent 60%)}
a{color:inherit;text-decoration:none}
img,svg{display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 22px}
.lk{color:var(--cyan);text-decoration:underline;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:8px}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:#fff;color:#000;padding:8px 14px;border-radius:8px}
.skip:focus{left:12px}

/* header */
.top{position:sticky;top:0;z-index:50;background:rgba(6,10,28,.62);backdrop-filter:saturate(150%) blur(14px);
-webkit-backdrop-filter:saturate(150%) blur(14px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px;gap:14px}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:17px;letter-spacing:-.2px;line-height:1.15}
.brand .lg{width:38px;height:38px;flex:none;border-radius:12px;background:var(--grad);display:grid;place-items:center;
box-shadow:0 10px 26px -10px rgba(99,102,241,.9),inset 0 1px 0 rgba(255,255,255,.35)}
.brand .lg svg{width:22px;height:22px}
.brand small{display:block;font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.2px}
.links{display:flex;gap:2px;align-items:center}
.links a{font-size:14px;font-weight:600;color:var(--muted);padding:8px 12px;border-radius:10px;transition:color .2s,background .2s}
.links a:hover,.links a.on{color:#fff;background:var(--glass2)}
.acts{display:flex;gap:10px;align-items:center}
.mnav{display:none;position:relative}
.mnav summary{list-style:none;cursor:pointer;width:42px;height:42px;border-radius:12px;border:1px solid var(--line);
display:grid;place-items:center;background:var(--glass)}
.mnav summary::-webkit-details-marker{display:none}
.mnav summary span,.mnav summary span::before,.mnav summary span::after{display:block;width:18px;height:2px;border-radius:2px;background:#fff;position:relative;content:""}
.mnav summary span::before{position:absolute;top:-6px}.mnav summary span::after{position:absolute;top:6px}
.mnav[open] summary span{background:transparent}
.mnav[open] summary span::before{top:0;transform:rotate(45deg)}.mnav[open] summary span::after{top:0;transform:rotate(-45deg)}
.mnav .panel{position:absolute;right:0;top:52px;min-width:230px;background:#0b1230;border:1px solid var(--line);border-radius:16px;
padding:8px;box-shadow:0 24px 60px -20px #000;display:flex;flex-direction:column}
.mnav .panel a{padding:12px 14px;border-radius:10px;font-weight:600}
.mnav .panel a:hover{background:var(--glass2)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:700;font-size:15px;padding:14px 24px;
border-radius:14px;border:1px solid transparent;white-space:nowrap;transition:transform .2s,box-shadow .2s,background .2s,color .2s;cursor:pointer}
.btn:hover{transform:translateY(-2px)}
.btn-p{background:var(--grad);color:#fff;box-shadow:0 14px 34px -12px rgba(99,102,241,.85)}
.btn-p:hover{box-shadow:0 20px 44px -14px rgba(99,102,241,1)}
.btn-g{background:var(--glass2);border-color:var(--line);color:var(--ink)}
.btn-g:hover{background:rgba(255,255,255,.11)}
.btn-wa{background:#25d366;color:#052e16;box-shadow:0 12px 30px -12px rgba(37,211,102,.7)}
.btn-sm{padding:10px 16px;font-size:14px;border-radius:12px}

/* section heads */
.sec{padding:88px 0;position:relative}
.sh{text-align:center;max-width:700px;margin:0 auto 48px}
.kick{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:800;letter-spacing:2.4px;text-transform:uppercase;color:var(--cyan)}
.kick::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--grad)}
.sh h2{font-size:clamp(28px,3.8vw,42px);line-height:1.15;letter-spacing:-.8px;margin:12px 0 12px}
.sh p{color:var(--muted);font-size:16.5px}
.gt{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* article cards */
.agrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px}
.acard{display:flex;flex-direction:column;padding:24px;border-radius:22px;background:var(--glass);border:1px solid var(--line);
transition:transform .25s,border-color .25s,background .25s}
.acard:hover{transform:translateY(-5px);border-color:rgba(129,140,248,.5);background:rgba(255,255,255,.055)}
.acard .em{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;font-size:26px;margin-bottom:16px;
background:linear-gradient(145deg,rgba(99,102,241,.4),rgba(11,18,48,.9));box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
.acard .cat{font-size:12px;font-weight:800;color:var(--cyan);letter-spacing:1.2px;text-transform:uppercase;margin-bottom:8px}
.acard h3{font-size:18px;line-height:1.35;margin-bottom:10px}
.acard p{color:var(--muted);font-size:14.5px;margin-bottom:18px}
.acard .more{margin-top:auto;font-weight:700;font-size:14px;color:#c7d2fe}

/* footer */
footer{border-top:1px solid var(--line);padding:56px 0 30px;margin-top:20px;background:linear-gradient(180deg,transparent,rgba(11,18,48,.6))}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.fgrid .fh{font-size:13px;letter-spacing:1.6px;text-transform:uppercase;color:var(--dim);margin-bottom:14px}
.fgrid ul{list-style:none;display:grid;gap:9px}
.fgrid li a{color:var(--muted);font-size:14.5px}
.fgrid li a:hover{color:#fff}
.fabout{color:var(--muted);font-size:14.5px;margin-top:14px;max-width:340px}
.fbot{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);color:var(--dim);font-size:12.5px;display:grid;gap:8px}
.wa-float{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;align-items:center;gap:9px;background:#25d366;color:#052e16;
font-weight:800;font-size:14px;padding:13px 18px;border-radius:999px;box-shadow:0 16px 36px -12px rgba(37,211,102,.75);transition:transform .2s}
.wa-float:hover{transform:translateY(-3px)}

/* reveal (konten tetap terlihat bila JS mati) */
html.js .rv{opacity:0;translate:0 26px;transition:opacity .7s ease,translate .8s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*90ms)}
html.js .rv.in{opacity:1;translate:0 0}

@media(max-width:960px){.links{display:none}.mnav{display:block}.acts .btn-cta{display:none}
.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.wa-s span{display:none}.wa-s{padding:10px 12px}.wa-float span{display:none}.wa-float{padding:14px}
.fgrid{grid-template-columns:1fr}.sec{padding:68px 0}.brand small{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.js .rv{opacity:1;translate:none}}

.crumbs{font-size:13px;color:var(--dim);padding:28px 0 6px}
.crumbs a{color:var(--muted)}.crumbs a:hover{color:#fff}
.art{max-width:820px;margin:0 auto;padding:0 22px}
.art .tag{display:inline-block;font-size:12px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--cyan);
background:rgba(34,211,238,.1);border:1px solid rgba(34,211,238,.32);padding:6px 12px;border-radius:999px}
.art h1{font-size:clamp(29px,4.6vw,44px);line-height:1.13;letter-spacing:-1px;margin:16px 0 12px}
.meta{color:var(--dim);font-size:13.5px;margin-bottom:26px}
.lead-box{background:linear-gradient(135deg,rgba(99,102,241,.16),rgba(34,211,238,.06));border:1px solid rgba(129,140,248,.35);border-radius:18px;padding:18px 20px;color:#e0e5ff;font-size:15.5px;margin-bottom:30px}
.prose{font-size:16.5px;color:#e3e7fb}
.prose p{margin:0 0 16px}
.prose h2{font-size:clamp(21px,3vw,27px);margin:38px 0 12px;letter-spacing:-.4px}
.prose ul,.prose ol{margin:0 0 18px 22px}.prose li{margin:7px 0}
.prose strong{color:#fff}
.prose .note{font-size:14px;color:var(--muted);background:rgba(251,191,36,.07);border:1px solid rgba(251,191,36,.28);border-radius:14px;padding:12px 15px}
.tbl{overflow-x:auto;margin:8px 0 20px;border-radius:14px;border:1px solid var(--line)}
.prose table{width:100%;border-collapse:collapse;font-size:15px;background:var(--glass)}
.prose th,.prose td{padding:12px 15px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.prose th{background:rgba(99,102,241,.18);font-size:12.5px;letter-spacing:.8px;text-transform:uppercase;color:#c7d2fe}
.prose tr:last-child td{border-bottom:none}
.src{margin:36px 0 0;background:var(--glass);border:1px solid var(--line);border-radius:18px;padding:20px 22px}
.src h2{font-size:17px;margin:0 0 8px}.src p{font-size:13.5px;color:var(--muted);margin-bottom:10px}
.src ul{margin:0 0 0 20px;font-size:14.5px}.src li{margin:6px 0}
.cta{margin:36px 0;border-radius:24px;padding:28px;background:linear-gradient(135deg,rgba(99,102,241,.28),rgba(139,92,246,.14) 55%,rgba(34,211,238,.12));border:1px solid rgba(129,140,248,.42)}
.cta h2{font-size:22px;margin-bottom:8px}.cta p{color:#d4d9f7;margin-bottom:18px}
.cta .row{display:flex;flex-wrap:wrap;gap:10px}
.rel{margin:46px 0 30px}.rel h2{font-size:22px;margin-bottom:18px}
.lhead{text-align:center;max-width:700px;margin:0 auto 40px;padding-top:26px}
.lhead h1{font-size:clamp(32px,5vw,50px);line-height:1.1;letter-spacing:-1.2px;margin:12px 0 12px}
.lhead p{color:var(--muted)}
