/* ===========================
   PHARAOH CINEMA ENGINE
   Playmingl Design System
   =========================== */

/* Variables */
:root{
  --bg-1:#120d08;
  --bg-2:#20160f;
  --bg-3:#2b1f16;
  --glass-bg:rgba(255,255,255,0.05);
  --glass-border:rgba(255,215,120,0.15);
  --glass-shadow:0 0 80px rgba(255,180,60,0.12);
  --gold-grad:linear-gradient(135deg,#d4a017,#ffd166);
  --gold-glow:rgba(255,209,102,0.42);
  --sapphire:linear-gradient(135deg,#1d4ed8,#60a5fa);
  --sapphire-glow:rgba(96,165,250,0.30);
  --amber:linear-gradient(135deg,#ea580c,#fb923c);
  --amber-glow:rgba(251,146,60,0.28);
  --premium:linear-gradient(135deg,#d4a017,#1d4ed8,#ea580c);
  --txt-1:#fff8e8;
  --txt-2:#e7d8b4;
  --txt-mute:#a89878;
  --font-display:'Cinzel',serif;
  --font-body:'Inter',sans-serif;
  --font-mono:'IBM Plex Mono',monospace;
  --container:1420px;
  --radius:22px;
  --radius-lg:36px;
  --radius-card:24px;
  --header-h:64px;
}

/* Reset */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  color:var(--txt-1);
  background:var(--bg-1);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:.3s}
button{font:inherit;cursor:pointer;background:none;border:none;color:inherit}
ul,ol{list-style:none}

/* Container */
.container{
  max-width:var(--container);
  margin:0 auto;
  padding:0 32px;
  position:relative;
  z-index:2;
}

/* Background Cinematic */
.bg-cinematic{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 20% 20%,rgba(212,160,23,.08),transparent 50%),
    radial-gradient(ellipse at 80% 60%,rgba(234,88,12,.06),transparent 50%),
    radial-gradient(ellipse at 50% 100%,rgba(29,78,216,.08),transparent 60%),
    linear-gradient(180deg,#0a0704,#120d08 40%,#1a1009);
}
.fog-layer{
  position:absolute;
  inset:-20%;
  background-image:radial-gradient(ellipse at center,rgba(212,160,23,.05),transparent 70%);
  filter:blur(60px);
  animation:fogDrift 30s ease-in-out infinite alternate;
}
.fog-2{
  background-image:radial-gradient(ellipse at center,rgba(234,88,12,.04),transparent 70%);
  animation-duration:45s;
  animation-direction:alternate-reverse;
}
@keyframes fogDrift{
  0%{transform:translate(0,0) scale(1)}
  100%{transform:translate(40px,-30px) scale(1.1)}
}
.particles{position:absolute;inset:0;overflow:hidden}
.particle{
  position:absolute;
  width:3px;height:3px;
  background:var(--gold-glow);
  border-radius:50%;
  box-shadow:0 0 12px var(--gold-glow);
  animation:floatUp 15s linear infinite;
}
@keyframes floatUp{
  0%{transform:translateY(100vh) translateX(0);opacity:0}
  10%{opacity:1}
  90%{opacity:1}
  100%{transform:translateY(-10vh) translateX(60px);opacity:0}
}

/* Typography */
h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:700;
  line-height:1.15;
  letter-spacing:.5px;
  color:var(--txt-1);
}
.gold-gradient{
  background:var(--gold-grad);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:0 0 40px var(--gold-glow);
  display:inline-block;
}
.eyebrow{
  display:inline-block;
  font-family:var(--font-mono);
  font-size:.78rem;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--txt-2);
  padding:8px 18px;
  background:var(--glass-bg);
  backdrop-filter:blur(20px);
  border:1px solid var(--glass-border);
  border-radius:99px;
  margin-bottom:24px;
}
.section-title{
  font-size:clamp(2rem,4.5vw,3.6rem);
  margin-bottom:20px;
}
.section-sub{
  color:var(--txt-2);
  font-size:1.1rem;
  max-width:680px;
  margin:0 auto;
}
.section-head{
  text-align:center;
  margin-bottom:80px;
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 28px;
  border-radius:var(--radius);
  font-weight:600;
  font-size:.95rem;
  letter-spacing:.5px;
  transition:transform .3s,box-shadow .3s,filter .3s;
  position:relative;
  overflow:hidden;
  cursor:pointer;
  font-family:var(--font-body);
}
.btn-primary{
  background:var(--gold-grad);
  color:#1a0f04;
  box-shadow:0 10px 40px var(--gold-glow),inset 0 1px 0 rgba(255,255,255,.4);
}
.btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 60px var(--gold-glow);
  filter:brightness(1.1);
}
.btn-primary::before{
  content:"";
  position:absolute;
  top:0;left:-100%;
  width:100%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);
  transition:left .6s;
}
.btn-primary:hover::before{left:100%}
.btn-ghost{
  background:var(--glass-bg);
  backdrop-filter:blur(20px);
  border:1px solid var(--glass-border);
  color:var(--txt-1);
}
.btn-ghost:hover{
  border-color:rgba(255,215,120,.4);
  background:rgba(255,255,255,.08);
  transform:translateY(-2px);
}
.btn-lg{padding:18px 36px;font-size:1.05rem;border-radius:24px}

