/* Radiant Life International Fellowship, World-Class V2 visual system */
:root{
  --ink:#041017;
  --ink-2:#071923;
  --ink-3:#0b2531;
  --glass:rgba(9,28,38,.62);
  --glass-strong:rgba(7,22,31,.84);
  --glass-light:rgba(255,255,255,.075);
  --cyan:#5fd7ff;
  --cyan-2:#14b9ee;
  --gold:#f2c96e;
  --warm:#fff7e8;
  --muted:#9cb1ba;
  --text-v2:#d9e6ea;
  --line-v2:rgba(183,226,241,.16);
  --shadow-v2:0 30px 80px rgba(0,0,0,.34);
  --radius-v2:24px;
  --ease-v2:cubic-bezier(.16,1,.3,1);
}

html{background:var(--ink); scroll-padding-top:96px;}
body{
  background:
    radial-gradient(900px 520px at 12% 8%, rgba(20,185,238,.11), transparent 64%),
    radial-gradient(800px 540px at 92% 18%, rgba(242,201,110,.07), transparent 64%),
    var(--ink);
  color:var(--text-v2);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body::before{
  content:"";
  position:fixed; inset:0; pointer-events:none; z-index:-1;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.32), transparent 70%);
}

.skip-link{
  position:fixed; top:12px; left:16px; z-index:9999; transform:translateY(-180%);
  background:#fff; color:#071923; padding:10px 14px; border-radius:10px; font-weight:700;
  transition:transform .2s ease;
}
.skip-link:focus{transform:translateY(0);}

/* progress line */
.page-progress{position:fixed; top:0; left:0; z-index:900; height:2px; width:100%; pointer-events:none;}
.page-progress::before{content:""; display:block; height:100%; width:calc(var(--scroll-progress,0) * 100%); background:linear-gradient(90deg,var(--cyan),var(--gold)); box-shadow:0 0 14px rgba(95,215,255,.65);}

