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

.section-title-light { color: var(--white); }
.section-sub-light { color: rgba(255,255,255,0.62); }

   CAMP HERO
============================================================ */
.camp-hero {
  position:relative;
  min-height:calc(90vh - var(--hh) - var(--tbh));
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.ch-bg { position:absolute; inset:0; }
.ch-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; }
@keyframes bgKen { from{transform:scale(1.05) translateX(0)} to{transform:scale(1.08) translateX(-1.5%)} }
.ch-overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(8,20,42,0.90) 0%,rgba(15,37,64,0.80) 50%,rgba(10,25,50,0.88) 100%); }
.ch-lines { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.chl { position:absolute; background:linear-gradient(90deg,transparent,rgba(212,146,14,0.18),transparent); height:1px; }
.chl1 { top:32%; width:100%; animation:scanLine 9s ease-in-out infinite; }
.chl2 { top:65%; width:65%; left:35%; animation:scanLine 12s ease-in-out 2s infinite reverse; }
@keyframes scanLine { 0%,100%{opacity:0;transform:scaleX(0.2) translateX(-30%)} 50%{opacity:1;transform:scaleX(1) translateX(0)} }
.ch-content {
  position:relative; z-index:2;
  width:100%; max-width:900px;
  margin:0 auto;
  padding:80px 28px 120px;
  display:flex; flex-direction:column; align-items:center; text-align:center;
}
.ch-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.45); margin-bottom:24px; opacity:0; animation:fadeUp 0.7s var(--ease) 0.1s forwards; }
.ch-breadcrumb a { color:rgba(255,255,255,0.55); transition:color var(--fast); }
.ch-breadcrumb a:hover { color:var(--gold-bright); }
.ch-breadcrumb i { font-size:0.55rem; color:rgba(255,255,255,0.25); }
.ch-breadcrumb span { color:var(--gold-bright); }
.ch-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; }
.ch-eyebrow i { animation:sunSpin 4s linear infinite; }
@keyframes sunSpin { to { transform:rotate(360deg); } }
.ch-headline { font-family:var(--font-serif); font-size:clamp(3.5rem,10vw,7rem); font-weight:700; line-height:1.0; letter-spacing:-0.02em; margin-bottom:24px; }
.ch-w { display:block; color:var(--white); opacity:0; transform:translateY(40px); animation:wordIn 0.75s var(--ease) forwards; }
.ch-w1 { animation-delay:0.38s; }
.ch-w2 { animation-delay:0.56s; color:var(--gold-bright); font-style:italic; }
.ch-sub { max-width:580px; font-size:clamp(0.95rem,2vw,1.08rem); line-height:1.80; color:rgba(255,255,255,0.72); font-weight:300; margin-bottom:40px; opacity:0; animation:fadeUp 0.7s var(--ease) 0.95s forwards; }

/* Registration banner */
.ch-reg-banner {
  display:flex; align-items:center; gap:20px;
  background:rgba(255,255,255,0.08); border:1px solid rgba(212,146,14,0.35);
  border-radius:var(--r-lg); padding:18px 24px;
  max-width:600px; width:100%;
  backdrop-filter:blur(10px);
  opacity:0; animation:fadeUp 0.7s var(--ease) 1.15s forwards;
}
.crb-pulse { width:12px; height:12px; border-radius:50%; background:var(--gold-bright); flex-shrink:0; box-shadow:0 0 0 0 rgba(240,168,32,0.6); animation:pulseRing 2s ease infinite; }
@keyframes pulseRing { 0%{box-shadow:0 0 0 0 rgba(240,168,32,0.6)} 70%{box-shadow:0 0 0 12px rgba(240,168,32,0)} 100%{box-shadow:0 0 0 0 rgba(240,168,32,0)} }
.crb-text { flex:1; text-align:left; }
.crb-text strong { display:block; font-size:0.90rem; font-weight:700; color:var(--white); margin-bottom:3px; }
.crb-text span { font-size:0.75rem; color:rgba(255,255,255,0.55); }
.crb-btn { display:inline-flex; align-items:center; gap:7px; background:var(--gold); color:var(--white); font-size:0.78rem; font-weight:700; padding:9px 18px; border-radius:var(--r-pill); white-space:nowrap; transition:background var(--fast),transform var(--fast); flex-shrink:0; }
.crb-btn:hover { background:var(--gold-bright); transform:translateY(-2px); }

