/* Charaideo Sunrisers — static export styles */
html,body{max-width:100vw;overflow-x:hidden;}
*,*::before,*::after{min-width:0;}
img{max-width:100%;}
:root{
  --bg:#FFFCF5; --fg:#2A2113; --card:#FFFFFF;
  --primary:#F0B419; --primary-deep:#B8861E; --primary-glow:#FFD668; --primary-fg:#2A2113;
  --muted:#F6F1E2; --muted-fg:#7C6E48; --border:#E7D8B0;
  --gradient-gold: linear-gradient(135deg,#FFD668 0%,#F0B419 50%,#B8861E 100%);
  --gradient-soft: linear-gradient(180deg,#FFFFFF 0%,#FFF5D6 100%);
  --shadow-gold: 0 20px 60px -15px rgba(200,140,30,.45);
  --shadow-soft: 0 10px 40px -10px rgba(160,110,30,.18);
  --shadow-3d: 0 30px 80px -20px rgba(120,80,10,.35), 0 8px 20px -8px rgba(120,80,10,.2);
}

/* helpers (used by tailwind config too) */
.bg-gradient-gold{background:var(--gradient-gold);}
.bg-gradient-soft{background:var(--gradient-soft);}
.text-gradient-gold{background:var(--gradient-gold);-webkit-background-clip:text;background-clip:text;color:transparent;}
.shadow-gold{box-shadow:var(--shadow-gold);}
.shadow-soft{box-shadow:var(--shadow-soft);}
.shadow-3d{box-shadow:var(--shadow-3d);}
.perspective-1000{perspective:1000px;}
.preserve-3d{transform-style:preserve-3d;}
.backface-hidden{backface-visibility:hidden;}
.pitch-stripes{background-image:repeating-linear-gradient(90deg,rgba(170,210,90,.25) 0 40px,rgba(140,190,70,.25) 40px 80px);}

/* keyframes */
@keyframes float-3d{0%,100%{transform:translateY(0) rotateY(0) rotateX(0)}25%{transform:translateY(-12px) rotateY(8deg) rotateX(-3deg)}50%{transform:translateY(-6px) rotateY(0) rotateX(2deg)}75%{transform:translateY(-14px) rotateY(-8deg) rotateX(-2deg)}}
@keyframes spin-slow{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes pulse-glow{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
@keyframes rise-up{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes ray-rotate{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes marquee-reverse{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@keyframes scoreboard-flicker{0%,95%,100%{opacity:1}96%{opacity:.5}98%{opacity:.9}}
@keyframes hero-pan{0%{transform:scale(1.08)}50%{transform:scale(1.18) translate3d(-2%,-1%,0)}100%{transform:scale(1.08)}}
@keyframes logo-3d-spin{0%{transform:translateZ(60px) rotateY(0) rotateX(8deg)}25%{transform:translateZ(90px) rotateY(25deg) rotateX(-4deg) translateY(-14px)}50%{transform:translateZ(110px) rotateY(0) rotateX(-10deg) translateY(-22px)}75%{transform:translateZ(90px) rotateY(-25deg) rotateX(-4deg) translateY(-14px)}100%{transform:translateZ(60px) rotateY(0) rotateX(8deg)}}
@keyframes logo-bob{0%,100%{transform:translateY(0) scale(1);filter:drop-shadow(0 30px 50px rgba(180,120,20,.55))}50%{transform:translateY(-18px) scale(1.04);filter:drop-shadow(0 55px 70px rgba(200,140,30,.8))}}
@keyframes logo-ring-pulse{0%,100%{box-shadow:0 0 0 0 rgba(240,180,25,.55),0 0 60px rgba(255,214,104,.6)}50%{box-shadow:0 0 0 40px rgba(240,180,25,0),0 0 90px rgba(255,214,104,.9)}}

.animate-float-3d{animation:float-3d 6s ease-in-out infinite;}
.animate-spin-slow{animation:spin-slow 40s linear infinite;}
.animate-pulse-glow{animation:pulse-glow 3s ease-in-out infinite;}
.animate-rise-up{animation:rise-up .8s ease-out both;}
.animate-ray-rotate{animation:ray-rotate 30s linear infinite;}
.animate-marquee{animation:marquee 40s linear infinite;}
.animate-marquee-reverse{animation:marquee-reverse 50s linear infinite;}
.animate-flicker{animation:scoreboard-flicker 4s ease-in-out infinite;}
.animate-hero-pan{animation:hero-pan 18s ease-in-out infinite;}
.animate-logo-3d-spin{animation:logo-3d-spin 10s ease-in-out infinite;transform-style:preserve-3d;}
.animate-logo-bob{animation:logo-bob 4s ease-in-out infinite;}
.animate-logo-ring-pulse{animation:logo-ring-pulse 3s ease-out infinite;}

/* 3D card hover */
.card-3d{transition:transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s;transform-style:preserve-3d;}
.card-3d:hover{transform:translateY(-8px) rotateX(4deg) rotateY(-4deg);box-shadow:var(--shadow-3d);}

/* Shimmer button */
.btn-shimmer{position:relative;overflow:hidden;}
.btn-shimmer::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);background-size:200% 100%;animation:shimmer 3s linear infinite;pointer-events:none;}

/* Scroll reveal */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.2,.8,.2,1), transform .9s cubic-bezier(.2,.8,.2,1);}
.reveal.in{opacity:1;transform:translateY(0);}
.reveal.scale{transform:scale(.92);}
.reveal.scale.in{transform:scale(1);}

/* Conic sun-rays helper */
.sun-rays{background:conic-gradient(from 0deg, transparent 0deg, rgba(255,214,104,.55) 8deg, transparent 16deg, transparent 30deg, rgba(240,180,25,.4) 38deg, transparent 46deg, transparent 60deg, rgba(255,214,104,.55) 68deg, transparent 76deg, transparent 90deg, rgba(240,180,25,.4) 98deg, transparent 106deg, transparent 120deg, rgba(255,214,104,.55) 128deg, transparent 136deg, transparent 180deg, rgba(240,180,25,.4) 188deg, transparent 196deg, transparent 240deg, rgba(255,214,104,.55) 248deg, transparent 256deg, transparent 300deg, rgba(240,180,25,.4) 308deg, transparent 316deg, transparent 360deg);-webkit-mask-image:radial-gradient(circle, black 20%, transparent 70%);mask-image:radial-gradient(circle, black 20%, transparent 70%);}

/* Hero slider crossfade */
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease;}
.hero-slide.active{opacity:.7;}

/* Mobile-first hero overlay + responsive logo stage */
.hero-overlay{background:linear-gradient(to bottom,rgba(255,252,245,.30),rgba(255,252,245,.10),var(--bg));}
.hero-stage{min-height:360px;width:100%;max-width:100%;display:flex;align-items:center;justify-content:center;position:relative;}
.ring-orbit.ring-1{width:240px;height:240px;}
.ring-orbit.ring-2{width:300px;height:300px;}
.ring-orbit.ring-3{width:620px;height:620px;}
.logo-aura{width:220px;height:220px;}
.logo-shield{width:240px;height:240px;}
@media (min-width:768px){
  .hero-overlay{background:linear-gradient(to bottom,rgba(255,252,245,.5),rgba(255,252,245,.3),var(--bg));}
  .hero-stage{min-height:560px;}
  .hero-slide.active{opacity:.7;}
  .ring-orbit.ring-1{width:460px;height:460px;}
  .ring-orbit.ring-2{width:560px;height:560px;}
  .logo-aura{width:420px;height:420px;}
  .logo-shield{width:460px;height:460px;}
}
@media (max-width:767px){
  .hero-slide.active{opacity:.9;}
  /* tighten stats on mobile so they read as one unified board */
  .stats-board{padding:14px !important;gap:8px !important;}
  .stats-board .stat-cell{padding:8px 4px !important;}
  .stats-board .stat-cell .stat-v{font-size:1.75rem !important;line-height:1;}
  .stats-board .stat-cell .stat-l{font-size:10px !important;letter-spacing:.08em;}
  .stats-board .card-3d:hover{transform:none;box-shadow:none;}
}

/* Mobile sticky bottom bar */
.mobile-stickybar{position:fixed !important;bottom:0;left:0;right:0;z-index:9999;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:rgba(255,252,245,.95);backdrop-filter:blur(10px);border-top:1px solid rgba(240,180,25,.45);box-shadow:0 -10px 30px -10px rgba(120,80,10,.3);display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.mobile-stickybar a{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px;border-radius:999px;font-weight:700;font-size:14px;text-decoration:none;}
.mobile-stickybar .sb-sponsor{background:#fff;border:2px solid var(--primary);color:var(--primary-deep);}
.mobile-stickybar .sb-contact{background:var(--gradient-gold);color:var(--primary-fg);box-shadow:var(--shadow-gold);}
.mobile-stickybar-spacer{height:72px;}
@media (min-width:768px){.mobile-stickybar,.mobile-stickybar-spacer{display:none !important;}}

/* FAQ */
.faq-item .faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease, opacity .35s;opacity:0;}
.faq-item.open .faq-a{grid-template-rows:1fr;opacity:1;}
.faq-item .faq-a > div{overflow:hidden;}

/* Responsive baseline */
@media (max-width:640px){
  section{padding-top:clamp(2.75rem,9vw,4rem) !important;padding-bottom:clamp(2.75rem,9vw,4rem) !important;padding-left:1rem !important;padding-right:1rem !important;}
  section#home{padding-top:4.5rem !important;padding-bottom:3.5rem !important;}
  h1{font-size:clamp(2.5rem,11vw,3.25rem) !important;line-height:.95 !important;}
  h2{font-size:clamp(1.875rem,8vw,2.75rem) !important;line-height:1.02 !important;}
  h3{font-size:clamp(1.0625rem,4.8vw,1.5rem) !important;line-height:1.15 !important;}
  .card-3d:hover{transform:none;}
  .perspective-1000,[class*="perspective:1000px"]{perspective:none;}
  .btn-shimmer,a[class*="px-7"]{padding-left:1.25rem !important;padding-right:1.25rem !important;padding-top:.9rem !important;padding-bottom:.9rem !important;font-size:.85rem !important;}
  .blur-3xl,.blur-2xl{filter:blur(40px);opacity:.5;}
}
@media (max-width:380px){
  section{padding-left:.75rem !important;padding-right:.75rem !important;}
}
@media (min-width:641px) and (max-width:1023px){
  section{padding-top:4rem !important;padding-bottom:4rem !important;}
}