:root{
  --navy:#005fab;
  --navy-deep:#004e8c;
  --navy-light:#1a7ac9;
  --gold:#d4af37;
  --gold-light:#e8c75a;
  --gold-soft:#f4e9c8;
  --cream:#faf7f0;
  --ink:#1a2238;
  --muted:#5b6478;
  --line:#e6e2d6;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Plus Jakarta Sans',sans-serif;color:var(--ink);background:#fff;line-height:1.6}
.arabic{font-family:'Amiri',serif}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}

/* ===== TOP BAR ===== */
.topbar{background:var(--navy-deep);color:#cdd6ee;font-size:13px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:42px;gap:8px 20px;flex-wrap:wrap;padding-top:5px;padding-bottom:5px}
.topbar a{color:#cdd6ee;transition:color .2s}
.topbar a:hover{color:var(--gold-light)}
.topbar .info{display:flex;flex-wrap:wrap;gap:6px 18px}
.topbar .info span{display:inline-flex;align-items:center;gap:6px}
.topbar .info span svg{width:14px;height:14px;color:var(--gold);flex:none}
.topbar .search{flex:none}
.topbar .search form{display:flex;align-items:center;background:rgba(255,255,255,.1);border-radius:20px;padding:4px 6px 4px 14px}
.topbar .search input{background:none;border:none;color:#fff;outline:none;font-size:12.5px;width:140px}
.topbar .search input::placeholder{color:#9aa6c8}
.topbar .search button{background:var(--gold);border:none;width:26px;height:26px;min-width:26px;border-radius:50%;color:var(--navy-deep);cursor:pointer;display:grid;place-items:center;flex:none;margin-left:6px;padding:0}
.topbar .search button svg{width:13px;height:13px}
.topbar .search form:focus-within{background:rgba(255,255,255,.16)}

/* ===== HEADER / NAV ===== */
.header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 14px rgba(15,37,87,.07)}
.header .wrap{display:flex;align-items:center;justify-content:space-between;height:88px}
.brand{display:flex;align-items:center;gap:14px}
.brand .mark{height:56px;width:56px;flex:none;object-fit:contain}
.brand .name{font-weight:800;color:var(--navy);font-size:18px;line-height:1.15}
.brand .name small{display:block;font-weight:600;color:var(--gold);font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-top:2px}
.nav{display:flex;gap:2px;align-items:center}
.nav>li{list-style:none;position:relative}
.nav>li>a{display:flex;align-items:center;gap:5px;font-weight:600;font-size:14px;color:var(--navy);padding:10px 12px;border-radius:8px;transition:.2s;cursor:pointer;white-space:nowrap}
.nav>li>a:hover,.nav>li>a.active,.nav>li:hover>a{background:var(--gold-soft);color:var(--navy)}
.nav .caret{width:11px;height:11px;transition:transform .2s;opacity:.7}
.nav>li:hover .caret{transform:rotate(180deg)}
.nav .cta{background:var(--gold)!important;color:var(--navy-deep)!important;font-weight:700}
.nav .cta:hover{background:var(--gold-light)!important}
/* dropdown */
.dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:215px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(15,37,87,.16);padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s;z-index:60}
.nav>li:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown::before{content:"";position:absolute;top:-6px;left:18px;width:12px;height:12px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}
.dropdown li{list-style:none}
.dropdown a{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:500;color:var(--ink);padding:9px 12px;border-radius:8px;transition:.15s}
.dropdown a::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);flex:none;opacity:.45;transition:.15s}
.dropdown a:hover{background:var(--cream);color:var(--navy);font-weight:600;padding-left:15px}
.dropdown a:hover::before{opacity:1}
.burger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px}
.burger span{width:26px;height:3px;background:var(--navy);border-radius:2px}

/* ===== ISLAMIC ORNAMENT STRIP ===== */
.ornament{height:34px;background:
  repeating-linear-gradient(135deg, var(--gold) 0 14px, var(--gold-light) 14px 28px);
  position:relative;overflow:hidden}
.ornament::before{content:"";position:absolute;inset:0;
  background-image:radial-gradient(circle at 14px 50%, var(--navy) 5px, transparent 6px);
  background-size:28px 34px;opacity:.85}

