/* V2.0 — Fasilitas Kampus. Namespaced: tidak mengubah menu dan halaman lama. */
.v20-facilities,.v20-home-section{color:#18364e;font-family:inherit}
.v20-facilities *,.v20-home-section *{box-sizing:border-box}
.v20-facilities .container,.v20-home-section .container{max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px}
.v20-kicker{display:inline-block;color:#0a829e;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.v20-hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(115deg,#091f35,#104961 66%,#08748b);padding:65px 0 72px;color:#fff}
.v20-hero:after{content:"";position:absolute;right:-150px;top:-205px;width:600px;height:600px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 60px rgba(255,255,255,.035),0 0 0 130px rgba(255,255,255,.03);pointer-events:none;z-index:-1}
.v20-hero .v20-kicker{color:#f4ca81;margin:24px 0 12px}
.v20-hero h1{font-size:clamp(36px,5vw,64px);line-height:1.12;letter-spacing:-.045em;color:#fff;margin:0 0 20px;max-width:880px}
.v20-hero h1 em{font-style:normal;color:#f2c67d}
.v20-hero p{color:#d6e9f1;max-width:690px;font-size:17px;line-height:1.7;margin:0}
.v20-breadcrumb{display:flex;gap:13px;flex-wrap:wrap;align-items:center;font-size:14px;color:#d3e2ec}
.v20-breadcrumb a{color:#ecf6fc;text-decoration:none}.v20-breadcrumb a:hover{text-decoration:underline}
.v20-hero-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.v20-hero-meta span{padding:8px 13px;border:1px solid rgba(255,255,255,.24);border-radius:99px;background:rgba(255,255,255,.07);color:#e5f1f4;font-size:12px;font-weight:700}
.v20-catalog{background:#f5f9fb;padding:68px 0 84px}
.v20-catalog-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}
.v20-catalog-heading h2{font-size:clamp(27px,3vw,38px);color:#102e46;line-height:1.2;letter-spacing:-.025em;margin:8px 0 0}
.v20-catalog-heading p{color:#607686;max-width:330px;font-size:15px;line-height:1.6;margin:0}
.v20-filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:30px}
.v20-filter{display:inline-flex;align-items:center;min-height:42px;padding:10px 16px;font-size:14px;line-height:1.3;font-weight:700;border:1px solid #cedce4;background:#fff;color:#28495f;text-decoration:none;border-radius:10px;transition:background-color .2s,transform .2s}
.v20-filter:hover,.v20-filter.is-active{background:#0a5770;color:#fff;border-color:#0a5770;text-decoration:none}
.v20-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.v20-card{overflow:hidden;background:#fff;border:1px solid #deebf0;border-radius:18px;box-shadow:0 12px 32px rgba(11,39,57,.05);display:flex;flex-direction:column;min-width:0;transition:transform .2s,box-shadow .2s}
.v20-card:hover{transform:translateY(-4px);box-shadow:0 20px 38px rgba(11,39,57,.1)}
.v20-card-media{display:block;aspect-ratio:4/3;overflow:hidden;background:#eaf4f7;text-decoration:none}
.v20-card-image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.v20-card:hover .v20-card-image{transform:scale(1.035)}
.v20-no-photo{height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#6c94a4;gap:9px}
.v20-no-photo>span{font-size:52px;color:#b2d2df;line-height:1}.v20-no-photo small{font-size:13px;font-weight:700}
.v20-card-content{padding:22px 23px 24px;display:flex;flex-direction:column;align-items:start;flex:1}
.v20-tag{display:inline-block;font-size:11px;font-weight:800;text-transform:uppercase;color:#087d99;letter-spacing:.07em;margin-bottom:12px}
.v20-card h3{font-size:21px;line-height:1.3;margin:0 0 10px;color:#17384f;letter-spacing:-.02em}
.v20-card h3 a{text-decoration:none;color:inherit}.v20-card h3 a:hover{color:#087d99}
.v20-card p{font-size:14px;line-height:1.7;color:#617684;margin:0 0 20px}
.v20-card-link{margin-top:auto;color:#08728b;font-size:14px;font-weight:800;text-decoration:none}.v20-card-link:hover{text-decoration:underline}
.v20-empty{display:flex;align-items:center;gap:22px;border:1px dashed #b7d2dc;border-radius:18px;background:#fff;padding:30px;color:#315166}
.v20-empty>span{font-size:56px;line-height:1;color:#86b6c7}.v20-empty strong{display:block;font-size:20px;color:#18364e}
.v20-empty p{line-height:1.6;font-size:14px;margin:6px 0 0;color:#6a7f8a}
.v20-pagination{display:flex;gap:8px;justify-content:center;margin:33px 0 0}
.v20-pagination a{min-width:43px;min-height:43px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #c8dce4;color:#20536a;border-radius:9px;text-decoration:none;font-weight:800}
.v20-pagination a.is-active,.v20-pagination a:hover{background:#0a5870;color:white;border-color:#0a5870}
.v20-info-strip{margin-top:50px;background:#113b54;border-radius:20px;padding:26px 30px;display:flex;align-items:center;justify-content:space-between;gap:25px;color:#fff}
.v20-info-strip strong{font-size:20px;color:#fff}.v20-info-strip p{margin:6px 0 0;font-size:14px;line-height:1.6;color:#d2e7ef}
.v20-info-strip a,.v20-primary-action{background:#0ca28d;padding:14px 20px;color:#fff;font-size:14px;font-weight:800;border-radius:11px;text-decoration:none;white-space:nowrap}
.v20-info-strip a:hover,.v20-primary-action:hover{background:#087e74;color:white}
.v20-home-section{background:#eef6f8;padding:72px 0 78px}
.v20-home-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}
.v20-home-heading h2{font-size:clamp(30px,3.5vw,45px);line-height:1.15;color:#153248;letter-spacing:-.035em;margin:10px 0 13px}.v20-home-heading h2 em{color:#087d95;font-style:normal}
.v20-home-heading p{font-size:15px;line-height:1.7;max-width:620px;color:#5c7381;margin:0}
.v20-button-outline{display:inline-flex;justify-content:center;align-items:center;padding:14px 19px;min-height:47px;white-space:nowrap;border-radius:11px;background:#0b526a;color:white;font-size:14px;font-weight:800;text-decoration:none}.v20-button-outline:hover{background:#073a4d;color:white}
.v20-home-section .v20-empty{background:rgba(255,255,255,.78)}
.v20-detail-hero{padding-top:54px;padding-bottom:58px}.v20-detail-hero h1{max-width:850px}
.v20-detail-content{padding:62px 0 90px;background:#f5f9fb}.v20-detail-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:32px;align-items:start}
.v20-detail-main,.v20-detail-aside{background:white;border:1px solid #dce8ec;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(18,54,72,.04)}
.v20-detail-photo{background:#eaf2f6}.v20-detail-photo img{width:100%;height:auto;display:block;max-height:560px;object-fit:cover}
.v20-detail-copy{padding:30px;line-height:1.8;font-size:16px;color:#29485b;overflow-wrap:anywhere}.v20-detail-copy p{margin:0 0 18px}.v20-detail-copy img{max-width:100%;height:auto}.v20-detail-copy h2,.v20-detail-copy h3{color:#17364d;line-height:1.3}
.v20-detail-aside{padding:27px;display:flex;flex-direction:column;gap:16px}.v20-detail-aside h2{margin:0;font-size:24px;line-height:1.25;color:#143c56}.v20-detail-aside p{font-size:14px;color:#677e8b;line-height:1.7;margin:0}.v20-detail-aside>a:not(.v20-primary-action){color:#0b617a;text-decoration:none;font-weight:800;font-size:14px}.v20-detail-aside>a:hover{text-decoration:underline}
@media(max-width:950px){.v20-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v20-detail-layout{grid-template-columns:1fr}.v20-home-heading{align-items:start;flex-direction:column;gap:20px}}
@media(max-width:650px){.v20-facilities .container,.v20-home-section .container{padding-left:18px;padding-right:18px}.v20-hero{padding:42px 0 50px}.v20-hero h1{font-size:38px}.v20-hero p{font-size:15px}.v20-grid{grid-template-columns:1fr;gap:17px}.v20-card-media{aspect-ratio:16/10}.v20-catalog,.v20-home-section{padding:44px 0 55px}.v20-catalog-heading{align-items:start;flex-direction:column;gap:8px}.v20-catalog-heading p{max-width:none}.v20-info-strip{flex-direction:column;align-items:start;padding:24px 20px}.v20-info-strip a{white-space:normal}.v20-empty{align-items:start;padding:20px 17px;gap:13px}.v20-empty>span{font-size:40px}.v20-home-heading h2{font-size:33px}.v20-detail-content{padding:30px 0 55px}.v20-detail-copy,.v20-detail-aside{padding:22px}.v20-detail-hero h1{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.v20-card,.v20-card-image,.v20-filter{transition:none!important}}
