/* Layout: fixed glass header over a full-bleed hero (animated network or the club's own video), a day bar,
   then framed sections on a deep navy-black page. Single dark identity in Georgetown navy and gold. */
:root{
  --ink-0:#05080F; --ink-1:#0A1120; --ink-2:#0F1A2E; --navy:#0F1E35;
  --line:#1C2840; --line-2:#2C3C5C;
  --fg:#E8ECF3; --fg-2:#A7B2C4; --fg-3:#6F7C93;
  --gold:#C9A24E; --gold-2:#E4C27A; --gold-ink:#0B1222;
  --logo-bg:#EEF1F5;
  --display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --body:"IBM Plex Sans",Calibri,Arial,sans-serif;
  --mono:"IBM Plex Mono","Courier New",monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(1100px 620px at 88% -8%,rgba(34,62,112,.32),transparent 62%),var(--ink-0);color:var(--fg);font:400 16px/1.6 var(--body);-webkit-font-smoothing:antialiased}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.05;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='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:inherit}
img{max-width:100%}
::selection{background:var(--gold);color:var(--gold-ink)}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 22px;font:600 14px/1 var(--body);letter-spacing:.04em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;cursor:pointer;background:none;color:var(--fg);transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}
.btn .arr{width:15px;height:15px;transition:transform .25s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.btn.gold{background:var(--gold);color:var(--gold-ink)}
.btn.gold:hover{background:var(--gold-2)}
.btn.line{border-color:var(--line-2);color:var(--fg)}
.btn.line:hover{border-color:var(--gold);color:var(--gold-2)}
.btn.sm{padding:10px 14px;font-size:12px}
.btn.wide{width:100%}
.btn.off{border:1px dashed var(--line-2);color:var(--fg-3);cursor:default}

/* Header */
.top{position:fixed;top:0;left:0;right:0;z-index:50;padding-top:env(safe-area-inset-top,0px);transition:background .35s var(--ease),border-color .35s var(--ease),backdrop-filter .35s;border-bottom:1px solid transparent}
.top.solid,.top.open{background:rgba(5,8,15,.74);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border-bottom-color:var(--line)}
.top-in{display:flex;align-items:center;gap:24px;height:68px}
.mark{display:flex;align-items:baseline;gap:2px;text-decoration:none;font:700 21px/1 var(--display);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}
.mark i{font-style:normal;color:var(--gold);margin:0 2px}
.mark em{font:500 10px/1 var(--mono);font-style:normal;letter-spacing:.12em;color:var(--fg-3);margin-left:8px;border:1px solid var(--line-2);padding:3px 5px;align-self:center}
.links{display:flex;gap:26px;margin-left:auto}
.links a{font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--fg-2);padding:8px 0;position:relative}
.links a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.links a:hover{color:var(--fg)}.links a:hover::after{transform:scaleX(1)}
.acts{display:flex;align-items:center;gap:10px}
.menu{display:none;width:40px;height:40px;border:1px solid var(--line-2);background:none;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px}
.menu span{display:block;width:16px;height:1.5px;background:var(--fg);transition:transform .3s var(--ease)}
.top.open .menu span:first-child{transform:translateY(3.75px) rotate(45deg)}
.top.open .menu span:last-child{transform:translateY(-3.75px) rotate(-45deg)}