/* Scroll hint */
.ch-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.6s forwards; z-index:2; }
.ch-scroll span { font-size:0.63rem; letter-spacing:0.16em; text-transform:uppercase; color:rgba(255,255,255,0.35); }
.ch-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; }
.ch-wheel { width:3px; height:7px; border-radius:2px; background:var(--gold-bright); animation:scrollWheel 2s ease infinite; }
@keyframes scrollWheel { 0%{transform:translateY(0);opacity:1} 75%{transform:translateY(12px);opacity:0} 100%{transform:translateY(0);opacity:0} }

/* ============================================================
   FACTS STRIP
============================================================ */
.facts-strip {
  background:var(--navy);
  padding:0;
  border-bottom:3px solid var(--gold);
}
.facts-grid { display:flex; align-items:stretch; justify-content:space-between; }
.fact-item { display:flex; align-items:center; gap:14px; padding:22px 28px; flex:1; transition:background var(--fast); }
.fact-item:hover { background:rgba(255,255,255,0.05); }
.fact-icon { width:42px; height:42px; border-radius:var(--r-md); background:rgba(212,146,14,0.15); display:flex; align-items:center; justify-content:center; font-size:1rem; color:var(--gold-bright); flex-shrink:0; }
.fact-item div { display:flex; flex-direction:column; gap:3px; }
.fact-item strong { font-size:0.95rem; font-weight:700; color:var(--white); }
.fact-item span { font-size:0.72rem; color:rgba(255,255,255,0.48); letter-spacing:0.04em; }
.fact-div { width:1px; background:rgba(255,255,255,0.10); flex-shrink:0; align-self:stretch; margin:12px 0; }

