/* =========================================================
   Elite Entertainment Technologies — Design & Marketing Studio
   Shared design system
   ========================================================= */

:root{
  --ink:        #0C0D0A;
  --ink-2:      #131510;
  --ink-3:      #1B1E17;
  --paper:      #F3F0E7;
  --paper-2:    #E7E3D5;
  --dim:        rgba(243,240,231,.60);
  --dim-2:      rgba(243,240,231,.40);
  --acid:       #C9F24A;
  --acid-deep:  #A6D026;
  --coral:      #FF6A4D;
  --line:       rgba(243,240,231,.13);
  --line-2:     rgba(243,240,231,.07);

  --font-display:'Fraunces', Georgia, serif;
  --font-body:'Hanken Grotesk', system-ui, sans-serif;

  --maxw: 1240px;
  --pad: clamp(20px, 5vw, 80px);
  --radius: 18px;

  --ease: cubic-bezier(.22,.61,.36,1);
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  background:var(--ink);
  color:var(--paper);
  font-family:var(--font-body);
  font-size:18px;
  line-height:1.6;
  font-weight:400;
  letter-spacing:-.01em;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

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

a{ color:inherit; text-decoration:none; }
img{ display:block; max-width:100%; }
::selection{ background:var(--acid); color:var(--ink); }

.wrap{ max-width:var(--maxw); margin:0 auto; padding-inline:var(--pad); }

h1,h2,h3,h4{ font-family:var(--font-display); font-weight:400; line-height:.98; letter-spacing:-.025em; }
.serif-italic{ font-style:italic; font-optical-sizing:auto; }

.eyebrow{
  font-family:var(--font-body);
  font-size:13px; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--acid);
  display:inline-flex; align-items:center; gap:10px;
}
.eyebrow::before{
  content:""; width:26px; height:1px; background:var(--acid); display:inline-block;
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--font-body); font-weight:600; font-size:16px;
  letter-spacing:-.01em;
  padding:16px 28px; border-radius:100px;
  border:1px solid transparent; cursor:pointer;
  transition:transform .35s var(--ease), background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);
  will-change:transform;
}
.btn-primary{ background:var(--acid); color:var(--ink); }
.btn-primary:hover{ transform:translateY(-3px); background:var(--paper); }
.btn-ghost{ border-color:var(--line); color:var(--paper); }
.btn-ghost:hover{ border-color:var(--paper); transform:translateY(-3px); }
.btn .arr{ transition:transform .35s var(--ease); }
.btn:hover .arr{ transform:translate(3px,-3px); }

/* ---------- nav ---------- */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  display:flex; align-items:center; justify-content:space-between;
  padding:20px var(--pad);
  transition:background .4s var(--ease), padding .4s var(--ease), border-color .4s var(--ease);
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(12,13,10,.78);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line-2);
  padding-top:14px; padding-bottom:14px;
}
.brand{ display:flex; align-items:center; gap:12px; font-family:var(--font-display); font-size:21px; letter-spacing:-.03em; }
.brand .mark{
  width:34px; height:34px; border-radius:9px; display:grid; place-items:center;
  background:var(--acid); color:var(--ink); font-family:var(--font-body); font-weight:800; font-size:17px;
  flex:none;
}
.brand b{ font-weight:400; }
.brand span.sub{ font-family:var(--font-body); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--dim); display:block; line-height:1; margin-top:3px; }
.nav-links{ display:flex; align-items:center; gap:6px; }
.nav-links a{
  font-size:15px; font-weight:500; color:var(--dim);
  padding:9px 16px; border-radius:100px;
  transition:color .25s, background .25s;
}
.nav-links a:hover{ color:var(--paper); }
.nav-links a.active{ color:var(--paper); }
.nav-cta{ margin-left:8px; }
.burger{ display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:8px; }
.burger span{ width:24px; height:2px; background:var(--paper); transition:.3s var(--ease); }

/* ---------- footer ---------- */
.footer{ border-top:1px solid var(--line); margin-top:120px; padding:80px 0 40px; }
.footer-grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:48px; }
.footer h3{ font-size:clamp(34px,4vw,56px); line-height:.95; max-width:14ch; }
.footer .lab{ font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--dim-2); margin-bottom:18px; }
.footer-grid a{ display:block; color:var(--dim); padding:5px 0; transition:color .2s; }
.footer-grid a:hover{ color:var(--acid); }
.footer-bottom{ display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:64px; padding-top:28px; border-top:1px solid var(--line-2); color:var(--dim-2); font-size:13px; flex-wrap:wrap; }

/* ---------- reveal animation ---------- */
.reveal{ opacity:0; transform:translateY(28px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
[data-d="1"]{ transition-delay:.08s }[data-d="2"]{ transition-delay:.16s }
[data-d="3"]{ transition-delay:.24s }[data-d="4"]{ transition-delay:.32s }
[data-d="5"]{ transition-delay:.40s }[data-d="6"]{ transition-delay:.48s }

/* ---------- generic section heading ---------- */
.section{ padding:clamp(80px,12vw,150px) 0; }
.sec-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:64px; flex-wrap:wrap; }
.sec-head h2{ font-size:clamp(38px,6.5vw,84px); max-width:16ch; }
.sec-head p{ max-width:38ch; color:var(--dim); }

@media (max-width:860px){
  body{ font-size:17px; }
  .nav-links{
    position:fixed; inset:0 0 0 auto; width:min(82vw,360px);
    background:var(--ink-2); flex-direction:column; align-items:flex-start;
    justify-content:center; gap:8px; padding:40px;
    transform:translateX(100%); transition:transform .5s var(--ease);
    border-left:1px solid var(--line);
  }
  .nav-links.open{ transform:none; }
  .nav-links a{ font-size:22px; font-family:var(--font-display); }
  .burger{ display:flex; z-index:1001; }
  .footer-grid{ grid-template-columns:1fr; gap:36px; }
  .sec-head{ margin-bottom:44px; }
}
@media (prefers-reduced-motion:reduce){
  *{ animation:none!important; transition:none!important; scroll-behavior:auto; }
  .reveal{ opacity:1; transform:none; }
}
