/* Gaya Nalarcapada: putih kebiruan + palet ungu ke angkasa. Dipakai semua halaman. */
  :root {
    --nila:#3A0CA3; --iris:#3F37C9; --samudra:#4361EE; --biru:#4895EF; --angkasa:#4CC9F0;
    --teks:#0D0A1F; --mut:#4E5878; --kapur:#F2FAFD; --permukaan:#FFFFFF; --permukaan2:#FFFFFF; --garis:#CDEBF6;
  }
  * { box-sizing:border-box; } [hidden] { display:none !important; }
  html, body { margin:0; background:var(--kapur); color:var(--teks); font:15px/1.55 "Plus Jakarta Sans", system-ui, sans-serif; }
  a { color:inherit; }
  .wrap { max-width:1200px; margin:0 auto; padding:0 16px; }
  /* header */
  header { position:sticky; top:0; z-index:20; background:rgba(255,255,255,.94); backdrop-filter:blur(10px); border-bottom:1px solid var(--garis); }
  header .wrap { display:flex; align-items:center; gap:14px; height:72px; }
  .logo { display:flex; align-items:center; gap:10px; text-decoration:none; flex:none; }
  .logo img { width:44px; height:44px; display:block; }
  .logo .nama { font-weight:800; font-size:20px; letter-spacing:-.02em; line-height:1.05; display:block; } .logo .nama span { color:var(--nila); }
  .logo .tagline { display:block; font-size:12px; font-style:italic; color:var(--mut); margin-top:2px; }
  nav.menu { display:flex; gap:26px; font-size:14.5px; font-weight:700; margin-left:28px; }
  nav.menu a { text-decoration:none; color:var(--teks); padding:6px 0; border-bottom:2px solid transparent; }
  nav.menu a:hover { color:var(--nila); border-bottom-color:var(--nila); }
  .kanan { margin-left:auto; display:flex; align-items:center; gap:10px; }
  .cari { position:relative; }
  .cari label { display:flex; align-items:center; gap:8px; width:230px; height:42px; padding:0 8px 0 12px; border:1px solid #BFE6F5; background:#EAF7FC; border-radius:12px; cursor:text; }
  .cari input { flex:1; min-width:0; border:0; background:none; outline:none; font:600 14px "Plus Jakarta Sans", sans-serif; color:var(--teks); }
  .cari input::placeholder { color:rgba(13,10,31,.55); }
  .cari kbd { font:11px "JetBrains Mono", monospace; border:1px solid var(--garis); background:#fff; border-radius:6px; padding:2px 6px; color:var(--mut); }
  .cari svg, .ikonbtn svg { width:18px; height:18px; flex:none; }
  .hasilcari { position:absolute; right:0; top:48px; width:min(380px, 92vw); max-height:60vh; overflow:auto; background:#fff; border:1px solid var(--garis); border-radius:14px; box-shadow:0 18px 40px rgba(13,10,31,.18); padding:6px; display:none; }
  .hasilcari.buka { display:block; }
  .hasilcari a { display:flex; gap:10px; align-items:center; padding:8px; border-radius:10px; text-decoration:none; }
  .hasilcari a:hover, .hasilcari a.pilih { background:#EAF7FC; }
  .hasilcari img { width:34px; height:60px; object-fit:cover; border-radius:6px; flex:none; background:#8ED9F2; }
  .hasilcari .fk { width:34px; height:34px; border-radius:8px; background:var(--angkasa); color:var(--nila); display:grid; place-items:center; font-weight:800; font-size:11px; flex:none; }
  .hasilcari b { display:block; font-size:13.5px; line-height:1.3; } .hasilcari small { color:var(--mut); font-size:12px; }
  .hasilcari .kosong { padding:12px; color:var(--mut); font-size:13px; }
  .yt { display:inline-flex; align-items:center; gap:8px; height:42px; padding:0 16px; border-radius:12px; background:var(--samudra); color:#fff; font-weight:800; font-size:14px; text-decoration:none; flex:none; }
  .yt svg { width:20px; height:20px; }
  .ikonbtn { display:none; width:42px; height:42px; border-radius:12px; border:1px solid var(--garis); background:#fff; align-items:center; justify-content:center; cursor:pointer; color:var(--teks); }
  .spektrum { display:none; }
  @media (max-width:1060px) { nav.menu { gap:18px; margin-left:12px; } .cari label { width:180px; } }
  @media (max-width:900px) {
    nav.menu { display:none; position:absolute; left:0; right:0; top:72px; background:var(--permukaan2); border-bottom:1px solid var(--garis); flex-direction:column; gap:0; margin:0; padding:6px 16px 12px; }
    nav.menu.buka { display:flex; } nav.menu a { padding:12px 0; border-bottom:1px solid var(--garis); }
    .ikonbtn { display:inline-flex; }
    .cari label { display:none; } .cari.buka label { display:flex; position:absolute; right:-52px; top:50px; width:min(340px, 88vw); background:#fff; }
    .cari.buka .hasilcari { top:100px; right:-52px; }
    .yt span { display:none; } .yt { padding:0 11px; }
    .logo .tagline { display:none; }
  }
  /* hero */
  .hero { padding-block:26px 16px; }
  .koor { font:12px "JetBrains Mono", monospace; color:var(--nila); letter-spacing:.06em; }
  .hero h1 { margin:6px 0 0; font-size:clamp(30px, 6.4vw, 56px); line-height:1.12; font-weight:800; letter-spacing:-.03em; }
  .hero h1 em { font-style:normal; color:var(--samudra); }
  .hero p { margin:12px 0 0; color:var(--mut); max-width:580px; }
  /* peta */
  .petabox { position:relative; height:min(66vh, 620px); min-height:420px; overflow:hidden; touch-action:none; background:#E2F5FC; border-block:1px solid var(--garis); }
  @media (min-width:1232px) { .petabox { max-width:1200px; margin:0 auto; border-radius:22px; border:1px solid var(--garis); } }
  svg#peta { width:100%; height:100%; display:block; cursor:grab; } svg#peta:active { cursor:grabbing; }
  .negara { fill:#C4E5F6; stroke:#A6D4EE; stroke-width:.7; vector-effect:non-scaling-stroke; }
  .negara.indo { fill:#FFFFFF; stroke:var(--nila); stroke-width:1.4; stroke-linejoin:round; }
  .graticule { fill:none; stroke:rgba(67,97,238,.10); stroke-width:.7; vector-effect:non-scaling-stroke; }
  .jalur { fill:none; stroke:var(--samudra); stroke-width:1.6; stroke-dasharray:6 5; vector-effect:non-scaling-stroke; animation:alir 1.2s linear infinite; }
  @keyframes alir { to { stroke-dashoffset:-22; } }
  .titik { cursor:pointer; }
  .titik .gelombang { fill:none; stroke-width:1.8; transform-box:fill-box; transform-origin:center; animation:denyut 2.4s ease-out infinite; }
  .titik .inti { stroke:#fff; stroke-width:2; }
  .titik .label text { font:800 12px "Plus Jakarta Sans", sans-serif; fill:#fff; }
  .titik .label { transition:opacity .2s; } .titik.sembunyi .label { opacity:0; pointer-events:none; }
  .titik.aktif .inti { fill:#fff !important; stroke:var(--nila); }
  @keyframes denyut { from { transform:scale(.6); opacity:1; } to { transform:scale(2.8); opacity:0; } }
  .kontrol { position:absolute; right:12px; top:12px; display:flex; flex-direction:column; gap:8px; }
  .kontrol button, .pindah button { border:1px solid var(--garis); background:rgba(255,255,255,.85); color:var(--teks); font:700 18px "Plus Jakarta Sans", sans-serif; cursor:pointer; }
  .kontrol button { width:40px; height:40px; border-radius:12px; }
  .pindah { position:absolute; left:12px; top:12px; right:64px; display:flex; gap:8px; flex-wrap:wrap; }
  .pindah button { border-radius:999px; padding:7px 13px; font-size:13px; }
  .pindah button.on { background:var(--nila); color:#fff; border-color:var(--nila); }
  .petunjuk { position:absolute; left:50%; bottom:12px; transform:translateX(-50%); background:rgba(255,255,255,.88); border:1px solid var(--garis); border-radius:999px; padding:6px 14px; font-size:12px; color:var(--mut); white-space:nowrap; pointer-events:none; transition:opacity .4s; }
  .legenda { display:flex; flex-wrap:wrap; gap:8px 16px; padding-top:12px; font-size:12px; color:var(--mut); }
  .legenda i { display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:6px; vertical-align:-1px; }
  /* bagian */
  section.bag { padding-top:44px; scroll-margin-top:80px; } #peta-box { scroll-margin-top:80px; }
  .judul-bag { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:14px; }
  .judul-bag h2 { margin:0; font-size:clamp(22px, 4vw, 30px); font-weight:800; letter-spacing:-.02em; }
  .judul-bag p { margin:4px 0 0; color:var(--mut); }
  .judul-bag a { font-weight:800; font-size:14px; color:var(--nila); text-decoration:none; white-space:nowrap; }
  .deret { display:flex; gap:12px; overflow-x:auto; scrollbar-width:none; padding:2px 2px 4px; scroll-snap-type:x mandatory; }
  .deret::-webkit-scrollbar { display:none; }
  .vid { flex:none; width:168px; text-decoration:none; scroll-snap-align:start; }
  @media (min-width:900px) { .vid { width:210px; } }
  .vid .thumb { aspect-ratio:9/16; border-radius:16px; background:#CDEBF6 center/cover; position:relative; overflow:hidden; }
  .vid .views { position:absolute; left:8px; bottom:10px; background:rgba(13,10,31,.7); color:#fff; border-radius:8px; padding:2px 8px; font-size:12px; font-weight:700; }
  .vid .baru { position:absolute; left:8px; top:8px; background:var(--nila); color:#fff; border-radius:8px; padding:1px 8px; font-size:11px; font-weight:800; }
  .vid .kat { font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; margin-top:10px; color:var(--nila); }
  .vid h3 { margin:2px 0 0; font-size:14px; line-height:1.35; font-weight:700; }
  /* pilar */
  .pilar { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:12px; }
  .pilar a { text-decoration:none; background:var(--permukaan); border:1px solid var(--garis); border-radius:18px; padding:16px; position:relative; overflow:hidden; transition:transform .2s, background .2s; }
  .pilar a:hover { transform:translateY(-2px); border-color:var(--nila); }
  .pilar a::before { content:""; position:absolute; inset:0 0 auto 0; height:5px; background:var(--warna, var(--nila)); }
  .pilar .arah { font:11px "JetBrains Mono", monospace; color:var(--mut); letter-spacing:.08em; }
  .pilar h3 { margin:6px 0 4px; font-size:18px; font-weight:800; }
  .pilar p { margin:0; color:var(--mut); font-size:13px; }
  .pilar .jml { margin-top:10px; font-weight:800; color:var(--nila); font-size:14px; }
  /* kartu fakta (beranda) */
  .kartu-fakta { position:relative; overflow:hidden; background:var(--samudra); color:#fff; border-radius:28px; padding:clamp(22px, 4vw, 44px); box-shadow:0 22px 50px rgba(67,97,238,.28); }
  .kartu-fakta::after { content:"?"; position:absolute; right:clamp(16px, 4vw, 40px); top:-18px; font:800 150px/1 "Plus Jakarta Sans", sans-serif; color:rgba(255,255,255,.07); pointer-events:none; }
  .kartu-fakta.masuk .kf-isi, .kartu-fakta.masuk .kf-sumber, .kartu-fakta.masuk .kf-kat { animation:muncul .45s ease both; }
  .kartu-fakta.masuk .kf-sumber { animation-delay:.08s; }
  @keyframes muncul { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
  .kf-atas { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; position:relative; z-index:1; }
  .kf-lencana { font-size:12px; font-weight:800; letter-spacing:.08em; padding:6px 14px; border-radius:999px; color:var(--nila); background:var(--angkasa); }
  .kf-kat { font-size:12px; font-weight:700; padding:5px 12px; border-radius:999px; background:rgba(255,255,255,.12); color:#fff; }
  .kf-isi { margin:22px 0 0; font-size:clamp(20px, 3.2vw, 30px); line-height:1.4; font-weight:800; letter-spacing:-.015em; max-width:900px; quotes:"“" "”"; }
  .kf-isi::before { content:open-quote; } .kf-isi::after { content:close-quote; }
  .kf-sumber { margin-top:16px; font-size:13px; color:rgba(255,255,255,.85); display:flex; align-items:center; gap:8px; }
  .kf-sumber::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--angkasa); flex:none; }
  .kf-bawah { margin-top:26px; padding-top:20px; border-top:1px solid rgba(255,255,255,.25); display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; }
  .kf-tombol { display:flex; gap:10px; flex-wrap:wrap; }
  .kf-buka { font-weight:800; font-size:14px; color:#fff; text-decoration:none; }
  .kf-buka:hover { text-decoration:underline; }
  .tbl { border:0; cursor:pointer; border-radius:999px; padding:11px 18px; font:800 14px "Plus Jakarta Sans", sans-serif; text-decoration:none; display:inline-flex; align-items:center; gap:8px; }
  .tbl.utama { background:#fff; color:var(--nila); } .tbl.kedua { background:transparent; color:#fff; border:1px solid rgba(255,255,255,.5); }
  /* alat */
  .alat { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:12px; }
  .alat a, .alat div { background:var(--permukaan); border:1px solid var(--garis); border-radius:18px; padding:18px; text-decoration:none; }
  .alat h3 { margin:0 0 4px; font-size:18px; font-weight:800; } .alat p { margin:0; color:var(--mut); font-size:13px; }
  .alat .lbl { display:inline-block; font-size:11px; font-weight:800; padding:2px 8px; border-radius:999px; margin-bottom:10px; }
  /* lembar */
  .lembar { position:fixed; left:0; right:0; bottom:0; z-index:30; background:var(--permukaan2); border-top:1px solid var(--garis); border-radius:22px 22px 0 0; padding:10px 16px calc(18px + env(safe-area-inset-bottom)); transform:translateY(calc(100% + 60px)); transition:transform .35s cubic-bezier(.2,.8,.2,1); max-height:74vh; overflow:auto; box-shadow:0 -16px 40px rgba(13,10,31,.2); }
  .lembar.buka { transform:none; }
  @media (min-width:900px) { .lembar { left:auto; right:24px; bottom:24px; width:410px; border-radius:22px; border:1px solid var(--garis); } }
  .pegangan { width:44px; height:5px; border-radius:3px; background:var(--garis); margin:0 auto 10px; }
  .tutup { position:absolute; right:12px; top:10px; background:none; border:0; color:var(--mut); font-size:22px; cursor:pointer; }
  .tempat { font-size:13px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
  .tempat small { display:block; font:400 11px "JetBrains Mono", monospace; color:var(--mut); letter-spacing:.04em; text-transform:none; }
  .nalar { display:grid; grid-template-columns:92px 1fr; gap:12px; padding:14px 0; border-bottom:1px solid var(--garis); text-decoration:none; }
  .nalar:last-child { border-bottom:0; } .nalar.fakta { grid-template-columns:1fr; }
  .nalar .thumb { width:92px; aspect-ratio:9/16; border-radius:12px; background:#CDEBF6 center/cover; }
  .nalar .angka { font-size:28px; font-weight:800; color:var(--nila); line-height:1.05; }
  .nalar h3 { margin:4px 0 2px; font-size:15px; line-height:1.3; } .nalar p { margin:0; color:var(--mut); font-size:13px; }
  .nalar .tombol { display:inline-block; margin-top:8px; font-size:13px; font-weight:800; color:var(--samudra); }
  .pratinjau { background:var(--nila); color:#fff; text-align:center; font-size:12px; font-weight:700; padding:6px 12px; }

  /* ===== footer (pola semenitilmu, warna kita) ===== */
  footer.kaki { margin-top:70px; background:#C4E5F6; color:#2B3556; font-size:14px; }
  .kaki-grid { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:40px; padding:46px 0 34px; }
  @media (max-width:860px) { .kaki-grid { grid-template-columns:1fr; gap:30px; } }
  .kaki-logo { display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--teks); }
  .kaki-logo img { width:52px; height:52px; }
  .kaki-logo b { display:block; font-size:22px; font-weight:800; letter-spacing:-.02em; line-height:1.05; } .kaki-logo b span { color:var(--nila); }
  .kaki-logo i { display:block; font-size:12.5px; color:var(--mut); margin-top:2px; }
  .kaki-desk { margin:18px 0 0; line-height:1.6; }
  .kaki-kutip { display:block; margin-top:6px; color:var(--samudra); font-style:italic; font-weight:700; }
  .sosial { display:flex; gap:10px; margin-top:22px; }
  .sosial a { width:42px; height:42px; border-radius:12px; background:rgba(255,255,255,.65); display:grid; place-items:center; color:var(--nila); transition:background .2s, color .2s; }
  .sosial a:hover { background:var(--samudra); color:#fff; }
  .sosial svg { width:20px; height:20px; }
  .kaki h4 { margin:0 0 14px; color:var(--teks); font-size:15px; font-weight:800; display:flex; align-items:center; gap:8px; }
  .kaki h4 svg { width:18px; height:18px; color:var(--samudra); }
  .kaki ul { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
  .kaki ul a { color:#2B3556; text-decoration:none; } .kaki ul a:hover { color:var(--samudra); }
  .kaki-tentang { margin:0; line-height:1.65; font-size:13.5px; }
  .kaki-bawah { border-top:1px solid rgba(58,12,163,.15); padding:18px 0 26px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 20px; font-size:13px; color:var(--mut); }
  .kaki-bawah .hati { color:var(--samudra); }

  /* ===== umum halaman dalam ===== */
  :root { --ink:var(--teks); --mute:var(--mut); --line:var(--garis); --card:#fff; --ungu:var(--nila);
    --halo:var(--angkasa); --dot:var(--nila); --land:#FFFFFF; --landline:var(--nila); --mapbg:#E2F5FC; }
  main { display:block; }
  div.label, span.label { font:12px "JetBrains Mono", monospace; color:var(--nila); letter-spacing:.1em; text-transform:uppercase; }
  .bintang { color:var(--angkasa); }
  .kop { padding:44px 16px 20px; text-align:center; }
  .kop h1 { margin:10px 0 10px; font-size:clamp(32px, 5.4vw, 52px); line-height:1.08; font-weight:800; letter-spacing:-.03em; }
  .kop h1 em { font-style:normal; color:var(--samudra); }
  .kop p { margin:0 auto; max-width:640px; color:var(--mut); font-size:16.5px; }
  section.blok { padding:30px 0; }
  .kembali { display:inline-flex; gap:6px; margin-top:22px; font-weight:800; color:var(--nila); text-decoration:none; }
  .btn { display:inline-flex; align-items:center; gap:8px; padding:12px 20px; border-radius:999px; font:800 14px "Plus Jakarta Sans", sans-serif; border:1px solid var(--garis); background:#fff; color:var(--teks); text-decoration:none; cursor:pointer; }
  .btn.isi { background:var(--samudra); border-color:var(--samudra); color:#fff; }
  .aksi { display:flex; gap:10px; flex-wrap:wrap; }

  /* halaman semua video */
  .filter { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin:0 0 26px; }
  .filter button { border:1px solid var(--garis); background:#EAF7FC; color:var(--teks); border-radius:12px; padding:10px 14px; font:700 13.5px "Plus Jakarta Sans", sans-serif; cursor:pointer; }
  .filter button.on { background:var(--nila); border-color:var(--nila); color:#fff; }
  .grid-v { display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:18px; }
  .pos { display:flex; flex-direction:column; background:#fff; border:1px solid var(--garis); border-radius:20px; overflow:hidden; text-decoration:none; color:var(--teks); transition:transform .2s, box-shadow .2s; }
  .pos:hover { transform:translateY(-3px); box-shadow:0 14px 30px rgba(58,12,163,.12); }
  .pos .foto { aspect-ratio:16/10; background:#CDEBF6 center/cover; position:relative; }
  .pos .cap { position:absolute; left:10px; bottom:10px; background:rgba(13,10,31,.72); color:#fff; border-radius:8px; padding:3px 9px; font-size:12px; font-weight:700; display:flex; gap:4px; align-items:baseline; }
  .pos .cap b { font-size:13px; }
  .pos .isi { padding:16px 18px 18px; display:flex; flex-direction:column; flex:1; }
  .pos .kat { font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--nila); }
  .pos h3 { margin:6px 0 6px; font-size:17px; line-height:1.35; font-weight:800; }
  .pos p { margin:0 0 14px; color:var(--mut); font-size:14px; flex:1; }
  .pos .kaki { display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--garis); padding-top:10px; font-size:13px; color:var(--mut); }
  .pos .kaki b { color:var(--samudra); }

  /* artikel */
  .artikel { max-width:760px; margin:34px auto 0; padding:40px 44px 34px; background:#fff; border:1px solid var(--garis); border-radius:26px; }
  @media (max-width:760px) { .artikel { padding:26px 18px; margin:18px 12px 0; border-radius:20px; } }
  .artikel h1 { font-size:clamp(30px, 5vw, 46px); line-height:1.1; font-weight:800; letter-spacing:-.03em; margin:10px 0 8px; }
  .artikel .meta { color:var(--mut); font-size:14px; margin:0 0 24px; padding-bottom:14px; border-bottom:1px solid var(--garis); }
  .artikel h2 { font-size:clamp(22px, 3.2vw, 28px); line-height:1.25; margin:38px 0 10px; font-weight:800; letter-spacing:-.02em; }
  .artikel p { font-size:17.5px; line-height:1.8; margin:14px 0; color:#1d1a33; }
  .artikel .angka-teks { color:var(--samudra); font-weight:700; }
  .artikel figure { margin:28px 0; }
  figure.dua { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  figure img { width:100%; display:block; border-radius:14px; border:1px solid var(--garis); }
  figcaption { grid-column:1/-1; font-size:13.5px; color:var(--mut); text-align:center; margin-top:6px; }
  .yt-kartu { display:flex; gap:16px; align-items:center; margin:36px 0 8px; padding:14px; background:#EAF7FC; border:1px solid var(--garis); border-radius:18px; text-decoration:none; color:var(--teks); }
  .yt-kartu img { width:84px; height:112px; object-fit:cover; flex:none; border-radius:12px; }
  .yt-kartu small { display:block; font-size:12px; font-weight:800; color:var(--nila); text-transform:uppercase; letter-spacing:.06em; }
  .yt-kartu b { display:block; font-size:17px; line-height:1.3; margin:4px 0; }
  .yt-kartu em { font-style:normal; font-size:13px; color:var(--mut); }
  .remah { font-size:13px; color:var(--mut); margin-bottom:12px; } .remah a { color:var(--nila); text-decoration:none; font-weight:700; }
  .info { display:flex; flex-wrap:wrap; gap:6px 14px; align-items:center; font-size:13px; color:var(--mut); }
  .info .label { font-size:12px; }
  .info span+span:before { content:"·"; margin-right:14px; color:var(--garis); }
  .lede { font-size:19px !important; line-height:1.6 !important; color:var(--mut) !important; margin:6px 0 24px !important; padding-bottom:20px; border-bottom:1px solid var(--garis); }
  .nalar-singkat { background:#EAF7FC; border:1px solid #BFE6F5; border-radius:18px; padding:18px 22px 12px; margin:0 0 28px; }
  .nalar-singkat h2, .kotak-oh h2, .kotak-jika h2 { font-size:13px !important; font-weight:800 !important; color:var(--nila); margin:0 0 8px !important; letter-spacing:.08em; text-transform:uppercase; }
  .nalar-singkat ol { margin:0; padding-left:22px; } .nalar-singkat li { margin:8px 0; font-size:16px; line-height:1.6; }
  .nalar-singkat li::marker { font-weight:800; color:var(--samudra); } .nalar-singkat b { color:var(--nila); }
  .kartu-angka { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:12px; margin:24px 0; }
  .kartu-angka.dua { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  @media (max-width:760px) { .kartu-angka { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
  .kartu-angka div { background:var(--samudra); color:#fff; border-radius:16px; padding:16px 12px; text-align:center; }
  .kartu-angka b { display:block; font-size:30px; line-height:1.05; font-weight:800; }
  .kartu-angka span { font-size:13px; opacity:.9; }
  .kotak-oh, .kotak-jika { margin:28px 0; padding:18px 22px; border-radius:18px; }
  .kotak-oh { background:var(--nila); color:#fff; } .kotak-oh h2 { color:var(--angkasa) !important; } .kotak-oh b { color:var(--angkasa); }
  .kotak-oh p, .kotak-jika p { margin:0 !important; font-size:16.5px !important; line-height:1.65 !important; color:inherit !important; }
  .kotak-jika { border:1.5px dashed var(--samudra); background:#F3F6FF; }
  .sumber-cara { margin-top:40px; padding-top:10px; border-top:1px solid var(--garis); }
  .sumber-cara ol { padding-left:22px; margin:8px 0; } .sumber-cara li { font-size:14.5px; line-height:1.6; color:var(--mut); margin:8px 0; } .sumber-cara li b { color:var(--teks); }
  .sumber-cara .catat { margin-top:14px !important; padding:12px 14px; border-radius:12px; background:#EAF7FC; font-size:14px !important; }
  .faq { margin-top:34px; } .faq details { border-bottom:1px solid var(--garis); padding:12px 0; }
  .faq summary { cursor:pointer; font-size:17px; font-weight:800; list-style:none; display:flex; justify-content:space-between; gap:12px; }
  .faq summary::-webkit-details-marker { display:none; } .faq summary:after { content:"+"; color:var(--samudra); font-weight:800; } .faq details[open] summary:after { content:"−"; }
  .faq details p { margin:8px 0 2px !important; font-size:15.5px !important; color:var(--mut) !important; }
  .bagikan { margin-top:30px; text-align:center; }
  .bagikan button { background:var(--samudra); color:#fff; border:0; border-radius:999px; padding:12px 22px; font:800 14px "Plus Jakarta Sans", sans-serif; cursor:pointer; }
  .daftar-artikel { display:grid; gap:16px; max-width:860px; margin:0 auto; }
  .kartu-artikel { display:block; background:#fff; border:1px solid var(--garis); border-radius:20px; padding:22px 24px; text-decoration:none; color:var(--teks); transition:transform .2s, box-shadow .2s; }
  .kartu-artikel:hover { transform:translateY(-2px); box-shadow:0 14px 30px rgba(58,12,163,.10); }
  .kartu-artikel h2 { font-size:clamp(20px, 3vw, 24px); line-height:1.25; margin:8px 0; font-weight:800; }
  .kartu-artikel p { margin:0 0 10px; color:var(--mut); } .kartu-artikel .baca { font-weight:800; color:var(--samudra); }

  /* cek desa */
  .hal-cek .cek { max-width:900px; margin:0 auto; text-align:center; padding:44px 16px 10px; }
  .hal-cek .cek h1 { font-size:clamp(32px, 5.4vw, 54px); line-height:1.08; font-weight:800; letter-spacing:-.03em; margin:10px 0 12px; }
  .hal-cek .cek h1 em { font-style:normal; color:var(--samudra); }
  .hal-cek .cek .lead { font-size:16.5px; color:var(--mut); max-width:640px; margin:0 auto; }
  .search { position:relative; max-width:640px; margin:26px auto 0; display:flex; gap:10px; }
  .search input { flex:1; min-width:0; font:600 18px "Plus Jakarta Sans", sans-serif; padding:14px 16px; border:1px solid #BFE6F5; border-radius:14px; background:#fff; color:var(--teks); outline:0; }
  .search input:focus { border-color:var(--samudra); box-shadow:0 0 0 3px rgba(67,97,238,.15); }
  .search button { font:800 15px "Plus Jakarta Sans", sans-serif; background:var(--samudra); color:#fff; border:0; padding:0 26px; border-radius:14px; cursor:pointer; }
  .saran { position:absolute; left:0; right:0; top:calc(100% + 6px); background:#fff; border:1px solid var(--garis); border-radius:14px; display:none; z-index:5; text-align:left; box-shadow:0 18px 40px rgba(13,10,31,.14); overflow:hidden; }
  .saran div { padding:11px 16px; cursor:pointer; display:flex; justify-content:space-between; border-bottom:1px solid var(--garis); font-weight:600; }
  .saran div:hover { background:#EAF7FC; } .saran small { color:var(--mut); font-weight:400; }
  .chips { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-top:16px; }
  .chips button { font:600 13.5px "Plus Jakarta Sans", sans-serif; color:var(--teks); background:#EAF7FC; border:1px solid var(--garis); padding:7px 14px; border-radius:999px; cursor:pointer; }
  .chips button:hover { border-color:var(--samudra); color:var(--samudra); }
  #hasil { display:none; margin:30px auto 0; max-width:980px; text-align:left; scroll-margin-top:96px; }
  .hal-cek .card { background:#fff; border:1px solid var(--garis); border-radius:22px; padding:26px; }
  .skor { display:grid; grid-template-columns:1.1fr 1fr; gap:26px; align-items:center; }
  @media (max-width:760px) { .skor { grid-template-columns:1fr; } .search { flex-direction:column; } .search button { padding:13px; } }
  .hal-cek .angka { font-size:clamp(64px, 12vw, 116px); line-height:.9; font-weight:800; color:var(--samudra); letter-spacing:-.04em; }
  .skor h2 { font-size:clamp(20px, 3vw, 28px); line-height:1.25; margin:8px 0 0; font-weight:800; }
  .skor p { color:var(--mut); margin-top:10px; }
  .ejaan { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
  .ejaan span { font-size:12.5px; font-weight:700; padding:4px 10px; border-radius:999px; background:#EEF0FD; color:var(--nila); }
  .hal-cek .peta { background:var(--mapbg); border:1px solid var(--garis); border-radius:16px; padding:8px; }
  .hal-cek .peta svg { width:100%; height:auto; display:block; }
  .hal-cek .peta small { display:block; color:var(--mut); font-size:12px; padding:6px 6px 2px; }
  .daftar { margin-top:22px; columns:2 320px; column-gap:18px; }
  .prov { break-inside:avoid; margin-bottom:12px; background:#F7FBFE; border:1px solid var(--garis); border-radius:14px; padding:12px 16px; }
  .prov h4 { display:flex; justify-content:space-between; font-size:15px; font-weight:800; margin:0; } .prov h4 b { color:var(--samudra); }
  .prov ul { list-style:none; margin:6px 0 0; padding:0; }
  .prov li { font-size:13.5px; color:var(--mut); padding:4px 0; border-top:1px solid var(--garis); } .prov li b { color:var(--teks); font-weight:700; }
  .hal-cek .aksi { margin-top:18px; }
  .hal-cek .aksi button { font:800 14px "Plus Jakarta Sans", sans-serif; background:#fff; border:1px solid var(--garis); color:var(--teks); padding:10px 16px; border-radius:999px; cursor:pointer; }
  .hal-cek .aksi button.utama { background:var(--samudra); border-color:var(--samudra); color:#fff; }
  .hal-cek .unik { text-align:center; padding:36px 20px; }
  .judul { font-size:clamp(26px, 4vw, 36px); font-weight:800; letter-spacing:-.02em; margin:0 0 6px; text-align:center; }
  .sub { color:var(--mut); text-align:center; margin:0 0 26px; }
  .fakta { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:14px; }
  .f { background:#fff; border:1px solid var(--garis); border-radius:18px; padding:20px; }
  .f b { display:block; font-size:38px; font-weight:800; color:var(--samudra); line-height:1.05; letter-spacing:-.03em; }
  .f span { font-size:14.5px; line-height:1.5; color:var(--mut); }
  .top10 { margin-top:18px; display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:10px; }
  .top10 button { display:flex; justify-content:space-between; align-items:center; background:#fff; border:1px solid var(--garis); border-radius:12px; padding:10px 14px; color:var(--teks); font:700 14.5px "Plus Jakarta Sans", sans-serif; cursor:pointer; text-align:left; }
  .top10 button:hover { border-color:var(--samudra); } .top10 i { font-style:normal; font-size:12px; color:var(--mut); margin-right:8px; } .top10 b { color:var(--samudra); }
  .sumber ol { margin:8px 0 0 20px; color:var(--mut); padding:0; } .sumber li { margin:10px 0; } .sumber li b { color:var(--teks); }
  .sumber .catat { margin-top:16px; padding:12px 16px; border-radius:12px; background:#EAF7FC; font-size:14px; }
  .hal-cek section { padding:40px 0; }

  /* 404 */
  .nyasar { text-align:center; padding:70px 16px 30px; max-width:760px; margin:0 auto; }
  .nyasar .kode { font-size:clamp(90px, 16vw, 160px); line-height:1; font-weight:800; color:var(--samudra); letter-spacing:-.05em; }
  .nyasar h1 { font-size:clamp(28px, 4.6vw, 44px); margin:6px 0 10px; font-weight:800; letter-spacing:-.02em; } .nyasar h1 em { font-style:normal; color:var(--samudra); }
  .nyasar p { font-size:17px; color:var(--mut); } .nyasar .aksi { justify-content:center; margin-top:22px; }
  nav.menu a.aktif { color:var(--nila); border-bottom-color:var(--nila); }
