/* ============================================
   RAMINDU RANDENI LEADERSHIP ACADEMY
   Design System — Core Tokens & Components
   ============================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* --- TOKENS --- */
:root{
  --gold:#B8922A;--gold-light:#D4A843;--gold-pale:#C4A45A;
  --charcoal:#141414;--charcoal-2:#1E1E1E;--charcoal-3:#2A2A2A;
  --warm-white:#F5F0E8;--text-muted:#A89F8C;
  --font-display:'Cormorant Garamond',serif;
  --font-body:'Jost',sans-serif;
  --nav-h:72px;
  --radius:0px;
  --transition:0.3s ease;
}
html{scroll-behavior:smooth}
body{background:var(--charcoal);color:var(--warm-white);font-family:var(--font-body);font-weight:300;overflow-x:hidden;min-height:100vh}

/* --- TYPOGRAPHY --- */
.section-tag{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);font-weight:400;margin-bottom:20px;display:block}
.section-title{font-family:var(--font-display);font-size:clamp(40px,5vw,66px);font-weight:300;line-height:1.08;color:var(--warm-white);margin-bottom:16px}
.section-title em{font-style:italic;color:var(--gold)}
.section-body{font-size:16px;font-weight:300;color:var(--text-muted);line-height:1.9;max-width:580px}

/* --- BUTTONS --- */
.btn-primary{background:var(--gold);color:var(--charcoal);padding:16px 44px;font-family:var(--font-body);font-size:12px;letter-spacing:2.5px;text-transform:uppercase;font-weight:500;cursor:pointer;border:none;text-decoration:none;display:inline-block;transition:all var(--transition)}
.btn-primary:hover{background:var(--gold-light);transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--warm-white);border:1px solid rgba(245,240,232,0.3);padding:16px 44px;font-family:var(--font-body);font-size:12px;letter-spacing:2.5px;text-transform:uppercase;font-weight:400;cursor:pointer;text-decoration:none;display:inline-block;transition:all var(--transition)}
.btn-outline:hover{border-color:var(--gold);color:var(--gold)}

/* --- NAV --- */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 60px;height:var(--nav-h);background:rgba(14,14,14,0.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(184,146,42,0.15)}
.nav-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0}
.nav-logo img{height:54px;width:auto;object-fit:contain;transition:opacity 0.3s}
.nav-logo:hover img{opacity:0.82}
.nav-links{display:flex;gap:30px;list-style:none;align-items:center}
.nav-links a{color:var(--text-muted);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;font-weight:400;transition:color 0.3s;cursor:pointer}
.nav-links a:hover,.nav-links a.active{color:var(--gold)}
.nav-cta{background:transparent;border:1px solid var(--gold);color:var(--gold);padding:10px 26px;font-family:var(--font-body);font-size:11px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all 0.3s;text-decoration:none;white-space:nowrap}
.nav-cta:hover{background:var(--gold);color:var(--charcoal)}
.nav-right{display:flex;align-items:center;gap:20px}
.nav-user-btn{background:none;border:1px solid rgba(184,146,42,0.3);color:var(--gold-pale);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s;text-decoration:none}
.nav-user-btn:hover{border-color:var(--gold);background:rgba(184,146,42,0.08)}
.nav-user-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.5}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}
.hamburger span{display:block;width:22px;height:1px;background:var(--gold);transition:all 0.3s}

/* --- MOBILE MENU --- */
.mobile-menu{display:none;position:fixed;top:var(--nav-h);left:0;right:0;background:rgba(14,14,14,0.97);backdrop-filter:blur(16px);z-index:999;border-bottom:1px solid rgba(184,146,42,0.2);padding:20px 0}
.mobile-menu.open{display:block}
.mobile-menu ul{list-style:none}
.mobile-menu li{border-bottom:1px solid rgba(184,146,42,0.08)}
.mobile-menu a{display:block;padding:18px 32px;color:var(--text-muted);font-size:12px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:color 0.3s}
.mobile-menu a:hover{color:var(--gold)}

/* --- SECTIONS --- */
section,.section-wrap{padding:100px 60px}
.section-inner{max-width:1200px;margin:0 auto}

/* --- PAGE BANNERS --- */
.page-banner{position:relative;padding:110px 60px 80px;text-align:center;overflow:hidden;border-bottom:1px solid rgba(184,146,42,0.15)}
.page-banner::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 60%,rgba(184,146,42,0.05) 0%,transparent 70%)}
.page-banner-tag{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);font-weight:400;display:block;margin-bottom:20px}
.page-banner-title{font-family:var(--font-display);font-size:clamp(44px,7vw,88px);font-weight:300;line-height:1.05;color:var(--warm-white);margin-bottom:16px}
.page-banner-title em{font-style:italic;color:var(--gold)}
.page-banner-sub{font-size:16px;font-weight:300;color:var(--text-muted);line-height:1.8;max-width:540px;margin:0 auto}
.page-banner-divider{display:flex;align-items:center;gap:20px;justify-content:center;margin-top:40px}
.pbd-line{width:80px;height:1px;background:rgba(184,146,42,0.3)}
.pbd-diamond{width:7px;height:7px;background:var(--gold);transform:rotate(45deg)}

