/* =====================================================================
   RRS Platform v2.0 — lapisan tampilan publik (Master Sitemap & Homepage Blueprint v2.0)
   Dimuat setelah style.css (Medicio) dan rrs-redesign.css. Semua kelas baru berawalan r2-.
   Warna dikunci sebagai token: ganti blok :root untuk palet lain (mis. hijau-emas karakter).
   Satu tema terang dipilih sengaja agar konsisten dengan halaman lama yang masih terang.
   ===================================================================== */
:root{
  --r2-red:#BF2F24; --r2-red-deep:#98241B; --r2-red-soft:#FCEDEB; --r2-red-line:#F3CFCB;
  --r2-ink:#171B26; --r2-ink-mid:#454B59; --r2-ink-soft:#6A7080;
  --r2-navy:#141828; --r2-navy-2:#1E2338; --r2-on-dark:#FFFFFF; --r2-on-dark-mid:#C8CCD8; --r2-on-dark-soft:#9298AA;
  --r2-gold:#C99A3B; --r2-gold-soft:#F8F0DC; --r2-gold-ink:#7A5714;
  --r2-paper:#F6F5F2; --r2-surface:#FFFFFF; --r2-line:#E5E3DE; --r2-line-2:#D9D6CF;
  --r2-ok:#1E7A4C; --r2-ok-soft:#E3F2EA;
  --r2-f-display:"Poppins","Segoe UI",system-ui,-apple-system,sans-serif;
  --r2-f-body:"Open Sans","Segoe UI",system-ui,-apple-system,sans-serif;
  --r2-r-lg:20px; --r2-r-md:14px; --r2-r-sm:10px;
  --r2-wrap:1200px; --r2-gutter:24px;
  color-scheme:light;
}
body{background:var(--r2-paper);color:var(--r2-ink);font-family:var(--r2-f-body)}
.r2-wrap{max-width:var(--r2-wrap);margin-inline:auto;padding-inline:var(--r2-gutter)}
.r2 :focus-visible,.r2-header :focus-visible,.r2-footer :focus-visible{outline:3px solid var(--r2-gold);outline-offset:2px;border-radius:6px}
.r2-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.r2-ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Tata letak lama: header kini sticky, bukan fixed ---------- */
#main{margin-top:0}
.breadcrumbs{margin-top:0!important;padding:34px 0 26px!important;background:var(--r2-surface);border-bottom:1px solid var(--r2-line)}
.breadcrumbs h2{font-family:var(--r2-f-display);font-weight:700;font-size:28px;letter-spacing:-.02em;color:var(--r2-ink)}
.breadcrumbs ol li,.breadcrumbs ol li a{color:var(--r2-ink-soft);font-size:14px}
.breadcrumbs ol li a:hover{color:var(--r2-red)}
#topbar{display:none!important}
.back-to-top{z-index:9990}

