/* ========== RESET & BASE ========== */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

:root {
    --gold:       #C9A84C;
    --gold-light: #E8C97A;
    --gold-dark:  #A07830;
    --black:      #0A0A0A;
    --dark:       #111111;
    --dark-2:     #1A1A1A;
    --dark-3:     #222222;
    --gray:       #888888;
    --gray-light: #CCCCCC;
    --white:      #FFFFFF;
}

html { scroll-behavior: smooth; }

body {
    font-family: 'Inter', sans-serif;
    background-color: var(--black);
    color: var(--gray-light);
    overflow-x: hidden;
}

/* ========== NAVBAR ========== */
#navbar {
    position: fixed;
    top:0; left:0; right:0;
    z-index: 1000;
    background: rgba(10,10,10,0.93);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(201,168,76,0.2);
    transition: border-color 0.3s;
}
#navbar.scrolled { border-bottom-color: rgba(201,168,76,0.4); }

.nav-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 2rem;
    height: 68px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}

.nav-logo { display:flex; align-items:center; gap:0.6rem; text-decoration:none; flex-shrink:0; position:relative; z-index:10; }
.nav-logo-icon { width:36px; height:36px; border:1.5px solid var(--gold); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--gold); font-size:0.95rem; }
.nav-logo-text { font-family:'Cinzel',serif; font-size:1.05rem; font-weight:700; color:var(--gold); letter-spacing:0.08em; }

.nav-links { list-style:none; display:flex; align-items:center; gap:0.05rem; flex:1; justify-content:center; }
.nav-links a { text-decoration:none; color:var(--gray-light); font-size:0.74rem; font-weight:500; letter-spacing:0.06em; text-transform:uppercase; padding:0.4rem 0.65rem; border-radius:4px; transition:color 0.2s,background 0.2s; white-space:nowrap; }
.nav-links a:hover, .nav-links a.active { color:var(--gold); background:rgba(201,168,76,0.08); }

.nav-auth { display:flex; align-items:center; gap:0.5rem; flex-shrink:0; position:relative; z-index:10; }

.hamburger { display:none; flex-direction:column; justify-content:center; gap:5px; background:none; border:none; cursor:pointer; padding:6px; z-index:1001; }
.hamburger span { display:block; width:24px; height:2px; background:var(--gold); border-radius:2px; transition:transform 0.3s,opacity 0.3s; transform-origin:center; }
.hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

.mobile-menu { display:none; flex-direction:column; align-items:center; background:rgba(8,8,8,0.98); border-top:1px solid rgba(201,168,76,0.15); padding-bottom:1.5rem; }
.mobile-menu.open { display:flex; }
.mobile-links { list-style:none; width:100%; text-align:center; }
.mobile-links li a { display:block; padding:0.9rem 2rem; color:var(--gray-light); text-decoration:none; font-size:0.88rem; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; border-bottom:1px solid rgba(201,168,76,0.07); transition:color 0.2s,background 0.2s; }
.mobile-links li a:hover { color:var(--gold); background:rgba(201,168,76,0.06); }
.mobile-cta { display:flex; flex-direction:column; gap:0.65rem; width:calc(100% - 3rem); max-width:320px; margin-top:1.25rem; }
.mobile-cta .btn { width:100%; justify-content:center; padding:0.85rem 1rem; font-size:0.82rem; }

/* ========== BUTTONS ========== */
.btn { display:inline-flex; align-items:center; gap:0.45rem; padding:0.6rem 1.3rem; border-radius:5px; font-size:0.8rem; font-weight:600; letter-spacing:0.05em; text-transform:uppercase; cursor:pointer; text-decoration:none; transition:all 0.25s ease; border:none; font-family:'Inter',sans-serif; }
.btn-sm { padding:0.45rem 1rem; font-size:0.74rem; }
.btn-lg { padding:0.9rem 2.2rem; font-size:0.88rem; }
.btn-outline { border:1.5px solid var(--gold); color:var(--gold); background:transparent; }
.btn-outline:hover { background:rgba(201,168,76,0.12); box-shadow:0 0 18px rgba(201,168,76,0.25); }
.btn-gold { background:linear-gradient(135deg,var(--gold-dark),var(--gold),var(--gold-light)); color:var(--black); font-weight:700; }
.btn-gold:hover { transform:translateY(-2px); box-shadow:0 6px 24px rgba(201,168,76,0.45); }
.btn-block { width:100%; justify-content:center; padding:0.85rem 1rem; font-size:0.85rem; margin-top:0.25rem; }

