.hero{position:relative;min-height:92vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:48px 16px;overflow:hidden}
.hero-particles{position:absolute;inset:0;opacity:.4;animation:float 8s ease-in-out infinite alternate}
.hero--summit .hero-particles{background:radial-gradient(circle at 20% 30%,var(--primary),transparent 50%),radial-gradient(circle at 80% 70%,var(--accent),transparent 45%)}
.hero--launch .hero-particles{background:radial-gradient(ellipse at 50% 0%,#EC4899,transparent 60%),radial-gradient(circle at 80% 80%,#A855F7,transparent 40%);animation:launchPulse 4s ease-in-out infinite alternate}
.hero--forum .hero-particles{background:repeating-linear-gradient(90deg,rgba(124,58,237,.15) 0 2px,transparent 2px 40px),radial-gradient(circle at 50% 50%,var(--primary),transparent 70%)}
.hero--roadshow .hero-particles{background:linear-gradient(135deg,rgba(180,83,9,.4),transparent 50%),radial-gradient(circle at 70% 30%,var(--accent),transparent 50%)}
.hero--salon .hero-particles{background:radial-gradient(circle at 30% 60%,rgba(234,88,12,.35),transparent 55%),radial-gradient(circle at 70% 40%,rgba(251,146,60,.25),transparent 50%)}
.hero--expo .hero-particles{background:repeating-linear-gradient(-45deg,rgba(245,158,11,.08) 0 12px,transparent 12px 24px),radial-gradient(circle at 50% 100%,var(--primary),transparent 60%)}
.hero--openDay .hero-particles{background:radial-gradient(circle at 40% 40%,rgba(5,150,105,.4),transparent 55%),radial-gradient(circle at 70% 70%,rgba(52,211,153,.3),transparent 45%)}
@keyframes launchPulse{to{transform:scale(1.08) rotate(2deg);opacity:.5}}
.type-pill{display:inline-block;padding:4px 12px;border-radius:999px;font-size:.75rem;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);margin-bottom:8px}
.type-active-banner{margin-top:12px;padding:12px 14px;border-radius:var(--radius);background:var(--card-bg);border:1px solid var(--accent);display:flex;flex-direction:column;gap:4px;font-size:.875rem}
.type-active-banner strong{color:var(--accent)}
.type-active-banner span{color:var(--text-muted);font-size:.8rem}
.detail-card small{color:var(--text-muted);font-size:.75rem}
.type-card.active{transform:scale(1.02);box-shadow:0 0 16px rgba(56,189,248,.25)}
.type-card{transition:transform .2s,box-shadow .2s,border-color .2s}
@keyframes float{to{transform:scale(1.05)}}
.hero-inner{position:relative;z-index:1;max-width:520px}
.hero-logo{font-size:3rem;display:block;margin-bottom:8px}
.hero h1{font-size:clamp(1.4rem,5vw,2rem);margin:8px 0}
.hero-tagline{font-size:1rem;color:var(--accent);margin:0 0 16px}
.state-badge{display:inline-block;padding:4px 12px;border-radius:999px;font-size:.75rem;margin-bottom:12px;background:var(--card-bg)}
.state-upcoming{border:1px solid var(--accent)}
.state-live{background:#059669;color:#fff}
.state-ended{background:#64748B;color:#fff}
.countdown-wrap{margin:16px 0}
.countdown-label{font-size:.875rem;color:var(--text-muted);margin:0 0 8px}
.countdown-grid{display:flex;justify-content:center;gap:8px}
.cd-unit{background:var(--card-bg);border-radius:8px;padding:8px 10px;min-width:52px;border:1px solid rgba(255,255,255,.1)}
.cd-num{display:block;font-size:1.4rem;font-weight:700;color:var(--accent)}
.cd-lbl{font-size:.65rem;color:var(--text-muted)}
.countdown-done{color:var(--text-muted)}
.scroll-hint{display:inline-block;margin-top:16px;color:var(--text-muted);text-decoration:none;font-size:.875rem;animation:bounce 2s infinite}
@keyframes bounce{50%{transform:translateY(6px)}}
.highlight-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(min-width:640px){.highlight-grid{grid-template-columns:repeat(4,1fr)}}
.highlight-card,.speaker-card,.sponsor-card,.past-card,.agenda-item,.venue-card{position:relative;background:var(--card-bg);border-radius:var(--radius);padding:14px;border:1px solid rgba(255,255,255,.08)}
.hi-icon{font-size:1.5rem}
.type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
@media(min-width:640px){.type-grid{grid-template-columns:repeat(4,1fr)}}
.type-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px;border-radius:var(--radius);background:var(--card-bg);border:1px solid rgba(255,255,255,.1);cursor:pointer;color:var(--text);font-size:.75rem}
.type-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.type-card span{font-size:1.5rem}
.detail-cards{display:grid;gap:8px;margin-bottom:12px}
.detail-card{padding:12px;background:var(--card-bg);border-radius:8px;font-size:.875rem}
.stats-row{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}
@media(min-width:640px){.stats-row{grid-template-columns:repeat(4,1fr)}}
.stat{text-align:center;padding:10px;background:var(--card-bg);border-radius:8px}
.stat-num{display:block;font-size:1.3rem;font-weight:700;color:var(--accent)}
.agenda-list,.faq-list{display:grid;gap:8px}
.agenda-item time{color:var(--accent);font-size:.75rem;display:block}
.speaker-grid,.sponsor-grid,.past-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(min-width:640px){.speaker-grid{grid-template-columns:repeat(4,1fr)}}
.sp-emoji{font-size:2rem}
.reg-form{max-width:400px}
.sponsor-card{text-align:center}
.sponsor-card span{font-size:1.5rem}
.faq-item summary{cursor:pointer;font-weight:600;padding:8px 0;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.card-actions{display:inline-flex;gap:4px;margin-left:8px;vertical-align:middle}
.btn-icon{width:24px;height:24px;border:none;border-radius:4px;background:rgba(255,255,255,.15);cursor:pointer;font-size:.65rem}
.share-btns{display:flex;gap:8px;flex-wrap:wrap}
.theme-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}
.theme-btn{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:var(--card-bg);cursor:pointer;color:var(--text);font-size:.75rem}
.theme-btn span{width:16px;height:16px;border-radius:50%;background:var(--c)}
.contact-footer{position:fixed;left:0;right:0;bottom:0;background:#0F172A;border-top:1px solid rgba(255,255,255,.1);padding:8px 12px calc(8px + var(--safe-bottom));z-index:950;text-align:center}
.contact-footer__btns{display:flex;gap:8px;justify-content:center;margin-bottom:4px}
.contact-footer__cta,.contact-footer__btn{flex:1;max-width:120px;padding:8px;border-radius:999px;font-size:.75rem;text-decoration:none;border:1px solid rgba(255,255,255,.2);background:transparent;color:var(--text)}
.contact-footer__cta{background:#dc2626;color:#fff;border:none}
.contact-footer__brand{font-size:.65rem;color:var(--text-muted)}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.8);z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px}
.crud-panel{background:#1E293B;border-radius:12px;padding:16px;width:min(92vw,400px);max-height:85vh;overflow:auto;color:#F1F5F9}
.crud-head{display:flex;justify-content:space-between;align-items:center}
.modal-close{border:none;background:#334155;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer}
.modal img{max-width:90vw;max-height:70vh;border-radius:8px}
.crud-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}
.form-group{margin-bottom:8px}
.form-group label{font-size:.75rem;color:#94A3B8;display:block;margin-bottom:4px}
.toast-box{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:10000}
.toast{background:#333;color:#fff;padding:10px 16px;border-radius:8px;font-size:.875rem}
