/* ===== Halaman Khusus — Custom Page Builder =====
   Semua rule di-scope di bawah .hk-page supaya tidak bentrok dengan CSS tema aktif.
   Variabel --hk-forest, --hk-forest-deep, --hk-olive, --hk-lime, --hk-cream, --hk-max-width
   diisi lewat inline style dari halaman Pengaturan (lihat includes/settings.php). */

.hk-page{
  --hk-ink:#211f1a;
  --hk-forest:#3d4522;
  --hk-forest-deep:#2a3018;
  --hk-olive:#7c8f3f;
  --hk-lime:#c7db72;
  --hk-cream:#f6f3ea;
  --hk-paper:#fffdf7;
  --hk-muted:#716f61;
  --hk-line:#e4dfcf;
  --hk-max-width:1120px;

  font-family:'Inter', -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color:var(--hk-ink);
  background:var(--hk-cream);
  line-height:1.7;
  font-size:16px;
  max-width:100%;
  overflow-x:hidden;
}
.hk-page *{ box-sizing:border-box; }
.hk-page h1,.hk-page h2,.hk-page h3,.hk-page h4,.hk-page h5{
  font-family:'Fraunces', Georgia, serif;
  font-weight:600;
  letter-spacing:-0.01em;
  margin:0;
}
.hk-page p{ margin:0; }
.hk-page ul,.hk-page ol{ margin:0; padding:0; }
.hk-page a{ color:inherit; }

.hk-page .hk-eyebrow{
  font-family:'Inter', sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--hk-olive);
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
}
.hk-page .hk-eyebrow .hk-num{
  font-family:'Fraunces', serif;
  font-weight:500;
  font-size:14px;
  color:var(--hk-forest);
  border:1px solid var(--hk-forest);
  border-radius:50%;
  width:26px; height:26px;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}

/* ---------- HERO ---------- */
.hk-page .hk-hero{
  position:relative;
  background:var(--hk-forest);
  color:var(--hk-cream);
  min-height:70vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:70px 8vw;
  overflow:hidden;
}
.hk-page .hk-hero::before{
  content:"";
  position:absolute;
  top:-10%; right:-8%;
  width:520px; height:520px;
  background-image:radial-gradient(var(--hk-lime) 2.5px, transparent 2.5px);
  background-size:26px 26px;
  opacity:0.35;
  mask-image:radial-gradient(circle at center, black 40%, transparent 72%);
  -webkit-mask-image:radial-gradient(circle at center, black 40%, transparent 72%);
  animation:hkDrift 40s linear infinite;
  pointer-events:none;
}
@keyframes hkDrift{ from{ transform:rotate(0deg); } to{ transform:rotate(360deg); } }
.hk-page .hk-hero-mark{
  font-size:13px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--hk-lime);
  font-weight:700;
  margin-bottom:26px;
}
.hk-page .hk-hero h1{
  font-size:clamp(36px, 6vw, 76px);
  line-height:1.05;
  max-width:16ch;
  font-weight:500;
  color:var(--hk-cream);
}
.hk-page .hk-hero h1 em{
  font-style:italic;
  color:var(--hk-lime);
  font-weight:400;
}
.hk-page .hk-hero p.hk-lede{
  margin-top:28px;
  max-width:46ch;
  font-size:18px;
  color:#dfe3c9;
}
.hk-page .hk-scroll-cue{
  position:relative;
  margin-top:56px;
  font-size:12px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#b9c199;
  display:flex;
  align-items:center;
  gap:10px;
}
.hk-page .hk-scroll-cue .hk-stem{ width:1px; height:34px; background:#b9c199; display:block; }

/* ---------- HERO DENGAN GAMBAR LATAR ---------- */
.hk-page .hk-hero-has-bg{
  background-size:cover;
  background-position:center;
}
.hk-page .hk-hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(20,24,10,.5), rgba(20,24,10,.78));
  z-index:0;
}
.hk-page .hk-hero-has-bg::before{ z-index:1; }
.hk-page .hk-hero-has-bg .hk-hero-mark,
.hk-page .hk-hero-has-bg h1,
.hk-page .hk-hero-has-bg p.hk-lede,
.hk-page .hk-hero-has-bg .hk-scroll-cue{
  position:relative;
  z-index:2;
}

/* ---------- LAYOUT ---------- */
.hk-page > section{
  max-width:var(--hk-max-width);
  margin:0 auto;
  padding:90px 8vw;
  border-bottom:1px solid var(--hk-line);
  opacity:0;
  transform:translateY(24px);
  transition:opacity 0.7s ease, transform 0.7s ease;
}
.hk-page > section.hk-in{ opacity:1; transform:translateY(0); }
.hk-page > section:last-of-type{ border-bottom:none; }

