/* =========================================================
   PAGER KANCANA INDONESIA — DESIGN SYSTEM v2
   Garang. Hitam pekat, merah darah, emas tajam.
========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700;800;900&family=Inter:wght@400;500;600;700;800;900&display=swap');

:root{
  --red: #B31217;
  --red-bright: #E51A20;
  --red-deep: #6E0B0F;
  --black: #0A0705;
  --black-2: #171009;
  --black-3: #211609;
  --gold: #C9A227;
  --gold-bright: #F0C445;
  --bronze: #8C6A1F;
  --cream: #F2E9D3;
  --muted: #B7A688;
  --muted-dim: #8A7A5E;

  --font-display: 'Cinzel', serif;
  --font-body: 'Inter', sans-serif;

  --radius: 2px;
  --shadow-lift: 0 22px 50px -18px rgba(0,0,0,0.75);
  --shadow-glow: 0 0 0 1px rgba(201,162,39,.25), 0 18px 40px -14px rgba(179,18,23,.35);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  background:var(--black);
  color:var(--cream);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.container{max-width:1120px;margin:0 auto;padding:0 20px;}

h1,h2,h3,.font-display{font-family:var(--font-display);letter-spacing:.01em;color:var(--cream);}

.eyebrow{
  font-family:var(--font-body);
  font-weight:800;
  font-size:.72rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--red-bright);
}

/* ---------- Motif divider (garis khas — taji tajam merah/emas) ---------- */
.motif-divider{
  height:16px;
  width:100%;
  background:
    linear-gradient(135deg, var(--red-bright) 25%, transparent 25.5%) 0 0/22px 22px,
    linear-gradient(225deg, var(--gold) 25%, transparent 25.5%) 0 0/22px 22px,
    linear-gradient(45deg, var(--red-bright) 25%, transparent 25.5%) 11px 0/22px 22px,
    linear-gradient(315deg, var(--gold) 25%, transparent 25.5%) 11px 0/22px 22px;
  background-color: var(--black);
}
.motif-divider.dark{opacity:1;}

/* ---------- Lambang / seal (elemen signature) ---------- */
.seal{
  width:72px;height:72px;border-radius:50%;
  border:2px solid var(--gold);
  display:flex;align-items:center;justify-content:center;
  position:relative;
  background:radial-gradient(circle at 35% 25%, var(--red-deep), var(--black) 75%);
  flex-shrink:0;
  box-shadow:0 0 0 3px var(--black), 0 0 22px -4px rgba(229,26,32,.55);
}
.seal::before{
  content:"";
  position:absolute;inset:6px;
  border:1px solid var(--gold);
  border-radius:50%;
  opacity:.6;
}
.seal span{
  font-family:var(--font-display);
  font-weight:800;
  color:var(--gold-bright);
  font-size:1.35rem;
  letter-spacing:.02em;
}

/* ---------- Header / Nav ---------- */
.site-header{
  background:var(--black);
  color:var(--cream);
  position:sticky;top:0;z-index:50;
  border-bottom:3px solid var(--red-bright);
  box-shadow:0 2px 0 var(--gold);
}
.site-header .bar{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 0;
}
.brand{display:flex;align-items:center;gap:12px;}
.brand-name{font-family:var(--font-display);font-size:1.05rem;font-weight:800;line-height:1.15;color:var(--cream);}
.brand-name small{display:block;font-family:var(--font-body);font-weight:700;font-size:.68rem;letter-spacing:.16em;color:var(--red-bright);text-transform:uppercase;margin-top:2px;}
.brand .seal{width:44px;height:44px;}
.brand .seal span{font-size:.85rem;}

nav.main-nav{display:flex;gap:4px;align-items:center;}
nav.main-nav a{
  padding:8px 14px;font-size:.86rem;font-weight:700;
  border-radius:0;
  color:var(--muted);
}
nav.main-nav a:hover, nav.main-nav a.active{color:var(--gold-bright);}

.nav-toggle{display:none;background:none;border:1px solid var(--gold);color:var(--gold-bright);padding:8px 12px;border-radius:0;font-size:1.1rem;}

