@font-face{font-family:"GeistPx";src:url(fonts/GeistPixel-Square.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Geist";src:url(fonts/Geist-Variable.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"GeistMono";src:url(fonts/GeistMono-Variable.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root,[data-theme=original]{
  --bg:#0a0a0a;--panel:#141414;--line:#242424;--line2:#2f2f2f;--fg:#fff;--muted:#8a8a8a;--ink:#0a0a0a;--hl:#fff;
  --violet:#6f52ff;--mint:#72e3b7;--cyan:#35f2f2;--pink:#f18bb2;--orchid:#e680ff;--olive:#bdbf51;
  --g-tr:linear-gradient(135deg,var(--violet),var(--mint) 70%);
  --g-bl:linear-gradient(225deg,var(--orchid),var(--cyan) 75%);
  --g-cta:linear-gradient(135deg,var(--pink),var(--olive) 140%);
  --g-focus:linear-gradient(120deg,var(--orchid),var(--pink) 35%,var(--olive));
  --g-glance:linear-gradient(120deg,var(--violet),var(--mint) 55%);
  --f-sans:"Geist",system-ui,sans-serif;--f-px:"GeistPx","GeistMono",monospace;--f-mono:"GeistMono",ui-monospace,monospace;
  --radius:0px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font-family:var(--f-sans);-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background .4s,color .4s}
a{color:inherit;text-decoration:none}
.mono{font-family:var(--f-mono);font-weight:600;font-size:13px;letter-spacing:.02em;text-transform:uppercase}
.pixel{font-family:var(--f-px);font-weight:400}
.sans{font-family:var(--f-sans);font-weight:400;letter-spacing:-.05em}
.dim{color:var(--muted)}
.grid-bg{background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:78px 78px;background-color:var(--bg)}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}
.nav>*{pointer-events:auto}
.menu-btn{display:flex;gap:12px;align-items:center;background:var(--hl);color:var(--ink);border:0;font:600 13px var(--f-mono);padding:16px 40px;height:48px;width:208px;cursor:pointer;clip-path:polygon(0 0,100% 0,100% 50%,94% 50%,94% 100%,0 100%)}
.burger{width:18px;height:6px;border-block:1.5px solid currentColor}
.menu{position:absolute;top:48px;left:0;width:320px;background:var(--hl);color:var(--ink);padding:18px 24px 26px}
.menu a{display:flex;gap:18px;align-items:baseline;font-size:26px;letter-spacing:-.03em;padding:8px 0;border-bottom:1px solid #0001}
.menu a span{font:600 12px var(--f-mono)}
.menu a:hover{padding-left:8px;transition:.2s}
.theme-toggle{display:flex;margin:12px 16px;border:1px solid var(--line2);background:var(--bg)}
.theme-toggle button{font:600 12px var(--f-mono);letter-spacing:.04em;padding:10px 14px;background:transparent;color:var(--muted);border:0;cursor:pointer}
.theme-toggle button[aria-pressed=true]{background:var(--hl);color:var(--ink)}

/* highlight-stack headlines */
.stack{display:flex;flex-direction:column;align-items:flex-start;line-height:.86;font-weight:400}
.stack.center{align-items:center}
.hl{background:var(--hl);color:var(--ink);display:inline-block;padding:0 .08em}
.hl.tag{font:600 clamp(26px,3.2vw,46px)/1 var(--f-sans);letter-spacing:-.04em;padding:2px 2px 0}
.hl.big{font-size:clamp(64px,9.6vw,138px);padding:.02em .1em .04em}
.hl.big.sans{font-family:var(--f-sans);letter-spacing:-.065em}
.hl.big.pixel{font-family:var(--f-px);letter-spacing:-.04em}
.hero .r1{margin-left:clamp(60px,9.2vw,130px);margin-top:-2px;padding-left:.15em}
.hero .r2{padding-left:clamp(40px,6vw,88px)}
.shift{margin-left:clamp(40px,9vw,130px)}

/* CTA */
.cta{display:inline-flex;gap:4px;align-items:stretch;height:44px}
.cta-arrow{width:44px;display:grid;place-items:center;background:var(--g-cta);color:var(--ink);font:700 20px var(--f-sans);border:1px solid var(--fg)}
.cta-label{display:grid;place-items:center;padding:0 15px;border:1px solid var(--fg);font:700 14px var(--f-mono);letter-spacing:.02em;background:var(--bg);color:var(--fg);transition:.25s}
.cta:hover .cta-label{background:var(--fg);color:var(--bg)}
.cta:hover .cta-arrow{transform:translateX(2px)}
.cta.sm{height:32px}.cta.sm .cta-arrow{width:32px;font-size:15px}.cta.sm .cta-label{font-size:12px;padding:0 14px;background:#fff;color:#000;border-color:#000}

/* gradient step shapes */
.step{position:absolute;pointer-events:none}
.step-tr{top:0;right:0;width:450px;height:270px;background:var(--g-tr);clip-path:polygon(0 0,100% 0,100% 100%,80% 100%,80% 55%,40% 55%,40% 66.6%,20% 66.6%,20% 33.3%,0 33.3%)}
.step-bl{left:0;bottom:0;width:450px;height:270px;background:var(--g-bl);clip-path:polygon(0 33.3%,20% 33.3%,20% 0,61% 0,61% 66.6%,100% 66.6%,100% 100%,0 100%)}
.orb{position:absolute;width:144px;height:144px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#ffffff22,#0003 60%,#0006);border:1px solid #ffffff40;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 0 30px #ffffff14,0 20px 40px #0008;z-index:2;animation:bob 6s ease-in-out infinite}
.orb svg{width:60px;height:60px;fill:#fff}
.orb-tr{top:61px;right:68px}.orb-bl{left:40px;bottom:200px;width:120px;height:120px;animation-delay:-3s}
@keyframes bob{50%{transform:translateY(-10px)}}

/* hero */
.hero{position:relative;min-height:100vh;min-height:max(100vh,860px);overflow:hidden}
.hero-inner{position:relative;z-index:3;width:min(564px,88vw);margin-left:max(30vw,24px);padding-top:203px}
.lede{margin-top:72px;font-size:18px;line-height:1.3;letter-spacing:-.02em;color:var(--soft,#cfcfcf);max-width:440px}
.hero-meta{margin-top:28px;color:var(--muted);font-size:12px}
.hero .cta{margin-top:44px;float:right}

/* stats */
.panel{background:var(--panel);border-block:1px solid var(--line);margin:0 40px;border-inline:1px solid var(--line)}
.stats{padding:48px 24px 80px}
.eyebrow{color:var(--muted)}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:84px;padding-inline:90px}
.stat-h{display:flex;gap:22px;align-items:center;font-size:17px;letter-spacing:-.02em}
.ico{width:32px;height:32px;display:grid;place-items:center;background:var(--hl);color:var(--ink);font-style:normal;font-size:16px}
.stat-n{font-size:64px;margin:22px 0 0 56px;line-height:1}

/* expect */
.expect{margin:0 40px;padding-top:120px;border-inline:1px solid var(--line)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);background:var(--panel);border-top:1px solid var(--line)}
.card{position:relative;min-height:600px;padding:88px 24px 80px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:24px;overflow:hidden}
.card:last-child{border-right:0}
.num{position:absolute;top:80px;left:24px}
.chip-grad{position:absolute;top:0;right:0;width:232px;height:160px;background:var(--g-cta);clip-path:polygon(0 0,100% 0,100% 72%,50% 72%,50% 100%,0 100%)}
.statement{margin-top:auto;font-size:32px;line-height:1.1;letter-spacing:-.045em;color:var(--muted);max-width:300px}
.statement b{color:var(--fg);font-weight:500}
.big-n{font-size:180px;line-height:.8;margin-top:100px}
.card h3{font-weight:400;font-size:24px;letter-spacing:-.04em}
.art-dots{position:absolute;right:0;bottom:0;width:268px;height:250px;background:radial-gradient(circle,var(--cyan) 1.6px,transparent 2.2px) 0 0/9px 9px,var(--g-tr);-webkit-mask:radial-gradient(circle at 70% 80%,#000 30%,transparent 72%);mask:radial-gradient(circle at 70% 80%,#000 30%,transparent 72%)}
.c3 p{margin-top:100px;font-size:16px;line-height:1.4;letter-spacing:-.02em}
.checks{list-style:none;display:grid;gap:6px}
.checks li::before{content:"✓";margin-right:12px}
.checks li{font-size:16px}
.checks li{background:linear-gradient(var(--hl),var(--hl)) 26px 0/calc(100% - 26px) 100% no-repeat;color:var(--ink);width:max-content;padding-right:4px}
.checks li::before{color:var(--fg)}
.link{margin-top:auto;font-size:16px}
.program{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.program article{padding:32px 24px 48px;border-right:1px solid var(--line)}
.program article:last-child{border-right:0}
.program h3{font-weight:500;font-size:22px;letter-spacing:-.04em;margin:28px 0 12px}
.program p{color:var(--muted);line-height:1.45;font-size:15px}

/* manifesto */
.manifesto{padding:160px 64px}
.mani{font-size:clamp(40px,6.4vw,92px);line-height:.98;letter-spacing:-.06em;max-width:1200px}
.mani span{display:inline}

/* ticket */
.ticket{display:grid;grid-template-columns:230px 335px 335px 1fr 34px;height:120px;margin:40px 0 120px;color:#0a0a0a}
.t{display:flex;flex-direction:column;justify-content:center;padding:0 24px;font-size:22px;letter-spacing:-.04em;line-height:1.3}
.t-pass{background:var(--violet);color:#fff;gap:6px;padding-left:40px;box-shadow:inset 16px 0 0 #0a0a0a,inset 0 16px 0 var(--violet)}
.t-title{font-weight:500;font-size:24px}
.t-brand{color:#fff;flex-direction:row;align-items:center;justify-content:center;font-size:30px;border-block:1px solid var(--line);background-size:30px 30px}
.t-brand b{font-weight:600;letter-spacing:-.04em}
.t-what{background:var(--mint)}
.t-when{background:linear-gradient(90deg,var(--orchid),var(--cyan) 100%);grid-column:span 1;display:grid;grid-template-columns:1fr 1fr;align-items:center}
.ticket .t-when{grid-column:4}
.t-where{display:none}
.t-bar{background:repeating-linear-gradient(#0a0a0a 0 2px,#fff 2px 4px) 6px 10px/22px calc(100% - 20px) no-repeat,#fff;border-left:1px dashed #000}

/* focus */
.focus{margin:0 40px}
.focus-panel{background:var(--g-focus);color:#0a0a0a;padding:48px 40px 40px}
.focus-title{font-size:clamp(64px,8.5vw,124px);line-height:.92;letter-spacing:-.07em;margin-bottom:200px}
.focus-box{display:grid;grid-template-columns:1fr 405px;grid-template-rows:auto 1fr;border:1px solid #0a0a0a}
.focus-head{display:grid;grid-template-columns:215px 1fr;padding:12px 16px;border-bottom:1px solid #0a0a0a}
.focus-body{padding:48px 16px 40px 231px;display:flex;flex-direction:column;gap:28px;min-height:400px}
.focus-body p{max-width:400px;line-height:1.45}
.tags{display:flex;flex-wrap:wrap;gap:6px;max-width:460px}
.tags span{background:#fff;color:#0a0a0a;padding:1px 4px;font-size:15px}
.tags span::before{content:"# ";color:#777}
.focus-body .cta{margin-top:auto}
.focus-body .cta-label{background:#0a0a0a;color:#fff;border-color:#0a0a0a}
.focus-body .cta-arrow{border-color:#0a0a0a}
.focus-art{grid-row:1/3;grid-column:2;background:radial-gradient(circle,#ffb000 2px,transparent 2.6px) 0 0/10px 10px,#1a1208;position:relative;overflow:hidden}
.art-halftone::after{content:"";position:absolute;inset:60px 60px;background:linear-gradient(160deg,#28323c,#18222c);box-shadow:0 0 0 18px #ff7a1a88,0 0 60px 30px #ff7a1a66}
.disciplines{display:grid;grid-template-columns:repeat(5,1fr);background:var(--panel);border:1px solid var(--line);border-top:0}
.disciplines div{padding:24px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:40px}
.disciplines div:last-child{border-right:0}
.disciplines b{font-weight:400;font-size:26px;letter-spacing:-.05em}

/* schedule */
.schedule{background:var(--panel);margin-top:120px;padding:120px 0 120px}
.sched-head{display:grid;grid-template-columns:1fr 1fr;padding:0 64px;align-items:start}
.sched-head .eyebrow{max-width:240px;line-height:1.5}
.steps{display:grid;grid-template-columns:repeat(6,1fr);margin:120px 0 0 64px;align-items:start}
.slot{border-left:1px solid var(--line);margin-top:calc(var(--i)*42px);position:relative}
.day{position:absolute;top:-22px;left:-1px;background:var(--hl);color:var(--ink);padding:3px 14px 2px;font-size:13px}
.slot h3{font-size:clamp(34px,3.6vw,54px);line-height:1;padding:36px 20px 30px;border-bottom:1px solid var(--line)}
.slot p{padding:18px 20px;color:var(--muted);font-size:14px;line-height:1.45}
.slot p b{display:block;color:var(--fg);font-weight:500;font-size:16px;margin-bottom:4px}
.goal{margin:120px 64px 0;font-size:clamp(28px,3.4vw,48px);letter-spacing:-.05em;line-height:1.05;max-width:900px}

/* location */
.location{position:relative;padding:150px 0 160px;overflow:hidden}
.step-tr2{top:0;right:0;width:442px;height:225px;background:var(--g-tr);clip-path:polygon(0 0,100% 0,100% 100%,80% 100%,80% 46%,40% 46%,40% 60%,20% 60%,20% 21%,0 21%)}
.loc-card{position:relative;z-index:2;width:760px;margin-left:192px;background:var(--panel);border:1px solid var(--line);padding:24px 24px 40px;min-height:420px;display:flex;flex-direction:column}
.loc-card .mono{font-size:14px}
.loc-art{position:absolute;top:0;right:0;width:380px;height:172px;background:radial-gradient(circle at 70% 40%,var(--pink),transparent 55%),radial-gradient(circle at 20% 80%,var(--cyan),transparent 60%),linear-gradient(135deg,var(--violet),#0a0a0a)}
.loc-art::after{content:"MIA";position:absolute;right:18px;bottom:10px;font:400 72px/1 var(--f-px);color:#fff}
.addr{margin-top:auto;color:var(--muted);line-height:1.4}
.loc-card h3{font-weight:400;font-size:46px;letter-spacing:-.05em;line-height:1.05;margin-top:16px;max-width:430px}
.loc-card .cta{position:absolute;right:24px;bottom:40px}
.loc-bar{position:absolute;left:-1px;right:-1px;bottom:-16px;height:16px;background:var(--violet)}
.loc-card.alt{margin-left:474px;margin-top:0}
.loc-card.alt .addr{max-width:380px}

/* footer */
.footer{position:relative;padding:90px 0 40px;overflow:hidden;min-height:900px;border-top:1px solid var(--line)}
.foot-meta{display:flex;justify-content:space-between;padding:56px 64px 0;color:var(--muted)}
.foot-main{position:relative;z-index:2;display:grid;grid-template-columns:auto 1fr;gap:100px;padding:70px 0 0 189px;align-items:end}
.foot-side{display:flex;flex-direction:column;gap:30px;color:var(--soft,#cfcfcf);font-size:18px;line-height:1.3}
.footer .hl.big{font-size:clamp(56px,7vw,100px)}
.step-fl{left:0;bottom:0;width:312px;height:312px;background:linear-gradient(160deg,var(--mint),var(--violet));clip-path:polygon(0 0,33% 0,33% 45%,100% 45%,100% 100%,0 100%)}
.step-fr{right:0;bottom:0;width:483px;height:306px;background:linear-gradient(200deg,var(--orchid),var(--cyan) 70%);clip-path:polygon(42% 0,85% 0,85% 33%,100% 33%,100% 100%,0 100%,0 66%,42% 66%)}
.copy{position:relative;z-index:2;text-align:center;margin-top:220px;color:var(--muted);font-size:14px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.mani span.reveal{display:inline-block}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.orb{animation:none}}
@media (max-width:1100px){
  .stat-row{grid-template-columns:repeat(2,1fr);padding-inline:0;row-gap:56px}
  .cards,.program{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:repeat(3,1fr);row-gap:60px;margin-right:24px}
  .slot{margin-top:0}
  .ticket{grid-template-columns:1fr 1fr;height:auto}.t{min-height:100px}.t-bar{display:none}.ticket .t-when{grid-column:auto}
  .focus-box{grid-template-columns:1fr}.focus-art{grid-row:auto;grid-column:auto;height:260px}.focus-body{padding-left:16px}
  .disciplines{grid-template-columns:repeat(3,1fr)}
  .loc-card,.loc-card.alt{width:auto;margin:0 24px 40px}
  .foot-main{grid-template-columns:1fr;padding-left:24px;gap:40px}
}
@media (max-width:700px){
  .panel,.expect,.focus{margin-inline:0}
  .hero-inner{margin-left:20px;padding-top:150px}
  .step-tr,.step-bl{width:240px;height:144px}.orb-tr{width:96px;height:96px;top:60px;right:24px}.orb-bl{display:none}
  .theme-toggle{margin:8px}.theme-toggle button{padding:8px;font-size:10px}.menu-btn{width:130px;padding:16px 18px}
  .hero .cta{float:none}
  .stat-n{margin-left:0;font-size:52px}
  .cards,.program,.disciplines{grid-template-columns:1fr}
  .card{min-height:460px;border-right:0;border-bottom:1px solid var(--line)}
  .steps{grid-template-columns:1fr 1fr;margin-left:20px}
  .sched-head{grid-template-columns:1fr;gap:40px;padding:0 20px}
  .ticket{grid-template-columns:1fr}
  .manifesto{padding:100px 20px}.goal{margin-inline:20px}
  .focus-panel{padding:32px 20px}.focus-title{margin-bottom:80px}.focus-head{grid-template-columns:90px 1fr}
  .loc-art{position:relative;width:auto;margin:16px -24px 24px}
  .loc-card h3{font-size:34px}.loc-card .cta{position:static;margin-top:24px}
  .foot-meta{padding:24px 20px;flex-direction:column;gap:6px}
  .step-fl{width:160px;height:160px}.step-fr{width:240px;height:150px}
}
/* FAQ */
.faq{background:var(--panel);padding:120px 64px;display:grid;grid-template-columns:1fr 1.6fr;gap:64px;align-items:start}
.faq-head{position:sticky;top:96px;display:flex;flex-direction:column;gap:32px}
.faq-head .eyebrow{line-height:1.6;font-size:13px}
.faq-list{border-top:1px solid var(--line2)}
.faq details{border-bottom:1px solid var(--line2)}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:72px 1fr 32px;align-items:center;padding:28px 0;font-size:24px;letter-spacing:-.03em;color:var(--fg)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .mono{font-size:13px;color:var(--muted)}
.faq summary i{font:400 28px/1 var(--f-px);font-style:normal;text-align:right;transition:transform .2s}
.faq details[open] summary i{transform:rotate(45deg)}
.faq details p{padding:0 32px 28px 72px;color:var(--muted);font-size:17px;line-height:1.45;max-width:640px}
.faq summary:hover{color:var(--muted)}
.sp-label{font-size:12px;color:var(--muted);margin-right:8px}
@media (max-width:1100px){.faq{grid-template-columns:1fr;padding:80px 20px;gap:40px}.faq-head{position:static}}
@media (max-width:700px){.faq summary{grid-template-columns:44px 1fr 24px;font-size:19px;padding:22px 0}.faq details p{padding:0 0 22px 44px;font-size:15px}}
.partners{position:relative;z-index:2;display:flex;justify-content:center;align-items:center;gap:24px;margin-top:160px;font:500 28px var(--f-sans)}
.partners img{height:40px;width:auto}
[data-theme=original] .partners img[alt="Hack Week"]{filter:invert(1)}
.partners+.copy{margin-top:24px}
/* Partner & Sponsor */
.sponsors{padding:160px 40px 120px}
.stack.center{display:flex;flex-direction:column;align-items:center}
.sponsors .stack .r1{margin-right:80px}
.sp-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:6px;margin-top:64px}
.sp-card{background:var(--panel);border:1px solid var(--line2);padding:20px 16px 16px;display:flex;flex-direction:column;min-height:560px}
.sp-card .mono{font-size:14px}
.sp-card h3{font-weight:400;font-size:48px;letter-spacing:-.05em;margin-top:12px}
.sp-foot{margin-top:auto;display:grid;grid-template-columns:1fr 1.1fr;gap:24px;align-items:end}
.sp-foot b{font-weight:500;font-size:17px;letter-spacing:-.02em}
.sp-foot p{color:var(--muted);font-size:16px;line-height:1.4;margin-top:8px;max-width:260px}
.sp-tile{background:#0d0d0d;aspect-ratio:1.45;display:grid;place-items:center;padding:32px}
.sp-tile img{max-width:78%;max-height:70%;width:auto;height:auto;opacity:.85}
.sp-tile .mono-logo{filter:grayscale(1) brightness(0) invert(1)}
@media (max-width:1100px){.sp-grid{grid-template-columns:1fr}.sp-card{min-height:440px}}
@media (max-width:700px){.sponsors{padding:96px 20px 64px}.sponsors .stack .r1{margin-right:0}.sp-foot{grid-template-columns:1fr}.sp-card h3{font-size:36px}}
