/* =========================================================
   Andri & Partners — PREMIUM THEME LAYER (publik + portal klien)
   Maroon gelap + emas bergradasi, efek glow, kartu kaca.
   Dimuat SETELAH style.css; hanya menimpa tampilan (tanpa
   menyentuh data). Mode: gelap (default) & terang.
   Pilihan pengunjung disimpan di localStorage "ap_theme".
   ========================================================= */

/* ---------- Token tema ---------- */
:root{
  --p-gold-grad:linear-gradient(135deg,#f7e7b0 0%,#e3c477 32%,#c9a04c 62%,#f1d88f 100%);
  --p-gold-grad-soft:linear-gradient(135deg,rgba(247,231,176,.95),rgba(201,160,76,.95));
  --p-glow-gold:0 0 28px rgba(227,196,119,.38),0 0 70px rgba(227,196,119,.16);
  --p-glow-maroon:0 0 40px rgba(165,26,65,.35);
  --p-font-display:'Playfair Display',Georgia,serif;

  /* TERANG (krem + emas) */
  --p-bg:#fbf6ee;
  --p-bg-2:#f4ebdc;
  --p-card:#ffffff;
  --p-card-2:#fffaf1;
  --p-border:rgba(190,150,70,.28);
  --p-border-strong:rgba(190,150,70,.55);
  --p-text:#2d1a1f;
  --p-text-2:#5a4a4c;
  --p-muted:#7d6c6a;
  --p-head:#4e0818;
  --p-link:#7a0c2e;
  --p-gold-text:#a07a2c;
  --p-hdr-bg:rgba(251,246,238,.82);
  --p-shadow:0 10px 34px rgba(78,8,24,.10);
  --p-shadow-hover:0 22px 54px rgba(78,8,24,.18),0 0 34px rgba(227,196,119,.30);
  --p-input-bg:#fffdf9;
  --p-ambient-a:rgba(227,196,119,.22);
  --p-ambient-b:rgba(165,26,65,.10);
  color-scheme:light;
}
:root[data-theme="dark"]{
  --p-bg:#3a0b1d;
  --p-bg-2:#4a1026;
  --p-card:rgba(255,236,224,.045);
  --p-card-2:rgba(255,236,224,.07);
  --p-border:rgba(227,196,119,.17);
  --p-border-strong:rgba(227,196,119,.45);
  --p-text:#f4ece2;
  --p-text-2:#d8cbc0;
  --p-muted:#a99a90;
  --p-head:#f6e6b9;
  --p-link:#e9cd86;
  --p-gold-text:#e3c477;
  --p-hdr-bg:rgba(58,11,29,.72);
  --p-shadow:0 14px 40px rgba(0,0,0,.45);
  --p-shadow-hover:0 24px 60px rgba(0,0,0,.55),0 0 40px rgba(227,196,119,.22);
  --p-input-bg:rgba(255,255,255,.05);
  --p-ambient-a:rgba(227,196,119,.10);
  --p-ambient-b:rgba(190,40,85,.45);
  /* token lama dipetakan ulang agar komponen lama ikut gelap */
  --cream-50:#3a0b1d;
  --cream-100:#16080f;
  --ink-900:#f4ece2;
  --ink-700:#d8cbc0;
  --ink-500:#a99a90;
  --line:rgba(227,196,119,.17);
  --shadow-sm:0 6px 22px rgba(0,0,0,.4);
  --shadow-md:0 16px 44px rgba(0,0,0,.5);
  --shadow-lg:0 28px 70px rgba(0,0,0,.6);
  color-scheme:dark;
}

/* ---------- Dasar ---------- */
html{background:var(--p-bg);}
body{
  background:var(--p-bg);color:var(--p-text);position:relative;
  transition:background-color .45s ease,color .45s ease;
}
/* cahaya ambient tetap di belakang seluruh halaman */
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(900px 600px at 12% -5%,var(--p-ambient-a),transparent 60%),
    radial-gradient(900px 700px at 100% 35%,var(--p-ambient-b),transparent 62%),
    radial-gradient(800px 600px at 0% 100%,var(--p-ambient-b),transparent 60%);
}
::selection{background:#e3c477;color:#2a0a14;}
h1,h2,h3,h4{color:var(--p-head);}
p{color:inherit;}
.prose,.prose p{color:var(--p-text-2);}
.prose h2,.prose h3,.prose h4{color:var(--p-head);}
.prose a{color:var(--p-link);text-decoration-color:rgba(227,196,119,.5);text-underline-offset:3px;}
.prose a:hover{color:var(--p-gold-text);}
.prose strong{color:var(--p-text);}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;color:var(--p-gold-text);font-weight:700;letter-spacing:.2em;
}
.eyebrow:not(.center)::before{content:"";width:28px;height:1px;background:var(--p-gold-grad);box-shadow:0 0 10px rgba(227,196,119,.8);}
.eyebrow.center{display:flex;justify-content:center;}
.eyebrow.center::before,.eyebrow.center::after{content:"";width:28px;height:1px;background:var(--p-gold-grad);box-shadow:0 0 10px rgba(227,196,119,.8);}
.section-title{
  background:linear-gradient(120deg,var(--p-head) 0%,var(--p-head) 45%,#c9a04c 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
}
:root[data-theme="dark"] .section-title{background:linear-gradient(120deg,#fff4d3 0%,#e3c477 55%,#f6e6b9 100%);-webkit-background-clip:text;background-clip:text;}
.section-tinted{background:linear-gradient(180deg,var(--p-bg-2),transparent 85%);}
:root[data-theme="dark"] .section-tinted{background:linear-gradient(180deg,rgba(255,236,224,.025),transparent 85%);}

/* scrollbar emas */
*{scrollbar-width:thin;scrollbar-color:#b08a3c var(--p-bg-2);}
::-webkit-scrollbar{width:10px;height:10px;}::-webkit-scrollbar-track{background:var(--p-bg-2);}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#e3c477,#a07a2c);border-radius:10px;border:2px solid var(--p-bg-2);}

/* ---------- Tombol ---------- */
.btn{position:relative;overflow:hidden;isolation:isolate;letter-spacing:.01em;}
.btn::after{ /* kilau yang menyapu saat hover */
  content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;z-index:-1;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);
  transition:left .7s var(--ease);
}
.btn:hover::after{left:130%;}
.btn-primary{
  background:var(--p-gold-grad);color:#2a0a14;border-color:rgba(255,236,170,.55);
  box-shadow:0 8px 26px rgba(201,160,76,.38),inset 0 1px 0 rgba(255,255,255,.55);
}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 14px 38px rgba(227,196,119,.5),0 0 34px rgba(227,196,119,.45),inset 0 1px 0 rgba(255,255,255,.6);color:#2a0a14;}
.btn-outline{background:transparent;border-color:var(--p-border-strong);color:var(--p-link);}
.btn-outline:hover{background:rgba(227,196,119,.14);border-color:#e3c477;color:var(--p-gold-text);box-shadow:var(--p-glow-gold);}
:root:not([data-theme="dark"]) .btn-outline{color:#7a0c2e;border-color:rgba(122,12,46,.45);}
:root:not([data-theme="dark"]) .btn-outline:hover{background:#7a0c2e;color:#fff;box-shadow:0 10px 30px rgba(122,12,46,.3),0 0 26px rgba(227,196,119,.35);}
.btn-ghost{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(227,196,119,.45);backdrop-filter:blur(8px);}
.btn-ghost:hover{background:rgba(227,196,119,.18);color:#fff;border-color:#e3c477;box-shadow:var(--p-glow-gold);}
.btn-gold{background:var(--p-gold-grad);color:#2a0a14;}
.btn-wa{box-shadow:0 8px 24px rgba(31,157,85,.3);}
.portal-cta .btn,.gbp-actions .btn-primary{color:#2a0a14;}
.cta-box .btn-primary,.cta-box a.btn.btn-primary{color:#2a0a14;}

/* ---------- Topbar & header kaca ---------- */
.topbar{background:linear-gradient(90deg,#1b0610,#5a132c 50%,#1b0610);border-bottom:1px solid rgba(227,196,119,.18);}
.site-header{
  background:var(--p-hdr-bg);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);
  border-bottom:1px solid var(--p-border);
  transition:background .4s ease,box-shadow .4s ease;
}
.site-header::after{ /* garis emas bercahaya di bawah header */
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(227,196,119,.75),transparent);opacity:.65;
}
.site-header.scrolled{box-shadow:0 12px 40px rgba(0,0,0,.35);}
.brand-text strong{color:var(--p-head);font-size:18.5px;letter-spacing:.2px;}
:root[data-theme="dark"] .brand-text strong{background:linear-gradient(120deg,#fff4d3,#e3c477);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.brand-text small{color:var(--p-muted);letter-spacing:.14em;text-transform:uppercase;font-size:10.5px;}
.brand-mark-img{
  background:radial-gradient(circle,#fff 55%,rgba(255,255,255,0) 100%);
  box-shadow:0 0 0 1px rgba(227,196,119,.5),0 0 22px rgba(227,196,119,.45);
}
.main-nav{gap:2px;}
.main-nav a{color:var(--p-text-2);position:relative;background:transparent!important;border-radius:100px;}
.main-nav a::after{
  content:"";position:absolute;left:16px;right:16px;bottom:4px;height:2px;border-radius:2px;
  background:var(--p-gold-grad);box-shadow:0 0 12px rgba(227,196,119,.9);
  transform:scaleX(0);transform-origin:center;transition:transform .35s var(--ease);
}
.main-nav a:hover,.main-nav a.active{color:var(--p-gold-text)!important;background:transparent!important;}
.main-nav a:hover::after,.main-nav a.active::after{transform:scaleX(1);}
.nav-item.has-sub .sub-menu{
  background:var(--p-card-solid,rgba(20,7,13,.96));border:1px solid var(--p-border-strong);backdrop-filter:blur(18px);
  box-shadow:var(--p-shadow-hover);
}
:root:not([data-theme="dark"]) .nav-item.has-sub .sub-menu{background:rgba(255,252,246,.97);}
.main-nav .sub-menu a::after{display:none;}
.main-nav .sub-menu a:hover,.main-nav .sub-menu a.active{background:rgba(227,196,119,.12)!important;}
.nav-toggle{color:var(--p-gold-text);}
/* tombol ganti tema (matahari / bulan) */
.theme-toggle{
  width:42px;height:42px;border-radius:50%;margin-left:10px;flex:0 0 auto;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;font-size:16px;
  color:var(--p-gold-text);background:var(--p-card);border:1px solid var(--p-border-strong);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),background .3s;
}
.theme-toggle:hover{transform:rotate(18deg) scale(1.08);box-shadow:var(--p-glow-gold);}
.theme-toggle .fa-sun{display:none;}
:root[data-theme="dark"] .theme-toggle .fa-sun{display:inline;}
:root[data-theme="dark"] .theme-toggle .fa-moon{display:none;}
.lang-switch{border-color:rgba(227,196,119,.5);background:rgba(255,255,255,.04);}
.lang-switch a.active{background:var(--p-gold-grad)!important;color:#2a0a14!important;}

/* ---------- Hero ---------- */
.hero{background:#3a0b1d;min-height:92vh;}
.hero-bg{
  background:
    radial-gradient(700px 520px at 78% 38%,rgba(227,196,119,.22),transparent 62%),
    radial-gradient(900px 700px at 8% 12%,rgba(165,26,65,.55),transparent 62%),
    radial-gradient(800px 600px at 60% 110%,rgba(122,12,46,.55),transparent 60%),
    linear-gradient(160deg,#3a0b1d 0%,#5a132c 52%,#7d1a3a 100%);
}
:root:not([data-theme="dark"]) .hero-bg{
  background:
    radial-gradient(700px 520px at 78% 38%,rgba(227,196,119,.32),transparent 62%),
    radial-gradient(900px 700px at 8% 12%,rgba(143,18,54,.6),transparent 62%),
    linear-gradient(150deg,#66122e 0%,#63091f 55%,#8f1236 100%);
}
.hero-bg::after{ /* grid halus */
  background-image:
    linear-gradient(rgba(227,196,119,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(227,196,119,.06) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(ellipse at 60% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse at 60% 40%,#000 20%,transparent 75%);
}
.hero::before{ /* cincin orbit emas bercahaya di kanan */
  content:"";position:absolute;z-index:0;right:max(2vw,calc(50% - 700px));top:50%;width:min(560px,48vw);aspect-ratio:1;border-radius:50%;
  transform:translateY(-50%);border:1px dashed rgba(227,196,119,.38);
  box-shadow:inset 0 0 90px rgba(227,196,119,.10),0 0 90px rgba(227,196,119,.10);
  animation:pOrbit 60s linear infinite;
}
.hero::after{
  content:"";position:absolute;z-index:0;right:calc(max(2vw,calc(50% - 700px)) + min(560px,48vw) * .14);top:50%;width:min(390px,33vw);aspect-ratio:1;border-radius:50%;
  transform:translateY(-50%);
  background:radial-gradient(circle at 35% 30%,rgba(247,231,176,.30),rgba(227,196,119,.08) 45%,transparent 70%);
  border:1px solid rgba(227,196,119,.30);box-shadow:0 0 70px rgba(227,196,119,.22),inset 0 0 60px rgba(227,196,119,.10);
  animation:pFloat 9s ease-in-out infinite;
}
@keyframes pOrbit{to{transform:translateY(-50%) rotate(360deg);}}
@keyframes pFloat{0%,100%{transform:translateY(-50%) scale(1);}50%{transform:translateY(-53%) scale(1.04);}}
.hero-inner{z-index:2;}
.hero h1{
  background:linear-gradient(120deg,#fff7dc 0%,#f1d88f 38%,#c9a04c 70%,#f7e7b0 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  filter:drop-shadow(0 0 28px rgba(227,196,119,.28));
}
.hero-sub{color:rgba(244,236,226,.88);}
.hero .eyebrow{color:#e9cd86;}

/* ---------- Kartu kaca (umum) ---------- */
.stats-strip,.service-card,.article-card,.practice-item,.contact-form,.tpk-card,.tpk-stage li,.faq-item,.tldr,
.cta-box.soft,.portal-cta,.portal-login-card,.portal-bar,.case-card,.case-head,.tl-card,.client-docs,.case-timeline li .tl-card{
  background:var(--p-card);border:1px solid var(--p-border);
  box-shadow:var(--p-shadow);
  --mx:50%;--my:0%;
}
:root[data-theme="dark"] .stats-strip,:root[data-theme="dark"] .service-card,:root[data-theme="dark"] .article-card,
:root[data-theme="dark"] .practice-item,:root[data-theme="dark"] .contact-form,:root[data-theme="dark"] .tpk-card,
:root[data-theme="dark"] .tpk-stage li,:root[data-theme="dark"] .faq-item,:root[data-theme="dark"] .tldr,
:root[data-theme="dark"] .portal-cta,:root[data-theme="dark"] .portal-login-card,:root[data-theme="dark"] .portal-bar,
:root[data-theme="dark"] .case-card,:root[data-theme="dark"] .case-head,:root[data-theme="dark"] .tl-card,:root[data-theme="dark"] .client-docs{
  background:linear-gradient(160deg,rgba(255,236,224,.075),rgba(255,236,224,.025));
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
/* sorotan mengikuti kursor (diatur premium.js lewat --mx / --my) */
.service-card,.article-card,.practice-item,.tpk-card,.case-card,.portal-login-card,.contact-form,.stats-strip{position:relative;}
.service-card::before,.article-card::before,.practice-item::before,.tpk-card::before,.case-card::before,.portal-login-card::before,.contact-form::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1;opacity:0;
  background:radial-gradient(420px circle at var(--mx) var(--my),rgba(227,196,119,.16),transparent 60%);
  transition:opacity .35s ease;
}
.service-card:hover::before,.article-card:hover::before,.practice-item:hover::before,.tpk-card:hover::before,.case-card:hover::before,
.portal-login-card:hover::before,.contact-form:hover::before{opacity:1;}
.service-card:hover,.article-card:hover,.practice-item:hover,.tpk-card:hover,.case-card:hover{
  border-color:var(--p-border-strong);box-shadow:var(--p-shadow-hover);
}
.article-card:hover{box-shadow:var(--p-shadow-hover);}
.service-card-body,.article-body{position:relative;z-index:2;}
.service-card h3,.article-body h3,.practice-item h3,.tpk-card h3,.tpk-stage strong,.case-card h3,.tl-card h3,.faq-item summary,.portal-cta h4{color:var(--p-head);}
.service-card p,.article-body p,.practice-item p,.tpk-card p,.tpk-stage span,.case-sub,.case-summary,.tl-body,.tpk-section .intro{color:var(--p-text-2);}
.article-meta,.muted,.portal-note,.portal-help,.case-card-foot,.tl-meta,.case-num,.empty-state,.stat-label{color:var(--p-muted);}
.service-card i,.practice-item i,.service-card-icon,.tl-meta i,.portal-bar i,.portal-features i,.gbp-text p i{color:var(--p-gold-text);}
.service-card-icon{
  background:linear-gradient(135deg,#66122e,#7a0c2e);color:#f1d88f!important;
  box-shadow:0 8px 22px rgba(0,0,0,.45),0 0 0 4px var(--p-bg),0 0 22px rgba(227,196,119,.35);
}
.service-card:hover .service-card-icon{box-shadow:0 8px 26px rgba(227,196,119,.55),0 0 0 4px var(--p-bg),0 0 34px rgba(227,196,119,.6);}
.article-category,.team-card .team-role,.case-timeline time{color:var(--p-gold-text);}
.article-thumb{box-shadow:inset 0 0 0 1px rgba(227,196,119,.14);}
.article-card h3 a:hover{color:var(--p-gold-text);}

/* statistik */
.stats-strip{
  border-radius:var(--radius-lg);border:1px solid var(--p-border-strong);
  box-shadow:var(--p-shadow),0 0 60px rgba(227,196,119,.10);
}
.stat{border-color:var(--p-border);}
.stat-num{
  background:var(--p-gold-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  filter:drop-shadow(0 0 16px rgba(227,196,119,.35));
}

/* about preview */
.about-preview-visual{
  box-shadow:0 0 0 1px var(--p-border-strong),var(--p-shadow),0 0 70px rgba(227,196,119,.16);
  background:linear-gradient(135deg,#4e0818,#4a1026);
}

/* halaman dalam */
.page-hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(600px 300px at 80% 0%,rgba(227,196,119,.22),transparent 65%),
    radial-gradient(700px 360px at 0% 100%,rgba(165,26,65,.5),transparent 65%),
    linear-gradient(135deg,#4a1026,#66122e 60%,#8f1f43);
  border-bottom:1px solid var(--p-border-strong);
}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#e3c477,transparent);box-shadow:0 0 18px rgba(227,196,119,.8);}
.page-hero h1{background:linear-gradient(120deg,#fff7dc,#e3c477 60%,#f7e7b0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.page-hero .eyebrow{color:#e9cd86;}

/* band CTA & footer-ish sections */
.cta-band,.tpk-final,.partner-links,.tpk-hero,.contact-info,.cta-box:not(.soft){position:relative;overflow:hidden;}
.cta-band,.tpk-final{
  background:
    radial-gradient(600px 300px at 15% 0%,rgba(227,196,119,.20),transparent 65%),
    radial-gradient(700px 400px at 100% 100%,rgba(165,26,65,.5),transparent 65%),
    linear-gradient(135deg,#5a132c,#4a1026);
  border-top:1px solid var(--p-border-strong);border-bottom:1px solid var(--p-border-strong);
}
.cta-band h2,.tpk-final h2{background:var(--p-gold-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.tpk-hero{
  background:
    radial-gradient(ellipse at 15% 10%,rgba(227,196,119,.20),transparent 55%),
    radial-gradient(700px 500px at 90% 90%,rgba(165,26,65,.5),transparent 60%),
    linear-gradient(135deg,#3a0b1d 0%,#5a132c 60%,#7d1a3a 100%);
}
.tpk-hero h1{background:linear-gradient(120deg,#fff7dc,#e3c477 70%,#f7e7b0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.tpk-hero h1 span{-webkit-text-fill-color:#e3c477;color:#e3c477;}
.tpk-urgent{background:rgba(255,236,224,.06);border-color:var(--p-border-strong);box-shadow:var(--p-glow-gold);}
.tpk-section.alt{background:linear-gradient(180deg,var(--p-bg-2),transparent);}
:root[data-theme="dark"] .tpk-section.alt{background:linear-gradient(180deg,rgba(255,236,224,.025),transparent);}
.tpk-card i.ico{background:rgba(227,196,119,.12);color:var(--p-gold-text);box-shadow:0 0 22px rgba(227,196,119,.14);}
.tpk-card a.more,.tpk-stage a,.portal-help a,.portal-back,.gbp-text a{color:var(--p-link);}
.tpk-stage li::before{background:var(--p-gold-grad);color:#2a0a14;box-shadow:0 0 18px rgba(227,196,119,.45);}
.tpk-list li{color:var(--p-text-2);border-color:var(--p-border);}
.tpk-list li::before{color:var(--p-gold-text);}
.tpk-note{background:rgba(227,196,119,.10);border-color:rgba(227,196,119,.32);border-left-color:#e3c477;color:var(--p-text-2);}
.cta-box:not(.soft){
  background:linear-gradient(135deg,#5a132c,#8f1f43);border:1px solid var(--p-border-strong);box-shadow:var(--p-shadow),0 0 40px rgba(227,196,119,.12);
}
.cta-box.soft h3,.prose .cta-box.soft h3{color:var(--p-head);}
.cta-box.soft p{color:var(--p-text-2);}
.related-box{background:var(--p-card);border:1px solid var(--p-border);}
.tldr{border-left:4px solid #e3c477;}
.faq-item summary::after{color:var(--p-gold-text);}
.faq-item > *:not(summary){color:var(--p-text-2);}
.prose th{background:rgba(227,196,119,.12);color:var(--p-head);}
.prose th,.prose td{border-color:var(--p-border);}
.prose img{box-shadow:var(--p-shadow),0 0 0 1px var(--p-border);}

/* kontak */
.contact-info{
  background:
    radial-gradient(500px 300px at 100% 0%,rgba(227,196,119,.18),transparent 62%),
    linear-gradient(145deg,#5a132c,#4a1026);
  border:1px solid var(--p-border-strong);box-shadow:var(--p-shadow),0 0 50px rgba(227,196,119,.10);
}
.contact-info h3{background:var(--p-gold-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.contact-info i{color:#e3c477;}
.contact-info a{color:#f1d88f;}
.contact-info .portal-cta{background:rgba(255,255,255,.05);border:1px solid var(--p-border-strong);border-left:4px solid #e3c477;}
.contact-info .portal-cta h4{color:#f6e6b9;}
.contact-info .portal-cta p{color:rgba(244,236,226,.85);}
.form-group label{color:var(--p-text-2);}
.form-group input,.form-group textarea,.form-group select,.portal-form input,.client-upload-form input[type=file]{
  background:var(--p-input-bg);border:1px solid var(--p-border);color:var(--p-text);
}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--p-muted);}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{
  background:var(--p-input-bg);border-color:#e3c477;box-shadow:0 0 0 3px rgba(227,196,119,.18),0 0 24px rgba(227,196,119,.22);
}
.form-group select option{background:#4a1026;color:#f4ece2;}
.alert-success{background:rgba(31,122,69,.16);color:#7fd8a6;border-color:rgba(127,216,166,.35);}
.alert-error{background:rgba(163,39,31,.18);color:#ff9d93;border-color:rgba(255,157,147,.35);}
.alert-info{background:rgba(28,90,163,.18);color:#9cc8f5;border-color:rgba(156,200,245,.35);}
:root:not([data-theme="dark"]) .alert-success{background:#e8f6ee;color:#1e7a45;border-color:#bfe6cc;}
:root:not([data-theme="dark"]) .alert-error{background:#fdecec;color:#a3271f;border-color:#f6c7c3;}
:root:not([data-theme="dark"]) .alert-info{background:#eaf2fb;color:#1c5aa3;border-color:#c9dff6;}

/* GBP, mitra, footer */
.gbp-band{background:linear-gradient(180deg,transparent,var(--p-bg-2));border-top:1px solid var(--p-border);}
:root[data-theme="dark"] .gbp-band{background:linear-gradient(180deg,transparent,rgba(255,236,224,.025));}
.gbp-text p{color:var(--p-text-2);}
.gbp-map{background:var(--p-card);border:1px solid var(--p-border-strong);box-shadow:var(--p-shadow),0 0 50px rgba(227,196,119,.12);}
:root[data-theme="dark"] .gbp-map iframe{filter:invert(.9) hue-rotate(180deg) saturate(.7) brightness(.95) contrast(.95);}
.partner-links{
  background:
    radial-gradient(700px 300px at 50% 0%,rgba(227,196,119,.14),transparent 65%),
    linear-gradient(180deg,#4a1026,#3a0b1d);
  border-top:1px solid var(--p-border-strong);
}
.partner-grid a{backdrop-filter:blur(8px);}
.partner-grid a:hover{box-shadow:0 18px 40px rgba(0,0,0,.45),0 0 34px rgba(227,196,119,.3);}
.site-footer{
  background:linear-gradient(180deg,#3a0b1d,#2c0814);position:relative;
  border-top:1px solid var(--p-border-strong);
}
.site-footer::before{content:"";position:absolute;left:10%;right:10%;top:-1px;height:1px;background:linear-gradient(90deg,transparent,#e3c477,transparent);box-shadow:0 0 22px rgba(227,196,119,.9);}
.footer-col h4{color:#e9cd86;letter-spacing:.14em;}
.footer-col a:hover{color:#f1d88f;text-shadow:0 0 14px rgba(227,196,119,.6);}
.footer-social a{border-color:rgba(227,196,119,.35);color:#e9cd86;}
.footer-social a:hover{background:var(--p-gold-grad);color:#2a0a14;box-shadow:var(--p-glow-gold);}
.footer-brand h3{background:var(--p-gold-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.footer-bottom{border-color:rgba(227,196,119,.14);}

/* tombol melayang */
.fab-cta{background:var(--p-gold-grad);color:#2a0a14;box-shadow:0 10px 30px rgba(201,160,76,.5),0 0 40px rgba(227,196,119,.45);}
@keyframes pulse-cta{0%,100%{box-shadow:0 10px 30px rgba(201,160,76,.5),0 0 0 0 rgba(227,196,119,.55);}50%{box-shadow:0 10px 30px rgba(201,160,76,.5),0 0 0 16px rgba(227,196,119,0);}}

/* paginasi, lightbox, tim */
.pagination a{background:var(--p-card);border-color:var(--p-border);color:var(--p-text-2);}
.pagination a.active,.pagination a:hover{background:var(--p-gold-grad);color:#2a0a14;border-color:transparent;box-shadow:var(--p-glow-gold);}
.team-card h3{color:var(--p-head);}
.img-glow{box-shadow:var(--p-shadow),0 0 0 1px var(--p-border);}
.img-glow:hover{box-shadow:0 26px 64px rgba(0,0,0,.5),0 0 44px rgba(227,196,119,.45),0 0 0 1px rgba(227,196,119,.5);}
.article-featured-img{box-shadow:var(--p-shadow),0 0 0 1px var(--p-border);}
.about-video{box-shadow:var(--p-shadow),0 0 0 1px var(--p-border-strong),0 0 60px rgba(227,196,119,.14);}
.not-found h1{background:var(--p-gold-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}

/* ---------- Portal klien (Progress Perkara) ---------- */
.case-progress .bar{background:rgba(227,196,119,.12);}
.case-progress .bar i{background:linear-gradient(90deg,#7a0c2e,#e3c477);box-shadow:0 0 16px rgba(227,196,119,.55);}
.case-progress .pct{color:var(--p-gold-text);}
.case-agenda{background:linear-gradient(135deg,#5a132c,#8f1f43);border:1px solid var(--p-border-strong);box-shadow:var(--p-glow-gold);}
.case-facts div{border-color:var(--p-border);}
.case-facts dd{color:var(--p-text);}
.case-timeline{border-left-color:var(--p-border-strong);}
.case-timeline li::before{background:var(--p-bg);border-color:#e3c477;box-shadow:0 0 12px rgba(227,196,119,.6);}
.case-timeline li:first-child::before{background:#e3c477;}
.tl-file,.portal-features li{background:rgba(227,196,119,.10);color:var(--p-link);}
.tl-file:hover{background:var(--p-gold-grad);color:#2a0a14;}
.portal-bar nav a,.portal-bar nav button{color:var(--p-text-2);}
.portal-bar nav a.active,.portal-bar nav a:hover,.portal-bar nav button:hover{background:rgba(227,196,119,.16);color:var(--p-gold-text);}
.portal-bar nav a.active i,.portal-bar nav a:hover i,.portal-bar nav button:hover i{color:var(--p-gold-text);}
.portal-features strong{color:var(--p-head);}
.portal-features span{color:var(--p-text-2);}
.st-active{background:rgba(70,130,210,.2);color:#9cc8f5;}
.st-hold{background:rgba(227,160,40,.18);color:#f2c46a;}
.st-closed{background:rgba(40,160,95,.2);color:#7fd8a6;}
.client-docs{border-color:var(--p-border);}
.client-doc-list li{background:rgba(255,255,255,.04);border-color:var(--p-border);}
.client-doc-list li>i{color:var(--p-gold-text);}
.client-doc-list .cd-meta{color:var(--p-muted);}
.client-doc-list .cd-note{color:var(--p-text-2);}
.client-doc-list .cd-badge.is-new{background:rgba(227,160,40,.18);color:#f2c46a;}
.client-doc-list .cd-badge.is-reviewed{background:rgba(40,160,95,.2);color:#7fd8a6;}
.client-upload-form input[type=file]{border:1px dashed var(--p-border-strong);}
:root:not([data-theme="dark"]) .st-active{background:#e8f1fb;color:#1d4f8a;}
:root:not([data-theme="dark"]) .st-hold{background:#fff4dc;color:#8a5a00;}
:root:not([data-theme="dark"]) .st-closed{background:#e6f5ec;color:#1f7a45;}
:root:not([data-theme="dark"]) .client-doc-list li{background:#faf7f2;}
:root:not([data-theme="dark"]) .tl-file,:root:not([data-theme="dark"]) .portal-features li{background:var(--p-bg-2);color:#7a0c2e;}
:root:not([data-theme="dark"]) .case-timeline li::before{background:#fff;}
:root:not([data-theme="dark"]) .case-progress .bar{background:var(--p-bg-2);}

/* ---------- Mode terang: sentuhan premium ---------- */
:root:not([data-theme="dark"]) .main-nav a{color:#4a3a3c;}
:root:not([data-theme="dark"]) .main-nav a:hover,:root:not([data-theme="dark"]) .main-nav a.active{color:#7a0c2e!important;}
:root:not([data-theme="dark"]) .stat-num{background:linear-gradient(135deg,#7a0c2e,#b8862f 70%,#d4af6a);-webkit-background-clip:text;background-clip:text;}
:root:not([data-theme="dark"]) .eyebrow{color:#a07a2c;}
:root:not([data-theme="dark"]) .contact-info{box-shadow:var(--p-shadow),0 0 40px rgba(227,196,119,.22);}
:root:not([data-theme="dark"]) .footer-col a{color:rgba(255,255,255,.72);}

/* ---------- Menu mobile ---------- */
@media (max-width:760px){
  .main-nav{background:#0f060a;border-left:1px solid var(--p-border-strong);box-shadow:var(--p-shadow-hover);}
  :root:not([data-theme="dark"]) .main-nav{background:#fffaf1;}
  .main-nav a{color:var(--p-text-2);}
  .main-nav a::after{left:12px;right:auto;width:36px;}
  .lang-switch-nav{background:transparent!important;border-color:var(--p-border-strong)!important;}
  .lang-switch-nav a{color:var(--p-text-2)!important;}
  .theme-toggle{margin-left:auto;margin-right:8px;width:38px;height:38px;}
  .hero::before,.hero::after{opacity:.5;}
  .hero{min-height:84vh;}
}
@media (max-width:980px){.hero::after{right:-6vw;width:48vw;}.hero::before{right:-12vw;width:70vw;}}

/* ---------- Animasi masuk & aksesibilitas ---------- */
.reveal{transition:opacity .9s var(--ease),transform .9s var(--ease);}
@media (prefers-reduced-motion:reduce){
  .hero::before,.hero::after,.brand-mark-img,.fab-cta{animation:none!important;}
  .reveal{opacity:1;transform:none;}
  .btn::after{display:none;}
}
:focus-visible{outline:2px solid #e3c477;outline-offset:3px;border-radius:6px;}

/* ---------- Perbaikan lanjutan ---------- */
.topbar,.topbar-contact span,.topbar-social a{color:#f1e7d6;}
.topbar-contact i{color:#e3c477;}
.topbar-social a:hover{color:#f1d88f;}
.lang-switch a{color:#f1e7d6!important;}
.lang-switch a.active{color:#2a0a14!important;}
.hero-inner{max-width:1180px;width:100%;margin:0 auto;}
.hero-inner > *{max-width:720px;}
.hero-sub{max-width:600px;}
.hero{background:linear-gradient(180deg,#3a0b1d,#4a1026);}
.hero-bg::before{ /* transisi halus ke bagian berikutnya */
  content:"";position:absolute;left:0;right:0;bottom:0;height:160px;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,transparent,var(--p-bg));
}
:root:not([data-theme="dark"]) .hero-bg::before{background:linear-gradient(180deg,transparent,var(--p-bg));}
.contact-info .btn i,.portal-cta .btn i{color:inherit;margin-right:0;width:auto;}
.portal-form,.contact-form.portal-form{background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
.portal-form::before{display:none!important;}

/* =========================================================
   FOTO TIM — kartu potret premium (gaya "Tim Kami" HCU)
   Bingkai kaca maroon, foto potret membulat, cincin emas,
   cahaya & kilau saat hover. Markup tetap (data tidak diubah).
   ========================================================= */
.team-grid{gap:26px;align-items:stretch;}
.team-card{
  position:relative;isolation:isolate;overflow:hidden;
  padding:12px 12px 24px;border-radius:26px;text-align:center;
  background:
    radial-gradient(120% 70% at 50% 0%,rgba(227,196,119,.14),transparent 62%),
    linear-gradient(165deg,rgba(255,236,224,.08),rgba(165,26,65,.14) 55%,rgba(40,6,16,.35));
  border:1px solid var(--p-border);
  box-shadow:var(--p-shadow),inset 0 1px 0 rgba(255,236,224,.10);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s var(--ease);
}
:root:not([data-theme="dark"]) .team-card{
  background:
    radial-gradient(120% 70% at 50% 0%,rgba(227,196,119,.22),transparent 62%),
    linear-gradient(165deg,#fffdf9,#fbefe6 60%,#f6e3d6);
}
/* bingkai gradasi emas tipis di tepi kartu */
.team-card::before{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;z-index:-1;pointer-events:none;
  background:linear-gradient(150deg,rgba(247,231,176,.85),rgba(227,196,119,.15) 35%,rgba(165,26,65,.35) 70%,rgba(241,216,143,.75));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;opacity:.55;transition:opacity .5s var(--ease);
}
.team-card:hover{transform:translateY(-8px);border-color:var(--p-border-strong);box-shadow:var(--p-shadow-hover),0 0 46px rgba(227,196,119,.22);}
.team-card:hover::before{opacity:1;}

/* foto: potret 4:5, sudut membulat, tanpa tilt bawaan .img-glow */
.team-card .team-photo-wrap,
.team-card .team-photo-wrap.img-glow-round{
  position:relative;width:100%;max-width:none;aspect-ratio:4/5;margin:0 0 20px;
  border-radius:18px;overflow:hidden;transform:none!important;
  background:linear-gradient(160deg,#7d1a3a,#3a0b1d);
  box-shadow:0 14px 34px rgba(0,0,0,.45),0 0 0 1px rgba(227,196,119,.30),inset 0 0 0 1px rgba(255,236,224,.10);
  transition:box-shadow .5s var(--ease);
}
.team-card .team-photo-wrap img{
  width:100%;height:100%;object-fit:cover;object-position:50% 22%;display:block;
  filter:saturate(1.04) contrast(1.03);
  transition:transform .9s var(--ease),filter .6s var(--ease);
}
.team-card:hover .team-photo-wrap img{transform:scale(1.07);filter:saturate(1.12) contrast(1.06);}
/* gradasi maroon di bagian bawah foto */
.team-card .team-photo-wrap::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(180deg,transparent 52%,rgba(60,8,22,.55) 100%),
    linear-gradient(135deg,rgba(247,231,176,.12),transparent 38%);
}
/* kilau emas menyapu foto saat hover */
.team-card .team-photo-wrap::before{
  content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;z-index:3;pointer-events:none;opacity:0;
  background:linear-gradient(100deg,transparent,rgba(255,244,214,.38),transparent);
  transform:skewX(-18deg);
}
.team-card:hover .team-photo-wrap::before{opacity:1;animation:teamShine 1.1s var(--ease) 1;}
@keyframes teamShine{from{left:-60%;}to{left:130%;}}
.team-card:hover .team-photo-wrap{box-shadow:0 22px 48px rgba(0,0,0,.55),0 0 34px rgba(227,196,119,.40),0 0 0 1px rgba(227,196,119,.65),inset 0 0 0 1px rgba(255,236,224,.14);}

.team-card .team-avatar-placeholder{border-radius:0;font-size:84px;background:linear-gradient(160deg,#5a0f26,#1c0710);color:#e9cd86;}

.team-card h3{
  font-family:var(--p-font-display);font-size:19px;line-height:1.3;margin:0 8px 8px;
  background:var(--p-gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;
}
:root:not([data-theme="dark"]) .team-card h3{background:none;color:var(--p-head);-webkit-text-fill-color:currentColor;}
.team-card .team-role{
  display:inline-block;padding:5px 14px;border-radius:999px;font-size:11.5px;letter-spacing:.12em;
  color:var(--p-gold-text);border:1px solid var(--p-border-strong);
  background:linear-gradient(135deg,rgba(227,196,119,.14),rgba(165,26,65,.16));
}
@media (max-width:640px){.team-card .team-photo-wrap,.team-card .team-photo-wrap.img-glow-round{aspect-ratio:1/1;}}
@media (prefers-reduced-motion:reduce){.team-card:hover .team-photo-wrap::before{animation:none;opacity:0;}.team-card,.team-card:hover{transition:none;transform:none;}}
.team-card .team-photo-wrap img,.prose .team-card .team-photo-wrap img{margin:0!important;border-radius:0!important;box-shadow:none!important;max-width:none!important;position:absolute;inset:0;width:100%;height:100%;}
.prose .team-card h3{margin:0 8px 10px;}
.prose .team-card .team-role{margin:0;}
.prose .team-grid{margin:26px 0 8px;}


/* =========================================================
   GLOW KURSOR & GULIR
   ========================================================= */
.cursor-glow{
  position:fixed;left:0;top:0;width:620px;height:620px;margin:-310px 0 0 -310px;border-radius:50%;
  pointer-events:none;z-index:60;opacity:0;will-change:transform,opacity;
  background:radial-gradient(circle,rgba(255,222,140,.36) 0%,rgba(230,80,120,.20) 36%,transparent 68%);
  mix-blend-mode:screen;transition:opacity .45s ease,width .45s ease,height .45s ease,margin .45s ease;
}
.cursor-glow.on{opacity:.9;}
.cursor-glow.scrolling{opacity:1;width:720px;height:720px;margin:-360px 0 0 -360px;
  background:radial-gradient(circle,rgba(255,230,160,.5) 0%,rgba(235,90,130,.28) 40%,transparent 70%);}
:root:not([data-theme="dark"]) .cursor-glow{
  mix-blend-mode:normal;
  background:radial-gradient(circle,rgba(227,176,80,.26) 0%,rgba(190,60,95,.10) 40%,transparent 68%);
}
.scroll-glow{
  position:fixed;left:0;top:0;height:3px;width:100%;z-index:200;pointer-events:none;
  transform-origin:0 50%;transform:scaleX(0);opacity:0;transition:opacity .3s ease;
  background:linear-gradient(90deg,#8f1f43,#e3c477 55%,#fff1c2);
  box-shadow:0 0 12px rgba(247,214,130,.85),0 0 28px rgba(227,196,119,.55);
}
/* kartu & foto menyala mengikuti posisi kursor */
.team-card::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:4;opacity:0;
  background:radial-gradient(280px circle at var(--mx,50%) var(--my,0%),rgba(247,231,176,.22),transparent 62%);
  transition:opacity .35s ease;
}
.team-card:hover::after{opacity:1;}
.btn:hover,.service-card:hover,.article-card:hover,.practice-item:hover,.stat-card:hover{
  box-shadow:var(--p-shadow-hover),0 0 36px rgba(227,196,119,.30);
}
@media (hover:none){.cursor-glow{display:none;}}
@media (prefers-reduced-motion:reduce){.cursor-glow,.scroll-glow{display:none;}}

/* =========================================================
   TAHAPAN PERKARA (portal Progress Perkara) — klik per tahap
   ========================================================= */
.flow-type{font-family:inherit;font-size:.55em;font-weight:600;color:var(--p-gold-text);letter-spacing:.02em;}
.stage-steps{list-style:none;margin:16px 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:10px;counter-reset:none;}
.stage-steps .step{margin:0;padding:0;}
.stage-steps .step a{
  display:flex;align-items:center;gap:10px;padding:9px 16px 9px 9px;border-radius:100px;font-size:14px;font-weight:600;
  color:var(--p-text-2);background:var(--p-card);border:1px solid var(--p-border);box-shadow:var(--p-shadow);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease;
}
:root[data-theme="dark"] .stage-steps .step a{background:linear-gradient(160deg,rgba(255,236,224,.075),rgba(255,236,224,.025));}
.stage-steps .step a:hover{transform:translateY(-2px);border-color:var(--p-border-strong);box-shadow:var(--p-shadow-hover);color:var(--p-head);}
.stage-steps .num{
  flex:0 0 auto;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  font-size:12.5px;font-weight:800;border:2px solid var(--p-border-strong);color:var(--p-gold-text);background:transparent;
}
.stage-steps .cnt{
  min-width:22px;padding:1px 7px;border-radius:100px;text-align:center;font-size:11.5px;font-weight:800;
  background:rgba(227,196,119,.22);color:var(--p-gold-text);border:1px solid var(--p-border-strong);
}
.stage-steps .is-done .num{background:linear-gradient(135deg,#e3c477,#c9a04c);border-color:transparent;color:#3a0512;}
.stage-steps .is-current a{border-color:#e3c477;box-shadow:0 0 0 1px rgba(227,196,119,.5),0 0 26px rgba(227,196,119,.35);color:var(--p-head);}
.stage-steps .is-current .num{background:linear-gradient(135deg,#8f1236,#5a132c);border-color:#e3c477;color:#fff3cc;animation:stagePulse 2.2s ease-in-out infinite;}
.stage-steps .is-todo a{opacity:.82;}
.stage-steps .is-selected a,:root[data-theme="dark"] .stage-steps .is-selected a{background:var(--p-gold-grad);color:#3a0512;border-color:#fff3cc;box-shadow:0 0 32px rgba(227,196,119,.5);opacity:1;}
.stage-steps .is-selected .num{border-color:#4e0818;color:#4e0818;background:rgba(255,255,255,.35);}
.stage-steps .is-selected.is-done .num{background:#4e0818;color:#f6e6b9;border-color:#4e0818;}
.stage-steps .is-selected .cnt{background:rgba(78,8,24,.14);color:#4e0818;border-color:rgba(78,8,24,.4);}
.stage-steps .is-selected.is-current .num{animation:none;}
@keyframes stagePulse{0%,100%{box-shadow:0 0 0 0 rgba(227,196,119,.5);}50%{box-shadow:0 0 0 7px rgba(227,196,119,0);}}
.stage-detail{
  margin:14px 0 6px;padding:18px 22px;border-radius:var(--radius-md,14px);border:1px solid var(--p-border-strong);
  border-left:4px solid #e3c477;background:var(--p-card);box-shadow:var(--p-shadow);
}
:root[data-theme="dark"] .stage-detail{background:linear-gradient(160deg,rgba(255,236,224,.075),rgba(255,236,224,.025));}
.stage-detail h3{margin:0 0 6px;font-size:19px;color:var(--p-head);display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.stage-detail p{margin:0 0 10px;color:var(--p-text-2);font-size:15px;}
.stage-chip{font-family:'Inter',sans-serif;font-size:11.5px;font-weight:700;padding:3px 11px;border-radius:100px;border:1px solid currentColor;}
.stage-chip.is-done{color:#2e8b57;}.stage-chip.is-current{color:#e3a63c;}.stage-chip.is-todo{color:var(--p-muted);}
.stage-all{font-size:13.5px;font-weight:600;color:var(--p-link);}
.stage-all:hover{text-decoration:underline;}
.lpsk-box h4 i{color:var(--p-gold-text);margin-right:6px;}
.lpsk-box .btn-outline{margin-top:4px;color:var(--p-link);border-color:var(--p-border-strong);background:transparent;}
.lpsk-box .btn-outline:hover{background:var(--p-gold-grad);color:#3a0512;}
@media (max-width:640px){.stage-steps{gap:8px;}.stage-steps .step{width:100%;}.stage-steps .step a{width:100%;}}
@media (prefers-reduced-motion:reduce){.stage-steps .is-current .num{animation:none;}}

/* catatan status teks bebas di atas bagan tahapan */
.stage-note{display:inline-block;margin-left:.4rem;padding:.1rem .6rem;border-radius:999px;background:var(--p-surface-2,rgba(128,128,128,.12));font-size:.9em}