@media (max-width:820px){
  nav.main-nav{
    position:fixed;inset:0 0 0 auto;width:78%;max-width:320px;
    background:var(--black);
    flex-direction:column;align-items:flex-start;
    padding:80px 24px 24px;
    transform:translateX(100%);
    transition:transform .3s ease;
    border-left:3px solid var(--red-bright);
  }
  nav.main-nav.open{transform:translateX(0);}
  nav.main-nav a{width:100%;padding:12px 0;border-bottom:1px solid rgba(201,162,39,.15);}
  .nav-toggle{display:block;}
}

/* ---------- Hero ---------- */
.hero{
  background:
    radial-gradient(ellipse 60% 50% at 85% 0%, rgba(179,18,23,.35), transparent 60%),
    radial-gradient(ellipse 50% 40% at 5% 100%, rgba(201,162,39,.12), transparent 60%),
    linear-gradient(180deg, var(--black) 0%, var(--black-2) 100%);
  color:var(--cream);
  padding:68px 0 60px;
  border-bottom:1px solid rgba(201,162,39,.2);
}
.hero .grid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;}
.hero h1{font-size:clamp(2.2rem,4.8vw,3.6rem);line-height:1.06;margin:14px 0 18px;color:var(--cream);font-weight:800;}
.hero h1 em{font-style:normal;color:var(--red-bright);}
.hero p.lead{font-size:1.05rem;line-height:1.65;color:var(--muted);max-width:52ch;}
.hero-actions{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap;}
.hero-photo{
  aspect-ratio:4/5;overflow:hidden;
  border:2px solid var(--red-bright);box-shadow:var(--shadow-glow);
  background:linear-gradient(160deg,var(--red-deep),var(--black));
  clip-path: polygon(0 0, 100% 0, 100% 92%, 92% 100%, 0 100%);
}
.hero-photo img{width:100%;height:100%;object-fit:cover;}
@media (max-width:820px){.hero .grid{grid-template-columns:1fr;}.hero-photo{order:-1;max-width:320px;margin:0 auto;}}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 26px;font-weight:800;font-size:.86rem;
  letter-spacing:.04em;border-radius:0;border:2px solid transparent;
  cursor:pointer;text-transform:uppercase;
}
.btn-gold{background:var(--gold);color:var(--black);border-color:var(--gold);}
.btn-gold:hover{background:var(--gold-bright);}
.btn-outline{border-color:var(--gold);color:var(--gold-bright);background:transparent;}
.btn-outline:hover{background:rgba(201,162,39,.12);}
.btn-maroon{background:var(--red-bright);color:var(--cream);border-color:var(--red-bright);}
.btn-maroon:hover{background:var(--red);}

/* ---------- Sections ---------- */
section{padding:58px 0;}
.section-head{margin-bottom:32px;}
.section-head h2{font-size:1.9rem;margin:8px 0 6px;color:var(--cream);font-weight:800;}
.section-head p{color:var(--muted);max-width:60ch;}
.section-foot{margin-top:28px;}

/* ---------- Cards ---------- */
.card-grid{display:grid;gap:22px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}}

.card{
  background:var(--black-2);border:1px solid rgba(201,162,39,.22);
  border-top:3px solid var(--red-bright);
  border-radius:0;overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift);border-top-color:var(--gold-bright);}
.card-media{aspect-ratio:16/10;background:var(--black-3);overflow:hidden;}
.card-media img{width:100%;height:100%;object-fit:cover;}
.card-body{padding:18px 18px 20px;}
.card-body .cat{font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--red-bright);}
.card-body h3{font-size:1.08rem;margin:8px 0 8px;line-height:1.3;font-family:var(--font-body);font-weight:800;color:var(--cream);}
.card-body p{color:var(--muted);font-size:.9rem;line-height:1.55;margin:0;}
.card-body .meta{font-size:.76rem;color:var(--muted-dim);margin-top:10px;}