/* --- STATS BAR --- */
.stats-bar{background:var(--charcoal-3);border-top:1px solid rgba(184,146,42,0.2);border-bottom:1px solid rgba(184,146,42,0.2);padding:44px 60px}
.stats-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.stat-num{font-family:var(--font-display);font-size:clamp(40px,5vw,60px);font-weight:600;color:var(--gold);display:block;line-height:1}
.stat-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-top:8px;display:block}

/* --- QUOTE BAND --- */
.quote-band{background:var(--charcoal-2);padding:80px 60px;text-align:center;border-top:1px solid rgba(184,146,42,0.12);border-bottom:1px solid rgba(184,146,42,0.12)}
.quote-text{font-family:var(--font-display);font-size:clamp(24px,4vw,44px);font-weight:300;font-style:italic;color:var(--warm-white);line-height:1.4;max-width:900px;margin:0 auto 20px}
.quote-attr{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}

/* --- FEATURED BAR --- */
.featured-bar{background:var(--charcoal-2);border-bottom:1px solid rgba(184,146,42,0.12);padding:0 60px}
.featured-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center}
.featured-label{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:rgba(168,159,140,0.45);white-space:nowrap;padding:28px 40px 28px 0;border-right:1px solid rgba(184,146,42,0.15);margin-right:48px;flex-shrink:0}
.featured-logos{display:flex;align-items:center;gap:52px;flex-wrap:wrap;padding:24px 0}
.featured-logo{font-family:var(--font-display);font-size:22px;font-weight:600;color:rgba(168,159,140,0.28);letter-spacing:1px;text-transform:uppercase;transition:color 0.4s;cursor:default;white-space:nowrap}
.featured-logo:hover{color:rgba(184,146,42,0.55)}

/* --- CARDS (PROGRAMS) --- */
.programs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;margin-top:60px}
.program-card{position:relative;overflow:hidden;background:var(--charcoal-2);padding:64px 52px;cursor:pointer;transition:all 0.4s;border:1px solid rgba(184,146,42,0.08)}
.program-card::before{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:scaleX(0);transition:transform 0.4s}
.program-card:hover::before{transform:scaleX(1)}
.program-card:hover{background:var(--charcoal-3);transform:translateY(-4px)}
.program-num{font-family:var(--font-display);font-size:12px;color:rgba(184,146,42,0.4);letter-spacing:3px;margin-bottom:16px;display:block}
.program-name-primary{font-family:var(--font-body);font-size:clamp(26px,2.8vw,36px);font-weight:600;color:var(--gold);letter-spacing:3px;text-transform:uppercase;line-height:1.1;margin-bottom:12px;border-left:3px solid var(--gold);padding-left:16px}
.program-tag{display:inline-block;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--text-muted);border:1px solid rgba(184,146,42,0.2);padding:5px 14px;margin-bottom:16px}
.program-title{font-family:var(--font-display);font-size:clamp(30px,3vw,46px);font-weight:700;color:var(--warm-white);line-height:1.1;margin-bottom:10px}
.program-motto{font-family:var(--font-display);font-size:17px;font-style:italic;color:var(--gold-pale);margin-bottom:14px}
.program-duration{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-pale);font-weight:400;margin-bottom:18px;display:block}
.program-desc{font-size:15px;font-weight:300;color:var(--text-muted);line-height:1.8;margin-bottom:24px}
.program-pillars{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.pillar-tag{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;background:rgba(184,146,42,0.06);border:1px solid rgba(184,146,42,0.18);color:var(--gold-pale);padding:6px 12px}
.program-cta{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);font-weight:500;text-decoration:none}
.program-arrow{width:32px;height:1px;background:var(--gold);position:relative;transition:transform 0.3s}
.program-arrow::after{content:'';position:absolute;right:-1px;top:-3px;width:6px;height:6px;border-right:1px solid var(--gold);border-top:1px solid var(--gold);transform:rotate(45deg)}
.program-card:hover .program-arrow{transform:translateX(8px)}
.program-price{font-family:var(--font-display);font-size:28px;font-weight:600;color:var(--gold);margin-bottom:16px}
.program-price small{font-size:14px;font-weight:300;color:var(--text-muted)}

/* --- REVIEWS --- */
.reviews-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:56px}
.review-card{background:var(--charcoal-3);border:1px solid rgba(184,146,42,0.12);padding:52px 48px;position:relative;transition:border-color 0.3s}
.review-card:hover{border-color:rgba(184,146,42,0.35)}
.review-card::before{content:'"';font-family:var(--font-display);font-size:110px;color:rgba(184,146,42,0.09);position:absolute;top:12px;left:32px;line-height:1;pointer-events:none}
.review-stars{display:flex;gap:4px;margin-bottom:20px}
.star{color:var(--gold);font-size:16px}
.review-text{font-family:var(--font-display);font-size:clamp(17px,2vw,24px);font-weight:300;font-style:italic;color:var(--warm-white);line-height:1.55;margin-bottom:32px;padding-left:8px}
.review-author{display:flex;align-items:center;gap:16px}
.review-avatar{width:46px;height:46px;border-radius:50%;background:rgba(184,146,42,0.12);border:1px solid rgba(184,146,42,0.28);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--gold);flex-shrink:0}
.review-name{font-weight:500;font-size:14px;color:var(--warm-white);display:block}
.review-role{font-size:12px;color:var(--text-muted);letter-spacing:0.5px}

