:root{
  --green:#07583f;
  --green-2:#006f54;
  --mint:#d8fff0;
  --mint-2:#effaf6;
  --yellow:#ffb02e;
  --dark:#0d1830;
  --muted:#738098;
  --border:#dfe7ef;
  --soft:#f5f8fb;
  --white:#fff;
  --shadow:0 18px 45px rgba(9,41,55,.11);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter, Poppins, Arial, sans-serif;color:var(--dark);background:#fff;font-weight:600;line-height:1.6}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1220px, calc(100% - 42px));margin:0 auto}
.topbar{background:var(--green);color:#fff;font-size:14px;font-weight:800;letter-spacing:.2px}
.topbar .inner{height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.langs{display:flex;gap:8px;align-items:center}
.langs button{border:0;border-radius:18px;background:rgba(255,255,255,.18);color:#fff;font-weight:900;padding:6px 10px;cursor:pointer}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);box-shadow:0 3px 16px rgba(0,0,0,.05)}
.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:14px;min-width:280px}
.logo-box{width:54px;height:54px;border:1px solid var(--border);border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 8px 20px rgba(7,36,52,.08)}
.logo-box img{width:100%;height:100%;object-fit:cover}
.brand-name{font-weight:900;color:var(--green);font-size:19px;line-height:1.1;letter-spacing:.2px}.brand-loc{font-size:12px;font-weight:900;color:#163b34}.nav{display:flex;align-items:center;gap:3px;font-size:13px;font-weight:900;color:#12372f}.nav>li{list-style:none;position:relative}.nav a,.nav button{font:inherit;border:0;background:transparent;padding:11px 12px;border-radius:22px;cursor:pointer;color:#12372f;display:flex;align-items:center;gap:7px}.nav>li:hover>a,.nav a.active,.nav>li.is-open>button{background:var(--mint);color:var(--green-2)}.caret{font-size:9px;line-height:1}.dropdown{position:absolute;top:44px;left:0;min-width:205px;background:#fff;border-radius:18px;padding:10px;box-shadow:0 16px 48px rgba(12,45,60,.15);opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s;border:1px solid rgba(0,0,0,.04)}.nav>li.is-open .dropdown{opacity:1;visibility:visible;transform:translateY(0)}.dropdown a{display:block;padding:12px 13px;border-radius:12px;white-space:nowrap}.dropdown a:hover{background:#f1fff9}.nav>li>button .caret{transition:transform .2s ease}.nav>li.is-open>button .caret{transform:rotate(180deg)}.nav>li>button:focus-visible{outline:3px solid rgba(0,156,122,.25);outline-offset:2px}.mobile-toggle{display:none;background:var(--green);color:#fff;border:0;border-radius:12px;padding:10px 12px;font-weight:900}
.hero{min-height:760px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;background:#0b1b25}.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .7s ease}.hero-slide.active{opacity:1}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,9,18,.64),rgba(4,9,18,.38),rgba(4,9,18,.50));z-index:1}.hero-content{position:relative;z-index:2;width:min(900px, calc(100% - 30px));padding-top:20px}.badge{display:inline-flex;align-items:center;justify-content:center;background:#f6ffdb;color:var(--green-2);font-weight:1000;text-transform:uppercase;border-radius:999px;padding:9px 18px;letter-spacing:.9px;font-size:13px;margin-bottom:24px}.hero h1{font-size:clamp(38px,5vw,74px);line-height:1.08;margin:0 0 10px;font-weight:1000;letter-spacing:.2px;text-shadow:0 3px 20px rgba(0,0,0,.15)}.hero p{font-size:clamp(18px,2vw,23px);margin:0 0 26px;font-weight:700}.btn-row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;padding:0 22px;font-weight:1000;border:1px solid transparent}.btn-primary{background:var(--yellow);color:#2d2007}.btn-outline{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.55);color:#fff;backdrop-filter:blur(6px)}.section{padding:72px 0}.section-soft{background:linear-gradient(180deg,#f1fbf7,#fff)}.section-gray{background:#f5f8fc}.section-title{text-align:center;margin:0 0 46px;font-size:clamp(30px,3vw,44px);line-height:1.1;color:var(--green);font-weight:1000}.smart{background:linear-gradient(180deg,#eaf9f7 0,#fff9f0 100%);padding-top:26px}.smart-title{text-align:center;color:var(--green);font-size:45px;font-weight:1000;margin:0 0 34px;letter-spacing:.5px}.smart-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:22px}.smart-card{border-radius:24px;padding:24px 24px 28px;min-height:256px;color:#fff;box-shadow:0 18px 38px rgba(0,0,0,.12);position:relative;overflow:hidden}.smart-card::after{content:"";position:absolute;right:-35px;bottom:-44px;width:130px;height:130px;border-radius:999px;background:rgba(255,255,255,.10)}.smart-letter{width:66px;height:66px;border-radius:22px;background:rgba(255,255,255,.27);border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;font-size:38px;font-weight:1000;margin-bottom:22px}.smart-card h3{margin:0 0 10px;font-size:25px;font-weight:1000}.smart-card p{margin:0;font-size:14px;font-weight:850}.smart-green{background:linear-gradient(135deg,#33c56a,#0bb14f)}.smart-blue{background:linear-gradient(135deg,#48bfe8,#1599d5)}.smart-orange{background:linear-gradient(135deg,#f8b44d,#ef9f04)}.smart-purple{background:linear-gradient(135deg,#a46af7,#8756e6)}.smart-pink{background:linear-gradient(135deg,#f05e93,#eb466f)}.profile-grid{display:grid;grid-template-columns:1fr 1.12fr;gap:54px;align-items:center}.profile-image{border-radius:24px;overflow:hidden;border:7px solid #fff;box-shadow:var(--shadow);background:#f1f1f1}.profile-image img{width:100%;height:420px;object-fit:cover}.content-title{font-size:38px;line-height:1.18;margin:0 0 14px;font-weight:1000}.content-text{font-size:18px;color:#2a3d56;font-weight:600;margin:0}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.stat-card{border-radius:20px;padding:28px 28px;min-height:140px;display:flex;align-items:center;justify-content:space-between;border:1px solid #a9d0ff;background:#deecff;box-shadow:var(--shadow)}.stat-card:nth-child(2){background:#effdf7;border-color:#87efd5}.stat-card:nth-child(3){background:#fff8e9;border-color:#ffd267}.stat-label{text-transform:uppercase;letter-spacing:3px;font-size:16px;font-weight:1000}.stat-value{font-size:42px;font-weight:1000;line-height:1;margin-top:10px}.stat-icon{width:70px;height:70px;border-radius:16px;background:rgba(255,255,255,.54);display:grid;place-items:center;font-size:34px}.vision-grid{display:grid;grid-template-columns:.9fr 1.3fr;gap:36px;align-items:stretch}.vision-card{background:#d9ffe9;border:1px solid #a4edc7;border-radius:18px;padding:32px;min-height:430px;display:flex;flex-direction:column;justify-content:space-between}.vision-icon{width:48px;height:48px;border-radius:12px;background:#00a77e;color:#fff;display:grid;place-items:center;font-size:24px}.eyebrow{font-size:17px;text-transform:uppercase;letter-spacing:5px;color:#8c9bb7;font-weight:1000;margin:0 0 18px}.vision-text{font-family:Georgia,serif;font-size:29px;line-height:1.43;color:#113b33;font-style:italic;font-weight:800}.vision-footer{color:#009c7a;text-transform:uppercase;letter-spacing:2px;font-weight:1000}.mission-list{display:flex;flex-direction:column;gap:14px}.mission-item{border:1.5px solid #0c1f39;border-radius:14px;padding:18px 22px;display:flex;align-items:center;gap:22px;background:#f9fbff;font-size:17px;font-weight:900}.mission-num{width:34px;height:34px;border-radius:50%;background:#00a77e;color:#fff;display:grid;place-items:center;flex:0 0 auto;font-weight:1000}.news-agenda{display:grid;grid-template-columns:1.7fr .9fr;gap:42px}.section-head{font-size:29px;margin:0 0 18px;font-weight:1000;border-bottom:1px solid #d9e0ea;padding-bottom:12px}.news-card{width:min(440px,100%);background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.news-card img{height:230px;width:100%;object-fit:cover}.news-body{padding:24px}.news-meta{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:1000;color:#8b96aa;margin-bottom:12px}.pill{background:var(--mint);color:#009c7a;border-radius:999px;padding:6px 14px}.news-card h3{font-size:20px;line-height:1.25;margin:0 0 10px;font-weight:1000}.news-card p{font-weight:600;color:#738098;margin:0 0 18px}.read-more{color:#009c7a;font-weight:1000}.agenda-box{background:#fff;border-radius:22px;box-shadow:var(--shadow);padding:30px;min-height:400px}.agenda-box h3{font-size:27px;margin:0;font-weight:1000}.agenda-box .desc{color:#8b96aa;font-weight:600;margin:4px 0 18px;border-bottom:1px solid #e7edf5;padding-bottom:18px}.agenda-item{padding:14px 0;border-bottom:1px solid #edf1f6}.agenda-date{color:#009c7a;font-weight:1000}.empty{color:#68768d;text-align:center;margin-top:50px;font-weight:500}.testimonial-wrap{position:relative}.testimonial-card{width:min(870px,calc(100% - 70px));margin:0 auto;background:linear-gradient(135deg,#118574,#0c7566);border-radius:18px;min-height:255px;padding:96px 100px 58px 150px;color:#fff;display:grid;grid-template-columns:1fr 200px;gap:40px;align-items:center;position:relative;box-shadow:var(--shadow);overflow:hidden}.testimonial-card::before{content:'“';position:absolute;left:42px;top:20px;font-size:112px;line-height:1;color:#a8f6d4;opacity:.78;font-family:Georgia,serif;pointer-events:none}.testimonial-card::after{content:"";position:absolute;right:-60px;bottom:-65px;width:210px;height:210px;border-radius:50%;background:rgba(255,255,255,.12)}.testimonial-text{position:relative;z-index:2}.testimonial-text h3{font-size:25px;line-height:1.55;margin:0 0 24px;font-weight:1000}.testimonial-text p{font-size:15px;margin:0;font-weight:1000}.testimonial-photo{width:185px;height:185px;border-radius:50%;padding:7px;background:#fff;z-index:1}.testimonial-photo img{width:100%;height:100%;border-radius:50%;object-fit:cover}.slider-btn{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:50%;border:1px solid #85efb2;background:#adffd2;color:#006f54;font-size:0;font-weight:900;z-index:3;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;box-shadow:0 10px 24px rgba(0,0,0,.08)}.slider-btn::before{font-size:31px;line-height:1;display:block;transform:translateY(-1px)}.slider-prev::before{content:'‹'}.slider-next::before{content:'›'}.slider-prev{left:calc(50% - 485px)}.slider-next{right:calc(50% - 485px)}.slider-dots{text-align:center;margin-top:26px}.dot{width:12px;height:12px;border-radius:50%;display:inline-block;background:#c9d8d4;margin:0 5px}.dot.active{background:#0a806d}.site-footer{background:var(--green);color:#fff;padding:42px 0 22px}.footer-grid{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:50px;align-items:start}.footer-brand{display:flex;gap:12px;align-items:center;margin-bottom:18px}.footer-brand .logo-box{width:48px;height:48px}.footer-brand h3{margin:0;font-size:20px;line-height:1.2}.footer-brand p{margin:2px 0 0;font-size:13px}.social{display:flex;gap:12px}.social a{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff;font-weight:1000;color:var(--green);font-size:18px}.footer-title{font-size:14px;text-transform:uppercase;letter-spacing:1px;margin:0 0 12px;color:#e8fff7}.contact-list{padding:0;margin:0;list-style:none}.contact-list li{margin:7px 0;font-weight:800}.map-embed iframe{width:100%;height:170px;border:0;border-radius:12px}.copyright{border-top:1px solid rgba(255,255,255,.20);margin-top:32px;padding-top:18px;text-align:center;font-size:14px;font-weight:800}.page-hero{background:linear-gradient(135deg,#e8fff5,#f7fffb);padding:80px 0;text-align:center}.page-hero h1{color:var(--green);font-size:48px;margin:0}.card{background:#fff;border:1px solid #e4ebf2;border-radius:18px;box-shadow:var(--shadow);padding:28px}.page-content{padding:60px 0;background:#f6f9fc}.prose{font-weight:600;color:#2a3d56;font-size:17px}.prose h2,.prose h3{color:#0d1830}
@media(max-width:1080px){.smart-grid{grid-template-columns:repeat(2,1fr)}.stats-row,.footer-grid,.news-agenda,.vision-grid,.profile-grid{grid-template-columns:1fr}.testimonial-card{grid-template-columns:1fr;text-align:center;padding:104px 42px 58px}.testimonial-card::before{left:52px;top:24px;font-size:100px}.testimonial-text{margin-top:0}.testimonial-photo{margin:auto}.slider-prev{left:-4px}.slider-next{right:-4px}.nav{display:none;position:absolute;left:0;right:0;top:78px;background:#fff;padding:16px 24px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav a,.nav button{width:100%;justify-content:space-between}.dropdown{position:static;visibility:visible;opacity:1;transform:none;box-shadow:none;border:0;padding:0 0 0 16px;display:none}.nav>li.is-open .dropdown{display:block}.mobile-toggle{display:inline-flex}.brand{min-width:auto}.hero{min-height:650px}.site-header{top:0}.topbar .inner{height:auto;min-height:38px;flex-wrap:wrap;padding:6px 0}.header-inner{height:70px}}
@media(max-width:650px){.container{width:min(100% - 26px,1220px)}.hero{min-height:580px}.smart-grid{grid-template-columns:1fr}.stats-row{grid-template-columns:1fr}.mission-item{align-items:flex-start}.news-card{width:100%}.testimonial-card{width:100%;min-height:auto;padding:94px 28px 48px}.testimonial-card::before{left:34px;top:20px;font-size:88px}.slider-btn{width:48px;height:48px}.slider-btn::before{font-size:28px}.hero h1{font-size:38px}.footer-grid{gap:24px}.topbar{font-size:12px}.brand-name{font-size:16px}.brand-loc{font-size:11px}.logo-box{width:48px;height:48px}}
.page-hero p{font-size:18px;color:#2a3d56;font-weight:700;margin:12px 0 0}.page-image{width:100%;max-height:430px;object-fit:cover;border-radius:18px;margin-bottom:18px}.page-block{margin-top:30px}.content-grid,.gallery-grid,.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px}.item-card,.gallery-card,.service-card,.ppdb-box,.contact-panel{background:#fff;border:1px solid #e4ebf2;border-radius:20px;box-shadow:var(--shadow);overflow:hidden}.item-card img,.gallery-card img{width:100%;height:230px;object-fit:cover}.item-card div,.gallery-card{padding:20px}.item-card h3,.gallery-card h3,.service-card h3{font-size:22px;margin:0 0 7px;color:#0d1830}.muted-text{color:#75819a;font-weight:900}.service-card{padding:26px}.service-icon{width:54px;height:54px;border-radius:14px;background:#dffcf0;color:#009c7a;display:grid;place-items:center;font-size:25px;font-weight:1000;margin-bottom:18px}.ppdb-box{display:grid;grid-template-columns:.8fr 1.2fr;gap:26px;padding:24px;margin-top:30px;align-items:center}.ppdb-box img{width:100%;height:320px;object-fit:cover;border-radius:16px}.contact-panel{display:grid;grid-template-columns:1fr 1fr;gap:26px;padding:28px;margin-top:30px}.contact-panel .map-embed iframe{height:300px}.gallery-card p{color:#75819a;font-weight:700}.site-footer .map-embed iframe{display:block}@media(max-width:1080px){.content-grid,.gallery-grid,.service-grid{grid-template-columns:repeat(2,1fr)}.ppdb-box,.contact-panel{grid-template-columns:1fr}}@media(max-width:650px){.content-grid,.gallery-grid,.service-grid{grid-template-columns:1fr}.ppdb-box img{height:220px}}


/* Footer icon update */
.social-icons a img{width:22px;height:22px;display:block;object-fit:contain}
.contact-list li.contact-row{display:flex;align-items:flex-start;gap:8px;line-height:1.55;margin:7px 0;font-weight:800}
.contact-list .contact-icon{flex:0 0 22px;line-height:1.55;display:inline-block;text-align:center}
.contact-list .contact-text{display:block;max-width:100%}


/* Footer address alignment fix v5: baris kedua alamat sejajar dengan awal teks "Perum", bukan dengan ikon. */
.contact-list li.contact-row{display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:8px;align-items:start;line-height:1.55;margin:7px 0;font-weight:800;list-style:none}
.contact-list li.contact-row .contact-icon{grid-column:1;width:24px;text-align:center;line-height:1.55;display:block;flex:none}
.contact-list li.contact-row .contact-text{grid-column:2;display:block;min-width:0;max-width:100%}
.contact-list li.contact-row .address-line{display:block}


/* Footer v7: ikon Flaticon seperti Footer V4 + alamat baris kedua sejajar huruf P pada Perum. */
.site-footer .social.social-icons{display:flex;gap:12px;align-items:center}
.site-footer .social.social-icons a{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff;text-decoration:none;overflow:hidden}
.site-footer .social.social-icons a img{width:22px;height:22px;display:block;object-fit:contain}
.site-footer .contact-list li.contact-row{display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:8px;align-items:start;line-height:1.55;margin:7px 0;font-weight:800;list-style:none}
.site-footer .contact-list li.contact-row .contact-icon{grid-column:1;width:24px;text-align:center;line-height:1.55;display:block;flex:none}
.site-footer .contact-list li.contact-row .contact-text{grid-column:2;display:block;min-width:0;max-width:100%}
.site-footer .contact-list li.contact-row .address-line{display:block}


/* Footer v8: ikon sosial tidak lagi memakai lingkaran putih penuh.
   Background dibuat transparan dengan garis putih tipis agar warna logo lebih dominan. */
.site-footer .social.social-icons{display:flex;gap:13px;align-items:center}
.site-footer .social.social-icons a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:transparent;border:1.5px solid rgba(255,255,255,.72);text-decoration:none;overflow:visible;transition:.18s ease}
.site-footer .social.social-icons a:hover{background:rgba(255,255,255,.10);transform:translateY(-1px)}
.site-footer .social.social-icons a img{width:28px;height:28px;display:block;object-fit:contain}

/* Google Drive / YouTube embed support */
.video-embed{position:relative;width:100%;aspect-ratio:16/9;background:#0f172a;border-radius:14px;overflow:hidden;margin-bottom:14px}.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.gallery-card .video-embed{margin:-20px -20px 18px;border-radius:0}.maintenance-note{background:#fff9e8;border:1px solid #ffd76a;border-radius:20px;padding:18px;color:#7a3800;font-weight:800}


/* ==============================
   Interaktif & Animasi v11
   ============================== */
@keyframes fadeInUp{from{opacity:0;transform:translate3d(0,32px,0)}to{opacity:1;transform:none}}
@keyframes softScale{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes shimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.hero-content{animation:fadeInUp .8s ease both .18s}.badge{animation:softScale .65s ease both .05s}.btn,.nav a,.nav button,.social-icons a,.slider-btn{transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease,color .22s ease}.btn:hover{transform:translateY(-3px);box-shadow:0 16px 28px rgba(0,0,0,.16)}.nav a:hover,.nav button:hover{transform:translateY(-1px)}.logo-box{transition:transform .25s ease,box-shadow .25s ease}.brand:hover .logo-box,.footer-brand:hover .logo-box{transform:rotate(-2deg) scale(1.04);box-shadow:0 13px 28px rgba(7,36,52,.14)}.smart-card,.stat-card,.news-card,.agenda-box,.vision-card,.mission-item,.profile-image,.item-card,.gallery-card,.service-card,.ppdb-box,.contact-panel,.card{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.smart-card:hover,.stat-card:hover,.news-card:hover,.agenda-box:hover,.vision-card:hover,.mission-item:hover,.profile-image:hover,.item-card:hover,.gallery-card:hover,.service-card:hover{transform:translateY(-7px);box-shadow:0 26px 60px rgba(9,41,55,.16)}.smart-card:hover .smart-letter,.stat-card:hover .stat-icon{animation:floatY 1.4s ease-in-out infinite}.hero-slide{transform:scale(1.02);transition:opacity .7s ease,transform 6s ease}.hero-slide.active{opacity:1;transform:scale(1.08)}.smart-title,.section-title,.section-head,.content-title{background:linear-gradient(90deg,var(--green),#009c7a,var(--green));background-size:220% 220%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 5s ease infinite}.reveal{opacity:0;transform:translateY(32px);transition:opacity .75s ease,transform .75s ease}.reveal.is-visible{opacity:1;transform:none}.reveal.delay-1{transition-delay:.08s}.reveal.delay-2{transition-delay:.16s}.reveal.delay-3{transition-delay:.24s}.stat-value.counter{font-variant-numeric:tabular-nums;letter-spacing:.5px}.site-footer .contact-icon-img{display:grid!important;place-items:center}.site-footer .contact-icon-img img{width:20px;height:20px;object-fit:contain;display:block}.site-footer .contact-text a{color:#fff;text-decoration:none}.site-footer .contact-text a:hover{text-decoration:underline}.site-footer .social.social-icons a{background:rgba(255,255,255,.06)}.site-footer .social.social-icons a:hover{background:rgba(255,255,255,.16);transform:translateY(-3px) scale(1.08)}.slider-btn:hover{transform:translateY(-50%) scale(1.08);box-shadow:0 16px 30px rgba(0,0,0,.14)}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}}

/* ==============================
   Scroll Morph Animation v12
   ============================== */
@keyframes morphPulseIn{
  0%{opacity:0;filter:blur(16px) saturate(.75);transform:translate3d(0,54px,0) scale(.88) rotateX(8deg);clip-path:inset(18% 8% 18% 8% round 38px)}
  62%{opacity:1;filter:blur(0) saturate(1.04);transform:translate3d(0,-4px,0) scale(1.015) rotateX(0deg);clip-path:inset(0 0 0 0 round 24px)}
  100%{opacity:1;filter:blur(0) saturate(1);transform:none;clip-path:inset(0 0 0 0 round 20px)}
}
.reveal{will-change:transform,opacity,filter,clip-path}
.reveal.morph-reveal{opacity:0;filter:blur(14px) saturate(.78);transform:translate3d(0,46px,0) scale(.90) rotateX(7deg);clip-path:inset(16% 8% 16% 8% round 34px);transition:none;transform-origin:center bottom}
.reveal.morph-reveal.is-visible{animation:morphPulseIn .95s cubic-bezier(.16,1,.3,1) both}
.reveal.slide-left-reveal{transform:translate3d(-54px,24px,0) scale(.96);filter:blur(8px)}
.reveal.slide-right-reveal{transform:translate3d(54px,24px,0) scale(.96);filter:blur(8px)}
.reveal.slide-left-reveal.is-visible,.reveal.slide-right-reveal.is-visible{transform:none;filter:blur(0)}
.stat-card.morph-reveal.is-visible .stat-icon{animation:softScale .65s ease both .18s}
.stat-card.morph-reveal.is-visible .stat-value{animation:softScale .55s ease both .28s}
.smart-card.morph-reveal.is-visible .smart-letter{animation:softScale .6s ease both .2s}

/* V15 Google Drive media fix */
.hero-slide{background-image:none!important;display:block;overflow:hidden}
.hero-slide img,.hero-slide iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0;display:block}
.hero-slide img{transform:scale(1.02);transition:transform 6s ease}
.hero-slide.active img{transform:scale(1.08)}
.logo-box img{width:100%;height:100%;object-fit:contain;display:block}
.news-card > img,.gallery-card > img,.item-card > img,.profile-image > img,.page-image{display:block;background:#eef6f4}


/* V16 - Profil sekolah + sambutan */
.profile-stack{display:grid;gap:54px}.profile-content-block{align-items:center}.profile-content-block.reverse .profile-image{order:2}.profile-copy .eyebrow{margin-bottom:10px}.profile-video-inline{margin-top:22px}.profile-video-inline .video-embed{max-width:560px}.video-embed video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#0f172a}.profile-page-stack{display:grid;gap:28px}.profile-page-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:start}.profile-page-card.reverse .profile-page-media{order:2}.profile-page-card h2{font-size:32px;margin:0 0 10px}.profile-page-media .video-embed{margin-top:14px}.profile-page-media .page-image{margin-bottom:0}.muted-text{line-height:1.6}.address-line{display:block}@media(max-width:1080px){.profile-content-block.reverse .profile-image,.profile-page-card.reverse .profile-page-media{order:0}.profile-page-card{grid-template-columns:1fr}.profile-video-inline .video-embed{max-width:none}}

/* V30 - halaman Sejarah Singkat */
.history-public-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:start}.history-public-card .page-image{margin:0 0 16px}.history-public-copy{line-height:1.9;text-align:justify}.history-public-copy p{margin:0 0 14px}.history-public-copy ul,.history-public-copy ol{margin:12px 0 12px 26px}.history-public-copy.full-copy{grid-column:1/-1}.history-public-media .video-embed{margin-top:16px}@media(max-width:900px){.history-public-card{grid-template-columns:1fr}}


/* ===== Revisi layout publik Guru dan Staff ===== */
body.staff-page-body .page-hero,
.page-hero.staff-public-hero{
  background:#0b654e;
  padding:48px 0 46px;
  text-align:center;
}
.page-hero.staff-public-hero h1{
  color:#fff;
  font-size:42px;
  line-height:1.1;
  font-weight:1000;
  margin:0;
}
.page-hero.staff-public-hero p{display:none!important}
.page-content.staff-public-content{
  background:#f5faf8;
  padding:52px 0 74px;
  min-height:520px;
}
.staff-public-section{width:100%}
.staff-public-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(245px,270px));
  gap:44px 34px;
  justify-content:center;
  align-items:start;
  width:100%;
  max-width:1180px;
  margin:0 auto;
}
.staff-public-card{
  width:100%;
  height:430px;
  background:#fff;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 16px 36px rgba(17,24,39,.13);
  border:1px solid #e4eee9;
  display:flex;
  flex-direction:column;
  transition:transform .2s ease, box-shadow .2s ease;
}
.staff-public-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(17,24,39,.18)}
.staff-public-photo{
  width:100%;
  height:320px;
  display:block;
  object-fit:cover;
  object-position:center top;
  background:#eef6f4;
  flex:0 0 320px;
}
.staff-public-info{
  height:110px;
  padding:17px 16px 15px;
  text-align:center;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  flex:0 0 110px;
}
.staff-public-info h3{
  width:100%;
  min-height:46px;
  margin:0 0 7px;
  font-size:20px;
  line-height:1.18;
  color:#07152f;
  font-weight:1000;
  display:flex;
  align-items:center;
  justify-content:center;
}
.staff-public-info p{
  width:100%;
  min-height:20px;
  margin:0;
  font-size:14px;
  line-height:1.3;
  color:#172033;
  font-weight:600;
  display:flex;
  align-items:center;
  justify-content:center;
}
.staff-empty{
  width:min(640px,100%);
  margin:0 auto;
  padding:22px;
  text-align:center;
  background:#fff;
  border:1px solid #e4ebf2;
  border-radius:14px;
  color:#64748b;
  font-weight:800;
}
@media(max-width:1080px){.staff-public-grid{grid-template-columns:repeat(auto-fit,minmax(230px,260px));gap:36px 30px}}
@media(max-width:760px){.staff-public-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:560px;gap:28px 20px}.staff-public-card{height:390px}.staff-public-photo{height:280px;flex-basis:280px}.staff-public-info{height:110px;flex-basis:110px;padding:16px 12px}.staff-public-info h3{font-size:18px}.staff-public-info p{font-size:13px}.page-hero.staff-public-hero h1{font-size:34px}}
@media(max-width:520px){.staff-public-grid{grid-template-columns:1fr;max-width:300px}.staff-public-card{width:100%;height:430px;margin:0 auto}.staff-public-photo{width:100%;height:320px;flex-basis:320px}.staff-public-info{height:110px;flex-basis:110px}}

/* ==============================
   Halaman Alumni publik v1
   ============================== */
body.alumni-page-body .page-hero,
.page-hero.alumni-public-hero{
  background:#07583f!important;
  padding:58px 0!important;
  text-align:center;
}
.page-hero.alumni-public-hero h1{color:#fff!important;font-size:42px;font-weight:900;margin:0}
.page-hero.alumni-public-hero p{display:none!important}
.page-content.alumni-public-content{background:#f4f8f7!important;padding:52px 0 76px!important}
.alumni-public-section{width:100%}
.alumni-public-title{text-align:center;color:#07583f;font-size:34px;line-height:1.2;font-weight:1000;margin:0 0 28px}
.alumni-data-title{margin-top:70px}
.alumni-empty{background:#fff;border-radius:18px;padding:26px;text-align:center;color:#64748b;font-weight:700;box-shadow:0 10px 25px rgba(9,41,55,.05)}
.alumni-testimonial-list{display:grid;gap:28px;justify-items:center}
.alumni-testimonial-card{position:relative;width:min(760px,100%);min-height:260px;background:#137f72;border-radius:14px;overflow:hidden;display:grid;grid-template-columns:1fr 210px;align-items:center;gap:24px;padding:44px 44px 44px 116px;color:#fff;box-shadow:0 18px 42px rgba(7,88,63,.16)}
.alumni-testimonial-card::before{content:"";position:absolute;width:170px;height:170px;border-radius:50%;left:-70px;top:-54px;background:rgba(168,244,217,.20)}
.alumni-testimonial-card::after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-78px;bottom:-108px;background:rgba(168,244,217,.22)}
.alumni-quote-mark{position:absolute;left:40px;top:28px;font-size:74px;line-height:1;color:#a8f4d9;font-weight:1000;font-family:Georgia,serif;z-index:1}
.alumni-testimonial-text{position:relative;z-index:2}
.alumni-testimonial-text h3{margin:0 0 24px;font-size:21px;line-height:1.35;font-weight:1000;color:#fff}
.alumni-testimonial-name{margin:0 0 10px;font-size:14px;line-height:1.4;font-weight:1000;color:#fff}
.alumni-testimonial-generation{margin:0;font-size:13px;font-weight:900;color:#e9fff8;border-left:3px solid #e9fff8;padding-left:12px}
.alumni-testimonial-photo{position:relative;z-index:2;width:150px;height:150px;border-radius:50%;border:4px solid #fff;overflow:hidden;background:#fff;justify-self:center;box-shadow:0 12px 28px rgba(0,0,0,.12)}
.alumni-testimonial-photo img{width:100%;height:100%;object-fit:cover}
.alumni-generation-list{display:grid;gap:24px}
.alumni-generation-card{background:#fff;border-radius:18px;border:1px solid #e4ebf2;box-shadow:0 14px 34px rgba(9,41,55,.08);overflow:hidden}
.alumni-generation-card h3{margin:0;padding:18px 24px;background:#e9fff7;color:#07583f;font-size:22px;font-weight:1000;border-bottom:1px solid #d5efe5}
.alumni-table-wrap{overflow-x:auto}
.alumni-public-table{width:100%;border-collapse:collapse;min-width:650px}
.alumni-public-table th,.alumni-public-table td{padding:15px 20px;border-bottom:1px solid #edf2f7;text-align:left;font-size:14px;color:#12372f}
.alumni-public-table th{background:#fff;font-weight:1000;color:#07583f}
.alumni-public-table td{font-weight:700}
.alumni-public-table tr:last-child td{border-bottom:0}
@media(max-width:760px){.alumni-testimonial-card{grid-template-columns:1fr;text-align:center;padding:96px 28px 34px}.alumni-testimonial-photo{order:-1}.alumni-quote-mark{left:30px;top:24px}.alumni-testimonial-generation{display:inline-block}.page-hero.alumni-public-hero h1{font-size:34px}.alumni-public-title{font-size:28px}}

/* ==============================
   Revisi Alumni publik: Angkatan menjadi tombol/tab
   ============================== */
.alumni-generation-list{display:none!important}
.alumni-generation-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:0 0 26px}
.alumni-generation-btn{border:0;border-radius:999px;background:#e5f7f1;color:#07583f;padding:13px 24px;font-weight:1000;font-size:15px;cursor:pointer;box-shadow:0 10px 22px rgba(7,88,63,.08);transition:.18s ease}
.alumni-generation-btn:hover{transform:translateY(-1px);background:#d7f4ea}
.alumni-generation-btn.active{background:#07583f;color:#fff;box-shadow:0 14px 28px rgba(7,88,63,.20)}
.alumni-generation-panels{width:100%}
.alumni-generation-panel{display:none;background:#fff;border-radius:18px;border:1px solid #e4ebf2;box-shadow:0 14px 34px rgba(9,41,55,.08);overflow:hidden;animation:alumniFade .22s ease}
.alumni-generation-panel.active{display:block}
@keyframes alumniFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.alumni-generation-panel .alumni-public-table{min-width:650px}
.alumni-generation-panel .alumni-public-table th{background:#e9fff7;color:#07583f;font-weight:1000}
.alumni-generation-panel .alumni-public-table td{font-weight:700;color:#12372f}
@media(max-width:760px){.alumni-generation-tabs{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px}.alumni-generation-btn{white-space:nowrap}}

/* ==============================
   Revisi Testimoni Alumni publik: slider 5 detik
   ============================== */
.alumni-testimonial-slider{position:relative;display:grid;justify-items:center;gap:18px;width:100%}
.alumni-testimonial-list{display:none!important}
.alumni-testimonial-card.alumni-slide{display:grid;animation:alumniTestiFade .35s ease}
.alumni-testimonial-card.alumni-slide[hidden]{display:none!important}
.alumni-slider-dots{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:2px}
.alumni-slider-dot{width:11px;height:11px;border:0;border-radius:50%;background:#c9ded8;cursor:pointer;padding:0;transition:.18s ease}
.alumni-slider-dot.active{background:#07583f;transform:scale(1.18)}
@keyframes alumniTestiFade{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}

/* ==============================
   Final Testimoni Alumni: landing page dan menu Alumni disamakan
   ============================== */
.alumni-home-testimonial-wrap{position:relative}
.alumni-testimonial-slider{position:relative;display:grid;justify-items:center;gap:18px;width:100%}
.alumni-testimonial-card.alumni-slide{display:grid;animation:alumniTestiFade .35s ease}
.alumni-testimonial-card.alumni-slide[hidden]{display:none!important}
.alumni-slider-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:0;border-radius:50%;background:#e9fff7;color:#07583f;box-shadow:0 10px 24px rgba(7,88,63,.18);font-size:34px;line-height:1;font-weight:900;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:5;transition:.18s ease}
.alumni-slider-nav:hover{background:#07583f;color:#fff;transform:translateY(-50%) scale(1.04)}
.alumni-slider-prev{left:calc(50% - 430px)}
.alumni-slider-next{right:calc(50% - 430px)}
.alumni-slider-dots{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:2px}
.alumni-slider-dot{width:11px;height:11px;border:0;border-radius:50%;background:#c9ded8;cursor:pointer;padding:0;transition:.18s ease}
.alumni-slider-dot.active{background:#07583f;transform:scale(1.18)}
@media(max-width:900px){.alumni-slider-prev{left:6px}.alumni-slider-next{right:6px}.alumni-slider-nav{width:42px;height:42px;font-size:30px}}
@media(max-width:760px){.alumni-slider-nav{top:auto;bottom:6px}.alumni-slider-prev{left:calc(50% - 62px)}.alumni-slider-next{right:calc(50% - 62px)}.alumni-slider-dots{margin-top:56px}}

/* Fasilitas: kartu foto yang dapat dibuka fullscreen */
.facility-image-button{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden;text-align:inherit}.facility-image-button .facility-card-image{display:block;width:100%;height:230px;object-fit:cover;transition:transform .35s ease,filter .35s ease}.facility-image-button:hover .facility-card-image,.facility-image-button:focus-visible .facility-card-image{transform:scale(1.045);filter:brightness(.85)}.facility-image-button:focus-visible{outline:4px solid rgba(0,156,122,.35);outline-offset:-4px}.facility-zoom-hint{position:absolute;right:14px;bottom:14px;padding:8px 12px;border-radius:999px;background:rgba(4,35,31,.78);color:#fff;font-size:12px;font-weight:800;line-height:1;opacity:0;transform:translateY(6px);transition:opacity .25s ease,transform .25s ease;pointer-events:none}.facility-image-button:hover .facility-zoom-hint,.facility-image-button:focus-visible .facility-zoom-hint{opacity:1;transform:none}.facility-card-body{padding:20px}.facility-card-body h3{font-size:22px;margin:0 0 7px;color:#0d1830}.facility-card-body p{margin:0;color:#26364d}.facility-lightbox{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:72px 76px 42px;background:rgba(0,0,0,.92);backdrop-filter:blur(8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}.facility-lightbox.is-open{opacity:1;visibility:visible;pointer-events:auto}.facility-lightbox-content{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:100%;max-height:100%;margin:0;transform:scale(.94);transition:transform .28s ease}.facility-lightbox.is-open .facility-lightbox-content{transform:scale(1)}.facility-lightbox-content img{display:block;max-width:min(94vw,1500px);max-height:calc(100vh - 145px);width:auto;height:auto;object-fit:contain;border-radius:10px;box-shadow:0 22px 70px rgba(0,0,0,.55);background:#111}.facility-lightbox-content figcaption{max-width:min(94vw,1200px);margin-top:14px;color:#fff;font-size:17px;font-weight:700;text-align:center;text-shadow:0 2px 6px rgba(0,0,0,.55)}.facility-lightbox-close,.facility-lightbox-nav{position:absolute;z-index:2;border:0;color:#fff;background:rgba(255,255,255,.12);box-shadow:0 8px 25px rgba(0,0,0,.28);cursor:pointer;display:grid;place-items:center;transition:background .2s ease,transform .2s ease}.facility-lightbox-close{top:18px;right:22px;width:50px;height:50px;border-radius:50%;font-size:38px;line-height:1}.facility-lightbox-nav{top:50%;width:52px;height:68px;border-radius:16px;font-size:32px;transform:translateY(-50%)}.facility-lightbox-prev{left:18px}.facility-lightbox-next{right:18px}.facility-lightbox-close:hover,.facility-lightbox-close:focus-visible,.facility-lightbox-nav:hover,.facility-lightbox-nav:focus-visible{background:rgba(255,255,255,.25);outline:none}.facility-lightbox-close:hover{transform:scale(1.06)}.facility-lightbox-nav:hover{transform:translateY(-50%) scale(1.06)}body.facility-lightbox-open{overflow:hidden}@media(max-width:700px){.facility-lightbox{padding:64px 12px 28px}.facility-lightbox-content img{max-width:96vw;max-height:calc(100vh - 125px);border-radius:7px}.facility-lightbox-close{top:10px;right:10px;width:44px;height:44px;font-size:34px}.facility-lightbox-nav{top:auto;bottom:18px;width:48px;height:48px;border-radius:50%;font-size:25px;transform:none}.facility-lightbox-nav:hover{transform:scale(1.06)}.facility-lightbox-prev{left:16px}.facility-lightbox-next{right:16px}.facility-lightbox-content figcaption{font-size:14px;margin:10px 55px 0}.facility-zoom-hint{opacity:1;transform:none}}

/* Revisi modul dinamis: layanan, agenda, berita, galeri */
.gallery-year-tabs,.gallery-activity-tabs{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:0 0 24px}.gallery-year-btn,.gallery-activity-btn{border:0;border-radius:999px;padding:12px 22px;background:#e6f8f2;color:#07583f;font-weight:900;cursor:pointer;box-shadow:0 8px 20px rgba(7,88,63,.08)}.gallery-year-btn.active,.gallery-activity-btn.active{background:#087c68;color:#fff}.gallery-year-panel,.gallery-activity-panel{display:none}.gallery-year-panel.active,.gallery-activity-panel.active{display:block}.gallery-activity-tabs{margin-top:8px}.photo-only-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery-photo-button{border:0;padding:0;border-radius:14px;overflow:hidden;background:#fff;cursor:zoom-in;box-shadow:0 12px 28px rgba(0,0,0,.1);aspect-ratio:4/3}.gallery-photo-button img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.gallery-photo-button:hover img{transform:scale(1.045)}.gallery-drive-note{padding:28px;border:1px solid #d8ebe5;border-radius:18px;background:#fff;text-align:center;color:#526270;font-weight:700}.gallery-photo-lightbox{position:fixed;inset:0;z-index:100001;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none}.gallery-photo-lightbox.open{opacity:1;visibility:visible;pointer-events:auto}.gallery-photo-lightbox img{max-width:92vw;max-height:88vh;object-fit:contain}.gallery-photo-close,.gallery-photo-prev,.gallery-photo-next{position:absolute;border:0;background:rgba(255,255,255,.16);color:#fff;cursor:pointer;display:grid;place-items:center}.gallery-photo-close{right:22px;top:18px;width:48px;height:48px;border-radius:50%;font-size:38px}.gallery-photo-prev,.gallery-photo-next{top:50%;transform:translateY(-50%);width:52px;height:66px;border-radius:14px;font-size:30px}.gallery-photo-prev{left:18px}.gallery-photo-next{right:18px}.video-gallery-grid .gallery-card{overflow:hidden}.news-author{font-weight:800;color:#087c68}.page-content .container>.card.prose:empty{display:none}@media(max-width:980px){.photo-only-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.photo-only-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-year-tabs,.gallery-activity-tabs{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}.gallery-year-btn,.gallery-activity-btn{white-space:nowrap}.gallery-photo-prev,.gallery-photo-next{top:auto;bottom:18px;width:46px;height:46px;border-radius:50%;transform:none}}

/* Revisi landing page: berita 2 kolom dan agenda model kalender */
.landing-news-agenda{grid-template-columns:minmax(0,1.8fr) minmax(300px,.85fr);align-items:start;gap:34px}
.landing-news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.landing-news-card{width:100%;height:100%;display:flex;flex-direction:column}
.landing-news-card>img{height:220px}
.landing-news-card .news-body{display:flex;flex-direction:column;flex:1;padding:20px}
.landing-news-card .news-body .read-more{margin-top:auto}
.landing-news-card .news-body>p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.landing-news-empty{grid-column:1/-1}
.landing-agenda-box{padding:26px;min-height:0}
.landing-agenda-box .desc{margin-bottom:16px}
.landing-agenda-item{border:1px solid #b9e9df;border-radius:16px;padding:14px;display:grid;grid-template-columns:58px minmax(0,1fr);gap:16px;align-items:center;background:#fff;margin-bottom:12px}
.landing-agenda-item:last-child{margin-bottom:0}
.landing-agenda-calendar{width:58px;height:64px;border-radius:10px;background:#08a590;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 8px 18px rgba(0,165,144,.18);line-height:1}
.landing-agenda-calendar strong{font-size:22px;font-weight:1000}
.landing-agenda-calendar span{font-size:12px;font-weight:1000;margin-top:8px}
.landing-agenda-content h4{margin:0 0 8px;font-size:17px;line-height:1.25;color:#11182c;font-weight:1000}
.landing-agenda-detail{font-size:11px;line-height:1.5;color:#8b93a8;font-weight:1000;letter-spacing:.7px;margin-top:3px}
.landing-agenda-detail span{margin-left:5px}
@media(max-width:1080px){.landing-news-agenda{grid-template-columns:1fr}.landing-agenda-box{max-width:none}}
@media(max-width:720px){.landing-news-grid{grid-template-columns:1fr}.landing-news-card>img{height:230px}.landing-agenda-item{grid-template-columns:54px minmax(0,1fr)}.landing-agenda-calendar{width:54px;height:60px}}


/* ===== Galeri Foto & Video modern ===== */
.page-content:has(.modern-gallery){background:#f6fbf9}
.modern-gallery{max-width:1180px;margin:0 auto 36px}
.modern-gallery-year-tabs{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:-8px 0 26px}
.modern-year-btn,.modern-activity-btn{border:0;cursor:pointer;font:inherit;font-weight:900;color:#07583f;background:#ddf7ee;border-radius:999px;padding:11px 21px;box-shadow:0 8px 22px rgba(7,88,63,.09);transition:.2s ease}
.modern-year-btn:hover,.modern-activity-btn:hover{transform:translateY(-1px)}
.modern-year-btn.active,.modern-activity-btn.active{color:#fff;background:linear-gradient(135deg,#087c68,#0cad7d)}
.modern-year-panel{display:none}.modern-year-panel.active{display:block}
.modern-activity-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 20px -20px;position:relative;z-index:2}
.modern-gallery-card{display:none;background:#fff;border:1px solid #dcece7;border-radius:25px;padding:28px 26px 24px;box-shadow:0 18px 44px rgba(7,88,63,.09)}
.modern-gallery-card.active{display:block}
.modern-gallery-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:26px 0 18px}
.modern-gallery-head h2{font-size:31px;line-height:1.15;color:#07583f;margin:0;font-weight:900}
.modern-open-link,.modern-stage-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:999px;background:#087c68;color:#fff;font-weight:900;padding:12px 21px;white-space:nowrap;box-shadow:0 8px 22px rgba(7,88,63,.14)}
.modern-photo-stage,.modern-video-stage{position:relative;overflow:hidden;border-radius:22px;background:#0d172c;min-height:500px}
.modern-photo-slide,.modern-video-slide{display:none;position:absolute;inset:0;margin:0}.modern-photo-slide.active,.modern-video-slide.active{display:block}
.modern-photo-slide img{width:100%;height:100%;object-fit:contain;display:block;background:#0d172c}
.modern-video-stage{background:#0a111e;aspect-ratio:16/9;min-height:0}
.modern-video-slide iframe{width:100%;height:100%;border:0;display:block;background:#000}
.modern-gallery-nav{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#087c68;font-size:28px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.modern-gallery-nav.prev{left:15px}.modern-gallery-nav.next{right:15px}
.modern-gallery-count{position:absolute;z-index:4;left:15px;bottom:14px;color:#fff;background:rgba(6,15,28,.72);border-radius:999px;padding:8px 12px;font-weight:900}
.modern-stage-link{position:absolute;z-index:4;right:14px;bottom:13px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.5);backdrop-filter:blur(7px);padding:9px 15px}
.modern-gallery-empty{min-height:290px;border-radius:20px;background:#f3f8f6;border:1px dashed #b8dacf;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px;gap:10px;color:#526270}
.modern-gallery-empty strong{color:#07583f;font-size:20px}.modern-gallery-empty a{color:#087c68;font-weight:900}
@media(max-width:800px){
 .modern-gallery-card{padding:20px 14px;border-radius:19px}.modern-gallery-head{align-items:flex-start}.modern-gallery-head h2{font-size:25px}
 .modern-photo-stage{min-height:390px}.modern-activity-tabs{margin-left:10px;margin-right:10px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.modern-activity-btn{white-space:nowrap}
}
@media(max-width:540px){
 .modern-gallery-head{flex-direction:column}.modern-open-link{align-self:flex-end}.modern-photo-stage{min-height:310px}.modern-gallery-nav{width:43px;height:43px;font-size:23px}.modern-gallery-nav.prev{left:8px}.modern-gallery-nav.next{right:8px}
}
/* PPDB public sortable content */
.ppdb-public-stack{display:flex;flex-direction:column;gap:24px}.ppdb-public-title{text-align:center;padding:16px}.ppdb-public-title h2{font-size:clamp(30px,5vw,54px);line-height:1.15;color:var(--green);margin:0}.ppdb-public-card{background:#fff;border:1px solid #dfece7;border-radius:22px;padding:24px;box-shadow:var(--shadow)}.ppdb-public-card h2{margin:0 0 18px;color:var(--green)}.ppdb-image-button,.ppdb-brochure-thumb{border:0;background:none;padding:0;cursor:zoom-in}.ppdb-image-button{display:block;width:100%}.ppdb-image-button img{display:block;max-width:100%;max-height:720px;margin:auto;border-radius:16px;object-fit:contain}.ppdb-brochure-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.ppdb-brochure-thumb img{width:100%;height:280px;object-fit:cover;border-radius:14px}.ppdb-public-action{text-align:center;padding:10px}.ppdb-public-action .btn{background:#f4c400;color:#123;border-radius:14px;font-weight:900;padding:16px 30px}.ppdb-lightbox[hidden]{display:none}.ppdb-lightbox{position:fixed;inset:0;background:rgba(2,14,24,.93);z-index:99999;display:flex;align-items:center;justify-content:center;padding:30px}.ppdb-lightbox img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:12px}.ppdb-lightbox-close,.ppdb-lightbox-prev,.ppdb-lightbox-next{position:absolute;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#075f49;width:48px;height:48px;font-size:34px;cursor:pointer}.ppdb-lightbox-close{top:18px;right:20px}.ppdb-lightbox-prev{left:18px;top:50%;transform:translateY(-50%)}.ppdb-lightbox-next{right:18px;top:50%;transform:translateY(-50%)}

/* ==========================================================
   Sticky footer global v32
   Menjaga footer tetap berada di dasar viewport saat konten
   pendek atau browser di-zoom out, tanpa position:fixed.
   ========================================================== */
html{
  min-height:100%;
}
body{
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
}
body > .site-footer{
  width:100%;
  margin-top:auto;
  flex:0 0 auto;
}
/* Pastikan elemen utama tidak memaksa footer mengambang/menimpa konten. */
body > .topbar,
body > .site-header,
body > section,
body > main{
  flex:0 0 auto;
}
@supports not (height:100dvh){
  body{min-height:100vh;}
}



/* ==========================================================
   Halaman Akreditasi publik v33
   ========================================================== */
.accreditation-public-section{
  width:100%;
  padding:8px 0 44px;
}
.accreditation-summary-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:20px !important;
  width:100%;
  margin:0 0 28px !important;
}
.accreditation-summary-card{
  min-width:0;
  min-height:138px;
  padding:24px 22px;
  border:1px solid #dbe5ef;
  border-radius:18px;
  background:#f8fafc;
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  box-shadow:0 8px 24px rgba(15,23,42,.045);
}
.accreditation-summary-icon{
  width:34px;
  height:34px;
  margin:0 0 10px;
  color:#0797e6;
  display:grid;
  place-items:center;
}
.accreditation-summary-icon svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.accreditation-summary-label{
  display:block;
  margin:0 0 8px;
  color:#111827;
  font-size:13px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.015em;
  text-transform:uppercase;
}
.accreditation-summary-card strong{
  display:block;
  max-width:100%;
  color:#0f172a;
  font-size:19px;
  line-height:1.35;
  font-weight:900;
  overflow-wrap:anywhere;
}
.accreditation-table-card{
  width:100%;
  padding:0 !important;
  overflow:hidden;
  border-radius:17px;
  background:#fff;
}
.accreditation-table-card .table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.accreditation-table{
  width:100% !important;
  min-width:860px;
  border-collapse:separate;
  border-spacing:0;
  table-layout:auto;
  background:#fff;
}
.accreditation-table th,
.accreditation-table td{
  padding:18px 20px !important;
  text-align:left !important;
  vertical-align:middle;
  border-bottom:1px solid #e8efec;
  white-space:normal;
}
.accreditation-table th{
  color:#111827;
  background:#fff;
  font-size:14px;
  line-height:1.35;
  font-weight:900;
}
.accreditation-table td{
  color:#38514b;
  font-size:15px;
  line-height:1.45;
  font-weight:500;
}
.accreditation-table th:nth-child(1),.accreditation-table td:nth-child(1){min-width:190px}
.accreditation-table th:nth-child(2),.accreditation-table td:nth-child(2){min-width:170px}
.accreditation-table th:nth-child(3),.accreditation-table td:nth-child(3){min-width:150px}
.accreditation-table th:nth-child(4),.accreditation-table td:nth-child(4){min-width:180px}
.accreditation-table th:nth-child(5),.accreditation-table td:nth-child(5){min-width:150px}
.accreditation-table tbody tr:last-child td{border-bottom:0}
.accreditation-table a{
  color:#087f6c;
  font-weight:900;
  text-decoration:underline;
  text-underline-offset:3px;
}
.accreditation-empty{
  padding:34px;
  text-align:center;
  color:#6b7f79;
}
@media(max-width:760px){
  .accreditation-summary-grid{grid-template-columns:1fr !important;gap:14px !important}
  .accreditation-summary-card{min-height:118px}
}

/* Multilingual public UI */
.langs{display:flex;align-items:center;gap:8px}.lang-choice{width:40px;height:30px;padding:4px;border:1px solid rgba(255,255,255,.34);border-radius:10px;color:inherit;text-decoration:none;line-height:1;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.lang-choice:hover{transform:translateY(-1px) scale(1.05);background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.7)}.lang-choice.active{background:#fff;border-color:#fff;box-shadow:0 5px 14px rgba(0,0,0,.16)}.lang-choice b,.lang-choice span{display:none!important}
html[dir="rtl"] body,.lang-ar{font-family:"GE Dinar One","Noto Naskh Arabic",Tahoma,Arial,sans-serif}html[dir="rtl"] .header-inner,html[dir="rtl"] .topbar .inner,html[dir="rtl"] .footer-grid{direction:rtl}html[dir="rtl"] .nav{direction:rtl}html[dir="rtl"] .dropdown{right:0;left:auto;text-align:right}html[dir="rtl"] .prose,html[dir="rtl"] .news-body,html[dir="rtl"] .landing-agenda-content,html[dir="rtl"] .contact-list{text-align:right}html[dir="rtl"] .read-more{display:inline-flex;flex-direction:row-reverse}
@media(max-width:760px){.langs{gap:6px}.lang-choice{width:36px;height:28px;padding:3px;border-radius:9px}}

/* V15: language switcher with real SVG flags */
.lang-choice .lang-flag{width:100%;height:100%;display:block;object-fit:cover;border-radius:6px;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.lang-choice:hover .lang-flag{transform:scale(1.06)}
.lang-choice .lang-flag{transition:transform .18s ease}
html[dir="rtl"] .lang-choice{direction:ltr}

/* V16: mesin Google Translate disembunyikan; switcher bendera tetap menjadi UI utama. */
.google-translate-engine,
.goog-te-banner-frame,
.goog-te-gadget,
.goog-te-combo,
.skiptranslate iframe { display:none!important; visibility:hidden!important; height:0!important; }
body { top:0!important; }
html.translated-ltr body, html.translated-rtl body { top:0!important; }
.brand.notranslate, .notranslate { unicode-bidi:isolate; }
/* GE Dinar One digunakan bila sudah terpasang pada perangkat/server. */
html[dir="rtl"] body,
body.lang-ar {
  font-family:"GE Dinar One","Noto Naskh Arabic","Amiri",Tahoma,Arial,sans-serif;
}

/* Foto profil/sambutan mengikuti rasio asli sumber */
.page-image{width:100%;height:auto!important;max-height:none!important;object-fit:contain!important}.profile-image img{height:auto!important;max-height:560px;object-fit:contain!important;background:#f3f8f6}

/* Rich text publik: tampilkan hasil editor sebagai format, bukan sebagai kode HTML. */
.editor-content{line-height:1.8;overflow-wrap:anywhere}
.editor-content> :first-child{margin-top:0}
.editor-content> :last-child{margin-bottom:0}
.editor-content p,.editor-content div{margin:0 0 1em}
.editor-content ul,.editor-content ol{margin:0 0 1em;padding-left:1.5rem}
.editor-content li{margin:.3em 0}
.editor-content h2,.editor-content h3,.editor-content h4{margin:1.15em 0 .55em;line-height:1.35}
.editor-content blockquote{margin:1em 0;padding:.75em 1em;border-left:4px solid #00a77e;background:#f3fbf7;border-radius:0 10px 10px 0}
.editor-content a{color:#008d69;text-decoration:underline;text-underline-offset:2px}
.editor-content table{width:100%;border-collapse:collapse;margin:1.1em 0;display:block;overflow-x:auto}
.editor-content th,.editor-content td{border:1px solid #cfded9;padding:9px 11px;text-align:left;vertical-align:top}
.editor-content th{background:#edf8f4;color:#153d34}


/* ==========================================================
   V39 — Sinkronisasi tampilan editor admin dengan website
   Konten dari semua "editor sederhana" memakai tipografi dasar
   yang sama seperti area editor admin. Format yang dipilih admin
   (bold, italic, underline, list, alignment, font, size, table)
   tetap mengikuti HTML tersimpan dan tidak ditimpa tema publik.
   ========================================================== */
body .editor-content{
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:15px;
  line-height:1.7;
  color:#263548;
  font-weight:500;
  letter-spacing:normal;
  text-transform:none;
  text-align:left;
  white-space:normal;
  overflow-wrap:anywhere;
  overflow-x:auto;
}
body .editor-content p{margin:1em 0}
body .editor-content div{margin:0}
body .editor-content > :first-child{margin-top:0}
body .editor-content > :last-child{margin-bottom:0}
body .editor-content ul,
body .editor-content ol{margin:1em 0;padding-left:40px}
body .editor-content li{margin:0}
body .editor-content strong,
body .editor-content b{font-weight:700}
body .editor-content em,
body .editor-content i{font-style:italic}
body .editor-content u{text-decoration:underline}
body .editor-content table{
  width:100%;
  border-collapse:collapse;
  margin:12px 0;
  display:table;
  overflow:visible;
}
body .editor-content th,
body .editor-content td{
  border:1px solid #cadbd6;
  padding:8px 10px;
  text-align:left;
  vertical-align:top;
}
body .editor-content th{background:#eef9f5;color:#263548}
body .editor-content blockquote{
  margin:1em 40px;
  padding:0;
  border:0;
  background:transparent;
  border-radius:0;
}
body .editor-content a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:auto;
}

/* ==========================================================
   V42 — Foto berita responsif hanya pada halaman detail
   Landing page dan daftar berita tetap memakai tampilan kartu
   lama (ukuran tetap + object-fit:cover). Ketika berita dibuka,
   foto utama dan gambar di isi berita mengikuti rasio aslinya.
   ========================================================== */
.news-detail-media{
  width:100%;
  margin:0 0 24px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:16px;
  background:#f1f7f4;
}
.news-detail-media img{
  display:block;
  width:auto;
  height:auto!important;
  max-width:100%;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center;
}
.editor-content img{
  display:block;
  max-width:100%!important;
  width:auto;
  height:auto!important;
  object-fit:contain!important;
}
@media(max-width:650px){
  .news-detail-media{border-radius:12px;margin-bottom:18px}
}

/* ==========================================================
   V43 — Kartu berita modern, view counter, share, dan related
   ========================================================== */
.news-modern-card{
  width:100%;
  min-width:0;
  background:#fff;
  border:1px solid #e4e9ef;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 16px 38px rgba(28,43,64,.10);
  display:flex;
  flex-direction:column;
  transition:transform .24s ease,box-shadow .24s ease;
}
.news-modern-card:hover{transform:translateY(-4px);box-shadow:0 22px 46px rgba(28,43,64,.15)}
.news-modern-image{position:relative;display:block;width:100%;aspect-ratio:16/10;overflow:hidden;background:#e9eef3}
.news-modern-image>img{display:block;width:100%;height:100%!important;object-fit:cover!important;object-position:center;transition:transform .35s ease}
.news-modern-card:hover .news-modern-image>img{transform:scale(1.035)}
.news-modern-type{position:absolute;left:18px;top:16px;display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.94);color:#3d444d;font-size:13px;font-weight:900;box-shadow:0 6px 18px rgba(0,0,0,.12);backdrop-filter:blur(7px)}
.news-modern-type svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.announcement-badge svg{stroke:#e53935;fill:none}
.news-modern-body{padding:22px 22px 20px;display:flex;flex-direction:column;flex:1}
.news-modern-body h3{margin:0 0 10px;font-size:20px;line-height:1.35;font-weight:900;color:#303841;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.news-modern-body h3 a{color:inherit;text-decoration:none}
.news-modern-excerpt{margin:0;color:#59636f;font-size:14px;line-height:1.55;font-weight:550;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.news-modern-divider{border-top:1px dashed #c9ced5;margin:20px 0 15px}
.news-modern-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px;margin-bottom:20px}
.news-modern-info>span{display:flex;align-items:center;gap:7px;min-width:0;color:#414952;font-size:12px;line-height:1.25}
.news-modern-info svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:#0a9d70;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.news-modern-info b{font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.news-modern-button{align-self:center;margin-top:auto;display:inline-flex;align-items:center;justify-content:center;min-width:142px;min-height:44px;padding:0 22px;border-radius:999px;background:#0a9d70;color:#fff!important;text-decoration:none;font-size:14px;font-weight:900;box-shadow:0 9px 20px rgba(10,157,112,.22);transition:.2s ease}
.news-modern-button:hover{background:#07825d;transform:translateY(-1px)}

.landing-news-card{height:100%}
.landing-news-card .news-modern-body{padding:20px}
.landing-news-card .news-modern-image{aspect-ratio:16/10}
.landing-news-card .news-modern-excerpt{-webkit-line-clamp:2}
.landing-news-card .news-modern-button{margin-top:auto}

.news-page-hero{padding:72px 0 66px;background:radial-gradient(circle at 15% 20%,rgba(35,197,139,.18),transparent 34%),linear-gradient(135deg,#ecfff8,#f9fbff)}
.news-page-hero .news-page-kicker{display:inline-flex;margin-bottom:12px;color:#008c6d;font-size:13px;font-weight:1000;text-transform:uppercase;letter-spacing:2px}
.news-page-hero h1{font-size:clamp(38px,5vw,58px)}
.news-page-hero p{max-width:720px;margin:16px auto 0;color:#5d6877;font-size:17px;line-height:1.65;font-weight:600}
.news-page-content{background:#f5f7fa}
.news-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch}
.news-page-empty{grid-column:1/-1}

.news-detail-page{padding:58px 0 78px;background:linear-gradient(180deg,#f4f8f7,#fff)}
.news-detail-container{max-width:1180px}
.news-article-card{max-width:930px;margin:0 auto;background:#fff;border:1px solid #e3ebe8;border-radius:26px;padding:42px;box-shadow:0 22px 60px rgba(30,54,48,.10)}
.news-article-header{text-align:center;margin-bottom:28px}
.news-article-category{display:inline-flex;padding:8px 15px;border-radius:999px;background:#e2f8ef;color:#087c68;font-size:12px;font-weight:1000;text-transform:uppercase;letter-spacing:1px}
.news-article-header h1{max-width:800px;margin:16px auto 20px;color:#172033;font-size:clamp(31px,4.5vw,52px);line-height:1.15;font-weight:1000;letter-spacing:-.02em}
.news-article-meta{display:flex;align-items:center;justify-content:center;gap:12px 22px;flex-wrap:wrap;color:#566273}
.news-article-meta>span{display:inline-flex;align-items:center;gap:7px;font-size:13px}
.news-article-meta svg{width:19px;height:19px;fill:none;stroke:#0a9d70;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.news-article-meta b{font-weight:800}
.news-article-card .news-detail-media{margin:0 0 30px;border-radius:20px;background:#edf4f1}
.news-article-card .news-detail-media img{width:100%;height:auto!important;max-height:none!important;object-fit:contain!important}
.news-article-content{font-size:17px;line-height:1.82;color:#2f3d4e;font-weight:500}
.news-article-content h2,.news-article-content h3,.news-article-content h4{color:#172033;line-height:1.3;margin-top:1.55em}
.news-article-content figure.editor-news-image{margin:28px auto;text-align:center}
.news-article-content figure.editor-news-image img,.news-article-content figure img{display:block;max-width:100%!important;width:auto;height:auto!important;margin:0 auto;border-radius:15px;box-shadow:0 12px 30px rgba(27,42,55,.12)}
.news-article-content figcaption{margin-top:9px;color:#738091;font-size:13px;font-style:italic;text-align:center}
.news-share-box{margin-top:40px;padding:22px 24px;border:1px solid #dce8e4;border-radius:20px;background:#f8fcfa;display:flex;align-items:center;justify-content:space-between;gap:22px}
.news-share-label{display:block;color:#1f2b3a;font-size:16px;font-weight:1000}
.news-share-box p{margin:4px 0 0;color:#6b7684;font-size:13px;font-weight:600}
.news-share-buttons{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.news-share-buttons a,.news-share-buttons button{width:44px;height:44px;border:0;border-radius:50%;display:grid;place-items:center;color:#fff;text-decoration:none;cursor:pointer;box-shadow:0 8px 18px rgba(0,0,0,.12);transition:transform .18s ease,filter .18s ease;padding:0}
.news-share-buttons a:hover,.news-share-buttons button:hover{transform:translateY(-2px);filter:brightness(.95)}
.news-share-buttons svg{width:22px;height:22px;display:block}.share-facebook{background:#1877f2}.share-x{background:#111}.share-telegram{background:#229ed9}.share-whatsapp{background:#25d366}.news-share-buttons .share-copy{background:#697586}.news-share-buttons .share-copy.copied{background:#0a9d70}
.related-news-section{margin-top:68px}
.related-news-heading{text-align:center;margin-bottom:28px}
.related-news-heading>span{color:#0a9876;font-size:12px;font-weight:1000;text-transform:uppercase;letter-spacing:2px}
.related-news-heading h2{margin:8px 0 0;color:#38414b;font-size:clamp(29px,4vw,42px);font-weight:1000}
.related-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.related-news-card .news-modern-excerpt{-webkit-line-clamp:2}

@media(max-width:1050px){
  .news-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .related-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .related-news-card:last-child:nth-child(odd){grid-column:1/-1;max-width:540px;justify-self:center}
}
@media(max-width:720px){
  .news-page-hero{padding:55px 0 50px}
  .news-page-hero p{font-size:15px}
  .news-page-content{padding:38px 0}
  .news-page-grid,.related-news-grid{grid-template-columns:1fr;gap:22px}
  .related-news-card:last-child:nth-child(odd){grid-column:auto;max-width:none}
  .news-modern-card{border-radius:18px}
  .news-modern-image{aspect-ratio:16/12}
  .news-modern-body{padding:18px 18px 17px}
  .news-modern-body h3{font-size:18px;-webkit-line-clamp:2}
  .news-modern-excerpt{font-size:13px;-webkit-line-clamp:3}
  .news-modern-info{gap:9px 10px}
  .news-modern-info>span{font-size:11.5px}
  .news-modern-button{min-height:42px}
  .news-detail-page{padding:28px 0 52px}
  .news-article-card{padding:24px 18px;border-radius:19px}
  .news-article-header{margin-bottom:22px}
  .news-article-header h1{font-size:30px;margin-top:13px}
  .news-article-meta{justify-content:flex-start;gap:10px 14px;text-align:left}
  .news-article-meta>span{font-size:12px}
  .news-article-card .news-detail-media{border-radius:14px;margin-bottom:22px}
  .news-article-content{font-size:15.5px;line-height:1.75}
  .news-share-box{align-items:flex-start;flex-direction:column;padding:18px}
  .news-share-buttons{width:100%}
  .related-news-section{margin-top:48px}
}
@media(max-width:390px){
  .news-modern-info{grid-template-columns:1fr}
  .news-modern-button{width:100%}
}


/* V46 — Modul Pengumuman */
.announcement-file-badge{display:inline-flex;align-self:flex-start;margin-top:12px;padding:6px 10px;border-radius:999px;background:#e7f8f1;color:#087c68;font-size:11px;font-weight:900}
.announcement-document-box{margin-top:30px;padding:22px;border:1px solid #cfe7dd;border-radius:18px;background:#f4fbf8;display:flex;align-items:center;justify-content:space-between;gap:18px}
.announcement-document-box strong{display:block;color:#18342d;font-size:16px}.announcement-document-box p{margin:5px 0 0;color:#66766f;font-size:13px}
.announcement-document-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:999px;background:#0a9d70;color:#fff!important;text-decoration:none;font-size:13px;font-weight:900;white-space:nowrap;box-shadow:0 9px 20px rgba(10,157,112,.2)}
.announcement-document-button:hover{background:#07825d}
@media(max-width:650px){.announcement-document-box{align-items:flex-start;flex-direction:column}.announcement-document-button{width:100%}}


/* V49 — Hero judul sederhana + fitur search publik */
.listing-page-hero{background:linear-gradient(135deg,#e8fff5,#f7fffb)!important;padding:80px 0;text-align:center}
.listing-page-hero h1{color:var(--green);font-size:clamp(42px,5vw,58px);font-weight:1000;line-height:1.1;margin:0}
.listing-page-hero p,.listing-page-hero .news-page-kicker{display:none!important}
.list-search-wrap{max-width:760px;margin:0 auto 28px}
.list-search-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;padding:14px;border-radius:20px;border:1px solid #d8e8e2;box-shadow:0 12px 34px rgba(14,54,44,.08)}
.list-search-form input[type=search]{flex:1 1 320px;min-width:0;height:50px;border:1px solid #d5e3df;border-radius:14px;padding:0 16px;font-size:15px;font-weight:700;color:#213547;background:#fbfefd;outline:none}
.list-search-form input[type=search]:focus{border-color:#0a9d70;box-shadow:0 0 0 4px rgba(10,157,112,.12)}
.list-search-form button,.list-search-reset{display:inline-flex;align-items:center;justify-content:center;min-width:108px;height:50px;padding:0 18px;border-radius:14px;border:0;text-decoration:none;font-size:14px;font-weight:900;cursor:pointer}
.list-search-form button{background:#0a9d70;color:#fff;box-shadow:0 10px 24px rgba(10,157,112,.22)}
.list-search-form button:hover{background:#07825d}
.list-search-reset{background:#eef5f2;color:#365161}
.list-search-reset:hover{background:#e2ece7}
.agenda-page-content .card{padding:18px 28px 12px}
.agenda-list-card .agenda-item:first-child{padding-top:6px}
@media(max-width:720px){
  .listing-page-hero{padding:56px 0}
  .list-search-wrap{margin-bottom:22px}
  .list-search-form{padding:12px;gap:10px}
  .list-search-form input[type=search]{flex:1 1 100%;width:100%}
  .list-search-form button,.list-search-reset{flex:1 1 calc(50% - 5px);min-width:0}
}


/* V50 — memperlebar kotak share berita & pengumuman */
.news-share-box{margin-left:-16px;margin-right:-16px;padding:24px 32px}
@media(max-width:720px){
  .news-share-box{margin-left:0;margin-right:0;padding:18px}
}


/* V51 — lebar penuh detail Berita dan Pengumuman */
.news-article-card{width:100%;max-width:1180px}
.news-share-box{margin-left:0;margin-right:0;width:100%}
@media(max-width:720px){
  .news-article-card{width:100%;max-width:none}
}


/* Profil Sekolah: satu media utama, gambar ATAU video */
.profile-media-video .video-embed{margin:0;border-radius:17px}
.profile-media-video .video-embed video{object-fit:contain}
.profile-page-media.video-only .video-embed{margin-top:0}