/* ========== HERO ========== */
#home { padding:0; margin:0; max-width:100%; display:block; width:100%; }
.hero { position:relative; width:100%; overflow:hidden; }
.slides-wrapper { display:flex; width:100%; transition:transform 0.8s cubic-bezier(0.77,0,0.175,1); will-change:transform; }
.slide { position:relative; min-width:100%; width:100%; flex-shrink:0; overflow:hidden; padding-top:68px; }
.slide img { display:block; width:100%; height:auto; max-height:90vh; object-fit:cover; object-position:center center; }
.slide::after { content:''; position:absolute; bottom:0; left:0; right:0; height:40%; background:linear-gradient(to bottom,transparent,rgba(10,10,10,0.65)); z-index:1; pointer-events:none; }

.hero-cta { position:absolute; bottom:10%; left:50%; transform:translateX(-50%); z-index:20; display:flex; gap:1rem; flex-wrap:nowrap; justify-content:center; pointer-events:auto; }
.hero-cta .btn { padding:0.9rem 2.2rem; font-size:0.88rem; }

.slider-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:20; background:rgba(201,168,76,0.12); border:1.5px solid rgba(201,168,76,0.4); color:var(--gold); width:50px; height:50px; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:1rem; transition:all 0.25s ease; backdrop-filter:blur(6px); }
.slider-arrow:hover { background:rgba(201,168,76,0.28); box-shadow:0 0 24px rgba(201,168,76,0.35); transform:translateY(-50%) scale(1.08); }
.slider-arrow.prev { left:1.5rem; }
.slider-arrow.next { right:1.5rem; }

.slider-dots { position:absolute; bottom:4%; left:50%; transform:translateX(-50%); z-index:20; display:flex; gap:0.5rem; }
.dot { width:9px; height:9px; border-radius:50%; background:rgba(201,168,76,0.3); border:1.5px solid var(--gold); cursor:pointer; transition:all 0.3s; padding:0; }
.dot.active { background:var(--gold); transform:scale(1.35); }

/* ========== SECTIONS ========== */
section { padding:90px 2rem; text-align:center; }
.section-dark { background:var(--dark); }

.section-tag { font-size:0.72rem; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold); font-weight:600; margin-bottom:0.6rem; }
.section-title { font-family:'Cinzel',serif; font-size:clamp(1.6rem,4vw,2.6rem); color:var(--white); font-weight:700; line-height:1.25; }
.section-sub { margin:1rem auto 0; font-size:0.95rem; color:var(--gray); max-width:540px; line-height:1.75; }

.gold-line { width:80px; height:2px; background:linear-gradient(90deg,transparent,var(--gold),transparent); margin:1rem auto; }

.gold-text { color:var(--gold); font-weight:600; }
.font-cinzel { font-family:'Cinzel',serif; }

/* ========== HOME CONTENT ========== */
.home-content-wrap { max-width:800px; margin:0 auto; }
.home-lead { font-size:1.05rem; color:var(--gray-light); line-height:1.8; margin-top:1.25rem; }

