/* ===== SIGNATURE (after footer) ===== */
.sign{position:relative;overflow:hidden;padding:90px 0 70px;text-align:center;background:var(--bg);border-top:1px solid var(--line)}
.sign .container{position:relative;z-index:2}
.sign-glow{position:absolute;left:50%;top:68%;width:90vw;height:44vw;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(229,72,77,.3),transparent);filter:blur(50px);animation:breathe 6s ease-in-out infinite;pointer-events:none}
@keyframes breathe{50%{opacity:.45;transform:translate(-50%,-50%) scale(1.15)}}
.sign-k{font:500 .74rem 'JetBrains Mono';letter-spacing:.28em;text-transform:uppercase;color:var(--t3);opacity:0;transform:translateY(14px);transition:1s var(--ease)}
.sign-w{font:300 clamp(1.3rem,3vw,2.1rem) Poppins;letter-spacing:-.02em;margin:16px 0 8px;color:var(--t2);opacity:0;transform:translateY(24px);transition:1.1s var(--ease) .15s}
.sign-line{display:flex;align-items:center;justify-content:center;gap:18px;margin:6px auto 22px;width:min(420px,70%)}
.sign-line i{flex:1;height:1px;background:var(--line2);transform:scaleX(0);transition:1.6s var(--ease) .4s}.sign-line i:first-child{transform-origin:right}.sign-line i:last-child{transform-origin:left}
.heart{display:inline-block;color:var(--accent-2);font-size:1.6rem;animation:beat 1.4s ease-in-out infinite;filter:drop-shadow(0 0 12px rgba(229,72,77,.7))}
@keyframes beat{0%,100%{transform:scale(1)}15%{transform:scale(1.35)}30%{transform:scale(1)}45%{transform:scale(1.2)}}
.sign.in .sign-k,.sign.in .sign-w{opacity:1;transform:none}.sign.in .sign-line i{transform:none}
.sign-b{font:700 clamp(2.4rem,7.2vw,6.2rem) Poppins;letter-spacing:-.04em;max-width:100%;line-height:.95;display:flex;justify-content:center;flex-wrap:wrap;column-gap:.28em;padding-bottom:.08em}
.sign-b .wd{display:inline-flex;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
.sign-b .ch{display:inline-block;transform:translateY(112%) rotate(10deg);opacity:0;transition:transform 1.2s var(--ease),opacity .6s;transition-delay:calc(.5s + var(--i)*70ms);
background:linear-gradient(100deg,var(--t1) 35%,var(--accent-2) 50%,var(--t1) 65%);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:shine 5s linear infinite;animation-delay:calc(var(--i)*-.3s)}
.sign.in .ch{transform:none;opacity:1}.sign-b .ch:hover{transform:translateY(-8px) scale(1.06);transition-delay:0s;transition-duration:.35s}
@keyframes shine{to{background-position:-300% 0}}
.sign-hearts{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.fh{position:absolute;bottom:-30px;color:var(--accent-2);opacity:0;animation:rise var(--d,7s) ease-in forwards}
@keyframes rise{10%{opacity:.7}to{transform:translate(var(--x,0),-520px) rotate(var(--r,20deg)) scale(1.4);opacity:0}}
@media(max-width:700px){.sign{padding:80px 0 70px}.sign-b{font-size:clamp(2.6rem,15vw,4.6rem)}}
/* ===== NAV: 7 links + mobile overlay ===== */
.nav-links{gap:28px}.nav-links a.active{color:var(--t1)}
.m-cta{display:none}
@media(min-width:1181px){.nav-links{gap:clamp(18px,2vw,30px)}}
@media(max-width:1180px){
.brand,.nav-cta{position:relative;z-index:3}
.burger{display:flex}.burger span{transition:transform .5s var(--ease),opacity .3s}
.burger.open span:first-child{transform:translateY(3.75px) rotate(45deg)}.burger.open span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
.nav-cta .btn:not(.btn-fill):not(.btn-download){display:none}
.nav-links{position:fixed;inset:0;top:0;height:100vh;height:100dvh;flex-direction:column;justify-content:center;align-items:center;gap:2px;background:var(--bg);padding:90px 6% 40px;border:0;transform:none;opacity:0;visibility:hidden;clip-path:circle(0 at calc(100% - 40px) 40px);transition:clip-path .8s var(--ease),opacity .4s,visibility 0s .8s;z-index:2;overflow-y:auto}
.nav-links.open{opacity:1;visibility:visible;clip-path:circle(150% at calc(100% - 40px) 40px);transition:clip-path .9s var(--ease),opacity .3s,visibility 0s}
.nav-links li{overflow:hidden;text-align:center}
.nav-links a{display:block;font:500 clamp(1.7rem,6vw,2.5rem) Poppins;letter-spacing:-.02em;color:var(--t1);padding:8px 0;border:0;transform:translateY(115%);transition:transform .8s var(--ease),color .3s}
.nav-links a::after{display:none}.nav-links a.active,.nav-links a:hover{color:var(--accent-2)}
.nav-links.open a{transform:none;transition-delay:calc(.15s + var(--k,0)*60ms)}
.m-cta{display:flex!important;gap:12px;margin-top:26px;flex-wrap:wrap;justify-content:center;overflow:visible!important}
.nav-links .m-cta a{font:500 .74rem Poppins;letter-spacing:.14em;color:var(--t1);padding:15px 30px}.nav-links .m-cta a.btn-fill{color:#fff}
body.menu-open{overflow:hidden}
body.menu-open .nav,body.menu-open .nav.scrolled{backdrop-filter:none;-webkit-backdrop-filter:none;background:transparent;border-color:transparent}
}
@media(max-width:980px) and (min-width:561px){.nav-cta .btn-fill{display:inline-flex}}
@media(max-width:560px){.nav-cta .btn-fill{display:none}}

/* ===== DOWNLOAD BUTTON STYLES ===== */
.btn-download {
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
  background: linear-gradient(135deg, rgba(200, 39, 45, 0.15), rgba(255, 68, 77, 0.25)) !important;
  border: 1px solid rgba(255, 77, 86, 0.6) !important;
  color: #ff525d !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em;
  padding: 8px 16px !important;
  border-radius: 9999px !important;
  text-decoration: none !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 4px 14px rgba(200, 39, 45, 0.2) !important;
}
.btn-download svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  stroke-width: 2.2;
  transition: transform 0.25s ease;
}
.btn-download:hover {
  background: linear-gradient(135deg, #c8272d, #ff444d) !important;
  color: #ffffff !important;
  border-color: #ff6b74 !important;
  box-shadow: 0 6px 22px rgba(200, 39, 45, 0.5) !important;
  transform: translateY(-2px);
}
.btn-download:hover svg {
  transform: translateY(2px);
  stroke: #ffffff;
}
@media(max-width:768px){
  .nav-cta .btn-download {
    padding: 6px 12px !important;
    font-size: 0.68rem !important;
  }
}
@media(max-width:480px){
  .nav-cta .btn-download span.dl-text {
    display: none;
  }
  .nav-cta .btn-download {
    padding: 8px !important;
    border-radius: 50% !important;
  }
}
/* ===== PAGE LEAVE TRANSITION ===== */
#leave{position:fixed;inset:0;z-index:900;background:var(--bg);pointer-events:none;clip-path:inset(100% 0 0 0);transition:clip-path .5s cubic-bezier(.65,0,.35,1)}
#leave::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--accent-2);box-shadow:0 0 18px var(--accent-2)}
#leave.on{clip-path:inset(0);pointer-events:all}

/* ── Raksha AI Living Character Stage & Holographic Shield ── */
.raksha-character-stage {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px 16px 20px;
  background: radial-gradient(circle at 50% 45%, #251014 0%, #12070A 50%, #080D1A 100%);
  border-radius: 18px;
  border: 1px solid rgba(239, 68, 68, 0.25);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.5), inset 0 0 30px rgba(220, 38, 38, 0.08);
  overflow: hidden;
}

.shield-aura {
  position: absolute;
  top: 48%;
  left: 50%;
  width: 220px;
  height: 220px;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.shield-pulse-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1.5px solid rgba(239, 68, 68, 0.4);
  animation: pulseScanRing 3s cubic-bezier(0.2, 0.8, 0.2, 1) infinite;
}

.shield-pulse-ring.ring-2 {
  animation-delay: 1.5s;
}

@keyframes pulseScanRing {
  0% { transform: scale(0.4); opacity: 0.9; }
  100% { transform: scale(1.4); opacity: 0; }
}

.shield-hex-ring {
  position: absolute;
  inset: 15px;
  border-radius: 50%;
  border: 1.5px dashed rgba(239, 68, 68, 0.35);
  animation: rotateHoloShield 16s linear infinite;
}

@keyframes rotateHoloShield {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.orbit-particle {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  top: 50%;
  left: 50%;
}

.orbit-particle.p1 {
  background: #38BDF8;
  box-shadow: 0 0 8px #38BDF8;
  animation: orbitP1 7s linear infinite;
}

.orbit-particle.p2 {
  background: #EF4444;
  box-shadow: 0 0 8px #EF4444;
  animation: orbitP2 9s linear infinite reverse;
}

.orbit-particle.p3 {
  background: #F59E0B;
  box-shadow: 0 0 8px #F59E0B;
  animation: orbitP3 11s linear infinite;
}

@keyframes orbitP1 {
  from { transform: rotate(0deg) translateX(85px) rotate(0deg); }
  to { transform: rotate(360deg) translateX(85px) rotate(-360deg); }
}

@keyframes orbitP2 {
  from { transform: rotate(0deg) translateX(105px) rotate(0deg); }
  to { transform: rotate(360deg) translateX(105px) rotate(-360deg); }
}

@keyframes orbitP3 {
  from { transform: rotate(0deg) translateX(65px) rotate(0deg); }
  to { transform: rotate(360deg) translateX(65px) rotate(-360deg); }
}

.character-wrapper {
  position: relative;
  width: 140px;
  height: 140px;
  margin-bottom: 12px;
  z-index: 2;
  animation: rakshaBreathing 4s ease-in-out infinite, rakshaTilt 6s ease-in-out infinite;
}

@keyframes rakshaBreathing {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-5px) scale(1.02); }
}

@keyframes rakshaTilt {
  0%, 100% { transform: rotate(0deg); }
  25% { transform: rotate(1deg); }
  75% { transform: rotate(-1deg); }
}

.raksha-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  border: 2px solid rgba(239, 68, 68, 0.7);
  box-shadow: 0 0 25px rgba(220, 38, 38, 0.5), inset 0 0 15px rgba(220, 38, 38, 0.3);
  animation: armorGlowPulse 2.4s ease-in-out infinite alternate;
}

@keyframes armorGlowPulse {
  0% { box-shadow: 0 0 15px rgba(220, 38, 38, 0.35); border-color: rgba(239, 68, 68, 0.5); }
  100% { box-shadow: 0 0 35px rgba(239, 68, 68, 0.75); border-color: rgba(239, 68, 68, 0.95); }
}

.character-bindi-glow {
  position: absolute;
  top: 32px;
  left: 69px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #EF4444;
  box-shadow: 0 0 8px #EF4444;
  animation: armorGlowPulse 1.8s ease-in-out infinite alternate;
}

.stage-info {
  display: flex;
  align-items: center;
  gap: 12px;
  z-index: 2;
}

.stage-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 20px;
  background: rgba(15, 23, 42, 0.85);
  border: 1px solid rgba(56, 189, 248, 0.35);
  font-family: monospace;
  font-size: 0.75rem;
  font-weight: 700;
  color: #38BDF8;
}