/* global layout */
.wrap{max-width:1320px; padding-left:clamp(22px,4vw,54px); padding-right:clamp(22px,4vw,54px);}
section{padding:clamp(76px,9vw,132px) 0;}
.eyebrow{
  color:var(--cyan); font-size:11px; letter-spacing:.22em; font-weight:800;
  display:flex; align-items:center; gap:10px;
}
.eyebrow::before{content:""; width:26px; height:1px; background:linear-gradient(90deg,var(--cyan),transparent);}
.section-head{max-width:760px; margin-bottom:clamp(34px,5vw,64px);}
.section-head h1,.section-head h2{font-size:clamp(38px,5vw,68px); line-height:.98; letter-spacing:-.035em;}
.section-head p{font-size:clamp(15px,1.4vw,18px); max-width:680px; color:#acc1c8;}

/* premium sticky glass header */
header{
  position:sticky !important; top:0; z-index:800 !important;
  background:rgba(4,16,23,.68) !important;
  backdrop-filter:blur(18px) saturate(150%);
  -webkit-backdrop-filter:blur(18px) saturate(150%);
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:background .35s var(--ease-v2), box-shadow .35s var(--ease-v2), border-color .35s var(--ease-v2);
}
header.is-scrolled{background:rgba(4,16,23,.9) !important; box-shadow:0 14px 40px rgba(0,0,0,.2); border-color:rgba(95,215,255,.13);}
.navbar{max-width:1480px; padding:10px clamp(18px,3vw,40px);}
.brand img{
  width:68px !important; height:68px !important;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 0 0 5px rgba(95,215,255,.04),0 10px 28px rgba(0,0,0,.28);
}
.nav-item > a,.nav-item > button,.text-link{font-size:12px; letter-spacing:.07em;}
.nav-item > a,.nav-item > button{padding:12px 13px;}
.text-link{padding:10px 9px;}
.menu-btn{border-radius:999px !important; border-color:rgba(255,255,255,.18) !important; background:rgba(255,255,255,.045) !important;}
.mega{
  background:rgba(7,24,33,.94) !important;
  border:1px solid rgba(95,215,255,.12);
  backdrop-filter:blur(24px) saturate(150%);
  -webkit-backdrop-filter:blur(24px) saturate(150%);
  border-radius:20px !important; top:calc(100% + 10px) !important;
  box-shadow:0 28px 70px rgba(0,0,0,.42) !important;
}
.mega .t{color:var(--cyan);}

/* immersive hero */
.hero{
  min-height:calc(100svh - 88px);
  padding:clamp(70px,8vh,110px) 0 clamp(72px,10vh,128px);
  align-items:flex-end;
  background:#05141c;
  isolation:isolate;
}
.hero::before{
  content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:
    radial-gradient(620px 420px at 22% 65%, rgba(20,185,238,.17), transparent 70%),
    linear-gradient(90deg, rgba(3,13,19,.9) 0%, rgba(3,13,19,.58) 42%, rgba(3,13,19,.08) 77%),
    linear-gradient(180deg, rgba(2,10,15,.08), rgba(2,10,15,.15) 45%, rgba(2,10,15,.78));
}
.hero-overlay{background:linear-gradient(180deg,rgba(3,14,20,.04),rgba(3,14,20,.16) 48%,rgba(3,14,20,.68));}
.hero-slide{transition:opacity 1.1s ease, transform 1.8s var(--ease-v2), filter 1.2s ease; transform:scale(1.035); filter:saturate(.88) contrast(1.02);}
.hero-slide.active{transform:scale(1); filter:saturate(1.02) contrast(1.02);}
.hero-slide img,.hero-slide video{object-position:center 22%;}
.hero-content{
  max-width:760px !important;
  margin-left:clamp(22px,4vw,54px) !important;
  margin-right:clamp(22px,4vw,54px) !important;
  padding:clamp(24px,3vw,40px) clamp(24px,3.5vw,46px) !important;
  border:1px solid rgba(255,255,255,.16);
  border-radius:28px !important;
  background:linear-gradient(145deg,rgba(7,27,37,.72),rgba(7,27,37,.42)) !important;
  backdrop-filter:blur(20px) saturate(145%);
  -webkit-backdrop-filter:blur(20px) saturate(145%);
  box-shadow:0 32px 80px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.08);
  overflow:hidden;
}
.hero-content::after{
  content:""; position:absolute; width:240px; height:240px; right:-80px; top:-100px; border-radius:50%;
  background:radial-gradient(circle,rgba(95,215,255,.24),transparent 68%); pointer-events:none;
}
.hero-content .eyebrow{font-size:11px; color:#b7ecff; text-shadow:none;}
.hero-content h1{
  font-size:clamp(38px,5.6vw,76px) !important;
  line-height:.98 !important; letter-spacing:-.045em !important; font-weight:800;
  margin:18px 0 18px !important; text-shadow:0 6px 30px rgba(0,0,0,.32);
}
.hero-content h1 em{display:block; margin-top:8px; color:var(--cyan);}
.hero-content p.lead{font-size:clamp(15px,1.45vw,19px) !important; line-height:1.55; max-width:620px !important; color:#d5e4e8 !important; text-shadow:none;}
.hero-actions{margin-top:26px;}
.btn{border-radius:999px !important; padding:14px 24px !important; font-size:12px !important; letter-spacing:.04em; text-transform:uppercase; font-weight:800 !important;}
.btn-primary{background:linear-gradient(135deg,var(--cyan),var(--cyan-2)) !important; color:#021018 !important; box-shadow:0 14px 36px rgba(20,185,238,.22);}
.btn-primary:hover{box-shadow:0 20px 46px rgba(20,185,238,.34); transform:translateY(-3px);}
.btn-outline{background:rgba(255,255,255,.06) !important; border-color:rgba(255,255,255,.24) !important; backdrop-filter:blur(8px);}
.hero-nav-arrow{width:52px; height:52px; border-color:rgba(255,255,255,.18); background:rgba(4,16,23,.45); backdrop-filter:blur(10px);}
.hero-dots{bottom:30px; right:clamp(22px,4vw,54px); gap:8px; max-width:55%;}
.hero-dot{width:26px !important; height:3px !important; border-radius:99px !important; background:rgba(255,255,255,.3) !important; transform:none !important;}
.hero-dot.active{background:linear-gradient(90deg,var(--cyan),var(--gold)) !important;}
.mountain{opacity:.42; width:19%;}

/* mission ribbon */
.mission-ribbon{padding:0 !important; background:linear-gradient(90deg,#f8f1e4,#fffaf1); color:#0b2630; position:relative; overflow:hidden;}
.mission-ribbon::before{content:""; position:absolute; inset:0; background:radial-gradient(600px 240px at 15% 50%,rgba(20,185,238,.12),transparent 70%),radial-gradient(500px 240px at 90% 50%,rgba(242,201,110,.18),transparent 70%);}
.mission-ribbon-grid{display:grid; grid-template-columns:repeat(3,1fr); position:relative;}
.mission-ribbon-item{padding:clamp(32px,4vw,56px); border-right:1px solid rgba(7,25,35,.1);}
.mission-ribbon-item:last-child{border-right:0;}
.mission-ribbon-item .n{font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:#2f7488; font-weight:800;}
.mission-ribbon-item h2,.mission-ribbon-item h3{color:#071923; font-size:clamp(28px,3vw,44px); margin:6px 0 8px; letter-spacing:-.04em;}
.mission-ribbon-item p{color:#48616a; font-size:14px; max-width:300px;}

/* layered dark sections */
.alt-bg{background:linear-gradient(180deg,#05131b,#061a24) !important;}
.alt-bg::after{opacity:.018 !important;}
.ways,.programs{gap:22px !important;}
.way-card,.program-card,.testi-card,.event-card{
  border:1px solid var(--line-v2) !important;
  background:linear-gradient(155deg,rgba(13,43,56,.76),rgba(7,25,34,.78)) !important;
  border-radius:var(--radius-v2) !important;
  overflow:hidden;
  box-shadow:0 12px 36px rgba(0,0,0,.18) !important;
  transform:translateZ(0);
}
.way-card:hover,.program-card:hover,.event-card:hover,.testi-card:hover{
  transform:translateY(-8px) !important;
  border-color:rgba(95,215,255,.36) !important;
  box-shadow:0 28px 60px rgba(0,0,0,.3),0 0 0 1px rgba(95,215,255,.05) !important;
}
.way-card .ph,.program-card .ph,.event-card .ph{border-radius:0 !important;}
.way-card .ph img,.program-card .ph img,.event-card .ph img{transition:transform .8s var(--ease-v2), filter .6s ease;}
.way-card:hover .ph img,.program-card:hover .ph img,.event-card:hover .ph img{transform:scale(1.045); filter:saturate(1.06);}
.way-body,.program-body{padding:24px 24px 28px !important;}
.way-body h3,.program-body h3{font-size:21px; letter-spacing:-.02em;}
.way-body p,.program-body p{color:#a9bec6;}
.way-body .num{color:var(--gold) !important; font-weight:800;}
.events-row{gap:18px !important;}
.event-card{border-radius:22px !important;}
.reveal-title{background:linear-gradient(180deg,transparent,rgba(3,13,19,.9)) !important; padding:46px 20px 18px !important; font-size:15px !important;}

/* founder spotlight */
.founder-spotlight{background:linear-gradient(135deg,#f6f1e7 0%,#fffaf1 55%,#ecf8fb 100%); color:#0b2630; overflow:hidden; position:relative;}
.founder-spotlight::before{content:"";position:absolute;width:680px;height:680px;right:-260px;top:-290px;border-radius:50%;border:1px solid rgba(20,185,238,.22);box-shadow:0 0 0 80px rgba(20,185,238,.025),0 0 0 160px rgba(20,185,238,.018);}
.founder-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,7vw,94px);align-items:center;}
.founder-photo{position:relative; border-radius:30px; overflow:hidden; min-height:560px; box-shadow:0 34px 80px rgba(31,60,70,.18);}
.founder-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 22%;}
.founder-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(4,16,23,.5));}
.founder-copy .eyebrow{color:#2f7488;}
.founder-copy h2{color:#071923;font-size:clamp(44px,6vw,78px);line-height:.95;letter-spacing:-.05em;margin:18px 0 22px;}
.founder-copy p{color:#536970;font-size:clamp(16px,1.5vw,19px);line-height:1.75;max-width:680px;}
.founder-copy .quote{margin:28px 0;padding:22px 0 22px 24px;border-left:2px solid #2db8e7;color:#1d3e49;font-size:20px;font-weight:700;line-height:1.4;}
.founder-copy .btn-outline.dark{border-color:#0e8dbb !important;color:#0d6f91 !important;background:transparent !important;}

/* watch, galleries, testimony */
.watch{gap:clamp(34px,6vw,76px) !important; align-items:center;}
.live-stage{border-radius:28px !important; border:1px solid var(--line-v2); box-shadow:var(--shadow-v2); overflow:hidden;}
.watch h2{font-size:clamp(40px,5vw,66px);line-height:1;letter-spacing:-.04em;}
.watch .lead{font-size:17px !important;color:#acc0c7 !important;}
.watch-links a{border-bottom-color:rgba(255,255,255,.1) !important; padding:15px 0 !important;}
.scroll-gallery{overflow:hidden;}
.scroll-gallery-track{gap:18px !important; will-change:transform;}
.scroll-gallery-track img,.thumb-card{border-radius:20px !important;border:1px solid rgba(255,255,255,.08);box-shadow:0 12px 32px rgba(0,0,0,.22);}
.scroll-gallery-nav{background:rgba(4,16,23,.7) !important; backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.16) !important; box-shadow:0 8px 24px rgba(0,0,0,.25);}
.testi-card{min-height:240px; padding:28px !important;}
.testi-card p{font-size:16px !important; line-height:1.7 !important;}
.verified-tag{color:#7fdcf8 !important;}

/* sing to the Lord / civic */
.sing-lord-banner{background:linear-gradient(150deg,#06151e,#0a2a38) !important;position:relative;overflow:hidden;}
.sing-lord-banner::before{content:"";position:absolute;inset:-30%;background:radial-gradient(circle at 28% 35%,rgba(20,185,238,.12),transparent 30%),radial-gradient(circle at 76% 60%,rgba(242,201,110,.08),transparent 28%);pointer-events:none;}
.sing-lord-title h2{font-size:clamp(48px,7vw,96px) !important; letter-spacing:-.055em; line-height:.9;}
.sing-lord-poster img{border-radius:26px !important; box-shadow:var(--shadow-v2);}

/* candle story */
.candle-scroll-section{background:#02090d !important;}
.candle-title{font-size:clamp(3.4rem,8vw,7.5rem) !important; letter-spacing:-.05em !important;}
.candle-eyebrow{color:var(--gold) !important;}

/* discover */
.discover{background:#f7f2e9 !important;color:#08212c;}
.discover h2{color:#08212c !important;font-size:clamp(46px,6vw,78px) !important;letter-spacing:-.05em;}
.discover .eyebrow{color:#2f7488;justify-content:center;}
.discover-circle .ring{background:rgba(255,255,255,.72) !important;border:1px solid rgba(8,33,44,.12) !important;box-shadow:0 12px 36px rgba(21,54,65,.11);color:#0b7598 !important;}
.discover-circle span{color:#153a47 !important;font-weight:700;}

/* give */
.give-banner{background:radial-gradient(700px 360px at 50% 0%,rgba(95,215,255,.18),transparent 68%),linear-gradient(150deg,#05131b,#092a39) !important;position:relative;overflow:hidden;}
.give-banner h2{font-size:clamp(46px,6.5vw,88px) !important;letter-spacing:-.05em;line-height:.95;}
.give-banner .lead{max-width:720px !important;font-size:18px !important;}

/* inner pages */
main > section:first-child:not(.hero):not(.give-banner){padding-top:clamp(88px,10vw,140px) !important;}
main > section:first-child:not(.hero) .section-head{max-width:860px;}
main > section:first-child:not(.hero) .section-head h1{font-size:clamp(48px,7vw,92px);line-height:.94;letter-spacing:-.055em;}

/* footer */
footer{background:#02090d !important;border-top:1px solid rgba(255,255,255,.08);padding-top:70px !important;}
.foot-grid{gap:44px !important;}
.foot-brand img{box-shadow:0 0 0 5px rgba(95,215,255,.04),0 12px 28px rgba(0,0,0,.3);}
.foot-col h4{color:#aeeaff !important;font-size:11px !important;letter-spacing:.18em;text-transform:uppercase;}
.foot-col a{color:#a8bbc2 !important;transition:color .2s ease,transform .2s ease;}
.foot-col a:hover{color:#fff !important;transform:translateX(3px);}

/* FAQs / utilities */
.faq-bot-btn,.candle-widget{filter:drop-shadow(0 16px 26px rgba(0,0,0,.3));}
.faq-panel{background:rgba(6,24,33,.94) !important;backdrop-filter:blur(20px);border-color:rgba(95,215,255,.15) !important;}
.motion-toggle{
  position:fixed; right:24px; bottom:24px; z-index:240;
  display:inline-flex; align-items:center; gap:8px; padding:10px 14px;
  border-radius:999px; border:1px solid rgba(255,255,255,.14);
  background:rgba(4,16,23,.78); color:#d9edf3; font:700 11px/1 'Proxima Nova',sans-serif;
  letter-spacing:.06em; text-transform:uppercase; cursor:pointer; backdrop-filter:blur(14px);
  box-shadow:0 12px 28px rgba(0,0,0,.25);
}
.motion-toggle:hover{border-color:rgba(95,215,255,.38);}
.motion-toggle .motion-dot{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px rgba(95,215,255,.7);}
body.motion-paused .motion-toggle .motion-dot{background:#81939a;box-shadow:none;}

/* accessible focus */
:where(a,button,input,textarea,select):focus-visible{outline:3px solid rgba(95,215,255,.92) !important;outline-offset:4px !important;}

/* mobile refinement */
@media(max-width:980px){
  header{position:sticky !important;}
  .navbar{padding:9px 16px;}
  .brand img{width:58px !important;height:58px !important;}
  .hero{min-height:calc(100svh - 76px); padding-bottom:84px;}
  .hero::before{background:linear-gradient(180deg,rgba(2,10,15,.12),rgba(2,10,15,.28) 40%,rgba(2,10,15,.88) 82%);}
  .hero-content{margin:0 18px !important;padding:24px 22px !important;max-width:none !important;border-radius:22px !important;}
  .hero-content h1{font-size:clamp(34px,10.5vw,52px) !important;}
  .hero-content h1 em{margin-top:5px;}
  .hero-content p.lead{font-size:14px !important;}
  .hero-nav-arrow{top:44%;width:42px;height:42px;}
  .hero-nav-arrow.prev{left:12px}.hero-nav-arrow.next{right:12px}
  .hero-dots{left:18px;right:18px;bottom:24px;max-width:none;justify-content:flex-start;overflow:hidden;}
  .hero-dot{flex:1;max-width:40px;min-width:12px;}
  .mountain{display:none;}
  .mission-ribbon-grid{grid-template-columns:1fr;}
  .mission-ribbon-item{border-right:0;border-bottom:1px solid rgba(7,25,35,.1);}
  .mission-ribbon-item:last-child{border-bottom:0;}
  .founder-grid{grid-template-columns:1fr;}
  .founder-photo{min-height:440px;}
  .founder-copy h2{font-size:52px;}
  .motion-toggle{right:14px;bottom:14px;padding:9px 11px;}
  .faq-bot-btn{right:16px !important;bottom:68px !important;}
}
@media(max-width:600px){
  section{padding:72px 0;}
  .section-head h1,.section-head h2{font-size:40px;}
  .hero-actions{display:grid;grid-template-columns:1fr;}
  .hero-actions .btn{justify-content:center;width:100%;}
  .founder-photo{min-height:380px;}
  .founder-copy .quote{font-size:18px;}
}

/* reduced motion / explicit pause */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto !important;}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
  .hero-slide,.hero-slide img,.hero-photo-fg{transform:none !important;}
}
body.motion-paused *,body.motion-paused *::before,body.motion-paused *::after{animation-play-state:paused !important;}
body.motion-paused .reveal{transform:none !important;opacity:1 !important;}
body.motion-paused .candle-scroll-section{height:100vh !important;}
body.motion-paused .candle-scroll-section .candle-video:not(.candle-static-fallback){display:none !important;}
body.motion-paused .candle-scroll-section .candle-static-fallback{display:block !important;}

/* V2.1 finishing details */
body.menu-open{overflow:hidden;}
.hero-dot{padding:0 !important;border:0 !important;appearance:none;-webkit-appearance:none;box-shadow:none;}
.hero-dot:focus-visible{height:5px !important;}

/* Soft interactive glass illumination, intentionally subtle, never a neon demo. */
.way-card,.program-card,.event-card,.testi-card{position:relative;isolation:isolate;}
.way-card::before,.program-card::before,.event-card::before,.testi-card::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;
  background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),rgba(95,215,255,.12),transparent 56%);
  transition:opacity .35s ease;
}
.way-card:hover::before,.program-card:hover::before,.event-card:hover::before,.testi-card:hover::before{opacity:1;}

/* Low-frequency ambient light gives the glass hero life without competing with the message. */
.hero::after{
  content:"";position:absolute;z-index:2;pointer-events:none;width:42vw;height:42vw;min-width:420px;min-height:420px;
  left:-12vw;top:20%;border-radius:50%;filter:blur(28px);opacity:.24;
  background:radial-gradient(circle,rgba(95,215,255,.28),rgba(95,215,255,.04) 45%,transparent 70%);
  animation:radiantAmbient 14s ease-in-out infinite alternate;
}
@keyframes radiantAmbient{from{transform:translate3d(-2%,3%,0) scale(.96);opacity:.16}to{transform:translate3d(11%,-5%,0) scale(1.08);opacity:.3}}

/* Let the browser skip paint work for distant, content-heavy sections until needed. */
@supports(content-visibility:auto){
  main > section:not(.hero):not(.candle-scroll-section){content-visibility:auto;contain-intrinsic-size:auto 760px;}
}

.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important;}
