/* Radiant Life International Fellowship | World Class V3 refinement */
:root{
  --v3-glass:rgba(5,22,31,.56);
  --v3-glass-strong:rgba(5,22,31,.78);
  --v3-line:rgba(157,226,247,.16);
  --v3-cyan:#5fd7ff;
  --v3-blue:#20bff2;
  --v3-gold:#f2c96e;
  --v3-shadow:0 26px 70px rgba(0,0,0,.28);
  --v3-ease:cubic-bezier(.16,1,.3,1);
}
html{scroll-behavior:smooth;}
@view-transition{navigation:auto;}
::view-transition-old(root),::view-transition-new(root){animation-duration:.38s;animation-timing-function:var(--v3-ease);}

/* Refined liquid-glass header */
header{
  background:linear-gradient(180deg,rgba(3,17,25,.92),rgba(3,17,25,.72)) !important;
  border-bottom:1px solid rgba(157,226,247,.10) !important;
  backdrop-filter:blur(22px) saturate(155%) !important;
  -webkit-backdrop-filter:blur(22px) saturate(155%) !important;
  box-shadow:0 10px 42px rgba(0,0,0,.16) !important;
}
header.is-scrolled{background:rgba(3,17,25,.86) !important;box-shadow:0 18px 55px rgba(0,0,0,.28) !important;}
header .brand img{transition:transform .6s var(--v3-ease),filter .6s ease;filter:drop-shadow(0 8px 24px rgba(45,190,233,.14));}
header .brand:hover img{transform:scale(1.035);filter:drop-shadow(0 10px 34px rgba(95,215,255,.25));}
.nav-item>a,.nav-item>button,.nav-icons .text-link{transition:color .28s ease,background .28s ease,transform .28s var(--v3-ease),border-color .28s ease !important;}
.nav-item>a:hover,.nav-item>button:hover,.nav-icons .text-link:hover{transform:translateY(-1px);}

/* Hero: preserve the media, reduce the text block so it never swallows the imagery */
.hero{min-height:calc(100svh - 82px) !important;align-items:center !important;padding:68px 0 82px !important;}
.hero::before{
  background:
    radial-gradient(520px 340px at 14% 54%,rgba(20,185,238,.12),transparent 72%),
    linear-gradient(90deg,rgba(3,13,19,.50) 0%,rgba(3,13,19,.22) 32%,rgba(3,13,19,.04) 66%,rgba(3,13,19,.08) 100%),
    linear-gradient(180deg,rgba(2,10,15,.04),rgba(2,10,15,.10) 56%,rgba(2,10,15,.70)) !important;
}
.hero-overlay{background:linear-gradient(180deg,rgba(3,14,20,.02),rgba(3,14,20,.06) 48%,rgba(3,14,20,.52)) !important;}
.hero-slide{transition:opacity 1.05s ease,transform 1.55s var(--v3-ease),filter 1.05s ease !important;}
.hero-slide img,.hero-slide video{object-position:center 25% !important;}
.hero-content,.hero-content-compact{
  width:min(455px,calc(100% - 48px)) !important;
  max-width:455px !important;
  margin-left:clamp(24px,4vw,62px) !important;
  margin-right:auto !important;
  padding:20px 22px 21px !important;
  border-radius:22px !important;
  background:linear-gradient(145deg,rgba(5,24,34,.67),rgba(5,24,34,.43)) !important;
  border:1px solid rgba(180,235,250,.18) !important;
  backdrop-filter:blur(18px) saturate(145%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(145%) !important;
  box-shadow:0 22px 64px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.09),0 0 50px rgba(32,191,242,.045) !important;
}
.hero-content::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(115deg,rgba(255,255,255,.07),transparent 28%,transparent 68%,rgba(95,215,255,.045));
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;padding:1px;
}
.hero-content::after{width:150px !important;height:150px !important;right:-45px !important;top:-55px !important;opacity:.72;}
.hero-content .eyebrow{font-size:9px !important;line-height:1.35;letter-spacing:.16em !important;color:#bcecff !important;}
.hero-content h1{font-size:clamp(29px,3.2vw,44px) !important;line-height:1.02 !important;letter-spacing:-.038em !important;margin:12px 0 11px !important;}
.hero-content h1 em{margin-top:4px !important;font-size:.94em;}
.hero-content p.lead{font-size:clamp(12.5px,1vw,14.5px) !important;line-height:1.48 !important;max-width:405px !important;margin-bottom:0 !important;}
.hero-actions{margin-top:16px !important;gap:8px !important;}
.hero-actions .btn{padding:10px 15px !important;font-size:9.8px !important;letter-spacing:.045em !important;}
.hero-nav-arrow{width:44px !important;height:44px !important;background:rgba(4,18,26,.46) !important;border:1px solid rgba(255,255,255,.18) !important;box-shadow:0 14px 38px rgba(0,0,0,.22);}
.hero-nav-arrow:hover{background:rgba(10,39,52,.68) !important;border-color:rgba(95,215,255,.38) !important;transform:translateY(-50%) scale(1.05) !important;}
.hero-dots{bottom:24px !important;}
.hero-dot{height:3px !important;background:rgba(255,255,255,.27) !important;transition:width .45s var(--v3-ease),background .4s ease,opacity .4s ease !important;}
.hero-dot.active{width:38px !important;box-shadow:0 0 15px rgba(95,215,255,.20);}

/* Founder image: show the complete original rectangle with no portrait crop */
.founder-grid{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr) !important;gap:clamp(38px,5vw,78px) !important;}
.founder-photo{
  min-height:0 !important;
  aspect-ratio:1402/1122 !important;
  border-radius:28px !important;
  padding:10px !important;
  background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(218,243,249,.48)) !important;
  border:1px solid rgba(12,111,145,.14) !important;
  box-shadow:0 30px 78px rgba(31,60,70,.16),inset 0 1px 0 rgba(255,255,255,.9) !important;
  backdrop-filter:blur(12px);
  overflow:visible !important;
}
.founder-photo img{
  width:100% !important;height:100% !important;position:relative !important;inset:auto !important;
  display:block !important;object-fit:contain !important;object-position:center !important;border-radius:20px !important;
}
.founder-photo::after{display:none !important;}
.founder-copy h2{font-size:clamp(42px,5.2vw,72px) !important;}
.founder-copy .quote{border-left:0 !important;padding:20px 22px !important;border-radius:18px;background:rgba(255,255,255,.50);border:1px solid rgba(12,111,145,.12);box-shadow:0 12px 32px rgba(31,60,70,.07);backdrop-filter:blur(10px);}

