
:root{

  --black:#0a0a0a;
  --black-2:#141414;
  --panel:#181818;
  --red:#c81e1e;
  --red-bright:#e8483b;
  --red-deep:#7a1010;
  --white:#f5f3ee;
  --white-dim:#b3b0a8;
  --line:rgba(245,243,238,0.12);
  --line-red:rgba(200,30,30,0.35);

  --earth:#a9752c; --earth-bright:#d3a24f;
  --fire:#c81e1e; --fire-bright:#f0673f;
  --water:#3c7dbf; --water-bright:#6fb1e8;
  --air:#e8e6de; --air-bright:#ffffff;
  --soul:#8b5fbf; --soul-bright:#b990ea;

  --font-display:'Jaini', serif;
  --font-display-heavy:'Cinzel Decorative', serif;
  --font-body:'Montserrat', sans-serif;
  --font-mono:'Montserrat', sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--black);color:var(--white);font-family:var(--font-body);font-weight:400;font-size:17px;line-height:1.65;overflow-x:hidden;}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
::selection{background:var(--red);color:var(--white);}
@media (prefers-reduced-motion: reduce){*{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}}
:focus-visible{outline:2px solid var(--red-bright);outline-offset:3px;}

.eyebrow{font-family:var(--font-mono);font-weight:700;font-size:12px;letter-spacing:0.28em;text-transform:uppercase;color:var(--red-bright);display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.eyebrow::before{content:'';width:28px;height:2px;background:var(--red);display:inline-block;}
h1,h2,h3{font-family:var(--font-display);font-weight:400;letter-spacing:0.01em;}
.container{max-width:1240px;margin:0 auto;padding:0 32px;position:relative;}
.section{position:relative;padding:120px 0;overflow:hidden;}
@media (max-width:768px){.section{padding:80px 0;} .container{padding:0 20px;}}

body::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:2;opacity:0.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}

/* corner mandalas reused across sections */
.corner-mandala{position:absolute;width:420px;height:420px;color:var(--red);opacity:0.06;pointer-events:none;animation:spin 150s linear infinite;z-index:0;}
.corner-mandala.tl{top:-120px;left:-120px;}
.corner-mandala.tr{top:-120px;right:-120px;}
.corner-mandala.bl{bottom:-120px;left:-120px;}
.corner-mandala.br{bottom:-120px;right:-120px;}