/* ============================================================
   INFO SECTION — 4 CARDS
============================================================ */
.info-section { padding:110px 0; background:var(--white); }
.info-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.info-card {
  background:var(--off-white); border-radius:var(--r-lg); padding:36px 32px;
  border:1px solid var(--border-d); position:relative; overflow:hidden;
  display:flex; flex-direction:column; gap:14px;
  transition:box-shadow var(--med),transform var(--med),border-color var(--med);
}
.info-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--gold),var(--gold-bright)); transform:scaleX(0); transform-origin:left; transition:transform var(--med) var(--ease); }
.info-card:hover { box-shadow:0 16px 48px rgba(0,0,0,0.09); transform:translateY(-4px); border-color:rgba(212,146,14,0.20); }
.info-card:hover::before { transform:scaleX(1); }
.ic-top { display:flex; align-items:flex-start; gap:18px; margin-bottom:4px; }
.ic-icon { width:52px; height:52px; border-radius:var(--r-md); background:color-mix(in srgb,var(--ic,var(--gold)) 14%,transparent); display:flex; align-items:center; justify-content:center; font-size:1.3rem; color:var(--ic,var(--gold)); flex-shrink:0; }
.ic-top h3 { font-family:var(--font-serif); font-size:1.45rem; font-weight:700; color:var(--navy); line-height:1.2; padding-top:6px; }
.info-card p { font-size:0.88rem; line-height:1.78; color:var(--text-mid); }
.ic-subtitle { font-size:0.90rem; font-weight:600; color:var(--navy); }
.ic-topics { display:flex; flex-direction:column; gap:8px; margin-top:4px; }
.ic-topics li { display:flex; align-items:center; gap:10px; font-size:0.87rem; color:var(--text-mid); }
.ic-topics li i { color:var(--gold); font-size:0.72rem; flex-shrink:0; }
.ic-note { display:flex; align-items:flex-start; gap:10px; background:rgba(212,146,14,0.08); border:1px solid rgba(212,146,14,0.18); border-radius:var(--r-md); padding:12px 16px; font-size:0.82rem !important; color:var(--text-mid); }
.ic-note i { color:var(--gold); margin-top:2px; flex-shrink:0; }
.ic-big-quote { font-family:var(--font-serif); font-size:1.4rem; font-style:italic; color:var(--navy); font-weight:700; }
.ic-highlight { display:flex; align-items:flex-start; gap:12px; background:rgba(39,174,96,0.08); border:1px solid rgba(39,174,96,0.20); border-radius:var(--r-md); padding:14px 16px; }
.ic-highlight i { color:#27ae60; font-size:0.95rem; margin-top:2px; flex-shrink:0; }
.ic-highlight p { font-size:0.82rem; line-height:1.60; color:var(--text-mid); }
.ic-highlight p strong { color:#27ae60; }

/* Dark card */
.ic-dark { background:linear-gradient(145deg,var(--navy) 0%,var(--navy-mid) 100%); border-color:transparent; }
.ic-dark .ic-top h3 { color:var(--white); }
.ic-dark p { color:rgba(255,255,255,0.65); }
.ic-badge { display:inline-flex; align-items:center; background:rgba(212,146,14,0.18); border:1px solid rgba(212,146,14,0.30); color:var(--gold-bright); font-size:0.72rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; padding:6px 14px; border-radius:var(--r-pill); width:fit-content; }
.ic-price { font-size:0.93rem; color:rgba(255,255,255,0.70); }
.ic-price strong { color:var(--gold-bright); font-size:1.1rem; }
.ic-cta-btn { display:inline-flex; align-items:center; gap:8px; background:var(--gold); color:var(--white); font-size:0.85rem; font-weight:700; padding:12px 22px; border-radius:var(--r-pill); margin-top:4px; width:fit-content; transition:background var(--fast),transform var(--fast),box-shadow var(--fast); box-shadow:0 4px 16px rgba(212,146,14,0.30); }
.ic-cta-btn:hover { background:var(--gold-bright); transform:translateY(-2px); box-shadow:0 8px 24px rgba(212,146,14,0.42); }

/* ============================================================
   MEET OUR INTERNS
============================================================ */
.interns-section { position:relative; padding:110px 0; overflow:hidden; }
.ins-bg { position:absolute; inset:0; background:linear-gradient(150deg,#081420 0%,var(--navy) 55%,#0d1f38 100%); }
.ins-bg::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 80% 20%,rgba(212,146,14,0.10) 0%,transparent 55%); }
.interns-section .container { position:relative; z-index:1; }
.interns-grid { display:grid; grid-template-columns:1.1fr 0.9fr; gap:32px; align-items:stretch; margin-bottom:56px; }
.intern-bullets { background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.10); border-radius:var(--r-lg); padding:36px 34px; backdrop-filter:blur(6px); }
.intern-bullets h3 { font-family:var(--font-serif); font-size:1.35rem; font-weight:700; color:var(--white); line-height:1.35; margin-bottom:22px; }
.intern-list { display:flex; flex-direction:column; gap:14px; }
.intern-list li { display:flex; align-items:flex-start; gap:12px; font-size:0.92rem; line-height:1.6; color:rgba(255,255,255,0.75); }
.il-spark { flex-shrink:0; font-size:1rem; margin-top:1px; }
.intern-impact { display:flex; flex-direction:column; gap:20px; }
.impact-card { flex:1; background:rgba(255,255,255,0.94); border-radius:var(--r-lg); padding:30px 28px; display:flex; flex-direction:column; gap:10px; transition:transform var(--med) var(--ease); }
.impact-card:hover { transform:translateY(-4px); }
.impact-icon { width:50px; height:50px; border-radius:var(--r-md); background:var(--gold-light); display:flex; align-items:center; justify-content:center; font-size:1.2rem; color:var(--gold); flex-shrink:0; margin-bottom:4px; }
.impact-card h4 { font-family:var(--font-serif); font-size:1.25rem; font-weight:700; color:var(--navy); }
.impact-card p { font-size:0.88rem; line-height:1.65; color:var(--text-mid); }
.impact-dark { background:linear-gradient(145deg,var(--gold) 0%,#a86e08 100%); }
.impact-dark .impact-icon { background:rgba(255,255,255,0.22); color:var(--white); }
.impact-dark h4 { color:var(--white); }
.impact-dark p { color:rgba(255,255,255,0.88); }
.interns-quote { max-width:760px; margin:0 auto; text-align:center; }
.interns-quote p { font-size:1rem; line-height:1.85; color:rgba(255,255,255,0.65); margin-bottom:18px; }
.interns-quote .iq-strong { font-family:var(--font-serif); font-size:1.4rem; font-style:italic; font-weight:700; color:var(--white); line-height:1.55; margin-bottom:26px; }
.iq-tag { 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.88rem; font-weight:600; padding:12px 26px; border-radius:var(--r-pill); }

/* ============================================================
   GALLERY — AUTO-SLIDING CAROUSEL
============================================================ */
.gallery-section { padding:110px 0; background:var(--off-white); }
.gallery-section .container { margin-bottom:48px; }
.gallery-carousel {
  width:100%;
  overflow:hidden;
  position:relative;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);
}
.gc-track {
  display:flex;
  gap:20px;
  width:max-content;
  animation:gcScroll 55s linear infinite;
}
.gallery-carousel:hover .gc-track { animation-play-state:paused; }
.gc-slide {
  position:relative;
  flex:0 0 320px;
  height:260px;
  border-radius:var(--r-lg);
  overflow:hidden;
  background:var(--grey-soft);
}
.gc-slide img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.55s var(--ease); }
.gc-slide:hover img { transform:scale(1.08); }
.gc-slide .gallery-caption { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(to top,rgba(10,20,40,0.85) 0%,transparent 100%); padding:26px 16px 14px; }
.gc-slide .gallery-caption span { font-size:0.78rem; font-weight:600; color:rgba(255,255,255,0.94); line-height:1.35; }
@keyframes gcScroll {
  from { transform:translateX(0); }
  to   { transform:translateX(-50%); }
}

/* ============================================================
   GALLERY LIGHTBOX MODAL
============================================================ */
.gc-slide { cursor:pointer; }
.lightbox {
  position:fixed; inset:0; z-index:3000;
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden;
  transition:opacity var(--med) var(--ease),visibility var(--med);
}
.lightbox.open { opacity:1; visibility:visible; }
.lb-backdrop { position:absolute; inset:0; background:rgba(5,10,20,0.92); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.lb-content {
  position:relative; z-index:1;
  max-width:min(90vw,980px); max-height:88vh;
  display:flex; flex-direction:column; align-items:center;
  transform:scale(0.94); transition:transform var(--med) var(--ease);
}
.lightbox.open .lb-content { transform:scale(1); }
.lb-image { max-width:100%; max-height:74vh; width:auto; height:auto; border-radius:var(--r-md); box-shadow:0 24px 70px rgba(0,0,0,0.55); object-fit:contain; }
.lb-caption { margin-top:18px; font-family:var(--font-serif); font-size:1.2rem; font-weight:700; color:var(--white); text-align:center; }
.lb-counter { margin-top:6px; font-size:0.75rem; letter-spacing:0.1em; text-transform:uppercase; color:rgba(255,255,255,0.45); }
.lb-close {
  position:absolute; top:24px; right:24px; z-index:2;
  width:46px; height:46px; border-radius:50%;
  background:rgba(255,255,255,0.10); border:1px solid rgba(255,255,255,0.20);
  color:var(--white); font-size:1.1rem;
  display:flex; align-items:center; justify-content:center;
  transition:background var(--fast),transform var(--fast);
}
.lb-close:hover { background:var(--gold); transform:rotate(90deg); }
.lb-nav {
  position:absolute; top:50%; transform:translateY(-50%); z-index:2;
  width:54px; height:54px; border-radius:50%;
  background:rgba(255,255,255,0.10); border:1px solid rgba(255,255,255,0.20);
  color:var(--white); font-size:1.2rem;
  display:flex; align-items:center; justify-content:center;
  transition:background var(--fast),transform var(--fast);
}
.lb-nav:hover { background:var(--gold); }
.lb-prev { left:24px; }
.lb-next { right:24px; }
.lb-prev:hover { transform:translateY(-50%) translateX(-3px); }
.lb-next:hover { transform:translateY(-50%) translateX(3px); }

@media (max-width:640px) {
  .lb-close { top:14px; right:14px; width:40px; height:40px; }
  .lb-nav { width:44px; height:44px; }
  .lb-prev { left:10px; }
  .lb-next { right:10px; }
  .lb-caption { font-size:1rem; padding:0 50px; }
}

/* ============================================================
   QUOTE SECTION
============================================================ */
.quote-section { position:relative; padding:100px 0; overflow:hidden; }
.qs-bg { position:absolute; inset:0; background:var(--purple-gradient); }
.qs-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%); }
.quote-section .container { position:relative; z-index:1; }
.qs-inner { max-width:760px; margin:0 auto; text-align:center; }
.qs-icon { font-size:3rem; color:rgba(212,146,14,0.22); margin-bottom:24px; }
.qs-quote { font-family:var(--font-serif); font-size:clamp(1.3rem,3vw,1.75rem); font-style:italic; font-weight:600; line-height:1.60; color:rgba(255,255,255,0.90); margin-bottom:36px; }
.qs-author { display:inline-flex; align-items:center; gap:16px; }
.qs-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.35); }
.qs-author strong { display:block; font-size:0.92rem; font-weight:700; color:var(--white); text-align:left; }
.qs-author span { display:block; font-size:0.76rem; color:rgba(255,255,255,0.50); text-align:left; margin-top:2px; }