.home-problem { background:rgba(201,168,76,0.04); border:1px solid rgba(201,168,76,0.15); border-radius:12px; padding:2rem; margin:2.5rem auto; max-width:640px; text-align:left; }
.problem-intro { font-size:0.95rem; color:var(--gray-light); line-height:1.7; margin-bottom:1.25rem; text-align:center; }
.problem-list { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:0.65rem 1.5rem; }
.problem-list li { display:flex; align-items:center; gap:0.6rem; font-size:0.9rem; color:var(--gray-light); }
.problem-list li i { color:#e05555; font-size:0.85rem; flex-shrink:0; }

.home-solution { margin-top:2rem; display:flex; flex-direction:column; align-items:center; gap:1.5rem; }
.solution-text { font-size:1rem; color:var(--gray-light); line-height:1.8; max-width:580px; }

/* ========== MATRIX COSMIC / ABOUT ========== */
.about-wrap { max-width:860px; margin:0 auto; }
.about-lead { font-size:1rem; max-width:680px; }

.about-problem-box { background:rgba(255,255,255,0.02); border:1px solid rgba(201,168,76,0.12); border-radius:12px; padding:2rem; margin:2.5rem auto 0; max-width:700px; }
.about-problem-title { font-size:0.88rem; font-weight:600; letter-spacing:0.05em; text-transform:uppercase; color:var(--gray); margin-bottom:1.25rem; display:flex; align-items:center; justify-content:center; gap:0.5rem; }
.about-problem-title i { color:#e0a030; }
.about-tags { display:flex; flex-wrap:wrap; gap:0.6rem; justify-content:center; margin-bottom:1.25rem; }
.about-tags span { background:rgba(201,168,76,0.08); border:1px solid rgba(201,168,76,0.22); color:var(--gold-light); font-size:0.8rem; font-weight:500; padding:0.35rem 0.85rem; border-radius:20px; letter-spacing:0.04em; }
.about-problem-desc { font-size:0.88rem; color:var(--gray); line-height:1.7; font-style:italic; }

.about-arrow { margin:1.5rem auto; color:var(--gold); font-size:1.5rem; opacity:0.5; animation:bounce 1.8s infinite; }
@keyframes bounce { 0%,100%{transform:translateY(0)} 50%{transform:translateY(6px)} }

.about-solution-box { background:linear-gradient(135deg,rgba(201,168,76,0.07),rgba(201,168,76,0.03)); border:1px solid rgba(201,168,76,0.28); border-radius:12px; padding:2rem; max-width:700px; margin:0 auto; }
.about-solution-title { font-family:'Cinzel',serif; font-size:1rem; color:var(--gold); font-weight:600; margin-bottom:0.85rem; display:flex; align-items:center; justify-content:center; gap:0.6rem; }
.about-solution-title i { color:#5ec97a; }
.about-solution-desc { font-size:0.95rem; color:var(--gray-light); line-height:1.8; }

/* PVM Grid */
.pvm-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-top:3rem; text-align:left; }
.pvm-card { background:var(--dark-2); border:1px solid rgba(201,168,76,0.15); border-radius:12px; padding:1.75rem 1.5rem; transition:all 0.3s; }
.pvm-card:hover { border-color:rgba(201,168,76,0.35); transform:translateY(-3px); box-shadow:0 12px 32px rgba(201,168,76,0.08); }
.pvm-icon { width:44px; height:44px; border:1.5px solid rgba(201,168,76,0.3); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--gold); font-size:1rem; margin-bottom:1rem; }
.pvm-title { font-family:'Cinzel',serif; font-size:0.88rem; color:var(--gold); font-weight:700; letter-spacing:0.06em; margin-bottom:0.75rem; }
.pvm-list { list-style:none; display:flex; flex-direction:column; gap:0.4rem; }
.pvm-list li { font-size:0.82rem; color:var(--gray); line-height:1.55; padding-left:1rem; position:relative; }
.pvm-list li::before { content:'·'; position:absolute; left:0; color:var(--gold); }

/* Philosophy */
.philosophy-box { margin-top:2.5rem; background:rgba(201,168,76,0.04); border:1px solid rgba(201,168,76,0.18); border-radius:14px; padding:2rem 2.5rem; max-width:680px; margin-left:auto; margin-right:auto; text-align:center; }
.philosophy-quote-icon { color:var(--gold-dark); font-size:1.5rem; opacity:0.5; margin-bottom:0.75rem; display:block; }
.philosophy-text { font-size:1rem; color:var(--gray-light); line-height:1.8; font-style:italic; margin-bottom:1.25rem; }
.philosophy-tags { display:flex; flex-wrap:wrap; gap:0.5rem; justify-content:center; }
.philosophy-tags span { font-size:0.78rem; color:var(--gold); background:rgba(201,168,76,0.08); border:1px solid rgba(201,168,76,0.2); padding:0.3rem 0.85rem; border-radius:20px; display:flex; align-items:center; gap:0.4rem; }
.philosophy-tags i { font-size:0.5rem; }

/* ========== SYSTEM SECTION ========== */
.system-wrap { max-width:1100px; margin:0 auto; }

.system-flow { display:grid; grid-template-columns:1fr 40px 2fr 40px 1fr; gap:1rem; align-items:start; margin-top:2.5rem; text-align:left; }

.flow-block { background:rgba(255,255,255,0.02); border:1px solid rgba(201,168,76,0.14); border-radius:14px; padding:1.75rem; }
.flow-label { font-family:'Cinzel',serif; font-size:0.8rem; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--gray); margin-bottom:0.6rem; }
.flow-label-gold { color:var(--gold); }
.flow-label-output { color:#7ab3e0; }
.flow-sub { font-size:0.8rem; color:var(--gray); margin-bottom:1rem; line-height:1.5; }

.flow-arrow { display:flex; align-items:center; justify-content:center; color:rgba(201,168,76,0.35); font-size:1.2rem; padding-top:3rem; }

.flow-tags { display:flex; flex-wrap:wrap; gap:0.4rem; }
.flow-tags span { font-size:0.72rem; background:rgba(201,168,76,0.06); border:1px solid rgba(201,168,76,0.15); color:var(--gray-light); padding:0.25rem 0.6rem; border-radius:12px; }

/* Engine accordion layers */
.engine-layers { display:flex; flex-direction:column; gap:0.6rem; }
.engine-layer { border:1px solid rgba(201,168,76,0.14); border-radius:10px; overflow:hidden; }
.engine-layer-header { display:flex; align-items:center; gap:0.75rem; padding:0.9rem 1.1rem; cursor:pointer; background:rgba(255,255,255,0.02); transition:background 0.2s; font-size:0.82rem; font-weight:600; color:var(--gray-light); }
.engine-layer-header:hover { background:rgba(201,168,76,0.06); color:var(--gold); }
.engine-layer-header i:first-child { color:var(--gold); font-size:0.85rem; }
.engine-layer-header span { flex:1; }
.engine-chevron { color:var(--gray); font-size:0.7rem; transition:transform 0.3s; }
.engine-layer.open .engine-chevron { transform:rotate(180deg); }
.engine-layer-body { display:none; padding:1rem 1.1rem; border-top:1px solid rgba(201,168,76,0.1); }
.engine-layer.open .engine-layer-body { display:block; }
.engine-sub-item { margin-bottom:1rem; padding-bottom:1rem; border-bottom:1px solid rgba(255,255,255,0.04); }
.engine-sub-item:last-child { margin-bottom:0; padding-bottom:0; border-bottom:none; }
.engine-sub-item strong { display:block; font-size:0.82rem; color:var(--gold); font-weight:600; margin-bottom:0.35rem; }
.engine-sub-item p { font-size:0.8rem; color:var(--gray); line-height:1.65; }

/* Output */
.output-items { display:flex; flex-direction:column; gap:0.5rem; margin-bottom:1rem; }
.output-item { display:flex; align-items:center; gap:0.65rem; font-size:0.82rem; color:var(--gray-light); }
.output-item i { color:var(--gold); font-size:0.8rem; width:16px; }
.output-domains { display:flex; flex-wrap:wrap; gap:0.35rem; }
.output-domains span { font-size:0.7rem; background:rgba(122,179,224,0.07); border:1px solid rgba(122,179,224,0.2); color:#7ab3e0; padding:0.22rem 0.55rem; border-radius:10px; }

/* ========== 9 STAGES ========== */
.stages-wrap { max-width:900px; margin:0 auto; }
.stages-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:0.75rem; margin-top:2.5rem; text-align:left; }

.stage-card { display:flex; align-items:center; gap:1rem; background:rgba(255,255,255,0.02); border:1px solid rgba(201,168,76,0.14); border-radius:10px; padding:1rem 1.1rem; cursor:pointer; transition:all 0.25s ease; position:relative; overflow:hidden; }
.stage-card::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:linear-gradient(to bottom,var(--gold-dark),var(--gold)); opacity:0; transition:opacity 0.25s; }
.stage-card:hover { border-color:rgba(201,168,76,0.4); background:rgba(201,168,76,0.05); transform:translateX(4px); }
.stage-card:hover::before { opacity:1; }
.stage-num { font-family:'Cinzel',serif; font-size:1.1rem; font-weight:700; color:var(--gold-dark); min-width:32px; opacity:0.6; flex-shrink:0; }
.stage-name { font-family:'Cinzel',serif; font-size:0.85rem; color:var(--gold); font-weight:700; letter-spacing:0.06em; margin-bottom:0.25rem; }
.stage-tagline { font-size:0.78rem; color:var(--gray); line-height:1.5; }
.stage-arrow { color:rgba(201,168,76,0.3); font-size:0.75rem; flex-shrink:0; transition:color 0.2s,transform 0.2s; }
.stage-card:hover .stage-arrow { color:var(--gold); transform:translateX(3px); }
.stage-info { flex:1; }