.hk-page h2.hk-section-title{
  font-size:clamp(28px,3.4vw,40px);
  font-weight:500;
  color:var(--hk-forest-deep);
  line-height:1.15;
}
.hk-page h2.hk-section-title em,
.hk-page .hk-profile-name em{
  font-style:italic;
  color:var(--hk-olive);
  font-weight:400;
}
.hk-page .hk-body p{ font-size:17px; color:#3a3826; max-width:62ch; }
.hk-page .hk-body p + p{ margin-top:16px; }

/* ---------- LIST BERNOMOR ---------- */
.hk-page ol.hk-numbered-list{ list-style:none; counter-reset:hknum; }
.hk-page ol.hk-numbered-list li{
  counter-increment:hknum;
  position:relative;
  padding:16px 0 16px 46px;
  border-top:1px solid var(--hk-line);
  font-size:17px;
}
.hk-page ol.hk-numbered-list li:last-child{ border-bottom:1px solid var(--hk-line); }
.hk-page ol.hk-numbered-list li::before{
  content: counter(hknum, decimal-leading-zero);
  position:absolute; left:0; top:16px;
  font-family:'Fraunces', serif;
  font-weight:500;
  color:var(--hk-olive);
  font-size:15px;
}

/* ---------- LIST BULLET ---------- */
.hk-page ul.hk-bullet-list{ list-style:none; }
.hk-page ul.hk-bullet-list li{
  padding:10px 0 10px 20px;
  position:relative;
  font-size:15.5px;
  border-top:1px solid var(--hk-line);
  color:#3a3826;
}
.hk-page ul.hk-bullet-list li::before{ content:"—"; position:absolute; left:0; top:10px; color:var(--hk-olive); }

/* ---------- CARDS ROW (jenjang/paket) ---------- */
.hk-page .hk-cards-wrap{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:24px;
  margin-top:40px;
}
.hk-page .hk-card{
  background:var(--hk-paper);
  border:1px solid var(--hk-line);
  border-radius:4px;
  padding:28px 24px 30px;
}
.hk-page .hk-card h4{ font-size:20px; color:var(--hk-forest-deep); margin-bottom:4px; }
.hk-page .hk-card-sub{
  font-size:12px; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--hk-muted); margin-bottom:20px; display:block;
}
.hk-page ul.hk-ladder-list{ list-style:none; position:relative; }
.hk-page ul.hk-ladder-list::before{
  content:""; position:absolute; left:5px; top:6px; bottom:6px; width:1px; background:var(--hk-line);
}
.hk-page ul.hk-ladder-list li{ position:relative; padding-left:24px; padding-bottom:12px; font-size:14.5px; color:#3a3826; }
.hk-page ul.hk-ladder-list li::before{
  content:""; position:absolute; left:0; top:6px; width:9px; height:9px; border-radius:50%;
  background:var(--hk-lime); border:2px solid var(--hk-forest);
}
.hk-page ul.hk-ladder-list li:last-child{ font-weight:700; color:var(--hk-forest-deep); padding-bottom:0; }
.hk-page ul.hk-ladder-list li:last-child::before{ background:var(--hk-forest); }

/* ---------- NOTE BOX ---------- */
.hk-page .hk-note-box{
  background:var(--hk-forest);
  color:var(--hk-cream);
  border-radius:4px;
  padding:24px 28px;
  font-size:15.5px;
}
.hk-page .hk-note-box strong{ color:var(--hk-lime); }

/* ---------- TWO COLUMN ---------- */
.hk-page .hk-pair{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
@media(max-width:720px){ .hk-page .hk-pair{ grid-template-columns:1fr; } }
.hk-page .hk-pair-card h4{ font-size:19px; color:var(--hk-forest-deep); margin-bottom:12px; }
.hk-page .hk-pair-card ul{ list-style:none; }
.hk-page .hk-pair-card li{
  padding:10px 0 10px 20px; position:relative; font-size:15.5px;
  border-top:1px solid var(--hk-line); color:#3a3826;
}
.hk-page .hk-pair-card li::before{ content:"—"; position:absolute; left:0; top:10px; color:var(--hk-olive); }

/* ---------- GRID KOLOM ---------- */
.hk-page .hk-grid-table{
  margin-top:32px;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
  border:1px solid var(--hk-line);
  border-radius:4px;
  overflow:hidden;
}
.hk-page .hk-grid-col{ padding:22px 18px; border-left:1px solid var(--hk-line); background:var(--hk-paper); }
.hk-page .hk-grid-col:first-child{ border-left:none; }
.hk-page .hk-grid-col h5{
  font-family:'Fraunces', serif; font-size:15px; font-weight:600; color:var(--hk-forest-deep);
  text-transform:uppercase; letter-spacing:0.04em; margin-bottom:12px; padding-bottom:10px;
  border-bottom:2px solid var(--hk-lime);
}
.hk-page .hk-grid-col ul{ list-style:none; }
.hk-page .hk-grid-col li{ font-size:13.5px; color:var(--hk-muted); padding:5px 0; }

/* ---------- PROFILE CARD ---------- */
.hk-page .hk-profile-card{
  background:var(--hk-paper); border:1px solid var(--hk-line); border-radius:4px;
  padding:40px; display:grid; grid-template-columns:260px 1fr; gap:40px;
}
@media(max-width:760px){ .hk-page .hk-profile-card{ grid-template-columns:1fr; padding:28px; } }
.hk-page .hk-profile-photo{
  width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:4px; margin-bottom:22px; display:block;
}
.hk-page .hk-profile-name{ font-size:28px; color:var(--hk-forest-deep); }
.hk-page .hk-profile-role{ font-size:14px; color:var(--hk-olive); font-weight:600; margin-top:6px; }
.hk-page .hk-profile-tag{
  margin-top:26px; padding-top:18px; border-top:1px solid var(--hk-line);
  font-size:13px; color:var(--hk-muted);
}
.hk-page .hk-profile-tag-value{
  display:block; font-family:'Fraunces', serif; font-style:italic; font-size:16px; color:var(--hk-ink); margin-top:6px;
}
.hk-page .hk-profile-block h5{
  font-size:12px; letter-spacing:0.12em; text-transform:uppercase; color:var(--hk-muted);
  margin-bottom:10px; margin-top:20px;
}
.hk-page .hk-profile-block h5:first-child{ margin-top:0; }
.hk-page .hk-profile-block p{ font-size:15px; color:#3a3826; }

/* ---------- PILLS ---------- */
.hk-page .hk-pill-row{ display:flex; flex-wrap:wrap; gap:8px; margin-top:6px; }
.hk-page .hk-pill{
  background:var(--hk-cream); border:1px solid var(--hk-line); border-radius:20px;
  padding:6px 14px; font-size:12.5px; color:var(--hk-forest-deep);
}

/* ---------- CLIENT FLOW ---------- */
.hk-page .hk-client-flow{ margin-top:36px; display:flex; flex-wrap:wrap; }
.hk-page .hk-client-flow span{
  font-family:'Fraunces', serif; font-size:clamp(19px,2.4vw,28px); color:var(--hk-forest-deep);
  padding:8px 20px 8px 0; position:relative;
}
.hk-page .hk-client-flow span::after{ content:"·"; color:var(--hk-lime); margin-left:20px; }
.hk-page .hk-client-flow span:last-child::after{ content:""; }

/* ---------- GAMBAR MANDIRI ---------- */
.hk-page .hk-figure{ margin:24px 0 0; }
.hk-page .hk-figure img{
  display:block; width:100%; height:auto; border-radius:4px;
}
.hk-page .hk-figure figcaption{
  margin-top:12px; font-size:13px; color:var(--hk-muted); text-align:center;
}

/* ---------- CTA / TOMBOL ---------- */
.hk-page .hk-cta-wrap{ margin-top:32px; display:flex; }
.hk-page .hk-cta-align-center{ justify-content:center; text-align:center; }
.hk-page .hk-cta-align-left{ justify-content:flex-start; }
.hk-page .hk-btn{
  display:inline-block;
  font-family:'Inter', sans-serif;
  font-weight:600;
  font-size:15px;
  letter-spacing:0.01em;
  padding:15px 32px;
  border-radius:4px;
  text-decoration:none;
  transition:opacity .2s ease, transform .2s ease;
}
.hk-page .hk-btn:hover{ opacity:0.88; transform:translateY(-1px); }
.hk-page .hk-btn-primary{
  background:var(--hk-forest);
  color:var(--hk-cream);
}
.hk-page .hk-btn-outline{
  background:transparent;
  color:var(--hk-forest-deep);
  border:1.5px solid var(--hk-forest-deep);
  padding:13.5px 30.5px;
}

/* ---------- FOOTER ---------- */
.hk-page .hk-footer{
  text-align:center; padding:48px 24px 60px; font-size:12.5px;
  letter-spacing:0.08em; text-transform:uppercase; color:var(--hk-muted);
}

/* ---------- MODE HTML MENTAH (upload/tempel) ----------
   Sengaja TIDAK diberi aturan gaya apa pun di sini: kontennya sudah
   membawa CSS-nya sendiri (diambil dari <style>/<link> hasil ekstraksi),
   supaya tampilan asli file/hasil AI tidak tertimpa palet & font plugin. */
.hk-html-embed{ }

@media(prefers-reduced-motion: reduce){
  .hk-page *{ animation:none !important; transition:none !important; }
  .hk-page > section{ opacity:1; transform:none; }
}