/* ===========================
   SLIM HEADER — Fixed full-width
   Hides on scroll-down, shows on scroll-up
   =========================== */
.site-header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:100;
  width:100%;
  padding:0;
  background:rgba(14,10,6,.78);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid var(--glass-border);
  box-shadow:0 6px 24px rgba(0,0,0,.35);
  transition:transform .4s cubic-bezier(.4,0,.2,1), background .3s;
  will-change:transform;
}
.site-header.scrolled{
  background:rgba(10,7,4,.88);
  box-shadow:0 8px 30px rgba(0,0,0,.5),0 0 40px rgba(255,180,60,.06);
}
.site-header.hidden{
  transform:translateY(-110%);
}
.header-inner{
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:10px 28px;
  min-height:var(--header-h);
  background:transparent;
  border:none;
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-family:var(--font-display);
  font-weight:700;
  font-size:1.05rem;
  letter-spacing:.8px;
  flex-shrink:0;
}
.scarab{
  font-size:1.35rem;
  background:var(--gold-grad);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 10px var(--gold-glow));
  animation:shimmer 3s ease-in-out infinite;
}
@keyframes shimmer{
  0%,100%{filter:drop-shadow(0 0 10px var(--gold-glow))}
  50%{filter:drop-shadow(0 0 18px var(--gold-glow))}
}
.brand-dot{color:var(--txt-mute);font-weight:400}
.nav-dock{
  display:flex;
  gap:2px;
  background:rgba(255,255,255,.03);
  padding:4px;
  border-radius:99px;
  border:1px solid rgba(255,255,255,.05);
}
.nav-link{
  padding:7px 14px;
  border-radius:99px;
  font-size:.86rem;
  color:var(--txt-2);
  transition:.25s;
  position:relative;
  white-space:nowrap;
}
.nav-link:hover{color:var(--txt-1);background:rgba(255,255,255,.05)}
.nav-link.active{
  background:var(--gold-grad);
  color:#1a0f04;
  font-weight:600;
  box-shadow:0 3px 14px var(--gold-glow);
}
.header-cta{display:flex;align-items:center;gap:10px}
.vip-badge{
  font-family:var(--font-mono);
  font-size:.66rem;
  letter-spacing:1.8px;
  padding:5px 10px;
  background:rgba(212,160,23,.12);
  border:1px solid rgba(212,160,23,.3);
  border-radius:99px;
  color:#ffd166;
}
.header-cta .btn{
  padding:9px 18px;
  font-size:.82rem;
  border-radius:14px;
}
.menu-toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  padding:8px;
}
.menu-toggle span{
  width:22px;height:2px;
  background:var(--txt-1);
  border-radius:2px;
  transition:.3s;
}
.mobile-menu{
  display:none;
  position:fixed;
  top:calc(var(--header-h) + 10px);
  left:16px;right:16px;
  background:rgba(14,10,6,.96);
  backdrop-filter:blur(30px);
  border:1px solid var(--glass-border);
  border-radius:22px;
  padding:18px;
  flex-direction:column;
  gap:6px;
  z-index:99;
  box-shadow:0 20px 60px rgba(0,0,0,.6);
}
.mobile-menu a{
  padding:12px 16px;
  border-radius:14px;
  font-size:.95rem;
}
.mobile-menu a:hover{background:rgba(255,255,255,.05)}
.menu-open .mobile-menu{display:flex}