/* ============ NAV ============ */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:20px 0;background:linear-gradient(180deg, rgba(10,10,10,0.92) 0%, rgba(10,10,10,0) 100%);transition:background 0.4s ease, backdrop-filter 0.4s ease, padding 0.3s ease;}
.nav.scrolled{background:rgba(10,10,10,0.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:14px 0;}
.nav .container{display:flex;align-items:center;justify-content:space-between;}
.nav-logo img{height:34px;width:auto;}
.nav-links{display:flex;gap:36px;align-items:center;}
.nav-links a{font-family:var(--font-mono);font-weight:700;font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:var(--white-dim);transition:color 0.25s;}
.nav-links a:hover{color:var(--red-bright);}
.nav-burger{display:none;color:var(--red);}
@media (max-width:860px){.nav-links{display:none;} .nav-burger{display:block;}}

/* brush stroke button */
.brush-btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 30px 18px;color:var(--white);
  font-family:var(--font-mono);font-weight:700;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;
  transition:transform 0.25s ease, filter 0.25s ease;
}
.brush-btn .brush-bg{position:absolute;inset:0;color:var(--red);z-index:0;transition:color 0.25s ease;}
.brush-btn .brush-bg svg{width:100%;height:100%;}
.brush-btn span, .brush-btn svg.ico{position:relative;z-index:1;}
.brush-btn:hover{transform:translateY(-2px) scale(1.02);}
.brush-btn:hover .brush-bg{color:var(--red-bright);}
.brush-btn.small{padding:10px 22px 14px;font-size:11px;}
.brush-btn.ghost .brush-bg{color:#242424;}
.brush-btn.ghost{color:var(--white);}
.brush-btn.ghost:hover .brush-bg{color:#2e2e2e;}
.brush-btn.ghost:hover{color:var(--red-bright);}
.ico-steam{width:19px;height:19px;flex-shrink:0;position:relative;z-index:1;}
.ico-play{width:18px;height:18px;flex-shrink:0;position:relative;z-index:1;}

/* ============ HERO ============ */
.hero{
  min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;
  background:
    radial-gradient(ellipse 90% 60% at 50% 15%, rgba(200,30,30,0.18), transparent 60%),
    radial-gradient(ellipse 70% 50% at 50% 100%, rgba(200,30,30,0.12), transparent 60%),
    linear-gradient(180deg, #050505 0%, #0a0a0a 55%, #0d0d0d 100%);
}
.hero-side{position:absolute;top:0;bottom:0;height:100%;z-index:1;opacity:0.9;pointer-events:none;}
.hero-side img{height:100%;width:auto;display:block;object-fit:contain;object-position:bottom;}
.hero-side.left{left:0;-webkit-mask-image:linear-gradient(90deg, black 55%, transparent 98%);mask-image:linear-gradient(90deg, black 55%, transparent 98%);}
.hero-side.right{right:0;-webkit-mask-image:linear-gradient(270deg, black 55%, transparent 98%);mask-image:linear-gradient(270deg, black 55%, transparent 98%);}
@media (max-width:900px){.hero-side{opacity:0.35;height:70%;}}
@media (max-width:600px){.hero-side{display:none;}}
.hero-mandala{position:absolute;top:50%;left:50%;width:min(1100px, 130vw);height:min(1100px, 130vw);transform:translate(-50%,-50%);color:var(--red);opacity:0.09;animation:spin 160s linear infinite;z-index:2;}
@keyframes spin{from{transform:translate(-50%,-50%) rotate(0deg);}to{transform:translate(-50%,-50%) rotate(360deg);}}
.hero-embers{position:fixed;inset:0;z-index:1;pointer-events:none;}
.ember{position:absolute;bottom:-10px;border-radius:50%;animation:rise linear infinite;opacity:0;}
@keyframes rise{
  0%{opacity:0;transform:translateY(0) translateX(0) scale(0.6);}
  8%{opacity:0.9;}
  55%{transform:translateY(-55vh) translateX(12px) scale(1);}
  90%{opacity:0.55;}
  100%{opacity:0;transform:translateY(-100vh) translateX(24px) scale(0.4);}
}
.hero-content{position:relative;z-index:3;max-width:840px;padding:0 24px;}
.hero-eyebrow{font-family:var(--font-mono);font-weight:700;font-size:12px;letter-spacing:0.3em;text-transform:uppercase;color:var(--red-bright);margin-bottom:20px;opacity:0;animation:fadeUp 0.9s ease 0.2s forwards;}
.hero-logo{max-width:520px;width:78%;margin:0 auto;opacity:0;animation:fadeUp 1s ease 0.4s forwards;filter:drop-shadow(0 0 50px rgba(200,30,30,0.35));}
.hero-desc{font-size:18px;color:var(--white-dim);max-width:560px;margin:30px auto 0;opacity:0;animation:fadeUp 1s ease 0.8s forwards;}
.hero-badges{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:32px;flex-wrap:wrap;opacity:0;animation:fadeUp 1s ease 0.9s forwards;}
.hero-badges img{height:92px;width:auto;filter:drop-shadow(0 0 16px rgba(0,0,0,0.5));}
@media (max-width:600px){.hero-badges img{height:68px;}}
.hero-ctas{display:flex;gap:18px;justify-content:center;margin-top:30px;flex-wrap:wrap;opacity:0;animation:fadeUp 1s ease 1s forwards;}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}

.btn{font-family:var(--font-mono);font-weight:700;font-size:13px;letter-spacing:0.14em;text-transform:uppercase;padding:16px 34px;display:inline-flex;align-items:center;gap:10px;transition:all 0.3s cubic-bezier(.4,0,.2,1);}
.btn-primary{background:var(--red);color:var(--white);}
.btn-primary:hover{background:var(--red-bright);transform:translateY(-2px);box-shadow:0 8px 30px rgba(200,30,30,0.45);}
.btn-ghost{border:1px solid rgba(245,243,238,0.35);color:var(--white);}
.btn-ghost:hover{border-color:var(--red-bright);color:var(--red-bright);transform:translateY(-2px);}
.btn svg{width:16px;height:16px;}

.scroll-cue{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--white-dim);font-family:var(--font-mono);font-weight:700;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;animation:bob 2.4s ease-in-out infinite;}
@keyframes bob{0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,8px);}}
.scroll-cue .stem{width:1px;height:36px;background:linear-gradient(180deg,var(--red),transparent);}