/* Hero */
.hero{position:relative;overflow:hidden;min-height:min(92vh,860px);display:flex;flex-direction:column;justify-content:flex-end;padding-top:calc(120px + env(safe-area-inset-top,0px));border-bottom:1px solid var(--line);background:var(--ink-1)}
.hero-media{position:absolute;inset:0}
.hero-media canvas,.hero-media video,.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.hero-media video,.hero-media img{filter:grayscale(.35) contrast(1.05)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,8,15,.92) 0%,rgba(5,8,15,.55) 55%,rgba(5,8,15,.25) 100%),linear-gradient(0deg,var(--ink-0) 0%,rgba(5,8,15,0) 38%),repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px)}
.hero-shade::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse at 70% 40%,#000,transparent 70%);mask-image:radial-gradient(ellipse at 70% 40%,#000,transparent 70%)}
.hero-scan{position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(228,194,122,.55) 30%,rgba(228,194,122,.55) 70%,transparent);box-shadow:0 0 18px 2px rgba(201,162,78,.25);pointer-events:none;opacity:0;z-index:1}
.hero>.wrap{width:100%}
.hero-in{position:relative;z-index:2;padding-bottom:44px}
.kicker{display:flex;align-items:center;gap:14px;margin:0 0 22px;font:500 12px/1 var(--mono);letter-spacing:.28em;text-transform:uppercase;color:var(--gold-2)}
.kicker::before{content:"";width:44px;height:1px;background:var(--gold)}
.hero h1{margin:0;font:700 clamp(46px,7.6vw,112px)/.9 var(--display);text-transform:uppercase;letter-spacing:-.005em;max-width:13.5ch;text-wrap:balance}
.hero h1 span{display:inline-block}
.hero-meta{margin:26px 0 0;font:500 13px/1.4 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-2)}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.bar{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line-2);border-bottom:0;background:rgba(5,8,15,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.cell{display:flex;flex-direction:column;gap:6px;padding:18px 20px;text-decoration:none;min-width:0;border-left:1px solid var(--line-2);transition:background .25s var(--ease)}
.cell:first-child{border-left:0}
a.cell:hover{background:rgba(201,162,78,.08)}
.c-k{font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3)}
.cell b{font:700 24px/1.05 var(--display);text-transform:uppercase;letter-spacing:.01em}
.cell.cd b{color:var(--gold-2);font-variant-numeric:tabular-nums}

/* Sections */
main{position:relative}
.sec{padding-block:104px 0;scroll-margin-top:72px}
.card{scroll-margin-top:88px}
.sh{margin-bottom:40px}
.sh-k{display:flex;align-items:center;gap:14px;margin:0 0 16px;font:500 11px/1 var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-2)}
.sh-k::before{content:"";width:8px;height:8px;border:1px solid var(--gold);transform:rotate(45deg)}
.sh-k::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line-2),transparent);transform-origin:left;transition:transform 1.1s var(--ease)}
.sh h2{margin:0;font:700 clamp(34px,4.6vw,60px)/.98 var(--display);text-transform:uppercase;letter-spacing:.005em;text-wrap:balance;max-width:20ch}
.tba{color:var(--fg-3);font-style:italic}

.about{display:grid;gap:22px;max-width:820px}
.about p{margin:0;color:var(--fg-2);max-width:62ch}
.about .lead{font-size:clamp(20px,2.1vw,26px);line-height:1.45;color:var(--fg);font-weight:400}
.about .note{font:500 12px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3)}

/* Corner-marked frames */
.frame{background-image:
  linear-gradient(var(--gold),var(--gold)),linear-gradient(var(--gold),var(--gold)),
  linear-gradient(var(--gold),var(--gold)),linear-gradient(var(--gold),var(--gold)),
  linear-gradient(var(--gold),var(--gold)),linear-gradient(var(--gold),var(--gold)),
  linear-gradient(var(--gold),var(--gold)),linear-gradient(var(--gold),var(--gold));
  background-repeat:no-repeat;
  background-size:14px 1px,1px 14px,14px 1px,1px 14px,14px 1px,1px 14px,14px 1px,1px 14px;
  background-position:left -1px top -1px,left -1px top -1px,right -1px top -1px,right -1px top -1px,left -1px bottom -1px,left -1px bottom -1px,right -1px bottom -1px,right -1px bottom -1px}

/* Event cards */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:16px;padding:30px 28px 28px;background-color:var(--ink-1);border:1px solid var(--line);transition:border-color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease)}
.card::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold-2));transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.card:hover{border-color:var(--line-2);transform:translateY(-4px);box-shadow:0 24px 60px -30px rgba(201,162,78,.35)}
.card:hover::before{transform:scaleX(1)}
.card>:not(.num){position:relative;z-index:1}
.num{position:absolute;right:14px;bottom:-34px;font:700 150px/1 var(--display);color:transparent;-webkit-text-stroke:1px var(--line-2);pointer-events:none;z-index:0;transition:-webkit-text-stroke-color .35s}
.card:hover .num{-webkit-text-stroke-color:rgba(201,162,78,.45)}
.tag{margin:0;font:500 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2)}
.card h3{margin:0;font:700 42px/1 var(--display);text-transform:uppercase;letter-spacing:.005em}
.desc{margin:0;color:var(--fg-2)}
dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:10px 16px;padding-top:16px;border-top:1px solid var(--line);font-size:15px}
dt{font:500 10px/1.9 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3)}
dd{margin:0;min-width:0;overflow-wrap:anywhere}
.ex{border-top:1px solid var(--line);padding-top:12px;font-size:15px}
.ex h4{margin:0 0 6px;font:500 10px/1.4 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3)}
.ex ul{margin:0;padding-left:18px}
.card .btn{margin-top:auto}