/* Hero */
.hero{
  position:relative;
  min-height:100vh;
  padding:130px 0 90px;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.hero-bg{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}
.hero-bg-img{
  width:100%;height:100%;
  object-fit:cover;
  filter:brightness(.35) saturate(1.2) hue-rotate(-10deg);
  animation:slowZoom 30s ease-in-out infinite alternate;
}
@keyframes slowZoom{
  0%{transform:scale(1.05)}
  100%{transform:scale(1.15)}
}
.hero-overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at center,transparent 30%,var(--bg-1) 90%),
    linear-gradient(180deg,rgba(18,13,8,.6),rgba(18,13,8,.95));
}
.torch{
  position:absolute;
  width:200px;height:300px;
  background:radial-gradient(ellipse at center top,rgba(251,146,60,.4),transparent 70%);
  filter:blur(40px);
  animation:flicker 2.5s ease-in-out infinite;
}
.torch-left{top:10%;left:5%}
.torch-right{top:15%;right:5%;animation-delay:.7s}
@keyframes flicker{
  0%,100%{opacity:.6;transform:scale(1)}
  50%{opacity:1;transform:scale(1.1)}
}
.hero-container{
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  padding:0 32px;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:80px;
  align-items:center;
  position:relative;
  z-index:2;
}
.hero-title{
  font-size:clamp(2.4rem,5.5vw,4.6rem);
  line-height:1.05;
  margin-bottom:28px;
}
.hero-sub{
  font-size:1.15rem;
  color:var(--txt-2);
  max-width:560px;
  margin-bottom:40px;
}
.hero-buttons{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:60px;
}
.hero-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-bottom:40px;
}
.stat-card{
  background:var(--glass-bg);
  backdrop-filter:blur(20px);
  border:1px solid var(--glass-border);
  border-radius:18px;
  padding:22px;
  text-align:center;
  transition:.4s;
}
.stat-card:hover{
  transform:translateY(-4px);
  border-color:rgba(255,215,120,.4);
  box-shadow:0 20px 50px rgba(212,160,23,.15);
}
.stat-num{
  font-family:var(--font-display);
  font-size:2rem;
  font-weight:700;
  background:var(--gold-grad);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.stat-label{
  font-size:.8rem;
  color:var(--txt-mute);
  text-transform:uppercase;
  letter-spacing:1.5px;
  margin-top:6px;
}
.hero-disclaimer{
  font-size:.78rem;
  color:var(--txt-mute);
  font-family:var(--font-mono);
  letter-spacing:.5px;
}

/* Hero Right - Reel */
.hero-right{position:relative;display:flex;justify-content:center}
.reel-frame{
  position:relative;
  width:100%;
  max-width:480px;
  aspect-ratio:4/5;
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--glass-bg);
  backdrop-filter:blur(30px);
  border:1px solid var(--glass-border);
  box-shadow:var(--glass-shadow),0 40px 100px rgba(0,0,0,.5);
  animation:floatY 6s ease-in-out infinite;
}
@keyframes floatY{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-15px)}
}
.reel-glow{
  position:absolute;
  inset:0;
  background:radial-gradient(circle at center,rgba(255,209,102,.3),transparent 60%);
  z-index:1;
  pointer-events:none;
  mix-blend-mode:screen;
}
.reel-img{
  width:100%;height:100%;
  object-fit:cover;
  filter:brightness(.7) saturate(1.3);
}
.reel-symbols{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-template-rows:repeat(2,1fr);
  z-index:2;
  padding:30px;
  gap:10px;
}
.reel-symbols span{
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2.2rem;
  background:rgba(18,13,8,.6);
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,215,120,.3);
  border-radius:16px;
  color:#ffd166;
  text-shadow:0 0 20px var(--gold-glow);
  animation:reelGlow 3s ease-in-out infinite;
}
.reel-symbols span:nth-child(2){animation-delay:.4s}
.reel-symbols span:nth-child(3){animation-delay:.8s}
.reel-symbols span:nth-child(4){animation-delay:.2s}
.reel-symbols span:nth-child(5){animation-delay:.6s}
.reel-symbols span:nth-child(6){animation-delay:1s}
@keyframes reelGlow{
  0%,100%{box-shadow:0 0 20px rgba(212,160,23,.2)}
  50%{box-shadow:0 0 40px rgba(212,160,23,.5)}
}
.reel-badge{
  position:absolute;
  bottom:20px;left:50%;
  transform:translateX(-50%);
  padding:10px 20px;
  background:var(--gold-grad);
  color:#1a0f04;
  border-radius:99px;
  font-family:var(--font-display);
  font-weight:700;
  font-size:.95rem;
  letter-spacing:1px;
  z-index:3;
  box-shadow:0 8px 30px var(--gold-glow);
}

