/* ============================================================
   FOSTERING HOPE RVA — programs.css (page-specific, shared chrome lives in home.css)
   Design & Develop By American Softec
   ============================================================ */

   HERO
============================================================ */
.prog-hero{position:relative;min-height:calc(82vh - var(--hh) - var(--tbh));display:flex;align-items:center;justify-content:center;overflow:hidden;}
.ph-bg{position:absolute;inset:0;}
.ph-bg-img{width:100%;height:100%;object-fit:cover;object-position:center 40%;transform:scale(1.05);animation:bgKen 18s ease-in-out infinite alternate;}
.ph-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(8,20,42,0.92) 0%,rgba(15,37,64,0.82) 50%,rgba(8,20,42,0.90) 100%);}
.ph-lines{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.phl{position:absolute;background:linear-gradient(90deg,transparent,rgba(212,146,14,0.16),transparent);height:1px;}
.phl1{top:32%;width:100%;animation:scanLine 9s ease-in-out infinite;}
.phl2{top:66%;width:60%;left:40%;animation:scanLine 12s ease-in-out 2s infinite reverse;}
.ph-content{position:relative;z-index:2;width:100%;max-width:860px;margin:0 auto;padding:80px 28px 100px;display:flex;flex-direction:column;align-items:center;text-align:center;}
.ph-breadcrumb{display:inline-flex;align-items:center;gap:8px;font-size:0.72rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,255,255,0.42);margin-bottom:24px;opacity:0;animation:fadeUp 0.7s var(--ease) 0.1s forwards;}
.ph-breadcrumb a{color:rgba(255,255,255,0.52);transition:color var(--fast);}
.ph-breadcrumb a:hover{color:var(--gold-bright);}
.ph-breadcrumb i{font-size:0.55rem;color:rgba(255,255,255,0.22);}
.ph-breadcrumb span{color:var(--gold-bright);}
.ph-eyebrow{display:inline-flex;align-items:center;gap:10px;background:rgba(212,146,14,0.14);border:1px solid rgba(212,146,14,0.32);color:var(--gold-bright);font-size:0.72rem;font-weight:600;letter-spacing:0.13em;text-transform:uppercase;padding:8px 20px;border-radius:var(--r-pill);margin-bottom:24px;opacity:0;animation:fadeUp 0.7s var(--ease) 0.25s forwards;}
.ph-headline{font-family:var(--font-serif);font-size:clamp(4rem,10vw,7rem);font-weight:700;line-height:1.0;letter-spacing:-0.02em;margin-bottom:24px;}
.ph-w{display:block;color:var(--white);opacity:0;transform:translateY(40px);animation:wordIn 0.75s var(--ease) forwards;}
.ph-w1{animation-delay:0.38s;}
.ph-w2{animation-delay:0.54s;color:var(--gold-bright);font-style:italic;}
.ph-sub{max-width:560px;font-size:clamp(0.95rem,2vw,1.08rem);line-height:1.80;color:rgba(255,255,255,0.70);font-weight:300;margin-bottom:44px;opacity:0;animation:fadeUp 0.7s var(--ease) 0.85s forwards;}
.ph-count-row{display:flex;align-items:center;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.13);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--r-lg);padding:18px 0;width:100%;max-width:520px;opacity:0;animation:fadeUp 0.7s var(--ease) 1.05s forwards;}
.ph-count{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;padding:0 24px;text-align:center;}
.ph-count strong{font-family:var(--font-serif);font-size:2rem;font-weight:700;color:var(--gold-bright);line-height:1;}
.ph-count span{font-size:0.68rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:rgba(255,255,255,0.48);}
.ph-div{width:1px;height:40px;background:rgba(255,255,255,0.14);flex-shrink:0;}
.ph-scroll{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;animation:fadeUp 0.7s var(--ease) 1.4s forwards;z-index:2;}
.ph-scroll span{font-size:0.63rem;letter-spacing:0.16em;text-transform:uppercase;color:rgba(255,255,255,0.35);}
.ph-mouse{width:22px;height:35px;border-radius:11px;border:1.5px solid rgba(255,255,255,0.22);display:flex;justify-content:center;padding-top:6px;}
.ph-wheel{width:3px;height:7px;border-radius:2px;background:var(--gold-bright);animation:scrollWheel 2s ease infinite;}