/* More cohesive glass surfaces throughout the public site */
.way-card,.program-card,.event-card,.testi-card,.thumb-card,.live-stage,.give-banner,.not-found-card{
  border:1px solid rgba(161,222,239,.12) !important;
  box-shadow:0 18px 46px rgba(0,0,0,.18) !important;
  backdrop-filter:blur(12px) saturate(125%);
  -webkit-backdrop-filter:blur(12px) saturate(125%);
  transition:transform .55s var(--v3-ease),box-shadow .55s var(--v3-ease),border-color .4s ease,filter .4s ease !important;
  transform:translateZ(0);
}
.way-card:hover,.program-card:hover,.event-card:hover,.testi-card:hover,.thumb-card:hover{
  transform:translateY(-7px) scale(1.012) !important;
  box-shadow:0 28px 68px rgba(0,0,0,.27),0 0 0 1px rgba(95,215,255,.08) !important;
  border-color:rgba(95,215,255,.25) !important;
}
.way-card::after,.program-card::after,.event-card::after,.testi-card::after{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;opacity:0;
  background:linear-gradient(110deg,transparent 15%,rgba(255,255,255,.08) 38%,transparent 60%);
  transform:translateX(-60%);transition:opacity .3s ease,transform .8s var(--v3-ease);
}
.way-card:hover::after,.program-card:hover::after,.event-card:hover::after,.testi-card:hover::after{opacity:1;transform:translateX(70%);}

/* Buttons: polished hover, tactile press, and JS click ripple */
.btn,.menu-btn,.scroll-gallery-nav,.hero-nav-arrow{position:relative;overflow:hidden;isolation:isolate;}
.btn{transition:transform .28s var(--v3-ease),box-shadow .35s ease,border-color .28s ease,background .28s ease !important;}
.btn::before{content:"";position:absolute;inset:-2px;z-index:-1;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.18) 45%,transparent 70%);transform:translateX(-115%);transition:transform .65s var(--v3-ease);}
.btn:hover::before{transform:translateX(115%);}
.btn:active,.menu-btn:active,.scroll-gallery-nav:active,.hero-nav-arrow:active{transform:scale(.975) !important;transition-duration:.08s !important;}
.v3-ripple{position:absolute;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%) scale(0);background:rgba(255,255,255,.28);animation:v3Ripple .62s ease-out forwards;z-index:3;}
@keyframes v3Ripple{to{transform:translate(-50%,-50%) scale(1);opacity:0;}}