/* Page Hero */
.page-hero{
  padding:150px 0 70px;
  text-align:center;
  position:relative;
}
.page-title{
  font-size:clamp(2.4rem,5vw,4.2rem);
  margin:16px 0 20px;
}
.page-sub{
  color:var(--txt-2);
  font-size:1.15rem;
  max-width:680px;
  margin:0 auto;
}

/* Game Section */
.game-section{padding:140px 0;position:relative}
.game-container{
  max-width:1280px;
  margin:0 auto;
  background:var(--glass-bg);
  backdrop-filter:blur(30px);
  border:1px solid var(--glass-border);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--glass-shadow),0 40px 100px rgba(0,0,0,.5);
  position:relative;
}
.game-container::before{
  content:"";
  position:absolute;
  inset:-1px;
  background:linear-gradient(135deg,rgba(212,160,23,.4),transparent 40%,transparent 60%,rgba(234,88,12,.3));
  border-radius:var(--radius-lg);
  z-index:-1;
  filter:blur(2px);
}
.game-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:20px 28px;
  background:rgba(18,13,8,.6);
  border-bottom:1px solid var(--glass-border);
}
.game-title{display:flex;align-items:center;gap:14px}
.game-icon{
  font-size:1.8rem;
  background:var(--gold-grad);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 10px var(--gold-glow));
}
.game-title strong{font-family:var(--font-display);font-size:1.15rem;display:block}
.game-title small{color:var(--txt-mute);font-size:.78rem;letter-spacing:1px}
.game-controls{display:flex;gap:8px}
.ctrl{
  width:40px;height:40px;
  border-radius:12px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--glass-border);
  color:var(--txt-2);
  font-size:1rem;
  transition:.3s;
  display:flex;align-items:center;justify-content:center;
}
.ctrl:hover{
  background:var(--gold-grad);
  color:#1a0f04;
  transform:translateY(-2px);
  box-shadow:0 6px 20px var(--gold-glow);
}
.game-frame{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#000;
}
.game-frame iframe{
  width:100%;height:100%;
  border:none;display:block;
}
.game-foot{
  display:flex;
  justify-content:center;
  gap:30px;
  padding:18px 28px;
  background:rgba(18,13,8,.6);
  border-top:1px solid var(--glass-border);
  flex-wrap:wrap;
}
.game-foot span{
  font-family:var(--font-mono);
  font-size:.78rem;
  color:var(--txt-mute);
  letter-spacing:1.5px;
}

