/* =====================================================================
   CliperKlip design system v3 (15 Nov 2026)
   Lapisan: font -> token -> dasar -> komponen -> publik -> app -> auth
   Token memakai nama lama (--ink, --teks, --garis, ...) supaya markup lama tetap cocok.
   ===================================================================== */
@font-face{font-family:"Inter";src:url(/static/inter-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url(/static/inter-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Inter";src:url(/static/inter-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Inter";src:url(/static/inter-700.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
/* permukaan gelap (pemasaran) */
--ink:#0a0a0a;--ink2:#131313;--ink3:#1b1b1b;--ink-garis:#262626;--ink-teks:#ededed;--ink-redup:#a1a1a1;
/* permukaan terang (aplikasi) */
--bg:#fafafa;--kartu:#ffffff;--permukaan2:#f4f4f5;--garis:#ebebeb;--garis2:#e0e0e0;
--teks:#0a0a0a;--teks2:#3f3f46;--redup:#71717a;--samar:#a1a1aa;
/* merek */
--aksen:#f4f1ea;--aksen-tua:#3f3f46;--ungu:#0a0a0a;--ungu-muda:#f4f4f5;--perak:#a1a1aa;
/* status */
--hijau:#15803d;--hijau-bg:#f0fdf4;--kuning:#a16207;--kuning-bg:#fefce8;--merah:#dc2626;--merah-bg:#fef2f2;--biru:#1d4ed8;--biru-bg:#eff6ff;
/* bentuk & bayangan */
--r-sm:8px;--r:12px;--r-lg:16px;--r-xl:22px;
--bayang:0 1px 2px rgba(0,0,0,.04),0 0 0 1px rgba(0,0,0,.0);
--bayang-md:0 1px 2px rgba(0,0,0,.04),0 6px 16px -6px rgba(0,0,0,.08);
--bayang-lg:0 24px 48px -18px rgba(0,0,0,.22);
--fokus:0 0 0 2px #fff,0 0 0 4px rgba(10,10,10,.35);
/* gerak */
--ease:cubic-bezier(.2,.8,.2,1);--cepat:.16s;--sedang:.28s;
/* huruf */
--serif:var(--font);
--font:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;font:15px/1.6 var(--font);color:var(--teks);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
a{color:inherit}img,svg{display:block}img{max-width:100%}
h1,h2,h3,h4{margin:0;letter-spacing:-.022em;line-height:1.15;font-weight:600}
p{margin:0}
::selection{background:#0a0a0a;color:#fff}
.i{width:18px;height:18px;flex:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
@media(max-width:600px){.wrap{padding:0 18px}}
:focus-visible{outline:0;box-shadow:var(--fokus);border-radius:6px}
.lewati{position:absolute;left:12px;top:-60px;z-index:100;background:#0a0a0a;color:#fff;padding:10px 14px;border-radius:10px;text-decoration:none;font-weight:500;transition:top var(--cepat)}
.lewati:focus{top:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- logo ---------- */
.logo{display:inline-flex;align-items:center;gap:9px;text-decoration:none;flex:none}
.logo-mark svg{width:28px;height:28px}
.logo-teks{font-weight:600;font-size:16.5px;letter-spacing:-.025em;color:var(--teks)}
.logo-teks b{font-weight:600;color:var(--samar)}
.logo-mark .lm-bg{fill:#0a0a0a}.logo-mark .lm-fg{fill:var(--aksen)}
.pnav .logo-mark .lm-bg,.pkaki .logo-mark .lm-bg,.auth-sisi .logo-mark .lm-bg{fill:var(--aksen)}
.pnav .logo-mark .lm-fg,.pkaki .logo-mark .lm-fg,.auth-sisi .logo-mark .lm-fg{fill:#0a0a0a}
.pnav .logo-teks,.pkaki .logo-teks,.auth-sisi .logo-teks,.logo-teks.putih{color:#fff}
.pnav .logo-teks b,.pkaki .logo-teks b,.auth-sisi .logo-teks b{color:#8a8a8a}

/* ---------- tombol ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:10px;border:1px solid transparent;
font:500 14px/1 var(--font);letter-spacing:-.005em;text-decoration:none;cursor:pointer;white-space:nowrap;user-select:none;
transition:background var(--cepat),border-color var(--cepat),box-shadow var(--cepat),color var(--cepat),transform .1s}
.btn .i{width:16px;height:16px}
.btn:active{transform:scale(.985)}
.btn-utama{background:#0a0a0a;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 1px 2px rgba(0,0,0,.2)}
.btn-utama:hover{background:#262626}
.btn-aksen{background:var(--aksen);color:#0a0a0a;box-shadow:inset 0 -1px 0 rgba(0,0,0,.08)}.btn-aksen:hover{background:#fff}
.btn-garis{background:#fff;color:var(--teks);border-color:var(--garis2);box-shadow:0 1px 2px rgba(0,0,0,.04)}.btn-garis:hover{background:#fafafa;border-color:#d4d4d8}
.btn-terang{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.14)}.btn-terang:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22)}
.btn-bahaya{background:#fff;color:var(--merah);border-color:#fecaca}.btn-bahaya:hover{background:var(--merah-bg);border-color:#fca5a5}
.btn-hantu{background:transparent;color:var(--redup);height:auto;padding:6px 4px}.btn-hantu:hover{color:var(--teks)}
.btn-sm{height:34px;padding:0 12px;font-size:13.5px;border-radius:9px}
.btn-lg{height:48px;padding:0 22px;font-size:15px;border-radius:12px}
.btn-lebar{width:100%}
.btn:disabled,.btn[aria-busy=true]{opacity:.7;cursor:progress}
.btn .putar{width:15px;height:15px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:putar .7s linear infinite}
.ikon-btn{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;border:0;background:transparent;color:inherit;cursor:pointer;color:var(--redup);transition:background var(--cepat),color var(--cepat)}
.ikon-btn:hover{background:var(--permukaan2);color:var(--teks)}
.ikon-btn .i{width:18px;height:18px}

/* ================= PUBLIK ================= */
.m-publik{background:#fff}
.pnav{position:sticky;top:0;z-index:30;background:rgba(10,10,10,.94);backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);border-bottom:1px solid rgba(255,255,255,.07)}
.pnav-in{display:flex;align-items:center;height:64px;gap:32px}
.pnav-link{display:flex;gap:4px;margin-right:auto}
.pnav-link a,.nav-link{display:inline-flex;align-items:center;height:36px;padding:0 12px;border-radius:8px;color:#a1a1a1;text-decoration:none;font-size:14px;font-weight:500;transition:color var(--cepat),background var(--cepat)}
.pnav-link a:hover,.nav-link:hover{color:#fff;background:rgba(255,255,255,.06)}
.pnav-kanan{display:flex;align-items:center;gap:8px}
.pnav-burger{display:none;width:40px;height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:transparent;color:#fff;cursor:pointer;place-items:center}
.pnav-burger span,.pnav-burger span::before,.pnav-burger span::after{display:block;width:16px;height:1.5px;background:currentColor;border-radius:2px;position:relative;transition:transform var(--sedang) var(--ease),background var(--cepat)}
.pnav-burger span::before,.pnav-burger span::after{content:"";position:absolute;left:0}
.pnav-burger span::before{top:-5px}.pnav-burger span::after{top:5px}
.pnav-burger[aria-expanded=true] span{background:transparent}
.pnav-burger[aria-expanded=true] span::before{transform:translateY(5px) rotate(45deg)}
.pnav-burger[aria-expanded=true] span::after{transform:translateY(-5px) rotate(-45deg)}
.pmenu{display:none}
@media(max-width:860px){
.pnav-link{display:none}.pnav-kanan{margin-left:auto}.pnav-kanan .nav-link{display:none}
.pnav-burger{display:grid}
.pmenu{display:block;position:fixed;inset:64px 0 auto;z-index:29;background:rgba(10,10,10,.97);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08);
padding:8px 18px 22px;transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity var(--sedang) var(--ease),transform var(--sedang) var(--ease),visibility var(--sedang)}
.pmenu.buka{opacity:1;transform:none;visibility:visible}
.pmenu a:not(.btn){display:flex;align-items:center;justify-content:space-between;height:52px;border-bottom:1px solid rgba(255,255,255,.07);color:#ededed;text-decoration:none;font-size:16px;font-weight:500}
.pmenu-cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
}

.hero{position:relative;background:var(--ink);color:#fff;overflow:hidden;padding:88px 0 96px}
.hero::before{content:"";position:absolute;inset:-40% -10% auto;height:900px;background:
radial-gradient(620px 400px at 72% 30%,rgba(255,255,255,.09),transparent 70%),radial-gradient(520px 320px at 12% 6%,rgba(244,241,234,.10),transparent 70%)}
.hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 80%)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.pil{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;border-radius:99px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);font-size:13px;color:#c4c4c4;font-weight:500}
.pil b{background:var(--aksen);color:#0a0a0a;padding:3px 9px;border-radius:99px;font-size:11px;font-weight:600;letter-spacing:.02em}
.hero h1{font-size:clamp(38px,5vw,60px);font-weight:600;letter-spacing:-.04em;line-height:1.02;margin:24px 0 20px;max-width:640px}
.hero h1 em{display:inline;font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em;font-size:1.06em;background:linear-gradient(100deg,#fff 15%,#9a9a9a 95%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.06em}
.hero-sub{font-size:17px;color:#a1a1a1;max-width:520px;line-height:1.65}
.hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin:32px 0 28px}
.hero-bukti{display:flex;align-items:center;gap:14px;color:#8a8a8a;font-size:13.5px}
.hero-bukti .plat-baris .plat{background:rgba(255,255,255,.07);color:#fff}
@media(max-width:920px){.hero{padding:56px 0 64px}.hero-grid{grid-template-columns:1fr;gap:44px}}

/* ilustrasi ponsel */
.demo{position:relative;height:520px}
@media(min-width:521px){.demo{transform:scale(.88);transform-origin:center top;margin-bottom:-62px}}
.hp{position:absolute;left:50%;top:0;transform:translateX(-50%);width:260px;height:520px;border-radius:40px;background:#050505;padding:10px;
box-shadow:0 0 0 1px rgba(255,255,255,.12),0 40px 80px -20px rgba(0,0,0,.7),0 0 120px -30px rgba(255,255,255,.14)}
.hp-layar{position:relative;height:100%;border-radius:31px;overflow:hidden;background:linear-gradient(165deg,#2a2a2a 0%,#151515 45%,#0a0a0a 100%)}
.hp-layar::before{content:"";position:absolute;inset:0;background:radial-gradient(180px 180px at 50% 38%,rgba(244,241,234,.16),transparent 70%)}
.hp-wajah{position:absolute;left:50%;top:26%;transform:translateX(-50%);width:120px;height:120px;border-radius:50%;background:linear-gradient(160deg,#3d3d3d,#1d1d1d);box-shadow:inset 0 -12px 30px rgba(0,0,0,.4)}
.hp-wajah::after{content:"";position:absolute;left:50%;bottom:-90px;transform:translateX(-50%);width:190px;height:120px;border-radius:90px 90px 0 0;background:linear-gradient(160deg,#333,#191919)}
.hp-sub{position:absolute;left:16px;right:16px;bottom:150px;text-align:center;font-weight:600;font-size:16px;line-height:1.25;text-transform:uppercase;letter-spacing:-.01em}
.hp-sub span{background:var(--aksen);color:#0a0a0a;padding:0 4px;border-radius:4px}
.hp-info{position:absolute;left:14px;bottom:18px;right:56px;font-size:11.5px;color:#d4d4d4}
.hp-info b{display:block;font-size:12.5px;color:#fff}
.hp-aksi{position:absolute;right:12px;bottom:22px;display:flex;flex-direction:column;gap:14px;align-items:center;font-size:10px;color:#fff}
.hp-aksi i{display:block;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.14)}
.mengambang{position:absolute;background:rgba(255,255,255,.98);color:var(--teks);border-radius:14px;padding:12px 14px;box-shadow:0 24px 48px -16px rgba(0,0,0,.55),0 0 0 1px rgba(0,0,0,.04);font-size:12.5px;animation:melayang 6s ease-in-out infinite}
.mengambang small{display:block;color:var(--redup);font-size:11.5px}
.mengambang b{font-size:17px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.f-views{left:0;top:70px;min-width:170px}
.f-views .naik{color:var(--hijau);font-weight:500;font-size:12px}
.f-uang{right:-6px;top:150px;animation-delay:-2s;min-width:190px}
.f-uang .ikon-bulat{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--hijau-bg);color:var(--hijau);margin-right:8px;vertical-align:middle}
.f-campaign{left:-24px;bottom:-12px;animation-delay:-4s;display:flex;align-items:center;gap:10px}
.mini-bar{width:120px;height:5px;background:#eee;border-radius:9px;overflow:hidden;margin-top:6px}.mini-bar i{display:block;height:100%;width:64%;background:#0a0a0a;border-radius:9px}
@keyframes melayang{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:520px){.demo{height:470px;transform:scale(.92);transform-origin:top center}.f-views{left:-6px}.f-uang{right:-10px}}

/* strip angka */
.angka-strip{background:var(--ink);color:#fff;border-top:1px solid rgba(255,255,255,.07)}
.angka-in{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:30px 24px}
.angka-in div{border-left:1px solid rgba(255,255,255,.1);padding-left:18px}
.angka-in b{display:block;font-size:24px;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.angka-in span{color:#8a8a8a;font-size:13px}
@media(max-width:760px){.angka-in{grid-template-columns:1fr 1fr;row-gap:24px}}

.seksi{padding:104px 0}
.seksi.abu{background:var(--bg)}
.seksi-kepala{max-width:640px;margin-bottom:48px}
.seksi-kepala.tengah{margin-left:auto;margin-right:auto;text-align:center}
.eyebrow{display:inline-block;font-size:12px;font-weight:500;color:var(--redup);text-transform:uppercase;letter-spacing:.14em;margin-bottom:14px}
.seksi h2{font-size:clamp(30px,3.6vw,46px);font-weight:600;letter-spacing:-.035em;line-height:1.08}
.seksi h2 em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em;font-size:1.06em}
.seksi-kepala p,.lead{color:var(--redup);font-size:17px;line-height:1.65;margin-top:16px}
@media(max-width:700px){.seksi{padding:72px 0}.seksi-kepala{margin-bottom:36px}}

.dua-kolom{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.dua-kolom>*{min-width:0}
@media(max-width:900px){.dua-kolom{grid-template-columns:1fr;gap:40px}}

/* kalkulator */
.kalk{background:var(--ink);color:#fff;border-radius:var(--r-xl);padding:32px;box-shadow:var(--bayang-lg);position:relative;overflow:hidden;border:1px solid #1f1f1f}
.kalk::before{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;background:radial-gradient(closest-side,rgba(255,255,255,.1),transparent)}
.kalk h3{font-size:18px;position:relative;letter-spacing:-.02em}.kalk>p{color:#8a8a8a;margin:6px 0 26px;position:relative;font-size:14px}
.kalk-baris{position:relative;margin-bottom:22px}
.kalk-baris label{display:flex;justify-content:space-between;font-size:13.5px;color:#a1a1a1;margin-bottom:12px}
.kalk-baris label b{color:#fff;font-size:14.5px;font-weight:500;font-variant-numeric:tabular-nums}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:9px;background:#2e2e2e;outline:none;padding:0;border:0;cursor:pointer}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;border:0;box-shadow:0 0 0 5px rgba(255,255,255,.12),0 2px 6px rgba(0,0,0,.5);transition:box-shadow var(--cepat)}
input[type=range]:hover::-webkit-slider-thumb{box-shadow:0 0 0 8px rgba(255,255,255,.14),0 2px 6px rgba(0,0,0,.5)}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:0;box-shadow:0 0 0 5px rgba(255,255,255,.12)}
.kalk-hasil{position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;border-top:1px solid #262626;padding-top:22px;margin-top:6px}
.kalk-hasil span{color:#8a8a8a;font-size:13px}.kalk-hasil b{font-size:34px;font-weight:600;letter-spacing:-.04em;color:#fff;font-variant-numeric:tabular-nums}
.kalk small{display:block;position:relative;color:#6b6b6b;font-size:12px;margin-top:14px;line-height:1.5}

.cta-band{background:var(--ink);color:#fff;border-radius:28px;padding:60px;display:flex;justify-content:space-between;align-items:center;gap:30px;position:relative;overflow:hidden;border:1px solid #1f1f1f}
.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(420px 240px at 88% 0%,rgba(244,241,234,.14),transparent 70%),radial-gradient(420px 260px at 0% 100%,rgba(255,255,255,.06),transparent 70%)}
.cta-band>*{position:relative}.cta-band h2{font-size:clamp(28px,3.2vw,40px);font-weight:600;letter-spacing:-.035em;max-width:560px;line-height:1.1}
.cta-band p{color:#a1a1a1;margin-top:12px}
@media(max-width:760px){.cta-band{flex-direction:column;align-items:flex-start;padding:38px 26px}}

.pkaki{background:var(--ink);color:#8a8a8a;padding:72px 0 28px}
.pkaki-in{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px}
.pkaki-merek p{margin-top:16px;max-width:300px;font-size:14px;line-height:1.6}
.pkaki h4{color:#ededed;font-size:13px;font-weight:500;margin-bottom:12px;letter-spacing:0}
.pkaki-in a:not(.logo){display:flex;align-items:center;min-height:34px;color:#8a8a8a;text-decoration:none;font-size:14px;transition:color var(--cepat)}.pkaki-in a:not(.logo):hover{color:#fff}
.pkaki-bawah{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #1f1f1f;margin-top:48px;padding-top:22px;font-size:12.5px;color:#6b6b6b}
@media(max-width:760px){.pkaki-in{grid-template-columns:1fr 1fr}.pkaki-merek{grid-column:1/-1}.pkaki-in a:not(.logo){min-height:42px}}

/* katalog publik */
.katalog-hero{background:var(--ink);color:#fff;padding:56px 0 40px}
.katalog-hero h1{font-size:clamp(32px,4vw,48px);font-weight:600;letter-spacing:-.04em}
.katalog-hero p{color:#a1a1a1;margin-top:10px;font-size:16px}
.saring{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.saring a{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:99px;border:1px solid rgba(255,255,255,.14);color:#c4c4c4;text-decoration:none;font-size:13.5px;font-weight:500;transition:border-color var(--cepat),background var(--cepat),color var(--cepat)}
.saring a:hover{border-color:rgba(255,255,255,.3);color:#fff}
.saring a.aktif{background:#fff;color:#0a0a0a;border-color:#fff}
.saring .plat{width:18px;height:18px;background:none;padding:0;color:inherit}
.m-app .saring a{border-color:var(--garis2);color:var(--teks2);background:#fff}.m-app .saring a:hover{border-color:#d4d4d8;color:var(--teks)}
.m-app .saring a.aktif{background:#0a0a0a;color:#fff;border-color:#0a0a0a}

/* ================= APP (shell terang) ================= */
.m-app{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh;background:var(--bg)}
.side{position:sticky;top:0;height:100vh;background:#fff;display:flex;flex-direction:column;padding:18px 12px;border-right:1px solid var(--garis)}
.side>.logo{padding:4px 10px 22px}
.side-label{padding:0 12px 8px;font-size:11.5px;font-weight:500;color:var(--samar);text-transform:uppercase;letter-spacing:.1em}
.side-nav{display:flex;flex-direction:column;gap:1px}
.side-nav a,.side-link{display:flex;align-items:center;gap:11px;height:36px;padding:0 10px;border-radius:8px;color:var(--teks2);text-decoration:none;font-weight:500;font-size:14px;transition:background var(--cepat),color var(--cepat)}
.side-nav a .i,.side-link .i{width:17px;height:17px;color:var(--samar);transition:color var(--cepat)}
.side-nav a:hover,.side-link:hover{background:var(--permukaan2);color:var(--teks)}
.side-nav a:hover .i,.side-link:hover .i{color:var(--teks2)}
.side-nav a.aktif{background:var(--permukaan2);color:var(--teks)}
.side-nav a.aktif .i{color:var(--teks)}
.side-bawah{margin-top:auto;display:grid;gap:6px}
.side-user{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;border:1px solid var(--garis);background:#fff}
.side-user div{flex:1;min-width:0}.side-user b{display:block;font-weight:500;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-user small{color:var(--redup);font-size:12px}
.side-user .avatar{width:32px;height:32px;border-radius:9px;font-size:12px}
.topbar,.tabbar{display:none}
.konten{min-width:0;padding:36px 44px 48px;max-width:1240px;width:100%}
.app-kaki{display:flex;gap:6px 18px;flex-wrap:wrap;margin-top:64px;padding-top:20px;border-top:1px solid var(--garis);font-size:12.5px;color:var(--samar)}
.app-kaki a{color:var(--redup);text-decoration:none}.app-kaki a:hover{color:var(--teks)}.app-kaki span{margin-left:auto}
@media(max-width:960px){
.m-app{display:block;padding-bottom:calc(68px + env(safe-area-inset-bottom))}
.side{display:none}
.topbar{display:flex;position:sticky;top:0;z-index:20;align-items:center;justify-content:space-between;height:56px;padding:0 14px 0 16px;background:rgba(255,255,255,.85);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid var(--garis)}
.topbar-kanan{display:flex;align-items:center;gap:4px}.topbar-kanan form{margin:0}
.topbar .avatar{width:30px;height:30px;border-radius:50%;font-size:11.5px}
.tabbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-top:1px solid var(--garis);padding:4px 4px calc(4px + env(safe-area-inset-bottom))}
.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;color:var(--samar);text-decoration:none;font-size:10.5px;font-weight:500;border-radius:10px;transition:color var(--cepat)}
.tabbar a .i{width:20px;height:20px}
.tabbar a.aktif{color:var(--teks)}
.konten{padding:22px 16px 32px}
.app-kaki{margin-top:40px}.app-kaki a{min-height:36px;display:inline-flex;align-items:center}.app-kaki span{margin-left:0;width:100%}
}

.kepala{margin-bottom:28px}
.balik{display:inline-flex;align-items:center;gap:4px;min-height:32px;color:var(--redup);text-decoration:none;font-size:13.5px;font-weight:500;margin-bottom:8px;transition:color var(--cepat)}
.balik .i{width:15px;height:15px}.balik:hover{color:var(--teks)}
.kepala-baris{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.kepala h1{font-size:26px;font-weight:600;letter-spacing:-.03em;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.kepala p{color:var(--redup);margin-top:6px;font-size:14.5px}
.kepala-aksi{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:600px){.kepala{margin-bottom:22px}.kepala h1{font-size:22px}}

/* kartu metrik */
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}
.stat-grid.tiga{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-grid.dua{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1100px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.stat-grid,.stat-grid.tiga{gap:10px}}
.stat{position:relative;display:block;background:#fff;border:1px solid var(--garis);border-radius:var(--r-lg);padding:18px 18px 16px;box-shadow:var(--bayang);min-width:0;transition:border-color var(--cepat)}
.stat-ikon{position:absolute;top:16px;right:16px;color:var(--samar)}
.stat-ikon .i{width:16px;height:16px}
.stat-isi{min-width:0}.stat-isi span{display:block;font-size:13px;color:var(--redup);font-weight:500;padding-right:24px}
.stat-isi b{display:block;font-size:26px;font-weight:600;letter-spacing:-.035em;margin-top:10px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.stat-isi small{display:block;font-size:12px;color:var(--samar);margin-top:6px;line-height:1.45}
.stat.gelap{background:#0a0a0a;border-color:#0a0a0a;color:#fff;box-shadow:0 10px 30px -14px rgba(0,0,0,.5)}
.stat.gelap .stat-ikon{color:#6b6b6b}.stat.gelap span{color:#a1a1a1}.stat.gelap small{color:#7a7a7a}
@media(max-width:420px){.stat{padding:14px}.stat-isi b{font-size:21px;margin-top:8px}.stat-ikon{top:13px;right:12px}}

.panel{background:#fff;border:1px solid var(--garis);border-radius:var(--r-lg);box-shadow:var(--bayang);margin-bottom:20px;overflow:hidden}
.panel-kepala{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 20px;border-bottom:1px solid var(--garis)}
.panel-kepala h2{font-size:15px;font-weight:600;letter-spacing:-.015em}
.panel-kepala a{font-size:13.5px;font-weight:500;color:var(--redup);text-decoration:none;transition:color var(--cepat)}.panel-kepala a:hover{color:var(--teks)}
.panel-isi{padding:20px}
.panel.flush .panel-isi{padding:0}
.panel.sorot{border-color:#d4d4d8;box-shadow:var(--bayang-md)}
@media(max-width:600px){.panel-isi{padding:16px}.panel-kepala{padding:14px 16px}}

/* kartu campaign */
.grid-kartu{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}
.ckartu{display:flex;flex-direction:column;background:#fff;border:1px solid var(--garis);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--bayang);transition:border-color var(--sedang),box-shadow var(--sedang) var(--ease),transform var(--sedang) var(--ease)}
.ckartu:hover{border-color:#d4d4d8;box-shadow:var(--bayang-lg);transform:translateY(-3px)}
.ck-gambar{position:relative;aspect-ratio:16/9;background:#141414;overflow:hidden}
.ck-sampul,.detail-sampul{position:absolute;inset:0;background:#141414}
.ck-sampul img,.detail-sampul img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease),opacity .4s}
.ckartu:hover .ck-sampul img{transform:scale(1.035)}
.ck-sampul::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 50%,rgba(0,0,0,.45))}
.ck-sampul.polos,.detail-sampul.polos{background:radial-gradient(120% 90% at 85% 10%,color-mix(in srgb,var(--av) 70%,#fff 0%),transparent 60%),linear-gradient(135deg,color-mix(in srgb,var(--av) 70%,#0a0a0a),#0a0a0a)}
.ck-samar{position:absolute;left:18px;right:18px;bottom:12px;color:rgba(255,255,255,.22);font-family:var(--serif);font-style:italic;font-size:30px;line-height:1.02;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ck-pita{position:absolute;top:10px;right:10px;z-index:2;background:rgba(10,10,10,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font-size:11.5px;font-weight:500;padding:5px 10px;border-radius:99px;max-width:70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid rgba(255,255,255,.12)}
.ck-status{position:absolute;top:10px;left:10px;z-index:2}.ck-status .badge{box-shadow:0 2px 8px rgba(0,0,0,.18)}
.ck-badan{display:flex;flex-direction:column;flex:1;padding:16px 18px 18px}
.ck-atas{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.ck-atas .avatar{width:26px;height:26px;border-radius:50%;font-size:10.5px}
.ck-atas b{flex:1;min-width:0;font-size:13px;font-weight:500;color:var(--teks2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ck-chip{flex:none;height:22px;display:inline-flex;align-items:center;padding:0 8px;border:1px solid var(--garis);border-radius:6px;font-size:10.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--redup)}
.ckartu h3{font-size:16px;font-weight:600;letter-spacing:-.02em;line-height:1.35;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:43px}
.ck-cpm{display:flex;align-items:baseline;gap:6px;margin-bottom:12px}
.ck-cpm b{font-size:20px;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.ck-cpm span{color:var(--redup);font-size:13px}
.ck-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:16px}
.ck-progres{margin-top:auto}
.ck-progres-teks{display:flex;justify-content:space-between;font-size:12.5px;color:var(--redup);margin-bottom:8px}
.ck-progres-teks b{color:var(--teks);font-weight:500;font-variant-numeric:tabular-nums}
.ck-sisa{display:block;margin-top:8px;font-size:12px;color:var(--samar)}
.bar{height:4px;border-radius:9px;background:#f0f0f0;overflow:hidden}.bar i{display:block;height:100%;border-radius:9px;background:#0a0a0a;transition:width .8s var(--ease)}
.detail-sampul{position:relative;height:280px;border-radius:var(--r-xl);overflow:hidden;margin-bottom:24px;border:1px solid var(--garis)}
@media(max-width:600px){.detail-sampul{height:190px;border-radius:var(--r-lg);margin-bottom:18px}}
.bantu{display:block;color:var(--redup);font-size:12.5px;margin:6px 0 10px}
.tag{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:6px;background:var(--permukaan2);color:var(--teks2);font-size:12px;font-weight:500}

/* skeleton gambar: tampil berkilau sampai gambar dimuat (kelas .js dari app.js) */
.js .ck-sampul img:not(.muat),.js .detail-sampul img:not(.muat),.js .mk-c-g img:not(.muat){opacity:0}
.js .ck-sampul:has(img:not(.muat)),.js .detail-sampul:has(img:not(.muat)),.kerangka{background:linear-gradient(100deg,#151515 30%,#242424 50%,#151515 70%) 0 0/300% 100%;animation:kilau 1.4s linear infinite}
.kerangka.terang{background:linear-gradient(100deg,#f1f1f1 30%,#fafafa 50%,#f1f1f1 70%) 0 0/300% 100%}
@keyframes kilau{to{background-position:-150% 0}}

.plat-baris{display:inline-flex;gap:6px}
.plat{display:inline-flex;align-items:center;gap:6px;height:24px;min-width:24px;justify-content:center;border-radius:6px;background:var(--permukaan2);color:var(--teks);padding:0 5px;font-size:12.5px;font-weight:500}
.plat-i{width:13px;height:13px}
.plat span{padding-right:3px}

.avatar{display:inline-grid;place-items:center;flex:none;width:34px;height:34px;border-radius:9px;background:var(--av);color:#fff;font-weight:500;font-size:12.5px;letter-spacing:.02em}
.avatar.besar{width:52px;height:52px;border-radius:14px;font-size:17px}

.badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;background:var(--permukaan2);color:var(--teks2);letter-spacing:0;border:1px solid transparent}
.badge i{width:6px;height:6px;border-radius:50%;background:currentColor}
.badge.hijau{background:var(--hijau-bg);color:var(--hijau);border-color:#dcfce7}.badge.kuning{background:var(--kuning-bg);color:var(--kuning);border-color:#fef08a}
.badge.merah{background:var(--merah-bg);color:var(--merah);border-color:#fee2e2}.badge.biru{background:var(--biru-bg);color:var(--biru);border-color:#dbeafe}

/* daftar baris (tabel ringan) */
.baris-list{display:flex;flex-direction:column}
.brs{display:flex;align-items:center;gap:14px;padding:14px 20px;border-bottom:1px solid var(--garis);transition:background var(--cepat)}
.brs:hover{background:#fcfcfc}
.brs:last-child{border-bottom:0}
.brs-isi{flex:1;min-width:0}.brs-isi b{display:block;font-size:14px;font-weight:500}
.brs-isi small{display:block;color:var(--redup);font-size:12.5px;margin-top:2px;line-height:1.5}
.brs-kanan{text-align:right;flex:none}.brs-kanan b{display:block;font-size:14.5px;font-weight:500;font-variant-numeric:tabular-nums}.brs-kanan small{color:var(--redup);font-size:12px}
.brs .plus{color:var(--hijau)}
.brs-aksi{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
@media(max-width:600px){.brs{padding:14px 16px;align-items:flex-start;flex-wrap:wrap}}
.alasan{display:flex;gap:8px;align-items:flex-start;margin-top:8px;padding:8px 10px;border-radius:8px;background:var(--merah-bg);color:#b91c1c;font-size:12.5px}
.alasan .i{width:15px;height:15px;margin-top:1px}

/* tab (segmented) */
.tabs{display:inline-flex;gap:2px;padding:3px;margin-bottom:18px;background:var(--permukaan2);border:1px solid var(--garis);border-radius:11px;max-width:100%;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs a{display:flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-radius:8px;color:var(--redup);text-decoration:none;font-weight:500;font-size:13.5px;white-space:nowrap;transition:background var(--cepat),color var(--cepat),box-shadow var(--cepat)}
.tabs a:hover{color:var(--teks)}
.tabs a.aktif{background:#fff;color:var(--teks);box-shadow:0 1px 2px rgba(0,0,0,.08),0 0 0 1px rgba(0,0,0,.04)}
.tabs a em{font-style:normal;color:var(--samar);font-size:12px;font-variant-numeric:tabular-nums}
.tabs a.aktif em{color:var(--redup)}

/* form */
form{margin:0}
.field{display:block;margin-bottom:18px}
.lbl{display:block;font-size:13.5px;font-weight:500;color:var(--teks);margin-bottom:7px}
.lbl em{font-style:normal;font-weight:400;color:var(--samar);font-size:12px;margin-left:4px}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{width:100%;height:42px;background:#fff;border:1px solid var(--garis2);border-radius:10px;padding:0 13px;
font:400 15px/1.4 var(--font);color:var(--teks);transition:border-color var(--cepat),box-shadow var(--cepat);box-shadow:0 1px 2px rgba(0,0,0,.03)}
textarea{height:auto;padding:11px 13px;resize:vertical;min-height:110px;line-height:1.55}
input:hover:not(:focus),select:hover:not(:focus),textarea:hover:not(:focus){border-color:#d4d4d8}
input::placeholder,textarea::placeholder{color:var(--samar)}
input:focus,select:focus,textarea:focus{outline:0;border-color:#a1a1aa;box-shadow:0 0 0 3px rgba(10,10,10,.07)}
input:user-invalid,textarea:user-invalid{border-color:#fca5a5}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:38px;cursor:pointer}
input[type=file]{height:auto;padding:10px;background:var(--bg);border-style:dashed;cursor:pointer;font-size:14px}
input[type=file]::file-selector-button{font:500 13px var(--font);height:32px;padding:0 12px;margin-right:12px;border-radius:8px;border:1px solid var(--garis2);background:#fff;color:var(--teks);cursor:pointer}
.field small{display:block;color:var(--redup);font-size:12.5px;margin-top:6px;line-height:1.5}
.input-awalan{display:flex;align-items:stretch}
.input-awalan span{display:grid;place-items:center;padding:0 12px;border:1px solid var(--garis2);border-right:0;border-radius:10px 0 0 10px;background:var(--bg);color:var(--redup);font-weight:500;font-size:14px}
.input-awalan input{border-radius:0 10px 10px 0!important}
.cek{display:flex;gap:10px;align-items:flex-start;margin-bottom:18px;font-size:14px;color:var(--teks2);cursor:pointer;line-height:1.5}
.cek input{width:18px;height:18px;margin:1px 0 0;accent-color:#0a0a0a;flex:none}
.cek a{color:var(--teks);font-weight:500;text-underline-offset:3px}
.pilih-plat{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.pilih-plat label{position:relative;cursor:pointer}
.pilih-plat input{position:absolute;opacity:0;pointer-events:none}
.pilih-plat span.kotak-p{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;border:1px solid var(--garis2);border-radius:12px;font-size:13px;font-weight:500;text-align:center;transition:border-color var(--cepat),box-shadow var(--cepat),background var(--cepat);background:#fff}
.pilih-plat span.kotak-p:hover{border-color:#d4d4d8}
.pilih-plat span.kotak-p .plat{width:34px;height:34px;border-radius:10px}.pilih-plat .plat-i{width:18px;height:18px}
.pilih-plat input:checked+span.kotak-p{border-color:#0a0a0a;box-shadow:0 0 0 1px #0a0a0a;background:#fafafa}
.pilih-plat input:focus-visible+span.kotak-p{box-shadow:var(--fokus)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media(max-width:600px){.form-grid{grid-template-columns:1fr}}
.form-seksi{padding:26px 0;border-top:1px solid var(--garis)}.form-seksi:first-child{border-top:0;padding-top:0}
.form-seksi h3{font-size:15px;font-weight:600;letter-spacing:-.015em;margin-bottom:4px}.form-seksi>p{color:var(--redup);font-size:13.5px;margin-bottom:18px}
.ringkasan-biaya{background:var(--bg);border:1px solid var(--garis);border-radius:12px;padding:14px 16px;font-size:14px}
.ringkasan-biaya div{display:flex;justify-content:space-between;padding:4px 0;color:var(--teks2)}
.ringkasan-biaya b{font-weight:500;font-variant-numeric:tabular-nums}
.ringkasan-biaya div.total{border-top:1px solid var(--garis2);margin-top:8px;padding-top:10px;font-weight:600;color:var(--teks);font-size:15.5px}
.aksi-baris{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.aksi-baris form{margin:0}
details.lipat>summary{list-style:none;cursor:pointer;display:inline-flex}
details.lipat>summary::-webkit-details-marker{display:none}
details.lipat[open]>summary{margin-bottom:10px}
details.lipat .lipat-isi{background:#fff;border:1px solid var(--garis);border-radius:12px;padding:16px;margin-top:4px;width:100%;box-shadow:var(--bayang-md);animation:muncul-kecil var(--sedang) var(--ease)}
@keyframes muncul-kecil{from{opacity:0;transform:translateY(-4px)}}

/* layout detail */
.dua{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}
.lekat{position:sticky;top:88px}
.m-app .lekat{top:24px}
@media(max-width:1060px){.dua{grid-template-columns:1fr}.lekat{position:static}}
.isi-teks{white-space:pre-wrap;word-break:break-word;color:var(--teks2);line-height:1.75}
.sub-judul{font-size:12px;font-weight:500;color:var(--samar);text-transform:uppercase;letter-spacing:.12em;margin:24px 0 8px}
.sub-judul:first-child{margin-top:0}
.info-baris{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--garis);font-size:14px}
.info-baris:last-child{border-bottom:0}.info-baris span{color:var(--redup)}.info-baris b{text-align:right;font-weight:500;font-variant-numeric:tabular-nums}
.harga-besar{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.harga-besar b{font-size:30px;font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.harga-besar span{color:var(--redup)}
.detail-kepala{display:flex;gap:16px;align-items:center;margin-bottom:8px}
.detail-kepala h1{font-size:32px;font-weight:600;letter-spacing:-.035em;line-height:1.12}
@media(max-width:600px){.detail-kepala h1{font-size:24px}}

/* langkah verifikasi */
.vlangkah{counter-reset:v;display:grid;gap:12px;margin:14px 0 4px;padding:0;list-style:none}
.vlangkah li{counter-increment:v;display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--teks2)}
.vlangkah li::before{content:counter(v);flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:7px;border:1px solid var(--garis2);font-weight:500;font-size:12px;color:var(--teks)}
.kode{display:inline-flex;align-items:center;gap:6px;font:500 13.5px ui-monospace,SFMono-Regular,Menlo,monospace;background:#0a0a0a;color:var(--aksen);padding:5px 10px;border-radius:8px;cursor:pointer;border:0;letter-spacing:.04em}
.kode .i{width:14px;height:14px}

/* keadaan kosong */
.kosong{text-align:center;padding:44px 20px;color:var(--redup)}
.kosong-ikon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--garis);background:#fff;color:var(--redup);margin-bottom:14px;box-shadow:var(--bayang-md)}
.kosong-ikon .i{width:19px;height:19px}
.kosong b,.kosong h1,.kosong h2{display:block;color:var(--teks);font-size:15.5px;font-weight:600;letter-spacing:-.015em;margin-bottom:6px}
.kosong h1{font-size:22px}
.kosong p{max-width:360px;margin:0 auto 18px;font-size:14px;line-height:1.55}

/* notifikasi */
.toast{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:10px;max-width:min(520px,calc(100% - 32px));
padding:11px 14px 11px 12px;border-radius:12px;font-weight:500;font-size:14px;box-shadow:0 16px 40px -12px rgba(0,0,0,.35),0 0 0 1px rgba(0,0,0,.04);animation:toast-masuk .35s var(--ease)}
.toast .i{width:17px;height:17px}
.toast.ok{background:#0a0a0a;color:#fff}.toast.ok .i{color:#4ade80}
.toast.galat{background:#fff;color:#b91c1c;border:1px solid #fecaca}
.toast.hilang{opacity:0;transform:translate(-50%,-8px);transition:opacity .3s,transform .3s}
@keyframes toast-masuk{from{opacity:0;transform:translate(-50%,-10px) scale(.98)}}

.catatan{display:flex;gap:10px;align-items:flex-start;padding:13px 15px;border-radius:12px;background:var(--bg);border:1px solid var(--garis);color:var(--teks2);font-size:13.5px;line-height:1.55}
.catatan .i{width:17px;height:17px;color:var(--redup);margin-top:1px}
.catatan.ungu{background:#fafafa;color:var(--teks2)}.catatan.ungu .i{color:var(--teks)}
.catatan.kuning{background:var(--kuning-bg);border-color:#fef08a;color:#854d0e}.catatan.kuning .i{color:var(--kuning)}

.rekening{background:#0a0a0a;color:#fff;border-radius:var(--r-lg);padding:20px;margin:14px 0}
.rekening small{color:#8a8a8a;display:block;font-size:12px}.rekening b{display:block;font-size:17px;font-weight:500;letter-spacing:.02em;margin:2px 0 10px;font-variant-numeric:tabular-nums}
.rekening .jumlah b{font-size:26px;font-weight:600;color:#fff;letter-spacing:-.03em}

.cari{display:flex;gap:10px;margin-bottom:18px}.cari input{flex:1}

/* modal konfirmasi */
.modal{border:0;padding:0;border-radius:18px;width:min(420px,calc(100% - 32px));background:#fff;color:var(--teks);box-shadow:0 30px 80px -20px rgba(0,0,0,.4),0 0 0 1px rgba(0,0,0,.05)}
.modal::backdrop{background:rgba(10,10,10,.42);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.modal[open]{animation:modal-masuk .22s var(--ease)}
.modal[open]::backdrop{animation:pudar .22s}
.modal-isi{padding:22px 22px 18px}
.modal-ikon{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:var(--permukaan2);margin-bottom:14px}
.modal-ikon.bahaya{background:var(--merah-bg);color:var(--merah)}
.modal h2{font-size:17px;letter-spacing:-.02em}
.modal p{color:var(--redup);font-size:14px;margin-top:6px;line-height:1.55}
.modal-aksi{display:flex;gap:8px;justify-content:flex-end;padding:14px 22px 18px;border-top:1px solid var(--garis);background:#fafafa}
@keyframes modal-masuk{from{opacity:0;transform:translateY(8px) scale(.98)}}
@keyframes pudar{from{opacity:0}}
@media(max-width:520px){.modal-aksi .btn{flex:1}}

/* animasi muncul saat digulir */
.js .muncul{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .muncul.tampak{opacity:1;transform:none}
@keyframes putar{to{transform:rotate(360deg)}}

/* ================= AUTH ================= */
.m-auth{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh;background:#fff}
.auth-form{display:flex;flex-direction:column;padding:28px 40px}
.auth-kotak{width:100%;max-width:380px;margin:auto}
.auth-kotak h1{font-size:28px;font-weight:600;letter-spacing:-.035em}
.auth-kotak>p{color:var(--redup);margin:8px 0 28px}
.peran-pilih{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}
.peran-pilih a{display:block;padding:14px;border:1px solid var(--garis2);border-radius:12px;text-decoration:none;transition:border-color var(--cepat),box-shadow var(--cepat),background var(--cepat)}
.peran-pilih a:hover{border-color:#d4d4d8}
.peran-pilih a b{display:block;font-size:14px;font-weight:500}.peran-pilih a small{color:var(--redup);font-size:12.5px;line-height:1.45;display:block;margin-top:2px}
.peran-pilih a.aktif{border-color:#0a0a0a;box-shadow:0 0 0 1px #0a0a0a;background:#fafafa}
.auth-alt{text-align:center;color:var(--redup);font-size:14px;margin-top:22px;line-height:1.9}.auth-alt a{color:var(--teks);font-weight:500;text-underline-offset:3px}
.auth-sisi{position:relative;background:var(--ink);color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.auth-sisi::before{content:"";position:absolute;inset:0;background:radial-gradient(520px 340px at 80% 10%,rgba(255,255,255,.09),transparent 70%),radial-gradient(420px 300px at 10% 90%,rgba(244,241,234,.1),transparent 70%)}
.auth-sisi::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at 60% 40%,#000,transparent 75%);mask-image:radial-gradient(ellipse at 60% 40%,#000,transparent 75%)}
.auth-sisi>*{position:relative;z-index:1}
.auth-sisi h2{font-size:34px;font-weight:600;letter-spacing:-.035em;line-height:1.1;max-width:440px}
.auth-sisi h2 em{font-family:var(--serif);font-style:italic;font-weight:400}
.auth-sisi ul{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:14px;color:#c4c4c4}
.auth-sisi li{display:flex;gap:12px;align-items:flex-start}.auth-sisi li .i{color:#fff;margin-top:2px}
.auth-kutip{border-top:1px solid #222;padding-top:22px;color:#8a8a8a;font-size:13.5px}
@media(max-width:900px){.m-auth{grid-template-columns:1fr}.auth-sisi{display:none}.auth-form{padding:20px 20px 40px}.auth-kotak{margin:48px auto auto}}

/* dokumen */
.dok{max-width:720px}.dok h2{font-size:18px;letter-spacing:-.02em;margin:34px 0 10px}.dok p,.dok li{color:var(--teks2);line-height:1.8}.dok ul{padding-left:20px}.dok li{margin:6px 0}
.dok a{text-underline-offset:3px}
.m-publik .dok{padding:64px 24px 96px;margin:0 auto}.m-publik .dok h1{font-size:clamp(30px,4vw,40px);font-weight:600;letter-spacing:-.04em}
.redup{color:var(--redup)}.kecil{font-size:13px}.tebal{font-weight:500}.mt{margin-top:16px}.mb{margin-bottom:16px}
.angka{font-variant-numeric:tabular-nums}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.js .muncul{opacity:1;transform:none}}

/* ================= PEMASARAN: maket & seksi interaktif ================= */
/* ===== cara kerja 4 langkah (maket animasi) ===== */
.seksi.gelap{background:var(--ink);color:var(--ink-teks)}
.seksi.gelap .seksi-kepala p{color:var(--ink-redup)}
.seksi.gelap h2 em{color:#fff}
.pil-kecil{display:inline-flex;height:32px;align-items:center;padding:0 14px;border:1px solid var(--ink-garis);border-radius:99px;font-size:13px;font-weight:500;color:var(--ink-teks);background:var(--ink2);margin-bottom:18px}
.langkah4{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.ck-langkah{background:var(--ink2);border:1px solid var(--ink-garis);border-radius:24px;overflow:hidden;display:flex;flex-direction:column}
.ck-langkah-teks{padding:22px 26px 26px}
.mk-no{display:inline-block;font-size:12px;font-weight:600;color:var(--aksen);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}
.ck-langkah h3{font-size:18px;font-weight:600;color:#ffffff;margin-bottom:8px}
.ck-langkah p{color:var(--ink-redup);font-size:14.5px}
.mk{position:relative;height:330px;display:grid;place-items:center;padding:24px;background:radial-gradient(80% 70% at 50% 0%,rgba(255,255,255,0.066),transparent 70%),linear-gradient(180deg,#111111,#151515);border-bottom:1px solid var(--ink-garis);overflow:hidden;font-size:13px}
.mk-win{width:100%;max-width:330px;background:#0d0d0d;border:1px solid #303030;border-radius:16px;padding:16px;box-shadow:0 20px 40px -20px rgba(0,0,0,.7)}
.mk-judul{font-weight:600;color:#ffffff;padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid #272727}
.mk-f{margin-bottom:8px}.mk-f small{display:block;color:var(--ink-redup);font-size:11.5px;margin-bottom:4px}
.mk-in{height:32px;border:1px solid #303030;border-radius:9px;padding:0 11px;display:flex;align-items:center;color:#ffffff;background:#141414;overflow:hidden}
.mk-k{display:inline-block;max-width:0;overflow:hidden;white-space:nowrap;vertical-align:bottom;border-right:2px solid var(--aksen);padding-right:1px}
.mk-btn{height:36px;border-radius:9px;display:grid;place-items:center;font-weight:600;background:#212121;color:var(--ink-redup);margin-top:4px;border:1px solid #303030}
.mk-toast,.mk-pilih{position:absolute;left:50%;bottom:18px;transform:translate(-50%,20px);opacity:0;display:flex;gap:8px;align-items:center;background:var(--aksen);color:#0d0d0d;font-weight:600;padding:8px 14px;border-radius:99px;white-space:nowrap}
.mk-toast .i,.mk-pilih .i{width:17px;height:17px}
/* kartu 2 */
.mk-prof{display:flex;align-items:center;gap:10px}.mk-prof div{flex:1;min-width:0}
.mk-prof b{display:block;color:#ffffff}.mk-prof small{color:var(--ink-redup);font-size:11.5px}
.mk-ava{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#d6d6d6,#5a5a5a);flex:none}
.mk-ok{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:#0d0d0d;background:var(--aksen);border-radius:99px;padding:3px 8px;opacity:0;transform:scale(.6)}
.mk-ok .i{width:13px;height:13px}
.mk-bio{margin:12px 0;padding:10px;border-radius:9px;background:#141414;border:1px solid #303030;color:#d4d4d4;font-size:12.5px;min-height:40px}
.mk-bio .mk-k{color:var(--aksen);font-weight:600}
.mk-kode{display:flex;align-items:center;gap:8px;padding:10px;border-radius:9px;border:1px dashed #424242}
.mk-kode small{color:var(--ink-redup);font-size:11px}.mk-kode b{flex:1;color:#ffffff;letter-spacing:.06em}
.mk-salin{font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:7px;background:#212121;color:#ffffff}
.mk-cek{display:flex;align-items:center;gap:8px;margin-top:10px;color:var(--ink-redup);font-size:12px;opacity:0}
.mk-cek i{width:13px;height:13px;border-radius:50%;border:2px solid #424242;border-top-color:var(--aksen);animation:putar .8s linear infinite}
/* kartu 3 */
.mk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;max-width:440px}
.mk-c{background:#0d0d0d;border:1px solid #303030;border-radius:12px;overflow:hidden;padding-bottom:9px;transition:none}
.mk-c-g{aspect-ratio:16/10;background:linear-gradient(135deg,var(--av),#0d0d0d);overflow:hidden}
.mk-c-g img{width:100%;height:100%;object-fit:cover}
.mk-c b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#ffffff;font-size:11.5px;line-height:1.3;padding:8px 9px 3px;min-height:38px}
.mk-c span{display:block;padding:0 9px;color:var(--ink-redup);font-size:10.5px}.mk-c em{font-style:normal;color:var(--aksen);font-weight:600}
/* kartu 4 */
.mk-stat{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.mk-stat div{background:#141414;border:1px solid #303030;border-radius:9px;padding:9px 11px}
.mk-stat small{display:block;color:var(--ink-redup);font-size:11px}.mk-stat b{color:#ffffff;font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}
.mk-stat div+div b{color:var(--aksen)}
.mk-bar{height:6px;border-radius:9px;background:#212121;margin-top:12px;overflow:hidden}.mk-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#5a5a5a,var(--aksen));border-radius:9px}
@keyframes putar{to{transform:rotate(360deg)}}

/* timeline 7 dtk, jalan saat terlihat (kelas .main dari app.js) */
.langkah4.main .k1{animation:ketikA 7s steps(14) infinite}
.langkah4.main .k2{animation:ketikB 7s steps(20) infinite}
.langkah4.main .k3{animation:ketikC 7s steps(10) infinite}
.langkah4.main .b1{animation:tekan1 7s infinite}
.langkah4.main .t1{animation:muncul 7s infinite}
@keyframes ketikA{0%{max-width:0}16%,90%{max-width:100%;opacity:1}100%{max-width:100%;opacity:0}}
@keyframes ketikB{0%,19%{max-width:0}40%,90%{max-width:100%;opacity:1}100%{max-width:100%;opacity:0}}
@keyframes ketikC{0%,43%{max-width:0}55%,90%{max-width:100%;opacity:1}100%{max-width:100%;opacity:0}}
@keyframes tekan1{0%,58%{background:#212121;color:var(--ink-redup);transform:none}62%{background:var(--aksen);color:#0d0d0d;transform:scale(.95)}66%,90%{background:var(--aksen);color:#0d0d0d;transform:none}100%{background:#212121;color:var(--ink-redup)}}
@keyframes muncul{0%,64%{opacity:0;transform:translate(-50%,20px)}70%,90%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,0)}}
.langkah4.main .mk-salin{animation:salin 7s infinite}
.langkah4.main .k4{animation:ketikD 7s steps(9) infinite}
.langkah4.main .mk-cek{animation:cek 7s infinite}
.langkah4.main .mk-ok{animation:ok 7s infinite}
@keyframes salin{0%,8%{background:#212121;color:#ffffff}12%,24%{background:var(--aksen);color:#0d0d0d}28%,100%{background:#212121;color:#ffffff}}
@keyframes ketikD{0%,26%{max-width:0}42%,90%{max-width:100%;opacity:1}100%{max-width:100%;opacity:0}}
@keyframes cek{0%,44%{opacity:0}48%,64%{opacity:1}68%,100%{opacity:0}}
@keyframes ok{0%,64%{opacity:0;transform:scale(.6)}70%{opacity:1;transform:scale(1.12)}74%,90%{opacity:1;transform:scale(1)}100%{opacity:0}}
.langkah4.main .mk-c1{animation:pilihA 7s infinite}
.langkah4.main .mk-c2{animation:pilihB 7s infinite}
.langkah4.main .mk-c3{animation:pilihC 7s infinite}
.langkah4.main .mk-pilih{animation:muncul2 7s infinite}
@keyframes pilihA{0%,4%{border-color:#303030;transform:none}8%,24%{border-color:#8e8e8e;transform:translateY(-4px)}28%,100%{border-color:#303030;transform:none}}
@keyframes pilihB{0%,28%{border-color:#303030;transform:none}32%,48%{border-color:#8e8e8e;transform:translateY(-4px)}52%,100%{border-color:#303030;transform:none}}
@keyframes pilihC{0%,52%{border-color:#303030;transform:none;box-shadow:none}56%{border-color:var(--aksen);transform:translateY(-6px) scale(1.04)}60%,90%{border-color:var(--aksen);transform:translateY(-6px) scale(1.04);box-shadow:0 12px 30px -10px rgba(244,241,234,.35)}100%{border-color:#303030;transform:none;box-shadow:none}}
@keyframes muncul2{0%,60%{opacity:0;transform:translate(-50%,20px)}66%,90%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,0)}}
.langkah4.main .k5{animation:ketikE 7s steps(24) infinite}
.langkah4.main .b2{animation:tekan2 7s infinite}
.langkah4.main .mk-bar i{animation:isi 7s infinite}
@keyframes ketikE{0%{max-width:0}22%,90%{max-width:100%;opacity:1}100%{max-width:100%;opacity:0}}
@keyframes tekan2{0%,24%{background:#212121;color:var(--ink-redup);transform:none}28%{background:var(--aksen);color:#0d0d0d;transform:scale(.95)}32%,90%{background:var(--aksen);color:#0d0d0d;transform:none}100%{background:#212121;color:var(--ink-redup)}}
@keyframes isi{0%,32%{width:0}86%,92%{width:100%}100%{width:100%;opacity:0}}
@media(max-width:860px){.langkah4{grid-template-columns:1fr}.mk{height:322px;padding:16px}.ck-langkah-teks{padding:20px}}
@media(max-width:400px){.mk-grid{gap:7px}.mk-c b{font-size:10.5px}}
@media(prefers-reduced-motion:reduce){.langkah4 .mk-k{max-width:100%;border-right:0}.langkah4 .mk-ok,.langkah4 .mk-toast,.langkah4 .mk-pilih{opacity:1;transform:translate(-50%,0)}.langkah4 .mk-ok{transform:none}.langkah4 .mk-bar i{width:70%}.langkah4.main *{animation:none!important}}
.mk-toast{top:14px;bottom:auto}

/* ===== untuk clipper & brand (visual) ===== */
.lead{color:var(--redup);font-size:17px;margin-top:14px}
.dua-kolom.ats{align-items:start}
.bento{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:28px 0}
.bt{background:#ffffff;border:1px solid var(--garis);border-radius:var(--r-lg);padding:20px;box-shadow:var(--bayang);display:flex;flex-direction:column;overflow:hidden}
.bt>b{font-size:15.5px;margin:14px 0 4px}.bt>span{color:var(--redup);font-size:13.5px;line-height:1.5}
.bt-lebar{grid-column:1/-1;flex-direction:row;align-items:center;gap:18px}
.bt-gelap{background:var(--ink);border-color:var(--ink);color:#ffffff}
.bt-teks{flex:1;min-width:0}.bt-teks b{display:block;font-size:16px;margin-bottom:4px}.bt-teks span{color:var(--ink-redup);font-size:13.5px}
.bt-cair{flex:none;width:250px;display:flex;flex-direction:column;gap:12px}
.cair-notif{display:flex;gap:10px;align-items:center;background:#1a1a1a;border:1px solid #303030;border-radius:14px;padding:12px}
.cair-notif small{display:block;color:var(--ink-redup);font-size:11.5px}.cair-notif b{display:block;color:var(--aksen);font-size:17px;font-weight:600}
.cn-ikon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(244,241,234,.14);color:var(--aksen);flex:none}
.bank-jalan{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000000 15%,#000000 85%,transparent);mask-image:linear-gradient(90deg,transparent,#000000 15%,#000000 85%,transparent)}
.bank-jalan div{display:flex;gap:8px;width:max-content}
.bank-jalan span{flex:none;height:28px;display:grid;place-items:center;padding:0 11px;border-radius:8px;background:#212121;color:#e3e3e3;font-size:12px;font-weight:600}
.bento.main .bank-jalan div{animation:geser 14s linear infinite}
@keyframes geser{to{transform:translateX(-50%)}}
.bento.main .cair-notif{animation:notif 5s ease-in-out infinite}
@keyframes notif{0%{transform:translateY(8px);opacity:0}12%,85%{transform:none;opacity:1}100%{transform:translateY(-6px);opacity:0}}
.bt-besar{font-size:32px;font-weight:600;letter-spacing:-.01em;line-height:1;background:linear-gradient(135deg,#171717,#7b7b7b);-webkit-background-clip:text;background-clip:text;color:transparent}
.bt-akun{display:flex;align-items:center;gap:10px;background:var(--bg);border-radius:12px;padding:10px}
.bt-akun b{display:block;font-size:13.5px}.bt-akun small{display:flex;align-items:center;gap:4px;color:var(--hijau);font-size:11.5px;font-weight:500}
.bt-akun small .i{width:13px;height:13px}.bt-akun .mk-ava{width:32px;height:32px}
@media(max-width:560px){.bento{grid-template-columns:1fr}.bt-lebar{flex-direction:column;align-items:stretch}.bt-cair{width:auto}}

.kalk-wadah{position:relative;padding-top:56px}
.ambang{position:absolute;z-index:2;display:flex;align-items:center;gap:10px;background:#ffffff;border:1px solid var(--garis);border-radius:14px;padding:10px 12px;box-shadow:var(--bayang-lg)}
.ambang small{display:block;color:var(--redup);font-size:11px}.ambang b{font-size:14px}
.ambang em{font-style:normal;font-weight:600;color:var(--hijau);font-size:13.5px;margin-left:4px}.ambang em .i{width:18px;height:18px}
.a1{top:0;left:-18px}.a2{top:20px;right:-14px}
.kalk-wadah.main .a1{animation:apung 5s ease-in-out infinite}.kalk-wadah.main .a2{animation:apung 5s ease-in-out 2.5s infinite}
@keyframes apung{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:600px){.a1{left:0}.a2{right:0;top:28px}.kalk-wadah{padding-top:70px}}

.brand-cta{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:28px}
.harga-chip{display:flex;align-items:center;gap:10px}.harga-chip b{font-size:24px;font-weight:600;color:var(--ungu);letter-spacing:-.01em}
.harga-chip span{color:var(--redup);font-size:13px;line-height:1.35}
.dasbor{background:#ffffff;border:1px solid var(--garis);border-radius:20px;box-shadow:0 30px 60px -30px rgba(16,24,40,.35);overflow:hidden}
.dk-bar-atas{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#f2f2f2;border-bottom:1px solid var(--garis)}
.dk-bar-atas i{width:10px;height:10px;border-radius:50%;background:#d9d9d9}.dk-bar-atas i:first-child{background:#ff6b6b}.dk-bar-atas i:nth-child(2){background:#ffc145}.dk-bar-atas i:nth-child(3){background:#3ecf6e}
.dk-bar-atas span{margin-left:10px;font-size:11.5px;color:var(--redup);background:#ffffff;border-radius:6px;padding:3px 10px}
.dk-isi{padding:18px}
.dk-judul{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.dk-judul small,.dk-grafik small,.dk-list small{display:block;color:var(--redup);font-size:11.5px}.dk-judul b{font-size:16px}
.dk-stat{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.dk-stat div{background:var(--bg);border-radius:12px;padding:10px 12px}.dk-stat b{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}
.dk-grafik{border:1px solid var(--garis);border-radius:12px;padding:12px;margin-bottom:14px}
.dk-batang{display:flex;align-items:flex-end;gap:8px;height:90px;margin-top:8px}
.dk-batang i{flex:1;height:var(--h);border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#2a2a2a,#8f8f8f);transform-origin:bottom;transform:scaleY(.08)}
.dasbor.main .dk-batang i{animation:tumbuh 6s ease-out var(--d) infinite}
@keyframes tumbuh{0%{transform:scaleY(.08)}20%,90%{transform:scaleY(1)}100%{transform:scaleY(.08)}}
.dk-list{display:flex;flex-direction:column;gap:8px}
.dk-brs{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--garis);border-radius:11px;font-size:13px}
.dk-brs b{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dk-brs>span{color:var(--redup);font-size:12px}
.dk-brs em{font-style:normal;font-size:11.5px;font-weight:600;border-radius:7px;padding:4px 9px;display:inline-flex;align-items:center;gap:4px}
.dk-st{display:grid;justify-items:end}.dk-st em{grid-area:1/1}
.dk-ok{background:var(--hijau-bg);color:var(--hijau);opacity:0}.dk-ok .i{width:13px;height:13px}
.dk-tunggu{background:var(--ink);color:#ffffff}
.dk-b1 .dk-ok{opacity:1}.dk-b1 .dk-tunggu{opacity:0}
.dasbor.main .dk-b2 .dk-ok{animation:tampil 6s infinite}.dasbor.main .dk-b2 .dk-tunggu{animation:sembunyi 6s infinite}
.dasbor.main .dk-b2{animation:sorot 6s infinite}
@keyframes tampil{0%,46%{opacity:0}50%,92%{opacity:1}100%{opacity:0}}
@keyframes sembunyi{0%,46%{opacity:1}50%,92%{opacity:0}100%{opacity:1}}
@keyframes sorot{0%,40%{border-color:var(--garis);background:#ffffff}45%,60%{border-color:var(--hijau);background:#fbfbfb}70%,100%{border-color:var(--garis);background:#ffffff}}
@media(max-width:480px){.dk-stat b{font-size:16px}.dk-brs>span{display:none}}

.bento4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px}
.bento4 .bt>b{margin-top:16px}
.bt-fan{position:relative;height:96px;display:grid;place-items:center}
.fan-pusat{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--ink);color:var(--aksen);position:relative;z-index:2}
.fan{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;background:#ffffff;border:1px solid var(--garis);box-shadow:var(--bayang)}
.fan .plat{background:none;height:auto;min-width:0;padding:0}
.f0{--x:-70px;--y:-26px}.f1{--x:-40px;--y:32px}.f2{--x:0px;--y:-38px}.f3{--x:44px;--y:32px}.f4{--x:72px;--y:-24px}.f5{--x:-80px;--y:24px}
.fan{transform:translate(var(--x),var(--y))}
.bento4.main .fan{animation:sebar 4s ease-out infinite}
.bento4.main .f1{animation-delay:.15s}.bento4.main .f2{animation-delay:.3s}.bento4.main .f3{animation-delay:.45s}.bento4.main .f4{animation-delay:.6s}.bento4.main .f5{animation-delay:.75s}
@keyframes sebar{0%{transform:translate(0,0) scale(.3);opacity:0}25%,85%{transform:translate(var(--x),var(--y)) scale(1);opacity:1}100%{transform:translate(var(--x),var(--y));opacity:0}}
.bt-meter{background:var(--bg);border-radius:12px;padding:14px;height:96px;display:flex;flex-direction:column;justify-content:center}
.bt-meter>div:first-child{display:flex;justify-content:space-between}.bt-meter small{color:var(--redup);font-size:11px}
.bm{height:10px;border-radius:9px;background:#e6e6e6;margin:8px 0;overflow:hidden}.bm i{display:block;height:100%;width:64%;border-radius:9px;background:linear-gradient(90deg,#5a5a5a,var(--aksen))}
.bento4.main .bm i{animation:meter 5s ease-in-out infinite}
@keyframes meter{0%{width:8%}60%,90%{width:64%}100%{width:8%}}
.bt-meter em{font-style:normal;font-size:11px;color:var(--teks2);font-weight:500}
.bt-cek{list-style:none;margin:0;padding:12px;background:var(--bg);border-radius:12px;height:96px;display:flex;flex-direction:column;justify-content:center;gap:5px}
.bt-cek li{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:500}.bt-cek .i{width:15px;height:15px;color:#ffffff;background:var(--hijau);border-radius:50%;padding:2px}
.bento4.main .bt-cek li{animation:centang 5s infinite both}.bento4.main .bt-cek li:nth-child(2){animation-delay:.4s}.bento4.main .bt-cek li:nth-child(3){animation-delay:.8s}
@keyframes centang{0%{opacity:0;transform:translateX(-8px)}12%,88%{opacity:1;transform:none}100%{opacity:0}}
.bt-tombol{height:96px;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--bg);border-radius:12px}
.bt-tombol span{display:inline-flex;align-items:center;gap:5px;height:36px;padding:0 14px;border-radius:10px;font-weight:600;font-size:13px}
.bt-tombol .i{width:15px;height:15px}
.tb-ok{background:var(--ink);color:var(--aksen)}.tb-no{background:#ffffff;border:1px solid var(--garis);color:var(--merah)}
.bento4.main .tb-ok{animation:klik 3s infinite}
@keyframes klik{0%,55%{transform:none;box-shadow:none}62%{transform:scale(.92)}70%{transform:none;box-shadow:0 0 0 6px rgba(244,241,234,.35)}100%{box-shadow:0 0 0 12px rgba(244,241,234,0)}}
@media(max-width:1000px){.bento4{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.bento4{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){[data-anim].main *{animation:none!important}.dk-batang i{transform:none}.bento4 .fan{opacity:1}}
.bm{flex:none}.bt-meter{height:auto;min-height:96px}
.dk-stat small{display:block;color:var(--redup);font-size:11.5px;margin-bottom:2px}.dk-stat b{display:block}
.bento>*,.bento4>*{min-width:0}.bento{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(max-width:560px){.bento{grid-template-columns:minmax(0,1fr)}}
.dk-brs>span.dk-v{color:var(--redup);font-size:12px}
@media(max-width:480px){.dk-brs>span{display:inline-flex}.dk-brs>span.dk-v{display:none}}
.dua-kolom>*{min-width:0}


.halaman-404{padding:72px 0 40px}.m-publik .halaman-404{padding:96px 20px}
.form-seksi:first-of-type{border-top:0;padding-top:0}
@media(max-width:600px){.stat-grid.tiga{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-grid.tiga>.stat:first-child{grid-column:1/-1}}

/* =====================================================================
   TEMA PUTIH MINIMALIS + INTER (15 Nov 2026, pilihan Candra: opsi 3)
   Halaman publik terang; kalkulator, CTA, dan layar maket tetap gelap sebagai "produk".
   ===================================================================== */
h1,h2,h3{letter-spacing:-.03em}
.seksi h2 em,.hero h1 em,.auth-sisi h2 em,.cta-band h2 em,.seksi.gelap h2 em,.faq-kiri h2 em.redup-em{font-family:var(--font);font-style:normal;font-weight:inherit;font-size:1em;letter-spacing:inherit;color:#8e8e93;background:none;-webkit-text-fill-color:currentColor;padding:0}
.cta-band h2 em{color:#8a8a8a}

/* navigasi */
.pnav{background:rgba(255,255,255,.82);border-bottom:1px solid rgba(0,0,0,.06)}
.pnav .logo-teks{color:#0a0a0a}.pnav .logo-teks b{color:#a1a1aa}
.pnav .logo-mark .lm-bg{fill:#0a0a0a}.pnav .logo-mark .lm-fg{fill:#fff}
.pnav-link a,.nav-link{color:#52525b}.pnav-link a:hover,.nav-link:hover{color:#0a0a0a;background:#f4f4f5}
.pnav .btn-aksen,.hero .btn-aksen,.pmenu .btn-aksen{background:#0a0a0a;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 1px 2px rgba(0,0,0,.2)}
.pnav .btn-aksen:hover,.hero .btn-aksen:hover,.pmenu .btn-aksen:hover{background:#262626}
.pnav .btn-terang,.hero .btn-terang,.pmenu .btn-terang{background:#fff;color:#0a0a0a;border-color:#e4e4e7;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.pnav .btn-terang:hover,.hero .btn-terang:hover,.pmenu .btn-terang:hover{background:#fafafa;border-color:#d4d4d8}
.pnav-burger{border-color:#e4e4e7;color:#0a0a0a}
@media(max-width:860px){.pmenu{background:rgba(255,255,255,.98);border-bottom:1px solid #eee}.pmenu a:not(.btn){color:#0a0a0a;border-bottom-color:#f0f0f0}}

/* hero tengah */
.hero{background:#fff;color:#0a0a0a;padding:96px 0 0}
.hero::before{inset:0;height:auto;background:radial-gradient(700px 360px at 50% 0%,rgba(0,0,0,.04),transparent 70%)}
.hero::after{background-image:linear-gradient(rgba(0,0,0,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.035) 1px,transparent 1px);-webkit-mask-image:radial-gradient(ellipse 60% 50% at 50% 20%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 60% 50% at 50% 20%,#000 20%,transparent 75%)}
.hero-tengah{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center}
.hero h1{font-size:clamp(38px,5.4vw,66px);font-weight:600;letter-spacing:-.045em;line-height:1.04;margin:22px auto 20px;max-width:820px}
.hero-sub{color:#52525b;font-size:18px;max-width:600px;margin:0 auto}
.hero-cta{justify-content:center;margin:34px 0 22px}
.hero-bukti{justify-content:center;color:#71717a;flex-wrap:wrap}
.hero-bukti .plat-baris .plat{background:#f4f4f5;color:#0a0a0a}
.pil{background:#fff;border-color:#e4e4e7;color:#52525b;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.pil b{background:#0a0a0a;color:#fff}
.panggung{position:relative;z-index:1;margin-top:56px;height:500px;border-radius:28px 28px 0 0;border:1px solid #ececec;border-bottom:0;background:linear-gradient(180deg,#f5f5f7,#fafafa 70%,#fff);overflow:hidden}
.panggung::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,0,0,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.035) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse at 50% 40%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse at 50% 40%,#000 30%,transparent 75%)}
.panggung .demo{position:absolute;inset:44px 0 0;height:auto;transform:none;margin:0}
.panggung .hp{box-shadow:0 0 0 1px rgba(0,0,0,.08),0 40px 80px -24px rgba(0,0,0,.35)}
.panggung .mengambang{box-shadow:0 20px 44px -18px rgba(0,0,0,.25),0 0 0 1px rgba(0,0,0,.05)}
.panggung .f-views{left:calc(50% - 360px);top:70px}
.panggung .f-uang{left:calc(50% + 150px);right:auto;top:150px}
.panggung .f-campaign{left:calc(50% - 330px);bottom:auto;top:300px}
@media(max-width:700px){.hero{padding-top:56px}.hero-sub{font-size:16px}.panggung{height:430px;margin-top:40px;border-radius:22px 22px 0 0}
.panggung .demo{inset:28px 0 0;transform:scale(.86);transform-origin:top center}
.panggung .f-views{left:calc(50% - 205px);top:40px}.panggung .f-uang{left:calc(50% + 40px);top:210px}.panggung .f-campaign{left:calc(50% - 215px);top:330px}}

/* strip angka */
.angka-strip{background:#fff;color:#0a0a0a;border-top:1px solid #ececec;border-bottom:1px solid #ececec}
.angka-in div{border-left-color:#ececec}.angka-in span{color:#71717a}

/* seksi gelap jadi terang */
.seksi.gelap{background:#fafafa;color:#0a0a0a}
.seksi.gelap .seksi-kepala p,.seksi.gelap .lead{color:#71717a}
.pil-kecil{background:#fff;border-color:#e4e4e7;color:#52525b}
.ck-langkah{background:#fff;border-color:#ececec;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.ck-langkah h3{color:#0a0a0a}.ck-langkah p{color:#71717a}.mk-no{color:#a1a1aa}
.mk{margin:10px 10px 0;border-radius:16px;border-bottom:0}

/* katalog */
.katalog-hero{background:#fff;color:#0a0a0a;border-bottom:1px solid #ececec}
.katalog-hero p{color:#71717a}
.katalog-hero .saring a{border-color:#e4e4e7;color:#3f3f46;background:#fff}.katalog-hero .saring a:hover{border-color:#d4d4d8;color:#0a0a0a}
.katalog-hero .saring a.aktif{background:#0a0a0a;color:#fff;border-color:#0a0a0a}
.katalog-hero .eyebrow{color:#71717a!important}

/* footer terang */
.pkaki{background:#fafafa;color:#71717a;border-top:1px solid #ececec}
.pkaki .logo-teks{color:#0a0a0a}.pkaki .logo-teks b{color:#a1a1aa}
.pkaki .logo-mark .lm-bg{fill:#0a0a0a}.pkaki .logo-mark .lm-fg{fill:#fff}
.pkaki h4{color:#0a0a0a}.pkaki-in a:not(.logo){color:#71717a}.pkaki-in a:not(.logo):hover{color:#0a0a0a}
.pkaki-bawah{border-top-color:#ececec;color:#a1a1aa}

/* auth sisi terang */
.auth-sisi{background:#f5f5f7;color:#0a0a0a;border-left:1px solid #ececec}
.auth-sisi::before{background:radial-gradient(500px 340px at 80% 10%,rgba(0,0,0,.04),transparent 70%)}
.auth-sisi::after{background-image:linear-gradient(rgba(0,0,0,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.04) 1px,transparent 1px)}
.auth-sisi .logo-teks,.auth-sisi .logo-teks.putih{color:#0a0a0a}.auth-sisi .logo-teks b{color:#a1a1aa}
.auth-sisi .logo-mark .lm-bg{fill:#0a0a0a}.auth-sisi .logo-mark .lm-fg{fill:#fff}
.auth-sisi ul{color:#3f3f46}.auth-sisi li .i{color:#0a0a0a}
.auth-kutip{border-top-color:#e4e4e7;color:#71717a}

/* angka besar kembali ke huruf utama */
.kalk-hasil b,.harga-chip b,.harga-besar b,.rekening .jumlah b,.bt-besar{font-family:var(--font)}
.ck-samar{font-style:normal;font-weight:600;letter-spacing:-.03em;font-size:28px}
@media(max-width:520px){.hero-cta{flex-direction:column;align-items:stretch;width:100%;max-width:340px}.hero-cta .btn{width:100%}}

/* ===== FAQ v3: daftar tenang satu kolom (15 Nov 2026) ===== */
.faq3{max-width:760px;margin:0 auto;border-top:1px solid #ececec}
.faq3 details{border-bottom:1px solid #ececec}
.faq3 summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 2px;cursor:pointer;list-style:none;font-size:17px;font-weight:500;letter-spacing:-.015em;color:#0a0a0a;transition:color var(--cepat)}
.faq3 summary::-webkit-details-marker{display:none}
.faq3 summary:hover{color:#52525b}
.faq3 summary::after{content:"";flex:none;width:14px;height:14px;background:linear-gradient(#0a0a0a,#0a0a0a) center/14px 1.5px no-repeat,linear-gradient(#0a0a0a,#0a0a0a) center/1.5px 14px no-repeat;transition:transform var(--sedang) var(--ease)}
.faq3 details[open] summary::after{transform:rotate(45deg)}
.faq3 details p{color:#52525b;font-size:15.5px;line-height:1.7;padding:0 48px 24px 2px;margin-top:-6px}
.faq3 details[open] p{animation:muncul-kecil var(--sedang) var(--ease)}
.faq3-bantu{text-align:center;margin-top:36px;color:#71717a;font-size:15px}
.faq3-bantu a{color:#0a0a0a;font-weight:500;text-decoration:none;border-bottom:1px solid #d4d4d8;padding-bottom:1px;transition:border-color var(--cepat)}
.faq3-bantu a:hover{border-color:#0a0a0a}
@media(max-width:600px){.faq3 summary{font-size:16px;padding:19px 0}.faq3 details p{padding-right:8px;font-size:15px}}
.hero h1{margin-top:0}

/* ===== kartu campaign ringkas di beranda (4 kartu, 2 kolom di HP) ===== */
.grid-kartu.ringkas{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ringkas .ck-badan{padding:14px 14px 16px}
.ringkas h3{font-size:15px;min-height:0;-webkit-line-clamp:1;margin-bottom:6px}
.ringkas .ck-cpm{margin-bottom:10px}.ringkas .ck-cpm b{font-size:17px}.ringkas .ck-cpm span{font-size:12px}
.ringkas .ck-meta{margin-bottom:12px}
.ringkas .ck-meta .tag,.ringkas .ck-sisa{display:none}
.ringkas .ck-atas{margin-bottom:10px}
.jelajahi{display:flex;justify-content:center;margin-top:36px}
@media(max-width:1000px){.grid-kartu.ringkas{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
.grid-kartu.ringkas{gap:10px}
.ringkas.grid-kartu .ckartu{border-radius:14px}
.ringkas .ck-badan{padding:10px 10px 12px}
.ringkas .ck-atas{gap:6px;margin-bottom:8px}.ringkas .ck-atas .avatar{width:20px;height:20px;font-size:8.5px}.ringkas .ck-atas b{font-size:12px}
.ringkas .ck-chip{display:none}
.ringkas h3{font-size:13.5px;margin-bottom:4px}
.ringkas .ck-cpm{gap:4px;margin-bottom:8px}.ringkas .ck-cpm b{font-size:15px}.ringkas .ck-cpm span{font-size:11px}
.ringkas .ck-meta{margin-bottom:10px;gap:4px}.ringkas .plat{height:22px;min-width:22px}
.ringkas .ck-progres-teks{font-size:11px;margin-bottom:6px}
.ringkas .ck-pita{top:6px;right:6px;font-size:10px;padding:3px 8px}
.jelajahi{margin-top:26px}.jelajahi .btn{width:100%;max-width:340px}
}

/* ===== menu ponsel v2: layar penuh blur + pilihan Clipper/Brand ===== */
@media(max-width:860px){
.pmenu{inset:64px 0 0;height:calc(100dvh - 64px);padding:20px 18px calc(28px + env(safe-area-inset-bottom));background:rgba(255,255,255,.72);
backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4);border-bottom:0;display:flex;flex-direction:column;overflow-y:auto}
.pm-seg{display:inline-flex;align-self:flex-start;gap:2px;padding:4px;background:#f4f4f5;border:1px solid #e4e4e7;border-radius:14px}
.pm-seg button{height:40px;padding:0 20px;border:0;border-radius:10px;background:transparent;color:#52525b;font:500 15px var(--font);cursor:pointer;transition:background var(--cepat),color var(--cepat),box-shadow var(--cepat)}
.pm-seg button[aria-selected=true]{background:#0a0a0a;color:#fff;box-shadow:0 2px 6px -2px rgba(0,0,0,.4)}
.pm-daftar{display:flex;flex-direction:column;margin-top:22px}
.pm-daftar[hidden]{display:none}
.pmenu .pm-daftar a{height:auto;border:0;padding:13px 4px;font-size:19px;font-weight:500;letter-spacing:-.02em;color:#0a0a0a;justify-content:flex-start;transition:color var(--cepat),transform var(--cepat)}
.pmenu .pm-daftar a:active{transform:translateX(3px);color:#52525b}
.pmenu .pmenu-cta{grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}
.pmenu .pmenu-cta .btn-lebar{grid-column:1/-1}
.pmenu.buka .pm-daftar a{animation:muncul-kecil .35s var(--ease) both}
.pmenu.buka .pm-daftar a:nth-child(2){animation-delay:.03s}.pmenu.buka .pm-daftar a:nth-child(3){animation-delay:.06s}
.pmenu.buka .pm-daftar a:nth-child(4){animation-delay:.09s}.pmenu.buka .pm-daftar a:nth-child(5){animation-delay:.12s}
body.menu-buka{overflow:hidden}
}
@media(max-width:860px){body.menu-buka .pnav-kanan .btn{opacity:0;pointer-events:none}.pnav-kanan .btn{transition:opacity var(--cepat)}}

/* ===== BLOG ===== */
.blog-hero{background:#fff;padding:72px 0 8px}
.blog-hero h1{font-size:clamp(34px,4.6vw,56px);font-weight:600;letter-spacing:-.045em;line-height:1.05;max-width:720px}
.blog-hero h1 em{font-style:normal;color:#8e8e93}
.blog-hero p{color:#71717a;font-size:17px;margin-top:14px;max-width:560px}
.saring.pil-terang a{border-color:#e4e4e7;color:#3f3f46;background:#fff}.saring.pil-terang a:hover{border-color:#d4d4d8;color:#0a0a0a}
.saring.pil-terang a.aktif{background:#0a0a0a;color:#fff;border-color:#0a0a0a}
.blog-isi{padding-top:40px}
.akartu{display:flex;flex-direction:column;text-decoration:none;color:inherit;border-radius:var(--r-lg);transition:transform var(--sedang) var(--ease)}
.akartu:hover{transform:translateY(-3px)}
.a-gambar{position:relative;aspect-ratio:16/9;border-radius:var(--r-lg);overflow:hidden;background:#f4f4f5;border:1px solid #ececec}
.a-gambar img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.akartu:hover .a-gambar img{transform:scale(1.03)}
.a-gambar.polos{display:flex;align-items:flex-end;padding:20px;background:linear-gradient(135deg,#f5f5f7,#e9e9ec)}
.a-gambar.polos span{font-size:22px;font-weight:600;letter-spacing:-.03em;line-height:1.15;color:#0a0a0a;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.a-badan{padding:16px 2px 0}
.a-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:#71717a;font-weight:500}
.a-meta span+span::before{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:#a1a1aa;margin:0 10px 3px -7px;vertical-align:middle}
.akartu h3{font-size:18px;font-weight:600;letter-spacing:-.025em;line-height:1.3;margin:8px 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.akartu p{color:#52525b;font-size:14.5px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.akartu small{display:block;margin-top:10px;color:#a1a1aa;font-size:12.5px}
.akartu.utama{display:grid;grid-template-columns:1.25fr 1fr;gap:36px;align-items:center;margin-bottom:56px}
.akartu.utama .a-badan{padding:0}
.akartu.utama h3{font-size:clamp(24px,2.6vw,34px);letter-spacing:-.035em;-webkit-line-clamp:3}
.akartu.utama p{font-size:16px;-webkit-line-clamp:3}
.grid-artikel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px}
@media(max-width:900px){.akartu.utama{grid-template-columns:1fr;gap:18px;margin-bottom:44px}.grid-artikel{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.grid-artikel{grid-template-columns:1fr;gap:32px}.blog-hero{padding-top:48px}}

/* halaman artikel */
.artikel{background:#fff;padding:48px 0 24px}
.artikel-wrap{max-width:760px}
.artikel-lebar{max-width:1040px;margin:36px auto 44px}
.artikel-lebar .a-gambar{border-radius:var(--r-xl)}
.artikel h1{font-size:clamp(30px,4.2vw,48px);font-weight:600;letter-spacing:-.04em;line-height:1.1;margin:14px 0 16px}
.a-lead{font-size:19px;line-height:1.6;color:#52525b}
.prosa{font-size:17.5px;line-height:1.8;color:#27272a}
.prosa p{margin:0 0 1.15em}
.prosa h2{font-size:26px;font-weight:600;letter-spacing:-.03em;line-height:1.25;margin:1.9em 0 .6em;color:#0a0a0a}
.prosa h3{font-size:19px;font-weight:600;letter-spacing:-.02em;margin:1.5em 0 .4em;color:#0a0a0a}
.prosa ul,.prosa ol{margin:0 0 1.2em;padding-left:1.3em}.prosa li{margin:.35em 0;padding-left:.2em}
.prosa li::marker{color:#a1a1aa}
.prosa strong{font-weight:600;color:#0a0a0a}
.prosa a{color:#0a0a0a;text-decoration:underline;text-decoration-color:#d4d4d8;text-underline-offset:3px;text-decoration-thickness:1.5px;transition:text-decoration-color var(--cepat)}
.prosa a:hover{text-decoration-color:#0a0a0a}
.prosa blockquote{margin:1.4em 0;padding:4px 0 4px 20px;border-left:2px solid #0a0a0a;color:#3f3f46;font-size:18.5px}
.artikel-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin:48px 0 24px;padding:24px;border:1px solid #ececec;border-radius:var(--r-lg);background:#fafafa}
.artikel-cta b{font-size:17px;letter-spacing:-.02em}.artikel-cta p{color:#71717a;font-size:14.5px;margin-top:4px}
.terkait{padding:72px 0}.terkait-judul{font-size:26px!important;margin-bottom:28px}
@media(max-width:600px){.artikel{padding-top:28px}.prosa{font-size:16.5px}.prosa h2{font-size:22px}.a-lead{font-size:17px}.artikel-lebar{margin:24px auto 30px}}

/* admin blog */
a.brs-tautan{text-decoration:none;color:inherit}
.sampul-kini{display:flex;gap:14px;align-items:center;margin-bottom:16px}.sampul-kini img{width:160px;height:90px;object-fit:cover;border-radius:10px;border:1px solid var(--garis)}
.sampul-kini small{color:var(--redup);font-size:12.5px}
.form-aksi{margin-top:8px;padding-top:18px;border-top:1px solid var(--garis)}
textarea[name=isi]{font-size:15px;line-height:1.65}

/* ===== BLOG v2 (susunan ala konten.com, gaya putih minimalis) ===== */
.blog-hero{padding:72px 0 0}
.blog-hero h1{font-size:clamp(36px,5vw,60px)}
.blog-unggulan{background:#fff;padding:40px 0 0}
.slider{position:relative}
.slider-jalur{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;border-radius:24px;scrollbar-width:none}
.slider-jalur::-webkit-scrollbar{display:none}
.slide{position:relative;flex:0 0 100%;scroll-snap-align:start;aspect-ratio:21/9;background:#f4f4f5;overflow:hidden;text-decoration:none;color:#fff}
.slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.slide:hover img{transform:scale(1.02)}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.72))}
.slide-teks{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:40px 48px 56px;max-width:820px}
.slide-teks .a-meta{color:rgba(255,255,255,.8)}.slide-teks .a-meta span+span::before{background:rgba(255,255,255,.6)}
.slide-teks h2{font-size:clamp(22px,3vw,38px);font-weight:600;letter-spacing:-.035em;line-height:1.15;margin-top:10px;color:#fff}
.slider-titik{position:absolute;left:0;right:0;bottom:20px;display:flex;justify-content:center;gap:6px;z-index:2}
.slider-titik button{width:6px;height:6px;border-radius:9px;border:0;padding:0;background:rgba(255,255,255,.5);cursor:pointer;transition:width var(--sedang) var(--ease),background var(--sedang)}
.slider-titik button[aria-current=true]{width:26px;background:#fff}
.slider-titik:has(button:only-child){display:none}
.blog-dua{background:#fff;padding:72px 0 88px}
.dua-blog{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:56px;align-items:start}
.judul-kolom{font-size:26px!important;font-weight:600;letter-spacing:-.03em;margin-bottom:22px}
.abaris{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid #ececec;text-decoration:none;color:inherit}
.abaris:first-child{padding-top:0}
.ab-gambar{aspect-ratio:16/10;border-radius:12px;overflow:hidden;background:#f4f4f5;border:1px solid #ececec}
.ab-gambar img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.abaris:hover .ab-gambar img{transform:scale(1.04)}
.abaris h3{font-size:16px;font-weight:600;letter-spacing:-.02em;line-height:1.35;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color var(--cepat)}
.abaris:hover h3{color:#52525b}
.apopuler{display:block;text-decoration:none;color:inherit}
.ap-gambar{aspect-ratio:16/10;border-radius:20px;overflow:hidden;background:#f4f4f5;border:1px solid #ececec}
.ap-gambar img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.apopuler:hover .ap-gambar img{transform:scale(1.03)}
.ap-teks{padding:18px 4px 0}.ap-teks h3{font-size:22px;font-weight:600;letter-spacing:-.03em;line-height:1.25;margin:8px 0}
.ap-teks p{color:#52525b;font-size:15px;line-height:1.6}
.blog-eksplor{padding:80px 0}
.eksplor-alat{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:32px}
.tab-pil{display:flex;gap:6px;flex-wrap:wrap}
.tab-pil a{display:inline-flex;align-items:center;height:38px;padding:0 15px;border-radius:99px;border:1px solid #e4e4e7;background:#fff;color:#3f3f46;text-decoration:none;font-size:14px;font-weight:500;transition:border-color var(--cepat),background var(--cepat),color var(--cepat)}
.tab-pil a:hover{border-color:#d4d4d8;color:#0a0a0a}
.tab-pil a.aktif{background:#0a0a0a;border-color:#0a0a0a;color:#fff}
.cari-artikel{display:flex;gap:8px;width:min(380px,100%)}
.cari-artikel input{height:40px!important;border-radius:10px!important}
.cari-artikel .btn{width:44px;padding:0;flex:none}
@media(max-width:900px){.dua-blog{grid-template-columns:1fr;gap:56px}.slide{aspect-ratio:16/10}.slide-teks{padding:24px 24px 44px}}
@media(max-width:600px){.blog-hero{padding-top:44px}.blog-unggulan{padding-top:28px}.slider-jalur{border-radius:18px}.slide{aspect-ratio:4/5}
.slide-teks{padding:20px 20px 40px}.blog-dua{padding:56px 0 64px}.abaris{grid-template-columns:120px minmax(0,1fr);gap:14px}.abaris h3{font-size:15px}
.tab-pil{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;width:100%;margin:0 -18px;padding:0 18px}.tab-pil::-webkit-scrollbar{display:none}.tab-pil a{flex:none}
.cari-artikel{width:100%}.blog-eksplor{padding:56px 0}}

/* ===== pemilih bahasa ID | EN ===== */
.bhs{display:inline-flex;gap:2px;padding:3px;border-radius:9px;background:#f4f4f5;border:1px solid #e4e4e7;flex:none}
.bhs a{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:26px;padding:0 7px;border-radius:7px;font-size:12px;font-weight:600;letter-spacing:.04em;color:#71717a;text-decoration:none;transition:background var(--cepat),color var(--cepat)}
.bhs a:hover{color:#0a0a0a}
.bhs a[aria-current=true]{background:#fff;color:#0a0a0a;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.bhs-menu{margin-top:22px;align-self:flex-start}
.bhs-side{margin:0 4px 6px;align-self:flex-start}
.bhs-auth{position:fixed;top:18px;right:20px;z-index:5}
.bhs-kaki{order:3}
@media(max-width:860px){.pnav-kanan .bhs-nav{display:none}}
@media(max-width:900px){.bhs-auth{top:20px;right:16px}}
.bhs-side{justify-self:start}

/* ===== HERO v3: panggung tiga ponsel ===== */
.panggung{height:540px}
.pg{position:absolute;inset:0}
.pg-hp{position:absolute;left:50%;bottom:-40px;width:250px;height:520px;border-radius:40px;background:#0a0a0a;padding:9px;box-shadow:0 0 0 1px rgba(0,0,0,.1),0 40px 80px -24px rgba(0,0,0,.4)}
.pg-layar{position:relative;width:100%;height:100%;border-radius:32px;overflow:hidden;background:linear-gradient(160deg,#2a2a2e,#0f0f11)}
.pg-layar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pg-utama{transform:translateX(-50%);z-index:3;top:44px;bottom:auto}
.pg-utama .pg-layar img{animation:zoom-klip 9s ease-in-out infinite alternate}
@keyframes zoom-klip{from{transform:scale(1.05)}to{transform:scale(1.22) translateY(-3%)}}
.pg-kiri,.pg-kanan{width:200px;height:416px;top:110px;bottom:auto;opacity:.9;filter:saturate(.8)}
.pg-kiri{transform:translateX(calc(-50% - 230px)) rotate(-8deg)}
.pg-kanan{transform:translateX(calc(-50% + 230px)) rotate(8deg)}
.pg-kiri::after,.pg-kanan::after{content:"";position:absolute;inset:9px;border-radius:26px;background:linear-gradient(180deg,rgba(245,245,247,.15),rgba(245,245,247,.55))}
.pg-gelap{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 22%,rgba(0,0,0,0) 55%,rgba(0,0,0,.75) 100%)}
.pg-atas{position:absolute;top:22px;left:0;right:0;display:flex;justify-content:center;gap:14px;color:rgba(255,255,255,.65);font-size:12px;font-weight:500}
.pg-atas b{color:#fff;font-weight:600;border-bottom:2px solid #fff;padding-bottom:3px}
.pg-sub{position:absolute;left:18px;right:56px;top:46%;text-align:center;color:#fff;font-weight:700;font-size:17px;line-height:1.25;text-transform:uppercase;letter-spacing:-.01em;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.pg-sub mark{background:#fff;color:#0a0a0a;padding:0 5px;border-radius:5px;text-shadow:none}
.pg-sub span{animation:kata 3s ease-in-out infinite}
.pg-sub span+mark+span{animation-delay:.25s}
@keyframes kata{0%,100%{opacity:1}50%{opacity:.85}}
.pg-aksi{position:absolute;right:10px;bottom:96px;display:flex;flex-direction:column;align-items:center;gap:14px;color:#fff}
.pg-aksi span{display:flex;flex-direction:column;align-items:center;gap:2px}
.pg-aksi svg{width:26px;height:26px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}
.pg-aksi span:nth-child(2) svg{color:#ff3b5c;animation:debar 1.6s ease-in-out infinite}
@keyframes debar{0%,100%{transform:scale(1)}15%{transform:scale(1.18)}30%{transform:scale(1)}}
.pg-aksi em{font-style:normal;font-size:10.5px;font-weight:600}
.pg-ava{width:34px;height:34px;border-radius:50%;border:2px solid #fff;background:linear-gradient(135deg,#d9d6cf,#5a5a60)}
.pg-info{position:absolute;left:14px;right:60px;bottom:30px;color:#fff;font-size:11.5px;line-height:1.4}
.pg-info b{display:block;font-size:13px;margin-bottom:2px}.pg-info span{opacity:.85}
.pg-putar{position:absolute;left:14px;right:14px;bottom:14px;height:3px;border-radius:3px;background:rgba(255,255,255,.3);overflow:hidden}
.pg-putar i{display:block;height:100%;width:0;background:#fff;animation:putar-video 9s linear infinite}
@keyframes putar-video{to{width:100%}}
.pg-kartu{position:absolute;z-index:4;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-radius:16px;padding:13px 15px;box-shadow:0 22px 44px -18px rgba(0,0,0,.28),0 0 0 1px rgba(0,0,0,.05);font-size:12.5px}
.pg-kartu small{display:block;color:var(--redup);font-size:11.5px}
.pg-kartu b{font-size:19px;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.pg-views{left:calc(50% - 400px);top:120px;width:190px;animation:melayang 6s ease-in-out infinite}
.pg-views .naik{color:var(--hijau);font-weight:500;font-size:12px;margin-top:4px}
.pg-grafik{display:flex;align-items:flex-end;gap:3px;height:34px;margin-top:8px}
.pg-grafik i{flex:1;height:var(--h);border-radius:3px 3px 1px 1px;background:linear-gradient(180deg,#0a0a0a,#71717a);transform-origin:bottom;animation:tumbuh-kecil 3.5s ease-out infinite}
.pg-grafik i:nth-child(n+6){animation-delay:.2s}
@keyframes tumbuh-kecil{0%{transform:scaleY(.3)}35%,100%{transform:scaleY(1)}}
.pg-uang{left:calc(50% + 170px);top:200px;display:flex;align-items:center;gap:10px;animation:melayang 6s ease-in-out -2s infinite}
.pg-uang .ikon-bulat{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--hijau-bg);color:var(--hijau)}
.pg-notif{left:calc(50% + 140px);top:350px;display:flex;align-items:center;gap:10px;padding:11px 14px;animation:notif-masuk 6s ease-in-out infinite}
.pg-notif b{font-size:13.5px;letter-spacing:-.01em;display:block}
.pg-cek{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#0a0a0a;color:#fff}.pg-cek .i{width:15px;height:15px}
@keyframes notif-masuk{0%,8%{opacity:0;transform:translateY(10px) scale(.96)}16%,82%{opacity:1;transform:none}92%,100%{opacity:0;transform:translateY(-6px)}}
@media(max-width:900px){.pg-kiri{transform:translateX(calc(-50% - 170px)) rotate(-8deg)}.pg-kanan{transform:translateX(calc(-50% + 170px)) rotate(8deg)}
.pg-views{left:calc(50% - 300px)}.pg-uang{left:calc(50% + 110px)}.pg-notif{left:calc(50% + 90px)}}
@media(max-width:700px){.panggung{height:470px}
.pg-utama{width:214px;height:446px;top:28px}.pg-kiri,.pg-kanan{width:160px;height:330px;top:90px}
.pg-kiri{transform:translateX(calc(-50% - 125px)) rotate(-9deg)}.pg-kanan{transform:translateX(calc(-50% + 125px)) rotate(9deg)}
.pg-sub{font-size:14.5px}
.pg-views{left:12px;top:70px;width:150px;padding:10px 12px}.pg-views b{font-size:16px}.pg-grafik{height:24px}
.pg-uang{left:auto;right:10px;top:220px;padding:10px 12px}.pg-uang b{font-size:16px}.pg-uang .ikon-bulat{width:30px;height:30px}
.pg-notif{left:14px;top:auto;bottom:24px;padding:9px 12px}.pg-notif b{font-size:12.5px}}
@media(prefers-reduced-motion:reduce){.pg *{animation:none!important}}

/* strip angka v2 */
.angka-strip{padding:44px 0 8px;border:0;background:#fff}
.angka-kepala{display:flex;align-items:center;gap:8px;justify-content:center;font-size:12.5px;color:#71717a;font-weight:500;margin-bottom:18px}
.titik-live{position:relative;width:8px;height:8px;border-radius:50%;background:#22c55e}
.titik-live::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid #22c55e;opacity:0;animation:denyut 2s ease-out infinite}
@keyframes denyut{0%{transform:scale(.6);opacity:.8}100%{transform:scale(1.6);opacity:0}}
.angka-in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0}
.angka-in>div{border:1px solid #ececec!important;border-radius:18px;padding:20px 20px 18px;background:linear-gradient(180deg,#fff,#fafafa);transition:transform var(--sedang) var(--ease),box-shadow var(--sedang)}
.angka-in>div:hover{transform:translateY(-2px);box-shadow:0 14px 30px -18px rgba(0,0,0,.25)}
.a-ik{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#0a0a0a;color:#fff;margin-bottom:14px}.a-ik .i{width:16px;height:16px}
.angka-in b{font-size:30px;letter-spacing:-.04em}
.angka-in span:not(.a-ik){color:#71717a;font-size:13.5px}
@media(max-width:760px){.angka-in{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.angka-in>div{padding:16px}.angka-in b{font-size:24px}.a-ik{margin-bottom:10px}}
.panggung{height:590px}
@media(max-width:700px){.panggung{height:500px}.pg-uang{top:150px}.pg-views{top:56px}.pg-notif{bottom:30px}}
/* hero disederhanakan (Candra 15 Nov: "lebih simpel") */
.panggung{height:540px}
.pg-views{left:calc(50% - 330px);top:150px;width:auto}
.pg-uang{left:calc(50% + 150px);top:290px}
.angka-strip{padding:40px 0 0}
.angka-in>div{border:0!important;border-left:1px solid #ececec!important;border-radius:0;padding:4px 0 4px 20px;background:none}
.angka-in>div:hover{transform:none;box-shadow:none}
.angka-in b{font-size:28px}
@media(max-width:700px){.panggung{height:480px}.pg-views{left:14px;top:70px;width:auto}.pg-uang{left:auto;right:14px;top:250px}
.angka-in{row-gap:24px}.angka-in>div{padding-left:16px}.angka-in b{font-size:24px}}
.panggung{height:575px}@media(max-width:700px){.panggung{height:490px}.pg-uang{top:395px}}
/* hero foto (Candra 15 Nov: ganti gambar, hapus strip angka) */
.hero-foto{position:relative;z-index:1;margin-top:56px;border-radius:28px 28px 0 0;overflow:hidden;border:1px solid #ececec;border-bottom:0;aspect-ratio:1536/672;background:#f4f4f5}
.hero-foto img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:700px){.hero-foto{margin-top:40px;border-radius:20px 20px 0 0;aspect-ratio:4/3}.hero-foto img{object-position:22% center}}
.hero-foto{border-radius:28px;border-bottom:1px solid #ececec}.hero{padding-bottom:24px}@media(max-width:700px){.hero-foto{border-radius:20px}}

/* ===== ritme jarak (Candra 15 Nov: tidak terlalu renggang, tidak terlalu mepet) =====
   Skala: 8 · 16 · 24 · 32 · 48 · 64 · 88. Seksi 88px desktop / 64px HP, judul seksi ke isi 40px / 28px. */
.plat-segera{position:relative;opacity:.55}
.plat-segera::after{content:"";position:absolute;right:-2px;top:-2px;width:7px;height:7px;border-radius:50%;background:#a1a1aa;border:2px solid #fff}
.seksi{padding:88px 0}
.seksi-kepala,.kepala-seksi{margin-bottom:40px}
.seksi h2+p,.seksi-kepala p,.lead{margin-top:14px}
.hero{padding:80px 0 0}
.hero h1{margin:0 auto 18px}
.hero-cta{margin:28px 0 18px}
.hero-foto{margin-top:48px}
.hero+.seksi{padding-top:88px}
.jelajahi{margin-top:32px}
.dua-kolom{gap:56px}
.bento{margin:24px 0 28px}
.bento4{margin-top:40px}
.faq3-bantu{margin-top:28px}
.cta-band{padding:52px 56px}
.pkaki{padding:64px 0 24px}.pkaki-bawah{margin-top:40px}
.blog-hero{padding-top:72px}.blog-unggulan{padding-top:32px}.blog-dua{padding:72px 0}.blog-eksplor{padding:72px 0}
.judul-kolom{margin-bottom:20px}
.katalog-hero{padding:56px 0 32px}
@media(max-width:700px){
.seksi{padding:64px 0}
.seksi-kepala,.kepala-seksi{margin-bottom:28px}
.hero{padding-top:48px}
.hero-foto{margin-top:32px}
.hero+.seksi{padding-top:64px}
.jelajahi{margin-top:24px}
.dua-kolom{gap:40px}
.bento4{margin-top:32px}
.cta-band{padding:36px 24px}
.pkaki{padding:56px 0 24px}
.blog-hero{padding-top:44px}.blog-unggulan{padding-top:24px}.blog-dua{padding:56px 0}.blog-eksplor{padding:56px 0}
}
.bento4{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:900px){.bento4{grid-template-columns:minmax(0,1fr)}}
.mt-tombol{margin-top:28px}#clipper .bento{margin:0}
/* menu "Lainnya" di menu bawah HP (kalau lebih dari 5 menu) */
.tab-lain{flex:1;position:relative;display:flex}
.tab-lain>summary{flex:1;list-style:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;color:var(--samar);font-size:10.5px;font-weight:500;cursor:pointer}
.tab-lain>summary::-webkit-details-marker{display:none}
.tab-lain>summary .i{width:20px;height:20px}
.tab-lain>summary.aktif,.tab-lain[open]>summary{color:var(--teks)}
.tab-lain-isi{position:absolute;right:4px;bottom:calc(100% + 10px);min-width:200px;background:#fff;border:1px solid var(--garis);border-radius:14px;box-shadow:0 18px 40px -12px rgba(0,0,0,.25);padding:6px;display:flex;flex-direction:column;animation:muncul-kecil .2s var(--ease)}
.tab-lain-isi a{flex-direction:row!important;justify-content:flex-start!important;gap:10px!important;min-height:44px!important;padding:0 12px;font-size:14px!important;color:var(--teks2)!important;border-radius:10px}
.tab-lain-isi a.aktif{background:var(--permukaan2);color:var(--teks)!important}
.pkaki-pt{margin-top:14px!important;font-size:13px!important;line-height:1.7!important;color:#a1a1aa}
.pkaki-pt a{color:inherit}
.kontak-kartu{margin-top:28px;border:1px solid var(--garis);border-radius:var(--r-lg);padding:4px 20px;background:#fff}
.kontak-kartu .info-baris b{text-align:right;max-width:65%}
