/* ==========================================================
   CSS ASLI WEBSITE SMKN 1 KUPANG - AMAN
   File ini memakai CSS asli yang abang kirim, lalu ditambah
   patch final di bagian paling bawah supaya tidak merusak
   layout lama. Cari: PATCH FINAL AMAN.
   ========================================================== */

:root{
--blue:#0b4ea2;
--gold:#ffb703;
--dark:#0f172a;
--muted:#64748b;
--bg:#f8fafc
}

*{
box-sizing:border-box
}

body{
margin:0;
font-family:Inter,Segoe UI,Arial,sans-serif;
color:var(--dark);
background:var(--bg)
}

a{
text-decoration:none;
color:inherit
}

.container{
max-width:1180px;
margin:auto;
padding:0 18px
}

.topbar{
background:#073b7a;
color:#fff;
font-size:14px;
padding:9px 0
}

.navbar{
position:sticky;
top:0;
z-index:50;
background:#fff;
box-shadow:0 8px 30px #0001
}

.navwrap{
display:flex;
align-items:center;
justify-content:space-between;
padding:13px 0
}

.brand{
display:flex;
gap:12px;
align-items:center;
font-weight:800;
color:var(--blue)
}

.brand img{
width:52px;
height:52px;
object-fit:contain
}

.menu{
display:flex;
gap:18px;
align-items:center;
font-weight:700
}

.menu a{
color:#243044
}

.menu a:hover{
color:var(--blue)
}

