@import url("./tokens.css");
.notice-label.is-live{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:800}.notice-label.is-live::before{content:"";width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--status-live);animation:npwLivePulse 1.8s infinite}.ribbon-inner a:focus-visible{outline:3px solid var(--gold-light);outline-offset:3px;border-radius:4px}@keyframes npwLivePulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--status-live) 55%,transparent)}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}
.desktop-nav{gap:clamp(16px,2vw,30px);min-width:0}.desktop-nav .nav-group{position:relative;display:flex;align-items:center}.desktop-nav .nav-group-button{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:78px;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:700}.desktop-nav .nav-group-button::after{content:"";position:absolute;left:0;right:0;bottom:17px;height:3px;border-radius:20px;background:var(--action-primary-hover);transform:scaleX(0);transition:.25s}.desktop-nav .nav-group:hover .nav-group-button::after,.desktop-nav .nav-group:focus-within .nav-group-button::after,.desktop-nav .nav-group.active .nav-group-button::after{transform:scaleX(1)}.desktop-nav>a:focus-visible,.desktop-nav .nav-group-button:focus-visible,.desktop-primary-cta:focus-visible{outline:3px solid var(--action-focus,var(--green-700));outline-offset:4px;border-radius:6px}.nav-caret{font-size:.65rem;line-height:1}.desktop-nav .nav-dropdown{position:absolute;top:62px;left:-18px;min-width:215px;padding:var(--space-2);border:1px solid var(--border-default);border-radius:14px;background:var(--surface-default);box-shadow:var(--shadow-elevated);opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s}.desktop-nav .nav-group:hover .nav-dropdown,.desktop-nav .nav-group:focus-within .nav-dropdown,.desktop-nav .nav-group[data-open="true"] .nav-dropdown{opacity:1;visibility:visible;transform:none}.desktop-nav .nav-dropdown a{display:block;padding:11px 12px;border-radius:9px;font-size:.82rem;white-space:nowrap}.desktop-nav .nav-dropdown a::after{display:none}.desktop-nav .nav-dropdown a:hover,.desktop-nav .nav-dropdown a:focus-visible{background:var(--surface-soft);color:var(--green-900);outline:none}.desktop-primary-cta{white-space:nowrap;flex:0 0 auto}
.mobile-menu{max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}.mobile-menu-inner{min-width:0}.mobile-menu .mobile-nav-group{border-bottom:1px solid var(--border-default)}.mobile-menu .mobile-nav-group>span{display:block;padding:11px 14px 4px;color:var(--text-secondary);font-size:.62rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.mobile-menu .mobile-nav-group.active>span{color:var(--action-primary-hover)}.mobile-menu .mobile-nav-group a{padding-left:22px}.mobile-menu a:focus-visible,.icon-btn:focus-visible{outline:3px solid var(--action-focus,var(--green-700));outline-offset:-3px;border-radius:8px}.mobile-menu a.active,.mobile-menu a[aria-current="page"]{color:var(--action-primary-hover);background:var(--surface-soft)}.mobile-primary-cta{display:flex;width:calc(100% - 20px);margin:12px 10px 6px}html.mobile-menu-open,body.mobile-menu-open{overflow:hidden;overscroll-behavior:none}
body[data-event-state="pre"] .show-live,body[data-event-state="pre"] .show-post,body[data-event-state="live"] .show-pre,body[data-event-state="live"] .show-post,body[data-event-state="post"] .show-pre,body[data-event-state="post"] .show-live{display:none!important}
.mobile-bottom-nav :is(a,button){min-width:0;border:0;background:transparent;font:inherit;text-align:center;cursor:pointer}.mobile-bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--muted);font-size:.61rem;font-weight:700}.mobile-bottom-nav :is(a,button):focus-visible{outline:3px solid var(--action-focus,var(--green-700));outline-offset:-3px;border-radius:8px}.mobile-bottom-nav :is(a,button).active,.mobile-bottom-nav a[aria-current="page"]{color:var(--action-primary-hover)}.mobile-bottom-nav button span{font-size:1.05rem}
.footer-grid{grid-template-columns:minmax(220px,1.45fr) repeat(4,minmax(0,1fr));gap:clamp(24px,3vw,44px)}.footer-grid>div{min-width:0}.footer-organiser{display:flex;flex-direction:column;gap:4px;margin-top:18px}.footer-organiser span,.footer-meta-label{font-size:.63rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.footer-organiser strong{color:var(--green-950);font-size:.82rem;line-height:1.45}.footer-governance{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}.footer-partners,.footer-social{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.footer-partner-list{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.footer-partner-list img{display:block;max-width:120px;max-height:42px;object-fit:contain}.footer-social a,.footer-utility a,.footer-grid a{border-radius:4px}.footer a:focus-visible{outline:3px solid var(--action-focus,var(--green-700));outline-offset:3px}.footer-utility{display:flex;gap:20px;flex-wrap:wrap}.footer [hidden]{display:none!important}
@media(max-width:980px){.desktop-nav .nav-group{display:none}.desktop-primary-cta{display:none}.footer-grid{grid-template-columns:1.3fr repeat(2,minmax(0,1fr))}.footer-grid>div:first-child{grid-column:1/-1}.footer-governance{flex-direction:column}}
@media(max-width:720px){.top-ribbon{display:block}.ribbon-inner{gap:8px;flex-wrap:wrap;padding-block:6px}.ribbon-inner [data-notice-label]{min-width:0;flex:1 1 190px}.ribbon-inner [data-notice-link]{flex:0 0 auto}.mobile-menu{max-height:calc(100dvh - 150px)}.exhibitor-grid>*,.exhibitor-visual{min-width:0}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{padding-bottom:12px}.footer-utility{gap:14px}}
@media(max-width:430px){.booth{width:min(350px,calc(100vw - 56px))}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-governance{gap:18px}.footer-bottom{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.notice-label.is-live::before{animation:none}}
.programme-preview-more{display:flex;justify-content:flex-end;margin-top:var(--space-4)}.programme-preview-more a{color:var(--action-primary-hover);font-size:.78rem;font-weight:800}
