.hero{position:relative;padding:140px 0 70px;overflow:hidden;z-index:1;background:var(--bg-void)}.hero-bg{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse at 70% 40%,rgba(0,163,255,.14) 0%,transparent 55%),radial-gradient(ellipse at 20% 80%,rgba(139,92,246,.1) 0%,transparent 55%),linear-gradient(180deg,#02040a,#050a1c 55%,#02040a)}.hero-bg:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#02040ad9,#02040a59 55%,#02040a26)}.scan-line{position:absolute;left:0;right:0;height:120px;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(34,211,255,.06) 50%,transparent);animation:scan 12s linear infinite;mix-blend-mode:screen}@keyframes scan{0%{transform:translateY(-120px)}to{transform:translateY(100vh)}}.hero-inner{position:relative;z-index:3;max-width:780px}.tagbar{display:inline-flex;align-items:center;gap:12px;padding:7px 14px;margin-bottom:22px;border:1px solid rgba(34,211,255,.3);background:#22d3ff0f;font-family:var(--ff-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-elec);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.tagbar-dot{width:6px;height:6px;background:var(--blue-elec);border-radius:50%;box-shadow:0 0 10px var(--blue-elec);animation:dotPulse 1.6s ease-in-out infinite}@keyframes dotPulse{0%,to{opacity:.4}50%{opacity:1}}.hero h1{font-family:var(--ff-display);font-weight:500;font-size:clamp(36px,4.5vw,60px);line-height:1.04;letter-spacing:-.025em;margin-bottom:20px;color:var(--ink)}.hero h1 em{font-style:italic;font-family:var(--ff-serif);font-weight:400;color:var(--blue-elec);text-shadow:0 0 22px rgba(34,211,255,.4)}.hero-lede{font-size:17px;line-height:1.7;color:var(--ink-dim);max-width:620px;font-weight:400}.hero-lede strong{color:var(--ink);font-weight:500}.section{padding:100px 0;position:relative;z-index:2}.section-hdr{margin-bottom:48px;display:flex;align-items:flex-end;justify-content:space-between;gap:40px;flex-wrap:wrap}.kicker{font-family:var(--ff-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-dark);margin-bottom:14px;display:flex;align-items:center;gap:12px;font-weight:500}.kicker:before{content:"";width:32px;height:1px;background:var(--accent-dark);box-shadow:0 0 6px #0369a166}.section h2{font-family:var(--ff-display);font-weight:500;font-size:clamp(28px,2.6vw,36px);line-height:1.15;letter-spacing:-.02em;color:var(--ink-light);max-width:620px}.section h2 em{font-style:italic;font-family:var(--ff-serif);font-weight:400;color:var(--accent-dark)}.section-lede{color:var(--ink-body);font-size:15.5px;line-height:1.65;max-width:420px;margin-top:10px;font-weight:400}.section-lede strong{color:var(--ink-light);font-weight:500}.events-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:16px}.event-card{position:relative;background:var(--card-light);border:1px solid rgba(0,40,90,.1);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));display:flex;flex-direction:column;cursor:pointer;text-align:left;width:100%;padding:0;font-family:inherit;color:inherit;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,border-color .3s ease}.event-card:hover,.event-card:focus-visible{transform:translateY(-4px);border-color:var(--accent-dark);box-shadow:0 0 0 1px #0369a129,0 18px 48px #0369a11f}.event-card:focus-visible{outline:2px solid var(--blue-elec);outline-offset:3px}.event-img{width:100%;aspect-ratio:16/9;position:relative;overflow:hidden;background:linear-gradient(135deg,#051d3d,#0369a1 55%,#22d3ff 120%)}.event-img img{width:100%;height:100%;object-fit:cover;display:block}.event-img.placeholder:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(34,211,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(34,211,255,.06) 1px,transparent 1px);background-size:24px 24px}.event-img.placeholder:after{content:"";position:absolute;left:50%;top:50%;width:56px;height:56px;transform:translate(-50%,-50%);background:#22d3ff24;border:1.5px solid var(--blue-elec);clip-path:polygon(50% 0,100% 30%,100% 70%,50% 100%,0 70%,0 30%);box-shadow:0 0 24px #22d3ff59}.event-img-label{position:absolute;top:12px;left:12px;z-index:2;font-family:var(--ff-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);padding:5px 10px;background:#02040ab3;border:1px solid rgba(34,211,255,.3);clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);backdrop-filter:blur(6px)}.event-img-scan{position:absolute;left:0;right:0;top:0;height:2px;z-index:3;background:linear-gradient(90deg,transparent,var(--blue-elec),transparent);box-shadow:0 0 8px var(--blue-elec);animation:imgSweep 6s ease-in-out infinite}@keyframes imgSweep{0%,to{transform:translate(-100%)}50%{transform:translate(100%)}}.event-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1;gap:8px}.event-meta{font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-dark);font-weight:500;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}.event-meta .sep{color:var(--ink-mute)}.event-meta .role{padding:2px 8px;background:#0369a114;border:1px solid rgba(3,105,161,.3);font-size:9.5px;color:var(--accent-dark);font-weight:600}.event-title{font-family:var(--ff-display);font-weight:500;font-size:19px;color:var(--ink-light);letter-spacing:-.015em;line-height:1.3}.event-desc{font-size:13.5px;color:var(--ink-body);line-height:1.55;flex:1}.event-cta{margin-top:12px;padding-top:14px;border-top:1px dashed rgba(0,40,90,.15);display:inline-flex;align-items:center;gap:8px;font-family:var(--ff-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-dark);font-weight:500;transition:gap .2s;min-height:30px}.event-card:hover .event-cta{gap:12px}.event-cta:after{content:"→"}.event-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:40px 24px;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s}.event-modal[aria-hidden=false]{opacity:1;visibility:visible}.event-modal-backdrop{position:absolute;inset:0;background:#02040ac7;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.event-modal-card{position:relative;z-index:2;max-width:960px;width:100%;max-height:calc(100vh - 80px);overflow-y:auto;background:var(--card-light);border:1px solid rgba(0,40,90,.15);clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px));box-shadow:0 40px 80px #02040a99,0 0 0 1px #22d3ff2e;transform:scale(.94) translateY(10px);filter:blur(4px);transition:transform .5s cubic-bezier(.16,1,.3,1),filter .5s cubic-bezier(.16,1,.3,1)}.event-modal[aria-hidden=false] .event-modal-card{transform:scale(1) translateY(0);filter:blur(0)}.modal-close{position:absolute;top:16px;right:16px;z-index:5;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#02040abf;color:var(--ink);border:1px solid rgba(34,211,255,.3);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);transition:all .2s;backdrop-filter:blur(6px)}.modal-close:hover{background:#22d3ff33;border-color:var(--blue-elec);color:var(--blue-elec)}.modal-close:focus-visible{outline:2px solid var(--blue-elec);outline-offset:2px}.modal-img{width:100%;aspect-ratio:16/7;position:relative;overflow:hidden;background:linear-gradient(135deg,#02040a,#051d3d 35%,#0369a1 75%,#22d3ff 140%)}.modal-img img{width:100%;height:100%;object-fit:cover}.modal-img.placeholder:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(34,211,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(34,211,255,.08) 1px,transparent 1px);background-size:40px 40px}.modal-img.placeholder:after{content:"";position:absolute;left:50%;top:50%;width:88px;height:88px;transform:translate(-50%,-50%);background:#22d3ff24;border:1.5px solid var(--blue-elec);clip-path:polygon(50% 0,100% 30%,100% 70%,50% 100%,0 70%,0 30%);box-shadow:0 0 40px #22d3ff73}.modal-img-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(2,4,10,.55) 100%);pointer-events:none}.modal-body{padding:36px 40px 40px}.modal-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-family:var(--ff-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-dark);font-weight:500;margin-bottom:14px}.modal-meta .sep{color:var(--ink-mute)}.modal-meta .role{padding:3px 10px;background:#0369a114;border:1px solid rgba(3,105,161,.3);font-size:10px;font-weight:600}.modal-title{font-family:var(--ff-display);font-weight:500;font-size:clamp(24px,2.6vw,34px);color:var(--ink-light);letter-spacing:-.02em;line-height:1.15;margin-bottom:18px}.modal-title em{font-style:italic;font-family:var(--ff-serif);font-weight:400;color:var(--accent-dark)}.modal-desc{font-size:15.5px;color:var(--ink-body);line-height:1.7;margin-bottom:24px}.modal-desc p+p{margin-top:14px}.modal-desc strong{color:var(--ink-light);font-weight:500}.modal-details{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:26px;padding:20px;background:#f7f7f9;border:1px solid rgba(0,40,90,.08);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px))}.detail-item dt{font-family:var(--ff-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);font-weight:500;margin-bottom:4px}.detail-item dd{font-family:var(--ff-display);font-weight:500;color:var(--ink-light);font-size:14px;letter-spacing:-.01em}.modal-links{display:flex;flex-wrap:wrap;gap:12px;padding-top:22px;border-top:1px solid rgba(0,40,90,.1)}.modal-link{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border:1px solid rgba(3,105,161,.4);background:#0369a10a;font-family:var(--ff-display);font-size:13px;font-weight:500;color:var(--accent-dark);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);transition:all .2s;min-height:44px}.modal-link:hover{background:#0369a11a;border-color:var(--accent-dark);box-shadow:0 0 16px #0369a133}.modal-link:after{content:"↗";font-family:var(--ff-body)}@media (max-width:1080px){.events-grid,.modal-details{grid-template-columns:1fr 1fr}}@media (max-width:720px){.hero{padding:110px 0 50px}.events-grid{grid-template-columns:1fr}.section{padding:72px 0}.modal-body{padding:26px 22px 30px}.modal-details{grid-template-columns:1fr;gap:14px;padding:16px}.event-modal{padding:20px 12px}.closing{padding:80px 0 90px}}@media (prefers-reduced-motion: reduce){.event-modal-card{transform:none!important;filter:none!important}}