/* ============ TRAILER ============ */
.trailer-section{background:var(--black-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.trailer-head{text-align:center;max-width:640px;margin:0 auto 40px;position:relative;z-index:1;}
.trailer-head h2{font-size:clamp(32px,4.5vw,52px);color:var(--white);}
.trailer-frame{position:relative;max-width:1040px;margin:0 auto;border:1px solid var(--line);padding:10px;background:linear-gradient(135deg, rgba(200,30,30,0.08), transparent 40%);z-index:1;}
.trailer-frame .corner{position:absolute;width:26px;height:26px;border:2px solid var(--red);opacity:0.9;}
.corner.tl{top:-1px;left:-1px;border-right:none;border-bottom:none;}
.corner.tr{top:-1px;right:-1px;border-left:none;border-bottom:none;}
.corner.bl{bottom:-1px;left:-1px;border-right:none;border-top:none;}
.corner.br{bottom:-1px;right:-1px;border-left:none;border-top:none;}
.video-wrap{position:relative;width:100%;aspect-ratio:16/9;background:#000;overflow:hidden;}
.video-wrap iframe, .video-wrap video{width:100%;height:100%;border:0;display:block;}
.yt-thumb{position:absolute;inset:0;cursor:pointer;background:#000;}
.yt-thumb img{width:100%;height:100%;object-fit:cover;opacity:0.75;}
.yt-thumb .play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:88px;height:88px;border-radius:50%;border:1px solid var(--red);display:flex;align-items:center;justify-content:center;color:var(--white);background:rgba(10,10,10,0.5);transition:all 0.35s;}
.yt-thumb .play-btn svg{width:28px;height:28px;margin-left:4px;}
.yt-thumb:hover .play-btn{background:var(--red);transform:translate(-50%,-50%) scale(1.08);box-shadow:0 0 40px rgba(200,30,30,0.5);}
.trailer-more{text-align:center;margin-top:14px;font-family:var(--font-mono);font-size:13px;color:var(--white-dim);position:relative;z-index:1;}
.trailer-more:first-of-type{margin-top:26px;}
.trailer-more a{color:var(--red-bright);font-weight:700;border-bottom:1px solid transparent;transition:border-color 0.25s;}
.trailer-more a:hover{border-color:var(--red-bright);}

/* ============ STORY ============ */
.story-section{position:relative;background:linear-gradient(180deg, var(--black) 0%, #0c0c0c 100%);}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;position:relative;z-index:1;}
@media (max-width:900px){.story-grid{grid-template-columns:1fr;gap:40px;}}
.story-copy .headline{font-family:var(--font-display-heavy);font-weight:400;color:var(--white);line-height:1.15;margin:0 0 26px;}
.story-copy .headline .line1{display:block;font-size:clamp(26px,3.4vw,38px);color:var(--white-dim);}
.story-copy .headline .line2{display:block;font-size:clamp(34px,4.6vw,52px);color:var(--red-bright);}
.story-copy p{color:var(--white-dim);font-size:16.5px;margin-bottom:16px;}
.story-copy p:first-of-type::first-letter{font-family:var(--font-display-heavy);font-size:3.2em;float:left;line-height:0.8;padding-right:10px;color:var(--red-bright);}
.story-visual{position:relative;}
.story-visual img{width:100%;display:block;filter:drop-shadow(0 20px 60px rgba(0,0,0,0.6));}

/* ============ ELEMENTS ORBIT ============ */
.elements-section{background:var(--black-2);border-top:1px solid var(--line);position:relative;}
.elements-head{text-align:center;max-width:680px;margin:0 auto 20px;position:relative;z-index:1;}
.elements-head h2{font-size:clamp(30px,4.5vw,48px);color:var(--white);margin-bottom:16px;}
.elements-head p{color:var(--white-dim);}
.elements-head .secret-tag{display:inline-block;margin-top:18px;font-family:var(--font-mono);font-weight:700;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--red-bright);border:1px solid var(--line-red);padding:7px 16px;}

.orbit-stage{position:relative;width:min(760px, 92vw);height:min(760px, 92vw);margin:70px auto 0;z-index:1;}
.orbit-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:430px;height:430px;max-width:56vw;max-height:56vw;display:flex;align-items:center;justify-content:center;}
.orbit-center-mandala{position:absolute;top:50%;left:50%;width:165%;height:165%;transform:translate(-50%,-50%);color:var(--red);opacity:0.28;animation:spin 90s linear infinite;z-index:0;}
.orbit-center img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 30px rgba(200,30,30,0.35));}
.el-node{position:absolute;top:50%;left:50%;width:70px;height:70px;margin:-35px;offset-path:circle(360px at 50% 50%);offset-rotate:0deg;animation:orbit 42s linear infinite;display:flex;align-items:center;justify-content:center;}
@media (max-width:600px){.el-node{offset-path:circle(44% at 50% 50%);}}
@keyframes orbit{from{offset-distance:0%;}to{offset-distance:100%;}}
.el-node .el-icon{width:44px;height:44px;color:var(--el-color);filter:drop-shadow(0 0 14px var(--el-color));transition:transform 0.3s;}
.el-node:hover .el-icon{transform:scale(1.22);}

/* ============ FEATURES ============ */
.features-section{background:var(--black);}
.features-head{text-align:center;max-width:640px;margin:0 auto 64px;position:relative;z-index:1;}
.features-head h2{font-size:clamp(30px,4.5vw,48px);}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;position:relative;z-index:1;}
@media (max-width:900px){.features-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.features-grid{grid-template-columns:1fr;}}
.feature-card{background:var(--black-2);padding:38px 30px;transition:transform 0.3s, background 0.3s;text-align:center;}
.feature-card:hover{background:#1a1414;transform:translateY(-4px);}
.feature-card .ficon{width:200px;height:200px;margin:0 auto 22px;object-fit:contain;filter:drop-shadow(0 0 18px rgba(200,30,30,0.25));}
.feature-card h3{font-size:20px;margin-bottom:10px;color:var(--white);}
.feature-card p{color:var(--white-dim);font-size:14.5px;}

/* ============ GALLERY ============ */
.gallery-section{background:var(--black-2);border-top:1px solid var(--line);}
.gallery-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:44px;gap:24px;flex-wrap:wrap;position:relative;z-index:1;}
.gallery-head h2{font-size:clamp(28px,4vw,44px);}
.gallery-note{font-family:var(--font-mono);font-weight:500;font-size:12px;color:var(--white-dim);max-width:320px;}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:180px;gap:10px;position:relative;z-index:1;}
.gallery-grid .g-item:nth-child(1){grid-column:span 2;grid-row:span 2;}
.gallery-grid .g-item:nth-child(4){grid-column:span 2;}
.gallery-grid .g-item:nth-child(6){grid-column:span 2;grid-row:span 2;}
@media (max-width:900px){
  .gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px;}
  .gallery-grid .g-item:nth-child(1){grid-column:span 2;grid-row:span 1;}
  .gallery-grid .g-item:nth-child(6){grid-row:span 1;}
}
.g-item{position:relative;overflow:hidden;cursor:pointer;border:1px solid var(--line);background:#0d0d0d;}
.g-item img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform 0.5s ease;}
.g-item:hover img{transform:scale(1.06);}
.g-item::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, transparent 45%, rgba(0,0,0,0.8) 100%);opacity:0;transition:opacity 0.3s;}
.g-item:hover::after{opacity:1;}
.g-item .g-label{position:absolute;bottom:14px;left:14px;font-family:var(--font-mono);font-weight:700;font-size:11px;color:var(--white);opacity:0;transform:translateY(6px);transition:all 0.3s;z-index:3;letter-spacing:0.05em;}
.g-item:hover .g-label{opacity:1;transform:translateY(0);}

