:root{
  --pcc-black:#0b0b0f;
  --pcc-black-2:#111118;
  --pcc-gold:#d4af37;
  --pcc-gold-2:#b8891a;
  --pcc-text:#ffffff;
  --pcc-muted: rgba(255,255,255,.72);
}

html,body{ background: var(--pcc-black); color: var(--pcc-text); }
body{
  background:
    radial-gradient(900px 500px at 15% 10%, rgba(212,175,55,.10), transparent 55%),
    radial-gradient(900px 500px at 85% 30%, rgba(212,175,55,.06), transparent 60%),
    linear-gradient(180deg, var(--pcc-black), var(--pcc-black-2));
}
a{ color: var(--pcc-text); }
.text-muted{ color: var(--pcc-muted) !important; }

.pcc-nav{
  background: rgba(10,10,14,.70) !important;
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(212,175,55,.18) !important;
}
.brand-logo{
  height: 54px;
  width: auto;
  filter: drop-shadow(0 10px 30px rgba(212,175,55,.18)) drop-shadow(0 8px 22px rgba(0,0,0,.35));
}
.brand-text strong{ color:#fff !important; font-weight: 900; }
.brand-text small{ color: rgba(212,175,55,.85) !important; }
.navbar .nav-link{
  color: rgba(255,255,255,.82) !important;
  border-radius: .75rem;
}
.navbar .nav-link:hover{
  color: rgba(255,255,255,.95) !important;
  background: rgba(212,175,55,.08);
}

.btn-primary{
  background: linear-gradient(135deg, var(--pcc-gold), var(--pcc-gold-2));
  border: none;
  color: #141414;
  font-weight: 900;
}
.btn-outline-primary{
  border-color: rgba(212,175,55,.55);
  color: rgba(255,255,255,.90);
}
.btn-outline-primary:hover{
  background: rgba(212,175,55,.12);
  border-color: rgba(212,175,55,.80);
  color: rgba(255,255,255,.95);
}

.section-eyebrow{
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .76rem;
  color: rgba(212,175,55,.85);
}
.section-title{ font-weight: 900; }
.pcc-gold{ color: var(--pcc-gold); }

/* HERO */
.pcc-hero{
  position: relative;
  min-height: calc(100vh - 74px);
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#000;
}
.pcc-hero__video{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  transform: scale(1.02);
  filter: saturate(1.08) contrast(1.05);
  z-index:0;
}
.pcc-hero__overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(900px 540px at 50% 35%, rgba(0,0,0,.06), rgba(0,0,0,.44) 62%, rgba(0,0,0,.62)),
    linear-gradient(180deg, rgba(0,0,0,.22), rgba(0,0,0,.68));
  z-index:1;
}
.pcc-hero__grain{
  position:absolute; inset:0;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E");
  mix-blend-mode: overlay;
  opacity: .12;
  z-index:2;
  pointer-events:none;
}
.pcc-hero__content{ position: relative; z-index:3; padding: 60px 0 55px; }
.pcc-hero--center .pcc-hero__content{ text-align:center; }

.pcc-title{ letter-spacing:-0.02em; text-shadow: 0 14px 55px rgba(0,0,0,.55); }
.pcc-lead{ color: rgba(255,255,255,.80); max-width: 860px; }

.pcc-centerLogoWrap{ display:flex; justify-content:center; }
.pcc-centerLogo{
  width: min(520px, 86vw);
  height: auto;
  filter: drop-shadow(0 26px 110px rgba(212,175,55,.25)) drop-shadow(0 14px 55px rgba(0,0,0,.65));
}

.pcc-pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(212,175,55,.32);
  background: rgba(0,0,0,.28);
  box-shadow: 0 12px 40px rgba(212,175,55,.08);
  color: rgba(255,255,255,.92);
  font-size: .92rem;
  max-width: 860px;
}
#slideText{ transition: opacity .22s ease; font-weight: 800; }
#slideText.fade-out{ opacity: .35; }

/* CRISP mini cards (fix blur issue) */
.pcc-miniCard--crisp{
  background: rgba(0,0,0,.45) !important;
  border: 1px solid rgba(212,175,55,.22) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: 0 16px 50px rgba(0,0,0,.60);
}
.pcc-miniTitle{
  font-size: 1.05rem;
  font-weight: 900;
  color: rgba(255,255,255,.98);
}
.pcc-miniSub{
  margin-top: 4px;
  font-size: .92rem;
  font-weight: 800;
  color: rgba(212,175,55,.90);
}

/* Page cards (crisp, no blur) */
.pcc-courseCard{
  background: rgba(0,0,0,.32) !important;
  border: 1px solid rgba(212,175,55,.22) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: 0 18px 60px rgba(0,0,0,.45);
}
.pcc-courseCta{
  background: rgba(0,0,0,.36) !important;
  border: 1px solid rgba(212,175,55,.22) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.pcc-infoBox{
  border: 1px solid rgba(212,175,55,.18);
  background: rgba(0,0,0,.28);
  border-radius: 14px;
  padding: 14px;
}
.pcc-boxTitle{
  color: #fff;
  font-weight: 900;
  margin-bottom: 6px;
}

.pcc-details{
  border: 1px solid rgba(212,175,55,.16);
  border-radius: 12px;
  padding: 10px 12px;
  margin-bottom: 10px;
  background: rgba(0,0,0,.22);
}
.pcc-summary{
  cursor: pointer;
  color: rgba(255,255,255,.94);
  font-weight: 900;
}
.pcc-summary::marker{ color: rgba(212,175,55,.85); }

.pcc-inputIcon{
  background: rgba(0,0,0,.18) !important;
  border: 1px solid rgba(212,175,55,.18) !important;
  color: rgba(212,175,55,.95) !important;
}
mark.pcc-mark{
  background: rgba(212,175,55,.35);
  color: #fff;
  padding: 0 .2rem;
  border-radius: .25rem;
}

.pcc-footer{
  background: rgba(10,10,14,.55);
  backdrop-filter: blur(10px);
  border-top: 1px solid rgba(212,175,55,.18) !important;
}

@media (max-width: 768px){
  .pcc-hero__content{ padding: 40px 0 40px; }
  .pcc-centerLogo{ width: min(420px, 92vw); }
}