/* ==========================================================================
   Sevadar portal — landing page
   Loads on top of sevadar.css, which holds the tokens and buttons.
   ========================================================================== */

body{cursor:default;}
.display{font-family:'Fraunces', serif; font-weight:600; letter-spacing:-0.01em;}
.container{max-width:1180px; margin:0 auto; padding:0 32px;}
section{position:relative;}

/* ---------- Loader ---------- */
#loader{
  position:fixed; inset:0; z-index:999;
  background:linear-gradient(160deg, var(--maroon), var(--maroon-deep));
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  transition:opacity 0.8s var(--ease), visibility 0.8s var(--ease);
}
#loader.hidden{opacity:0; visibility:hidden; pointer-events:none;}
.loader-ring{
  width:74px; height:74px; border-radius:50%;
  border:2px solid rgba(255,255,255,0.18); border-top-color:var(--gold);
  animation:spin 1s linear infinite; position:relative; margin-bottom:24px;
}
.loader-ring::after{
  content:''; position:absolute; inset:0;
  animation:spin-rev 1s linear infinite;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D8A857' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2C12 2 8 6 8 10a4 4 0 008 0c0-4-4-8-4-8z'/%3E%3Cpath d='M4 22c0-4 3.5-7 8-7s8 3 8 7'/%3E%3C/svg%3E");
  background-size:24px 24px; background-repeat:no-repeat; background-position:center;
}
@keyframes spin{to{transform:rotate(360deg);}}
@keyframes spin-rev{to{transform:rotate(-360deg);}}
.loader-text{
  color:#fff; font-family:'Fraunces',serif; font-size:15px;
  letter-spacing:0.14em; text-transform:uppercase; opacity:0.85;
}