/* ===== HERO ===== */
/* ===== HERO SLIDER ===== */
.hero-slider{position:relative;overflow:hidden;background:var(--navy-deep)}
.slides{position:relative;height:560px}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s ease;display:flex;align-items:center}
.slide.active{opacity:1;visibility:visible}
.slide .bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1);transition:none}
.slide.active .bg{animation:kenburns 8s ease-out forwards}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.15)}}
.slide .overlay{position:absolute;inset:0;background:linear-gradient(95deg,rgba(0,78,140,.90) 0%,rgba(0,95,171,.74) 42%,rgba(0,95,171,.30) 100%)}
.slide .overlay::after{content:"";position:absolute;inset:0;opacity:.12;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cpath d='M40 0l12 28 28 12-28 12-12 28-12-28L0 40l28-12z' fill='none' stroke='%23d4af37' stroke-width='1'/%3E%3C/svg%3E")}
.slide .wrap{position:relative;z-index:2;color:#fff;max-width:1200px;width:100%;margin:0 auto;padding:0 24px}
.slide .inner{max-width:600px}
.slide .eyebrow{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(212,175,55,.5);color:var(--gold-light);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:7px 16px;border-radius:30px;margin-bottom:20px}
.slide .eyebrow svg{width:14px;height:14px}
.slide .arabic-bismillah{font-size:28px;color:var(--gold-light);margin-bottom:12px;opacity:.92}
.slide h1{font-size:48px;line-height:1.08;font-weight:800;margin-bottom:18px}
.slide h1 em{font-style:normal;color:var(--gold-light)}
.slide p.lead{font-size:17px;color:#dbe2f3;max-width:500px;margin-bottom:28px}
.slide .actions{display:flex;gap:14px;flex-wrap:wrap}
/* entrance animation per slide */
.slide.active .eyebrow{animation:rise .7s .15s both}
.slide.active h1{animation:rise .7s .3s both}
.slide.active p.lead{animation:rise .7s .45s both}
.slide.active .actions{animation:rise .7s .6s both}
.slide.active .arabic-bismillah{animation:rise .7s both}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

.btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:15px;padding:14px 26px;border-radius:30px;cursor:pointer;transition:.25s;border:none}
.btn-gold{background:var(--gold);color:var(--navy-deep)}
.btn-gold:hover{background:var(--gold-light);transform:translateY(-2px)}
.btn-ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.3)}
.btn-ghost:hover{background:rgba(255,255,255,.2)}
.btn svg{width:17px;height:17px}
.deadline svg{width:16px;height:16px}
.float-cta svg{width:15px;height:15px}

