:root{
  --fti-blue:#0b4ea2;
  --fti-blue-2:#1268d6;
  --fti-navy:#061a33;
  --fti-red:#d8222a;
  --fti-gold:#f6b21a;
  --fti-cyan:#21b7d8;
  --fti-soft:#f4f8fc;
  --fti-muted:#687487;
  --fti-border:rgba(15,23,42,.08);
  --fti-shadow:0 22px 55px rgba(6,26,51,.14);
  --fti-shadow-soft:0 12px 32px rgba(6,26,51,.10);
}
*{box-sizing:border-box}
body{font-family:'Source Sans 3',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:radial-gradient(circle at top left,rgba(11,78,162,.10),transparent 32%),linear-gradient(180deg,#f7fbff 0%,#eef5fb 52%,#ffffff 100%);color:#14213d;overflow-x:hidden}
a{transition:.2s ease}.fw-black{font-weight:900}.text-muted{color:var(--fti-muted)!important}
.fti-topbar{background:linear-gradient(90deg,var(--fti-navy),var(--fti-blue));color:#d9ecff;font-size:.92rem}.fti-topbar a{color:#fff;text-decoration:none}.fti-topbar i{color:var(--fti-gold)}
.fti-navbar{position:sticky;top:0;z-index:1030;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);box-shadow:0 12px 28px rgba(6,26,51,.08);border-bottom:1px solid rgba(255,255,255,.55)}
.fti-brand{min-height:78px}.fti-brand span{line-height:1.08;letter-spacing:-.02em}.fti-brand small{font-weight:800;color:var(--fti-blue);letter-spacing:.02em}.fti-brand-mark,.footer-mark{width:62px;height:62px;border-radius:18px;background:linear-gradient(135deg,var(--fti-blue),var(--fti-cyan));display:grid;place-items:center;color:#fff;box-shadow:0 14px 30px rgba(11,78,162,.24)}
.fti-site-logo{width:78px;height:78px;object-fit:contain;border-radius:18px;background:#fff;padding:7px;border:1px solid var(--fti-border);box-shadow:0 12px 28px rgba(15,23,42,.12)}
.fti-navbar .nav-link{font-weight:800;color:#172033;border-radius:999px;padding:.62rem .88rem!important}.fti-navbar .nav-link:hover,.fti-navbar .nav-link:focus{background:#eff6ff;color:var(--fti-blue)}
.btn-fti{border:0;border-radius:999px;background:linear-gradient(135deg,var(--fti-blue),var(--fti-blue-2));color:#fff!important;font-weight:900;box-shadow:0 14px 28px rgba(11,78,162,.24);padding:.72rem 1.15rem}.btn-fti:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(11,78,162,.30)}
.btn-fti-outline{border:2px solid rgba(255,255,255,.65);border-radius:999px;color:#fff!important;background:rgba(255,255,255,.08);font-weight:900;padding:.65rem 1.1rem;backdrop-filter:blur(8px)}.btn-fti-outline:hover{background:#fff;color:var(--fti-blue)!important}
.fti-hero-slider{
  position:relative;
  width:100%;
  height:clamp(520px,calc(100dvh - 174px),820px);
  min-height:520px;
  overflow:hidden;
  isolation:isolate;
  background:var(--fti-navy);
}
.fti-hero-track,
.fti-hero-slide{position:absolute;inset:0}
.fti-hero-track:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  z-index:2;
  height:28%;
  pointer-events:none;
  background:linear-gradient(0deg,rgba(2,12,28,.5),transparent);
}
.fti-hero-slide{
  margin:0;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity 1.05s cubic-bezier(.16,1,.3,1),visibility 1.05s step-end;
}
.fti-hero-slide.is-active{
  z-index:1;
  opacity:1;
  visibility:visible;
  transition:opacity 1.05s cubic-bezier(.16,1,.3,1),visibility 0s step-start;
}
.fti-hero-slide img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  transform:scale(1.045);
  transition:transform 7s cubic-bezier(.16,1,.3,1);
}
.fti-hero-slide.is-active img{transform:scale(1)}
.fti-hero-slider:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(3,17,38,.9) 0%,rgba(3,17,38,.68) 42%,rgba(3,17,38,.14) 76%,transparent 100%);
}
.fti-hero-overlay{
  position:absolute;
  inset:0;
  z-index:3;
  display:flex;
  align-items:center;
  color:#fff;
  pointer-events:none;
}
.fti-hero-overlay>.container{position:relative;height:100%}
.fti-hero-copy{
  position:absolute;
  left:12px;
  top:50%;
  width:min(720px,68%);
  padding:22px 0 90px;
  opacity:0;
  visibility:hidden;
  transform:translate3d(-22px,-47%,0);
  transition:opacity .42s ease,transform .68s cubic-bezier(.16,1,.3,1),visibility .42s step-end;
  pointer-events:none;
}
.fti-hero-copy.is-active{
  opacity:1;
  visibility:visible;
  transform:translate3d(0,-50%,0);
  transition:opacity .58s ease .18s,transform .82s cubic-bezier(.16,1,.3,1) .12s,visibility 0s step-start;
  pointer-events:auto;
}
.hero-badge{
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  padding:.62rem .95rem;
  border-radius:999px;
  background:rgba(7,34,68,.76);
  border:1px solid rgba(255,255,255,.32);
  color:#fff;
  font-weight:900;
  box-shadow:0 4px 8px rgba(2,12,28,.18);
  backdrop-filter:blur(10px);
}
.hero-badge i{color:var(--fti-gold)}
.fti-hero-copy h1{
  max-width:700px;
  margin:20px 0 14px;
  color:#fff;
  font-size:clamp(3rem,6.2vw,5.8rem);
  font-weight:1000;
  line-height:.92;
  letter-spacing:-.035em;
  text-wrap:balance;
  text-shadow:0 4px 8px rgba(2,12,28,.42);
}
.fti-hero-copy p{
  max-width:640px;
  margin:0;
  color:#f2f7ff;
  font-size:clamp(1.05rem,1.55vw,1.25rem);
  font-weight:650;
  line-height:1.55;
  text-wrap:pretty;
  text-shadow:0 2px 5px rgba(2,12,28,.48);
}
.fti-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;pointer-events:auto}
.fti-hero-actions .btn{white-space:nowrap;transition:transform .28s cubic-bezier(.16,1,.3,1),background-color .28s ease,box-shadow .28s ease}
.fti-hero-actions .btn:active{transform:scale(.97)}
@media(prefers-reduced-motion:no-preference){
  .fti-hero-copy.is-active>*{animation:ftiHeroCopyEnter .72s cubic-bezier(.16,1,.3,1) both}
  .fti-hero-copy.is-active>h1{animation-delay:.08s}
  .fti-hero-copy.is-active>p{animation-delay:.16s}
  .fti-hero-copy.is-active>.fti-hero-actions{animation-delay:.24s}
}
@keyframes ftiHeroCopyEnter{
  from{opacity:0;transform:translateY(22px)}
  to{opacity:1;transform:translateY(0)}
}
.fti-hero-controls{
  position:absolute;
  left:50%;
  bottom:30px;
  z-index:4;
  display:flex;
  align-items:center;
  min-height:34px;
  max-width:calc(100% - 32px);
  padding:3px 8px;
  transform:translateX(-50%);
  border:1px solid rgba(255,255,255,.3);
  border-radius:999px;
  background:rgba(4,21,45,.74);
  box-shadow:0 4px 8px rgba(2,12,28,.2);
  backdrop-filter:blur(14px) saturate(135%);
}
.fti-hero-progress{
  border:0;
  color:#fff;
  background:transparent;
}
.fti-hero-pagination{display:flex;align-items:center;gap:2px}
.fti-hero-progress{
  width:25px;
  height:28px;
  padding:0 3px;
  display:grid;
  place-items:center;
}
.fti-hero-progress span{
  width:100%;
  height:3px;
  display:block;
  border-radius:999px;
  background:rgba(255,255,255,.42);
  transform:scaleX(.72);
  transition:background-color .3s ease,transform .3s cubic-bezier(.16,1,.3,1);
}
.fti-hero-progress:hover span{background:rgba(255,255,255,.82)}
.fti-hero-progress.is-active span{background:var(--fti-gold);transform:scaleX(1)}
.fti-hero-progress:focus-visible{outline:3px solid #fff;outline-offset:2px}
.stat-band{background:linear-gradient(135deg,var(--fti-blue),#031f3f);color:#fff;border-radius:32px;box-shadow:var(--fti-shadow);margin-top:-62px;position:relative;z-index:5;overflow:hidden}.stat-band:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(246,178,26,.28),transparent 28%)}.stat-item{position:relative}.stat-item b{font-size:2.25rem;display:block;font-weight:1000}.stat-item span{color:#cfe5ff;font-weight:700}.stat-item i{filter:drop-shadow(0 8px 16px rgba(0,0,0,.16))}
.fti-hero-slider+.pb-5{padding-top:24px}
.fti-hero-slider+.pb-5 .stat-band{margin-top:0}
.section-title{font-weight:1000;color:#0f2845;letter-spacing:-.035em}.section-kicker{display:inline-flex;gap:.55rem;align-items:center;color:var(--fti-blue);font-weight:1000;text-transform:uppercase;letter-spacing:.09em;font-size:.82rem}.section-kicker:before{content:'';width:36px;height:4px;background:linear-gradient(90deg,var(--fti-gold),var(--fti-red));border-radius:4px}.feature-strip{background:linear-gradient(180deg,#f4f8fc,#fff)}
.info-card,.quick-card{border:1px solid rgba(255,255,255,.9);border-radius:26px;box-shadow:var(--fti-shadow-soft);transition:.25s ease;height:100%;overflow:hidden;background:rgba(255,255,255,.95)}.info-card:hover,.quick-card:hover{transform:translateY(-7px);box-shadow:var(--fti-shadow)}.program-card{position:relative}.program-card:before{content:'';position:absolute;right:-48px;top:-48px;width:150px;height:150px;background:rgba(11,78,162,.09);border-radius:50%}.program-card:after{content:'';position:absolute;left:0;top:0;width:100%;height:5px;background:linear-gradient(90deg,var(--fti-blue),var(--fti-gold),var(--fti-red))}
.icon-bubble{width:60px;height:60px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,#eaf4ff,#fff7df);color:var(--fti-blue);font-size:1.85rem;box-shadow:inset 0 0 0 1px rgba(11,78,162,.08)}.badge-soft{background:#eaf4ff;color:var(--fti-blue);border-radius:999px;padding:.45rem .72rem;font-weight:900}.news-thumb{height:190px;background:linear-gradient(135deg,var(--fti-blue),var(--fti-cyan));display:grid;place-items:center;color:#fff;font-size:3.2rem;position:relative;overflow:hidden}.news-thumb:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-55px;top:-55px;background:rgba(255,255,255,.16)}.news-thumb.gold{background:linear-gradient(135deg,var(--fti-gold),#ff7f50)}.news-thumb.red{background:linear-gradient(135deg,var(--fti-red),#7b1e3b)}
.date-chip{background:#eef6ff;color:var(--fti-blue);border-radius:16px;padding:.58rem .8rem;min-width:72px;text-align:center;font-weight:1000}.date-chip span{display:block;font-size:.73rem;color:#6b778c}.date-chip small{display:block;margin-top:.16rem;font-size:.65rem;line-height:1;color:#49627d;font-weight:900;letter-spacing:.04em}.announcement-link{color:inherit;text-decoration:none;display:block;border-radius:18px;padding:8px}.announcement-link:hover{background:#f3f8ff;color:var(--fti-blue)}
.agenda-card{background:linear-gradient(180deg,#fff,#f8fbff)}.agenda-item{border-bottom:1px solid var(--fti-border)}.agenda-item:last-child{border-bottom:0}.agenda-date{width:74px;min-width:74px;border-radius:20px;background:linear-gradient(135deg,var(--fti-blue),var(--fti-blue-2));color:#fff;text-align:center;padding:.7rem .45rem;box-shadow:0 12px 24px rgba(11,78,162,.22)}.agenda-date b{font-size:1.55rem;display:block;line-height:1}.agenda-date span{font-size:.72rem;font-weight:900;text-transform:uppercase;color:#dceeff}.agenda-date small{display:block;margin-top:.18rem;font-size:.64rem;line-height:1;color:#fff;font-weight:850;letter-spacing:.04em}.agenda-empty{border:1px dashed rgba(11,78,162,.25);background:#f5faff;border-radius:18px}
.fti-footer{background:linear-gradient(135deg,#041b33,#061a33 55%,#0b3465);color:#cfe5ff;position:relative;overflow:hidden}.fti-footer:before{content:"";position:absolute;right:-80px;top:-100px;width:260px;height:260px;border-radius:50%;background:rgba(246,178,26,.16)}.fti-footer h5{color:#fff;font-weight:1000}.fti-footer a{display:block;color:#cfe5ff;text-decoration:none;margin:.38rem 0}.fti-footer a:hover{color:#fff;transform:translateX(3px)}.fti-footer .btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin:0}
.page-hero{background:linear-gradient(135deg,rgba(6,26,51,.96),rgba(11,78,162,.88)),radial-gradient(circle at 85% 0,rgba(246,178,26,.35),transparent 28%);color:#fff;padding:95px 0 60px;position:relative;overflow:hidden}.page-hero:after{content:'';position:absolute;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.08);right:-70px;top:-90px}.form-control,.form-select{border-radius:14px;border:1px solid #d6e4f2;padding:.78rem 1rem}.form-control:focus,.form-select:focus{border-color:var(--fti-blue-2);box-shadow:0 0 0 .2rem rgba(7,90,163,.15)}.table-responsive{border-radius:18px;box-shadow:0 10px 25px rgba(9,30,66,.08)}
.reveal{opacity:1}.article-content img{max-width:100%;height:auto;border-radius:18px;margin:12px 0}.article-content table{width:100%;display:block;overflow-x:auto}.related-news-link{display:block;padding:12px 0;border-bottom:1px solid rgba(15,23,42,.08);color:inherit;text-decoration:none}.related-news-link:hover{color:#0b4ea2}
.fti-dropdown{min-width:320px;padding:12px;border:0;border-radius:20px;box-shadow:0 22px 55px rgba(6,26,51,.18)}.fti-dropdown .dropdown-item{border-radius:14px;padding:11px 14px;font-weight:800;color:#123;text-align:center;white-space:normal}.fti-dropdown .dropdown-item:hover{background:#eff6ff;color:#0b4ea2}.profile-icon{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,#0b4ea2,#2563eb);color:#fff;font-size:32px;box-shadow:0 18px 40px rgba(11,78,162,.22)}.profile-content h3{font-weight:900;margin-top:1.5rem}.profile-side-menu{display:grid;gap:8px}.profile-side-menu a{padding:12px 14px;border-radius:14px;background:#f8fafc;color:#0f172a;text-decoration:none;font-weight:800;border:1px solid rgba(15,23,42,.07)}.profile-side-menu a:hover,.profile-side-menu a.active{background:#0b4ea2;color:#fff}.profile-attachment{padding:18px;border:1px solid rgba(15,23,42,.08);border-radius:22px;background:#f8fafc}.profile-attachment img{max-height:620px;object-fit:contain;background:#fff}
@media (min-width:992px){.fti-navbar,.fti-navbar .container,.fti-navbar .navbar-collapse,.fti-navbar .navbar-nav{overflow:visible!important}.fti-navbar .navbar-nav .profil-dropdown{position:relative!important}.fti-navbar .navbar-nav .profil-dropdown>.dropdown-menu.fti-dropdown{position:absolute!important;top:100%!important;left:50%!important;right:auto!important;transform:translateX(-50%) translateY(10px)!important;display:block!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;z-index:99999!important}.fti-navbar .navbar-nav .profil-dropdown:hover>.dropdown-menu.fti-dropdown,.fti-navbar .navbar-nav .profil-dropdown:focus-within>.dropdown-menu.fti-dropdown,.fti-navbar .navbar-nav .profil-dropdown.show>.dropdown-menu.fti-dropdown,.fti-navbar .navbar-nav .profil-dropdown>.dropdown-menu.fti-dropdown.show{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateX(-50%) translateY(0)!important}.fti-navbar .navbar-nav .profil-dropdown>.dropdown-menu.fti-dropdown:before{content:"";position:absolute;top:-14px;left:0;right:0;height:18px}}
@media(max-width:991.98px){.stat-band{margin-top:-35px}.navbar .nav-link{padding:.7rem}.fti-navbar .navbar-nav .profil-dropdown>.dropdown-menu.fti-dropdown{position:static!important;transform:none!important;width:100%!important;min-width:100%!important;box-shadow:none!important;border:1px solid var(--fti-border)!important}.fti-brand{min-height:64px}.fti-site-logo{width:60px;height:60px}.fti-brand span{font-size:.92rem;line-height:1.1}}
@media(max-width:575.98px){.stat-item b{font-size:1.7rem}.info-card .card-body{padding:1.25rem!important}.agenda-date{width:64px;min-width:64px}.fti-topbar{display:none!important}}

@media(max-width:991.98px){
  .fti-hero-slider{height:clamp(540px,72dvh,700px);min-height:540px}
  .fti-hero-copy{left:12px;width:min(680px,84%);padding:24px 0 88px}
  .fti-hero-copy h1{font-size:clamp(3rem,9vw,4.8rem)}
  .fti-hero-controls{bottom:24px}
  .fti-hero-progress{width:22px}
}
@media(max-width:575.98px){
  .fti-hero-slider{height:clamp(570px,78dvh,650px);min-height:570px}
  .fti-hero-slider:before{background:linear-gradient(90deg,rgba(3,17,38,.9),rgba(3,17,38,.58)),linear-gradient(0deg,rgba(3,17,38,.62),transparent 52%)}
  .fti-hero-slide img{object-position:center center}
  .fti-hero-copy{left:12px;width:calc(100% - 24px);padding:24px 0 82px}
  .hero-badge{font-size:.85rem;padding:.55rem .78rem}
  .fti-hero-copy h1{margin:16px 0 12px;font-size:clamp(2.45rem,12vw,3.15rem);line-height:.94}
  .fti-hero-copy p{font-size:1rem;line-height:1.46}
  .fti-hero-actions{gap:9px;margin-top:20px}
  .fti-hero-actions .btn{font-size:.9rem;padding:.68rem .9rem}
  .fti-hero-controls{bottom:18px;min-height:32px;padding:2px 7px}
  .fti-hero-progress{width:19px;height:28px;padding:0 3px}
}
@media(prefers-reduced-transparency:reduce){
  .fti-hero-controls{background:#04152d;backdrop-filter:none}
}

/* Pengumuman beranda: jumlah kartu mengikuti data yang tersedia */
.announcement-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.announcement-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:18px}
.announcement-card{min-height:250px;display:flex;flex-direction:column;padding:24px;border:1px solid rgba(11,78,162,.14);border-radius:16px;background:#fff;transition:border-color .25s ease,transform .35s cubic-bezier(.16,1,.3,1)}
.announcement-card:hover{border-color:rgba(11,78,162,.48);transform:translateY(-5px)}
.announcement-card-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}
.announcement-card-meta time{width:58px;height:58px;display:grid;place-content:center;text-align:center;border-radius:14px;background:var(--fti-blue);color:#fff;line-height:1}
.announcement-card-meta time b{font-size:1.3rem}.announcement-card-meta time span{margin-top:4px;font-size:.67rem;font-weight:900;letter-spacing:.08em}
.announcement-card-meta>span{color:var(--fti-blue);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.announcement-card h4{color:#102a47;font-size:1.22rem;font-weight:1000;line-height:1.22;text-wrap:balance}
.announcement-card p{color:var(--fti-muted);line-height:1.55}
.announcement-card>a{display:inline-flex;align-items:center;gap:7px;margin-top:auto;color:var(--fti-blue);font-weight:900;text-decoration:none}
.announcement-card>a:hover{gap:11px}

/* Detail berita dengan hero dari gambar utama */
.news-article-hero{position:relative;isolation:isolate;min-height:clamp(500px,68vh,720px);display:flex;align-items:flex-end;overflow:hidden;background:var(--fti-navy);color:#fff}
.news-article-hero-media,.news-article-hero-media:after{position:absolute;inset:0}
.news-article-hero-media{z-index:-2}
.news-article-hero-media:after{content:"";background:linear-gradient(180deg,rgba(3,17,38,.14) 4%,rgba(3,17,38,.48) 52%,rgba(3,17,38,.94) 100%),linear-gradient(90deg,rgba(3,17,38,.7),transparent 70%)}
.news-article-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.015)}
.news-article-hero .container{padding-top:120px;padding-bottom:72px}
.news-article-hero-copy{max-width:990px}
.news-category-pill{width:max-content;max-width:100%;display:inline-flex;align-items:center;gap:8px;padding:.54rem .82rem;border-radius:999px;background:#fff;color:var(--fti-blue);font-size:.86rem;font-weight:900;text-decoration:none}
.news-article-hero h1{max-width:980px;margin:20px 0 24px;font-size:clamp(2.7rem,5.5vw,5.6rem);font-weight:1000;line-height:.96;letter-spacing:-.035em;text-wrap:balance;text-shadow:0 4px 8px rgba(2,12,28,.45)}
.news-article-meta{display:flex;flex-wrap:wrap;gap:12px 24px;color:#eef6ff;font-weight:750}
.news-article-meta span{display:inline-flex;align-items:center;gap:8px}
.news-article-layout{background:#eef4fa}
.news-article-shell{padding:clamp(24px,4vw,56px);border-radius:16px;background:#fff;box-shadow:0 8px 8px rgba(6,26,51,.08)}
.news-article-lead{max-width:68ch;margin:0 0 30px;padding-bottom:28px;border-bottom:1px solid rgba(15,23,42,.12);color:#24476d;font-size:clamp(1.2rem,2vw,1.45rem);font-weight:700;line-height:1.55;text-wrap:pretty}
.news-share-bar{margin:0 0 20px;padding:16px;border-radius:14px;background:#edf5ff}
.news-share-label{display:flex;align-items:center;gap:9px;margin-bottom:12px;color:#123b68;font-weight:1000}
.news-share-actions{display:flex;flex-wrap:wrap;gap:8px}
.share-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:.55rem .75rem;border:1px solid rgba(15,23,42,.13);border-radius:999px;background:#fff;color:#172033;font:inherit;font-size:.88rem;font-weight:850;text-decoration:none;transition:transform .2s ease,border-color .2s ease,color .2s ease}
.share-button:hover{transform:translateY(-2px);border-color:currentColor;color:var(--fti-blue)}
.share-button.is-whatsapp{color:#087b42}.share-button.is-facebook{color:#1557b0}.share-button.is-linkedin{color:#075f9b}.share-button.is-instagram{color:#a91e61}
.news-share-status{min-height:1.2em;margin-top:9px;color:#1d5f3f;font-size:.88rem;font-weight:800}
.news-article-featured-image{width:100%;margin:0 0 36px;overflow:hidden;border-radius:14px;background:#e7eef7;box-shadow:0 8px 8px rgba(6,26,51,.12)}
.news-article-featured-image img{display:block;width:100%;max-width:100%;height:auto;max-height:620px;object-fit:contain}
.article-content{max-width:72ch;color:#24364b;font-size:1.12rem;line-height:1.82;overflow-wrap:anywhere}
.article-content>*:first-child{margin-top:0}.article-content>*:last-child{margin-bottom:0}
.article-content p{margin:0 0 1.35em}.article-content h2,.article-content h3,.article-content h4{margin:1.8em 0 .7em;color:#0e2e50;font-weight:1000;line-height:1.18;text-wrap:balance}
.article-content h2{font-size:clamp(1.65rem,3vw,2.15rem)}.article-content h3{font-size:1.5rem}.article-content h4{font-size:1.25rem}
.article-content a{color:var(--fti-blue);font-weight:750;text-underline-offset:3px}.article-content ul,.article-content ol{margin:0 0 1.45em;padding-left:1.5em}.article-content li{margin:.42em 0}
.article-content blockquote{margin:2rem 0;padding:24px;border:0;border-radius:14px;background:#eaf3ff;color:#143d69;font-size:1.2rem;font-weight:700;line-height:1.55}
.article-content figure{max-width:100%;margin:2.25rem auto}.article-content figure img,.article-content>img{display:block;max-width:100%;height:auto;margin-inline:auto;border-radius:12px}
.article-content figcaption{margin-top:9px;color:#64748b;font-size:.9rem;text-align:center;line-height:1.45}
.article-content figure.image-style-side{width:min(48%,420px);float:right;margin:8px 0 24px 28px}.article-content:after{content:"";display:block;clear:both}
.article-content figure.table{overflow-x:auto}.article-content table{width:100%;min-width:560px;border-collapse:collapse}.article-content th,.article-content td{padding:12px 14px;border:1px solid #cbd9e8;text-align:left}.article-content th{background:#eaf3ff;color:#123b68}
.news-article-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:44px;padding-top:28px;border-top:1px solid rgba(15,23,42,.12)}
.news-article-footer>span{color:var(--fti-muted);font-size:.92rem}
.news-sidebar-panel{top:108px;overflow:hidden;border-radius:16px;background:#fff}
.news-sidebar-section{padding:26px}.news-sidebar-section+.news-sidebar-section{border-top:1px solid rgba(15,23,42,.1)}
.news-sidebar-section h2{margin:0 0 18px;color:#102a47;font-size:1.25rem;font-weight:1000}
.related-news-list{display:grid;gap:0}.related-news-link{padding:14px 0;border-bottom:1px solid rgba(15,23,42,.09)}.related-news-link:last-child{border-bottom:0}
.related-news-link strong{display:block;line-height:1.35}.related-news-link small{display:block;margin-top:6px;color:var(--fti-muted)}
.news-category-list{display:grid;gap:7px}.news-category-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;color:#24405f;font-weight:800;text-decoration:none}.news-category-list a:hover,.news-category-list a.is-active{background:#eaf3ff;color:var(--fti-blue)}
.news-category-list b{min-width:28px;padding:3px 7px;border-radius:999px;background:#dcecff;text-align:center;font-size:.78rem}

/* Indeks berita dan filter kategori */
.news-index-section{background:#f5f8fc}.news-filter-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border-radius:16px;background:#fff}
.news-filter-list{display:flex;flex-wrap:wrap;gap:7px}.news-filter-list a{display:inline-flex;align-items:center;gap:7px;padding:.58rem .78rem;border-radius:999px;color:#314a67;font-weight:850;text-decoration:none}.news-filter-list a:hover,.news-filter-list a.is-active{background:var(--fti-blue);color:#fff}
.news-filter-list span{min-width:22px;padding:1px 6px;border-radius:999px;background:rgba(11,78,162,.1);font-size:.75rem;text-align:center}.news-filter-list a.is-active span{background:rgba(255,255,255,.2)}
.news-search-form{min-width:min(100%,330px);display:flex;align-items:center;gap:8px;padding:5px 5px 5px 12px;border:1px solid #cbd9e8;border-radius:999px;background:#fff}.news-search-form input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#172033}.news-search-form button{border:0;border-radius:999px;background:var(--fti-blue);color:#fff;font-weight:900;padding:.55rem .9rem}
.news-result-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;color:#49627d}.news-result-summary a{font-weight:850}
.news-index-card h2 a{color:#102a47;text-decoration:none}.news-index-card h2 a:hover{color:var(--fti-blue)}
.news-card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--fti-muted);font-size:.86rem}.news-card-meta span{color:var(--fti-blue);font-weight:900}.news-read-link{display:inline-flex;align-items:center;gap:7px;color:var(--fti-blue);font-weight:900;text-decoration:none}.news-read-link:hover{gap:11px}
.news-empty-state{padding:64px 24px;text-align:center;border-radius:16px;background:#fff}.news-empty-state i{font-size:2.5rem;color:var(--fti-blue)}.news-empty-state h2{margin:14px 0 6px;font-weight:1000}.news-empty-state p{color:var(--fti-muted)}

html[data-fti-theme="dark"] .announcement-card,html[data-fti-theme="dark"] .news-article-shell,html[data-fti-theme="dark"] .news-sidebar-panel,html[data-fti-theme="dark"] .news-filter-panel,html[data-fti-theme="dark"] .news-empty-state{background:#0f172a;color:#dbeafe;border-color:rgba(255,255,255,.12)}
html[data-fti-theme="dark"] .news-article-layout,html[data-fti-theme="dark"] .news-index-section{background:#071426}
html[data-fti-theme="dark"] .announcement-card h4,html[data-fti-theme="dark"] .article-content,html[data-fti-theme="dark"] .article-content h2,html[data-fti-theme="dark"] .article-content h3,html[data-fti-theme="dark"] .article-content h4,html[data-fti-theme="dark"] .news-sidebar-section h2,html[data-fti-theme="dark"] .news-index-card h2 a{color:#edf6ff}
html[data-fti-theme="dark"] .news-share-bar,html[data-fti-theme="dark"] .article-content blockquote,html[data-fti-theme="dark"] .news-category-list a:hover,html[data-fti-theme="dark"] .news-category-list a.is-active{background:#122a48;color:#dbeafe}
html[data-fti-theme="dark"] .news-article-featured-image{background:#081427;box-shadow:0 8px 8px rgba(0,0,0,.28)}
html[data-fti-theme="dark"] .news-share-label{color:#dcecff}html[data-fti-theme="dark"] .share-button{background:#0b2038;border-color:rgba(255,255,255,.16);color:#dbeafe}

@media(max-width:991.98px){.news-filter-panel{align-items:stretch;flex-direction:column}.news-search-form{width:100%}.news-sidebar-panel{position:static!important}.announcement-section-head{align-items:flex-start}}
@media(max-width:575.98px){.announcement-section-head{flex-direction:column}.announcement-card{min-height:220px;padding:20px}.news-article-hero{min-height:520px}.news-article-hero .container{padding-top:100px;padding-bottom:52px}.news-article-hero h1{font-size:clamp(2.35rem,11vw,3.45rem)}.news-article-meta{gap:9px 16px;font-size:.9rem}.news-article-shell{padding:22px 18px}.share-button span{display:none}.share-button{width:42px;padding:0}.news-article-featured-image{margin-bottom:28px;border-radius:12px}.news-article-featured-image img{max-height:none}.article-content{font-size:1.04rem;line-height:1.75}.article-content figure.image-style-side{width:100%;float:none;margin:1.8rem 0}.news-article-footer{align-items:flex-start;flex-direction:column}.news-filter-list{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.news-filter-list a{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.announcement-card,.share-button{transition:none!important}.announcement-card:hover,.share-button:hover{transform:none}}
@media(prefers-reduced-motion:reduce){
  .fti-hero-slide,
  .fti-hero-slide.is-active,
  .fti-hero-slide img,
  .fti-hero-progress span{transition:none!important;transform:none}
  .fti-hero-copy,
  .fti-hero-copy.is-active{transition:none!important;transform:translate3d(0,-50%,0)}
  .fti-hero-copy.is-active>*{animation:none!important}
}

.news-thumb.has-image{background:#e2e8f0}.news-thumb.has-image:after{display:none}.news-thumb.has-image img{width:100%;height:100%;object-fit:cover;transition:.35s ease}.info-card:hover .news-thumb.has-image img{transform:scale(1.06)}

/* Modern bordered news images - not full bleed */
.info-card .news-thumb.has-image{height:210px;margin:16px 16px 0;border-radius:22px;border:1px solid rgba(15,23,42,.10);background:linear-gradient(135deg,#f8fbff,#eef6ff);padding:8px;box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 14px 30px rgba(6,26,51,.10);overflow:hidden}.info-card .news-thumb.has-image:after{display:none}.info-card .news-thumb.has-image img{width:100%;height:100%;object-fit:cover;border-radius:17px;border:1px solid rgba(255,255,255,.8);box-shadow:0 10px 22px rgba(6,26,51,.10);transition:.35s ease}.info-card:hover .news-thumb.has-image img{transform:scale(1.035)}.news-detail-image{margin:22px;border-radius:28px;border:1px solid rgba(15,23,42,.10);background:linear-gradient(135deg,#f8fbff,#eef6ff);padding:10px;box-shadow:0 18px 42px rgba(6,26,51,.12)}.news-detail-image img{display:block;width:100%;max-height:430px;object-fit:cover;border-radius:22px;border:1px solid rgba(255,255,255,.85)}@media(max-width:575.98px){.info-card .news-thumb.has-image{height:185px;margin:12px 12px 0;border-radius:18px}.news-detail-image{margin:14px;border-radius:22px}.news-detail-image img{border-radius:17px;max-height:300px}}

/* Frontend popup iklan fakultas */
.fti-popup-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(6,26,51,.62);backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:.25s ease}.fti-popup-overlay.show{opacity:1;visibility:visible}.fti-popup-card{width:min(920px,100%);display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border-radius:32px;box-shadow:0 35px 90px rgba(6,26,51,.38);position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.75);transform:translateY(22px) scale(.98);transition:.25s ease}.fti-popup-overlay.show .fti-popup-card{transform:none}.fti-popup-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 88% 8%,rgba(246,178,26,.20),transparent 28%);pointer-events:none}.fti-popup-close{position:absolute;right:16px;top:16px;z-index:3;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#0f172a;box-shadow:0 10px 26px rgba(6,26,51,.18)}.fti-popup-close:hover{background:#fff;color:#0b4ea2}.fti-popup-image-wrap{padding:18px;background:linear-gradient(135deg,#eff6ff,#fff7df);min-height:380px;display:flex;align-items:center;justify-content:center}.fti-popup-image{width:100%;height:100%;max-height:430px;object-fit:cover;border-radius:24px;border:1px solid rgba(255,255,255,.9);box-shadow:0 18px 45px rgba(6,26,51,.16)}.fti-popup-body{padding:44px 40px;display:flex;flex-direction:column;justify-content:center;position:relative}.fti-popup-kicker{display:inline-flex;align-items:center;width:max-content;background:#eaf4ff;color:#0b4ea2;border-radius:999px;padding:.45rem .8rem;font-weight:900;font-size:.84rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px}.fti-popup-body h3{font-size:clamp(1.8rem,3vw,2.7rem);font-weight:1000;line-height:1.02;color:#0f2845;letter-spacing:-.035em}.fti-popup-body p{font-size:1.08rem;color:#687487;margin:12px 0 0}.lazy-fade{opacity:0;transition:opacity .35s ease}.lazy-fade.loaded{opacity:1}@media(max-width:767.98px){.fti-popup-card{grid-template-columns:1fr;border-radius:24px}.fti-popup-image-wrap{min-height:auto;padding:14px}.fti-popup-image{max-height:250px;border-radius:18px}.fti-popup-body{padding:28px 24px}.fti-popup-close{right:12px;top:12px}}


/* Frontend light/dark mode toggle */
.fti-theme-toggle{border:1px solid rgba(11,78,162,.18);border-radius:999px;background:#ffffff;color:var(--fti-blue);font-weight:900;display:inline-flex;align-items:center;gap:.45rem;padding:.62rem .88rem;box-shadow:0 10px 24px rgba(6,26,51,.10);transition:.2s ease}.fti-theme-toggle:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(6,26,51,.16)}.fti-theme-toggle i{color:var(--fti-gold)}
html[data-fti-theme="dark"] body{background:radial-gradient(circle at top left,rgba(33,183,216,.16),transparent 32%),linear-gradient(180deg,#06111f 0%,#071a2d 56%,#0b1020 100%);color:#dbeafe}html[data-fti-theme="dark"] body:before{background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px)}html[data-fti-theme="dark"] .fti-navbar{background:rgba(6,18,34,.92);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 12px 32px rgba(0,0,0,.35)}html[data-fti-theme="dark"] .fti-navbar .nav-link,html[data-fti-theme="dark"] .fti-brand span,html[data-fti-theme="dark"] .section-title,html[data-fti-theme="dark"] .fti-popup-body h3{color:#f8fbff!important}html[data-fti-theme="dark"] .fti-navbar .nav-link:hover,html[data-fti-theme="dark"] .fti-navbar .nav-link:focus{background:rgba(33,183,216,.12);color:#7dd3fc!important}html[data-fti-theme="dark"] .fti-brand small,html[data-fti-theme="dark"] .section-kicker{color:#7dd3fc!important}html[data-fti-theme="dark"] .info-card,html[data-fti-theme="dark"] .quick-card,html[data-fti-theme="dark"] .hero-panel,html[data-fti-theme="dark"] .agenda-card,html[data-fti-theme="dark"] .fti-popup-card{background:rgba(15,23,42,.94);border-color:rgba(255,255,255,.10);box-shadow:0 22px 55px rgba(0,0,0,.32)}html[data-fti-theme="dark"] .card,html[data-fti-theme="dark"] .list-group-item{background:rgba(15,23,42,.94);color:#dbeafe;border-color:rgba(255,255,255,.08)}html[data-fti-theme="dark"] .text-muted,html[data-fti-theme="dark"] .fti-popup-body p{color:#a8bdd8!important}html[data-fti-theme="dark"] .feature-strip{background:linear-gradient(180deg,#071a2d,#0b1020)}html[data-fti-theme="dark"] .badge-soft,html[data-fti-theme="dark"] .date-chip,html[data-fti-theme="dark"] .announcement-link:hover{background:rgba(33,183,216,.12);color:#7dd3fc}html[data-fti-theme="dark"] .date-chip small{color:#bae6fd}html[data-fti-theme="dark"] .form-control,html[data-fti-theme="dark"] .form-select{background:#0f172a;color:#e5f2ff;border-color:rgba(255,255,255,.12)}html[data-fti-theme="dark"] .dropdown-menu{background:#0f172a;border-color:rgba(255,255,255,.10)}html[data-fti-theme="dark"] .dropdown-item{color:#e5f2ff}html[data-fti-theme="dark"] .dropdown-item:hover{background:rgba(33,183,216,.12);color:#7dd3fc}html[data-fti-theme="dark"] .fti-theme-toggle{background:#0f172a;color:#f8fbff;border-color:rgba(255,255,255,.14)}html[data-fti-theme="dark"] .news-detail-image,html[data-fti-theme="dark"] .info-card .news-thumb.has-image{background:linear-gradient(135deg,#0f172a,#111f36);border-color:rgba(255,255,255,.10)}
@media(max-width:991.98px){.fti-theme-toggle{width:100%;justify-content:center;margin:.4rem 0}}

/* Popup mengambang mode terang/gelap */
.fti-mode-float{position:fixed;right:22px;bottom:22px;z-index:1060}.fti-mode-fab{width:58px;height:58px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--fti-blue),#21b7d8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.35rem;box-shadow:0 18px 40px rgba(6,26,51,.28);transition:.22s ease}.fti-mode-fab:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 22px 52px rgba(6,26,51,.36)}.fti-mode-panel{position:absolute;right:0;bottom:74px;width:286px;background:#fff;border:1px solid rgba(11,78,162,.13);border-radius:24px;padding:18px;box-shadow:0 24px 70px rgba(6,26,51,.24);opacity:0;visibility:hidden;transform:translateY(12px) scale(.96);transition:.22s ease}.fti-mode-panel.show{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.fti-mode-title{font-weight:900;color:var(--fti-blue);font-size:1.05rem}.fti-mode-panel p{font-size:.88rem;margin:.35rem 0 .9rem;color:#64748b}.fti-mode-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.fti-mode-choice{border:1px solid rgba(11,78,162,.13);background:#f8fafc;color:#0f172a;border-radius:16px;padding:.75rem .6rem;font-weight:800;display:flex;align-items:center;justify-content:center;gap:.45rem;transition:.2s ease}.fti-mode-choice:hover,.fti-mode-choice.active{background:linear-gradient(135deg,var(--fti-blue),#21b7d8);color:#fff;box-shadow:0 12px 24px rgba(11,78,162,.18)}html[data-fti-theme="dark"] .fti-mode-panel{background:#0f172a;border-color:rgba(255,255,255,.12);box-shadow:0 24px 70px rgba(0,0,0,.48)}html[data-fti-theme="dark"] .fti-mode-title{color:#7dd3fc}html[data-fti-theme="dark"] .fti-mode-panel p{color:#a8bdd8}html[data-fti-theme="dark"] .fti-mode-choice{background:#111f36;color:#e5f2ff;border-color:rgba(255,255,255,.12)}@media(max-width:575.98px){.fti-mode-float{right:16px;bottom:16px}.fti-mode-panel{right:-4px;width:260px}.fti-mode-fab{width:54px;height:54px}}

/* FIX: floating mode button selalu tampil di pinggir kanan frontend */
.fti-mode-float{position:fixed!important;right:18px!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;z-index:99999!important;display:block!important;pointer-events:auto!important}
.fti-mode-fab{width:58px!important;height:58px!important;border:0!important;border-radius:999px!important;background:linear-gradient(135deg,#0b4ea2,#21b7d8)!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:1.35rem!important;box-shadow:0 18px 42px rgba(6,26,51,.32)!important;cursor:pointer!important}
.fti-mode-fab:hover{transform:translateY(-2px) scale(1.04)!important}
.fti-mode-panel{position:absolute!important;right:72px!important;top:50%!important;bottom:auto!important;transform:translateY(-50%) translateX(12px) scale(.96)!important;width:286px!important;max-width:calc(100vw - 110px)!important;background:#fff!important;border:1px solid rgba(11,78,162,.14)!important;border-radius:24px!important;padding:18px!important;box-shadow:0 24px 70px rgba(6,26,51,.25)!important;opacity:0!important;visibility:hidden!important;transition:.22s ease!important}
.fti-mode-panel.show{opacity:1!important;visibility:visible!important;transform:translateY(-50%) translateX(0) scale(1)!important}
html[data-fti-theme="dark"] .fti-mode-panel{background:#0f172a!important;border-color:rgba(255,255,255,.12)!important;color:#e5f2ff!important}
@media(max-width:575.98px){.fti-mode-float{right:12px!important}.fti-mode-fab{width:52px!important;height:52px!important}.fti-mode-panel{right:62px!important;width:250px!important;max-width:calc(100vw - 86px)!important}}

/* UPDATE: floating mode frontend langsung toggle, tanpa popup */
.fti-mode-panel{display:none!important;}
.fti-mode-float{position:fixed!important;right:18px!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;z-index:99999!important;display:block!important;pointer-events:auto!important;}
.fti-mode-fab{cursor:pointer!important;}
html[data-fti-theme="dark"] .fti-mode-fab{background:linear-gradient(135deg,#0f172a,#2563eb)!important;}

/* Slider Logo Kerja Sama Institusi */
.fti-partner-section{background:linear-gradient(180deg,#ffffff,#f4f8fc);overflow:hidden}
.partner-logo-slider{position:relative;overflow:hidden;border-radius:30px;background:rgba(255,255,255,.92);border:1px solid rgba(11,78,162,.10);box-shadow:var(--fti-shadow-soft);padding:24px}
.partner-logo-slider:before,.partner-logo-slider:after{content:"";position:absolute;top:0;bottom:0;width:90px;z-index:2;pointer-events:none}.partner-logo-slider:before{left:0;background:linear-gradient(90deg,#fff,transparent)}.partner-logo-slider:after{right:0;background:linear-gradient(270deg,#fff,transparent)}
.partner-logo-track{display:flex;gap:18px;width:max-content;animation:partnerLogoSlide 26s linear infinite}.partner-logo-slider:hover .partner-logo-track{animation-play-state:paused}
.partner-logo-card{width:190px;min-height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;text-decoration:none;border-radius:24px;background:#fff;border:1px solid rgba(11,78,162,.10);padding:18px;box-shadow:0 10px 28px rgba(6,26,51,.08);transition:.22s ease}.partner-logo-card:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(6,26,51,.13)}
.partner-logo-card img{max-width:130px;max-height:70px;object-fit:contain}.partner-logo-card span{font-weight:900;color:#172033;font-size:.92rem;line-height:1.2}
@keyframes partnerLogoSlide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
html[data-fti-theme="dark"] .fti-partner-section{background:linear-gradient(180deg,#071a2d,#0b1020)}html[data-fti-theme="dark"] .partner-logo-slider{background:#0f172a;border-color:rgba(255,255,255,.10)}html[data-fti-theme="dark"] .partner-logo-slider:before{background:linear-gradient(90deg,#0f172a,transparent)}html[data-fti-theme="dark"] .partner-logo-slider:after{background:linear-gradient(270deg,#0f172a,transparent)}html[data-fti-theme="dark"] .partner-logo-card{background:#111f36;border-color:rgba(255,255,255,.10)}html[data-fti-theme="dark"] .partner-logo-card span{color:#e5f2ff}
@media(max-width:575.98px){.partner-logo-card{width:150px;min-height:116px}.partner-logo-card img{max-width:105px;max-height:58px}.partner-logo-slider{padding:18px}.partner-logo-track{gap:12px;animation-duration:20s}}

/* Embed Postingan Instagram */
.fti-instagram-section{background:linear-gradient(180deg,#f4f8fc,#ffffff);position:relative;overflow:hidden}
.fti-instagram-section:before{content:"";position:absolute;right:-120px;top:-120px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(216,34,42,.14),transparent 68%);pointer-events:none}
.instagram-embed-card{height:100%;background:rgba(255,255,255,.96);border:1px solid rgba(11,78,162,.10);border-radius:30px;padding:18px;box-shadow:var(--fti-shadow-soft);transition:.22s ease;overflow:hidden}
.instagram-embed-card:hover{transform:translateY(-6px);box-shadow:var(--fti-shadow)}
.instagram-card-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}
.instagram-card-head span{width:48px;height:48px;min-width:48px;border-radius:17px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#d8222a,#f6b21a);box-shadow:0 12px 26px rgba(216,34,42,.22);font-size:1.25rem}
.instagram-card-head h3{font-size:1.08rem;font-weight:1000;color:#0f2845;margin:0;line-height:1.22}
.instagram-card-head p{font-size:.92rem;color:var(--fti-muted);margin:.25rem 0 0;line-height:1.35}
.instagram-embed-wrap{width:100%;min-height:420px;display:flex;align-items:flex-start;justify-content:center;overflow:hidden;border-radius:22px;background:#fff;border:1px solid rgba(15,23,42,.06)}
.instagram-embed-wrap iframe,.instagram-embed-wrap blockquote{max-width:100%!important;min-width:0!important;width:100%!important;margin:0!important}
.instagram-embed-wrap .instagram-media{max-width:100%!important;min-width:0!important;width:100%!important;margin:0!important}
html[data-fti-theme="dark"] .fti-instagram-section{background:linear-gradient(180deg,#0b1020,#071a2d)}
html[data-fti-theme="dark"] .instagram-embed-card{background:#0f172a;border-color:rgba(255,255,255,.10);box-shadow:0 22px 55px rgba(0,0,0,.32)}
html[data-fti-theme="dark"] .instagram-card-head h3{color:#f8fbff}
html[data-fti-theme="dark"] .instagram-card-head p{color:#a8bdd8}
html[data-fti-theme="dark"] .instagram-embed-wrap{background:#111f36;border-color:rgba(255,255,255,.10)}
@media(max-width:767.98px){.instagram-embed-card{border-radius:24px;padding:14px}.instagram-embed-wrap{min-height:360px;border-radius:18px}.instagram-card-head h3{font-size:1rem}}

/* TikTok: light editorial, vertical-first, dan sengaja tidak menyerupai grid kartu generik */
.fti-tiktok-section{position:relative;overflow:hidden;background:#f6f9fd;color:#102a47}
.fti-tiktok-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 18%,rgba(33,183,216,.10),transparent 29%),radial-gradient(circle at 12% 82%,rgba(11,78,162,.08),transparent 31%);pointer-events:none}
.fti-tiktok-section .container{position:relative}
.fti-tiktok-section .section-kicker{color:var(--fti-blue)}
.fti-tiktok-section .section-title{color:#0f2845}
.fti-tiktok-section p{color:#52677f}
.tiktok-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px}
.tiktok-note{display:flex;align-items:center;gap:12px;color:#153f73;font-size:.77rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;line-height:1.35}
.tiktok-note i{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#21b7d8,#d8222a);color:#fff;font-size:1.4rem;box-shadow:0 8px 8px rgba(11,78,162,.16)}
.fti-tiktok-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:start}
.tiktok-embed-card{position:relative;padding:15px;border-radius:16px;background:#fff;box-shadow:0 8px 8px rgba(6,26,51,.11);transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .3s ease}
.tiktok-embed-card.is-offset{margin-top:42px}
.tiktok-embed-card:hover{transform:translateY(-7px);box-shadow:0 8px 8px rgba(11,78,162,.18)}
.tiktok-card-head{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;padding:5px 5px 15px}
.tiktok-card-index{font-size:.72rem;color:var(--fti-blue);font-weight:1000;letter-spacing:.15em;padding-top:4px}
.tiktok-card-head h3{margin:0;color:#102a47;font-size:1.06rem;font-weight:1000;line-height:1.25}
.tiktok-card-head p{margin:.35rem 0 0;font-size:.9rem;line-height:1.4}
.tiktok-embed-wrap{position:relative;height:760px;display:flex;justify-content:center;overflow:hidden;border:1px solid #d9e6f3;border-radius:12px;background:#eef4fa}
.tiktok-player{position:relative;z-index:1;display:block;width:100%;height:760px;border:0;overflow:hidden;background:#fff}
.tiktok-watch-link{display:inline-flex;align-items:center;gap:8px;margin:14px 5px 2px;color:var(--fti-blue);font-size:.88rem;font-weight:800;text-decoration:none}
.tiktok-watch-link:hover{color:var(--fti-red)}
.tiktok-embed-fallback{min-height:280px;display:grid;place-content:center;justify-items:center;gap:12px;padding:28px;text-align:center;border-radius:12px;background:#edf4fb;color:#52677f}
.tiktok-embed-fallback i{font-size:1.55rem;color:var(--fti-blue)}
.tiktok-embed-fallback p{max-width:28ch;margin:0}
html[data-fti-theme="dark"] .fti-tiktok-section{background:#f6f9fd;color:#102a47}
@media(max-width:991.98px){.fti-tiktok-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tiktok-embed-card.is-offset{margin-top:0}}
@media(max-width:575.98px){.tiktok-section-head{align-items:flex-start}.tiktok-note{display:none}.fti-tiktok-grid{grid-template-columns:1fr;gap:18px}.tiktok-embed-card{border-radius:14px;padding:12px}.tiktok-embed-wrap,.tiktok-player{height:780px}.tiktok-embed-wrap{border-radius:10px}}
@media(prefers-reduced-motion:reduce){.tiktok-embed-card{transition:none!important}.tiktok-embed-card:hover{transform:none}}

/* Agenda countdown + dynamic footer logo */
.agenda-countdown{border:1px solid rgba(11,78,162,.14);background:rgba(11,78,162,.04);border-radius:16px;padding:.75rem .85rem}.countdown-label{display:block;font-size:.78rem;font-weight:900;color:var(--fti-blue);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.45rem}.countdown-values{display:grid;grid-template-columns:repeat(4,minmax(54px,1fr));gap:.45rem}.countdown-values span{display:block;text-align:center;background:#fff;border:1px solid var(--fti-border);border-radius:14px;padding:.45rem .25rem}.countdown-values b{display:block;font-size:1.15rem;line-height:1;color:var(--fti-blue);font-weight:1000}.countdown-values small{display:block;font-size:.68rem;font-weight:800;color:#64748b;margin-top:.2rem}.agenda-countdown.compact{padding:.55rem;margin-bottom:.25rem}.agenda-countdown.compact .countdown-values{grid-template-columns:repeat(4,minmax(42px,1fr));gap:.35rem}.agenda-countdown.compact .countdown-values span{padding:.35rem .18rem}.agenda-countdown.compact .countdown-values b{font-size:.95rem}.agenda-countdown.is-done{background:rgba(25,135,84,.08);border-color:rgba(25,135,84,.22)}.agenda-countdown.is-done .countdown-label,.agenda-countdown.is-done .countdown-values b{color:#198754}.footer-mark img{width:100%;height:100%;object-fit:contain;background:#fff;border-radius:inherit;padding:8px}
html[data-fti-theme="dark"] .agenda-countdown{background:rgba(33,183,216,.09);border-color:rgba(255,255,255,.10)}html[data-fti-theme="dark"] .countdown-values span{background:rgba(15,23,42,.98);border-color:rgba(255,255,255,.10)}html[data-fti-theme="dark"] .countdown-values small{color:#a8bdd8}


/* Career Campus fix */
.career-campus{white-space:nowrap;}
.kontak{font-size:13px;padding:6px 10px;}





/* Career Campus Premium Frontend */
.career-campus{white-space:nowrap;}
.kontak{font-size:13px;padding:6px 10px;}
.cc-hero{position:relative;overflow:hidden;padding:118px 0 104px;background:radial-gradient(circle at 15% 15%,rgba(14,165,233,.45),transparent 28%),linear-gradient(135deg,#07111f 0%,#0f2a5f 48%,#0ea5e9 100%);color:#fff;}
.cc-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent 85%);opacity:.7;}
.cc-orb{position:absolute;border-radius:999px;filter:blur(4px);opacity:.35;animation:ccFloat 8s ease-in-out infinite;}
.cc-orb-a{width:260px;height:260px;background:#67e8f9;right:8%;top:9%;}
.cc-orb-b{width:180px;height:180px;background:#fff;left:6%;bottom:10%;animation-delay:1.2s;}
.cc-orb-c{width:120px;height:120px;background:#38bdf8;right:38%;bottom:18%;animation-delay:2.1s;}
.cc-badge{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(14px);font-weight:800;margin-bottom:20px;}
.cc-title{font-size:clamp(2.45rem,6vw,5.3rem);line-height:.98;font-weight:950;letter-spacing:-.055em;margin-bottom:22px;text-shadow:0 18px 60px rgba(0,0,0,.2);}
.cc-subtitle{font-size:clamp(1rem,2vw,1.22rem);line-height:1.75;color:rgba(255,255,255,.8);max-width:720px;}
.cc-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;}
.cc-btn-primary,.cc-btn-outline,.cc-btn-light{border-radius:999px;padding:13px 24px;font-weight:900;transition:.28s ease;}
.cc-btn-primary{background:#fff;color:#0f2a5f;box-shadow:0 18px 50px rgba(255,255,255,.22);}
.cc-btn-primary:hover{transform:translateY(-3px);background:#e0f2fe;color:#0f2a5f;}
.cc-btn-outline{border:1px solid rgba(255,255,255,.42);color:#fff;background:rgba(255,255,255,.08);}
.cc-btn-outline:hover{background:#fff;color:#0f2a5f;transform:translateY(-3px);}
.cc-stats{display:flex;flex-wrap:wrap;gap:18px;margin-top:34px;}
.cc-stats div{min-width:130px;padding:16px 18px;border-radius:22px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(12px);}
.cc-stats strong{display:block;font-size:28px;font-weight:950;}
.cc-stats span{font-size:13px;color:rgba(255,255,255,.72);}
.cc-visual{position:relative;min-height:440px;perspective:1100px;}
.cc-phone-card{position:absolute;right:20px;top:20px;width:min(360px,92%);padding:24px;border-radius:34px;background:rgba(255,255,255,.92);color:#0f172a;box-shadow:0 35px 90px rgba(2,6,23,.35);transform:rotateY(-10deg) rotateX(4deg);animation:ccRise .9s ease both;}
.cc-card-top{display:flex;gap:7px;margin-bottom:22px;}
.cc-card-top span{width:10px;height:10px;border-radius:50%;background:#cbd5e1;}
.cc-profile{display:flex;gap:14px;align-items:center;padding:18px;border-radius:24px;background:linear-gradient(135deg,#eff6ff,#ecfeff);margin-bottom:18px;}
.cc-profile-icon{width:56px;height:56px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,#2563eb,#06b6d4);color:#fff;font-size:27px;box-shadow:0 14px 30px rgba(37,99,235,.25);}
.cc-profile h4{font-weight:950;margin:0;}
.cc-profile p{margin:0;color:#64748b;font-weight:700;}
.cc-progress{background:#f8fafc;border-radius:18px;padding:14px;margin-top:12px;border:1px solid #e2e8f0;}
.cc-progress div{display:flex;justify-content:space-between;font-size:13px;font-weight:800;margin-bottom:9px;}
.cc-progress i{display:block;height:9px;border-radius:999px;background:linear-gradient(90deg,#2563eb,#06b6d4);}
.cc-float{position:absolute;z-index:2;display:flex;gap:9px;align-items:center;padding:13px 17px;border-radius:999px;background:rgba(255,255,255,.94);color:#0f172a;box-shadow:0 18px 55px rgba(15,23,42,.22);font-weight:900;animation:ccFloat 5.8s ease-in-out infinite;}
.cc-float i{color:#2563eb;}
.cc-float-1{left:0;top:70px;}
.cc-float-2{right:0;bottom:84px;animation-delay:.9s;}
.cc-float-3{left:35px;bottom:20px;animation-delay:1.6s;}
.cc-section{padding:90px 0;background:#fff;}
.cc-section-head{max-width:760px;margin:0 auto 46px;}
.cc-section-head h2{font-size:clamp(2rem,4vw,3rem);font-weight:950;letter-spacing:-.035em;margin:12px 0;}
.cc-section-head p{color:#64748b;font-size:1.08rem;}
.cc-program-card{position:relative;overflow:hidden;height:100%;padding:32px;border-radius:30px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 55px rgba(15,23,42,.08);transition:.3s ease;}
.cc-program-card:hover{transform:translateY(-10px);box-shadow:0 28px 80px rgba(37,99,235,.16);}
.cc-program-shine{position:absolute;inset:-80px -120px auto auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(14,165,233,.22),transparent 70%);}
.cc-program-icon{width:64px;height:64px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,#1d4ed8,#06b6d4);color:#fff;font-size:30px;margin-bottom:20px;box-shadow:0 16px 36px rgba(37,99,235,.22);}
.cc-program-tag{display:inline-block;padding:7px 11px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-weight:900;font-size:12px;margin-bottom:14px;}
.cc-program-card h3{font-size:1.35rem;font-weight:950;margin-bottom:12px;}
.cc-program-card p{color:#64748b;line-height:1.75;}
.cc-card-link{display:inline-flex;align-items:center;gap:8px;margin-top:8px;font-weight:900;color:#2563eb;text-decoration:none;}
.cc-pathway{background:linear-gradient(180deg,#f8fafc,#fff);}
.cc-timeline{display:grid;gap:18px;}
.cc-step{display:flex;gap:18px;align-items:flex-start;padding:24px;border-radius:26px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 14px 45px rgba(15,23,42,.07);}
.cc-step b{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;background:#eff6ff;color:#2563eb;font-size:22px;}
.cc-step h5{font-weight:950;margin-bottom:6px;}
.cc-step p{margin:0;color:#64748b;}
.cc-cta{padding:30px 0 90px;background:#fff;}
.cc-cta-box{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:42px;border-radius:34px;background:linear-gradient(135deg,#0f172a,#1d4ed8);color:#fff;box-shadow:0 28px 80px rgba(29,78,216,.22);}
.cc-cta-box h2{font-weight:950;letter-spacing:-.03em;margin:8px 0;}
.cc-cta-box p{margin:0;color:rgba(255,255,255,.72);}
.cc-btn-light{background:#fff;color:#0f172a;white-space:nowrap;}
.cc-btn-light:hover{background:#e0f2fe;color:#0f172a;transform:translateY(-3px);}
@keyframes ccFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes ccRise{from{opacity:0;transform:translateY(28px) rotateY(-10deg) rotateX(4deg) scale(.96)}to{opacity:1;transform:translateY(0) rotateY(-10deg) rotateX(4deg) scale(1)}}
@media(max-width:991.98px){.cc-hero{padding:88px 0 78px}.cc-visual{min-height:390px}.cc-phone-card{left:50%;right:auto;transform:translateX(-50%);}.cc-float-1{left:4%}.cc-float-2{right:4%}.cc-cta-box{align-items:flex-start;flex-direction:column}.cc-section{padding:70px 0}}
@media(max-width:575.98px){.cc-hero{text-align:center;padding:66px 0}.cc-actions,.cc-stats{justify-content:center}.cc-stats div{min-width:112px}.cc-visual{min-height:360px}.cc-phone-card{width:100%;top:28px;padding:19px;border-radius:28px}.cc-float{font-size:12px;padding:10px 12px}.cc-float-1{top:0;left:0}.cc-float-2{right:0;bottom:50px}.cc-float-3{left:14px;bottom:4px}.cc-program-card{padding:26px}.cc-step{flex-direction:column}.cc-cta-box{padding:28px;border-radius:26px;text-align:left}}


/* Career Campus Dark Mode Fix */
html[data-fti-theme="dark"] .cc-section,
html[data-fti-theme="dark"] .cc-pathway,
html[data-fti-theme="dark"] .cc-cta{
  background:#07111f !important;
  color:#e5eefb !important;
}

html[data-fti-theme="dark"] .cc-section-head h2,
html[data-fti-theme="dark"] .cc-pathway h2,
html[data-fti-theme="dark"] .cc-program-card h3,
html[data-fti-theme="dark"] .cc-step h5,
html[data-fti-theme="dark"] .cc-card-link{
  color:#f8fafc !important;
}

html[data-fti-theme="dark"] .cc-section-head p,
html[data-fti-theme="dark"] .cc-program-card p,
html[data-fti-theme="dark"] .cc-step p,
html[data-fti-theme="dark"] .cc-pathway .text-muted{
  color:#b6c6d8 !important;
}

html[data-fti-theme="dark"] .cc-program-card,
html[data-fti-theme="dark"] .cc-step{
  background:linear-gradient(180deg,#0f1d33,#0b1628) !important;
  border-color:rgba(148,163,184,.22) !important;
  box-shadow:0 18px 55px rgba(0,0,0,.28) !important;
}

html[data-fti-theme="dark"] .cc-program-card:hover{
  box-shadow:0 28px 80px rgba(14,165,233,.18) !important;
}

html[data-fti-theme="dark"] .cc-program-tag{
  background:rgba(37,99,235,.18) !important;
  color:#93c5fd !important;
  border:1px solid rgba(147,197,253,.18);
}

html[data-fti-theme="dark"] .cc-step b{
  background:rgba(37,99,235,.18) !important;
  color:#93c5fd !important;
}

html[data-fti-theme="dark"] .cc-phone-card{
  background:rgba(15,29,51,.94) !important;
  color:#f8fafc !important;
  border:1px solid rgba(148,163,184,.22);
  box-shadow:0 35px 90px rgba(0,0,0,.42) !important;
}

html[data-fti-theme="dark"] .cc-profile{
  background:linear-gradient(135deg,rgba(37,99,235,.20),rgba(14,165,233,.14)) !important;
}

html[data-fti-theme="dark"] .cc-profile p{
  color:#b6c6d8 !important;
}

html[data-fti-theme="dark"] .cc-progress{
  background:#081427 !important;
  border-color:rgba(148,163,184,.20) !important;
}

html[data-fti-theme="dark"] .cc-progress span,
html[data-fti-theme="dark"] .cc-progress b{
  color:#e5eefb !important;
}

html[data-fti-theme="dark"] .cc-float{
  background:rgba(15,29,51,.94) !important;
  color:#f8fafc !important;
  border:1px solid rgba(148,163,184,.22);
  box-shadow:0 18px 55px rgba(0,0,0,.34) !important;
}

html[data-fti-theme="dark"] .cc-float i{
  color:#67e8f9 !important;
}

html[data-fti-theme="dark"] .cc-cta-box{
  background:linear-gradient(135deg,#0b1220,#12367a) !important;
  box-shadow:0 28px 80px rgba(0,0,0,.32) !important;
}

html[data-fti-theme="dark"] .cc-btn-light{
  background:#e0f2fe !important;
  color:#07111f !important;
}

html[data-fti-theme="dark"] .cc-card-link{
  color:#67e8f9 !important;
}

html[data-fti-theme="dark"] .section-kicker{
  color:#7dd3fc !important;
}


/* Career Campus Responsive + Navbar Fix */
.fti-navbar .navbar-nav .nav-link,
.fti-navbar .navbar-nav .kontak-menu{
  font-size:14px !important;
  line-height:1.2 !important;
  padding:10px 12px !important;
  min-height:auto !important;
  display:flex !important;
  align-items:center !important;
  white-space:nowrap !important;
}

.fti-navbar .program-studi-menu,
.fti-navbar .career-campus,
.fti-navbar .kontak-menu{
  white-space:nowrap !important;
}

.fti-navbar .kontak-menu{
  border-radius:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  color:inherit !important;
}

/* Desktop navbar balance */
@media (min-width: 992px){
  .fti-navbar .navbar-nav{
    gap:2px !important;
    flex-wrap:nowrap !important;
  }
  .fti-navbar .navbar-nav .nav-item{
    flex:0 0 auto !important;
  }
}

/* Tablet navbar: keep menu tidy after collapse */
@media (max-width: 1199.98px) and (min-width: 992px){
  .fti-navbar .container{
    max-width:100% !important;
    padding-left:18px !important;
    padding-right:18px !important;
  }
  .fti-navbar .navbar-nav .nav-link{
    font-size:13px !important;
    padding:9px 8px !important;
  }
  .fti-brand span{
    font-size:13px !important;
  }
  .fti-site-logo{
    max-height:48px !important;
  }
}

/* Mobile navbar */
@media (max-width: 991.98px){
  .fti-navbar .navbar-collapse{
    margin-top:14px !important;
    padding:14px !important;
    border-radius:22px !important;
    background:rgba(255,255,255,.96) !important;
    box-shadow:0 18px 45px rgba(15,23,42,.12) !important;
  }
  html[data-fti-theme="dark"] .fti-navbar .navbar-collapse{
    background:rgba(15,29,51,.96) !important;
    border:1px solid rgba(148,163,184,.18) !important;
  }
  .fti-navbar .navbar-nav{
    align-items:stretch !important;
    gap:4px !important;
  }
  .fti-navbar .navbar-nav .nav-link{
    width:100% !important;
    justify-content:flex-start !important;
    padding:12px 14px !important;
    border-radius:14px !important;
  }
}

/* Career Campus page stronger responsive behavior */
.cc-hero{
  min-height:auto !important;
}

.cc-title{
  overflow-wrap:normal !important;
  word-break:normal !important;
}

.cc-subtitle{
  max-width:680px !important;
}

.cc-visual{
  width:100% !important;
}

.cc-phone-card{
  max-width:360px !important;
}

.cc-program-card{
  min-height:100% !important;
}

@media (max-width: 991.98px){
  .cc-hero{
    padding:76px 0 68px !important;
  }
  .cc-title{
    font-size:clamp(2.15rem,7vw,3.8rem) !important;
    line-height:1.05 !important;
  }
  .cc-subtitle{
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .cc-visual{
    min-height:360px !important;
    margin-top:12px !important;
  }
  .cc-phone-card{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    margin:0 auto !important;
    transform:none !important;
    width:min(100%,360px) !important;
  }
  .cc-float{
    z-index:3 !important;
  }
  .cc-float-1{
    left:8px !important;
    top:4px !important;
  }
  .cc-float-2{
    right:8px !important;
    bottom:34px !important;
  }
  .cc-float-3{
    left:50% !important;
    bottom:0 !important;
    transform:translateX(-50%) !important;
  }
  .cc-section{
    padding:64px 0 !important;
  }
  .cc-section-head{
    margin-bottom:32px !important;
  }
  .cc-cta{
    padding:20px 0 64px !important;
  }
}

@media (max-width: 767.98px){
  .cc-hero{
    text-align:center !important;
    padding:58px 0 54px !important;
  }
  .cc-badge{
    font-size:13px !important;
    padding:8px 12px !important;
  }
  .cc-title{
    font-size:clamp(2rem,11vw,3rem) !important;
    letter-spacing:-.035em !important;
  }
  .cc-subtitle{
    font-size:15px !important;
    line-height:1.7 !important;
  }
  .cc-actions{
    justify-content:center !important;
  }
  .cc-btn-primary,
  .cc-btn-outline,
  .cc-btn-light{
    width:100% !important;
    max-width:280px !important;
    justify-content:center !important;
  }
  .cc-stats{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:10px !important;
  }
  .cc-stats div{
    min-width:0 !important;
    padding:12px 8px !important;
  }
  .cc-stats strong{
    font-size:22px !important;
  }
  .cc-stats span{
    font-size:11px !important;
  }
  .cc-visual{
    min-height:390px !important;
  }
  .cc-phone-card{
    padding:18px !important;
    border-radius:26px !important;
    width:100% !important;
  }
  .cc-profile{
    padding:14px !important;
  }
  .cc-profile-icon{
    width:48px !important;
    height:48px !important;
    font-size:22px !important;
  }
  .cc-profile h4{
    font-size:17px !important;
  }
  .cc-profile p{
    font-size:12px !important;
  }
  .cc-progress{
    padding:12px !important;
  }
  .cc-float{
    font-size:12px !important;
    padding:9px 10px !important;
  }
  .cc-program-card{
    padding:24px !important;
    border-radius:24px !important;
  }
  .cc-section-head h2{
    font-size:clamp(1.7rem,8vw,2.4rem) !important;
  }
  .cc-step{
    padding:20px !important;
  }
  .cc-cta-box{
    padding:26px !important;
    border-radius:24px !important;
  }
}

@media (max-width: 420px){
  .cc-stats{
    grid-template-columns:1fr !important;
  }
  .cc-visual{
    min-height:420px !important;
  }
  .cc-float-1{
    top:-8px !important;
    left:0 !important;
  }
  .cc-float-2{
    right:0 !important;
    bottom:44px !important;
  }
  .cc-float-3{
    bottom:0 !important;
  }
  .cc-phone-card{
    margin-top:28px !important;
  }
}


/* Premium Navbar Hover Animation */
.fti-navbar .navbar-nav .nav-link{
  position:relative !important;
  overflow:hidden !important;
  border-radius:999px !important;
  isolation:isolate !important;
  transition:
    color .28s ease,
    transform .28s ease,
    background-color .28s ease,
    box-shadow .28s ease !important;
}

.fti-navbar .navbar-nav .nav-link::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-2 !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(6,182,212,.14)) !important;
  opacity:0 !important;
  transform:scale(.82) !important;
  transition:opacity .28s ease, transform .28s ease !important;
}

.fti-navbar .navbar-nav .nav-link::after{
  content:"" !important;
  position:absolute !important;
  left:16px !important;
  right:16px !important;
  bottom:6px !important;
  height:3px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,#2563eb,#06b6d4,#22c55e) !important;
  transform:scaleX(0) !important;
  transform-origin:center !important;
  transition:transform .32s cubic-bezier(.2,.8,.2,1) !important;
}

.fti-navbar .navbar-nav .nav-link:hover,
.fti-navbar .navbar-nav .nav-link:focus,
.fti-navbar .navbar-nav .nav-link.active{
  color:#1d4ed8 !important;
  transform:translateY(-2px) !important;
  background:rgba(37,99,235,.06) !important;
  box-shadow:0 12px 28px rgba(37,99,235,.10) !important;
}

.fti-navbar .navbar-nav .nav-link:hover::before,
.fti-navbar .navbar-nav .nav-link:focus::before,
.fti-navbar .navbar-nav .nav-link.active::before{
  opacity:1 !important;
  transform:scale(1) !important;
}

.fti-navbar .navbar-nav .nav-link:hover::after,
.fti-navbar .navbar-nav .nav-link:focus::after,
.fti-navbar .navbar-nav .nav-link.active::after{
  transform:scaleX(1) !important;
}

.fti-navbar .navbar-nav .nav-link.dropdown-toggle::after{
  position:static !important;
  display:inline-block !important;
  width:auto !important;
  height:auto !important;
  margin-left:.45em !important;
  vertical-align:.15em !important;
  border-top:.3em solid !important;
  border-right:.3em solid transparent !important;
  border-bottom:0 !important;
  border-left:.3em solid transparent !important;
  background:none !important;
  transform:none !important;
  transition:transform .28s ease !important;
}

.fti-navbar .navbar-nav .nav-link.dropdown-toggle:hover::after,
.fti-navbar .navbar-nav .nav-link.dropdown-toggle:focus::after{
  transform:rotate(180deg) !important;
}

.fti-navbar .dropdown-menu{
  animation:premiumDropdown .24s ease both !important;
  transform-origin:top center !important;
}

.fti-navbar .dropdown-item{
  position:relative !important;
  border-radius:12px !important;
  transition:background-color .22s ease,color .22s ease,transform .22s ease !important;
}

.fti-navbar .dropdown-item:hover,
.fti-navbar .dropdown-item:focus{
  background:linear-gradient(135deg,rgba(37,99,235,.10),rgba(6,182,212,.10)) !important;
  color:#1d4ed8 !important;
  transform:translateX(4px) !important;
}

@keyframes premiumDropdown{
  from{
    opacity:0;
    transform:translateY(12px) scale(.98);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

/* Dark mode premium navbar hover */
html[data-fti-theme="dark"] .fti-navbar .navbar-nav .nav-link:hover,
html[data-fti-theme="dark"] .fti-navbar .navbar-nav .nav-link:focus,
html[data-fti-theme="dark"] .fti-navbar .navbar-nav .nav-link.active{
  color:#67e8f9 !important;
  background:rgba(14,165,233,.12) !important;
  box-shadow:0 12px 30px rgba(14,165,233,.12) !important;
}

html[data-fti-theme="dark"] .fti-navbar .navbar-nav .nav-link::before{
  background:linear-gradient(135deg,rgba(14,165,233,.15),rgba(59,130,246,.16)) !important;
}

html[data-fti-theme="dark"] .fti-navbar .dropdown-item:hover,
html[data-fti-theme="dark"] .fti-navbar .dropdown-item:focus{
  background:rgba(14,165,233,.12) !important;
  color:#67e8f9 !important;
}

/* Mobile: hover animation tetap nyaman dan tidak menggeser layout */
@media(max-width:991.98px){
  .fti-navbar .navbar-nav .nav-link:hover,
  .fti-navbar .navbar-nav .nav-link:focus,
  .fti-navbar .navbar-nav .nav-link.active{
    transform:translateX(4px) !important;
  }

  .fti-navbar .navbar-nav .nav-link::after{
    left:14px !important;
    right:auto !important;
    width:42px !important;
    transform-origin:left !important;
  }
}


/* Dropdown Profil & Publikasi Font + Profil Glass Effect */
.fti-navbar .dropdown-menu .dropdown-item{
  font-size:14px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  padding:10px 14px !important;
  white-space:nowrap !important;
}

/* Efek glass khusus dropdown Profil */
.fti-navbar .profil-dropdown .dropdown-menu{
  background:rgba(255,255,255,.72) !important;
  border:1px solid rgba(255,255,255,.42) !important;
  backdrop-filter:blur(18px) saturate(155%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(155%) !important;
  box-shadow:0 22px 70px rgba(15,23,42,.18) !important;
  padding:12px !important;
  overflow:hidden !important;
}

.fti-navbar .profil-dropdown .dropdown-menu::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at top left,rgba(37,99,235,.16),transparent 38%),
    radial-gradient(circle at bottom right,rgba(6,182,212,.14),transparent 36%) !important;
  z-index:-1 !important;
}

.fti-navbar .profil-dropdown .dropdown-item{
  color:#0f172a !important;
  background:transparent !important;
}

.fti-navbar .profil-dropdown .dropdown-item:hover,
.fti-navbar .profil-dropdown .dropdown-item:focus{
  background:rgba(255,255,255,.55) !important;
  color:#1d4ed8 !important;
  box-shadow:inset 0 0 0 1px rgba(37,99,235,.10) !important;
}

/* Hilangkan garis pemisah profil jika masih ada */
.fti-navbar .profil-dropdown .dropdown-divider{
  display:none !important;
}

/* Publikasi dropdown font disamakan, tanpa mengubah desain utama */
.fti-navbar .publikasi-dropdown .dropdown-menu .dropdown-item{
  font-size:14px !important;
  font-weight:700 !important;
}

/* Dark mode glass profile dropdown */
html[data-fti-theme="dark"] .fti-navbar .profil-dropdown .dropdown-menu{
  background:rgba(15,29,51,.72) !important;
  border-color:rgba(148,163,184,.22) !important;
  box-shadow:0 22px 70px rgba(0,0,0,.36) !important;
}

html[data-fti-theme="dark"] .fti-navbar .profil-dropdown .dropdown-item{
  color:#e5eefb !important;
}

html[data-fti-theme="dark"] .fti-navbar .profil-dropdown .dropdown-item:hover,
html[data-fti-theme="dark"] .fti-navbar .profil-dropdown .dropdown-item:focus{
  background:rgba(14,165,233,.14) !important;
  color:#67e8f9 !important;
  box-shadow:inset 0 0 0 1px rgba(103,232,249,.14) !important;
}

/* Mobile dropdown spacing */
@media(max-width:991.98px){
  .fti-navbar .dropdown-menu .dropdown-item{
    font-size:14px !important;
    padding:11px 14px !important;
  }

  .fti-navbar .profil-dropdown .dropdown-menu{
    margin-top:8px !important;
    border-radius:18px !important;
  }
}


/* Navbar Shrink on Scroll + Rounded Corners */
.fti-navbar.fti-navbar-rounded{
  position:sticky !important;
  top:12px !important;
  z-index:1040 !important;
  margin:10px auto 0 !important;
  width:calc(100% - 28px) !important;
  max-width:1320px !important;
  border-radius:28px !important;
  background:rgba(255,255,255,.88) !important;
  border:1px solid rgba(255,255,255,.48) !important;
  backdrop-filter:blur(18px) saturate(150%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(150%) !important;
  box-shadow:0 18px 55px rgba(15,23,42,.10) !important;
  transition:
    top .28s ease,
    width .28s ease,
    max-width .28s ease,
    border-radius .28s ease,
    padding .28s ease,
    background-color .28s ease,
    box-shadow .28s ease,
    transform .28s ease !important;
}

.fti-navbar.fti-navbar-rounded > .container{
  transition:padding-top .28s ease, padding-bottom .28s ease !important;
}

.fti-navbar.fti-navbar-rounded .fti-site-logo,
.fti-navbar.fti-navbar-rounded .fti-brand-mark{
  transition:transform .28s ease, max-height .28s ease, width .28s ease, height .28s ease !important;
}

.fti-navbar.fti-navbar-rounded .fti-brand span,
.fti-navbar.fti-navbar-rounded .nav-link{
  transition:
    font-size .28s ease,
    padding .28s ease,
    color .28s ease,
    transform .28s ease,
    background-color .28s ease,
    box-shadow .28s ease !important;
}

/* Saat scroll: navbar shrink / compact */
.fti-navbar.fti-navbar-rounded.is-shrink{
  top:8px !important;
  width:calc(100% - 44px) !important;
  max-width:1180px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.82) !important;
  box-shadow:0 18px 60px rgba(15,23,42,.16) !important;
}

.fti-navbar.fti-navbar-rounded.is-shrink > .container{
  padding-top:6px !important;
  padding-bottom:6px !important;
}

.fti-navbar.fti-navbar-rounded.is-shrink .fti-site-logo{
  max-height:42px !important;
}

.fti-navbar.fti-navbar-rounded.is-shrink .fti-brand-mark{
  transform:scale(.88) !important;
}

.fti-navbar.fti-navbar-rounded.is-shrink .fti-brand span{
  font-size:12px !important;
  line-height:1.05 !important;
}

.fti-navbar.fti-navbar-rounded.is-shrink .navbar-nav .nav-link{
  font-size:13px !important;
  padding:8px 10px !important;
}

/* Dark mode */
html[data-fti-theme="dark"] .fti-navbar.fti-navbar-rounded{
  background:rgba(15,29,51,.82) !important;
  border-color:rgba(148,163,184,.22) !important;
  box-shadow:0 18px 55px rgba(0,0,0,.26) !important;
}

html[data-fti-theme="dark"] .fti-navbar.fti-navbar-rounded.is-shrink{
  background:rgba(7,17,31,.86) !important;
  box-shadow:0 18px 60px rgba(0,0,0,.38) !important;
}

/* Mobile: tetap rounded, tapi tidak terlalu kecil */
@media(max-width:991.98px){
  .fti-navbar.fti-navbar-rounded{
    top:8px !important;
    width:calc(100% - 20px) !important;
    border-radius:24px !important;
    margin-top:8px !important;
  }

  .fti-navbar.fti-navbar-rounded.is-shrink{
    width:calc(100% - 24px) !important;
    border-radius:22px !important;
  }

  .fti-navbar.fti-navbar-rounded.is-shrink > .container{
    padding-top:7px !important;
    padding-bottom:7px !important;
  }

  .fti-navbar.fti-navbar-rounded.is-shrink .fti-brand span{
    font-size:11px !important;
  }

  .fti-navbar.fti-navbar-rounded.is-shrink .fti-site-logo{
    max-height:38px !important;
  }

  .fti-navbar.fti-navbar-rounded.is-shrink .navbar-nav .nav-link{
    font-size:14px !important;
    padding:12px 14px !important;
  }
}

@media(max-width:575.98px){
  .fti-navbar.fti-navbar-rounded{
    width:calc(100% - 14px) !important;
    border-radius:20px !important;
  }

  .fti-navbar.fti-navbar-rounded.is-shrink{
    width:calc(100% - 16px) !important;
    border-radius:18px !important;
  }
}


/* Navbar Remove White Box Behind + Keep Sticky */
.fti-navbar.fti-navbar-rounded{
  position:sticky !important;
  top:0 !important;
  z-index:1040 !important;
  margin:0 auto !important;
  width:100% !important;
  max-width:none !important;
  border-radius:0 0 24px 24px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

/* Glass/rounded effect dipindahkan ke container agar tidak muncul kotak putih besar */
.fti-navbar.fti-navbar-rounded > .container{
  margin-top:10px !important;
  margin-bottom:8px !important;
  border-radius:28px !important;
  background:rgba(255,255,255,.72) !important;
  border:1px solid rgba(255,255,255,.42) !important;
  box-shadow:0 14px 42px rgba(15,23,42,.10) !important;
  backdrop-filter:blur(18px) saturate(150%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(150%) !important;
  transition:
    margin .28s ease,
    padding .28s ease,
    border-radius .28s ease,
    background-color .28s ease,
    box-shadow .28s ease !important;
}

/* Saat scroll: tetap tertahan dan mengecil tanpa kotak putih belakang */
.fti-navbar.fti-navbar-rounded.is-shrink{
  top:0 !important;
  width:100% !important;
  max-width:none !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.fti-navbar.fti-navbar-rounded.is-shrink > .container{
  margin-top:6px !important;
  margin-bottom:6px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.82) !important;
  box-shadow:0 16px 48px rgba(15,23,42,.14) !important;
}

/* Hindari area putih bawaan dari nav/container lain */
.fti-navbar,
.fti-navbar::before,
.fti-navbar::after{
  background-color:transparent !important;
}

/* Dark mode */
html[data-fti-theme="dark"] .fti-navbar.fti-navbar-rounded{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

html[data-fti-theme="dark"] .fti-navbar.fti-navbar-rounded > .container{
  background:rgba(15,29,51,.76) !important;
  border-color:rgba(148,163,184,.22) !important;
  box-shadow:0 14px 42px rgba(0,0,0,.28) !important;
}

html[data-fti-theme="dark"] .fti-navbar.fti-navbar-rounded.is-shrink{
  background:transparent !important;
  box-shadow:none !important;
}

html[data-fti-theme="dark"] .fti-navbar.fti-navbar-rounded.is-shrink > .container{
  background:rgba(7,17,31,.86) !important;
  box-shadow:0 16px 52px rgba(0,0,0,.36) !important;
}

/* Mobile */
@media(max-width:991.98px){
  .fti-navbar.fti-navbar-rounded{
    top:0 !important;
    width:100% !important;
    margin:0 !important;
    border-radius:0 !important;
  }

  .fti-navbar.fti-navbar-rounded > .container{
    width:calc(100% - 18px) !important;
    margin-top:8px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    border-radius:22px !important;
  }

  .fti-navbar.fti-navbar-rounded.is-shrink{
    width:100% !important;
    border-radius:0 !important;
  }

  .fti-navbar.fti-navbar-rounded.is-shrink > .container{
    width:calc(100% - 18px) !important;
    border-radius:20px !important;
  }
}

@media(max-width:575.98px){
  .fti-navbar.fti-navbar-rounded > .container,
  .fti-navbar.fti-navbar-rounded.is-shrink > .container{
    width:calc(100% - 12px) !important;
  }
}

/* FINAL FIX: HILANGKAN BACKGROUND PUTIH DI BELAKANG NAVBAR */
header,
.fti-header,
.fti-navbar-wrapper,
.fti-navbar::before,
.fti-navbar::after {
    background: transparent !important;
}

/* hapus layer putih/grid overlay */
header::before,
header::after {
    display: none !important;
}

/* pastikan tidak ada wrapper putih */
body > header {
    background: transparent !important;
}

/* optional: biar navbar menyatu dengan hero */
.fti-navbar {
    background: transparent !important;
}

/* FULL WIDTH NAVBAR BUT ROUNDED */
.fti-navbar{
    width:100% !important;
    left:0 !important;
    right:0 !important;
    margin:0 !important;
}

.fti-navbar > .container{
    max-width:1400px !important;
    width:calc(100% - 40px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    border-radius:30px !important;
}

/* =========================================================
   Frontend Gallery Modern Layout Fix
   - Menampilkan foto dari image_file database
   - Grid profesional, filter, dan lightbox
   ========================================================= */
.gallery-hero{
  padding:105px 0 72px;
  background:
    radial-gradient(circle at 88% 12%, rgba(246,178,26,.34), transparent 28%),
    radial-gradient(circle at 12% 78%, rgba(33,183,216,.24), transparent 28%),
    linear-gradient(135deg, rgba(6,26,51,.98), rgba(11,78,162,.90));
}
.gallery-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size:42px 42px;
  opacity:.55;
  pointer-events:none;
}
.gallery-hero-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  padding:16px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:28px;
  background:rgba(255,255,255,.12);
  box-shadow:0 28px 65px rgba(0,0,0,.22);
  backdrop-filter:blur(18px);
}
.gallery-hero-stats div{
  padding:18px 12px;
  border-radius:20px;
  background:rgba(255,255,255,.12);
  text-align:center;
}
.gallery-hero-stats b{
  display:block;
  font-size:clamp(1.55rem,3vw,2.15rem);
  line-height:1;
  font-weight:1000;
  color:#fff;
}
.gallery-hero-stats span{
  display:block;
  margin-top:8px;
  color:#dceeff;
  font-size:.82rem;
  font-weight:900;
}
.gallery-section{
  position:relative;
}
.gallery-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:22px;
  flex-wrap:wrap;
}
.gallery-filters{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  max-width:760px;
}
.gallery-filter{
  border:1px solid rgba(11,78,162,.14);
  background:rgba(255,255,255,.9);
  color:#17324f;
  border-radius:999px;
  padding:.62rem .95rem;
  font-weight:950;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
  transition:.2s ease;
}
.gallery-filter:hover,
.gallery-filter.active{
  border-color:transparent;
  color:#fff;
  background:linear-gradient(135deg,var(--fti-blue),var(--fti-blue-2));
  box-shadow:0 16px 34px rgba(11,78,162,.24);
  transform:translateY(-2px);
}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.gallery-card{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.92);
  box-shadow:0 20px 46px rgba(6,26,51,.12);
  transition:.28s ease;
  height:100%;
}
.gallery-card:hover{
  transform:translateY(-8px);
  box-shadow:0 30px 70px rgba(6,26,51,.18);
}
.gallery-media{
  position:relative;
  height:255px;
  overflow:hidden;
  background:linear-gradient(135deg,var(--fti-blue),var(--fti-cyan));
}
.gallery-lightbox-trigger,
.gallery-video-placeholder,
.gallery-placeholder{
  width:100%;
  height:100%;
  border:0;
  padding:0;
  display:grid;
  place-items:center;
  text-decoration:none;
  color:#fff;
  background:transparent;
  cursor:pointer;
}
.gallery-lightbox-trigger img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .45s ease, filter .45s ease;
}
.gallery-card:hover .gallery-lightbox-trigger img{
  transform:scale(1.08);
  filter:saturate(1.08) contrast(1.03);
}
.gallery-zoom{
  position:absolute;
  right:18px;
  bottom:18px;
  width:46px;
  height:46px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  background:rgba(6,26,51,.68);
  border:1px solid rgba(255,255,255,.25);
  backdrop-filter:blur(12px);
  transform:translateY(12px);
  opacity:0;
  transition:.25s ease;
}
.gallery-card:hover .gallery-zoom{
  opacity:1;
  transform:none;
}
.gallery-video-placeholder{
  min-height:255px;
  background:
    radial-gradient(circle at 78% 12%, rgba(246,178,26,.32), transparent 28%),
    linear-gradient(135deg,#061a33,#0b4ea2);
  gap:10px;
  align-content:center;
  font-weight:950;
}
.gallery-video-placeholder i{
  font-size:4.2rem;
  filter:drop-shadow(0 15px 28px rgba(0,0,0,.22));
}
.gallery-placeholder{
  gap:10px;
  align-content:center;
  background:
    radial-gradient(circle at 80% 20%, rgba(255,255,255,.16), transparent 24%),
    linear-gradient(135deg,var(--fti-blue),var(--fti-cyan));
  font-weight:950;
}
.gallery-placeholder i{
  font-size:3.7rem;
}
.gallery-media.is-missing-image:before{
  content:"Foto tidak ditemukan";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#fff;
  font-weight:950;
  background:linear-gradient(135deg,var(--fti-blue),var(--fti-cyan));
}
.gallery-type-badge{
  position:absolute;
  top:16px;
  left:16px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  padding:.48rem .75rem;
  border-radius:999px;
  color:#fff;
  background:rgba(6,26,51,.70);
  border:1px solid rgba(255,255,255,.25);
  backdrop-filter:blur(12px);
  font-size:.78rem;
  font-weight:950;
}
.gallery-type-badge.video{
  background:rgba(216,34,42,.82);
}
.gallery-content{
  padding:22px;
}
.gallery-meta{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  color:var(--fti-muted);
  font-size:.86rem;
  font-weight:800;
  margin-bottom:10px;
}
.gallery-content h3{
  margin:0;
  color:#0f2845;
  font-size:1.2rem;
  line-height:1.22;
  font-weight:1000;
  letter-spacing:-.025em;
}
.gallery-content p{
  margin:10px 0 0;
  color:var(--fti-muted);
  line-height:1.62;
}
.gallery-card-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:18px;
}
.gallery-link{
  border:0;
  padding:0;
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:transparent;
  color:var(--fti-blue);
  font-weight:1000;
  text-decoration:none;
}
.gallery-link:hover{
  color:var(--fti-red);
}
.gallery-empty-filter,
.gallery-empty-state{
  border:1px dashed rgba(11,78,162,.24);
  border-radius:30px;
  background:rgba(255,255,255,.86);
  padding:48px 24px;
  text-align:center;
  box-shadow:0 16px 38px rgba(6,26,51,.08);
}
.gallery-empty-filter i,
.gallery-empty-icon{
  width:74px;
  height:74px;
  margin:0 auto 18px;
  border-radius:26px;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(135deg,var(--fti-blue),var(--fti-cyan));
  font-size:2.2rem;
  box-shadow:0 18px 34px rgba(11,78,162,.22);
}
.gallery-empty-filter h3,
.gallery-empty-state h3{
  color:#0f2845;
  font-weight:1000;
}
.gallery-empty-filter p,
.gallery-empty-state p{
  color:var(--fti-muted);
  max-width:560px;
  margin:0 auto;
}
.gallery-modal .modal-content{
  position:relative;
  overflow:hidden;
  border:0;
  border-radius:30px;
  background:#061a33;
  box-shadow:0 36px 95px rgba(2,8,23,.42);
}
.gallery-modal-close{
  position:absolute;
  top:16px;
  right:16px;
  z-index:5;
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  background:rgba(6,26,51,.68);
  backdrop-filter:blur(12px);
}
.gallery-modal-image-wrap{
  min-height:260px;
  max-height:74vh;
  display:grid;
  place-items:center;
  background:#061a33;
}
.gallery-modal-image-wrap img{
  width:100%;
  height:auto;
  max-height:74vh;
  object-fit:contain;
  display:block;
}
.gallery-modal-caption{
  padding:22px 26px 26px;
  background:#fff;
}
.gallery-modal-caption h3{
  margin:10px 0 6px;
  color:#0f2845;
  font-weight:1000;
  letter-spacing:-.025em;
}
.gallery-modal-caption p{
  margin:0;
  color:var(--fti-muted);
  line-height:1.65;
}
html[data-fti-theme=dark] .gallery-filter,
html[data-fti-theme=dark] .gallery-card,
html[data-fti-theme=dark] .gallery-empty-filter,
html[data-fti-theme=dark] .gallery-empty-state{
  background:rgba(10,27,49,.92);
  border-color:rgba(255,255,255,.08);
  color:#e5eefc;
}
html[data-fti-theme=dark] .gallery-content h3,
html[data-fti-theme=dark] .gallery-empty-filter h3,
html[data-fti-theme=dark] .gallery-empty-state h3{
  color:#eef6ff;
}
html[data-fti-theme=dark] .gallery-modal-caption{
  background:#0a1b31;
}
html[data-fti-theme=dark] .gallery-modal-caption h3{
  color:#eef6ff;
}
@media(max-width:1100px){
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gallery-toolbar{align-items:flex-start;}
  .gallery-filters{justify-content:flex-start;}
}
@media(max-width:720px){
  .gallery-hero{padding:78px 0 56px;}
  .gallery-hero-stats{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:1fr;gap:18px;}
  .gallery-media{height:232px;}
  .gallery-filter{padding:.56rem .82rem;font-size:.9rem;}
  .gallery-content{padding:19px;}
  .gallery-card{border-radius:24px;}
}

/* Modern Lecturer Directory */
.lecturer-hero{position:relative;overflow:hidden;padding:112px 0 86px;background:linear-gradient(135deg,#061a33 0%,#0b4ea2 52%,#21b7d8 100%);color:#fff;isolation:isolate;}
.lecturer-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent 88%);z-index:-2;}
.lecturer-hero-bg{position:absolute;border-radius:999px;filter:blur(2px);opacity:.72;z-index:-1;}
.lecturer-orb-one{right:-130px;top:-130px;width:380px;height:380px;background:radial-gradient(circle,rgba(246,178,26,.42),transparent 66%);}
.lecturer-orb-two{left:-180px;bottom:-210px;width:520px;height:520px;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 64%);}
.lecturer-kicker,.section-kicker{display:inline-flex;align-items:center;gap:.55rem;padding:.65rem 1rem;border-radius:999px;font-weight:950;letter-spacing:.02em;}
.lecturer-kicker{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.24);box-shadow:inset 0 1px 0 rgba(255,255,255,.2);}
.lecturer-hero h1{margin:18px 0;font-size:clamp(2.8rem,6.6vw,5.8rem);font-weight:1000;line-height:.9;letter-spacing:-.065em;text-shadow:0 20px 45px rgba(0,0,0,.24);}
.lecturer-hero p{font-size:1.18rem;line-height:1.75;color:#e5f3ff;max-width:720px;}
.lecturer-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;}
.lecturer-hero-panel{position:relative;overflow:hidden;border-radius:34px;padding:32px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.24);box-shadow:0 32px 88px rgba(2,8,23,.26);backdrop-filter:blur(18px);}
.lecturer-hero-panel:before{content:"";position:absolute;right:-80px;top:-80px;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.26),transparent 68%);}
.lecturer-panel-icon{width:72px;height:72px;border-radius:24px;display:grid;place-items:center;background:#fff;color:var(--fti-blue);font-size:34px;box-shadow:0 18px 40px rgba(0,0,0,.14);margin-bottom:18px;}
.lecturer-hero-panel h3{font-weight:950;letter-spacing:-.03em;margin:0 0 8px;}
.lecturer-hero-panel p{font-size:1rem;color:#dbeafe;margin:0;}
.lecturer-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px;}
.lecturer-stats div{padding:16px;border-radius:22px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);}
.lecturer-stats b{display:block;font-size:30px;font-weight:1000;letter-spacing:-.04em;}
.lecturer-stats span{display:block;font-size:12px;font-weight:850;color:#dbeafe;}
.lecturer-section{padding:88px 0;background:linear-gradient(180deg,#f8fbff 0%,#fff 100%);}
.lecturer-section-head{max-width:820px;margin:0 auto 34px;}
.section-kicker{background:#eff6ff;color:var(--fti-blue);border:1px solid #dbeafe;}
.lecturer-section-head h2{margin:16px 0 10px;font-size:clamp(2.1rem,4.8vw,3.5rem);font-weight:1000;letter-spacing:-.055em;color:#071a35;}
.lecturer-section-head p{color:var(--fti-muted);font-size:1.08rem;line-height:1.75;}
.lecturer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:26px;padding:14px;border-radius:28px;background:rgba(255,255,255,.82);border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 45px rgba(6,26,51,.09);backdrop-filter:blur(14px);}
.lecturer-filter-group{display:flex;gap:10px;flex-wrap:wrap;}
.lecturer-filter{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:11px 15px;background:#f1f5f9;color:#334155;font-weight:950;transition:.22s ease;}
.lecturer-filter:hover,.lecturer-filter.active{background:linear-gradient(135deg,var(--fti-blue),var(--fti-cyan));color:#fff;box-shadow:0 14px 30px rgba(11,78,162,.22);transform:translateY(-2px);}
.lecturer-search-wrap{min-width:min(360px,100%);height:48px;display:flex;align-items:center;gap:10px;padding:0 15px;border-radius:999px;background:#fff;border:1px solid #dbeafe;box-shadow:inset 0 1px 0 rgba(255,255,255,.8);}
.lecturer-search-wrap i{color:var(--fti-blue);}
.lecturer-search-wrap input{width:100%;border:0;outline:0;background:transparent;color:#0f172a;font-weight:750;}
.lecturer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.lecturer-card{position:relative;overflow:hidden;border-radius:32px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 20px 55px rgba(15,23,42,.09);transition:.28s ease;}
.lecturer-card:before{content:"";position:absolute;inset:0 0 auto;height:120px;background:linear-gradient(135deg,rgba(11,78,162,.11),rgba(33,183,216,.13));pointer-events:none;}
.lecturer-card:hover{transform:translateY(-10px);box-shadow:0 30px 85px rgba(11,78,162,.16);}
.lecturer-card-top{position:relative;display:flex;justify-content:space-between;align-items:flex-start;padding:24px 24px 10px;}
.lecturer-photo-wrap{position:relative;width:106px;height:106px;border-radius:30px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,var(--fti-blue),var(--fti-cyan));box-shadow:0 18px 42px rgba(11,78,162,.22);border:5px solid #fff;}
.lecturer-photo-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;}
.lecturer-photo-wrap.no-photo img{display:none;}
.lecturer-initials{font-size:28px;font-weight:1000;color:#fff;letter-spacing:-.04em;}
.lecturer-status{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:#dcfce7;color:#166534;font-size:12px;font-weight:950;box-shadow:0 10px 24px rgba(22,101,52,.12);}
.lecturer-card-body{position:relative;padding:12px 24px 20px;}
.lecturer-prodi{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:950;margin-bottom:14px;}
.lecturer-card h3{font-size:1.35rem;font-weight:1000;letter-spacing:-.035em;color:#0f172a;margin:0 0 12px;line-height:1.18;}
.lecturer-role{display:grid;gap:8px;margin-bottom:14px;color:#475569;font-weight:820;}
.lecturer-role span{display:flex;align-items:center;gap:8px;}
.lecturer-role i{color:var(--fti-blue);}
.lecturer-id{display:flex;align-items:center;gap:8px;padding:11px 12px;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0;margin-bottom:14px;}
.lecturer-id i{color:var(--fti-blue);}.lecturer-id span{font-size:12px;color:#64748b;font-weight:900;text-transform:uppercase;letter-spacing:.06em;}.lecturer-id b{margin-left:auto;color:#0f172a;}
.lecturer-tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px;}
.lecturer-tags span{padding:7px 10px;border-radius:999px;background:#fff7ed;color:#9a3412;font-size:12px;font-weight:900;border:1px solid #fed7aa;}
.lecturer-bio{color:#64748b;line-height:1.72;margin:0;}
.lecturer-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px 24px;border-top:1px solid #eef2f7;}
.lecturer-contact{display:flex;gap:8px;}
.lecturer-contact a{width:39px;height:39px;border-radius:14px;display:grid;place-items:center;background:#eff6ff;color:var(--fti-blue);text-decoration:none;font-size:17px;transition:.22s ease;}
.lecturer-contact a:hover{background:var(--fti-blue);color:#fff;transform:translateY(-3px);}
.lecturer-detail-btn{border:0;border-radius:999px;padding:11px 15px;background:linear-gradient(135deg,var(--fti-blue),var(--fti-cyan));color:#fff;font-weight:950;display:inline-flex;align-items:center;gap:7px;transition:.22s ease;white-space:nowrap;}
.lecturer-detail-btn:hover{transform:translateY(-3px);box-shadow:0 15px 32px rgba(11,78,162,.23);}
.lecturer-empty-filter,.lecturer-empty-state{text-align:center;padding:54px 24px;border-radius:32px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 18px 45px rgba(15,23,42,.08);}
.lecturer-empty-filter i,.lecturer-empty-state i{font-size:48px;color:var(--fti-blue);}.lecturer-empty-filter h3,.lecturer-empty-state h3{font-weight:1000;letter-spacing:-.035em;margin:14px 0 8px;}.lecturer-empty-filter p,.lecturer-empty-state p{margin:0;color:#64748b;}
.lecturer-modal .modal-content{border:0;border-radius:34px;overflow:hidden;box-shadow:0 30px 90px rgba(2,8,23,.28);}
.lecturer-modal-close{position:absolute;right:18px;top:18px;z-index:5;width:42px;height:42px;border:0;border-radius:14px;background:rgba(255,255,255,.92);color:#0f172a;box-shadow:0 12px 28px rgba(15,23,42,.15);}
.lecturer-modal-head{display:flex;gap:18px;align-items:center;padding:32px;background:linear-gradient(135deg,#061a33,#0b4ea2);color:#fff;}
.lecturer-modal-photo{width:104px;height:104px;border-radius:30px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,var(--fti-cyan),var(--fti-blue));border:4px solid rgba(255,255,255,.32);box-shadow:0 20px 45px rgba(0,0,0,.2);}
.lecturer-modal-photo img{width:100%;height:100%;object-fit:cover;}.lecturer-modal-photo span{font-size:28px;font-weight:1000;color:#fff;}
.lecturer-modal-kicker{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.13);font-size:12px;font-weight:950;margin-bottom:8px;}
.lecturer-modal-head h3{margin:0;font-weight:1000;letter-spacing:-.035em;}.lecturer-modal-head p{margin:6px 0 0;color:#dbeafe;font-weight:800;}
.lecturer-modal-body{padding:28px;}
.lecturer-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px;}
.lecturer-detail-grid div{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;padding:14px;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0;}
.lecturer-detail-grid i{grid-row:1/3;color:var(--fti-blue);font-size:20px;}.lecturer-detail-grid span{font-size:12px;font-weight:950;text-transform:uppercase;color:#64748b;letter-spacing:.06em;}.lecturer-detail-grid b{color:#0f172a;overflow-wrap:anywhere;}
.lecturer-modal-section{padding:16px 0;border-top:1px solid #e2e8f0;}.lecturer-modal-section h5{display:flex;align-items:center;gap:9px;font-weight:1000;color:#0f172a;margin-bottom:8px;}.lecturer-modal-section h5 i{color:var(--fti-blue);}.lecturer-modal-section p{margin:0;color:#475569;line-height:1.75;white-space:pre-line;}
.lecturer-modal-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px;}.lecturer-modal-links a{display:inline-flex;align-items:center;gap:7px;padding:10px 13px;border-radius:999px;background:#eff6ff;color:var(--fti-blue);font-weight:950;text-decoration:none;}
html[data-fti-theme="dark"] .lecturer-section{background:linear-gradient(180deg,#07111f,#081427);}html[data-fti-theme="dark"] .lecturer-toolbar,html[data-fti-theme="dark"] .lecturer-card,html[data-fti-theme="dark"] .lecturer-empty-filter,html[data-fti-theme="dark"] .lecturer-empty-state{background:#0f1d33;border-color:rgba(148,163,184,.2);box-shadow:0 20px 55px rgba(0,0,0,.32);}html[data-fti-theme="dark"] .lecturer-section-head h2,html[data-fti-theme="dark"] .lecturer-card h3{color:#f8fafc;}html[data-fti-theme="dark"] .lecturer-section-head p,html[data-fti-theme="dark"] .lecturer-bio,html[data-fti-theme="dark"] .lecturer-role{color:#b6c6d8;}html[data-fti-theme="dark"] .lecturer-search-wrap,html[data-fti-theme="dark"] .lecturer-id,html[data-fti-theme="dark"] .lecturer-detail-grid div{background:#081427;border-color:rgba(148,163,184,.22);color:#e5eefb;}html[data-fti-theme="dark"] .lecturer-search-wrap input,html[data-fti-theme="dark"] .lecturer-id b,html[data-fti-theme="dark"] .lecturer-detail-grid b{color:#f8fafc;}html[data-fti-theme="dark"] .lecturer-card-footer,html[data-fti-theme="dark"] .lecturer-modal-section{border-color:rgba(148,163,184,.18);}html[data-fti-theme="dark"] .lecturer-modal .modal-content{background:#0f1d33;color:#e5eefb;}html[data-fti-theme="dark"] .lecturer-modal-section h5{color:#f8fafc;}html[data-fti-theme="dark"] .lecturer-modal-section p{color:#b6c6d8;}
@media(max-width:1199.98px){.lecturer-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.lecturer-toolbar{align-items:flex-start;flex-direction:column;}.lecturer-search-wrap{width:100%;}}
@media(max-width:767.98px){.lecturer-hero{padding:76px 0 62px;text-align:center;}.lecturer-hero-actions{justify-content:center;}.lecturer-stats{grid-template-columns:1fr;}.lecturer-grid{grid-template-columns:1fr;}.lecturer-card-top{padding:22px 20px 8px;}.lecturer-card-body{padding:12px 20px 18px;}.lecturer-card-footer{padding:16px 20px 22px;flex-direction:column;align-items:stretch;}.lecturer-contact{justify-content:center;}.lecturer-detail-btn{justify-content:center;}.lecturer-filter-group{width:100%;overflow:auto;flex-wrap:nowrap;padding-bottom:4px;}.lecturer-filter{white-space:nowrap;}.lecturer-detail-grid{grid-template-columns:1fr;}.lecturer-modal-head{align-items:flex-start;flex-direction:column;}.lecturer-modal-body{padding:22px;}}
.lecturer-modal-links .lecturer-modal-id{display:inline-flex;align-items:center;gap:7px;padding:10px 13px;border-radius:999px;background:#f8fafc;color:#334155;font-weight:950;border:1px solid #e2e8f0;}
html[data-fti-theme="dark"] .lecturer-modal-links .lecturer-modal-id{background:#081427;border-color:rgba(148,163,184,.22);color:#e5eefb;}

/* Contextual photographic heroes */
.hero-image-campus{--fti-context-image:url('../img/hero-2026/campus-community.webp');--fti-context-position:center 48%;--fti-context-position-mobile:62% center}
.hero-image-digital{--fti-context-image:url('../img/hero-2026/digital-lab.webp');--fti-context-position:center 50%;--fti-context-position-mobile:54% center}
.hero-image-classroom{--fti-context-image:url('../img/hero-2026/interactive-class.webp');--fti-context-position:center 48%;--fti-context-position-mobile:58% center}
.hero-image-research{--fti-context-image:url('../img/hero-2026/research-hub.webp');--fti-context-position:center 48%;--fti-context-position-mobile:58% center}
.hero-image-media{--fti-context-image:url('../img/hero-2026/campus-media.webp');--fti-context-position:center 52%;--fti-context-position-mobile:58% center}
.hero-image-activity{--fti-context-image:url('../img/hero-2026/student-life.webp');--fti-context-position:center 50%;--fti-context-position-mobile:50% center}
.hero-image-learning{--fti-context-image:url('../img/hero-2026/learning-hub.webp');--fti-context-position:center 50%;--fti-context-position-mobile:64% center}
.hero-image-admissions{--fti-context-image:url('../img/hero-2026/admissions.webp');--fti-context-position:center 48%;--fti-context-position-mobile:60% center}
.hero-image-career{--fti-context-image:url('../img/hero-2026/career-campus.webp');--fti-context-position:center 50%;--fti-context-position-mobile:62% center}
.fti-context-hero{
  --fti-context-scrim:linear-gradient(90deg,rgba(3,17,38,.92) 0%,rgba(3,17,38,.74) 45%,rgba(3,17,38,.28) 78%,rgba(3,17,38,.16) 100%);
  position:relative;
  isolation:isolate;
  color:#fff;
  background-image:var(--fti-context-scrim),var(--fti-context-image)!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-position:var(--fti-context-position,center)!important;
}
.fti-context-hero:before,
.fti-context-hero:after{display:none!important}
.fti-context-hero>.container{position:relative;z-index:1}
.page-hero.fti-context-hero{min-height:380px;display:flex;align-items:center;padding:100px 0 78px}
.page-hero.fti-context-hero .container{max-width:1250px}
.page-hero.fti-context-hero .section-kicker{
  padding:.58rem .82rem;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  background:rgba(5,30,62,.72);
  color:#fff!important;
  box-shadow:0 4px 8px rgba(2,12,28,.16);
  backdrop-filter:blur(8px);
}
.page-hero.fti-context-hero h1,
.lecturer-hero.fti-context-hero h1,
.cc-hero.fti-context-hero .cc-title{text-shadow:0 4px 8px rgba(2,12,28,.46)}
.page-hero.fti-context-hero .lead,
.lecturer-hero.fti-context-hero p,
.cc-hero.fti-context-hero .cc-subtitle{max-width:720px;color:#f1f7ff;text-shadow:0 2px 5px rgba(2,12,28,.48)}
.fti-context-hero .lecturer-hero-bg,
.fti-context-hero .cc-grid-bg,
.fti-context-hero .cc-orb{display:none!important}
.cc-hero.fti-context-hero .col-lg-7{width:66.6667%}
.cc-hero.fti-context-hero .col-lg-5{display:none}
@media(prefers-reduced-motion:no-preference){
  .page-hero.fti-context-hero>.container,
  .cc-hero.fti-context-hero>.container{animation:ftiContextHeroEnter .72s cubic-bezier(.16,1,.3,1) both}
}
@keyframes ftiContextHeroEnter{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}
@media(max-width:767.98px){
  .fti-context-hero{
    --fti-context-scrim:linear-gradient(90deg,rgba(3,17,38,.9),rgba(3,17,38,.58)),linear-gradient(0deg,rgba(3,17,38,.46),transparent 64%);
    background-position:var(--fti-context-position-mobile,var(--fti-context-position,center))!important;
  }
  .page-hero.fti-context-hero{min-height:330px;padding:72px 0 58px}
  .page-hero.fti-context-hero h1{font-size:clamp(2.25rem,11vw,3.2rem);line-height:1}
  .cc-hero.fti-context-hero .col-lg-7{width:100%}
}
@media(prefers-reduced-transparency:reduce){
  .hero-badge,
  .page-hero.fti-context-hero .section-kicker{background:#051e3e;backdrop-filter:none}
}

/* Gallery albums: stacked covers and multi-photo viewer */
.gallery-photo-stack{overflow:hidden;padding:14px 16px 22px;background:#e7f0fb}.gallery-photo-stack .gallery-lightbox-trigger{position:absolute;inset:14px 16px 22px;z-index:3;width:auto;height:auto;overflow:hidden;border-radius:14px;background:#d7e5f4}.gallery-photo-stack .gallery-lightbox-trigger:focus-visible{outline:3px solid var(--fti-gold);outline-offset:3px}.gallery-stack-sheet{position:absolute;inset:17px 20px 18px;z-index:1;border-radius:14px;background:#fff;border:1px solid rgba(11,78,162,.16);pointer-events:none}.gallery-stack-sheet.is-back{transform:rotate(-3.2deg) translate(-5px,3px)}.gallery-stack-sheet.is-middle{z-index:2;transform:rotate(2.6deg) translate(5px,1px)}.gallery-stack-count{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:rgba(5,25,51,.82);color:#fff;font-size:.78rem;font-weight:900;box-shadow:0 4px 8px rgba(2,12,28,.22);backdrop-filter:blur(8px)}.gallery-photo-stack .gallery-type-badge{top:24px;left:26px}.gallery-photo-stack .gallery-zoom{right:28px;bottom:34px}
.gallery-modal-stage{position:relative;background:#061a33}.gallery-modal-nav{position:absolute;top:50%;z-index:4;width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(5,25,51,.78);color:#fff;transform:translateY(-50%);transition:background-color .2s ease,transform .2s cubic-bezier(.16,1,.3,1)}.gallery-modal-nav:hover{background:var(--fti-blue);transform:translateY(-50%) scale(1.04)}.gallery-modal-nav:focus-visible{outline:3px solid var(--fti-gold);outline-offset:2px}.gallery-modal-nav.is-prev{left:16px}.gallery-modal-nav.is-next{right:16px}.gallery-modal-nav[hidden]{display:none}.gallery-modal-image-wrap img{opacity:1;transition:opacity .18s ease}.gallery-modal-image-wrap img.is-changing{opacity:.45}.gallery-modal-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.gallery-modal-meta>span:last-child{color:var(--fti-muted);font-size:.9rem;font-weight:900}.gallery-modal-thumbnails{display:flex;gap:8px;margin-top:18px;padding:3px 2px 6px;overflow-x:auto}.gallery-modal-thumbnails[hidden]{display:none}.gallery-modal-thumbnails button{width:74px;height:54px;flex:0 0 74px;padding:3px;border:2px solid transparent;border-radius:10px;background:#e6eef7;opacity:.68;transition:opacity .2s ease,border-color .2s ease,transform .2s cubic-bezier(.16,1,.3,1)}.gallery-modal-thumbnails button:hover,.gallery-modal-thumbnails button.is-active{opacity:1;border-color:var(--fti-blue);transform:translateY(-2px)}.gallery-modal-thumbnails button:focus-visible{outline:3px solid var(--fti-gold);outline-offset:2px}.gallery-modal-thumbnails img{width:100%;height:100%;display:block;object-fit:cover;border-radius:6px}
html[data-fti-theme=dark] .gallery-photo-stack{background:#102542}html[data-fti-theme=dark] .gallery-stack-sheet{background:#172b46;border-color:rgba(255,255,255,.14)}html[data-fti-theme=dark] .gallery-modal-meta>span:last-child{color:#a8bdd8}html[data-fti-theme=dark] .gallery-modal-thumbnails button{background:#142841}
@media(max-width:720px){.gallery-photo-stack{height:242px}.gallery-modal-nav{width:40px;height:40px}.gallery-modal-nav.is-prev{left:8px}.gallery-modal-nav.is-next{right:8px}.gallery-modal-thumbnails button{width:62px;height:48px;flex-basis:62px}.gallery-stack-count{font-size:.72rem}}
@media(prefers-reduced-motion:reduce){.gallery-modal-nav,.gallery-modal-image-wrap img,.gallery-modal-thumbnails button,.gallery-stack-sheet{transition:none!important}.gallery-modal-nav:hover{transform:translateY(-50%)}.gallery-modal-thumbnails button:hover,.gallery-modal-thumbnails button.is-active{transform:none}}

/* Academic Resources: integrated academic wayfinding */
.academic-resources-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:92px 0 104px;
  color:#153f73;
  background:#f7f9fc;
}
.academic-resources-pattern,
.academic-resources-pattern span{position:absolute;pointer-events:none}
.academic-resources-pattern{inset:0;z-index:-1;overflow:hidden}
.academic-pattern-ring{
  width:680px;
  height:680px;
  border:20px solid rgba(22,63,112,.025);
  border-radius:43% 57% 48% 52% / 46% 38% 62% 54%;
}
.academic-pattern-ring.is-one{left:-250px;top:-350px;transform:rotate(18deg)}
.academic-pattern-ring.is-two{right:-180px;top:-420px;width:850px;height:850px;transform:rotate(42deg)}
.academic-pattern-ring.is-three{left:29%;bottom:-590px;width:920px;height:920px;transform:rotate(-24deg)}
.academic-resources-container{max-width:1440px}
.academic-resources-head{text-align:center;margin:0 auto 74px}
.academic-resources-head h2{
  margin:0;
  color:#153f73;
  font-size:clamp(2.7rem,5.2vw,5.3rem);
  font-weight:1000;
  line-height:.95;
  letter-spacing:-.055em;
  text-transform:uppercase;
}
.academic-resources-head h2 span,
.academic-resources-head h2 strong{font:inherit}
.academic-resources-head h2 strong{color:#ffbd24}
.academic-title-rule{
  display:block;
  width:106px;
  height:7px;
  margin:27px auto 20px;
  border-radius:999px;
  background:#ffbd24;
}
.academic-resources-head p{
  margin:0;
  color:#667996;
  font-size:clamp(1rem,1.55vw,1.36rem);
  font-weight:550;
  letter-spacing:.13em;
}
.academic-resources-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:32px;
}
.academic-resource-card{
  position:relative;
  min-height:248px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:29px;
  overflow:hidden;
  padding:34px 26px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  color:#ffbd24;
  background:#153f73;
  box-shadow:0 13px 22px rgba(10,31,59,.19);
  text-align:center;
  text-decoration:none;
  transform:translateZ(0);
  transition:transform .42s cubic-bezier(.16,1,.3,1),box-shadow .42s cubic-bezier(.16,1,.3,1),background-color .28s ease,border-color .28s ease;
}
.academic-resource-card:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% -20%,rgba(255,189,36,.18),transparent 47%);
  opacity:0;
  transition:opacity .3s ease;
}
.academic-resource-icon{
  position:relative;
  z-index:1;
  width:84px;
  height:76px;
  display:grid;
  place-items:center;
  font-size:4rem;
  line-height:1;
  transition:transform .42s cubic-bezier(.16,1,.3,1),filter .3s ease;
}
.academic-resource-label{
  position:relative;
  z-index:1;
  font-size:1.18rem;
  font-weight:900;
  line-height:1.25;
}
.academic-resource-arrow{
  position:absolute;
  z-index:2;
  top:19px;
  right:20px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,189,36,.4);
  border-radius:50%;
  opacity:0;
  transform:translate(-5px,5px);
  transition:opacity .25s ease,transform .35s cubic-bezier(.16,1,.3,1),background-color .25s ease,color .25s ease;
}
.academic-resource-card:hover{
  color:#ffbd24;
  border-color:rgba(255,189,36,.42);
  background:#103868;
  box-shadow:0 25px 48px rgba(10,31,59,.25),0 0 0 1px rgba(255,189,36,.08);
  transform:translateY(-9px);
}
.academic-resource-card:hover:before{opacity:1}
.academic-resource-card:hover .academic-resource-icon{transform:translateY(-4px) scale(1.07);filter:drop-shadow(0 8px 14px rgba(255,189,36,.17))}
.academic-resource-card:hover .academic-resource-arrow{opacity:1;transform:translate(0,0);background:#ffbd24;color:#153f73}
.academic-resource-card:focus-visible{
  outline:4px solid #ffbd24;
  outline-offset:5px;
  color:#ffbd24;
  box-shadow:0 0 0 9px rgba(255,189,36,.18),0 25px 48px rgba(10,31,59,.25);
}
.resource-motion-ready [data-resource-heading],
.resource-motion-ready [data-resource-card]{opacity:0;transform:translateY(24px)}
.resource-motion-ready [data-resource-heading].is-visible{opacity:1;transform:translateY(0);transition:opacity .72s ease,transform .72s cubic-bezier(.16,1,.3,1)}
.resource-motion-ready [data-resource-card].is-visible{
  opacity:1;
  transform:translateY(0);
  transition:opacity .62s ease calc(var(--resource-index) * 55ms),transform .72s cubic-bezier(.16,1,.3,1) calc(var(--resource-index) * 55ms),box-shadow .42s cubic-bezier(.16,1,.3,1),background-color .28s ease,border-color .28s ease;
}
.resource-motion-ready [data-resource-card].is-visible:hover{transform:translateY(-9px)}
html[data-fti-theme=dark] .academic-resources-section{background:#071426}
html[data-fti-theme=dark] .academic-resources-head h2{color:#e9f2ff}
html[data-fti-theme=dark] .academic-resources-head p{color:#a9bbd2}
html[data-fti-theme=dark] .academic-pattern-ring{border-color:rgba(255,255,255,.025)}
html[data-fti-theme=dark] .academic-resource-card{background:#123863;border-color:rgba(255,255,255,.08)}
html[data-fti-theme=dark] .academic-resource-card:hover{background:#174778}
@media(max-width:1199.98px){
  .academic-resources-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .academic-resource-card{min-height:220px}
}
@media(max-width:767.98px){
  .academic-resources-section{padding:70px 0 76px}
  .academic-resources-head{margin-bottom:46px}
  .academic-resources-head h2 span,.academic-resources-head h2 strong{display:block}
  .academic-resources-head p{max-width:340px;margin-inline:auto;line-height:1.6;letter-spacing:.07em}
  .academic-title-rule{width:78px;height:5px;margin:20px auto 16px}
  .academic-resources-grid{grid-template-columns:1fr;gap:16px}
  .academic-resource-card{min-height:168px;gap:17px;padding:25px}
  .academic-resource-icon{width:66px;height:60px;font-size:3.2rem}
  .academic-resource-label{font-size:1.08rem}
}
@media(prefers-reduced-motion:reduce){
  .academic-resource-card,.academic-resource-card:before,.academic-resource-icon,.academic-resource-arrow,
  .resource-motion-ready [data-resource-heading],.resource-motion-ready [data-resource-card]{transition:none!important;animation:none!important}
  .resource-motion-ready [data-resource-heading],.resource-motion-ready [data-resource-card]{opacity:1;transform:none}
  .academic-resource-card:hover,.resource-motion-ready [data-resource-card].is-visible:hover{transform:none}
}

/* Global frontend motion language */
body{overflow-x:clip}
.fti-reveal{opacity:1}
.fti-motion-ready .fti-reveal{
  opacity:0;
  filter:blur(3px);
  transition:
    opacity .62s ease var(--fti-motion-delay,0ms),
    transform .76s cubic-bezier(.16,1,.3,1) var(--fti-motion-delay,0ms),
    filter .58s ease var(--fti-motion-delay,0ms);
  will-change:opacity,transform,filter;
}
.fti-motion-ready .fti-reveal[data-fti-motion="rise"]{transform:translate3d(0,28px,0)}
.fti-motion-ready .fti-reveal[data-fti-motion="slide-left"]{transform:translate3d(-34px,0,0)}
.fti-motion-ready .fti-reveal[data-fti-motion="slide-right"]{transform:translate3d(34px,0,0)}
.fti-motion-ready .fti-reveal.is-visible{
  opacity:1;
  filter:none;
}
.fti-motion-ready .fti-reveal[data-fti-motion="rise"].is-visible,
.fti-motion-ready .fti-reveal[data-fti-motion="slide-left"].is-visible,
.fti-motion-ready .fti-reveal[data-fti-motion="slide-right"].is-visible{transform:translate3d(0,0,0)}
.fti-motion-ready .fti-reveal.is-visible{will-change:auto}

.btn i.bi-arrow-right,
.btn i.bi-arrow-up-right,
.news-read-link i,
.cc-card-link i,
.related-news-link i{
  display:inline-block;
  transition:transform .28s cubic-bezier(.16,1,.3,1);
}
.btn:hover i.bi-arrow-right,
.news-read-link:hover i,
.cc-card-link:hover i{transform:translateX(4px)}
.btn:hover i.bi-arrow-up-right{transform:translate(3px,-3px)}
.btn,
.news-read-link,
.cc-card-link,
.announcement-link,
.related-news-link{
  transition:
    color .22s ease,
    background-color .22s ease,
    border-color .22s ease,
    box-shadow .28s ease,
    transform .28s cubic-bezier(.16,1,.3,1);
}
.btn:active{transform:scale(.98)}
.info-card img,
.news-index-card img,
.gallery-card img,
.lecturer-card img{
  transition:transform .7s cubic-bezier(.16,1,.3,1),filter .45s ease;
}
.info-card:hover img,
.news-index-card:hover img,
.gallery-card:hover img{transform:scale(1.035)}

@media(max-width:767.98px){
  .fti-motion-ready .fti-reveal[data-fti-motion="rise"]{transform:translate3d(0,18px,0)}
  .fti-motion-ready .fti-reveal[data-fti-motion="slide-left"]{transform:translate3d(-18px,0,0)}
  .fti-motion-ready .fti-reveal[data-fti-motion="slide-right"]{transform:translate3d(18px,0,0)}
}
@media(prefers-reduced-motion:reduce){
  .fti-reveal,
  .fti-motion-ready .fti-reveal,
  .fti-motion-ready .fti-reveal.is-visible{
    opacity:1!important;
    filter:none!important;
    transform:none!important;
    transition:none!important;
    animation:none!important;
    will-change:auto!important;
  }
  .btn,
  .btn i,
  .news-read-link,
  .news-read-link i,
  .cc-card-link,
  .cc-card-link i,
  .announcement-link,
  .related-news-link,
  .info-card img,
  .news-index-card img,
  .gallery-card img,
  .lecturer-card img{
    transition:none!important;
  }
  .btn:active,
  .btn:hover i,
  .news-read-link:hover i,
  .cc-card-link:hover i,
  .info-card:hover img,
  .news-index-card:hover img,
  .gallery-card:hover img{transform:none!important}
}