/* ============================================================
   INTRO STRIP
============================================================ */
.intro-strip{background:var(--gold);padding:26px 0;}
.intro-strip p{font-size:0.97rem;line-height:1.75;color:rgba(255,255,255,0.92);text-align:center;max-width:760px;margin:0 auto;font-weight:400;}

/* ============================================================
   PROGRAM DETAIL SECTIONS
============================================================ */
.prog-detail{padding:100px 0 80px;background:var(--white);}
.prog-detail:nth-of-type(even){background:var(--off-white);}
.pd-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.prog-detail-flip .pd-grid{direction:rtl;}
.prog-detail-flip .pd-grid > *{direction:ltr;}

/* Image column */
.pd-img-col{}
.pd-img-wrap{position:relative;border-radius:var(--r-lg);overflow:visible;margin-bottom:16px;}
.pd-img{width:100%;height:480px;object-fit:cover;border-radius:var(--r-lg);box-shadow:0 28px 80px rgba(0,0,0,0.16);display:block;transition:transform var(--med) var(--ease);}
.pd-img-col:hover .pd-img{transform:scale(1.02);}
.pd-img-badge{position:absolute;top:20px;left:20px;display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--r-pill);font-size:0.72rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;box-shadow:0 4px 16px rgba(0,0,0,0.20);}
.pd-badge-gold{background:var(--gold);color:var(--white);}
.pd-badge-navy{background:var(--navy);color:var(--white);}
.pd-mini-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.pd-mini-gallery img{width:100%;height:100px;object-fit:cover;border-radius:var(--r-md);transition:transform var(--fast),box-shadow var(--fast);}
.pd-mini-gallery img:hover{transform:scale(1.04);box-shadow:0 8px 24px rgba(0,0,0,0.14);}

/* Text column */
.pd-label{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.pd-label-icon{width:40px;height:40px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;}
.pd-li-gold{background:var(--gold-light);color:var(--gold);}
.pd-li-navy{background:rgba(15,37,64,0.10);color:var(--navy);}
.pd-label-tag{font-size:0.68rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--text-muted);}
.pd-title{font-family:var(--font-serif);font-size:clamp(2.5rem,5vw,3.8rem);font-weight:700;line-height:1.05;color:var(--navy);margin-bottom:20px;letter-spacing:-0.01em;}
.pd-title em{font-style:italic;color:var(--gold);}
.pd-lead{font-size:1.02rem;line-height:1.80;color:var(--text-mid);margin-bottom:28px;font-weight:400;}

/* Feature list */
.pd-features{display:flex;flex-direction:column;gap:12px;margin-bottom:28px;}
.pd-feat{display:flex;align-items:flex-start;gap:14px;padding:12px 16px;background:var(--off-white);border-radius:var(--r-md);border:1px solid var(--border-d);transition:border-color var(--fast),transform var(--fast);}
.pd-feat:hover{border-color:rgba(212,146,14,0.25);transform:translateX(4px);}
.pd-feat-icon{width:26px;height:26px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;font-size:0.60rem;color:var(--white);flex-shrink:0;margin-top:1px;}
.pd-feat-navy{background:var(--navy);}
.pd-feat div{display:flex;flex-direction:column;gap:2px;}
.pd-feat strong{font-size:0.87rem;font-weight:700;color:var(--navy);}
.pd-feat span{font-size:0.78rem;color:var(--text-muted);}