.btn{
background:linear-gradient(135deg,var(--blue),#0ea5e9);
color:#fff;
padding:11px 18px;
border-radius:14px;
display:inline-block;
border:0;
font-weight:800;
cursor:pointer
}

.hero{
position:relative;
height:620px;
overflow:hidden;
background:#061c3a
}

.slide{
position:absolute;
inset:0;
opacity:0;
transition:1s;
background-size:cover;
background-position:center
}

.slide.active{
opacity:1
}

.slide:after{
content:'';
position:absolute;
inset:0;
background:linear-gradient(90deg,#061c3add,#061c3a80,#061c3a20)
}

.hero-content{
position:relative;
z-index:2;
color:#fff;
padding-top:135px;
max-width:720px
}

.tag{
display:inline-block;
background:#ffffff24;
border:1px solid #ffffff40;
border-radius:99px;
padding:8px 14px;
margin-bottom:18px
}

.hero h1{
font-size:58px;
line-height:1.05;
margin:0 0 16px
}

.hero p{
font-size:19px;
line-height:1.7;
color:#e2e8f0
}

.section{
padding:80px 0
}

.title{
display:flex;
justify-content:space-between;
gap:20px;
align-items:end;
margin-bottom:28px
}

.title h2{
font-size:38px;
margin:0;
color:#0b2245
}

.title p{
max-width:620px;
color:var(--muted);
line-height:1.7
}

.grid{
display:grid;
gap:22px
}

.grid-3{
grid-template-columns:repeat(3,1fr)
}

.grid-4{
grid-template-columns:repeat(4,1fr)
}

.card{
background:#fff;
border-radius:22px;
box-shadow:0 16px 45px #0f172a12;
overflow:hidden;
border:1px solid #e5e7eb
}

.card-body{
padding:22px
}

.card img{
width:100%;
height:210px;
object-fit:cover
}

.badge{
color:#0b4ea2;
background:#dbeafe;
border-radius:99px;
padding:7px 12px;
display:inline-block;
font-size:13px;
font-weight:800
}

.stats{
background:linear-gradient(135deg,#0b4ea2,#082f66);
color:#fff
}

.stat{
padding:30px;
text-align:center
}

.stat b{
font-size:42px;
color:var(--gold)
}

.profile{
display:grid;
grid-template-columns:1.1fr .9fr;
gap:35px;
align-items:center
}

.profile-box{
background:#fff;
padding:34px;
border-radius:28px;
box-shadow:0 16px 45px #0f172a12
}

.profile-box p{
line-height:1.8;
color:#475569
}

.footer{
background:#07172d;
color:#cbd5e1;
padding:55px 0 18px
}

.footer h3{
color:#fff
}

.form{
background:#fff;
padding:28px;
border-radius:24px;
box-shadow:0 16px 45px #0f172a12
}

.input,select,textarea{
width:100%;
padding:13px 14px;
border:1px solid #cbd5e1;
border-radius:13px;
margin:8px 0 14px;
font:inherit
}

.mobile{
display:none
}

@media(max-width:900px){
.menu{
display:none
}

.mobile{
display:inline-block
}

.hero{
height:560px
}

.hero h1{
font-size:39px
}

.grid-3,.grid-4,.profile{
grid-template-columns:1fr
}

.title{
display:block
}

.card img{
height:190px
}

}

.white{
background:#fff
}

.topflex{
display:flex;
justify-content:space-between;
gap:18px;
flex-wrap:wrap
}

.breaking{
background:#fff;
border-bottom:1px solid #e5e7eb
}

.news-ticker{
display:flex;
gap:15px;
align-items:center;
padding:12px 18px
}

.news-ticker b{
background:#ef4444;
color:#fff;
border-radius:10px;
padding:7px 12px
}

.news-layout{
display:grid;
grid-template-columns:1.7fr .8fr;
gap:26px;
align-items:start
}

.news-headline img{
height:360px
}

.news-list{
display:flex;
flex-direction:column;
gap:14px
}

.mini-news{
display:grid;
grid-template-columns:120px 1fr;
gap:14px;
background:#fff;
border:1px solid #e5e7eb;
border-radius:18px;
padding:10px;
box-shadow:0 10px 25px #0f172a0d
}

.mini-news img{
width:120px;
height:86px;
object-fit:cover;
border-radius:13px
}

.mini-news small,.side-link small{
display:block;
color:var(--muted);
margin-top:6px
}

.sidebar{
background:#f8fafc;
border:1px solid #e5e7eb;
border-radius:22px;
padding:20px;
position:sticky;
top:95px
}

.side-link{
display:block;
padding:14px 0;
border-bottom:1px solid #e5e7eb;
font-weight:800
}

.article-wrap{
display:grid;
grid-template-columns:1.7fr .7fr;
gap:30px
}

.article{
background:#fff;
border-radius:26px;
padding:30px;
box-shadow:0 16px 45px #0f172a12
}

.article h1{
font-size:44px;
margin:14px 0
}

.article img{
width:100%;
max-height:520px;
object-fit:cover;
border-radius:22px;
margin:22px 0
}

.article p{
font-size:18px;
line-height:1.85;
color:#334155
}

.footer-grid{
display:grid;
grid-template-columns:2fr 1fr 1fr 1.2fr;
gap:28px
}

.footer a{
display:block;
color:#cbd5e1;
margin:10px 0
}

.footer h4{
color:#fff;
margin-top:0
}

.social{
letter-spacing:8px;
color:var(--gold)
}

.copyright{
border-top:1px solid #ffffff18;
margin-top:28px;
padding-top:18px;
text-align:center
}

.form button{
min-width:140px
}

table{
border-collapse:collapse
}

th,td{
border-bottom:1px solid #e5e7eb
}

@media(max-width:900px){
.news-layout,.article-wrap,.footer-grid{
grid-template-columns:1fr
}

.news-headline img{
height:230px
}

.article h1{
font-size:32px
}

.sidebar{
position:static
}

.mini-news{
grid-template-columns:95px 1fr
}

.mini-news img{
width:95px;
height:75px
}

.topflex{
font-size:12px
}

}

/* === SMKN 1 Kupang Enterprise Blue Gradient Upgrade === */
:root{
--blue2:#0758c9;
--cyan:#23c7ff;
--navy:#061a3d;
--soft:#eaf4ff
}

.blue-luxury{
background:radial-gradient(circle at 15% 10%,#1fb6ff55,transparent 35%),linear-gradient(135deg,#031633,#0758c9 55%,#23c7ff)
}

.navbar{
backdrop-filter:blur(14px);
background:rgba(255,255,255,.92)
}

.brand span{
letter-spacing:.2px
}

.btn{
box-shadow:0 14px 35px rgba(14,116,255,.28);
transition:.25s
}

.btn:hover{
transform:translateY(-3px);
box-shadow:0 20px 45px rgba(14,116,255,.35)
}

.btn-light{
background:#fff;
color:#0758c9
}

.profile-gradient{
background:linear-gradient(135deg,#eaf4ff,#ffffff 45%,#dff7ff)
}

.glass{
background:rgba(255,255,255,.72);
border:1px solid rgba(255,255,255,.8);
backdrop-filter:blur(16px)
}

.principal-section{
background:linear-gradient(135deg,#031633,#0758c9 58%,#23c7ff);
position:relative;
overflow:hidden
}

.principal-section:before{
content:'';
position:absolute;
width:520px;
height:520px;
border-radius:50%;
background:#ffffff18;
right:-180px;
top:-180px
}

.principal-section:after{
content:'';
position:absolute;
width:360px;
height:360px;
border-radius:50%;
background:#23c7ff30;
left:-120px;
bottom:-120px
}

.principal-card{
position:relative;
z-index:2;
display:grid;
grid-template-columns:360px 1fr;
gap:36px;
align-items:center;
background:rgba(255,255,255,.12);
border:1px solid rgba(255,255,255,.25);
border-radius:34px;
padding:34px;
box-shadow:0 30px 90px rgba(0,0,0,.25);
backdrop-filter:blur(18px);
color:#fff
}

.principal-photo img{
width:100%;
height:430px;
object-fit:cover;
border-radius:28px;
border:8px solid rgba(255,255,255,.25);
box-shadow:0 24px 60px rgba(0,0,0,.28)
}

.principal-text h2{
font-size:42px;
line-height:1.1;
margin:16px 0
}

.principal-text p{
font-size:18px;
line-height:1.85;
color:#eaf4ff
}

.principal-mini{
display:grid;
grid-template-columns:220px 1fr;
gap:26px;
align-items:start;
margin:30px 0;
padding:24px;
border-radius:26px;
background:linear-gradient(135deg,#eaf4ff,#fff);
border:1px solid #dbeafe
}

.principal-mini img{
width:220px;
height:260px;
object-fit:cover;
border-radius:22px
}

.wa-float{
position:fixed;
right:22px;
bottom:22px;
z-index:80;
background:linear-gradient(135deg,#16a34a,#22c55e);
color:#fff;
padding:14px 18px;
border-radius:999px;
box-shadow:0 20px 45px rgba(22,163,74,.35);
font-weight:900;
display:flex;
gap:9px;
align-items:center
}

.alert-ok{
background:#dcfce7;
color:#166534;
padding:12px 14px;
border-radius:14px;
font-weight:800
}

.card{
transition:.28s
}

.card:hover{
transform:translateY(-6px);
box-shadow:0 24px 60px #0758c926
}

.footer{
background:radial-gradient(circle at 10% 20%,#0758c955,transparent 25%),linear-gradient(135deg,#020b1d,#061a3d 55%,#073b7a)
}

@media(max-width:900px){
.principal-card,.principal-mini{
grid-template-columns:1fr;
padding:22px
}

.principal-photo img{
height:360px
}

.principal-text h2{
font-size:31px
}

.principal-text p{
font-size:16px
}

.wa-float span{
display:none
}

.wa-float{
padding:15px;
border-radius:50%
}

.hero-content{
padding-top:105px
}

}

/* ===== V4 ENTERPRISE PREMIUM ===== */
:root{
--blue1:#052f7c;
--blue2:#0a4d9d;
--blue3:#1e88e5;
--gold:#ffd36b;
--soft:#f5f9ff;
--dark:#082044
}

.profile-menu{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
gap:16px;
margin:24px 0
}

.profile-menu a{
padding:18px;
border-radius:22px;
background:linear-gradient(135deg,#fff,#eef6ff);
box-shadow:0 16px 45px rgba(10,77,157,.13);
font-weight:800;
color:var(--dark);
border:1px solid rgba(30,136,229,.14)
}

.identity-list{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
gap:14px
}

.identity-item{
background:#fff;
border-radius:18px;
padding:18px;
box-shadow:0 12px 36px rgba(8,32,68,.08);
border-left:5px solid var(--blue3)
}

.lux-card{
border-radius:26px;
background:rgba(255,255,255,.88);
box-shadow:0 25px 70px rgba(8,32,68,.13);
border:1px solid rgba(255,255,255,.7);
overflow:hidden;
transition:.35s
}

.lux-card:hover{
transform:translateY(-9px);
box-shadow:0 32px 90px rgba(10,77,157,.22)
}

.gradient-title{
background:linear-gradient(135deg,var(--blue1),var(--blue3));
color:#fff;
border-radius:28px;
padding:34px;
position:relative;
overflow:hidden
}

.gradient-title:after{
content:"";
position:absolute;
right:-60px;
top:-60px;
width:180px;
height:180px;
background:rgba(255,211,107,.28);
border-radius:50%
}

.timeline{
position:relative;
margin-top:25px
}

.timeline .item{
background:#fff;
border-radius:22px;
padding:20px;
margin:15px 0 15px 25px;
box-shadow:0 12px 35px rgba(8,32,68,.08);
border-left:5px solid var(--gold)
}

.org-chart{
display:flex;
flex-direction:column;
gap:16px;
align-items:center
}

.org-node{
padding:16px 24px;
border-radius:20px;
background:linear-gradient(135deg,#0a4d9d,#42a5f5);
color:#fff;
font-weight:800;
box-shadow:0 16px 40px rgba(10,77,157,.3);
text-align:center
}

.org-row{
display:flex;
gap:14px;
flex-wrap:wrap;
justify-content:center
}

.gallery-link{
cursor:pointer;
display:block
}

.lightbox{
position:fixed;
inset:0;
background:rgba(0,13,37,.92);
display:none;
align-items:center;
justify-content:center;
z-index:9999;
padding:25px
}

.lightbox.active{
display:flex
}

.lightbox img{
max-width:94vw;
max-height:86vh;
border-radius:18px;
box-shadow:0 25px 80px rgba(0,0,0,.45)
}

.lightbox .close,.lightbox .prev,.lightbox .next{
position:absolute;
background:#fff;
color:#0a4d9d;
border:0;
border-radius:999px;
width:46px;
height:46px;
font-size:24px;
cursor:pointer
}

.lightbox .close{
right:25px;
top:25px
}

.lightbox .prev{
left:25px
}

.lightbox .next{
right:25px
}

.alumni-hero{
background:linear-gradient(135deg,#052f7c,#0a4d9d,#42a5f5);
color:#fff;
border-radius:32px;
padding:42px;
margin-bottom:25px
}

.alumni-stats{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
gap:16px
}

.alumni-stat{
background:rgba(255,255,255,.16);
border:1px solid rgba(255,255,255,.25);
border-radius:22px;
padding:20px;
text-align:center
}

.alumni-stat b{
font-size:32px;
color:var(--gold)
}

.auth-box{
max-width:620px;
margin:auto
}

.status-pill{
display:inline-block;
padding:6px 12px;
border-radius:99px;
background:#e6f4ff;
color:#07509e;
font-weight:700
}

.btn-gold{
background:linear-gradient(135deg,#ffd36b,#ffb300)!important;
color:#10233f!important
}

.mega-footer-brand{
font-size:24px;
font-weight:900
}

.footer a{
display:block;
color:#dcecff;
text-decoration:none;
margin:7px 0
}

.footer{
background:linear-gradient(135deg,#06265e,#0a4d9d,#092b6d)!important;
color:#fff
}

.footer p,.footer small{
color:#dcecff
}

.social-btns a{
display:inline-flex!important;
width:36px;
height:36px;
align-items:center;
justify-content:center;
border-radius:50%;
background:rgba(255,255,255,.14);
margin-right:8px
}

.mobile-menu-button{
display:none
}

@media(max-width:900px){
.menu{
display:none
}

.menu.open{
display:flex;
position:absolute;
top:76px;
left:15px;
right:15px;
flex-direction:column;
background:#fff;
padding:18px;
border-radius:18px;
box-shadow:0 24px 80px rgba(0,0,0,.2);
z-index:1000
}

.mobile,.mobile-menu-button{
display:block
}

.principal-card,.profile{
grid-template-columns:1fr!important
}

.hero-content h1{
font-size:34px!important
}

.section{
padding:45px 0
}

.org-row{
flex-direction:column;
width:100%
}

.org-node{
width:100%
}

}

/* =========================================================
   V5 PREMIUM RESPONSIVE UI - SMKN 1 KUPANG
   Modern enterprise blue-gradient, luxury cards, mobile first
   ========================================================= */
html{
scroll-behavior:smooth
}

body{
background:linear-gradient(180deg,#f7fbff 0%,#eef6ff 42%,#ffffff 100%);
overflow-x:hidden
}

.container{
width:min(1180px,calc(100% - 32px));
margin-inline:auto
}

.topbar{
background:linear-gradient(90deg,#031633,#0a4d9d,#1e88e5);
color:#eaf6ff;
font-size:13px
}

.navbar{
position:sticky;
top:0;
z-index:900;
border-bottom:1px solid rgba(10,77,157,.12);
box-shadow:0 14px 45px rgba(8,32,68,.08)
}

.navwrap{
min-height:78px
}

.brand{
display:flex;
align-items:center;
gap:12px;
text-decoration:none;
color:#082044;
font-weight:900
}

.brand img{
width:54px;
height:54px;
object-fit:contain;
filter:drop-shadow(0 8px 14px rgba(10,77,157,.22))
}

.brand small{
font-weight:700;
color:#1e88e5
}

.menu{
align-items:center;
gap:6px
}

.menu a{
padding:10px 12px;
border-radius:999px;
font-weight:800;
color:#082044;
text-decoration:none;
transition:.25s
}

.menu a:hover{
background:#eaf4ff;
color:#0a4d9d;
transform:translateY(-2px)
}

.menu .btn{
color:#fff!important;
padding:11px 18px
}

.mobile{
font-size:30px;
background:linear-gradient(135deg,#0a4d9d,#42a5f5);
color:#fff;
border-radius:14px;
padding:6px 12px;
box-shadow:0 14px 35px rgba(10,77,157,.25)
}

.hero{
position:relative;
min-height:calc(100vh - 108px);
height:720px;
display:flex;
align-items:center;
isolation:isolate;
overflow:hidden
}

.hero:before{
content:"";
position:absolute;
inset:0;
background:linear-gradient(90deg,rgba(3,22,51,.92),rgba(10,77,157,.62),rgba(35,199,255,.24));
z-index:1
}

.hero:after{
content:"";
position:absolute;
right:-160px;
top:90px;
width:470px;
height:470px;
border-radius:50%;
background:radial-gradient(circle,rgba(255,211,107,.35),transparent 65%);
z-index:2
}

.slide{
position:absolute;
inset:0;
background-size:cover;
background-position:center;
opacity:0;
transform:scale(1.05);
transition:opacity 1s ease, transform 6s ease
}

.slide.active{
opacity:1;
transform:scale(1)
}

.hero-content{
position:relative;
z-index:4;
max-width:780px;
color:#fff
}

.hero-content .tag,.tag{
display:inline-flex;
align-items:center;
gap:8px;
background:rgba(255,255,255,.16);
border:1px solid rgba(255,255,255,.28);
backdrop-filter:blur(14px);
color:#fff;
border-radius:999px;
padding:10px 16px;
font-weight:900
}

.hero h1{
font-size:clamp(38px,6vw,76px);
line-height:1.02;
margin:18px 0 16px;
letter-spacing:-1.8px
}

.hero p{
font-size:clamp(16px,2vw,22px);
line-height:1.75;
color:#eaf6ff;
max-width:720px
}

.btn{
border:0;
border-radius:999px;
background:linear-gradient(135deg,#0a4d9d,#1e88e5,#42a5f5);
color:#fff!important;
text-decoration:none;
display:inline-flex;
align-items:center;
justify-content:center;
gap:9px;
padding:13px 22px;
font-weight:900;
cursor:pointer
}

.btn-gold{
background:linear-gradient(135deg,#ffdf85,#ffbf21)!important;
color:#10233f!important
}

.section{
padding:76px 0
}

.title{
display:flex;
justify-content:space-between;
align-items:end;
gap:22px;
margin-bottom:28px
}

.title h2,.gradient-title h1{
letter-spacing:-.8px
}

.title h2{
font-size:clamp(28px,4vw,46px);
color:#082044;
margin:0
}

.title p{
color:#64748b;
font-size:17px;
line-height:1.7
}

.grid{
display:grid;
gap:24px
}

.grid-2{
grid-template-columns:repeat(2,minmax(0,1fr))
}

.grid-3{
grid-template-columns:repeat(3,minmax(0,1fr))
}

.grid-4{
grid-template-columns:repeat(4,minmax(0,1fr))
}

.card,.lux-card,.form,.article,.sidebar,.identity-item,.profile-menu a{
border:1px solid rgba(30,136,229,.13);
box-shadow:0 22px 70px rgba(8,32,68,.10);
background:rgba(255,255,255,.9);
backdrop-filter:blur(10px)
}

.card,.lux-card{
border-radius:28px;
overflow:hidden
}

.card img,.lux-card img{
transition:transform .45s ease
}

.card:hover img,.lux-card:hover img{
transform:scale(1.045)
}

.card-body{
padding:24px
}

.card-body h3{
font-size:22px;
color:#082044;
margin:12px 0 8px
}

.card-body p{
color:#64748b;
line-height:1.7
}

.badge{
background:linear-gradient(135deg,#dbeafe,#eef8ff);
color:#0758c9;
border:1px solid #bfdbfe;
font-weight:900
}

.profile-box{
border-radius:34px;
padding:38px;
background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(234,244,255,.72));
border:1px solid rgba(255,255,255,.9)
}

.stat{
border-radius:28px;
background:linear-gradient(135deg,#fff,#edf7ff);
position:relative;
overflow:hidden
}

.stat:after{
content:"";
position:absolute;
right:-30px;
bottom:-30px;
width:110px;
height:110px;
border-radius:50%;
background:rgba(30,136,229,.12)
}

.principal-card{
box-shadow:0 35px 100px rgba(0,0,0,.28)
}

.principal-photo img{
object-position:center top
}

.news-ticker{
border-radius:0 0 22px 22px;
background:#fff;
box-shadow:0 14px 35px rgba(8,32,68,.06)
}

.news-layout{
display:grid;
grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr);
gap:26px
}

.mini-news{
text-decoration:none;
color:#082044
}

.mini-news:hover{
transform:translateY(-4px);
box-shadow:0 22px 60px rgba(10,77,157,.16)
}

.gallery-link img{
height:240px;
width:100%;
object-fit:cover
}

.lightbox{
animation:fadeIn .22s ease
}

.lightbox img{
animation:zoomIn .25s ease
}

.lightbox .close,.lightbox .prev,.lightbox .next{
box-shadow:0 18px 45px rgba(0,0,0,.25);
font-weight:900
}

.alumni-hero{
position:relative;
overflow:hidden;
box-shadow:0 30px 90px rgba(10,77,157,.28)
}

.alumni-hero:after{
content:"";
position:absolute;
right:-95px;
top:-95px;
width:260px;
height:260px;
border-radius:50%;
background:rgba(255,211,107,.22)
}

.alumni-hero>*{
position:relative;
z-index:1
}

.alumni-stat{
backdrop-filter:blur(14px);
box-shadow:inset 0 1px 0 rgba(255,255,255,.2)
}

.profile-menu a:hover,.identity-item:hover{
transform:translateY(-5px);
box-shadow:0 24px 70px rgba(10,77,157,.18)
}

.org-chart{
padding:28px;
border-radius:30px;
background:linear-gradient(135deg,#f8fbff,#eaf4ff);
border:1px solid #dbeafe
}

.footer{
position:relative;
overflow:hidden
}

.footer:before{
content:"";
position:absolute;
right:-120px;
top:-120px;
width:360px;
height:360px;
border-radius:50%;
background:rgba(255,211,107,.15)
}

.footer-grid,.copyright{
position:relative;
z-index:1
}

.wa-float{
animation:waPulse 2s infinite
}

.auth-box{
background:linear-gradient(135deg,#ffffff,#eff7ff)
}

.input:focus,select:focus,textarea:focus{
outline:none;
border-color:#1e88e5;
box-shadow:0 0 0 4px rgba(30,136,229,.14)
}

@keyframes waPulse{
0%,100%{
transform:translateY(0);
box-shadow:0 20px 45px rgba(22,163,74,.35)
}

50%{
transform:translateY(-4px);
box-shadow:0 28px 65px rgba(22,163,74,.48)
}

}

@keyframes fadeIn{
from{
opacity:0
}

to{
opacity:1
}

}

@keyframes zoomIn{
from{
transform:scale(.92);
opacity:.75
}

to{
transform:scale(1);
opacity:1
}

}

@media(max-width:1100px){
.menu a{
font-size:14px;
padding:9px
}

.hero{
height:640px
}

.grid-4{
grid-template-columns:repeat(2,1fr)
}

}

@media(max-width:900px){
.container{
width:min(100% - 24px,1180px)
}

.topbar{
display:none
}

.navwrap{
min-height:70px
}

.brand img{
width:46px;
height:46px
}

.brand span{
font-size:14px
}

.brand small{
font-size:11px
}

.menu.open{
top:78px;
max-height:calc(100vh - 96px);
overflow:auto
}

.menu.open a{
width:100%;
border-radius:14px
}

.hero{
min-height:620px;
height:auto;
padding:80px 0
}

.hero h1{
letter-spacing:-.8px
}

.hero p{
font-size:16px
}

.title{
display:block
}

.grid-2,.grid-3,.grid-4,.profile,.news-layout,.article-wrap,.footer-grid{
grid-template-columns:1fr!important
}

.section{
padding:54px 0
}

.card img{
height:205px
}

.news-headline img{
height:240px
}

.principal-photo img{
height:340px
}

.principal-card{
border-radius:26px
}

.principal-text h2{
font-size:30px
}

.profile-menu{
grid-template-columns:1fr
}

.mini-news{
grid-template-columns:96px 1fr
}

.mini-news img{
width:96px;
height:80px
}

.alumni-hero{
padding:28px;
border-radius:26px
}

.alumni-stats{
grid-template-columns:repeat(2,1fr)
}

.gradient-title{
padding:26px
}

.gradient-title h1{
font-size:30px
}

.org-chart{
padding:18px
}

.wa-float{
right:16px;
bottom:16px
}

}

@media(max-width:520px){
.container{
width:min(100% - 18px,1180px)
}

.hero{
min-height:560px;
padding:64px 0
}

.hero-content .btn{
width:100%;
margin:6px 0
}

.hero h1{
font-size:34px
}

.section{
padding:42px 0
}

.card-body{
padding:18px
}

.card img{
height:185px
}

.alumni-stats{
grid-template-columns:1fr
}

.principal-photo img{
height:300px
}

.principal-card{
padding:18px
}

.lightbox .prev{
left:10px
}

.lightbox .next{
right:10px
}

.lightbox .close{
right:12px;
top:12px
}

.footer-grid{
gap:18px
}

.copyright{
text-align:left
}

.profile-box{
padding:24px
}

.identity-list{
grid-template-columns:1fr
}

.article{
padding:20px
}

.article h1{
font-size:28px
}

.news-ticker{
margin-inline:0;
border-radius:0
}

.news-ticker marquee{
font-size:13px
}

}

/* ================= ADMIN ENTERPRISE V7 ================= */
.admin-premium{
margin:0;
background:#eef5ff;
color:#0b1f3f;
font-family:Poppins,Arial,sans-serif;
min-height:100vh
}

.admin-shell{
display:flex;
min-height:100vh
}

.admin-sidebar{
width:286px;
position:fixed;
left:0;
top:0;
bottom:0;
background:linear-gradient(165deg,#071b45,#0a4d9d 55%,#1e88e5);
color:#fff;
padding:22px;
overflow:auto;
box-shadow:22px 0 55px rgba(10,77,157,.23);
z-index:20
}

.admin-brand{
display:flex;
align-items:center;
gap:14px;
color:#fff;
text-decoration:none;
background:rgba(255,255,255,.12);
border:1px solid rgba(255,255,255,.18);
border-radius:24px;
padding:14px;
margin-bottom:22px;
backdrop-filter:blur(18px)
}

.admin-brand img{
width:54px;
height:54px;
object-fit:contain;
background:#fff;
border-radius:16px;
padding:6px
}

.admin-brand small{
display:block;
color:#dbeafe;
font-weight:500
}

.admin-nav{
display:flex;
flex-direction:column;
gap:7px
}

.admin-nav a{
color:#eaf4ff;
text-decoration:none;
padding:12px 14px;
border-radius:16px;
display:block;
font-weight:700;
transition:.25s
}

.admin-nav a:hover,.admin-nav a.active{
background:rgba(255,255,255,.18);
transform:translateX(5px);
box-shadow:0 12px 22px rgba(0,0,0,.12)
}

.admin-nav a.danger{
background:rgba(255,215,0,.18);
color:#fff
}

.nav-title{
margin:18px 10px 6px;
color:#bfe0ff;
font-size:11px;
font-weight:900;
letter-spacing:.13em
}

.admin-main{
margin-left:286px;
width:calc(100% - 286px);
padding:26px
}

.admin-topbar{
background:linear-gradient(135deg,rgba(10,77,157,.98),rgba(30,136,229,.92)),radial-gradient(circle at top right,rgba(255,215,0,.5),transparent 38%);
color:#fff;
border-radius:30px;
padding:28px;
display:flex;
justify-content:space-between;
gap:20px;
align-items:center;
box-shadow:0 28px 70px rgba(10,77,157,.27);
margin-bottom:24px
}

.admin-topbar h1{
margin:8px 0 8px;
font-size:clamp(26px,4vw,42px)
}

.admin-topbar p{
margin:0;
color:#e6f2ff;
max-width:760px
}

.top-actions{
display:flex;
gap:10px;
flex-wrap:wrap
}

.admin-stats{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:18px;
margin-bottom:22px
}

.admin-stat-card{
background:rgba(255,255,255,.88);
border:1px solid rgba(10,77,157,.1);
border-radius:24px;
padding:20px;
display:flex;
gap:15px;
text-decoration:none;
color:#09244f;
box-shadow:0 18px 45px rgba(20,70,140,.1);
transition:.25s;
overflow:hidden;
position:relative
}

.admin-stat-card:before{
content:"";
position:absolute;
inset:auto -30px -45px auto;
width:110px;
height:110px;
border-radius:50%;
background:linear-gradient(135deg,rgba(30,136,229,.18),rgba(255,215,0,.16))
}

.admin-stat-card:hover{
transform:translateY(-7px);
box-shadow:0 24px 60px rgba(10,77,157,.18)
}

.admin-stat-card span{
font-size:34px
}

.admin-stat-card b{
font-size:34px;
display:block
}

.admin-stat-card small{
display:block;
font-weight:900;
text-transform:uppercase;
letter-spacing:.04em
}

.admin-stat-card em{
font-style:normal;
color:#64748b;
font-size:13px
}

.admin-grid-2{
display:grid;
grid-template-columns:1.1fr .9fr;
gap:20px;
margin-bottom:22px
}

.admin-panel{
background:rgba(255,255,255,.9);
border:1px solid rgba(10,77,157,.11);
border-radius:26px;
padding:22px;
box-shadow:0 18px 45px rgba(15,54,110,.09);
overflow:auto
}

.panel-head{
display:flex;
justify-content:space-between;
align-items:center;
gap:14px;
margin-bottom:16px
}

.panel-head h2{
margin:0
}

.panel-head span,.panel-head a{
color:#64748b;
font-weight:800
}

.quick-actions{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:13px
}

.quick-card{
padding:18px;
border-radius:19px;
background:linear-gradient(135deg,#f8fbff,#e7f1ff);
text-decoration:none;
color:#0b3f83;
font-weight:900;
border:1px solid #d9e9ff;
transition:.22s
}

.quick-card:hover{
transform:translateY(-4px);
background:linear-gradient(135deg,#0a4d9d,#42a5f5);
color:#fff
}

.security-list{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:10px;
padding:0;
list-style:none
}

.security-list li{
background:#f0f7ff;
border-radius:14px;
padding:10px;
font-weight:800
}

.admin-table{
width:100%;
border-collapse:separate;
border-spacing:0 9px
}

.admin-table th{
text-align:left;
color:#64748b;
font-size:13px
}

.admin-table td{
background:#f8fbff;
padding:12px;
border-top:1px solid #e1edff;
border-bottom:1px solid #e1edff
}

.admin-table td:first-child{
border-left:1px solid #e1edff;
border-radius:14px 0 0 14px;
font-weight:800
}

.admin-table td:last-child{
border-right:1px solid #e1edff;
border-radius:0 14px 14px 0
}

.admin-footer{
text-align:center;
color:#64748b;
font-weight:800;
padding:25px
}

.admin-dark{
background:#07111f;
color:#e5eefc
}

.admin-dark .admin-panel,.admin-dark .admin-stat-card{
background:#0d1b2f;
color:#e5eefc;
border-color:#1e3a5f
}

.admin-dark .admin-table td,.admin-dark .quick-card,.admin-dark .security-list li{
background:#10233d;
color:#e5eefc;
border-color:#1f3b60
}

.admin-premium .form label{
font-weight:900;
margin:10px 0 6px;
display:block
}

.admin-premium .form textarea,.admin-premium .form select{
width:100%;
border:1px solid #cfe0f5;
border-radius:16px;
padding:14px;
margin-bottom:10px;
background:#f8fbff;
color:#10284e
}

.menu-item{
position:relative;
display:inline-block
}

.dropdown-menu{
display:none;
position:absolute;
top:100%;
left:0;
min-width:230px;
background:#fff;
border-radius:18px;
padding:10px;
box-shadow:0 20px 45px rgba(0,0,0,.18);
z-index:50
}

.dropdown-menu a{
display:block!important;
color:#0b2d5f!important;
padding:10px 12px!important;
border-radius:12px
}

.dropdown-menu a:hover{
background:#eaf4ff
}

.menu-item:hover .dropdown-menu{
display:block
}

.article.lux-card{
padding:24px
}

.article.lux-card img{
border-radius:22px;
margin-bottom:18px;
max-height:420px;
object-fit:cover
}

.sidebar .side-link{
display:block;
background:#fff;
border:1px solid #e1edff;
border-radius:16px;
padding:14px;
margin-bottom:10px;
text-decoration:none;
color:#0b2d5f;
font-weight:800
}

.sidebar .side-link small{
display:block;
color:#64748b;
font-weight:600;
margin-top:4px
}

@media(max-width:1050px){
.admin-sidebar{
position:relative;
width:auto;
border-radius:0 0 24px 24px
}

.admin-shell{
display:block
}

.admin-main{
margin-left:0;
width:auto;
padding:14px
}

.admin-stats{
grid-template-columns:repeat(2,1fr)
}

.admin-grid-2{
grid-template-columns:1fr
}

.admin-topbar{
display:block
}

.quick-actions{
grid-template-columns:repeat(2,1fr)
}

}

@media(max-width:620px){
.admin-stats,.quick-actions,.security-list{
grid-template-columns:1fr
}

.admin-sidebar{
padding:14px
}

.admin-nav{
max-height:70vh
}

.admin-topbar{
padding:20px;
border-radius:22px
}

.admin-panel{
padding:16px;
border-radius:20px
}

.admin-table{
font-size:13px
}

.dropdown-menu{
position:static;
display:block;
box-shadow:none;
background:#eef6ff;
margin:6px 0
}

.menu-item{
display:block
}

}

/* =========================================================
   V14 ENTERPRISE UI - SMKN 1 KUPANG
   Premium blue-gold theme, precise spacing, WhatsApp icon,
   responsive polish, and stronger visual hierarchy.
   ========================================================= */
:root{

  --v14-navy:#061735;

  --v14-blue:#0A4D9D;

  --v14-blue-2:#1565C0;

  --v14-sky:#42A5F5;

  --v14-gold:#FFD36B;

  --v14-ink:#071B3A;

  --v14-soft:#F3F8FF;

  --v14-border:#DCEBFF;

  --v14-shadow:0 24px 70px rgba(10,77,157,.16);

}

body{
background:linear-gradient(180deg,#f7fbff,#eef7ff 42%,#ffffff);
letter-spacing:.01em
}

.container{
max-width:1220px
}

.topbar{
background:linear-gradient(90deg,#061735,#0A4D9D,#1565C0);
box-shadow:0 10px 30px rgba(10,77,157,.18)
}

.navbar{
background:rgba(255,255,255,.94)!important;
border-bottom:1px solid rgba(10,77,157,.10);
box-shadow:0 18px 45px rgba(8,32,68,.08)!important
}

.navwrap{
padding:15px 0
}

.brand img{
width:62px!important;
height:62px!important;
border-radius:18px;
background:#fff;
padding:6px;
border:2px solid rgba(66,165,245,.35);
box-shadow:0 14px 34px rgba(10,77,157,.16)
}

.brand span{
font-size:20px;
line-height:1.16;
color:#071B3A;
font-weight:950
}

.brand small{
font-size:14px;
color:#1E88E5;
font-weight:850
}

.menu{
gap:8px
}

.menu a,.menu-item>a{
padding:11px 14px;
border-radius:14px;
color:#071B3A!important;
transition:.22s
}

.menu a:hover,.menu-item>a:hover{
background:linear-gradient(135deg,#eaf4ff,#fff5d8);
color:#0A4D9D!important
}

.dropdown-menu{
border:1px solid var(--v14-border);
box-shadow:0 24px 70px rgba(8,32,68,.18)!important
}

.hero{
border-bottom-left-radius:42px;
border-bottom-right-radius:42px;
box-shadow:inset 0 -1px 0 rgba(255,255,255,.25),0 30px 90px rgba(10,77,157,.18)
}

.hero:before{
background:linear-gradient(90deg,rgba(6,23,53,.95),rgba(10,77,157,.74),rgba(66,165,245,.22))!important
}

.hero h1{
text-shadow:0 8px 26px rgba(0,0,0,.24)
}

.tag,.badge{
box-shadow:inset 0 1px 0 rgba(255,255,255,.35)
}

.hero .btn{
margin-top:8px;
margin-right:8px
}

.breaking{
margin-top:-1px;
background:transparent
}

.news-ticker{
background:#fff;
border:1px solid var(--v14-border);
border-radius:24px;
transform:translateY(-26px);
box-shadow:var(--v14-shadow)
}

.section{
position:relative
}

.title h2,.gradient-title h1{
color:#071B3A;
font-weight:950
}

.title p{
color:#53687f
}

.card,.lux-card,.profile-box,.admin-panel,.article{
border:1px solid rgba(10,77,157,.10)!important;
border-radius:28px!important;
box-shadow:0 18px 55px rgba(8,32,68,.10)!important
}

.card:hover,.lux-card:hover{
transform:translateY(-8px) scale(1.01);
box-shadow:0 32px 85px rgba(10,77,157,.20)!important
}

.card img,.lux-card img{
transition:transform .5s ease
}

.card:hover img,.lux-card:hover img{
transform:scale(1.045)
}

.profile-gradient{
background:radial-gradient(circle at 12% 15%,rgba(66,165,245,.20),transparent 30%),linear-gradient(135deg,#f7fbff,#fff 46%,#eaf4ff)
}

.profile-box.glass{
background:rgba(255,255,255,.78);
box-shadow:0 30px 90px rgba(10,77,157,.18)!important
}

.stat{
background:linear-gradient(135deg,#fff,#eef7ff);
border:1px solid rgba(10,77,157,.08)
}

.stat b{
background:linear-gradient(135deg,#0A4D9D,#42A5F5);
-webkit-background-clip:text;
background-clip:text;
color:transparent
}

.principal-section{
background:radial-gradient(circle at 15% 10%,rgba(255,211,107,.24),transparent 28%),linear-gradient(135deg,#061735,#0A4D9D 58%,#42A5F5)!important
}

.principal-card{
border-radius:38px!important
}

.principal-photo img{
object-position:center top
}

.alumni-hero{
border-radius:34px!important;
background:radial-gradient(circle at 15% 20%,rgba(255,211,107,.25),transparent 34%),linear-gradient(135deg,#071B3A,#0A4D9D,#1E88E5)!important
}

.alumni-stat{
border-radius:20px!important;
border:1px solid rgba(255,255,255,.18)!important
}

.mini-news{
border-radius:24px!important;
box-shadow:0 18px 45px rgba(8,32,68,.09)!important
}

.sidebar{
background:rgba(255,255,255,.82);
backdrop-filter:blur(16px);
box-shadow:0 18px 45px rgba(8,32,68,.08)
}

.footer{
border-top-left-radius:42px;
border-top-right-radius:42px;
margin-top:36px
}

.footer a:hover{
color:#FFD36B
}

.wa-float{
gap:10px!important;
background:linear-gradient(135deg,#128C7E,#25D366)!important;
padding:13px 22px!important;
border:1px solid rgba(255,255,255,.26);
box-shadow:0 20px 55px rgba(37,211,102,.42)!important
}

.wa-float img{
width:28px;
height:28px;
display:block;
filter:drop-shadow(0 4px 8px rgba(0,0,0,.18))
}

.wa-float span{
font-weight:950;
letter-spacing:.01em
}

.wa-float:hover{
transform:translateY(-5px) scale(1.02)!important
}

.lightbox.active{
display:flex!important;
align-items:center;
justify-content:center
}

.lightbox img{
max-width:min(92vw,1100px);
max-height:84vh;
border-radius:24px
}

.input,select,textarea{
border-radius:18px!important;
background:#f7fbff!important;
border:1px solid #cfe1f7!important
}

.input:focus,select:focus,textarea:focus{
background:#fff!important;
border-color:#42A5F5!important;
box-shadow:0 0 0 5px rgba(66,165,245,.16)!important
}

.admin-sidebar{
background:radial-gradient(circle at top left,rgba(255,211,107,.20),transparent 30%),linear-gradient(180deg,#061735,#0A4D9D 58%,#1E88E5)!important
}

.admin-topbar{
border-radius:34px!important
}

.admin-stat-card{
border-radius:28px!important
}

.admin-brand img{
border-radius:18px!important
}

.admin-table td{
vertical-align:middle
}

@media(max-width:900px){
.brand img{
width:52px!important;
height:52px!important
}

.brand span{
font-size:16px
}

.brand small{
font-size:12px
}

.navbar{
border-radius:0
}

.menu.open{
left:12px!important;
right:12px!important;
width:auto!important;
border:1px solid var(--v14-border);
box-shadow:0 28px 80px rgba(8,32,68,.20)
}

.news-ticker{
transform:none;
margin-top:12px
}

.hero{
border-bottom-left-radius:28px;
border-bottom-right-radius:28px
}

.wa-float{
padding:14px!important
}

.wa-float img{
width:30px;
height:30px
}

.wa-float span{
display:none!important
}

.footer{
border-top-left-radius:28px;
border-top-right-radius:28px
}

}

@media(max-width:520px){
.navwrap{
padding:10px 0
}

.brand img{
width:48px!important;
height:48px!important
}

.brand span{
font-size:14px
}

.hero{
min-height:590px
}

.hero .btn{
width:100%;
margin-right:0
}

.title h2{
font-size:30px
}

.wa-float{
right:14px!important;
bottom:14px!important
}

}

/* =========================================================
   V21 TEFA PREMIUM SECTION
   Teaching Factory cards for KBM Merdeka Belajar
   ========================================================= */
.tefa-section{
background:radial-gradient(circle at 14% 12%,rgba(255,211,107,.22),transparent 28%),linear-gradient(180deg,#f7fbff,#eef7ff 54%,#fff);

}

.tefa-head{
display:flex;
justify-content:space-between;
align-items:flex-end;
gap:24px;
margin-bottom:28px
}

.tefa-head h2{
font-size:clamp(30px,4vw,52px);
line-height:1.05;
margin:0;
color:#071B3A;
font-weight:950;
letter-spacing:-1px
}

.tefa-head p{
max-width:660px;
color:#58708f;
line-height:1.75;
font-size:17px
}

.tefa-grid{
display:grid;
grid-template-columns:repeat(5,minmax(0,1fr));
gap:20px
}

.tefa-card{
position:relative;
overflow:hidden;
border-radius:30px;
background:#fff;
border:1px solid rgba(10,77,157,.12);
box-shadow:0 24px 70px rgba(10,77,157,.12);
transition:.28s
}

.tefa-card:hover{
transform:translateY(-10px);
box-shadow:0 34px 90px rgba(10,77,157,.22)
}

.tefa-card .tefa-img{
height:190px;
background:#eef7ff;
display:flex;
align-items:center;
justify-content:center;
overflow:hidden
}

.tefa-card .tefa-img img{
width:100%;
height:100%;
object-fit:cover;
transition:.45s
}

.tefa-card:hover .tefa-img img{
transform:scale(1.06)
}

.tefa-card .tefa-body{
padding:20px
}

.tefa-card h3{
margin:0 0 6px;
color:#071B3A;
font-size:21px;
font-weight:950
}

.tefa-card .tefa-sub{
display:inline-flex;
padding:7px 12px;
border-radius:999px;
background:linear-gradient(135deg,#eaf4ff,#fff6d8);
color:#0A4D9D;
font-weight:900;
font-size:12px;
margin-bottom:12px
}

.tefa-card p{
color:#5c708a;
line-height:1.65;
margin:0
}

.tefa-mini-grid{
display:grid;
grid-template-columns:repeat(5,minmax(0,1fr));
gap:18px;
margin-top:18px
}

.tefa-mini-card{
min-height:210px;
border-radius:28px;
background:#fff;
border:1px solid rgba(10,77,157,.12);
box-shadow:0 20px 60px rgba(10,77,157,.10);
overflow:hidden;
transition:.25s
}

.tefa-mini-card:hover{
transform:translateY(-8px)
}

.tefa-mini-card img{
width:100%;
height:118px;
object-fit:cover;
background:#eef7ff
}

.tefa-mini-card div{
padding:15px
}

.tefa-mini-card b{
display:block;
color:#071B3A;
font-size:18px
}

.tefa-mini-card small{
color:#0A4D9D;
font-weight:900
}

.tefa-note{
margin-top:26px;
padding:24px;
border-radius:28px;
background:linear-gradient(135deg,#071B3A,#0A4D9D,#1E88E5);
color:#fff;
box-shadow:0 24px 70px rgba(10,77,157,.20)
}

.tefa-note b{
color:#FFD36B
}

@media(max-width:1180px){
.tefa-grid,.tefa-mini-grid{
grid-template-columns:repeat(3,1fr)
}

}

@media(max-width:760px){
.tefa-head{
display:block
}

.tefa-grid,.tefa-mini-grid{
grid-template-columns:1fr
}

.tefa-card .tefa-img{
height:auto
}

.tefa-card .tefa-img img{
height:auto;
object-fit:contain
}

.tefa-mini-card img{
height:auto;
object-fit:contain
}

}

/* V22 - Pengumuman Premium */
.announcement-strip{
background:linear-gradient(135deg,#071B3A,#0A4D9D,#1E88E5);
color:#fff;
padding:12px 0;
box-shadow:0 16px 35px rgba(10,77,157,.18)
}

.announcement-strip-inner{
display:flex;
align-items:center;
gap:16px;
overflow:hidden
}

.announcement-strip b{
white-space:nowrap;
background:rgba(255,255,255,.14);
padding:8px 14px;
border-radius:999px
}

.announcement-strip marquee{
font-weight:800;
color:#fff
}

.announcements-home{
background:linear-gradient(180deg,#f7fbff,#ffffff)
}

.announcement-grid{
align-items:stretch
}

.announcement-card{
overflow:hidden;
height:100%;
display:flex;
flex-direction:column
}

.announcement-card img{
width:100%;
height:auto;
max-height:240px;
object-fit:contain;
background:#eef7ff;
display:block
}

.announcement-card .card-body{
flex:1
}

.announcement-card h3{
line-height:1.28
}

.news-action-bar{
display:flex;
gap:10px;
flex-wrap:wrap;
align-items:center;
margin-top:22px
}

.btn-wa{
background:linear-gradient(135deg,#25D366,#128C7E)!important;
color:#fff!important
}

.btn-fb{
background:linear-gradient(135deg,#1877F2,#0F4FA8)!important;
color:#fff!important
}

@media(max-width:700px){
.announcement-strip-inner{
display:block
}

.announcement-strip b{
display:inline-block;
margin-bottom:8px
}

.announcement-card img{
max-height:none
}

.news-action-bar .btn{
width:100%;
text-align:center
}

}

/* V23 - Kelas Unggulan & Kelas Industri Premium */
.kelas-industri-section{
background:radial-gradient(circle at 80% 15%,rgba(255,211,107,.20),transparent 28%),linear-gradient(180deg,#ffffff,#f3f8ff 62%,#fff)
}

.kelas-industri-head{
display:flex;
justify-content:space-between;
align-items:flex-end;
gap:28px;
margin-bottom:30px
}

.kelas-industri-head h2{
font-size:clamp(30px,4vw,50px);
line-height:1.05;
margin:0;
color:#071B3A;
font-weight:950
}

.kelas-industri-head p{
max-width:670px;
color:#58708f;
line-height:1.75;
font-size:17px
}

.kelas-industri-grid{
display:grid;
grid-template-columns:repeat(5,minmax(0,1fr));
gap:20px
}

.kelas-industri-card{
border-radius:30px;
background:#fff;
border:1px solid rgba(10,77,157,.12);
box-shadow:0 24px 70px rgba(10,77,157,.12);
overflow:hidden;
transition:.3s
}

.kelas-industri-card:hover{
transform:translateY(-10px);
box-shadow:0 34px 90px rgba(10,77,157,.22)
}

.kelas-industri-img{
background:#eef7ff;
min-height:180px;
display:flex;
align-items:center;
justify-content:center;
overflow:hidden
}

.kelas-industri-img img{
width:100%;
height:auto;
max-height:230px;
object-fit:contain;
display:block;
transition:.45s
}

.kelas-industri-card:hover .kelas-industri-img img{
transform:scale(1.04)
}

.kelas-industri-body{
padding:20px
}

.kelas-industri-body span{
display:inline-flex;
padding:7px 12px;
border-radius:999px;
background:linear-gradient(135deg,#eaf4ff,#fff6d8);
color:#0A4D9D;
font-weight:900;
font-size:12px;
margin-bottom:12px
}

.kelas-industri-body h3{
margin:0 0 8px;
color:#071B3A;
font-size:21px;
font-weight:950
}

.kelas-industri-body p{
color:#5c708a;
line-height:1.65;
margin:0 0 12px
}

.kelas-industri-body a{
color:#0A4D9D;
font-weight:950
}

.kelas-industri-page-hero{
border-radius:36px;
padding:38px;
margin-bottom:30px;
background:radial-gradient(circle at 15% 20%,rgba(255,211,107,.25),transparent 32%),linear-gradient(135deg,#061735,#0A4D9D,#42A5F5);
color:#fff;
box-shadow:0 30px 90px rgba(10,77,157,.22)
}

.kelas-industri-page-hero h1{
font-size:clamp(34px,5vw,62px);
line-height:1.05;
margin:14px 0
}

.kelas-industri-page-hero p{
max-width:850px;
line-height:1.8;
color:#eaf4ff;
font-size:18px
}

.kelas-industri-detail-grid{
display:grid;
gap:28px
}

.kelas-industri-detail{
overflow:hidden
}

.ki-detail-banner{
background:#eef7ff;
display:flex;
align-items:center;
justify-content:center
}

.ki-detail-banner img{
width:100%;
height:auto;
max-height:460px;
object-fit:contain;
display:block
}

.ki-detail-body{
padding:28px
}

.ki-title-row{
display:flex;
gap:18px;
align-items:center;
margin-bottom:18px
}

.ki-title-row img{
width:86px;
height:86px;
object-fit:contain;
border-radius:22px;
background:#eef7ff;
border:1px solid #dcecff;
padding:8px
}

.ki-title-row h2{
margin:8px 0 0;
font-size:34px;
color:#071B3A
}

.ki-detail-body p{
line-height:1.8;
color:#44556b
}

.ki-photo-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:18px;
margin:24px 0
}

.ki-photo-grid div{
background:#f7fbff;
border:1px solid #dcecff;
border-radius:24px;
padding:16px
}

.ki-photo-grid b{
display:block;
margin-bottom:12px;
color:#071B3A
}

.ki-photo-grid img{
width:100%;
height:auto;
max-height:330px;
object-fit:contain;
border-radius:18px;
background:#fff
}

.ki-info-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:18px
}

.ki-info-grid>div{
border-radius:24px;
background:linear-gradient(135deg,#f7fbff,#fff);
border:1px solid #dcecff;
padding:20px
}

.ki-info-grid h3{
margin-top:0;
color:#0A4D9D
}

@media(max-width:1180px){
.kelas-industri-grid{
grid-template-columns:repeat(3,1fr)
}

}

@media(max-width:760px){
.kelas-industri-head{
display:block
}

.kelas-industri-grid,.ki-photo-grid,.ki-info-grid{
grid-template-columns:1fr
}

.kelas-industri-page-hero{
padding:26px
}

.ki-title-row{
align-items:flex-start
}

.ki-title-row h2{
font-size:26px
}

}

/* ===== FINAL V26 NAVBAR + LSP + BERITA INTERACTION ===== */
.navbar{
position:sticky;
top:0;
z-index:999;
background:rgba(255,255,255,.96)!important;
border-bottom:1px solid rgba(10,77,157,.10);
box-shadow:0 12px 36px rgba(8,32,68,.08)
}

.navwrap{
display:flex;
align-items:center;
justify-content:space-between;
gap:18px;
min-height:82px
}

.brand{
display:flex;
align-items:center;
gap:13px;
text-decoration:none;
min-width:245px
}

.brand img{
width:62px!important;
height:62px!important;
object-fit:contain;
border-radius:18px;
background:#fff;
padding:6px;
box-shadow:0 12px 28px rgba(10,77,157,.13)
}

.brand span{
font-weight:950;
color:#071B3A;
line-height:1.16
}

.brand small{
font-weight:800;
color:#0A4D9D
}

.menu{
display:flex;
align-items:center;
gap:4px;
flex-wrap:nowrap
}

.menu>a,.menu-item>a{
display:inline-flex;
align-items:center;
min-height:46px;
padding:10px 12px;
border-radius:999px;
color:#071B3A;
text-decoration:none;
font-weight:900;
font-size:14px;
transition:.22s;
white-space:nowrap
}

.menu>a:hover,.menu-item>a:hover{
background:#eef7ff;
color:#0A4D9D;
transform:translateY(-2px)
}

.nav-ppdb{
padding:11px 17px!important;
color:#fff!important;
background:linear-gradient(135deg,#0A4D9D,#42A5F5)!important
}

.menu-item{
position:relative
}

.dropdown-menu{
position:absolute;
top:100%;
left:0;
min-width:245px;
background:#fff;
border:1px solid #dcecff;
border-radius:20px;
box-shadow:0 22px 60px rgba(8,32,68,.16);
padding:10px;
display:none;
z-index:1000
}

.menu-item:hover .dropdown-menu{
display:block
}

.dropdown-menu a{
display:block;
padding:12px 14px;
border-radius:14px;
text-decoration:none;
color:#071B3A;
font-weight:850
}

.dropdown-menu a:hover{
background:#eef7ff;
color:#0A4D9D
}

.mobile{
display:none;
border:0;
background:linear-gradient(135deg,#0A4D9D,#42A5F5);
color:#fff;
border-radius:14px;
padding:10px 13px;
font-size:22px;
cursor:pointer
}

.lsp-feature-card{
display:grid;
grid-template-columns:240px 1fr;
gap:22px;
align-items:center;
background:#fff;
border:1px solid #dcecff;
border-radius:32px;
box-shadow:0 26px 70px rgba(10,77,157,.13);
overflow:hidden;
padding:18px
}

.lsp-feature-img img{
width:100%;
height:230px;
object-fit:contain;
background:#eef7ff;
border-radius:24px
}

.lsp-feature-body h2{
font-size:32px;
line-height:1.08;
margin:12px 0;
color:#071B3A
}

.lsp-feature-body p{
color:#58708f;
line-height:1.75
}

.lsp-profile-section{
padding:34px 0
}

.lsp-profile-card{
display:grid;
grid-template-columns:360px 1fr;
gap:30px;
align-items:center;
padding:26px
}

.lsp-profile-photo img{
width:100%;
max-height:360px;
object-fit:contain;
background:#eef7ff;
border-radius:26px
}

.lsp-profile-content h2{
font-size:40px;
line-height:1.08;
margin:12px 0;
color:#071B3A
}

.lsp-profile-content h3{
color:#0A4D9D;
margin:0 0 14px
}

.lsp-profile-content p{
line-height:1.85;
color:#44556b
}

.lsp-page-hero{
display:grid;
grid-template-columns:1.05fr .95fr;
gap:34px;
align-items:center;
border-radius:38px;
padding:38px;
background:radial-gradient(circle at 80% 15%,rgba(255,211,107,.22),transparent 28%),linear-gradient(135deg,#061735,#0A4D9D,#42A5F5);
color:#fff;
box-shadow:0 34px 90px rgba(10,77,157,.24)
}

.lsp-page-hero h1{
font-size:clamp(36px,5vw,62px);
line-height:1.05;
margin:14px 0
}

.lsp-page-hero h3{
color:#FFD36B;
margin:0 0 16px
}

.lsp-page-hero p{
line-height:1.85;
color:#eaf4ff;
font-size:18px
}

.lsp-page-hero img{
width:100%;
max-height:430px;
object-fit:contain;
background:rgba(255,255,255,.12);
border-radius:28px;
border:1px solid rgba(255,255,255,.22)
}

.lsp-scheme-grid{
display:grid;
grid-template-columns:repeat(5,1fr);
gap:16px;
margin-top:24px
}

.lsp-scheme{
border-radius:24px;
background:#fff;
border:1px solid #dcecff;
padding:20px;
box-shadow:0 16px 45px rgba(10,77,157,.10);
text-align:center
}

.lsp-scheme b{
display:block;
font-size:24px;
color:#0A4D9D
}

.lsp-scheme span{
font-weight:800;
color:#58708f
}

.news-action-bar{
display:flex;
flex-wrap:wrap;
gap:10px;
align-items:center;
margin:24px 0
}

.news-action-bar form{
margin:0
}

.btn-like{
background:linear-gradient(135deg,#FFD36B,#f59e0b)!important;
color:#071B3A!important;
border:0
}

.news-stat{
display:inline-flex;
align-items:center;
min-height:44px;
padding:0 14px;
border-radius:999px;
background:#eef7ff;
color:#071B3A;
font-weight:900;
border:1px solid #dcecff
}

.comment-box{
margin-top:30px;
padding:24px;
border-radius:28px;
background:#f7fbff;
border:1px solid #dcecff
}

.comment-form{
background:#fff;
border-radius:22px;
padding:18px;
margin-bottom:20px
}

.comment-list{
display:grid;
gap:14px
}

.comment-item{
background:#fff;
border-radius:18px;
border:1px solid #dcecff;
padding:16px
}

.comment-item b{
display:block;
color:#071B3A
}

.comment-item small{
color:#71839b
}

.comment-item p{
margin:8px 0 0;
color:#44556b;
line-height:1.7
}

.hint{
color:#71839b
}

.wa-float img{
width:24px;
height:24px;
object-fit:contain
}

@media(max-width:1180px){
.menu{
position:absolute;
left:18px;
right:18px;
top:92px;
background:#fff;
border:1px solid #dcecff;
border-radius:24px;
box-shadow:0 24px 70px rgba(8,32,68,.18);
padding:14px;
display:none;
flex-direction:column;
align-items:stretch
}

.menu.open{
display:flex
}

.menu>a,.menu-item>a{
justify-content:space-between;
border-radius:16px
}

.dropdown-menu{
position:static;
display:block;
box-shadow:none;
border:0;
padding:4px 0 4px 12px;
background:#f7fbff
}

.mobile{
display:block
}

.navwrap{
position:relative
}

.brand{
min-width:auto
}

.lsp-feature-card,.lsp-profile-card,.lsp-page-hero{
grid-template-columns:1fr
}

.lsp-scheme-grid{
grid-template-columns:repeat(2,1fr)
}

}

@media(max-width:640px){
.brand img{
width:50px!important;
height:50px!important
}

.brand span{
font-size:14px
}

.lsp-scheme-grid{
grid-template-columns:1fr
}

.lsp-feature-card,.lsp-profile-card,.lsp-page-hero{
padding:20px;
border-radius:26px
}

.lsp-feature-img img{
height:auto
}

.news-action-bar .btn,.news-action-bar form,.news-action-bar button,.news-stat{
width:100%;
justify-content:center;
text-align:center
}

}

/* ==========================================================
   FINAL PREMIUM UI SYSTEM - SMKN 1 KUPANG
   Fokus: presisi judul section, hero/tagline, card, responsive.
   ========================================================== */
:root{

  --brand-navy:#061A3A;

  --brand-blue:#0758C9;

  --brand-sky:#24B8FF;

  --brand-gold:#F6B834;

  --brand-ink:#081B3A;

  --brand-muted:#607089;

  --brand-soft:#F4F8FF;

  --brand-line:#DCEAFF;

  --shadow-soft:0 18px 48px rgba(6,26,58,.10);

  --shadow-card:0 24px 70px rgba(7,88,201,.14);

  --shadow-hover:0 34px 90px rgba(7,88,201,.22);

  --radius-xl:34px;

  --radius-lg:26px;

  --radius-md:18px;

}

html{
scroll-behavior:smooth
}

body{
background:linear-gradient(180deg,#f8fbff 0%,#ffffff 44%,#f7fbff 100%);
color:var(--brand-ink);
-webkit-font-smoothing:antialiased;
text-rendering:optimizeLegibility
}

.container{
max-width:1220px!important;
padding-left:24px!important;
padding-right:24px!important
}

.topbar{
background:linear-gradient(90deg,#061A3A,#0758C9)!important;
font-size:12px!important;
padding:7px 0!important
}

.navbar{
top:0!important;
background:rgba(255,255,255,.94)!important;
backdrop-filter:blur(18px);
box-shadow:0 12px 38px rgba(6,26,58,.08)!important
}

.navwrap{
min-height:78px!important;
padding:0!important
}

.brand img{
width:56px!important;
height:56px!important;
border-radius:16px!important
}

.brand span{
font-size:15px!important;
letter-spacing:.1px
}

.brand small{
display:block;
margin-top:3px;
font-size:11px!important;
color:var(--brand-blue)!important
}

.menu{
gap:3px!important
}

.menu>a,.menu-item>a{
font-size:13px!important;
padding:10px 12px!important;
border-radius:999px!important
}

.btn,.btnu{
border-radius:999px!important;
font-weight:900!important;
letter-spacing:.1px!important;
background:linear-gradient(135deg,var(--brand-blue),var(--brand-sky))!important;
color:#fff!important;
border:0!important;
box-shadow:0 15px 36px rgba(7,88,201,.24)!important
}

.btn-gold,.btn-like{
background:linear-gradient(135deg,#FFE08A,var(--brand-gold))!important;
color:#07172d!important
}

.btn-light{
background:#fff!important;
color:var(--brand-blue)!important
}

.btn:hover{
transform:translateY(-3px);
box-shadow:0 24px 55px rgba(7,88,201,.32)!important
}

.hero{
min-height:640px!important;
height:auto!important;
display:flex!important;
align-items:center!important;
position:relative!important;
padding:110px 0 94px!important;
background:radial-gradient(circle at 18% 18%,rgba(36,184,255,.34),transparent 32%),linear-gradient(135deg,#061A3A 0%,#0A4D9D 56%,#168FE8 100%)!important
}

.hero .slide{
opacity:.18!important;
filter:saturate(1.06) contrast(1.08);
background-size:cover!important;
background-position:center!important
}

.hero .slide.active{
opacity:.24!important
}

.slide:after{
background:linear-gradient(90deg,rgba(6,26,58,.94),rgba(6,26,58,.74),rgba(6,26,58,.35))!important
}

.hero-content{
padding-top:0!important;
max-width:760px!important;
margin:0!important
}

.hero .tag{
margin-bottom:34px!important;
padding:10px 18px!important;
background:rgba(255,255,255,.15)!important;
border:1px solid rgba(255,255,255,.38)!important;
box-shadow:0 14px 35px rgba(0,0,0,.14);
font-weight:900!important;
letter-spacing:.3px!important;
color:#fff!important
}

.hero h1{
font-size:clamp(42px,6vw,76px)!important;
line-height:.98!important;
letter-spacing:-2.2px!important;
margin:0 0 24px!important;
text-wrap:balance;
text-shadow:0 18px 50px rgba(0,0,0,.30)
}

.hero p{
max-width:620px!important;
font-size:18px!important;
line-height:1.85!important;
margin:0 0 36px!important;
color:#EAF4FF!important
}

.hero .btn{
margin-right:12px;
margin-bottom:10px;
padding:14px 22px!important
}

.section{
padding:96px 0!important;
position:relative
}

.section.white{
background:#fff
}

.title,.tefa-head,.kelas-industri-head{
display:grid!important;
grid-template-columns:minmax(0,1fr) minmax(280px,560px)!important;
align-items:end!important;
gap:34px!important;
margin:0 0 46px!important
}

.title h2,.tefa-head h2,.kelas-industri-head h2{
font-size:clamp(34px,4.5vw,56px)!important;
line-height:1.02!important;
letter-spacing:-1.8px!important;
margin:10px 0 0!important;
color:var(--brand-ink)!important;
font-weight:950!important;
text-wrap:balance
}

.title p,.tefa-head p,.kelas-industri-head p{
margin:0!important;
color:var(--brand-muted)!important;
line-height:1.82!important;
font-size:16.5px!important
}

.title .btn{
justify-self:start;
margin-top:14px!important
}

.badge,.tefa-sub,.kelas-industri-body span{
display:inline-flex!important;
align-items:center!important;
width:max-content!important;
max-width:100%!important;
min-height:28px!important;
padding:7px 13px!important;
border-radius:999px!important;
background:linear-gradient(135deg,#EAF4FF,#FFFFFF)!important;
border:1px solid #CFE2FF!important;
color:var(--brand-blue)!important;
font-size:11px!important;
font-weight:950!important;
text-transform:uppercase!important;
letter-spacing:.45px!important
}

.announcement-strip{
margin-top:0!important;
background:#fff!important;
border:0!important;
box-shadow:0 16px 45px rgba(6,26,58,.06)!important
}

.announcement-strip-inner,.news-ticker{
min-height:54px!important;
border:1px solid var(--brand-line)!important;
border-radius:18px!important;
background:#fff!important;
box-shadow:var(--shadow-soft);
transform:translateY(-28px)
}

.announcements-home{
padding-top:62px!important;
background:linear-gradient(180deg,#fff,#f6faff)!important
}

.grid{
gap:26px!important
}

.grid-3{
grid-template-columns:repeat(3,minmax(0,1fr))!important
}

.grid-4{
grid-template-columns:repeat(4,minmax(0,1fr))!important
}

.card,.lux-card,.announcement-card,.tefa-card,.kelas-industri-card,.profile-box,.lsp-feature-card,.admin-panel,.admin-stat-card{
border-radius:var(--radius-lg)!important;
border:1px solid rgba(207,226,255,.9)!important;
box-shadow:var(--shadow-card)!important;
background:rgba(255,255,255,.94)!important
}

.card:hover,.lux-card:hover,.announcement-card:hover,.tefa-card:hover,.kelas-industri-card:hover{
transform:translateY(-8px)!important;
box-shadow:var(--shadow-hover)!important
}

.card,.announcement-card,.tefa-card,.kelas-industri-card{
height:100%!important;
display:flex!important;
flex-direction:column!important;
overflow:hidden!important
}

.card img,.announcement-card img{
height:220px!important;
width:100%!important;
object-fit:cover!important;
background:#eef7ff!important
}

.announcement-card img{
object-fit:contain!important;
padding:10px!important
}

.card-body,.tefa-body,.kelas-industri-body{
padding:24px!important;
display:flex!important;
flex-direction:column!important;
gap:12px!important;
flex:1!important
}

.card-body h3,.tefa-body h3,.kelas-industri-body h3{
margin:0!important;
font-size:22px!important;
line-height:1.22!important;
color:var(--brand-ink)!important;
font-weight:950!important
}

.card-body p,.tefa-body p,.kelas-industri-body p{
margin:0!important;
color:var(--brand-muted)!important;
line-height:1.72!important
}

.card-body a,.kelas-industri-body a{
margin-top:auto!important;
color:var(--brand-blue)!important;
font-weight:950!important
}

.profile-gradient{
background:radial-gradient(circle at 82% 18%,rgba(246,184,52,.18),transparent 28%),linear-gradient(180deg,#F5F9FF,#FFFFFF)!important
}

.profile{
grid-template-columns:1fr 1fr!important;
gap:34px!important;
align-items:stretch!important
}

.profile-box,.lsp-feature-card{
min-height:330px!important
}

.profile-box{
padding:34px!important;
display:flex!important;
flex-direction:column!important;
justify-content:center!important
}

.profile-box h2,.lsp-feature-body h2{
font-size:clamp(28px,3vw,40px)!important;
line-height:1.08!important;
margin:12px 0!important
}

.lsp-feature-card{
grid-template-columns:220px 1fr!important;
padding:18px!important;
align-items:center!important
}

.lsp-feature-img img{
height:250px!important;
border-radius:22px!important;
object-fit:contain!important
}

.tefa-section,.kelas-industri-section{
background:radial-gradient(circle at 14% 18%,rgba(36,184,255,.12),transparent 30%),linear-gradient(180deg,#ffffff,#f6faff 72%,#ffffff)!important
}

.tefa-grid,.kelas-industri-grid{
display:grid!important;
grid-template-columns:repeat(5,minmax(0,1fr))!important;
gap:22px!important;
align-items:stretch!important
}

.tefa-img,.kelas-industri-img{
height:190px!important;
min-height:190px!important;
background:linear-gradient(135deg,#EAF4FF,#FFFFFF)!important;
display:flex!important;
align-items:center!important;
justify-content:center!important;
padding:12px!important
}

.tefa-img img,.kelas-industri-img img{
width:100%!important;
height:100%!important;
max-height:none!important;
object-fit:contain!important
}

.tefa-card,.kelas-industri-card{
min-height:430px!important
}

.principal-section{
background:radial-gradient(circle at 80% 14%,rgba(246,184,52,.23),transparent 30%),linear-gradient(135deg,#061A3A,#0758C9 58%,#1BA7F2)!important
}

.principal-card{
border-radius:38px!important;
border:1px solid rgba(255,255,255,.25)!important;
box-shadow:0 36px 100px rgba(0,0,0,.24)!important
}

.news-layout{
align-items:stretch!important
}

.mini-news{
box-shadow:var(--shadow-soft)!important;
border-color:var(--brand-line)!important
}

.form,.article,.sidebar{
border-radius:var(--radius-lg)!important;
border:1px solid var(--brand-line)!important;
box-shadow:var(--shadow-card)!important
}

.input,select,textarea,input[type=file]{
border-radius:16px!important;
border:1px solid #CADCF4!important;
background:#fff!important;
min-height:48px!important
}

.footer{
background:radial-gradient(circle at 12% 16%,rgba(36,184,255,.22),transparent 30%),linear-gradient(135deg,#020A1A,#061A3A 55%,#073B7A)!important
}

.mega-footer-brand{
font-size:24px!important;
font-weight:950!important;
color:#fff!important
}

.admin-premium{
background:#f4f8ff!important
}

.admin-sidebar{
background:linear-gradient(180deg,#061A3A,#083A7D)!important
}

.admin-topbar,.admin-panel{
border-radius:28px!important
}

.admin-stat-card{
transition:.25s!important
}

.admin-stat-card:hover{
transform:translateY(-5px)!important
}

.admin-table{
width:100%!important
}

.admin-table th{
background:#eef6ff!important;
color:#0758C9!important
}

.admin-table th,.admin-table td{
padding:14px!important
}

@media(max-width:1180px){
.tefa-grid,.kelas-industri-grid{
grid-template-columns:repeat(3,minmax(0,1fr))!important
}

.grid-4{
grid-template-columns:repeat(2,minmax(0,1fr))!important
}

.menu{
top:88px!important
}

.hero{
min-height:590px!important
}

.title,.tefa-head,.kelas-industri-head{
grid-template-columns:1fr!important;
gap:14px!important;
text-align:left!important
}

.profile,.lsp-feature-card{
grid-template-columns:1fr!important
}

.lsp-feature-img img{
height:220px!important
}

.navwrap{
min-height:74px!important
}

}

@media(max-width:760px){
.container{
padding-left:18px!important;
padding-right:18px!important
}

.topbar{
display:none!important
}

.hero{
min-height:620px!important;
padding:96px 0 72px!important;
text-align:left!important
}

.hero .tag{
margin-bottom:28px!important;
font-size:10px!important;
white-space:normal!important
}

.hero h1{
font-size:clamp(38px,12vw,52px)!important;
letter-spacing:-1.4px!important;
margin-bottom:22px!important
}

.hero p{
font-size:16px!important;
margin-bottom:30px!important
}

.hero .btn{
width:100%!important;
text-align:center!important;
margin-right:0!important
}

.section{
padding:74px 0!important
}

.title h2,.tefa-head h2,.kelas-industri-head h2{
font-size:34px!important;
letter-spacing:-1px!important
}

.title p,.tefa-head p,.kelas-industri-head p{
font-size:15.5px!important
}

.grid-3,.grid-4,.tefa-grid,.kelas-industri-grid,.news-layout,.article-wrap,.footer-grid{
grid-template-columns:1fr!important
}

.card img,.announcement-card img{
height:205px!important
}

.tefa-card,.kelas-industri-card{
min-height:0!important
}

.tefa-img,.kelas-industri-img{
height:210px!important
}

.profile-box,.lsp-feature-card{
min-height:0!important;
padding:24px!important
}

.announcement-strip-inner,.news-ticker{
transform:none!important;
margin:0 0 16px!important
}

.brand span{
font-size:13px!important
}

.brand img{
width:48px!important;
height:48px!important
}

.principal-card{
grid-template-columns:1fr!important;
padding:22px!important
}

.principal-photo img{
height:320px!important
}

.wa-float{
right:16px!important;
bottom:16px!important
}

.footer{
padding-top:42px!important
}

}

@media(max-width:420px){
.hero h1{
font-size:36px!important
}

.title h2,.tefa-head h2,.kelas-industri-head h2{
font-size:30px!important
}

.card-body,.tefa-body,.kelas-industri-body{
padding:20px!important
}

.section{
padding:62px 0!important
}

}

/* === FINAL PRESISI SMKN 1 KUPANG - UI, URUTAN HOME, RESPONSIVE, UPLOAD FRIENDLY === */
:root{
--final-blue:#0758c9;
--final-blue2:#0b4ea2;
--final-ink:#071b42;
--final-gold:#ffd33d;
--final-soft:#f5f9ff;
--final-line:#cfe2ff;
--final-muted:#5d7193;
--final-shadow:0 26px 80px rgba(7,88,201,.14)
}

body{
background:linear-gradient(180deg,#ffffff,#f7fbff 38%,#ffffff)!important;
color:var(--final-ink)!important;
overflow-x:hidden!important
}

.container{
max-width:1200px!important
}

.navbar{
border-bottom:1px solid rgba(207,226,255,.75)!important
}

.hero{
min-height:650px!important;
padding:100px 0 88px!important;
border-radius:0 0 34px 34px!important;
background:#061a3a!important
}

.hero .slide{
opacity:.82!important;
filter:saturate(1.08) contrast(1.03) brightness(.98)!important
}

.hero .slide.active{
opacity:.9!important
}

.slide:after{
background:linear-gradient(90deg,rgba(4,20,50,.88) 0%,rgba(6,42,96,.64) 38%,rgba(8,64,130,.18) 72%,rgba(8,64,130,.06) 100%)!important
}

.hero .tag{
margin-bottom:30px!important;
background:rgba(255,255,255,.16)!important;
color:#fff!important;
border-color:rgba(255,255,255,.42)!important
}

.hero h1{
max-width:760px!important
}

.hero h1,.hero p{
color:#fff!important
}

.section{
padding:84px 0!important
}

.principal-premium{
padding:78px 0 72px!important;
background:radial-gradient(circle at 8% 70%,rgba(35,199,255,.12),transparent 22%),radial-gradient(circle at 92% 20%,rgba(255,211,61,.16),transparent 25%),linear-gradient(180deg,#ffffff,#f5f9ff)!important;
overflow:hidden!important
}

.principal-premium:before{
content:""!important;
position:absolute!important;
left:-120px!important;
bottom:30px!important;
width:360px!important;
height:360px!important;
border-radius:48% 52% 62% 38%!important;
background:linear-gradient(135deg,rgba(35,199,255,.18),rgba(7,88,201,.08))!important;
filter:blur(.2px)!important
}

.principal-premium:after{
content:""!important;
position:absolute!important;
right:-90px!important;
top:34px!important;
width:290px!important;
height:290px!important;
border-radius:54% 46% 41% 59%!important;
background:linear-gradient(135deg,rgba(255,211,61,.22),rgba(255,255,255,.08))!important
}

.principal-card{
display:grid!important;
grid-template-columns:minmax(310px,410px) 1fr!important;
gap:46px!important;
align-items:center!important;
padding:34px!important;
border-radius:36px!important;
background:rgba(255,255,255,.9)!important;
border:1px solid rgba(207,226,255,.95)!important;
box-shadow:0 34px 100px rgba(7,88,201,.16)!important;
color:var(--final-ink)!important;
position:relative!important;
overflow:hidden!important
}

.principal-card:before{
content:"";
position:absolute;
left:32px;
top:32px;
width:250px;
height:250px;
background:linear-gradient(135deg,var(--final-blue),#20b7ff);
border-radius:34px;
z-index:0
}

.principal-card:after{
content:"";
position:absolute;
left:58px;
top:68px;
width:260px;
height:260px;
background:linear-gradient(135deg,var(--final-gold),#ffe47a);
border-radius:34px;
z-index:0;
opacity:.92
}

.principal-photo{
position:relative!important;
z-index:1!important
}

.principal-photo img{
width:100%!important;
height:430px!important;
object-fit:cover!important;
border-radius:26px!important;
border:8px solid #fff!important;
box-shadow:0 24px 65px rgba(7,27,66,.2)!important;
background:#eaf4ff!important
}

.principal-text{
position:relative!important;
z-index:1!important
}

.principal-text h2{
font-size:clamp(36px,4.6vw,58px)!important;
line-height:1.02!important;
letter-spacing:-1.8px!important;
margin:18px 0 6px!important;
color:var(--final-ink)!important;
font-weight:950!important
}

.principal-text h3{
margin:0 0 22px!important;
color:var(--final-blue)!important;
font-size:18px!important;
font-weight:900!important
}

.principal-text p{
font-size:17px!important;
line-height:1.9!important;
color:var(--final-muted)!important;
max-width:760px!important
}

.principal-actions{
display:flex!important;
gap:14px!important;
flex-wrap:wrap!important;
margin-top:28px!important
}

.announcement-strip{
padding:0 0 28px!important;
background:linear-gradient(180deg,#fff,#f7fbff)!important
}

.announcement-strip-inner,.news-ticker{
transform:none!important;
display:flex!important;
align-items:center!important;
gap:18px!important;
min-height:58px!important;
border-radius:18px!important;
border:1px solid var(--final-line)!important;
background:#fff!important;
box-shadow:0 16px 50px rgba(7,88,201,.09)!important;
color:var(--final-ink)!important;
overflow:hidden!important
}

.announcement-strip-inner b,.news-ticker b{
flex:0 0 auto!important;
display:inline-flex!important;
align-items:center!important;
min-height:34px!important;
padding:8px 14px!important;
border-radius:999px!important;
background:linear-gradient(135deg,#eaf4ff,#fff)!important;
color:var(--final-blue)!important;
font-weight:950!important;
letter-spacing:.45px!important
}

.announcement-strip marquee,.news-ticker marquee{
color:var(--final-ink)!important;
font-weight:800!important;
line-height:1.4!important
}

.tefa-section{
padding-top:88px!important;
background:radial-gradient(circle at 15% 10%,rgba(35,199,255,.13),transparent 30%),linear-gradient(180deg,#fff,#f6faff 76%,#fff)!important
}

.tefa-grid{
grid-template-columns:repeat(5,minmax(0,1fr))!important
}

.tefa-card{
min-height:440px!important;
border:1px solid rgba(207,226,255,.95)!important;
box-shadow:var(--final-shadow)!important
}

.tefa-img{
height:190px!important
}

.announcements-home{
padding-top:78px!important;
background:linear-gradient(180deg,#f7fbff,#fff)!important
}

.title,.tefa-head,.kelas-industri-head{
display:grid!important;
grid-template-columns:minmax(0,1fr) minmax(260px,520px)!important;
align-items:end!important;
gap:34px!important
}

.title h2,.tefa-head h2,.kelas-industri-head h2{
font-size:clamp(34px,4.2vw,54px)!important;
line-height:1.04!important;
color:var(--final-ink)!important
}

.title p,.tefa-head p,.kelas-industri-head p{
color:var(--final-muted)!important
}

.card,.lux-card,.announcement-card,.tefa-card,.kelas-industri-card{
border-color:rgba(207,226,255,.95)!important;
box-shadow:var(--final-shadow)!important
}

.card-body h3,.tefa-body h3,.kelas-industri-body h3{
color:var(--final-ink)!important
}

.breaking{
background:#fff!important;
border:0!important;
padding:0 0 22px!important
}

.profile-gradient{
background:linear-gradient(180deg,#fff,#f7fbff)!important
}

.wa-float{
box-shadow:0 18px 55px rgba(22,163,74,.32)!important
}

@media(max-width:1180px){
.principal-card{
grid-template-columns:1fr!important
}

.principal-card:before,.principal-card:after{
display:none!important
}

.principal-photo img{
max-width:420px!important;
display:block!important;
margin:auto!important
}

.tefa-grid{
grid-template-columns:repeat(3,minmax(0,1fr))!important
}

}

@media(max-width:760px){
.hero{
min-height:590px!important;
padding:84px 0 64px!important;
border-radius:0 0 24px 24px!important
}

.principal-premium{
padding:58px 0!important
}

.principal-card{
padding:20px!important;
border-radius:28px!important;
gap:24px!important
}

.principal-photo img{
height:340px!important
}

.principal-text h2{
font-size:34px!important;
letter-spacing:-1px!important
}

.principal-text p{
font-size:15.5px!important
}

.principal-actions .btn{
width:100%!important;
text-align:center!important
}

.announcement-strip-inner,.news-ticker{
align-items:flex-start!important;
flex-direction:column!important;
padding:14px 16px!important;
gap:10px!important
}

.tefa-grid,.grid-3,.grid-4,.news-layout,.profile{
grid-template-columns:1fr!important
}

.title,.tefa-head,.kelas-industri-head{
grid-template-columns:1fr!important;
gap:14px!important
}

.section{
padding:66px 0!important
}

.tefa-section,.announcements-home{
padding-top:64px!important
}

}

/* === FINAL TERAKHIR: HOME ORDER + HOSTING SAFE + RESPONSIVE PREMIUM === */
.hero .slide{
background-repeat:no-repeat!important;
background-size:cover!important;
background-position:center!important
}

.hero .slide:after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(90deg,rgba(4,18,46,.78),rgba(7,58,130,.46),rgba(7,58,130,.10))!important
}

.hero .tag{
max-width:100%;
white-space:normal!important;
color:#fff!important
}

.principal-text .kepsek-name{
font-size:clamp(32px,4.2vw,52px)!important;
line-height:1.05!important;
max-width:100%!important;
overflow-wrap:normal!important;
word-break:normal!important;
text-wrap:balance!important
}

.principal-card{
isolation:isolate
}

.principal-card:before,.principal-card:after{
pointer-events:none
}

.profile-gradient{
padding-top:84px!important
}

.lsp-feature-card{
display:grid;
grid-template-columns:320px 1fr;
gap:28px;
align-items:center;
border-radius:34px;
overflow:hidden;
background:#fff;
border:1px solid rgba(207,226,255,.95);
box-shadow:var(--final-shadow)
}

.lsp-feature-img img{
width:100%;
height:100%;
min-height:260px;
object-fit:cover
}

.lsp-feature-body{
padding:30px
}

.gallery-card{
position:relative;
min-height:250px
}

.gallery-card img{
width:100%;
height:245px;
object-fit:cover
}

.gallery-caption{
position:absolute;
left:14px;
right:14px;
bottom:14px;
padding:12px 14px;
border-radius:18px;
background:rgba(255,255,255,.88);
backdrop-filter:blur(12px);
color:#071b42;
box-shadow:0 12px 35px rgba(0,0,0,.12)
}

.achievements-home{
background:linear-gradient(180deg,#fff,#f7fbff)
}

.news-info-layout{
display:grid;
grid-template-columns:minmax(0,1fr) 360px;
gap:28px;
align-items:start
}

.news-main-col{
display:grid;
gap:22px
}

.news-headline img{
width:100%;
height:360px;
object-fit:cover
}

.news-list{
display:grid;
gap:14px
}

.mini-news{
display:grid;
grid-template-columns:140px 1fr;
gap:14px;
align-items:center;
padding:12px;
border-radius:22px
}

.mini-news img{
width:140px;
height:100px;
object-fit:cover;
border-radius:16px
}

.mini-news b{
display:block;
color:#071b42;
line-height:1.35
}

.mini-news small{
display:block;
color:#64748b;
margin-top:6px
}

.info-sidebar{
padding:22px;
border-radius:28px;
position:sticky;
top:98px;
background:linear-gradient(180deg,#fff,#f3f8ff)
}

.info-sidebar-head{
display:flex;
gap:12px;
align-items:center;
padding:16px;
border-radius:22px;
background:linear-gradient(135deg,#0758c9,#20b7ff);
color:#fff;
margin-bottom:14px
}

.info-sidebar-head span{
font-size:26px
}

.info-sidebar-head b{
display:block;
font-size:22px
}

.info-sidebar-head small{
color:#eaf6ff
}

.info-item{
display:block;
text-decoration:none;
color:#071b42;
padding:15px 6px;
border-bottom:1px solid #dbeafe
}

.info-item b{
display:block;
line-height:1.4
}

.info-item small{
color:#0758c9;
font-weight:800
}

.info-btn{
width:100%;
margin-top:16px
}

.announcement-strip,.announcements-home,.breaking{
display:none!important
}

.card img{
object-fit:cover
}

.title{
align-items:center!important
}

.title>.btn{
justify-self:end
}

@media(max-width:980px){
.news-info-layout,.lsp-feature-card{
grid-template-columns:1fr!important
}

.info-sidebar{
position:relative;
top:0
}

.news-headline img{
height:260px
}

.lsp-feature-img img{
height:260px
}

.title>.btn{
justify-self:start
}

.principal-text .kepsek-name{
font-size:clamp(28px,7vw,40px)!important
}

}

@media(max-width:560px){
.hero{
min-height:560px!important;
padding:78px 0 56px!important
}

.hero h1{
font-size:clamp(34px,10.5vw,42px)!important
}

.hero p{
font-size:15.5px!important
}

.principal-photo img{
height:310px!important
}

.principal-text .kepsek-name{
font-size:31px!important;
line-height:1.12!important;
text-wrap:auto!important
}

.gallery-card img{
height:220px
}

.news-headline img{
height:220px
}

.mini-news{
grid-template-columns:92px 1fr
}

.mini-news img{
width:92px;
height:78px
}

.info-sidebar{
padding:16px
}

.info-sidebar-head b{
font-size:19px
}

.section{
padding:58px 0!important
}

}

/* === FINAL ELEGANT 3D SECTION ICONS + INFO TOP (2026-06-07) === */
.section-icon{

  width:48px!important;
height:48px!important;
min-width:48px!important;

  display:inline-flex!important;
align-items:center!important;
justify-content:center!important;

  border-radius:16px!important;
color:#fff!important;
font-size:21px!important;

  background:linear-gradient(145deg,#f8fbff 0%,#0b5ed7 42%,#063d91 100%)!important;

  box-shadow:inset 3px 3px 8px rgba(255,255,255,.42),inset -8px -10px 18px rgba(4,22,56,.35),0 14px 28px rgba(7,88,201,.28)!important;

  position:relative!important;
overflow:hidden!important;
vertical-align:middle!important;

}

.section-icon:before{
content:"";
position:absolute;
left:8px;
top:6px;
width:58%;
height:38%;
border-radius:999px;
background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,255,255,0));
filter:blur(.2px)
}

.section-icon i{
position:relative;
z-index:2;
text-shadow:0 2px 6px rgba(0,0,0,.26)
}

.badge-icon{
display:inline-flex!important;
align-items:center!important;
gap:10px!important;
padding:7px 14px 7px 7px!important;
background:linear-gradient(135deg,#eef6ff,#fff)!important;
border:1px solid #d7e8ff!important;
box-shadow:0 12px 28px rgba(7,88,201,.10)!important;
color:#073b7a!important
}

.badge-icon .section-icon{
width:34px!important;
height:34px!important;
min-width:34px!important;
border-radius:12px!important;
font-size:15px!important;
box-shadow:inset 2px 2px 6px rgba(255,255,255,.45),inset -6px -8px 14px rgba(4,22,56,.32),0 10px 20px rgba(7,88,201,.22)!important
}

.icon-info{
background:linear-gradient(145deg,#fff4bf 0%,#f59e0b 45%,#b45309 100%)!important;
box-shadow:inset 3px 3px 8px rgba(255,255,255,.45),inset -8px -10px 18px rgba(82,45,5,.35),0 14px 28px rgba(245,158,11,.30)!important
}

.icon-principal{
background:linear-gradient(145deg,#dbeafe 0%,#2563eb 45%,#0b2b6a 100%)!important
}

.icon-school{
background:linear-gradient(145deg,#e0f2fe 0%,#0284c7 45%,#075985 100%)!important
}

.icon-certificate{
background:linear-gradient(145deg,#fff7cc 0%,#eab308 45%,#92400e 100%)!important
}

.icon-factory{
background:linear-gradient(145deg,#e5e7eb 0%,#475569 45%,#0f172a 100%)!important
}

.icon-laptop{
background:linear-gradient(145deg,#dcfce7 0%,#16a34a 45%,#065f46 100%)!important
}

.icon-medal{
background:linear-gradient(145deg,#ffedd5 0%,#f97316 45%,#9a3412 100%)!important
}

.icon-alumni{
background:linear-gradient(145deg,#ede9fe 0%,#7c3aed 45%,#3b0764 100%)!important
}

.icon-gallery{
background:linear-gradient(145deg,#fce7f3 0%,#db2777 45%,#831843 100%)!important
}

.icon-news{
background:linear-gradient(145deg,#cffafe 0%,#0891b2 45%,#164e63 100%)!important
}

.premium-info-top{
padding:32px 0 0!important;
background:linear-gradient(180deg,#fff,#f7fbff)!important;
position:relative;
z-index:4!important
}

.premium-info-card{
display:grid!important;
grid-template-columns:72px minmax(0,1fr) auto!important;
gap:20px!important;
align-items:center!important;
padding:24px 26px!important;
border-radius:30px!important;
background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(236,246,255,.96))!important;
border:1px solid #cfe2ff!important;
box-shadow:0 24px 70px rgba(7,88,201,.14)!important;
position:relative!important;
overflow:hidden!important
}

.premium-info-card:before{
content:"";
position:absolute;
right:-80px;
top:-90px;
width:240px;
height:240px;
border-radius:50%;
background:radial-gradient(circle,rgba(255,211,61,.34),rgba(255,211,61,0) 70%)
}

.premium-info-card:after{
content:"";
position:absolute;
left:12%;
bottom:-80px;
width:220px;
height:160px;
border-radius:50%;
background:radial-gradient(circle,rgba(32,183,255,.20),rgba(32,183,255,0) 70%)
}

.premium-info-card>*{
position:relative;
z-index:2
}

.premium-info-icon{
width:64px!important;
height:64px!important;
min-width:64px!important;
border-radius:22px!important;
font-size:28px!important
}

.premium-kicker{
display:block!important;
font-size:13px!important;
text-transform:uppercase!important;
letter-spacing:.8px!important;
font-weight:950!important;
color:#0758c9!important;
margin-bottom:4px!important
}

.premium-info-content h2{
margin:0 0 4px!important;
color:#071b42!important;
font-size:clamp(22px,2.5vw,34px)!important;
line-height:1.16!important;
font-weight:950!important;
letter-spacing:-.7px!important
}

.premium-info-content p{
margin:0!important;
color:#475569!important;
font-weight:700!important;
line-height:1.55!important
}

.premium-info-btn{
white-space:nowrap!important
}

.principal-premium{
padding-top:56px!important
}

.principal-text .kepsek-name{
font-size:clamp(30px,3.6vw,48px)!important;
line-height:1.08!important;
letter-spacing:-1.2px!important;
text-wrap:balance!important
}

.info-sidebar-head .section-icon{
width:48px!important;
height:48px!important;
min-width:48px!important
}

@media(max-width:760px){
.premium-info-card{
grid-template-columns:54px 1fr!important;
padding:18px!important;
border-radius:24px!important;
gap:14px!important
}

.premium-info-icon{
width:50px!important;
height:50px!important;
min-width:50px!important;
border-radius:17px!important;
font-size:22px!important
}

.premium-info-btn{
grid-column:1/-1!important;
width:100%!important;
text-align:center!important
}

.premium-info-content h2{
font-size:22px!important
}

.premium-info-content p{
font-size:14.5px!important
}

.badge-icon{
gap:8px!important
}

.badge-icon .section-icon{
width:30px!important;
height:30px!important;
min-width:30px!important;
font-size:13px!important
}

.section-icon{
width:42px!important;
height:42px!important;
min-width:42px!important
}

.principal-text .kepsek-name{
font-size:30px!important;
line-height:1.12!important
}

}

/* FINAL FIX: tagline topbar restored + profile duplicate button removed spacing */
.topbar-premium{
display:block!important;
background:linear-gradient(90deg,#031633,#0758c9,#1e88e5)!important;
color:#fff!important;
border-bottom:1px solid rgba(255,255,255,.12)!important;
box-shadow:0 8px 24px rgba(3,22,51,.12)!important;

}

.topbar-premium .topflex{
display:flex!important;
align-items:center!important;
justify-content:space-between!important;
gap:18px!important;
min-height:34px!important;
font-size:13px!important;
font-weight:800!important;
letter-spacing:.15px!important;
white-space:nowrap!important;
overflow:hidden!important;

}

.topbar-premium .top-tagline{
display:inline-flex!important;
align-items:center!important;
gap:8px!important;
color:#fff!important;
text-transform:uppercase!important;

}

.topbar-premium .top-address{
color:#eaf6ff!important;
overflow:hidden!important;
text-overflow:ellipsis!important;

}

.topbar-premium .top-contact{
color:#fff!important;

}

.profile-box .btn[href="?page=profil"]{
display:none!important;

}

.profile-box{
justify-content:center!important;

}

@media(max-width:900px){
.topbar-premium .topflex{
justify-content:center!important;
text-align:center!important;
white-space:normal!important;
line-height:1.35!important;
padding:6px 0!important
}

.topbar-premium .top-address,.topbar-premium .top-contact{
display:none!important
}

}

@media(max-width:760px){
.topbar-premium{
display:block!important
}

.topbar-premium .topflex{
font-size:11px!important;
min-height:30px!important
}

}

/* FINAL HOME ELEGAN - info atas kepsek, icon 3D, responsive kepsek */
.premium-info-strip{
padding:34px 0 0!important;
background:linear-gradient(180deg,#f7fbff,#ffffff)!important;
position:relative!important;
z-index:3!important
}

.premium-info-card{
display:grid!important;
grid-template-columns:74px minmax(0,1fr) auto!important;
gap:20px!important;
align-items:center!important;
padding:22px 26px!important;
border-radius:30px!important;
background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(239,247,255,.94))!important;
border:1px solid rgba(180,210,255,.95)!important;
box-shadow:0 28px 80px rgba(7,88,201,.15)!important;
position:relative!important;
overflow:hidden!important
}

.premium-info-card:before{
content:"";
position:absolute;
inset:0;
background:radial-gradient(circle at 8% 0%,rgba(35,199,255,.22),transparent 34%),radial-gradient(circle at 96% 30%,rgba(255,211,107,.24),transparent 30%);
pointer-events:none!important
}

.premium-info-card>*{
position:relative!important;
z-index:2!important
}

.premium-info-icon{
width:74px!important;
height:74px!important;
min-width:74px!important;
border-radius:24px!important;
font-size:30px!important;
box-shadow:inset 0 2px 8px rgba(255,255,255,.75),0 18px 40px rgba(7,88,201,.28)!important
}

.premium-kicker{
display:block!important;
font-size:13px!important;
text-transform:uppercase!important;
letter-spacing:.9px!important;
font-weight:950!important;
color:#0758c9!important;
margin-bottom:6px!important
}

.premium-info-content h2{
margin:0 0 4px!important;
color:#071b42!important;
font-size:clamp(22px,2.7vw,34px)!important;
line-height:1.15!important;
font-weight:950!important;
letter-spacing:-.8px!important
}

.premium-info-content p{
margin:0!important;
color:#475569!important;
font-weight:750!important;
line-height:1.55!important
}

.premium-info-btn{
white-space:nowrap!important
}

.principal-premium{
padding-top:58px!important
}

.principal-text .kepsek-name{
font-size:clamp(28px,3.25vw,44px)!important;
line-height:1.08!important;
letter-spacing:-1px!important;
word-break:keep-all!important;
overflow-wrap:normal!important
}

.section-icon{
box-shadow:inset 0 2px 7px rgba(255,255,255,.78),0 12px 26px rgba(7,88,201,.22)!important;
text-shadow:0 2px 8px rgba(0,0,0,.18)!important
}

.badge-icon{
display:inline-flex!important;
align-items:center!important;
gap:10px!important
}

.icon-school{
background:linear-gradient(145deg,#e0f2fe 0%,#38bdf8 45%,#075985 100%)!important
}

.icon-certificate{
background:linear-gradient(145deg,#fef3c7 0%,#f59e0b 45%,#92400e 100%)!important
}

.icon-factory{
background:linear-gradient(145deg,#e5e7eb 0%,#64748b 45%,#0f172a 100%)!important
}

.icon-laptop{
background:linear-gradient(145deg,#dbeafe 0%,#3b82f6 45%,#1e3a8a 100%)!important
}

.icon-medal{
background:linear-gradient(145deg,#fef9c3 0%,#eab308 45%,#854d0e 100%)!important
}

.icon-graduate{
background:linear-gradient(145deg,#ede9fe 0%,#8b5cf6 45%,#3b0764 100%)!important
}

.icon-gallery{
background:linear-gradient(145deg,#fce7f3 0%,#ec4899 45%,#831843 100%)!important
}

.icon-news{
background:linear-gradient(145deg,#e0f2fe 0%,#0ea5e9 45%,#075985 100%)!important
}

.icon-info{
background:linear-gradient(145deg,#dbeafe 0%,#0758c9 48%,#061a3d 100%)!important
}

.profile-box .btn[href*="profil"], .profile-box a.btn{
display:none!important
}

@media(max-width:900px){
.premium-info-card{
grid-template-columns:58px 1fr!important;
padding:18px!important;
border-radius:24px!important;
gap:14px!important
}

.premium-info-icon{
width:58px!important;
height:58px!important;
min-width:58px!important;
border-radius:19px!important;
font-size:24px!important
}

.premium-info-btn{
grid-column:1/-1!important;
width:100%!important;
text-align:center!important
}

.principal-text .kepsek-name{
font-size:clamp(27px,6.2vw,38px)!important;
line-height:1.12!important
}

}

@media(max-width:560px){
.premium-info-strip{
padding-top:24px!important
}

.premium-info-content h2{
font-size:21px!important
}

.premium-info-content p{
font-size:14px!important
}

.premium-kicker{
font-size:11px!important
}

.principal-text .kepsek-name{
font-size:28px!important;
letter-spacing:-.5px!important
}

}

/* FINAL: Profil Sekolah duplicate box removed from homepage */
.lsp-home-only{
padding-top:70px!important;
background:linear-gradient(180deg,#fff,#f7fbff)!important;

}

.lsp-home-only .container{
max-width:980px!important;

}

.lsp-home-only .lsp-feature-card{
grid-template-columns:330px 1fr!important;

}

@media(max-width:980px){
.lsp-home-only .lsp-feature-card{
grid-template-columns:1fr!important;

}

}

/* ===== FINAL MODERN PROFIL PAGE - PRESISI HOSTING ===== */
.profile-action-grid{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:20px;
margin:34px 0 42px
}

.profile-action-card{
position:relative;
min-height:188px;
padding:24px;
border-radius:30px;
text-decoration:none;
color:#082044;
background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(239,248,255,.9));
border:1px solid rgba(30,136,229,.18);
box-shadow:0 24px 70px rgba(8,32,68,.11);
display:flex;
flex-direction:column;
justify-content:space-between;
overflow:hidden;
transition:.35s ease
}

.profile-action-card:before{
content:"";
position:absolute;
right:-40px;
top:-40px;
width:132px;
height:132px;
border-radius:50%;
background:radial-gradient(circle,rgba(30,136,229,.20),transparent 68%)
}

.profile-action-card:after{
content:"";
position:absolute;
inset:auto 0 0 0;
height:5px;
background:linear-gradient(90deg,#0b5ed7,#23c7ff,#ffd36b);
opacity:.85
}

.profile-action-card:hover{
transform:translateY(-8px);
box-shadow:0 34px 95px rgba(10,77,157,.22);
border-color:rgba(30,136,229,.38)
}

.profile-action-card span{
position:relative;
z-index:2
}

.profile-action-card b{
display:block;
font-size:20px;
line-height:1.25;
margin-top:10px
}

.profile-action-card small{
display:block;
color:#61718a;
font-weight:700;
margin-top:7px;
line-height:1.45
}

.profile-action-card em{
position:relative;
z-index:2;
font-style:normal;
color:#0b63ce;
font-weight:900;
display:inline-flex;
align-items:center;
gap:8px;
margin-top:18px
}

.profile-action-icon{
width:54px;
height:54px;
display:inline-flex;
align-items:center;
justify-content:center;
border-radius:18px;
background:linear-gradient(145deg,#0b5ed7,#23c7ff);
box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 16px 34px rgba(10,77,157,.28);
color:#fff;
font-size:23px;
text-shadow:0 2px 8px rgba(0,0,0,.22)
}

.profile-action-icon.small{
width:42px;
height:42px;
border-radius:15px;
font-size:18px;
margin-right:10px
}

.modern-identity-section{
padding:36px;
margin:12px 0 38px;
border-radius:36px;
background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(239,248,255,.82));
border:1px solid rgba(30,136,229,.18);
box-shadow:0 28px 85px rgba(8,32,68,.10);
overflow:hidden;
position:relative
}

.modern-identity-section:before{
content:"";
position:absolute;
right:-95px;
top:-95px;
width:260px;
height:260px;
border-radius:50%;
background:radial-gradient(circle,rgba(255,211,107,.22),transparent 70%)
}

.modern-section-head{
position:relative;
z-index:1;
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:28px;
margin-bottom:26px
}

.modern-section-badge{
display:inline-flex;
align-items:center;
padding:8px 18px 8px 8px;
border-radius:999px;
background:#fff;
border:1px solid #bfdbfe;
color:#0758c9;
font-weight:950;
box-shadow:0 14px 36px rgba(10,77,157,.10);
white-space:nowrap
}

.modern-section-head h2{
font-size:clamp(30px,4vw,48px);
line-height:1.08;
margin:8px 0 0;
color:#082044;
letter-spacing:-1px
}

.modern-section-head p{
max-width:520px;
margin:14px 0 0;
color:#64748b;
line-height:1.75;
font-size:17px
}

.identity-modern-grid{
position:relative;
z-index:1;
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:18px
}

.identity-modern-card{
min-height:138px;
border-radius:26px;
background:#fff;
border:1px solid rgba(30,136,229,.14);
box-shadow:0 16px 45px rgba(8,32,68,.08);
padding:22px;
display:flex;
flex-direction:column;
justify-content:center;
transition:.3s ease
}

.identity-modern-card:hover{
transform:translateY(-5px);
box-shadow:0 26px 70px rgba(10,77,157,.16)
}

.identity-modern-card i{
width:44px;
height:44px;
border-radius:15px;
display:inline-flex;
align-items:center;
justify-content:center;
background:linear-gradient(145deg,#eaf5ff,#fff);
color:#0b63ce;
box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 12px 28px rgba(10,77,157,.12);
font-size:19px;
margin-bottom:14px
}

.identity-modern-card small{
font-weight:900;
color:#0b63ce;
text-transform:uppercase;
letter-spacing:.5px
}

.identity-modern-card strong{
font-size:19px;
line-height:1.45;
color:#102348;
margin-top:7px;
word-break:break-word
}

.identity-modern-card.wide{
grid-column:span 2
}

@media(max-width:1100px){
.profile-action-grid,.identity-modern-grid{
grid-template-columns:repeat(2,minmax(0,1fr))
}

.modern-section-head{
display:block
}

.modern-section-head p{
max-width:100%
}

}

@media(max-width:620px){
.profile-action-grid,.identity-modern-grid{
grid-template-columns:1fr
}

.profile-action-card{
min-height:160px;
padding:20px
}

.modern-identity-section{
padding:22px;
border-radius:28px
}

.identity-modern-card.wide{
grid-column:span 1
}

.modern-section-badge{
white-space:normal
}

.modern-section-head h2{
font-size:30px
}

.identity-modern-card{
min-height:122px
}

}

/* =========================================================
   HERO SLIDER FINAL PROFESIONAL - TERANG, AUTOPLAY, RESPONSIVE
   ========================================================= */
.home-hero-final{

    min-height:720px!important;

    height:calc(100vh - 112px)!important;

    max-height:860px!important;

    background:#eaf6ff!important;

    border-radius:0 0 34px 34px!important;

    overflow:hidden!important;

    position:relative!important;

}

.home-hero-final .slide:after{
display:none!important;
content:none!important
}

.home-hero-final:before{

    content:""!important;

    position:absolute!important;

    inset:0!important;

    z-index:2!important;

    background:linear-gradient(90deg,rgba(4,18,43,.78) 0%,rgba(5,37,83,.54) 31%,rgba(255,255,255,.12) 62%,rgba(255,255,255,.03) 100%)!important;

    pointer-events:none!important;

}

.home-hero-final:after{

    content:""!important;

    position:absolute!important;

    left:-8%;
right:-8%;
bottom:-92px!important;

    height:210px!important;

    z-index:3!important;

    background:radial-gradient(ellipse at center,rgba(255,193,7,.55) 0%,rgba(255,193,7,.20) 35%,transparent 67%)!important;

    border-radius:50% 50% 0 0!important;

    pointer-events:none!important;

}

.home-hero-final .slide{

    background-position:center center!important;

    background-size:cover!important;

    filter:saturate(1.08) brightness(1.09) contrast(1.03)!important;

    transform:scale(1.035)!important;

    transition:opacity 1s ease,transform 7.5s ease!important;

}

.home-hero-final .slide.active{
transform:scale(1)!important
}

.home-hero-final .hero-content{

    z-index:5!important;

    padding-top:0!important;

    max-width:760px!important;

    text-shadow:0 4px 18px rgba(0,0,0,.24)!important;

}

.home-hero-final .hero-copy{
display:none!important;
animation:heroTextIn .72s ease both!important
}

.home-hero-final .hero-copy.active{
display:block!important
}

.home-hero-final .tag{

    background:rgba(255,255,255,.20)!important;

    border:1px solid rgba(255,255,255,.38)!important;

    box-shadow:0 18px 45px rgba(2,8,23,.16)!important;

    backdrop-filter:blur(14px)!important;

}

.home-hero-final h1{

    color:#fff!important;

    font-size:clamp(42px,5.5vw,74px)!important;

    line-height:1.02!important;

    margin:18px 0 14px!important;

    max-width:760px!important;

}

.home-hero-final p{

    color:#f3f8ff!important;

    font-weight:700!important;

    max-width:690px!important;

    text-shadow:0 3px 12px rgba(0,0,0,.35)!important;

}

.hero-actions{
display:flex!important;
gap:16px!important;
flex-wrap:wrap!important;
margin-top:28px!important
}

.hero-feature-row{
display:flex!important;
gap:12px!important;
flex-wrap:wrap!important;
margin-top:26px!important
}

.hero-feature-row span{
display:inline-flex!important;
align-items:center!important;
gap:9px!important;
padding:12px 15px!important;
border-radius:999px!important;
background:rgba(255,255,255,.88)!important;
color:#082044!important;
font-weight:900!important;
box-shadow:0 18px 40px rgba(8,32,68,.16)!important;
text-shadow:none!important
}

.hero-feature-row i{
color:#0758c9!important
}

.hero-nav{
position:absolute!important;
top:50%!important;
z-index:7!important;
transform:translateY(-50%)!important;
width:50px!important;
height:50px!important;
border:0!important;
border-radius:50%!important;
background:rgba(255,255,255,.86)!important;
color:#0758c9!important;
font-size:38px!important;
line-height:1!important;
cursor:pointer!important;
box-shadow:0 18px 45px rgba(8,32,68,.22)!important;
transition:.25s!important
}

.hero-nav:hover{
background:#fff!important;
transform:translateY(-50%) scale(1.08)!important
}

.hero-prev{
left:24px!important
}

.hero-next{
right:24px!important
}

.hero-dots{
position:absolute!important;
left:50%!important;
bottom:28px!important;
transform:translateX(-50%)!important;
z-index:7!important;
display:flex!important;
gap:10px!important;
padding:10px 14px!important;
border-radius:999px!important;
background:rgba(255,255,255,.58)!important;
backdrop-filter:blur(12px)!important;
box-shadow:0 16px 40px rgba(8,32,68,.16)!important
}

.hero-dot{
width:12px!important;
height:12px!important;
border-radius:50%!important;
border:0!important;
background:rgba(7,88,201,.36)!important;
cursor:pointer!important;
transition:.25s!important
}

.hero-dot.active{
width:36px!important;
border-radius:999px!important;
background:linear-gradient(135deg,#0758c9,#23c7ff)!important
}

@keyframes heroTextIn{
from{
opacity:0;
transform:translateY(18px)
}

to{
opacity:1;
transform:translateY(0)
}

}

@media(max-width:900px){
.home-hero-final{
height:auto!important;
min-height:650px!important;
padding:84px 0 86px!important;
border-radius:0 0 24px 24px!important
}

.home-hero-final:before{
background:linear-gradient(90deg,rgba(4,18,43,.86),rgba(5,37,83,.62),rgba(255,255,255,.12))!important
}

.home-hero-final h1{
font-size:clamp(36px,9vw,52px)!important
}

.hero-feature-row{
gap:8px!important
}

.hero-feature-row span{
font-size:13px!important;
padding:10px 12px!important
}

.hero-nav{
display:none!important
}

.hero-dots{
bottom:18px!important
}

.hero-actions .btn{
width:auto!important
}

}

@media(max-width:520px){
.home-hero-final{
min-height:610px!important;
padding:70px 0 76px!important
}

.home-hero-final .tag{
font-size:12px!important
}

.home-hero-final p{
font-size:15px!important;
line-height:1.6!important
}

.hero-actions{
gap:10px!important
}

.hero-actions .btn{
width:100%!important
}

.hero-feature-row span{
width:100%!important;
justify-content:center!important
}

.hero-dots{
transform:translateX(-50%) scale(.9)!important
}

}

/* PPDB tagline + ticker final */
.ppdb-title h2{
font-size:clamp(32px,4vw,48px);
color:#071B3A;
margin:10px 0 6px
}

.ppdb-tagline{
font-size:17px;
line-height:1.7;
color:#52657d;
max-width:820px
}

.ppdb-ticker{
display:flex;
align-items:center;
gap:14px;
background:#fff;
border:1px solid #dcecff;
border-left:6px solid #0A4D9D;
border-radius:18px;
padding:14px 16px;
margin:-12px 0 24px;
box-shadow:0 16px 45px rgba(10,77,157,.10);
overflow:hidden
}

.ppdb-ticker b{
white-space:nowrap;
background:linear-gradient(135deg,#0A4D9D,#42A5F5);
color:#fff;
padding:8px 14px;
border-radius:999px
}

.ppdb-ticker marquee{
font-weight:850;
color:#071B3A
}

@media(max-width:640px){
.ppdb-ticker{
display:block
}

.ppdb-ticker b{
display:inline-block;
margin-bottom:10px
}

}

/* === UPDATE PRESISI 2026-06-07: berita sidebar, profil berurutan, navbar/slider responsif === */
.home-hero-final{
height:420px!important;
min-height:420px!important;
max-height:420px!important
}

.home-hero-final .hero-content{
padding-top:54px!important
}

@media(max-width:760px){
.home-hero-final{
height:auto!important;
min-height:390px!important;
max-height:none!important;
padding-bottom:48px!important
}

.home-hero-final .hero-content{
padding-top:40px!important
}

.home-hero-final h1{
font-size:clamp(26px,7vw,36px)!important
}

.home-hero-final p{
font-size:14px!important
}

.home-hero-final .hero-actions .btn{
padding:10px 15px!important;
font-size:13px!important
}

}

.profile-modern-page{
background:linear-gradient(180deg,#f8fbff,#fff)!important
}

.profile-feature-block{
margin-top:28px!important
}

.profile-action-grid-ordered{
grid-template-columns:repeat(4,minmax(0,1fr))!important
}

.former-head-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:18px;
margin-top:20px
}

.former-head-card{
padding:14px;
display:flex;
gap:14px;
align-items:center;
border-radius:24px;
background:linear-gradient(135deg,#fff,#f4f9ff)
}

.former-head-card img{
width:86px;
height:86px;
border-radius:20px;
object-fit:cover
}

.former-head-card b{
display:block;
color:#071b42
}

.former-head-card small{
display:block;
color:#64748b;
font-weight:800
}

.kurikulum-block{
padding:28px;
border-radius:30px;
background:linear-gradient(135deg,#ffffff,#eef7ff)
}

.kurikulum-points{
display:flex;
flex-wrap:wrap;
gap:10px;
margin-top:18px
}

.kurikulum-points span{
padding:10px 14px;
border-radius:999px;
background:#eaf4ff;
color:#0758c9;
font-weight:900
}

.profile-tefa-grid{
margin-top:12px
}

.article-wrap{
display:grid;
grid-template-columns:minmax(0,1fr) 340px;
gap:28px;
align-items:start
}

.sidebar{
position:sticky;
top:100px;
border:1px solid #dbeafe;
border-radius:28px;
background:linear-gradient(180deg,#fff,#f3f8ff);
box-shadow:0 18px 50px rgba(8,32,68,.08);
padding:22px
}

.side-link{
display:block;
text-decoration:none;
color:#071b42;
padding:14px 6px;
border-bottom:1px solid #dbeafe;
font-weight:900
}

.side-link small{
display:block;
color:#0758c9;
margin-top:5px
}

.news-action-bar{
display:flex;
flex-wrap:wrap;
gap:10px;
margin:22px 0
}

.news-stat{
display:inline-flex;
align-items:center;
gap:6px;
border:1px solid #dbeafe;
background:#f5faff;
color:#071b42;
border-radius:999px;
padding:11px 16px;
font-weight:900
}

.comment-box{
margin-top:28px;
padding:28px;
border:1px solid #dbeafe;
border-radius:30px;
background:linear-gradient(180deg,#fff,#f7fbff)
}

.comment-item{
padding:16px 0;
border-bottom:1px solid #e2e8f0
}

.comment-item b{
display:block;
color:#071b42
}

.comment-item small{
color:#64748b;
font-weight:800
}

.navbar .mobile{
display:none
}

.navbar .menu{
align-items:center
}

.dropdown-menu{
z-index:1000
}

@media(max-width:1080px){
.profile-action-grid-ordered{
grid-template-columns:repeat(2,minmax(0,1fr))!important
}

.article-wrap,.news-layout,.news-info-layout{
grid-template-columns:1fr!important
}

.sidebar{
position:relative;
top:0
}

.navbar .mobile{
display:inline-flex!important;
align-items:center;
justify-content:center
}

.navbar .menu{
display:none;
position:absolute;
left:16px;
right:16px;
top:100%;
padding:16px;
border-radius:24px;
background:#fff;
box-shadow:0 25px 60px rgba(8,32,68,.18);
border:1px solid #dbeafe;
flex-direction:column;
align-items:stretch;
gap:6px
}

.navbar .menu.open{
display:flex!important
}

.navbar .menu a,.navbar .menu-item>a{
padding:12px 14px;
border-radius:16px
}

.navbar .menu-item{
display:block
}

.navbar .dropdown-menu{
position:static!important;
display:block!important;
opacity:1!important;
visibility:visible!important;
transform:none!important;
box-shadow:none!important;
border:0!important;
background:#f4f9ff!important;
margin:5px 0 0!important
}

.navbar .navwrap{
position:relative
}

.topflex{
gap:8px;
flex-wrap:wrap
}

}

@media(max-width:640px){
.profile-action-grid-ordered,.former-head-grid{
grid-template-columns:1fr!important
}

.principal-mini{
grid-template-columns:1fr!important
}

.principal-mini img{
width:100%!important;
height:300px!important;
object-fit:cover
}

.former-head-card img{
width:76px;
height:76px
}

.comment-box{
padding:18px
}

.news-action-bar .btn,.news-stat{
width:100%;
justify-content:center
}

.brand span{
font-size:14px
}

.brand small{
font-size:10.5px
}

.navbar .brand img{
width:48px!important;
height:48px!important
}

}

/* === UPDATE 2026-06-07: slider dinaikkan + tagline animasi 4 detik === */
.home-hero-final{
height:520px!important;
min-height:520px!important;
max-height:520px!important
}

.home-hero-final .hero-content{
padding-top:86px!important
}

.home-hero-final .hero-single-tagline.hero-word-rotator{
min-width:290px!important;
justify-content:flex-start!important;
overflow:hidden!important;
background:rgba(255,255,255,.92)!important
}

.home-hero-final .rotator-text{
display:inline-block!important;
animation:rotatorEnter .55s ease both!important;
white-space:nowrap!important
}

.home-hero-final .rotator-text.is-hide{
animation:rotatorExit .26s ease both!important
}

.home-hero-final .rotator-text.is-show{
animation:rotatorEnter .55s ease both!important
}

@keyframes rotatorEnter{
from{
opacity:0;
transform:translateY(16px) scale(.96)
}

to{
opacity:1;
transform:translateY(0) scale(1)
}

}

@keyframes rotatorExit{
from{
opacity:1;
transform:translateY(0) scale(1)
}

to{
opacity:0;
transform:translateY(-14px) scale(.96)
}

}

@media(max-width:900px){
.home-hero-final{
height:500px!important;
min-height:500px!important;
max-height:500px!important
}

.home-hero-final .hero-content{
padding-top:72px!important
}

}

@media(max-width:520px){
.home-hero-final{
height:auto!important;
min-height:500px!important;
max-height:none!important;
padding-bottom:64px!important
}

.home-hero-final .hero-content{
padding-top:58px!important
}

.home-hero-final .hero-single-tagline.hero-word-rotator{
min-width:100%!important;
justify-content:center!important
}

}

/* === FINAL PROFIL, BERITA, SLIDER RESPONSIVE UPDATE === */
.school-building-banner{
position:relative;
overflow:hidden;
border-radius:28px;
margin:22px 0 26px;
min-height:280px;
background:#063c83
}

.school-building-banner img{
width:100%;
height:360px;
object-fit:cover;
display:block;
filter:brightness(.72)
}

.school-building-banner div{
position:absolute;
left:28px;
bottom:24px;
color:#fff;
text-shadow:0 10px 25px rgba(0,0,0,.35)
}

.school-building-banner b{
display:block;
font-size:clamp(24px,3vw,42px);
font-weight:950;
letter-spacing:-.8px
}

.school-building-banner span{
font-weight:800;
font-size:16px
}

.former-head-title{
margin:26px 0 18px;
text-align:center
}

.former-head-title h3{
font-size:clamp(24px,2.4vw,34px);
margin-bottom:8px
}

.former-head-title p{
color:#52677f;
font-weight:700
}

.final-four-grid{
display:grid!important;
grid-template-columns:repeat(4,minmax(0,1fr))!important;
gap:22px!important;
align-items:stretch!important
}

.final-head-card{
overflow:hidden!important;
border-radius:24px!important;
background:#fff!important;
transition:.28s ease!important;
display:flex!important;
flex-direction:column!important
}

.final-head-card:hover{
transform:translateY(-7px);
box-shadow:0 22px 46px rgba(7,56,130,.18)!important
}

.head-photo-wrap{
height:310px;
overflow:hidden;
background:linear-gradient(135deg,#084998,#1599df)
}

.final-head-card img{
width:100%!important;
height:100%!important;
object-fit:cover!important;
display:block!important;
transition:.35s!important
}

.final-head-card:hover img{
transform:scale(1.055)
}

.head-info{
padding:18px 16px 20px;
text-align:center
}

.head-info b{
display:block;
font-size:17px;
color:#07224c
}

.head-info small{
display:block;
margin:7px 0;
color:#0b78d0;
font-weight:900
}

.head-info span{
display:inline-flex;
padding:6px 12px;
border-radius:999px;
background:#eef7ff;
color:#294967;
font-weight:800;
font-size:12px
}

.news-gallery-slider{
position:relative;
overflow:hidden;
border-radius:24px;
margin:20px 0;
background:#eef7ff;
border:1px solid #d8eaff
}

.news-gallery-slide{
display:none;
margin:0
}

.news-gallery-slide.active{
display:block
}

.news-gallery-slide img{
width:100%;
height:min(560px,60vw);
min-height:300px;
object-fit:cover;
display:block
}

.news-gal-prev,.news-gal-next{
position:absolute;
top:50%;
transform:translateY(-50%);
width:48px;
height:48px;
border:0;
border-radius:999px;
background:rgba(255,255,255,.92);
color:#0867cf;
font-size:34px;
font-weight:900;
cursor:pointer;
box-shadow:0 12px 30px rgba(5,38,85,.22)
}

.news-gal-prev{
left:16px
}

.news-gal-next{
right:16px
}

.news-gal-counter{
position:absolute;
right:18px;
bottom:16px;
background:rgba(3,20,48,.72);
color:#fff;
border-radius:999px;
padding:8px 14px;
font-weight:900
}

.final-news-layout{
display:grid!important;
grid-template-columns:minmax(0,1fr) 330px!important;
gap:28px!important
}

.final-news-card>img{
width:100%;
height:245px;
object-fit:cover;
display:block
}

.final-news-sidebar{
position:sticky;
top:105px;
align-self:start
}

.final-news-sidebar h4{
margin:18px 0 8px;
color:#092351
}

.side-cats{
display:flex;
gap:8px;
flex-wrap:wrap
}

.side-cats span{
background:#eef7ff;
border:1px solid #d9ecff;
border-radius:999px;
padding:7px 11px;
font-size:12px;
font-weight:900;
color:#0758c9
}

@media(max-width:1100px){
.final-four-grid{
grid-template-columns:repeat(2,minmax(0,1fr))!important
}

.final-news-layout{
grid-template-columns:1fr!important
}

.final-news-sidebar{
position:relative;
top:auto
}

.school-building-banner img{
height:300px
}

}

@media(max-width:620px){
.final-four-grid{
grid-template-columns:1fr!important
}

.head-photo-wrap{
height:330px
}

.school-building-banner img{
height:240px
}

.school-building-banner div{
left:18px;
right:18px;
bottom:18px
}

.news-gallery-slide img{
height:300px;
min-height:260px
}

.news-gal-prev,.news-gal-next{
width:40px;
height:40px;
font-size:28px
}

.final-news-card>img{
height:210px
}

}

/* =====================================================
   SECTION : PROFIL - IDENTITAS SEKOLAH 1 CARD BESAR
   Catatan: mengganti grid banyak card menjadi satu card besar
   supaya data dari admin tetap rapi walaupun jumlah field bertambah.
===================================================== */
.identity-single-card{

  position:relative;

  z-index:1;

  padding:30px;

  border-radius:30px;

  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(239,248,255,.88));

  border:1px solid rgba(30,136,229,.18);

  box-shadow:0 28px 85px rgba(8,32,68,.10);

  overflow:hidden;

}

.identity-single-card:before{

  content:"";

  position:absolute;

  right:-70px;

  top:-80px;

  width:220px;

  height:220px;

  border-radius:50%;

  background:radial-gradient(circle,rgba(30,136,229,.16),transparent 70%);

  pointer-events:none;

}

.identity-card-title{

  position:relative;

  z-index:1;

  display:flex;

  align-items:center;

  gap:18px;

  padding-bottom:22px;

  margin-bottom:8px;

  border-bottom:1px solid rgba(30,136,229,.14);

}

.identity-card-icon{

  width:62px;

  height:62px;

  min-width:62px;

  display:inline-flex;

  align-items:center;

  justify-content:center;

  border-radius:20px;

  color:#fff;

  font-size:25px;

  background:linear-gradient(145deg,#0b5ed7,#23c7ff);

  box-shadow:0 18px 36px rgba(10,77,157,.24);

}

.identity-card-title h3{

  margin:0;

  color:#082044;

  font-size:clamp(24px,3vw,34px);

  letter-spacing:-.5px;

}

.identity-card-title p{

  margin:7px 0 0;

  color:#64748b;

  line-height:1.65;

}

.identity-info-list{

  position:relative;

  z-index:1;

  display:grid;

  grid-template-columns:repeat(2,minmax(0,1fr));

  gap:0 28px;

  padding-top:12px;

}

.identity-info-row{

  display:grid;

  grid-template-columns:210px minmax(0,1fr);

  gap:18px;

  align-items:start;

  padding:18px 0;

  border-bottom:1px dashed rgba(30,136,229,.18);

}

.identity-info-row:last-child,
.identity-info-row:nth-last-child(2){

  border-bottom:0;

}

.identity-row-label{

  display:flex;

  align-items:center;

  gap:10px;

  color:#0b63ce;

  font-weight:950;

  text-transform:uppercase;

  letter-spacing:.45px;

  font-size:13px;

}

.identity-row-label i{

  width:34px;

  height:34px;

  min-width:34px;

  display:inline-flex;

  align-items:center;

  justify-content:center;

  border-radius:12px;

  color:#0b63ce;

  background:#eef7ff;

}

.identity-info-row strong{

  color:#102348;

  font-size:18px;

  line-height:1.55;

  word-break:break-word;

}

@media(max-width:1100px){

  .identity-info-list{
grid-template-columns:1fr;

}

  .identity-info-row:nth-last-child(2){
border-bottom:1px dashed rgba(30,136,229,.18);

}

}

@media(max-width:640px){

  .identity-single-card{
padding:22px;
border-radius:24px;

}

  .identity-card-title{
align-items:flex-start;
gap:14px;

}

  .identity-card-icon{
width:52px;
height:52px;
min-width:52px;
border-radius:17px;
font-size:21px;

}

  .identity-info-row{
grid-template-columns:1fr;
gap:8px;
padding:16px 0;

}

  .identity-info-row strong{
font-size:16px;

}

}

/* ==========================================================
   PATCH FINAL AMAN - SMKN 1 KUPANG
   Catatan: CSS asli di atas TIDAK dihapus agar tampilan lama
   tidak rusak. Bagian ini hanya memperbaiki layout utama.
   Mudah dicari dengan kata kunci: PATCH FINAL AMAN.
   ========================================================== */

/* ==========================================================
   SECTION : JUDUL HALAMAN / PAGE HERO
   Fungsi: membuat judul seperti "Guru & Tenaga Kependidikan"
   tetap 1 baris di desktop dan turun rapi di HP.
   ========================================================== */
.page-title,
.page-hero-title,
.hero-page-title,
.guru-title,
.guru-hero-title,
.gradient-title h1,
.page-hero h1,
.inner-hero h1,
.breadcrumb-hero h1,
.section-hero h1{

  max-width:100% !important;

  width:100% !important;

  display:block !important;

  white-space:nowrap !important;

  overflow-wrap:normal !important;

  word-break:normal !important;

  text-wrap:nowrap !important;

  font-size:clamp(42px,5vw,72px) !important;

  line-height:1.08 !important;

  letter-spacing:-1.6px !important;

}

/* Judul halaman umum agar tidak terlalu sempit */
.page-hero,
.inner-hero,
.breadcrumb-hero,
.section-hero{

  width:100% !important;

  max-width:none !important;

  overflow:hidden !important;

}

/* Khusus teks Guru & Tenaga Kependidikan jika memakai h1 biasa */
.guru-page h1,
.guru-section h1,
body.guru h1{

  white-space:nowrap !important;

  max-width:100% !important;

}

/* ==========================================================
   SECTION : IDENTITAS SEKOLAH - 1 CARD BESAR
   Fungsi: jika data identitas banyak dari admin, tetap masuk
   dalam satu card rapi, bukan pecah menjadi banyak kotak kecil.
   ========================================================== */
.identity-list,
.identitas-list,
.school-identity-list{

  display:grid !important;

  grid-template-columns:1fr !important;

  gap:0 !important;

  background:rgba(255,255,255,.94) !important;

  border:1px solid #dcecff !important;

  border-radius:28px !important;

  box-shadow:0 24px 70px rgba(7,88,201,.12) !important;

  padding:10px 26px !important;

  overflow:hidden !important;

}

.identity-item,
.identitas-item,
.school-identity-item{

  display:grid !important;

  grid-template-columns:220px 1fr !important;

  align-items:start !important;

  gap:18px !important;

  width:100% !important;

  background:transparent !important;

  border:0 !important;

  border-left:0 !important;

  border-radius:0 !important;

  box-shadow:none !important;

  padding:18px 0 !important;

  border-bottom:1px solid #e7f0ff !important;

}

.identity-item:last-child,
.identitas-item:last-child,
.school-identity-item:last-child{

  border-bottom:0 !important;

}

.identity-item b,
.identity-item strong,
.identitas-item b,
.identitas-item strong,
.school-identity-item b,
.school-identity-item strong{

  color:#0758c9 !important;

  font-weight:950 !important;

  text-transform:uppercase !important;

  letter-spacing:.5px !important;

  font-size:13px !important;

}

.identity-item span,
.identity-item p,
.identitas-item span,
.identitas-item p,
.school-identity-item span,
.school-identity-item p{

  margin:0 !important;

  color:#081b3a !important;

  font-weight:850 !important;

  line-height:1.6 !important;

  word-break:break-word !important;

}

/* ==========================================================
   SECTION : HERO SLIDER FULL WIDTH
   Fungsi: slider presisi dari kiri sampai kanan dan tidak pecah.
   ========================================================== */
.hero,
.hero-slider,
.main-slider{

  width:100% !important;

  max-width:100% !important;

  overflow:hidden !important;

}

.hero-content,
.slider-content{

  max-width:780px !important;

}

/* Tombol di slider tetap rapi */
.hero .btn,
.hero-content .btn,
.slider-content .btn{

  white-space:nowrap !important;

}

/* ==========================================================
   SECTION : RUNNING TEXT DI BAWAH SLIDER
   Fungsi: teks berjalan satu baris, tidak turun ke bawah.
   ========================================================== */
.running-text-section,
.section-running-text,
.announcement-strip{

  width:100% !important;

  overflow:hidden !important;

}

.running-text,
.running-box,
.announcement-strip marquee,
.news-ticker marquee{

  white-space:nowrap !important;

  overflow:hidden !important;

}

/* ==========================================================
   SECTION : RESPONSIVE TABLET
   ========================================================== */
@media(max-width:900px){

  .page-title,
  .page-hero-title,
  .hero-page-title,
  .guru-title,
  .guru-hero-title,
  .gradient-title h1,
  .page-hero h1,
  .inner-hero h1,
  .breadcrumb-hero h1,
  .section-hero h1,
  .guru-page h1,
  .guru-section h1,
  body.guru h1{

    white-space:normal !important;

    text-wrap:balance !important;

    font-size:clamp(34px,8vw,48px) !important;

    line-height:1.14 !important;

  
}

  .identity-item,
  .identitas-item,
  .school-identity-item{

    grid-template-columns:1fr !important;

    gap:8px !important;

  
}

}

/* ==========================================================
   SECTION : RESPONSIVE MOBILE
   ========================================================== */
@media(max-width:520px){

  .identity-list,
  .identitas-list,
  .school-identity-list{

    padding:8px 18px !important;

    border-radius:22px !important;

  
}

  .page-title,
  .page-hero-title,
  .hero-page-title,
  .guru-title,
  .guru-hero-title,
  .gradient-title h1,
  .page-hero h1,
  .inner-hero h1,
  .breadcrumb-hero h1,
  .section-hero h1{

    font-size:34px !important;

  
}

}

/* =========================================================
   FIX PROFILE HERO TITLE
========================================================= */

.gradient-title h1{
    color:#FFFFFF !important;
    font-size:clamp(42px,5vw,72px);
    font-weight:900;
    line-height:1.05;
    letter-spacing:-2px;
    text-shadow:
        0 4px 12px rgba(0,0,0,.18),
        0 8px 30px rgba(0,0,0,.12);
}

/* =========================================================
   SECTION : STATISTIK SEKOLAH + FOOTER MAP FINAL
   Card jumlah rombel, siswa, guru, pegawai dan Google Maps
========================================================= */
.school-stats-section{
    padding:58px 0 42px;
    background:linear-gradient(180deg,#ffffff,#eef7ff);
}
.school-stats-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}
.school-stat-card{
    position:relative;
    overflow:hidden;
    min-height:168px;
    padding:24px;
    border-radius:28px;
    background:rgba(255,255,255,.92);
    border:1px solid #dcecff;
    box-shadow:0 22px 60px rgba(10,77,157,.12);
    transition:.28s ease;
}
.school-stat-card:after{
    content:"";
    position:absolute;
    right:-35px;
    bottom:-45px;
    width:130px;
    height:130px;
    border-radius:50%;
    background:linear-gradient(135deg,rgba(10,77,157,.12),rgba(255,211,107,.18));
}
.school-stat-card:hover{
    transform:translateY(-7px);
    box-shadow:0 30px 80px rgba(10,77,157,.20);
}
.school-stat-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:52px;
    height:52px;
    border-radius:18px;
    color:#fff;
    background:linear-gradient(135deg,#0A4D9D,#42A5F5);
    box-shadow:0 14px 30px rgba(10,77,157,.25);
    margin-bottom:16px;
}
.school-stat-card b{
    display:block;
    position:relative;
    z-index:1;
    font-size:clamp(34px,4vw,48px);
    line-height:1;
    font-weight:950;
    color:#071B3A;
    letter-spacing:-1px;
}
.school-stat-card small{
    display:block;
    position:relative;
    z-index:1;
    margin-top:8px;
    color:#0A4D9D;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.footer-map-wrap{
    margin-top:30px;
}
.footer-map-card{
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:24px;
    align-items:center;
    padding:24px;
    border-radius:28px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.14);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.footer-map-card h4{
    margin:0 0 10px;
    color:#fff;
    font-size:22px;
}
.footer-map-card p{
    margin:0;
    color:#dcecff;
    line-height:1.8;
}
.footer-map-frame{
    overflow:hidden;
    border-radius:22px;
    border:1px solid rgba(255,255,255,.18);
    min-height:260px;
    background:rgba(255,255,255,.08);
}
.footer-map-frame iframe{
    display:block;
    width:100%;
    height:260px;
    border:0;
}
@media(max-width:900px){
    .school-stats-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .footer-map-card{
        grid-template-columns:1fr;
    }
}
@media(max-width:520px){
    .school-stats-section{
        padding:38px 0 28px;
    }
    .school-stats-grid{
        grid-template-columns:1fr;
    }
    .school-stat-card{
        min-height:145px;
    }
    .footer-map-card{
        padding:18px;
        border-radius:22px;
    }
    .footer-map-frame,
    .footer-map-frame iframe{
        min-height:220px;
        height:220px;
    }
}

/* =========================================================
   FINAL FIX : POSISI STATISTIK DI BAWAH SAMBUTAN KEPALA SEKOLAH
========================================================= */
.school-stats-after-principal{
    padding:64px 0 74px !important;
    background:
        radial-gradient(circle at 12% 10%,rgba(36,184,255,.18),transparent 30%),
        linear-gradient(180deg,#eef7ff 0%,#ffffff 70%);
}
.school-stats-heading{
    max-width:820px;
    margin:0 auto 26px;
    text-align:center;
}
.school-stats-heading h2{
    margin:18px 0 10px;
    color:#071B3A;
    font-size:clamp(34px,4vw,54px);
    font-weight:950;
    line-height:1.08;
    letter-spacing:-1.4px;
}
.school-stats-heading p{
    margin:0;
    color:#607089;
    font-size:17px;
    line-height:1.8;
}
.school-stats-after-principal .school-stats-grid{
    margin-top:12px;
}
.school-stats-after-principal .school-stat-card{
    background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(247,251,255,.92));
    border:1px solid #cfe2ff;
    box-shadow:0 24px 70px rgba(10,77,157,.13);
}
@media(max-width:760px){
    .school-stats-heading{
        text-align:left;
    }
    .school-stats-heading h2{
        font-size:32px;
    }
    .school-stats-heading p{
        font-size:16px;
    }
}

/* ===== PATCH STATISTIK SEKOLAH ===== */

.school-stats-section{
    padding:70px 0;
    background:linear-gradient(135deg,#f7fbff,#eef7ff,#ffffff);
}

.school-stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}

.school-stat-card{
    background:#fff;
    border-radius:24px;
    padding:30px 20px;
    text-align:center;
    border:1px solid #dcecff;
    box-shadow:0 20px 50px rgba(10,77,157,.10);
    transition:.3s;
}

.school-stat-card:hover{
    transform:translateY(-8px);
    box-shadow:0 30px 70px rgba(10,77,157,.20);
}

.school-stat-icon{
    font-size:48px;
    margin-bottom:15px;
    display:block;
}

.school-stat-number{
    font-size:42px;
    font-weight:900;
    color:#0A4D9D;
    display:block;
}

.school-stat-label{
    font-size:16px;
    font-weight:700;
    color:#5c708a;
}

@media(max-width:900px){
    .school-stats-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:600px){
    .school-stats-grid{
        grid-template-columns:1fr;
    }
}

/* =========================================================
   PATCH FINAL AMAN HOSTING : STATISTIK SEKOLAH
   Catatan:
   - Hanya mengunci tampilan statistik sekolah.
   - Tidak menyentuh navbar, slider, berita, profil, TEFA, admin, footer.
   - Dipasang paling bawah agar menang dari CSS lama/cache.
========================================================= */

.school-stats-section.school-stats-after-principal{
    display:block !important;
    width:100% !important;
    padding:64px 0 74px !important;
    margin:0 !important;
    background:
        radial-gradient(circle at 12% 10%,rgba(36,184,255,.16),transparent 30%),
        linear-gradient(180deg,#eef7ff 0%,#ffffff 72%) !important;
}

.school-stats-section .container{
    max-width:1220px !important;
    margin:0 auto !important;
}

.school-stats-section .school-stats-heading{
    display:block !important;
    max-width:820px !important;
    margin:0 auto 30px !important;
    text-align:center !important;
}

.school-stats-section .school-stats-heading h2{
    display:block !important;
    margin:18px 0 10px !important;
    color:#071B3A !important;
    font-size:clamp(32px,4vw,52px) !important;
    font-weight:950 !important;
    line-height:1.08 !important;
    letter-spacing:-1.2px !important;
}

.school-stats-section .school-stats-heading p{
    display:block !important;
    margin:0 !important;
    color:#607089 !important;
    font-size:17px !important;
    line-height:1.8 !important;
}

.school-stats-section .school-stats-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:24px !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
}

.school-stats-section .school-stat-card{
    display:block !important;
    position:relative !important;
    overflow:hidden !important;
    min-height:178px !important;
    padding:28px 24px !important;
    margin:0 !important;
    border-radius:30px !important;
    background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(247,251,255,.94)) !important;
    border:1px solid #cfe2ff !important;
    box-shadow:0 24px 70px rgba(10,77,157,.13) !important;
    text-align:left !important;
    transition:.28s ease !important;
}

.school-stats-section .school-stat-card::after{
    content:"" !important;
    position:absolute !important;
    right:-38px !important;
    bottom:-46px !important;
    width:140px !important;
    height:140px !important;
    border-radius:50% !important;
    background:linear-gradient(135deg,rgba(10,77,157,.12),rgba(255,211,107,.20)) !important;
    pointer-events:none !important;
}

.school-stats-section .school-stat-card:hover{
    transform:translateY(-7px) !important;
    box-shadow:0 32px 85px rgba(10,77,157,.20) !important;
}

.school-stats-section .school-stat-icon{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:56px !important;
    height:56px !important;
    margin:0 0 18px !important;
    border-radius:18px !important;
    background:linear-gradient(135deg,#0A4D9D,#42A5F5) !important;
    color:#ffffff !important;
    font-size:22px !important;
    line-height:1 !important;
    box-shadow:0 14px 30px rgba(10,77,157,.25) !important;
}

.school-stats-section .school-stat-icon i{
    color:#ffffff !important;
    font-size:22px !important;
    line-height:1 !important;
}

.school-stats-section .school-stat-card b{
    display:block !important;
    position:relative !important;
    z-index:1 !important;
    margin:0 !important;
    color:#071B3A !important;
    font-size:clamp(34px,4vw,50px) !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:-1px !important;
}

.school-stats-section .school-stat-card small{
    display:block !important;
    position:relative !important;
    z-index:1 !important;
    margin-top:10px !important;
    color:#0A4D9D !important;
    font-size:14px !important;
    font-weight:950 !important;
    line-height:1.35 !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
}

@media(max-width:991px){
    .school-stats-section .school-stats-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media(max-width:576px){
    .school-stats-section.school-stats-after-principal{
        padding:42px 0 48px !important;
    }

    .school-stats-section .school-stats-heading{
        text-align:left !important;
        margin-bottom:22px !important;
    }

    .school-stats-section .school-stats-heading h2{
        font-size:30px !important;
    }

    .school-stats-section .school-stats-heading p{
        font-size:15px !important;
    }

    .school-stats-section .school-stats-grid{
        grid-template-columns:1fr !important;
        gap:16px !important;
    }

    .school-stats-section .school-stat-card{
        min-height:150px !important;
        padding:24px !important;
        border-radius:24px !important;
    }
}