/* Features */
.features{padding:140px 0;position:relative}
.feature-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.feature-card{
  background:var(--glass-bg);
  backdrop-filter:blur(20px);
  border:1px solid var(--glass-border);
  border-radius:var(--radius-card);
  padding:32px;
  transition:.4s;
  position:relative;
  overflow:hidden;
}
.feature-card::before{
  content:"";
  position:absolute;
  top:0;left:-100%;
  width:100%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,209,102,.08),transparent);
  transition:left .8s;
}
.feature-card:hover::before{left:100%}
.feature-card:hover{
  transform:translateY(-8px);
  border-color:rgba(255,215,120,.4);
  box-shadow:0 30px 70px rgba(212,160,23,.18);
}
.feature-card.large,.feature-card.wide{
  grid-column:span 2;
  padding:0;
  overflow:hidden;
}
.feature-card.large img,.feature-card.wide img{
  width:100%;
  height:280px;
  object-fit:cover;
  filter:brightness(.6) saturate(1.2);
  transition:.6s;
}
.feature-card.large:hover img,.feature-card.wide:hover img{
  transform:scale(1.05);
  filter:brightness(.8) saturate(1.3);
}
.feature-card .fc-body{padding:28px}
.fc-icon{
  font-size:2.2rem;
  margin-bottom:18px;
  background:var(--gold-grad);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 14px var(--gold-glow));
}
.feature-card h3{
  font-size:1.35rem;
  margin-bottom:12px;
}
.feature-card p{color:var(--txt-2);font-size:.95rem}

/* Tiers */
.tiers{padding:60px 0 140px}
.tier-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:20px;
}
.tier-card{
  background:var(--glass-bg);
  backdrop-filter:blur(20px);
  border:1px solid var(--glass-border);
  border-radius:var(--radius-card);
  padding:32px 24px;
  text-align:center;
  transition:.4s;
}
.tier-card:hover{
  transform:translateY(-10px);
  border-color:rgba(255,215,120,.5);
  box-shadow:0 30px 70px rgba(212,160,23,.2);
}
.tier-card.featured{
  background:linear-gradient(180deg,rgba(212,160,23,.15),rgba(255,255,255,.04));
  border-color:rgba(255,215,120,.5);
  box-shadow:0 0 60px rgba(212,160,23,.2);
}
.tier-emblem{
  font-size:3rem;
  margin-bottom:18px;
  background:var(--gold-grad);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 16px var(--gold-glow));
}
.tier-card h3{font-size:1.4rem;margin-bottom:6px}
.tier-rank{
  font-family:var(--font-mono);
  font-size:.75rem;
  letter-spacing:2px;
  color:var(--txt-mute);
  margin-bottom:20px;
  text-transform:uppercase;
}
.tier-card ul{display:flex;flex-direction:column;gap:10px}
.tier-card li{
  font-size:.9rem;
  color:var(--txt-2);
  padding:8px 0;
  border-top:1px dashed rgba(255,215,120,.1);
}
.tier-card li:first-child{border-top:none}

/* Story */
.story{padding:140px 0;position:relative}
.story.alt{background:linear-gradient(180deg,transparent,rgba(212,160,23,.03),transparent)}
.story-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
}
.story-grid.reverse .story-img{order:2}
.story-img{
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
  aspect-ratio:4/5;
  box-shadow:var(--glass-shadow),0 40px 80px rgba(0,0,0,.5);
}
.story-img img{
  width:100%;height:100%;
  object-fit:cover;
  filter:brightness(.75) saturate(1.2);
  transition:.6s;
}
.story-img:hover img{transform:scale(1.05);filter:brightness(.95)}
.story-text p{
  color:var(--txt-2);
  margin-bottom:20px;
  font-size:1.05rem;
}

/* CTA Banner */
.cta-banner{padding:80px 0 140px}
.cta-inner{
  position:relative;
  padding:100px 60px;
  border-radius:var(--radius-lg);
  overflow:hidden;
  text-align:center;
  border:1px solid var(--glass-border);
  box-shadow:var(--glass-shadow),0 40px 100px rgba(0,0,0,.5);
}
.cta-bg-img{position:absolute;inset:0;z-index:0}
.cta-bg-img img{
  width:100%;height:100%;
  object-fit:cover;
  filter:brightness(.3) saturate(1.3);
}
.cta-content{position:relative;z-index:2}
.cta-content h2{
  font-size:clamp(2rem,4.5vw,3.4rem);
  margin-bottom:18px;
}
.cta-content p{
  color:var(--txt-2);
  font-size:1.15rem;
  margin-bottom:36px;
}