/* ============================================================
   SUPPORT SECTION
============================================================ */
.support-section { padding:110px 0; background:var(--white); }
.support-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; }
.support-tiers { background:var(--off-white); border-radius:var(--r-lg); padding:40px 36px; border:1px solid var(--border-d); }
.support-tiers h3 { font-family:var(--font-serif); font-size:1.5rem; font-weight:700; color:var(--navy); margin-bottom:28px; }
.tier-list { display:flex; flex-direction:column; gap:12px; margin-bottom:32px; }
.tier-item { display:grid; grid-template-columns:72px 1fr; gap:16px; align-items:center; background:var(--white); border-radius:var(--r-md); padding:14px 18px; border:1px solid var(--border-d); transition:border-color var(--fast),box-shadow var(--fast),transform var(--fast); }
.tier-item:hover { border-color:rgba(212,146,14,0.30); box-shadow:0 4px 18px rgba(0,0,0,0.07); transform:translateX(4px); }
.tier-item.tier-featured { border-color:var(--gold); background:rgba(212,146,14,0.05); }
.tier-amount { font-family:var(--font-serif); font-size:1.6rem; font-weight:700; color:var(--gold); line-height:1; }
.tier-desc { font-size:0.86rem; color:var(--text-mid); line-height:1.5; }
.support-main-btn { display:inline-flex; align-items:center; gap:10px; background:var(--gold); color:var(--white); font-size:0.95rem; font-weight:700; padding:16px 32px; border-radius:var(--r-pill); box-shadow:0 8px 28px rgba(212,146,14,0.38); transition:background var(--fast),transform var(--fast),box-shadow var(--fast); width:100%; justify-content:center; }
.support-main-btn:hover { background:var(--gold-bright); transform:translateY(-2px); box-shadow:0 12px 36px rgba(212,146,14,0.48); }

