/* ============================================================
   Portal Alumni Universitas Graha Nusantara Padangsidempuan
   Tema: Marun–Tembaga "Sisik Salak" (Kota Salak heritage)
   ============================================================ */
:root{
  --marun:#571C2B;
  --marun-tua:#3A0F1C;
  --marun-gelap:#26141A;
  --tembaga:#C77B3F;
  --emas:#E4B268;
  --gading:#F8F2E7;
  --gading-tua:#EFE4D2;
  --daun:#2E4B3F;
  --tinta:#2B1B20;
  --abu:#7A6A6E;
  --putih:#FFFFFF;
  --radius:14px;
  --shadow:0 10px 30px rgba(58,15,28,.12);
  --shadow-kecil:0 4px 14px rgba(58,15,28,.10);
  --font-display:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --font-body:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
  --lebar:1120px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
body{
  font-family:var(--font-body);
  color:var(--tinta);
  background:var(--gading);
  line-height:1.7;
  font-size:16.5px;
  -webkit-font-smoothing:antialiased;
}
img,svg{max-width:100%;display:block}
a{color:var(--marun);text-decoration:none}
a:hover{color:var(--tembaga)}
ul{list-style:none}
.wadah{max-width:var(--lebar);margin:0 auto;padding:0 24px}
:focus-visible{outline:3px solid var(--tembaga);outline-offset:3px;border-radius:4px}

/* ---------- Tipografi ---------- */
h1,h2,h3,h4{font-family:var(--font-display);color:var(--marun-tua);line-height:1.25;font-weight:700}
h1{font-size:clamp(2rem,4.6vw,3.3rem);letter-spacing:-.5px}
h2{font-size:clamp(1.6rem,3vw,2.3rem)}
h3{font-size:1.28rem}
p{margin-bottom:1rem}
.eyebrow{
  display:inline-flex;align-items:center;gap:.55rem;
  font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--tembaga);margin-bottom:.9rem;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--tembaga);border-radius:2px}

/* ---------- Motif sisik salak ---------- */
.sisik{
  background-image:radial-gradient(circle at 50% 0,rgba(228,178,104,.14) 0 38%,transparent 40%);
  background-size:34px 22px;
  background-position:0 0;
}
.pembatas-sisik{
  height:26px;
  background:
    radial-gradient(circle at 8px -6px,var(--gading) 0 12px,transparent 13px) repeat-x;
  background-size:24px 26px;
}

/* ---------- Header & navigasi ---------- */
.header{
  position:sticky;top:0;z-index:60;
  background:rgba(58,15,28,.97);
  backdrop-filter:blur(8px);
  transition:box-shadow .3s;
}
.header.berbayang{box-shadow:0 6px 24px rgba(38,20,26,.4)}
.nav-atas{display:flex;align-items:center;justify-content:space-between;padding:.8rem 0;gap:1rem}
.merek{display:flex;align-items:center;gap:.75rem}
.merek img{width:46px;height:46px}
.merek-teks{line-height:1.2}
.merek-teks strong{
  font-family:var(--font-display);color:var(--gading);
  font-size:1.06rem;display:block;letter-spacing:.3px;
}
.merek-teks span{font-size:.72rem;color:var(--emas);letter-spacing:.14em;text-transform:uppercase}
.nav-menu{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap}
.nav-menu a{
  color:var(--gading);font-size:.92rem;font-weight:600;
  padding:.5rem .8rem;border-radius:8px;transition:background .25s,color .25s;
}
.nav-menu a:hover{background:rgba(228,178,104,.15);color:var(--emas)}
.nav-menu a.aktif{background:var(--tembaga);color:var(--marun-gelap)}
.tombol-menu{
  display:none;background:none;border:2px solid var(--emas);border-radius:9px;
  width:44px;height:40px;cursor:pointer;position:relative;
}
.tombol-menu span{
  position:absolute;left:9px;right:9px;height:2.5px;background:var(--emas);
  border-radius:2px;top:50%;transform:translateY(-50%);transition:background .3s;
}
.tombol-menu span::before,.tombol-menu span::after{
  content:"";position:absolute;left:0;right:0;height:2.5px;background:var(--emas);
  border-radius:2px;transition:transform .3s;
}
.tombol-menu span::before{top:-8px}
.tombol-menu span::after{top:8px}
.tombol-menu[aria-expanded="true"] span{background:transparent}
.tombol-menu[aria-expanded="true"] span::before{transform:translateY(8px) rotate(45deg)}
.tombol-menu[aria-expanded="true"] span::after{transform:translateY(-8px) rotate(-45deg)}

