
:root{
  --navy:#082A55;
  --navy-2:#061F42;
  --blue:#114DBB;
  --blue-2:#0E63D8;
  --light-blue:#EEF5FF;
  --gold:#E6AD2C;
  --gold-soft:#FFF6DE;
  --text:#13243B;
  --muted:#65758D;
  --line:#DDE6F4;
  --soft:#F7FAFF;
  --white:#FFFFFF;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  color:var(--text);
  background:#fff;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:1220px;margin:0 auto;padding:0 24px}
.topbar{
  background:linear-gradient(90deg,var(--navy-2),var(--navy));
  color:white;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.header{
  position:sticky;top:0;z-index:1000;
  background:linear-gradient(90deg,var(--navy-2),var(--navy));
  box-shadow:0 14px 30px rgba(8,42,85,.18);
}
.navbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0}
.logo{height:50px;width:auto;object-fit:contain}
.navlinks{display:flex;gap:4px;align-items:center}
.navlinks a{
  color:rgba(255,255,255,.82);
  padding:10px 11px;border-radius:999px;
  font-size:13px;font-weight:850;
}
.navlinks a:hover,.navlinks a.active{background:rgba(255,255,255,.11);color:white}
.nav-actions{display:flex;gap:10px;align-items:center}
.menu-toggle{
  display:none;width:44px;height:44px;border:0;border-radius:14px;
  background:rgba(255,255,255,.12);color:white;font-size:24px;font-weight:900;cursor:pointer
}
.mobile-menu{display:none;padding:0 0 16px}
.mobile-menu a{display:block;color:rgba(255,255,255,.88);padding:12px 14px;border-radius:14px;font-weight:850}
.mobile-menu a:hover{background:rgba(255,255,255,.1);color:white}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:44px;padding:12px 18px;border-radius:999px;
  border:0;font-size:14px;font-weight:950;cursor:pointer;transition:.2s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(180deg,#F3C45A,var(--gold));color:#172033;box-shadow:0 14px 28px rgba(230,173,44,.23)}
.btn-blue{background:linear-gradient(180deg,var(--blue-2),var(--blue));color:white;box-shadow:0 14px 28px rgba(17,77,187,.20)}
.btn-white{background:white;color:var(--navy);border:1px solid var(--line);box-shadow:0 12px 24px rgba(19,36,59,.07)}
.btn-outline{background:transparent;color:white;border:1px solid rgba(255,255,255,.26)}
.btn-muted{background:#EFF3FA;color:#64748B;border:1px dashed #CBD5E1}
.badge{
  display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;
  font-size:12px;font-weight:950;border:1px solid;
}
.badge-blue{background:#EEF5FF;color:#0B48B5;border-color:#C6D8FF}
.badge-gold{background:var(--gold-soft);color:#855B07;border-color:#EFD389}
.badge-white{background:white;color:var(--navy);border-color:var(--line)}
.badge-soft{background:#F8FAFF;color:#526176;border-color:#E2E8F0}
.section{padding:82px 0}
.section-soft{background:linear-gradient(180deg,#F7FAFF,#FFFFFF)}
.section-navy{background:linear-gradient(90deg,var(--navy-2),var(--navy));color:white}
.section-title{max-width:820px;margin-bottom:38px}
.section-title.center{text-align:center;margin-left:auto;margin-right:auto}
.eyebrow{margin:0 0 12px;color:var(--blue);font-size:13px;letter-spacing:.2em;text-transform:uppercase;font-weight:950}
.section-navy .eyebrow{color:#FFD46D}
.section-title h1,.section-title h2{
  margin:0;font-size:clamp(32px,4.5vw,54px);line-height:1.07;letter-spacing:-.04em;font-weight:1000;
}
.section-title p{margin:18px 0 0;color:var(--muted);line-height:1.8;font-size:17px}
.section-navy .section-title p{color:rgba(255,255,255,.76)}
.hero{
  position:relative;overflow:hidden;
  background:
    linear-gradient(135deg,#F7FAFF 0%,#FFFFFF 58%,#F9FBFF 100%);
}
.hero:before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(0deg, rgba(8,42,85,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8,42,85,.035) 1px, transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom, black, transparent 78%);
}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:.95fr 1.05fr;gap:42px;align-items:center;padding:68px 0 82px}
.hero h1{margin:18px 0 0;font-size:clamp(43px,6vw,74px);line-height:.98;letter-spacing:-.06em;font-weight:1000;color:var(--navy-2)}
.hero h1 span{color:var(--blue)}
.hero p{margin:20px 0 0;color:var(--muted);font-size:18px;line-height:1.8;max-width:680px}
.hero-pills{display:flex;flex-wrap:wrap;gap:10px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.trust-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-top:24px}
.unggul-card,.research-card{
  background:white;border:1px solid var(--line);border-radius:26px;padding:18px;
  box-shadow:0 16px 36px rgba(19,36,59,.08)
}
.unggul-banner{
  display:flex;align-items:center;gap:14px;
  border-radius:22px;padding:14px 16px;
  background:linear-gradient(90deg,var(--navy),#0D3F83);
  color:white;box-shadow:0 12px 24px rgba(8,42,85,.18)
}
.medal{
  width:58px;height:58px;border-radius:18px;display:flex;align-items:center;justify-content:center;
  font-size:30px;color:#12305C;
  background:radial-gradient(circle at 35% 30%,#FFE49D,#D99D1D 65%,#A66E03);
}
.unggul-word{font-size:34px;line-height:1;font-weight:1000;color:#FFD05A;letter-spacing:-.04em}
.unggul-small{font-size:14px;opacity:.9}
.info-list{display:grid;gap:10px;margin-top:16px}
.info-item{display:flex;gap:12px;color:#31415B;font-size:14px;line-height:1.58}
.info-icon{
  width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  background:#EEF5FF;color:var(--blue);font-weight:900;flex:0 0 auto
}
.micro{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.micro span{display:inline-flex;padding:9px 12px;border-radius:999px;background:#F8FAFF;border:1px solid var(--line);font-size:12px;font-weight:900;color:#31415B}
.research-card h3{margin:10px 0 0;font-size:21px;line-height:1.15}
.research-card p{margin:10px 0 0;color:var(--muted);line-height:1.7;font-size:14px}
.research-points{display:grid;gap:10px;margin-top:14px}
.research-points div{padding:12px 14px;border-radius:16px;background:#F8FAFF;border:1px solid var(--line);font-size:14px;font-weight:850;color:#31415B}
.slider-shell{
  background:white;border:1px solid var(--line);border-radius:34px;padding:14px;
  box-shadow:0 24px 55px rgba(19,36,59,.10)
}
.slider-frame{position:relative;overflow:hidden;border-radius:24px}
.slider-track{display:flex;transition:transform .55s ease}
.slide{
  min-width:100%;height:475px;position:relative;overflow:hidden;
  background:
    linear-gradient(135deg,rgba(8,42,85,.08),rgba(255,255,255,.12)),
    linear-gradient(180deg,#DCEAFE,#F8FBFF);
}
.slide:before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(135deg,rgba(8,42,85,.14),transparent 44%),
    linear-gradient(0deg,rgba(255,255,255,.18),rgba(255,255,255,.18));
}
.building{
  position:absolute;left:6%;bottom:13%;width:36%;height:62%;border-radius:10px 10px 0 0;
  background:linear-gradient(180deg,#E5EEF8,#C7D7EA);
  transform:skewX(-5deg);
  box-shadow:0 18px 40px rgba(8,42,85,.12)
}
.building:before{
  content:"";position:absolute;inset:10px 8px auto 8px;height:82%;
  background:
    linear-gradient(0deg,rgba(255,255,255,.8) 1px,transparent 1px),
    linear-gradient(90deg,rgba(133,159,194,.9) 1px,transparent 1px);
  background-size:22px 22px;border-radius:6px
}
.people{position:absolute;left:5%;bottom:0;width:42%;height:48%;display:flex;align-items:flex-end;gap:16px;padding:0 10px 12px}
.person{position:relative;width:30%;max-width:118px;min-width:84px;height:100%}
.person .head{position:absolute;top:12%;left:50%;transform:translateX(-50%);width:24%;aspect-ratio:1;border-radius:50%;background:#FFD9BE}
.person .torso{position:absolute;top:25%;left:50%;transform:translateX(-50%);width:62%;height:44%;border-radius:18px 18px 10px 10px;background:linear-gradient(180deg,#56A8FF,#2B6FEA)}
.person .bag{position:absolute;top:33%;left:18%;width:20%;height:34%;border-radius:10px;background:#9AA9BA}
.person .arm1,.person .arm2{position:absolute;top:33%;width:11%;height:24%;background:#FFD9BE;border-radius:20px}
.person .arm1{left:18%;transform:rotate(16deg)}
.person .arm2{right:18%;transform:rotate(-18deg)}
.person .legs{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:52%;height:36%;background:#1F2A3A;clip-path:polygon(28% 0,45% 0,40% 100%,10% 100%,0 0,18% 0,26% 100%,45% 100%,55% 0,72% 0,100% 100%,76% 100%,64% 0)}
.panel{
  position:absolute;right:6%;top:10%;width:45%;
  background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:24px;padding:22px;
  box-shadow:0 16px 35px rgba(19,36,59,.10)
}
.panel h3{margin:14px 0 0;font-size:36px;line-height:.95;letter-spacing:-.05em;color:var(--navy-2)}
.panel h3 span{color:var(--blue)}
.panel p{margin:12px 0 0;color:var(--muted);line-height:1.7}
.panel-card{margin-top:16px;border:1px solid var(--line);border-radius:18px;background:white;padding:14px}
.panel-card h4{margin:0;font-size:16px;line-height:1.25}
.panel-card p{font-size:13px;margin:8px 0 0}
.slide-bottom{
  position:absolute;left:0;right:0;bottom:0;height:70px;background:linear-gradient(90deg,var(--navy-2),var(--navy));
  color:white;display:flex;align-items:center;justify-content:space-between;padding:0 22px
}
.slide-bottom strong{font-size:15px}
.slide-bottom span{font-size:13px;color:rgba(255,255,255,.82)}
.slider-nav{display:flex;align-items:center;justify-content:space-between;margin-top:14px}
.slider-dots{display:flex;gap:8px}
.slider-dot{width:10px;height:10px;border-radius:999px;background:#CED8EB;border:0;cursor:pointer;transition:.2s ease}
.slider-dot.active{width:30px;background:linear-gradient(90deg,var(--navy),var(--blue))}
.slider-caption{font-size:13px;color:var(--muted);font-weight:850}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{
  background:white;border:1px solid var(--line);border-radius:28px;padding:24px;
  box-shadow:0 14px 36px rgba(19,36,59,.065)
}
.card h3{margin:14px 0 0;font-size:20px;line-height:1.18;font-weight:1000}
.card p{margin:12px 0 0;color:var(--muted);line-height:1.7}
.icon{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:18px;background:#EEF5FF;color:var(--blue);font-size:24px}
.fast-banner{
  border-radius:34px;padding:36px;border:1px solid var(--line);
  background:linear-gradient(135deg,#fff,#F7FAFF 65%,#FFF8E7);
  box-shadow:0 18px 40px rgba(19,36,59,.065)
}
.fast-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center}
.pill-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pill{border:1px solid var(--line);border-radius:18px;background:white;padding:15px;font-weight:850;color:#31415B}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:28px;background:white;box-shadow:0 14px 34px rgba(19,36,59,.06)}
table{width:100%;border-collapse:collapse;min-width:900px}
th,td{padding:14px 16px;text-align:left;border-bottom:1px solid #EDF2FA;font-size:14px;vertical-align:top}
th{background:#F8FAFF;color:#526176;font-weight:950;position:sticky;top:0}
td:first-child{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:#526176}
tr:hover td{background:#FBFCFF}
.course-link{color:var(--blue);font-weight:950}
.course-link:hover{text-decoration:underline}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.stat{background:white;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 10px 24px rgba(19,36,59,.045)}
.stat strong{display:block;font-size:30px;color:var(--blue);font-weight:1000}
.stat span{display:block;margin-top:6px;color:var(--muted);font-size:13px;font-weight:850}
.detail{
  scroll-margin-top:96px;background:white;border:1px solid var(--line);border-radius:24px;overflow:hidden;margin-bottom:12px;
  box-shadow:0 10px 26px rgba(19,36,59,.045)
}
.detail summary{cursor:pointer;list-style:none;padding:20px 22px;display:flex;justify-content:space-between;gap:18px}
.detail summary::-webkit-details-marker{display:none}
.detail-title{font-weight:1000;font-size:17px}
.detail-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}
.detail-body{border-top:1px solid var(--line);padding:0 22px 22px;color:#43536A;line-height:1.78}
.detail-body p{margin:18px 0 0}
.photo-grid{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:20px;margin-top:40px}
.photo-frame{
  min-height:235px;position:relative;overflow:hidden;border-radius:28px;border:1px solid var(--line);
  background:linear-gradient(135deg,#EEF5FF,#fff);box-shadow:0 14px 32px rgba(19,36,59,.06)
}
.photo-frame.wide{min-height:295px}
.photo-frame:before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(0deg,rgba(8,42,85,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(8,42,85,.04) 1px,transparent 1px);
  background-size:28px 28px
}
.photo-frame:after{content:"";position:absolute;inset:18px;border:2px dashed rgba(8,42,85,.16);border-radius:22px}
.photo-content{position:relative;z-index:1;min-height:235px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px}
.photo-icon{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:20px;background:white;color:var(--blue);font-size:26px;box-shadow:0 10px 18px rgba(19,36,59,.08)}
.photo-content h3{margin:16px 0 0;font-size:18px;font-weight:1000}
.photo-content p{max-width:320px;margin:10px 0 0;line-height:1.6;color:var(--muted);font-size:14px}
.photo-note{margin-top:16px;border-radius:999px;background:white;padding:7px 12px;border:1px solid var(--line);font-size:12px;font-weight:850;color:var(--muted)}
.lecturer-card{display:grid;grid-template-columns:92px 1fr;gap:18px;align-items:start}
.avatar{width:92px;height:112px;border-radius:24px;background:linear-gradient(135deg,#EEF5FF,#FFF8E7);border:1px dashed #C9D6EA;display:flex;align-items:center;justify-content:center;color:var(--blue);font-weight:1000;font-size:22px;text-align:center}
.download-card{display:flex;flex-direction:column;min-height:220px}
.download-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}
.link-card{display:block;transition:.18s ease}
.link-card:hover{transform:translateY(-5px);box-shadow:0 18px 34px rgba(19,36,59,.09)}
.form-card{background:white;border:1px solid var(--line);border-radius:30px;padding:26px;box-shadow:0 16px 36px rgba(19,36,59,.065)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:block;color:#31415B;font-size:14px;font-weight:850}
input,textarea{width:100%;margin-top:8px;padding:13px 14px;border:1px solid #CBD5E1;border-radius:16px;outline:0;background:white}
input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(17,77,187,.10)}
textarea{min-height:120px;resize:vertical}
.full{grid-column:1/-1}
.timeline{display:grid;grid-template-columns:repeat(7,1fr);gap:14px}
.step-num{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:16px;background:linear-gradient(180deg,var(--blue-2),var(--blue));color:white;font-weight:1000;margin-bottom:16px}
.faq{max-width:860px;margin:0 auto}
.faq-item{background:white;border:1px solid var(--line);border-radius:24px;margin-bottom:12px;overflow:hidden;box-shadow:0 12px 24px rgba(19,36,59,.045)}
.faq-q{width:100%;display:flex;justify-content:space-between;gap:20px;padding:20px 24px;border:0;background:white;font-size:16px;font-weight:1000;text-align:left;cursor:pointer;color:var(--text)}
.faq-a{display:none;padding:0 24px 22px;color:var(--muted);line-height:1.75}
.faq-item.open .faq-a{display:block}
.footer{background:linear-gradient(90deg,var(--navy-2),var(--navy));color:white;padding:46px 0;border-top:1px solid rgba(255,255,255,.12)}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:36px}
.footer p,.footer a{color:rgba(255,255,255,.72)}
.footer a{display:block;margin:9px 0}
.footer a:hover{color:white}
.footer h3{margin:0 0 14px;color:white}
.note{border:1px solid #F1D27B;background:#FFF8E7;color:#7B560A;border-radius:22px;padding:18px;line-height:1.7;font-size:14px}
@media(max-width:1100px){
  .hero-grid,.grid-2,.fast-grid,.trust-grid{grid-template-columns:1fr}
  .grid-4,.stat-grid{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:1fr 1fr}
  .photo-grid{grid-template-columns:1fr}
  .timeline{grid-template-columns:repeat(2,1fr)}
  .navlinks,.nav-actions{display:none}
  .menu-toggle{display:block}
  .mobile-menu.show{display:block}
  .panel{position:relative;right:auto;top:auto;width:auto;margin:24px}
  .slide{height:560px}
}
@media(max-width:720px){
  .container{padding:0 18px}
  .hero-grid{padding:54px 0 64px}
  .hero h1{font-size:40px}
  .hero p{font-size:16px}
  .grid-4,.grid-3,.stat-grid,.timeline,.form-grid{grid-template-columns:1fr}
  .pill-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .logo{height:42px}
  .slide{height:530px}
  .building{width:42%}
  .people{width:50%}
  .panel h3{font-size:28px}
  .lecturer-card{grid-template-columns:1fr}
}


.home-hero-grid{align-items:start}
.cert-preview-card{
  background:white;
  border:1px solid var(--line);
  border-radius:30px;
  padding:16px;
  box-shadow:0 20px 46px rgba(19,36,59,.10);
  margin-bottom:18px;
}
.cert-preview-grid{
  display:grid;
  grid-template-columns:190px 1fr;
  gap:18px;
  align-items:center;
}
.cert-image-frame{
  position:relative;
  overflow:hidden;
  border-radius:20px;
  border:1px solid var(--line);
  background:#F8FAFF;
  aspect-ratio:1.42/1;
}
.cert-image-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.cert-image-frame:after{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(255,255,255,.55);
  border-radius:20px;
  pointer-events:none;
}
.cert-preview-card h3{
  margin:8px 0 0;
  font-size:22px;
  line-height:1.15;
  font-weight:1000;
  color:var(--navy-2);
}
.cert-preview-card p{
  margin:8px 0 0;
  font-size:14px;
  line-height:1.65;
  color:var(--muted);
}
.cert-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
@media(max-width:720px){
  .cert-preview-grid{grid-template-columns:1fr}
}


.timeline-horizontal-wrap{
  overflow-x:auto;
  padding-bottom:8px;
}
.timeline-horizontal{
  min-width:1180px;
  display:grid;
  grid-template-columns:repeat(7, minmax(150px, 1fr));
  gap:22px;
  align-items:start;
  position:relative;
  padding:26px 0 8px;
}
.timeline-horizontal:before{
  content:"";
  position:absolute;
  left:42px;
  right:42px;
  top:46px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--blue),#86B4FF);
  z-index:0;
}
.timeline-step{
  position:relative;
  z-index:1;
  padding-top:0;
}
.timeline-node{
  width:52px;
  height:52px;
  border-radius:18px;
  background:linear-gradient(180deg,var(--blue-2),var(--blue));
  color:white;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  font-weight:1000;
  box-shadow:0 12px 24px rgba(17,77,187,.22);
  margin-bottom:18px;
}
.timeline-card{
  background:white;
  border:1px solid var(--line);
  border-radius:26px;
  padding:20px 18px 22px;
  min-height:162px;
  box-shadow:0 14px 30px rgba(19,36,59,.055);
}
.timeline-card h3{
  margin:0;
  font-size:19px;
  line-height:1.18;
  letter-spacing:-.02em;
}
.timeline-card p{
  margin:10px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.6;
}
@media(max-width:1100px){
  .timeline-horizontal{
    min-width:1080px;
  }
}
@media(max-width:720px){
  .timeline-horizontal-wrap{
    margin-right:-18px;
    padding-right:18px;
  }
  .timeline-horizontal{
    min-width:980px;
  }
}


.research-highlight{
  margin-top:24px;
}
.research-card-wide{
  max-width:720px;
}
.research-points-inline{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}
.cert-unggul-lockup{
  display:flex;
  gap:14px;
  align-items:flex-start;
}
.cert-medal{
  width:58px;
  height:58px;
  border-radius:18px;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:30px;
  color:#12305C;
  background:radial-gradient(circle at 35% 30%,#FFE49D,#D99D1D 65%,#A66E03);
  box-shadow:inset 0 2px 8px rgba(255,255,255,.52), 0 10px 22px rgba(139,91,7,.18);
}
@media(max-width:1100px){
  .research-points-inline{grid-template-columns:1fr}
}

/* v10 hero right-column fix */

.hero-right-stack{
  display:flex;
  flex-direction:column;
  gap:18px;
  min-width:0;
}
.home-hero-grid{
  grid-template-columns:minmax(0,.92fr) minmax(460px,1.08fr);
  align-items:start;
}
.home-hero-grid > div{
  min-width:0;
}
.cert-preview-card{
  width:100%;
  margin:0;
}
.cert-preview-grid{
  grid-template-columns:180px minmax(0,1fr);
}
.cert-preview-card h3{
  font-size:20px;
}
.cert-preview-card p{
  max-width:100%;
}
.cert-actions .btn{
  min-height:40px;
  padding:10px 14px;
}
@media(max-width:1100px){
  .home-hero-grid{
    grid-template-columns:1fr;
  }
  .cert-preview-grid{
    grid-template-columns:190px 1fr;
  }
}
@media(max-width:720px){
  .cert-preview-grid{
    grid-template-columns:1fr;
  }
}


/* v11 trophy + grouped curriculum table refinements */
.cert-medal,
.medal{
  font-size:28px;
  line-height:1;
}
.grouped-course-table table{
  min-width:760px;
}
.grouped-course-table th:nth-child(1),
.grouped-course-table td:nth-child(1){
  width:90px;
  text-align:center;
}
.grouped-course-table th:nth-child(2),
.grouped-course-table td:nth-child(2){
  width:135px;
}
.grouped-course-table th:nth-child(4),
.grouped-course-table td:nth-child(4){
  width:80px;
  text-align:center;
  font-weight:950;
}
.grouped-course-table th:nth-child(5),
.grouped-course-table td:nth-child(5){
  width:110px;
  text-align:center;
}
.course-group-row td{
  background:linear-gradient(90deg,var(--navy-2),var(--navy)) !important;
  color:white !important;
  border-bottom:0;
  padding:16px 18px !important;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif !important;
}
.course-group-row strong{
  display:block;
  font-size:15px;
  letter-spacing:.02em;
  font-weight:1000;
}
.course-group-row span{
  display:block;
  margin-top:4px;
  color:rgba(255,255,255,.74);
  font-size:12px;
  line-height:1.5;
}
.grouped-course-table .course-group-row:hover td{
  background:linear-gradient(90deg,var(--navy-2),var(--navy)) !important;
}


/* v12 download + testimonial refinements */
.download-card.clean-download{
  min-height:238px;
}
.download-card.clean-download .download-type{
  margin-bottom:12px;
}
.download-card.clean-download h3{
  margin-top:12px;
}
.download-card.clean-download .download-card-footer{
  margin-top:auto;
  justify-content:flex-start;
}
.download-status{
  margin-top:14px;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}
.testimonial-card{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:20px;
  align-items:start;
}
.testimonial-photo{
  width:110px;
  height:132px;
  border-radius:26px;
  border:1px dashed #C9D6EA;
  background:linear-gradient(135deg,#EEF5FF,#FFF8E7);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--blue);
  font-weight:1000;
  text-align:center;
  font-size:14px;
  line-height:1.25;
}
.testimonial-quote{
  margin:14px 0 0;
  color:#40516A;
  line-height:1.75;
  font-size:15px;
}
.origin-label{
  margin-top:8px;
  color:var(--muted);
  font-size:13px;
  font-weight:850;
}
.brochure-preview{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  border:1px solid var(--line);
  background:#F8FAFF;
  min-height:380px;
}
.brochure-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.brochure-preview:after{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(255,255,255,.55);
  border-radius:24px;
  pointer-events:none;
}
@media(max-width:720px){
  .testimonial-card{
    grid-template-columns:1fr;
  }
  .testimonial-photo{
    width:100%;
    height:180px;
  }
}


/* v14 header refinement: gold/silver accent + subtle tech pattern */
:root{
  --header-navy-a:#0B2A56;
  --header-navy-b:#123C76;
  --header-gold:#E3B23C;
  --header-gold-soft:#F4D98B;
  --header-silver:#DCE5F2;
  --header-silver-2:#AFC2DA;
}

.header{
  position:sticky;
  top:0;
  z-index:1000;
  background:
    linear-gradient(90deg, rgba(255,255,255,.06), rgba(255,255,255,0) 18%, rgba(255,255,255,.05) 58%, rgba(255,255,255,0) 100%),
    linear-gradient(90deg, var(--header-navy-a), var(--header-navy-b) 52%, #0A2750 100%);
  border-bottom:1px solid rgba(227,178,60,.24);
  box-shadow:0 10px 28px rgba(8,27,54,.10);
  overflow:hidden;
}

.header::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:3px;
  background:linear-gradient(90deg, transparent 0%, var(--header-gold-soft) 12%, var(--header-gold) 28%, var(--header-gold-soft) 46%, transparent 62%, rgba(220,229,242,.9) 76%, transparent 100%);
  opacity:.95;
  pointer-events:none;
}

.header::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 50%, rgba(255,255,255,.14) 0 2px, transparent 3px) 0 0 / 120px 120px,
    radial-gradient(circle at 32% 30%, rgba(220,229,242,.12) 0 2px, transparent 3px) 0 0 / 145px 145px,
    linear-gradient(90deg, transparent 0 62%, rgba(220,229,242,.16) 62% 62.4%, transparent 62.4% 100%) 0 0 / 220px 100%,
    linear-gradient(180deg, transparent 0 42%, rgba(220,229,242,.13) 42% 42.6%, transparent 42.6% 100%) 0 0 / 180px 100%;
  mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.75) 20%, rgba(0,0,0,.88) 55%, transparent 100%);
  opacity:.55;
}

.navbar{
  position:relative;
  z-index:1;
}

.logo{
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.18));
}

.navlinks a{
  color:rgba(255,255,255,.88);
}

.navlinks a:hover{
  color:#fff;
  background:rgba(255,255,255,.08);
}

.navlinks a.active{
  color:#fff;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(227,178,60,.32);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
}

.nav-cta-outline{
  border:1px solid rgba(220,229,242,.45);
  background:rgba(255,255,255,.02);
}

.nav-cta-outline:hover{
  border-color:rgba(227,178,60,.42);
  background:rgba(255,255,255,.06);
}

.nav-cta-solid{
  background:linear-gradient(135deg, #F0C54A, #D9A62E);
  color:#182B49;
  box-shadow:0 8px 18px rgba(169,118,18,.20);
}

.nav-cta-solid:hover{
  filter:brightness(1.02);
  transform:translateY(-1px);
}

.mobile-toggle{
  border:1px solid rgba(220,229,242,.28);
  background:rgba(255,255,255,.04);
}

.mobile-menu{
  background:linear-gradient(180deg, rgba(9,35,69,.98), rgba(10,41,80,.98));
  border:1px solid rgba(220,229,242,.14);
}

.mobile-menu a.active{
  border-color:rgba(227,178,60,.30);
}

@media (max-width: 900px){
  .header::after{
    mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.78) 16%, rgba(0,0,0,.90) 80%, transparent 100%);
    opacity:.42;
  }
}


/* v15 refinements: realistic icons, gold UAJY text, alumni submenu */
.gold-text{
  color:var(--gold) !important;
  text-shadow:0 3px 12px rgba(230,173,44,.14);
}

.icon.icon-real,
.photo-icon.icon-real{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 30% 22%, rgba(255,255,255,.96), rgba(255,255,255,.20) 30%, transparent 31%),
    linear-gradient(135deg, #F8FBFF 0%, #DCE9FF 52%, #FFFFFF 100%);
  border:1px solid rgba(17,77,187,.18);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 10px 22px rgba(17,77,187,.10);
  color:transparent;
  font-size:0;
}

.icon.icon-real svg,
.photo-icon.icon-real svg{
  width:28px;
  height:28px;
  display:block;
  filter:drop-shadow(0 4px 7px rgba(8,42,85,.16));
}

.icon-award svg .metal,
.photo-icon.icon-award svg .metal{
  fill:url(#goldGrad);
}
.icon-blue svg .blue-fill{fill:url(#blueGrad);}
.icon-blue svg .line{stroke:#0B48B5;}
.icon-gold svg .gold-fill{fill:url(#goldGrad);}
.icon-silver svg .silver-fill{fill:url(#silverGrad);}

.cert-medal{
  font-size:0 !important;
  color:transparent !important;
}
.cert-medal svg,
.medal svg{
  width:34px;
  height:34px;
  display:block;
  filter:drop-shadow(0 5px 8px rgba(104,68,5,.22));
}

.nav-dropdown{
  position:relative;
  display:inline-flex;
  align-items:center;
}

.nav-dropdown-trigger{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:rgba(255,255,255,.88);
  padding:10px 11px;
  border-radius:999px;
  font-size:13px;
  font-weight:850;
  border:0;
  background:transparent;
  cursor:pointer;
  font-family:inherit;
}

.nav-dropdown:hover .nav-dropdown-trigger,
.nav-dropdown:focus-within .nav-dropdown-trigger,
.nav-dropdown.active .nav-dropdown-trigger{
  color:#fff;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(227,178,60,.30);
}

.nav-submenu{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  min-width:230px;
  padding:10px;
  border-radius:18px;
  background:rgba(8,42,85,.98);
  border:1px solid rgba(227,178,60,.22);
  box-shadow:0 18px 40px rgba(8,42,85,.25);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:.18s ease;
}

.nav-dropdown:hover .nav-submenu,
.nav-dropdown:focus-within .nav-submenu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.nav-submenu a{
  display:block;
  border-radius:12px;
  padding:11px 12px;
  color:rgba(255,255,255,.82);
  font-size:13px;
  font-weight:850;
  white-space:nowrap;
}

.nav-submenu a:hover,
.nav-submenu a.active{
  background:rgba(255,255,255,.10);
  color:white;
}

.mobile-submenu-label{
  margin:10px 14px 4px;
  color:rgba(255,255,255,.55);
  font-size:11px;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.mobile-menu a.subitem{
  padding-left:28px;
  color:rgba(255,255,255,.78);
}

.home-alumni-feature{
  margin-top:32px;
}

.pub-card{
  display:grid;
  grid-template-columns:86px 1fr;
  gap:18px;
  align-items:start;
}

.pub-year{
  width:86px;
  height:86px;
  border-radius:24px;
  background:linear-gradient(135deg,var(--navy),var(--blue));
  color:white;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:1000;
  box-shadow:0 14px 28px rgba(17,77,187,.18);
}

.pub-meta{
  margin-top:8px;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
  font-weight:850;
}

@media(max-width:1100px){
  .nav-dropdown{display:none}
}

@media(max-width:720px){
  .pub-card{
    grid-template-columns:1fr;
  }
  .pub-year{
    width:100%;
    height:64px;
  }
}


/* v16: cleaner professional icons + reliable Alumni dropdown */
.icon.icon-real,
.photo-icon.icon-real{
  color:transparent !important;
  font-size:0 !important;
  background:linear-gradient(180deg,#FFFFFF,#F4F8FF) !important;
  border:1px solid rgba(11,77,179,.16) !important;
  box-shadow:0 12px 24px rgba(19,36,59,.08), inset 0 1px 0 rgba(255,255,255,.9) !important;
}

.clean-svg{
  width:30px;
  height:30px;
  display:block;
}

.photo-icon.icon-real .clean-svg{
  width:34px;
  height:34px;
}

.cert-medal,
.medal{
  color:transparent !important;
  font-size:0 !important;
}

.cert-medal .clean-svg,
.medal .clean-svg{
  width:34px;
  height:34px;
  display:block;
}

.nav-dropdown{
  position:relative;
}

.nav-dropdown-trigger{
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}

.nav-dropdown.open .nav-dropdown-trigger{
  color:#fff;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(227,178,60,.30);
}

.nav-dropdown.open .nav-submenu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}

.nav-submenu{
  z-index:3000;
  pointer-events:none;
}

.nav-submenu a{
  text-align:left;
}

@media(max-width:1100px){
  .nav-dropdown{
    display:none;
  }
}


/* v17: fix Alumni dropdown clipping + refine icon visual */
.header{
  overflow:visible !important;
  z-index:5000 !important;
}

.header .container,
.navbar,
.navlinks,
.nav-dropdown{
  overflow:visible !important;
}

.nav-submenu{
  top:calc(100% + 12px) !important;
  left:50% !important;
  transform:translate(-50%, 8px) !important;
  z-index:99999 !important;
  pointer-events:none;
  background:rgba(6,31,66,.98) !important;
  border:1px solid rgba(227,178,60,.36) !important;
  box-shadow:0 24px 52px rgba(6,31,66,.34) !important;
}

.nav-dropdown:hover .nav-submenu,
.nav-dropdown:focus-within .nav-submenu,
.nav-dropdown.open .nav-submenu{
  opacity:1 !important;
  visibility:visible !important;
  transform:translate(-50%, 0) !important;
  pointer-events:auto !important;
}

.nav-submenu::before{
  content:"";
  position:absolute;
  top:-7px;
  left:50%;
  width:14px;
  height:14px;
  transform:translateX(-50%) rotate(45deg);
  background:rgba(6,31,66,.98);
  border-left:1px solid rgba(227,178,60,.28);
  border-top:1px solid rgba(227,178,60,.28);
}

.nav-submenu a{
  position:relative;
  z-index:1;
}

/* make icons calmer and more professional */
.icon.icon-real,
.photo-icon.icon-real{
  background:#F8FBFF !important;
  border:1px solid #DDE6F4 !important;
  box-shadow:0 10px 18px rgba(19,36,59,.055) !important;
}

.clean-svg{
  width:28px !important;
  height:28px !important;
}

.clean-svg path,
.clean-svg circle{
  vector-effect:non-scaling-stroke;
}

.cert-medal{
  background:linear-gradient(180deg,#FFF7DF,#F0BC42) !important;
  border:1px solid rgba(214,155,24,.35) !important;
  box-shadow:0 12px 22px rgba(214,155,24,.18) !important;
}

.cert-medal .clean-svg{
  width:32px !important;
  height:32px !important;
}

@media(max-width:1100px){
  .nav-submenu{
    display:none !important;
  }
}

/* v18: Alumni submenu hover bridge + larger lecturer photo frames */
.nav-dropdown::after{
  content:"";
  position:absolute;
  left:-80px;
  right:-80px;
  top:100%;
  height:18px;
  background:transparent;
  pointer-events:auto;
}

.nav-dropdown:hover .nav-submenu,
.nav-submenu:hover,
.nav-dropdown.hover-open .nav-submenu{
  opacity:1 !important;
  visibility:visible !important;
  transform:translate(-50%, 0) !important;
  pointer-events:auto !important;
}

.nav-dropdown:hover .nav-dropdown-trigger,
.nav-dropdown.hover-open .nav-dropdown-trigger{
  color:#fff;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(227,178,60,.30);
}

.nav-submenu{
  top:calc(100% + 10px) !important;
}

.lecturer-card{
  grid-template-columns:170px 1fr !important;
  gap:24px !important;
  align-items:start !important;
}

.avatar{
  width:170px !important;
  height:220px !important;
  border-radius:30px !important;
  font-size:18px !important;
  line-height:1.25 !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.42)),
    linear-gradient(135deg,#EEF5FF,#FFF8E7) !important;
  border:2px dashed #C9D6EA !important;
  box-shadow:0 16px 30px rgba(19,36,59,.07) !important;
}

#daftar .grid-2{
  gap:26px !important;
}

@media(max-width:900px){
  .lecturer-card{
    grid-template-columns:145px 1fr !important;
  }
  .avatar{
    width:145px !important;
    height:190px !important;
  }
}

@media(max-width:720px){
  .lecturer-card{
    grid-template-columns:1fr !important;
  }
  .avatar{
    width:100% !important;
    height:260px !important;
  }
}

/* v19: Fast Track timeline with blue-gold alternating steps */
.timeline-horizontal:before{
  background:linear-gradient(90deg,var(--blue) 0%, var(--gold) 48%, #7DB0FF 100%) !important;
  height:5px !important;
  box-shadow:0 8px 18px rgba(17,77,187,.10);
}
.timeline-step:nth-child(odd) .timeline-node{
  background:linear-gradient(180deg,var(--blue-2),var(--blue)) !important;
  color:#fff !important;
  box-shadow:0 12px 24px rgba(17,77,187,.22) !important;
}
.timeline-step:nth-child(even) .timeline-node{
  background:linear-gradient(180deg,#F7D06B,var(--gold)) !important;
  color:#10213A !important;
  box-shadow:0 12px 24px rgba(230,173,44,.24) !important;
}
.timeline-step:nth-child(even) .timeline-card{
  border-color:#F1D386 !important;
  background:linear-gradient(180deg,#FFFFFF,#FFF9EA) !important;
}
.timeline-step:nth-child(odd) .timeline-card{
  border-color:#CFE0FF !important;
  background:linear-gradient(180deg,#FFFFFF,#F8FBFF) !important;
}
.timeline-card{position:relative;overflow:hidden}
.timeline-card:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:var(--blue);
}
.timeline-step:nth-child(even) .timeline-card:before{background:var(--gold)}
.timeline-card h3{color:var(--navy-2)}

/* v19: admin demo without database */
.admin-shell{
  min-height:100vh;
  background:radial-gradient(circle at 14% 8%, rgba(17,77,187,.10), transparent 28rem),
    radial-gradient(circle at 92% 0%, rgba(230,173,44,.18), transparent 22rem),
    linear-gradient(180deg,#F7FAFF,#FFFFFF);
  padding:48px 0 80px;
}
.admin-panel{
  background:white;border:1px solid var(--line);border-radius:32px;
  box-shadow:0 18px 44px rgba(19,36,59,.08);padding:28px;
}
.admin-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start}
.admin-field{display:block;margin-top:16px;font-size:14px;font-weight:850;color:#31415B}
.admin-field input,.admin-field select,.admin-field textarea{
  width:100%;margin-top:8px;padding:13px 14px;border:1px solid #CBD5E1;border-radius:16px;outline:0;background:white;font:inherit
}
.admin-field input:focus,.admin-field select:focus,.admin-field textarea:focus{
  border-color:var(--blue);box-shadow:0 0 0 4px rgba(17,77,187,.10)
}
.admin-preview{
  border:1px dashed #C9D6EA;border-radius:24px;min-height:280px;background:#F8FAFF;
  display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--muted);text-align:center
}
.admin-preview img{width:100%;height:100%;object-fit:cover;display:block}
.admin-note{border:1px solid #F1D386;background:#FFF9EA;color:#76520A;border-radius:22px;padding:18px;line-height:1.7;font-size:14px}
.admin-list{display:grid;gap:12px;margin-top:18px}
.admin-list-item{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:14px;background:#F8FAFF}
@media(max-width:900px){.admin-grid{grid-template-columns:1fr}}

/* v3 fixes */
.cert-medal-fixed{font-size:0!important;color:transparent!important;background:linear-gradient(180deg,#FFF7DE,#F4BD39)!important;border:1px solid rgba(214,155,24,.38)!important;box-shadow:0 12px 22px rgba(214,155,24,.18)!important;}
.cert-medal-fixed svg{width:34px;height:34px;display:block;filter:drop-shadow(0 4px 7px rgba(104,68,5,.18));}
.admin-thumb{width:90px;height:68px;object-fit:cover;border-radius:14px;border:1px solid #DDE6F4;background:#F8FAFF;display:block}
.admin-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.admin-form small{display:block;margin-top:6px;color:#64748B}
@media(max-width:900px){.admin-form .form-row{grid-template-columns:1fr}}


/* v4: slogan, alumni highlight, fast track brochure, news slider */
.hero-slogan{
  margin:10px 0 0;
  font-size:clamp(18px,2.1vw,28px);
  font-weight:1000;
  letter-spacing:-.02em;
  line-height:1.2;
}
.home-alumni-showcase .card{
  overflow:hidden;
}
.alumni-feature-card{
  display:grid;
  grid-template-columns:190px 1fr;
  gap:22px;
  align-items:stretch;
  min-height:260px;
}
.alumni-feature-photo{
  min-height:230px;
  border-radius:26px;
  overflow:hidden;
  background:linear-gradient(135deg,#EEF5FF,#FFF8E7);
  border:1px dashed #C9D6EA;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--blue);
  font-weight:1000;
  text-align:center;
}
.alumni-feature-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.alumni-feature-quote{
  margin:12px 0 0;
  color:#40516A;
  line-height:1.75;
}
.fast-brochure-frame{
  min-height:320px;
  border-radius:26px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(135deg,rgba(255,255,255,.24),rgba(255,255,255,.08));
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,.75);
  font-weight:900;
  text-align:center;
}
.fast-brochure-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.news-slider-shell{
  position:relative;
}
.news-slider-track{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
}
.news-card{
  overflow:hidden;
  padding:0 !important;
}
.news-image{
  height:210px;
  background:linear-gradient(135deg,#EEF5FF,#FFF8E7);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--blue);
  font-weight:1000;
}
.news-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.news-body{
  padding:24px;
}
.news-meta{
  color:var(--muted);
  font-size:13px;
  font-weight:850;
  margin:8px 0 0;
}
@media(max-width:1000px){
  .news-slider-track{grid-template-columns:1fr}
  .alumni-feature-card{grid-template-columns:1fr}
  .alumni-feature-photo{min-height:260px}
}


/* v5: visible placeholders + horizontal information cards */
.image-placeholder{
  width:100%;
  min-height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  color:#114DBB;
  background:
    radial-gradient(circle at 26% 24%, rgba(255,255,255,.92), rgba(255,255,255,0) 28%),
    linear-gradient(135deg,#EEF5FF 0%,#FFF8E7 100%);
  position:relative;
  overflow:hidden;
}
.image-placeholder:before{
  content:"";
  width:54px;
  height:42px;
  border-radius:14px;
  border:3px solid rgba(17,77,187,.35);
  background:rgba(255,255,255,.58);
  box-shadow:0 12px 22px rgba(19,36,59,.07);
}
.image-placeholder:after{
  content:"";
  position:absolute;
  inset:18px;
  border:1px dashed rgba(17,77,187,.20);
  border-radius:20px;
  pointer-events:none;
}
.image-placeholder strong{
  display:block;
  font-size:16px;
  color:#0B2A56;
  line-height:1.25;
}
.image-placeholder span{
  display:block;
  max-width:220px;
  font-size:13px;
  color:#64748B;
  line-height:1.5;
  font-weight:800;
}

.alumni-feature-photo .image-placeholder{
  min-height:230px;
}
.fast-brochure-frame{
  background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.08)) !important;
}
.fast-brochure-frame .image-placeholder{
  min-height:320px;
  color:#0B2A56;
}
.news-slider-shell{
  overflow:hidden;
}
.news-slider-track{
  display:flex !important;
  gap:22px;
  overflow-x:auto;
  padding:2px 4px 14px;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
}
.news-card{
  flex:0 0 calc((100% - 44px) / 3);
  min-width:320px;
  scroll-snap-align:start;
}
.news-image{
  height:230px !important;
  border-bottom:1px solid #E2EAF5;
  overflow:hidden;
}
.news-image .image-placeholder{
  min-height:230px;
}
@media(max-width:1100px){
  .news-card{flex-basis:430px}
}
@media(max-width:720px){
  .news-card{flex-basis:88vw;min-width:280px}
  .alumni-feature-card{grid-template-columns:1fr}
  .alumni-feature-photo{min-height:240px}
}


/* v6: force visible image placeholders and 3-column horizontal news layout */
.image-placeholder{
  width:100% !important;
  height:100% !important;
  min-height:inherit;
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  color:#114DBB;
  background:
    radial-gradient(circle at 26% 24%, rgba(255,255,255,.92), rgba(255,255,255,0) 28%),
    linear-gradient(135deg,#EEF5FF 0%,#FFF8E7 100%) !important;
  position:relative;
  overflow:hidden;
  padding:24px;
}
.image-placeholder:before{
  content:"";
  width:62px;
  height:48px;
  border-radius:15px;
  border:3px solid rgba(17,77,187,.35);
  background:rgba(255,255,255,.62);
  box-shadow:0 12px 22px rgba(19,36,59,.07);
}
.image-placeholder:after{
  content:"";
  position:absolute;
  inset:18px;
  border:1px dashed rgba(17,77,187,.22);
  border-radius:20px;
  pointer-events:none;
}
.image-placeholder strong{
  display:block;
  font-size:17px;
  color:#0B2A56;
  line-height:1.25;
  position:relative;
  z-index:1;
}
.image-placeholder span{
  display:block;
  max-width:240px;
  font-size:13px;
  color:#64748B;
  line-height:1.5;
  font-weight:800;
  position:relative;
  z-index:1;
}
.alumni-feature-photo{
  min-height:260px !important;
}
.alumni-feature-photo .image-placeholder,
.news-image .image-placeholder,
.fast-brochure-frame .image-placeholder{
  min-height:100% !important;
}
.fast-brochure-frame{
  min-height:340px !important;
}

/* Force news section horizontal on desktop */
#informasi-kegiatan .news-slider-shell{
  overflow:hidden !important;
}
#informasi-kegiatan .news-slider-track{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:22px !important;
  align-items:stretch !important;
  overflow:visible !important;
  padding:0 !important;
}
#informasi-kegiatan .news-card{
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
  width:100% !important;
  height:100% !important;
  padding:0 !important;
  overflow:hidden !important;
}
#informasi-kegiatan .news-image{
  height:230px !important;
  min-height:230px !important;
  overflow:hidden !important;
  border-bottom:1px solid #E2EAF5;
  background:#F8FAFF !important;
}
#informasi-kegiatan .news-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}
#informasi-kegiatan .news-body{
  padding:24px !important;
  flex:1;
}
.news-more-actions{
  margin-top:28px;
  display:flex;
  justify-content:center;
}
.news-page-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:22px;
}
@media(max-width:1100px){
  #informasi-kegiatan .news-slider-track{
    display:flex !important;
    overflow-x:auto !important;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    padding:0 4px 14px !important;
  }
  #informasi-kegiatan .news-card{
    flex:0 0 430px !important;
    scroll-snap-align:start;
  }
  .news-page-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:720px){
  #informasi-kegiatan .news-card{
    flex-basis:88vw !important;
    min-width:280px !important;
  }
  .news-page-grid{grid-template-columns:1fr;}
}


/* v7 route cleanup + robust placeholder/news layout */
.image-placeholder{
  width:100% !important;
  height:100% !important;
  min-height:220px !important;
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  color:#114DBB;
  background:
    radial-gradient(circle at 26% 24%, rgba(255,255,255,.92), rgba(255,255,255,0) 28%),
    linear-gradient(135deg,#EEF5FF 0%,#FFF8E7 100%) !important;
  position:relative;
  overflow:hidden;
  padding:24px;
}
.image-placeholder:before{
  content:"";
  width:62px;
  height:48px;
  border-radius:15px;
  border:3px solid rgba(17,77,187,.35);
  background:rgba(255,255,255,.62);
  box-shadow:0 12px 22px rgba(19,36,59,.07);
}
.image-placeholder:after{
  content:"";
  position:absolute;
  inset:18px;
  border:1px dashed rgba(17,77,187,.22);
  border-radius:20px;
  pointer-events:none;
}
.image-placeholder strong{font-size:17px;color:#0B2A56;line-height:1.25;position:relative;z-index:1}
.image-placeholder span{max-width:240px;font-size:13px;color:#64748B;line-height:1.5;font-weight:800;position:relative;z-index:1}
.alumni-feature-photo{min-height:260px !important}
.fast-brochure-frame{min-height:340px !important}

/* Force news section horizontal: 3 cards on desktop, swipe on tablet/mobile */
#informasi-kegiatan .news-slider-track{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:22px !important;
  align-items:stretch !important;
}
#informasi-kegiatan .news-card{
  min-width:0 !important;
  width:100% !important;
  padding:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}
#informasi-kegiatan .news-image,
.news-page-grid .news-image{
  height:230px !important;
  min-height:230px !important;
  overflow:hidden !important;
  border-bottom:1px solid #E2EAF5;
  background:#F8FAFF !important;
}
#informasi-kegiatan .news-image img,
.news-page-grid .news-image img{
  width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;
}
#informasi-kegiatan .news-body,
.news-page-grid .news-body{padding:24px !important;flex:1}
.news-more-actions{margin-top:28px;display:flex;justify-content:center}
.news-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
@media(max-width:1100px){
  #informasi-kegiatan .news-slider-track{
    display:flex !important;
    overflow-x:auto !important;
    scroll-snap-type:x proximity;
    padding:0 4px 14px !important;
  }
  #informasi-kegiatan .news-card{flex:0 0 430px !important;scroll-snap-align:start}
  .news-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  #informasi-kegiatan .news-card{flex-basis:88vw !important;min-width:280px !important}
  .news-page-grid{grid-template-columns:1fr}
}


/* v8: menu no-wrap and cleaner nav actions */
.navlinks,
.nav-actions{
  flex-wrap:nowrap !important;
}
.navlinks a,
.nav-dropdown-trigger,
.nav-actions .btn{
  white-space:nowrap !important;
  word-break:keep-all !important;
}
.nav-actions .btn{
  min-width:max-content !important;
}
.nav-actions .btn-primary{
  padding-left:24px !important;
  padding-right:24px !important;
}
@media(max-width:1180px){
  .navlinks{
    gap:6px !important;
  }
  .navlinks a,
  .nav-dropdown-trigger{
    padding-left:10px !important;
    padding-right:10px !important;
    font-size:14px !important;
  }
}


/* v10: homepage hero slide refined
   - use uploaded landscape ratio 1672:941
   - smaller transparent info card at bottom-right
   - remove large text overlay so image stays visible
*/
.slider-shell{
  overflow:hidden;
}
.slider-frame{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  aspect-ratio:1672 / 941;
  min-height:360px;
}
.slider-track{
  height:100%;
}
.slide{
  min-width:100%;
  height:100%;
  position:relative;
  overflow:hidden;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center center !important;
}
.slide:before{
  background:
    linear-gradient(135deg, rgba(8,42,85,.14), transparent 34%),
    linear-gradient(0deg, rgba(255,255,255,.08), rgba(255,255,255,.08));
}
.panel.panel-compact,
.slide .panel{
  position:absolute;
  right:20px;
  bottom:20px;
  top:auto;
  left:auto;
  width:min(44%, 500px);
  max-width:500px;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(226,235,247,.9);
  border-radius:18px;
  padding:14px 16px;
  box-shadow:0 12px 28px rgba(19,36,59,.10);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.slide .panel h3{
  display:none !important;
}
.slide .panel p{
  margin:10px 0 0;
  font-size:15px;
  line-height:1.6;
  color:#45536B;
  font-weight:700;
}
.slide .panel .badge{
  font-size:13px;
  padding:10px 14px;
}
.slide-bottom{
  display:none !important;
}
.slider-caption{
  color:#6A7890;
}
@media(max-width:980px){
  .slider-frame{
    min-height:320px;
  }
  .slide .panel{
    width:min(58%, 420px);
  }
}
@media(max-width:760px){
  .slider-frame{
    min-height:300px;
  }
  .slide .panel{
    width:calc(100% - 28px);
    right:14px;
    bottom:14px;
    padding:12px 14px;
    background:rgba(255,255,255,.78);
  }
  .slide .panel p{
    font-size:14px;
    line-height:1.55;
  }
}


/* v13 FORCE PATCH: smaller hero overlay, bottom-right, transparent.
   This block must be at the VERY END of assets/styles.css */
.hero .slider-shell .slider-frame .slider-track .slide > .panel,
.hero .slider-shell .slider-frame .slider-track .slide > .panel.panel-compact,
.slider-shell .slide > .panel,
.slider-shell .slide > .panel.panel-compact{
  position: absolute !important;
  top: auto !important;
  left: auto !important;
  right: 18px !important;
  bottom: 18px !important;
  width: 255px !important;
  max-width: 255px !important;
  min-width: 0 !important;
  transform: none !important;
  padding: 8px 10px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.30) !important;
  border: 1px solid rgba(255,255,255,.42) !important;
  box-shadow: 0 6px 14px rgba(19,36,59,.05) !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
  z-index: 9 !important;
}

.hero .slider-shell .slide > .panel h3,
.hero .slider-shell .slide > .panel.panel-compact h3,
.slider-shell .slide > .panel h3,
.slider-shell .slide > .panel.panel-compact h3,
.slide-bottom{
  display: none !important;
}

.hero .slider-shell .slide > .panel .badge,
.hero .slider-shell .slide > .panel.panel-compact .badge,
.slider-shell .slide > .panel .badge,
.slider-shell .slide > .panel.panel-compact .badge{
  display: inline-flex !important;
  font-size: 9px !important;
  line-height: 1.1 !important;
  padding: 6px 9px !important;
  border-radius: 999px !important;
}

.hero .slider-shell .slide > .panel p,
.hero .slider-shell .slide > .panel.panel-compact p,
.slider-shell .slide > .panel p,
.slider-shell .slide > .panel.panel-compact p{
  margin: 6px 0 0 !important;
  font-size: 10px !important;
  line-height: 1.32 !important;
  color: rgba(51,65,85,.92) !important;
  font-weight: 700 !important;
}

.slider-frame{
  aspect-ratio: 1672 / 941 !important;
  min-height: 0 !important;
}

.slide{
  height: auto !important;
  aspect-ratio: 1672 / 941 !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

.slider-track{
  transition: transform .9s cubic-bezier(.22,.61,.36,1) !important;
  will-change: transform !important;
}

@media (max-width: 980px){
  .hero .slider-shell .slider-frame .slider-track .slide > .panel,
  .hero .slider-shell .slider-frame .slider-track .slide > .panel.panel-compact,
  .slider-shell .slide > .panel,
  .slider-shell .slide > .panel.panel-compact{
    width: 230px !important;
    max-width: 230px !important;
    right: 14px !important;
    bottom: 14px !important;
  }
}

@media (max-width: 760px){
  .hero .slider-shell .slider-frame .slider-track .slide > .panel,
  .hero .slider-shell .slider-frame .slider-track .slide > .panel.panel-compact,
  .slider-shell .slide > .panel,
  .slider-shell .slide > .panel.panel-compact{
    width: 210px !important;
    max-width: 210px !important;
    right: 10px !important;
    bottom: 10px !important;
    padding: 7px 9px !important;
    background: rgba(255,255,255,.38) !important;
  }
}


/* v14: Fast Track brochure/photo becomes automatic slider on homepage */
.fast-brochure-frame.fasttrack-brochure-slider{
  position:relative !important;
  overflow:hidden !important;
  padding:0 !important;
  display:block !important;
  min-height:0 !important;
  aspect-ratio: 1080 / 1080;
  border-radius:26px;
  background:linear-gradient(135deg,#EEF5FF,#FFF8E7);
}
.fasttrack-brochure-track{
  display:flex !important;
  height:100% !important;
  transition:transform .85s cubic-bezier(.22,.61,.36,1) !important;
  will-change:transform;
}
.fasttrack-brochure-slide{
  min-width:100% !important;
  height:100% !important;
  aspect-ratio: 1080 / 1080;
  position:relative !important;
  overflow:hidden !important;
  background:linear-gradient(135deg,#EEF5FF,#FFF8E7);
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.fasttrack-brochure-slide img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}
.fasttrack-brochure-caption{
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(255,255,255,.58);
  border:1px solid rgba(255,255,255,.65);
  box-shadow:0 10px 26px rgba(19,36,59,.10);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  text-align:left;
}
.fasttrack-brochure-caption strong{
  display:block;
  color:#082A55;
  font-size:13px;
  line-height:1.25;
  font-weight:950;
}
.fasttrack-brochure-caption span{
  display:block;
  margin-top:3px;
  color:#526176;
  font-size:11px;
  line-height:1.35;
  font-weight:800;
}
.fasttrack-brochure-dots{
  position:absolute;
  left:0;
  right:0;
  bottom:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  z-index:5;
}
.fasttrack-brochure-caption + .fasttrack-brochure-dots{
  bottom:10px;
}
.fasttrack-brochure-dots .slider-dot{
  box-shadow:0 4px 12px rgba(19,36,59,.16);
  background:rgba(255,255,255,.72);
}
.fasttrack-brochure-dots .slider-dot.active{
  background:linear-gradient(90deg,var(--navy),var(--blue));
}
@media(max-width:760px){
  .fast-brochure-frame.fasttrack-brochure-slider{
    border-radius:22px;
  }
  .fasttrack-brochure-caption{
    left:10px;
    right:10px;
    bottom:10px;
    padding:9px 10px;
  }
}


/* v15: Fast Track slider uses Instagram portrait ratio 4:5 (1080x1350) */
.fast-brochure-frame.fasttrack-brochure-slider{
  aspect-ratio: 4 / 5 !important;
  max-width: 540px;
  margin-left:auto;
  margin-right:auto;
  background:#F8FAFF !important;
}
.fasttrack-brochure-slide{
  aspect-ratio: 4 / 5 !important;
  height:100% !important;
  background:#F8FAFF !important;
}
.fasttrack-brochure-slide img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}
/* Caption dimatikan agar desain brosur Instagram tidak tertutup teks tambahan */
.fasttrack-brochure-caption{
  display:none !important;
}
.fasttrack-brochure-dots{
  bottom:10px !important;
}
.fasttrack-brochure-dots .slider-dot{
  width:9px !important;
  height:9px !important;
  background:rgba(255,255,255,.82) !important;
  border:1px solid rgba(0,90,169,.25) !important;
}
.fasttrack-brochure-dots .slider-dot.active{
  width:26px !important;
  background:linear-gradient(90deg,var(--navy),var(--blue)) !important;
}
@media(max-width:1000px){
  .fast-brochure-frame.fasttrack-brochure-slider{
    max-width:420px;
  }
}


/* v16: kecilkan ukuran slider brosur Fast Track homepage */
.fast-brochure-frame.fasttrack-brochure-slider{
  max-width: 460px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Jaga rasio tetap Instagram post 4:5 */
.fast-brochure-frame.fasttrack-brochure-slider,
.fasttrack-brochure-slide{
  aspect-ratio: 4 / 5 !important;
}

@media(max-width:1000px){
  .fast-brochure-frame.fasttrack-brochure-slider{
    max-width: 380px !important;
  }
}

@media(max-width:640px){
  .fast-brochure-frame.fasttrack-brochure-slider{
    max-width: 320px !important;
  }
}


/* v17: footer official links + admin analytics */
.footer-social-links{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:18px;
}
.footer-icon-link{
  display:inline-flex !important;
  align-items:center;
  gap:10px;
  width:max-content;
  max-width:100%;
  padding:10px 12px;
  border-radius:999px;
  color:rgba(255,255,255,.88) !important;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  font-weight:850;
  line-height:1.35;
}
.footer-icon-link:hover{
  color:#fff !important;
  background:rgba(255,255,255,.14);
  transform:translateY(-1px);
}
.footer-icon{
  width:34px;
  height:34px;
  min-width:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:linear-gradient(135deg,var(--gold),#FFE29A);
  color:#082A55;
  box-shadow:0 10px 22px rgba(230,173,44,.16);
}
.analytics-stat-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-bottom:22px;
}
.analytics-stat{
  background:#fff;
  border:1px solid #DDE6F4;
  border-radius:22px;
  padding:18px;
  box-shadow:0 14px 36px rgba(19,36,59,.06);
}
.analytics-stat span{
  display:block;
  color:#64748B;
  font-size:13px;
  font-weight:900;
}
.analytics-stat strong{
  display:block;
  margin-top:8px;
  font-size:32px;
  color:#13243B;
}
.analytics-bars{
  display:flex;
  align-items:end;
  gap:8px;
  height:170px;
  padding:18px 8px 8px;
  border-radius:20px;
  background:linear-gradient(180deg,#F8FAFF,#FFFFFF);
  border:1px solid #E2EAF5;
}
.analytics-bar{
  flex:1;
  min-width:18px;
  border-radius:10px 10px 4px 4px;
  background:linear-gradient(180deg,var(--blue),var(--navy));
  position:relative;
}
.analytics-bar small{
  position:absolute;
  left:50%;
  bottom:-26px;
  transform:translateX(-50%) rotate(-35deg);
  transform-origin:center;
  color:#64748B;
  font-size:10px;
  white-space:nowrap;
}
@media(max-width:1000px){
  .analytics-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .analytics-stat-grid{grid-template-columns:1fr}
  .footer-icon-link{width:100%}
}

/* v18: News read more preview */
.news-body{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.news-readmore-text{
  width:100%;
  margin:14px 0 0;
  color:var(--muted);
  line-height:1.72;
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-clamp:3;
}
.news-readmore-text.is-expanded{
  display:block;
  overflow:visible;
  -webkit-line-clamp:unset;
  line-clamp:unset;
}
.news-readmore-toggle{
  margin-top:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:36px;
  padding:9px 14px;
  border-radius:999px;
  border:1px solid #C6D8FF;
  background:#EEF5FF;
  color:#0B48B5;
  font-size:13px;
  font-weight:950;
  cursor:pointer;
  transition:.18s ease;
}
.news-readmore-toggle:hover{
  transform:translateY(-1px);
  background:#E3EEFF;
}
.news-readmore-toggle::after{
  content:"↓";
  font-weight:1000;
}
.news-readmore-toggle.is-expanded::after{
  content:"↑";
}
.news-body > .btn{
  margin-top:14px;
}
#informasi-kegiatan .news-card,
.news-page-grid .news-card{
  height:100%;
}
#informasi-kegiatan .news-body,
.news-page-grid .news-body{
  height:100%;
}
@media(max-width:760px){
  .news-readmore-text{
    -webkit-line-clamp:4;
    line-clamp:4;
  }
}

/* v19: ensure Read more button visible on news cards */
.news-readmore-text{
  width:100%;
  margin:14px 0 0;
  color:var(--muted);
  line-height:1.72;
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-clamp:3;
}
.news-readmore-text.is-expanded{
  display:block !important;
  overflow:visible !important;
  -webkit-line-clamp:unset !important;
  line-clamp:unset !important;
}
.news-readmore-toggle{
  margin-top:12px;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:36px;
  padding:9px 14px;
  border-radius:999px;
  border:1px solid #C6D8FF;
  background:#EEF5FF;
  color:#0B48B5;
  font-size:13px;
  font-weight:950;
  cursor:pointer;
  transition:.18s ease;
}
.news-readmore-toggle:hover{
  transform:translateY(-1px);
  background:#E3EEFF;
}
.news-readmore-toggle::after{
  content:"↓";
  font-weight:1000;
}
.news-readmore-toggle.is-expanded::after{
  content:"↑";
}
.news-body > .btn{
  margin-top:14px;
}

/* v20: Read more dedup display fix */
.news-readmore-toggle + .news-readmore-toggle{
  display:none !important;
}

/* v21: Read more expand fix */
.news-readmore-text{
  width:100%;
  margin:14px 0 0;
  color:var(--muted);
  line-height:1.72;
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-clamp:3;
  max-height:none;
}
.news-readmore-text.is-expanded{
  display:block !important;
  overflow:visible !important;
  max-height:none !important;
  height:auto !important;
  -webkit-line-clamp:unset !important;
  line-clamp:unset !important;
}
.news-readmore-toggle{
  margin-top:12px;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:36px;
  padding:9px 14px;
  border-radius:999px;
  border:1px solid #C6D8FF;
  background:#EEF5FF;
  color:#0B48B5;
  font-size:13px;
  font-weight:950;
  cursor:pointer;
  transition:.18s ease;
}
.news-readmore-toggle:hover{
  transform:translateY(-1px);
  background:#E3EEFF;
}
.news-readmore-toggle::after{
  content:"↓";
  font-weight:1000;
}
.news-readmore-toggle.is-expanded::after{
  content:"↑";
}
.news-readmore-toggle + .news-readmore-toggle{
  display:none !important;
}

/* v22: kecilkan lagi slider brosur Fast Track homepage */
.fast-brochure-frame.fasttrack-brochure-slider{
  max-width: 360px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Rasio tetap Instagram post 4:5 */
.fast-brochure-frame.fasttrack-brochure-slider,
.fasttrack-brochure-slide{
  aspect-ratio: 4 / 5 !important;
}

.fasttrack-brochure-slide img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

@media(max-width:1000px){
  .fast-brochure-frame.fasttrack-brochure-slider{
    max-width: 320px !important;
  }
}

@media(max-width:640px){
  .fast-brochure-frame.fasttrack-brochure-slider{
    max-width: 280px !important;
  }
}

/* v23: Testimoni alumni read more */
.testimonial-readmore-text{
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-clamp:3;
}
.testimonial-readmore-text.is-expanded{
  display:block !important;
  overflow:visible !important;
  max-height:none !important;
  height:auto !important;
  -webkit-line-clamp:unset !important;
  line-clamp:unset !important;
}
.testimonial-readmore-toggle{
  margin-top:12px;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:34px;
  padding:8px 13px;
  border-radius:999px;
  border:1px solid #C6D8FF;
  background:#EEF5FF;
  color:#0B48B5;
  font-size:13px;
  font-weight:950;
  cursor:pointer;
  transition:.18s ease;
}
.testimonial-readmore-toggle:hover{
  transform:translateY(-1px);
  background:#E3EEFF;
}
.testimonial-readmore-toggle::after{
  content:"↓";
  font-weight:1000;
}
.testimonial-readmore-toggle.is-expanded::after{
  content:"↑";
}
.testimonial-readmore-toggle + .testimonial-readmore-toggle{
  display:none !important;
}

/* v24: Beasiswa, penjurusan, and 3-semester study plan */
.concentration-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.concentration-card{
  padding:28px;
  position:relative;
  overflow:hidden;
}
.concentration-card:before{
  content:"";
  position:absolute;
  right:-50px;
  top:-50px;
  width:140px;
  height:140px;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(17,96,214,.10),rgba(230,173,44,.14));
}
.concentration-number{
  display:inline-flex;
  width:52px;
  height:52px;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:linear-gradient(135deg,var(--blue),var(--navy));
  color:#fff;
  font-weight:950;
  margin-bottom:18px;
}
.concentration-card h3{
  margin:0 0 12px;
  color:#13243B;
  font-size:24px;
  line-height:1.15;
}
.concentration-card p{
  color:#66758D;
  line-height:1.75;
  margin:0;
}
.scholarship-mini-grid,
.scholarship-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.scholarship-mini-card{
  padding:26px;
}
.scholarship-mini-card h3,
.scholarship-card h3{
  margin:14px 0 10px;
  color:#13243B;
  font-size:24px;
  line-height:1.15;
}
.scholarship-mini-card p,
.scholarship-card p{
  color:#66758D;
  line-height:1.72;
}
.section-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:28px;
}
.scholarship-card{
  padding:28px;
  display:grid;
  grid-template-columns:72px 1fr;
  gap:20px;
}
.scholarship-icon{
  width:72px;
  height:72px;
  border-radius:24px;
  background:linear-gradient(135deg,#EEF5FF,#FFF7DB);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#0B48B5;
  font-size:32px;
  font-weight:950;
  overflow:hidden;
  border:1px solid #E2EAF5;
}
.scholarship-icon img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.scholarship-provider{
  font-weight:900;
  color:#0B48B5 !important;
}
.scholarship-note{
  margin:16px 0;
  padding:16px;
  border-radius:18px;
  background:#F8FAFF;
  border:1px solid #E2EAF5;
  color:#526176;
  line-height:1.65;
}
.tuition-info-card{
  margin-top:28px;
  padding:28px;
  border-radius:28px;
  border:1px solid #E2EAF5;
  background:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  box-shadow:0 18px 44px rgba(19,36,59,.06);
}
.tuition-info-card h3{
  margin:14px 0 8px;
  font-size:26px;
  color:#13243B;
}
.tuition-info-card p{
  margin:0;
  color:#66758D;
  line-height:1.7;
}
.study-plan-table .study-plan-total td{
  background:#EEF5FF;
  color:#082A55;
  font-weight:950;
}
.study-plan-table .study-plan-total.grand td{
  background:linear-gradient(90deg,var(--navy),var(--blue));
  color:#fff;
  font-size:18px;
}
@media(max-width:1100px){
  .concentration-grid,
  .scholarship-mini-grid,
  .scholarship-grid{
    grid-template-columns:1fr;
  }
  .tuition-info-card{
    align-items:flex-start;
    flex-direction:column;
  }
}
@media(max-width:720px){
  .scholarship-card{
    grid-template-columns:1fr;
  }
}

/* v25: Beasiswa icon/logo fit fix */
.scholarship-icon{
  overflow:hidden !important;
  background:#ffffff !important;
  border:1px solid #DDE6F4 !important;
  box-shadow:0 10px 28px rgba(19,36,59,.07) !important;
}
.scholarship-icon img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  padding:10px !important;
  background:#ffffff !important;
  border-radius:20px !important;
  box-sizing:border-box !important;
}
.scholarship-card .scholarship-icon{
  width:86px !important;
  height:86px !important;
  min-width:86px !important;
}
@media(max-width:720px){
  .scholarship-card .scholarship-icon{
    width:76px !important;
    height:76px !important;
    min-width:76px !important;
  }
}

/* v26: homepage testimonial readmore + photo fit */
#alumni-keunggulan .alumni-feature-card:first-child .alumni-feature-photo,
.home-alumni-showcase .alumni-feature-card:first-child .alumni-feature-photo{
  min-height: 360px !important;
  height: 360px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 20% 15%, rgba(17,96,214,.08), transparent 30%),
    linear-gradient(135deg,#F8FAFF,#FFF9E8) !important;
  border:1px dashed #C9D6EA !important;
  border-radius:28px !important;
}

#alumni-keunggulan .alumni-feature-card:first-child .alumni-feature-photo img,
.home-alumni-showcase .alumni-feature-card:first-child .alumni-feature-photo img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  background:transparent !important;
  padding:0 !important;
  display:block !important;
}

#alumni-keunggulan .alumni-feature-quote.testimonial-readmore-text,
.home-alumni-showcase .alumni-feature-quote.testimonial-readmore-text{
  overflow:hidden !important;
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:5 !important;
  line-clamp:5 !important;
}

#alumni-keunggulan .alumni-feature-quote.testimonial-readmore-text.is-expanded,
.home-alumni-showcase .alumni-feature-quote.testimonial-readmore-text.is-expanded{
  display:block !important;
  overflow:visible !important;
  max-height:none !important;
  height:auto !important;
  -webkit-line-clamp:unset !important;
  line-clamp:unset !important;
}

#alumni-keunggulan .testimonial-readmore-toggle,
.home-alumni-showcase .testimonial-readmore-toggle{
  margin-top:12px;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:34px;
  padding:8px 13px;
  border-radius:999px;
  border:1px solid #C6D8FF;
  background:#EEF5FF;
  color:#0B48B5;
  font-size:13px;
  font-weight:950;
  cursor:pointer;
  transition:.18s ease;
}

#alumni-keunggulan .testimonial-readmore-toggle:hover,
.home-alumni-showcase .testimonial-readmore-toggle:hover{
  transform:translateY(-1px);
  background:#E3EEFF;
}

#alumni-keunggulan .testimonial-readmore-toggle::after,
.home-alumni-showcase .testimonial-readmore-toggle::after{
  content:"↓";
  font-weight:1000;
}

#alumni-keunggulan .testimonial-readmore-toggle.is-expanded::after,
.home-alumni-showcase .testimonial-readmore-toggle.is-expanded::after{
  content:"↑";
}

@media(max-width:720px){
  #alumni-keunggulan .alumni-feature-card:first-child .alumni-feature-photo,
  .home-alumni-showcase .alumni-feature-card:first-child .alumni-feature-photo{
    min-height:300px !important;
    height:300px !important;
  }
}

/* v28: Testimoni page read more click fix */
.testimonial-readmore-text{
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-clamp:3;
}
.testimonial-readmore-text.is-expanded,
.testimonial-readmore-text[data-expanded="true"]{
  display:block !important;
  overflow:visible !important;
  max-height:none !important;
  height:auto !important;
  -webkit-line-clamp:unset !important;
  line-clamp:unset !important;
}
.testimonial-readmore-toggle{
  margin-top:12px;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:34px;
  padding:8px 13px;
  border-radius:999px;
  border:1px solid #C6D8FF;
  background:#EEF5FF;
  color:#0B48B5;
  font-size:13px;
  font-weight:950;
  cursor:pointer;
  transition:.18s ease;
  position:relative;
  z-index:30;
}
.testimonial-readmore-toggle:hover{
  transform:translateY(-1px);
  background:#E3EEFF;
}
.testimonial-readmore-toggle::after{
  content:"↓";
  font-weight:1000;
}
.testimonial-readmore-toggle.is-expanded::after{
  content:"↑";
}
.testimonial-readmore-toggle + .testimonial-readmore-toggle{
  display:none !important;
}
.testimonial-card .testimonial-photo img,
.testimonial-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
  border-radius:inherit;
}

/* v29: homepage alumni photo compact, no large empty top space */
#alumni-keunggulan .alumni-feature-card:first-child,
.home-alumni-showcase .alumni-feature-card:first-child{
  align-items:flex-start !important;
}

#alumni-keunggulan .alumni-feature-card:first-child .alumni-feature-photo,
.home-alumni-showcase .alumni-feature-card:first-child .alumni-feature-photo{
  height: 335px !important;
  min-height: 335px !important;
  max-height: 335px !important;
  aspect-ratio: 3 / 4 !important;
  align-self:flex-start !important;
  display:flex !important;
  align-items:stretch !important;
  justify-content:center !important;
  overflow:hidden !important;
  padding:0 !important;
  border:1px dashed #C9D6EA !important;
  border-radius:28px !important;
  background:linear-gradient(135deg,#F8FAFF,#FFF9E8) !important;
}

#alumni-keunggulan .alumni-feature-card:first-child .alumni-feature-photo img,
.home-alumni-showcase .alumni-feature-card:first-child .alumni-feature-photo img{
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center 42% !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:24px !important;
  background:transparent !important;
}

/* Jika gambar yang diupload sudah memiliki ruang kosong di bagian atas, crop sedikit lebih agresif. */
#alumni-keunggulan .alumni-feature-card:first-child .alumni-feature-photo img[src*="uploads"],
.home-alumni-showcase .alumni-feature-card:first-child .alumni-feature-photo img[src*="uploads"]{
  transform:scale(1.12) !important;
  transform-origin:center 42% !important;
}

@media(max-width:1100px){
  #alumni-keunggulan .alumni-feature-card:first-child .alumni-feature-photo,
  .home-alumni-showcase .alumni-feature-card:first-child .alumni-feature-photo{
    height:310px !important;
    min-height:310px !important;
    max-height:310px !important;
  }
}

@media(max-width:720px){
  #alumni-keunggulan .alumni-feature-card:first-child .alumni-feature-photo,
  .home-alumni-showcase .alumni-feature-card:first-child .alumni-feature-photo{
    width:100% !important;
    height:300px !important;
    min-height:300px !important;
    max-height:300px !important;
    aspect-ratio:auto !important;
  }

  #alumni-keunggulan .alumni-feature-card:first-child .alumni-feature-photo img,
  .home-alumni-showcase .alumni-feature-card:first-child .alumni-feature-photo img{
    object-position:center 38% !important;
  }
}

/* v30: homepage alumni photo no-overlap fix */
#alumni-keunggulan .alumni-feature-card:first-child,
.home-alumni-showcase .alumni-feature-card:first-child{
  display:grid !important;
  grid-template-columns: 250px minmax(0, 1fr) !important;
  gap: 30px !important;
  align-items:flex-start !important;
  overflow:hidden !important;
}

#alumni-keunggulan .alumni-feature-card:first-child .alumni-feature-photo,
.home-alumni-showcase .alumni-feature-card:first-child .alumni-feature-photo{
  grid-column:1 !important;
  width:250px !important;
  min-width:250px !important;
  max-width:250px !important;
  height:330px !important;
  min-height:330px !important;
  max-height:330px !important;
  aspect-ratio:auto !important;
  display:block !important;
  overflow:hidden !important;
  padding:0 !important;
  margin:0 !important;
  border:1px dashed #C9D6EA !important;
  border-radius:28px !important;
  background:linear-gradient(135deg,#F8FAFF,#FFF9E8) !important;
  position:relative !important;
  z-index:1 !important;
}

#alumni-keunggulan .alumni-feature-card:first-child .alumni-feature-photo img,
.home-alumni-showcase .alumni-feature-card:first-child .alumni-feature-photo img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center top !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:24px !important;
  background:transparent !important;
  transform:none !important;
  transform-origin:center center !important;
}

#alumni-keunggulan .alumni-feature-card:first-child > div:not(.alumni-feature-photo),
.home-alumni-showcase .alumni-feature-card:first-child > div:not(.alumni-feature-photo){
  grid-column:2 !important;
  min-width:0 !important;
  max-width:100% !important;
  position:relative !important;
  z-index:2 !important;
}

/* Pastikan tombol read more tetap di area teks, bukan menumpuk foto */
#alumni-keunggulan .alumni-feature-card:first-child .testimonial-readmore-toggle,
.home-alumni-showcase .alumni-feature-card:first-child .testimonial-readmore-toggle{
  position:relative !important;
  z-index:3 !important;
}

/* Layout tablet */
@media(max-width:1100px){
  #alumni-keunggulan .alumni-feature-card:first-child,
  .home-alumni-showcase .alumni-feature-card:first-child{
    grid-template-columns: 220px minmax(0, 1fr) !important;
    gap:24px !important;
  }

  #alumni-keunggulan .alumni-feature-card:first-child .alumni-feature-photo,
  .home-alumni-showcase .alumni-feature-card:first-child .alumni-feature-photo{
    width:220px !important;
    min-width:220px !important;
    max-width:220px !important;
    height:300px !important;
    min-height:300px !important;
    max-height:300px !important;
  }
}

/* Layout mobile: foto di atas, teks di bawah */
@media(max-width:720px){
  #alumni-keunggulan .alumni-feature-card:first-child,
  .home-alumni-showcase .alumni-feature-card:first-child{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }

  #alumni-keunggulan .alumni-feature-card:first-child .alumni-feature-photo,
  .home-alumni-showcase .alumni-feature-card:first-child .alumni-feature-photo{
    grid-column:1 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:320px !important;
    min-height:320px !important;
    max-height:320px !important;
  }

  #alumni-keunggulan .alumni-feature-card:first-child > div:not(.alumni-feature-photo),
  .home-alumni-showcase .alumni-feature-card:first-child > div:not(.alumni-feature-photo){
    grid-column:1 !important;
  }
}

/* v31: page hero banner image from Admin > Banner Halaman */
.page-hero-visual.has-image{
  padding:0 !important;
  overflow:hidden !important;
  background:#F8FAFF !important;
}
.page-hero-visual.has-image .page-hero-image{
  width:100% !important;
  height:100% !important;
  min-height:280px;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  border-radius:inherit;
}
.admin-banner-thumb{
  width:240px;
  height:135px;
  object-fit:cover;
  border-radius:18px;
  border:1px solid #DDE6F4;
  background:#F8FAFF;
  display:block;
}
.admin-banner-empty{
  width:240px;
  height:135px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  border:1px dashed #C9D6EA;
  background:#F8FAFF;
  color:#64748B;
  font-weight:900;
}
@media(max-width:760px){
  .page-hero-visual.has-image .page-hero-image{
    min-height:220px;
  }
}

/* v32: dosen links + mobile header + photo aspect fix */

/* Hindari horizontal overflow di mobile yang membuat hero/header terasa mepet atau terpotong */
html, body{
  max-width:100%;
  overflow-x:hidden;
}

/* Link akademik dosen */
.lecturer-profile-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.lecturer-profile-links a,
.lecturer-profile-links span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#F8FAFF;
  color:#0B48B5;
  font-size:13px;
  font-weight:950;
  line-height:1.2;
  text-decoration:none;
}
.lecturer-profile-links a:hover{
  background:#EEF5FF;
  border-color:#C6D8FF;
  transform:translateY(-1px);
}

/* Foto dosen tidak gepeng */
.lecturer-card img.avatar,
img.avatar{
  object-fit:cover !important;
  object-position:center top !important;
  display:block !important;
}

/* Umum: foto card penting tidak stretch */
.testimonial-photo img,
.publication-card img,
.news-card img,
.gallery-card img,
.page-hero-image,
.cert-image-frame img,
.brochure-preview img{
  object-fit:cover;
  object-position:center center;
}

/* Mobile refinement */
@media(max-width:720px){
  .container{
    width:100% !important;
    max-width:100% !important;
    padding-left:24px !important;
    padding-right:24px !important;
    box-sizing:border-box !important;
  }

  .header .container{
    padding-left:24px !important;
    padding-right:24px !important;
  }

  .navbar{
    padding:16px 0 !important;
    gap:14px !important;
  }

  .logo{
    height:44px !important;
    max-width:235px !important;
  }

  .menu-toggle{
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    border-radius:20px !important;
    font-size:28px !important;
  }

  .hero,
  .hero-grid,
  .home-hero-grid{
    max-width:100% !important;
    overflow:hidden !important;
  }

  .hero-grid,
  .home-hero-grid{
    grid-template-columns:minmax(0,1fr) !important;
    padding-top:54px !important;
    padding-bottom:60px !important;
  }

  .hero-grid > *,
  .home-hero-grid > *{
    min-width:0 !important;
    max-width:100% !important;
  }

  .hero h1{
    max-width:100% !important;
    font-size:clamp(36px, 10.5vw, 46px) !important;
    line-height:1.04 !important;
    letter-spacing:-.045em !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  .hero p{
    max-width:100% !important;
    font-size:16px !important;
    line-height:1.75 !important;
  }

  .hero-pills,
  .hero-actions{
    max-width:100% !important;
    flex-wrap:wrap !important;
  }

  .hero-actions .btn{
    flex:1 1 auto;
    white-space:nowrap;
    padding-left:16px !important;
    padding-right:16px !important;
  }

  /* Kartu dosen mobile: foto full width, tidak gepeng */
  .lecturer-card{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }

  .lecturer-card .avatar{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:4 / 3 !important;
    max-height:340px !important;
    border-radius:28px !important;
    font-size:18px !important;
  }

  .lecturer-card img.avatar{
    width:100% !important;
    height:auto !important;
    aspect-ratio:4 / 3 !important;
    object-fit:cover !important;
    object-position:center top !important;
  }

  .lecturer-profile-links a,
  .lecturer-profile-links span{
    font-size:12px;
    padding:8px 11px;
  }
}

@media(max-width:420px){
  .container,
  .header .container{
    padding-left:22px !important;
    padding-right:22px !important;
  }

  .logo{
    height:40px !important;
    max-width:210px !important;
  }

  .menu-toggle{
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
  }

  .hero h1{
    font-size:clamp(34px, 10.2vw, 42px) !important;
  }
}

/* v34: mobile images + header final fix */
html,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden !important;
}

img{
  max-width:100%;
}

/* Header mobile tidak terlalu mepet dan tidak crop */
@media(max-width:760px){
  .header,
  header.header,
  .site-header{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  .header .container,
  header.header .container,
  .site-header .container{
    width:100% !important;
    max-width:100% !important;
    padding-left:28px !important;
    padding-right:28px !important;
    box-sizing:border-box !important;
  }

  .navbar,
  .header .navbar{
    width:100% !important;
    max-width:100% !important;
    padding-top:16px !important;
    padding-bottom:16px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:14px !important;
    box-sizing:border-box !important;
  }

  .brand,
  .logo-link,
  .navbar > a:first-child{
    min-width:0 !important;
    max-width:calc(100% - 78px) !important;
    overflow:hidden !important;
  }

  .logo{
    height:42px !important;
    max-width:220px !important;
    width:auto !important;
    object-fit:contain !important;
    object-position:left center !important;
    display:block !important;
  }

  .menu-toggle{
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    max-width:58px !important;
    border-radius:20px !important;
    flex:0 0 auto !important;
  }
}

@media(max-width:420px){
  .header .container,
  header.header .container,
  .site-header .container{
    padding-left:24px !important;
    padding-right:24px !important;
  }

  .logo{
    height:40px !important;
    max-width:205px !important;
  }

  .menu-toggle{
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
  }
}

/* Hero dan section mobile tidak boleh lebih lebar dari layar */
@media(max-width:760px){
  .container{
    width:100% !important;
    max-width:100% !important;
    padding-left:24px !important;
    padding-right:24px !important;
    box-sizing:border-box !important;
  }

  .hero,
  .section,
  main{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  .hero-grid,
  .home-hero-grid,
  .grid-2,
  .alumni-feature-grid,
  .news-grid,
  .scholarship-grid,
  .concentration-grid,
  .lecturer-grid,
  .publication-grid{
    width:100% !important;
    max-width:100% !important;
    grid-template-columns:minmax(0, 1fr) !important;
    overflow:hidden !important;
  }

  .hero-grid > *,
  .home-hero-grid > *,
  .grid-2 > *,
  .alumni-feature-grid > *,
  .news-grid > *,
  .scholarship-grid > *,
  .concentration-grid > *,
  .lecturer-grid > *,
  .publication-grid > *{
    min-width:0 !important;
    max-width:100% !important;
  }

  .hero h1{
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    font-size:clamp(38px, 11vw, 48px) !important;
    line-height:1.02 !important;
    letter-spacing:-0.045em !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  .hero p{
    max-width:100% !important;
    font-size:16px !important;
    line-height:1.75 !important;
  }

  .hero-pills,
  .hero-actions{
    max-width:100% !important;
    flex-wrap:wrap !important;
  }

  .hero-actions .btn{
    max-width:100% !important;
    white-space:nowrap !important;
  }
}

/* Banner kanan/hero page yang diupload: mobile tidak gepeng dan tidak kepotong kiri */
.page-hero-visual.has-image,
.photo-frame.wide.page-hero-visual.has-image{
  overflow:hidden !important;
}

.page-hero-visual.has-image .page-hero-image,
.photo-frame.wide.page-hero-visual.has-image .page-hero-image{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:100% !important;
  object-position:center center !important;
}

@media(max-width:760px){
  .photo-frame.wide,
  .page-hero-visual,
  .photo-frame.wide.page-hero-visual,
  .photo-frame.wide.page-hero-visual.has-image{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:16 / 9 !important;
    padding:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    border-radius:26px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  .photo-frame.wide.page-hero-visual.has-image .page-hero-image,
  .page-hero-visual.has-image .page-hero-image{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    background:#F8FAFF !important;
    border-radius:inherit !important;
    transform:none !important;
  }
}

/* Testimoni dan publikasi: gambar upload tidak gepeng */
.testimonial-photo,
.publication-photo,
.publication-image,
.alumni-publication-photo,
.news-photo,
.news-card-image,
.gallery-photo,
.lecturer-card .avatar,
.avatar{
  overflow:hidden !important;
}

.testimonial-photo img,
.publication-photo img,
.publication-image img,
.alumni-publication-photo img,
.news-photo img,
.news-card-image img,
.gallery-photo img,
.lecturer-card img.avatar,
img.avatar{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center top !important;
  transform:none !important;
}

/* Mobile: card images pakai rasio stabil, bukan stretch dari tinggi lama */
@media(max-width:760px){
  .testimonial-photo,
  .publication-photo,
  .publication-image,
  .alumni-publication-photo,
  .news-photo,
  .news-card-image,
  .gallery-photo{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:16 / 10 !important;
    border-radius:26px !important;
    overflow:hidden !important;
  }

  .testimonial-photo img,
  .publication-photo img,
  .publication-image img,
  .alumni-publication-photo img,
  .news-photo img,
  .news-card-image img,
  .gallery-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    border-radius:inherit !important;
  }

  /* Foto dosen mobile: tidak gepeng, tetap proporsional */
  .lecturer-card{
    grid-template-columns:1fr !important;
  }

  .lecturer-card .avatar,
  .lecturer-card img.avatar{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:4 / 3 !important;
    max-height:340px !important;
    object-fit:cover !important;
    object-position:center top !important;
    border-radius:28px !important;
  }
}

/* Khusus gambar poster/banner yang berisi teks: jangan dipaksa crop saat mobile */
@media(max-width:760px){
  .testimoni-page .page-hero-visual.has-image .page-hero-image,
  .publication-page .page-hero-visual.has-image .page-hero-image,
  .berita-page .page-hero-visual.has-image .page-hero-image,
  .download-page .page-hero-visual.has-image .page-hero-image,
  .beasiswa-page .page-hero-visual.has-image .page-hero-image{
    object-fit:contain !important;
  }
}

/* Jika halaman belum punya class khusus, tetap amankan semua page hero image pada mobile */
@media(max-width:760px){
  .hero .page-hero-visual.has-image .page-hero-image{
    object-fit:contain !important;
  }
}

/* Mobile cards spacing agar foto tidak menempel tepi */
@media(max-width:760px){
  .card,
  .link-card{
    max-width:100% !important;
    box-sizing:border-box !important;
  }
}

/* v35: final testimoni mobile image fix */
@media(max-width:760px){

  /* Kunci ulang layout agar tidak ada horizontal scroll/crop kiri */
  html,
  body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  main,
  .hero,
  .section{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  .container{
    width:100% !important;
    max-width:100% !important;
    padding-left:24px !important;
    padding-right:24px !important;
    box-sizing:border-box !important;
  }

  /* Header mobile lebih aman untuk berbagai nama class */
  .header .container,
  header .container,
  .site-header .container,
  .navbar{
    width:100% !important;
    max-width:100% !important;
    padding-left:24px !important;
    padding-right:24px !important;
    box-sizing:border-box !important;
  }

  .navbar{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:14px !important;
  }

  .logo,
  img.logo,
  .brand img,
  .logo-link img,
  .site-logo img,
  .header-logo img{
    width:auto !important;
    height:40px !important;
    max-width:calc(100vw - 120px) !important;
    object-fit:contain !important;
    object-position:left center !important;
    display:block !important;
  }

  .menu-toggle,
  .mobile-menu-toggle,
  .nav-toggle{
    flex:0 0 auto !important;
    width:54px !important;
    min-width:54px !important;
    height:54px !important;
  }

  /* Judul hero jangan membuat halaman lebih lebar dari layar */
  .hero h1,
  .page-title h1,
  .section-title h1,
  .section-title h2{
    max-width:100% !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }

  /* Testimoni alumni: frame mobile pakai portrait, bukan landscape.
     Ini yang memperbaiki efek gepeng pada foto alumni. */
  .testimonial-card{
    grid-template-columns:1fr !important;
  }

  .testimonial-card .testimonial-photo,
  .testimonial-photo,
  .testimony-photo,
  .alumni-testimonial-photo{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:4 / 5 !important;
    border-radius:28px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  .testimonial-card .testimonial-photo img,
  .testimonial-photo img,
  .testimony-photo img,
  .alumni-testimonial-photo img{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    display:block !important;
    object-fit:cover !important;
    object-position:center top !important;
    border-radius:inherit !important;
    transform:none !important;
  }

  /* Publikasi alumni/poster: jangan stretch.
     Pakai contain agar poster/foto publikasi tidak gepeng dan teks poster tidak terpotong. */
  .publication-card .publication-photo,
  .publication-card .publication-image,
  .alumni-publication-photo,
  .publication-photo,
  .publication-image{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:4 / 5 !important;
    border-radius:28px !important;
    overflow:hidden !important;
    background:#F8FAFF !important;
    box-sizing:border-box !important;
  }

  .publication-card .publication-photo img,
  .publication-card .publication-image img,
  .alumni-publication-photo img,
  .publication-photo img,
  .publication-image img{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    display:block !important;
    object-fit:contain !important;
    object-position:center center !important;
    border-radius:inherit !important;
    transform:none !important;
    background:#F8FAFF !important;
  }

  /* Berita/kegiatan tetap landscape, tapi tidak stretch */
  .news-card-image,
  .news-photo{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    aspect-ratio:16 / 9 !important;
    overflow:hidden !important;
    border-radius:28px !important;
  }

  .news-card-image img,
  .news-photo img{
    width:100% !important;
    height:100% !important;
    display:block !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:none !important;
  }

  /* Banner kanan hero halaman: gambar upload tidak stretch di mobile */
  .photo-frame.wide.page-hero-visual,
  .page-hero-visual{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:16 / 9 !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  .page-hero-visual.has-image .page-hero-image,
  .photo-frame.wide.page-hero-visual.has-image .page-hero-image{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    display:block !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
    background:#F8FAFF !important;
  }
}

@media(max-width:420px){
  .container,
  .header .container,
  header .container,
  .site-header .container,
  .navbar{
    padding-left:22px !important;
    padding-right:22px !important;
  }

  .logo,
  img.logo,
  .brand img,
  .logo-link img,
  .site-logo img,
  .header-logo img{
    height:38px !important;
    max-width:calc(100vw - 112px) !important;
  }
}

/* Desktop/tablet safety: gambar tidak pernah distorsi */
.testimonial-photo img,
.publication-photo img,
.publication-image img,
.alumni-publication-photo img,
.news-card-image img,
.news-photo img,
.page-hero-image{
  max-width:100%;
  object-position:center center;
}

/* v36: Riset dan publikasi dosen */
.research-publication-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.research-publication-card{overflow:hidden;padding:0!important;display:flex;flex-direction:column}
.research-publication-media{aspect-ratio:16/10;background:linear-gradient(135deg,#EEF5FF,#FFF7DB);display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--line)}
.research-publication-media img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block}
.research-publication-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#0B48B5;font-weight:950;font-size:26px}
.research-publication-body{padding:24px}
.research-publication-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;color:#66758D;font-weight:900}
.research-publication-card h3{margin:0 0 12px;color:#13243B;font-size:24px;line-height:1.18}
.research-authors{margin:0 0 8px;font-weight:900;color:#0B48B5}
.research-venue{margin:0 0 14px;color:#66758D;font-weight:800}
.research-abstract{margin:0;color:#66758D;line-height:1.7}
.research-keywords{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.research-keywords span{display:inline-flex;border:1px solid #DDE6F4;background:#F8FAFF;color:#526176;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:900}
.research-actions{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.doi-label{color:#526176;font-size:12px;font-weight:900}
.empty-state-card{padding:32px!important}
.empty-state-card h3{margin:0 0 8px}.empty-state-card p{margin:0;color:#66758D}
@media(max-width:1100px){.research-publication-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.research-publication-grid{grid-template-columns:1fr}.research-publication-media{aspect-ratio:16/10}}

/* v37b: all uploaded photos crop fix, no stretch/no gepeng */
:root{--photo-crop-bg:#F6F9FF}

.testimonial-card,
.alumni-feature-card,
.lecturer-card,
.news-card,
.publication-card,
.research-publication-card,
.download-card,
.card{min-width:0}

.testimonial-card *,
.alumni-feature-card *,
.lecturer-card *,
.news-card *,
.publication-card *,
.research-publication-card *{box-sizing:border-box}

.testimonial-photo,
.alumni-feature-photo,
.lecturer-card .avatar,
.avatar,
.news-image,
.news-card-image,
.news-photo,
.publication-photo,
.publication-image,
.publication-poster,
.alumni-publication-photo,
.research-publication-media,
.page-hero-visual.has-image,
.photo-frame.has-image,
.fast-brochure-frame,
.brochure-preview,
.cert-image-frame,
.gallery-photo,
.gallery-card,
.scholarship-icon,
.admin-thumb,
.admin-thumb-lg,
.admin-banner-thumb{
  overflow:hidden!important;
  background:var(--photo-crop-bg)!important;
}

img.testimonial-photo,
.testimonial-photo img,
.alumni-feature-photo img,
.lecturer-card img.avatar,
img.avatar,
.news-image img,
.news-card-image img,
.news-photo img,
.publication-photo img,
.publication-image img,
.publication-poster img,
.alumni-publication-photo img,
.research-publication-media img,
.page-hero-visual.has-image img,
.page-hero-visual.has-image .page-hero-image,
.photo-frame.has-image img,
.fast-brochure-frame img,
.brochure-preview img,
.cert-image-frame img,
.gallery-photo img,
.gallery-card img,
.scholarship-icon img,
.admin-thumb,
.admin-thumb-lg,
.admin-banner-thumb{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center top!important;
  transform:none!important;
}

.testimonial-card{align-items:start!important}

img.testimonial-photo,
.testimonial-card > .testimonial-photo{
  width:160px!important;
  min-width:160px!important;
  max-width:160px!important;
  height:190px!important;
  min-height:190px!important;
  max-height:190px!important;
  aspect-ratio:auto!important;
  border-radius:24px!important;
  flex-shrink:0!important;
  object-fit:cover!important;
  object-position:center top!important;
}

.alumni-feature-card{
  grid-template-columns:180px minmax(0,1fr)!important;
  gap:22px!important;
  align-items:start!important;
}

.alumni-feature-photo{
  width:180px!important;
  min-width:180px!important;
  max-width:180px!important;
  height:220px!important;
  min-height:220px!important;
  max-height:220px!important;
  aspect-ratio:auto!important;
  border-radius:24px!important;
}

.alumni-feature-photo img{
  object-fit:cover!important;
  object-position:center top!important;
}

.lecturer-card{align-items:start!important}

.lecturer-card .avatar,
.lecturer-card img.avatar,
img.avatar{
  width:116px!important;
  min-width:116px!important;
  max-width:116px!important;
  height:142px!important;
  min-height:142px!important;
  max-height:142px!important;
  aspect-ratio:auto!important;
  border-radius:24px!important;
  flex-shrink:0!important;
  object-fit:cover!important;
  object-position:center top!important;
}

.news-image,
.news-card-image,
.news-photo,
.research-publication-media{
  aspect-ratio:16/9!important;
  height:auto!important;
  min-height:0!important;
}

.news-image img,
.news-card-image img,
.news-photo img,
.research-publication-media img{
  object-fit:cover!important;
  object-position:center center!important;
}

.publication-photo,
.publication-image,
.publication-poster,
.alumni-publication-photo{
  aspect-ratio:4/5!important;
  height:auto!important;
  min-height:0!important;
}

.publication-photo img,
.publication-image img,
.publication-poster img,
.alumni-publication-photo img{
  object-fit:cover!important;
  object-position:center center!important;
}

.page-hero-visual.has-image,
.photo-frame.wide.page-hero-visual.has-image{
  aspect-ratio:16/9!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
}

.page-hero-visual.has-image .page-hero-image,
.photo-frame.wide.page-hero-visual.has-image .page-hero-image{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}

@media(max-width:768px){
  html,body,main,.section,.hero{
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  .container{
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .testimonial-card{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }

  img.testimonial-photo,
  .testimonial-card > .testimonial-photo{
    width:100%!important;
    max-width:240px!important;
    min-width:0!important;
    height:300px!important;
    min-height:300px!important;
    max-height:300px!important;
    margin:0 auto 8px auto!important;
    object-fit:cover!important;
    object-position:center top!important;
  }

  .alumni-feature-card{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }

  .alumni-feature-photo{
    width:100%!important;
    max-width:260px!important;
    min-width:0!important;
    height:320px!important;
    min-height:320px!important;
    max-height:320px!important;
    margin:0 auto 8px auto!important;
  }

  .alumni-feature-photo img{
    object-fit:cover!important;
    object-position:center top!important;
  }

  .lecturer-card{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }

  .lecturer-card .avatar,
  .lecturer-card img.avatar,
  img.avatar{
    width:100%!important;
    max-width:240px!important;
    min-width:0!important;
    height:300px!important;
    min-height:300px!important;
    max-height:300px!important;
    margin:0 auto 8px auto!important;
    object-fit:cover!important;
    object-position:center top!important;
  }

  .news-image,
  .news-card-image,
  .news-photo,
  .research-publication-media{
    width:100%!important;
    max-width:100%!important;
    aspect-ratio:16/9!important;
    height:auto!important;
  }

  .publication-photo,
  .publication-image,
  .publication-poster,
  .alumni-publication-photo{
    width:100%!important;
    max-width:260px!important;
    aspect-ratio:4/5!important;
    height:auto!important;
    margin:0 auto 16px auto!important;
  }

  .page-hero-visual.has-image,
  .photo-frame.wide.page-hero-visual.has-image{
    width:100%!important;
    max-width:100%!important;
    aspect-ratio:16/9!important;
    height:auto!important;
  }
}

@media(max-width:420px){
  img.testimonial-photo,
  .testimonial-card > .testimonial-photo,
  .alumni-feature-photo,
  .lecturer-card .avatar,
  .lecturer-card img.avatar,
  img.avatar{
    max-width:220px!important;
    height:275px!important;
    min-height:275px!important;
    max-height:275px!important;
  }
}

/* v39: testimonial alumni no overlap fix */
.testimonial-card{
  display:grid !important;
  grid-template-columns:170px minmax(0,1fr) !important;
  column-gap:34px !important;
  row-gap:12px !important;
  align-items:start !important;
  position:relative !important;
  overflow:hidden !important;
}

/* Paksa elemen foto berada di kolom kiri, bukan absolute/float */
.testimonial-card > img.testimonial-photo,
.testimonial-card > .testimonial-photo:first-child{
  grid-column:1 !important;
  grid-row:1 / span 20 !important;
  align-self:start !important;
  justify-self:start !important;
  position:relative !important;
  inset:auto !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  float:none !important;
  transform:none !important;
  z-index:1 !important;

  width:170px !important;
  min-width:170px !important;
  max-width:170px !important;
  height:210px !important;
  min-height:210px !important;
  max-height:210px !important;

  object-fit:cover !important;
  object-position:center top !important;
  border-radius:24px !important;
  margin:0 !important;
  display:block !important;
  overflow:hidden !important;
}

/* Semua konten selain foto masuk kolom kanan */
.testimonial-card > :not(.testimonial-photo):not(img){
  grid-column:2 !important;
  min-width:0 !important;
  max-width:100% !important;
  position:relative !important;
  z-index:2 !important;
}

/* Kalau ada wrapper teks langsung setelah foto */
.testimonial-card > img.testimonial-photo + *,
.testimonial-card > .testimonial-photo:first-child + *{
  grid-column:2 !important;
}

/* Pastikan read more tidak ketarik ke bawah foto */
.testimonial-card .readmore-btn,
.testimonial-card .read-more,
.testimonial-card button,
.testimonial-card .btn{
  position:relative !important;
  z-index:3 !important;
}

/* Home alumni feature jangan ikut tabrakan */
.alumni-feature-card{
  display:grid !important;
  grid-template-columns:190px minmax(0,1fr) !important;
  column-gap:30px !important;
  align-items:start !important;
  overflow:hidden !important;
}

.alumni-feature-card .alumni-feature-photo{
  grid-column:1 !important;
  grid-row:1 / span 20 !important;
  position:relative !important;
  float:none !important;
  transform:none !important;
  z-index:1 !important;
  width:190px !important;
  min-width:190px !important;
  max-width:190px !important;
  height:235px !important;
  min-height:235px !important;
  max-height:235px !important;
  margin:0 !important;
  border-radius:24px !important;
}

.alumni-feature-card .alumni-feature-photo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center top !important;
  display:block !important;
}

.alumni-feature-card > :not(.alumni-feature-photo){
  grid-column:2 !important;
  min-width:0 !important;
  position:relative !important;
  z-index:2 !important;
}

/* Mobile: testimoni jadi satu kolom, foto tidak menabrak teks */
@media(max-width:768px){
  .testimonial-card{
    grid-template-columns:1fr !important;
    column-gap:0 !important;
    row-gap:18px !important;
    overflow:hidden !important;
  }

  .testimonial-card > img.testimonial-photo,
  .testimonial-card > .testimonial-photo:first-child{
    grid-column:1 !important;
    grid-row:auto !important;
    justify-self:center !important;
    width:100% !important;
    max-width:250px !important;
    min-width:0 !important;
    height:310px !important;
    min-height:310px !important;
    max-height:310px !important;
    margin:0 auto 4px auto !important;
  }

  .testimonial-card > :not(.testimonial-photo):not(img),
  .testimonial-card > img.testimonial-photo + *,
  .testimonial-card > .testimonial-photo:first-child + *{
    grid-column:1 !important;
    max-width:100% !important;
  }

  .alumni-feature-card{
    grid-template-columns:1fr !important;
    column-gap:0 !important;
    row-gap:18px !important;
  }

  .alumni-feature-card .alumni-feature-photo{
    grid-column:1 !important;
    grid-row:auto !important;
    justify-self:center !important;
    width:100% !important;
    max-width:270px !important;
    min-width:0 !important;
    height:330px !important;
    min-height:330px !important;
    max-height:330px !important;
    margin:0 auto 4px auto !important;
  }

  .alumni-feature-card > :not(.alumni-feature-photo){
    grid-column:1 !important;
  }
}

@media(max-width:420px){
  .testimonial-card > img.testimonial-photo,
  .testimonial-card > .testimonial-photo:first-child{
    max-width:225px !important;
    height:285px !important;
    min-height:285px !important;
    max-height:285px !important;
  }

  .alumni-feature-card .alumni-feature-photo{
    max-width:235px !important;
    height:295px !important;
    min-height:295px !important;
    max-height:295px !important;
  }
}

/* v40: riset image fit + read more */
.research-publication-grid{
  align-items:stretch !important;
}

.research-publication-card{
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}

/* Area gambar riset/publikasi: tampil utuh, tidak crop */
.research-publication-media{
  width:100% !important;
  aspect-ratio:16 / 10 !important;
  height:auto !important;
  min-height:0 !important;
  background:linear-gradient(135deg,#F8FAFF,#FFFFFF) !important;
  border-bottom:1px solid var(--line, #DDE6F4) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  padding:18px !important;
}

.research-publication-media.has-image{
  background:#F8FAFF !important;
}

.research-publication-media img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  transform:none !important;
  border-radius:14px !important;
  background:#FFFFFF !important;
}

.research-publication-placeholder{
  width:100% !important;
  height:100% !important;
  min-height:220px !important;
  border:1px dashed #C9D6EA !important;
  border-radius:22px !important;
  background:linear-gradient(135deg,#F8FAFF,#FFFFFF) !important;
}

/* Isi card dibuat lebih rapi dan konsisten */
.research-publication-body{
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
  padding:24px !important;
}

.research-publication-card h3{
  margin-bottom:12px !important;
  display:-webkit-box !important;
  -webkit-line-clamp:3 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

/* Saat expanded, judul boleh terbuka juga */
.research-publication-card.is-expanded h3{
  display:block !important;
  overflow:visible !important;
}

.research-authors,
.research-venue{
  flex:0 0 auto !important;
}

/* Abstract default dipotong agar semua card rapi */
.research-abstract{
  color:#66758D !important;
  line-height:1.7 !important;
  margin-top:8px !important;
}

.research-publication-card:not(.is-expanded) .research-abstract{
  display:-webkit-box !important;
  -webkit-line-clamp:3 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  max-height:5.2em !important;
}

/* Saat Read more diklik */
.research-publication-card.is-expanded .research-abstract{
  display:block !important;
  overflow:visible !important;
  max-height:none !important;
}

/* Tombol Read more */
.research-readmore-btn{
  appearance:none !important;
  border:1px solid #C6D8FF !important;
  background:#EEF5FF !important;
  color:#0B48B5 !important;
  border-radius:999px !important;
  padding:10px 16px !important;
  font-size:14px !important;
  font-weight:950 !important;
  line-height:1 !important;
  cursor:pointer !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  width:max-content !important;
  margin-top:16px !important;
  transition:transform .2s ease, background .2s ease, border-color .2s ease !important;
}

.research-readmore-btn:hover{
  transform:translateY(-1px) !important;
  background:#E3EEFF !important;
  border-color:#9FC1FF !important;
}

.research-readmore-btn span{
  display:inline-block !important;
  line-height:1 !important;
}

.research-publication-card.is-expanded .research-readmore-btn span{
  transform:rotate(180deg) !important;
}

/* Actions tetap di bawah jika isi pendek */
.research-actions{
  margin-top:18px !important;
}

/* Keywords tidak membuat card terlalu panjang */
.research-keywords{
  margin-top:14px !important;
}

.research-publication-card:not(.is-expanded) .research-keywords{
  display:none !important;
}

/* Mobile */
@media(max-width:720px){
  .research-publication-media{
    aspect-ratio:16 / 11 !important;
    padding:14px !important;
  }

  .research-publication-body{
    padding:22px !important;
  }

  .research-publication-card h3{
    font-size:22px !important;
    -webkit-line-clamp:3 !important;
  }
}

/* v41: home alumni/testimoni/publication compact card fix */
#alumni .alumni-feature-grid,
#alumni .alumni-grid,
#alumni .featured-alumni-grid,
.home-alumni-section .alumni-feature-grid,
.home-alumni-section .alumni-grid,
.alumni-home-section .alumni-feature-grid,
.alumni-home-section .alumni-grid{
  align-items:start !important;
}

#alumni .alumni-feature-card,
#alumni .testimonial-card,
#alumni .publication-card,
.home-alumni-section .alumni-feature-card,
.home-alumni-section .testimonial-card,
.home-alumni-section .publication-card,
.alumni-home-section .alumni-feature-card,
.alumni-home-section .testimonial-card,
.alumni-home-section .publication-card{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  align-self:start !important;
  align-items:start !important;
  padding:28px !important;
  overflow:hidden !important;
}

#alumni .alumni-feature-card,
.home-alumni-section .alumni-feature-card,
.alumni-home-section .alumni-feature-card{
  display:grid !important;
  grid-template-columns:190px minmax(0,1fr) !important;
  gap:28px !important;
}

#alumni .alumni-feature-photo,
.home-alumni-section .alumni-feature-photo,
.alumni-home-section .alumni-feature-photo{
  width:190px !important;
  min-width:190px !important;
  max-width:190px !important;
  height:230px !important;
  min-height:230px !important;
  max-height:230px !important;
  margin:0 !important;
  border-radius:24px !important;
  overflow:hidden !important;
  align-self:start !important;
  justify-self:start !important;
}

#alumni .alumni-feature-photo img,
.home-alumni-section .alumni-feature-photo img,
.alumni-home-section .alumni-feature-photo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center top !important;
  display:block !important;
  transform:none !important;
}

#alumni .alumni-publication-photo,
#alumni .publication-photo,
#alumni .publication-image,
.home-alumni-section .alumni-publication-photo,
.home-alumni-section .publication-photo,
.home-alumni-section .publication-image,
.alumni-home-section .alumni-publication-photo,
.alumni-home-section .publication-photo,
.alumni-home-section .publication-image{
  width:190px !important;
  min-width:190px !important;
  max-width:190px !important;
  height:230px !important;
  min-height:230px !important;
  max-height:230px !important;
  margin:0 !important;
  border-radius:24px !important;
  overflow:hidden !important;
  align-self:start !important;
  justify-self:start !important;
  background:#F8FAFF !important;
}

#alumni .alumni-publication-photo img,
#alumni .publication-photo img,
#alumni .publication-image img,
.home-alumni-section .alumni-publication-photo img,
.home-alumni-section .publication-photo img,
.home-alumni-section .publication-image img,
.alumni-home-section .alumni-publication-photo img,
.alumni-home-section .publication-photo img,
.alumni-home-section .publication-image img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  transform:none !important;
  background:#FFFFFF !important;
}

#alumni .alumni-feature-card blockquote,
#alumni .alumni-feature-card .quote,
#alumni .alumni-feature-card .testimonial-quote,
#alumni .alumni-feature-card .readmore-text,
#alumni .alumni-feature-card p,
.home-alumni-section .alumni-feature-card blockquote,
.home-alumni-section .alumni-feature-card .quote,
.home-alumni-section .alumni-feature-card .testimonial-quote,
.home-alumni-section .alumni-feature-card .readmore-text,
.home-alumni-section .alumni-feature-card p,
.alumni-home-section .alumni-feature-card blockquote,
.alumni-home-section .alumni-feature-card .quote,
.alumni-home-section .alumni-feature-card .testimonial-quote,
.alumni-home-section .alumni-feature-card .readmore-text,
.alumni-home-section .alumni-feature-card p{
  max-height:5.4em !important;
  overflow:hidden !important;
}

#alumni .alumni-feature-card.is-expanded blockquote,
#alumni .alumni-feature-card.is-expanded .quote,
#alumni .alumni-feature-card.is-expanded .testimonial-quote,
#alumni .alumni-feature-card.is-expanded .readmore-text,
#alumni .alumni-feature-card.is-expanded p,
.home-alumni-section .alumni-feature-card.is-expanded blockquote,
.home-alumni-section .alumni-feature-card.is-expanded .quote,
.home-alumni-section .alumni-feature-card.is-expanded .testimonial-quote,
.home-alumni-section .alumni-feature-card.is-expanded .readmore-text,
.home-alumni-section .alumni-feature-card.is-expanded p,
.alumni-home-section .alumni-feature-card.is-expanded blockquote,
.alumni-home-section .alumni-feature-card.is-expanded .quote,
.alumni-home-section .alumni-feature-card.is-expanded .testimonial-quote,
.alumni-home-section .alumni-feature-card.is-expanded .readmore-text,
.alumni-home-section .alumni-feature-card.is-expanded p{
  max-height:none !important;
  overflow:visible !important;
}

#alumni .swiper,
#alumni .swiper-wrapper,
#alumni .swiper-slide,
.home-alumni-section .swiper,
.home-alumni-section .swiper-wrapper,
.home-alumni-section .swiper-slide,
.alumni-home-section .swiper,
.alumni-home-section .swiper-wrapper,
.alumni-home-section .swiper-slide{
  height:auto !important;
  min-height:0 !important;
  align-items:start !important;
}

#alumni .swiper-slide > *,
.home-alumni-section .swiper-slide > *,
.alumni-home-section .swiper-slide > *{
  height:auto !important;
  min-height:0 !important;
}

/* Extra fallback: jika card punya min-height inline/class umum */
#alumni .card,
.home-alumni-section .card,
.alumni-home-section .card{
  min-height:0 !important;
  height:auto !important;
}

@media(max-width:768px){
  #alumni .alumni-feature-card,
  .home-alumni-section .alumni-feature-card,
  .alumni-home-section .alumni-feature-card{
    grid-template-columns:1fr !important;
    gap:18px !important;
    padding:24px !important;
  }

  #alumni .alumni-feature-photo,
  #alumni .alumni-publication-photo,
  #alumni .publication-photo,
  #alumni .publication-image,
  .home-alumni-section .alumni-feature-photo,
  .home-alumni-section .alumni-publication-photo,
  .home-alumni-section .publication-photo,
  .home-alumni-section .publication-image,
  .alumni-home-section .alumni-feature-photo,
  .alumni-home-section .alumni-publication-photo,
  .alumni-home-section .publication-photo,
  .alumni-home-section .publication-image{
    width:100% !important;
    max-width:250px !important;
    min-width:0 !important;
    height:300px !important;
    min-height:300px !important;
    max-height:300px !important;
    margin:0 auto !important;
    justify-self:center !important;
  }

  #alumni .alumni-publication-photo img,
  #alumni .publication-photo img,
  #alumni .publication-image img,
  .home-alumni-section .alumni-publication-photo img,
  .home-alumni-section .publication-photo img,
  .home-alumni-section .publication-image img,
  .alumni-home-section .alumni-publication-photo img,
  .alumni-home-section .publication-photo img,
  .alumni-home-section .publication-image img{
    object-fit:contain !important;
  }
}

/* v42: homepage alumni excessive blank space final fix */

/* Section yang diberi class oleh JS */
.v42-home-alumni-section,
.v42-home-alumni-section *{
  box-sizing:border-box;
}

.v42-home-alumni-section{
  overflow:visible !important;
}

.v42-home-alumni-grid,
.v42-home-alumni-section .swiper-wrapper,
.v42-home-alumni-section .swiper,
.v42-home-alumni-section [class*="grid"],
.v42-home-alumni-section [class*="slider"],
.v42-home-alumni-section [class*="carousel"]{
  align-items:flex-start !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
}

.v42-home-alumni-section .swiper-slide{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  align-self:flex-start !important;
}

/* Card target dari JS */
.v42-home-alumni-card{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  align-self:flex-start !important;
  overflow:hidden !important;
}

/* Matikan min-height besar yang mungkin datang dari card umum */
.v42-home-alumni-section .card,
.v42-home-alumni-section article,
.v42-home-alumni-section [class*="card"],
.v42-home-alumni-section [class*="Card"],
.v42-home-alumni-section [class*="feature"],
.v42-home-alumni-section [class*="Feature"]{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  align-self:flex-start !important;
}

/* Tapi khusus card yang punya read more, batasi card agar compact */
.v42-home-alumni-card{
  padding-bottom:28px !important;
}

/* Layout card alumni/testimoni homepage dibuat compact */
.v42-home-alumni-card[class*="alumni"],
.v42-home-alumni-card[class*="testimonial"],
.v42-home-alumni-card[class*="publication"],
.v42-home-alumni-card{
  display:grid !important;
  grid-template-columns:190px minmax(0,1fr) !important;
  gap:26px !important;
}

/* Foto kiri */
.v42-home-alumni-card img{
  max-width:100% !important;
  display:block !important;
}

/* Gambar pertama dalam card biasanya foto/poster */
.v42-home-alumni-card > img:first-child,
.v42-home-alumni-card picture:first-child img,
.v42-home-alumni-card [class*="photo"] img,
.v42-home-alumni-card [class*="image"] img,
.v42-home-alumni-card [class*="poster"] img{
  width:100% !important;
  height:100% !important;
  object-position:center top !important;
}

/* Frame foto/publikasi di dalam card */
.v42-home-alumni-card > img:first-child,
.v42-home-alumni-card > .testimonial-photo,
.v42-home-alumni-card > .alumni-feature-photo,
.v42-home-alumni-card > .alumni-publication-photo,
.v42-home-alumni-card > .publication-photo,
.v42-home-alumni-card > .publication-image,
.v42-home-alumni-card > .publication-poster,
.v42-home-alumni-card [class*="photo"]:first-child,
.v42-home-alumni-card [class*="image"]:first-child,
.v42-home-alumni-card [class*="poster"]:first-child{
  grid-column:1 !important;
  grid-row:1 / span 20 !important;
  width:190px !important;
  min-width:190px !important;
  max-width:190px !important;
  height:230px !important;
  min-height:230px !important;
  max-height:230px !important;
  margin:0 !important;
  border-radius:24px !important;
  overflow:hidden !important;
  align-self:start !important;
  justify-self:start !important;
  position:relative !important;
  float:none !important;
  transform:none !important;
}

/* Testimoni: crop foto portrait */
.v42-home-alumni-card[data-v42-kind="testimonial"] > img:first-child,
.v42-home-alumni-card[data-v42-kind="testimonial"] [class*="photo"]:first-child,
.v42-home-alumni-card[data-v42-kind="testimonial"] [class*="photo"]:first-child img{
  object-fit:cover !important;
  object-position:center top !important;
}

/* Publikasi: paper/poster tampil utuh, bukan crop */
.v42-home-alumni-card[data-v42-kind="publication"] > img:first-child,
.v42-home-alumni-card[data-v42-kind="publication"] [class*="photo"]:first-child img,
.v42-home-alumni-card[data-v42-kind="publication"] [class*="image"]:first-child img,
.v42-home-alumni-card[data-v42-kind="publication"] [class*="poster"]:first-child img{
  object-fit:contain !important;
  object-position:center center !important;
  background:#FFFFFF !important;
}

/* Semua konten selain gambar pertama masuk kanan */
.v42-home-alumni-card > :not(img):not(picture):not(.testimonial-photo):not(.alumni-feature-photo):not(.alumni-publication-photo):not(.publication-photo):not(.publication-image):not(.publication-poster){
  grid-column:2 !important;
  min-width:0 !important;
  max-width:100% !important;
}

/* Clamp teks supaya card tidak terlalu tinggi */
.v42-home-alumni-card p,
.v42-home-alumni-card blockquote,
.v42-home-alumni-card .readmore-text,
.v42-home-alumni-card .quote,
.v42-home-alumni-card .testimonial-quote{
  max-height:5.5em !important;
  overflow:hidden !important;
}

.v42-home-alumni-card.is-expanded p,
.v42-home-alumni-card.is-expanded blockquote,
.v42-home-alumni-card.is-expanded .readmore-text,
.v42-home-alumni-card.is-expanded .quote,
.v42-home-alumni-card.is-expanded .testimonial-quote{
  max-height:none !important;
  overflow:visible !important;
}

/* Fallback untuk selector lama jika section punya id/class alumni */
#alumni .card,
#alumni article,
#alumni [class*="card"],
.home-alumni-section .card,
.home-alumni-section article,
.home-alumni-section [class*="card"],
.alumni-home-section .card,
.alumni-home-section article,
.alumni-home-section [class*="card"]{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  align-self:flex-start !important;
}

@media(max-width:768px){
  .v42-home-alumni-card{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .v42-home-alumni-card > img:first-child,
  .v42-home-alumni-card > .testimonial-photo,
  .v42-home-alumni-card > .alumni-feature-photo,
  .v42-home-alumni-card > .alumni-publication-photo,
  .v42-home-alumni-card > .publication-photo,
  .v42-home-alumni-card > .publication-image,
  .v42-home-alumni-card > .publication-poster,
  .v42-home-alumni-card [class*="photo"]:first-child,
  .v42-home-alumni-card [class*="image"]:first-child,
  .v42-home-alumni-card [class*="poster"]:first-child{
    grid-column:1 !important;
    grid-row:auto !important;
    width:100% !important;
    max-width:250px !important;
    min-width:0 !important;
    height:300px !important;
    min-height:300px !important;
    max-height:300px !important;
    margin:0 auto !important;
    justify-self:center !important;
  }

  .v42-home-alumni-card > :not(img):not(picture):not(.testimonial-photo):not(.alumni-feature-photo):not(.alumni-publication-photo):not(.publication-photo):not(.publication-image):not(.publication-poster){
    grid-column:1 !important;
  }
}

/* v43: homepage alumni two compact cards fix */

/* Disable v42 auto classes if script was cached in browser */
.v42-home-alumni-section .v42-home-alumni-card{
  display:flex !important;
}

/* Section alumni homepage: target dengan beberapa kemungkinan class/id */
#alumni,
.home-alumni-section,
.alumni-home-section{
  overflow:visible !important;
}

/* Grid utama alumni harus 2 kolom di desktop, bukan 1 kartu memanjang */
#alumni .alumni-feature-grid,
#alumni .alumni-grid,
#alumni .featured-alumni-grid,
#alumni .home-alumni-grid,
.home-alumni-section .alumni-feature-grid,
.home-alumni-section .alumni-grid,
.home-alumni-section .featured-alumni-grid,
.home-alumni-section .home-alumni-grid,
.alumni-home-section .alumni-feature-grid,
.alumni-home-section .alumni-grid,
.alumni-home-section .featured-alumni-grid,
.alumni-home-section .home-alumni-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:28px !important;
  align-items:start !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
}

/* Jika parent adalah flex/slider */
#alumni .swiper-wrapper,
#alumni .slider-track,
#alumni .carousel-track,
.home-alumni-section .swiper-wrapper,
.home-alumni-section .slider-track,
.home-alumni-section .carousel-track,
.alumni-home-section .swiper-wrapper,
.alumni-home-section .slider-track,
.alumni-home-section .carousel-track{
  align-items:flex-start !important;
  height:auto !important;
  min-height:0 !important;
}

/* Card alumni homepage harus compact */
#alumni .alumni-feature-card,
#alumni .testimonial-card,
#alumni .publication-card,
#alumni article.card,
#alumni .card,
.home-alumni-section .alumni-feature-card,
.home-alumni-section .testimonial-card,
.home-alumni-section .publication-card,
.home-alumni-section article.card,
.home-alumni-section .card,
.alumni-home-section .alumni-feature-card,
.alumni-home-section .testimonial-card,
.alumni-home-section .publication-card,
.alumni-home-section article.card,
.alumni-home-section .card{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  align-self:start !important;
  overflow:hidden !important;
}

/* Kartu utama: foto kiri, teks kanan, tapi tetap lebar setengah grid */
#alumni .alumni-feature-card,
.home-alumni-section .alumni-feature-card,
.alumni-home-section .alumni-feature-card,
#alumni .testimonial-card,
.home-alumni-section .testimonial-card,
.alumni-home-section .testimonial-card,
#alumni .publication-card,
.home-alumni-section .publication-card,
.alumni-home-section .publication-card{
  display:grid !important;
  grid-template-columns:170px minmax(0, 1fr) !important;
  gap:24px !important;
  padding:28px !important;
  align-items:start !important;
}

/* Foto testimoni di homepage */
#alumni .alumni-feature-photo,
#alumni .testimonial-photo,
.home-alumni-section .alumni-feature-photo,
.home-alumni-section .testimonial-photo,
.alumni-home-section .alumni-feature-photo,
.alumni-home-section .testimonial-photo{
  grid-column:1 !important;
  grid-row:1 / span 20 !important;
  width:170px !important;
  min-width:170px !important;
  max-width:170px !important;
  height:210px !important;
  min-height:210px !important;
  max-height:210px !important;
  margin:0 !important;
  border-radius:24px !important;
  overflow:hidden !important;
  align-self:start !important;
  justify-self:start !important;
  position:relative !important;
  float:none !important;
  transform:none !important;
  object-fit:cover !important;
  object-position:center top !important;
}

/* Jika foto berupa wrapper */
#alumni .alumni-feature-photo img,
#alumni .testimonial-photo img,
.home-alumni-section .alumni-feature-photo img,
.home-alumni-section .testimonial-photo img,
.alumni-home-section .alumni-feature-photo img,
.alumni-home-section .testimonial-photo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center top !important;
  display:block !important;
}

/* Publikasi/paper homepage: tampil utuh */
#alumni .alumni-publication-photo,
#alumni .publication-photo,
#alumni .publication-image,
#alumni .publication-poster,
.home-alumni-section .alumni-publication-photo,
.home-alumni-section .publication-photo,
.home-alumni-section .publication-image,
.home-alumni-section .publication-poster,
.alumni-home-section .alumni-publication-photo,
.alumni-home-section .publication-photo,
.alumni-home-section .publication-image,
.alumni-home-section .publication-poster{
  grid-column:1 !important;
  grid-row:1 / span 20 !important;
  width:170px !important;
  min-width:170px !important;
  max-width:170px !important;
  height:210px !important;
  min-height:210px !important;
  max-height:210px !important;
  margin:0 !important;
  border-radius:24px !important;
  overflow:hidden !important;
  background:#F8FAFF !important;
  align-self:start !important;
  justify-self:start !important;
}

#alumni .alumni-publication-photo img,
#alumni .publication-photo img,
#alumni .publication-image img,
#alumni .publication-poster img,
.home-alumni-section .alumni-publication-photo img,
.home-alumni-section .publication-photo img,
.home-alumni-section .publication-image img,
.home-alumni-section .publication-poster img,
.alumni-home-section .alumni-publication-photo img,
.alumni-home-section .publication-photo img,
.alumni-home-section .publication-image img,
.alumni-home-section .publication-poster img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  background:#FFFFFF !important;
}

/* Teks kanan */
#alumni .alumni-feature-card > :not(.alumni-feature-photo):not(.testimonial-photo):not(.alumni-publication-photo):not(.publication-photo):not(.publication-image):not(.publication-poster),
#alumni .testimonial-card > :not(.alumni-feature-photo):not(.testimonial-photo):not(.alumni-publication-photo):not(.publication-photo):not(.publication-image):not(.publication-poster),
#alumni .publication-card > :not(.alumni-feature-photo):not(.testimonial-photo):not(.alumni-publication-photo):not(.publication-photo):not(.publication-image):not(.publication-poster),
.home-alumni-section .alumni-feature-card > :not(.alumni-feature-photo):not(.testimonial-photo):not(.alumni-publication-photo):not(.publication-photo):not(.publication-image):not(.publication-poster),
.home-alumni-section .testimonial-card > :not(.alumni-feature-photo):not(.testimonial-photo):not(.alumni-publication-photo):not(.publication-photo):not(.publication-image):not(.publication-poster),
.home-alumni-section .publication-card > :not(.alumni-feature-photo):not(.testimonial-photo):not(.alumni-publication-photo):not(.publication-photo):not(.publication-image):not(.publication-poster),
.alumni-home-section .alumni-feature-card > :not(.alumni-feature-photo):not(.testimonial-photo):not(.alumni-publication-photo):not(.publication-photo):not(.publication-image):not(.publication-poster),
.alumni-home-section .testimonial-card > :not(.alumni-feature-photo):not(.testimonial-photo):not(.alumni-publication-photo):not(.publication-photo):not(.publication-image):not(.publication-poster),
.alumni-home-section .publication-card > :not(.alumni-feature-photo):not(.testimonial-photo):not(.alumni-publication-photo):not(.publication-photo):not(.publication-image):not(.publication-poster){
  grid-column:2 !important;
  min-width:0 !important;
  max-width:100% !important;
}

/* Clamp teks homepage supaya kartu pendek */
#alumni .alumni-feature-card p,
#alumni .testimonial-card p,
#alumni .publication-card p,
#alumni .alumni-feature-card blockquote,
#alumni .testimonial-card blockquote,
#alumni .publication-card blockquote,
#alumni .alumni-feature-card .readmore-text,
#alumni .testimonial-card .readmore-text,
#alumni .publication-card .readmore-text,
.home-alumni-section .alumni-feature-card p,
.home-alumni-section .testimonial-card p,
.home-alumni-section .publication-card p,
.home-alumni-section .alumni-feature-card blockquote,
.home-alumni-section .testimonial-card blockquote,
.home-alumni-section .publication-card blockquote,
.home-alumni-section .alumni-feature-card .readmore-text,
.home-alumni-section .testimonial-card .readmore-text,
.home-alumni-section .publication-card .readmore-text,
.alumni-home-section .alumni-feature-card p,
.alumni-home-section .testimonial-card p,
.alumni-home-section .publication-card p,
.alumni-home-section .alumni-feature-card blockquote,
.alumni-home-section .testimonial-card blockquote,
.alumni-home-section .publication-card blockquote,
.alumni-home-section .alumni-feature-card .readmore-text,
.alumni-home-section .testimonial-card .readmore-text,
.alumni-home-section .publication-card .readmore-text{
  max-height:5.2em !important;
  overflow:hidden !important;
}

/* Expanded tetap bisa panjang */
#alumni .is-expanded p,
#alumni .is-expanded blockquote,
#alumni .is-expanded .readmore-text,
.home-alumni-section .is-expanded p,
.home-alumni-section .is-expanded blockquote,
.home-alumni-section .is-expanded .readmore-text,
.alumni-home-section .is-expanded p,
.alumni-home-section .is-expanded blockquote,
.alumni-home-section .is-expanded .readmore-text{
  max-height:none !important;
  overflow:visible !important;
}

/* Mobile/tablet */
@media(max-width:980px){
  #alumni .alumni-feature-grid,
  #alumni .alumni-grid,
  #alumni .featured-alumni-grid,
  #alumni .home-alumni-grid,
  .home-alumni-section .alumni-feature-grid,
  .home-alumni-section .alumni-grid,
  .home-alumni-section .featured-alumni-grid,
  .home-alumni-section .home-alumni-grid,
  .alumni-home-section .alumni-feature-grid,
  .alumni-home-section .alumni-grid,
  .alumni-home-section .featured-alumni-grid,
  .alumni-home-section .home-alumni-grid{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:768px){
  #alumni .alumni-feature-card,
  #alumni .testimonial-card,
  #alumni .publication-card,
  .home-alumni-section .alumni-feature-card,
  .home-alumni-section .testimonial-card,
  .home-alumni-section .publication-card,
  .alumni-home-section .alumni-feature-card,
  .alumni-home-section .testimonial-card,
  .alumni-home-section .publication-card{
    grid-template-columns:1fr !important;
    gap:18px !important;
    padding:24px !important;
  }

  #alumni .alumni-feature-photo,
  #alumni .testimonial-photo,
  #alumni .alumni-publication-photo,
  #alumni .publication-photo,
  #alumni .publication-image,
  #alumni .publication-poster,
  .home-alumni-section .alumni-feature-photo,
  .home-alumni-section .testimonial-photo,
  .home-alumni-section .alumni-publication-photo,
  .home-alumni-section .publication-photo,
  .home-alumni-section .publication-image,
  .home-alumni-section .publication-poster,
  .alumni-home-section .alumni-feature-photo,
  .alumni-home-section .testimonial-photo,
  .alumni-home-section .alumni-publication-photo,
  .alumni-home-section .publication-photo,
  .alumni-home-section .publication-image,
  .alumni-home-section .publication-poster{
    grid-column:1 !important;
    grid-row:auto !important;
    width:100% !important;
    max-width:250px !important;
    min-width:0 !important;
    height:300px !important;
    min-height:300px !important;
    max-height:300px !important;
    margin:0 auto !important;
    justify-self:center !important;
  }

  #alumni .alumni-feature-card > *,
  #alumni .testimonial-card > *,
  #alumni .publication-card > *,
  .home-alumni-section .alumni-feature-card > *,
  .home-alumni-section .testimonial-card > *,
  .home-alumni-section .publication-card > *,
  .alumni-home-section .alumni-feature-card > *,
  .alumni-home-section .testimonial-card > *,
  .alumni-home-section .publication-card > *{
    grid-column:1 !important;
  }
}

/* v44: homepage alumni card height fix, remove excessive bottom blank space */
.v44-home-alumni-section,
.v44-home-alumni-grid,
.v44-home-alumni-card{
  min-height:0 !important;
  max-height:none !important;
}

.v44-home-alumni-grid{
  align-items:flex-start !important;
  align-content:flex-start !important;
  grid-auto-rows:auto !important;
  height:auto !important;
}

.v44-home-alumni-card{
  align-self:flex-start !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  padding-bottom:28px !important;
}

/* Jika style lama memberi height besar pada card/grid, class v44 harus menang */
.v44-home-alumni-card.card,
.v44-home-alumni-card[class*="card"],
.v44-home-alumni-card[class*="Card"],
.v44-home-alumni-card[class*="feature"],
.v44-home-alumni-card[class*="Feature"],
.v44-home-alumni-card[class*="alumni"],
.v44-home-alumni-card[class*="publication"],
.v44-home-alumni-card[class*="testimonial"]{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
}

/* Jangan paksa card menjadi full-height meskipun berada di swiper/flex */
.v44-home-alumni-section .swiper,
.v44-home-alumni-section .swiper-wrapper,
.v44-home-alumni-section .swiper-slide,
.v44-home-alumni-section [class*="slider"],
.v44-home-alumni-section [class*="carousel"],
.v44-home-alumni-section [class*="track"]{
  height:auto !important;
  min-height:0 !important;
  align-items:flex-start !important;
  align-content:flex-start !important;
}

/* Batasi ringkasan di homepage supaya kartu ringkas */
.v44-home-alumni-card:not(.is-expanded) p,
.v44-home-alumni-card:not(.is-expanded) blockquote,
.v44-home-alumni-card:not(.is-expanded) .readmore-text,
.v44-home-alumni-card:not(.is-expanded) .quote,
.v44-home-alumni-card:not(.is-expanded) .testimonial-quote{
  max-height:5.4em !important;
  overflow:hidden !important;
}

/* Saat read more dibuka */
.v44-home-alumni-card.is-expanded p,
.v44-home-alumni-card.is-expanded blockquote,
.v44-home-alumni-card.is-expanded .readmore-text,
.v44-home-alumni-card.is-expanded .quote,
.v44-home-alumni-card.is-expanded .testimonial-quote{
  max-height:none !important;
  overflow:visible !important;
}

/* Desktop: pastikan dua kartu bisa sejajar kalau parent-nya memang grid */
.v44-home-alumni-grid{
  column-gap:28px !important;
  row-gap:28px !important;
}

@media(min-width:981px){
  .v44-home-alumni-grid.v44-force-two-columns{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
}

@media(max-width:980px){
  .v44-home-alumni-grid.v44-force-two-columns{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
}

/* v45: home alumni read more expand fix */
.v45-home-alumni-section,
.v45-home-alumni-grid,
.v45-home-alumni-card{
  min-height:0 !important;
  max-height:none !important;
}

.v45-home-alumni-section,
.v45-home-alumni-grid{
  height:auto !important;
  align-items:flex-start !important;
  align-content:flex-start !important;
  overflow:visible !important;
}

/* Override class lama v44 kalau masih ada */
.v44-home-alumni-card.v45-home-alumni-card,
.v45-home-alumni-card{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  align-self:flex-start !important;
}

/* Collapsed: card compact, text dipotong */
.v45-home-alumni-card:not(.is-expanded):not(.v45-expanded){
  overflow:hidden !important;
}

.v45-home-alumni-card:not(.is-expanded):not(.v45-expanded) p,
.v45-home-alumni-card:not(.is-expanded):not(.v45-expanded) blockquote,
.v45-home-alumni-card:not(.is-expanded):not(.v45-expanded) .readmore-text,
.v45-home-alumni-card:not(.is-expanded):not(.v45-expanded) .quote,
.v45-home-alumni-card:not(.is-expanded):not(.v45-expanded) .testimonial-quote{
  max-height:5.4em !important;
  overflow:hidden !important;
}

/* Expanded: jangan potong card maupun teks */
.v45-home-alumni-card.is-expanded,
.v45-home-alumni-card.v45-expanded{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}

.v45-home-alumni-card.is-expanded p,
.v45-home-alumni-card.is-expanded blockquote,
.v45-home-alumni-card.is-expanded .readmore-text,
.v45-home-alumni-card.is-expanded .quote,
.v45-home-alumni-card.is-expanded .testimonial-quote,
.v45-home-alumni-card.v45-expanded p,
.v45-home-alumni-card.v45-expanded blockquote,
.v45-home-alumni-card.v45-expanded .readmore-text,
.v45-home-alumni-card.v45-expanded .quote,
.v45-home-alumni-card.v45-expanded .testimonial-quote{
  max-height:none !important;
  overflow:visible !important;
  display:block !important;
}

/* Parent dari expanded card juga tidak boleh clip */
.v45-home-alumni-section:has(.v45-home-alumni-card.is-expanded),
.v45-home-alumni-section:has(.v45-home-alumni-card.v45-expanded),
.v45-home-alumni-grid:has(.v45-home-alumni-card.is-expanded),
.v45-home-alumni-grid:has(.v45-home-alumni-card.v45-expanded){
  overflow:visible !important;
  height:auto !important;
  max-height:none !important;
}

/* Button tetap terlihat setelah expand */
.v45-home-alumni-card .readmore-btn,
.v45-home-alumni-card .read-more,
.v45-home-alumni-card button,
.v45-home-alumni-card a{
  position:relative !important;
  z-index:5 !important;
}

.v46-home-alumni-card > img:first-child,
  .v46-home-alumni-card > .testimonial-photo,
  .v46-home-alumni-card > .alumni-feature-photo,
  .v46-home-alumni-card > .alumni-publication-photo,
  .v46-home-alumni-card > .publication-photo,
  .v46-home-alumni-card > .publication-image,
  .v46-home-alumni-card > .publication-poster,
  .v46-home-alumni-card .testimonial-photo:first-child,
  .v46-home-alumni-card .alumni-feature-photo:first-child,
  .v46-home-alumni-card .alumni-publication-photo:first-child,
  .v46-home-alumni-card .publication-photo:first-child,
  .v46-home-alumni-card .publication-image:first-child,
  .v46-home-alumni-card .publication-poster:first-child{
    grid-column:1 !important;
    grid-row:auto !important;
    width:100% !important;
    max-width:250px !important;
    min-width:0 !important;
    height:300px !important;
    min-height:300px !important;
    max-height:300px !important;
    margin:0 auto !important;
    justify-self:center !important;
  }

  .v46-home-alumni-card > :not(img):not(picture):not(.testimonial-photo):not(.alumni-feature-photo):not(.alumni-publication-photo):not(.publication-photo):not(.publication-image):not(.publication-poster){
    grid-column:1 !important;
  }

  .v46-alumni-modal{
    padding:16px !important;
  }

  .v46-alumni-modal-box{
    border-radius:22px !important;
    padding:22px !important;
  }

  .v46-alumni-modal-title{
    font-size:23px !important;
  }

  .v46-alumni-modal-content{
    font-size:16px !important;
  }
}

.v47-home-alumni-card > img:first-child,
  .v47-home-alumni-card > .testimonial-photo,
  .v47-home-alumni-card > .alumni-feature-photo,
  .v47-home-alumni-card > .alumni-publication-photo,
  .v47-home-alumni-card > .publication-photo,
  .v47-home-alumni-card > .publication-image,
  .v47-home-alumni-card > .publication-poster,
  .v47-home-alumni-card .testimonial-photo:first-child,
  .v47-home-alumni-card .alumni-feature-photo:first-child,
  .v47-home-alumni-card .alumni-publication-photo:first-child,
  .v47-home-alumni-card .publication-photo:first-child,
  .v47-home-alumni-card .publication-image:first-child,
  .v47-home-alumni-card .publication-poster:first-child{
    grid-column:1 !important;
    grid-row:auto !important;
    width:100% !important;
    max-width:250px !important;
    min-width:0 !important;
    height:300px !important;
    min-height:300px !important;
    max-height:300px !important;
    margin:0 auto !important;
    justify-self:center !important;
  }

  .v47-home-alumni-card > :not(img):not(picture):not(.testimonial-photo):not(.alumni-feature-photo):not(.alumni-publication-photo):not(.publication-photo):not(.publication-image):not(.publication-poster){
    grid-column:1 !important;
  }
}

.v47-home-alumni-card > img:first-child,
  .v47-home-alumni-card > .testimonial-photo,
  .v47-home-alumni-card > .alumni-feature-photo,
  .v47-home-alumni-card > .alumni-publication-photo,
  .v47-home-alumni-card > .publication-photo,
  .v47-home-alumni-card > .publication-image,
  .v47-home-alumni-card > .publication-poster,
  .v47-home-alumni-card .testimonial-photo:first-child,
  .v47-home-alumni-card .alumni-feature-photo:first-child,
  .v47-home-alumni-card .alumni-publication-photo:first-child,
  .v47-home-alumni-card .publication-photo:first-child,
  .v47-home-alumni-card .publication-image:first-child,
  .v47-home-alumni-card .publication-poster:first-child{
    grid-column:1 !important;
    grid-row:auto !important;
    width:100% !important;
    max-width:250px !important;
    min-width:0 !important;
    height:300px !important;
    min-height:300px !important;
    max-height:300px !important;
    margin:0 auto !important;
    justify-self:center !important;
  }

  .v47-home-alumni-card > :not(img):not(picture):not(.testimonial-photo):not(.alumni-feature-photo):not(.alumni-publication-photo):not(.publication-photo):not(.publication-image):not(.publication-poster){
    grid-column:1 !important;
  }
}

.v48-home-alumni-card > img:first-child,
  .v48-home-alumni-card > .testimonial-photo,
  .v48-home-alumni-card > .alumni-feature-photo,
  .v48-home-alumni-card > .alumni-publication-photo,
  .v48-home-alumni-card > .publication-photo,
  .v48-home-alumni-card > .publication-image,
  .v48-home-alumni-card > .publication-poster,
  .v48-home-alumni-card .testimonial-photo:first-child,
  .v48-home-alumni-card .alumni-feature-photo:first-child,
  .v48-home-alumni-card .alumni-publication-photo:first-child,
  .v48-home-alumni-card .publication-photo:first-child,
  .v48-home-alumni-card .publication-image:first-child,
  .v48-home-alumni-card .publication-poster:first-child{
    grid-column:1 !important;
    grid-row:auto !important;
    width:100% !important;
    max-width:250px !important;
    min-width:0 !important;
    height:300px !important;
    min-height:300px !important;
    max-height:300px !important;
    margin:0 auto !important;
    justify-self:center !important;
  }

  .v48-home-alumni-card > :not(img):not(picture):not(.testimonial-photo):not(.alumni-feature-photo):not(.alumni-publication-photo):not(.publication-photo):not(.publication-image):not(.publication-poster){
    grid-column:1 !important;
  }
}

.v49-home-alumni-media,
  .v49-home-alumni-card > img:first-child,
  .v49-home-alumni-card > .testimonial-photo,
  .v49-home-alumni-card > .alumni-feature-photo,
  .v49-home-alumni-card > .alumni-publication-photo,
  .v49-home-alumni-card > .publication-photo,
  .v49-home-alumni-card > .publication-image,
  .v49-home-alumni-card > .publication-poster,
  .v49-home-alumni-card .testimonial-photo:first-child,
  .v49-home-alumni-card .alumni-feature-photo:first-child,
  .v49-home-alumni-card .alumni-publication-photo:first-child,
  .v49-home-alumni-card .publication-photo:first-child,
  .v49-home-alumni-card .publication-image:first-child,
  .v49-home-alumni-card .publication-poster:first-child{
    grid-column:1 !important;
    grid-row:auto !important;
    width:100% !important;
    max-width:280px !important;
    min-width:0 !important;
    height:330px !important;
    min-height:330px !important;
    max-height:330px !important;
    margin:0 auto !important;
    justify-self:center !important;
  }

  .v49-home-alumni-content,
  .v49-home-alumni-card > :not(img):not(picture):not(.v49-home-alumni-media):not(.testimonial-photo):not(.alumni-feature-photo):not(.alumni-publication-photo):not(.publication-photo):not(.publication-image):not(.publication-poster){
    grid-column:1 !important;
  }
}

.v50-home-alumni-media,
  .v50-home-alumni-card > img:first-child,
  .v50-home-alumni-card > .testimonial-photo,
  .v50-home-alumni-card > .alumni-feature-photo,
  .v50-home-alumni-card > .alumni-publication-photo,
  .v50-home-alumni-card > .publication-photo,
  .v50-home-alumni-card > .publication-image,
  .v50-home-alumni-card > .publication-poster,
  .v50-home-alumni-card .testimonial-photo:first-child,
  .v50-home-alumni-card .alumni-feature-photo:first-child,
  .v50-home-alumni-card .alumni-publication-photo:first-child,
  .v50-home-alumni-card .publication-photo:first-child,
  .v50-home-alumni-card .publication-image:first-child,
  .v50-home-alumni-card .publication-poster:first-child{
    grid-column:1 !important;
    grid-row:auto !important;
    width:100% !important;
    max-width:280px !important;
    min-width:0 !important;
    height:330px !important;
    min-height:330px !important;
    max-height:330px !important;
    margin:0 auto !important;
    justify-self:center !important;
  }

  .v50-home-alumni-content,
  .v50-home-alumni-card > :not(img):not(picture):not(.v50-home-alumni-media):not(.testimonial-photo):not(.alumni-feature-photo):not(.alumni-publication-photo):not(.publication-photo):not(.publication-image):not(.publication-poster){
    grid-column:1 !important;
  }
}

.v51-home-alumni-media,
  .v51-home-alumni-card > img:first-child,
  .v51-home-alumni-card > .testimonial-photo,
  .v51-home-alumni-card > .alumni-feature-photo,
  .v51-home-alumni-card > .alumni-publication-photo,
  .v51-home-alumni-card > .publication-photo,
  .v51-home-alumni-card > .publication-image,
  .v51-home-alumni-card > .publication-poster,
  .v51-home-alumni-card .testimonial-photo:first-child,
  .v51-home-alumni-card .alumni-feature-photo:first-child,
  .v51-home-alumni-card .alumni-publication-photo:first-child,
  .v51-home-alumni-card .publication-photo:first-child,
  .v51-home-alumni-card .publication-image:first-child,
  .v51-home-alumni-card .publication-poster:first-child{
    grid-column:1 !important;
    grid-row:auto !important;
    width:100% !important;
    max-width:280px !important;
    min-width:0 !important;
    height:330px !important;
    min-height:330px !important;
    max-height:330px !important;
    margin:0 auto 16px auto !important;
    justify-self:center !important;
  }

  .v51-home-alumni-content,
  .v51-home-alumni-card > :not(img):not(picture):not(.v51-home-alumni-media):not(.testimonial-photo):not(.alumni-feature-photo):not(.alumni-publication-photo):not(.publication-photo):not(.publication-image):not(.publication-poster){
    grid-column:1 !important;
  }
}

.v52-home-alumni-media,
  .v52-home-alumni-card > img:first-child,
  .v52-home-alumni-card > picture:first-child,
  .v52-home-alumni-card > .testimonial-photo,
  .v52-home-alumni-card > .alumni-feature-photo,
  .v52-home-alumni-card > .alumni-publication-photo,
  .v52-home-alumni-card > .publication-photo,
  .v52-home-alumni-card > .publication-image,
  .v52-home-alumni-card > .publication-poster,
  .v52-home-alumni-card [class*="photo"]:first-child,
  .v52-home-alumni-card [class*="image"]:first-child,
  .v52-home-alumni-card [class*="poster"]:first-child{
    grid-column:1 !important;
    grid-row:auto !important;
    width:100% !important;
    max-width:280px !important;
    min-width:0 !important;
    height:330px !important;
    min-height:330px !important;
    max-height:330px !important;
    margin:0 auto 18px auto !important;
    justify-self:center !important;
  }

  .v52-home-alumni-content,
  .v52-home-alumni-card > :not(img):not(picture):not(.v52-home-alumni-media):not(.testimonial-photo):not(.alumni-feature-photo):not(.alumni-publication-photo):not(.publication-photo):not(.publication-image):not(.publication-poster){
    grid-column:1 !important;
  }

  .v52-publication-image-box{
    width:100% !important;
    height:220px !important;
    min-width:0 !important;
  }
}

/* v53: clean home alumni cards + complete alumni publications */

/* Stop efek modal/popup patch lama */
.v46-alumni-modal,
.v46-alumni-modal.is-open,
.v47-alumni-modal,
.v47-alumni-modal.is-open{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* Home alumni section */
.v53-home-alumni-showcase{
  align-items:stretch !important;
  gap:28px !important;
  overflow:visible !important;
}

.v53-home-alumni-card{
  display:grid !important;
  grid-template-columns:180px minmax(0,1fr) !important;
  gap:24px !important;
  align-items:start !important;
  height:auto !important;
  min-height:300px !important;
  max-height:none !important;
  overflow:hidden !important;
  padding:24px !important;
  border-radius:32px !important;
  text-decoration:none !important;
}

.v53-home-alumni-card:hover{
  transform:translateY(-2px);
}

.v53-alumni-photo-wrap{
  width:180px !important;
  height:230px !important;
  min-width:180px !important;
  max-width:180px !important;
  min-height:230px !important;
  max-height:230px !important;
  border-radius:24px !important;
  overflow:hidden !important;
  border:1px dashed #C7D7EF !important;
  background:#FFFFFF !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.v53-alumni-photo-wrap img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  background:#FFFFFF !important;
}

.v53-alumni-card-content{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
}

.v53-alumni-card-content h3{
  margin:14px 0 8px !important;
  font-size:clamp(22px,2vw,30px) !important;
  line-height:1.08 !important;
  display:-webkit-box !important;
  -webkit-line-clamp:3 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

.v53-alumni-card-content .origin-label{
  margin:0 0 10px !important;
  font-weight:900 !important;
  color:#65748B !important;
  line-height:1.35 !important;
}

.v53-alumni-card-content .alumni-feature-quote{
  margin:0 !important;
  line-height:1.55 !important;
  color:#66758D !important;
  display:-webkit-box !important;
  -webkit-line-clamp:3 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

.v53-readmore-button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  margin-top:14px !important;
  padding:10px 18px !important;
  border-radius:999px !important;
  border:1px solid #BFD4FF !important;
  background:#EEF5FF !important;
  color:#0B48B5 !important;
  font-weight:950 !important;
  line-height:1 !important;
  text-decoration:none !important;
}

/* Alumni publication page, mengikuti gaya Riset & Publikasi Dosen */
.v53-alumni-publication-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:24px !important;
  align-items:stretch !important;
}

.v53-alumni-publication-card{
  overflow:hidden !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
}

.v53-alumni-publication-media{
  aspect-ratio:16/10 !important;
  width:100% !important;
  background:linear-gradient(135deg,#EEF5FF,#FFF7DB) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  border-bottom:1px solid var(--line) !important;
}

.v53-alumni-publication-media img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  background:#FFFFFF !important;
}

.v53-publication-year-placeholder{
  width:100% !important;
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  color:#0B48B5 !important;
  font-weight:1000 !important;
  text-align:center !important;
}

.v53-publication-year-placeholder span{
  display:flex !important;
  width:96px !important;
  height:96px !important;
  border-radius:28px !important;
  background:linear-gradient(135deg,var(--navy),var(--blue)) !important;
  color:#FFFFFF !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:26px !important;
  box-shadow:0 14px 28px rgba(17,77,187,.18) !important;
}

.v53-publication-year-placeholder small{
  color:#65748B !important;
  font-weight:900 !important;
}

.v53-alumni-publication-body{
  padding:24px !important;
}

.v53-publication-meta-row{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:12px !important;
  margin-bottom:14px !important;
  color:#66758D !important;
  font-weight:950 !important;
}

.v53-alumni-publication-card h3{
  margin:0 0 12px !important;
  font-size:clamp(24px,2.15vw,32px) !important;
  line-height:1.14 !important;
  color:#13243B !important;
}

.v53-publication-authors{
  margin:0 0 10px !important;
  color:#65748B !important;
  font-weight:950 !important;
  line-height:1.45 !important;
}

.v53-publication-venue{
  margin:0 0 14px !important;
  color:#66758D !important;
  font-weight:800 !important;
  line-height:1.55 !important;
}

.v53-publication-abstract{
  margin:0 !important;
  color:#66758D !important;
  line-height:1.7 !important;
  display:-webkit-box !important;
  -webkit-line-clamp:4 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

.v53-publication-actions{
  margin-top:18px !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  align-items:center !important;
}

@media(max-width:1100px){
  .v53-alumni-publication-grid{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:900px){
  .v53-home-alumni-showcase{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:720px){
  .v53-home-alumni-card{
    grid-template-columns:1fr !important;
    min-height:0 !important;
  }

  .v53-alumni-photo-wrap{
    width:100% !important;
    max-width:280px !important;
    height:330px !important;
    max-height:330px !important;
    margin:0 auto !important;
  }

  .v53-alumni-publication-media{
    aspect-ratio:4/3 !important;
  }
}

/* v56: fasttrack email, scholarship logo, safer pagination */

/* Beasiswa logo fit: jangan crop */
.scholarship-card img,
.beasiswa-card img,
[class*="scholarship"] img,
[class*="beasiswa"] img{
  object-fit:contain !important;
  object-position:center center !important;
  max-width:100% !important;
  max-height:100% !important;
}

.scholarship-logo,
.beasiswa-logo,
[class*="scholarship"] [class*="logo"],
[class*="beasiswa"] [class*="logo"]{
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#fff !important;
}

.scholarship-logo img,
.beasiswa-logo img,
[class*="scholarship"] [class*="logo"] img,
[class*="beasiswa"] [class*="logo"] img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  padding:8px !important;
  box-sizing:border-box !important;
}

/* v56 readmore */
.v56-readable-clamp{
  display:-webkit-box !important;
  -webkit-line-clamp:4 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  max-height:7.2em !important;
}

.v56-readable-clamp.v56-expanded{
  display:block !important;
  -webkit-line-clamp:unset !important;
  max-height:none !important;
  overflow:visible !important;
}

.v56-read-toggle{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  margin-top:14px !important;
  padding:10px 18px !important;
  border:1px solid #BFD4FF !important;
  border-radius:999px !important;
  background:#EEF5FF !important;
  color:#0B48B5 !important;
  font-weight:950 !important;
  font-size:16px !important;
  line-height:1 !important;
  text-decoration:none !important;
  cursor:pointer !important;
  box-shadow:none !important;
  width:max-content !important;
}

.v56-read-toggle:hover{
  background:#E3EEFF !important;
  border-color:#8FB6FF !important;
  color:#073B92 !important;
}

.v56-hidden-by-page{
  display:none !important;
}

.v56-pagination{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:center !important;
  gap:10px !important;
  margin:34px auto 0 !important;
  width:100% !important;
}

.v56-pagination button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:44px !important;
  min-height:44px !important;
  padding:10px 16px !important;
  border-radius:999px !important;
  border:1px solid #D9E4F5 !important;
  background:#FFFFFF !important;
  color:#13243B !important;
  font-weight:950 !important;
  text-decoration:none !important;
  cursor:pointer !important;
  box-shadow:0 10px 24px rgba(19,36,59,.06) !important;
}

.v56-pagination button:hover{
  border-color:#8FB6FF !important;
  color:#0B48B5 !important;
  background:#EEF5FF !important;
}

.v56-pagination button.is-active{
  background:#0B55D9 !important;
  color:#FFFFFF !important;
  border-color:#0B55D9 !important;
}

.v56-pagination button:disabled{
  cursor:not-allowed !important;
  opacity:.45 !important;
  background:#F2F5FA !important;
}

/* hapus info v55 jika masih ada */
.v55-pagination-info,
.v56-pagination-info{
  display:none !important;
}

.v56-form-message{
  margin-top:16px !important;
  padding:14px 16px !important;
  border-radius:18px !important;
  font-weight:800 !important;
  line-height:1.5 !important;
}

.v56-form-message.ok{
  background:#EAF7EF !important;
  color:#146C35 !important;
  border:1px solid #BFE6CC !important;
}

.v56-form-message.err{
  background:#FFF0F0 !important;
  color:#B42318 !important;
  border:1px solid #FFD0D0 !important;
}

@media(max-width:720px){
  .v56-pagination{
    gap:8px !important;
  }

  .v56-pagination button{
    min-width:40px !important;
    min-height:40px !important;
    padding:9px 13px !important;
    font-size:14px !important;
  }
}
/* /v56 */

/* v57: admin fasttrack email menu */
.v57-admin-fasttrack-email-link{display:block!important;text-decoration:none!important;}

/* v59: kuliah sore home badge */
.v59-class-time-badge{display:inline-flex!important;align-items:center!important;gap:14px!important;width:max-content!important;max-width:min(100%,620px)!important;margin-top:22px!important;padding:14px 18px!important;border-radius:24px!important;border:1px solid rgba(255,255,255,.22)!important;box-shadow:0 18px 48px rgba(0,0,0,.16)!important;backdrop-filter:blur(12px)!important}.v59-class-time-icon{width:48px!important;height:48px!important;min-width:48px!important;border-radius:18px!important;display:flex!important;align-items:center!important;justify-content:center!important}.v59-class-time-content{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important}.v59-class-time-content strong{font-size:15px!important;line-height:1.15!important;font-weight:1000!important;letter-spacing:.02em!important}.v59-class-time-content span{font-size:15px!important;line-height:1.45!important;font-weight:850!important}.v59-class-time-content small{font-size:12px!important;line-height:1.35!important;font-weight:800!important;opacity:.78!important}.v59-class-time-blue{background:rgba(8,56,104,.74)!important;color:#fff!important}.v59-class-time-blue .v59-class-time-icon{background:rgba(246,178,26,.16)!important;color:#F6B21A!important}.v59-class-time-gold{background:rgba(246,178,26,.94)!important;color:#09264A!important;border-color:rgba(255,255,255,.35)!important}.v59-class-time-gold .v59-class-time-icon{background:rgba(255,255,255,.62)!important;color:#09264A!important}.v59-class-time-white{background:rgba(255,255,255,.92)!important;color:#09264A!important;border-color:rgba(255,255,255,.64)!important}.v59-class-time-white .v59-class-time-icon{background:#EEF5FF!important;color:#0B55D9!important}@media(max-width:720px){.v59-class-time-badge{width:100%!important;align-items:flex-start!important;padding:13px 14px!important;border-radius:22px!important}.v59-class-time-icon{width:42px!important;height:42px!important;min-width:42px!important;border-radius:16px!important}.v59-class-time-content span{font-size:14px!important}}
/* /v59 */


/* v60: admin sidebar sync helper */
.v60-admin-menu-link{display:flex!important;align-items:center!important;text-decoration:none!important;}

/* v61: standalone admin logo helper */
.v61-admin-logo{max-width:238px;height:auto;object-fit:contain;}

/* v62: MINF FAQ chatbot */
.v62-chatbot{
  position:fixed !important;
  right:24px !important;
  bottom:24px !important;
  z-index:9999 !important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}

.v62-chatbot-toggle{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  border:0 !important;
  border-radius:999px !important;
  padding:13px 18px !important;
  background:#0B55D9 !important;
  color:#fff !important;
  font-weight:1000 !important;
  box-shadow:0 18px 42px rgba(11,85,217,.28) !important;
  cursor:pointer !important;
}

.v62-chatbot-toggle-icon{
  width:30px !important;
  height:30px !important;
  border-radius:50% !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(255,255,255,.16) !important;
}

.v62-chatbot-panel{
  position:absolute !important;
  right:0 !important;
  bottom:64px !important;
  width:min(380px, calc(100vw - 32px)) !important;
  height:min(620px, calc(100vh - 120px)) !important;
  background:#fff !important;
  border:1px solid #dbe6f6 !important;
  border-radius:28px !important;
  box-shadow:0 28px 80px rgba(9,38,74,.28) !important;
  overflow:hidden !important;
}

.v62-chatbot-header{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:14px !important;
  padding:18px 18px !important;
  background:linear-gradient(135deg,#09264A,#0B55D9) !important;
  color:#fff !important;
}

.v62-chatbot-header strong{
  display:block !important;
  font-size:17px !important;
  line-height:1.2 !important;
}

.v62-chatbot-header span{
  display:block !important;
  margin-top:3px !important;
  font-size:12px !important;
  color:rgba(255,255,255,.72) !important;
  line-height:1.3 !important;
}

.v62-chatbot-close{
  width:38px !important;
  height:38px !important;
  border:0 !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.13) !important;
  color:#fff !important;
  font-size:26px !important;
  line-height:1 !important;
  cursor:pointer !important;
}

.v62-chatbot-body{
  height:calc(100% - 144px) !important;
  padding:16px !important;
  overflow-y:auto !important;
  background:#f7faff !important;
}

.v62-chatbot-message{
  width:fit-content !important;
  max-width:92% !important;
  margin:0 0 12px !important;
  padding:12px 14px !important;
  border-radius:18px !important;
  font-size:14px !important;
  line-height:1.55 !important;
  font-weight:650 !important;
}

.v62-chatbot-bot{
  background:#fff !important;
  color:#13243b !important;
  border:1px solid #dbe6f6 !important;
  border-top-left-radius:8px !important;
}

.v62-chatbot-user{
  margin-left:auto !important;
  background:#0B55D9 !important;
  color:#fff !important;
  border-top-right-radius:8px !important;
}

.v62-chatbot-category{
  display:inline-flex !important;
  margin-bottom:6px !important;
  padding:4px 8px !important;
  border-radius:999px !important;
  background:#EEF5FF !important;
  color:#0B55D9 !important;
  font-size:11px !important;
  font-weight:1000 !important;
}

.v62-chatbot-quick{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin-top:12px !important;
}

.v62-chatbot-quick button{
  border:1px solid #bdd4ff !important;
  border-radius:999px !important;
  background:#EEF5FF !important;
  color:#0B55D9 !important;
  padding:8px 10px !important;
  font-weight:900 !important;
  font-size:12px !important;
  cursor:pointer !important;
}

.v62-chatbot-form{
  display:flex !important;
  gap:8px !important;
  padding:12px !important;
  border-top:1px solid #dbe6f6 !important;
  background:#fff !important;
}

.v62-chatbot-form input{
  flex:1 !important;
  min-width:0 !important;
  border:1px solid #cbd8ea !important;
  border-radius:16px !important;
  padding:12px 12px !important;
  font:inherit !important;
  font-weight:700 !important;
  outline:none !important;
}

.v62-chatbot-form input:focus{
  border-color:#0B55D9 !important;
  box-shadow:0 0 0 4px rgba(11,85,217,.12) !important;
}

.v62-chatbot-form button{
  border:0 !important;
  border-radius:16px !important;
  padding:0 14px !important;
  background:#F6B21A !important;
  color:#09264A !important;
  font-weight:1000 !important;
  cursor:pointer !important;
}

.v62-chatbot-contacts{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin-top:10px !important;
}

.v62-chatbot-contact{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-decoration:none !important;
  border-radius:999px !important;
  padding:8px 10px !important;
  background:#0B55D9 !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:1000 !important;
}

@media(max-width:640px){
  .v62-chatbot{
    right:14px !important;
    bottom:14px !important;
  }

  .v62-chatbot-toggle{
    padding:12px 14px !important;
  }

  .v62-chatbot-toggle-text{
    display:none !important;
  }

  .v62-chatbot-panel{
    right:-2px !important;
    bottom:58px !important;
    width:calc(100vw - 24px) !important;
    height:min(590px, calc(100vh - 100px)) !important;
    border-radius:24px !important;
  }
}
/* /v62 */

/* v64: chatbot fallback contact buttons safeguard */
.v62-chatbot-contacts{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin-top:12px !important;
}
.v62-chatbot-contact{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:38px !important;
  text-decoration:none !important;
}

/* v65 admin sidebar logo safeguard */
.admin-sidebar-logo,.v65-admin-logo,.brand img{max-width:250px;height:auto;object-fit:contain;object-position:left center;}

/* v66: chatbot click + admin logo mark */
.v62-chatbot{
  position:fixed !important;
  z-index:2147483647 !important;
  pointer-events:auto !important;
  isolation:isolate !important;
}
.v62-chatbot *,
.v62-chatbot-toggle,
.v62-chatbot-close,
.v62-chatbot-panel,
.v62-chatbot-panel *,
.v62-chatbot-quick button,
.v62-chatbot-form input,
.v62-chatbot-form button{
  pointer-events:auto !important;
}
.v62-chatbot-panel{
  z-index:2147483647 !important;
}
.v62-chatbot-panel[hidden]{
  display:none !important;
}
.hero::before,.hero::after,
.header::before,.header::after,
.banner::before,.banner::after,
.hero-overlay,.banner-overlay,.header-overlay,.decorative-overlay{
  pointer-events:none !important;
}
.v66-admin-brand-logo{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  text-decoration:none !important;
  padding:8px 6px 20px !important;
  margin-bottom:14px !important;
  border-bottom:1px solid rgba(255,255,255,.12) !important;
}
.v66-admin-mark{
  display:block !important;
  width:auto !important;
  height:64px !important;
  max-width:82px !important;
  max-height:82px !important;
  object-fit:contain !important;
  object-position:left center !important;
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.v66-admin-brand-text{
  display:block !important;
  color:#fff !important;
  font-weight:950 !important;
  line-height:1.12 !important;
  font-size:14px !important;
  letter-spacing:.01em !important;
}
.v66-admin-brand-text small{
  display:block !important;
  margin-top:4px !important;
  color:rgba(255,255,255,.68) !important;
  font-weight:850 !important;
  font-size:11px !important;
  letter-spacing:.12em !important;
}
.admin-sidebar > img[src*="logo-minf-uajy"]{
  width:auto !important;
  height:66px !important;
  max-width:86px !important;
  max-height:86px !important;
  object-fit:contain !important;
}
/* /v66 */

/* v67: chatbot clickable layer, fuzzy FAQ link style, and mobile safeguard */
.v62-chatbot{
  position:fixed !important;
  right:24px !important;
  bottom:24px !important;
  z-index:999999 !important;
  pointer-events:auto !important;
}
.v62-chatbot,
.v62-chatbot *{
  pointer-events:auto !important;
}
.v62-chatbot-toggle,
.v62-chatbot-panel,
.v62-chatbot-close,
.v62-chatbot-form button,
.v62-chatbot-quick button{
  position:relative;
  z-index:1000000 !important;
  pointer-events:auto !important;
}
.v62-chatbot-message a{
  color:#0B55D9 !important;
  font-weight:900 !important;
  text-decoration:underline !important;
  overflow-wrap:anywhere !important;
}
.hero::before,
.hero::after,
.banner::before,
.banner::after,
.site-hero::before,
.site-hero::after,
.page-hero::before,
.page-hero::after,
.hero-overlay,
.banner-overlay,
.header-overlay,
.decorative-overlay{
  pointer-events:none !important;
}
@media(max-width:640px){
  .v62-chatbot{right:14px !important;bottom:14px !important;}
  .v62-chatbot-panel{width:calc(100vw - 24px) !important;max-height:calc(100vh - 96px) !important;}
}
/* /v67 */


/* v68 contact page styles */
.contact-card a{color:var(--blue);font-weight:900;text-decoration:none}
.contact-card a:hover{text-decoration:underline}
.contact-card p{line-height:1.75}
.admin-field.full{grid-column:1/-1}

/* v70: contact page button color fix
   Penyebab: rule .contact-card a dari patch kontak membuat teks tombol ikut berwarna biru.
   Safeguard ini mengembalikan warna teks tombol sesuai tipe tombolnya. */
.contact-card a.btn,
.contact-card a.btn:visited,
.contact-card a.btn:hover,
.contact-card a.btn:focus {
  text-decoration: none !important;
}

.contact-card a.btn-blue,
.contact-card a.btn-blue:visited,
.contact-card a.btn-blue:hover,
.contact-card a.btn-blue:focus {
  color: #ffffff !important;
}

.contact-card a.btn-primary,
.contact-card a.btn-primary:visited,
.contact-card a.btn-primary:hover,
.contact-card a.btn-primary:focus {
  color: #172033 !important;
}

.contact-card a.btn-white,
.contact-card a.btn-white:visited,
.contact-card a.btn-white:hover,
.contact-card a.btn-white:focus {
  color: var(--navy) !important;
}

.contact-card a.btn-muted,
.contact-card a.btn-muted:visited,
.contact-card a.btn-muted:hover,
.contact-card a.btn-muted:focus {
  color: #64748B !important;
}
/* /v70 */

/* v72: page hero uploaded banner full-fit Android */
.page-hero-visual.has-image,
.photo-frame.wide.page-hero-visual.has-image{
  aspect-ratio:16 / 9 !important;
  height:auto !important;
  min-height:0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:#F8FAFF !important;
}

.page-hero-visual.has-image .page-hero-image,
.photo-frame.wide.page-hero-visual.has-image .page-hero-image,
.hero .page-hero-visual.has-image .page-hero-image,
.hero .photo-frame.wide.page-hero-visual.has-image .page-hero-image{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#F8FAFF !important;
  border-radius:inherit !important;
  transform:none !important;
}

@media(max-width:768px){
  .hero,
  .hero-grid,
  .hero-grid > div{
    max-width:100% !important;
    min-width:0 !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }

  .hero .page-hero-visual.has-image,
  .hero .photo-frame.wide.page-hero-visual.has-image{
    width:100% !important;
    max-width:100% !important;
    aspect-ratio:16 / 9 !important;
    height:auto !important;
    min-height:0 !important;
  }

  .hero .page-hero-visual.has-image .page-hero-image,
  .hero .photo-frame.wide.page-hero-visual.has-image .page-hero-image{
    object-fit:contain !important;
    object-position:center center !important;
  }
}
/* /v72 */

/* v73: uploaded page banner full fit */
.page-hero-visual.has-image,
.photo-frame.wide.page-hero-visual.has-image{
  aspect-ratio:16 / 9 !important;
  height:auto !important;
  min-height:0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:#F8FAFF !important;
}
.page-hero-visual.has-image .page-hero-image,
.photo-frame.wide.page-hero-visual.has-image .page-hero-image,
.hero .page-hero-visual.has-image .page-hero-image,
.hero .photo-frame.wide.page-hero-visual.has-image .page-hero-image{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#F8FAFF !important;
  border-radius:inherit !important;
  transform:none !important;
}
@media(max-width:768px){
  .hero,
  .hero-grid,
  .hero-grid > div{
    max-width:100% !important;
    min-width:0 !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }
  .hero .page-hero-visual.has-image,
  .hero .photo-frame.wide.page-hero-visual.has-image{
    width:100% !important;
    max-width:100% !important;
    aspect-ratio:16 / 9 !important;
    height:auto !important;
    min-height:0 !important;
  }
  .hero .page-hero-visual.has-image .page-hero-image,
  .hero .photo-frame.wide.page-hero-visual.has-image .page-hero-image{
    object-fit:contain !important;
    object-position:center center !important;
  }
}
/* /v73 */

/* v74: publikasi alumni page banner fit */
.page-hero-visual.has-image,
.photo-frame.wide.page-hero-visual.has-image{
  aspect-ratio:16 / 9 !important;
  height:auto !important;
  min-height:0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:#F8FAFF !important;
}
.page-hero-visual.has-image .page-hero-image,
.photo-frame.wide.page-hero-visual.has-image .page-hero-image{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  border-radius:inherit !important;
  background:#F8FAFF !important;
  transform:none !important;
}
@media(max-width:768px){
  .hero .page-hero-visual.has-image,
  .hero .photo-frame.wide.page-hero-visual.has-image{
    width:100% !important;
    max-width:100% !important;
    aspect-ratio:16 / 9 !important;
    height:auto !important;
  }
}
/* /v74 */

/* v75: root deployment + Android banner fit safeguard */
.page-hero-visual.has-image,
.photo-frame.wide.page-hero-visual.has-image{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:#f8fbff !important;
}
.page-hero-visual.has-image .page-hero-image,
.photo-frame.wide.page-hero-visual.has-image .page-hero-image{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
}
@media(max-width:640px){
  .hero .page-hero-visual.has-image,
  .hero .photo-frame.wide.page-hero-visual.has-image{
    min-height:190px !important;
    aspect-ratio:16/9 !important;
  }
}

/* v79: restore website container spacing final */
:root{
  --site-max-width:1220px;
}

/* Kunci utama: semua konten publik kembali berada di tengah, tidak full-width/mepet tepi layar. */
.container,
.header .container,
.topbar .container,
.hero .container,
.section .container,
.footer .container,
main .container{
  width:100% !important;
  max-width:var(--site-max-width) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:24px !important;
  padding-right:24px !important;
  box-sizing:border-box !important;
}

/* Khusus hero: batalkan efek global v76 yang pernah memaksa max-width:100%. */
.hero .container.hero-grid,
.hero .container.home-hero-grid,
.hero .container.hero-grid.home-hero-grid{
  width:100% !important;
  max-width:var(--site-max-width) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:24px !important;
  padding-right:24px !important;
  overflow:visible !important;
}

.hero-grid,
.home-hero-grid{
  min-width:0 !important;
}

.hero-grid > *,
.home-hero-grid > *{
  min-width:0 !important;
}

/* Restore komposisi home seperti desain awal: teks kiri dan panel kanan punya jarak yang lega. */
.home-hero-grid{
  grid-template-columns:.95fr 1.05fr !important;
  gap:42px !important;
}

/* Halaman internal tetap dua kolom, tetapi tetap berada dalam container 1220px. */
.hero .container.hero-grid[style*="grid-template-columns"]{
  grid-template-columns:minmax(0,1fr) minmax(320px,.82fr) !important;
  gap:42px !important;
}

/* Perbaikan download dibatasi hanya di halaman Download, bukan global. */
.download-page .hero .container.hero-grid,
main.download-page .hero .container.hero-grid{
  grid-template-columns:minmax(0,1fr) minmax(320px,.82fr) !important;
}

.download-page .page-hero-visual.has-image,
.download-page .photo-frame.wide.page-hero-visual.has-image,
main.download-page .page-hero-visual.has-image,
main.download-page .photo-frame.wide.page-hero-visual.has-image{
  width:100% !important;
  max-width:100% !important;
  aspect-ratio:16 / 9 !important;
  min-height:0 !important;
  height:auto !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

.download-page .page-hero-visual.has-image .page-hero-image,
.download-page .photo-frame.wide.page-hero-visual.has-image .page-hero-image,
main.download-page .page-hero-visual.has-image .page-hero-image,
main.download-page .photo-frame.wide.page-hero-visual.has-image .page-hero-image{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
}

@media(max-width:1100px){
  .hero .container.hero-grid,
  .hero .container.home-hero-grid,
  .hero .container.hero-grid[style*="grid-template-columns"],
  .home-hero-grid,
  .download-page .hero .container.hero-grid,
  main.download-page .hero .container.hero-grid{
    grid-template-columns:minmax(0,1fr) !important;
  }
}

@media(max-width:760px){
  .container,
  .header .container,
  .topbar .container,
  .hero .container,
  .section .container,
  .footer .container,
  main .container,
  .hero .container.hero-grid,
  .hero .container.home-hero-grid{
    padding-left:20px !important;
    padding-right:20px !important;
  }

  .home-hero-grid,
  .hero .container.hero-grid[style*="grid-template-columns"]{
    gap:28px !important;
  }
}
/* end v79 */

/* v80: download hero banner scoped fit fix */
/*
   Khusus halaman Download saja.
   Tujuan: banner kanan mengikuti container, tidak melebar keluar, dan tidak meninggalkan frame kosong berlebihan.
*/
.download-page .hero .container.hero-grid{
  width:100% !important;
  max-width:1220px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:24px !important;
  padding-right:24px !important;
  grid-template-columns:minmax(0, .96fr) minmax(0, .92fr) !important;
  gap:54px !important;
  align-items:center !important;
  overflow:visible !important;
}

.download-page .hero .container.hero-grid > div{
  min-width:0 !important;
}

.download-page .hero .container.hero-grid > div:last-child{
  width:100% !important;
  max-width:590px !important;
  justify-self:end !important;
  overflow:hidden !important;
}

/* Override rule contain dari patch sebelumnya, hanya untuk Download. */
.download-page .page-hero-visual.has-image,
.download-page .photo-frame.wide.page-hero-visual.has-image,
main.download-page .page-hero-visual.has-image,
main.download-page .photo-frame.wide.page-hero-visual.has-image{
  display:block !important;
  width:100% !important;
  max-width:590px !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:34px !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  background:#F8FAFF !important;
  border:1px solid #DDE6F4 !important;
  box-shadow:0 24px 55px rgba(19,36,59,.10) !important;
}

.download-page .page-hero-visual.has-image .page-hero-image,
.download-page .photo-frame.wide.page-hero-visual.has-image .page-hero-image,
main.download-page .page-hero-visual.has-image .page-hero-image,
main.download-page .photo-frame.wide.page-hero-visual.has-image .page-hero-image{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  border-radius:inherit !important;
  transform:none !important;
  background:#F8FAFF !important;
}

/* Untuk layar besar: samakan feel dengan halaman Beasiswa, tetapi tetap tidak keluar container. */
@media(min-width:1400px){
  .download-page .hero .container.hero-grid > div:last-child,
  .download-page .page-hero-visual.has-image,
  .download-page .photo-frame.wide.page-hero-visual.has-image{
    max-width:620px !important;
  }
}

@media(max-width:1100px){
  .download-page .hero .container.hero-grid{
    grid-template-columns:minmax(0,1fr) !important;
    gap:32px !important;
  }

  .download-page .hero .container.hero-grid > div:last-child{
    max-width:680px !important;
    justify-self:start !important;
  }

  .download-page .page-hero-visual.has-image,
  .download-page .photo-frame.wide.page-hero-visual.has-image{
    max-width:680px !important;
  }
}

@media(max-width:760px){
  .download-page .hero .container.hero-grid{
    padding-left:20px !important;
    padding-right:20px !important;
    gap:26px !important;
  }

  .download-page .hero .container.hero-grid > div:last-child,
  .download-page .page-hero-visual.has-image,
  .download-page .photo-frame.wide.page-hero-visual.has-image{
    max-width:100% !important;
    border-radius:26px !important;
  }
}
/* end v80 */
/* v81: lecturer achievements feature */
.v81-achievement-home .section-title{max-width:820px;margin-left:auto;margin-right:auto;text-align:center}
.v81-achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.v81-achievement-card{display:flex;flex-direction:column;overflow:hidden;padding:0!important}
.v81-achievement-media{aspect-ratio:16/10;background:#F6F9FF;overflow:hidden;border-radius:28px 28px 0 0;border-bottom:1px solid var(--line)}
.v81-achievement-media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.v81-achievement-placeholder{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:1000;color:#6B7B93;padding:20px;background:linear-gradient(135deg,#F6F9FF,#EEF5FF)}
.v81-achievement-body{padding:22px}
.v81-achievement-body h3{margin:12px 0 0;font-size:22px;line-height:1.18}
.v81-achievement-meta{margin-top:10px;color:var(--muted);font-weight:800;font-size:14px}
.v81-achievement-desc{margin-top:12px;color:var(--muted);line-height:1.7}
.v81-achievement-actions{margin-top:auto;padding-top:16px;display:flex;gap:10px;flex-wrap:wrap}
.v81-achievement-page .hero .container.hero-grid{max-width:1220px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;box-sizing:border-box}
.v81-achievement-page .page-hero-visual.has-image .page-hero-image{object-fit:contain!important;background:#F8FAFF!important}
@media(max-width:980px){.v81-achievement-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.v81-achievement-grid{grid-template-columns:1fr}.v81-achievement-page .hero .container.hero-grid{padding-left:18px!important;padding-right:18px!important}}
/* end v81 */

/* v87 fasttrack mobile timeline fix START */
/* Khusus halaman Fast Track: memperbaiki garis timeline mobile agar tidak putus. */
@media (max-width: 760px) {
  main.fasttrack-page #alur .timeline-horizontal-wrap,
  .fasttrack-page #alur .timeline-horizontal-wrap {
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 6px 18px 16px 0 !important;
    scroll-padding-left: 0 !important;
  }

  main.fasttrack-page #alur .timeline-horizontal,
  .fasttrack-page #alur .timeline-horizontal {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: flex-start !important;
    gap: 18px !important;
    position: relative !important;
    min-width: 0 !important;
    width: max-content !important;
    max-width: none !important;
    padding: 26px 12px 12px 0 !important;
    background: transparent !important;
  }

  main.fasttrack-page #alur .timeline-horizontal::before,
  .fasttrack-page #alur .timeline-horizontal::before {
    content: "" !important;
    position: absolute !important;
    top: 52px !important;
    left: 28px !important;
    right: auto !important;
    width: calc(100% - 56px) !important;
    min-width: calc(100% - 56px) !important;
    height: 5px !important;
    display: block !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, #0B55D9 0%, #86B4FF 26%, #F6B21A 50%, #86B4FF 74%, #0B55D9 100%) !important;
    box-shadow: 0 0 0 1px rgba(11, 85, 217, .05) !important;
    z-index: 0 !important;
    pointer-events: none !important;
  }

  main.fasttrack-page #alur .timeline-step,
  .fasttrack-page #alur .timeline-step {
    flex: 0 0 172px !important;
    width: 172px !important;
    min-width: 172px !important;
    max-width: 172px !important;
    position: relative !important;
    z-index: 1 !important;
    padding-top: 0 !important;
  }

  main.fasttrack-page #alur .timeline-node,
  .fasttrack-page #alur .timeline-node {
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    border-radius: 18px !important;
    margin: 0 0 18px 0 !important;
    position: relative !important;
    z-index: 2 !important;
    border: 5px solid #fff !important;
    box-sizing: border-box !important;
  }

  main.fasttrack-page #alur .timeline-step:nth-child(odd) .timeline-node,
  .fasttrack-page #alur .timeline-step:nth-child(odd) .timeline-node {
    background: linear-gradient(180deg, #1F72ED, #0B55D9) !important;
    color: #fff !important;
  }

  main.fasttrack-page #alur .timeline-step:nth-child(even) .timeline-node,
  .fasttrack-page #alur .timeline-step:nth-child(even) .timeline-node {
    background: linear-gradient(180deg, #FFD869, #F6B21A) !important;
    color: #09264A !important;
  }

  main.fasttrack-page #alur .timeline-card,
  .fasttrack-page #alur .timeline-card {
    width: 100% !important;
    min-height: 206px !important;
    box-sizing: border-box !important;
    border-radius: 24px !important;
    overflow: hidden !important;
  }

  main.fasttrack-page #alur .timeline-card h3,
  .fasttrack-page #alur .timeline-card h3 {
    font-size: 17px !important;
    line-height: 1.18 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  main.fasttrack-page #alur .timeline-card p,
  .fasttrack-page #alur .timeline-card p {
    font-size: 13px !important;
    line-height: 1.55 !important;
  }
}

@media (max-width: 420px) {
  main.fasttrack-page #alur .timeline-horizontal,
  .fasttrack-page #alur .timeline-horizontal {
    gap: 14px !important;
  }

  main.fasttrack-page #alur .timeline-step,
  .fasttrack-page #alur .timeline-step {
    flex-basis: 158px !important;
    width: 158px !important;
    min-width: 158px !important;
    max-width: 158px !important;
  }

  main.fasttrack-page #alur .timeline-card,
  .fasttrack-page #alur .timeline-card {
    padding: 18px 16px 20px !important;
  }
}
/* v87 fasttrack mobile timeline fix END */

/* v89: research readmore reliable expand fix */
.research-publication-card .research-abstract{
  transition:max-height .25s ease, opacity .2s ease !important;
}

.research-publication-card.v89-expanded,
.research-publication-card.is-expanded{
  height:auto !important;
}

.research-publication-card.v89-expanded .research-publication-body,
.research-publication-card.is-expanded .research-publication-body{
  height:auto !important;
  min-height:0 !important;
}

.research-publication-card.v89-expanded .research-abstract,
.research-publication-card.is-expanded .research-abstract,
.research-abstract.v89-expanded{
  display:block !important;
  -webkit-line-clamp:unset !important;
  line-clamp:unset !important;
  -webkit-box-orient:initial !important;
  overflow:visible !important;
  max-height:none !important;
  height:auto !important;
  white-space:normal !important;
}

.research-publication-card.v89-expanded h3,
.research-publication-card.is-expanded h3{
  display:block !important;
  -webkit-line-clamp:unset !important;
  line-clamp:unset !important;
  -webkit-box-orient:initial !important;
  overflow:visible !important;
  max-height:none !important;
}

.research-publication-card.v89-expanded .research-keywords,
.research-publication-card.is-expanded .research-keywords{
  display:flex !important;
  flex-wrap:wrap !important;
}

.research-readmore-btn,
button.research-readmore-btn,
[data-research-readmore="1"]{
  pointer-events:auto !important;
  user-select:none !important;
  position:relative !important;
  z-index:3 !important;
}

.research-readmore-btn.v89-open span,
.research-publication-card.v89-expanded .research-readmore-btn span{
  transform:rotate(180deg) !important;
}
/* end v89 research readmore reliable expand fix */

/* v91: public glassy readmore/detail buttons start */
/* Scope: halaman publik saja. Tidak menyentuh admin/backend. */
body > main:not(.admin-main) .v53-readmore-button,
body > main:not(.admin-main) .news-card .btn-white,
body > main:not(.admin-main) .testimonial-card .read-more,
body > main:not(.admin-main) .testimonial-card .readmore-btn,
body > main:not(.admin-main) .testimonial-card .btn,
body > main:not(.admin-main) .publication-card .read-more,
body > main:not(.admin-main) .publication-card .readmore-btn,
body > main:not(.admin-main) .publication-card .btn,
body > main:not(.admin-main) .v53-alumni-publication-card .btn,
body > main:not(.admin-main) .v53-alumni-publication-card .read-more,
body > main:not(.admin-main) .v81-achievement-card .btn,
body > main:not(.admin-main) .v81-achievement-card .read-more,
body > main:not(.admin-main) .research-publication-card .read-more,
body > main:not(.admin-main) .research-publication-card .readmore-btn,
body > main:not(.admin-main) .research-publication-card .btn-white {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 44px !important;
  padding: 12px 22px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(184, 210, 255, .82) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.82), rgba(239,246,255,.62)) !important;
  color: #06224A !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: -.01em !important;
  text-decoration: none !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 0 -10px 18px rgba(255,255,255,.28),
    0 12px 28px rgba(15, 64, 139, .10) !important;
  -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  backdrop-filter: blur(16px) saturate(160%) !important;
  overflow: hidden !important;
}

body > main:not(.admin-main) .v53-readmore-button::before,
body > main:not(.admin-main) .news-card .btn-white::before,
body > main:not(.admin-main) .testimonial-card .read-more::before,
body > main:not(.admin-main) .testimonial-card .readmore-btn::before,
body > main:not(.admin-main) .testimonial-card .btn::before,
body > main:not(.admin-main) .publication-card .read-more::before,
body > main:not(.admin-main) .publication-card .readmore-btn::before,
body > main:not(.admin-main) .publication-card .btn::before,
body > main:not(.admin-main) .v53-alumni-publication-card .btn::before,
body > main:not(.admin-main) .v81-achievement-card .btn::before,
body > main:not(.admin-main) .research-publication-card .read-more::before,
body > main:not(.admin-main) .research-publication-card .readmore-btn::before,
body > main:not(.admin-main) .research-publication-card .btn-white::before {
  content: "" !important;
  position: absolute !important;
  inset: 1px auto auto 12px !important;
  width: 58% !important;
  height: 48% !important;
  border-radius: inherit !important;
  background: linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,0)) !important;
  pointer-events: none !important;
}

body > main:not(.admin-main) .v53-readmore-button:hover,
body > main:not(.admin-main) .news-card .btn-white:hover,
body > main:not(.admin-main) .testimonial-card .read-more:hover,
body > main:not(.admin-main) .testimonial-card .readmore-btn:hover,
body > main:not(.admin-main) .testimonial-card .btn:hover,
body > main:not(.admin-main) .publication-card .read-more:hover,
body > main:not(.admin-main) .publication-card .readmore-btn:hover,
body > main:not(.admin-main) .publication-card .btn:hover,
body > main:not(.admin-main) .v53-alumni-publication-card .btn:hover,
body > main:not(.admin-main) .v81-achievement-card .btn:hover,
body > main:not(.admin-main) .research-publication-card .read-more:hover,
body > main:not(.admin-main) .research-publication-card .readmore-btn:hover,
body > main:not(.admin-main) .research-publication-card .btn-white:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(101, 155, 255, .78) !important;
  color: #0B48B5 !important;
  background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(232,243,255,.74)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    0 18px 38px rgba(15, 64, 139, .16) !important;
}

/* Hilangkan panah turun/naik lama pada tombol publik. */
body > main:not(.admin-main) .v53-readmore-button span[aria-hidden],
body > main:not(.admin-main) .read-more span[aria-hidden],
body > main:not(.admin-main) .readmore-btn span[aria-hidden],
body > main:not(.admin-main) .v53-readmore-button::after,
body > main:not(.admin-main) .read-more::after,
body > main:not(.admin-main) .readmore-btn::after,
body > main:not(.admin-main) .v81-achievement-card .btn::after,
body > main:not(.admin-main) .v53-alumni-publication-card .btn::after,
body > main:not(.admin-main) .testimonial-card .btn::after,
body > main:not(.admin-main) .publication-card .btn::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 640px) {
  body > main:not(.admin-main) .v53-readmore-button,
  body > main:not(.admin-main) .news-card .btn-white,
  body > main:not(.admin-main) .testimonial-card .read-more,
  body > main:not(.admin-main) .testimonial-card .readmore-btn,
  body > main:not(.admin-main) .testimonial-card .btn,
  body > main:not(.admin-main) .publication-card .read-more,
  body > main:not(.admin-main) .publication-card .readmore-btn,
  body > main:not(.admin-main) .publication-card .btn,
  body > main:not(.admin-main) .v53-alumni-publication-card .btn,
  body > main:not(.admin-main) .v81-achievement-card .btn,
  body > main:not(.admin-main) .research-publication-card .read-more,
  body > main:not(.admin-main) .research-publication-card .readmore-btn,
  body > main:not(.admin-main) .research-publication-card .btn-white {
    min-height: 42px !important;
    padding: 11px 18px !important;
  }
}
/* v91: public glassy readmore/detail buttons end */

/* v94-safe-glassy-readmore-chatbot START */
/* CSS-only patch. Scope: public read-more/detail buttons and MINF chatbot only. */

/* 1) Glassy buttons for public read-more/detail buttons */
.news-readmore-toggle,
.testimonial-readmore-toggle,
.v53-readmore-button,
.v56-read-toggle,
.research-readmore-btn,
.news-card .btn,
.testimonial-card .btn,
.publication-card .btn,
.alumni-publication-card .btn,
.achievement-card .btn,
.lecturer-achievement-card .btn,
.research-publication-card .btn,
.home-alumni-showcase .btn,
.home-alumni-section .btn,
#informasi-kegiatan .btn,
#alumni .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  min-height: 44px !important;
  padding: 11px 22px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(179, 207, 255, .78) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(238,246,255,.72)) !important;
  color: #0B48B5 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 12px 28px rgba(11, 85, 217, .10) !important;
  backdrop-filter: blur(16px) saturate(135%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(135%) !important;
  font-weight: 950 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease !important;
}

.news-readmore-toggle:hover,
.testimonial-readmore-toggle:hover,
.v53-readmore-button:hover,
.v56-read-toggle:hover,
.research-readmore-btn:hover,
.news-card .btn:hover,
.testimonial-card .btn:hover,
.publication-card .btn:hover,
.alumni-publication-card .btn:hover,
.achievement-card .btn:hover,
.lecturer-achievement-card .btn:hover,
.research-publication-card .btn:hover,
.home-alumni-showcase .btn:hover,
.home-alumni-section .btn:hover,
#informasi-kegiatan .btn:hover,
#alumni .btn:hover {
  transform: translateY(-1px) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(231,242,255,.84)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,1), 0 16px 34px rgba(11, 85, 217, .16) !important;
}

/* 2) Remove down/up arrow from read-more buttons, including pseudo arrows from older patches */
.news-readmore-toggle::after,
.news-readmore-toggle.is-expanded::after,
.testimonial-readmore-toggle::after,
.testimonial-readmore-toggle.is-expanded::after,
.v56-read-toggle::after,
.v56-read-toggle.v56-expanded::after,
.research-readmore-btn::after,
.research-readmore-btn.is-expanded::after {
  content: none !important;
  display: none !important;
}

.v53-readmore-button span[aria-hidden="true"],
.news-readmore-toggle span[aria-hidden="true"],
.testimonial-readmore-toggle span[aria-hidden="true"],
.v56-read-toggle span[aria-hidden="true"],
.research-readmore-btn span[aria-hidden="true"],
.research-readmore-btn > span {
  display: none !important;
}

.news-readmore-toggle.is-expanded,
.testimonial-readmore-toggle.is-expanded,
.v56-read-toggle.v56-expanded,
.research-readmore-btn.is-expanded {
  color: #09264A !important;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(245,248,252,.82)) !important;
}

/* 3) More transparent/glassy MINF Assistant panel, while keeping text readable */
.v62-chatbot-panel {
  background: rgba(255,255,255,.78) !important;
  border: 1px solid rgba(200, 218, 244, .88) !important;
  box-shadow: 0 28px 80px rgba(9,38,74,.24) !important;
  backdrop-filter: blur(22px) saturate(145%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(145%) !important;
}

.v62-chatbot-header {
  background: linear-gradient(135deg, rgba(9,38,74,.94), rgba(11,85,217,.90)) !important;
  backdrop-filter: blur(18px) saturate(145%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
}

.v62-chatbot-body {
  background: linear-gradient(180deg, rgba(247,250,255,.70), rgba(240,246,255,.58)) !important;
  backdrop-filter: blur(18px) saturate(135%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(135%) !important;
}

.v62-chatbot-form {
  background: rgba(255,255,255,.74) !important;
  border-top: 1px solid rgba(203, 216, 234, .74) !important;
  backdrop-filter: blur(18px) saturate(145%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
}

.v62-chatbot-bot {
  background: rgba(255,255,255,.82) !important;
  border-color: rgba(203, 216, 234, .90) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9) !important;
}

.v62-chatbot-user {
  background: rgba(11,85,217,.92) !important;
}

.v62-chatbot-quick button {
  background: rgba(238,245,255,.74) !important;
  border-color: rgba(189, 212, 255, .90) !important;
  backdrop-filter: blur(12px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(130%) !important;
}

@media (max-width: 640px) {
  .news-readmore-toggle,
  .testimonial-readmore-toggle,
  .v53-readmore-button,
  .v56-read-toggle,
  .research-readmore-btn,
  .news-card .btn,
  .testimonial-card .btn,
  .publication-card .btn,
  .alumni-publication-card .btn,
  .achievement-card .btn,
  .lecturer-achievement-card .btn,
  .research-publication-card .btn {
    min-height: 40px !important;
    padding: 10px 18px !important;
  }

  .v62-chatbot-panel {
    background: rgba(255,255,255,.82) !important;
  }
}
/* v94-safe-glassy-readmore-chatbot END */

/* v95-chatbot-readmore-safe START */
/* CSS-only. Scope: public Read more/detail buttons and MINF Assistant only. */

/* A. Homepage/news/testimoni Read more: glassy iOS-like pill */
.v53-readmore-button,
.news-readmore-toggle,
.testimonial-readmore-toggle,
.v56-read-toggle,
.readmore-btn,
.read-more,
button.readmore-btn,
button.read-more,
.news-card .readmore-btn,
.news-card .read-more,
.news-card .v53-readmore-button,
.testimonial-card .readmore-btn,
.testimonial-card .read-more,
.testimonial-card .testimonial-readmore-toggle,
.alumni-feature-card .readmore-btn,
.alumni-feature-card .read-more,
.home-alumni-section .readmore-btn,
.home-alumni-section .read-more,
.home-alumni-section .v53-readmore-button,
#alumni .readmore-btn,
#alumni .read-more,
#informasi-kegiatan .readmore-btn,
#informasi-kegiatan .read-more,
#informasi-kegiatan .v53-readmore-button,
.card .v53-readmore-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 44px !important;
  padding: 10px 24px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(174, 205, 255, .82) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.80), rgba(236,246,255,.50)) !important;
  color: #0B48B5 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -1px 0 rgba(255,255,255,.40),
    0 12px 28px rgba(11,85,217,.10) !important;
  backdrop-filter: blur(18px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(150%) !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.30) !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}

.v53-readmore-button:hover,
.news-readmore-toggle:hover,
.testimonial-readmore-toggle:hover,
.v56-read-toggle:hover,
.readmore-btn:hover,
.read-more:hover,
.news-card .v53-readmore-button:hover,
.testimonial-card .testimonial-readmore-toggle:hover {
  transform: translateY(-1px) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(229,241,255,.76)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,1),
    0 16px 34px rgba(11,85,217,.16) !important;
}

/* Remove all arrow/down icon variants, including real child span/svg/i and pseudo arrows. */
.v53-readmore-button::before,
.v53-readmore-button::after,
.news-readmore-toggle::before,
.news-readmore-toggle::after,
.news-readmore-toggle.is-expanded::after,
.testimonial-readmore-toggle::before,
.testimonial-readmore-toggle::after,
.testimonial-readmore-toggle.is-expanded::after,
.v56-read-toggle::before,
.v56-read-toggle::after,
.v56-read-toggle.v56-expanded::after,
.readmore-btn::before,
.readmore-btn::after,
.read-more::before,
.read-more::after {
  content: none !important;
  display: none !important;
}

.v53-readmore-button > span,
.v53-readmore-button > svg,
.v53-readmore-button > i,
.news-readmore-toggle > span[aria-hidden],
.news-readmore-toggle > svg,
.news-readmore-toggle > i,
.testimonial-readmore-toggle > span[aria-hidden],
.testimonial-readmore-toggle > svg,
.testimonial-readmore-toggle > i,
.v56-read-toggle > span[aria-hidden],
.v56-read-toggle > svg,
.v56-read-toggle > i,
.readmore-btn > span[aria-hidden],
.readmore-btn > svg,
.readmore-btn > i,
.read-more > span[aria-hidden],
.read-more > svg,
.read-more > i {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* B. More visibly transparent/glassy chatbot panel */
.v62-chatbot-panel {
  background: rgba(255,255,255,.52) !important;
  border: 1px solid rgba(210,226,249,.78) !important;
  box-shadow: 0 30px 90px rgba(9,38,74,.25) !important;
  backdrop-filter: blur(26px) saturate(165%) !important;
  -webkit-backdrop-filter: blur(26px) saturate(165%) !important;
}

.v62-chatbot-header {
  background: linear-gradient(135deg, rgba(9,38,74,.86), rgba(11,85,217,.82)) !important;
  backdrop-filter: blur(22px) saturate(155%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(155%) !important;
}

.v62-chatbot-body {
  background: linear-gradient(180deg, rgba(247,250,255,.38), rgba(239,246,255,.30)) !important;
  backdrop-filter: blur(22px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(150%) !important;
}

.v62-chatbot-form {
  background: rgba(255,255,255,.52) !important;
  border-top: 1px solid rgba(203,216,234,.62) !important;
  backdrop-filter: blur(22px) saturate(155%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(155%) !important;
}

.v62-chatbot-bot {
  background: rgba(255,255,255,.68) !important;
  border-color: rgba(203,216,234,.78) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.86) !important;
}

.v62-chatbot-user {
  background: rgba(11,85,217,.88) !important;
  box-shadow: 0 10px 24px rgba(11,85,217,.16) !important;
}

.v62-chatbot-quick button {
  background: rgba(238,245,255,.55) !important;
  border-color: rgba(174,205,255,.82) !important;
  backdrop-filter: blur(14px) saturate(145%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(145%) !important;
}

.v62-chatbot-form input {
  background: rgba(255,255,255,.72) !important;
  backdrop-filter: blur(12px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(140%) !important;
}

/* C. Fix fallback contact buttons that appear as blue pills without visible text. */
.v62-chatbot-contacts {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
  margin-top: 12px !important;
}

.v62-chatbot-contact {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  min-width: 128px !important;
  padding: 9px 16px !important;
  border-radius: 999px !important;
  background: rgba(11,85,217,.90) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 10px 24px rgba(11,85,217,.12) !important;
  text-decoration: none !important;
  font-size: 0 !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.v62-chatbot-contact[href*="wa.me"]::before,
.v62-chatbot-contact[href*="whatsapp"]::before {
  content: "WhatsApp" !important;
  display: inline !important;
  color: #fff !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

.v62-chatbot-contact[href^="mailto:"]::before {
  content: "Email" !important;
  display: inline !important;
  color: #fff !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

/* Fallback when the href is unusual but the anchor exists. */
.v62-chatbot-contacts .v62-chatbot-contact:first-child:not([href^="mailto:"])::before {
  content: "WhatsApp" !important;
  display: inline !important;
  color: #fff !important;
  font-size: 13px !important;
}

.v62-chatbot-contacts .v62-chatbot-contact:nth-child(2)::before {
  content: "Email" !important;
  display: inline !important;
  color: #fff !important;
  font-size: 13px !important;
}

@media (max-width: 640px) {
  .v62-chatbot-panel {
    background: rgba(255,255,255,.56) !important;
  }
  .v62-chatbot-body {
    background: linear-gradient(180deg, rgba(247,250,255,.40), rgba(239,246,255,.32)) !important;
  }
  .v53-readmore-button,
  .news-readmore-toggle,
  .testimonial-readmore-toggle,
  .v56-read-toggle,
  .readmore-btn,
  .read-more {
    min-height: 40px !important;
    padding: 10px 20px !important;
  }
}
/* v95-chatbot-readmore-safe END */

/* v96_admin_appearance_modes start */
/* Frontend mode switcher controlled from Admin > Atur Tampilan. */
html.minf-theme-liquid {
  --minf-liquid-border: rgba(172, 202, 255, .78);
  --minf-liquid-shadow: 0 14px 34px rgba(11, 85, 217, .18);
  --minf-liquid-inner: inset 0 1px 0 rgba(255,255,255,.92), inset 0 -1px 0 rgba(255,255,255,.28);
}

html.minf-theme-liquid .btn,
html.minf-theme-liquid button.btn,
html.minf-theme-liquid a.btn,
html.minf-theme-liquid .testimonial-readmore-toggle,
html.minf-theme-liquid .research-readmore-toggle,
html.minf-theme-liquid .publication-readmore-toggle,
html.minf-theme-liquid .alumni-readmore-toggle,
html.minf-theme-liquid .readmore-toggle,
html.minf-theme-liquid .read-more,
html.minf-theme-liquid .card a[class*="btn"],
html.minf-theme-liquid .v62-chatbot-contact,
html.minf-theme-liquid .v62-chatbot-form button,
html.minf-theme-liquid .v62-chatbot-quick,
html.minf-theme-liquid .quick-reply,
html.minf-theme-liquid .navlinks a.active,
html.minf-theme-liquid .nav-dropdown.active .nav-dropdown-trigger {
  border-radius: 999px !important;
  background: linear-gradient(135deg, rgba(255,255,255,var(--minf-liquid-button-alpha, .72)), rgba(229,240,255,calc(var(--minf-liquid-button-alpha, .72) - .18))) !important;
  color: #07306F !important;
  border: 1px solid var(--minf-liquid-border) !important;
  box-shadow: var(--minf-liquid-inner), var(--minf-liquid-shadow) !important;
  backdrop-filter: blur(18px) saturate(170%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(170%) !important;
  text-decoration: none !important;
}

html.minf-theme-liquid .btn-primary,
html.minf-theme-liquid .btn-blue,
html.minf-theme-liquid .v62-chatbot-toggle,
html.minf-theme-liquid .v62-chatbot-form button {
  background: linear-gradient(135deg, rgba(17,94,225,.82), rgba(6,70,175,.66)) !important;
  color: #fff !important;
  border: 1px solid rgba(173,205,255,.55) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.34), 0 18px 40px rgba(11,85,217,.26) !important;
}

html.minf-theme-liquid .btn-gold,
html.minf-theme-liquid .btn-yellow,
html.minf-theme-liquid .nav-actions .btn-primary {
  background: linear-gradient(135deg, rgba(255,196,57,.88), rgba(239,170,20,.72)) !important;
  color: #071D3B !important;
  border-color: rgba(255,225,148,.82) !important;
}

html.minf-theme-liquid .testimonial-readmore-toggle::after,
html.minf-theme-liquid .research-readmore-toggle::after,
html.minf-theme-liquid .publication-readmore-toggle::after,
html.minf-theme-liquid .alumni-readmore-toggle::after,
html.minf-theme-liquid .readmore-toggle::after,
html.minf-theme-liquid .read-more::after {
  content: none !important;
  display: none !important;
}

html.minf-theme-liquid .v62-chatbot-panel,
html.minf-theme-liquid .chatbot-window,
html.minf-theme-liquid .minf-chatbot-window,
html.minf-theme-liquid .minf-chatbot-panel {
  background: rgba(246, 250, 255, var(--minf-liquid-chatbot-alpha, .58)) !important;
  border: 1px solid rgba(210,226,255,.76) !important;
  box-shadow: 0 30px 80px rgba(7,31,76,.22), inset 0 1px 0 rgba(255,255,255,.68) !important;
  backdrop-filter: blur(26px) saturate(175%) !important;
  -webkit-backdrop-filter: blur(26px) saturate(175%) !important;
}

html.minf-theme-liquid .v62-chatbot-body,
html.minf-theme-liquid .v62-chatbot-messages,
html.minf-theme-liquid .chatbot-body,
html.minf-theme-liquid .chatbot-messages {
  background: rgba(247, 250, 255, calc(var(--minf-liquid-chatbot-alpha, .58) - .12)) !important;
  backdrop-filter: blur(18px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(150%) !important;
}

html.minf-theme-liquid .v62-chatbot-msg,
html.minf-theme-liquid .v62-chatbot-card,
html.minf-theme-liquid .chatbot-message,
html.minf-theme-liquid .chatbot-bubble,
html.minf-theme-liquid .bot-message {
  background: rgba(255,255,255,.70) !important;
  border: 1px solid rgba(203,220,248,.84) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75), 0 10px 24px rgba(10,52,110,.08) !important;
  backdrop-filter: blur(16px) saturate(155%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(155%) !important;
}

html.minf-theme-liquid .v62-chatbot-form,
html.minf-theme-liquid .chatbot-input-area,
html.minf-theme-liquid .minf-chatbot-input-area {
  background: rgba(255,255,255,.74) !important;
  border-top: 1px solid rgba(204,222,255,.78) !important;
  backdrop-filter: blur(20px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(160%) !important;
}

html.minf-theme-dark body {
  background: #06162D !important;
  color: #EAF2FF !important;
}
html.minf-theme-dark.minf-dark-soft body { background:#0A1B34 !important; }
html.minf-theme-dark.minf-dark-strong body { background:#020A16 !important; }

html.minf-theme-dark .header,
html.minf-theme-dark .footer {
  background: linear-gradient(135deg, #031A38, #061F42) !important;
  border-color: rgba(255,255,255,.08) !important;
}

html.minf-theme-dark section,
html.minf-theme-dark .section,
html.minf-theme-dark .hero,
html.minf-theme-dark .page-hero,
html.minf-theme-dark main {
  background-color: transparent !important;
}

html.minf-theme-dark .card,
html.minf-theme-dark .feature-card,
html.minf-theme-dark .publication-card,
html.minf-theme-dark .testimonial-card,
html.minf-theme-dark .lecturer-card,
html.minf-theme-dark .course-card,
html.minf-theme-dark .scholarship-card,
html.minf-theme-dark .news-card,
html.minf-theme-dark .download-card,
html.minf-theme-dark .hero-card,
html.minf-theme-dark .info-card,
html.minf-theme-dark .stat-card,
html.minf-theme-dark .alumni-feature-card,
html.minf-theme-dark .research-publication-card {
  background: rgba(10, 31, 65, .82) !important;
  border-color: rgba(160, 195, 255, .20) !important;
  color: #EAF2FF !important;
  box-shadow: 0 22px 55px rgba(0,0,0,.22) !important;
}

html.minf-theme-dark h1,
html.minf-theme-dark h2,
html.minf-theme-dark h3,
html.minf-theme-dark h4,
html.minf-theme-dark strong,
html.minf-theme-dark .section-title,
html.minf-theme-dark .card-title {
  color: #F7FBFF !important;
}

html.minf-theme-dark p,
html.minf-theme-dark li,
html.minf-theme-dark .muted,
html.minf-theme-dark .section-subtitle,
html.minf-theme-dark .card p {
  color: #B9C9E2 !important;
}

html.minf-theme-dark .btn,
html.minf-theme-dark button,
html.minf-theme-dark .testimonial-readmore-toggle,
html.minf-theme-dark .research-readmore-toggle,
html.minf-theme-dark .publication-readmore-toggle,
html.minf-theme-dark .alumni-readmore-toggle {
  border-color: rgba(176,207,255,.28) !important;
}

html.minf-theme-dark .v62-chatbot-panel {
  background: rgba(5, 22, 48, .88) !important;
  color: #EAF2FF !important;
  border-color: rgba(176,207,255,.22) !important;
}

html.minf-theme-dark .v62-chatbot-body,
html.minf-theme-dark .v62-chatbot-messages {
  background: rgba(5, 22, 48, .76) !important;
}

html.minf-theme-dark .v62-chatbot-msg,
html.minf-theme-dark .v62-chatbot-card {
  background: rgba(11, 34, 72, .90) !important;
  color: #EAF2FF !important;
  border-color: rgba(176,207,255,.20) !important;
}

html.minf-theme-dark input,
html.minf-theme-dark textarea,
html.minf-theme-dark select {
  background: rgba(255,255,255,.08) !important;
  color: #F7FBFF !important;
  border-color: rgba(176,207,255,.26) !important;
}
/* v96_admin_appearance_modes end */

/* v109_admin_darkmode_control_fix start */
/* Dark mode must be controlled only by Admin > Atur Tampilan.
   These selectors run only when includes/header.php adds html.minf-theme-dark. */
html.minf-theme-dark,
html.minf-theme-dark body {
  background: #06162d !important;
  color: #eaf2ff !important;
}
html.minf-theme-dark.minf-dark-soft,
html.minf-theme-dark.minf-dark-soft body { background:#0a1b34 !important; }
html.minf-theme-dark.minf-dark-strong,
html.minf-theme-dark.minf-dark-strong body { background:#020a16 !important; }

html.minf-theme-dark main,
html.minf-theme-dark .main,
html.minf-theme-dark section,
html.minf-theme-dark .section,
html.minf-theme-dark .section-soft,
html.minf-theme-dark .section-light,
html.minf-theme-dark .section-white,
html.minf-theme-dark .hero,
html.minf-theme-dark .page-hero,
html.minf-theme-dark .home-hero,
html.minf-theme-dark .content-section,
html.minf-theme-dark .alumni-section,
html.minf-theme-dark .publication-section,
html.minf-theme-dark .contact-section,
html.minf-theme-dark .download-section,
html.minf-theme-dark .news-section,
html.minf-theme-dark .lecturer-section,
html.minf-theme-dark .courses-section,
html.minf-theme-dark .scholarship-section,
html.minf-theme-dark .fasttrack-section,
html.minf-theme-dark .fast-track-section {
  background: #06162d !important;
  color: #eaf2ff !important;
}
html.minf-theme-dark section:nth-of-type(even),
html.minf-theme-dark .section-soft,
html.minf-theme-dark .section-light {
  background: #071b34 !important;
}

html.minf-theme-dark .container,
html.minf-theme-dark .wrapper,
html.minf-theme-dark .content-wrap {
  color: inherit;
}

html.minf-theme-dark .card,
html.minf-theme-dark .feature-card,
html.minf-theme-dark .publication-card,
html.minf-theme-dark .testimonial-card,
html.minf-theme-dark .lecturer-card,
html.minf-theme-dark .course-card,
html.minf-theme-dark .scholarship-card,
html.minf-theme-dark .news-card,
html.minf-theme-dark .download-card,
html.minf-theme-dark .hero-card,
html.minf-theme-dark .info-card,
html.minf-theme-dark .stat-card,
html.minf-theme-dark .alumni-feature-card,
html.minf-theme-dark .research-publication-card,
html.minf-theme-dark .photo-frame,
html.minf-theme-dark .contact-card,
html.minf-theme-dark .fasttrack-card,
html.minf-theme-dark .program-card,
html.minf-theme-dark .table-wrap,
html.minf-theme-dark .v107-table-wrap {
  background: rgba(10, 31, 65, .86) !important;
  border-color: rgba(160, 195, 255, .20) !important;
  color: #eaf2ff !important;
  box-shadow: 0 22px 55px rgba(0,0,0,.22) !important;
}

html.minf-theme-dark h1,
html.minf-theme-dark h2,
html.minf-theme-dark h3,
html.minf-theme-dark h4,
html.minf-theme-dark h5,
html.minf-theme-dark h6,
html.minf-theme-dark strong,
html.minf-theme-dark .section-title,
html.minf-theme-dark .section-title h2,
html.minf-theme-dark .card-title,
html.minf-theme-dark .title,
html.minf-theme-dark .headline {
  color: #f7fbff !important;
}
html.minf-theme-dark p,
html.minf-theme-dark li,
html.minf-theme-dark .muted,
html.minf-theme-dark .section-subtitle,
html.minf-theme-dark .section-title p,
html.minf-theme-dark .card p,
html.minf-theme-dark .lead,
html.minf-theme-dark .desc,
html.minf-theme-dark .description {
  color: #b9c9e2 !important;
}
html.minf-theme-dark .eyebrow,
html.minf-theme-dark .kicker,
html.minf-theme-dark .badge:not(.badge-gold):not(.badge-yellow) {
  color: #cfe0ff !important;
}

html.minf-theme-dark table,
html.minf-theme-dark .table,
html.minf-theme-dark .v107-table {
  background: rgba(8, 28, 56, .88) !important;
  color: #dce8fb !important;
}
html.minf-theme-dark th,
html.minf-theme-dark .v107-table th {
  background: rgba(255,255,255,.07) !important;
  color: #d9e7ff !important;
  border-color: rgba(172,199,238,.18) !important;
}
html.minf-theme-dark td,
html.minf-theme-dark .v107-table td {
  background: rgba(9,31,58,.72) !important;
  color: #d8e4f7 !important;
  border-color: rgba(172,199,238,.12) !important;
}
html.minf-theme-dark tr:nth-child(even) td,
html.minf-theme-dark .v107-table tr:nth-child(even) td {
  background: rgba(12,38,70,.86) !important;
}

html.minf-theme-dark a:not(.btn):not(.v107-link-btn) {
  color: #86b7ff;
}
html.minf-theme-dark .btn,
html.minf-theme-dark button,
html.minf-theme-dark .read-more,
html.minf-theme-dark .readmore-toggle,
html.minf-theme-dark .testimonial-readmore-toggle,
html.minf-theme-dark .research-readmore-toggle,
html.minf-theme-dark .publication-readmore-toggle,
html.minf-theme-dark .alumni-readmore-toggle {
  border-color: rgba(176,207,255,.28) !important;
}
html.minf-theme-dark .btn-secondary,
html.minf-theme-dark .btn-light,
html.minf-theme-dark .v107-link-btn.external {
  background: rgba(255,255,255,.08) !important;
  color: #eaf2ff !important;
  border-color: rgba(172,199,238,.28) !important;
}

/* Riset v108/v107 cleanup: the table page may contain inline v108 classes,
   but dark colors should still only activate under html.minf-theme-dark. */
html.minf-theme-dark .v108-riset-page,
html.minf-theme-dark .v107-riset-page {
  background:#071b34 !important;
  color:#eaf2ff !important;
}
html.minf-theme-dark .v108-riset-page .section,
html.minf-theme-dark .v108-riset-page section.section,
html.minf-theme-dark .v107-riset-page .section,
html.minf-theme-dark .v107-riset-page section.section {
  background:#071b34 !important;
  color:#eaf2ff !important;
}
html.minf-theme-dark .v108-riset-page .section-soft,
html.minf-theme-dark .v108-riset-page section.section-soft,
html.minf-theme-dark .v108-riset-page .research-publications-section,
html.minf-theme-dark .v107-riset-page .section-soft,
html.minf-theme-dark .v107-riset-page section.section-soft,
html.minf-theme-dark .v107-riset-page .research-publications-section {
  background:linear-gradient(180deg,#0a213d 0%,#071b34 100%) !important;
  color:#eaf2ff !important;
}
/* v109_admin_darkmode_control_fix end */

/* v110_admin_darkmode_panels_fix start */
/* Controlled by Admin > Atur Tampilan. This block only works when
   includes/header.php adds html.minf-theme-dark. */
html.minf-theme-dark {
  --white: #0f2746 !important;
  --soft: #071b34 !important;
  --text: #eef5ff !important;
  --muted: #bdd0ea !important;
  --line: rgba(169, 200, 245, .24) !important;
  --light-blue: #112b50 !important;
  --gold-soft: rgba(246, 178, 26, .15) !important;
}

html.minf-theme-dark body,
html.minf-theme-dark main {
  background: #06162d !important;
  color: #eef5ff !important;
}

/* Stronger replacement for cards/boxes that were still white. */
html.minf-theme-dark .badge-white,
html.minf-theme-dark .badge-soft,
html.minf-theme-dark .badge-blue,
html.minf-theme-dark .btn-white,
html.minf-theme-dark .btn-light,
html.minf-theme-dark .btn-secondary,
html.minf-theme-dark .pill,
html.minf-theme-dark .micro span,
html.minf-theme-dark .info-item,
html.minf-theme-dark .research-points div,
html.minf-theme-dark .panel,
html.minf-theme-dark .panel-card,
html.minf-theme-dark .slider-shell,
html.minf-theme-dark .trust-grid > *,
html.minf-theme-dark .unggul-card,
html.minf-theme-dark .research-card,
html.minf-theme-dark .photo-frame,
html.minf-theme-dark .photo-note,
html.minf-theme-dark .stat,
html.minf-theme-dark .detail,
html.minf-theme-dark .timeline-card,
html.minf-theme-dark .course-card,
html.minf-theme-dark .lecturer-card,
html.minf-theme-dark .scholarship-card,
html.minf-theme-dark .scholarship-note,
html.minf-theme-dark .tuition-info-card,
html.minf-theme-dark .download-card,
html.minf-theme-dark .news-card,
html.minf-theme-dark .publication-card,
html.minf-theme-dark .testimonial-card,
html.minf-theme-dark .alumni-feature-card,
html.minf-theme-dark .research-publication-card,
html.minf-theme-dark .contact-card,
html.minf-theme-dark .program-card,
html.minf-theme-dark .fasttrack-card,
html.minf-theme-dark .fast-brochure-frame,
html.minf-theme-dark .fast-banner,
html.minf-theme-dark .analytics-stat,
html.minf-theme-dark .analytics-bars,
html.minf-theme-dark .empty-state-card,
html.minf-theme-dark .page-hero-visual,
html.minf-theme-dark .photo-frame.wide.page-hero-visual,
html.minf-theme-dark [class*="-card"],
html.minf-theme-dark [class*="_card"] {
  background: linear-gradient(180deg, rgba(15, 39, 70, .98), rgba(8, 28, 56, .98)) !important;
  color: #eef5ff !important;
  border-color: rgba(169, 200, 245, .26) !important;
  box-shadow: 0 22px 54px rgba(0, 0, 0, .28) !important;
}

/* Use a slightly lighter dark surface for nested mini boxes. */
html.minf-theme-dark .pill,
html.minf-theme-dark .micro span,
html.minf-theme-dark .research-points div,
html.minf-theme-dark .panel-card,
html.minf-theme-dark .detail-body,
html.minf-theme-dark .info-icon,
html.minf-theme-dark .avatar,
html.minf-theme-dark .scholarship-icon,
html.minf-theme-dark .scholarship-icon img,
html.minf-theme-dark .download-card-footer,
html.minf-theme-dark .study-plan-table .study-plan-total td,
html.minf-theme-dark .fasttrack-brochure-caption,
html.minf-theme-dark .photo-content {
  background: rgba(18, 45, 82, .96) !important;
  color: #eef5ff !important;
  border-color: rgba(169, 200, 245, .24) !important;
}

/* Pills/buttons that were white should become dark glass, except gold CTA. */
html.minf-theme-dark .btn-white,
html.minf-theme-dark .btn-light,
html.minf-theme-dark .btn-secondary,
html.minf-theme-dark .badge-white,
html.minf-theme-dark .badge-soft,
html.minf-theme-dark .badge-blue {
  background: rgba(18, 45, 82, .92) !important;
  color: #eaf2ff !important;
  border-color: rgba(176, 207, 255, .34) !important;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .22) !important;
}
html.minf-theme-dark .badge-gold,
html.minf-theme-dark .badge-yellow,
html.minf-theme-dark .btn-primary {
  background: linear-gradient(180deg, #f3c45a, #e6ad2c) !important;
  color: #10213a !important;
  border-color: rgba(255, 224, 148, .55) !important;
}

/* Text contrast inside cards. */
html.minf-theme-dark .badge-white *,
html.minf-theme-dark .badge-soft *,
html.minf-theme-dark .badge-blue *,
html.minf-theme-dark .btn-white *,
html.minf-theme-dark .pill *,
html.minf-theme-dark .stat *,
html.minf-theme-dark .timeline-card *,
html.minf-theme-dark .panel *,
html.minf-theme-dark .panel-card *,
html.minf-theme-dark .course-card *,
html.minf-theme-dark .scholarship-card *,
html.minf-theme-dark .tuition-info-card *,
html.minf-theme-dark .fast-banner *,
html.minf-theme-dark .fast-brochure-frame *,
html.minf-theme-dark .empty-state-card * {
  color: inherit;
}
html.minf-theme-dark .pill,
html.minf-theme-dark .timeline-card h3,
html.minf-theme-dark .panel h3,
html.minf-theme-dark .panel-card h4,
html.minf-theme-dark .stat strong,
html.minf-theme-dark .detail-title,
html.minf-theme-dark .course-title,
html.minf-theme-dark .card-title,
html.minf-theme-dark .tuition-info-card h3,
html.minf-theme-dark .research-card h3,
html.minf-theme-dark .photo-content h3 {
  color: #f7fbff !important;
}
html.minf-theme-dark .panel p,
html.minf-theme-dark .panel-card p,
html.minf-theme-dark .research-card p,
html.minf-theme-dark .timeline-card p,
html.minf-theme-dark .stat span,
html.minf-theme-dark .detail-body,
html.minf-theme-dark .tuition-info-card p,
html.minf-theme-dark .photo-content p,
html.minf-theme-dark .scholarship-note,
html.minf-theme-dark .analytics-stat span {
  color: #bdd0ea !important;
}

/* Image frames should stay readable but not white. */
html.minf-theme-dark .page-hero-visual.has-image,
html.minf-theme-dark .photo-frame.wide.page-hero-visual.has-image,
html.minf-theme-dark .fast-brochure-frame.fasttrack-brochure-slider {
  background: linear-gradient(180deg, rgba(15, 39, 70, .92), rgba(8, 28, 56, .92)) !important;
  border-color: rgba(169, 200, 245, .28) !important;
}
html.minf-theme-dark .page-hero-visual.has-image img,
html.minf-theme-dark .page-hero-visual.has-image .page-hero-image,
html.minf-theme-dark .fast-brochure-frame img,
html.minf-theme-dark .fasttrack-brochure-slide img {
  background: transparent !important;
}

/* Detail/tables/rows. */
html.minf-theme-dark .detail-body,
html.minf-theme-dark .detail summary {
  border-color: rgba(169, 200, 245, .18) !important;
}
html.minf-theme-dark .study-plan-table .study-plan-total td {
  color: #eaf2ff !important;
}
html.minf-theme-dark .study-plan-table .study-plan-total.grand td {
  background: linear-gradient(90deg, #0b55d9, #082a55) !important;
  color: #fff !important;
}

/* Catch a few remaining inline white backgrounds. */
html.minf-theme-dark [style*="background:#fff"],
html.minf-theme-dark [style*="background: #fff"],
html.minf-theme-dark [style*="background:#ffffff"],
html.minf-theme-dark [style*="background: #ffffff"],
html.minf-theme-dark [style*="background:white"],
html.minf-theme-dark [style*="background: white"] {
  background: rgba(15, 39, 70, .96) !important;
  color: #eef5ff !important;
  border-color: rgba(169, 200, 245, .24) !important;
}

/* Keep primary images normal; only darken the surrounding container. */
html.minf-theme-dark img {
  color: inherit;
}
/* v110_admin_darkmode_panels_fix end */

/* v111_darkmode_contrast_slider_fix start */
/* Keep this controlled by Admin > Atur Tampilan: rules only apply in html.minf-theme-dark. */

/* 1) Restore homepage hero slider images. v110 made .slide a dark panel, which hides inline background-image slides. */
html.minf-theme-dark .hero .slider-shell .slide,
html.minf-theme-dark .slider-shell .slide {
  background-color: #0f2746 !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
html.minf-theme-dark .hero .slider-shell .slide[style*="background-image"],
html.minf-theme-dark .slider-shell .slide[style*="background-image"] {
  border-color: rgba(176, 207, 255, .26) !important;
}
html.minf-theme-dark .hero .slider-shell .slide .panel,
html.minf-theme-dark .slider-shell .slide .panel,
html.minf-theme-dark .hero .slider-shell .slide .panel.panel-compact,
html.minf-theme-dark .slider-shell .slide .panel.panel-compact {
  background: rgba(11, 31, 61, .72) !important;
  color: #eef5ff !important;
  border-color: rgba(218, 231, 255, .36) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}
html.minf-theme-dark .hero .slider-shell .slide .panel p,
html.minf-theme-dark .slider-shell .slide .panel p {
  color: #d7e5fb !important;
}

/* 2) Fast Track timeline: make the cards dark, not white, and restore readable text. */
html.minf-theme-dark main.fasttrack-page #alur .timeline-card,
html.minf-theme-dark .fasttrack-page #alur .timeline-card,
html.minf-theme-dark main.fasttrack-page #alur .timeline-step:nth-child(odd) .timeline-card,
html.minf-theme-dark main.fasttrack-page #alur .timeline-step:nth-child(even) .timeline-card,
html.minf-theme-dark .fasttrack-page #alur .timeline-step:nth-child(odd) .timeline-card,
html.minf-theme-dark .fasttrack-page #alur .timeline-step:nth-child(even) .timeline-card {
  background: linear-gradient(180deg, #102f55 0%, #0b2444 100%) !important;
  color: #eef5ff !important;
  border-color: rgba(172, 199, 238, .32) !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .30) !important;
}
html.minf-theme-dark main.fasttrack-page #alur .timeline-card h3,
html.minf-theme-dark .fasttrack-page #alur .timeline-card h3 {
  color: #ffffff !important;
  text-shadow: none !important;
}
html.minf-theme-dark main.fasttrack-page #alur .timeline-card p,
html.minf-theme-dark .fasttrack-page #alur .timeline-card p {
  color: #d2e1f7 !important;
}
html.minf-theme-dark main.fasttrack-page #alur .timeline-horizontal:before,
html.minf-theme-dark .fasttrack-page #alur .timeline-horizontal:before {
  background: linear-gradient(90deg, #1a66df, #f1bd42, #78aefb) !important;
  opacity: .92 !important;
}

/* 3) Riset table: force high contrast text after the global card/panel override. */
html.minf-theme-dark main.riset-page .v107-table-wrap,
html.minf-theme-dark .riset-page .v107-table-wrap {
  background: #0d2848 !important;
  border-color: rgba(172, 199, 238, .22) !important;
}
html.minf-theme-dark main.riset-page .v107-table th,
html.minf-theme-dark .riset-page .v107-table th {
  background: rgba(255, 255, 255, .08) !important;
  color: #e6f0ff !important;
  border-bottom-color: rgba(172, 199, 238, .22) !important;
}
html.minf-theme-dark main.riset-page .v107-table td,
html.minf-theme-dark .riset-page .v107-table td {
  background: rgba(9, 31, 58, .86) !important;
  color: #d8e6fb !important;
  border-bottom-color: rgba(172, 199, 238, .14) !important;
}
html.minf-theme-dark main.riset-page .v107-table tr:nth-child(even) td,
html.minf-theme-dark .riset-page .v107-table tr:nth-child(even) td {
  background: rgba(12, 38, 70, .92) !important;
}
html.minf-theme-dark main.riset-page .v107-title,
html.minf-theme-dark main.riset-page .v107-person,
html.minf-theme-dark main.riset-page .v107-year,
html.minf-theme-dark .riset-page .v107-title,
html.minf-theme-dark .riset-page .v107-person,
html.minf-theme-dark .riset-page .v107-year {
  color: #ffffff !important;
  opacity: 1 !important;
}
html.minf-theme-dark main.riset-page .v107-abstract,
html.minf-theme-dark main.riset-page .v107-authors,
html.minf-theme-dark main.riset-page .v107-muted,
html.minf-theme-dark main.riset-page .v107-note,
html.minf-theme-dark .riset-page .v107-abstract,
html.minf-theme-dark .riset-page .v107-authors,
html.minf-theme-dark .riset-page .v107-muted,
html.minf-theme-dark .riset-page .v107-note {
  color: #c5d4ea !important;
  opacity: 1 !important;
}
html.minf-theme-dark main.riset-page .v107-table td strong,
html.minf-theme-dark .riset-page .v107-table td strong {
  color: #edf5ff !important;
}
html.minf-theme-dark main.riset-page .v107-type,
html.minf-theme-dark .riset-page .v107-type {
  background: rgba(47, 117, 255, .22) !important;
  color: #dbe9ff !important;
  border-color: rgba(130, 174, 252, .35) !important;
}
html.minf-theme-dark main.riset-page .v107-link-btn.doi,
html.minf-theme-dark .riset-page .v107-link-btn.doi {
  background: linear-gradient(180deg, #1b6be8, #0c55c9) !important;
  color: #ffffff !important;
}
html.minf-theme-dark main.riset-page .v107-link-btn.external,
html.minf-theme-dark .riset-page .v107-link-btn.external {
  background: rgba(28, 56, 94, .96) !important;
  color: #ffffff !important;
  border-color: rgba(172, 199, 238, .42) !important;
}

/* 4) Badges/buttons that become white with very pale text. */
html.minf-theme-dark .badge.badge-blue,
html.minf-theme-dark .hero-pills .badge.badge-blue,
html.minf-theme-dark .section .badge.badge-blue {
  background: linear-gradient(180deg, #1a66df, #0f52ba) !important;
  color: #ffffff !important;
  border-color: rgba(160, 195, 255, .42) !important;
}
html.minf-theme-dark .badge.badge-white,
html.minf-theme-dark .badge.badge-soft,
html.minf-theme-dark .btn.btn-white,
html.minf-theme-dark .btn.btn-light,
html.minf-theme-dark .btn.btn-secondary {
  background: rgba(18, 45, 82, .96) !important;
  color: #eef5ff !important;
  border-color: rgba(176, 207, 255, .36) !important;
}
html.minf-theme-dark .badge.badge-gold,
html.minf-theme-dark .badge.badge-yellow,
html.minf-theme-dark .btn.btn-primary {
  background: linear-gradient(180deg, #f6c85f, #e5ac2b) !important;
  color: #10213a !important;
  border-color: rgba(255, 224, 148, .55) !important;
}

/* 5) Generic dark panels: use readable text for common white cards. */
html.minf-theme-dark .card,
html.minf-theme-dark .research-card,
html.minf-theme-dark .program-card,
html.minf-theme-dark .course-card,
html.minf-theme-dark .stat,
html.minf-theme-dark .detail,
html.minf-theme-dark .panel-card {
  background: linear-gradient(180deg, rgba(16, 47, 85, .98), rgba(9, 32, 61, .98)) !important;
  color: #eef5ff !important;
  border-color: rgba(172, 199, 238, .24) !important;
}
html.minf-theme-dark .card h1,
html.minf-theme-dark .card h2,
html.minf-theme-dark .card h3,
html.minf-theme-dark .card h4,
html.minf-theme-dark .research-card h3,
html.minf-theme-dark .program-card h3,
html.minf-theme-dark .course-card h3,
html.minf-theme-dark .stat strong,
html.minf-theme-dark .detail-title,
html.minf-theme-dark .panel-card h3,
html.minf-theme-dark .panel-card h4 {
  color: #ffffff !important;
}
html.minf-theme-dark .card p,
html.minf-theme-dark .research-card p,
html.minf-theme-dark .program-card p,
html.minf-theme-dark .course-card p,
html.minf-theme-dark .stat span,
html.minf-theme-dark .detail-body,
html.minf-theme-dark .panel-card p {
  color: #c5d4ea !important;
}

/* 6) Keep real images visible and not darkened by panel backgrounds. */
html.minf-theme-dark .cert-image-frame,
html.minf-theme-dark .fasttrack-brochure-slide,
html.minf-theme-dark .alumni-feature-photo,
html.minf-theme-dark .publication-photo,
html.minf-theme-dark .news-photo,
html.minf-theme-dark .lecturer-photo {
  background: rgba(15, 39, 70, .40) !important;
}
html.minf-theme-dark .cert-image-frame img,
html.minf-theme-dark .fasttrack-brochure-slide img,
html.minf-theme-dark .alumni-feature-photo img,
html.minf-theme-dark .publication-photo img,
html.minf-theme-dark .news-photo img,
html.minf-theme-dark .lecturer-photo img {
  opacity: 1 !important;
  filter: none !important;
}
/* v111_darkmode_contrast_slider_fix end */

/* v112_frontend_theme_switcher_start */
.theme-switcher{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:8px 13px 8px 9px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.10);
  color:#F8FAFC;
  text-decoration:none;
  font-weight:900;
  line-height:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 14px 28px rgba(2,6,23,.16);
  transition:transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
  white-space:nowrap;
}
.theme-switcher:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.16);
  color:#FFFFFF;
  text-decoration:none;
}
.theme-switcher-knob{
  width:24px;
  height:24px;
  border-radius:999px;
  display:inline-flex;
  position:relative;
  flex:0 0 24px;
  background:linear-gradient(135deg,#F7C64A,#F59E0B);
  box-shadow:0 4px 12px rgba(245,158,11,.28);
}
.theme-switcher-knob::after{
  content:'';
  position:absolute;
  width:8px;
  height:8px;
  border-radius:999px;
  right:5px;
  top:5px;
  background:rgba(255,255,255,.78);
}
.theme-switcher-dark .theme-switcher-knob{
  background:linear-gradient(135deg,#60A5FA,#155EEF);
  box-shadow:0 4px 12px rgba(21,94,239,.32);
}
.theme-switcher-dark .theme-switcher-knob::after{
  width:10px;
  height:10px;
  right:3px;
  top:3px;
  background:#08204A;
  box-shadow:-4px 3px 0 rgba(96,165,250,.95);
}
.theme-switcher-text{font-size:14px;letter-spacing:.01em}
html.minf-theme-normal .theme-switcher,
html.minf-theme-liquid .theme-switcher{
  background:#FFFFFF;
  color:#08204A;
  border-color:#D9E5F7;
}
html.minf-theme-normal .theme-switcher:hover,
html.minf-theme-liquid .theme-switcher:hover{
  background:#F4F8FF;
  color:#155EEF;
}
html.minf-theme-dark .theme-switcher{
  background:rgba(15,39,75,.88);
  color:#F8FAFC;
  border-color:rgba(148,163,184,.36);
}
html.minf-theme-dark .theme-switcher:hover{
  background:rgba(30,64,112,.94);
  color:#FFFFFF;
}
.mobile-menu .theme-switcher-mobile{
  justify-content:flex-start;
  width:100%;
  box-sizing:border-box;
  margin:8px 0;
}
@media(max-width:1080px){
  .theme-switcher-desktop .theme-switcher-text{display:none}
  .theme-switcher-desktop{padding:8px;min-width:42px;justify-content:center}
}
@media(max-width:900px){
  .nav-actions .theme-switcher-desktop{display:none}
}
/* v112_frontend_theme_switcher_end */

/* v115_frontend_theme_toggle_neutral_start */
.theme-toggle{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  border-radius:999px;
  color:#FFFFFF!important;
  text-decoration:none!important;
  font-weight:950;
  line-height:1;
  white-space:nowrap;
  -webkit-tap-highlight-color:transparent;
  transition:transform .18s ease,filter .18s ease;
}
.theme-toggle:hover{
  transform:translateY(-1px);
  color:#FFFFFF!important;
  text-decoration:none!important;
  filter:brightness(1.04);
}
.theme-toggle-track{
  position:relative;
  display:inline-flex;
  width:72px;
  height:36px;
  border-radius:999px;
  border:2px solid rgba(191,219,254,.82)!important;
  background:linear-gradient(135deg,#EAF2FF,#BFD7FF)!important;
  box-shadow:inset 0 2px 7px rgba(15,23,42,.18),0 10px 22px rgba(2,6,23,.22)!important;
  overflow:hidden;
  flex:0 0 auto;
}
.theme-toggle-track::before{
  content:'';
  position:absolute;
  inset:4px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(255,255,255,.54),rgba(255,255,255,.14));
  pointer-events:none;
}
.theme-toggle-knob{
  position:absolute;
  top:3px;
  left:3px;
  width:26px;
  height:26px;
  border-radius:999px;
  background:#FFFFFF!important;
  box-shadow:0 5px 14px rgba(2,6,23,.28)!important;
  transition:left .22s ease,transform .22s ease;
  z-index:3;
}
.theme-toggle-symbol,
.theme-toggle-symbol-on,
.theme-toggle-symbol-off{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
}
.theme-toggle-on .theme-toggle-track{
  border-color:rgba(125,178,255,.86)!important;
  background:linear-gradient(135deg,#0F4DBD,#2F7BFF)!important;
  box-shadow:inset 0 2px 7px rgba(15,23,42,.22),0 10px 24px rgba(37,99,235,.26)!important;
}
.theme-toggle-on .theme-toggle-track::after{
  content:'';
  position:absolute;
  left:12px;
  top:50%;
  width:10px;
  height:10px;
  transform:translateY(-50%);
  border-radius:999px;
  background:rgba(255,255,255,.55);
  box-shadow:10px 0 0 rgba(255,255,255,.24),20px 0 0 rgba(255,255,255,.14);
}
.theme-toggle-on .theme-toggle-knob{left:39px!important}
.theme-toggle-caption{
  display:inline-flex;
  align-items:center;
  min-width:58px;
  font-size:13px;
  letter-spacing:.01em;
  color:#FFFFFF!important;
  text-shadow:0 1px 2px rgba(2,6,23,.35);
}
html.minf-theme-normal .theme-toggle-caption,
html.minf-theme-liquid .theme-toggle-caption,
html.minf-theme-dark .theme-toggle-caption{
  color:#FFFFFF!important;
}
.nav-actions .theme-toggle-desktop{margin-right:2px}
.theme-toggle-mobile{display:none}
@media(max-width:1100px){
  .theme-toggle-desktop{display:none!important}
  .theme-toggle-mobile{
    display:inline-flex!important;
    margin-left:auto;
    margin-right:8px;
    min-height:38px;
  }
  .theme-toggle-mobile .theme-toggle-track{width:64px;height:32px}
  .theme-toggle-mobile .theme-toggle-knob{width:22px;height:22px;top:3px;left:3px}
  .theme-toggle-mobile.theme-toggle-on .theme-toggle-knob{left:35px!important}
}
@media(max-width:420px){
  .theme-toggle-mobile .theme-toggle-track{width:58px;height:30px}
  .theme-toggle-mobile .theme-toggle-knob{width:20px;height:20px;top:3px;left:3px}
  .theme-toggle-mobile.theme-toggle-on .theme-toggle-knob{left:31px!important}
  .theme-toggle-mobile{margin-right:6px}
}
.mobile-menu .theme-switcher-mobile{display:none!important}
/* v115_frontend_theme_toggle_neutral_end */

/* MINF_PATCH_V117_LPDP_LOGO_MODE_FIX_START */
/*
   Koreksi v117 untuk logo LPDP.
   v116 terlalu agresif: di mode normal kotak LPDP menjadi terlalu gelap,
   sedangkan di dark mode ada kondisi kotaknya berubah putih sehingga logo tidak terlihat.

   Aturan baru:
   - Normal/light mode: LPDP kembali natural di kotak terang.
   - Dark mode: kotak LPDP dipaksa navy, logo dipaksa putih.
*/

/* Default / normal mode: jangan paksa logo menjadi putih dan jangan paksa tile menjadi gelap. */
.scholarship-icon.scholarship-icon-lpdp,
.beasiswa-page .scholarship-card .scholarship-icon.scholarship-icon-lpdp,
.beasiswa-page .scholarship-card .scholarship-icon:has(img[alt*="LPDP" i]),
.beasiswa-page .scholarship-card .scholarship-icon:has(img[src*="lpdp" i]){
  background:#FFFFFF !important;
  background-image:none !important;
  border-color:rgba(191,211,242,.95) !important;
  box-shadow:0 14px 32px rgba(15,35,70,.08) !important;
}

.scholarship-icon.scholarship-icon-lpdp img,
.beasiswa-page .scholarship-card .scholarship-icon.scholarship-icon-lpdp img,
.beasiswa-page .scholarship-card .scholarship-icon img[alt*="LPDP" i],
.beasiswa-page .scholarship-card .scholarship-icon img[src*="lpdp" i]{
  filter:none !important;
  mix-blend-mode:normal !important;
  opacity:1 !important;
  object-fit:contain !important;
  object-position:center center !important;
  padding:10px !important;
  box-sizing:border-box !important;
  background:transparent !important;
}

/* Dark mode: lebih spesifik daripada override global dark mode, supaya kotak LPDP tidak berubah putih. */
html.minf-theme-dark body .scholarship-icon.scholarship-icon-lpdp,
html.minf-theme-dark body .beasiswa-page .scholarship-card .scholarship-icon.scholarship-icon-lpdp,
html.minf-theme-dark body .beasiswa-page .scholarship-card .scholarship-icon:has(img[alt*="LPDP" i]),
html.minf-theme-dark body .beasiswa-page .scholarship-card .scholarship-icon:has(img[src*="lpdp" i]),
body.minf-theme-dark .scholarship-icon.scholarship-icon-lpdp,
body.minf-theme-dark .beasiswa-page .scholarship-card .scholarship-icon.scholarship-icon-lpdp,
body.minf-theme-dark .beasiswa-page .scholarship-card .scholarship-icon:has(img[alt*="LPDP" i]),
body.minf-theme-dark .beasiswa-page .scholarship-card .scholarship-icon:has(img[src*="lpdp" i]),
html[data-theme="dark"] body .scholarship-icon.scholarship-icon-lpdp,
html[data-theme="dark"] body .beasiswa-page .scholarship-card .scholarship-icon.scholarship-icon-lpdp,
body[data-theme="dark"] .scholarship-icon.scholarship-icon-lpdp,
body[data-theme="dark"] .beasiswa-page .scholarship-card .scholarship-icon.scholarship-icon-lpdp,
html.dark-mode body .scholarship-icon.scholarship-icon-lpdp,
html.dark-mode body .beasiswa-page .scholarship-card .scholarship-icon.scholarship-icon-lpdp,
body.dark-mode .scholarship-icon.scholarship-icon-lpdp,
body.dark-mode .beasiswa-page .scholarship-card .scholarship-icon.scholarship-icon-lpdp{
  background:linear-gradient(135deg,#0B2E5E 0%,#071F3D 100%) !important;
  background-color:#0B2E5E !important;
  border-color:rgba(175,205,255,.45) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08), 0 14px 32px rgba(0,0,0,.22) !important;
}

html.minf-theme-dark body .scholarship-icon.scholarship-icon-lpdp img,
html.minf-theme-dark body .beasiswa-page .scholarship-card .scholarship-icon.scholarship-icon-lpdp img,
html.minf-theme-dark body .beasiswa-page .scholarship-card .scholarship-icon img[alt*="LPDP" i],
html.minf-theme-dark body .beasiswa-page .scholarship-card .scholarship-icon img[src*="lpdp" i],
body.minf-theme-dark .scholarship-icon.scholarship-icon-lpdp img,
body.minf-theme-dark .beasiswa-page .scholarship-card .scholarship-icon.scholarship-icon-lpdp img,
body.minf-theme-dark .beasiswa-page .scholarship-card .scholarship-icon img[alt*="LPDP" i],
body.minf-theme-dark .beasiswa-page .scholarship-card .scholarship-icon img[src*="lpdp" i],
html[data-theme="dark"] body .scholarship-icon.scholarship-icon-lpdp img,
html[data-theme="dark"] body .beasiswa-page .scholarship-card .scholarship-icon.scholarship-icon-lpdp img,
body[data-theme="dark"] .scholarship-icon.scholarship-icon-lpdp img,
body[data-theme="dark"] .beasiswa-page .scholarship-card .scholarship-icon.scholarship-icon-lpdp img,
html.dark-mode body .scholarship-icon.scholarship-icon-lpdp img,
body.dark-mode .scholarship-icon.scholarship-icon-lpdp img{
  filter:brightness(0) invert(1) contrast(1.08) !important;
  mix-blend-mode:normal !important;
  opacity:1 !important;
  background:transparent !important;
}
/* MINF_PATCH_V117_LPDP_LOGO_MODE_FIX_END */

/* BEGIN MINF V130 DESKTOP LOGOGRAM */
/* Desktop/tablet lebar: tampilkan hanya logogram UAJY agar header tidak terlalu panjang. */
@media (min-width: 1025px){
  body .header .navbar > a:first-child{
    width:74px !important;
    min-width:74px !important;
    max-width:74px !important;
    flex:0 0 74px !important;
    height:72px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
    margin:0 !important;
    overflow:visible !important;
    text-decoration:none !important;
  }
  body .header .navbar > a:first-child > img.logo{
    display:none !important;
    opacity:0 !important;
    width:0 !important;
    max-width:0 !important;
    height:0 !important;
    max-height:0 !important;
    pointer-events:none !important;
  }
  body .header .navbar > a:first-child::before{
    content:"" !important;
    display:block !important;
    width:56px !important;
    height:66px !important;
    flex:0 0 56px !important;
    background-image:url('/assets/uajy-logogram-header.png?v=130') !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-size:contain !important;
  }
}

/* Mobile: jangan ubah logo. Tetap pakai logo Magister Informatika yang sudah ada. */
@media (max-width: 1024px){
  body .header .navbar > a:first-child{
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    flex:0 1 auto !important;
    height:auto !important;
    padding:0 !important;
  }
  body .header .navbar > a:first-child::before{
    content:none !important;
    display:none !important;
  }
  body .header .navbar > a:first-child > img.logo{
    display:block !important;
    opacity:1 !important;
    width:auto !important;
    max-width:190px !important;
    height:42px !important;
    max-height:42px !important;
    object-fit:contain !important;
  }
}
/* END MINF V130 DESKTOP LOGOGRAM */

/* v142_seasonal_accent_css_start */
/* Seasonal accent bridge. Keep the base MINF design; add soft accent, ornaments, and readable UI only. */
html.minf-appearance-christmas,
html.minf-appearance-christmas2,
html.minf-appearance-lunarnewyear,
html.minf-appearance-eidfitri,
html.minf-appearance-valentine,
body.minf-seasonal-active,
body[class*="christmas"], body[class*="lunarnewyear"], body[class*="eidfitri"], body[class*="valentine"] {
  --minf-seasonal-accent: #d7a52c;
  --minf-seasonal-accent-2: #2d7a57;
  --minf-seasonal-tint: rgba(215,165,44,.16);
  --minf-seasonal-tint-2: rgba(45,122,87,.10);
  --minf-seasonal-icon: "\2744";
  --minf-seasonal-icon-2: "\2726";
  --minf-seasonal-header: #082b53;
  --minf-seasonal-header-2: #0e3d73;
}
html.minf-appearance-christmas2, body.minf-theme-christmas2 {
  --minf-seasonal-accent: #d4b064;
  --minf-seasonal-accent-2: #43624c;
  --minf-seasonal-tint: rgba(212,176,100,.17);
  --minf-seasonal-tint-2: rgba(67,98,76,.10);
  --minf-seasonal-icon: "\2736";
  --minf-seasonal-icon-2: "\2744";
}
html.minf-appearance-lunarnewyear, body.minf-theme-lunarnewyear {
  --minf-seasonal-accent: #d9a327;
  --minf-seasonal-accent-2: #b83232;
  --minf-seasonal-tint: rgba(217,163,39,.18);
  --minf-seasonal-tint-2: rgba(184,50,50,.08);
  --minf-seasonal-icon: "\25C6";
  --minf-seasonal-icon-2: "\2726";
}
html.minf-appearance-eidfitri, body.minf-theme-eidfitri {
  --minf-seasonal-accent: #c8a94f;
  --minf-seasonal-accent-2: #17836e;
  --minf-seasonal-tint: rgba(200,169,79,.17);
  --minf-seasonal-tint-2: rgba(23,131,110,.10);
  --minf-seasonal-icon: "\263E";
  --minf-seasonal-icon-2: "\2726";
}
html.minf-appearance-valentine, body.minf-theme-valentine {
  --minf-seasonal-accent: #de7aa8;
  --minf-seasonal-accent-2: #c54f7b;
  --minf-seasonal-tint: rgba(222,122,168,.16);
  --minf-seasonal-tint-2: rgba(197,79,123,.09);
  --minf-seasonal-icon: "\2661";
  --minf-seasonal-icon-2: "\2726";
}

/* Strong reset for older aggressive seasonal rules. */
html[class*="minf-appearance-"] body.minf-seasonal-active,
html[class*="minf-appearance-"] body.minf-seasonal-active main,
html[class*="minf-appearance-"] body.minf-seasonal-active .site-main,
html[class*="minf-appearance-"] body.minf-seasonal-active .page,
html[class*="minf-appearance-"] body.minf-seasonal-active section {
  color: #10233f !important;
}
html[class*="minf-appearance-"] body.minf-seasonal-active main,
html[class*="minf-appearance-"] body.minf-seasonal-active .site-main,
html[class*="minf-appearance-"] body.minf-seasonal-active .page {
  background: linear-gradient(180deg, #f8fbff 0%, #f1f6fd 100%) !important;
}

/* Header: keep MINF blue, add only thin seasonal line and subtle glow. */
html[class*="minf-appearance-"] body.minf-seasonal-active header,
html[class*="minf-appearance-"] body.minf-seasonal-active .site-header,
html[class*="minf-appearance-"] body.minf-seasonal-active .main-header,
html[class*="minf-appearance-"] body.minf-seasonal-active .navbar {
  background: linear-gradient(90deg, var(--minf-seasonal-header) 0%, var(--minf-seasonal-header-2) 52%, #08213f 100%) !important;
  color: #fff !important;
  border-bottom: 3px solid var(--minf-seasonal-accent) !important;
  box-shadow: 0 14px 34px rgba(8, 35, 72, .18) !important;
}
html[class*="minf-appearance-"] body.minf-seasonal-active header::after,
html[class*="minf-appearance-"] body.minf-seasonal-active .site-header::after {
  content: var(--minf-seasonal-icon) "  " var(--minf-seasonal-icon-2);
  position: absolute;
  right: clamp(1rem, 3vw, 2.8rem);
  bottom: .45rem;
  color: rgba(255,255,255,.42);
  font-size: .95rem;
  letter-spacing: .35rem;
  pointer-events: none;
}

/* Navigation and header buttons: readable, no white blocks or overpowering gradients. */
html[class*="minf-appearance-"] body.minf-seasonal-active header a:not(.btn):not(.btn-primary):not(.btn-pmb),
html[class*="minf-appearance-"] body.minf-seasonal-active .site-header a:not(.btn):not(.btn-primary):not(.btn-pmb),
html[class*="minf-appearance-"] body.minf-seasonal-active .navbar a:not(.btn):not(.btn-primary):not(.btn-pmb) {
  background: transparent !important;
  color: rgba(255,255,255,.96) !important;
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
}
html[class*="minf-appearance-"] body.minf-seasonal-active header a.active,
html[class*="minf-appearance-"] body.minf-seasonal-active header .active > a,
html[class*="minf-appearance-"] body.minf-seasonal-active .site-header a.active,
html[class*="minf-appearance-"] body.minf-seasonal-active .site-header .active > a {
  background: rgba(255,255,255,.13) !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  color: #fff !important;
}
html[class*="minf-appearance-"] body.minf-seasonal-active .dropdown-menu,
html[class*="minf-appearance-"] body.minf-seasonal-active .submenu {
  background: #ffffff !important;
  color: #10233f !important;
  border: 1px solid rgba(210,225,245,.95) !important;
}
html[class*="minf-appearance-"] body.minf-seasonal-active .dropdown-menu a,
html[class*="minf-appearance-"] body.minf-seasonal-active .submenu a {
  color: #10233f !important;
  background: transparent !important;
}

/* Hero: original light feel plus soft seasonal ornaments. */
html[class*="minf-appearance-"] body.minf-seasonal-active .hero,
html[class*="minf-appearance-"] body.minf-seasonal-active .home-hero,
html[class*="minf-appearance-"] body.minf-seasonal-active .hero-section,
html[class*="minf-appearance-"] body.minf-seasonal-active .page-hero {
  color: #10233f !important;
  background:
    radial-gradient(circle at 9% 22%, var(--minf-seasonal-tint) 0 0.48rem, transparent .52rem),
    radial-gradient(circle at 88% 18%, var(--minf-seasonal-tint-2) 0 0.62rem, transparent .66rem),
    linear-gradient(135deg, #f8fbff 0%, #eef5ff 100%) !important;
  position: relative;
  overflow: hidden;
}
html[class*="minf-appearance-"] body.minf-seasonal-active .hero::before,
html[class*="minf-appearance-"] body.minf-seasonal-active .home-hero::before,
html[class*="minf-appearance-"] body.minf-seasonal-active .hero-section::before,
html[class*="minf-appearance-"] body.minf-seasonal-active .page-hero::before {
  content: var(--minf-seasonal-icon);
  position: absolute;
  right: clamp(1.1rem, 4vw, 4rem);
  top: clamp(4rem, 8vw, 7rem);
  width: 3.2rem;
  height: 3.2rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(210,225,245,.95);
  color: var(--minf-seasonal-accent-2);
  opacity: .78;
  box-shadow: 0 16px 36px rgba(8,35,72,.12);
  pointer-events: none;
}
html[class*="minf-appearance-"] body.minf-seasonal-active .hero::after,
html[class*="minf-appearance-"] body.minf-seasonal-active .home-hero::after,
html[class*="minf-appearance-"] body.minf-seasonal-active .hero-section::after,
html[class*="minf-appearance-"] body.minf-seasonal-active .page-hero::after {
  content: "";
  position: absolute;
  right: -8rem;
  bottom: -8rem;
  width: 26rem;
  height: 26rem;
  border-radius: 50%;
  background: radial-gradient(circle, var(--minf-seasonal-tint) 0 30%, transparent 62%);
  pointer-events: none;
}

/* Cards and panels: clean white, seasonal edge only. */
html[class*="minf-appearance-"] body.minf-seasonal-active .card,
html[class*="minf-appearance-"] body.minf-seasonal-active .feature-card,
html[class*="minf-appearance-"] body.minf-seasonal-active .glass-card,
html[class*="minf-appearance-"] body.minf-seasonal-active .content-card,
html[class*="minf-appearance-"] body.minf-seasonal-active .info-card {
  background: rgba(255,255,255,.94) !important;
  color: #10233f !important;
  border-color: rgba(210,225,245,.95) !important;
  box-shadow: 0 16px 40px rgba(8,35,72,.10) !important;
}
html[class*="minf-appearance-"] body.minf-seasonal-active .card,
html[class*="minf-appearance-"] body.minf-seasonal-active .feature-card,
html[class*="minf-appearance-"] body.minf-seasonal-active .content-card {
  border-top: 3px solid var(--minf-seasonal-accent) !important;
}

/* Buttons: restore base hierarchy. Only PMB gets its normal yellow. */
html[class*="minf-appearance-"] body.minf-seasonal-active .btn,
html[class*="minf-appearance-"] body.minf-seasonal-active button,
html[class*="minf-appearance-"] body.minf-seasonal-active input[type="submit"] {
  filter: none !important;
  text-shadow: none !important;
  box-shadow: 0 10px 24px rgba(8,35,72,.12) !important;
}
html[class*="minf-appearance-"] body.minf-seasonal-active .btn-primary,
html[class*="minf-appearance-"] body.minf-seasonal-active .btn-blue {
  background: #155bd5 !important;
  border-color: #155bd5 !important;
  color: #ffffff !important;
}
html[class*="minf-appearance-"] body.minf-seasonal-active .btn-white,
html[class*="minf-appearance-"] body.minf-seasonal-active .btn-outline,
html[class*="minf-appearance-"] body.minf-seasonal-active .btn-secondary {
  background: rgba(255,255,255,.96) !important;
  border-color: rgba(210,225,245,.96) !important;
  color: #10233f !important;
}
html[class*="minf-appearance-"] body.minf-seasonal-active .btn-yellow,
html[class*="minf-appearance-"] body.minf-seasonal-active .btn-pmb,
html[class*="minf-appearance-"] body.minf-seasonal-active a[href*="pmb.uajy.ac.id"] {
  background: #f4b63b !important;
  border-color: #f4b63b !important;
  color: #10233f !important;
}
html[class*="minf-appearance-"] body.minf-seasonal-active .btn:hover,
html[class*="minf-appearance-"] body.minf-seasonal-active button:hover {
  transform: translateY(-1px);
}

/* Text safety after previous aggressive themes. */
html[class*="minf-appearance-"] body.minf-seasonal-active h1,
html[class*="minf-appearance-"] body.minf-seasonal-active h2,
html[class*="minf-appearance-"] body.minf-seasonal-active h3,
html[class*="minf-appearance-"] body.minf-seasonal-active h4 {
  color: #10233f !important;
}
html[class*="minf-appearance-"] body.minf-seasonal-active .text-blue,
html[class*="minf-appearance-"] body.minf-seasonal-active .accent,
html[class*="minf-appearance-"] body.minf-seasonal-active .text-accent {
  color: #155bd5 !important;
}
html[class*="minf-appearance-"] body.minf-seasonal-active .badge,
html[class*="minf-appearance-"] body.minf-seasonal-active .pill,
html[class*="minf-appearance-"] body.minf-seasonal-active .tag {
  background: rgba(255,255,255,.82) !important;
  border-color: rgba(210,225,245,.96) !important;
  color: #155bd5 !important;
}
html[class*="minf-appearance-"] body.minf-seasonal-active .badge::after,
html[class*="minf-appearance-"] body.minf-seasonal-active .pill::after {
  content: " " var(--minf-seasonal-icon-2);
  color: var(--minf-seasonal-accent);
  opacity: .75;
}

/* Footer: blue identity with a seasonal top line. */
html[class*="minf-appearance-"] body.minf-seasonal-active footer,
html[class*="minf-appearance-"] body.minf-seasonal-active .site-footer {
  background: linear-gradient(90deg, #071f3f 0%, #092a52 100%) !important;
  color: rgba(255,255,255,.88) !important;
  border-top: 3px solid var(--minf-seasonal-accent) !important;
}
html[class*="minf-appearance-"] body.minf-seasonal-active footer a,
html[class*="minf-appearance-"] body.minf-seasonal-active .site-footer a {
  color: rgba(255,255,255,.92) !important;
}
html[class*="minf-appearance-"] body.minf-seasonal-active footer::before,
html[class*="minf-appearance-"] body.minf-seasonal-active .site-footer::before {
  content: var(--minf-seasonal-icon) "  " var(--minf-seasonal-icon-2);
  display: block;
  margin-bottom: .7rem;
  color: rgba(255,255,255,.55);
  letter-spacing: .35rem;
}

/* Tiny floating ornament. Keep subtle and non-blocking. */
html[class*="minf-appearance-"] body.minf-seasonal-active::before {
  content: var(--minf-seasonal-icon);
  position: fixed;
  left: .9rem;
  top: 48%;
  z-index: 15;
  width: 2.55rem;
  height: 2.55rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(255,255,255,.68);
  color: var(--minf-seasonal-accent-2);
  border: 1px solid rgba(210,225,245,.78);
  box-shadow: 0 10px 28px rgba(8,35,72,.12);
  opacity: .72;
  pointer-events: none;
}

/* Hide Normal/Dark toggle only when seasonal is active. */
html[class*="minf-appearance-"] body.minf-seasonal-active .theme-toggle,
html[class*="minf-appearance-"] body.minf-seasonal-active .mode-toggle,
html[class*="minf-appearance-"] body.minf-seasonal-active .minf-theme-toggle,
html[class*="minf-appearance-"] body.minf-seasonal-active [data-theme-toggle] {
  display: none !important;
}

@media (max-width: 760px) {
  html[class*="minf-appearance-"] body.minf-seasonal-active::before { display: none; }
  html[class*="minf-appearance-"] body.minf-seasonal-active header::after,
  html[class*="minf-appearance-"] body.minf-seasonal-active .site-header::after { display: none; }
  html[class*="minf-appearance-"] body.minf-seasonal-active .hero::before,
  html[class*="minf-appearance-"] body.minf-seasonal-active .home-hero::before,
  html[class*="minf-appearance-"] body.minf-seasonal-active .hero-section::before,
  html[class*="minf-appearance-"] body.minf-seasonal-active .page-hero::before {
    width: 2.25rem;
    height: 2.25rem;
    top: 3.8rem;
    right: .9rem;
    font-size: .95rem;
  }
}
/* v142_seasonal_accent_css_end */


/* MINF_PATCH_V147_SEASONAL_THEME_ENGINE_CSS_START */
html.minf-appearance-newyear,
body.minf-theme-newyear {
  --minf-seasonal-accent: #facc15;
  --minf-seasonal-accent-2: #2563eb;
  --minf-seasonal-tint: rgba(250,204,21,.18);
  --minf-seasonal-tint-2: rgba(37,99,235,.10);
  --minf-seasonal-icon: "\2726";
  --minf-seasonal-icon-2: "\2728";
  --minf-seasonal-header: #071a3a;
  --minf-seasonal-header-2: #123c86;
}
html.minf-seasonal-active .theme-toggle,
body.minf-seasonal-active .theme-toggle,
html.minf-seasonal-active .mode-toggle,
body.minf-seasonal-active .mode-toggle,
html.minf-seasonal-active .minf-theme-toggle,
body.minf-seasonal-active .minf-theme-toggle,
html.minf-seasonal-active [data-theme-toggle],
body.minf-seasonal-active [data-theme-toggle] {
  display: none !important;
}
html.minf-seasonal-active,
html.minf-seasonal-active body,
body.minf-seasonal-active {
  color-scheme: light;
}
html.minf-seasonal-active body header,
html.minf-seasonal-active body .header,
body.minf-seasonal-active header,
body.minf-seasonal-active .header {
  border-bottom: 3px solid var(--minf-seasonal-accent, #d7a52c) !important;
}
html.minf-seasonal-active body .btn-primary,
html.minf-seasonal-active body a[href*="pmb.uajy.ac.id"],
body.minf-seasonal-active .btn-primary,
body.minf-seasonal-active a[href*="pmb.uajy.ac.id"] {
  background: linear-gradient(135deg, var(--minf-seasonal-accent, #e6ad2c), #f9d77e) !important;
  color: #082a55 !important;
  border-color: rgba(255,255,255,.45) !important;
}
html.minf-seasonal-active body .page-hero,
html.minf-seasonal-active body .hero,
body.minf-seasonal-active .page-hero,
body.minf-seasonal-active .hero {
  isolation: isolate;
}
/* MINF_PATCH_V147_SEASONAL_THEME_ENGINE_CSS_END */

/* MINF_PATCH_V149_CHRISTMAS_FRONTEND_START */
html.minf-seasonal-active,
html.minf-seasonal-active,
body.minf-seasonal-active,
body.minf-seasonal-active {
  --minf-christmas-evergreen: #064E3B;
  --minf-christmas-green: #0F7A4A;
  --minf-christmas-mint: #ECFDF3;
  --minf-christmas-red: #B42318;
  --minf-christmas-red-2: #991B1B;
  --minf-christmas-snow: #FFFDF7;
  --minf-christmas-snow-2: #F8FFF9;
  --minf-christmas-gold: #F6C453;
  --minf-christmas-text: #10233F;
  --minf-christmas-muted: #526176;
  --navy: #064E3B;
  --navy-2: #043927;
  --blue: #0F7A4A;
  --blue-2: #15803D;
  --gold: #B42318;
  --gold-soft: #FFF1F2;
  --text: #10233F;
  --muted: #526176;
  --soft: #F8FFF9;
  --line: rgba(6,78,59,.18);
  color-scheme: light !important;
}

html.minf-seasonal-active body,
html.minf-seasonal-active body,
body.minf-seasonal-active,
body.minf-seasonal-active {
  color: var(--minf-christmas-text) !important;
  background:
    radial-gradient(circle at 4% 14%, rgba(180,35,24,.10) 0 12px, transparent 13px),
    radial-gradient(circle at 92% 18%, rgba(6,78,59,.10) 0 15px, transparent 16px),
    radial-gradient(circle at 12% 88%, rgba(246,196,83,.15) 0 18px, transparent 19px),
    linear-gradient(180deg, #FFFDF7 0%, #F8FFF9 45%, #FFFFFF 100%) !important;
}

html.minf-seasonal-active body::before,
html.minf-seasonal-active body::before,
body.minf-seasonal-active::before,
body.minf-seasonal-active::before {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  background:
    radial-gradient(circle, rgba(6,78,59,.10) 0 1.4px, transparent 2px) 0 0/38px 38px,
    radial-gradient(circle, rgba(180,35,24,.09) 0 1.2px, transparent 2px) 19px 19px/48px 48px,
    radial-gradient(circle, rgba(255,255,255,.92) 0 1.8px, transparent 2.4px) 10px 8px/30px 30px !important;
  opacity: .46 !important;
}

html.minf-seasonal-active main,
html.minf-seasonal-active .section,
html.minf-seasonal-active .container,
html.minf-seasonal-active main,
html.minf-seasonal-active .section,
html.minf-seasonal-active .container {
  position: relative !important;
  z-index: 1 !important;
}

html.minf-seasonal-active .theme-toggle,
html.minf-seasonal-active .theme-toggle,
body.minf-seasonal-active .theme-toggle,
body.minf-seasonal-active .theme-toggle {
  display: none !important;
}

html.minf-seasonal-active .header,
html.minf-seasonal-active .header,
body.minf-seasonal-active .header,
body.minf-seasonal-active .header,
html.minf-seasonal-active header.header,
html.minf-seasonal-active header.header {
  background:
    linear-gradient(90deg, rgba(255,255,255,.12), rgba(255,255,255,0) 24%, rgba(255,255,255,.10) 62%, rgba(255,255,255,0)),
    linear-gradient(90deg, #043927 0%, #064E3B 44%, #0F7A4A 66%, #991B1B 100%) !important;
  border-bottom: 4px solid #F6C453 !important;
  box-shadow: 0 18px 34px rgba(6,78,59,.22) !important;
}
html.minf-seasonal-active .header::before,
html.minf-seasonal-active .header::before {
  height: 4px !important;
  background: linear-gradient(90deg, transparent, #FFFDF7 12%, #F6C453 28%, #FFFFFF 48%, #B42318 68%, transparent) !important;
  opacity: .95 !important;
}
html.minf-seasonal-active .header::after,
html.minf-seasonal-active .header::after {
  background:
    radial-gradient(circle at 12% 24%, rgba(255,255,255,.36) 0 2px, transparent 3px) 0 0/84px 84px,
    radial-gradient(circle at 74% 35%, rgba(246,196,83,.28) 0 2px, transparent 3px) 0 0/110px 110px,
    linear-gradient(90deg, transparent 0 72%, rgba(255,255,255,.18) 72% 72.4%, transparent 72.4% 100%) 0 0/190px 100% !important;
  opacity: .72 !important;
}
html.minf-seasonal-active .logo,
html.minf-seasonal-active .logo {
  filter: drop-shadow(0 6px 10px rgba(0,0,0,.28)) !important;
}
html.minf-seasonal-active .navlinks a,
html.minf-seasonal-active .nav-dropdown-trigger,
html.minf-seasonal-active .navlinks a,
html.minf-seasonal-active .nav-dropdown-trigger {
  color: rgba(255,255,255,.94) !important;
}
html.minf-seasonal-active .navlinks a:hover,
html.minf-seasonal-active .nav-dropdown-trigger:hover,
html.minf-seasonal-active .navlinks a:hover,
html.minf-seasonal-active .nav-dropdown-trigger:hover {
  color: #FFFFFF !important;
  background: rgba(255,255,255,.16) !important;
}
html.minf-seasonal-active .navlinks a.active,
html.minf-seasonal-active .nav-dropdown.active .nav-dropdown-trigger,
html.minf-seasonal-active .navlinks a.active,
html.minf-seasonal-active .nav-dropdown.active .nav-dropdown-trigger {
  color: #064E3B !important;
  background: rgba(255,255,255,.94) !important;
  border-color: rgba(246,196,83,.86) !important;
  box-shadow: 0 10px 20px rgba(0,0,0,.12), inset 0 0 0 1px rgba(6,78,59,.08) !important;
}
html.minf-seasonal-active .nav-submenu,
html.minf-seasonal-active .nav-submenu {
  background: rgba(255,253,247,.98) !important;
  border: 1px solid rgba(6,78,59,.18) !important;
  box-shadow: 0 18px 40px rgba(6,78,59,.16) !important;
}
html.minf-seasonal-active .nav-submenu a,
html.minf-seasonal-active .nav-submenu a {
  color: #14332B !important;
}
html.minf-seasonal-active .nav-submenu a:hover,
html.minf-seasonal-active .nav-submenu a.active,
html.minf-seasonal-active .nav-submenu a:hover,
html.minf-seasonal-active .nav-submenu a.active {
  color: #991B1B !important;
  background: #FFF1F2 !important;
}
html.minf-seasonal-active .menu-toggle,
html.minf-seasonal-active .menu-toggle {
  background: rgba(255,255,255,.18) !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(255,255,255,.32) !important;
}
html.minf-seasonal-active .mobile-menu,
html.minf-seasonal-active .mobile-menu {
  background: linear-gradient(135deg, rgba(4,57,39,.98), rgba(153,27,27,.95)) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 22px !important;
  padding: 12px !important;
  margin-bottom: 14px !important;
}
html.minf-seasonal-active .mobile-menu a,
html.minf-seasonal-active .mobile-menu a,
html.minf-seasonal-active .mobile-submenu-label,
html.minf-seasonal-active .mobile-submenu-label {
  color: rgba(255,255,255,.94) !important;
}

html.minf-seasonal-active .hero,
html.minf-seasonal-active .hero,
body.minf-seasonal-active .hero,
body.minf-seasonal-active .hero {
  background:
    radial-gradient(circle at 8% 20%, rgba(180,35,24,.10) 0 34px, transparent 35px),
    radial-gradient(circle at 84% 16%, rgba(6,78,59,.12) 0 46px, transparent 47px),
    linear-gradient(135deg, #FFFDF7 0%, #F0FDF4 58%, #FFFFFF 100%) !important;
  isolation: isolate !important;
}
html.minf-seasonal-active .hero::before,
html.minf-seasonal-active .hero::before {
  background:
    radial-gradient(circle, rgba(255,255,255,.98) 0 2px, transparent 2.5px) 0 0/30px 30px,
    linear-gradient(0deg, rgba(6,78,59,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(180,35,24,.035) 1px, transparent 1px) !important;
  background-size: 30px 30px, 46px 46px, 46px 46px !important;
  opacity: .9 !important;
  mask-image: linear-gradient(to bottom, black, transparent 84%) !important;
}
html.minf-seasonal-active .hero::after,
html.minf-seasonal-active .hero::after {
  content: "" !important;
  position: absolute !important;
  right: -90px !important;
  top: 72px !important;
  width: 280px !important;
  height: 280px !important;
  border-radius: 999px !important;
  background:
    radial-gradient(circle at 34% 28%, rgba(255,255,255,.92) 0 22px, transparent 23px),
    radial-gradient(circle at 52% 52%, rgba(246,196,83,.24), transparent 58%),
    linear-gradient(135deg, rgba(180,35,24,.14), rgba(6,78,59,.10)) !important;
  box-shadow: inset 0 0 0 1px rgba(180,35,24,.12), 0 24px 50px rgba(6,78,59,.10) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
html.minf-seasonal-active .hero h1,
html.minf-seasonal-active .hero h1 {
  color: #064E3B !important;
  text-shadow: 0 8px 24px rgba(6,78,59,.08) !important;
}
html.minf-seasonal-active .hero h1 span,
html.minf-seasonal-active .hero h1 span {
  color: #B42318 !important;
}
html.minf-seasonal-active .gold-text,
html.minf-seasonal-active .gold-text {
  color: #B42318 !important;
  text-shadow: 0 5px 18px rgba(180,35,24,.12) !important;
}
html.minf-seasonal-active .hero p,
html.minf-seasonal-active .hero p,
html.minf-seasonal-active .section-title p,
html.minf-seasonal-active .section-title p {
  color: #526176 !important;
}

html.minf-seasonal-active .badge,
html.minf-seasonal-active .badge {
  border-color: rgba(6,78,59,.20) !important;
  background: #FFFFFF !important;
  color: #064E3B !important;
  box-shadow: 0 10px 22px rgba(6,78,59,.07) !important;
}
html.minf-seasonal-active .badge::after,
html.minf-seasonal-active .badge::after {
  color: #B42318 !important;
}
html.minf-seasonal-active .badge-blue,
html.minf-seasonal-active .badge-blue {
  background: #ECFDF3 !important;
  color: #064E3B !important;
  border-color: #BBF7D0 !important;
}
html.minf-seasonal-active .badge-gold,
html.minf-seasonal-active .badge-gold {
  background: #FFF1F2 !important;
  color: #991B1B !important;
  border-color: #FECACA !important;
}

html.minf-seasonal-active .btn-primary,
html.minf-seasonal-active .btn-primary,
html.minf-seasonal-active a[href*="pmb.uajy.ac.id"],
html.minf-seasonal-active a[href*="pmb.uajy.ac.id"] {
  background: linear-gradient(135deg, #B42318 0%, #DC2626 100%) !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(255,255,255,.44) !important;
  box-shadow: 0 14px 28px rgba(180,35,24,.24) !important;
}
html.minf-seasonal-active .btn-primary:hover,
html.minf-seasonal-active .btn-primary:hover,
html.minf-seasonal-active a[href*="pmb.uajy.ac.id"]:hover,
html.minf-seasonal-active a[href*="pmb.uajy.ac.id"]:hover {
  filter: brightness(1.03) !important;
  box-shadow: 0 18px 34px rgba(180,35,24,.28) !important;
}
html.minf-seasonal-active .btn-blue,
html.minf-seasonal-active .btn-blue {
  background: linear-gradient(135deg, #064E3B 0%, #0F7A4A 100%) !important;
  color: #FFFFFF !important;
  box-shadow: 0 14px 28px rgba(6,78,59,.18) !important;
}
html.minf-seasonal-active .btn-white,
html.minf-seasonal-active .btn-white,
html.minf-seasonal-active .btn-outline,
html.minf-seasonal-active .btn-outline {
  background: #FFFFFF !important;
  color: #064E3B !important;
  border: 1px solid rgba(6,78,59,.22) !important;
  box-shadow: 0 12px 24px rgba(6,78,59,.09) !important;
}

html.minf-seasonal-active .section-soft,
html.minf-seasonal-active .section-soft,
html.minf-seasonal-active .page-section,
html.minf-seasonal-active .page-section {
  background: linear-gradient(180deg, #F8FFF9 0%, #FFFFFF 100%) !important;
}
html.minf-seasonal-active .section-navy,
html.minf-seasonal-active .section-navy {
  background: linear-gradient(135deg, #043927 0%, #064E3B 58%, #991B1B 100%) !important;
  color: #FFFFFF !important;
}
html.minf-seasonal-active .eyebrow,
html.minf-seasonal-active .eyebrow {
  color: #B42318 !important;
}
html.minf-seasonal-active .section-navy .eyebrow,
html.minf-seasonal-active .section-navy .eyebrow {
  color: #FDE68A !important;
}

html.minf-seasonal-active .card,
html.minf-seasonal-active .unggul-card,
html.minf-seasonal-active .research-card,
html.minf-seasonal-active .cert-preview-card,
html.minf-seasonal-active .publication-card,
html.minf-seasonal-active .news-card,
html.minf-seasonal-active .testimonial-card,
html.minf-seasonal-active .contact-card,
html.minf-seasonal-active .download-card,
html.minf-seasonal-active .scholarship-card,
html.minf-seasonal-active .lecturer-card,
html.minf-seasonal-active .page-hero-visual,
html.minf-seasonal-active .photo-frame,
html.minf-seasonal-active .card,
html.minf-seasonal-active .unggul-card,
html.minf-seasonal-active .research-card,
html.minf-seasonal-active .cert-preview-card,
html.minf-seasonal-active .publication-card,
html.minf-seasonal-active .news-card,
html.minf-seasonal-active .testimonial-card,
html.minf-seasonal-active .contact-card,
html.minf-seasonal-active .download-card,
html.minf-seasonal-active .scholarship-card,
html.minf-seasonal-active .lecturer-card,
html.minf-seasonal-active .page-hero-visual,
html.minf-seasonal-active .photo-frame {
  background: rgba(255,255,255,.96) !important;
  border-color: rgba(6,78,59,.18) !important;
  box-shadow: 0 18px 42px rgba(6,78,59,.08), 0 4px 18px rgba(180,35,24,.05) !important;
}
html.minf-seasonal-active .card h3,
html.minf-seasonal-active .cert-preview-card h3,
html.minf-seasonal-active .section-title h1,
html.minf-seasonal-active .section-title h2,
html.minf-seasonal-active .card h3,
html.minf-seasonal-active .cert-preview-card h3,
html.minf-seasonal-active .section-title h1,
html.minf-seasonal-active .section-title h2 {
  color: #10233F !important;
}
html.minf-seasonal-active .card p,
html.minf-seasonal-active .cert-preview-card p,
html.minf-seasonal-active .card p,
html.minf-seasonal-active .cert-preview-card p {
  color: #526176 !important;
}
html.minf-seasonal-active .page-hero-visual img,
html.minf-seasonal-active .photo-frame img,
html.minf-seasonal-active .cert-image-frame img,
html.minf-seasonal-active .news-card img,
html.minf-seasonal-active .publication-card img,
html.minf-seasonal-active .page-hero-visual img,
html.minf-seasonal-active .photo-frame img,
html.minf-seasonal-active .cert-image-frame img,
html.minf-seasonal-active .news-card img,
html.minf-seasonal-active .publication-card img {
  border-color: rgba(6,78,59,.20) !important;
  filter: saturate(1.04) contrast(1.02) !important;
}
html.minf-seasonal-active .cert-image-frame,
html.minf-seasonal-active .cert-image-frame {
  background: linear-gradient(135deg, #FFFFFF, #F0FDF4) !important;
  border-color: rgba(6,78,59,.18) !important;
}
html.minf-seasonal-active .unggul-banner,
html.minf-seasonal-active .unggul-banner {
  background: linear-gradient(135deg, #064E3B, #0F7A4A 62%, #991B1B) !important;
  color: #FFFFFF !important;
}
html.minf-seasonal-active .medal,
html.minf-seasonal-active .cert-medal,
html.minf-seasonal-active .medal,
html.minf-seasonal-active .cert-medal {
  background: radial-gradient(circle at 35% 28%, #FFF7CC, #F6C453 64%, #B45309) !important;
  color: #7F1D1D !important;
}

html.minf-seasonal-active input,
html.minf-seasonal-active textarea,
html.minf-seasonal-active select,
html.minf-seasonal-active input,
html.minf-seasonal-active textarea,
html.minf-seasonal-active select {
  background: #FFFFFF !important;
  color: #10233F !important;
  border-color: rgba(6,78,59,.22) !important;
}
html.minf-seasonal-active input:focus,
html.minf-seasonal-active textarea:focus,
html.minf-seasonal-active select:focus,
html.minf-seasonal-active input:focus,
html.minf-seasonal-active textarea:focus,
html.minf-seasonal-active select:focus {
  outline: 3px solid rgba(180,35,24,.18) !important;
  border-color: #B42318 !important;
}

html.minf-seasonal-active .footer,
html.minf-seasonal-active .footer,
body.minf-seasonal-active .footer,
body.minf-seasonal-active .footer {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 8% 20%, rgba(255,255,255,.12) 0 2px, transparent 3px) 0 0/74px 74px,
    linear-gradient(135deg, #043927 0%, #064E3B 58%, #7F1D1D 100%) !important;
  border-top: 4px solid #F6C453 !important;
  color: #FFFFFF !important;
}
html.minf-seasonal-active .footer::before,
html.minf-seasonal-active .footer::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at 82% 24%, rgba(246,196,83,.18) 0 80px, transparent 82px),
    radial-gradient(circle at 18% 72%, rgba(255,255,255,.09) 0 55px, transparent 56px) !important;
  pointer-events: none !important;
}
html.minf-seasonal-active .footer > *,
html.minf-seasonal-active .footer > * {
  position: relative !important;
  z-index: 1 !important;
}
html.minf-seasonal-active .footer h3,
html.minf-seasonal-active .footer h3 {
  color: #FFFFFF !important;
}
html.minf-seasonal-active .footer p,
html.minf-seasonal-active .footer a,
html.minf-seasonal-active .footer p,
html.minf-seasonal-active .footer a {
  color: rgba(255,255,255,.82) !important;
}
html.minf-seasonal-active .footer a:hover,
html.minf-seasonal-active .footer a:hover {
  color: #FFFFFF !important;
}
html.minf-seasonal-active .footer-icon-link,
html.minf-seasonal-active .footer-icon-link {
  background: rgba(255,255,255,.10) !important;
  border-color: rgba(255,255,255,.22) !important;
}

@media (max-width: 760px) {
  html.minf-seasonal-active .hero::after,
  html.minf-seasonal-active .hero::after {
    width: 180px !important;
    height: 180px !important;
    right: -80px !important;
    top: 100px !important;
    opacity: .72 !important;
  }
  html.minf-seasonal-active .hero h1,
  html.minf-seasonal-active .hero h1 {
    font-size: 40px !important;
  }
}
/* MINF_PATCH_V149_CHRISTMAS_FRONTEND_END */

/* MINF_PATCH_V150_CHRISTMAS_FORCE_CSS_START */
:root.minf-seasonal-active.minf-theme-christmas,
html.minf-seasonal-active.minf-theme-christmas,
html.minf-seasonal-active.minf-appearance-christmas,
html.minf-theme-christmas body.minf-seasonal-active,
body.minf-seasonal-active.minf-theme-christmas {
  --minf-xmas-evergreen: #064E3B;
  --minf-xmas-evergreen-2: #043927;
  --minf-xmas-green: #0F7A4A;
  --minf-xmas-green-soft: #ECFDF3;
  --minf-xmas-red: #B42318;
  --minf-xmas-red-2: #8F1D16;
  --minf-xmas-snow: #FFFDF7;
  --minf-xmas-snow-2: #F8FFF9;
  --minf-xmas-gold: #F6C453;
  --minf-xmas-text: #10233F;
  --minf-xmas-muted: #526176;
  --navy: #064E3B;
  --navy-2: #043927;
  --blue: #0F7A4A;
  --blue-2: #15803D;
  --gold: #B42318;
  --text: #10233F;
  --muted: #526176;
  --soft: #F8FFF9;
  --line: rgba(6, 78, 59, .18);
  color-scheme: light !important;
}

html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active,
body.minf-seasonal-active.minf-theme-christmas {
  background:
    radial-gradient(circle at 96% 18%, rgba(180,35,24,.08) 0 92px, transparent 94px),
    radial-gradient(circle at 8% 80%, rgba(6,78,59,.06) 0 110px, transparent 112px),
    linear-gradient(180deg, #FFFDF7 0%, #F8FFF9 46%, #FFFFFF 100%) !important;
  color: #10233F !important;
}

/* Disable older floating ornaments/overlays that were covering the page or competing with the new theme. */
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active::before,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active::before,
body.minf-seasonal-active.minf-theme-christmas::before {
  content: none !important;
  display: none !important;
}

html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .theme-toggle,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active .theme-toggle,
body.minf-seasonal-active.minf-theme-christmas .theme-toggle {
  display: none !important;
}

/* Header: force the full header to Christmas colors and remove the older center navbar block. */
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active header.header,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active header.header,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .header,
body.minf-seasonal-active.minf-theme-christmas header.header,
body.minf-seasonal-active.minf-theme-christmas .header {
  background:
    radial-gradient(circle at 10% 26%, rgba(255,255,255,.18) 0 2px, transparent 3px) 0 0/82px 82px,
    radial-gradient(circle at 72% 32%, rgba(246,196,83,.18) 0 2px, transparent 3px) 0 0/118px 118px,
    linear-gradient(90deg, #043927 0%, #064E3B 46%, #0F7A4A 68%, #8F1D16 100%) !important;
  border-bottom: 4px solid #F6C453 !important;
  box-shadow: 0 16px 34px rgba(6,78,59,.22) !important;
  overflow: hidden !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active header.header .navbar,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active header.header .navbar,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .header .navbar,
body.minf-seasonal-active.minf-theme-christmas header.header .navbar,
body.minf-seasonal-active.minf-theme-christmas .header .navbar {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #FFFFFF !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active header.header::before,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active header.header::before,
body.minf-seasonal-active.minf-theme-christmas header.header::before {
  content: "" !important;
  height: 4px !important;
  background: linear-gradient(90deg, transparent 0%, #FFFFFF 12%, #F6C453 28%, #FFFFFF 48%, #B42318 70%, transparent 100%) !important;
  opacity: .95 !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active header.header::after,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active header.header::after,
body.minf-seasonal-active.minf-theme-christmas header.header::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle, rgba(255,255,255,.32) 0 1.6px, transparent 2.4px) 0 0/42px 42px,
    linear-gradient(90deg, transparent 0 72%, rgba(255,255,255,.13) 72% 72.35%, transparent 72.35% 100%) 0 0/190px 100% !important;
  mask-image: linear-gradient(90deg, transparent 0%, black 18%, black 82%, transparent 100%) !important;
  opacity: .50 !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active header.header .logo,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active header.header .logo,
body.minf-seasonal-active.minf-theme-christmas header.header .logo {
  filter: drop-shadow(0 6px 12px rgba(0,0,0,.30)) !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active header.header .navlinks a,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active header.header .nav-dropdown-trigger,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active header.header .navlinks a,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active header.header .nav-dropdown-trigger,
body.minf-seasonal-active.minf-theme-christmas header.header .navlinks a,
body.minf-seasonal-active.minf-theme-christmas header.header .nav-dropdown-trigger {
  background: transparent !important;
  color: rgba(255,255,255,.94) !important;
  border-color: transparent !important;
  box-shadow: none !important;
  text-shadow: 0 1px 8px rgba(0,0,0,.12) !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active header.header .navlinks a:hover,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active header.header .nav-dropdown-trigger:hover,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active header.header .navlinks a:hover,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active header.header .nav-dropdown-trigger:hover,
body.minf-seasonal-active.minf-theme-christmas header.header .navlinks a:hover,
body.minf-seasonal-active.minf-theme-christmas header.header .nav-dropdown-trigger:hover {
  color: #FFFFFF !important;
  background: rgba(255,255,255,.15) !important;
  border-color: rgba(255,255,255,.20) !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active header.header .navlinks a.active,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active header.header .nav-dropdown.active .nav-dropdown-trigger,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active header.header .navlinks a.active,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active header.header .nav-dropdown.active .nav-dropdown-trigger,
body.minf-seasonal-active.minf-theme-christmas header.header .navlinks a.active,
body.minf-seasonal-active.minf-theme-christmas header.header .nav-dropdown.active .nav-dropdown-trigger {
  background: rgba(255,255,255,.94) !important;
  color: #064E3B !important;
  border-color: rgba(246,196,83,.85) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.14) !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active header.header .nav-submenu,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active header.header .nav-submenu,
body.minf-seasonal-active.minf-theme-christmas header.header .nav-submenu {
  background: rgba(255,253,247,.98) !important;
  border: 1px solid rgba(6,78,59,.18) !important;
  box-shadow: 0 18px 42px rgba(6,78,59,.20) !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active header.header .nav-submenu a,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active header.header .nav-submenu a,
body.minf-seasonal-active.minf-theme-christmas header.header .nav-submenu a {
  color: #12352C !important;
  background: transparent !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active header.header .nav-submenu a:hover,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active header.header .nav-submenu a:hover,
body.minf-seasonal-active.minf-theme-christmas header.header .nav-submenu a:hover {
  color: #8F1D16 !important;
  background: #FFF1F2 !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active header.header .menu-toggle,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active header.header .menu-toggle,
body.minf-seasonal-active.minf-theme-christmas header.header .menu-toggle {
  background: rgba(255,255,255,.18) !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(255,255,255,.30) !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active header.header .mobile-menu,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active header.header .mobile-menu,
body.minf-seasonal-active.minf-theme-christmas header.header .mobile-menu {
  background: linear-gradient(135deg, rgba(4,57,39,.98), rgba(143,29,22,.96)) !important;
  border: 1px solid rgba(255,255,255,.20) !important;
}

/* Header and general PMB button. */
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active header.header .btn.btn-primary,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active header.header a.btn-primary,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active a.btn[href*="pmb.uajy.ac.id"],
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active a.btn-primary[href*="pmb"],
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active header.header .btn.btn-primary,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active a.btn[href*="pmb.uajy.ac.id"],
body.minf-seasonal-active.minf-theme-christmas header.header .btn.btn-primary,
body.minf-seasonal-active.minf-theme-christmas a.btn[href*="pmb.uajy.ac.id"] {
  background: linear-gradient(135deg, #B42318 0%, #DC2626 100%) !important;
  border: 1px solid rgba(255,255,255,.50) !important;
  color: #FFFFFF !important;
  box-shadow: 0 14px 30px rgba(180,35,24,.32) !important;
  text-shadow: none !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .btn-blue,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active .btn-blue,
body.minf-seasonal-active.minf-theme-christmas .btn-blue {
  background: linear-gradient(135deg, #064E3B, #0F7A4A) !important;
  border-color: rgba(6,78,59,.35) !important;
  color: #FFFFFF !important;
  box-shadow: 0 14px 28px rgba(6,78,59,.20) !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .btn-white,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .btn-outline,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active .btn-white,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active .btn-outline,
body.minf-seasonal-active.minf-theme-christmas .btn-white,
body.minf-seasonal-active.minf-theme-christmas .btn-outline {
  background: #FFFFFF !important;
  border: 1px solid rgba(6,78,59,.24) !important;
  color: #064E3B !important;
  box-shadow: 0 12px 24px rgba(6,78,59,.10) !important;
}

/* Main content, hero, cards, thumbnails. */
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active main,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .page,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active section,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active main,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active section,
body.minf-seasonal-active.minf-theme-christmas main,
body.minf-seasonal-active.minf-theme-christmas section {
  color: #10233F !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .hero,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active .hero,
body.minf-seasonal-active.minf-theme-christmas .hero {
  position: relative !important;
  isolation: isolate !important;
  background:
    radial-gradient(circle at 9% 22%, rgba(180,35,24,.09) 0 42px, transparent 44px),
    radial-gradient(circle at 92% 16%, rgba(6,78,59,.12) 0 62px, transparent 64px),
    linear-gradient(135deg, #FFFDF7 0%, #F0FDF4 56%, #FFFFFF 100%) !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .hero::before,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active .hero::before,
body.minf-seasonal-active.minf-theme-christmas .hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle, rgba(255,255,255,.95) 0 2px, transparent 2.7px) 0 0/32px 32px,
    linear-gradient(0deg, rgba(6,78,59,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(180,35,24,.035) 1px, transparent 1px) !important;
  background-size: 32px 32px, 48px 48px, 48px 48px !important;
  opacity: .86 !important;
  mask-image: linear-gradient(to bottom, black, transparent 88%) !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .hero::after,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active .hero::after,
body.minf-seasonal-active.minf-theme-christmas .hero::after {
  content: "" !important;
  position: absolute !important;
  right: -100px !important;
  top: 76px !important;
  width: 280px !important;
  height: 280px !important;
  border-radius: 999px !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 34% 28%, rgba(255,255,255,.93) 0 22px, transparent 23px),
    radial-gradient(circle at 54% 54%, rgba(246,196,83,.26), transparent 58%),
    linear-gradient(135deg, rgba(180,35,24,.14), rgba(6,78,59,.12)) !important;
  box-shadow: inset 0 0 0 1px rgba(180,35,24,.12), 0 24px 50px rgba(6,78,59,.10) !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .hero h1,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active .hero h1,
body.minf-seasonal-active.minf-theme-christmas .hero h1 {
  color: #064E3B !important;
  text-shadow: 0 8px 24px rgba(6,78,59,.08) !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .hero h1 span,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active .hero h1 span,
body.minf-seasonal-active.minf-theme-christmas .hero h1 span,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .gold-text,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active .gold-text,
body.minf-seasonal-active.minf-theme-christmas .gold-text {
  color: #B42318 !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .hero p,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active p,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active .hero p,
body.minf-seasonal-active.minf-theme-christmas .hero p {
  color: #526176 !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .badge,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .pill,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .tag,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active .badge,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active .pill,
body.minf-seasonal-active.minf-theme-christmas .badge,
body.minf-seasonal-active.minf-theme-christmas .pill {
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(6,78,59,.20) !important;
  color: #064E3B !important;
  box-shadow: 0 10px 22px rgba(6,78,59,.08) !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .badge::after,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .pill::after,
body.minf-seasonal-active.minf-theme-christmas .badge::after {
  content: " ✦" !important;
  color: #B42318 !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .card,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active [class$="-card"],
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active [class*="-card "],
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .page-hero-visual,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .photo-frame,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .cert-image-frame,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active .card,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active [class$="-card"],
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active .photo-frame,
body.minf-seasonal-active.minf-theme-christmas .card,
body.minf-seasonal-active.minf-theme-christmas [class$="-card"],
body.minf-seasonal-active.minf-theme-christmas .photo-frame {
  background: rgba(255,255,255,.96) !important;
  border-color: rgba(6,78,59,.18) !important;
  box-shadow: 0 18px 42px rgba(6,78,59,.08), 0 4px 18px rgba(180,35,24,.05) !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .card h1,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .card h2,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .card h3,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .section-title h1,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .section-title h2,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active .card h3,
body.minf-seasonal-active.minf-theme-christmas .card h3 {
  color: #10233F !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active img,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active img,
body.minf-seasonal-active.minf-theme-christmas img {
  filter: none !important;
  opacity: 1 !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .photo-frame img,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .page-hero-visual img,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .cert-image-frame img,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .news-card img,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .publication-card img,
body.minf-seasonal-active.minf-theme-christmas .photo-frame img {
  border-color: rgba(6,78,59,.22) !important;
  filter: saturate(1.04) contrast(1.02) !important;
}

/* Footer: force green-red Christmas palette and fix PMB links that old rules turned into yellow bars. */
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active footer.footer,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active footer.footer,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .footer,
body.minf-seasonal-active.minf-theme-christmas footer.footer,
body.minf-seasonal-active.minf-theme-christmas .footer {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 82% 28%, rgba(246,196,83,.18) 0 84px, transparent 86px),
    radial-gradient(circle at 16% 74%, rgba(255,255,255,.09) 0 58px, transparent 60px),
    radial-gradient(circle, rgba(255,255,255,.12) 0 1.6px, transparent 2.4px) 0 0/58px 58px,
    linear-gradient(135deg, #043927 0%, #064E3B 56%, #7F1D1D 100%) !important;
  border-top: 4px solid #F6C453 !important;
  color: #FFFFFF !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active footer.footer::before,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active footer.footer::before,
body.minf-seasonal-active.minf-theme-christmas footer.footer::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(255,255,255,.06), transparent 35%, rgba(255,255,255,.04)) !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active footer.footer .container,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active footer.footer .container,
body.minf-seasonal-active.minf-theme-christmas footer.footer .container {
  position: relative !important;
  z-index: 1 !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active footer.footer h3,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active footer.footer h3,
body.minf-seasonal-active.minf-theme-christmas footer.footer h3 {
  color: #FFFFFF !important;
  text-shadow: 0 1px 8px rgba(0,0,0,.16) !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active footer.footer p,
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active footer.footer a,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active footer.footer p,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active footer.footer a,
body.minf-seasonal-active.minf-theme-christmas footer.footer p,
body.minf-seasonal-active.minf-theme-christmas footer.footer a {
  color: rgba(255,255,255,.86) !important;
  text-shadow: none !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active footer.footer a:hover,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active footer.footer a:hover,
body.minf-seasonal-active.minf-theme-christmas footer.footer a:hover {
  color: #FFFFFF !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active footer.footer a[href*="pmb.uajy.ac.id"],
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active footer.footer a[href*="pmb.uajy.ac.id"],
body.minf-seasonal-active.minf-theme-christmas footer.footer a[href*="pmb.uajy.ac.id"] {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: rgba(255,255,255,.90) !important;
  display: block !important;
  width: auto !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active footer.footer .footer-social-links a.footer-icon-link,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active footer.footer .footer-social-links a.footer-icon-link,
body.minf-seasonal-active.minf-theme-christmas footer.footer .footer-social-links a.footer-icon-link {
  display: inline-flex !important;
  width: auto !important;
  max-width: 100% !important;
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  color: #FFFFFF !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.14) !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active footer.footer .footer-social-links a.footer-icon-link[href*="pmb.uajy.ac.id"],
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active footer.footer .footer-social-links a.footer-icon-link[href*="pmb.uajy.ac.id"],
body.minf-seasonal-active.minf-theme-christmas footer.footer .footer-social-links a.footer-icon-link[href*="pmb.uajy.ac.id"] {
  background: linear-gradient(135deg, #B42318, #DC2626) !important;
  border-color: rgba(255,255,255,.28) !important;
  color: #FFFFFF !important;
}
html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active footer.footer .footer-icon,
html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active footer.footer .footer-icon,
body.minf-seasonal-active.minf-theme-christmas footer.footer .footer-icon {
  background: rgba(255,255,255,.18) !important;
  color: #FFFFFF !important;
}

@media (max-width: 760px) {
  html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active .hero::after,
  html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active .hero::after,
  body.minf-seasonal-active.minf-theme-christmas .hero::after {
    width: 180px !important;
    height: 180px !important;
    right: -86px !important;
    top: 96px !important;
    opacity: .70 !important;
  }
  html.minf-seasonal-active.minf-theme-christmas body.minf-seasonal-active header.header .navbar,
  html.minf-seasonal-active.minf-appearance-christmas body.minf-seasonal-active header.header .navbar,
  body.minf-seasonal-active.minf-theme-christmas header.header .navbar {
    background: transparent !important;
  }
}

/* v150 ultimate fallback: apply Christmas palette to any active seasonal mode while we focus only on Natal. */
html[class*="minf-appearance-"].minf-seasonal-active body.minf-seasonal-active header.header,
html.minf-seasonal-active body.minf-seasonal-active header.header,
body.minf-seasonal-active header.header {
  background: radial-gradient(circle at 10% 26%, rgba(255,255,255,.18) 0 2px, transparent 3px) 0 0/82px 82px, radial-gradient(circle at 72% 32%, rgba(246,196,83,.18) 0 2px, transparent 3px) 0 0/118px 118px, linear-gradient(90deg, #043927 0%, #064E3B 46%, #0F7A4A 68%, #8F1D16 100%) !important;
  border-bottom: 4px solid #F6C453 !important;
  box-shadow: 0 16px 34px rgba(6,78,59,.22) !important;
}
html[class*="minf-appearance-"].minf-seasonal-active body.minf-seasonal-active header.header .navbar,
html.minf-seasonal-active body.minf-seasonal-active header.header .navbar,
body.minf-seasonal-active header.header .navbar {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html[class*="minf-appearance-"].minf-seasonal-active body.minf-seasonal-active header.header .btn.btn-primary,
html[class*="minf-appearance-"].minf-seasonal-active body.minf-seasonal-active header.header a.btn-primary,
html[class*="minf-appearance-"].minf-seasonal-active body.minf-seasonal-active a.btn[href*="pmb.uajy.ac.id"],
html.minf-seasonal-active body.minf-seasonal-active header.header .btn.btn-primary,
html.minf-seasonal-active body.minf-seasonal-active a.btn[href*="pmb.uajy.ac.id"],
body.minf-seasonal-active header.header .btn.btn-primary,
body.minf-seasonal-active a.btn[href*="pmb.uajy.ac.id"] {
  background: linear-gradient(135deg, #B42318 0%, #DC2626 100%) !important;
  border: 1px solid rgba(255,255,255,.50) !important;
  color: #FFFFFF !important;
  box-shadow: 0 14px 30px rgba(180,35,24,.32) !important;
}
html[class*="minf-appearance-"].minf-seasonal-active body.minf-seasonal-active footer.footer,
html.minf-seasonal-active body.minf-seasonal-active footer.footer,
body.minf-seasonal-active footer.footer {
  background: radial-gradient(circle at 82% 28%, rgba(246,196,83,.18) 0 84px, transparent 86px), radial-gradient(circle at 16% 74%, rgba(255,255,255,.09) 0 58px, transparent 60px), radial-gradient(circle, rgba(255,255,255,.12) 0 1.6px, transparent 2.4px) 0 0/58px 58px, linear-gradient(135deg, #043927 0%, #064E3B 56%, #7F1D1D 100%) !important;
  border-top: 4px solid #F6C453 !important;
  color: #FFFFFF !important;
}
html[class*="minf-appearance-"].minf-seasonal-active body.minf-seasonal-active footer.footer a[href*="pmb.uajy.ac.id"],
html.minf-seasonal-active body.minf-seasonal-active footer.footer a[href*="pmb.uajy.ac.id"],
body.minf-seasonal-active footer.footer a[href*="pmb.uajy.ac.id"] {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: rgba(255,255,255,.90) !important;
  width: auto !important;
}
html[class*="minf-appearance-"].minf-seasonal-active body.minf-seasonal-active footer.footer .footer-social-links a.footer-icon-link[href*="pmb.uajy.ac.id"],
html.minf-seasonal-active body.minf-seasonal-active footer.footer .footer-social-links a.footer-icon-link[href*="pmb.uajy.ac.id"],
body.minf-seasonal-active footer.footer .footer-social-links a.footer-icon-link[href*="pmb.uajy.ac.id"] {
  background: linear-gradient(135deg, #B42318, #DC2626) !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  color: #FFFFFF !important;
}

/* MINF_PATCH_V150_CHRISTMAS_FORCE_CSS_END */

/* MINF_PATCH_V151_CHRISTMAS_ORNAMENTS_CSS_START */
html.minf-theme-christmas body .minf-v151-christmas-decor,
html.minf-theme-christmas body .minf-v151-christmas-snow,
html[data-minf-appearance="christmas"] body .minf-v151-christmas-decor,
html[data-minf-appearance="christmas"] body .minf-v151-christmas-snow,
body.minf-seasonal-active .minf-v151-christmas-decor,
body.minf-seasonal-active .minf-v151-christmas-snow,
body[data-minf-appearance="christmas"] .minf-v151-christmas-decor,
body[data-minf-appearance="christmas"] .minf-v151-christmas-snow,
body.minf-theme-christmas .minf-v151-christmas-decor,
body.minf-theme-christmas .minf-v151-christmas-snow{
  display:block !important;
}

.minf-v151-christmas-decor,
.minf-v151-christmas-snow{
  display:none;
  pointer-events:none;
}

body.minf-seasonal-active{
  overflow-x:hidden;
}

body.minf-seasonal-active .header,
body.minf-seasonal-active .footer{
  overflow:visible !important;
}

.minf-v151-christmas-decor{
  position:fixed;
  inset:0;
  z-index:12;
}

.minf-v151-header-lights{
  position:fixed;
  left:0;
  right:0;
  top:88px;
  height:34px;
  z-index:72;
}
.minf-v151-header-lights::before{
  content:"";
  position:absolute;
  left:-2%;
  right:-2%;
  top:12px;
  border-top:2px solid rgba(100,20,20,.45);
  border-radius:0 0 999px 999px;
}
.minf-v151-header-lights .bulb{
  position:absolute;
  top:9px;
  width:15px;
  height:15px;
  border-radius:50%;
  transform:translateX(-50%);
  box-shadow:0 0 0 2px rgba(255,255,255,.65),0 0 14px currentColor,0 0 28px currentColor;
  animation:minfV151Twinkle 2.8s ease-in-out infinite;
}
.minf-v151-header-lights .bulb::before{
  content:"";
  position:absolute;
  left:4px;
  top:-5px;
  width:7px;
  height:7px;
  border-radius:3px 3px 0 0;
  background:#355f2d;
  box-shadow:0 1px 0 rgba(0,0,0,.18);
}
.minf-v151-header-lights .b1{left:4%;color:#e53935;background:#e53935;animation-delay:.1s}
.minf-v151-header-lights .b2{left:12%;color:#2e7d32;background:#2e7d32;animation-delay:.6s}
.minf-v151-header-lights .b3{left:20%;color:#fbc02d;background:#fbc02d;animation-delay:1.1s}
.minf-v151-header-lights .b4{left:28%;color:#f44336;background:#f44336;animation-delay:1.6s}
.minf-v151-header-lights .b5{left:36%;color:#1b9e77;background:#1b9e77;animation-delay:.8s}
.minf-v151-header-lights .b6{left:44%;color:#ffb300;background:#ffb300;animation-delay:1.7s}
.minf-v151-header-lights .b7{left:52%;color:#d32f2f;background:#d32f2f;animation-delay:.3s}
.minf-v151-header-lights .b8{left:60%;color:#2e7d32;background:#2e7d32;animation-delay:2.1s}
.minf-v151-header-lights .b9{left:68%;color:#fbc02d;background:#fbc02d;animation-delay:1.3s}
.minf-v151-header-lights .b10{left:76%;color:#c62828;background:#c62828;animation-delay:.4s}
.minf-v151-header-lights .b11{left:84%;color:#1b9e77;background:#1b9e77;animation-delay:1.4s}
.minf-v151-header-lights .b12{left:92%;color:#ffca28;background:#ffca28;animation-delay:2.4s}

.minf-v151-hero-ornament,
.minf-v151-floating-ornament{
  position:fixed;
  z-index:18;
  line-height:1;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.18));
  opacity:.92;
  animation:minfV151Float 4.6s ease-in-out infinite;
}
.minf-v151-star{top:112px;left:50%;transform:translateX(-50%);font-size:30px;animation-delay:.3s}
.minf-v151-bell{top:152px;left:16px;font-size:34px;animation-delay:1.3s}
.minf-v151-santa{top:146px;right:18px;font-size:44px;animation-delay:.9s}
.minf-v151-tree-left{left:18px;bottom:38px;font-size:68px;animation-delay:1.8s;opacity:.88}
.minf-v151-tree-right{right:24px;bottom:44px;font-size:64px;animation-delay:.7s;opacity:.88}
.minf-v151-gift-left{left:98px;bottom:34px;font-size:36px;animation-delay:2.2s}
.minf-v151-gift-right{right:102px;bottom:34px;font-size:36px;animation-delay:1.4s}
.minf-v151-candy{left:78px;top:208px;font-size:26px;animation-delay:.2s}
.minf-v151-snowflake-left{left:44px;top:260px;font-size:22px;animation-delay:.5s}
.minf-v151-snowflake-right{right:44px;top:248px;font-size:22px;animation-delay:1.1s}

.minf-v151-christmas-snow{
  position:fixed;
  inset:0;
  overflow:hidden;
  z-index:10;
}
.minf-v151-christmas-snow span{
  position:absolute;
  top:-10vh;
  color:rgba(255,255,255,.95);
  text-shadow:0 0 8px rgba(255,255,255,.65),0 1px 2px rgba(0,0,0,.12);
  animation:minfV151Snow linear infinite;
}

body.minf-seasonal-active .footer{
  position:relative !important;
}
body.minf-seasonal-active .footer .container,
body.minf-seasonal-active .footer .footer-grid{
  position:relative;
  z-index:2;
}
body.minf-seasonal-active .footer::before,
body.minf-seasonal-active .footer::after{
  pointer-events:none;
}
body.minf-seasonal-active .footer::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:12px;
  height:24px;
  background:
    radial-gradient(circle at 5% 50%, rgba(255,255,255,.95) 0 4px, transparent 5px),
    radial-gradient(circle at 13% 50%, rgba(233,30,99,.95) 0 5px, transparent 6px),
    radial-gradient(circle at 21% 50%, rgba(76,175,80,.95) 0 5px, transparent 6px),
    radial-gradient(circle at 29% 50%, rgba(255,193,7,.95) 0 5px, transparent 6px),
    radial-gradient(circle at 37% 50%, rgba(244,67,54,.95) 0 5px, transparent 6px),
    radial-gradient(circle at 45% 50%, rgba(76,175,80,.95) 0 5px, transparent 6px),
    radial-gradient(circle at 53% 50%, rgba(255,193,7,.95) 0 5px, transparent 6px),
    radial-gradient(circle at 61% 50%, rgba(233,30,99,.95) 0 5px, transparent 6px),
    radial-gradient(circle at 69% 50%, rgba(76,175,80,.95) 0 5px, transparent 6px),
    radial-gradient(circle at 77% 50%, rgba(255,193,7,.95) 0 5px, transparent 6px),
    radial-gradient(circle at 85% 50%, rgba(244,67,54,.95) 0 5px, transparent 6px),
    radial-gradient(circle at 93% 50%, rgba(255,255,255,.95) 0 4px, transparent 5px);
  opacity:.95;
}
body.minf-seasonal-active .footer::after{
  content:"🎄   🎁   ⭐   ❄   🎅";
  position:absolute;
  right:24px;
  bottom:20px;
  font-size:34px;
  letter-spacing:10px;
  opacity:.92;
  text-shadow:0 8px 18px rgba(0,0,0,.22);
}

body.minf-seasonal-active .header::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-12px;
  height:12px;
  background:linear-gradient(90deg, rgba(198,40,40,.18), rgba(46,125,50,.15), rgba(198,40,40,.18));
  filter:blur(8px);
  opacity:.85;
  pointer-events:none;
}

@keyframes minfV151Twinkle{
  0%,100%{transform:translateX(-50%) scale(1);opacity:.92}
  50%{transform:translateX(-50%) scale(1.18);opacity:1}
}
@keyframes minfV151Float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
@keyframes minfV151Snow{
  0%{transform:translate3d(0,-8vh,0) rotate(0deg);opacity:0}
  10%{opacity:.9}
  100%{transform:translate3d(14px,115vh,0) rotate(360deg);opacity:.85}
}

@media (max-width: 991px){
  .minf-v151-header-lights{top:80px;height:28px}
  .minf-v151-star{top:94px;font-size:24px}
  .minf-v151-bell,.minf-v151-santa{top:124px;font-size:28px}
  .minf-v151-candy,.minf-v151-snowflake-left,.minf-v151-snowflake-right{display:none}
  .minf-v151-tree-left,.minf-v151-tree-right{font-size:44px;bottom:18px}
  .minf-v151-gift-left,.minf-v151-gift-right{font-size:26px;bottom:20px}
  body.minf-seasonal-active .footer::after{font-size:24px;letter-spacing:4px;left:18px;right:auto;bottom:18px}
}
@media (max-width: 767px){
  .minf-v151-header-lights{top:72px}
  .minf-v151-star{display:none}
  .minf-v151-bell{left:8px;top:104px;font-size:24px}
  .minf-v151-santa{right:8px;top:104px;font-size:30px}
  .minf-v151-tree-left,.minf-v151-tree-right,.minf-v151-gift-left,.minf-v151-gift-right{display:none}
  body.minf-seasonal-active .footer::after{content:"🎄 🎁 ❄";font-size:20px;letter-spacing:3px}
}
/* MINF_PATCH_V151_CHRISTMAS_ORNAMENTS_CSS_END */
/* MINF_PATCH_V153_CHRISTMAS_VISIBILITY_FIX_CSS_START */
/* v153: ornaments must follow data-minf-seasonal only. If seasonal is off, hide them even if old classes remain cached. */
html:not([data-minf-seasonal="1"]) body .minf-v151-christmas-decor,
html:not([data-minf-seasonal="1"]) body .minf-v151-christmas-snow,
html[data-minf-seasonal="0"] body .minf-v151-christmas-decor,
html[data-minf-seasonal="0"] body .minf-v151-christmas-snow,
body:not([data-minf-seasonal="1"]) .minf-v151-christmas-decor,
body:not([data-minf-seasonal="1"]) .minf-v151-christmas-snow,
body[data-minf-seasonal="0"] .minf-v151-christmas-decor,
body[data-minf-seasonal="0"] .minf-v151-christmas-snow{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
html[data-minf-seasonal="1"] body .minf-v151-christmas-decor,
html[data-minf-seasonal="1"] body .minf-v151-christmas-snow,
body[data-minf-seasonal="1"] .minf-v151-christmas-decor,
body[data-minf-seasonal="1"] .minf-v151-christmas-snow{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:none !important;
}
/* Keep the normal/dark toggle visible again when seasonal is off. */
html[data-minf-seasonal="0"] .theme-toggle,
html:not([data-minf-seasonal="1"]) .theme-toggle,
body[data-minf-seasonal="0"] .theme-toggle,
body:not([data-minf-seasonal="1"]) .theme-toggle{
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
}
html[data-minf-seasonal="1"] .theme-toggle,
body[data-minf-seasonal="1"] .theme-toggle{
  display:none !important;
}
/* MINF_PATCH_V153_CHRISTMAS_VISIBILITY_FIX_CSS_END */
/* MINF_PATCH_V154_CHRISTMAS_TOGGLE_CSS_START */

/* Default: ornament benar-benar mati. Jangan tampil hanya karena class lama masih tertinggal. */
.minf-v154-christmas-decor,
.minf-v154-christmas-snow,
.minf-v151-christmas-decor,
.minf-v151-christmas-snow,
.minf-v153-christmas-decor,
.minf-v153-christmas-snow{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* Satu-satunya kondisi tampil: data-minf-seasonal="1" pada html/body. */
html[data-minf-seasonal="1"] body .minf-v154-christmas-decor,
html[data-minf-seasonal="1"] body .minf-v154-christmas-snow,
body[data-minf-seasonal="1"] .minf-v154-christmas-decor,
body[data-minf-seasonal="1"] .minf-v154-christmas-snow{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* Kalau mode mati, paksa semua dekor hilang walaupun class lama masih ada. */
html:not([data-minf-seasonal="1"]) body .minf-v154-christmas-decor,
html:not([data-minf-seasonal="1"]) body .minf-v154-christmas-snow,
body:not([data-minf-seasonal="1"]) .minf-v154-christmas-decor,
body:not([data-minf-seasonal="1"]) .minf-v154-christmas-snow,
html[data-minf-seasonal="0"] body .minf-v154-christmas-decor,
html[data-minf-seasonal="0"] body .minf-v154-christmas-snow,
body[data-minf-seasonal="0"] .minf-v154-christmas-decor,
body[data-minf-seasonal="0"] .minf-v154-christmas-snow{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
}

.minf-v154-christmas-decor,
.minf-v154-christmas-snow{
  pointer-events:none !important;
}

.minf-v154-christmas-decor{
  position:fixed;
  inset:0;
  z-index:12;
}

.minf-v154-header-lights{
  position:fixed;
  left:0;
  right:0;
  top:88px;
  height:34px;
  z-index:72;
}

.minf-v154-header-lights::before{
  content:"";
  position:absolute;
  left:-2%;
  right:-2%;
  top:12px;
  border-top:2px solid rgba(100,20,20,.45);
  border-radius:0 0 999px 999px;
}

.minf-v154-header-lights .bulb{
  position:absolute;
  top:9px;
  width:15px;
  height:15px;
  border-radius:50%;
  transform:translateX(-50%);
  box-shadow:0 0 0 2px rgba(255,255,255,.65),0 0 14px currentColor,0 0 28px currentColor;
  animation:minfV154Twinkle 2.8s ease-in-out infinite;
}

.minf-v154-header-lights .bulb::before{
  content:"";
  position:absolute;
  left:4px;
  top:-5px;
  width:7px;
  height:7px;
  border-radius:3px 3px 0 0;
  background:#355f2d;
}

.minf-v154-header-lights .b1{left:4%;color:#e53935;background:#e53935;animation-delay:.1s}
.minf-v154-header-lights .b2{left:12%;color:#2e7d32;background:#2e7d32;animation-delay:.6s}
.minf-v154-header-lights .b3{left:20%;color:#fbc02d;background:#fbc02d;animation-delay:1.1s}
.minf-v154-header-lights .b4{left:28%;color:#f44336;background:#f44336;animation-delay:1.6s}
.minf-v154-header-lights .b5{left:36%;color:#1b9e77;background:#1b9e77;animation-delay:.8s}
.minf-v154-header-lights .b6{left:44%;color:#ffb300;background:#ffb300;animation-delay:1.7s}
.minf-v154-header-lights .b7{left:52%;color:#d32f2f;background:#d32f2f;animation-delay:.3s}
.minf-v154-header-lights .b8{left:60%;color:#2e7d32;background:#2e7d32;animation-delay:2.1s}
.minf-v154-header-lights .b9{left:68%;color:#fbc02d;background:#fbc02d;animation-delay:1.3s}
.minf-v154-header-lights .b10{left:76%;color:#c62828;background:#c62828;animation-delay:.4s}
.minf-v154-header-lights .b11{left:84%;color:#1b9e77;background:#1b9e77;animation-delay:1.4s}
.minf-v154-header-lights .b12{left:92%;color:#ffca28;background:#ffca28;animation-delay:2.4s}

.minf-v154-orn{
  position:fixed;
  z-index:18;
  line-height:1;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.18));
  opacity:.92;
  animation:minfV154Float 4.6s ease-in-out infinite;
}

.minf-v154-star{top:112px;left:50%;transform:translateX(-50%);font-size:30px;animation-delay:.3s}
.minf-v154-bell{top:152px;left:16px;font-size:34px;animation-delay:1.3s}
.minf-v154-santa{top:146px;right:18px;font-size:44px;animation-delay:.9s}
.minf-v154-tree-left{left:18px;bottom:38px;font-size:68px;animation-delay:1.8s;opacity:.88}
.minf-v154-tree-right{right:24px;bottom:44px;font-size:64px;animation-delay:.7s;opacity:.88}
.minf-v154-gift-left{left:98px;bottom:34px;font-size:36px;animation-delay:2.2s}
.minf-v154-gift-right{right:102px;bottom:34px;font-size:36px;animation-delay:1.4s}
.minf-v154-candy{left:78px;top:208px;font-size:26px;animation-delay:.2s}
.minf-v154-snowflake-left{left:44px;top:260px;font-size:22px;animation-delay:.5s}
.minf-v154-snowflake-right{right:44px;top:248px;font-size:22px;animation-delay:1.1s}

.minf-v154-christmas-snow{
  position:fixed;
  inset:0;
  overflow:hidden;
  z-index:10;
}

.minf-v154-christmas-snow span{
  position:absolute;
  top:-10vh;
  color:rgba(255,255,255,.95);
  text-shadow:0 0 8px rgba(255,255,255,.65),0 1px 2px rgba(0,0,0,.12);
  animation:minfV154Snow linear infinite;
}

html[data-minf-seasonal="1"] body .footer::after,
body[data-minf-seasonal="1"] .footer::after{
  content:"🎄   🎁   ⭐   ❄   🎅";
  position:absolute;
  right:24px;
  bottom:20px;
  font-size:34px;
  letter-spacing:10px;
  opacity:.92;
  text-shadow:0 8px 18px rgba(0,0,0,.22);
  pointer-events:none;
}

@keyframes minfV154Twinkle{
  0%,100%{transform:translateX(-50%) scale(1);opacity:.92}
  50%{transform:translateX(-50%) scale(1.18);opacity:1}
}
@keyframes minfV154Float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
@keyframes minfV154Snow{
  0%{transform:translate3d(0,-8vh,0) rotate(0deg);opacity:0}
  10%{opacity:.9}
  100%{transform:translate3d(14px,115vh,0) rotate(360deg);opacity:.85}
}

@media (max-width: 991px){
  .minf-v154-header-lights{top:80px;height:28px}
  .minf-v154-star{top:94px;font-size:24px}
  .minf-v154-bell,.minf-v154-santa{top:124px;font-size:28px}
  .minf-v154-candy,.minf-v154-snowflake-left,.minf-v154-snowflake-right{display:none !important}
  .minf-v154-tree-left,.minf-v154-tree-right{font-size:44px;bottom:18px}
  .minf-v154-gift-left,.minf-v154-gift-right{font-size:26px;bottom:20px}
}

@media (max-width: 767px){
  .minf-v154-header-lights{top:72px}
  .minf-v154-star{display:none !important}
  .minf-v154-bell{left:8px;top:104px;font-size:24px}
  .minf-v154-santa{right:8px;top:104px;font-size:30px}
  .minf-v154-tree-left,.minf-v154-tree-right,.minf-v154-gift-left,.minf-v154-gift-right{display:none !important}
}

/* JS fallback menegakkan status tampil/hilang, termasuk bila CSS lama masih cache. */
/* MINF_PATCH_V154_CHRISTMAS_TOGGLE_CSS_END */
/* MINF_PATCH_V155_CHRISTMAS_FINAL_CSS_START */

/* Matikan semua ornament lama dari patch terdahulu. */
.minf-v151-christmas-decor,
.minf-v151-christmas-snow,
.minf-v153-christmas-decor,
.minf-v153-christmas-snow,
.minf-v154-christmas-decor,
.minf-v154-christmas-snow{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* Ornament v155 default mati. */
.minf-v155-christmas-decor,
.minf-v155-christmas-snow{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* Hanya tampil jika seasonal benar-benar aktif. */
html[data-minf-seasonal="1"] body .minf-v155-christmas-decor,
html[data-minf-seasonal="1"] body .minf-v155-christmas-snow,
body[data-minf-seasonal="1"] .minf-v155-christmas-decor,
body[data-minf-seasonal="1"] .minf-v155-christmas-snow{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* Saat seasonal aktif, semua toggle normal/dark hilang. */
html[data-minf-seasonal="1"] .theme-toggle,
body[data-minf-seasonal="1"] .theme-toggle{
  display:none !important;
  visibility:hidden !important;
}

/* Saat seasonal mati, paksa tidak ada ornament. */
html[data-minf-seasonal="0"] body .minf-v155-christmas-decor,
html[data-minf-seasonal="0"] body .minf-v155-christmas-snow,
body[data-minf-seasonal="0"] .minf-v155-christmas-decor,
body[data-minf-seasonal="0"] .minf-v155-christmas-snow{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
}

/* Aturan anti double toggle:
   Desktop hanya menampilkan desktop toggle.
   Mobile hanya menampilkan mobile toggle.
*/
@media (min-width: 901px){
  html[data-minf-seasonal="0"] .theme-toggle-desktop{display:inline-flex !important}
  html[data-minf-seasonal="0"] .theme-toggle-mobile{display:none !important}
}
@media (max-width: 900px){
  html[data-minf-seasonal="0"] .theme-toggle-desktop{display:none !important}
  html[data-minf-seasonal="0"] .theme-toggle-mobile{display:inline-flex !important}
}

/* Ornament style */
.minf-v155-christmas-decor{
  position:fixed;
  inset:0;
  z-index:12;
  pointer-events:none !important;
}
.minf-v155-christmas-snow{
  position:fixed;
  inset:0;
  overflow:hidden;
  z-index:10;
  pointer-events:none !important;
}
.minf-v155-header-lights{
  position:fixed;
  left:0;
  right:0;
  top:88px;
  height:34px;
  z-index:72;
}
.minf-v155-header-lights::before{
  content:"";
  position:absolute;
  left:-2%;
  right:-2%;
  top:12px;
  border-top:2px solid rgba(100,20,20,.45);
  border-radius:0 0 999px 999px;
}
.minf-v155-header-lights .bulb{
  position:absolute;
  top:9px;
  width:15px;
  height:15px;
  border-radius:50%;
  transform:translateX(-50%);
  box-shadow:0 0 0 2px rgba(255,255,255,.65),0 0 14px currentColor,0 0 28px currentColor;
  animation:minfV155Twinkle 2.8s ease-in-out infinite;
}
.minf-v155-header-lights .bulb::before{
  content:"";
  position:absolute;
  left:4px;
  top:-5px;
  width:7px;
  height:7px;
  border-radius:3px 3px 0 0;
  background:#355f2d;
}
.minf-v155-header-lights .b1{left:4%;color:#e53935;background:#e53935;animation-delay:.1s}
.minf-v155-header-lights .b2{left:12%;color:#2e7d32;background:#2e7d32;animation-delay:.6s}
.minf-v155-header-lights .b3{left:20%;color:#fbc02d;background:#fbc02d;animation-delay:1.1s}
.minf-v155-header-lights .b4{left:28%;color:#f44336;background:#f44336;animation-delay:1.6s}
.minf-v155-header-lights .b5{left:36%;color:#1b9e77;background:#1b9e77;animation-delay:.8s}
.minf-v155-header-lights .b6{left:44%;color:#ffb300;background:#ffb300;animation-delay:1.7s}
.minf-v155-header-lights .b7{left:52%;color:#d32f2f;background:#d32f2f;animation-delay:.3s}
.minf-v155-header-lights .b8{left:60%;color:#2e7d32;background:#2e7d32;animation-delay:2.1s}
.minf-v155-header-lights .b9{left:68%;color:#fbc02d;background:#fbc02d;animation-delay:1.3s}
.minf-v155-header-lights .b10{left:76%;color:#c62828;background:#c62828;animation-delay:.4s}
.minf-v155-header-lights .b11{left:84%;color:#1b9e77;background:#1b9e77;animation-delay:1.4s}
.minf-v155-header-lights .b12{left:92%;color:#ffca28;background:#ffca28;animation-delay:2.4s}
.minf-v155-orn{
  position:fixed;
  z-index:18;
  line-height:1;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.18));
  opacity:.92;
  animation:minfV155Float 4.6s ease-in-out infinite;
}
.minf-v155-star{top:112px;left:50%;transform:translateX(-50%);font-size:30px;animation-delay:.3s}
.minf-v155-bell{top:152px;left:16px;font-size:34px;animation-delay:1.3s}
.minf-v155-santa{top:146px;right:18px;font-size:44px;animation-delay:.9s}
.minf-v155-tree-left{left:18px;bottom:38px;font-size:68px;animation-delay:1.8s;opacity:.88}
.minf-v155-tree-right{right:24px;bottom:44px;font-size:64px;animation-delay:.7s;opacity:.88}
.minf-v155-gift-left{left:98px;bottom:34px;font-size:36px;animation-delay:2.2s}
.minf-v155-gift-right{right:102px;bottom:34px;font-size:36px;animation-delay:1.4s}
.minf-v155-candy{left:78px;top:208px;font-size:26px;animation-delay:.2s}
.minf-v155-snowflake-left{left:44px;top:260px;font-size:22px;animation-delay:.5s}
.minf-v155-snowflake-right{right:44px;top:248px;font-size:22px;animation-delay:1.1s}
.minf-v155-christmas-snow span{
  position:absolute;
  top:-10vh;
  color:rgba(255,255,255,.95);
  text-shadow:0 0 8px rgba(255,255,255,.65),0 1px 2px rgba(0,0,0,.12);
  animation:minfV155Snow linear infinite;
}
html[data-minf-seasonal="1"] body .footer::after,
body[data-minf-seasonal="1"] .footer::after{
  content:"🎄   🎁   ⭐   ❄   🎅";
  position:absolute;
  right:24px;
  bottom:20px;
  font-size:34px;
  letter-spacing:10px;
  opacity:.92;
  text-shadow:0 8px 18px rgba(0,0,0,.22);
  pointer-events:none;
}
@keyframes minfV155Twinkle{
  0%,100%{transform:translateX(-50%) scale(1);opacity:.92}
  50%{transform:translateX(-50%) scale(1.18);opacity:1}
}
@keyframes minfV155Float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
@keyframes minfV155Snow{
  0%{transform:translate3d(0,-8vh,0) rotate(0deg);opacity:0}
  10%{opacity:.9}
  100%{transform:translate3d(14px,115vh,0) rotate(360deg);opacity:.85}
}
@media (max-width:991px){
  .minf-v155-header-lights{top:80px;height:28px}
  .minf-v155-star{top:94px;font-size:24px}
  .minf-v155-bell,.minf-v155-santa{top:124px;font-size:28px}
  .minf-v155-candy,.minf-v155-snowflake-left,.minf-v155-snowflake-right{display:none !important}
  .minf-v155-tree-left,.minf-v155-tree-right{font-size:44px;bottom:18px}
  .minf-v155-gift-left,.minf-v155-gift-right{font-size:26px;bottom:20px}
}
@media (max-width:767px){
  .minf-v155-header-lights{top:72px}
  .minf-v155-star{display:none !important}
  .minf-v155-bell{left:8px;top:104px;font-size:24px}
  .minf-v155-santa{right:8px;top:104px;font-size:30px}
  .minf-v155-tree-left,.minf-v155-tree-right,.minf-v155-gift-left,.minf-v155-gift-right{display:none !important}
}
/* MINF_PATCH_V155_CHRISTMAS_FINAL_CSS_END */









/* MINF_PATCH_V161_RI_HARD_FORCE_CSS_START */

/* Class ini dipasang oleh PHP/JS hanya saat mode Kemerdekaan aktif */
html.minf-ri-v161,
html.minf-ri-v161 body {
  background:
    radial-gradient(circle at 8% 12%, rgba(198,27,36,.08) 0 85px, transparent 88px),
    radial-gradient(circle at 92% 16%, rgba(212,160,23,.12) 0 90px, transparent 94px),
    linear-gradient(180deg,#fffdfb 0%,#fff5f1 54%,#ffffff 100%) !important;
  color:#3c2b2d !important;
}

/* Jangan hide body/html walau class lama mengandung christmas. Target hanya node dekorasi. */
html.minf-ri-v161 .minf-v151-christmas-decor,
html.minf-ri-v161 .minf-v151-christmas-snow,
html.minf-ri-v161 .minf-v153-christmas-decor,
html.minf-ri-v161 .minf-v153-christmas-snow,
html.minf-ri-v161 .minf-v154-christmas-decor,
html.minf-ri-v161 .minf-v154-christmas-snow,
html.minf-ri-v161 .minf-v155-christmas-decor,
html.minf-ri-v161 .minf-v155-christmas-snow,
html.minf-ri-v161 .minf-v156-independence-decor,
html.minf-ri-v161 .minf-v159-independence-decor,
html.minf-ri-v161 [id*="christmas-ornament"],
html.minf-ri-v161 [id*="christmas-toggle"],
html.minf-ri-v161 [id*="christmas-final"],
html.minf-ri-v161 [class*="christmas-decor"],
html.minf-ri-v161 [class*="christmas-snow"] {
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* Header dipaksa merah, semua anak header tidak boleh menutup dengan biru */
html.minf-ri-v161 header,
html.minf-ri-v161 .header,
html.minf-ri-v161 .site-header,
html.minf-ri-v161 .main-header,
html.minf-ri-v161 body > header {
  background:
    linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0)),
    linear-gradient(90deg,#8e1218 0%,#c61b24 52%,#8e1218 100%) !important;
  border-bottom:4px solid #d4a017 !important;
  box-shadow:0 14px 34px rgba(93,13,17,.22) !important;
}

html.minf-ri-v161 header::after,
html.minf-ri-v161 .header::after,
html.minf-ri-v161 .site-header::after {
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:-13px !important;
  height:13px !important;
  background:repeating-linear-gradient(90deg,#c61b24 0 42px,#fff 42px 84px) !important;
  opacity:1 !important;
  filter:none !important;
}

html.minf-ri-v161 .navbar,
html.minf-ri-v161 .nav,
html.minf-ri-v161 .nav-shell,
html.minf-ri-v161 .nav-wrap,
html.minf-ri-v161 .header-inner,
html.minf-ri-v161 .nav-container {
  background:transparent !important;
  border-color:rgba(255,255,255,.28) !important;
  box-shadow:none !important;
}

html.minf-ri-v161 .navlinks a,
html.minf-ri-v161 .nav-dropdown-trigger {
  color:#fff !important;
  background:transparent !important;
  text-shadow:0 1px 1px rgba(93,13,17,.30) !important;
}

html.minf-ri-v161 .navlinks a:hover,
html.minf-ri-v161 .navlinks a.active,
html.minf-ri-v161 .nav-dropdown.active .nav-dropdown-trigger {
  background:rgba(255,255,255,.16) !important;
  color:#fffaf5 !important;
}

/* Button PMB */
html.minf-ri-v161 .btn-primary,
html.minf-ri-v161 a.btn-primary,
html.minf-ri-v161 a[href*="pmb.uajy.ac.id"] {
  background:linear-gradient(135deg,#ffefe3 0%,#d4a017 45%,#f5b014 100%) !important;
  color:#7a0f16 !important;
  border:1px solid rgba(255,255,255,.72) !important;
  box-shadow:0 14px 28px rgba(93,13,17,.20) !important;
  text-shadow:none !important;
}

/* Hero dan teks */
html.minf-ri-v161 .hero,
html.minf-ri-v161 .page-hero,
html.minf-ri-v161 main {
  background:
    radial-gradient(circle at 8% 12%, rgba(198,27,36,.08) 0 82px, transparent 86px),
    linear-gradient(180deg,#fffdfb 0%,#fff5f1 55%,#fff 100%) !important;
}

html.minf-ri-v161 .hero h1,
html.minf-ri-v161 .page-hero h1,
html.minf-ri-v161 h1,
html.minf-ri-v161 h2,
html.minf-ri-v161 h3 {
  color:#7c1116 !important;
}

html.minf-ri-v161 .hero h1 span,
html.minf-ri-v161 .hero-title span,
html.minf-ri-v161 .display-title span,
html.minf-ri-v161 h1 span,
html.minf-ri-v161 .text-green,
html.minf-ri-v161 .brand-green,
html.minf-ri-v161 [class*="green"] {
  color:#c61b24 !important;
}

html.minf-ri-v161 p,
html.minf-ri-v161 li,
html.minf-ri-v161 .lead,
html.minf-ri-v161 .muted {
  color:#46484f !important;
}

html.minf-ri-v161 .card,
html.minf-ri-v161 [class*="-card"],
html.minf-ri-v161 .panel,
html.minf-ri-v161 .feature {
  background:linear-gradient(180deg,#fff 0%,#fff9f7 100%) !important;
  border-color:rgba(198,27,36,.16) !important;
  box-shadow:0 16px 42px rgba(120,17,22,.12) !important;
}

/* Footer dipaksa merah; pseudo Natal dimatikan */
html.minf-ri-v161 footer,
html.minf-ri-v161 .footer,
html.minf-ri-v161 .site-footer {
  background:
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0)),
    linear-gradient(90deg,#8e1218 0%,#c61b24 58%,#a7131a 100%) !important;
  color:#fff !important;
  border-top:4px solid #d4a017 !important;
  box-shadow:inset 0 10px 0 rgba(255,255,255,.08) !important;
}

html.minf-ri-v161 footer::before,
html.minf-ri-v161 footer::after,
html.minf-ri-v161 .footer::before,
html.minf-ri-v161 .footer::after {
  content:none !important;
  display:none !important;
  background:none !important;
}

html.minf-ri-v161 footer *,
html.minf-ri-v161 .footer *,
html.minf-ri-v161 .site-footer * {
  color:#fff !important;
  text-shadow:none !important;
}

html.minf-ri-v161 .theme-toggle {
  display:none !important;
}

/* Dekorasi RI */
.minf-ri-v161-decor {
  position:fixed;
  inset:0;
  z-index:12;
  pointer-events:none !important;
}

.minf-ri-v161-bunting {
  position:fixed;
  top:94px;
  left:0;
  right:0;
  height:54px;
  display:flex;
  justify-content:space-around;
  padding:0 4vw;
  z-index:14;
  pointer-events:none !important;
}

.minf-ri-v161-bunting::before {
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:3px;
  height:3px;
  background:#d4a017;
  box-shadow:0 6px 16px rgba(93,13,17,.18);
}

.minf-ri-v161-bunting span {
  position:relative;
  display:block;
  width:0;
  height:0;
  margin-top:5px;
  border-left:16px solid transparent;
  border-right:16px solid transparent;
  border-top:34px solid #c61b24;
  filter:drop-shadow(0 8px 10px rgba(93,13,17,.22));
}

.minf-ri-v161-bunting span:nth-child(even) {
  border-top-color:#fff;
}

.minf-ri-v161-icon {
  position:fixed;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  pointer-events:none !important;
  filter:drop-shadow(0 10px 16px rgba(93,13,17,.18));
}

.minf-ri-v161-flag-left {
  left:14px;
  top:170px;
  width:62px;
  height:62px;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20120%20120'%3E%20%3Crect%20width='120'%20height='120'%20fill='none'/%3E%20%3Crect%20x='20'%20y='12'%20width='7'%20height='96'%20rx='3'%20fill='#8b6b3f'/%3E%20%3Cpath%20d='M29%2022%20C51%2011%2074%2013%2098%2021%20L98%2060%20C74%2051%2051%2049%2029%2062%20Z'%20fill='#d61f26'%20stroke='#8f1118'%20stroke-width='2'/%3E%20%3Cpath%20d='M29%2042%20C51%2031%2074%2033%2098%2041%20L98%2060%20C74%2051%2051%2049%2029%2062%20Z'%20fill='#fff'%20stroke='#d7d7d7'%20stroke-width='1.5'/%3E%20%3C/svg%3E");
  transform:rotate(-6deg);
}

.minf-ri-v161-flag-right {
  right:14px;
  top:170px;
  width:62px;
  height:62px;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20120%20120'%3E%20%3Crect%20width='120'%20height='120'%20fill='none'/%3E%20%3Crect%20x='20'%20y='12'%20width='7'%20height='96'%20rx='3'%20fill='#8b6b3f'/%3E%20%3Cpath%20d='M29%2022%20C51%2011%2074%2013%2098%2021%20L98%2060%20C74%2051%2051%2049%2029%2062%20Z'%20fill='#d61f26'%20stroke='#8f1118'%20stroke-width='2'/%3E%20%3Cpath%20d='M29%2042%20C51%2031%2074%2033%2098%2041%20L98%2060%20C74%2051%2051%2049%2029%2062%20Z'%20fill='#fff'%20stroke='#d7d7d7'%20stroke-width='1.5'/%3E%20%3C/svg%3E");
  transform:scaleX(-1) rotate(-6deg);
}

.minf-ri-v161-monas {
  left:16px;
  bottom:96px;
  width:72px;
  height:144px;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20120%20220'%3E%20%3Crect%20width='120'%20height='220'%20fill='none'/%3E%20%3Cpath%20d='M60%209%20L73%2037%20L60%2047%20L47%2037%20Z'%20fill='#d4a017'%20stroke='#8d5f00'%20stroke-width='2'/%3E%20%3Cpath%20d='M43%2050%20L77%2050%20L72%20194%20L48%20194%20Z'%20fill='#ead9ca'%20stroke='#9a5633'%20stroke-width='4'/%3E%20%3Cpath%20d='M32%20194%20L88%20194%20L100%20212%20L20%20212%20Z'%20fill='#d9c0ad'%20stroke='#9a5633'%20stroke-width='4'/%3E%20%3Cpath%20d='M23%20212%20L97%20212%20L105%20220%20L15%20220%20Z'%20fill='#c8ac95'%20stroke='#9a5633'%20stroke-width='4'/%3E%20%3C/svg%3E");
}

.minf-ri-v161-calendar {
  right:20px;
  bottom:126px;
  width:92px;
  height:92px;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20150%20150'%3E%20%3Crect%20x='18'%20y='28'%20width='114'%20height='102'%20rx='14'%20fill='#fff'%20stroke='#8a1e24'%20stroke-width='6'/%3E%20%3Cpath%20d='M32%2028%20H118%20A14%2014%200%200%201%20132%2042%20V60%20H18%20V42%20A14%2014%200%200%201%2032%2028Z'%20fill='#d61f26'/%3E%20%3Ccircle%20cx='48'%20cy='28'%20r='8'%20fill='#8a1e24'/%3E%3Ccircle%20cx='102'%20cy='28'%20r='8'%20fill='#8a1e24'/%3E%20%3Crect%20x='43'%20y='14'%20width='8'%20height='28'%20rx='4'%20fill='#8a1e24'/%3E%3Crect%20x='98'%20y='14'%20width='8'%20height='28'%20rx='4'%20fill='#8a1e24'/%3E%20%3Ctext%20x='75'%20y='94'%20font-size='54'%20font-family='Arial,%20sans-serif'%20text-anchor='middle'%20fill='#8a1e24'%20font-weight='800'%3E17%3C/text%3E%20%3Ctext%20x='75'%20y='118'%20font-size='16'%20font-family='Arial,%20sans-serif'%20text-anchor='middle'%20fill='#d61f26'%20font-weight='800'%3EAGUSTUS%3C/text%3E%20%3C/svg%3E");
}

.minf-ri-v161-badge {
  right:118px;
  bottom:112px;
  width:76px;
  height:76px;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20128%20128'%3E%20%3Ccircle%20cx='64'%20cy='64'%20r='55'%20fill='#fff4c4'%20stroke='#d4a017'%20stroke-width='6'/%3E%20%3Ccircle%20cx='64'%20cy='64'%20r='43'%20fill='#fff'%20stroke='#d61f26'%20stroke-width='4'/%3E%20%3Cpath%20d='M34%2064%20H94'%20stroke='#d61f26'%20stroke-width='8'/%3E%20%3Ctext%20x='64'%20y='52'%20font-size='14'%20font-family='Arial,%20sans-serif'%20text-anchor='middle'%20fill='#8a1e24'%20font-weight='800'%3EDIRGAHAYU%3C/text%3E%20%3Ctext%20x='64'%20y='85'%20font-size='28'%20font-family='Arial,%20sans-serif'%20text-anchor='middle'%20fill='#8a1e24'%20font-weight='900'%3ERI%3C/text%3E%20%3C/svg%3E");
}

@media (max-width:991px){
  .minf-ri-v161-bunting{top:82px;height:46px}
  .minf-ri-v161-bunting span{border-left-width:11px;border-right-width:11px;border-top-width:24px}
  .minf-ri-v161-flag-left,.minf-ri-v161-flag-right{top:134px;width:46px;height:46px}
  .minf-ri-v161-monas{width:54px;height:108px;bottom:76px}
  .minf-ri-v161-calendar{width:70px;height:70px;bottom:92px}
  .minf-ri-v161-badge{width:58px;height:58px;right:92px;bottom:88px}
}
@media (max-width:767px){
  .minf-ri-v161-bunting{top:72px;height:34px}
  .minf-ri-v161-bunting span{border-left-width:8px;border-right-width:8px;border-top-width:18px}
  .minf-ri-v161-monas,.minf-ri-v161-calendar,.minf-ri-v161-badge{display:none !important}
  .minf-ri-v161-flag-left,.minf-ri-v161-flag-right{top:104px;width:38px;height:38px}
}
/* MINF_PATCH_V161_RI_HARD_FORCE_CSS_END */
