/* ==========================================================================
   SMP Negeri 3 Jember — style.css
   Skema warna: biru (dominan), kuning (aksen), merah (sedikit).
   Terinspirasi tata letak situs resmi universitas (usu.ac.id).
   ========================================================================== */

/* ---------- Token desain ---------- */
:root{
  --biru-950:#061A3A;
  --biru-900:#0A2757;
  --biru-800:#0D3B8F;
  --biru-700:#114BA8;
  --biru-600:#1B5FC4;
  --biru-500:#2E77DE;
  --biru-300:#8FB6EE;
  --biru-100:#DBE7FB;
  --biru-50:#F1F6FE;

  --kuning-600:#D99E00;
  --kuning-500:#F5B301;
  --kuning-400:#FFC72C;
  --kuning-100:#FFF3D0;

  --merah-600:#C93030;
  --merah-500:#E23B3B;
  --merah-100:#FCE1E1;

  --tinta-900:#16233C;
  --tinta-600:#51617D;
  --garis:#E2E9F5;
  --putih:#FFFFFF;

  --radius:14px;
  --radius-kecil:10px;
  --bayangan:0 12px 32px rgba(10,39,87,.10);
  --bayangan-angkat:0 18px 44px rgba(10,39,87,.16);

  --font:'Plus Jakarta Sans', ui-sans-serif, system-ui, 'Segoe UI', Roboto, Arial, sans-serif;
}

/* ---------- Reset dasar ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{
  font-family:var(--font);
  font-size:16px;
  line-height:1.65;
  color:var(--tinta-900);
  background:var(--putih);
  -webkit-font-smoothing:antialiased;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{font-family:inherit;cursor:pointer;border:0;background:none}
input,select,textarea{font-family:inherit;font-size:1rem}
h1,h2,h3,h4{line-height:1.25;font-weight:800}
h3{font-size:1.15rem}

/* ---------- Utilitas ---------- */
.wadah{width:min(1180px,100% - 40px);margin-inline:auto}
.wadah-sempit{width:min(880px,100% - 40px)}
.skip-link{
  position:absolute;left:-9999px;top:0;background:var(--kuning-400);
  color:var(--biru-950);padding:.6rem 1rem;z-index:999;font-weight:700;border-radius:0 0 8px 0;
}
.skip-link:focus{left:0}

.ikon{width:1.15em;height:1.15em;flex:none;vertical-align:-0.22em}
.ikon-sub{width:.95em;height:.95em;opacity:.7}

.eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--biru-700);background:var(--biru-50);
  border:1px solid var(--biru-100);border-left:4px solid var(--kuning-500);
  padding:.35rem .8rem;border-radius:6px;margin-bottom:1rem;
}
.judul-seksi{font-size:clamp(1.6rem,3.2vw,2.3rem);color:var(--biru-900)}
.judul-seksi .ikon{color:var(--kuning-600)}
.kepala-catatan{color:var(--tinta-600);max-width:34ch;font-size:.95rem}
.teks-biru{color:var(--biru-600);font-weight:700}
.teks-kuning{color:var(--kuning-400)}

.tautan{
  display:inline-flex;align-items:center;gap:.4rem;font-weight:700;color:var(--biru-700);
  border-bottom:2px solid var(--kuning-400);padding-bottom:2px;transition:.2s;
}
.tautan:hover{color:var(--biru-500);gap:.65rem}
.tautan .ikon{width:1em;height:1em}