/* ---------- Tombol ---------- */
.r2-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;border-radius:999px;border:1.5px solid transparent;font-family:var(--r2-f-display);font-size:14.5px;font-weight:600;line-height:1.1;text-decoration:none!important;white-space:nowrap;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s,transform .15s}
.r2-btn:hover{transform:translateY(-1px)}
.r2-btn .r2-ic{width:17px;height:17px}
.r2-btn-red{background:var(--r2-red);color:#fff!important}
.r2-btn-red:hover{background:var(--r2-red-deep)}
.r2-btn-line{background:var(--r2-surface);border-color:var(--r2-line-2);color:var(--r2-ink)!important}
.r2-btn-line:hover{border-color:var(--r2-ink)}
.r2-btn-dark{background:var(--r2-ink);color:#fff!important}
.r2-btn-dark:hover{background:#000}
.r2-btn-light{background:#fff;color:var(--r2-ink)!important}
.r2-btn-ghost-light{border-color:rgba(255,255,255,.4);color:#fff!important}
.r2-btn-ghost-light:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.r2-btn-sm{min-height:38px;padding:0 16px;font-size:13.5px}
.r2-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--r2-f-display);font-weight:600;font-size:14.5px;color:var(--r2-red)!important;text-decoration:none!important}
.r2-link .r2-ic{width:16px;height:16px;transition:transform .15s}
.r2-link:hover .r2-ic{transform:translateX(3px)}

/* ---------- H01 Utility bar ---------- */
.r2-util{background:var(--r2-navy);color:var(--r2-on-dark-mid);font-size:13px}
.r2-util .r2-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;min-height:38px;padding-block:6px}
.r2-util-l{display:flex;align-items:center;gap:8px;min-width:0}
.r2-util-l strong{color:#fff;font-weight:600;white-space:nowrap}
.r2-util-l .r2-ic{width:15px;height:15px;color:var(--r2-gold)}
.r2-util-note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.r2-util-r{display:flex;align-items:center;gap:16px;white-space:nowrap}
.r2-util-r a{color:var(--r2-on-dark-mid)!important;text-decoration:none}
.r2-util-r a:hover{color:#fff!important}

/* ---------- H02 Header ---------- */
#header.r2-header{position:sticky;top:0;left:auto;right:auto;z-index:997;height:auto;padding:0;background:rgba(255,255,255,.97);-webkit-backdrop-filter:saturate(1.3) blur(10px);backdrop-filter:saturate(1.3) blur(10px);border-bottom:1px solid var(--r2-line);box-shadow:none;transition:box-shadow .2s}
#header.r2-header.header-scrolled{top:0;box-shadow:0 8px 24px -18px rgba(0,0,0,.35)}
.r2-head-row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px}
.r2-logo{display:flex;align-items:center;flex:none}
.r2-logo img{max-height:48px;width:auto;display:block}
.r2-head-act{display:flex;align-items:center;gap:10px}
.r2-burger{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--r2-line-2);background:var(--r2-surface);align-items:center;justify-content:center;color:var(--r2-ink);cursor:pointer}
.r2-burger .r2-ic{width:22px;height:22px}
.r2-nav{border-top:1px solid var(--r2-line)}
.r2-nav>.r2-wrap>ul{display:flex;align-items:stretch;gap:2px;margin:0;padding:0;list-style:none}
.r2-nav li{position:relative;list-style:none}
.r2-nav-top{display:flex;align-items:center;gap:6px;height:48px;padding:0 14px;border:0;background:none;font-family:var(--r2-f-display);font-size:14px;font-weight:600;color:var(--r2-ink-mid)!important;text-decoration:none!important;cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent}
.r2-nav li:first-child>.r2-nav-top{padding-left:0}
.r2-nav-top .r2-ic{width:14px;height:14px;transition:transform .15s}
.r2-nav-top:hover,.r2-nav li.is-open>.r2-nav-top,.r2-nav li.is-aktif>.r2-nav-top{color:var(--r2-ink)!important}
.r2-nav li.is-aktif>.r2-nav-top{border-bottom-color:var(--r2-red)}
.r2-drop{position:absolute;left:0;top:100%;z-index:20;min-width:260px;margin:0;padding:8px;list-style:none;background:var(--r2-surface);border:1px solid var(--r2-line);border-radius:var(--r2-r-md);box-shadow:0 22px 44px -24px rgba(20,24,40,.45);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s,transform .15s,visibility .15s}
.r2-nav li:last-child>.r2-drop,.r2-nav li:nth-last-child(2)>.r2-drop{left:auto;right:0}
.r2-nav li.is-open>.r2-drop{opacity:1;visibility:visible;transform:none}
@media (hover:hover) and (min-width:1200px){.r2-nav li:hover>.r2-drop{opacity:1;visibility:visible;transform:none}.r2-nav li:hover>.r2-nav-top .r2-ic{transform:rotate(180deg)}}
.r2-drop a{display:block;padding:9px 12px;border-radius:8px;font-size:14px;color:var(--r2-ink-mid)!important;text-decoration:none!important}
.r2-drop a:hover{background:var(--r2-paper);color:var(--r2-ink)!important}
.r2-drop a.is-aktif{color:var(--r2-red)!important;font-weight:600}
.r2-drawer-act{display:none}

@media (max-width:1199px){
  .r2-burger{display:inline-flex}
  .r2-head-act .r2-btn-line{display:none}
  .r2-nav{display:none;position:fixed;inset:0 0 0 auto;z-index:1000;width:min(380px,100%);overflow-y:auto;background:var(--r2-surface);border:0;box-shadow:-20px 0 40px -20px rgba(0,0,0,.4)}
  .r2-nav.is-open{display:block}
  .r2-nav>.r2-wrap{padding:16px 20px 28px}
  .r2-nav>.r2-wrap>ul{flex-direction:column;gap:0}
  .r2-nav li{border-bottom:1px solid var(--r2-line)}
  .r2-nav-top{width:100%;justify-content:space-between;height:auto;padding:15px 0!important;font-size:16px;border:0}
  .r2-nav li.is-open>.r2-nav-top .r2-ic{transform:rotate(180deg)}
  .r2-drop{position:static;display:none;min-width:0;padding:0 0 12px;border:0;box-shadow:none;opacity:1;visibility:visible;transform:none}
  .r2-nav li.is-open>.r2-drop{display:block}
  .r2-drop a{padding:9px 12px;font-size:15px}
  .r2-drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
  .r2-drawer-head img{max-height:40px}
  .r2-drawer-act{display:grid;gap:10px;margin-top:20px}
  .r2-drawer-act .r2-btn{width:100%}
  .r2-scrim{position:fixed;inset:0;z-index:999;background:rgba(10,12,20,.45)}
}
@media (min-width:1200px){.r2-drawer-head,.r2-scrim{display:none!important}}
@media (max-width:767px){
  .r2-util-note,.r2-util-r .r2-hide-sm{display:none}
  .r2-head-row{min-height:62px}
  .r2-logo img{max-height:40px}
  .r2-head-act .r2-btn{min-height:40px;padding:0 15px;font-size:13.5px}
}

/* ---------- Pola section ---------- */
.r2-sec{padding-block:88px}
.r2-sec-sm{padding-block:64px}
.r2-white{background:var(--r2-surface)}
.r2-dark{background:var(--r2-navy);color:var(--r2-on-dark)}
.r2-eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0;font-family:var(--r2-f-display);font-size:12.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--r2-red)}
.r2-eyebrow::before{content:"";width:22px;height:2px;border-radius:2px;background:currentColor}
.r2-dark .r2-eyebrow{color:var(--r2-gold)}
.r2-h2{margin:14px 0 0;font-family:var(--r2-f-display);font-weight:700;font-size:clamp(28px,3.4vw,42px);line-height:1.12;letter-spacing:-.025em;color:var(--r2-ink);text-wrap:balance}
.r2-dark .r2-h2{color:#fff}
.r2-lead{margin:16px 0 0;font-size:17px;line-height:1.7;color:var(--r2-ink-mid);max-width:62ch}
.r2-dark .r2-lead{color:var(--r2-on-dark-mid)}
.r2-head{display:grid;grid-template-columns:1.05fr .95fr;gap:16px 64px;align-items:end;margin-bottom:44px}
.r2-head .r2-lead{margin:0}
.r2-head.solo{grid-template-columns:1fr;max-width:820px}
.r2-head-act2{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start}
.r2-note{display:flex;gap:12px;align-items:flex-start;margin-top:28px;padding:16px 20px;border-radius:var(--r2-r-md);background:var(--r2-gold-soft);color:#5C4312;font-size:14.5px;line-height:1.6}
.r2-note .r2-ic{color:var(--r2-gold-ink);margin-top:2px}
.r2-note strong{color:var(--r2-ink)}
.r2-dark .r2-note{background:rgba(255,255,255,.06);color:var(--r2-on-dark-mid)}
.r2-dark .r2-note strong{color:#fff}

/* ---------- H03 Hero ---------- */
.r2-hero{padding-block:64px 80px;background:var(--r2-surface);border-bottom:1px solid var(--r2-line)}
.r2-hero .r2-wrap{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center}
.r2-hero .r2-wrap>*{min-width:0}
.r2-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 13px 6px 10px;border-radius:999px;background:var(--r2-red-soft);color:var(--r2-red-deep);font-family:var(--r2-f-display);font-size:12.5px;font-weight:600}
.r2-pill .r2-ic{width:15px;height:15px}
.r2-h1{margin:20px 0 0;font-family:var(--r2-f-display);font-weight:700;font-size:clamp(36px,4.6vw,58px);line-height:1.06;letter-spacing:-.035em;color:var(--r2-ink);text-wrap:balance}
.r2-h1 em{font-style:normal;color:var(--r2-red)}
.r2-hero-sub{margin:20px 0 0;font-size:18px;line-height:1.7;color:var(--r2-ink-mid);max-width:54ch}
.r2-hero-act{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.r2-hero-act .r2-btn{min-height:52px;padding:0 24px;font-size:15px}
.r2-hero-meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin:26px 0 0;padding:0;list-style:none;font-size:14px;color:var(--r2-ink-soft)}
.r2-hero-meta li{display:flex;align-items:center;gap:7px}
.r2-hero-meta .r2-ic{width:16px;height:16px;color:var(--r2-ok)}
.r2-hero-fig{position:relative;margin:0}
.r2-hero-fig::before{content:"";position:absolute;inset:28px -16px -16px 28px;border-radius:26px;background:var(--r2-red-soft)}
.r2-hero-fig img{position:relative;display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;border-radius:24px;box-shadow:0 30px 60px -34px rgba(20,24,40,.5)}
.r2-hero-cap{position:absolute;left:16px;right:16px;bottom:16px;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:16px;background:rgba(255,255,255,.96);font-size:13.5px;line-height:1.45;color:var(--r2-ink-mid);box-shadow:0 12px 26px -16px rgba(0,0,0,.4)}
.r2-hero-cap strong{display:block;font-family:var(--r2-f-display);font-size:14px;color:var(--r2-ink)}
.r2-hero-cap img{position:static;width:42px;height:42px;aspect-ratio:auto;flex:none;border-radius:50%;box-shadow:none;background:var(--r2-gold-soft);object-fit:cover;object-position:top}

/* ---------- H04 Audience gateway ---------- */
.r2-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.r2-path{display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:var(--r2-r-lg);background:var(--r2-surface);border:1px solid var(--r2-line);color:inherit!important;text-decoration:none!important;transition:border-color .15s,transform .15s,box-shadow .15s}
.r2-path:hover{border-color:var(--r2-red-line);transform:translateY(-2px);box-shadow:0 18px 36px -26px rgba(20,24,40,.45)}
.r2-path-ic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:var(--r2-red-soft);color:var(--r2-red)}
.r2-path h3{margin:6px 0 0;font-family:var(--r2-f-display);font-size:18px;font-weight:700;color:var(--r2-ink)}
.r2-path p{margin:0;font-size:14.5px;line-height:1.6;color:var(--r2-ink-mid)}
.r2-path .r2-link{margin-top:auto;padding-top:6px}

/* ---------- H05 Ecosystem flow ---------- */
.r2-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:0;padding:0;list-style:none;counter-reset:fl}
.r2-flow li{position:relative;counter-increment:fl;padding:24px 20px 22px;border-top:3px solid var(--r2-line-2)}
.r2-flow li::before{content:"0" counter(fl);display:block;font-family:var(--r2-f-display);font-size:13px;font-weight:700;color:var(--r2-red);letter-spacing:.06em}
.r2-flow li:not(:last-child)::after{content:"";position:absolute;right:-6px;top:-8px;width:13px;height:13px;border-top:3px solid var(--r2-line-2);border-right:3px solid var(--r2-line-2);transform:rotate(45deg);background:var(--r2-paper)}
.r2-white .r2-flow li:not(:last-child)::after{background:var(--r2-surface)}
.r2-flow strong{display:block;margin-top:10px;font-family:var(--r2-f-display);font-size:18px;color:var(--r2-ink)}
.r2-flow span{display:block;margin-top:6px;font-size:14px;line-height:1.55;color:var(--r2-ink-mid)}
.r2-roles-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:36px}
.r2-role{padding:18px;border-radius:var(--r2-r-md);background:var(--r2-paper);border:1px solid var(--r2-line)}
.r2-role b{display:block;font-family:var(--r2-f-display);font-size:16px;color:var(--r2-ink)}
.r2-role span{display:block;margin-top:6px;font-size:13.5px;line-height:1.5;color:var(--r2-ink-mid)}