.stage-badge .pulse-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #10B981;
  box-shadow: 0 0 6px #10B981;
}

.stage-badge .nvidia-tag {
  background: rgba(118, 185, 0, 0.2);
  color: #76B900;
  border: 1px solid rgba(118, 185, 0, 0.5);
  border-radius: 4px;
  padding: 1px 5px;
  font-size: 0.7rem;
  margin-left: 4px;
}

.soundwave-bar {
  display: flex;
  align-items: center;
  gap: 2.5px;
  height: 16px;
}

.soundwave-bar .bar {
  width: 2.5px;
  background: #EF4444;
  border-radius: 2px;
  animation: wavePulse 0.8s ease-in-out infinite alternate;
}

.soundwave-bar .bar.b1 { height: 6px; animation-delay: 0.1s; }
.soundwave-bar .bar.b2 { height: 14px; animation-delay: 0.3s; }
.soundwave-bar .bar.b3 { height: 9px; animation-delay: 0.2s; }
.soundwave-bar .bar.b4 { height: 16px; animation-delay: 0.4s; }
.soundwave-bar .bar.b5 { height: 8px; animation-delay: 0.15s; }

@keyframes wavePulse {
  0% { transform: scaleY(0.4); opacity: 0.6; }
  100% { transform: scaleY(1.2); opacity: 1; }
}