/* Richer scroll entrances, while remaining accessible */
.reveal{filter:blur(5px);transform:translateY(32px) scale(.988) !important;transition:opacity .78s var(--v3-ease),transform .86s var(--v3-ease),filter .75s ease !important;}
.reveal.in{filter:blur(0);transform:translateY(0) scale(1) !important;}
.section-head .eyebrow{letter-spacing:.18em;}

/* Staff/admin refinements without changing any working functions */
body:has(#loginPanel) main>section{
  background:
    radial-gradient(900px 520px at 12% 6%,rgba(52,192,235,.16),transparent 68%),
    radial-gradient(800px 500px at 92% 82%,rgba(242,201,110,.08),transparent 70%),
    linear-gradient(160deg,#04131c,#061e29 56%,#04131c) !important;
}
#loginPanel{
  max-width:440px !important;
  background:linear-gradient(145deg,rgba(9,35,47,.70),rgba(5,22,31,.58)) !important;
  border:1px solid rgba(157,226,247,.18) !important;
  border-radius:28px !important;
  padding:46px 40px !important;
  box-shadow:0 38px 90px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter:blur(24px) saturate(145%);
  -webkit-backdrop-filter:blur(24px) saturate(145%);
}
#loginPanel input,#dashboardPanel input,#dashboardPanel textarea{
  background:rgba(4,18,26,.60) !important;color:#eefaff !important;border:1px solid rgba(157,226,247,.14) !important;
  border-radius:13px !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.035);transition:border-color .28s ease,box-shadow .28s ease,background .28s ease !important;
}
#loginPanel input:focus,#dashboardPanel input:focus,#dashboardPanel textarea:focus{border-color:rgba(95,215,255,.52) !important;box-shadow:0 0 0 4px rgba(95,215,255,.08) !important;background:rgba(4,18,26,.82) !important;outline:none !important;}
#dashboardPanel{max-width:1180px !important;}
#dashboardPanel>div:first-child{position:sticky;top:94px;z-index:30;background:rgba(5,24,34,.72);border:1px solid rgba(157,226,247,.13) !important;border-radius:20px;padding:16px 18px !important;backdrop-filter:blur(18px);box-shadow:0 18px 48px rgba(0,0,0,.22);}
#dashboardPanel h3{font-size:18px !important;letter-spacing:-.015em;margin-top:12px;padding-top:12px;}
.staff-metric{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.14) !important;box-shadow:0 18px 42px rgba(0,0,0,.20) !important;transition:transform .4s var(--v3-ease),box-shadow .4s ease !important;}
.staff-metric:hover{transform:translateY(-4px);box-shadow:0 24px 54px rgba(0,0,0,.28) !important;}
.staff-metric::after{content:"";position:absolute;width:90px;height:90px;right:-25px;top:-30px;border-radius:50%;background:rgba(255,255,255,.14);filter:blur(4px);}
.staff-chart{background:rgba(5,24,34,.56) !important;border:1px solid rgba(157,226,247,.12) !important;border-radius:20px !important;backdrop-filter:blur(14px);box-shadow:0 18px 50px rgba(0,0,0,.18);}

/* Mobile: compact hero remains compact, with imagery still dominant */
@media(max-width:980px){
  .hero{align-items:flex-end !important;padding-bottom:86px !important;}
  .hero-content,.hero-content-compact{width:calc(100% - 36px) !important;max-width:470px !important;margin:0 18px !important;padding:18px 18px 19px !important;border-radius:20px !important;}
  .hero-content h1{font-size:clamp(28px,8.2vw,42px) !important;}
  .hero-content p.lead{font-size:12.8px !important;line-height:1.44 !important;}
  .founder-grid{grid-template-columns:1fr !important;}
  .founder-photo{width:min(760px,100%);margin:0 auto;}
  #dashboardPanel>div:first-child{top:82px;}
}
@media(max-width:600px){
  .hero-content,.hero-content-compact{max-width:none !important;}
  .hero-actions{display:flex !important;flex-wrap:wrap !important;}
  .hero-actions .btn{width:auto !important;flex:1 1 150px;justify-content:center;}
  .hero-nav-arrow{width:38px !important;height:38px !important;}
  .founder-copy h2{font-size:44px !important;}
  #loginPanel{padding:36px 24px !important;}
}