/* --- FORMS --- */
.form-group{margin-bottom:24px}
.form-label{display:block;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-pale);margin-bottom:10px;font-weight:400}
.form-input,.form-select,.form-textarea{width:100%;background:var(--charcoal-3);border:1px solid rgba(184,146,42,0.15);color:var(--warm-white);font-family:var(--font-body);font-size:15px;font-weight:300;padding:14px 18px;outline:none;transition:border-color 0.3s;-webkit-appearance:none;border-radius:0}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:rgba(184,146,42,0.6)}
.form-textarea{resize:none;height:110px}
::placeholder{color:rgba(168,159,140,0.4)}
.form-submit{width:100%;background:var(--gold);border:none;color:var(--charcoal);padding:16px;font-family:var(--font-body);font-size:12px;letter-spacing:2.5px;text-transform:uppercase;font-weight:500;cursor:pointer;transition:background 0.3s;margin-top:8px}
.form-submit:hover{background:var(--gold-light)}
.form-submit:disabled{opacity:0.5;cursor:not-allowed}
.form-error{color:#e74c3c;font-size:12px;margin-top:6px;display:none}
.form-error.show{display:block}

/* --- FOOTER --- */
footer{background:var(--charcoal-2);padding:60px;border-top:1px solid rgba(184,146,42,0.15);text-align:center}
.footer-logo{display:block;margin:0 auto 16px}
.footer-logo img{height:80px;width:auto;object-fit:contain;opacity:0.9}
.footer-tagline{font-size:13px;color:var(--text-muted);letter-spacing:1px;margin-bottom:36px}
.gold-line{width:60px;height:1px;background:var(--gold);margin:0 auto 36px}
.footer-socials{display:flex;gap:14px;justify-content:center;margin-bottom:32px}
.footer-social{width:40px;height:40px;border:1px solid rgba(184,146,42,0.22);display:flex;align-items:center;justify-content:center;text-decoration:none;transition:all 0.3s}
.footer-social:hover{border-color:var(--gold);background:rgba(184,146,42,0.08)}
.footer-social svg{width:16px;height:16px;stroke:var(--gold-pale);fill:none;stroke-width:1.5;transition:stroke 0.3s}
.footer-social:hover svg{stroke:var(--gold)}
.footer-links{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;list-style:none;margin-bottom:32px}
.footer-links a{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);text-decoration:none;transition:color 0.3s}
.footer-links a:hover{color:var(--gold)}
.footer-admin{margin-top:20px;padding-top:20px;border-top:1px solid rgba(184,146,42,0.08)}
.footer-admin a{font-size:10px;letter-spacing:1px;color:rgba(168,159,140,0.25);text-decoration:none;transition:color 0.3s}
.footer-admin a:hover{color:var(--gold-pale)}
.footer-copy{font-size:12px;color:rgba(168,159,140,0.35)}

/* --- TOAST --- */
.toast{position:fixed;bottom:30px;right:30px;z-index:9999;background:var(--charcoal-3);border:1px solid var(--gold);color:var(--warm-white);padding:16px 28px;font-size:14px;font-weight:300;opacity:0;transform:translateY(20px);transition:all 0.4s;pointer-events:none;font-family:var(--font-body)}
.toast.show{opacity:1;transform:translateY(0)}

/* --- REVEAL ANIMATION --- */
.reveal{opacity:0;transform:translateY(40px);transition:opacity 0.8s ease,transform 0.8s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
@keyframes fadeUp{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}
@keyframes pageFade{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

/* --- UTILITY --- */
.page-content{padding-top:var(--nav-h);min-height:100vh;animation:pageFade 0.5s ease both}
.container{max-width:1200px;margin:0 auto;padding:0 60px}
.text-center{text-align:center}
.mt-60{margin-top:60px}
.mb-32{margin-top:32px}

/* --- RESPONSIVE --- */
@media(max-width:900px){
  nav{padding:0 24px}
  .nav-links{display:none}
  .hamburger{display:flex}
  section,.section-wrap{padding:70px 24px}
  .page-banner{padding:80px 24px 60px}
  .featured-bar,.stats-bar,.quote-band{padding-left:24px;padding-right:24px}
  .programs-grid,.reviews-grid{grid-template-columns:1fr}
  .stats-inner{grid-template-columns:repeat(2,1fr);gap:28px}
  .program-card{padding:40px 24px}
  .container{padding:0 24px}
  .featured-inner{flex-direction:column;align-items:flex-start}
  .featured-label{border-right:none;border-bottom:1px solid rgba(184,146,42,0.15);padding:18px 0;margin-right:0;margin-bottom:16px;width:100%}
  .featured-logos{gap:28px}
  footer{padding:40px 24px}
}
