/* Version 2: white surfaces with restrained electric-blue light. */
:root { --electric: #20bfff; }
.rail-indicator {
  --cyan: #d8f2ff;
  color: #d8f2ff;
  filter: drop-shadow(0 3px 2px rgba(24,46,66,.42)) drop-shadow(0 0 3px rgba(224,246,255,.65)) drop-shadow(0 0 7px rgba(70,185,242,.38));
}
.indicator-triangle {
  border: 0;
  width: 21px;
  height: 25px;
  background: #46b9f2;
  position: relative;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.indicator-triangle::after {
  content: ''; position: absolute; inset: 1px 1.5px 1px 1px;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background: linear-gradient(90deg, #b8e8fc, #f0fbff 42%, #e5f6ff 70%, #89ddff);
}
.rail.light .rail-indicator { filter: drop-shadow(0 3px 2px rgba(35,59,79,.34)) drop-shadow(0 0 3px rgba(224,246,255,.60)) drop-shadow(0 0 7px rgba(70,185,242,.32)); }
.topbar.light {
  background: linear-gradient(105deg, rgba(233,247,255,.93), rgba(255,255,255,.95) 43%, rgba(231,248,255,.93));
  backdrop-filter: blur(20px);
  box-shadow: 0 6px 30px rgba(34,67,82,.04);
}
.topbar.light::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: linear-gradient(90deg, transparent, #58bff6 18%, rgba(70,184,242,.2) 46%, #63d1ff 80%, transparent);
}
.content-section {
  background:
    radial-gradient(ellipse at 0% 0%, rgba(52,169,245,.14), transparent 48%),
    radial-gradient(ellipse at 100% 18%, rgba(32,191,255,.09), transparent 48%),
    #fff;
  color: #101b23;
}
.content-section::before {
  content: ''; position: absolute; inset: 0 0 auto; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(52,169,245,.5) 22%, rgba(32,191,255,.35) 78%, transparent);
}
.content-section:nth-of-type(odd) {
  background: radial-gradient(ellipse at 8% 70%, rgba(52,169,245,.09), transparent 50%), radial-gradient(ellipse at 95% 0%, rgba(32,191,255,.1), transparent 48%), #fff;
}
.content-section .eyebrow { color: #23728e; }
.event-feature { border-color: rgba(42,65,79,.17); }
.event-date span { color: #187eaf; }
.event-title p, .committee-grid p { color: #526570; }
.round-link { border-color: rgba(24,126,175,.4); }
.round-link:hover { border-color: #36adea; box-shadow: 0 0 22px rgba(52,169,245,.23); }
.committee-grid article {
  border: 1px solid rgba(42,65,79,.14);
  background: linear-gradient(120deg, rgba(232,247,255,.55), rgba(255,255,255,.9) 48%, rgba(232,248,255,.5));
  box-shadow: 0 12px 32px rgba(22,53,70,.025);
}
.committee-grid article span { color: #187eaf; }
.signal-line { background: linear-gradient(90deg, rgba(52,169,245,.35), rgba(32,191,255,.24)); }
.signal-line span { width: 32%; background: linear-gradient(90deg, #46b9f2, #89ddff); box-shadow: 0 0 12px rgba(52,169,245,.25); }
.network-canvas { background: radial-gradient(ellipse at 30% 30%, rgba(52,169,245,.12), transparent 55%), radial-gradient(ellipse at 70% 70%, rgba(32,191,255,.1), transparent 55%), #fff; }
.node-ch { border-color: #36adea; box-shadow: 0 0 20px rgba(52,169,245,.3); }
.join-button { background: #12242e; border-color: #12242e; }
.join-button:hover { background: #eaf8ff; border-color: #36adea; color: #12242e; box-shadow: 0 0 24px rgba(52,169,245,.25); }
footer { background: linear-gradient(100deg, #eff9ff, #fff 48%, #f0faff); color: #526570; border-top: 1px solid rgba(42,65,79,.12); }

/* Keep the pale light steady while preserving the navigation movement. */
@keyframes triangleFloat { 50% { transform: translateX(3px); } }

/* A shared label origin and a reserved lane for the fixed navigation. */
.content-section { --label-top: 150px; padding-top: 212px; }
.content-section > .eyebrow {
  position: absolute; top: var(--label-top); left: 8vw;
  margin: 0; line-height: 16px;
}
.section-index { top: calc(var(--label-top) + 8px); transform: translateY(-50%) rotate(180deg); line-height: 16px; }
.content-wrap { width: 100%; min-width: 0; }
.content-wrap > *, .event-feature > * { min-width: 0; }
.content-section h2 { overflow-wrap: anywhere; }
@media (min-width: 981px) {
  .content-section { padding-left: 7vw; padding-right: calc(4vw + 218px); }
  .content-section > .eyebrow { left: 7vw; }
  .split { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 4vw; }
  .signal-line { left: 7vw; right: calc(4vw + 218px); }
  .event-feature { grid-template-columns: 130px minmax(0, 1fr) 64px; gap: 2vw; }
}
@media (max-width: 980px) {
  .content-section { --label-top: 120px; padding-top: 182px; }
  .content-section > .eyebrow { left: 26px; }
}

/* A white core and a restrained blue halo, only at the opening Home view. */
.rail.home-glow:not(.light) .rail-link {
  color: #f6fcff;
  opacity: 1;
}
.rail.home-glow:not(.light) .rail-link > span[data-i18n] {
  text-shadow: 0 0 2px rgba(255,255,255,.65),
    0 0 7px rgba(170,222,255,.45),
    0 3px 10px rgba(70,185,242,.35);
}

/* Home typography echoes the white-blue navigation light. */
.hero .location-block,
.hero .explore-label,
body:has(.rail.home-glow) .topbar:not(.light) .brand,
body:has(.rail.home-glow) .topbar:not(.light) .languages button {
  color: #f6fcff;
  text-shadow: 0 0 2px rgba(255,255,255,.65),
    0 0 7px rgba(170,222,255,.45),
    0 3px 10px rgba(70,185,242,.35);
}
.hero .explore-label { opacity: 1; }
.hero-center p {
  position: relative;
  isolation: isolate;
  color: #fff;
  font-weight: 500;
  text-shadow: 0 2px 3px rgba(0,10,20,.95),
    0 0 3px rgba(255,255,255,.5),
    0 0 9px rgba(170,222,255,.5),
    0 4px 14px rgba(70,185,242,.35);
}
.hero-center p::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: -22px -18px;
  pointer-events: none;
  background: radial-gradient(ellipse at center, rgba(2,12,23,.64) 0%, rgba(2,12,23,.36) 45%, transparent 72%);
  filter: blur(8px);
}

/* A small descending light invites the visitor into the next section. */
.hero .explore { bottom: max(16px, env(safe-area-inset-bottom)); gap: 8px; min-width: 88px; }
.explore-pull { position: relative; display: block; width: 44px; height: 46px; }
.pull-track { position: absolute; left: 50%; top: 0; width: 1px; height: 35px; background: linear-gradient(transparent, rgba(190,231,255,.6)); }
.pull-light { position: absolute; left: calc(50% - 1px); top: 2px; width: 3px; height: 12px; border-radius: 3px; background: linear-gradient(transparent, #f0fbff); box-shadow: 0 2px 7px rgba(100,205,255,.75); animation: pullLightDown 2.2s ease-in-out infinite; }
.pull-chevron { position: absolute; left: calc(50% - 6px); bottom: 5px; width: 12px; height: 12px; border-right: 1px solid #e4f6ff; border-bottom: 1px solid #e4f6ff; transform: rotate(45deg); filter: drop-shadow(0 2px 4px rgba(100,205,255,.6)); transition: transform .25s ease; }
.explore:hover .pull-chevron, .explore:focus-visible .pull-chevron { transform: translateY(3px) rotate(45deg); }
.explore:focus-visible { outline: 1px solid #b8e8fc; outline-offset: 6px; border-radius: 4px; }
@keyframes pullLightDown { 0% { transform: translateY(0); opacity: 0; } 25% { opacity: 1; } 80%, 100% { transform: translateY(24px); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .pull-light { animation: none; top: 17px; } }

/* A shallow inward oval follows the enclosing shelves. */
.curved-line { display: block; white-space: nowrap; }
.curved-line > span { display: inline-block; transform: translateY(var(--curve-y)) rotate(var(--curve-angle)); }

/* Location replaces the header brand at the opening view. */
.topbar.at-top .brand { opacity: 0; visibility: hidden; pointer-events: none; }
.hero .location-block { top: 35px; }
.hero .location-block p:first-child { margin-top: 0; }
body:has(.topbar:not(.at-top)) .hero .location-block { visibility: hidden; }
@media (max-width: 980px) {
  .hero .location-block { top: 25px; max-width: 42vw; font-size: .62rem; }
  .hero .location-block span { margin: 14px 0 18px; }
}

/* A plain light-blue accent for the About slogan. */
.about h2[data-i18n="about.title"] > span {
  color: #78b9db;
  text-shadow: none;
}

/* University subtitle below the event heading. */
.event-title .event-venue {
  margin: 1rem 0 0;
  color: #777;
  font-size: clamp(1rem, 1.5vw, 1.35rem);
  font-weight: 400;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: normal;
  text-transform: none;
}

/* Bring the event block closer to the Events label. */
.events .event-feature {
  margin-top: 0;
  padding-top: 28px;
}

/* Keep the year within the date column. */
.event-date .event-year {
  font-size: clamp(2.5rem, 3.5vw, 3.2rem);
  white-space: nowrap;
}

/* Align the year and localized month on the same left edge. */
.event-date {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}
.event-date > span,
.event-date > small {
  margin-left: 0;
  padding-left: 0;
}

/* Connectivities becomes a full-screen scene; surrounding pages retain their navigation. */
#connectivities {
  height: 100svh;
  min-height: 560px;
  padding: 0;
  background: #01060d;
  color: #c8e7ff;
  isolation: isolate;
}
#connectivities::before, #connectivities::after, #connectivities > .section-index { display: none; }
#connectivities > .eyebrow {
  top: 34px; left: 42px; z-index: 5;
  color: #c5e6ff; font-size: .75rem; text-shadow: 0 2px 10px #000, 0 0 20px #54a8e755;
  pointer-events: none;
}
#connectivities .content-wrap { width: 100%; max-width: none; height: 100%; }
.network .interactive-globe { height: 100%; width: 100%; margin: 0; border: 0; background: #01060d; box-shadow: none; }
.interactive-globe canvas { display: block; width: 100%; height: 100%; cursor: grab; touch-action: none; }
.interactive-globe.is-dragging canvas { cursor: grabbing; }
.interactive-globe canvas:focus-visible { outline: 1px solid #50b9e9; outline-offset: -5px; }
.globe-labels { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.globe-city { position: absolute; top: 0; left: 0; color: #d4efff; font-size: clamp(14px, 1.35vw, 22px); line-height: 1.25; white-space: nowrap; text-shadow: 0 0 5px #1a83e5, 0 1px 5px #000, 0 0 16px #1383f499; }
.globe-city[hidden] { display: none; }
.globe-city-gold { color: #ffe392; text-shadow: 0 0 8px #a77a22, 0 1px 5px #000; }
.globe-controls { position: absolute; z-index: 4; bottom: 30px; left: 42px; right: 42px; display: flex; justify-content: space-between; align-items: center; gap: 12px; pointer-events: none; }
.globe-hint { color: #a5c2dc; font-size: .74rem; letter-spacing: .06em; text-shadow: 0 1px 5px #000; }
.globe-actions { display: flex; gap: 8px; }
.globe-controls button { pointer-events: auto; cursor: pointer; border: 1px solid #6a9fc04a; border-radius: 22px; min-width: 38px; min-height: 38px; padding: 9px 14px; background: #041326bb; color: #c6e5ff; font: inherit; font-size: .73rem; backdrop-filter: blur(8px); }
.globe-controls button:hover { background: #102d4c; border-color: #62bce8; }
.network-next { position: absolute; z-index: 5; left: 50%; bottom: 11px; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 3px; color: #d7edff; font-size: .62rem; letter-spacing: .22em; text-transform: uppercase; text-decoration: none; text-shadow: 0 1px 8px #000; }
.network-next .explore-pull { height: 35px; }
.network-next .pull-track { height: 24px; }
.network-next:focus-visible { outline: 1px solid #b8e8fc; outline-offset: 5px; border-radius: 4px; }
body.network-immersive .topbar, body.network-immersive .rail { opacity: 0; visibility: hidden; pointer-events: none; }
@media (max-width: 600px) {
  #connectivities > .eyebrow { left: 22px; top: 27px; font-size: .64rem; }
  .globe-controls { left: 20px; right: 20px; bottom: 62px; }
  .globe-hint { font-size: .62rem; max-width: 105px; }
  .globe-controls button { padding: 8px 10px; min-width: 34px; font-size: .66rem; }
  .globe-actions { gap: 5px; }
  .network-next { bottom: 10px; }
}

/* The scene leaves the document flow and occupies the entire viewport on entry. */
html.network-takeover, html.network-takeover body { overflow: hidden; overscroll-behavior: none; }
html.network-takeover body { background: #01060d; }
body.network-immersive #connectivities {
  position: fixed;
  inset: 0;
  z-index: 10000;
  width: 100%;
  height: 100dvh;
  min-height: 0;
  margin: 0;
}
.network-scene-spacer { width: 100%; pointer-events: none; }
.network-scene-spacer[hidden] { display: none; }

/* A soft approach replaces the instant section-to-overlay jump. */
.network-transition-veil { position: fixed; inset: 0; z-index: 9999; background: #01060d; pointer-events: none; }
.network-transition-veil[hidden] { display: none; }
.topbar, .rail { transition: opacity .45s ease, visibility .45s ease; }
body.network-immersive #connectivities { will-change: transform, opacity; }
@media (prefers-reduced-motion: reduce) {
  .topbar, .rail { transition: none; }
}

/* Unframed canvas, quieter labels and gradual horizon visibility. */
#connectivities .interactive-globe, #connectivities canvas, #connectivities canvas:focus, #connectivities canvas:focus-visible {
  outline: none;
  border: 0;
  box-shadow: none;
  background: transparent;
}
.globe-city {
  font-size: clamp(13px, 1.08vw, 18px);
  max-width: calc(100vw - 44px);
  opacity: 0;
  transition: opacity .22s ease;
  text-shadow: 0 1px 5px #000, 0 0 6px #2877b377;
}
.globe-city-gold { text-shadow: 0 1px 5px #000, 0 0 7px #c79b4677; }
.topbar, .rail { transition: opacity .8s ease, visibility .8s ease; }
@media (prefers-reduced-motion: reduce) {
  .globe-city, .topbar, .rail { transition: none; }
}

/* Immersive scene credits and gesture controls. */
.globe-actions { flex-direction: column; align-items: flex-end; gap: 12px; }
.globe-actions .globe-hint { max-width: none; white-space: nowrap; }
.globe-credit { max-width: 42%; color: #9db2c6; font-size: .69rem; line-height: 1.6; pointer-events: auto; }
.globe-credit a { color: inherit; text-decoration: none; }
.globe-credit small { display: block; font-size: .6rem; }
.globe-city { pointer-events: auto; cursor: pointer; border: 0; padding: 4px; background: transparent; font-family: inherit; }
.globe-city:hover, .globe-city:focus-visible { color: white; outline: 1px solid #8ed2ff; border-radius: 4px; }
@media(max-width:700px) {
 .globe-controls { bottom: 92px; left: 16px; right: 16px; align-items: flex-end; }
 .globe-credit { max-width: 37%; font-size: .58rem; }
 .globe-credit small { font-size: .5rem; }
 .globe-actions .globe-hint { font-size: clamp(7px,1.7vw,10px); letter-spacing: 0; }
 .globe-actions { gap: 8px; }
}

/* Quiet city typography and persistent in-scene language navigation. */
.globe-city { font-family: Gautami, Inter, "Microsoft YaHei", sans-serif; font-weight: 300; letter-spacing: .035em; text-shadow: 0 1px 4px #000, 0 0 3px #2877b344; }
.globe-languages { position: absolute; z-index: 8; top: 30px; right: 42px; color: #d4e7f6; }
.globe-languages button:focus-visible { outline: 1px solid #8ed2ff; outline-offset: 5px; }
.globe-credit { position: absolute; left: 42px; bottom: max(14px, env(safe-area-inset-bottom)); }
@media(max-width:700px) {
 .globe-languages { top: 24px; right: 20px; gap: 15px; }
 .globe-credit { left: 20px; bottom: max(12px, env(safe-area-inset-bottom)); max-width: 44%; }
}

#connectivities .interactive-globe { touch-action: none; }

/* Keep the action stack at the right edge when the credit is out of flow. */
.globe-controls { justify-content: flex-end; bottom: 24px; }
.globe-actions { margin-left: auto; text-align: right; }
@media(max-width:700px) { .globe-controls { bottom: 72px; } }

/* Geographic labels and a quieter cinematic navigation cue. */
.globe-city { font-size: clamp(11px, .88vw, 15px); padding: 2px; letter-spacing: .015em; }
.network-next { opacity: .46; transition: opacity .25s ease; }
.network-next:hover, .network-next:focus-visible { opacity: .9; }
.network-next .explore-pull { opacity: .65; filter: none; }
.network-next .pull-track, .network-next .pull-arrow { box-shadow: none; text-shadow: none; }

/* Reveal opacity follows the staggered rise directly. */
.globe-city { transition: none; }

/* Committee names read down each of the three columns. */
.committee { display: block; }
.committee h2.eyebrow { font-family: inherit; font-size: .68rem; font-weight: 400; letter-spacing: .22em; }
.committee-members { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3vw, 56px); padding-top: 32px; }
.committee-column { display: flex; flex-direction: column; gap: 42px; min-width: 0; }
.committee-member { min-height: 88px; border-top: 1px solid rgba(42,65,79,.17); padding-top: 20px; }
.committee-member h3 { margin: 0; font-family: 'Space Grotesk', sans-serif; font-size: clamp(1.1rem, 1.55vw, 1.55rem); font-weight: 400; line-height: 1.35; overflow-wrap: anywhere; }
.committee-member p { margin: 10px 0 0; color: #526570; font-size: .88rem; line-height: 1.5; }
@media (max-width: 700px) {
  .committee-members { grid-template-columns: 1fr; gap: 32px; padding-top: 12px; }
  .committee-column { gap: 32px; }
  .committee-member { min-height: 0; }
}

/* Credits belong exclusively to the active globe scene. */
html:not(.network-takeover) #connectivities .globe-credit { visibility: hidden; }
.join { min-height: 100svh; padding-bottom: 170px; }
.join-wrap > p:not(.eyebrow) { max-width: 720px; margin: 30px auto 44px; line-height: 1.7; }
.join-footer { position: absolute; bottom: 35px; left: 4vw; right: 4vw; display: flex; justify-content: space-between; gap: 24px; color: #526570; font-size: .75rem; line-height: 1.6; }
.join-footer p { margin: 0; }
.join-footer p:last-child { text-align: right; }
.join-button { font-family: inherit; cursor: pointer; }
.contact-dialog { width: min(600px, calc(100vw - 32px)); max-height: calc(100dvh - 40px); padding: 38px; border: 1px solid #d6e8ef; border-radius: 12px; color: #101b23; background: #fafdff; box-shadow: 0 28px 100px #07101840; overflow-y: auto; }
.contact-dialog::backdrop { background: #07101899; backdrop-filter: blur(7px); }
html.contact-open { overflow: hidden; }
.contact-dialog h2 { font-size: 2.2rem; margin: 0 40px 28px 0; }
.contact-close { position: absolute; right: 18px; top: 14px; width: 40px; height: 40px; border: 0; background: transparent; font-size: 1.7rem; color: #526570; cursor: pointer; }
.contact-dialog form { display: grid; gap: 18px; }
.contact-field { display: grid; gap: 8px; font-size: .85rem; }
.contact-field input, .contact-field select, .contact-field textarea { width: 100%; padding: 12px 14px; border: 1px solid #bfd0da; border-radius: 4px; background: #fff; color: #101b23; font: inherit; }
.contact-field textarea { min-height: 150px; resize: vertical; }
.contact-dialog :is(input, select, textarea, button):focus-visible { outline: 2px solid #187eaf; outline-offset: 3px; }
.contact-note { color: #526570; font-size: .78rem; line-height: 1.5; margin: 0; }
.contact-submit { justify-content: center; }
@media(max-width:700px) {
 .join-footer { flex-direction: column; gap: 8px; left: 26px; right: 26px; bottom: 24px; }
 .join-footer p:last-child { text-align: left; }
 .contact-dialog { padding: 30px 22px; }
}

.contact-close .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.globe-credit { z-index: 4; }

/* Direct section navigation and subtle blue rail feedback. */
html { scroll-behavior: auto; }
.rail-link > span[data-i18n] { display: inline-block; transform-origin: left center; transition: transform .22s ease, color .22s ease, text-shadow .22s ease; }
.rail-dot { transition: transform .22s ease, opacity .22s ease, background .22s ease, box-shadow .22s ease; }
.rail .rail-link:is(:hover, :focus-visible, .active) > span[data-i18n] { transform: scale(1.06); color: #69cfff; text-shadow: 0 0 8px #46b9f280, 0 0 18px #46b9f244; }
.rail.light .rail-link:is(:hover, :focus-visible, .active) > span[data-i18n] { color: #187eaf; }
.rail .rail-link:is(:hover, :focus-visible, .active) .rail-dot { opacity: 1; transform: rotate(45deg) scale(1.35); background: #69cfff; box-shadow: 0 0 6px #46b9f2, 0 0 12px #46b9f280; }
@media(prefers-reduced-motion: reduce) { .rail-link > span[data-i18n], .rail-dot { transition: none; } }

/* Chinese section labels read upright from top to bottom. */
html:lang(zh-Hans) .section-index {
  transform: translateY(-50%);
  text-orientation: upright;
}

/* An upcoming-event panel slides in from the right edge. */
html.event-panel-open { overflow: hidden; }
.event-panel { position: fixed; inset: 0 0 0 auto; margin: 0; width: min(440px, 90vw); height: 100dvh; max-height: 100dvh; max-width: 90vw; padding: 100px 36px 36px; border: 0; border-left: 1px solid #b8dff3; color: #12242e; background: linear-gradient(145deg, #eaf8ff, #d9effc 60%, #edfaff); box-shadow: -15px 0 60px #17374920; }
.event-panel[open] { animation: event-panel-in .3s ease-out; }
.event-panel::backdrop { background: #07101825; }
.event-panel h2 { font-family: inherit; font-size: .78rem; font-weight: 400; letter-spacing: .16em; line-height: 1.5; text-transform: uppercase; color: #23728e; margin: 0 0 38px; }
.event-panel-close { position: absolute; top: 28px; right: 30px; border: 0; background: transparent; color: #23728e; font-size: 1.8rem; cursor: pointer; }
.event-panel-close-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.event-panel-card { display: block; padding: 28px 0; border-top: 1px solid #93c4de; border-bottom: 1px solid #93c4de; }
.event-panel-card h3 { font-family: 'Space Grotesk', sans-serif; font-weight: 400; font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.15; margin: 22px 0; }
.event-panel-card p { line-height: 1.6; color: #526570; }
.event-panel-card .event-panel-date { color: #187eaf; font-size: 1.3rem; }
.event-panel-meta { font-size: .75rem; }
.event-panel-card:hover h3 { color: #187eaf; }
.event-panel :focus-visible { outline: 2px solid #187eaf; outline-offset: 6px; }
@keyframes event-panel-in { from { transform: translateX(100%); } to { transform: translateX(0); } }
.events .event-feature { grid-template-columns: 130px minmax(0, 1fr); }
.network-previous { position: absolute; z-index: 5; left: 50%; top: 12px; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 2px; color: #d7edff; opacity: .3; font-size: .6rem; letter-spacing: .22em; text-transform: uppercase; transition: opacity .25s ease; }
.network-previous .previous-arrow { font-size: 19px; font-weight: 300; line-height: 1.1; }
.network-previous:hover, .network-previous:focus-visible { opacity: .8; }
.network-previous:focus-visible { outline: 1px solid #b8e8fc; outline-offset: 5px; }
@media(max-width:700px) {
  .events .event-feature { grid-template-columns: 1fr; }
  .network-previous { top: 58px; }
  .event-panel { padding: 85px 24px 24px; }
}
@media(prefers-reduced-motion: reduce) { .event-panel[open] { animation: none; } .network-previous { transition: none; } }

/* Rotate the event panel close icon on hover or keyboard focus. */
.event-panel-close > span[aria-hidden="true"] {
  display: inline-block;
  transition: transform .3s ease;
}
.event-panel-close:is(:hover, :focus-visible) > span[aria-hidden="true"] {
  transform: rotate(90deg);
}
@media (prefers-reduced-motion: reduce) {
  .event-panel-close > span[aria-hidden="true"] { transition: none; }
}

/* Give the conference heading an earlier start and its introduction room to breathe. */
.events { padding-top: 115px; }
.events .event-feature { padding-top: 16px; align-items: start; }
.event-title .event-description {
  margin: 1.5rem 0 0;
  max-width: 68ch;
  color: #78b9db;
  font-size: clamp(1rem, 1.35vw, 1.25rem);
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: normal;
  text-transform: none;
}
@media (max-width: 980px) {
  .events { padding-top: 100px; }
}



.about .keep-together, .event-description .keep-together { white-space: nowrap; }

/* Fine leader lines keep crowded names tied to their precise geographic markers. */
.globe-label-leader { position:absolute; left:0; top:0; height:1px; background:#91c9e6; transform-origin:0 50%; pointer-events:none; visibility:hidden; }
.globe-city { z-index:1; }