/* Highlight box */
.pd-highlight{display:flex;align-items:flex-start;gap:16px;background:rgba(212,146,14,0.08);border:1px solid rgba(212,146,14,0.22);border-radius:var(--r-md);padding:18px 20px;margin-bottom:28px;}
.pd-highlight-navy{background:rgba(15,37,64,0.06);border-color:rgba(15,37,64,0.15);}
.pdh-icon{width:38px;height:38px;border-radius:var(--r-md);background:var(--gold-light);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:1rem;flex-shrink:0;}
.pd-highlight-navy .pdh-icon{background:rgba(15,37,64,0.10);color:var(--navy);}
.pd-highlight strong{display:block;font-size:0.86rem;font-weight:700;color:var(--navy);margin-bottom:4px;}
.pd-highlight p{font-size:0.82rem;line-height:1.65;color:var(--text-mid);}

/* Buttons */
.pd-actions{display:flex;gap:12px;flex-wrap:wrap;}
.pd-btn{display:inline-flex;align-items:center;gap:9px;font-size:0.88rem;font-weight:700;padding:13px 26px;border-radius:var(--r-pill);transition:transform var(--fast),box-shadow var(--fast),background var(--fast);}
.pd-btn-gold{background:var(--gold);color:var(--white);box-shadow:0 6px 24px rgba(212,146,14,0.40);}
.pd-btn-gold:hover{background:var(--gold-bright);transform:translateY(-2px);box-shadow:0 10px 32px rgba(212,146,14,0.52);}
.pd-btn-navy{background:var(--navy);color:var(--white);box-shadow:0 6px 24px rgba(15,37,64,0.22);}
.pd-btn-navy:hover{background:var(--navy-light);transform:translateY(-2px);}
.pd-btn-outline{background:transparent;color:var(--navy);border:1.5px solid rgba(15,37,64,0.22);}
.pd-btn-outline:hover{background:var(--navy);color:var(--white);transform:translateY(-2px);}

/* ============================================================
   PROGRAM DIVIDER
============================================================ */
.prog-divider{padding:0;background:var(--white);border-top:1px solid var(--border-d);border-bottom:1px solid var(--border-d);}
.pdiv-inner{display:flex;align-items:center;gap:24px;padding:32px 0;}
.pdiv-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--border-d));}
.pdiv-line:last-child{background:linear-gradient(270deg,transparent,var(--border-d));}
.pdiv-badge{display:inline-flex;align-items:center;gap:10px;background:var(--gold-light);border:1px solid rgba(212,146,14,0.25);color:var(--gold);font-size:0.72rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;padding:10px 20px;border-radius:var(--r-pill);white-space:nowrap;flex-shrink:0;}

/* Thin separator between programs */
.prog-sep{height:2px;background:linear-gradient(90deg,transparent,rgba(212,146,14,0.20),transparent);}

/* ============================================================
   COMPARE SECTION
============================================================ */
.compare-section{position:relative;padding:110px 0;overflow:hidden;}
.cs-bg{position:absolute;inset:0;background:linear-gradient(135deg,var(--navy) 0%,#0a1e38 100%);}
.cs-bg::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%,rgba(212,146,14,0.08) 0%,transparent 55%);}
.compare-section .container{position:relative;z-index:1;}
.compare-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:0;align-items:stretch;max-width:1000px;margin:0 auto;}
.cmp-col{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.12);border-radius:var(--r-lg);padding:40px 36px;display:flex;flex-direction:column;gap:0;backdrop-filter:blur(8px);}
.cmp-camp{}
.cmp-stb{}
.cmp-header{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,0.10);}
.cmp-icon{width:52px;height:52px;border-radius:var(--r-md);background:rgba(212,146,14,0.15);display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--gold-bright);}
.cmp-header h3{font-family:var(--font-serif);font-size:1.4rem;font-weight:700;color:var(--white);line-height:1.2;}
.cmp-tag{display:inline-flex;align-items:center;background:rgba(212,146,14,0.14);border:1px solid rgba(212,146,14,0.28);color:var(--gold-bright);font-size:0.68rem;font-weight:600;letter-spacing:0.10em;text-transform:uppercase;padding:5px 12px;border-radius:var(--r-pill);}
.cmp-list{display:flex;flex-direction:column;gap:12px;flex:1;margin-bottom:32px;}
.cmp-list li{display:flex;align-items:center;gap:12px;font-size:0.88rem;color:rgba(255,255,255,0.75);line-height:1.5;}
.cmp-list li i{color:var(--gold-bright);font-size:0.80rem;flex-shrink:0;}
.cmp-btn{display:inline-flex;align-items:center;gap:8px;font-size:0.86rem;font-weight:700;padding:13px 24px;border-radius:var(--r-pill);width:fit-content;transition:transform var(--fast),box-shadow var(--fast),background var(--fast);}
.cmp-btn-gold{background:var(--gold);color:var(--white);box-shadow:0 4px 16px rgba(212,146,14,0.30);}
.cmp-btn-gold:hover{background:var(--gold-bright);transform:translateY(-2px);box-shadow:0 8px 24px rgba(212,146,14,0.42);}
.cmp-btn-white{background:rgba(255,255,255,0.10);color:var(--white);border:1.5px solid rgba(255,255,255,0.28);}
.cmp-btn-white:hover{background:rgba(255,255,255,0.18);transform:translateY(-2px);}

