:root{
  --surface:#071015;--surface-raised:#15242b;--surface-sunken:#040a0d;--line:#26343f;--line-strong:#6b7883;
  --ink:#f7f7f5;--ink-muted:#a8b3bd;--link:#5aa0ff;
  --charcoal:#071015;--charcoal-facet:#15242b;--on-charcoal:#f7f7f5;--on-charcoal-muted:#a8b3bd;
  --red:#ff2638;--red-deep:#d60926;--yellow:#ffe828;--amber:#f5a900;--green:#0ceb87;--green-deep:#00a55c;--blue:#175bff;--blue-deep:#063690;
  --on-yellow:#071015;--on-blue:#ffffff;--focus-ring:#ffe828;
  --day-surface:#f4f4f2;--day-raised:#ffffff;--day-ink:#071015;--day-muted:#3d4b57;--day-line:#d6d8d6;--day-link:#0b4fc4;
  --g-charcoal:linear-gradient(135deg,#15242b 0%,#071015 100%);
  --g-red:linear-gradient(135deg,#ff2638 0%,#d60926 100%);
  --g-yellow:linear-gradient(180deg,#ffe828 0%,#f5a900 100%);
  --g-blue:linear-gradient(135deg,#175bff 0%,#063690 100%);
  --g-green:linear-gradient(135deg,#0ceb87 0%,#00a55c 100%);
  --f-display:"Chakra Petch","Arial Narrow",system-ui,sans-serif;
  --f-sans:"IBM Plex Sans",system-ui,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,monospace;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s6:24px;--s8:32px;--s12:48px;--s16:64px;--s24:96px;
  --max:1200px;--gutter:clamp(16px,4vw,48px);
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface);color:var(--ink);font:400 16px/24px var(--f-sans);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--link)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px;box-shadow:0 0 0 2px var(--surface)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.cut{clip-path:polygon(var(--c) 0,calc(100% - var(--c)) 0,100% var(--c),100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,var(--c) 100%,0 calc(100% - var(--c)),0 var(--c))}
.label{font:500 14px/18px var(--f-display);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted)}
.tag{--c:5px;display:inline-block;font:600 12px/16px var(--f-display);letter-spacing:.14em;text-transform:uppercase;padding:var(--s1) var(--s3);background:var(--g-yellow);color:var(--on-yellow)}
.btn{--c:8px;display:inline-block;font:600 15px/20px var(--f-display);letter-spacing:.04em;padding:var(--s3) var(--s6);text-decoration:none;border:0;cursor:pointer;transition:filter .2s}
.btn:hover{filter:brightness(1.08)}
.btn-signal{background:var(--g-yellow);color:var(--on-yellow)}
.btn-primary{background:var(--g-blue);color:var(--on-blue)}
.btn-outline{--c:8px;background:var(--line-strong);padding:1px;display:inline-block;text-decoration:none}
.btn-outline span{--c:7.5px;display:block;background:var(--surface);color:var(--ink);font:600 15px/20px var(--f-display);letter-spacing:.04em;padding:11px var(--s6)}
h1,h2,h3{font-family:var(--f-display);font-weight:700;margin:0}
h2{font-size:clamp(36px,5vw,64px);line-height:.95;letter-spacing:-.01em}
h3{font-size:28px;line-height:34px;font-weight:600}
.lede{font-size:18px;line-height:28px;color:var(--ink-muted);max-width:620px;margin:var(--s6) 0 0}
section{padding:var(--s24) 0}
section+section{border-top:1px solid var(--line)}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:20;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
.nav.solid{background:rgba(7,16,21,.94);border-bottom-color:var(--line);backdrop-filter:blur(6px)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:var(--s6)}
.nav .logo{width:112px}
.nav ul{list-style:none;display:flex;gap:var(--s8);margin:0;padding:0}
.nav ul a{color:var(--ink);text-decoration:none;font:500 14px/18px var(--f-display);letter-spacing:.14em;text-transform:uppercase}
.nav ul a:hover{color:var(--yellow)}
.nav .btn{padding:10px var(--s4);font-size:14px}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:120px 0 var(--s16);overflow:hidden;background:var(--charcoal);border:0}
.hero .art{position:absolute;inset:0;width:100%;height:100%}
.hero .art polygon{transform-box:fill-box}
.hero .copy{position:relative;z-index:2;max-width:640px}
.hero .wordmark{width:clamp(220px,32vw,400px)}
.hero .yr{font:500 14px/18px var(--f-display);letter-spacing:.4em;color:var(--on-charcoal-muted);margin-top:var(--s3)}
.hero .slogan{font:600 20px/28px var(--f-sans);margin:var(--s6) 0 0;color:var(--on-charcoal)}
.hero h1{font-size:clamp(44px,7.4vw,104px);line-height:.92;letter-spacing:-.01em;margin-top:var(--s12)}
.hero h1 .w{display:inline-block;opacity:0;transform:translateY(.25em);animation:snap .5s var(--ease) forwards}
.hero .meta{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center;margin-top:var(--s8)}
.hero .meta .where{font:500 14px/18px var(--f-display);letter-spacing:.14em;text-transform:uppercase;color:var(--on-charcoal-muted)}
.hero .ctas{display:flex;flex-wrap:wrap;gap:var(--s4);margin-top:var(--s8)}
@keyframes snap{to{opacity:1;transform:none}}
.plane{animation:slice .6s var(--ease) both}
.p-red{--from:translate(-6%,-8%)}.p-yel{--from:translate(6%,-8%)}.p-blu{--from:translate(8%,0)}.p-grn{--from:translate(4%,8%)}
@keyframes slice{from{transform:var(--from);opacity:0}to{transform:none;opacity:1}}

/* stats */
.stats{padding:0;border-top:1px solid var(--line)}
.stats .grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:var(--s8) var(--s6);border-left:1px solid var(--line)}
.stat:first-child{border-left:0;padding-left:0}
.stat b{display:block;font:500 40px/44px var(--f-mono);letter-spacing:-.02em}
.stat span{display:block;margin-top:var(--s2);color:var(--ink-muted);font-size:14px}

/* who */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6);margin-top:var(--s12)}
.card{background:var(--surface-raised);border:1px solid var(--line);padding:var(--s8) var(--s6);position:relative}
.card .chip{width:40px;height:40px;margin-bottom:var(--s6)}
.card p{color:var(--ink-muted);margin:var(--s3) 0 0}