.support-sponsor { background:linear-gradient(145deg,var(--navy) 0%,var(--navy-mid) 100%); border-radius:var(--r-lg); padding:40px 36px; }
.ss-header { display:flex; align-items:center; gap:16px; margin-bottom:24px; }
.ss-icon { width:52px; height:52px; border-radius:var(--r-md); background:rgba(212,146,14,0.18); display:flex; align-items:center; justify-content:center; font-size:1.3rem; color:var(--gold-bright); flex-shrink:0; }
.ss-header h3 { font-family:var(--font-serif); font-size:1.5rem; font-weight:700; color:var(--white); line-height:1.2; }
.support-sponsor > p { font-size:0.88rem; line-height:1.78; color:rgba(255,255,255,0.65); margin-bottom:24px; }
.ss-benefits { display:flex; flex-direction:column; gap:10px; margin-bottom:28px; }
.ss-benefits li { display:flex; align-items:center; gap:10px; font-size:0.87rem; color:rgba(255,255,255,0.75); }
.ss-benefits li i { color:var(--gold-bright); font-size:0.78rem; flex-shrink:0; }
.ss-price { font-size:0.93rem; color:rgba(255,255,255,0.55); margin-bottom:22px; }
.ss-price span { color:var(--gold-bright); font-family:var(--font-serif); font-size:1.5rem; font-weight:700; }
.ss-btn { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; background:var(--gold); color:var(--white); font-size:0.88rem; font-weight:700; padding:14px; border-radius:var(--r-pill); transition:background var(--fast),transform var(--fast),box-shadow var(--fast); box-shadow:0 6px 20px rgba(212,146,14,0.30); }
.ss-btn:hover { background:var(--gold-bright); transform:translateY(-2px); box-shadow:0 10px 30px rgba(212,146,14,0.42); }