/* ---------- Tombol ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-weight:800;font-size:.95rem;padding:.8rem 1.5rem;border-radius:999px;
  transition:transform .15s, box-shadow .2s, background .2s, color .2s;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn-biru{background:var(--biru-800);color:#fff;box-shadow:0 8px 20px rgba(13,59,143,.28)}
.btn-biru:hover{background:var(--biru-700)}
.btn-kuning{background:var(--kuning-400);color:var(--biru-950);box-shadow:0 8px 20px rgba(245,179,1,.32)}
.btn-kuning:hover{background:var(--kuning-500)}
.btn-garis{border:2px solid var(--biru-800);color:var(--biru-800);background:transparent}
.btn-garis:hover{background:var(--biru-50)}
.btn-garis-putih{border:2px solid rgba(255,255,255,.75);color:#fff;background:rgba(255,255,255,.08)}
.btn-garis-putih:hover{background:rgba(255,255,255,.18)}
.btn-biru-gelap{background:var(--biru-900);color:#fff}
.btn-biru-gelap:hover{background:var(--biru-950)}
.btn-gelap-garis{border:2px solid var(--biru-900);color:var(--biru-900)}
.btn-gelap-garis:hover{background:rgba(10,39,87,.08)}
.lebar-penuh{width:100%}

/* ---------- Chip & lencana ---------- */
.chip{
  display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:800;
  letter-spacing:.04em;text-transform:uppercase;padding:.28rem .7rem;border-radius:999px;
  background:var(--biru-50);color:var(--biru-700);border:1px solid var(--biru-100);
}
.chip-kuning{background:var(--kuning-100);color:#8A6400;border-color:#F3DE9E}
.chip-biru{background:var(--biru-800);color:#fff;border-color:var(--biru-800)}
.chip-merah{background:var(--merah-100);color:var(--merah-600);border-color:#F5C1C1}
.chip-abu{background:#EEF1F6;color:var(--tinta-600);border-color:#DDE3EC}

.lencana-baris{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.2rem 0}
.lencana{
  display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem;font-weight:700;
  color:var(--biru-800);background:var(--biru-50);border:1px solid var(--biru-100);
  padding:.5rem .9rem;border-radius:var(--radius-kecil);
}
.lencana .ikon{color:var(--kuning-600)}
.lencana-kuning{background:var(--kuning-100);border-color:#F3DE9E;color:#8A6400}
.lencana-kuning .ikon{color:var(--kuning-600)}

/* ---------- Bilah atas ---------- */
.topbar{background:var(--biru-950);color:#CFE0FB;font-size:.82rem}
.topbar-dalam{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:38px}
.topbar-slogan{display:flex;align-items:center;gap:.5rem;font-weight:600}
.ikon-topbar{color:var(--kuning-400)}
.topbar-nav{display:flex;gap:1.4rem}
.topbar-nav a{display:inline-flex;align-items:center;gap:.4rem;transition:color .2s;font-weight:600}
.topbar-nav a:hover{color:var(--kuning-400)}
.topbar-nav .ikon{width:.95em;height:.95em}

/* ---------- Kepala situs ---------- */
.kepala{background:#fff;border-bottom:1px solid var(--garis)}
.kepala-dalam{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0}
.kepala-logo{display:flex;align-items:center;gap:.85rem}
.kepala-logo img{width:56px;height:56px}
.kepala-teks{display:flex;flex-direction:column;line-height:1.2}
.kepala-nama{font-size:1.25rem;font-weight:800;color:var(--biru-900)}
.kepala-tag{font-size:.78rem;font-weight:600;color:var(--kuning-600);letter-spacing:.02em}
.kepala-aksi{display:flex;align-items:center;gap:.7rem}
.btn-cari{
  width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  color:var(--biru-800);border:1.5px solid var(--biru-100);transition:.2s;
}
.btn-cari:hover{background:var(--biru-50)}
.btn-hamburger{display:none;width:44px;height:44px;flex-direction:column;justify-content:center;gap:5px;align-items:center;border-radius:10px}
.btn-hamburger span{width:22px;height:2.5px;background:var(--biru-900);border-radius:2px;transition:.25s}

/* ---------- Navigasi utama ---------- */
.navbar{
  background:linear-gradient(120deg,var(--biru-900),var(--biru-800) 55%,var(--biru-700));
  position:sticky;top:0;z-index:120;box-shadow:0 6px 18px rgba(10,39,87,.25);
}
.navbar-dalam{display:flex;align-items:center;justify-content:space-between}
.nav-list{display:flex;align-items:stretch}
.nav-item{position:relative}
.nav-link{
  display:flex;align-items:center;gap:.35rem;color:#E8F0FD;font-weight:700;font-size:.92rem;
  padding:.95rem 1.05rem;position:relative;transition:color .2s;
}
.nav-link::after{
  content:"";position:absolute;left:1rem;right:1rem;bottom:0;height:3px;
  background:var(--kuning-400);border-radius:3px 3px 0 0;
  transform:scaleX(0);transform-origin:left;transition:transform .25s;
}
.nav-item:hover .nav-link,.nav-item.aktif .nav-link{color:#fff}
.nav-item:hover .nav-link::after,.nav-item.aktif .nav-link::after{transform:scaleX(1)}
.nav-caret{display:inline-flex}
.nav-caret .ikon{width:.85em;height:.85em;transition:transform .2s}
.nav-item:hover .nav-caret .ikon{transform:rotate(180deg)}

.sub-menu{
  position:absolute;top:100%;left:0;min-width:250px;background:#fff;border-radius:0 0 12px 12px;
  box-shadow:var(--bayangan-angkat);padding:.5rem;opacity:0;visibility:hidden;
  transform:translateY(8px);transition:.22s;border-top:3px solid var(--kuning-400);z-index:130;
}
.nav-item:hover .sub-menu,.nav-item:focus-within .sub-menu,.nav-item.sub-terbuka .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.navbar.tergulir{box-shadow:0 10px 26px rgba(6,26,58,.4)}
.sub-link{
  display:flex;align-items:center;gap:.5rem;padding:.6rem .8rem;border-radius:8px;
  font-size:.9rem;font-weight:600;color:var(--tinta-900);transition:.15s;
}
.sub-link:hover{background:var(--biru-50);color:var(--biru-800);padding-left:1rem}
.sub-link .ikon{color:var(--kuning-600)}

.navbar-cta{
  display:inline-flex;align-items:center;gap:.45rem;color:var(--biru-950);
  background:var(--kuning-400);font-weight:800;font-size:.82rem;padding:.5rem 1rem;
  border-radius:999px;margin-right:.5rem;transition:.2s;
}
.navbar-cta:hover{background:var(--kuning-500);transform:translateY(-1px)}
.navbar-cta .ikon{width:1em;height:1em}

/* ---------- Panel (menu seluler & pencarian) ---------- */
.panel{
  position:fixed;inset:0;z-index:200;background:rgba(6,26,58,.55);
  display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-end;
}
.panel[hidden]{display:none}
.panel-kepala{
  width:min(360px,100%);display:flex;justify-content:space-between;align-items:center;
  background:var(--biru-950);color:#fff;padding:1rem 1.2rem;
}
.panel-isi{
  width:min(360px,100%);background:#fff;flex:1;overflow:auto;padding:1rem 1.2rem 2rem;
  display:flex;flex-direction:column;gap:.4rem;
}
.menu-tunggal{font-weight:700;padding:.75rem .5rem;border-bottom:1px solid var(--garis)}
.menu-grup{border-bottom:1px solid var(--garis)}
.menu-grup summary{
  display:flex;justify-content:space-between;align-items:center;font-weight:700;
  padding:.75rem .5rem;cursor:pointer;list-style:none;
}
.menu-grup summary .ikon{transition:transform .2s}
.menu-grup[open] summary .ikon{transform:rotate(180deg)}
.menu-sub{display:block;padding:.55rem .5rem .55rem 1.2rem;color:var(--tinta-600);font-weight:600}
.menu-sub:hover{color:var(--biru-700)}
.panel .btn{margin-top:1rem}
.btn-tutup{color:#fff;display:grid;place-items:center;width:38px;height:38px;border-radius:50%}
.panel-cari{justify-content:flex-start;align-items:stretch;padding-top:6rem;background:rgba(6,26,58,.7)}
.form-cari{display:flex;gap:.6rem;align-items:center}
.form-cari input{
  flex:1;border:0;border-radius:999px;padding:.85rem 1.3rem;font-size:1rem;outline:3px solid var(--kuning-400);
}
.panel-cari .btn-tutup{border:1.5px solid rgba(255,255,255,.5)}
.panel-catatan{color:#B9CBEC;font-size:.82rem;margin-top:.8rem;text-align:center}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;color:#fff;padding:4.2rem 0 5.5rem;
  background:
    radial-gradient(1000px 500px at 85% -10%, rgba(46,119,222,.55), transparent 60%),
    radial-gradient(700px 400px at -10% 110%, rgba(245,179,1,.16), transparent 55%),
    linear-gradient(125deg,var(--biru-950) 0%,var(--biru-900) 45%,var(--biru-800) 100%);
}
.hero-dalam{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center;position:relative;z-index:2}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;font-weight:800;font-size:.8rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--kuning-400);
  border:1px solid rgba(255,199,44,.4);background:rgba(255,199,44,.08);
  padding:.45rem 1rem;border-radius:999px;margin-bottom:1.1rem;
}
.hero-judul{font-size:clamp(2.3rem,5.4vw,3.9rem);letter-spacing:-.02em;margin-bottom:1rem}
.hero-sub{color:#C9D9F5;font-size:1.05rem;max-width:52ch;margin-bottom:1.8rem}
.hero-sub strong{color:#fff}
.hero-aksi{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1.6rem}
.hero-mini{display:flex;flex-wrap:wrap;gap:1.1rem;font-size:.85rem;color:#B9CBEC;font-weight:600}
.hero-mini li{display:inline-flex;align-items:center;gap:.45rem}
.hero-mini .ikon{color:var(--kuning-400)}
.hero-visual{position:relative}
.hero-visual img{width:100%;max-width:520px;margin-inline:auto;filter:drop-shadow(0 24px 40px rgba(4,18,44,.45))}

.hero-ornamen .orn-titik{
  position:absolute;width:180px;height:180px;top:8%;right:4%;
  background-image:radial-gradient(rgba(255,199,44,.5) 2px, transparent 2.6px);
  background-size:22px 22px;opacity:.8;z-index:1;
}
.hero-ornamen .orn-titik-2{
  top:auto;right:auto;left:2%;bottom:12%;width:140px;height:140px;
  background-image:radial-gradient(rgba(255,255,255,.35) 2px, transparent 2.6px);
}
.hero-ornamen .orn-plus{position:absolute;top:14%;left:6%;color:rgba(255,199,44,.5);z-index:1}
.hero-ornamen .orn-plus .ikon{width:34px;height:34px}
.hero-ornamen .orn-lingkaran{
  position:absolute;width:220px;height:220px;border:2px dashed rgba(255,255,255,.25);
  border-radius:50%;right:-70px;bottom:-70px;z-index:1;
}
.hero-gelombang{position:absolute;left:0;right:0;bottom:-1px;color:#fff;z-index:2}
.hero-gelombang svg{width:100%;height:56px;display:block}

/* ---------- Statistik ---------- */
.statistik{position:relative;z-index:3;margin-top:-3.4rem}
.statistik-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--garis);
  border-radius:var(--radius);overflow:hidden;box-shadow:var(--bayangan-angkat);
  border:1px solid var(--garis);
}
.stat-item{
  background:#fff;padding:1.6rem 1rem;text-align:center;display:flex;flex-direction:column;gap:.15rem;
}
.stat-ikon{
  width:52px;height:52px;margin:0 auto .5rem;border-radius:14px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--biru-800),var(--biru-500));color:#fff;
  box-shadow:0 8px 16px rgba(13,59,143,.25);
}
.stat-ikon .ikon{width:1.5rem;height:1.5rem}
.stat-item:nth-child(even) .stat-ikon{background:linear-gradient(135deg,var(--kuning-500),var(--kuning-400));color:var(--biru-950);box-shadow:0 8px 16px rgba(245,179,1,.3)}
.stat-angka{font-size:2rem;font-weight:800;color:var(--biru-900)}
.stat-label{font-size:.82rem;font-weight:600;color:var(--tinta-600)}

/* ---------- Banner halaman dalam ---------- */
.banner-halaman{
  position:relative;overflow:hidden;color:#fff;padding:3.2rem 0 3rem;
  background:
    radial-gradient(700px 300px at 90% 0%, rgba(46,119,222,.5), transparent 60%),
    linear-gradient(120deg,var(--biru-950),var(--biru-800));
}
.banner-judul{font-size:clamp(1.9rem,4vw,2.8rem);margin-top:.6rem}
.breadcrumb{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.85rem;font-weight:600;color:#B9CBEC}
.breadcrumb a:hover{color:var(--kuning-400)}
.breadcrumb-pisah{opacity:.5}
.breadcrumb [aria-current]{color:var(--kuning-400)}
.breadcrumb .ikon{width:.95em;height:.95em}
.banner-ornamen .orn-titik{
  position:absolute;width:160px;height:160px;right:5%;top:10%;
  background-image:radial-gradient(rgba(255,199,44,.45) 2px, transparent 2.6px);background-size:20px 20px;
}
.banner-ornamen .orn-lingkaran{
  position:absolute;width:180px;height:180px;border:2px dashed rgba(255,255,255,.2);border-radius:50%;left:-60px;bottom:-70px;
}

/* ---------- Kerangka seksi ---------- */
.seksi{padding:4.2rem 0}
.seksi-abu{background:var(--biru-50)}
.seksi-biru{
  background:
    radial-gradient(800px 400px at 100% 0%, rgba(255,199,44,.07), transparent 55%),
    linear-gradient(130deg,var(--biru-900),var(--biru-800));
}
.seksi-biru .judul-seksi{color:#fff}
.seksi-biru .eyebrow{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15);color:var(--kuning-400)}
.kepala-seksi{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:2.2rem;flex-wrap:wrap}
.kepala-seksi.tengah{flex-direction:column;align-items:center;text-align:center}
.kepala-seksi.tengah .kepala-catatan{margin-top:.6rem}

.dua-kolom{display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:start}
.info-dua-kolom{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.kolom-teks p{color:var(--tinta-600);margin-bottom:1rem}
.kolom-teks p strong{color:var(--tinta-900)}

/* ---------- Placeholder gambar (ph) ---------- */
.ph{
  position:relative;overflow:hidden;display:grid;place-items:center;color:rgba(255,255,255,.9);
  border-radius:var(--radius) var(--radius) 0 0;
}
.ph::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.18) 1.5px, transparent 2px);
  background-size:20px 20px;opacity:.5;
}
.ph-a{background:linear-gradient(135deg,#0D3B8F,#2E77DE)}
.ph-b{background:linear-gradient(135deg,#114BA8,#3F8CE8)}
.ph-c{background:linear-gradient(135deg,#0A2757,#1B5FC4)}
.ph-d{background:linear-gradient(135deg,#D99E00,#FFC72C)}
.ph-e{background:linear-gradient(135deg,#1B5FC4,#7FB2F2)}
.ph-f{background:linear-gradient(135deg,#061A3A,#0D3B8F)}
.ph-ikon{width:56px;height:56px;opacity:.95;position:relative;z-index:1}
.ph .chip{position:absolute;top:.9rem;left:.9rem;z-index:2}
.ph-caption{position:absolute;bottom:.8rem;font-size:.75rem;font-weight:700;opacity:.85;z-index:2}

/* ---------- Sambutan ---------- */
.sambutan-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:3.5rem;align-items:center}
.bingkai-foto{
  position:relative;background:linear-gradient(135deg,var(--biru-800),var(--biru-500));
  border-radius:var(--radius);padding:1.4rem;box-shadow:var(--bayangan-angkat);
}
.bingkai-foto::before{
  content:"";position:absolute;inset:-14px;border:2px dashed var(--kuning-400);
  border-radius:calc(var(--radius) + 8px);z-index:0;
}
.bingkai-foto img{position:relative;z-index:1;border-radius:8px;width:100%}
.sambutan-papan{
  margin-top:1.8rem;background:var(--biru-950);color:#fff;border-left:5px solid var(--kuning-400);
  padding:.9rem 1.2rem;border-radius:0 10px 10px 0;display:inline-flex;flex-direction:column;
}
.sambutan-papan small,.sambutan-papan span{color:#9FB8E3;font-size:.82rem}
.sambutan-teks p{color:var(--tinta-600);margin-bottom:1rem}
.kutipan{
  display:flex;gap:.6rem;background:var(--kuning-100);border-left:5px solid var(--kuning-500);
  color:#6B4E00;font-weight:600;font-style:italic;padding:1rem 1.2rem;border-radius:0 10px 10px 0;margin:1.2rem 0 !important;
}
.kutipan .ikon{color:var(--kuning-600)}

/* ---------- Kartu berita ---------- */
.berita-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1.6rem;align-items:start}
.berita-grid-full{grid-template-columns:repeat(3,1fr);gap:1.6rem}
.berita-layout{display:grid;grid-template-columns:1fr 330px;gap:2.4rem;align-items:start}
.berita-utama-kolom{min-width:0}
.berita-samping{display:flex;flex-direction:column;gap:1.2rem}

.kartu-berita{
  background:#fff;border-radius:var(--radius);overflow:hidden;border:1px solid var(--garis);
  transition:transform .2s, box-shadow .2s;display:flex;flex-direction:column;
}
.kartu-berita:hover{transform:translateY(-5px);box-shadow:var(--bayangan-angkat)}
.kartu-gambar{aspect-ratio:16/9;border-radius:0}
.kartu-gambar-kecil{width:120px;min-height:96px;border-radius:10px 0 0 10px;flex:none}
.kartu-gambar-kecil .ph-ikon{width:34px;height:34px}
.kartu-isi{padding:1.2rem 1.3rem 1.3rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.kartu-meta{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--tinta-600);font-weight:600;flex-wrap:wrap}
.kartu-berita h3{font-size:1.05rem;color:var(--biru-900);transition:color .2s}
.kartu-berita:hover h3{color:var(--biru-600)}
.kartu-isi p{font-size:.9rem;color:var(--tinta-600)}
.kartu-isi .tautan{margin-top:auto;font-size:.85rem}

.kartu-utama .kartu-gambar{aspect-ratio:16/10}
.kartu-utama h3{font-size:1.45rem}
.kartu-baris{flex-direction:row;align-items:stretch}
.kartu-baris .kartu-isi{padding:.9rem 1rem}
.kartu-baris h3{font-size:.98rem}

.kotak-kosong{
  text-align:center;padding:3rem 1.5rem;border:2px dashed var(--garis);border-radius:var(--radius);
  color:var(--tinta-600);display:flex;flex-direction:column;align-items:center;gap:1rem;
}
.kotak-kosong .ikon{width:44px;height:44px;color:var(--biru-300)}
.filter-info{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  background:var(--biru-50);border:1px solid var(--biru-100);border-radius:var(--radius-kecil);
  padding:.9rem 1.2rem;margin-bottom:1.4rem;
}

/* ---------- Pengumuman & agenda ---------- */
.daftar-pengumuman{display:flex;flex-direction:column;gap:.8rem}
.daftar-pengumuman li{
  display:flex;align-items:center;gap:.9rem;background:#fff;border:1px solid var(--garis);
  border-radius:var(--radius-kecil);padding:.9rem 1rem;transition:.2s;
}
.daftar-pengumuman li:hover{border-color:var(--biru-300);box-shadow:var(--bayangan)}
.peng-ikon{
  width:42px;height:42px;flex:none;border-radius:10px;display:grid;place-items:center;
  background:var(--biru-50);color:var(--biru-700);
}
.peng-teks{flex:1;display:flex;flex-direction:column;gap:.1rem;min-width:0}
.peng-teks strong{font-size:.92rem;color:var(--biru-900)}
.peng-teks small{color:var(--tinta-600);font-size:.78rem;display:flex;align-items:center;gap:.3rem}

.daftar-agenda{display:flex;flex-direction:column;gap:.8rem}
.daftar-agenda li{
  display:flex;gap:1rem;align-items:center;background:#fff;border:1px solid var(--garis);
  border-radius:var(--radius-kecil);padding:.8rem 1rem;transition:.2s;
}
.daftar-agenda li:hover{border-color:var(--kuning-500);box-shadow:var(--bayangan)}
.agenda-tanggal{
  width:60px;flex:none;text-align:center;background:linear-gradient(160deg,var(--biru-800),var(--biru-600));
  color:#fff;border-radius:10px;padding:.45rem 0 .35rem;box-shadow:0 6px 14px rgba(13,59,143,.25);
}
.agenda-tanggal.kecil{width:52px}
.agenda-hari{display:block;font-size:1.3rem;font-weight:800;line-height:1}
.agenda-bulan{display:block;font-size:.68rem;font-weight:700;letter-spacing:.1em;color:var(--kuning-400);text-transform:uppercase}
.agenda-teks{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.agenda-teks strong{font-size:.95rem;color:var(--biru-900)}
.agenda-teks small{color:var(--tinta-600);font-size:.78rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}

/* ---------- Keunggulan & program ---------- */
.keunggulan-grid,.unggulan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.kartu-keunggulan{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);
  padding:1.8rem 1.4rem;transition:.25s;position:relative;overflow:hidden;
}
.kartu-keunggulan::before{
  content:"";position:absolute;top:0;left:0;width:100%;height:4px;
  background:linear-gradient(90deg,var(--kuning-400),var(--kuning-500));
  transform:scaleX(0);transform-origin:left;transition:transform .3s;
}
.kartu-keunggulan:hover{background:rgba(255,255,255,.1);transform:translateY(-4px)}
.kartu-keunggulan:hover::before{transform:scaleX(1)}
.keunggulan-ikon{
  width:54px;height:54px;border-radius:14px;display:grid;place-items:center;margin-bottom:1rem;
  background:var(--kuning-400);color:var(--biru-950);box-shadow:0 8px 18px rgba(245,179,1,.35);
}
.keunggulan-ikon .ikon{width:1.5rem;height:1.5rem}
.kartu-keunggulan h3{color:#fff;margin-bottom:.5rem;font-size:1.05rem}
.kartu-keunggulan p{color:#B9CBEC;font-size:.88rem}

.kartu-unggulan{
  background:#fff;border:1px solid var(--garis);border-radius:var(--radius);padding:1.7rem 1.4rem;
  transition:.2s;position:relative;
}
.kartu-unggulan:hover{transform:translateY(-5px);box-shadow:var(--bayangan-angkat);border-color:var(--biru-100)}
.unggulan-ikon{
  width:52px;height:52px;border-radius:14px;display:grid;place-items:center;margin-bottom:1rem;
  background:linear-gradient(135deg,var(--biru-800),var(--biru-500));color:#fff;
}
.unggulan-ikon .ikon{width:1.45rem;height:1.45rem}
.kartu-unggulan h3{color:var(--biru-900);margin-bottom:.4rem;font-size:1.02rem}
.kartu-unggulan p{color:var(--tinta-600);font-size:.87rem}

/* ---------- Ekstrakurikuler ---------- */
.ekskul-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.ekskul-grid-penuh{grid-template-columns:repeat(4,1fr)}
.kartu-ekskul{
  background:#fff;border:1px solid var(--garis);border-radius:var(--radius);padding:1.4rem 1.2rem;
  display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;transition:.2s;
}
.kartu-ekskul:hover{transform:translateY(-4px);box-shadow:var(--bayangan);border-color:var(--kuning-400)}
.ekskul-ikon{
  width:46px;height:46px;border-radius:12px;display:grid;place-items:center;margin-bottom:.4rem;
  background:var(--biru-50);color:var(--biru-700);border:1px solid var(--biru-100);transition:.2s;
}
.kartu-ekskul:hover .ekskul-ikon{background:var(--kuning-400);color:var(--biru-950);border-color:var(--kuning-400)}
.ekskul-ikon .ikon{width:1.3rem;height:1.3rem}
.kartu-ekskul strong{color:var(--biru-900)}
.kartu-ekskul small{color:var(--tinta-600);font-size:.82rem}

/* ---------- Galeri ---------- */
.galeri-preview{margin-top:3.6rem}
.galeri-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.galeri-grid-penuh{grid-template-columns:repeat(4,1fr)}
.kartu-galeri{background:#fff;border:1px solid var(--garis);border-radius:var(--radius);overflow:hidden;transition:.2s}
.kartu-galeri:hover{transform:translateY(-4px);box-shadow:var(--bayangan-angkat)}
.kartu-galeri[hidden]{display:none}
.galeri-gambar{aspect-ratio:4/3;border-radius:0}
.galeri-overlay{
  position:absolute;inset:0;display:grid;place-items:center;background:rgba(6,26,58,.55);
  color:#fff;font-weight:700;font-size:.85rem;opacity:0;transition:.2s;z-index:2;
  flex-direction:column;gap:.3rem;
}
.kartu-galeri:hover .galeri-overlay{opacity:1}
.kartu-galeri figcaption{padding:.8rem 1rem}
.kartu-galeri figcaption strong{display:block;font-size:.9rem;color:var(--biru-900)}
.kartu-galeri figcaption small{color:var(--tinta-600);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.galeri-filter{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2rem;justify-content:center}
.chip-filter{cursor:pointer;font-size:.85rem;padding:.5rem 1.1rem;transition:.2s}
.chip-filter:hover{border-color:var(--biru-500)}
.chip-filter.aktif{background:var(--biru-800);color:#fff;border-color:var(--biru-800)}
.galeri-catatan{
  margin-top:2.2rem;text-align:center;color:var(--tinta-600);font-size:.88rem;
  display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;
}
.galeri-catatan .ikon{color:var(--kuning-600)}

/* ---------- CTA PPDB ---------- */
.cta-ppdb{
  background:linear-gradient(120deg,var(--kuning-500),var(--kuning-400));
  padding:3.2rem 0;position:relative;overflow:hidden;
}
.cta-ppdb::before{
  content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;
  border:40px solid rgba(255,255,255,.18);
}
.cta-dalam{display:flex;justify-content:space-between;align-items:center;gap:2rem;position:relative;z-index:1;flex-wrap:wrap}
.cta-teks h2{font-size:clamp(1.4rem,3vw,2rem);color:var(--biru-950)}
.cta-teks h2 span{border-bottom:4px solid var(--merah-500)}
.cta-teks p{color:#5C4A0E;font-weight:600;max-width:60ch;margin-top:.5rem}
.cta-aksi{display:flex;gap:.8rem;flex-wrap:wrap}

/* ---------- Footer ---------- */
.footer{background:var(--biru-950);color:#AFC4E6}
.footer-garis{display:flex;height:5px}
.fg-biru{flex:6;background:var(--biru-600)}
.fg-kuning{flex:3;background:var(--kuning-400)}
.fg-merah{flex:1;background:var(--merah-500)}
.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr 1.1fr;gap:2.5rem;padding:3.5rem 0 2.5rem}
.footer-logo{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}
.footer-logo img{width:52px;height:52px}
.footer-logo strong{color:#fff;display:block;line-height:1.2}
.footer-logo small{color:var(--kuning-400);font-size:.75rem;font-weight:600}
.footer-tentang p{font-size:.9rem;margin-bottom:1.2rem}
.footer-sosial{display:flex;gap:.6rem}
.footer-sosial a{
  width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,255,255,.08);color:#fff;transition:.2s;
}
.footer-sosial a:hover{background:var(--kuning-400);color:var(--biru-950);transform:translateY(-3px)}
.footer-kolom h3{
  color:#fff;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1.1rem;
  padding-bottom:.6rem;border-bottom:2px solid var(--kuning-400);display:inline-block;
}
.footer-kolom ul{display:flex;flex-direction:column;gap:.55rem;font-size:.9rem}
.footer-kolom ul a{transition:.2s;display:inline-block}
.footer-kolom ul a:hover{color:var(--kuning-400);padding-left:.35rem}
.footer-kontak li{display:flex;gap:.7rem;align-items:flex-start}
.footer-kontak .ikon{color:var(--kuning-400);margin-top:.2rem}
.footer-bawah{border-top:1px solid rgba(255,255,255,.1);padding:1.1rem 0;font-size:.8rem}
.footer-bawah-dalam{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}

.btn-atas{
  position:fixed;right:1.4rem;bottom:1.4rem;width:48px;height:48px;border-radius:50%;
  background:var(--biru-800);color:#fff;display:grid;place-items:center;z-index:150;
  box-shadow:0 10px 24px rgba(10,39,87,.35);opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s;
}
.btn-atas .ikon{transform:rotate(180deg)}
.btn-atas.tampil{opacity:1;visibility:visible;transform:translateY(0)}
.btn-atas:hover{background:var(--kuning-400);color:var(--biru-950)}

/* ---------- Profil: tabel data ---------- */
.kartu-data{background:#fff;border:1px solid var(--garis);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--bayangan)}
.kartu-data h3{display:flex;align-items:center;gap:.5rem;color:var(--biru-900);margin-bottom:1rem}
.kartu-data h3 .ikon{color:var(--kuning-600)}
.tabel-rapi{width:100%;border-collapse:collapse;font-size:.9rem}
.tabel-rapi td,.tabel-rapi th{padding:.7rem .8rem;text-align:left;border-bottom:1px solid var(--garis);vertical-align:top}
.tabel-rapi td:first-child{color:var(--tinta-600);font-weight:600;width:40%}
.tabel-rapi thead th{background:var(--biru-800);color:#fff;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase}
.tabel-rapi tbody tr:hover{background:var(--biru-50)}
.tabel-scroll{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--garis);background:#fff;box-shadow:var(--bayangan)}
.tabel-scroll .tabel-rapi td:first-child{width:auto;font-weight:700;color:var(--tinta-900)}

/* ---------- Profil: visi misi ---------- */
.visi-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:1.8rem;align-items:stretch}
.kartu-visi{
  background:linear-gradient(150deg,var(--biru-900),var(--biru-700));color:#fff;border-radius:var(--radius);
  padding:2.2rem;position:relative;overflow:hidden;box-shadow:var(--bayangan-angkat);
}
.kartu-visi::after{
  content:"";position:absolute;right:-50px;bottom:-50px;width:170px;height:170px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,199,44,.35),transparent 70%);
}
.visi-ikon{width:56px;height:56px;border-radius:16px;background:var(--kuning-400);color:var(--biru-950);display:grid;place-items:center;margin-bottom:1.2rem}
.visi-ikon .ikon{width:1.6rem;height:1.6rem}
.kartu-visi h3{color:var(--kuning-400);margin-bottom:.8rem;letter-spacing:.06em;text-transform:uppercase;font-size:.9rem}
.visi-teks{font-size:1.15rem;font-weight:600;line-height:1.7}
.kartu-misi{background:#fff;border:1px solid var(--garis);border-radius:var(--radius);padding:2rem;box-shadow:var(--bayangan)}
.kartu-misi h3{display:flex;align-items:center;gap:.5rem;color:var(--biru-900);margin-bottom:1.2rem}
.kartu-misi h3 .ikon{color:var(--merah-500)}
.misi-list{list-style:none;counter-reset:misi;display:flex;flex-direction:column;gap:.85rem}
.misi-list li{counter-increment:misi;display:flex;gap:.9rem;align-items:flex-start;color:var(--tinta-600);font-size:.93rem}
.misi-list li::before{
  content:counter(misi,decimal-leading-zero);flex:none;width:34px;height:34px;border-radius:10px;
  background:var(--biru-50);color:var(--biru-700);font-weight:800;font-size:.8rem;
  display:grid;place-items:center;border:1px solid var(--biru-100);
}

/* ---------- Profil: struktur ---------- */
.struktur{display:flex;flex-direction:column;gap:1.6rem;align-items:center}
.struktur-tingkat{display:flex;flex-wrap:wrap;gap:1.2rem;justify-content:center;position:relative}
.struktur-kotak{
  background:#fff;border:1px solid var(--garis);border-radius:var(--radius-kecil);padding:1rem 1.4rem;
  text-align:center;min-width:180px;box-shadow:var(--bayangan);display:flex;flex-direction:column;align-items:center;gap:.2rem;
}
.struktur-kotak .ikon{width:1.4rem;height:1.4rem;color:var(--kuning-600)}
.struktur-kotak strong{color:var(--biru-900);font-size:.92rem}
.struktur-kotak small{color:var(--tinta-600);font-size:.78rem}
.struktur-kotak.utama{
  background:linear-gradient(135deg,var(--biru-900),var(--biru-700));color:#fff;border:0;
  box-shadow:var(--bayangan-angkat);padding:1.3rem 2.2rem;
}
.struktur-kotak.utama strong{color:#fff;font-size:1rem}
.struktur-kotak.utama small{color:#B9CBEC}
.struktur-kotak.utama .ikon{color:var(--kuning-400)}
.struktur-kotak.kecil{min-width:150px;padding:.8rem 1rem}
.struktur-catatan{
  background:var(--kuning-100);border:1px dashed var(--kuning-500);color:#8A6400;
  padding:.6rem 1.4rem;border-radius:999px;font-weight:700;font-size:.85rem;
}

/* ---------- Profil: guru ---------- */
.guru-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.kartu-guru{
  background:#fff;border:1px solid var(--garis);border-radius:var(--radius);padding:1.5rem 1rem;
  text-align:center;display:flex;flex-direction:column;align-items:center;gap:.35rem;transition:.2s;
}
.kartu-guru:hover{transform:translateY(-4px);box-shadow:var(--bayangan)}
.avatar{
  width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:1.2rem;
  background:linear-gradient(135deg,var(--biru-800),var(--biru-500));color:#fff;margin-bottom:.4rem;
  border:3px solid var(--kuning-400);
}
.kartu-guru strong{font-size:.9rem;color:var(--biru-900)}
.kartu-guru small{color:var(--tinta-600);font-size:.78rem}

/* ---------- Akademik ---------- */
.mapel-wrap{margin-top:1.4rem}
.mapel-wrap h4{margin-bottom:.8rem;color:var(--biru-900)}
.mapel-chip{display:flex;flex-wrap:wrap;gap:.5rem}
.mapel-chip span{
  background:#fff;border:1px solid var(--garis);padding:.45rem .95rem;border-radius:999px;
  font-size:.85rem;font-weight:600;color:var(--tinta-900);transition:.2s;
}
.mapel-chip span:hover{border-color:var(--biru-500);color:var(--biru-700)}
.kartu-info-biru{
  background:linear-gradient(150deg,var(--biru-900),var(--biru-700));border-radius:var(--radius);
  padding:1.8rem;color:#fff;box-shadow:var(--bayangan-angkat);
}
.kartu-info-biru h3{display:flex;align-items:center;gap:.55rem;margin-bottom:1.1rem;color:#fff}
.kartu-info-biru h3 .ikon{color:var(--kuning-400)}
.centang-list{display:flex;flex-direction:column;gap:.7rem}
.centang-list li{display:flex;align-items:flex-start;gap:.6rem;font-size:.92rem;color:#D8E4F8}
.centang-list .ikon{color:var(--kuning-400);margin-top:.2rem}
.tabel-kalender td:first-child{white-space:nowrap}
.jabat-list{display:flex;flex-direction:column;gap:.8rem;margin-bottom:1rem}
.jabat-list li{border-bottom:1px dashed rgba(255,255,255,.2);padding-bottom:.7rem}
.jabat-list small{display:block;color:var(--kuning-400);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.jabat-list strong{font-size:.95rem}
.info-catatan{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#B9CBEC}
.info-catatan .ikon{color:var(--kuning-400)}

/* ---------- Kesiswaan: prestasi ---------- */
.prestasi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}
.kartu-prestasi{
  display:flex;gap:1rem;align-items:center;background:#fff;border:1px solid var(--garis);
  border-radius:var(--radius);padding:1.2rem 1.4rem;transition:.2s;
}
.kartu-prestasi:hover{transform:translateY(-3px);box-shadow:var(--bayangan);border-color:var(--kuning-400)}
.prestasi-medali{
  width:56px;height:56px;flex:none;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--kuning-500),var(--kuning-400));color:var(--biru-950);
  box-shadow:0 8px 18px rgba(245,179,1,.35);
}
.prestasi-medali .ikon{width:1.5rem;height:1.5rem}
.prestasi-teks strong{display:block;color:var(--biru-900);margin-bottom:.4rem}
.prestasi-meta{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.prestasi-tahun{font-size:.8rem;font-weight:700;color:var(--tinta-600)}

/* ---------- PPDB ---------- */
.ppdb-hero{
  display:grid;grid-template-columns:1.15fr .85fr;gap:2.5rem;align-items:center;
  background:linear-gradient(140deg,var(--biru-950),var(--biru-800));border-radius:var(--radius);
  padding:2.8rem;color:#fff;box-shadow:var(--bayangan-angkat);position:relative;overflow:hidden;
}
.ppdb-hero::before{
  content:"";position:absolute;width:300px;height:300px;border-radius:50%;
  border:50px solid rgba(255,199,44,.08);right:-90px;top:-90px;
}
.ppdb-hero .judul-seksi{color:#fff;margin-bottom:.8rem}
.ppdb-hero-teks p{color:#C9D9F5;margin-bottom:.4rem}
.ppdb-hero-teks .btn{margin-top:1rem}
.ppdb-hero-kartu{
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);
  border-radius:var(--radius);padding:1.6rem;position:relative;z-index:1;
}
.ppdb-hero-kartu h3{display:flex;align-items:center;gap:.5rem;color:var(--kuning-400);margin-bottom:1rem;font-size:1rem}
.ppdb-hero-kartu ul{display:flex;flex-direction:column;gap:.7rem}
.ppdb-hero-kartu li{display:flex;gap:.6rem;font-size:.9rem;color:#D8E4F8}
.ppdb-hero-kartu .ikon{color:var(--kuning-400);margin-top:.2rem}

.jalur-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.kartu-jalur{
  background:#fff;border:1px solid var(--garis);border-top:4px solid var(--biru-800);
  border-radius:var(--radius);padding:1.7rem 1.3rem;transition:.2s;display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;
}
.kartu-jalur:hover{transform:translateY(-5px);box-shadow:var(--bayangan-angkat)}
.jalur-ikon{
  width:52px;height:52px;border-radius:14px;display:grid;place-items:center;margin-bottom:.4rem;
  background:var(--biru-50);color:var(--biru-700);border:1px solid var(--biru-100);
}
.jalur-ikon .ikon{width:1.45rem;height:1.45rem}
.kartu-jalur h3{color:var(--biru-900)}
.jalur-kuota{align-self:flex-start;background:var(--kuning-100);color:#8A6400;border:1px solid #F3DE9E;font-weight:800;font-size:.75rem;padding:.2rem .7rem;border-radius:999px}
.kartu-jalur p{font-size:.86rem;color:var(--tinta-600)}

.alur-list{counter-reset:alur;display:flex;flex-direction:column;gap:.9rem;margin-top:1.4rem}
.alur-list li{
  counter-increment:alur;position:relative;background:#fff;border:1px solid var(--garis);
  border-radius:var(--radius-kecil);padding:1rem 1.2rem 1rem 3.6rem;transition:.2s;
}
.alur-list li:hover{border-color:var(--biru-300);box-shadow:var(--bayangan)}
.alur-list li::before{
  content:counter(alur);position:absolute;left:1rem;top:50%;transform:translateY(-50%);
  width:34px;height:34px;border-radius:50%;background:var(--biru-800);color:#fff;
  display:grid;place-items:center;font-weight:800;box-shadow:0 0 0 4px var(--biru-100);
}
.alur-list strong{display:block;color:var(--biru-900)}
.alur-list small{color:var(--tinta-600);font-size:.85rem}
.kartu-syarat{
  margin-top:1.6rem;background:#fff;border:1px solid var(--garis);border-radius:var(--radius);
  padding:1.6rem;box-shadow:var(--bayangan);
}
.kartu-syarat h3{display:flex;align-items:center;gap:.5rem;color:var(--biru-900);margin-bottom:1rem}
.kartu-syarat h3 .ikon{color:var(--merah-500)}
.kartu-syarat .centang-list li{color:var(--tinta-600)}
.kartu-syarat .centang-list .ikon{color:var(--biru-600)}

.faq-list{display:flex;flex-direction:column;gap:.8rem}
.faq-item{background:#fff;border:1px solid var(--garis);border-radius:var(--radius-kecil);overflow:hidden;transition:.2s}
.faq-item[open]{border-color:var(--biru-300);box-shadow:var(--bayangan)}
.faq-item summary{
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
  font-weight:700;color:var(--biru-900);padding:1rem 1.3rem;cursor:pointer;list-style:none;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-panah .ikon{transition:transform .25s;color:var(--kuning-600)}
.faq-item[open] .faq-panah .ikon{transform:rotate(180deg)}
.faq-item p{padding:0 1.3rem 1.2rem;color:var(--tinta-600);font-size:.93rem}
.faq-bantuan{
  margin-top:1.8rem;text-align:center;background:var(--biru-50);border:1px dashed var(--biru-300);
  border-radius:var(--radius-kecil);padding:1rem 1.4rem;color:var(--tinta-600);font-size:.92rem;
}

/* ---------- Berita: sidebar ---------- */
.bilah-samping{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:80px}
.widget{background:#fff;border:1px solid var(--garis);border-radius:var(--radius);padding:1.4rem;box-shadow:var(--bayangan)}
.widget h3{
  display:flex;align-items:center;gap:.5rem;color:var(--biru-900);font-size:1rem;
  margin-bottom:1rem;padding-bottom:.7rem;border-bottom:2px solid var(--kuning-400);
}
.widget h3 .ikon{color:var(--biru-600)}
.widget-list{display:flex;flex-direction:column;gap:.9rem}
.widget-list li{border-bottom:1px dashed var(--garis);padding-bottom:.8rem}
.widget-list li:last-child{border-bottom:0;padding-bottom:0}
.widget-list strong{display:block;font-size:.88rem;color:var(--biru-900);line-height:1.4}
.widget-list small{color:var(--tinta-600);font-size:.76rem;display:flex;align-items:center;gap:.35rem;margin-top:.25rem}
.widget-agenda{display:flex;gap:.8rem;align-items:center}
.kategori-chip{display:flex;flex-wrap:wrap;gap:.5rem}
.kategori-chip .chip{transition:.2s}
.kategori-chip .chip:hover{border-color:var(--biru-500)}

/* ---------- Artikel detail ---------- */
.artikel-kepala{margin-bottom:1.6rem;text-align:center}
.artikel-kepala h1{font-size:clamp(1.5rem,3.4vw,2.4rem);color:var(--biru-900);margin:.8rem 0 1rem}
.artikel-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:1.2rem;color:var(--tinta-600);font-size:.85rem;font-weight:600}
.artikel-meta span{display:inline-flex;align-items:center;gap:.4rem}
.artikel-gambar{aspect-ratio:16/8;border-radius:var(--radius);margin-bottom:1.8rem}
.artikel-isi p{margin-bottom:1.1rem;color:#33415C}
.artikel-isi blockquote{
  margin:1.6rem 0;background:var(--biru-50);border-left:5px solid var(--biru-600);
  border-radius:0 10px 10px 0;padding:1.2rem 1.5rem;
}
.artikel-isi blockquote p{
  display:flex;gap:.6rem;font-weight:700;color:var(--biru-900);font-size:1.02rem;margin:0;
}
.artikel-isi blockquote .ikon{color:var(--kuning-600)}
.artikel-bagikan{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  margin-top:2rem;padding-top:1.4rem;border-top:1px solid var(--garis);
}
.bagikan-tombol{display:flex;gap:.6rem}
.btn-bagi{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  background:var(--biru-50);color:var(--biru-700);border:1px solid var(--biru-100);transition:.2s;
}
.btn-bagi:hover{background:var(--biru-800);color:#fff}
.artikel-navigasi{margin:2rem 0 2.6rem}
.berita-terkait h2{margin-bottom:1.4rem;font-size:1.3rem;display:flex;align-items:center;gap:.5rem}
.berita-terkait h2 .ikon{color:var(--kuning-600)}

/* ---------- Kontak ---------- */
.kontak-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:start}
.kontak-info > p{color:var(--tinta-600);margin-bottom:1.6rem}
.kontak-kartu-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.8rem}
.kontak-kartu-list li{
  display:flex;gap:1rem;align-items:center;background:#fff;border:1px solid var(--garis);
  border-radius:var(--radius-kecil);padding:1rem 1.2rem;transition:.2s;
}
.kontak-kartu-list li:hover{border-color:var(--biru-300);box-shadow:var(--bayangan)}
.kontak-ikon{
  width:48px;height:48px;flex:none;border-radius:12px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--biru-800),var(--biru-500));color:#fff;
}
.kontak-ikon .ikon{width:1.3rem;height:1.3rem}
.kontak-kartu-list strong{display:block;color:var(--biru-900)}
.kontak-kartu-list small{color:var(--tinta-600)}
.peta-placeholder{
  border:2px dashed var(--biru-300);border-radius:var(--radius);background:var(--biru-50);
  min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.4rem;text-align:center;padding:1.5rem;color:var(--biru-800);
}
.peta-placeholder .ikon{width:2.2rem;height:2.2rem;color:var(--merah-500)}
.peta-placeholder small{color:var(--tinta-600);max-width:42ch;font-size:.82rem}
.kontak-form-wrap{background:#fff;border:1px solid var(--garis);border-radius:var(--radius);box-shadow:var(--bayangan-angkat);overflow:hidden}
.kontak-form{padding:2rem}
.kontak-form h3{display:flex;align-items:center;gap:.5rem;color:var(--biru-900);margin-bottom:1.4rem}
.kontak-form h3 .ikon{color:var(--kuning-600)}
.form-baris{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.kontak-form label{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;font-weight:700;color:var(--biru-900);margin-bottom:1rem}
.kontak-form input,.kontak-form select,.kontak-form textarea{
  border:1.5px solid var(--garis);border-radius:10px;padding:.75rem 1rem;outline:none;transition:.2s;background:#FAFCFF;
}
.kontak-form input:focus,.kontak-form select:focus,.kontak-form textarea:focus{border-color:var(--biru-500);box-shadow:0 0 0 4px var(--biru-100)}
.form-catatan{display:flex;gap:.5rem;align-items:flex-start;font-size:.8rem;color:var(--tinta-600);margin-top:1rem}
.form-catatan .ikon{color:var(--kuning-600);margin-top:.15rem}

/* ---------- Animasi muncul ---------- */
[data-muncul]{opacity:0;transform:translateY(24px);transition:opacity .6s ease, transform .6s ease}
[data-muncul].muncul{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  [data-muncul]{opacity:1;transform:none;transition:none}
}

/* ---------- Responsif ---------- */
@media (max-width:1024px){
  .hero-dalam{grid-template-columns:1fr;text-align:left}
  .hero-visual{order:-1;max-width:420px;margin-inline:auto}
  .berita-grid{grid-template-columns:1fr}
  .berita-grid-full{grid-template-columns:repeat(2,1fr)}
  .berita-layout{grid-template-columns:1fr}
  .bilah-samping{position:static}
  .keunggulan-grid,.unggulan-grid,.ekskul-grid,.ekskul-grid-penuh,.jalur-grid{grid-template-columns:repeat(2,1fr)}
  .guru-grid,.galeri-grid,.galeri-grid-penuh{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .dua-kolom,.info-dua-kolom,.sambutan-grid,.visi-grid,.ppdb-hero,.kontak-grid{grid-template-columns:1fr}
  .statistik-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:768px){
  .topbar-slogan span{display:none}
  .topbar-nav{gap:1rem}
  .kepala-tag{display:none}
  .kepala-aksi{gap:.5rem}
  .btn-ppdb{display:inline-flex;padding:.45rem .9rem;font-size:.82rem;gap:.35rem}
  .btn-hamburger{display:flex}
  .navbar{display:none}
  .nav-list{display:none}
  .navbar-cta{display:none}
  .hero{padding:3rem 0 4.5rem}
  .seksi{padding:3rem 0}
  .kepala-seksi{flex-direction:column;align-items:flex-start}
  .berita-grid-full{grid-template-columns:1fr}
  .prestasi-grid{grid-template-columns:1fr}
  .cta-dalam{flex-direction:column;align-items:flex-start}
  .footer-grid{grid-template-columns:1fr;gap:2rem}
  .footer-bawah-dalam{flex-direction:column;gap:.3rem}
  .form-baris{grid-template-columns:1fr}
  .kartu-baris{flex-direction:column}
  .kartu-baris .kartu-gambar-kecil{width:100%;min-height:120px;border-radius:0}
}

@media (max-width:520px){
  .keunggulan-grid,.unggulan-grid,.ekskul-grid,.ekskul-grid-penuh,.jalur-grid,.guru-grid,
  .galeri-grid,.galeri-grid-penuh,.statistik-grid{grid-template-columns:1fr}
  .topbar-nav a span{display:none}
  .kepala-dalam{gap:.5rem}
  .kepala-logo img{width:46px;height:46px}
  .kepala-nama{font-size:1.05rem}
  .btn-cari,.btn-hamburger{width:38px;height:38px}
  .btn-ppdb{padding:.38rem .7rem;font-size:.78rem;gap:.3rem}
  .hero-aksi .btn{width:100%}
  .ppdb-hero{padding:1.8rem}
}

@media (max-width:380px){
  .kepala-nama{font-size:.95rem}
  .kepala-logo img{width:40px;height:40px}
  .btn-ppdb{padding:.32rem .55rem;font-size:.72rem}
}

/* -- Alert formulir kontak ------------------------------- */
.alert{padding:.9rem 1.1rem;border-radius:12px;margin-bottom:1.25rem;font-size:.9rem;font-weight:600;line-height:1.5}
.alert-hijau{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}
.alert-merah{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
.kontak-peta iframe{width:100%;min-height:300px}

/* -- Gambar asli pada kartu berita & artikel ------------ */
.ada-gambar{padding:0;overflow:hidden}
.ada-gambar img{width:100%;height:100%;object-fit:cover;display:block}
.kartu-gambar.ada-gambar img,.artikel-gambar.ada-gambar img{aspect-ratio:16/9}
.artikel-gambar.ada-gambar{position:relative;margin-bottom:1.5rem;border-radius:var(--radius);background:#fff;border:1px solid var(--garis)}
.artikel-gambar.ada-gambar figcaption{position:absolute;left:0;right:0;bottom:0;padding:.6rem 1rem;font-size:.8rem;color:#fff;background:linear-gradient(transparent,rgba(15,23,42,.75))}
.kartu-gambar-kecil.ada-gambar img{min-height:100%}

/* -- Perbaikan breadcrumb (ikon & teks sejajar) --------- */
.breadcrumb a,.breadcrumb [aria-current]{display:inline-flex;align-items:center;gap:.4rem;line-height:1.2}
.breadcrumb .ikon{flex-shrink:0}

/* -- Hero Slider ---------------------------------------- */
.hero-slider{position:relative}
.hero-slider .hero-slide{display:none}
.hero-slider .hero-slide.aktif{display:block;animation:heroMasuk .65s ease}
@keyframes heroMasuk{from{opacity:.2;transform:translateY(6px)}to{opacity:1;transform:none}}

/* Slide dengan foto: overlay ganda agar teks selalu terbaca */
.hero-slide.dengan-gambar::before{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(4,15,38,.94) 0%,rgba(5,20,50,.86) 42%,rgba(6,24,60,.45) 100%),
    linear-gradient(0deg,rgba(4,15,38,.55) 0%,transparent 40%);
}
/* Kontras teks tambahan */
.hero-slide.dengan-gambar .hero-teks{text-shadow:0 2px 22px rgba(0,0,0,.65),0 1px 3px rgba(0,0,0,.5)}
.hero-slide.dengan-gambar .hero-eyebrow{background:rgba(4,15,38,.45);padding:.3rem .8rem;border-radius:99px}
.hero-slide.dengan-gambar .hero-mini li{color:#E7EEFB;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.hero-slide.dengan-gambar .hero-ornamen,.hero-slide.dengan-gambar .hero-gelombang{z-index:2}
.hero-slide.dengan-gambar .hero-dalam,.hero-slide.dengan-gambar .hero-teks,
.hero-slide.dengan-gambar .hero-aksi,.hero-slide.dengan-gambar .hero-mini{position:relative;z-index:3}

.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:44px;height:44px;border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(4px);transition:all .2s}
.hero-arrow:hover{background:var(--kuning-400);border-color:var(--kuning-400);color:var(--biru-950)}
.hero-arrow.prev{left:1.1rem}
.hero-arrow.next{right:1.1rem}
.hero-arrow .ikon{width:20px;height:20px}
.hero-dots{position:absolute;left:50%;transform:translateX(-50%);bottom:4.3rem;z-index:6;display:flex;gap:.45rem}
.hero-dot{width:10px;height:10px;border-radius:99px;border:none;background:rgba(255,255,255,.35);cursor:pointer;padding:0;transition:all .25s}
.hero-dot.aktif{width:26px;background:var(--kuning-400)}
@media(max-width:900px){.hero-arrow{display:none}.hero-dots{bottom:3.8rem}}