.stages-cta { margin-top:3rem; text-align:center; display:flex; flex-direction:column; align-items:center; gap:1rem; }
.stages-cta-text { font-size:1rem; color:var(--gray-light); font-style:italic; }

/* Stage Modal */
.modal-stage { max-width:460px; text-align:center; }
.stage-modal-num { font-family:'Cinzel',serif; font-size:2.5rem; font-weight:900; color:rgba(201,168,76,0.15); line-height:1; margin-bottom:0.25rem; }
.stage-modal-tagline { font-size:1rem; color:var(--gray-light); font-style:italic; line-height:1.65; margin:1rem 0 0.75rem; }
.stage-modal-desc { font-size:0.9rem; color:var(--gray); line-height:1.75; margin-bottom:1rem; }
.stage-modal-insight { display:inline-flex; align-items:center; gap:0.5rem; background:rgba(201,168,76,0.08); border:1px solid rgba(201,168,76,0.2); border-radius:20px; padding:0.45rem 1rem; font-size:0.82rem; color:var(--gold-light); font-weight:500; margin-bottom:1.5rem; }
.stage-modal-nav { display:flex; justify-content:center; gap:0.75rem; margin-top:0.5rem; }

/* ========== 5 PILLARS ========== */
.pillars-wrap { max-width:960px; margin:0 auto; }
.pillars-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; margin-top:2.5rem; }
.pillar-card { background:var(--dark-2); border:1px solid rgba(201,168,76,0.15); border-radius:12px; padding:1.75rem 1.25rem; text-align:center; transition:all 0.3s; position:relative; overflow:hidden; }
.pillar-card::after { content:''; position:absolute; bottom:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--gold-dark),var(--gold),var(--gold-light)); opacity:0; transition:opacity 0.3s; }
.pillar-card:hover { border-color:rgba(201,168,76,0.4); transform:translateY(-5px); box-shadow:0 16px 40px rgba(201,168,76,0.1); }
.pillar-card:hover::after { opacity:1; }
.pillar-icon { font-size:2.2rem; margin-bottom:0.85rem; display:block; }
.pillar-name { font-family:'Cinzel',serif; font-size:0.95rem; color:var(--gold); font-weight:700; letter-spacing:0.08em; margin-bottom:0.6rem; }
.pillar-desc { font-size:0.8rem; color:var(--gray); line-height:1.65; }

