/* =====================================================================
   Program (Ko-Kurikuler) Unggulan — hero orbit, tipografi editorial, kartu & modal.
   Huruf: Playfair Display (judul), DM Sans (teks & label), Sora tidak dipakai di sini.
   Dimuat hanya oleh program-unggulan.php.
   ===================================================================== */
.pu{
  --pu-ease:cubic-bezier(.2,.8,.2,1);
  --pu-serif:'Playfair Display',Georgia,'Times New Roman',serif;
  --pu-sans:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --pu-emas:#e9c46a;--pu-emas-terang:#f6e3a1;--pu-emas-tua:#8a6a12;
  --pu-zamrud:#075a3b;--pu-zamrud-gelap:#042d1f;
  --pu-kartu:#fff;--pu-garis:#e4ece6;--pu-judul:#075a3b;--pu-teks:#46594f;--pu-redup:#6b7f74;
  font-family:var(--pu-sans);
}
:root[data-tema=gelap] .pu{--pu-kartu:#0e2a20;--pu-garis:#1d4a38;--pu-judul:#f6e3a1;--pu-teks:#c3d6cb;--pu-redup:#8fae9f;--pu-emas-tua:#e9c46a}

/* ===================== HERO ===================== */
.pu-hero{
  position:relative;isolation:isolate;overflow:hidden;color:#fff;
  padding:2.2rem 1.5rem 0;
  background:
    radial-gradient(900px 560px at 88% 12%,#e9c46a26,transparent 62%),
    radial-gradient(700px 520px at 4% 96%,#34d39922,transparent 64%),
    linear-gradient(145deg,#021f15 0,#042d1f 34%,#075a3b 78%,#0b7049 118%);
}
.pu-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;z-index:3;background:linear-gradient(90deg,transparent,#e9c46a99 20%,#f6e3a1 50%,#e9c46a99 80%,transparent)}
.pu-latar{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.pu-pola{position:absolute;inset:0;opacity:.55;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cg fill='none' stroke='%23e9c46a' stroke-opacity='.16' stroke-width='1'%3E%3Cpath d='M48 6l9.6 17.2 17.2-9.6-9.6 17.2L90 48 73.2 57.6l9.6 17.2-17.2-9.6L56 90 48 73.2 40 90l-9.6-25.2-17.2 9.6 9.6-17.2L6 48l16.8-9.6-9.6-17.2 17.2 9.6z'/%3E%3Ccircle cx='48' cy='48' r='13'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image:radial-gradient(ellipse 70% 90% at 78% 40%,#000 0,transparent 72%);mask-image:radial-gradient(ellipse 70% 90% at 78% 40%,#000 0,transparent 72%)}
.pu-orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5;animation:puMengambang 14s ease-in-out infinite alternate}
.pu-orb.o1{width:420px;height:420px;right:-90px;top:-80px;background:#e9c46a55}
.pu-orb.o2{width:360px;height:360px;left:-120px;bottom:60px;background:#10b98133;animation-duration:18s;animation-delay:-6s}
@keyframes puMengambang{to{transform:translate3d(-40px,36px,0) scale(1.12)}}

.pu-isi{position:relative;max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:2.5rem 3rem;align-items:center;padding:1.2rem 0 3.6rem}
.pu-teks>*{animation:puMasuk .8s var(--pu-ease) both}
.pu-teks>:nth-child(2){animation-delay:.07s}.pu-teks>:nth-child(3){animation-delay:.14s}.pu-teks>:nth-child(4){animation-delay:.24s}.pu-teks>:nth-child(5){animation-delay:.32s}.pu-teks>:nth-child(6){animation-delay:.4s}
@keyframes puMasuk{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* Jejak halaman */
.pu-krum{position:static;inset:auto;transform:none;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.7rem;font:500 .82rem/1.4 var(--pu-sans);letter-spacing:.02em;color:#a9d9c0}
.pu-krum a{color:#a9d9c0;transition:color .25s}.pu-krum a:hover{color:var(--pu-emas)}
.pu-krum b{color:#fff;font-weight:600}.pu-krum span{opacity:.45}

/* Label */
.pu-label{margin:0 0 1.25rem}
.pu-label span{display:inline-flex;align-items:center;gap:.65rem;padding:.5rem 1.05rem .5rem .9rem;border:1px solid #e9c46a55;border-radius:999px;background:#e9c46a14;font:700 .72rem/1 var(--pu-sans);letter-spacing:.26em;text-transform:uppercase;color:var(--pu-emas-terang);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.pu-label span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--pu-emas);box-shadow:0 0 0 0 #e9c46a99;animation:puDenyut 2.4s ease-out infinite}
@keyframes puDenyut{70%{box-shadow:0 0 0 10px #e9c46a00}100%{box-shadow:0 0 0 0 #e9c46a00}}

/* Judul */
.pu-hero h1{margin:0 0 1.5rem;font-family:var(--pu-serif);font-weight:700;line-height:.98;letter-spacing:-.025em;color:#fff;text-wrap:balance}
.pu-h-1{display:block;font-size:clamp(2.7rem,5.4vw,4.9rem);text-shadow:0 2px 30px #0006}
.pu-h-ko{display:flex;align-items:center;gap:1rem;margin:.55rem 0 .15rem;font:italic 500 clamp(1.05rem,1.9vw,1.55rem)/1.2 var(--pu-serif);letter-spacing:.05em;color:#b9e2cc;white-space:nowrap}
.pu-h-ko::before{content:"";flex:none;width:clamp(2rem,5vw,3.6rem);height:1px;background:linear-gradient(90deg,transparent,var(--pu-emas))}
.pu-h-ko::after{content:"";flex:1;max-width:7rem;height:1px;background:linear-gradient(90deg,#e9c46a99,transparent)}
.pu-h-2{display:block}
.pu-h-2 em{display:inline-block;padding:0 .1em .1em 0;font-style:italic;font-weight:600;font-size:clamp(3.5rem,8.6vw,7.4rem);line-height:1;letter-spacing:-.035em;
  background:linear-gradient(100deg,#fff1bf 0,#f6e3a1 22%,#e9c46a 48%,#c9a24b 70%,#f6e3a1 100%);background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  animation:puKilau 7s ease-in-out infinite alternate;filter:drop-shadow(0 8px 28px #e9c46a40)}
@keyframes puKilau{to{background-position:100% 0}}

.pu-motto{margin:0 0 .9rem;max-width:30ch;font:italic 500 clamp(1.15rem,2vw,1.6rem)/1.45 var(--pu-serif);color:#f6e3a1;padding-left:1.1rem;border-left:2px solid #e9c46a;text-wrap:balance}
.pu-yayasan{margin:0;font:600 .76rem/1.5 var(--pu-sans);letter-spacing:.24em;text-transform:uppercase;color:#8fc9ad}

/* Statistik */
.pu-stat{display:flex;flex-wrap:wrap;gap:1.2rem 0;list-style:none;margin:2.2rem 0 0;padding:0}
.pu-stat li{display:grid;gap:.45rem;padding:.2rem 2.2rem .2rem 1.2rem;border-left:1px solid #e9c46a77}
.pu-stat b{font:600 clamp(2.6rem,4vw,3.6rem)/1 var(--pu-serif);letter-spacing:-.02em;font-variant-numeric:lining-nums tabular-nums;background:linear-gradient(180deg,#fff1bf,#e9c46a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.pu-stat span{font:700 .7rem/1 var(--pu-sans);letter-spacing:.22em;text-transform:uppercase;color:#a9d9c0}

/* ---------- Orbit 19 program ---------- */
.pu-panggung{display:grid;justify-items:center;gap:1.5rem;animation:puMasuk 1s var(--pu-ease) .2s both}
.pu-orbit{--s:clamp(300px,36vw,480px);--d:clamp(31px,calc(var(--s) * .088),42px);position:relative;width:var(--s);height:var(--s);flex:none}
.pu-cincin{position:absolute;left:50%;top:50%;border-radius:50%;translate:-50% -50%;pointer-events:none}
.pu-cincin.c1{width:calc(var(--s) * .88);height:calc(var(--s) * .88);border:1px solid #e9c46a55;box-shadow:0 0 70px -10px #e9c46a30,inset 0 0 60px -20px #e9c46a30}
.pu-cincin.c2{width:calc(var(--s) * .62);height:calc(var(--s) * .62);border:1px dashed #e9c46a66;animation:puPutar 120s linear infinite reverse}
.pu-cincin.c3{width:calc(var(--s) * .98);height:calc(var(--s) * .98);border:1px solid #ffffff12}
.pu-putar{position:absolute;inset:0;margin:0;padding:0;list-style:none;animation:puPutar 110s linear infinite}
@keyframes puPutar{to{transform:rotate(360deg)}}
.pu-putar li{position:absolute;left:50%;top:50%;width:0;height:0;transform:rotate(var(--a)) translateY(calc(var(--s) * -.44))}
.pu-simpul{position:absolute;left:0;top:0;width:var(--d);height:var(--d);margin:calc(var(--d) / -2) 0 0 calc(var(--d) / -2);display:block;border-radius:50%;animation:puBalik 110s linear infinite;outline-offset:4px}
@keyframes puBalik{from{transform:rotate(calc(var(--a) * -1))}to{transform:rotate(calc(var(--a) * -1 - 360deg))}}
.pu-simpul span{position:absolute;inset:0;display:grid;place-items:center;border-radius:50%;
  font:700 calc(var(--d) * .3)/1 var(--pu-sans);letter-spacing:.02em;color:#fff;font-variant-numeric:tabular-nums;
  background:radial-gradient(circle at 32% 28%,color-mix(in srgb,var(--c) 70%,#fff) 0,var(--c) 58%,color-mix(in srgb,var(--c) 70%,#000) 100%);
  border:1.5px solid #ffffff55;box-shadow:0 8px 20px -6px #000a,0 0 0 4px color-mix(in srgb,var(--c) 22%,transparent);
  text-shadow:0 1px 2px #0006;transition:transform .35s var(--pu-ease),box-shadow .35s}
.pu-simpul:hover span,.pu-simpul:focus-visible span{transform:scale(1.42);box-shadow:0 14px 28px -8px #000b,0 0 0 6px color-mix(in srgb,var(--c) 40%,transparent);z-index:5}
.pu-orbit.jeda .pu-putar,.pu-orbit.jeda .pu-simpul,.pu-orbit.jeda .pu-cincin.c2{animation-play-state:paused}

.pu-inti{position:absolute;left:50%;top:50%;translate:-50% -50%;width:calc(var(--s) * .48);height:calc(var(--s) * .48);border-radius:50%;display:grid;align-content:center;justify-items:center;gap:.15rem;text-align:center;padding:0 1.2rem;
  background:radial-gradient(circle at 50% 30%,#0e8a5d 0,#075a3b 55%,#032419 100%);border:1px solid #e9c46a66;
  box-shadow:0 30px 60px -24px #000d,inset 0 0 0 7px #ffffff0a,inset 0 0 40px #e9c46a1f}
.pu-inti img{width:calc(var(--s) * .13);height:calc(var(--s) * .13);object-fit:contain;padding:calc(var(--s) * .014);border-radius:50%;background:#fff;box-shadow:0 6px 16px -4px #0009,0 0 0 3px #e9c46a66;margin-bottom:.2rem}
.pu-inti-no{font:600 clamp(2.4rem,calc(var(--s) * .115),3.8rem)/1 var(--pu-serif);letter-spacing:-.02em;font-variant-numeric:lining-nums;color:var(--pu-emas-terang)}
.pu-inti-ket{max-width:15ch;font:700 .66rem/1.4 var(--pu-sans);letter-spacing:.16em;text-transform:uppercase;color:#bfe6d1;min-height:2.8em;display:grid;align-items:start;text-wrap:balance}
.pu-orbit.jeda .pu-inti-ket{letter-spacing:.04em;text-transform:none;font:600 .78rem/1.35 var(--pu-sans);color:#fff}

/* Legenda kategori */
.pu-legenda{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;margin:0;padding:0;list-style:none;max-width:540px}
.pu-legenda a{display:inline-flex;align-items:center;gap:.5rem;padding:.38rem .5rem .38rem .75rem;border:1px solid #ffffff24;border-radius:999px;background:#ffffff0d;font:600 .76rem/1 var(--pu-sans);color:#dcefe5;transition:border-color .25s,background .25s,transform .25s}
.pu-legenda a:hover{border-color:var(--c);background:color-mix(in srgb,var(--c) 22%,transparent);transform:translateY(-2px)}
.pu-legenda i{width:9px;height:9px;border-radius:50%;background:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 30%,transparent)}
.pu-legenda b{display:inline-grid;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .3rem;border-radius:999px;background:#ffffff1c;font-size:.68rem;font-weight:700}

/* Bilah navigasi Program */
.pu-nav{position:relative;max-width:1240px;margin:0 auto;padding:1.1rem 0 1.3rem;border-top:1px solid #ffffff1c}
.pu-nav-jalur{display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:none;justify-content:center;padding:.2rem}
.pu-nav-jalur::-webkit-scrollbar{display:none}
.pu-nav-jalur{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%)}
.pu-nav a{flex:none;display:inline-flex;align-items:center;gap:.6rem;padding:.6rem 1.05rem;border:1px solid #ffffff26;border-radius:999px;background:#ffffff0d;font:600 .86rem/1 var(--pu-sans);color:#d7ebe0;white-space:nowrap;transition:transform .3s var(--pu-ease),background .3s,border-color .3s,color .3s}
.pu-nav a b{font:700 .68rem/1 var(--pu-sans);letter-spacing:.08em;color:var(--pu-emas)}
.pu-nav a:hover{transform:translateY(-2px);border-color:#e9c46a99;background:#e9c46a1c;color:#fff}
.pu-nav a.aktif{background:linear-gradient(135deg,#f6e3a1,#e9c46a);border-color:transparent;color:#3a2c00;box-shadow:0 12px 26px -14px #e9c46a}
.pu-nav a.aktif b{color:#7a5a10}

/* ===================== DAFTAR PROGRAM ===================== */
.pu-bagian{max-width:1200px;margin:0 auto;padding:4.6rem 1.5rem 3.2rem;scroll-margin-top:1rem}
.pu-kepala{text-align:center;margin:0 auto 2.4rem;max-width:760px}
.pu-eyebrow{display:inline-flex;align-items:center;gap:.9rem;margin:0 0 1rem;font:700 .74rem/1 var(--pu-sans);letter-spacing:.28em;text-transform:uppercase;color:var(--pu-emas-tua)}
.pu-eyebrow::before,.pu-eyebrow::after{content:"";width:2.2rem;height:1px;background:currentColor;opacity:.6}
.pu-kepala h2{margin:0 0 1rem;font:600 clamp(2rem,4.2vw,3.3rem)/1.12 var(--pu-serif);letter-spacing:-.02em;color:var(--pu-judul);text-wrap:balance}
.pu-kepala h2 em,.pu-penutup h2 em{font-style:italic;font-weight:500;background:linear-gradient(100deg,#b8891e,#e9c46a 55%,#b8891e);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;padding-right:.08em}
:root[data-tema=gelap] .pu-kepala h2 em{background:linear-gradient(100deg,#f6e3a1,#e9c46a);-webkit-background-clip:text;background-clip:text}
.pu-pengantar{margin:0 auto;max-width:56ch;font:400 1.06rem/1.8 var(--pu-sans);color:var(--pu-teks);text-wrap:pretty}

/* Saring kategori */
.pu-saring{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem;margin:0 auto 2.6rem}
.pu-saring a{display:inline-flex;align-items:center;gap:.55rem;padding:.55rem .6rem .55rem 1.05rem;border:1px solid var(--pu-garis);border-radius:999px;background:var(--pu-kartu);font:600 .88rem/1 var(--pu-sans);color:var(--pu-judul);transition:transform .3s var(--pu-ease),border-color .3s,background .3s,color .3s,box-shadow .3s}
.pu-saring a[style]::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 22%,transparent)}
.pu-saring a b{display:inline-grid;place-items:center;min-width:1.55rem;height:1.55rem;padding:0 .4rem;border-radius:999px;background:color-mix(in srgb,var(--pu-emas) 26%,transparent);font:700 .72rem/1 var(--pu-sans);color:var(--pu-emas-tua)}
.pu-saring a:hover{transform:translateY(-2px);border-color:var(--pu-emas);box-shadow:0 12px 22px -16px #075a3b99}
.pu-saring a.aktif{background:var(--pu-zamrud);border-color:var(--pu-zamrud);color:var(--pu-emas-terang);box-shadow:0 14px 26px -14px var(--pu-zamrud)}
.pu-saring a.aktif b{background:#ffffff26;color:#fff}
:root[data-tema=gelap] .pu-saring a.aktif{background:#e9c46a;border-color:#e9c46a;color:#3a2c00}
:root[data-tema=gelap] .pu-saring a.aktif b{background:#0003;color:#3a2c00}

/* Kartu */
.pu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:1.5rem}
.js .pu-kartu:not(.pu-in){opacity:0}
.pu-kartu.pu-in{animation:puMuncul .8s var(--pu-ease) calc(var(--i) * 80ms) backwards}
@keyframes puMuncul{from{opacity:0;transform:translateY(34px) scale(.97)}}
.pu-kartu{position:relative;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;padding:2.1rem 1.8rem 1.6rem;border:1px solid var(--pu-garis);border-radius:24px;background:var(--pu-kartu);
  box-shadow:0 1px 0 #fff inset,0 18px 40px -34px #075a3b88;transition:transform .5s var(--pu-ease),box-shadow .5s,border-color .5s;scroll-margin-top:6rem}
.pu-kartu::before{content:"";position:absolute;left:0;top:0;height:4px;width:44%;background:linear-gradient(90deg,var(--c),color-mix(in srgb,var(--c) 40%,transparent));border-radius:0 0 6px 0;transition:width .6s var(--pu-ease)}
.pu-kartu::after{content:"";position:absolute;right:-60px;bottom:-70px;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--c) 20%,transparent),transparent 68%);opacity:0;transition:opacity .5s;pointer-events:none}
.pu-kartu:hover,.pu-kartu:focus-within{transform:translateY(-8px);border-color:color-mix(in srgb,var(--c) 55%,var(--pu-garis));box-shadow:0 34px 56px -34px color-mix(in srgb,var(--c) 70%,#042d1f)}
.pu-kartu:hover::before,.pu-kartu:focus-within::before{width:100%}
.pu-kartu:hover::after{opacity:1}
.pu-kartu.sorot{animation:puSorot 1.6s ease 2}
@keyframes puSorot{50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--c) 40%,transparent)}}

.pu-no{position:absolute;right:1.3rem;top:.7rem;font:600 4.6rem/1 var(--pu-serif);letter-spacing:-.04em;font-variant-numeric:lining-nums;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--c) 55%,transparent);opacity:.55;transition:opacity .4s,transform .6s var(--pu-ease);pointer-events:none;user-select:none}
.pu-kartu:hover .pu-no{opacity:1;transform:translateY(-4px) scale(1.06)}

.pu-tag{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 1.1rem;padding:.4rem .85rem .4rem .7rem;border-radius:999px;background:color-mix(in srgb,var(--c) 13%,transparent);font:700 .68rem/1 var(--pu-sans);letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--c) 62%,#1a2a22)}
:root[data-tema=gelap] .pu-tag{color:color-mix(in srgb,var(--c) 55%,#fff)}
.pu-tag i{flex:none;width:7px;height:7px;border-radius:50%;background:var(--c)}
.pu-kartu h3{margin:0 0 .85rem;max-width:calc(100% - 3rem);font:600 clamp(1.28rem,1.9vw,1.5rem)/1.28 var(--pu-serif);letter-spacing:-.012em;color:var(--pu-judul);text-wrap:balance}
.pu-kartu p{margin:0 0 1.5rem;font:400 .96rem/1.75 var(--pu-sans);color:var(--pu-teks);display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;text-wrap:pretty}
.pu-lanjut{margin-top:auto;display:inline-flex;align-items:center;gap:.55rem;padding:0;border:0;background:none;font:700 .84rem/1 var(--pu-sans);letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--c) 70%,#10261c);cursor:pointer}
:root[data-tema=gelap] .pu-lanjut{color:color-mix(in srgb,var(--c) 50%,#fff)}
.pu-lanjut::after{content:"";position:absolute;inset:0;border-radius:inherit}
.pu-lanjut svg{transition:transform .4s var(--pu-ease)}
.pu-kartu:hover .pu-lanjut svg{transform:translateX(6px)}
.pu-lanjut:focus-visible{outline:0}
.pu-kartu:has(.pu-lanjut:focus-visible){outline:3px solid color-mix(in srgb,var(--c) 70%,#fff);outline-offset:3px}

/* ===================== PENUTUP ===================== */
.pu-penutup{max-width:1200px;margin:1.5rem auto 4.5rem;padding:0 1.5rem}
.pu-penutup-isi{position:relative;isolation:isolate;overflow:hidden;text-align:center;padding:clamp(3rem,6vw,5rem) clamp(1.5rem,5vw,4rem);border-radius:34px;color:#fff;
  background:radial-gradient(600px 360px at 85% 0,#e9c46a2e,transparent 65%),radial-gradient(520px 340px at 0 100%,#34d3992b,transparent 65%),linear-gradient(145deg,#042d1f,#075a3b 70%,#0b7049);box-shadow:0 44px 70px -40px #042d1fcc}
.pu-penutup-isi::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cg fill='none' stroke='%23e9c46a' stroke-opacity='.15'%3E%3Cpath d='M48 6l9.6 17.2 17.2-9.6-9.6 17.2L90 48 73.2 57.6l9.6 17.2-17.2-9.6L56 90 48 73.2 40 90l-9.6-25.2-17.2 9.6 9.6-17.2L6 48l16.8-9.6-9.6-17.2 17.2 9.6z'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask-image:radial-gradient(ellipse at center,#000 0,transparent 75%);mask-image:radial-gradient(ellipse at center,#000 0,transparent 75%)}
.pu-penutup .pu-eyebrow{color:var(--pu-emas)}
.pu-penutup h2{margin:0 auto 1.3rem;max-width:20ch;font:600 clamp(2rem,4.6vw,3.5rem)/1.12 var(--pu-serif);letter-spacing:-.02em;color:#fff;text-wrap:balance}
.pu-penutup h2 em{background:linear-gradient(100deg,#fff1bf,#e9c46a 60%,#f6e3a1);-webkit-background-clip:text;background-clip:text}
.pu-penutup p:not(.pu-eyebrow){margin:0 auto;max-width:62ch;font:400 1.08rem/1.85 var(--pu-sans);color:#d3e7dc;text-wrap:pretty}
.pu-aksi{display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem;margin-top:2.2rem}
.pu-aksi a{display:inline-flex;align-items:center;padding:.95rem 1.9rem;border-radius:999px;font:700 .95rem/1 var(--pu-sans);letter-spacing:.02em;transition:transform .3s var(--pu-ease),background .3s,border-color .3s,box-shadow .3s}
.pu-aksi a.utama{background:linear-gradient(135deg,#f6e3a1,#e9c46a);color:#3a2c00;box-shadow:0 16px 30px -14px #e9c46a}
.pu-aksi a.utama:hover{transform:translateY(-3px);box-shadow:0 22px 36px -14px #e9c46a}
.pu-aksi a.garis{border:1.5px solid #ffffff66;color:#fff}
.pu-aksi a.garis:hover{transform:translateY(-3px);border-color:var(--pu-emas);background:#ffffff14}

/* ===================== MODAL ===================== */
.pu-modal{--c:#c9a24b;position:fixed;inset:0;margin:auto;width:min(600px,92vw);max-height:90vh;overflow:auto;padding:2.4rem 2.4rem 1.8rem;border:0;border-radius:28px;background:var(--pu-kartu);color:var(--pu-teks);box-shadow:0 50px 90px -30px #000c;border-top:6px solid var(--c)}
.pu-modal::backdrop{background:rgba(3,30,21,.72);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}
.pu-modal[open]{animation:puModal .45s var(--pu-ease)}
@keyframes puModal{from{opacity:0;transform:translateY(24px) scale(.96)}}
.pu-modal-tutup{position:absolute;top:1rem;right:1rem;width:2.3rem;height:2.3rem;border:0;border-radius:50%;background:color-mix(in srgb,var(--pu-judul) 9%,transparent);color:var(--pu-judul);font-size:1rem;cursor:pointer;transition:background .25s,transform .25s}
.pu-modal-tutup:hover{background:color-mix(in srgb,var(--pu-judul) 18%,transparent);transform:rotate(90deg)}
.pu-modal-kepala{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem}
.pu-modal-no{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,#0e8f63,#042d1f);font:600 1.7rem/1 var(--pu-serif);color:var(--pu-emas-terang);font-variant-numeric:lining-nums;box-shadow:0 14px 26px -12px #042d1faa,inset 0 0 0 1px #e9c46a55}
.pu-modal .pu-tag{margin:0}
.pu-modal h2{margin:0 0 1rem;padding-right:2rem;font:600 clamp(1.5rem,3.4vw,2.05rem)/1.22 var(--pu-serif);letter-spacing:-.015em;color:var(--pu-judul);text-wrap:balance}
.pu-modal p{margin:0;font:400 1.06rem/1.85 var(--pu-sans);color:var(--pu-teks);text-wrap:pretty}
.pu-modal-nav{display:flex;justify-content:space-between;gap:.8rem;margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--pu-garis)}
.pu-modal-nav button{padding:.7rem 1.2rem;border:1px solid var(--pu-garis);border-radius:999px;background:transparent;font:700 .84rem/1 var(--pu-sans);color:var(--pu-judul);cursor:pointer;transition:background .25s,border-color .25s,transform .25s}
.pu-modal-nav button:hover:not(:disabled){border-color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent);transform:translateY(-2px)}
.pu-modal-nav button:disabled{opacity:.35;cursor:default}

/* ===================== RESPONSIF ===================== */
@media (max-width:1020px){
  .pu-isi{grid-template-columns:1fr;gap:2.6rem;padding-bottom:3rem}
  .pu-orbit{--s:min(88vw,430px)}
  .pu-nav-jalur{justify-content:flex-start}
}
@media (max-width:640px){
  .pu-hero{padding:1.6rem 1.1rem 0}
  .pu-krum{margin-bottom:1.3rem;font-size:.76rem}
  .pu-h-ko{white-space:normal}
  .pu-motto{max-width:none}
  .pu-stat li{padding-right:1.4rem}
  .pu-bagian{padding:3.2rem 1.1rem 2rem}
  .pu-saring{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;margin-inline:-1.1rem;padding:.2rem 1.1rem .6rem;scrollbar-width:none}
  .pu-saring::-webkit-scrollbar{display:none}
  .pu-saring a{flex:none;white-space:nowrap}
  .pu-grid{gap:1.1rem}
  .pu-kartu{padding:1.8rem 1.4rem 1.4rem;border-radius:20px}
  .pu-penutup{padding:0 1rem;margin-bottom:3rem}
  .pu-penutup-isi{border-radius:26px}
  .pu-modal{padding:2rem 1.4rem 1.4rem;border-radius:22px}
}
@media (prefers-reduced-motion:reduce){
  .pu *,.pu *::before,.pu *::after{animation:none!important;transition:none!important}
  .js .pu-kartu:not(.pu-in){opacity:1}
}