/* ============================================================
   REGISTER CTA
============================================================ */
.register-section { position:relative; padding:110px 0; overflow:hidden; }
.rs-bg { position:absolute; inset:0; background:linear-gradient(135deg,#060e1c 0%,var(--navy) 50%,#0c1e36 100%); }
.rs-bg::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 15% 50%,rgba(212,146,14,0.10) 0%,transparent 55%); }
.register-section .container { position:relative; z-index:1; }
.rs-inner { max-width:680px; margin:0 auto; text-align:center; }
.rs-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; }
.rs-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; }
.rs-inner h2 em { font-style:italic; color:var(--gold-bright); }
.rs-inner > p { font-size:1rem; line-height:1.80; color:rgba(255,255,255,0.62); margin-bottom:36px; }
.rs-date-badge { display:inline-flex; align-items:center; gap:14px; background:rgba(212,146,14,0.14); border:1px solid rgba(212,146,14,0.32); border-radius:var(--r-lg); padding:16px 24px; margin-bottom:36px; }
.rs-date-badge i { font-size:1.5rem; color:var(--gold-bright); }
.rs-date-badge strong { display:block; font-size:0.78rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:rgba(255,255,255,0.55); margin-bottom:3px; }
.rs-date-badge span { font-family:var(--font-serif); font-size:1.3rem; font-weight:700; color:var(--white); }
.rs-btns { display:flex; gap:14px; flex-wrap:wrap; justify-content:center; }

/* ============================================================

/* ============================================================
   RESPONSIVE (page-specific only)
============================================================ */
@media (max-width:1060px) {
  .info-grid { grid-template-columns:1fr; }
  .interns-grid { grid-template-columns:1fr; }
  .intern-impact { flex-direction:row; }
  .support-grid { grid-template-columns:1fr; }
}

@media (max-width:860px) {
  .facts-grid { flex-wrap:wrap; }
  .fact-item { flex:1 1 calc(50% - 1px); }
  .fact-div:nth-child(4),.fact-div:nth-child(8) { display:none; }
  .intern-impact { flex-direction:column; }
  .gc-slide { flex:0 0 260px; height:210px; }
}

@media (max-width:640px) {
  .camp-hero { min-height:80vh; }
  .ch-content { padding:60px 20px 90px; }
  .ch-headline { font-size:clamp(3rem,12vw,4.5rem); }
  .ch-reg-banner { flex-direction:column; text-align:center; gap:14px; }
  .crb-text { text-align:center; }
  .facts-grid { flex-direction:column; gap:0; }
  .fact-div { display:none; }
  .fact-item { flex:1; border-bottom:1px solid rgba(255,255,255,0.08); }
  .info-section,.gallery-section,.support-section,.register-section,.interns-section { padding:72px 0; }
  .info-card { padding:26px 22px; }
  .intern-bullets { padding:28px 24px; }
  .impact-card { padding:24px 22px; }
  .support-tiers,.support-sponsor { padding:28px 22px; }
  .tier-item { grid-template-columns:60px 1fr; }
  .rs-btns { flex-direction:column; align-items:center; }
  .ch-scroll { display:none; }
  .gc-slide { flex:0 0 220px; height:180px; }
  .gc-track { gap:14px; animation-duration:40s; }
}

@media (max-width:400px) {
  .ch-headline { font-size:2.8rem; }
  .rs-date-badge { flex-direction:column; text-align:center; }
}

/* Registration Closed styles */
.ch-reg-closed { border-color: rgba(255, 255, 255, 0.20); }
.crb-closed-icon { font-size: 1.4rem; color: rgba(255, 255, 255, 0.55); flex-shrink: 0; }
.crb-waitlist-btn { background: var(--gold); border: 1.5px solid rgba(255,255,255,0.25); }
.crb-waitlist-btn:hover { background: var(--gold-bright); }
.rs-closed-badge { border-color: rgba(255,255,255,0.18); background: rgba(255,255,255,0.06); }
.rs-closed-badge i { font-size: 1.5rem; color: rgba(255,255,255,0.45); }
.rs-closed-badge strong { color: rgba(255,255,255,0.55); }
.rs-closed-badge span { color: var(--white); font-size: 1rem; }

@media (prefers-reduced-motion: reduce) {
  .gc-track { animation:none; }
}