/* ========== KEUNIKAN ========== */
.keunikan-wrap { max-width:860px; margin:0 auto; }
.keunikan-list { display:flex; flex-direction:column; gap:1rem; margin-top:2.5rem; text-align:left; }
.keunikan-item { display:grid; grid-template-columns:48px 52px 1fr; align-items:center; gap:1.25rem; background:rgba(255,255,255,0.02); border:1px solid rgba(201,168,76,0.12); border-radius:12px; padding:1.5rem 1.75rem; transition:all 0.3s ease; position:relative; overflow:hidden; }
.keunikan-item::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:linear-gradient(to bottom,var(--gold-dark),var(--gold-light)); opacity:0; transition:opacity 0.3s; }
.keunikan-item:hover { border-color:rgba(201,168,76,0.32); background:rgba(201,168,76,0.04); transform:translateX(4px); }
.keunikan-item:hover::before { opacity:1; }
.keunikan-num { font-family:'Cinzel',serif; font-size:1.4rem; font-weight:900; color:rgba(201,168,76,0.18); line-height:1; }
.keunikan-icon { width:48px; height:48px; border:1.5px solid rgba(201,168,76,0.25); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--gold); font-size:1.1rem; background:rgba(201,168,76,0.06); flex-shrink:0; transition:all 0.3s; }
.keunikan-item:hover .keunikan-icon { background:rgba(201,168,76,0.12); border-color:rgba(201,168,76,0.5); }
.keunikan-title { font-family:'Cinzel',serif; font-size:0.95rem; color:var(--gold); font-weight:700; letter-spacing:0.04em; margin-bottom:0.4rem; }
.keunikan-desc { font-size:0.875rem; color:var(--gray); line-height:1.7; }