.lightbox{position:fixed;inset:0;z-index:200;background:rgba(5,5,5,0.96);display:none;align-items:center;justify-content:center;padding:40px;}
.lightbox.open{display:flex;}
.lightbox-inner{max-width:1100px;width:100%;text-align:center;}
.lightbox-inner img{width:100%;border:1px solid var(--line);}
.lightbox-close{position:absolute;top:28px;right:32px;color:var(--red-bright);width:36px;height:36px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;}

/* ============ ACHIEVEMENTS ============ */
.achievements-section{background:var(--black);}
.ach-head{text-align:center;max-width:640px;margin:0 auto 64px;position:relative;z-index:1;}
.ach-head h2{font-size:clamp(30px,4.5vw,48px);}
.ach-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;position:relative;z-index:1;}
.ach-card{
  position:relative;
  width:524px;height:350px;max-width:100%;
  border:1px solid var(--line);background:#0a0a0a;overflow:hidden;
}
@media (max-width:560px){.ach-card{height:300px;}}
.ach-photo{position:absolute;inset:0;z-index:0;}
.ach-photo img{position:absolute;top:0;right:0;height:100%;width:auto;max-width:none;object-fit:contain;display:block;}
.ach-photo::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(10,10,10,0.97) 0%, rgba(10,10,10,0.95) 40%, rgba(10,10,10,0.65) 58%, rgba(10,10,10,0.1) 80%, transparent 100%);
}
.ach-text{position:relative;z-index:1;height:100%;padding:32px 34px;display:flex;flex-direction:column;justify-content:center;max-width:340px;}
@media (max-width:560px){.ach-text{padding:26px 26px;max-width:78%;}}
.ach-badge-row{display:flex;align-items:center;gap:9px;margin-bottom:16px;}
.ach-badge-row .ring-icon{position:relative;width:24px;height:24px;color:var(--red);flex-shrink:0;}
.ach-badge-row .ring-icon svg{width:100%;height:100%;display:block;}
.ach-badge-row span{font-family:var(--font-mono);font-weight:700;font-size:14px;color:var(--red-bright);}
.ach-card h3{font-family:var(--font-display);font-weight:400;font-size:clamp(24px,2.6vw,30px);line-height:1.12;margin-bottom:14px;color:var(--white);}
.ach-card p{color:var(--white-dim);font-size:14px;line-height:1.5;}