/* VS badge between columns */
.cmp-vs{display:flex;align-items:center;justify-content:center;padding:0 20px;}
.cmp-vs-circle{width:52px;height:52px;border-radius:50%;background:rgba(212,146,14,0.18);border:1px solid rgba(212,146,14,0.35);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:1.1rem;font-weight:700;color:var(--gold-bright);}

/* ============================================================
   MISSION QUOTE
============================================================ */
.mission-quote-section{position:relative;padding:100px 0;overflow:hidden;background:var(--purple-gradient);}
.mission-quote-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%, var(--purple-hl-1) 0%, transparent 55%), radial-gradient(ellipse at 50% 90%, var(--purple-hl-2) 0%, transparent 55%);}
.mission-quote-section .container{position:relative;z-index:1;}
.mqs-inner{max-width:760px;margin:0 auto;text-align:center;}
.mqs-icon{font-size:3rem;color:rgba(212,146,14,0.35);margin-bottom:24px;}
.mqs-inner blockquote{font-family:var(--font-serif);font-size:clamp(1.2rem,3vw,1.6rem);font-style:italic;font-weight:600;line-height:1.65;color:var(--white);margin-bottom:32px;}
.mqs-author{display:inline-flex;align-items:center;gap:16px;}
.mqs-avatar{width:52px;height:52px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:1rem;font-weight:700;color:var(--white);box-shadow:0 4px 16px rgba(212,146,14,0.30);}
.mqs-author strong{display:block;font-size:0.92rem;font-weight:700;color:var(--white);text-align:left;}
.mqs-author span{display:block;font-size:0.76rem;color:rgba(255,255,255,0.60);text-align:left;margin-top:2px;}

/* ============================================================
   PROGRAMS CTA
============================================================ */
.prog-cta{position:relative;padding:110px 0;overflow:hidden;}
.pc-bg{position:absolute;inset:0;background:linear-gradient(135deg,#060e1c 0%,var(--navy) 50%,#0c1e36 100%);}
.pc-bg::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 15% 50%,rgba(212,146,14,0.10) 0%,transparent 55%);}
.prog-cta .container{position:relative;z-index:1;}
.pc-inner{text-align:center;}
.pc-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:0.70rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:18px;}
.pc-inner h2{font-family:var(--font-serif);font-size:clamp(2rem,5vw,3rem);font-weight:700;color:var(--white);line-height:1.15;margin-bottom:18px;}
.pc-inner h2 em{font-style:italic;color:var(--gold-bright);}
.pc-inner > p{font-size:1rem;line-height:1.80;color:rgba(255,255,255,0.62);margin-bottom:48px;}
.pc-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:900px;margin:0 auto;}
.pc-card{display:flex;flex-direction:column;align-items:center;gap:14px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);border-radius:var(--r-lg);padding:32px 20px;text-align:center;transition:background var(--med),border-color var(--med),transform var(--med);backdrop-filter:blur(6px);}
.pc-card:hover{background:rgba(255,255,255,0.10);border-color:rgba(212,146,14,0.35);transform:translateY(-6px);}
.pcc-icon{width:56px;height:56px;border-radius:50%;background:rgba(212,146,14,0.15);display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--gold-bright);transition:background var(--fast);}
.pc-card:hover .pcc-icon{background:var(--gold);color:var(--white);}
.pc-card strong{font-size:0.95rem;font-weight:700;color:var(--white);}
.pc-card span{font-size:0.78rem;color:rgba(255,255,255,0.50);}