/* ---------- H06 Pulse ---------- */
.r2-pulse{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.r2-metric{padding:22px;border-radius:var(--r2-r-lg);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.r2-white .r2-metric,.r2-page .r2-metric{background:var(--r2-paper);border-color:var(--r2-line)}
.r2-metric-k{font-size:13.5px;font-weight:600;color:var(--r2-on-dark-mid)}
.r2-metric-v{margin-top:14px;font-family:var(--r2-f-display);font-size:15px;font-weight:600;color:var(--r2-gold)}
.r2-metric-v small{display:block;margin-top:4px;font-family:var(--r2-f-body);font-size:12.5px;font-weight:400;color:var(--r2-on-dark-soft)}
.r2-page .r2-metric-k{color:var(--r2-ink-mid)}
.r2-page .r2-metric-v{color:var(--r2-gold-ink)}
.r2-page .r2-metric-v small{color:var(--r2-ink-soft)}
.r2-pulse-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;font-size:13.5px;color:var(--r2-on-dark-soft)}

/* ---------- H07 Journey ---------- */
.r2-journey{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 24px;margin:0;padding:0;list-style:none;counter-reset:jr}
.r2-journey li{counter-increment:jr;position:relative;padding-top:18px;border-top:2px solid var(--r2-line-2)}
.r2-journey li::before{content:counter(jr);display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--r2-ink);color:#fff;font-family:var(--r2-f-display);font-size:14px;font-weight:700}
.r2-journey li.gate{border-top-color:var(--r2-gold)}
.r2-journey li.gate::before{background:var(--r2-gold);color:var(--r2-ink)}
.r2-journey li:first-child{border-top-color:var(--r2-red)}
.r2-journey li:first-child::before{background:var(--r2-red)}
.r2-journey b{display:block;margin-top:14px;font-family:var(--r2-f-display);font-size:16px;color:var(--r2-ink)}
.r2-journey span{display:block;margin-top:5px;font-size:14px;line-height:1.55;color:var(--r2-ink-mid)}
.r2-legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:26px;font-size:13.5px;color:var(--r2-ink-soft)}
.r2-legend i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:7px;vertical-align:-1px}

