/* NorseStar site — homage palette pulled from norsecorp.com (2016):
   near-black field, deep-purple/navy hero gradient, cyan #4bffff accent,
   Oswald display + Open Sans body, the purple "Live Attacks" button. */
:root{
  --bg:#07080c; --bg2:#0d0f16; --ink:#eef2f8; --mut:#9aa6bd; --line:#1c2230;
  --cyan:#4bffff; --purple:#6b3fa0; --purple2:#8451c7; --navy:#1b2a52;
  --good:#53c08a; --warn:#ff8a6b;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:"Open Sans",Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 26px}
h1,h2,h3,.kick,.eyebrow,.brand,.btn,.day b,.stat b{font-family:"Oswald",sans-serif;font-weight:300}
b,strong{font-weight:700}

/* loader (original Norse component) */
#cover{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:#07080c;transition:opacity .5s ease}
#cover.hidden{opacity:0;pointer-events:none}
#cover .loading-img{width:60px;animation:spin .5s linear infinite}
#cover p{font-family:"Oswald",sans-serif;letter-spacing:.35em;font-weight:300;margin-top:16px;color:#fff}

/* top bar */
.topbar{position:fixed;top:0;left:0;right:0;z-index:40;height:66px;display:flex;align-items:center;gap:28px;padding:0 26px;
  background:rgba(7,8,12,.72);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;color:#fff;font-size:21px;letter-spacing:.14em}
.brand b{color:var(--cyan);font-weight:700}
.brand-mark{width:30px;height:30px}
.nav{display:flex;gap:4px;margin-left:10px}
.nav a{color:#c3cde0;text-transform:uppercase;letter-spacing:.1em;font-size:13px;font-family:"Oswald",sans-serif;font-weight:300;padding:9px 14px;border:1px solid transparent}
.nav a:hover{border-color:var(--cyan);color:#fff}
.nav-cta{margin-left:auto}
.btn{display:inline-block;font-family:"Oswald",sans-serif;font-weight:400;letter-spacing:.12em;text-transform:uppercase;font-size:13px;
  padding:11px 20px;cursor:pointer;border:1px solid transparent;transition:all .15s}
.btn-primary{background:linear-gradient(135deg,var(--purple2),var(--purple));color:#fff;box-shadow:0 10px 30px -12px rgba(132,81,199,.8)}
.btn-primary:hover{filter:brightness(1.12)}
.btn-ghost{border-color:#6a4a9c;color:#d9c9f3}
.btn-ghost:hover{background:rgba(132,81,199,.18)}
.btn-outline{border-color:var(--cyan);color:var(--cyan)}
.btn-outline:hover{background:rgba(75,255,255,.1)}

/* hero */
.hero{position:relative;height:100vh;min-height:620px;overflow:hidden;
  background:radial-gradient(1200px 700px at 72% -10%,rgba(107,63,160,.55),transparent 55%),
             radial-gradient(900px 600px at 10% 30%,rgba(27,42,82,.6),transparent 60%),
             linear-gradient(180deg,#0a0b12,#07080c)}
#hero-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.85}
.hero-scrim{position:absolute;inset:0;background:radial-gradient(900px 520px at 36% 54%,rgba(7,8,12,.75),transparent 70%)}
.hero-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 26px;z-index:2}
.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--cyan);text-transform:uppercase;letter-spacing:.2em;font-size:12.5px;
  border:1px solid rgba(75,255,255,.3);padding:6px 14px;border-radius:999px;background:rgba(75,255,255,.05);font-family:"Oswald",sans-serif}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 0 0 rgba(83,192,138,.6);animation:p 1.8s infinite}
@keyframes p{0%{box-shadow:0 0 0 0 rgba(83,192,138,.5)}70%{box-shadow:0 0 0 10px transparent}100%{box-shadow:0 0 0 0 transparent}}
.hero h1{font-size:68px;line-height:1.03;margin:22px 0 0;letter-spacing:.01em;text-transform:uppercase;color:#fff;font-weight:300}
.hero h1 em{font-style:normal;font-weight:700;background:linear-gradient(120deg,#fff,var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.sub{font-size:19px;color:var(--mut);max-width:680px;margin:22px auto 32px;font-family:"Open Sans",sans-serif}
.hero-buttons{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.hero .btn{padding:14px 26px;font-size:15px}
.scroll-cue{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:#8ea0c9;font-size:26px;z-index:2;animation:bob 2s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}
.stat{background:var(--bg2);padding:26px 24px;text-align:center}
.stat b{display:block;font-size:34px;color:var(--cyan);font-weight:400}
.stat b.warn{color:var(--warn)} .stat b.good{color:var(--good)}
.stat span{color:var(--mut);font-size:12px;text-transform:uppercase;letter-spacing:.12em}

/* course band */
.band{background:linear-gradient(180deg,#0a0c14,#07080c);border-bottom:1px solid var(--line);padding:84px 0}
.two{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center}
.kick{color:var(--cyan);text-transform:uppercase;letter-spacing:.2em;font-size:13px}
h2{font-size:40px;margin:12px 0 10px;color:#fff;font-weight:300;letter-spacing:.01em}
.lead{color:var(--mut);max-width:640px}
.pills{margin:18px 0}
.pills span{display:inline-block;font-size:12.5px;color:#cdbcf0;border:1px solid #3a2d5c;border-radius:999px;padding:5px 12px;margin:4px 6px 0 0;font-family:"Oswald",sans-serif}
.authors{display:flex;gap:26px;margin-top:20px}
.au{display:flex;align-items:center;gap:11px}
.av{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--purple2),var(--cyan));display:grid;place-items:center;color:#0a0b12;font-weight:700;font-family:"Oswald",sans-serif}
.au b{display:block;color:#fff;font-family:"Open Sans";font-weight:700;font-size:15px}
.au small{color:var(--mut);font-size:13px}
.days{border-top:1px solid var(--line)}
.day{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);align-items:baseline}
.day b{color:var(--cyan);min-width:58px;font-size:17px;font-weight:400}
.day span{color:#c3cde0}

/* resources teaser */
.resources-teaser{padding:76px 26px}
.rt-head{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}

/* footer */
.site-foot{border-top:1px solid var(--line);background:#06070a;padding:34px 0;color:var(--mut);font-size:13.5px}
.foot{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.foot-mark{width:20px;height:20px;vertical-align:-4px;margin-right:6px}
.foot-links a:hover{color:var(--cyan)}

@media (max-width:860px){
  .hero h1{font-size:44px}.two{grid-template-columns:1fr;gap:30px}.stats{grid-template-columns:1fr 1fr}
  .nav{display:none}
}