/* tracks */
.tracks{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6);margin-top:var(--s12)}
.track{border:1px solid var(--line);background:var(--surface-raised)}
.track header{padding:var(--s6);position:relative;color:var(--on-blue)}
.track.strategy header{background:var(--g-red);color:var(--charcoal)}
.track.build header{background:var(--g-blue)}
.track header .label{color:inherit;opacity:.9}
.track header h3{margin-top:var(--s2);font-size:36px;line-height:40px;font-weight:700}
.track header p{margin:var(--s2) 0 0;font-weight:600}
.track ul{list-style:none;margin:0;padding:var(--s2) var(--s6) var(--s6)}
.track li{padding:var(--s4) 0;border-bottom:1px solid var(--line);display:flex;gap:var(--s4)}
.track li:last-child{border-bottom:0}
.track li code{font:500 14px/24px var(--f-mono);color:var(--ink-muted);flex:0 0 28px}
.track li strong{display:block;font-weight:600}
.track li span{color:var(--ink-muted);font-size:15px}
.note{margin-top:var(--s6);color:var(--ink-muted);font-size:14px;display:flex;align-items:center;gap:var(--s3)}
.note i{width:10px;height:10px;background:var(--g-yellow);display:inline-block;clip-path:polygon(0 0,100% 0,100% 100%)}

/* day */
.flow{display:grid;grid-template-columns:repeat(4,1fr);margin-top:var(--s12);border-top:1px solid var(--line)}
.flow div{padding:var(--s6) var(--s6) 0 0}
.flow b{font:500 14px/18px var(--f-display);letter-spacing:.18em;text-transform:uppercase;color:var(--yellow)}
.flow h3{font-size:22px;line-height:28px;margin-top:var(--s3)}
.flow p{color:var(--ink-muted);margin:var(--s2) 0 0;font-size:15px}

/* venue */
.venue .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s12);align-items:stretch}
.venue .panel{background:var(--surface-raised);border:1px solid var(--line);padding:var(--s8)}
.venue dl{margin:0;display:grid;gap:var(--s6)}
.venue dt{font:500 13px/18px var(--f-display);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted)}
.venue dd{margin:var(--s1) 0 0;font:600 20px/28px var(--f-sans)}
.venue .acts{display:flex;flex-wrap:wrap;gap:var(--s4);margin-top:var(--s8)}
.countdown{font:500 clamp(64px,10vw,120px)/1 var(--f-mono);letter-spacing:-.03em;margin-top:var(--s8)}
.countdown small{display:block;font:500 14px/18px var(--f-display);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted);margin-top:var(--s3)}