/* Updates timeline */
.tl{list-style:none;margin:0;padding:0 0 0 28px;border-left:1px solid var(--line-2);max-width:860px}
.tl li{position:relative;padding:0 0 28px}
.tl li::before{content:"";position:absolute;left:-33px;top:6px;width:9px;height:9px;background:var(--gold);box-shadow:0 0 0 4px var(--ink-0),0 0 18px rgba(201,162,78,.6)}
.tl time{display:block;font:500 11px/1.4 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2);margin-bottom:6px}
.tl p{margin:0;color:var(--fg-2);font-size:17px}

/* Sponsors and partners */
.tier+.tier{margin-top:36px}
.tn{margin:0 0 14px;font:500 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-3)}
.spons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.sp{display:flex;align-items:center;justify-content:center;min-width:0;padding:22px 18px;text-align:center;text-decoration:none;background:var(--ink-1);border:1px solid var(--line);transition:border-color .3s var(--ease),transform .3s var(--ease)}
.sp.has-logo{background:var(--logo-bg)}
.sp b{font:700 24px/1.1 var(--display);text-transform:uppercase;overflow-wrap:anywhere}
.sp img{max-width:100%;object-fit:contain;display:block}
a.sp:hover{border-color:var(--gold);transform:translateY(-2px)}
.t-platinum .spons{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.t-platinum .sp{min-height:160px}.t-platinum .sp img{max-height:96px}
.t-gold .spons{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.t-gold .sp{min-height:130px}.t-gold .sp img{max-height:76px}
.t-silver .spons{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.t-silver .sp{min-height:108px}.t-silver .sp img{max-height:60px}
.t-bronze .spons{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.t-bronze .sp{min-height:90px}.t-bronze .sp img{max-height:48px}
.t-friend .spons{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.t-friend .sp{min-height:60px;padding:12px}.t-friend .sp b{font-size:18px}
.t-partner .spons{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.t-partner .sp{min-height:96px}.t-partner .sp img{max-height:52px}
/* Campus partners: logos stand on their own, no tile behind them */
.t-partner .spons{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px 40px;align-items:center}
.t-partner .sp.has-logo{background:none;border:0;padding:12px;min-height:160px}
.t-partner .sp.has-logo img{width:auto;height:auto;max-height:128px;max-width:min(100%,260px);transition:transform .35s var(--ease),filter .35s var(--ease)}
.t-partner a.sp.has-logo:hover{transform:none}
.t-partner a.sp.has-logo:hover img{transform:translateY(-4px) scale(1.03);filter:drop-shadow(0 12px 28px rgba(201,162,78,.28))}
.t-partner a.sp.has-logo:focus-visible{outline-offset:6px}

/* Sponsors: logos stand on their own, sized by tier */
#sponsors .tier+.tier{margin-top:64px}
#sponsors .tn{display:flex;align-items:center;gap:18px;margin:0 0 28px;color:var(--gold-2)}
#sponsors .tn::before,#sponsors .tn::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--line-2))}
#sponsors .tn::after{background:linear-gradient(90deg,var(--line-2),transparent)}
#sponsors .spons{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:32px 80px}
#sponsors .sp{min-width:220px}
#sponsors .sp.has-logo{min-width:0;background:none;border:0;padding:12px 6px;min-height:0}
#sponsors .sp.has-logo img{width:auto;height:auto;max-width:min(100%,var(--w));max-height:var(--h);transition:transform .35s var(--ease),filter .35s var(--ease)}
#sponsors a.sp.has-logo:hover{transform:none}
#sponsors a.sp.has-logo:hover img{transform:translateY(-4px) scale(1.03);filter:drop-shadow(0 12px 28px rgba(201,162,78,.3))}
#sponsors a.sp.has-logo:focus-visible{outline-offset:6px}
.t-platinum{--h:120px;--w:540px}.t-gold{--h:96px;--w:420px}.t-silver{--h:80px;--w:330px}.t-bronze{--h:62px;--w:270px}.t-friend{--h:46px;--w:210px}

/* FAQ */
.faq{border-top:1px solid var(--line);max-width:920px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;cursor:pointer;font:600 18px/1.35 var(--body)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--gold-2)}
.pm{position:relative;flex:none;width:14px;height:14px}
.pm::before,.pm::after{content:"";position:absolute;left:0;top:6.5px;width:14px;height:1.5px;background:var(--gold);transition:transform .3s var(--ease)}
.pm::after{transform:rotate(90deg)}
.faq details[open] .pm::after{transform:rotate(0)}
.faq details p{margin:-6px 0 22px;color:var(--fg-2);max-width:70ch}

/* Footer */
.foot{margin-top:128px;border-top:1px solid var(--line);background:linear-gradient(180deg,var(--ink-1),var(--ink-0));padding-block:56px 40px;overflow:hidden}
.foot .big{margin:0 0 40px;font:700 clamp(64px,15vw,220px)/.8 var(--display);text-transform:uppercase;color:transparent;-webkit-text-stroke:1px var(--line-2);letter-spacing:-.01em;white-space:nowrap}
.foot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding-top:28px;border-top:1px solid var(--line)}
.foot-grid p{margin:0;color:var(--fg-2);font-size:15px}
.foot-grid b{color:var(--fg)}
.f-k{font:500 10px/1 var(--mono)!important;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-3)!important;margin-bottom:10px!important}
.sel{user-select:all;color:var(--fg)!important}
.totop{display:inline-block;margin-top:36px;font:500 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--fg-3)}
.totop:hover{color:var(--gold-2)}
.foot-nav{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.foot-nav a{font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--fg-2)}
.foot-nav a:hover,.foot-nav a[aria-current=page]{color:var(--gold-2)}

/* Inner pages: compact header band instead of the video hero */
.page-top{position:relative;overflow:hidden;padding:calc(150px + env(safe-area-inset-top,0px)) 0 60px;border-bottom:1px solid var(--line);
  background:radial-gradient(900px 420px at 88% -10%,rgba(34,62,112,.42),transparent 70%),linear-gradient(180deg,var(--ink-1),var(--ink-0))}
.page-top::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse at 80% 20%,#000,transparent 65%);mask-image:radial-gradient(ellipse at 80% 20%,#000,transparent 65%)}
.page-top .wrap{position:relative;z-index:1}
.page-top h1{margin:0;font:700 clamp(44px,6.4vw,92px)/.92 var(--display);text-transform:uppercase;letter-spacing:-.005em;max-width:16ch;text-wrap:balance}
.page-top .hero-meta{margin-top:22px}
main.subpage .sec{padding-top:64px}
.row-cta{margin-top:10px}
.links a[aria-current=page]{color:var(--fg)}
.links a[aria-current=page]::after{transform:scaleX(1)}
.credit{margin:28px 0 0;font:500 10px/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3)}


/* ===== Conference schedule ===== */
.sbar{display:grid;grid-template-columns:1.1fr 1.4fr 1.2fr .9fr;border:1px solid var(--line-2);background:linear-gradient(180deg,rgba(15,26,46,.7),rgba(10,17,32,.7));position:relative;overflow:hidden}
.sbar::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.6}
.sbar .cell b{font-size:22px}
.chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:28px 0 44px}
.chips::before{content:"Filter //";font:500 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-3);margin-right:8px}
.chip{font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;padding:11px 14px;border:1px solid var(--line-2);background:none;color:var(--fg-2);cursor:pointer;transition:border-color .25s var(--ease),color .25s var(--ease),background .25s var(--ease)}
.chip:hover{border-color:var(--gold);color:var(--fg)}
.chip[aria-pressed=true]{border-color:var(--gold);color:var(--gold-2);background:rgba(201,162,78,.08)}
.sched{list-style:none;margin:0;padding:0;position:relative}
.si{display:grid;grid-template-columns:150px 44px minmax(0,1fr);align-items:stretch}
.si-time{padding:20px 0 12px;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.si-time b{font:700 34px/1 var(--display);letter-spacing:.01em;font-variant-numeric:tabular-nums}
.si-time b i{font:500 11px/1 var(--mono);font-style:normal;letter-spacing:.12em;color:var(--fg-3);margin-left:5px;vertical-align:4px}
.si-time span{font:500 11px/1.2 var(--mono);letter-spacing:.1em;color:var(--fg-3)}
.si-time em{font:500 10px/1 var(--mono);font-style:normal;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2);border:1px solid var(--line-2);padding:4px 7px}
.si-rail{position:relative}
.si-rail::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--line-2)}
.si:first-child .si-rail::before{top:32px}
.si:last-child .si-rail::before{bottom:auto;height:32px}
.si-rail span{position:absolute;top:27px;left:50%;width:10px;height:10px;margin-left:-5px;transform:rotate(45deg);border:1px solid var(--fg-3);background:var(--ink-0)}
.si.big .si-rail span{border-color:var(--gold);background:var(--gold);box-shadow:0 0 0 4px var(--ink-0),0 0 16px rgba(201,162,78,.65)}
.si-body{position:relative;overflow:hidden;margin:8px 0;padding:14px 24px;border:1px solid transparent;min-width:0}
.si.big .si-body{padding:22px 26px 22px;background-color:var(--ink-1);border-color:var(--line);transition:border-color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease)}
.si.big .si-body::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold-2));transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.si.big .si-body:hover{border-color:var(--line-2);transform:translateX(4px);box-shadow:0 24px 60px -34px rgba(201,162,78,.4)}
.si.big .si-body:hover::before{transform:scaleX(1)}
.si.k-keynote .si-body{border-color:rgba(201,162,78,.5);background-color:#0B1324;background-image:radial-gradient(120% 140% at 0% 0%,rgba(201,162,78,.16),rgba(201,162,78,0) 48%),linear-gradient(var(--gold),var(--gold)),linear-gradient(var(--gold),var(--gold)),linear-gradient(var(--gold),var(--gold)),linear-gradient(var(--gold),var(--gold)),linear-gradient(var(--gold),var(--gold)),linear-gradient(var(--gold),var(--gold)),linear-gradient(var(--gold),var(--gold)),linear-gradient(var(--gold),var(--gold));
  background-size:100% 100%,14px 1px,1px 14px,14px 1px,1px 14px,14px 1px,1px 14px,14px 1px,1px 14px;
  background-position:0 0,left -1px top -1px,left -1px top -1px,right -1px top -1px,right -1px top -1px,left -1px bottom -1px,left -1px bottom -1px,right -1px bottom -1px,right -1px bottom -1px}
