/* ============================================================
   LIVE & LOUDER — shared styles
   Brand tokens per Live & Louder 2026 Identity Guidelines (Part 1)
   ============================================================ */

@font-face{
  font-family:'CPLT20 Headline';
  src:url('fonts/cplt20-headline.woff2') format('woff2');
  font-weight:400 900;
  font-display:swap;
}
@font-face{
  font-family:'Anek Odia';
  src:url('fonts/anek-odia.woff2') format('woff2-variations'),
      url('fonts/anek-odia.woff2') format('woff2');
  font-weight:100 800;
  font-stretch:75% 125%;
  font-display:swap;
}

:root{
  /* Primary colours — per brand guidelines page 6 */
  --bright-purple:#9700FF;
  --dark-blue:#0A0A32;
  /* Supporting */
  --red:#CA0000;
  --orange:#FF5900;
  --yellow:#FECC00;
  --blue:#39BCD1;
  --green:#9DF451;
  /* Functional */
  --ink-deep:#06061E;
  --ink-soft:#13134A;
  --line:rgba(255,255,255,.12);
  --muted:#9AA0D6;
  --white:#FFFFFF;
  /* Typography */
  --display:'CPLT20 Headline','Arial Narrow',Arial,sans-serif;
  --body:'Anek Odia',system-ui,-apple-system,'Segoe UI',sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:hidden}
body{
  background:var(--ink-deep);color:var(--white);
  font-family:var(--body);font-weight:400;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}

/* header */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:50;
  display:flex;align-items:center;gap:24px;padding:18px 32px;
  background:linear-gradient(180deg,rgba(6,6,30,.92) 0%,rgba(6,6,30,.6) 70%,rgba(6,6,30,0) 100%);
  pointer-events:none;
}
.site-header > *{pointer-events:auto}
.site-header .logo{height:42px;width:auto}
.site-header nav{margin-left:auto;display:flex;gap:30px;align-items:center}
.site-header nav a{
  font-family:var(--body);font-weight:500;font-size:14px;letter-spacing:.04em;
  text-transform:uppercase;color:rgba(255,255,255,.78);
  padding:6px 0;border-bottom:2px solid transparent;transition:all .15s;
}
.site-header nav a:hover,.site-header nav a.current{color:#fff;border-bottom-color:var(--bright-purple)}

/* footer */
.site-footer{
  padding:36px 32px 28px;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:24px;align-items:center;
  font-size:13px;color:var(--muted);
}
.site-footer .fm{margin-right:auto}
.site-footer a{color:var(--muted)}
.site-footer a:hover{color:#fff}

/* buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:18px 32px;border-radius:4px;
  font-family:var(--display);font-weight:900;font-size:17px;letter-spacing:.08em;
  text-transform:uppercase;cursor:pointer;
  transition:transform .12s ease, box-shadow .2s, background .2s;
}
.btn-primary{background:var(--bright-purple);color:#fff;
  box-shadow:0 8px 28px rgba(151,0,255,.45), inset 0 1px 0 rgba(255,255,255,.15);}
.btn-primary:hover{background:#A91FFF;transform:translateY(-1px);box-shadow:0 12px 36px rgba(151,0,255,.55)}
.btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4)}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.06)}

.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

@media (max-width:760px){
  .site-header{padding:14px 20px;gap:14px}
  .site-header .logo{height:32px}
  .site-header nav{gap:20px}
  .site-header nav a{font-size:12px}
  .btn{padding:15px 24px;font-size:15px}
}