/* ========== PROGRAMS ========== */
.programs-wrap { max-width:900px; margin:0 auto; }
.level-block { margin-top:3.5rem; text-align:left; }
.level-badge { display:inline-block; background:linear-gradient(135deg,var(--gold-dark),var(--gold)); color:var(--black); font-family:'Cinzel',serif; font-size:0.7rem; font-weight:700; letter-spacing:0.18em; padding:0.3rem 1rem; border-radius:20px; margin-bottom:0.6rem; }
.level-badge-2 { background:linear-gradient(135deg,#4a6fa5,#7ab3e0); }
.level-badge-3 { background:linear-gradient(135deg,#7c4da5,#b87ae0); }
.level-title { font-family:'Cinzel',serif; font-size:1.5rem; color:var(--white); font-weight:700; margin-bottom:1.5rem; padding-bottom:0.75rem; border-bottom:1px solid rgba(201,168,76,0.15); }
.program-group { margin-bottom:2rem; }
.program-group-title { font-size:0.82rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold); margin-bottom:1rem; display:flex; align-items:center; gap:0.5rem; }
.program-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:0.75rem; margin-bottom:1rem; }
.program-card { display:flex; align-items:center; gap:1rem; background:rgba(255,255,255,0.03); border:1px solid rgba(201,168,76,0.12); border-radius:8px; padding:0.85rem 1.1rem; transition:all 0.25s; }
.program-card:hover { border-color:rgba(201,168,76,0.35); background:rgba(201,168,76,0.05); transform:translateX(4px); }
.program-num { font-family:'Cinzel',serif; font-size:0.75rem; font-weight:700; color:var(--gold-dark); min-width:24px; opacity:0.7; }
.program-name { font-size:0.88rem; color:var(--gray-light); line-height:1.4; font-weight:500; }
.program-results { display:flex; flex-wrap:wrap; align-items:center; gap:0.5rem 1rem; padding:0.85rem 1.1rem; background:rgba(201,168,76,0.04); border:1px solid rgba(201,168,76,0.1); border-radius:8px; margin-top:0.5rem; }
.result-label { font-size:0.72rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold); margin-right:0.25rem; }
.result-item { font-size:0.82rem; color:var(--gray-light); display:flex; align-items:center; gap:0.35rem; }
.result-item i { color:#5ec97a; font-size:0.7rem; }
.epc-box { margin-top:3.5rem; background:linear-gradient(135deg,rgba(201,168,76,0.08),rgba(201,168,76,0.03)); border:1px solid rgba(201,168,76,0.3); border-radius:14px; padding:2.5rem 2rem; text-align:center; }
.epc-icon { width:56px; height:56px; border:1.5px solid var(--gold); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--gold); font-size:1.3rem; margin:0 auto 1.1rem; }
.epc-title { font-family:'Cinzel',serif; font-size:1.2rem; color:var(--gold); font-weight:700; margin-bottom:0.75rem; }
.epc-desc { font-size:0.9rem; color:var(--gray); line-height:1.8; max-width:560px; margin:0 auto 1.5rem; }

/* ========== SCHEDULE ========== */
.schedule-wrap { max-width:960px; margin:0 auto; }
.schedule-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-top:2.5rem; }
.schedule-card { background:var(--dark-2); border:1px solid rgba(201,168,76,0.14); border-radius:14px; padding:1.75rem 1.5rem; display:flex; flex-direction:column; align-items:flex-start; gap:1rem; position:relative; transition:all 0.3s ease; text-align:left; overflow:hidden; }
.schedule-card:hover { border-color:rgba(201,168,76,0.38); transform:translateY(-5px); box-shadow:0 16px 48px rgba(201,168,76,0.1); }
.schedule-badge { position:absolute; top:1.1rem; right:1.1rem; font-size:0.65rem; font-weight:700; letter-spacing:0.14em; padding:0.25rem 0.65rem; border-radius:20px; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12); color:var(--gray-light); }
.schedule-badge-gold { background:rgba(201,168,76,0.12); border-color:rgba(201,168,76,0.35); color:var(--gold); }
.schedule-icon { width:52px; height:52px; border-radius:14px; background:rgba(201,168,76,0.07); border:1px solid rgba(201,168,76,0.2); display:flex; align-items:center; justify-content:center; font-size:1.25rem; color:var(--gold); flex-shrink:0; }
.schedule-paid .schedule-icon { background:linear-gradient(135deg,rgba(201,168,76,0.15),rgba(201,168,76,0.05)); border-color:rgba(201,168,76,0.35); }
.schedule-body { flex:1; }
.schedule-title { font-family:'Cinzel',serif; font-size:0.95rem; color:var(--white); font-weight:700; margin-bottom:0.5rem; line-height:1.35; padding-right:2.5rem; }
.schedule-desc { font-size:0.82rem; color:var(--gray); line-height:1.65; margin-bottom:0.85rem; }
.schedule-meta { display:flex; flex-wrap:wrap; gap:0.4rem 0.85rem; }
.schedule-meta span { font-size:0.75rem; color:var(--gray); display:flex; align-items:center; gap:0.35rem; }
.schedule-meta i { color:var(--gold-dark); font-size:0.7rem; }
.schedule-btn { width:100%; justify-content:center; margin-top:auto; }
.schedule-cta { margin-top:2.5rem; text-align:center; }

/* ========== FREE ========== */
.free-wrap { max-width:960px; margin:0 auto; }
.free-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-top:2.5rem; }
.free-card { background:var(--dark-2); border:1px solid rgba(201,168,76,0.14); border-radius:14px; padding:2rem 1.5rem; display:flex; flex-direction:column; align-items:center; gap:0.85rem; text-align:center; transition:all 0.3s; }
.free-card:hover { border-color:rgba(201,168,76,0.38); transform:translateY(-4px); box-shadow:0 12px 36px rgba(201,168,76,0.1); }
.free-card-highlight { background:linear-gradient(135deg,rgba(201,168,76,0.08),rgba(201,168,76,0.03)); border-color:rgba(201,168,76,0.28); }
.free-icon { width:56px; height:56px; border:1.5px solid rgba(201,168,76,0.3); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--gold); font-size:1.3rem; }
.free-title { font-family:'Cinzel',serif; font-size:0.95rem; color:var(--gold); font-weight:700; }
.free-desc { font-size:0.83rem; color:var(--gray); line-height:1.65; flex:1; }