.si-body>:not(.si-num){position:relative;z-index:1}
.si-num{position:absolute;right:18px;bottom:-30px;font:700 128px/1 var(--display);color:transparent;-webkit-text-stroke:1px var(--line-2);pointer-events:none;transition:-webkit-text-stroke-color .35s}
.si.big .si-body:hover .si-num{-webkit-text-stroke-color:rgba(201,162,78,.45)}
.si-tag{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px}
.badge{font:500 10px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-3);border:1px solid var(--line-2);padding:5px 8px}
.si.big .badge{color:var(--gold-2);border-color:var(--gold)}
.si h3{margin:0;font:600 18px/1.35 var(--body);color:var(--fg-2)}
.si.big h3{font:700 clamp(24px,2.6vw,32px)/1.04 var(--display);text-transform:uppercase;letter-spacing:.005em;color:var(--fg);max-width:30ch;text-wrap:balance}
.si:not(.big) .si-tag{margin-bottom:6px}
.si-who{margin:10px 0 0;font-size:15px;color:var(--fg-2)}
.si-who::before{content:"// ";color:var(--gold);font-family:var(--mono)}
.si-more{margin-top:16px;border-top:1px solid var(--line);max-width:80ch}
.si-more summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0 2px;cursor:pointer;font:500 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2)}
.si-more summary::-webkit-details-marker{display:none}
.si-more summary:hover{color:var(--fg)}
.si-more[open] .pm::after{transform:rotate(0)}
.si-more p{margin:12px 0 2px;color:var(--fg-2);font-size:15.5px;line-height:1.65}
.gap{position:relative;display:grid;grid-template-columns:150px 44px minmax(0,1fr);height:40px;align-items:center}
.gap::before{content:"";grid-column:2;justify-self:center;width:1px;height:100%;background:repeating-linear-gradient(180deg,var(--line-2) 0 4px,transparent 4px 8px)}
.gap span{grid-column:3;padding-left:24px;font:500 10px/1 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--fg-3);display:flex;align-items:center;gap:12px}
.gap span::after{content:"";flex:1;max-width:240px;height:1px;background:linear-gradient(90deg,var(--line-2),transparent)}
/* live day states (set by the effects script on April 2, Eastern time) */
.si.is-past{opacity:.42}
.si.is-now .si-body{border-color:var(--gold)!important;box-shadow:0 0 0 1px var(--gold),0 24px 70px -30px rgba(201,162,78,.6)}
.si.is-now .si-rail span{animation:pulse 1.6s ease-in-out infinite}
.live{font:600 10px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;padding:5px 8px;display:inline-flex;align-items:center;gap:7px}
.is-now .live{background:var(--gold);color:var(--gold-ink)}
.is-now .live::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold-ink);animation:blink 1.2s steps(2,start) infinite}
.is-next .live{border:1px solid var(--gold);color:var(--gold-2)}
@keyframes pulse{0%,100%{box-shadow:0 0 0 4px var(--ink-0),0 0 10px rgba(201,162,78,.5)}50%{box-shadow:0 0 0 4px var(--ink-0),0 0 26px rgba(201,162,78,1)}}
@keyframes blink{to{visibility:hidden}}
/* filters */
.sched[data-f=panels] li:not([data-g=panels]),.sched[data-f=keynotes] li:not([data-g=keynotes]),.sched[data-f=network] li:not([data-g=network]){display:none}
.sched-foot{margin-top:56px;padding-top:26px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px}
.sched-foot .tz{margin:0;font:500 11px/1.5 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3)}
.sched-foot .row-cta{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.card .sched-link{margin-top:-6px}


/* ===== Polish layer: HUD, progress, spotlight, home sections, CTAs ===== */
.prog{position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:linear-gradient(90deg,var(--gold),var(--gold-2));transform:scaleX(var(--p,0));transform-origin:left;opacity:.9;pointer-events:none}
.hud{display:flex;flex-direction:column;align-items:flex-end;gap:5px;font:500 10px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--fg-3);text-align:right}
.hud b{font-weight:500;color:var(--gold-2);font-variant-numeric:tabular-nums}
.hud::before{content:"";width:46px;height:9px;margin-bottom:4px;border-top:1px solid var(--gold);border-right:1px solid var(--gold)}
.hud-wrap .hud{color:var(--fg-2);text-shadow:0 1px 10px rgba(5,8,15,.9),0 0 2px rgba(5,8,15,.9)}
.hud-wrap{position:absolute;left:0;right:0;top:calc(98px + env(safe-area-inset-top,0px));z-index:2;display:flex;justify-content:flex-end;pointer-events:none}
.page-top .hud{position:absolute;right:max(20px,env(safe-area-inset-right,0px));bottom:4px}
.page-top .wrap{position:relative}
.pt-net{position:absolute;top:0;right:0;width:58%;height:100%;opacity:.75;-webkit-mask-image:linear-gradient(90deg,transparent,#000 45%);mask-image:linear-gradient(90deg,transparent,#000 45%);pointer-events:none}
/* cursor spotlight on cards */
.card::after,.si.big .si-body::after,.cta-band::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .35s var(--ease);background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(201,162,78,.11),transparent 45%)}
.card:hover::after,.si.big .si-body:hover::after,.cta-band:hover::after{opacity:1}
/* calendar link on event cards */
.cal{align-self:center;margin-top:-4px;font:500 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3);text-decoration:none;padding:6px 2px;border-bottom:1px solid transparent}
.cal:hover{color:var(--gold-2);border-bottom-color:var(--gold)}
/* home: stats */
.stats-sec{padding-top:88px}
.stats{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.stat{position:relative;padding:30px 24px 26px;border-left:1px solid var(--line)}
.stat:first-child{border-left:0;padding-left:0}
.stat b{display:block;font:700 clamp(56px,7vw,96px)/.9 var(--display);color:var(--fg);font-variant-numeric:tabular-nums}
.stat span{display:block;margin-top:10px;font:500 11px/1.3 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--fg-2)}
.stat i{position:absolute;top:14px;right:16px;font:500 10px/1 var(--mono);font-style:normal;letter-spacing:.14em;color:var(--gold)}
/* home: topic ticker + logo strip */
.topics{padding-top:96px}
.topics .sh-k,.backers .sh-k{margin-bottom:22px}
.mq{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq-track{display:flex;width:max-content;animation:mq 60s linear infinite}
.mq:hover .mq-track{animation-play-state:paused}
.mq-row{display:flex;align-items:center;flex:none}
@keyframes mq{to{transform:translateX(-50%)}}
.mq-topics{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}
.tp{display:inline-flex;align-items:center;font:700 clamp(26px,3.4vw,44px)/1 var(--display);text-transform:uppercase;letter-spacing:.01em;color:var(--fg);white-space:nowrap;padding:0 34px}
.tp::after{content:"";width:9px;height:9px;margin-left:68px;transform:rotate(45deg);border:1px solid var(--gold)}
.tp:nth-child(even){color:transparent;-webkit-text-stroke:1px var(--fg-2)}
.more{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2);text-decoration:none}
.more .arr{width:13px;height:13px;transition:transform .25s var(--ease)}.more:hover .arr{transform:translateX(4px)}
.backers{padding-top:96px}
.backers-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 26px}
.backers-head .sh-k{flex:1 1 100%}
.backers-head .more{margin:0 0 18px}
.mq-logos .mq-track{animation-duration:40s}
.lgo{display:flex;align-items:center;justify-content:center;height:84px;padding:0 44px;opacity:.82;transition:opacity .3s var(--ease),transform .3s var(--ease)}
.lgo:hover{opacity:1;transform:translateY(-2px)}
.lgo img{max-height:54px;max-width:220px;width:auto;height:auto;display:block}
/* call-to-action band */
.cta-band{position:relative;overflow:hidden;margin-top:96px;padding:40px 44px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 40px;border:1px solid var(--line-2);
  background-color:#0B1324;background-image:radial-gradient(90% 160% at 100% 0%,rgba(201,162,78,.14),rgba(201,162,78,0) 55%),linear-gradient(var(--gold),var(--gold)),linear-gradient(var(--gold),var(--gold)),linear-gradient(var(--gold),var(--gold)),linear-gradient(var(--gold),var(--gold)),linear-gradient(var(--gold),var(--gold)),linear-gradient(var(--gold),var(--gold)),linear-gradient(var(--gold),var(--gold)),linear-gradient(var(--gold),var(--gold));
  background-size:100% 100%,14px 1px,1px 14px,14px 1px,1px 14px,14px 1px,1px 14px,14px 1px,1px 14px;
  background-position:0 0,left -1px top -1px,left -1px top -1px,right -1px top -1px,right -1px top -1px,left -1px bottom -1px,left -1px bottom -1px,right -1px bottom -1px,right -1px bottom -1px}