/* ---------- Hero ---------- */
.hero{
  background:linear-gradient(150deg,var(--marun-tua) 0%,var(--marun) 55%,#6E2A38 100%);
  color:var(--gading);position:relative;overflow:hidden;
}
.hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(circle at 50% 0,rgba(228,178,104,.10) 0 38%,transparent 40%);
  background-size:44px 28px;
}
.hero-dalam{
  display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center;
  padding:4.5rem 0 5rem;position:relative;z-index:1;
}
.hero h1{color:var(--gading)}
.hero h1 em{font-style:normal;color:var(--emas)}
.hero p{color:#EBD9C4;font-size:1.08rem;max-width:34rem}
.hero-aksi{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:1.6rem}
.hero-gambar{filter:drop-shadow(0 18px 40px rgba(0,0,0,.35))}

/* ---------- Tombol ---------- */
.tombol{
  display:inline-block;padding:.85rem 1.7rem;border-radius:10px;
  font-weight:700;font-size:.97rem;border:2px solid transparent;
  transition:transform .2s,box-shadow .2s,background .25s;cursor:pointer;
}
.tombol:active{transform:translateY(1px)}
.tombol-utama{background:var(--tembaga);color:var(--marun-gelap)}
.tombol-utama:hover{background:var(--emas);color:var(--marun-gelap);box-shadow:0 8px 22px rgba(199,123,63,.4)}
.tombol-garis{border-color:var(--emas);color:var(--emas)}
.tombol-garis:hover{background:rgba(228,178,104,.14);color:var(--emas)}
.tombol-marun{background:var(--marun);color:var(--gading)}
.tombol-marun:hover{background:var(--marun-tua);color:var(--gading);box-shadow:var(--shadow-kecil)}

/* ---------- Seksi umum ---------- */
.seksi{padding:4.2rem 0}
.seksi-gelap{background:var(--marun-tua);color:var(--gading)}
.seksi-gelap h2,.seksi-gelap h3{color:var(--gading)}
.seksi-gelap p{color:#E4D2BE}
.seksi-krem{background:var(--gading-tua)}
.kepala-seksi{max-width:46rem;margin-bottom:2.4rem}
.kepala-seksi.tengah{margin-left:auto;margin-right:auto;text-align:center}
.kepala-seksi.tengah .eyebrow{justify-content:center}
.kepala-seksi.tengah .eyebrow::before{display:none}

/* ---------- Grid kartu ---------- */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.kartu{
  background:var(--putih);border-radius:var(--radius);padding:1.7rem;
  box-shadow:var(--shadow-kecil);border-top:4px solid var(--tembaga);
  transition:transform .25s,box-shadow .25s;
}
.kartu:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.kartu h3{margin:.7rem 0 .5rem}
.kartu p:last-child{margin-bottom:0}
.kartu-ikon{width:52px;height:52px}
.kartu-polos{border-top:none}

/* ---------- Statistik ---------- */
.statistik{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;text-align:center}
.statistik-item{
  background:rgba(228,178,104,.09);border:1px solid rgba(228,178,104,.28);
  border-radius:var(--radius);padding:1.6rem 1rem;
}
.statistik-angka{
  font-family:var(--font-display);font-size:2.5rem;font-weight:700;color:var(--emas);
  display:block;line-height:1.1;
}
.statistik-label{font-size:.86rem;letter-spacing:.06em;text-transform:uppercase;color:#E4D2BE}

/* ---------- Berita ---------- */
.kartu-berita{overflow:hidden;padding:0;display:flex;flex-direction:column}
.kartu-berita img{width:100%;height:180px;object-fit:cover}
.kartu-berita-isi{padding:1.4rem 1.5rem 1.6rem;display:flex;flex-direction:column;flex:1}
.kartu-berita-isi p{flex:1}
.label-kategori{
  align-self:flex-start;font-size:.72rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--putih);background:var(--daun);
  padding:.28rem .7rem;border-radius:999px;margin-bottom:.7rem;
}
.label-kategori.agenda{background:var(--tembaga)}
.label-kategori.reuni{background:var(--marun)}
.meta-berita{font-size:.84rem;color:var(--abu);margin-bottom:.4rem}
.filter-baris{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:2rem}
.filter-tombol{
  border:2px solid var(--marun);background:transparent;color:var(--marun);
  padding:.5rem 1.15rem;border-radius:999px;font-weight:700;font-size:.88rem;
  cursor:pointer;transition:background .25s,color .25s;
}
.filter-tombol:hover{background:rgba(87,28,43,.08)}
.filter-tombol.aktif{background:var(--marun);color:var(--gading)}

/* ---------- Profil alumni ---------- */
.kartu-tokoh{text-align:center;padding-top:2.2rem}
.kartu-tokoh img{width:110px;height:110px;margin:0 auto 1.1rem;border-radius:50%;box-shadow:var(--shadow-kecil)}
.kartu-tokoh .jabatan{color:var(--tembaga);font-weight:700;font-size:.9rem;margin-bottom:.6rem}
.kartu-tokoh .angkatan{
  display:inline-block;font-size:.78rem;background:var(--gading-tua);
  border-radius:999px;padding:.25rem .8rem;color:var(--marun);font-weight:600;margin-bottom:.8rem;
}

/* ---------- Linimasa ---------- */
.linimasa{position:relative;padding-left:2.2rem;max-width:44rem}
.linimasa::before{
  content:"";position:absolute;left:9px;top:6px;bottom:6px;width:3px;
  background:linear-gradient(var(--tembaga),var(--marun));border-radius:2px;
}
.linimasa-item{position:relative;padding-bottom:1.9rem}
.linimasa-item:last-child{padding-bottom:0}
.linimasa-item::before{
  content:"";position:absolute;left:-2.2rem;top:6px;width:15px;height:15px;
  background:var(--emas);border:3px solid var(--marun);border-radius:50%;
}
.linimasa-tahun{font-family:var(--font-display);font-weight:700;color:var(--tembaga);font-size:1.1rem}

/* ---------- Tabel ---------- */
.tabel-bungkus{overflow-x:auto;border-radius:var(--radius);box-shadow:var(--shadow-kecil)}
table{width:100%;border-collapse:collapse;background:var(--putih);min-width:560px}
th{
  background:var(--marun);color:var(--gading);text-align:left;
  padding:.95rem 1.2rem;font-size:.9rem;letter-spacing:.05em;
}
td{padding:.9rem 1.2rem;border-bottom:1px solid var(--gading-tua);font-size:.95rem}
tr:last-child td{border-bottom:none}
tr:nth-child(even) td{background:#FCF8F1}

/* ---------- Akordeon ---------- */
.akordeon{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-kecil);background:var(--putih)}
.akordeon + .akordeon{margin-top:1rem}
.akordeon-kepala{
  width:100%;text-align:left;background:var(--putih);border:none;cursor:pointer;
  padding:1.15rem 1.4rem;font-size:1.02rem;font-weight:700;color:var(--marun-tua);
  font-family:var(--font-body);display:flex;justify-content:space-between;align-items:center;gap:1rem;
}
.akordeon-kepala::after{
  content:"+";font-size:1.5rem;color:var(--tembaga);line-height:1;transition:transform .3s;
}
.akordeon-kepala[aria-expanded="true"]::after{transform:rotate(45deg)}
.akordeon-isi{max-height:0;overflow:hidden;transition:max-height .35s ease}
.akordeon-isi-dalam{padding:0 1.4rem 1.3rem;color:#4B383F}

/* ---------- Lowongan ---------- */
.kartu-loker{display:flex;flex-direction:column;gap:.35rem}
.kartu-loker .perusahaan{color:var(--tembaga);font-weight:700}
.loker-meta{display:flex;gap:.55rem;flex-wrap:wrap;margin:.5rem 0 .8rem}
.loker-tag{
  font-size:.76rem;font-weight:700;background:var(--gading-tua);color:var(--marun);
  border-radius:999px;padding:.26rem .75rem;
}

/* ---------- Formulir ---------- */
.formulir{background:var(--putih);border-radius:var(--radius);padding:2.2rem;box-shadow:var(--shadow)}
.form-baris{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.form-grup{margin-bottom:1.2rem}
label{display:block;font-weight:700;font-size:.9rem;margin-bottom:.4rem;color:var(--marun-tua)}
input,select,textarea{
  width:100%;padding:.8rem 1rem;border:2px solid var(--gading-tua);border-radius:10px;
  font-family:var(--font-body);font-size:.97rem;background:#FDFBF7;color:var(--tinta);
  transition:border-color .25s;
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--tembaga)}
.form-error{color:#A32638;font-size:.83rem;margin-top:.3rem;display:none}
.form-grup.salah input,.form-grup.salah select,.form-grup.salah textarea{border-color:#A32638}
.form-grup.salah .form-error{display:block}
.form-sukses{
  display:none;background:#E8F3EC;border:2px solid var(--daun);color:var(--daun);
  border-radius:10px;padding:1rem 1.3rem;font-weight:600;margin-bottom:1.2rem;
}
.form-sukses.tampil{display:block}

/* ---------- Kontak ---------- */
.info-kontak{display:flex;flex-direction:column;gap:1.3rem}
.info-item{display:flex;gap:1rem;align-items:flex-start}
.info-item svg{flex-shrink:0}
.info-item strong{display:block;color:var(--marun-tua)}
.peta{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin-top:2.5rem}
.peta iframe{width:100%;height:380px;border:0;display:block}

/* ---------- CTA pita ---------- */
.pita-cta{
  background:linear-gradient(120deg,var(--marun) 0%,var(--marun-tua) 100%);
  border-radius:calc(var(--radius) + 4px);padding:3rem;color:var(--gading);
  display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;
  position:relative;overflow:hidden;
}
.pita-cta::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(circle at 50% 0,rgba(228,178,104,.12) 0 38%,transparent 40%);
  background-size:38px 24px;
}
.pita-cta h2{color:var(--gading);position:relative}
.pita-cta p{color:#EBD9C4;margin:0;position:relative}
.pita-cta .tombol{position:relative}

/* ---------- Breadcrumb ---------- */
.remah{
  background:var(--marun-tua);color:#D8BFA8;padding:2.6rem 0 2.2rem;position:relative;overflow:hidden;
}
.remah::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(circle at 50% 0,rgba(228,178,104,.08) 0 38%,transparent 40%);
  background-size:38px 24px;
}
.remah h1{color:var(--gading);margin-top:.4rem;position:relative;z-index:1}
.remah nav{font-size:.88rem;position:relative;z-index:1}
.remah nav a{color:var(--emas)}
.remah nav span{color:#C9A98E}

/* ---------- Footer ---------- */
.footer{background:var(--marun-gelap);color:#DCC7B2;padding:3.4rem 0 0;margin-top:0}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:2.4rem;padding-bottom:2.6rem}
.footer h4{color:var(--emas);font-size:1.02rem;margin-bottom:1rem}
.footer a{color:#DCC7B2;display:inline-block;padding:.18rem 0}
.footer a:hover{color:var(--emas)}
.footer p{font-size:.93rem}
.footer-merek{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem}
.footer-merek img{width:44px;height:44px}
.footer-merek strong{font-family:var(--font-display);color:var(--gading);line-height:1.25;display:block}
.footer-bawah{
  border-top:1px solid rgba(228,178,104,.2);padding:1.2rem 0;font-size:.85rem;
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:#B99D86;
}

/* ---------- Animasi reveal (hanya saat JS aktif) ---------- */
body.js .ungkap{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
body.js .ungkap.terlihat{opacity:1;transform:none}

/* ---------- Halaman 404 ---------- */
.halaman-404{text-align:center;padding:6rem 0}
.halaman-404 .angka{
  font-family:var(--font-display);font-size:clamp(5rem,14vw,9rem);
  color:var(--tembaga);line-height:1;font-weight:700;
}

/* ---------- Responsif ---------- */
@media (max-width:960px){
  .hero-dalam{grid-template-columns:1fr;padding:3.4rem 0}
  .hero-gambar{max-width:420px;margin:0 auto}
  .grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}
  .statistik{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .nav-menu{
    position:fixed;inset:64px 0 auto 0;background:var(--marun-tua);
    flex-direction:column;align-items:stretch;padding:1rem 1.4rem 1.6rem;
    transform:translateY(-130%);transition:transform .35s ease;gap:.2rem;
    box-shadow:0 20px 30px rgba(0,0,0,.35);
  }
  .nav-menu.terbuka{transform:translateY(0)}
  .nav-menu a{padding:.85rem 1rem}
  .tombol-menu{display:block}
}
@media (max-width:600px){
  body{font-size:15.5px}
  .seksi{padding:3rem 0}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .form-baris{grid-template-columns:1fr}
  .statistik{grid-template-columns:1fr 1fr;gap:1rem}
  .pita-cta{padding:2.2rem 1.6rem}
  .formulir{padding:1.6rem 1.3rem}
  .footer-grid{grid-template-columns:1fr}
}