/* ---------- Cursor glow ---------- */
#cursor-glow{
  position:fixed; width:26px; height:26px; border-radius:50%;
  background:radial-gradient(circle, rgba(232,132,58,0.55), transparent 70%);
  pointer-events:none; z-index:998; transform:translate(-50%,-50%);
  transition:opacity 0.3s; opacity:0;
}
@media (pointer:fine){ #cursor-glow.active{opacity:1;} }
@media (pointer:coarse){ #cursor-glow{display:none;} }

/* ---------- Scroll reveal ---------- */
.reveal{opacity:0; transform:translateY(36px);
  transition:opacity 0.9s var(--ease), transform 0.9s var(--ease); will-change:transform, opacity;}
.reveal.in-view{opacity:1; transform:translateY(0);}
.reveal-stagger > *{opacity:0; transform:translateY(28px);
  transition:opacity 0.7s var(--ease), transform 0.7s var(--ease);}
.reveal-stagger.in-view > *{opacity:1; transform:translateY(0);}
.reveal-stagger.in-view > *:nth-child(1){transition-delay:0.05s;}
.reveal-stagger.in-view > *:nth-child(2){transition-delay:0.15s;}
.reveal-stagger.in-view > *:nth-child(3){transition-delay:0.25s;}
.reveal-stagger.in-view > *:nth-child(4){transition-delay:0.35s;}
.reveal-stagger.in-view > *:nth-child(5){transition-delay:0.45s;}
.reveal-stagger.in-view > *:nth-child(6){transition-delay:0.55s;}
@keyframes iconPop{
  0%{transform:scale(0.4) rotate(-16deg); opacity:0;}
  60%{transform:scale(1.18) rotate(5deg); opacity:1;}
  100%{transform:scale(1) rotate(0);}
}
.reveal-stagger.in-view .pillar-icon,
.reveal-stagger.in-view .feature-icon{animation:iconPop 0.7s var(--ease) both;}
.reveal-stagger.in-view > *:nth-child(2) .pillar-icon{animation-delay:0.15s;}
.reveal-stagger.in-view > *:nth-child(3) .pillar-icon{animation-delay:0.3s;}
.reveal-stagger.in-view > *:nth-child(2) .feature-icon{animation-delay:0.12s;}
.reveal-stagger.in-view > *:nth-child(3) .feature-icon{animation-delay:0.24s;}
.reveal-stagger.in-view > *:nth-child(4) .feature-icon{animation-delay:0.36s;}
.reveal-stagger.in-view > *:nth-child(5) .feature-icon{animation-delay:0.48s;}
.reveal-stagger.in-view > *:nth-child(6) .feature-icon{animation-delay:0.6s;}
.reveal-scale{opacity:0; transform:scale(0.92);
  transition:opacity 0.8s var(--ease), transform 0.8s var(--ease);}
.reveal-scale.in-view{opacity:1; transform:scale(1);}
.reveal-left{opacity:0; transform:translateX(-40px);
  transition:opacity 0.9s var(--ease), transform 0.9s var(--ease);}
.reveal-left.in-view{opacity:1; transform:translateX(0);}
.reveal-right{opacity:0; transform:translateX(40px);
  transition:opacity 0.9s var(--ease), transform 0.9s var(--ease);}
.reveal-right.in-view{opacity:1; transform:translateX(0);}

.split-word{display:inline-block; overflow:hidden; vertical-align:top;}
.split-word span{display:inline-block; transform:translateY(110%);
  transition:transform 0.85s var(--ease); transition-delay:calc(var(--i) * 0.06s);}
.split-ready .split-word span{transform:translateY(0);}

/* ---------- Nav ---------- */
.nav{position:fixed; top:0; left:0; right:0; z-index:100; padding:22px 0; transition:all 0.4s var(--ease);}
.nav.scrolled{
  padding:14px 0; background:rgba(253,247,238,0.82);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  box-shadow:0 1px 0 var(--line), 0 12px 30px rgba(122,31,43,0.06);
}
.nav-inner{display:flex; align-items:center; justify-content:space-between;}
.brand{
  display:flex; align-items:center; gap:10px;
  font-family:'Fraunces', serif; font-weight:700; font-size:22px; color:var(--maroon-deep);
}
.nav.on-photo:not(.scrolled) .brand{color:#fff;}
.nav.on-photo:not(.scrolled) .nav-links{color:rgba(255,255,255,0.85);}
.nav.on-photo:not(.scrolled) .btn-ghost{border-color:rgba(255,255,255,0.55); color:#fff;}
.nav-links{display:flex; align-items:center; gap:36px; font-size:15px; font-weight:500;
  color:var(--ink-soft); transition:color 0.4s;}
.nav-links a{position:relative; padding:4px 0; transition:color 0.25s;}
.nav-links a::after{content:''; position:absolute; left:0; bottom:-2px; width:0; height:2px;
  background:var(--saffron-deep); transition:width 0.3s var(--ease);}
.nav-links a:hover{color:var(--maroon-deep);}
.nav-links a:hover::after{width:100%;}
.nav-cta{display:flex; align-items:center; gap:14px;}
.nav .btn{padding:11px 24px; font-size:14px;}
.magnetic{will-change:transform;}

/* ---------- Hero ---------- */
.hero{min-height:100vh; display:flex; align-items:center; padding:140px 0 100px;
  position:relative; overflow:hidden; isolation:isolate;}
.hero-photo-layer{
  position:absolute; inset:-6%; z-index:-2;
  background-image:var(--temple-photo); background-size:cover; background-position:center 30%;
  animation:kenburnsHero 24s ease-in-out infinite alternate;
}
@keyframes kenburnsHero{
  0%{transform:scale(1) translateY(0);}
  100%{transform:scale(1.12) translateY(-1.5%);}
}
.hero-photo-overlay{
  position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg, rgba(50,15,10,0.55) 0%, rgba(50,15,10,0.35) 35%, rgba(30,8,6,0.72) 100%),
             linear-gradient(100deg, rgba(122,31,43,0.55), rgba(232,132,58,0.28) 55%, rgba(92,20,32,0.6));
}
.hero-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:60px; align-items:center;
  position:relative; z-index:2;}
.eyebrow{
  display:inline-flex; align-items:center; gap:8px; padding:8px 16px; border-radius:100px;
  background:rgba(255,255,255,0.14); border:1px solid rgba(255,255,255,0.35); backdrop-filter:blur(6px);
  color:var(--gold); font-weight:600; font-size:13px; letter-spacing:0.03em;
  text-transform:uppercase; margin-bottom:24px;
}
.eyebrow .dot{width:6px; height:6px; border-radius:50%; background:var(--gold); animation:pulse 2s infinite;}
.hero h1{font-size:clamp(38px, 5.2vw, 64px); line-height:1.06; color:#fff; margin-bottom:22px;
  text-shadow:0 8px 30px rgba(0,0,0,0.25);}
.hero h1 .accent span{
  background:linear-gradient(100deg, var(--gold), var(--saffron) 60%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  color:transparent; font-style:italic;
}
.hero p.lead{font-size:18px; color:rgba(255,255,255,0.86); max-width:520px; margin-bottom:36px;}
.hero-ctas{display:flex; gap:16px; flex-wrap:wrap; margin-bottom:44px;}
.trust-row{display:flex; align-items:center; gap:18px; color:rgba(255,255,255,0.78); font-size:14px;}
.avatar-stack{display:flex;}
.avatar-stack span{
  width:34px; height:34px; border-radius:50%; border:2.5px solid rgba(255,255,255,0.5);
  background:linear-gradient(140deg, var(--gold), var(--saffron));
  margin-left:-10px; display:flex; align-items:center; justify-content:center;
  font-size:12px; font-weight:700; color:#fff;
}
.avatar-stack span:first-child{margin-left:0;}

.hero-visual{position:relative; display:flex; align-items:center; justify-content:center; perspective:1000px;}
.hero-card{
  position:relative; width:100%; max-width:400px; aspect-ratio:3/3.6;
  border-radius:32px; overflow:hidden;
  background:linear-gradient(165deg, var(--maroon) 0%, var(--maroon-deep) 55%, #3d0e17 100%);
  box-shadow:0 40px 80px rgba(0,0,0,0.45);
  animation:float 6s ease-in-out infinite;
  transform-style:preserve-3d; transition:transform 0.15s ease-out;
  border:1px solid rgba(255,255,255,0.12);
}
@keyframes float{0%,100%{transform:translateY(0) rotate(0deg);} 50%{transform:translateY(-18px) rotate(0.6deg);}}
.hero-card::before{content:''; position:absolute; inset:0;
  background:radial-gradient(circle at 30% 20%, rgba(255,255,255,0.14), transparent 55%);}
.hero-card-content{position:relative; z-index:2; height:100%;
  display:flex; flex-direction:column; justify-content:space-between; padding:28px; color:#fff;}
.hc-top{display:flex; justify-content:space-between; align-items:flex-start;}
.hc-badge{background:rgba(255,255,255,0.16); backdrop-filter:blur(6px);
  padding:6px 14px; border-radius:100px; font-size:12px; font-weight:600;
  display:flex; align-items:center; gap:6px;}
.hc-badge .dot{width:7px; height:7px; border-radius:50%; background:#7BE0A4; animation:pulse 2s infinite;}
.hc-task{margin-top:20px;}
.hc-task .label{font-size:12px; opacity:0.65; text-transform:uppercase; letter-spacing:0.08em; margin-bottom:8px;}
.hc-task h3{font-family:'Fraunces',serif; font-size:24px; font-weight:600; line-height:1.25; margin-bottom:14px;}
.hc-meta{font-size:13px; opacity:0.8; display:flex; flex-direction:column; gap:6px;}
.hc-meta div{display:flex; align-items:center; gap:8px;}
.hc-meta svg{width:14px; height:14px; flex-shrink:0; stroke:currentColor;}
.hc-stats{display:flex; gap:14px;}
.hc-stat{flex:1; background:rgba(255,255,255,0.1); border-radius:14px; padding:14px; text-align:center;}
.hc-stat b{display:block; font-family:'Fraunces',serif; font-size:20px;}
.hc-stat span{font-size:11px; opacity:0.7;}

.scroll-cue{
  position:absolute; bottom:36px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:8px;
  color:rgba(255,255,255,0.8); font-size:12px; letter-spacing:0.08em; text-transform:uppercase; z-index:3;
}
.scroll-cue .mouse{width:22px; height:36px; border:2px solid rgba(255,255,255,0.55); border-radius:12px; position:relative;}
.scroll-cue .mouse::before{content:''; position:absolute; top:6px; left:50%; transform:translateX(-50%);
  width:4px; height:8px; background:var(--gold); border-radius:2px; animation:scrollDot 1.6s infinite;}
@keyframes scrollDot{0%{opacity:1; top:6px;} 70%{opacity:0;} 100%{opacity:0; top:16px;}}

/* ---------- Marquee ---------- */
.marquee{background:var(--maroon-deep); padding:16px 0; overflow:hidden; white-space:nowrap;
  border-top:1px solid rgba(255,255,255,0.08); border-bottom:1px solid rgba(255,255,255,0.08);}
.marquee-track{display:inline-flex; animation:marqueeScroll 26s linear infinite;}
.marquee-track span{display:inline-flex; align-items:center; gap:10px; color:var(--gold);
  font-family:'Fraunces',serif; font-weight:600; font-size:16px; padding:0 28px; letter-spacing:0.02em;}
.marquee-track span svg{width:16px; height:16px; flex-shrink:0; stroke:currentColor;}
.marquee-track span i{color:rgba(255,255,255,0.35); font-style:normal; margin-left:18px;}
@keyframes marqueeScroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}

/* ---------- Wave ---------- */
.wave-divider{display:block; width:100%; line-height:0; position:absolute; left:0; right:0; bottom:-2px;
  z-index:5; pointer-events:none;}
.wave-divider svg{width:100%; height:90px; display:block;}

/* ---------- Sections ---------- */
.section-pad{padding:120px 0;}
.kicker{color:var(--saffron-deep); font-weight:700; font-size:13px; text-transform:uppercase;
  letter-spacing:0.1em; margin-bottom:14px; display:block;}
.section-head{max-width:640px; margin-bottom:64px;}
.section-head.center{margin-left:auto; margin-right:auto; text-align:center;}
.section-head h2{font-size:clamp(28px,3.6vw,42px); color:var(--maroon-deep); margin-bottom:16px;}
.section-head p{color:var(--ink-soft); font-size:17px;}

/* ---------- Sacred ---------- */
.sacred{min-height:78vh; display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden; isolation:isolate;}
.sacred-photo{position:absolute; inset:-10%; z-index:-2;
  background-image:var(--temple-photo); background-size:cover; background-position:center 40%;
  filter:sepia(0.35) saturate(1.4) hue-rotate(-8deg) contrast(1.05) brightness(0.75); will-change:transform;}
.sacred-overlay{position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg, rgba(92,20,32,0.55), rgba(43,10,16,0.82));}
.sacred-content{text-align:center; color:#fff; max-width:720px; padding:0 32px;}
.sacred-content .kicker{color:var(--gold);}
.sacred-content h2{color:#fff; font-size:clamp(28px,4vw,46px); margin-bottom:20px;}
.sacred-content p{color:rgba(255,255,255,0.85); font-size:17.5px; margin-bottom:30px;}
.sacred-badges{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}
.sacred-badge{
  background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.25); backdrop-filter:blur(6px);
  padding:10px 20px; border-radius:100px; font-size:13.5px; font-weight:600;
  display:flex; align-items:center; gap:9px;
  opacity:0; transform:translateY(18px) scale(0.9);
  transition:opacity 0.6s var(--ease), transform 0.6s var(--ease);
}
.sacred-content.in-view .sacred-badge{opacity:1; transform:translateY(0) scale(1);}
.sacred-content.in-view .sacred-badge:nth-child(1){transition-delay:0.3s;}
.sacred-content.in-view .sacred-badge:nth-child(2){transition-delay:0.42s;}
.sacred-content.in-view .sacred-badge:nth-child(3){transition-delay:0.54s;}
.sacred-badge svg{width:17px; height:17px; flex-shrink:0; stroke:var(--gold); color:var(--gold);}

/* ---------- Pillars ---------- */
.mission{background:var(--cream);}
.pillars{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
.pillar{background:#fff; border-radius:var(--radius); padding:38px 30px; border:1px solid var(--line);
  box-shadow:var(--shadow); transition:transform 0.25s var(--ease), box-shadow 0.4s var(--ease);
  transform-style:preserve-3d;}
.pillar:hover{box-shadow:0 30px 60px rgba(122,31,43,0.16);}
.pillar-icon{width:56px; height:56px; border-radius:16px; display:flex; align-items:center;
  justify-content:center; margin-bottom:22px; transition:transform 0.4s var(--ease);}
.pillar:hover .pillar-icon{transform:scale(1.12) rotate(-6deg);}
.pillar-icon svg{width:26px; height:26px;}
.pillar h3{font-size:21px; color:var(--maroon-deep); margin-bottom:10px;}
.pillar p{color:var(--ink-soft); font-size:15px;}

/* ---------- Timeline ---------- */
.how{background:linear-gradient(180deg, var(--cream-2), var(--cream)); position:relative;}
.timeline{position:relative;}
.timeline-line{position:absolute; left:29px; top:10px; bottom:10px; width:2px; background:rgba(122,31,43,0.14);}
.timeline-line-fill{position:absolute; left:0; top:0; width:100%; height:0%;
  background:linear-gradient(180deg, var(--saffron-deep), var(--maroon));
  transition:height 1.2s var(--ease); box-shadow:0 0 14px rgba(232,132,58,0.6);}
.step{display:grid; grid-template-columns:60px 1fr; gap:28px; padding-bottom:52px; position:relative;}
.step:last-child{padding-bottom:0;}
.step-num{width:60px; height:60px; border-radius:50%; background:#fff; border:2px solid rgba(122,31,43,0.14);
  display:flex; align-items:center; justify-content:center;
  font-family:'Fraunces',serif; font-weight:700; font-size:20px; color:var(--maroon-deep);
  z-index:2; box-shadow:0 8px 20px rgba(122,31,43,0.08); transition:all 0.5s var(--ease);}
.step.in-view .step-num{background:linear-gradient(135deg, var(--saffron), var(--maroon));
  color:#fff; border-color:transparent; transform:scale(1.08);}
.step-card{background:#fff; border-radius:18px; padding:26px 28px; border:1px solid var(--line);
  box-shadow:0 10px 26px rgba(122,31,43,0.06);
  transition:transform 0.35s var(--ease), box-shadow 0.35s var(--ease);}
.step-card:hover{transform:translateX(6px); box-shadow:0 16px 34px rgba(122,31,43,0.12);}
.step-card h3{font-size:19px; color:var(--maroon-deep); margin-bottom:8px;}
.step-card p{color:var(--ink-soft); font-size:15px;}

/* ---------- Features ---------- */
.features{background:var(--cream);}
.feature-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:24px;}
.feature-card{padding:32px 26px; border-radius:20px; background:#fff; border:1px solid var(--line);
  transition:transform 0.15s ease-out, box-shadow 0.4s var(--ease), border-color 0.4s;
  transform-style:preserve-3d; will-change:transform;}
.feature-card:hover{box-shadow:0 24px 50px rgba(122,31,43,0.14); border-color:transparent;}
.feature-icon{width:50px; height:50px; border-radius:14px;
  background:linear-gradient(135deg, rgba(232,132,58,0.16), rgba(216,168,87,0.16));
  display:flex; align-items:center; justify-content:center; margin-bottom:20px;
  transition:transform 0.4s var(--ease);}
.feature-card:hover .feature-icon{transform:scale(1.1) rotate(6deg);}
.feature-icon svg{width:24px; height:24px; color:var(--saffron-deep);}
.feature-card h3{font-size:18px; color:var(--maroon-deep); margin-bottom:8px;}
.feature-card p{color:var(--ink-soft); font-size:14.5px;}

/* ---------- Impact ---------- */
.impact{background:linear-gradient(160deg, var(--maroon) 0%, var(--maroon-deep) 60%, #3d0e17 100%);
  color:#fff; position:relative; overflow:hidden;}
.impact::before{content:''; position:absolute; top:-30%; left:-10%; width:60%; height:160%;
  background:radial-gradient(circle, rgba(232,132,58,0.25), transparent 65%);
  pointer-events:none; animation:glowDrift 12s ease-in-out infinite alternate;}
@keyframes glowDrift{0%{transform:translate(0,0) scale(1);} 100%{transform:translate(6%,4%) scale(1.15);}}
.impact .section-head h2{color:#fff;}
.impact .section-head p{color:rgba(255,255,255,0.72);}
.stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; position:relative; z-index:2;}
.stat-box{text-align:center; padding:34px 20px; border-radius:20px;
  background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1);
  transition:transform 0.35s var(--ease), background 0.35s var(--ease);}
.stat-box:hover{transform:translateY(-6px); background:rgba(255,255,255,0.1);}
.stat-num{font-family:'Fraunces',serif; font-weight:700; font-size:44px;
  background:linear-gradient(100deg, #fff, var(--gold));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  color:transparent; margin-bottom:6px;}
.stat-label{font-size:14px; color:rgba(255,255,255,0.7); letter-spacing:0.02em;}

/* ---------- Quote ---------- */
.quote-section{padding:110px 0; text-align:center; background:var(--cream);}
.quote-mark{font-family:'Fraunces',serif; font-size:80px; color:rgba(232,132,58,0.35);
  line-height:0.5; margin-bottom:10px;}
blockquote{font-family:'Fraunces',serif; font-style:italic; font-weight:500;
  font-size:clamp(22px,3vw,34px); color:var(--maroon-deep); max-width:760px;
  margin:0 auto 20px; line-height:1.4;}
.quote-source{color:var(--ink-soft); font-size:14px; letter-spacing:0.04em; text-transform:uppercase;}

/* ---------- Announcements ---------- */
.announce{background:var(--cream-2);}
.announce-grid{display:grid; grid-template-columns:1.1fr 1fr; gap:24px; align-items:stretch;}
.announce-feed{display:flex; flex-direction:column; gap:16px;}
.announce-item{background:#fff; border-radius:16px; padding:22px 24px;
  border-left:3px solid var(--saffron); box-shadow:0 8px 22px rgba(122,31,43,0.06);
  display:flex; gap:16px; align-items:flex-start;
  transition:transform 0.3s var(--ease), box-shadow 0.3s var(--ease);}
.announce-item:hover{transform:translateX(6px); box-shadow:0 14px 30px rgba(122,31,43,0.1);}
.announce-item .ai-icon{width:38px; height:38px; border-radius:10px; flex-shrink:0;
  background:rgba(232,132,58,0.14); display:flex; align-items:center; justify-content:center;}
.announce-item .ai-icon svg{width:19px; height:19px; stroke:var(--saffron-deep); color:var(--saffron-deep);}
.announce-item h4{font-size:15.5px; color:var(--maroon-deep); margin-bottom:4px;}
.announce-item p{font-size:14px; color:var(--ink-soft);}
.announce-visual{border-radius:22px; overflow:hidden; position:relative; min-height:280px;
  background:linear-gradient(160deg, var(--saffron), var(--gold));
  display:flex; align-items:center; justify-content:center; padding:36px;}
.announce-visual-inner{text-align:center; color:#fff;}
.announce-visual-inner .big-quote{font-family:'Fraunces',serif; font-size:22px; font-weight:600;
  line-height:1.35; margin-bottom:14px;}

/* ---------- CTA ---------- */
.cta-banner{padding:100px 0; background:var(--cream);}
.cta-box{background:linear-gradient(135deg, var(--saffron) 0%, var(--saffron-deep) 45%, var(--maroon) 100%);
  border-radius:32px; padding:70px 60px; text-align:center; color:#fff; position:relative; overflow:hidden;}
.cta-box::before{content:''; position:absolute; inset:0;
  background:radial-gradient(circle at 20% 20%, rgba(255,255,255,0.25), transparent 50%);}
.cta-box h2{font-size:clamp(28px,4vw,42px); margin-bottom:16px; position:relative;}
.cta-box p{font-size:17px; opacity:0.92; max-width:520px; margin:0 auto 34px; position:relative;}
.cta-actions{display:flex; gap:16px; justify-content:center; flex-wrap:wrap; position:relative;}

/* ---------- Footer ---------- */
.site-footer{background:var(--maroon-deep); color:rgba(255,255,255,0.75); padding:64px 0 28px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:44px;
  border-bottom:1px solid rgba(255,255,255,0.12);}
.footer-brand .brand{color:#fff; margin-bottom:14px;}
.footer-brand p{font-size:14px; max-width:280px; color:rgba(255,255,255,0.6);}
.site-footer h4{color:#fff; font-size:14px; margin-bottom:16px; font-weight:600;}
.site-footer ul{list-style:none;}
.site-footer li{margin-bottom:10px;}
.site-footer a{font-size:14px; color:rgba(255,255,255,0.65); transition:color 0.25s;}
.site-footer a:hover{color:var(--gold);}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:26px;
  font-size:13px; color:rgba(255,255,255,0.5); flex-wrap:wrap; gap:12px;}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr; text-align:center;}
  .hero p.lead{margin-left:auto; margin-right:auto;}
  .hero-ctas, .trust-row{justify-content:center;}
  .hero-visual{margin-top:20px;}
  .nav-links{display:none;}
  .nav-inner{gap:10px;}
  .brand{font-size:18px; gap:8px;}
  .brand-mark{width:32px; height:32px;}
  .brand-mark svg{width:16px; height:16px;}
  .nav-cta{gap:8px;}
  .nav .btn{padding:9px 16px; font-size:12.5px; white-space:nowrap;}
  .pillars, .feature-grid{grid-template-columns:1fr 1fr;}
  .stats-grid{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .announce-grid{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .container{padding:0 20px;}
  .pillars, .feature-grid, .stats-grid, .footer-grid{grid-template-columns:1fr;}
  .cta-box{padding:50px 26px;}
  .section-pad{padding:80px 0;}
  .sacred{min-height:60vh;}
}
@media (max-width:430px){
  .brand{font-size:16px;}
  .nav .btn{padding:8px 13px; font-size:11.5px;}
  .nav-cta .btn-ghost{display:none;}
}
