
:root{
  --ink:#07090b;
  --ink2:#0d1115;
  --panel:#11161b;
  --panel2:#151b21;
  --line:#28323b;
  --white:#f3f6f8;
  --muted:#9aa6b2;
  --blue:#078cf0;
  --blue2:#42b9ff;
  --max:1180px;
  --pad:clamp(22px,5vw,70px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{
  margin:0;background:var(--ink);color:var(--white);
  font-family:Arial,Helvetica,sans-serif;line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:999;
  opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")
}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
img{max-width:100%;display:block}
.shell{width:min(var(--max),calc(100% - (var(--pad)*2)));margin:0 auto}
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:20;
  border-bottom:1px solid rgba(255,255,255,.1);
  background:rgba(7,9,11,.83);backdrop-filter:blur(12px)
}
.navbar{height:76px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.wordmark{font-size:19px;font-weight:900;letter-spacing:.075em;text-transform:uppercase}
.wordmark b{color:var(--blue2)}
.navlinks{display:flex;align-items:center;gap:25px}
.navlinks a{
  font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:#d3dae0;transition:.2s
}
.navlinks a:hover,.navlinks a.active{color:var(--blue2)}
.menu-btn{display:none;background:none;border:0;color:white;font-size:24px}

.hero{
  min-height:100svh;display:flex;align-items:flex-end;position:relative;overflow:hidden;
  background-position:center;background-size:cover
}
.hero:before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(5,7,9,.95) 0%,rgba(5,7,9,.76) 38%,rgba(5,7,9,.25) 72%,rgba(5,7,9,.56) 100%),
    linear-gradient(0deg,var(--ink) 0%,rgba(7,9,11,.08) 38%)
}
.hero:after{
  content:"";position:absolute;left:0;bottom:0;height:5px;width:42%;
  background:linear-gradient(90deg,var(--blue),transparent)
}
.hero-content{position:relative;z-index:2;padding:150px 0 88px;max-width:810px}
.eyebrow{
  color:var(--blue2);font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:900;
  margin-bottom:17px
}
.hero h1,.page-hero h1,.section-title{
  font-family:Impact,"Arial Narrow",Arial,sans-serif;
  text-transform:uppercase;letter-spacing:.015em;font-weight:900;
  margin:0;line-height:.91
}
.hero h1{font-size:clamp(66px,11vw,142px);max-width:850px;text-shadow:0 4px 30px rgba(0,0,0,.4)}
.hero-copy{font-size:clamp(18px,2vw,25px);max-width:670px;color:#e7edf1;margin:28px 0 0}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.btn{
  appearance:none;border:1px solid #5a6570;background:transparent;color:white;
  padding:14px 19px;text-transform:uppercase;font-weight:900;font-size:12px;letter-spacing:.11em;
  cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-height:48px
}
.btn.primary{background:var(--blue);border-color:var(--blue)}
.btn:hover{transform:translateY(-1px)}
.btn.primary:hover{background:#169cfb}

.home-strip{border-bottom:1px solid var(--line);background:#090c0f}
.strip-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.strip-item{padding:26px 30px;border-right:1px solid var(--line)}
.strip-item:last-child{border-right:0}
.strip-item small{display:block;color:var(--blue2);font-weight:900;text-transform:uppercase;letter-spacing:.12em;margin-bottom:5px}
.strip-item strong{font-size:17px}

.section{padding:96px 0}
.section.alt{background:var(--ink2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-title{font-size:clamp(46px,7vw,82px)}
.section-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:44px}
.section-head p{max-width:520px;color:var(--muted);margin:0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.image-frame{position:relative;border:1px solid var(--line);background:#060708;padding:8px}
.image-frame:before{content:"";position:absolute;left:-1px;top:-1px;width:35%;height:4px;background:var(--blue)}
.image-frame img{width:100%;aspect-ratio:5/4;object-fit:cover}
.logo-frame{background:#050608;border:1px solid var(--line);padding:18px}
.copy p{font-size:17px;color:#c3ccd4;margin:0 0 17px}
.callout{border-left:3px solid var(--blue);padding-left:18px;margin:28px 0;color:#dce3e9}
.callout b{display:block;font-size:21px;color:white;margin-bottom:4px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.card{background:var(--panel);border:1px solid var(--line);padding:26px;min-height:220px;display:flex;flex-direction:column}
.card .num{color:#56616b;font-weight:900;font-size:12px;letter-spacing:.12em;margin-bottom:28px}
.card h3{font-size:23px;margin:0 0 13px}
.card p{color:var(--muted);margin:0 0 25px}
.card .text-link{margin-top:auto;color:var(--blue2);text-transform:uppercase;font-weight:900;font-size:11px;letter-spacing:.12em}
.page-hero{
  min-height:54vh;padding:170px 0 65px;display:flex;align-items:flex-end;
  background:
    radial-gradient(circle at 80% 20%,rgba(7,140,240,.14),transparent 36%),
    linear-gradient(180deg,#0c1014,var(--ink));
  border-bottom:1px solid var(--line)
}
.page-hero h1{font-size:clamp(60px,10vw,118px)}
.page-hero p{font-size:19px;color:var(--muted);max-width:720px;margin:24px 0 0}

.event-list,.updates-list{border-top:1px solid var(--line)}
.event-row{
  display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:28px;
  align-items:center;padding:27px 0;border-bottom:1px solid var(--line)
}
.event-date{text-transform:uppercase}
.event-date span{display:block;color:var(--blue2);font-size:12px;font-weight:900;letter-spacing:.12em}
.event-date strong{font-size:36px;line-height:1}
.event-row h3{font-size:24px;margin:0 0 5px}
.event-row p{margin:0;color:var(--muted)}
.pill{border:1px solid #3b4650;color:#c9d1d8;padding:7px 10px;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.empty-state{padding:42px 0;color:var(--muted);border-bottom:1px solid var(--line)}
.empty-state b{display:block;color:#e7edf1;font-size:20px;margin-bottom:6px}
.update-card{
  display:grid;grid-template-columns:180px 1fr;gap:34px;padding:30px 0;border-bottom:1px solid var(--line)
}
.update-card img{width:180px;height:125px;object-fit:cover;border:1px solid var(--line)}
.update-card time{color:var(--blue2);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.update-card h3{font-size:24px;margin:6px 0 7px}
.update-card p{color:var(--muted);margin:0}

.spec-box{border:1px solid var(--line);background:var(--panel);padding:30px}
.spec-box h3{font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:40px;margin:0 0 10px;letter-spacing:.03em}
.spec-box p{color:var(--muted);margin:0}

.sponsor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.sponsor-card{
  min-height:155px;background:var(--panel);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;padding:20px;text-align:center
}
.sponsor-card img{max-height:82px;max-width:85%;object-fit:contain;filter:grayscale(1)}
.sponsor-card:hover img{filter:none}
.sponsor-card span{text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:#d5dce2}
.pitch-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:28px 0}
.pitch-item{border:1px solid var(--line);padding:14px 15px;color:#cdd5db;font-size:14px}
.pitch-item:before{content:"+";color:var(--blue2);font-weight:900;margin-right:9px}
.form-card{background:var(--panel);border:1px solid var(--line);padding:30px}
.form-card h3{font-size:27px;margin:0 0 8px}
.form-note{color:var(--muted);font-size:13px;margin-bottom:22px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
label{font-size:10px;color:#b8c2ca;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
input,textarea{
  background:#090c0f;color:white;border:1px solid #34404a;border-radius:0;
  padding:13px 14px;outline:none
}
input:focus,textarea:focus{border-color:var(--blue)}
textarea{min-height:145px;resize:vertical}

.site-footer{padding:45px 0;border-top:1px solid var(--line);background:#06080a}
.footer-grid{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}
.footer-brand{font-size:22px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.footer-brand b{color:var(--blue2)}
.footer-note{color:#7f8b95;font-size:13px;margin-top:8px}
.socials{display:flex;gap:15px;flex-wrap:wrap}
.socials a{color:#aab4bd;font-size:11px;text-transform:uppercase;font-weight:900;letter-spacing:.12em}
.socials a:hover{color:var(--blue2)}
.cms-tip{font-size:12px;color:#66727d;margin-top:10px}
.mobile-only{display:none}

@media(max-width:850px){
  .shell{width:min(100% - 36px,var(--max))}
  .menu-btn{display:block}
  .navlinks{
    display:none;position:absolute;top:76px;left:0;right:0;background:#080b0e;
    border-bottom:1px solid var(--line);padding:18px;flex-direction:column;align-items:flex-start
  }
  .navlinks.open{display:flex}
  .hero{background-position:57% center}
  .hero-content{padding-bottom:58px}
  .hero h1{font-size:clamp(65px,21vw,105px)}
  .strip-grid{grid-template-columns:1fr}
  .strip-item{border-right:0;border-bottom:1px solid var(--line)}
  .strip-item:last-child{border-bottom:0}
  .section{padding:72px 0}
  .section-head{align-items:flex-start;flex-direction:column}
  .grid2,.cards,.sponsor-grid{grid-template-columns:1fr}
  .event-row{grid-template-columns:82px 1fr}
  .event-row .pill{grid-column:2;justify-self:start}
  .update-card{grid-template-columns:1fr}
  .update-card img{width:100%;height:auto;aspect-ratio:16/9}
  .pitch-list,.form-grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .footer-grid{grid-template-columns:1fr}
}
