:root{
  --navy:#0d1f4c; --navy2:#132a63; --gold:#d4a017; --gold-light:#f0c75e;
  --red:#8b1a1a; --white:#ffffff; --cream:#faf6ec;
}
*{margin:0;padding:0;box-sizing:border-box;font-family:Georgia,'Times New Roman',serif}
body{background:var(--navy);color:var(--white);line-height:1.6}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}

/* NAV */
nav{background:var(--navy2);border-bottom:3px solid var(--gold);position:sticky;top:0;z-index:100;box-shadow:0 3px 12px rgba(0,0,0,.4)}
.nav-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:10px 20px;flex-wrap:wrap}
.nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--gold-light);font-weight:bold;font-size:1.05rem}
.nav-brand .mini-seal{width:38px;height:38px;border-radius:50%;background:radial-gradient(circle,var(--gold-light),var(--gold));display:flex;align-items:center;justify-content:center;color:var(--navy);font-size:20px}
.nav-links{display:flex;gap:4px;flex-wrap:wrap;list-style:none}
.nav-links a{color:#dfe4f2;text-decoration:none;padding:8px 14px;border-radius:8px;font-size:.95rem}
.nav-links a:hover{background:rgba(212,160,23,.2);color:var(--gold-light)}
.nav-links a.active{background:var(--gold);color:var(--navy);font-weight:bold}
.nav-links a.reg{border:2px solid var(--gold);color:var(--gold-light)}
.nav-links a.reg:hover{background:var(--gold);color:var(--navy)}

/* HERO */
header.hero{background:linear-gradient(160deg,var(--navy) 0%,var(--navy2) 55%,#1a2f6e 100%);text-align:center;padding:56px 20px 44px;border-bottom:4px solid var(--gold)}
.seal{width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,var(--gold-light),var(--gold));display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:52px;box-shadow:0 0 30px rgba(212,160,23,.5)}
header.hero h1{font-size:1.9rem;letter-spacing:2px;color:var(--gold-light)}
header.hero h2{font-size:2.4rem;margin:10px 0;color:var(--white)}
header.hero .tag{color:var(--gold);font-size:1.1rem;letter-spacing:3px;text-transform:uppercase}
header.hero p.sub{max-width:640px;margin:18px auto 0;color:#dfe4f2}
.page-head{background:linear-gradient(160deg,var(--navy),var(--navy2));text-align:center;padding:44px 20px 34px;border-bottom:3px solid var(--gold)}
.page-head h1{color:var(--gold-light);font-size:2.2rem}
.page-head p{color:#c9d2ea;margin-top:6px}
.director{display:inline-block;background:var(--red);padding:12px 30px;border-radius:8px;margin-top:24px;border:2px solid var(--gold)}
.director small{color:var(--gold-light);letter-spacing:2px}
.director strong{display:block;font-size:1.2rem}
.cta-row{margin-top:28px}
.btn{display:inline-block;padding:14px 34px;border-radius:40px;font-size:1.05rem;font-weight:bold;text-decoration:none;cursor:pointer;border:none;margin:6px}
.btn-gold{background:linear-gradient(180deg,var(--gold-light),var(--gold));color:var(--navy)}
.btn-outline{background:transparent;color:var(--gold-light);border:2px solid var(--gold)}
.btn:hover{filter:brightness(1.1)}
.hero-portrait{width:170px;height:170px;border-radius:50%;object-fit:cover;border:4px solid var(--gold);box-shadow:0 0 30px rgba(212,160,23,.5);margin:20px auto 0;display:block}

/* SECTIONS */
section{padding:52px 0}
.sec-title{text-align:center;font-size:2rem;color:var(--gold-light);margin-bottom:8px}
.sec-sub{text-align:center;color:#c9d2ea;margin-bottom:32px}
.rule{width:90px;height:3px;background:var(--gold);margin:12px auto 30px}

/* CARDS */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px}
.card{background:var(--navy2);border:1px solid rgba(212,160,23,.35);border-radius:12px;padding:26px}
.card .ico{font-size:2rem;margin-bottom:10px}
.card h3{color:var(--gold-light);margin-bottom:8px}
.card p{color:#dfe4f2;font-size:.97rem}
.zoom-card{border:2px solid var(--gold);background:linear-gradient(160deg,#132a63,#1a2f6e)}

/* PRICING */
.price-box{max-width:760px;margin:0 auto;background:var(--navy);border:2px solid var(--gold);border-radius:16px;padding:40px;text-align:center}
.price-big{font-size:3.4rem;color:var(--gold-light);font-weight:bold}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:28px 0}
.plan{background:var(--navy2);border:1px solid rgba(212,160,23,.4);border-radius:10px;padding:18px}
.plan strong{color:var(--gold-light);font-size:1.25rem;display:block}
.plan span{font-size:.9rem;color:#c9d2ea}
.pay-note{font-size:.85rem;color:#aeb8d6;margin-top:14px}

/* TABLES */
table{width:100%;border-collapse:collapse;background:var(--navy2);border-radius:12px;overflow:hidden;font-size:.93rem}
th{background:var(--gold);color:var(--navy);padding:13px 10px;text-align:left}
td{padding:13px 10px;border-bottom:1px solid rgba(212,160,23,.2);color:#e7ebf7;vertical-align:top}
tr.hl td{background:rgba(139,26,26,.35);font-weight:bold}
td a{color:var(--gold-light)}
.tbl-scroll{overflow-x:auto}

/* FORM */
.form-page{background:var(--cream);color:var(--navy)}
.form-page .sec-title{color:var(--navy)}
.form-page .sec-sub{color:#40507e}
form{max-width:720px;margin:0 auto;background:var(--white);border-radius:14px;padding:36px;box-shadow:0 8px 30px rgba(0,0,0,.25)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:640px){.row{grid-template-columns:1fr}}
label{display:block;font-weight:bold;margin:14px 0 5px;font-size:.92rem}
input,select,textarea{width:100%;padding:11px;border:1.5px solid #bcc6dd;border-radius:8px;font-size:1rem;font-family:inherit}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold)}
.submit-btn{width:100%;margin-top:24px;padding:16px;font-size:1.15rem;background:linear-gradient(180deg,var(--gold-light),var(--gold));color:var(--navy);font-weight:bold;border:none;border-radius:40px;cursor:pointer}
.submit-btn:hover{filter:brightness(1.08)}
.confirm{display:none;margin-top:18px;background:#e8f6e8;border:1.5px solid #2e7d32;color:#1b5e20;padding:16px;border-radius:10px;text-align:center}

/* BIO */
.bio-flex{display:grid;grid-template-columns:340px 1fr;gap:34px;align-items:start}
@media(max-width:820px){.bio-flex{grid-template-columns:1fr}}
.bio-photos img{width:100%;border-radius:12px;border:2px solid var(--gold);margin-bottom:16px;display:block}
.bio-photos figcaption{font-size:.8rem;color:#aeb8d6;margin:-10px 0 16px;text-align:center}
.bio-text p{color:#dfe4f2;margin-bottom:14px}
.bio-text h3{color:var(--gold-light);margin:18px 0 6px}
.bio-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.badge{background:var(--red);border:1px solid var(--gold);border-radius:20px;padding:5px 14px;font-size:.8rem}

/* ZOOM CENTER */
.zoom-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
@media(max-width:760px){.zoom-grid{grid-template-columns:1fr}}
.zoom-room{background:var(--navy);border:2px solid var(--gold);border-radius:16px;padding:30px;text-align:center}
.zoom-room h3{color:var(--gold-light);font-size:1.4rem;margin-bottom:6px}
.zoom-room .zico{font-size:2.6rem}
.zoom-room p{color:#c9d2ea;font-size:.95rem;margin:10px 0}
.live-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#2ecc71;margin-right:6px;animation:pulse 1.5s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.zoom-btn{display:inline-block;background:#2d8cff;color:#fff;font-weight:bold;padding:13px 30px;border-radius:40px;text-decoration:none;margin-top:8px}
.zoom-btn:hover{filter:brightness(1.12)}
.zoom-meta{background:var(--navy2);border-radius:10px;padding:12px;margin-top:14px;font-size:.88rem;color:#dfe4f2;text-align:left}
.zoom-meta b{color:var(--gold-light)}
.schedule{max-width:760px;margin:34px auto 0}

/* ===== ANIMATION & ENERGY ===== */
@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes kenburns{0%{transform:scale(1) translate(0,0)}100%{transform:scale(1.15) translate(-2%,2%)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:translateY(0)}}
@keyframes shimmer{0%{background-position:-200% center}100%{background-position:200% center}}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes glowPulse{0%,100%{box-shadow:0 0 18px rgba(212,160,23,.4)}50%{box-shadow:0 0 38px rgba(212,160,23,.85)}}
@keyframes rays{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes tickerMove{from{transform:translateX(0)}to{transform:translateX(-50%)}}

header.hero{background:linear-gradient(-45deg,#0d1f4c,#132a63,#1a2f6e,#0d1f4c);background-size:300% 300%;animation:gradientShift 14s ease infinite;position:relative;overflow:hidden}
.hero-rays{position:absolute;top:-46%;left:50%;width:1200px;height:1200px;margin-left:-600px;pointer-events:none;opacity:.14;
  background:conic-gradient(from 0deg, transparent 0deg 14deg, var(--gold-light) 14deg 18deg, transparent 18deg 32deg, var(--gold-light) 32deg 36deg, transparent 36deg 50deg, var(--gold-light) 50deg 54deg, transparent 54deg 68deg, var(--gold-light) 68deg 72deg, transparent 72deg 86deg, var(--gold-light) 86deg 90deg, transparent 90deg 104deg, var(--gold-light) 104deg 108deg, transparent 108deg 360deg);
  border-radius:50%;animation:rays 60s linear infinite}
header.hero .seal{animation:floatY 5s ease-in-out infinite, glowPulse 4s ease-in-out infinite}
header.hero h2{background:linear-gradient(90deg,var(--white) 30%,var(--gold-light) 50%,var(--white) 70%);background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 5s linear infinite}
.hero-inner{position:relative;z-index:2}
.btn-gold{animation:glowPulse 3.2s ease-in-out infinite}

/* Philadelphia skyline */
.skyline{display:block;width:100%;height:110px;margin-bottom:-6px;position:relative;z-index:2}
.skyline path{fill:#091536}
.skyline .lit{fill:var(--gold);opacity:.9}

/* Scripture ticker */
.ticker-bar{background:var(--red);border-top:2px solid var(--gold);border-bottom:2px solid var(--gold);overflow:hidden;white-space:nowrap;position:relative}
.ticker-track{display:inline-block;padding:11px 0;animation:tickerMove 60s linear infinite}
.ticker-track span{color:#ffe9b0;font-size:.95rem;margin:0 34px}
.ticker-track b{color:#fff}

/* Ken Burns showcase */
.showcase{position:relative;max-width:1000px;margin:0 auto;height:460px;border-radius:16px;overflow:hidden;border:3px solid var(--gold);box-shadow:0 14px 44px rgba(0,0,0,.55)}
.showcase .slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease}
.showcase .slide.on{opacity:1}
.showcase .slide img{width:100%;height:100%;object-fit:cover;animation:kenburns 9s ease-out forwards}
.showcase .cap{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(9,21,54,.92));padding:44px 26px 18px;color:var(--gold-light);font-size:1.05rem;z-index:3}
@media(max-width:700px){.showcase{height:300px}}

/* University stats */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:18px;max-width:900px;margin:0 auto}
.stat{background:var(--navy2);border:1px solid rgba(212,160,23,.4);border-radius:14px;padding:24px 12px;text-align:center}
.stat .num{font-size:2.6rem;font-weight:bold;color:var(--gold-light)}
.stat .lbl{color:#c9d2ea;font-size:.9rem;margin-top:4px}

/* Crest / motto */
.crest-band{background:linear-gradient(-45deg,#132a63,#1a2f6e,#0d1f4c,#132a63);background-size:300% 300%;animation:gradientShift 16s ease infinite;
  border-top:3px solid var(--gold);border-bottom:3px solid var(--gold);text-align:center;padding:52px 20px}
.crest-band .motto-latin{font-size:2rem;color:var(--gold-light);letter-spacing:3px;font-style:italic}
.crest-band .motto-eng{color:#dfe4f2;margin-top:8px;letter-spacing:2px;text-transform:uppercase;font-size:.95rem}
.crest-band .founded{margin-top:16px;color:var(--gold);font-size:.9rem;letter-spacing:4px}

/* Prayer card */
.prayer{max-width:760px;margin:0 auto;background:var(--navy2);border:2px solid var(--gold);border-radius:16px;padding:40px;text-align:center;position:relative;overflow:hidden}
.prayer:before{content:'✝';position:absolute;font-size:14rem;color:rgba(212,160,23,.06);top:50%;left:50%;transform:translate(-50%,-55%)}
.prayer h3{color:var(--gold-light);font-size:1.5rem;margin-bottom:16px}
.prayer p{color:#e7ebf7;font-style:italic;line-height:1.9;position:relative}
.prayer .amen{color:var(--gold-light);font-weight:bold;margin-top:14px;font-style:normal;letter-spacing:3px}

/* Scroll reveal */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s ease}
.reveal.vis{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none !important;transition:none !important}
  .reveal{opacity:1;transform:none}
}

footer{text-align:center;padding:34px 20px;border-top:3px solid var(--gold);color:#c9d2ea;font-size:.9rem;background:var(--navy2)}
footer strong{color:var(--gold-light)}
footer .foot-links{margin-top:10px}
footer .foot-links a{color:var(--gold-light);text-decoration:none;margin:0 8px;font-size:.85rem}
