@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#111317;--text:#f3f3ef;--muted:#b2b8c3;--accent:#8ca3ff;--line:#343840;--blue:#3f66ff}
*{box-sizing:border-box}
html{scroll-padding-top:24px}
body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}
a{color:var(--accent);text-underline-offset:4px}
a:hover{text-decoration-thickness:2px}
a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
[hidden]{display:none!important}
.wrap{width:min(100% - 64px,1080px);margin-inline:auto}
h1,h2,p,dl{margin-top:0}
h2{font-size:32px;line-height:1.2;letter-spacing:-.8px;margin-bottom:25px;font-weight:600}
p{margin-bottom:18px;color:var(--muted)}
.skip{position:absolute;top:-90px;left:20px;z-index:10;padding:12px 18px;background:var(--blue);color:white}
.skip:focus{top:12px}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:27px}
.brand{line-height:0;flex-shrink:0}
.brand img{display:block;width:244px;height:auto}
nav{display:flex;gap:28px}
nav a{color:var(--text);font-size:14px;text-decoration:none}
nav a:hover{text-decoration:underline}
.hero{text-align:center;padding-block:66px 76px}
.eyebrow{font-size:13px;letter-spacing:1.6px;font-weight:600;color:var(--accent);margin-bottom:25px}
h1{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:clamp(56px,7.8vw,100px);font-weight:600;line-height:1.02;letter-spacing:-1px;margin-bottom:25px}
h1 span{color:var(--accent)}
.venue{font-size:18px;color:var(--text);margin-bottom:32px}
.countdown{--countdown-gap:36px;display:flex;justify-content:center;gap:var(--countdown-gap);font-variant-numeric:tabular-nums}
.countdown>div{position:relative;min-width:66px;display:flex;flex-direction:column;align-items:center}
.countdown strong{font-size:36px;line-height:1.15;font-weight:500;letter-spacing:-1px}
.countdown>div>span{font-size:12px;color:var(--muted);margin-top:7px}
.countdown-note{font-size:12px;margin:15px auto 29px;max-width:500px}
.button{display:inline-block;background:var(--blue);color:white;text-decoration:none;padding:13px 24px;font-size:15px;font-weight:600;border-radius:3px}
.button:hover{background:#5275ff;text-decoration:none}
.registration-status{font-size:13px;margin:12px 0 0}
.section{padding-block:54px;border-top:1px solid var(--line)}
.section-intro{max-width:760px;font-size:18px}
.facts{margin-bottom:20px}
.facts>div{display:grid;grid-template-columns:190px 1fr;gap:30px;padding-block:15px}
dt{font-weight:600}
dd{margin:0;color:var(--muted);max-width:710px}
summary{cursor:pointer;font-size:16px;font-weight:500;padding:19px 0;list-style-position:outside;margin-left:18px;padding-left:7px}
summary::marker{color:var(--muted);font-size:12px}
details p{max-width:830px;padding-left:25px}
#faq details+details{border-top:1px solid var(--line)}
.organizers{margin-top:15px}
.organizers summary{padding-block:12px}
.organizers p{font-size:15px}
#registration>p{max-width:780px}
.notice{color:var(--text);font-weight:500;margin-block:23px}
.supporting{font-size:14px;margin-bottom:0}
#google-form{margin-top:25px}
#google-form p{font-size:14px}
iframe{display:block;width:100%;height:1100px;border:0;background:white}
footer{padding-block:30px 40px;border-top:1px solid var(--line)}
.footer-links{display:flex;gap:28px;flex-wrap:wrap;margin-bottom:15px}
.footer-links a{font-size:13px}
footer p{font-size:12px;margin-bottom:0}
.legal{max-width:800px;padding-block:54px 70px}
.legal h1{font-family:'DM Sans',Arial,sans-serif;font-size:48px;letter-spacing:-1.5px;line-height:1.1;margin-bottom:30px}
.legal h2{font-size:24px;margin-block:34px 15px}
.legal .updated{font-size:13px}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{flex-direction:column;align-items:flex-start;gap:24px;padding-block:22px}.brand img{width:230px}nav{width:100%;gap:28px}nav a{font-size:14px}.hero{padding-block:38px 54px}.eyebrow{font-size:11px;letter-spacing:1.1px;margin-bottom:23px}h1{font-size:clamp(49px,9vw,70px);line-height:1.05;letter-spacing:-.5px}h1 span{display:block}.venue{font-size:16px;max-width:290px;margin-inline:auto;line-height:1.65;margin-bottom:28px}.countdown{--countdown-gap:20px}.countdown>div{min-width:48px}.countdown strong{font-size:30px}.countdown>div>span{font-size:11px}.countdown-note{max-width:285px;line-height:1.7}.section{padding-block:38px}h2{font-size:28px;margin-bottom:23px}.section-intro{font-size:16px}.facts>div{grid-template-columns:1fr;gap:5px;padding-block:13px}.facts dd{font-size:15px}summary{font-size:15px}details p{font-size:15px}.footer-links{gap:18px}.legal{padding-block:36px 50px}.legal h1{font-size:38px}.legal h2{font-size:22px}}
@media(max-width:360px){.countdown{--countdown-gap:14px}}

/* Masked vertical reels inherit the existing countdown typography. */
.countdown strong{display:inline-flex;letter-spacing:0}
/* Use the font’s zero width, plus space for glyph edges and motion blur on both sides. */
.countdown .rolling-digit{display:block;position:relative;flex:none;width:calc(1ch + .24em);padding-inline:.12em;margin-inline:-.08em;height:1.15em;overflow:hidden;contain:layout}
.countdown .rolling-track{display:block;width:100%}
.countdown .rolling-glyph{display:block;height:1.15em;line-height:1.15;font:inherit;color:inherit;margin:0}

/* Separators occupy the gaps beside the numbers, above the unit labels. */
.countdown>div:not(:last-child)::after{content:':';position:absolute;top:0;left:100%;width:var(--countdown-gap);font-size:36px;font-weight:400;line-height:1.15;text-align:center;color:var(--muted)}
@media(max-width:760px){.countdown>div:not(:last-child)::after{font-size:30px}}