/* CTA band */
.band{position:relative;overflow:hidden;background:var(--charcoal);padding:var(--s24) 0}
.band .art{position:absolute;inset:0;width:100%;height:100%}
.band .copy{position:relative;z-index:2;max-width:560px}
.band .ctas{display:flex;flex-wrap:wrap;gap:var(--s4);margin-top:var(--s8)}

/* host (Day theme panel) */
.host{background:var(--day-surface);color:var(--day-ink);border:0}
.host .label{color:var(--day-muted)}
.host .grid{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--s12);align-items:center}
.host p{color:var(--day-muted);font-size:18px;line-height:28px;margin:var(--s6) 0 0;max-width:600px}
.host a{color:var(--day-link)}
.host .logos{display:flex;flex-direction:column;gap:var(--s8);align-items:flex-start;background:var(--day-raised);border:1px solid var(--day-line);padding:var(--s8)}
.host .logos img.onsite{width:220px}
.host .logos img.jamf{width:180px}
.host .proof{display:flex;gap:var(--s8);margin-top:var(--s8);flex-wrap:wrap}
.host .proof b{display:block;font:500 32px/36px var(--f-mono);letter-spacing:-.02em;color:var(--day-ink)}
.host .proof span{font-size:14px;color:var(--day-muted)}

/* footer */
footer{background:var(--surface-sunken);border-top:1px solid var(--line);padding:var(--s12) 0;color:var(--ink-muted);font-size:13px;line-height:18px}
footer .top{display:flex;justify-content:space-between;gap:var(--s8);flex-wrap:wrap;align-items:center}
footer .top img{width:96px}
footer .top nav{display:flex;gap:var(--s6);flex-wrap:wrap}
footer a{color:var(--ink-muted)}
footer a:hover{color:var(--ink)}
footer .legal{margin-top:var(--s8);padding-top:var(--s6);border-top:1px solid var(--line);display:grid;gap:var(--s2)}
footer .hostline{display:flex;align-items:center;gap:var(--s3)}
footer .hostline img{width:92px}