/* ---------- Schedule table ---------- */
.schedule-table{width:100%;border-collapse:collapse;background:var(--black-2);border:1px solid rgba(201,162,39,.22);border-radius:0;overflow:hidden;box-shadow:var(--shadow-lift);}
.schedule-table th{
  background:var(--red-deep);color:var(--gold-bright);
  text-align:left;padding:14px 16px;font-size:.72rem;
  letter-spacing:.14em;text-transform:uppercase;font-weight:800;
}
.schedule-table td{padding:14px 16px;border-bottom:1px solid rgba(201,162,39,.12);font-size:.92rem;color:var(--cream);}
.schedule-table tr:last-child td{border-bottom:none;}
.schedule-table td.day{font-family:var(--font-display);font-weight:800;color:var(--red-bright);}

/* ---------- Trainer / achievement ---------- */
.trainer-card{text-align:center;background:var(--black-2);border-radius:0;padding:28px 18px;border:1px solid rgba(201,162,39,.22);border-bottom:3px solid var(--gold);}
.trainer-photo{width:120px;height:120px;border-radius:50%;overflow:hidden;margin:0 auto 14px;border:3px solid var(--red-bright);background:var(--black-3);}
.trainer-photo img{width:100%;height:100%;object-fit:cover;}
.trainer-card h3{font-family:var(--font-body);font-size:1.02rem;margin:0 0 4px;color:var(--cream);font-weight:800;}
.trainer-card .rank{color:var(--gold-bright);font-size:.82rem;font-weight:700;margin-bottom:8px;}
.trainer-card p{font-size:.86rem;color:var(--muted);line-height:1.5;}

.achieve-item{
  display:flex;gap:16px;background:var(--black-2);border:1px solid rgba(201,162,39,.22);
  border-left:3px solid var(--red-bright);
  border-radius:0;padding:16px;align-items:flex-start;
}
.achieve-badge{
  width:46px;height:46px;border-radius:50%;flex-shrink:0;
  background:var(--red-bright);color:var(--cream);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:800;font-size:.8rem;
}
.achieve-item h4{margin:0 0 4px;font-size:.96rem;color:var(--cream);}
.achieve-item .lvl{font-size:.78rem;color:var(--gold-bright);font-weight:800;text-transform:uppercase;letter-spacing:.06em;}
.achieve-item p{margin:6px 0 0;font-size:.86rem;color:var(--muted);}

/* ---------- Gallery ---------- */
.gal-item{position:relative;aspect-ratio:1/1;overflow:hidden;border-radius:0;background:var(--black-3);cursor:pointer;border:1px solid rgba(201,162,39,.18);}
.gal-item img,.gal-item video{width:100%;height:100%;object-fit:cover;transition:transform .3s ease;}
.gal-item:hover img,.gal-item:hover video{transform:scale(1.06);}
.gal-item .play{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(10,7,5,.4);color:var(--gold-bright);font-size:2rem;
}

/* ---------- Footer ---------- */
footer.site-footer{
  background:var(--black);color:var(--muted);
  padding:48px 0 24px;
  border-top:3px solid var(--red-bright);
}
footer.site-footer .grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;}
footer.site-footer h4{color:var(--gold-bright);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px;font-family:var(--font-body);font-weight:800;}
footer.site-footer p, footer.site-footer a{font-size:.88rem;line-height:1.7;color:var(--muted);}
footer.site-footer a:hover{color:var(--gold-bright);}
.footer-bottom{margin-top:36px;padding-top:20px;border-top:1px solid rgba(201,162,39,.18);font-size:.78rem;color:var(--muted-dim);text-align:center;}
@media (max-width:700px){footer.site-footer .grid{grid-template-columns:1fr;}}

/* ---------- Empty / loading states ---------- */
.state-msg{padding:40px 20px;text-align:center;color:var(--muted-dim);font-size:.92rem;}

/* ---------- Utility ---------- */
.tag-cat{
  display:inline-block;padding:5px 12px;border-radius:0;
  background:var(--red-bright);color:var(--cream);
  font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
}