/* ============================================================

/* ============================================================
   RESPONSIVE (page-specific only)
============================================================ */
@media (max-width:1060px){
  .pd-grid{grid-template-columns:1fr;gap:48px;}
  .prog-detail-flip .pd-grid{direction:ltr;}
  .pd-img{height:360px;}
  .compare-grid{grid-template-columns:1fr;gap:0;}
  .cmp-vs{padding:20px 0;}
  .cmp-vs-circle{transform:rotate(90deg);}
  .pc-cards{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:640px){
  .prog-hero{min-height:75vh;}
  .ph-content{padding:60px 20px 80px;}
  .ph-headline{font-size:clamp(3rem,12vw,4.5rem);}
  .ph-count-row{flex-direction:column;padding:20px;gap:16px;}
  .ph-div{width:80%;height:1px;}
  .prog-detail{padding:72px 0;}
  .pd-img{height:280px;}
  .pd-mini-gallery img{height:80px;}
  .pd-actions{flex-direction:column;}
  .pd-btn{width:100%;justify-content:center;}
  .compare-section{padding:72px 0;}
  .cmp-col{padding:28px 22px;}
  .mission-quote-section{padding:72px 0;}
  .prog-cta{padding:72px 0;}
  .pc-cards{grid-template-columns:repeat(2,1fr);gap:14px;}
  .pc-card{padding:22px 14px;}
  .ph-scroll{display:none;}
}

@media (max-width:400px){
  .ph-headline{font-size:3rem;}
  .pc-cards{grid-template-columns:1fr;}
}

/* ============================================================
   PROGRAMS SUB-NAV CARDS
============================================================ */
.pr-subnav-section { position:relative; padding:110px 0; overflow:hidden; }
.prsn-bg { position:absolute; inset:0; background:var(--purple-gradient); }
.prsn-bg::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 30%, var(--purple-hl-1) 0%, transparent 55%), radial-gradient(ellipse at 50% 90%, var(--purple-hl-2) 0%, transparent 55%); }
.pr-subnav-section .container { position:relative; z-index:1; }
.prsn-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.prsn-card {
  display:flex; flex-direction:column; align-items:flex-start; gap:6px;
  background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12);
  border-radius:var(--r-lg); padding:32px 26px; backdrop-filter:blur(8px);
  transition:background var(--med),border-color var(--med),transform var(--med),box-shadow var(--med);
}
.prsn-card:hover { background:rgba(255,255,255,0.09); border-color:rgba(212,146,14,0.35); transform:translateY(-6px); box-shadow:0 20px 50px rgba(0,0,0,0.30); }
.prsn-icon { width:54px; height:54px; border-radius:var(--r-md); background:rgba(212,146,14,0.18); display:flex; align-items:center; justify-content:center; font-size:1.4rem; color:var(--gold-bright); margin-bottom:8px; transition:background var(--fast); }
.prsn-card:hover .prsn-icon { background:var(--gold); color:var(--white); }
.prsn-card h3 { font-family:var(--font-serif); font-size:1.3rem; font-weight:700; color:var(--white); }
.prsn-card p { font-size:0.84rem; line-height:1.6; color:rgba(255,255,255,0.62); margin-bottom:8px; }
.prsn-link { font-size:0.8rem; font-weight:700; color:var(--gold-bright); display:inline-flex; align-items:center; gap:6px; }

@media (max-width:1060px) {
  .prsn-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px) {
  .pr-subnav-section { padding:72px 0; }
  .prsn-grid { grid-template-columns:1fr; }
}