/* reveal */
.rv{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.rv.in{opacity:1;transform:none}

@media (max-width:960px){
  .nav ul{display:none}
  .cards{grid-template-columns:1fr}
  .tracks,.venue .grid,.host .grid{grid-template-columns:1fr}
  .flow{grid-template-columns:1fr 1fr;row-gap:var(--s8)}
  .stats .grid{grid-template-columns:1fr 1fr}
  .stat:nth-child(3){border-left:0;padding-left:0}
  .stat:nth-child(n+3){border-top:1px solid var(--line)}
}
@media (max-width:760px){
  section{padding:var(--s16) 0}
  .hero{align-items:flex-start;padding-top:104px;padding-bottom:300px;min-height:auto}
  .hero .art{top:auto;height:280px}
  .band{padding:var(--s16) 0 280px}
  .band .art{top:auto;height:260px}
  .flow{grid-template-columns:1fr}
  .stat{padding:var(--s6) var(--s4)}
  .nav .logo{width:96px}
}
/* partners */
.partners .head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s8);flex-wrap:wrap}
.headline-partner{display:grid;grid-template-columns:1fr 1.4fr;margin-top:var(--s12);border:1px solid var(--line);background:var(--surface-raised)}
.headline-partner .mark{display:flex;align-items:center;justify-content:center;padding:var(--s12) var(--s8);border-right:1px solid var(--line);background:var(--g-charcoal)}
.headline-partner .mark img{width:min(240px,70%)}
.headline-partner .txt{padding:var(--s8)}
.headline-partner .txt p{color:var(--ink-muted);margin:var(--s3) 0 0}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6);margin-top:var(--s6)}
.tier{background:var(--surface-raised);border:1px solid var(--line);padding:var(--s8) var(--s6);display:flex;flex-direction:column}
.tier .bar{height:6px;width:56px;margin-bottom:var(--s6);clip-path:polygon(0 0,100% 0,calc(100% - 6px) 100%,0 100%)}
.tier .bar.r{background:var(--g-red)}.tier .bar.b{background:var(--g-blue)}.tier .bar.g{background:var(--g-green)}.tier .bar.y{background:var(--g-yellow)}
.tier .status{font:500 12px/16px var(--f-display);letter-spacing:.18em;text-transform:uppercase;margin-top:var(--s2)}
.tier .status.open{color:var(--green)}.tier .status.taken{color:var(--ink-muted)}
.tier p{color:var(--ink-muted);margin:var(--s3) 0 0}
.tier ul{list-style:none;margin:var(--s6) 0 0;padding:0;flex:1}
.tier li{padding:var(--s3) 0;border-top:1px solid var(--line);font-size:15px;line-height:22px;display:flex;gap:var(--s3)}
.tier li::before{content:"";flex:0 0 8px;height:8px;margin-top:7px;background:var(--g-yellow);clip-path:polygon(0 0,100% 0,100% 100%)}
.tier .btn,.tier .btn-outline{margin-top:var(--s6);align-self:flex-start}
.community{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6);margin-top:var(--s6)}
.community .cta{background:var(--surface-raised);border:1px solid var(--line);padding:var(--s8) var(--s6)}
.community .cta p{color:var(--ink-muted);margin:var(--s3) 0 var(--s6)}
.sp-hero{padding:160px 0 var(--s16);position:relative;overflow:hidden;background:var(--charcoal);border:0}
.sp-hero .art{position:absolute;inset:0;width:100%;height:100%}
.sp-hero .copy{position:relative;z-index:2;max-width:680px}
.audience{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6);margin-top:var(--s12)}
.audience div{border-top:2px solid var(--line);padding-top:var(--s6)}
.audience b{font:500 32px/36px var(--f-mono);letter-spacing:-.02em;display:block}
.audience p{color:var(--ink-muted);margin:var(--s2) 0 0}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s6);margin-top:var(--s12);counter-reset:st}
.steps div{counter-increment:st}
.steps div::before{content:"0" counter(st);display:block;font:500 14px/18px var(--f-mono);color:var(--yellow);margin-bottom:var(--s3)}
.steps h3{font-size:22px;line-height:28px}
.steps p{color:var(--ink-muted);margin:var(--s2) 0 0;font-size:15px}
@media (max-width:960px){
  .headline-partner,.tiers,.community,.audience{grid-template-columns:1fr}
  .headline-partner .mark{border-right:0;border-bottom:1px solid var(--line)}
  .steps{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){.steps{grid-template-columns:1fr}.sp-hero{padding:112px 0 var(--s12)}}
/* agenda */
.agenda{list-style:none;margin:var(--s12) 0 0;padding:0;border-top:1px solid var(--line)}
.agenda .row{display:grid;grid-template-columns:140px 1fr;gap:var(--s6);padding:var(--s6) 0;border-bottom:1px solid var(--line)}
.agenda .t{font:500 15px/24px var(--f-mono);color:var(--yellow);display:flex;gap:6px}
.agenda .t span+span::before{content:"–";margin-right:6px;color:var(--ink-muted)}
.agenda .break .t{color:var(--ink-muted)}
.agenda .break h3{font:400 17px/24px var(--f-sans);color:var(--ink-muted)}
.agenda h3{font-size:22px;line-height:28px;font-weight:600}
.agenda .sess p{color:var(--ink-muted);margin:var(--s2) 0 0;font-size:15px;max-width:620px}
.agenda .sess p.spk{color:var(--ink);font-weight:600;font-size:14px}
.agenda .pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6)}
.agenda .pair .sess{background:var(--surface-raised);border:1px solid var(--line);padding:var(--s6)}
.trk{--c:5px;display:inline-block;font:600 12px/16px var(--f-display);letter-spacing:.14em;text-transform:uppercase;padding:var(--s1) var(--s3);margin-bottom:var(--s3)}
.trk.m{background:var(--g-blue);color:var(--on-blue)}
.trk.s{background:var(--g-red);color:var(--charcoal)}
@media (max-width:760px){.agenda .row{grid-template-columns:1fr;gap:var(--s2)}.agenda .pair{grid-template-columns:1fr;gap:var(--s4)}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .hero h1 .w{opacity:1;transform:none}
  .rv{opacity:1;transform:none}
  html{scroll-behavior:auto}
}