/* Contact */
.contact{padding:60px 0 140px}
.contact-grid{
  display:grid;
  grid-template-columns:1fr 1.3fr;
  gap:60px;
  align-items:start;
}
.contact-info{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.info-card{
  background:var(--glass-bg);
  backdrop-filter:blur(20px);
  border:1px solid var(--glass-border);
  border-radius:var(--radius-card);
  padding:28px;
  transition:.3s;
}
.info-card:hover{
  border-color:rgba(255,215,120,.4);
  transform:translateY(-4px);
}
.info-card h3{font-size:1.1rem;margin-bottom:10px}
.info-card p{color:var(--txt-2);font-size:.95rem}
.info-card a:hover{color:#ffd166}
.contact-form{
  background:var(--glass-bg);
  backdrop-filter:blur(20px);
  border:1px solid var(--glass-border);
  border-radius:var(--radius-lg);
  padding:48px;
}
.contact-form .section-title{
  font-size:2rem;
  text-align:left;
  margin-bottom:28px;
}
.field{margin-bottom:20px}
.field label{
  display:block;
  font-family:var(--font-mono);
  font-size:.78rem;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--txt-mute);
  margin-bottom:8px;
}
.field input,.field textarea{
  width:100%;
  padding:14px 18px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--glass-border);
  border-radius:14px;
  color:var(--txt-1);
  font-family:var(--font-body);
  font-size:.95rem;
  transition:.3s;
}
.field input:focus,.field textarea:focus{
  outline:none;
  border-color:rgba(255,215,120,.5);
  background:rgba(255,255,255,.07);
  box-shadow:0 0 0 4px rgba(212,160,23,.1);
}
.field textarea{resize:vertical;font-family:inherit}