.cta-band>*{position:relative;z-index:1}
.cta-band h2{margin:0;font:700 clamp(32px,4vw,52px)/.95 var(--display);text-transform:uppercase}
.cta-band p:not(.sh-k){margin:12px 0 0;color:var(--fg-2);max-width:56ch}
.cta-band .sh-k{margin-bottom:14px}.cta-band .sh-k::after{display:none}
.cta-band .cta{margin:0}
#sponsors .cta-band{margin-top:88px}
.ask{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;max-width:920px;margin-top:40px;padding:22px 0;border-top:1px solid var(--line-2)}
.ask p{margin:0;font:700 26px/1 var(--display);text-transform:uppercase}
.lead404{margin:0 0 28px;font-size:20px;color:var(--fg-2)}
@media (max-width:980px){
}
@media (max-width:640px){
  .hud-wrap,.page-top .hud{display:none}
  .pt-net{width:100%;opacity:.45}
  .stat{padding:22px 12px 20px}.stat:first-child{padding-left:0}.stat span{font-size:10px;letter-spacing:.12em}
  .stat b{font-size:56px}
  .topics,.backers{padding-top:72px}
  .tp{padding:0 20px}.tp::after{margin-left:40px}
  .lgo{height:68px;padding:0 28px}.lgo img{max-height:42px;max-width:170px}
  .cta-band{padding:28px 22px;margin-top:72px}
}
@media (prefers-reduced-motion:reduce){
  .mq-track{animation:none;flex-wrap:wrap;width:auto}
  .mq-row[aria-hidden]{display:none}
  .mq-row{flex-wrap:wrap;justify-content:center}
}