@media(prefers-reduced-motion:reduce){
  .reveal{filter:none !important;transform:none !important;}
  .v3-ripple{display:none !important;}
  .way-card:hover,.program-card:hover,.event-card:hover,.testi-card:hover,.thumb-card:hover{transform:none !important;}
}
body.motion-paused .reveal{filter:none !important;transform:none !important;}

/* World Class V4: production motion + bottom-left hero composition + HD media */
.hero{
  position:relative !important;
  align-items:stretch !important;
}
.hero-content,.hero-content-compact{
  position:absolute !important;
  z-index:5 !important;
  left:clamp(12px,1.35vw,24px) !important;
  bottom:clamp(58px,6.2vh,78px) !important;
  width:min(372px,calc(100% - 30px)) !important;
  max-width:372px !important;
  margin:0 !important;
  padding:15px 17px 16px !important;
  border-radius:18px !important;
  background:linear-gradient(145deg,rgba(4,22,31,.58),rgba(4,22,31,.34)) !important;
  border:1px solid rgba(194,239,252,.18) !important;
  backdrop-filter:blur(16px) saturate(150%) !important;
  -webkit-backdrop-filter:blur(16px) saturate(150%) !important;
  box-shadow:0 18px 50px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.10),0 0 36px rgba(32,191,242,.035) !important;
}
.hero-content .eyebrow{
  font-size:8px !important;
  line-height:1.3 !important;
  letter-spacing:.145em !important;
}
.hero-content h1{
  font-size:clamp(24px,2.4vw,34px) !important;
  line-height:1.01 !important;
  margin:9px 0 8px !important;
  letter-spacing:-.035em !important;
}
.hero-content h1 em{margin-top:3px !important;font-size:.92em !important;}
.hero-content p.lead{
  font-size:clamp(11px,.85vw,13px) !important;
  line-height:1.42 !important;
  max-width:330px !important;
}
.hero-actions{margin-top:12px !important;gap:7px !important;}
.hero-actions .btn{
  padding:8px 11px !important;
  font-size:8.5px !important;
  min-height:34px !important;
}
/* Keep source media visually clean and let native HD frames remain sharp. */
.hero-slide.active,.hero-slide.active video,.hero-slide.active img{
  filter:none !important;
  image-rendering:auto !important;
}
.hero-slide video{
  object-fit:cover !important;
  transform:translateZ(0);
  backface-visibility:hidden;
}
/* The public motion switch has intentionally been removed in V4. */
.motion-toggle{display:none !important;}

@media(max-width:980px){
  .hero-content,.hero-content-compact{
    left:12px !important;
    bottom:64px !important;
    width:min(350px,calc(100% - 24px)) !important;
    max-width:350px !important;
    margin:0 !important;
    padding:14px 15px !important;
  }
  .hero-content h1{font-size:clamp(23px,6.7vw,32px) !important;}
  .hero-content p.lead{font-size:11.5px !important;line-height:1.4 !important;}
  .hero-actions{display:flex !important;flex-wrap:wrap !important;}
  .hero-actions .btn{width:auto !important;justify-content:center !important;}
  .faq-bot-btn{bottom:18px !important;}
}
@media(max-width:600px){
  .hero-content,.hero-content-compact{
    left:10px !important;
    right:10px !important;
    bottom:62px !important;
    width:auto !important;
    max-width:none !important;
    padding:13px 14px 14px !important;
    border-radius:16px !important;
  }
  .hero-content .eyebrow{font-size:7.4px !important;}
  .hero-content h1{font-size:clamp(22px,7.2vw,30px) !important;}
  .hero-content p.lead{font-size:11px !important;max-width:92% !important;}
  .hero-actions{margin-top:10px !important;}
  .hero-actions .btn{padding:7px 10px !important;font-size:8px !important;min-height:32px !important;}
}