/* ========== FOUNDERS ========== */
.founders-wrap { max-width:900px; margin:0 auto; }
.founders-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; margin-top:2.5rem; text-align:left; }
.founder-card { background:var(--dark-2); border:1px solid rgba(201,168,76,0.15); border-radius:14px; padding:2rem; display:flex; flex-direction:column; gap:1.1rem; transition:all 0.3s; }
.founder-card:hover { border-color:rgba(201,168,76,0.35); transform:translateY(-3px); box-shadow:0 12px 36px rgba(201,168,76,0.08); }
.founder-avatar { width:72px; height:72px; border:2px solid rgba(201,168,76,0.35); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--gold); font-size:1.8rem; background:rgba(201,168,76,0.06); }
.founder-name { font-family:'Cinzel',serif; font-size:1rem; color:var(--white); font-weight:700; }
.founder-roles { display:flex; flex-direction:column; gap:0.25rem; }
.founder-roles span { font-size:0.75rem; color:var(--gold); font-weight:500; letter-spacing:0.04em; }
.founder-bio { font-size:0.83rem; color:var(--gray); line-height:1.7; }

/* ========== CONTACT ========== */
.contact-links { display:flex; justify-content:center; gap:1.25rem; flex-wrap:wrap; margin-top:2rem; }
.contact-link { display:flex; flex-direction:column; align-items:center; gap:0.5rem; color:var(--gray); text-decoration:none; font-size:0.78rem; letter-spacing:0.06em; text-transform:uppercase; transition:color 0.2s,transform 0.2s; }
.contact-link i { font-size:1.5rem; color:var(--gold-dark); transition:color 0.2s; }
.contact-link:hover { color:var(--gold); transform:translateY(-3px); }
.contact-link:hover i { color:var(--gold); }

