:root{
  --ink:#1c2541; --ink-soft:#4a5272; --bg:#faf8f3; --card:#ffffff; --sand:#f1ede2;
  --accent:#233567; --accent-dark:#18244a; --gold:#A8822E; --line:#e4dfd0; --muted:#727892;
  --q1bg:#dfe6f6; --q1fg:#233567; --tagbg:#f4e8c8; --tagfg:#7a5d1d;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ink:#eef0f7; --ink-soft:#c3c8da; --bg:#121728; --card:#1a2036; --sand:#1f2741;
    --accent:#9fb3ea; --accent-dark:#c3d0f3; --gold:#E3C77A; --line:#2d3654; --muted:#9aa1bb;
    --q1bg:#27345c; --q1fg:#c3d0f3; --tagbg:#3b3420; --tagfg:#E3C77A;
  }
}
:root[data-theme="dark"]{
  --ink:#eef0f7; --ink-soft:#c3c8da; --bg:#121728; --card:#1a2036; --sand:#1f2741;
  --accent:#9fb3ea; --accent-dark:#c3d0f3; --gold:#E3C77A; --line:#2d3654; --muted:#9aa1bb;
  --q1bg:#27345c; --q1fg:#c3d0f3; --tagbg:#3b3420; --tagfg:#E3C77A;
}
html[data-lang="id"] .e{display:none}
html[data-lang="en"] .i{display:none}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:"Plus Jakarta Sans",system-ui,sans-serif;line-height:1.65;font-size:16px;overflow-x:hidden}
a{color:inherit}
img{max-width:100%}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
h1,h2,h3{font-family:"Fraunces",Georgia,serif;line-height:1.2;font-weight:700}
.eyebrow{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700}
.eyebrow.gold{color:#E3C77A}

/* nav */
header.nav{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand b{display:block;font-family:"Fraunces",serif;font-size:1.1rem;line-height:1.1;color:var(--accent)}
.brand small{display:block;font-size:.72rem;color:var(--muted);letter-spacing:.04em}
.nav ul{display:flex;gap:22px;list-style:none;font-weight:500;font-size:.95rem}
.nav ul a{text-decoration:none;color:var(--ink-soft)}
.nav ul a:hover{color:var(--accent)}
.nav-r{display:flex;align-items:center;gap:12px}
.back{font-size:.85rem;font-weight:600;text-decoration:none;color:var(--accent);white-space:nowrap}
.lang-tg{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--ink);color:var(--ink);border-radius:999px;padding:3px;background:transparent;cursor:pointer;font:inherit;font-size:.78rem;font-weight:700;line-height:1}
.lang-tg span{padding:5px 8px;border-radius:999px;letter-spacing:.04em}
.lang-tg i{font-style:normal}
html[data-lang="id"] .lang-tg .li, html[data-lang="en"] .lang-tg .le{background:var(--ink);color:var(--bg)}
@media (max-width:820px){.nav ul{display:none}}
@media (max-width:480px){.back{display:none}}

/* hero */
.hero{padding:64px 0 56px}
.hero .grid{display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:center}
.hero h1{font-size:clamp(2.2rem,5.5vw,3.6rem);margin:14px 0 18px}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero p.lead{font-size:1.08rem;color:var(--ink-soft);max-width:36em}
.hero-idx{text-align:left;padding-bottom:40px}
.hero-idx p.lead{max-width:44em}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:999px;font-weight:600;text-decoration:none;border:2px solid var(--ink);transition:.2s;font-size:.95rem}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.btn.primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
.btn.ghost:hover{background:var(--ink);color:var(--bg)}
.portrait{border-radius:120px 28px 28px 28px;overflow:hidden;background:var(--accent);position:relative;aspect-ratio:4/5;max-width:340px;justify-self:end;width:100%;box-shadow:10px 12px 0 var(--sand)}
.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%}
.portrait .cap{position:absolute;left:0;right:0;bottom:0;padding:56px 20px 20px;color:#fff;background:linear-gradient(to top,rgba(14,22,48,.94),rgba(14,22,48,.55) 60%,transparent);display:grid;gap:2px}
.portrait .cap b{font-family:"Fraunces",serif;font-size:1.15rem;line-height:1.25}
.portrait .cap small{font-size:.8rem;opacity:.85}
@media (max-width:820px){.hero .grid{grid-template-columns:1fr}.portrait{justify-self:start;max-width:300px}}

section{padding:64px 0}
section.pt0{padding-top:0}
.sec-head{max-width:640px;margin-bottom:36px}
.sec-head h2{font-size:clamp(1.7rem,4vw,2.4rem);margin-top:10px}

/* profil */
#profil{background:var(--sand)}
.prof-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px}
.prof-grid p{margin-bottom:14px;color:var(--ink-soft)}
.roles{list-style:none;display:grid;gap:12px;align-content:start}
.roles li{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.roles li b{display:block;font-size:.95rem}
.roles li span{font-size:.85rem;color:var(--muted)}
.focus{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 16px}
.focus span{font-size:.82rem;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:5px 12px;color:var(--ink-soft)}
.ids{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.ids a{font-size:.85rem;padding:7px 13px;border:1px solid var(--ink-soft);border-radius:999px;text-decoration:none;font-weight:500}
.ids a:hover{background:var(--ink);color:var(--bg)}
@media (max-width:820px){.prof-grid{grid-template-columns:1fr}}
.sub-h{font-family:"Fraunces",serif;font-size:1.25rem;margin:44px 0 16px}
.sub-h0{font-family:"Fraunces",serif;font-size:1.2rem;margin:0 0 16px}
.jr-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.jr-list div{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;display:grid;gap:6px;align-content:start}
.jr-list b{font-size:.98rem;line-height:1.35}
.jr-list span{font-size:.82rem;color:var(--muted)}
.jr-list em{font-style:normal;justify-self:start;font-size:.72rem;font-weight:700;letter-spacing:.05em;padding:3px 9px;border-radius:6px;background:var(--tagbg);color:var(--tagfg)}
.jr-list em.q1{background:var(--q1bg);color:var(--q1fg)}

/* linimasa */
.tl-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.tl{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:24px}
.tl h3{font-size:1.2rem;margin-bottom:18px}
.tl ol{list-style:none;display:grid;gap:18px;border-left:2px solid var(--line);padding-left:18px}
.tl li{position:relative;display:grid;gap:2px}
.tl li::before{content:"";position:absolute;left:-24px;top:7px;width:10px;height:10px;border-radius:50%;background:var(--gold)}
.tl li small{font-size:.78rem;font-weight:700;color:var(--gold);letter-spacing:.03em}
.tl li b{font-size:.98rem;line-height:1.35}
.tl li span{font-size:.86rem;color:var(--muted)}
@media (max-width:820px){.tl-grid{grid-template-columns:1fr}}
.list{list-style:none;display:grid;gap:10px}
.list li{display:grid;grid-template-columns:78px 1fr;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.list li small{font-weight:700;color:var(--gold);font-size:.82rem}
.list li b{display:block;font-size:.93rem;line-height:1.4}
.list li span{font-size:.84rem;color:var(--muted)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:28px}
@media (max-width:820px){.two{grid-template-columns:1fr}}
@media (max-width:480px){.list li{grid-template-columns:1fr;gap:4px}}
#capaian{background:var(--sand)}

/* galeri */
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.gal figure{margin:0;border-radius:16px;overflow:hidden;background:var(--card);border:1px solid var(--line)}
.gal img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;cursor:zoom-in;transition:.3s}
.gal img:hover{transform:scale(1.03)}
.gal figcaption{padding:12px 14px;font-size:.86rem;color:var(--ink-soft)}
.gal figcaption b{display:block;color:var(--ink);font-size:.92rem}
.lb{position:fixed;inset:0;background:rgba(10,14,28,.92);display:none;place-items:center;z-index:50;padding:16px}
.lb.on{display:grid}
.lb img{max-width:100%;max-height:86vh;border-radius:10px}
.lb p{color:#eee;text-align:center;margin-top:10px;font-size:.9rem}

/* kartu anggota */
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.mcard{background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:.2s}
a.mcard:hover{transform:translateY(-4px);border-color:var(--accent)}
.mcard .ph{aspect-ratio:1/1;background:var(--sand);position:relative;overflow:hidden;display:grid;place-items:center}
.mcard .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 22%}
.mcard .ph span{font-family:"Fraunces",serif;font-size:3rem;color:var(--muted);opacity:.6}
.mcard .bd{padding:18px 20px 22px;display:flex;flex-direction:column;gap:6px;flex:1}
.mcard small{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.mcard h3{font-size:1.2rem}
.mcard p{font-size:.88rem;color:var(--ink-soft);flex:1}
.mcard .go{font-size:.88rem;font-weight:600;color:var(--accent);margin-top:6px}
.mcard.soon{opacity:.75;border-style:dashed}

/* kontak */
.contact{background:#18244a;color:#f3efe4;border-radius:28px;padding:44px 32px;display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:center}
.contact h2{font-size:clamp(1.7rem,4vw,2.3rem);color:#fff}
.contact p{opacity:.85;margin-top:12px}
.list2{display:grid;gap:12px}
.list2 a{display:flex;gap:12px;align-items:center;padding:14px 18px;border-radius:14px;background:rgba(255,255,255,.08);text-decoration:none;font-weight:500;word-break:break-all}
.list2 a:hover{background:rgba(255,255,255,.16)}
@media (max-width:820px){.contact{grid-template-columns:1fr;padding:32px 22px}}

footer{padding:36px 0;font-size:.85rem;color:var(--muted);text-align:center}
footer a{color:var(--accent)}
/* Potret tanpa foto */
.portrait.noimg{display:grid;place-items:center;background:linear-gradient(150deg,var(--accent),var(--ink))}
.portrait .ini{font-family:"Fraunces",serif;font-size:6rem;color:#fff;opacity:.9;margin-bottom:60px;letter-spacing:.02em}
/* Karya / buku */
.books{display:grid;gap:18px}
.book{display:grid;grid-template-columns:150px 1fr;gap:24px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;align-items:start}
.book .cover img{width:100%;border-radius:8px;box-shadow:4px 6px 0 var(--sand);display:block}
.book h3{font-family:"Fraunces",serif;font-size:1.25rem;margin:8px 0 8px;line-height:1.3}
.book p{margin:0 0 8px;color:var(--ink-soft)}
.book .meta{font-size:.84rem;color:var(--muted)}
.book .tag{font-style:normal;font-size:.72rem;font-weight:700;letter-spacing:.05em;padding:3px 9px;border-radius:6px;background:var(--tagbg);color:var(--tagfg)}
@media (max-width:560px){.book{grid-template-columns:1fr}.book .cover{max-width:160px}}
.list b a{color:inherit;text-decoration:none}
.list b a:hover{text-decoration:underline}