/* Legal Pages */
.legal{padding:40px 0 140px}
.legal-wrap{
  max-width:880px;
  margin:0 auto;
  background:var(--glass-bg);
  backdrop-filter:blur(20px);
  border:1px solid var(--glass-border);
  border-radius:var(--radius-lg);
  padding:60px;
}
.legal-wrap h2{
  font-size:1.4rem;
  margin:32px 0 14px;
  background:var(--gold-grad);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.legal-wrap h2:first-child{margin-top:0}
.legal-wrap p,.legal-wrap li{
  color:var(--txt-2);
  margin-bottom:14px;
  font-size:1rem;
  line-height:1.75;
}
.legal-wrap ul{padding-left:0;margin-bottom:14px}
.legal-wrap ul li{
  padding-left:24px;
  position:relative;
}
.legal-wrap ul li::before{
  content:"𓋹";
  position:absolute;
  left:0;
  color:#ffd166;
}
.legal-wrap a{color:#ffd166;text-decoration:underline}
.legal-wrap .callout{
  margin-top:40px;
  padding-top:24px;
  border-top:1px solid var(--glass-border);
}

/* Modal */
.modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.8);
  backdrop-filter:blur(10px);
  z-index:200;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.modal.open{display:flex}
.modal-inner{
  background:var(--bg-2);
  border:1px solid var(--glass-border);
  border-radius:var(--radius-lg);
  padding:48px;
  max-width:600px;
  width:100%;
  position:relative;
  box-shadow:0 0 80px var(--gold-glow);
}
.modal-close{
  position:absolute;
  top:18px;right:18px;
  width:40px;height:40px;
  border-radius:50%;
  background:rgba(255,255,255,.05);
  font-size:1.4rem;
  display:flex;
  align-items:center;
  justify-content:center;
}
.modal-close:hover{background:var(--gold-grad);color:#1a0f04}
.howto-list{display:flex;flex-direction:column;gap:18px;margin-top:24px}
.howto-list li{
  padding:18px 22px;
  background:rgba(255,255,255,.03);
  border:1px solid var(--glass-border);
  border-radius:16px;
  color:var(--txt-2);
}
.howto-list strong{color:var(--txt-1);display:block;margin-bottom:4px}

/* Footer */
.site-footer{
  margin-top:80px;
  padding:80px 0 0;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.4));
  border-top:1px solid var(--glass-border);
  position:relative;
}
.site-footer::before{
  content:"";
  position:absolute;
  top:-1px;left:10%;right:10%;
  height:2px;
  background:linear-gradient(90deg,transparent,#ffd166,transparent);
  filter:blur(1px);
}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1.2fr;
  gap:50px;
  padding-bottom:60px;
}
.foot-col h4{
  font-size:1rem;
  margin-bottom:20px;
  background:var(--gold-grad);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  letter-spacing:1.5px;
}
.foot-col a{
  display:block;
  padding:6px 0;
  color:var(--txt-2);
  font-size:.92rem;
}
.foot-col a:hover{color:#ffd166;padding-left:4px}
.foot-col p{
  color:var(--txt-2);
  font-size:.92rem;
  line-height:1.7;
  margin-bottom:12px;
}
.foot-tag{margin-top:16px;color:var(--txt-mute);font-size:.9rem}
.footer-bottom{
  padding:30px 32px;
  border-top:1px solid var(--glass-border);
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:20px;
}
.disclaimer{
  font-size:.82rem;
  color:var(--txt-mute);
  max-width:680px;
}
.copy{
  font-family:var(--font-mono);
  font-size:.78rem;
  color:var(--txt-mute);
  letter-spacing:1px;
}

/* Responsive */
@media (max-width:1100px){
  .feature-grid{grid-template-columns:repeat(2,1fr)}
  .feature-card.large,.feature-card.wide{grid-column:span 2}
  .tier-grid{grid-template-columns:repeat(3,1fr)}
  .tier-card:last-child{grid-column:2}
  .footer-grid{grid-template-columns:1fr 1fr}
  .header-inner{padding:10px 20px}
  .nav-link{padding:6px 11px;font-size:.82rem}
}
@media (max-width:900px){
  :root{--header-h:58px}
  .nav-dock,.header-cta .vip-badge{display:none}
  .menu-toggle{display:flex}
  .header-inner{padding:8px 18px}
  .header-cta .btn{padding:8px 14px;font-size:.78rem}
  .hero-container,.story-grid,.contact-grid{
    grid-template-columns:1fr;
    gap:60px;
  }
  .story-grid.reverse .story-img{order:0}
  .hero{padding:110px 0 70px}
  .hero-stats{grid-template-columns:repeat(3,1fr)}
  .game-section,.features,.story,.cta-banner,.contact,.legal{padding:90px 0}
  .page-hero{padding:120px 0 50px}
  .legal-wrap{padding:40px 28px}
  .contact-info{grid-template-columns:1fr}
  .contact-form{padding:32px}
  .cta-inner{padding:60px 28px}
}
@media (max-width:640px){
  .container{padding:0 20px}
  .feature-grid{grid-template-columns:1fr}
  .feature-card.large,.feature-card.wide{grid-column:span 1}
  .tier-grid{grid-template-columns:1fr 1fr}
  .tier-card:last-child{grid-column:1/-1}
  .footer-grid{grid-template-columns:1fr;gap:40px}
  .hero-stats{grid-template-columns:1fr;gap:14px}
  .game-section,.features,.story,.cta-banner,.contact,.legal{padding:60px 0}
  .section-head{margin-bottom:50px}
  .header-cta .btn{padding:7px 12px;font-size:.74rem}
  .brand-name{font-size:.95rem}
  .scarab{font-size:1.2rem}
  .game-toolbar{flex-direction:column;gap:14px;align-items:flex-start}
  .game-foot{gap:14px;font-size:.7rem}
  .reel-frame{max-width:340px}
  .reel-symbols span{font-size:1.5rem}
  .footer-bottom{flex-direction:column;text-align:center}
}