/* ========== FINAL CTA ========== */
.final-cta-section { background:var(--dark); }
.final-cta-wrap { max-width:640px; margin:0 auto; }
.final-cta-sub { font-size:0.95rem; color:var(--gray); margin-top:1.5rem; }
.final-cta-tags { display:flex; flex-wrap:wrap; gap:0.6rem; justify-content:center; margin:1rem 0; }
.final-cta-tags span { background:rgba(201,168,76,0.08); border:1px solid rgba(201,168,76,0.22); color:var(--gold-light); font-size:0.82rem; padding:0.35rem 0.95rem; border-radius:20px; display:flex; align-items:center; gap:0.45rem; }
.final-cta-tags i { color:#5ec97a; font-size:0.7rem; }
.final-cta-note { font-size:0.95rem; color:var(--gray-light); font-style:italic; margin-bottom:2rem; }
.final-cta-btns { display:flex; flex-wrap:wrap; gap:0.85rem; justify-content:center; }

/* ========== FOOTER ========== */
footer { background:var(--dark); border-top:1px solid rgba(201,168,76,0.15); padding:3rem 2rem; text-align:center; }
.footer-logo { font-family:'Cinzel',serif; font-size:1.4rem; color:var(--gold); font-weight:700; letter-spacing:0.1em; margin-bottom:0.4rem; }
footer > p { font-size:0.8rem; color:var(--gray); }
.footer-nav { display:flex; flex-wrap:wrap; justify-content:center; gap:0.25rem 0.5rem; margin-top:1.25rem; }
.footer-nav a { text-decoration:none; color:var(--gray); font-size:0.75rem; letter-spacing:0.06em; text-transform:uppercase; padding:0.25rem 0.6rem; border-radius:4px; transition:color 0.2s; }
.footer-nav a:hover { color:var(--gold); }
.footer-socials { display:flex; justify-content:center; gap:1rem; margin-top:1.25rem; }
.footer-socials a { color:var(--gray); font-size:1.1rem; text-decoration:none; transition:color 0.2s,transform 0.2s; }
.footer-socials a:hover { color:var(--gold); transform:translateY(-2px); }
footer .gold-line { margin-top:1.5rem; }
.footer-copy { margin-top:1rem; font-size:0.75rem; color:var(--gray); }

/* ========== MODAL ========== */
.modal-overlay { position:fixed; inset:0; z-index:2000; background:rgba(0,0,0,0.75); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center; padding:1rem; opacity:0; pointer-events:none; transition:opacity 0.25s ease; }
.modal-overlay.active { opacity:1; pointer-events:auto; }
.modal { background:var(--dark-2); border:1px solid rgba(201,168,76,0.25); border-radius:14px; padding:2.5rem 2rem; width:100%; max-width:400px; max-height:90vh; overflow-y:auto; position:relative; transform:translateY(20px); transition:transform 0.25s ease; box-shadow:0 24px 80px rgba(0,0,0,0.6),0 0 40px rgba(201,168,76,0.08); }
.modal-overlay.active .modal { transform:translateY(0); }
.modal-close { position:absolute; top:1rem; right:1rem; background:none; border:none; color:var(--gray); font-size:1.1rem; cursor:pointer; width:32px; height:32px; display:flex; align-items:center; justify-content:center; border-radius:50%; transition:color 0.2s,background 0.2s; }
.modal-close:hover { color:var(--gold); background:rgba(201,168,76,0.1); }
.modal-logo { width:48px; height:48px; border:1.5px solid var(--gold); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--gold); font-size:1.2rem; margin:0 auto 1.25rem; }
.modal-title { font-family:'Cinzel',serif; font-size:1.4rem; color:var(--white); font-weight:700; text-align:center; margin-bottom:0.3rem; }
.modal-sub { font-size:0.82rem; color:var(--gray); text-align:center; margin-bottom:1.75rem; }
.form-group { margin-bottom:1.1rem; }
.form-group label { display:block; font-size:0.75rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:var(--gray-light); margin-bottom:0.4rem; }
.form-group input { width:100%; padding:0.72rem 1rem; background:rgba(255,255,255,0.04); border:1px solid rgba(201,168,76,0.2); border-radius:6px; color:var(--white); font-family:'Inter',sans-serif; font-size:0.88rem; outline:none; transition:border-color 0.2s,box-shadow 0.2s; }
.form-group input::placeholder { color:var(--gray); }
.form-group input:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(201,168,76,0.12); }
.modal-switch { text-align:center; font-size:0.8rem; color:var(--gray); margin-top:1.25rem; }
.link-btn { background:none; border:none; color:var(--gold); cursor:pointer; font-size:0.8rem; font-family:'Inter',sans-serif; font-weight:600; text-decoration:underline; text-underline-offset:2px; padding:0; transition:color 0.2s; }
.link-btn:hover { color:var(--gold-light); }

/* ========== RESPONSIVE ========== */
@media (max-width: 1024px) {
    .system-flow { grid-template-columns:1fr; }
    .flow-arrow { transform:rotate(90deg); padding:0; height:30px; }
    .pvm-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 900px) {
    .nav-links { display:none; }
    .nav-auth  { display:none; }
    .hamburger { display:flex; }

    .hero-cta { bottom:8%; gap:0.6rem; }
    .hero-cta .btn { padding:0.72rem 1.2rem; font-size:0.76rem; }
    .slider-arrow { width:40px; height:40px; font-size:0.85rem; }
    .slider-arrow.prev { left:0.75rem; }
    .slider-arrow.next { right:0.75rem; }

    .pillars-grid { grid-template-columns:repeat(3,1fr); }
    .schedule-grid { grid-template-columns:1fr; max-width:480px; margin-left:auto; margin-right:auto; }
    .free-grid { grid-template-columns:1fr; max-width:420px; margin-left:auto; margin-right:auto; }
    .founders-grid { grid-template-columns:1fr; max-width:480px; margin-left:auto; margin-right:auto; }
    section { padding:70px 1.25rem; }
}

@media (max-width: 600px) {
    .problem-list { grid-template-columns:1fr; }
    .pvm-grid { grid-template-columns:1fr; }
    .pillars-grid { grid-template-columns:repeat(2,1fr); }
    .keunikan-item { grid-template-columns:36px 44px 1fr; gap:0.85rem; padding:1.1rem 1.25rem; }
    .keunikan-num { font-size:1rem; }
    .program-cards { grid-template-columns:1fr; }
    .stages-grid { grid-template-columns:1fr; }
    .final-cta-btns { flex-direction:column; align-items:center; }
    .hero-cta { flex-direction:column; align-items:center; bottom:14%; gap:0.5rem; }
    .hero-cta .btn { width:80%; justify-content:center; }
}

@media (max-width: 480px) {
    .keunikan-num { display:none; }
    .keunikan-item { grid-template-columns:44px 1fr; }
    .pillars-grid { grid-template-columns:1fr 1fr; }
}