/* Motion (only with the effects script, never hides content) */
@media (prefers-reduced-motion:no-preference){
  .fx .hero.go h1 span{animation:rise .9s var(--ease) both;animation-delay:calc(var(--i) * 70ms + 120ms)}
  .fx .hero.go .cta,.fx .hero.go .bar{animation:fade .9s var(--ease) both;animation-delay:.6s}
  .fx .hero-scan{animation:scan 7s linear infinite 1s}
  .fx [data-reveal]:not(.card){transition:transform .9s var(--ease)}
  .fx [data-reveal].pre{transform:translateY(28px)}
  .fx .sh.pre .sh-k::after{transform:scaleX(0)}
}
@keyframes rise{from{transform:translateY(.35em);opacity:0;filter:blur(6px)}to{transform:none;opacity:1;filter:none}}
@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes scan{0%{transform:translateY(-140px);opacity:0}8%{opacity:1}92%{opacity:1}100%{transform:translateY(900px);opacity:0}}

/* Responsive */
@media (max-width:1120px){
  .links{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;margin:0;padding:8px max(20px,env(safe-area-inset-right,0px)) 16px max(20px,env(safe-area-inset-left,0px));background:var(--ink-0);border-bottom:1px solid var(--line);display:none}
  .top.open .links{display:flex}
  .links a{padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}
  .acts{margin-left:auto}
  .menu{display:flex}
}
@media (max-width:980px){
  .cards{grid-template-columns:minmax(0,1fr)}
  .sbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sbar .cell:nth-child(3){border-left:0}
  .sbar .cell:nth-child(n+3){border-top:1px solid var(--line-2)}
}
@media (max-width:640px){
  #sponsors .spons{gap:22px 40px}.t-platinum{--h:88px}.t-gold{--h:74px}.t-silver{--h:62px}.t-bronze{--h:50px}.t-friend{--h:40px}
  .si,.gap{grid-template-columns:70px 26px minmax(0,1fr)}
  .si-time{padding-top:16px}.si-time b{font-size:21px}.si-time b i{display:block;margin:4px 0 0;vertical-align:0}
  .si-time span{display:none}.si-time em{font-size:9px;padding:3px 5px;letter-spacing:.1em}
  .si-rail span{top:22px}.si:first-child .si-rail::before{top:26px}
  .si-body{padding:10px 14px}.si.big .si-body{padding:18px 16px}
  .si-num{font-size:84px;bottom:-18px}
  .gap span{padding-left:14px}
  .sbar .cell b{font-size:18px}
  .chips::before{width:100%;margin-bottom:4px}
  .t-partner .spons{gap:4px 20px}.t-partner .sp.has-logo{min-height:128px}.t-partner .sp.has-logo img{max-height:104px}
  .page-top{padding:calc(118px + env(safe-area-inset-top,0px)) 0 44px}
  main.subpage .sec{padding-top:44px}
  .top-in{height:60px;gap:12px}
  .mark{font-size:18px}.mark em{display:none}
  .acts .btn.gold{display:none}
  .hero{min-height:auto;padding-top:calc(108px + env(safe-area-inset-top,0px))}
  .bar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cell:nth-child(3){border-left:0}
  .cell:nth-child(n+3){border-top:1px solid var(--line-2)}
  .cell b{font-size:20px}
  .sec{padding-block:72px 0}
  .card h3{font-size:36px}
  .num{font-size:110px;bottom:-24px}
  .foot-grid{grid-template-columns:minmax(0,1fr)}
}