/* ============ CTA / COMMUNITY ============ */
.cta-section{position:relative;padding:140px 0;text-align:center;overflow:hidden;background:radial-gradient(ellipse 80% 80% at 50% 50%, rgba(200,30,30,0.14), transparent 65%), var(--black-2);border-top:1px solid var(--line);}
.cta-section .container{position:relative;z-index:2;}
.cta-section .eyebrow{justify-content:center;}
.cta-section .eyebrow::before{display:none;}
.cta-section h2{font-size:clamp(32px,5.5vw,58px);max-width:760px;margin:0 auto 20px;color:var(--white);}
.cta-section p{color:var(--white-dim);max-width:520px;margin:0 auto 40px;}
.cta-buttons{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-bottom:56px;}
.social-row{display:flex;gap:22px;justify-content:center;}
.social-ring{position:relative;width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:var(--white-dim);transition:all 0.3s;}
.social-ring .ring-svg{position:absolute;inset:0;color:var(--line-red);transition:color 0.3s;}
.social-ring svg.glyph{width:18px;height:18px;position:relative;z-index:1;}
.social-ring:hover{color:var(--red-bright);transform:translateY(-3px);}
.social-ring:hover .ring-svg{color:var(--red);}

/* ============ FOOTER ============ */
footer{padding:56px 0 40px;border-top:1px solid var(--line);background:var(--black);}
.footer-grid{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:24px;}
.footer-brand{display:flex;flex-direction:column;gap:18px;}
.footer-brand img.durga-mark{height:100px;width:auto;}
.footer-dev{display:flex;align-items:center;gap:10px;}
.footer-dev img{height:100px;width:auto;opacity:0.9;transition:opacity 0.25s;}
.footer-dev a:hover img{opacity:1;}
.footer-links{display:flex;gap:28px;flex-wrap:wrap;}
.footer-links a{font-family:var(--font-mono);font-weight:700;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--white-dim);transition:color 0.3s;}
.footer-links a:hover{color:var(--red-bright);}
.footer-sub{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;margin-top:36px;padding-top:28px;border-top:1px solid var(--line);}
.footer-copy{font-family:var(--font-mono);font-size:11px;color:rgba(179,176,168,0.55);}
.footer-studio{font-family:var(--font-mono);font-size:11px;color:rgba(179,176,168,0.55);}

.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.8s ease, transform 0.8s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