/* ---------- H08 Katalog dua zona ---------- */
.r2-zones{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.r2-zone{display:flex;flex-direction:column;border-radius:var(--r2-r-lg);overflow:hidden;border:1px solid var(--r2-line);background:var(--r2-surface)}
.r2-zone-head{padding:24px 26px 20px}
.r2-zone-tag{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;font-family:var(--r2-f-display);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.r2-zone.resmi{border-top:5px solid var(--r2-red)}
.r2-zone.resmi .r2-zone-tag{background:var(--r2-red-soft);color:var(--r2-red-deep)}
.r2-zone.mitra{border-top:5px dashed #0F6B70;background:#FBFDFD}
.r2-zone.mitra .r2-zone-tag{background:#E2F1F1;color:#0B5458}
.r2-zone h3{margin:14px 0 0;font-family:var(--r2-f-display);font-size:22px;font-weight:700;color:var(--r2-ink)}
.r2-zone p{margin:8px 0 0;font-size:14.5px;line-height:1.6;color:var(--r2-ink-mid)}
.r2-zone-list{display:grid;gap:10px;margin:0;padding:0 26px 8px;list-style:none}
.r2-zone-empty{margin:0 26px 8px;padding:16px;border-radius:var(--r2-r-sm);background:var(--r2-paper);font-size:14px;color:var(--r2-ink-soft)}
.r2-zone-foot{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-top:auto;padding:18px 26px 24px}
.r2-zone-foot small{font-size:12.5px;color:var(--r2-ink-soft)}
.r2-mini{display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center;padding:10px;border-radius:var(--r2-r-sm);border:1px solid var(--r2-line);background:var(--r2-surface);color:inherit!important;text-decoration:none!important}
.r2-mini:hover{border-color:var(--r2-line-2)}
.r2-mini img{width:72px;height:56px;object-fit:cover;border-radius:8px;background:var(--r2-paper)}
.r2-mini b{display:block;font-family:var(--r2-f-display);font-size:14.5px;line-height:1.3;color:var(--r2-ink)}
.r2-mini span{display:block;margin-top:3px;font-size:12.5px;color:var(--r2-ink-soft)}

/* ---------- Badge status katalog ---------- */
.r2-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-family:var(--r2-f-display);font-size:11.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;line-height:1.3}
.r2-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.st-buka{background:var(--r2-ok-soft);color:var(--r2-ok)}
.st-segera{background:#FBF0D9;color:#8A5B00}
.st-bangun{background:#E3EDF9;color:#1B579B}
.st-serah{background:#ECEEF2;color:#455066}
.st-verif{background:#EFE8F8;color:#5E3592}
.st-arsip{background:#EDEDED;color:#5B5B5B}
.st-mitra{background:#E2F1F1;color:#0B5458;border:1px dashed #6DAAAD}

/* ---------- H09 CLM / H10 Governance ---------- */
.r2-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.r2-split>*{min-width:0}
.r2-checks{display:grid;gap:12px;margin:24px 0 0;padding:0;list-style:none}
.r2-checks li{display:flex;gap:12px;font-size:15.5px;line-height:1.55;color:var(--r2-ink-mid)}
.r2-checks .r2-ic{width:20px;height:20px;color:var(--r2-ok);margin-top:1px;stroke-width:2.2}
.r2-dark .r2-checks li{color:var(--r2-on-dark-mid)}
.r2-dark .r2-checks .r2-ic{color:var(--r2-gold)}
.r2-gov{display:grid;gap:10px}
.r2-gov-row{display:grid;grid-template-columns:150px 1fr auto;gap:16px;align-items:center;padding:16px 18px;border-radius:var(--r2-r-md);background:var(--r2-surface);border:1px solid var(--r2-line)}
.r2-gov-row b{font-family:var(--r2-f-display);font-size:15px;color:var(--r2-ink)}
.r2-gov-row span{font-size:14px;line-height:1.5;color:var(--r2-ink-mid)}
.r2-gate{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--r2-gold-soft);color:var(--r2-gold-ink);font-size:12px;font-weight:700;white-space:nowrap}
.r2-gate .r2-ic{width:13px;height:13px}

/* ---------- H11/H14 Kartu informasi ---------- */
.r2-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.r2-card{display:flex;flex-direction:column;border-radius:var(--r2-r-lg);overflow:hidden;background:var(--r2-surface);border:1px solid var(--r2-line);color:inherit!important;text-decoration:none!important;transition:border-color .15s,box-shadow .15s}
.r2-card:hover{border-color:var(--r2-line-2);box-shadow:0 18px 36px -28px rgba(20,24,40,.5)}
.r2-card-img{aspect-ratio:16/10;background:var(--r2-paper);overflow:hidden}
.r2-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.r2-card-body{display:flex;flex-direction:column;gap:8px;padding:18px 20px 20px;flex:1}
.r2-card-meta{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12.5px;color:var(--r2-ink-soft)}
.r2-card h3{margin:0;font-family:var(--r2-f-display);font-size:17px;font-weight:700;line-height:1.35;color:var(--r2-ink)}
.r2-card p{margin:0;font-size:14px;line-height:1.6;color:var(--r2-ink-mid)}
.r2-card .r2-link{margin-top:auto;padding-top:6px}
.r2-evid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.r2-evid-item{padding:20px;border-radius:var(--r2-r-md);background:var(--r2-surface);border:1px solid var(--r2-line)}
.r2-evid-item b{display:block;font-family:var(--r2-f-display);font-size:15.5px;color:var(--r2-ink)}
.r2-evid-item span{display:block;margin-top:6px;font-size:13.5px;line-height:1.55;color:var(--r2-ink-mid)}

/* ---------- H12/H13 Edukasi & karakter ---------- */
.r2-topics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.r2-topic{display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:var(--r2-r-md);background:var(--r2-surface);border:1px solid var(--r2-line);color:inherit!important;text-decoration:none!important}
.r2-topic:hover{border-color:var(--r2-red-line)}
.r2-topic b{font-family:var(--r2-f-display);font-size:15.5px;color:var(--r2-ink)}
.r2-topic span{font-size:13.5px;line-height:1.5;color:var(--r2-ink-mid)}
.r2-chars{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.r2-char{display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:end;padding:26px 26px 0;border-radius:var(--r2-r-lg);background:var(--r2-surface);border:1px solid var(--r2-line);overflow:hidden}
.r2-char img{width:150px;height:200px;object-fit:cover;object-position:top;display:block}
.r2-char-body{padding-bottom:26px}
.r2-char h3{margin:0;font-family:var(--r2-f-display);font-size:22px;font-weight:700;color:var(--r2-ink)}
.r2-char p{margin:8px 0 0;font-size:14.5px;line-height:1.6;color:var(--r2-ink-mid)}
.r2-char small{display:block;margin-top:10px;font-size:12.5px;line-height:1.5;color:var(--r2-ink-soft)}
.r2-char .r2-btn{margin-top:16px}

/* ---------- H15 Layanan ---------- */
.r2-serv{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.r2-serv a{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:var(--r2-r-lg);background:var(--r2-surface);border:1px solid var(--r2-line);color:var(--r2-ink)!important;text-decoration:none!important;transition:border-color .15s,transform .15s}
.r2-serv a:hover{border-color:var(--r2-red-line);transform:translateY(-2px)}
.r2-serv .r2-ic{width:26px;height:26px;color:var(--r2-red)}
.r2-serv b{font-family:var(--r2-f-display);font-size:17px}
.r2-serv span{font-size:13.5px;line-height:1.55;color:var(--r2-ink-mid)}

/* ---------- Halaman generik v2 ---------- */
.r2-ph{padding:40px 0 34px;background:var(--r2-surface);border-bottom:1px solid var(--r2-line)}
.r2-crumb{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0;list-style:none;font-size:13.5px;color:var(--r2-ink-soft)}
.r2-crumb li+li::before{content:"/";margin-right:6px;color:var(--r2-line-2)}
.r2-crumb a{color:var(--r2-ink-soft)!important;text-decoration:none}
.r2-crumb a:hover{color:var(--r2-red)!important}
.r2-ph h1{margin:0;font-family:var(--r2-f-display);font-weight:700;font-size:clamp(30px,3.8vw,44px);line-height:1.1;letter-spacing:-.03em;color:var(--r2-ink);text-wrap:balance}
.r2-ph p{margin:14px 0 0;font-size:17.5px;line-height:1.65;color:var(--r2-ink-mid);max-width:66ch}
.r2-draft{display:inline-flex;align-items:center;gap:6px;margin-top:16px;padding:4px 11px;border-radius:999px;background:var(--r2-gold-soft);color:var(--r2-gold-ink);font-size:12.5px;font-weight:600}
.r2-page{padding-block:48px 80px}
.r2-page-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start}
.r2-page-grid.full{grid-template-columns:minmax(0,1fr)}
.r2-prose{font-size:16.5px;line-height:1.75;color:var(--r2-ink-mid);max-width:72ch}
.r2-prose p{margin:0 0 18px}
.r2-prose strong{color:var(--r2-ink)}
.r2-prose a{color:var(--r2-red);text-decoration:underline;text-underline-offset:3px}
.r2-prose h2,.r2-prose h3,.r2-prose h4,.r2-prose h5{font-family:var(--r2-f-display);color:var(--r2-ink);margin:30px 0 12px;letter-spacing:-.015em}
.r2-prose ul,.r2-prose ol{margin:0 0 20px;padding-left:22px}
.r2-prose li{margin-bottom:6px}
.r2-prose ul.v2-check,.r2-prose ul.v2-roles{padding:0;list-style:none}
.r2-prose ul.v2-check li,.r2-prose ul.v2-roles li{position:relative;padding:12px 0 12px 34px;margin:0;border-bottom:1px solid var(--r2-line)}
.r2-prose ul.v2-check li::before{content:"";position:absolute;left:4px;top:17px;width:14px;height:8px;border-left:2.5px solid var(--r2-ok);border-bottom:2.5px solid var(--r2-ok);transform:rotate(-45deg)}
.r2-prose ul.v2-roles li::before{content:"";position:absolute;left:6px;top:21px;width:10px;height:10px;border-radius:3px;background:var(--r2-red)}
.r2-prose ol.v2-steps{margin:8px 0 26px;padding:0;list-style:none;counter-reset:st}
.r2-prose ol.v2-steps li{counter-increment:st;position:relative;margin:0;padding:0 0 22px 58px}
.r2-prose ol.v2-steps li::before{content:counter(st);position:absolute;left:0;top:0;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--r2-ink);color:#fff;font-family:var(--r2-f-display);font-size:14px;font-weight:700}
.r2-prose ol.v2-steps li::after{content:"";position:absolute;left:18px;top:42px;bottom:4px;width:2px;background:var(--r2-line-2)}
.r2-prose ol.v2-steps li:last-child::after{display:none}
.r2-prose ol.v2-steps li:first-child::before{background:var(--r2-red)}
.r2-prose ol.v2-steps strong{display:block;padding-top:7px;font-family:var(--r2-f-display);font-size:17px}
.r2-prose ol.v2-steps span{display:block;margin-top:4px;font-size:15px;line-height:1.6}
.r2-prose dl.v2-glossary{display:grid;grid-template-columns:170px 1fr;gap:0;margin:0 0 20px}
.r2-prose dl.v2-glossary dt,.r2-prose dl.v2-glossary dd{margin:0;padding:13px 0;border-bottom:1px solid var(--r2-line)}
.r2-prose dl.v2-glossary dt{font-family:var(--r2-f-display);font-weight:700;color:var(--r2-ink)}
.r2-act{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.r2-aside{position:sticky;top:150px;display:grid;gap:16px}
.r2-aside-box{padding:20px;border-radius:var(--r2-r-lg);background:var(--r2-surface);border:1px solid var(--r2-line)}
.r2-aside-box h2{margin:0 0 10px;font-family:var(--r2-f-display);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--r2-ink-soft)}
.r2-aside-box ul{margin:0;padding:0;list-style:none}
.r2-aside-box li a{display:block;padding:8px 0;font-size:14.5px;color:var(--r2-ink-mid)!important;text-decoration:none;border-bottom:1px solid var(--r2-line)}
.r2-aside-box li:last-child a{border-bottom:0}
.r2-aside-box li a:hover,.r2-aside-box li a.is-aktif{color:var(--r2-red)!important}
.r2-aside-help{padding:20px;border-radius:var(--r2-r-lg);background:var(--r2-navy);color:var(--r2-on-dark-mid);font-size:14px;line-height:1.55}
.r2-aside-help b{display:block;margin-bottom:6px;font-family:var(--r2-f-display);font-size:16px;color:#fff}
.r2-aside-help .r2-btn{width:100%;margin-top:14px}
.r2-hubgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}
.r2-hubgrid a{display:flex;flex-direction:column;gap:6px;padding:20px;border-radius:var(--r2-r-md);background:var(--r2-surface);border:1px solid var(--r2-line);color:inherit!important;text-decoration:none!important}
.r2-hubgrid a:hover{border-color:var(--r2-red-line)}
.r2-hubgrid b{font-family:var(--r2-f-display);font-size:16px;color:var(--r2-ink)}
.r2-hubgrid span{font-size:13.5px;line-height:1.5;color:var(--r2-ink-mid)}
.r2-faq .accordion-item{border:0;border-bottom:1px solid var(--r2-line);background:transparent}
.r2-faq .accordion-button{padding:18px 0;background:transparent;box-shadow:none;font-family:var(--r2-f-display);font-size:16.5px;font-weight:600;color:var(--r2-ink)}
.r2-faq .accordion-button:not(.collapsed){color:var(--r2-red)}
.r2-faq .accordion-body{padding:0 0 18px;font-size:15.5px;line-height:1.7;color:var(--r2-ink-mid)}

/* ---------- Formulir ---------- */
.r2-form{margin-top:12px;padding:32px;border-radius:var(--r2-r-lg);background:var(--r2-surface);border:1px solid var(--r2-line);box-shadow:0 30px 60px -48px rgba(20,24,40,.6);scroll-margin-top:150px}
.r2-form h2{margin:0;font-family:var(--r2-f-display);font-size:22px;font-weight:700;color:var(--r2-ink)}
.r2-form-sub{margin:6px 0 0;font-size:14.5px;color:var(--r2-ink-soft)}
.r2-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 18px;margin-top:24px}
.r2-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.r2-field.wide{grid-column:1/-1}
.r2-field label,.r2-field .lbl{font-size:14px;font-weight:600;color:var(--r2-ink)}
.r2-field .opt{font-weight:400;color:var(--r2-ink-soft)}
.r2-input{width:100%;min-height:48px;padding:11px 14px;border:1.5px solid var(--r2-line-2);border-radius:var(--r2-r-sm);background:var(--r2-paper);font-family:var(--r2-f-body);font-size:15.5px;color:var(--r2-ink);transition:border-color .15s,background-color .15s,box-shadow .15s}
.r2-input:focus{outline:none;border-color:var(--r2-ink);background:#fff;box-shadow:0 0 0 4px rgba(23,27,38,.08)}
select.r2-input{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236A7080' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center}
textarea.r2-input{min-height:110px;resize:vertical}
.r2-radios{display:flex;flex-wrap:wrap;gap:10px}
.r2-radio{display:flex;align-items:center;gap:9px;padding:11px 14px;border:1.5px solid var(--r2-line-2);border-radius:var(--r2-r-sm);background:var(--r2-paper);font-size:14.5px;color:var(--r2-ink-mid);cursor:pointer}
.r2-radio input{width:17px;height:17px;margin:0;accent-color:var(--r2-red)}
.r2-radio:has(input:checked){border-color:var(--r2-ink);background:#fff;color:var(--r2-ink)}
.r2-help{font-size:12.5px;line-height:1.5;color:var(--r2-ink-soft)}
.r2-err{font-size:12.5px;font-weight:600;color:#B42318}
.r2-field.bad .r2-input,.r2-field.bad .r2-radio{border-color:#D9534F}
.r2-privacy{margin-top:24px;padding:18px 20px;border-radius:var(--r2-r-md);background:var(--r2-paper);border:1px solid var(--r2-line);font-size:13.5px;line-height:1.6;color:var(--r2-ink-mid)}
.r2-privacy b{color:var(--r2-ink)}
.r2-privacy dl{display:grid;grid-template-columns:130px 1fr;gap:6px 14px;margin:10px 0 0}
.r2-privacy dt{font-weight:600;color:var(--r2-ink)}
.r2-privacy dd{margin:0}
.r2-consent{display:flex;gap:12px;align-items:flex-start;margin-top:18px;font-size:14px;line-height:1.55;color:var(--r2-ink-mid);cursor:pointer}
.r2-consent input{width:18px;height:18px;margin-top:2px;flex:none;accent-color:var(--r2-red)}
.r2-form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:22px}
.r2-form-foot small{font-size:13px;color:var(--r2-ink-soft)}
.r2-alert{margin-top:20px;padding:14px 16px;border-radius:var(--r2-r-sm);background:#FDECEA;border:1px solid #F3B9B2;font-size:14px;color:#8A1F14}
.r2-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.r2-done{max-width:720px;margin:0 auto;padding:40px;border-radius:var(--r2-r-lg);background:var(--r2-surface);border:1px solid var(--r2-line);text-align:center}
.r2-done-ok{width:68px;height:68px;margin:0 auto;border-radius:50%;display:grid;place-items:center;background:var(--r2-ok-soft);color:var(--r2-ok)}
.r2-done-ok .r2-ic{width:32px;height:32px;stroke-width:2.4}
.r2-done h1{margin:20px 0 0;font-family:var(--r2-f-display);font-size:28px;font-weight:700;color:var(--r2-ink)}
.r2-nomor{display:inline-block;margin-top:18px;padding:12px 22px;border-radius:12px;background:var(--r2-paper);border:1.5px dashed var(--r2-line-2);font-family:var(--r2-f-display);font-size:22px;font-weight:700;letter-spacing:.03em;color:var(--r2-ink)}
.r2-done ol{margin:24px auto 0;padding:0 0 0 20px;max-width:520px;text-align:left;font-size:15px;line-height:1.65;color:var(--r2-ink-mid)}
.r2-done ol li{margin-bottom:8px}

/* ---------- Gerbang daftar & portal ---------- */
.r2-gate-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.r2-gate-card{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:var(--r2-r-lg);background:var(--r2-surface);border:1px solid var(--r2-line);color:inherit!important;text-decoration:none!important;transition:border-color .15s,transform .15s}
.r2-gate-card:hover{border-color:var(--r2-red-line);transform:translateY(-2px)}
.r2-gate-card.utama{grid-column:span 2;background:var(--r2-navy);border-color:var(--r2-navy);color:#fff!important}
.r2-gate-card.utama b{color:#fff}
.r2-gate-card.utama span{color:var(--r2-on-dark-mid)}
.r2-gate-card b{font-family:var(--r2-f-display);font-size:17px;color:var(--r2-ink)}
.r2-gate-card span{font-size:13.5px;line-height:1.55;color:var(--r2-ink-mid)}
.r2-gate-card .r2-link{margin-top:auto;padding-top:6px}
.r2-gate-card.utama .r2-link{color:var(--r2-gold)!important}
.r2-portal{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.r2-portal-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.r2-portal-list li{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:14px 16px;border-radius:var(--r2-r-md);background:var(--r2-surface);border:1px solid var(--r2-line)}
.r2-portal-list b{display:block;font-family:var(--r2-f-display);font-size:15px;color:var(--r2-ink)}
.r2-portal-list span{display:block;margin-top:2px;font-size:13px;color:var(--r2-ink-soft)}
.r2-tag{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.r2-tag.on{background:var(--r2-ok-soft);color:var(--r2-ok)}
.r2-tag.off{background:#EEF0F3;color:#5B6475}

/* ---------- Katalog ---------- */
.r2-zone-banner{display:flex;gap:14px;align-items:flex-start;margin-bottom:26px;padding:16px 20px;border-radius:var(--r2-r-md);font-size:14.5px;line-height:1.6}
.r2-zone-banner.resmi{background:var(--r2-red-soft);color:#6E1D16}
.r2-zone-banner.mitra{background:#E2F1F1;color:#0B4A4E;border:1px dashed #6DAAAD}
.r2-zone-banner b{color:inherit}
.r2-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.r2-filter a{padding:8px 15px;border-radius:999px;border:1px solid var(--r2-line-2);background:var(--r2-surface);font-size:14px;font-weight:600;color:var(--r2-ink-mid)!important;text-decoration:none!important}
.r2-filter a.on{background:var(--r2-ink);border-color:var(--r2-ink);color:#fff!important}
.r2-items{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.r2-item{display:flex;flex-direction:column;border-radius:var(--r2-r-lg);overflow:hidden;background:var(--r2-surface);border:1px solid var(--r2-line)}
.r2-item.mitra{border-style:dashed;border-color:#9CC3C5}
.r2-item-img{position:relative;aspect-ratio:4/3;background:var(--r2-paper);overflow:hidden}
.r2-item-img img{width:100%;height:100%;object-fit:cover;display:block}
.r2-item-img .r2-badge{position:absolute;left:12px;top:12px;box-shadow:0 4px 12px -6px rgba(0,0,0,.4)}
.r2-item-body{display:flex;flex-direction:column;gap:8px;padding:18px 20px 20px;flex:1}
.r2-item-zone{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--r2-ink-soft)}
.r2-item h3{margin:0;font-family:var(--r2-f-display);font-size:17px;font-weight:700;line-height:1.35;color:var(--r2-ink)}
.r2-item-meta{display:grid;gap:4px;font-size:13.5px;color:var(--r2-ink-mid)}
.r2-item-meta span{display:flex;gap:7px;align-items:flex-start}
.r2-item-meta .r2-ic{width:15px;height:15px;margin-top:2px;color:var(--r2-ink-soft)}
.r2-item-upd{font-size:12.5px;color:var(--r2-ink-soft)}
.r2-item-act{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:auto;padding-top:10px}
.r2-empty{padding:40px;border-radius:var(--r2-r-lg);background:var(--r2-surface);border:1px dashed var(--r2-line-2);text-align:center;color:var(--r2-ink-soft);font-size:15px}
.r2-empty b{display:block;margin-bottom:6px;font-family:var(--r2-f-display);font-size:18px;color:var(--r2-ink)}
.r2-detail{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:start}
.r2-detail-img{border-radius:var(--r2-r-lg);overflow:hidden;background:var(--r2-paper);border:1px solid var(--r2-line)}
.r2-detail-img img{width:100%;height:auto;display:block}
.r2-facts{margin:0;border-radius:var(--r2-r-lg);overflow:hidden;border:1px solid var(--r2-line);background:var(--r2-surface)}
.r2-facts div{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:13px 18px;border-bottom:1px solid var(--r2-line)}
.r2-facts div:last-child{border-bottom:0}
.r2-facts dt{font-size:13.5px;font-weight:600;color:var(--r2-ink-soft)}
.r2-facts dd{margin:0;font-size:14.5px;color:var(--r2-ink)}
.r2-pending{color:var(--r2-gold-ink);font-weight:600}
.r2-compare{width:100%;border-collapse:separate;border-spacing:0;background:var(--r2-surface);border:1px solid var(--r2-line);border-radius:var(--r2-r-lg);overflow:hidden;font-size:14.5px}
.r2-compare th,.r2-compare td{padding:13px 16px;border-bottom:1px solid var(--r2-line);text-align:left;vertical-align:top}
.r2-compare th{width:180px;background:var(--r2-paper);font-weight:600;color:var(--r2-ink-mid)}
.r2-compare tr:last-child td,.r2-compare tr:last-child th{border-bottom:0}
.r2-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.r2-pick{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 24px}
.r2-pick label{display:flex;align-items:center;gap:8px;padding:9px 13px;border-radius:var(--r2-r-sm);border:1px solid var(--r2-line-2);background:var(--r2-surface);font-size:14px;cursor:pointer}
.r2-pick input{accent-color:var(--r2-red)}

/* ---------- Daftar berita/pengumuman ---------- */
.r2-list{display:grid;gap:12px;margin-top:28px}
.r2-list a{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center;padding:12px;border-radius:var(--r2-r-md);background:var(--r2-surface);border:1px solid var(--r2-line);color:inherit!important;text-decoration:none!important}
.r2-list img{width:120px;height:80px;object-fit:cover;border-radius:10px;background:var(--r2-paper)}
.r2-list b{display:block;font-family:var(--r2-f-display);font-size:16px;line-height:1.35;color:var(--r2-ink)}
.r2-list span{display:block;margin-top:4px;font-size:13px;color:var(--r2-ink-soft)}

/* ---------- H16 Footer ---------- */
#footer.r2-footer{padding:0;background:var(--r2-navy);color:var(--r2-on-dark-soft);font-size:14px}
.r2-foot-statement{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;padding-block:40px;border-bottom:1px solid rgba(255,255,255,.08)}
.r2-foot-logo{display:grid;place-items:center;width:84px;height:84px;border-radius:20px;background:#fff}
.r2-foot-logo img{max-width:64px;max-height:64px}
.r2-foot-statement h2{margin:0;font-family:var(--r2-f-display);font-size:18px;font-weight:700;color:#fff}
.r2-foot-statement p{margin:8px 0 0;font-size:14.5px;line-height:1.65;color:var(--r2-on-dark-mid);max-width:80ch}
.r2-foot-grid{display:grid;grid-template-columns:repeat(4,1fr) 1.2fr;gap:28px;padding-block:44px}
.r2-foot-grid h3{margin:0 0 14px;font-family:var(--r2-f-display);font-size:12.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#fff}
.r2-foot-grid ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.r2-foot-grid a{color:var(--r2-on-dark-soft)!important;text-decoration:none}
.r2-foot-grid a:hover{color:#fff!important}
.r2-foot-social{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.r2-foot-social a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);color:#fff!important}
.r2-foot-social a:hover{background:var(--r2-red)}
.r2-foot-warn{display:flex;gap:12px;align-items:flex-start;padding:16px 20px;border-radius:var(--r2-r-md);background:rgba(201,154,59,.12);border:1px solid rgba(201,154,59,.3);color:#EAD9B2;font-size:13.5px;line-height:1.6}
.r2-foot-warn .r2-ic{color:var(--r2-gold);margin-top:1px}
.r2-foot-warn b{color:#fff}
.r2-foot-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding-block:22px 28px;margin-top:28px;border-top:1px solid rgba(255,255,255,.08);font-size:13px}
.r2-foot-legal nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.r2-foot-legal a{color:var(--r2-on-dark-mid)!important;text-decoration:none}
.r2-foot-legal a:hover{color:#fff!important}
.r2-ver{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;color:var(--r2-on-dark-soft)}

/* ---------- Responsif ---------- */
@media (max-width:1199px){
  .r2-flow{grid-template-columns:repeat(3,1fr)}
  .r2-flow li:nth-child(3)::after{display:none}
  .r2-roles-grid{grid-template-columns:repeat(3,1fr)}
  .r2-topics,.r2-serv,.r2-gate-grid{grid-template-columns:repeat(2,1fr)}
  .r2-foot-grid{grid-template-columns:repeat(3,1fr)}
  .r2-aside{top:100px}
}
@media (max-width:991px){
  .r2-sec{padding-block:72px}
  .r2-hero .r2-wrap,.r2-head,.r2-split,.r2-portal,.r2-detail{grid-template-columns:1fr}
  .r2-hero .r2-wrap{gap:36px}
  .r2-hero-fig{order:-1;max-width:620px}
  .r2-hero-fig img{aspect-ratio:16/10}
  .r2-head{margin-bottom:32px}
  .r2-paths,.r2-cards,.r2-items,.r2-evid,.r2-hubgrid{grid-template-columns:repeat(2,1fr)}
  .r2-zones,.r2-chars{grid-template-columns:1fr}
  .r2-pulse,.r2-journey{grid-template-columns:repeat(2,1fr)}
  .r2-page-grid{grid-template-columns:1fr}
  .r2-aside{position:static}
  .r2-foot-statement{grid-template-columns:auto 1fr}
  .r2-foot-statement .r2-btn{grid-column:1/-1;justify-self:start}
  .r2-foot-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  :root{--r2-gutter:18px}
  .r2-sec{padding-block:60px}
  .r2-hero{padding-block:24px 56px}
  .r2-hero-act .r2-btn{width:100%}
  .r2-paths,.r2-cards,.r2-items,.r2-evid,.r2-hubgrid,.r2-topics,.r2-serv,.r2-gate-grid,.r2-pulse,.r2-roles-grid{grid-template-columns:1fr}
  .r2-gate-card.utama{grid-column:auto}
  .r2-flow{grid-template-columns:1fr}
  .r2-flow li::after{display:none}
  .r2-journey{grid-template-columns:1fr;gap:0}
  .r2-journey li{display:grid;grid-template-columns:36px 1fr;column-gap:14px;padding:0 0 20px;border-top:0}
  .r2-journey li::before{grid-row:1/span 2}
  .r2-journey b{margin-top:6px}
  .r2-journey b,.r2-journey span{grid-column:2}
  .r2-gov-row{grid-template-columns:1fr;gap:6px}
  .r2-char{grid-template-columns:96px 1fr;gap:16px;padding:20px 20px 0}
  .r2-char img{width:96px;height:140px}
  .r2-char-body{padding-bottom:20px}
  .r2-fields{grid-template-columns:1fr}
  .r2-form{padding:22px 18px}
  .r2-privacy dl,.r2-facts div,.r2-prose dl.v2-glossary{grid-template-columns:1fr}
  .r2-prose dl.v2-glossary dt{padding-bottom:0;border-bottom:0}
  .r2-list a{grid-template-columns:84px 1fr;gap:12px}
  .r2-list img{width:84px;height:64px}
  .r2-foot-grid{grid-template-columns:1fr}
  .r2-foot-statement{grid-template-columns:1fr}
  .r2-done{padding:28px 18px}
  .r2-nomor{font-size:18px}
}
@media (prefers-reduced-motion:reduce){
  .r2-btn,.r2-path,.r2-gate-card,.r2-drop,.r2-link .r2-ic{transition:none!important}
  .r2-btn:hover,.r2-path:hover,.r2-gate-card:hover{transform:none}
}
.r2-gate-grid.r2-gate-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:991px){.r2-gate-grid.r2-gate-3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.r2-gate-grid.r2-gate-3{grid-template-columns:1fr}}
.r2-mini .r2-badge{display:inline-flex;margin-top:4px}
.r2-util-l{flex:1 1 auto}
.r2-util-l strong{overflow:hidden;text-overflow:ellipsis}
@media (max-width:420px){.r2-util-l strong{font-size:12.5px}.r2-util-r{gap:10px;font-size:12.5px}}
/* Laci menu HP: header (berisi laci) dinaikkan di atas lapisan gelap dan widget mengambang. */
.r2-scrim{z-index:10000}
html.r2-laci #header.r2-header{z-index:10001}
@media (max-width:1199px){#header.r2-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff}}
/* Tombol Login Member (aplikasi member terpisah). Di HP cukup tampil di laci menu. */
.r2-head-member .r2-ic,.r2-drawer-member .r2-ic{width:15px;height:15px}
@media (max-width:767px){.r2-head-member{display:none!important}}
/* Halaman Kontak: kartu email/telepon bisa diklik */
.contact .kontak-kartu{display:block;height:calc(100% - 1.5rem);color:inherit;text-decoration:none;transition:box-shadow .15s,transform .15s}
.contact .kontak-kartu:hover{transform:translateY(-2px);box-shadow:0 14px 30px -18px rgba(20,24,40,.45)}
.contact .kontak-kartu p{word-break:break-word}
.contact .kontak-aksi{display:inline-flex;align-items:center;gap:6px;margin-top:4px;padding:6px 14px;border-radius:999px;background:var(--r2-red);color:#fff;font-family:var(--r2-f-display);font-size:13px;font-weight:600}
.contact .kontak-tautan a{color:var(--r2-red);font-weight:600;text-decoration:underline;text-underline-offset:3px}
/* Footer: logo putih transparan (khusus footer), lebih besar, dipisah garis dari pernyataan */
#footer.r2-footer .r2-foot-statement{grid-template-columns:auto 1fr auto;gap:32px;padding-block:44px}
#footer.r2-footer .r2-foot-logo{display:block;width:240px;height:auto;padding-right:32px;border-radius:0;background:none;border-right:1px solid rgba(255,255,255,.14)}
#footer.r2-footer .r2-foot-logo img{display:block;width:100%;height:auto;max-width:none;max-height:none}
@media (max-width:991px){
  #footer.r2-footer .r2-foot-statement{grid-template-columns:1fr;gap:20px}
  #footer.r2-footer .r2-foot-logo{width:210px;padding:0 0 20px;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
  #footer.r2-footer .r2-foot-statement .r2-btn{grid-column:auto;justify-self:start}
}
/* ---------- Portal Peserta (P4) ---------- */
.r2-tahap{display:grid;gap:0;margin:16px 0 0;padding:0;list-style:none;counter-reset:th;border:1px solid var(--r2-line);border-radius:var(--r2-r-lg);background:var(--r2-surface);overflow:hidden}
.r2-tahap li{counter-increment:th;display:grid;grid-template-columns:34px 1fr auto;column-gap:14px;align-items:center;padding:13px 18px;border-bottom:1px solid var(--r2-line)}
.r2-tahap li:last-child{border-bottom:0}
.r2-tahap li::before{content:counter(th);grid-row:1/span 2;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#EEF0F3;color:var(--r2-ink-soft);font-family:var(--r2-f-display);font-size:13px;font-weight:700}
.r2-tahap b{font-family:var(--r2-f-display);font-size:15px;color:var(--r2-ink)}
.r2-tahap span{grid-column:2;font-size:13px;color:var(--r2-ink-soft)}
.r2-tahap em{grid-column:3;grid-row:1/span 2;font-style:normal;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:#EEF0F3;color:var(--r2-ink-soft);white-space:nowrap}
.r2-tahap li.ok::before{content:"✓";background:var(--r2-ok);color:#fff}
.r2-tahap li.ok em{background:var(--r2-ok-soft);color:var(--r2-ok)}
.r2-tahap li.kini{background:var(--r2-red-soft)}
.r2-tahap li.kini::before{background:var(--r2-red);color:#fff}
.r2-tahap li.kini em{background:var(--r2-red);color:#fff}
.r2-daftar-saya{display:grid;gap:14px;margin-top:16px}
@media (max-width:640px){.r2-tahap li{grid-template-columns:30px 1fr;padding:12px 14px}.r2-tahap em{grid-column:2;grid-row:auto;justify-self:start;margin-top:6px}}