/* slider controls */
.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:50px;height:50px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(0,78,140,.4);color:#fff;cursor:pointer;display:grid;place-items:center;transition:.25s;backdrop-filter:blur(4px)}
.slider-arrow:hover{background:var(--gold);color:var(--navy-deep);border-color:var(--gold)}
.slider-arrow.prev{left:24px}
.slider-arrow.next{right:24px}
.slider-arrow svg{width:22px;height:22px}
.slider-dots{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:5;display:flex;gap:10px}
.slider-dots button{width:11px;height:11px;border-radius:50%;border:none;background:rgba(255,255,255,.4);cursor:pointer;transition:.25s;padding:0}
.slider-dots button.active{background:var(--gold);width:30px;border-radius:6px}
/* stat strip below slider */
.hero-stats{background:var(--navy);border-top:1px solid rgba(255,255,255,.08)}
.hero-stats .wrap{display:flex;justify-content:center;gap:60px;padding:24px 0;flex-wrap:wrap}
.hero-stats .s{text-align:center;color:#fff}
.hero-stats .s .n{font-size:30px;font-weight:800;color:var(--gold-light);line-height:1}
.hero-stats .s .l{font-size:12.5px;color:#aebbdd;margin-top:4px}

/* hero card */
.hero-card{background:#fff;border-radius:22px;overflow:hidden;color:var(--ink);box-shadow:0 30px 60px rgba(0,0,0,.3);position:relative}
.hero-card .photo{height:150px;background-size:cover;background-position:center;position:relative}
.hero-card .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(15,37,87,.55),transparent 60%)}
.hero-card .pad{padding:26px 30px 30px}
.hero-card .ribbon{position:absolute;top:14px;right:18px;z-index:2;background:var(--gold);color:var(--navy-deep);font-weight:800;font-size:13px;padding:8px 18px;border-radius:8px;box-shadow:0 8px 18px rgba(0,0,0,.3)}
.hero-card h3{color:var(--navy);font-size:21px;font-weight:800;margin-bottom:6px}
.hero-card .sub{color:var(--gold);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px}
.lvl{display:flex;gap:14px;margin-bottom:16px}
.lvl .item{flex:1;border:1px solid var(--line);border-radius:14px;padding:16px;text-align:center;transition:.2s}
.lvl .item:hover{border-color:var(--gold);background:var(--cream)}
.lvl .badge{width:46px;height:46px;margin:0 auto 10px;border-radius:12px;background:var(--navy);color:var(--gold-light);display:grid;place-items:center;font-weight:800;font-size:15px}
.lvl .item b{display:block;color:var(--navy);font-size:15px}
.lvl .item span{font-size:12px;color:var(--muted)}
.hero-card .note{background:var(--cream);border-radius:12px;padding:14px 16px;font-size:13px;color:var(--muted);display:flex;align-items:center;gap:10px}
.hero-card .note svg{flex:none;color:var(--gold)}

/* ===== WELCOME ===== */
.welcome{padding:74px 0}
.eyebrow-c{color:var(--gold);font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:13px}
.welcome .wrap{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.welcome .txt{text-align:left}
.welcome h2{color:var(--navy);font-size:34px;font-weight:800;margin:12px 0 18px}
.welcome p{margin:0 0 26px;color:var(--muted);font-size:16.5px}
.welcome .arabic{display:block;font-size:24px;color:var(--gold);margin-bottom:8px}
.welcome .photo-wrap{position:relative;z-index:1}
.welcome .photo-wrap img{border-radius:20px;width:100%;height:400px;object-fit:cover;box-shadow:0 24px 50px rgba(15,37,87,.18)}
.welcome .photo-wrap .frame{position:absolute;top:-14px;right:-14px;width:120px;height:120px;border-top:4px solid var(--gold);border-right:4px solid var(--gold);border-radius:0 18px 0 0;z-index:-1}
.welcome .photo-wrap .frame2{position:absolute;bottom:-14px;left:-14px;width:120px;height:120px;border-bottom:4px solid var(--navy);border-left:4px solid var(--navy);border-radius:0 0 0 18px;z-index:-1}
.welcome .photo-wrap .tag{position:absolute;left:20px;bottom:20px;background:#fff;border-radius:14px;padding:14px 18px;box-shadow:0 12px 28px rgba(0,0,0,.18);display:flex;align-items:center;gap:12px}
.welcome .photo-wrap .tag .ic{width:42px;height:42px;border-radius:10px;background:var(--navy);color:var(--gold-light);display:grid;place-items:center;flex:none}
.welcome .photo-wrap .tag b{display:block;color:var(--navy);font-size:18px;line-height:1}
.welcome .photo-wrap .tag span{font-size:12px;color:var(--muted)}

/* ===== 5 PILLARS ===== */
.pillars{background:var(--cream);padding:74px 0}
.sec-head{text-align:center;margin-bottom:48px}
.sec-head .eyebrow-c{display:block}
.sec-head h2{color:var(--navy);font-size:32px;font-weight:800;margin-top:10px}
.grid5{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.pcard{background:#fff;border-radius:18px;padding:28px 22px;text-align:center;border:1px solid var(--line);transition:.25s}
.pcard:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(15,37,87,.12);border-color:var(--gold)}
.pcard .ic{width:60px;height:60px;margin:0 auto 16px;border-radius:16px;background:linear-gradient(160deg,var(--navy),var(--navy-light));display:grid;place-items:center;color:var(--gold-light)}
.pcard h4{color:var(--navy);font-size:16px;font-weight:700;margin-bottom:6px}
.pcard p{font-size:13px;color:var(--muted)}

/* ===== NEWS ===== */
.news{background:var(--navy);padding:74px 0;color:#fff}
.news .sec-head h2{color:#fff}
.news .eyebrow-c{color:var(--gold-light)}
.news-list{max-width:860px;margin:0 auto}
.news-item{display:grid;grid-template-columns:90px 150px 1fr;gap:24px;align-items:center;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.news-item .date{text-align:center}
.news-item .date .d{font-size:34px;font-weight:800;color:var(--gold-light);line-height:1}
.news-item .date .m{font-size:13px;color:#aebbdd}
.news-item .date .tag{display:inline-block;margin-top:8px;font-size:11px;font-weight:700;color:var(--navy-deep);background:var(--gold);padding:3px 10px;border-radius:20px}
.news-item .thumb{height:90px;border-radius:12px;background-size:cover;background-position:center;overflow:hidden}
.news-item .body h4{font-size:18px;font-weight:700;margin-bottom:6px}
.news-item .body p{color:#aebbdd;font-size:14px;margin-bottom:10px}
.news-item .body a{color:var(--gold-light);font-weight:700;font-size:13px}

/* ===== TESTIMONI ===== */
.testi{background:#fff;padding:74px 0}
.testi .sec-head h2{color:var(--navy)}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.tcard{border:1px solid var(--line);border-radius:18px;padding:28px;background:var(--cream);position:relative}
.tcard .q{font-size:46px;color:var(--gold);font-family:Georgia,serif;line-height:.6;margin-bottom:14px}
.tcard p{font-size:14.5px;color:var(--ink);margin-bottom:20px}
.tcard .who{display:flex;align-items:center;gap:12px}
.tcard .av{width:46px;height:46px;border-radius:50%;background:var(--navy);color:var(--gold-light);display:grid;place-items:center;font-weight:800}
.tcard .who b{display:block;color:var(--navy);font-size:14px}
.tcard .who span{font-size:12px;color:var(--muted)}

/* ===== GALERI ===== */
.galeri{background:var(--cream);padding:74px 0}
.galeri .sec-head h2{color:var(--navy)}
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:180px;gap:16px}
.gal-grid a{border-radius:16px;overflow:hidden;position:relative;display:block}
.gal-grid a img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gal-grid a:hover img{transform:scale(1.08)}
.gal-grid a::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(15,37,87,.45),transparent 55%);opacity:0;transition:.3s}
.gal-grid a:hover::after{opacity:1}
.gal-grid .big{grid-column:span 2;grid-row:span 2}
.gal-grid .wide{grid-column:span 2}

/* ===== ADMISSION ===== */
.admission{background:linear-gradient(120deg,rgba(0,78,140,.92),rgba(26,122,201,.85)),url('assets/img/kelas-2.jpg');background-size:cover;background-position:center;color:#fff;text-align:center;padding:80px 0;position:relative;overflow:hidden}
.admission::before{content:"";position:absolute;inset:0;opacity:.12;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cpath d='M30 0l8 22 22 8-22 8-8 22-8-22L0 30l22-8z' fill='%23d4af37'/%3E%3C/svg%3E");background-size:60px}
.admission .wrap{position:relative;z-index:1}
.admission .arabic{font-size:26px;color:var(--gold-light);margin-bottom:14px}
.admission h2{font-size:36px;font-weight:800;margin-bottom:12px}
.admission p{color:#c7d0ea;font-size:17px;margin-bottom:30px}
.admission .deadline{display:inline-flex;gap:10px;align-items:center;background:rgba(212,175,55,.15);border:1px solid rgba(212,175,55,.4);color:var(--gold-light);padding:8px 18px;border-radius:30px;font-size:13px;font-weight:600;margin-bottom:28px}

/* ===== FOOTER ===== */
.footer{background:var(--navy-deep);color:#c4d2ea;padding:64px 0 0;position:relative}
.footer::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-light),var(--gold))}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:44px}
.footer .fbrand .brand{align-items:center;gap:12px}
.footer .fbrand .brand .name{color:#fff}
.footer .fmark{width:52px;height:52px;flex:none;border-radius:50%;display:grid;place-items:center;background:#fff;padding:4px;box-shadow:0 4px 14px rgba(0,0,0,.2)}
.footer .fmark img{width:100%;height:100%;object-fit:contain;border-radius:50%}
.footer .fbrand p{font-size:14px;line-height:1.7;margin:18px 0;max-width:300px;color:#aebbdd}
.footer h5{color:#fff;font-size:15px;font-weight:700;letter-spacing:.02em;margin-bottom:20px;position:relative;padding-bottom:12px}
.footer h5::after{content:"";position:absolute;left:0;bottom:0;width:34px;height:3px;background:var(--gold);border-radius:2px}
.footer ul{list-style:none}
.footer ul li{margin-bottom:12px}
.footer ul a{font-size:14px;color:#aebbdd;transition:.2s;display:inline-flex;align-items:center;gap:7px}
.footer ul a::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold);opacity:0;transform:translateX(-4px);transition:.2s}
.footer ul a:hover{color:#fff}
.footer ul a:hover::before{opacity:1;transform:translateX(0)}
/* Kontak: item dengan ikon berlatar, ukuran ikon dibatasi */
.footer .contact{display:flex;flex-direction:column;gap:16px}
.footer .contact li{display:flex;gap:13px;font-size:14px;align-items:flex-start;line-height:1.55;color:#c4d2ea}
.footer .contact li .kico{width:38px;height:38px;flex:none;border-radius:10px;background:rgba(212,175,55,.14);border:1px solid rgba(212,175,55,.3);display:grid;place-items:center}
.footer .contact li .kico svg{width:18px;height:18px;color:var(--gold-light);display:block}
.footer .contact li a{color:#c4d2ea;transition:.2s}
.footer .contact li a:hover{color:var(--gold-light)}
.socials{display:flex;gap:10px;margin-top:20px}
.socials a{width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#cdd6ee;transition:.25s}
.socials a:hover{background:var(--gold);color:var(--navy-deep);transform:translateY(-3px)}
.socials a svg{width:18px;height:18px}
.fbottom{border-top:1px solid rgba(255,255,255,.1);padding:22px 0;text-align:center;font-size:13px;color:#8291b5}

/* floating */
.float-cta{position:fixed;right:0;bottom:30px;background:var(--gold);color:var(--navy-deep);font-weight:800;font-size:13px;padding:13px 20px;border-radius:12px 0 0 12px;box-shadow:-4px 8px 22px rgba(0,0,0,.25);z-index:60;display:flex;align-items:center;gap:8px;transition:.25s}
.float-cta:hover{background:var(--gold-light);padding-right:26px}
.float-cta svg{width:15px;height:15px;flex:none}

/* responsive */
@media(max-width:980px){
  .grid5{grid-template-columns:repeat(2,1fr)}
  .testi-grid{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr 1fr}
  .welcome .wrap{grid-template-columns:1fr;gap:40px}
  .welcome .photo-wrap{order:-1}
  .gal-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}
  .gal-grid .big{grid-column:span 2;grid-row:span 1}
  .slides{height:500px}
  .slide h1{font-size:38px}
  .hero-stats .wrap{gap:36px}
}
@media(max-width:1024px){
  .burger{display:flex;z-index:120}
  .nav{position:fixed;top:0;right:-320px;width:300px;height:100vh;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:90px 16px 30px;box-shadow:-12px 0 40px rgba(0,0,0,.2);overflow-y:auto;transition:right .3s ease;z-index:110}
  body.menu-open .nav{right:0}
  body.menu-open .nav-overlay{opacity:1;visibility:visible}
  .nav-overlay{position:fixed;inset:0;background:rgba(10,26,63,.5);opacity:0;visibility:hidden;transition:.3s;z-index:104}
  .nav>li{width:100%;border-bottom:1px solid var(--line)}
  .nav>li>a{padding:14px 8px;font-size:15px;justify-content:space-between;border-radius:0}
  .nav>li>a:hover,.nav>li:hover>a{background:transparent}
  .nav .caret{transition:transform .25s}
  .nav>li.open .caret{transform:rotate(180deg)}
  .dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;padding:0 0 8px 14px;min-width:0;max-height:0;overflow:hidden;transition:max-height .3s ease}
  .dropdown::before{display:none}
  .nav>li.open .dropdown{max-height:400px}
  .nav .cta{text-align:center;justify-content:center;margin-top:14px;border-radius:10px}
}
@media(max-width:680px){
  .topbar .info{display:none}
  .news-item{grid-template-columns:70px 1fr;gap:14px}
  .news-item .thumb{display:none}
  .grid5{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr}
  .slides{height:520px}
  .slide h1{font-size:29px}
  .slide p.lead{font-size:15px}
  .slide .arabic-bismillah{font-size:22px}
  .slider-arrow{width:40px;height:40px}
  .slider-arrow.prev{left:12px}.slider-arrow.next{right:12px}
  .slide .overlay{background:linear-gradient(to top,rgba(0,78,140,.94),rgba(0,95,171,.7))}
  .hero-stats .wrap{gap:24px 36px}
  .hero-stats .s .n{font-size:24px}
}
/* ===== Sticky header behavior (WP) ===== */
.header{transition:box-shadow .25s, padding .25s}
.header.scrolled{box-shadow:0 6px 22px rgba(0,95,171,.14)}
.admin-bar .header{top:32px}
@media(max-width:782px){.admin-bar .header{top:46px}}
.admin-bar .subnav{top:120px}
/* WP alignment helpers */
.aligncenter{display:block;margin:0 auto}
.alignright{float:right;margin:0 0 1em 1.5em}
.alignleft{float:left;margin:0 1.5em 1em 0}
/* konten halaman generik */
.page-content .wrap{max-width:860px}
.page-content{padding:60px 0}
.page-content h2{color:var(--navy);margin:24px 0 12px}
.page-content p{color:var(--muted);margin-bottom:16px;line-height:1.7}

/* ===== ABOUT PAGE ===== */
.page-hero{position:relative;background:linear-gradient(120deg,var(--navy-deep),var(--navy-light));color:#fff;padding:64px 0;overflow:hidden}
.page-hero .ph-overlay{position:absolute;inset:0;opacity:.12;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='70' height='70'%3E%3Cpath d='M35 0l9 26 26 9-26 9-9 26-9-26L0 35l26-9z' fill='%23d4af37'/%3E%3C/svg%3E");background-size:70px}
.page-hero .wrap{position:relative;z-index:1}
.crumb{display:flex;gap:10px;align-items:center;font-size:13.5px;color:#d7e3f5;margin-bottom:14px}
.crumb a{color:var(--gold-light)}
.crumb span{opacity:.7}
.page-hero h1{font-size:40px;font-weight:800;margin-bottom:12px}
.page-hero p{max-width:640px;color:#dbe6f7;font-size:16.5px}

.subnav{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:88px;z-index:40}
.subnav .wrap{display:flex;gap:6px;overflow-x:auto;padding-top:0;padding-bottom:0}
.subnav a{white-space:nowrap;padding:16px 16px;font-size:14px;font-weight:600;color:var(--muted);border-bottom:3px solid transparent;transition:.2s}
.subnav a:hover{color:var(--navy)}
.subnav a.active{color:var(--navy);border-bottom-color:var(--gold)}

.sec{padding:72px 0}
.sec-alt{background:var(--cream)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.two-col.reverse .col-img{order:2}
.col-img{position:relative;z-index:1}
.col-img img{width:100%;height:420px;object-fit:cover;border-radius:20px;box-shadow:0 24px 50px rgba(0,95,171,.18)}
.col-img .frame{position:absolute;top:-14px;right:-14px;width:120px;height:120px;border-top:4px solid var(--gold);border-right:4px solid var(--gold);border-radius:0 18px 0 0;z-index:-1}
.col-img .frame2{position:absolute;bottom:-14px;left:-14px;width:120px;height:120px;border-bottom:4px solid var(--navy);border-left:4px solid var(--navy);border-radius:0 0 0 18px;z-index:-1}
.col-txt .eyebrow-c{display:block;margin-bottom:10px}
.col-txt h2{color:var(--navy);font-size:30px;font-weight:800;margin-bottom:16px;line-height:1.2}
.col-txt p{color:var(--muted);font-size:16px;margin-bottom:16px}
.arabic-line{font-family:'Amiri',serif;font-size:22px;color:var(--gold);margin-bottom:16px}
.mini-stats{display:flex;gap:30px;margin-top:24px}
.mini-stats b{display:block;font-size:28px;font-weight:800;color:var(--navy)}
.mini-stats span{font-size:12.5px;color:var(--muted)}
.signature{margin-top:22px;padding-left:16px;border-left:3px solid var(--gold)}
.signature b{display:block;color:var(--navy);font-size:16px}
.signature span{font-size:13px;color:var(--muted)}

.sec-head{text-align:center;margin-bottom:44px}
.sec-head .eyebrow-c{display:block}
.sec-head h2{color:var(--navy);font-size:32px;font-weight:800;margin-top:10px}

/* visi misi */
.vm-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.vm-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:36px;position:relative;overflow:hidden}
.sec-alt .vm-card{background:#fff}
.vm-card::before{content:"";position:absolute;top:0;left:0;width:100%;height:5px;background:var(--gold)}
.vm-ic{width:60px;height:60px;border-radius:16px;background:linear-gradient(160deg,var(--navy),var(--navy-light));color:var(--gold-light);display:grid;place-items:center;margin-bottom:18px}
.vm-ic svg{width:30px;height:30px}
.vm-card h3{color:var(--navy);font-size:22px;font-weight:800;margin-bottom:12px}
.vm-card p{color:var(--muted);font-size:15.5px}
.vm-card ul{list-style:none;display:flex;flex-direction:column;gap:12px}
.vm-card ul li{position:relative;padding-left:28px;color:var(--ink);font-size:15px}
.vm-card ul li::before{content:"";position:absolute;left:0;top:7px;width:16px;height:16px;border-radius:50%;background:var(--gold-soft);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23005fab'%3E%3Cpath d='M9 16.2l-3.5-3.5L4 14.2 9 19.2 20 8.2l-1.4-1.4z'/%3E%3C/svg%3E");background-size:12px;background-repeat:no-repeat;background-position:center}

/* timeline */
.timeline{max-width:760px;margin:0 auto;position:relative;padding-left:30px}
.timeline::before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:var(--gold-soft)}
.tl-item{position:relative;padding-bottom:34px}
.tl-item:last-child{padding-bottom:0}
.tl-dot{position:absolute;left:-30px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--gold);border:3px solid #fff;box-shadow:0 0 0 2px var(--gold)}
.tl-year{display:inline-block;font-size:12px;font-weight:700;color:var(--navy);background:var(--gold-soft);padding:4px 12px;border-radius:20px;margin-bottom:8px}
.tl-body h4{color:var(--navy);font-size:18px;font-weight:700;margin-bottom:6px}
.tl-body p{color:var(--muted);font-size:15px}

/* fasilitas */
.fac-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.fac-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;transition:.25s}
.sec .fac-card{background:#fff}
.fac-card:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(0,95,171,.12);border-color:var(--gold)}
.fac-ic{width:54px;height:54px;border-radius:14px;background:var(--gold-soft);color:var(--navy);display:grid;place-items:center;margin-bottom:16px}
.fac-ic svg{width:28px;height:28px}
.fac-card h4{color:var(--navy);font-size:17px;font-weight:700;margin-bottom:8px}
.fac-card p{color:var(--muted);font-size:14px}

@media(max-width:980px){
  .two-col{grid-template-columns:1fr;gap:40px}
  .two-col.reverse .col-img{order:-1}
  .vm-grid{grid-template-columns:1fr}
  .fac-grid{grid-template-columns:1fr 1fr}
  .subnav{top:72px}
}
@media(max-width:680px){
  .page-hero h1{font-size:30px}
  .fac-grid{grid-template-columns:1fr}
  .mini-stats{gap:20px;flex-wrap:wrap}
}

/* ===== Kontak page ===== */
.contact-list{list-style:none;margin:8px 0 22px}
.contact-list li{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}
.contact-list .ci{width:44px;height:44px;flex:none;border-radius:12px;background:var(--gold-soft);color:var(--navy);display:grid;place-items:center}
.contact-list .ci svg{width:22px;height:22px}
.contact-list b{display:block;color:var(--navy);font-size:15px}
.contact-list span{color:var(--muted);font-size:14px}
.socials-dark a{width:40px;height:40px;border-radius:10px;background:var(--cream);color:var(--navy);display:inline-grid;place-items:center;margin-right:8px;border:1px solid var(--line)}
.socials-dark a:hover{background:var(--gold);color:#fff}
.socials-dark a svg{width:18px;height:18px}
.spm-contact .frow{margin-bottom:14px}
.spm-contact input,.spm-contact textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:15px;background:#fff}
.spm-contact input:focus,.spm-contact textarea:focus{outline:none;border-color:var(--navy)}

/* ===== Blog list ===== */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.blog-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:.25s}
.blog-card:hover{transform:translateY(-5px);box-shadow:0 18px 36px rgba(0,95,171,.12)}
.bc-thumb{display:block;height:190px;overflow:hidden}
.bc-thumb img{width:100%;height:100%;object-fit:cover}
.bc-body{padding:20px}
.bc-date{font-size:12.5px;color:var(--gold);font-weight:600}
.bc-body h3{font-size:18px;margin:8px 0}
.bc-body h3 a{color:var(--navy)}
.bc-body p{color:var(--muted);font-size:14px;margin-bottom:12px}
.bc-more{color:var(--navy);font-weight:700;font-size:13.5px}
.spm-pagination{margin-top:40px;text-align:center}
.spm-pagination .page-numbers{display:inline-block;padding:8px 14px;margin:0 3px;border-radius:8px;background:var(--cream);color:var(--navy);font-weight:600;text-decoration:none}
.spm-pagination .page-numbers.current{background:var(--navy);color:#fff}
@media(max-width:980px){.blog-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.blog-grid{grid-template-columns:1fr}}

/* ===== PPDB Form (frontend) — styling kuat & mandiri ===== */
.ppdb-wrapper{max-width:920px;margin:0 auto}
.ppdb-alert{padding:16px 20px;border-radius:12px;margin-bottom:24px;font-size:15px;line-height:1.6}
.ppdb-alert.ok{background:#e3f5ea;border:1px solid #a9dcbd;color:#1f7a44}
.ppdb-alert.err{background:#fde8e8;border:1px solid #f2b8b8;color:#b23}

.ppdb-picker{text-align:center;padding:24px 0}
.ppdb-picker h3{color:var(--navy);font-size:24px;margin-bottom:8px}
.ppdb-picker .psub{color:var(--muted);margin-bottom:28px}
.ppdb-choice{display:flex;gap:24px;justify-content:center;flex-wrap:wrap}
.ppdb-card-choice{display:block;background:#fff;border:2px solid var(--line);border-radius:20px;padding:36px 44px;text-align:center;transition:.25s;min-width:220px;text-decoration:none}
.ppdb-card-choice:hover{border-color:var(--gold);transform:translateY(-6px);box-shadow:0 20px 40px rgba(0,95,171,.14)}
.pcc-badge{width:70px;height:70px;margin:0 auto 18px;border-radius:18px;background:linear-gradient(160deg,var(--navy),var(--navy-light));color:var(--gold-light);display:grid;place-items:center;font-weight:800;font-size:22px}
.ppdb-card-choice b{display:block;color:var(--navy);font-size:21px;margin-bottom:4px}
.ppdb-card-choice span{color:var(--muted);font-size:13.5px}

.ppdb-form{background:#fff;border:1px solid var(--line);border-radius:20px;padding:36px;box-shadow:0 20px 50px rgba(0,95,171,.08);max-width:920px;margin:0 auto}
.ppdb-form-head{display:flex;align-items:center;gap:16px;padding-bottom:22px;margin-bottom:28px;border-bottom:2px solid var(--cream)}
.pfh-badge{width:54px;height:54px;border-radius:14px;background:linear-gradient(160deg,var(--navy),var(--navy-light));color:var(--gold-light);display:grid;place-items:center;font-weight:800;font-size:18px;flex:none}
.ppdb-form-head .pfh-txt{flex:1}
.ppdb-form-head b{display:block;color:var(--navy);font-size:19px;line-height:1.3}
.ppdb-form-head .pfh-sub{display:block;font-size:13.5px;color:var(--muted);font-weight:400;margin-top:2px}
.pfh-back{font-size:13px;color:var(--navy);font-weight:600;border:1px solid var(--line);padding:9px 16px;border-radius:22px;text-decoration:none;white-space:nowrap;transition:.2s}
.pfh-back:hover{background:var(--cream);border-color:var(--gold)}

.ppdb-grid{display:grid !important;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:28px}
.ppdb-field{display:flex;flex-direction:column;margin:0}
.ppdb-field.wide{grid-column:1 / -1}
.ppdb-field label{display:block !important;font-size:13.5px;font-weight:600;color:var(--navy);margin-bottom:8px}
.ppdb-field .req{color:#d9534f;margin-left:2px}
.ppdb-form input,
.ppdb-form select,
.ppdb-form textarea{width:100% !important;box-sizing:border-box;padding:12px 14px !important;border:1.5px solid var(--line) !important;border-radius:11px !important;font-family:inherit;font-size:14.5px;background:#fff !important;color:var(--ink);transition:.18s;margin:0}
.ppdb-form textarea{min-height:88px;resize:vertical}
.ppdb-form input:focus,
.ppdb-form select:focus,
.ppdb-form textarea:focus{outline:none;border-color:var(--navy) !important;box-shadow:0 0 0 3px rgba(0,95,171,.12)}
.ppdb-form input::placeholder,.ppdb-form textarea::placeholder{color:#aab2c0}
.ppdb-submit{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--cream);margin-top:4px}
.ppdb-form .btn-gold{border:none;cursor:pointer;font-size:15px;padding:14px 30px}
.ppdb-note{font-size:12.5px;color:var(--muted)}
@media(max-width:680px){
  .ppdb-form{padding:22px}
  .ppdb-grid{grid-template-columns:1fr}
  .ppdb-form-head{flex-wrap:wrap}
  .pfh-back{margin-left:auto}
}
