:root {
      color-scheme: dark;
      --ink: #07111d;
      --night: #020711;
      --night-soft: #071525;
      --blue: #168cff;
      --cyan: #6cddff;
      --ice: #eafaff;
      --paper: #eef5f8;
      --paper-bright: #f9fcfd;
      --steel: #688696;
      --line-dark: rgba(102, 210, 255, .18);
      --line-light: rgba(28, 111, 151, .16);
      --shell: min(100% - 64px, 1480px);
    }

    * { box-sizing: border-box; }

    html {
      min-width: 320px;
      scroll-behavior: smooth;
      background: var(--night);
    }

    body {
      min-width: 320px;
      margin: 0;
      overflow-x: hidden;
      color: #eaf4ff;
      background: var(--night);
      font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      font-weight: 400;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    button, a { font: inherit; }
    img { max-width: 100%; }
    a { color: inherit; }

    .page-top-anchor {
      position: absolute;
      top: 0;
      left: 0;
      width: 1px;
      height: 1px;
      pointer-events: none;
    }

    .skip-link {
      position: fixed;
      top: 10px;
      left: 10px;
      z-index: 1000;
      padding: 10px 14px;
      color: #06111d;
      border-radius: 8px;
      background: #dff9ff;
      transform: translateY(-150%);
      transition: transform .2s ease;
    }

    .skip-link:focus { transform: translateY(0); }

    .site-header {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 100;
      height: 90px;
      min-height: 90px;
      max-height: 90px;
      padding: 28px clamp(28px, 3vw, 48px) 0;
      display: flex;
      align-items: flex-start;
      isolation: isolate;
      opacity: 0;
      transform: translateY(-10px);
      animation: headerIn .9s ease .15s forwards;
    }

    .site-header::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      pointer-events: none;
      opacity: 0;
      background: linear-gradient(180deg, rgba(248, 252, 255, .97) 0%, rgba(243, 249, 253, .88) 72%, rgba(243, 249, 253, 0) 100%);
      box-shadow: 0 12px 36px rgba(43, 83, 117, .08);
      -webkit-backdrop-filter: blur(18px) saturate(130%);
      backdrop-filter: blur(18px) saturate(130%);
      transition: opacity .55s ease;
    }

    .site-header.is-light::before { opacity: 1; }

    .mini-logo {
      margin: 9px 58px 0 0;
      flex: 0 0 auto;
      color: #bfeeff;
      background: linear-gradient(105deg, #68cfff 0%, #bfefff 17%, #fff 29%, #68cfff 46%, #e9fbff 64%, #70d6ff 82%, #d6f7ff 100%);
      background-size: 240% 100%;
      background-position: 0% 50%;
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      font-size: 15px;
      font-weight: 500;
      line-height: 18px;
      letter-spacing: .08em;
      text-decoration: none;
      white-space: nowrap;
      opacity: .9;
      filter: drop-shadow(0 0 8px rgba(73, 190, 255, .34));
      transition: opacity .25s ease, filter .35s ease;
      animation: miniLogoShimmer 9s ease-in-out infinite alternate;
    }

    .mini-logo:hover,
    .mini-logo:focus-visible {
      opacity: 1;
      filter: drop-shadow(0 0 11px rgba(82, 203, 255, .62));
    }

    .site-header.is-light .mini-logo {
      filter: brightness(.56) saturate(1.5) drop-shadow(0 2px 7px rgba(18, 99, 160, .16));
    }

    .main-nav {
      display: flex;
      align-items: center;
      gap: clamp(28px, 3.25vw, 54px);
      min-height: 38px;
    }

    .main-nav a,
    .header-actions a {
      color: rgba(220, 233, 247, .72);
      text-decoration: none;
      font-size: 12px;
      transition: color .25s ease, border-color .25s ease, background .25s ease, box-shadow .25s ease;
    }

    .main-nav a:hover,
    .main-nav a:focus-visible { color: #eef8ff; }

    .site-header.is-light .main-nav a { color: rgba(24, 47, 70, .7); }

    .site-header.is-light .main-nav a:hover,
    .site-header.is-light .main-nav a:focus-visible { color: #0869b5; }

    .header-actions {
      display: flex;
      gap: 27px;
      margin-left: auto;
      align-items: center;
    }

    .header-actions a {
      min-width: 142px;
      height: 36px;
      padding-inline: 16px;
      border: 1px solid rgba(44, 147, 255, .38);
      border-radius: 10px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: #e9f8ff;
      background: linear-gradient(180deg, rgba(26, 113, 201, .82), rgba(9, 62, 119, .92));
      box-shadow: inset 0 1px rgba(255, 255, 255, .1), 0 0 22px rgba(17, 119, 233, .14);
      white-space: nowrap;
    }

    .header-actions a:hover,
    .header-actions a:focus-visible {
      color: #fff;
      border-color: rgba(76, 177, 255, .66);
      box-shadow: 0 0 24px rgba(20, 127, 255, .2);
    }

    .site-header.is-light .header-actions a {
      color: #f8fcff;
      border-color: rgba(18, 110, 181, .28);
      background: linear-gradient(180deg, #1782d1, #0d65aa);
      box-shadow: 0 8px 24px rgba(18, 105, 171, .2), inset 0 1px rgba(255, 255, 255, .2);
    }

    .menu-toggle {
      position: relative;
      width: 40px;
      height: 40px;
      margin: -2px 0 0 10px;
      padding: 0;
      flex: 0 0 40px;
      display: none;
      border: 1px solid rgba(91, 193, 238, .34);
      border-radius: 11px;
      color: #8edfff;
      background: rgba(4, 15, 29, .68);
      box-shadow: inset 0 0 18px rgba(39, 151, 217, .08), 0 8px 24px rgba(0, 0, 0, .14);
      -webkit-backdrop-filter: blur(12px) saturate(130%);
      backdrop-filter: blur(12px) saturate(130%);
      cursor: pointer;
      -webkit-tap-highlight-color: transparent;
      transition: color .35s ease, border-color .35s ease, background .55s ease, box-shadow .35s ease;
    }

    .menu-toggle span {
      position: absolute;
      left: 10px;
      width: 18px;
      height: 1px;
      border-radius: 2px;
      background: currentColor;
      box-shadow: 0 0 7px currentColor;
      transform-origin: center;
      transition: top .32s ease, opacity .24s ease, transform .32s cubic-bezier(.2, .72, .2, 1);
    }

    .menu-toggle span:nth-child(1) { top: 12px; }
    .menu-toggle span:nth-child(2) { top: 19px; }
    .menu-toggle span:nth-child(3) { top: 26px; }
    .site-header.is-menu-open .menu-toggle span:nth-child(1) { top: 19px; transform: rotate(45deg); }
    .site-header.is-menu-open .menu-toggle span:nth-child(2) { opacity: 0; transform: scaleX(.2); }
    .site-header.is-menu-open .menu-toggle span:nth-child(3) { top: 19px; transform: rotate(-45deg); }

    .menu-toggle:hover,
    .menu-toggle:focus-visible,
    .site-header.is-menu-open .menu-toggle {
      color: #e4faff;
      border-color: rgba(112, 221, 255, .7);
      box-shadow: inset 0 0 20px rgba(52, 171, 232, .14), 0 0 20px rgba(36, 168, 235, .18);
    }

    .site-header.is-light .menu-toggle {
      color: #166d95;
      border-color: rgba(32, 115, 153, .28);
      background: rgba(248, 252, 253, .72);
    }

    .menu-toggle:focus-visible {
      outline: 1px solid currentColor;
      outline-offset: 4px;
    }

    main { overflow: clip; }

    .activity-hero,
    .theme-bridge,
    .latest-section,
    .principles-section,
    .archive-section,
    .participate-section,
    .site-footer {
      contain: layout paint;
    }

    .activity-hero {
      position: relative;
      min-height: max(760px, 100svh);
      overflow: hidden;
      isolation: isolate;
      background:
        radial-gradient(circle at 73% 42%, rgba(19, 115, 225, .22), transparent 31%),
        radial-gradient(circle at 32% 42%, rgba(13, 88, 186, .12), transparent 33%),
        linear-gradient(145deg, #01040a 0%, #04101e 52%, #020812 100%);
    }

    .activity-hero::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -3;
      opacity: .42;
      background-image:
        linear-gradient(rgba(62, 155, 223, .08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(62, 155, 223, .08) 1px, transparent 1px);
      background-size: 52px 52px;
      -webkit-mask-image: radial-gradient(ellipse 76% 74% at 62% 46%, #000 10%, transparent 78%);
      mask-image: radial-gradient(ellipse 76% 74% at 62% 46%, #000 10%, transparent 78%);
    }

    .activity-hero::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 8;
      pointer-events: none;
      opacity: .12;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.13'/%3E%3C/svg%3E");
      mix-blend-mode: soft-light;
    }

    .hero-circuit {
      position: absolute;
      inset: 0;
      z-index: -1;
      width: 100%;
      height: 100%;
      pointer-events: none;
    }

    .hero-circuit .trace {
      fill: none;
      stroke: rgba(76, 177, 255, .22);
      stroke-width: 1.2;
      vector-effect: non-scaling-stroke;
    }

    .hero-circuit .current {
      fill: none;
      stroke: #83e6ff;
      stroke-width: 1.8;
      stroke-linecap: round;
      stroke-dasharray: 1 99;
      filter: drop-shadow(0 0 4px rgba(85, 218, 255, .75));
      animation: currentRun 5.6s linear infinite;
      vector-effect: non-scaling-stroke;
    }

    .hero-circuit .node {
      fill: #a8f0ff;
      filter: drop-shadow(0 0 6px #3bbfff);
      animation: nodePulse 3.2s ease-in-out infinite;
    }

    .hero-shell {
      position: relative;
      z-index: 4;
      width: var(--shell);
      min-height: max(760px, 100svh);
      margin: 0 auto;
      padding: clamp(128px, 15vh, 172px) 0 clamp(76px, 9vh, 110px);
      display: grid;
      grid-template-columns: minmax(0, .86fr) minmax(480px, .94fr);
      gap: clamp(62px, 7vw, 128px);
      align-items: center;
    }

    .hero-copy { min-width: 0; }

    .breadcrumbs {
      margin: 0 0 clamp(35px, 5vh, 62px);
      display: flex;
      align-items: center;
      gap: 11px;
      color: rgba(177, 205, 229, .45);
      font-size: 9px;
      letter-spacing: .16em;
      text-transform: uppercase;
    }

    .breadcrumbs a {
      text-decoration: none;
      transition: color .25s ease;
    }

    .breadcrumbs a:hover,
    .breadcrumbs a:focus-visible { color: #bdefff; }
    .breadcrumbs i { width: 21px; height: 1px; background: rgba(100, 193, 240, .3); }

    .eyebrow {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 22px;
      color: rgba(124, 219, 255, .68);
      font-size: 9px;
      font-weight: 500;
      letter-spacing: .24em;
      text-transform: uppercase;
    }

    .eyebrow::before {
      content: "";
      width: 30px;
      height: 1px;
      background: linear-gradient(90deg, #62d8ff, transparent);
      box-shadow: 0 0 8px rgba(77, 205, 255, .5);
    }

    .hero-title {
      max-width: 820px;
      margin: 0;
      color: #effaff;
      font-size: clamp(54px, 6.25vw, 106px);
      font-weight: 300;
      line-height: .92;
      letter-spacing: -.072em;
    }

    .hero-title em {
      display: block;
      color: transparent;
      background: linear-gradient(100deg, #67ccf6 0%, #dff9ff 50%, #77bde0 100%);
      -webkit-background-clip: text;
      background-clip: text;
      font-style: normal;
    }

    .hero-lead {
      max-width: 690px;
      margin: 34px 0 0;
      color: rgba(198, 218, 236, .68);
      font-size: clamp(15px, 1.2vw, 18px);
      line-height: 1.75;
    }

    .hero-actions {
      margin-top: 39px;
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 18px 30px;
    }

    .hero-action {
      min-height: 48px;
      padding: 0 20px;
      display: inline-flex;
      align-items: center;
      gap: 23px;
      color: #e9faff;
      border: 1px solid rgba(81, 196, 244, .28);
      border-radius: 12px;
      background: linear-gradient(180deg, rgba(18, 91, 159, .56), rgba(6, 39, 76, .72));
      box-shadow: inset 0 1px rgba(255, 255, 255, .07), 0 16px 42px rgba(0, 0, 0, .2);
      text-decoration: none;
      font-size: 11px;
      letter-spacing: .05em;
      transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
    }

    .hero-action::after {
      content: "";
      width: 7px;
      height: 7px;
      border-right: 1px solid currentColor;
      border-bottom: 1px solid currentColor;
      transform: rotate(45deg) translateY(-3px);
    }

    .hero-action:hover,
    .hero-action:focus-visible {
      transform: translateY(-3px);
      border-color: rgba(100, 220, 255, .62);
      box-shadow: inset 0 1px rgba(255, 255, 255, .1), 0 18px 46px rgba(4, 86, 149, .22);
    }

    .hero-period {
      display: flex;
      align-items: center;
      gap: 12px;
      color: rgba(154, 190, 216, .48);
      font-size: 9px;
      letter-spacing: .17em;
      text-transform: uppercase;
    }

    .hero-period::before {
      content: "";
      width: 7px;
      height: 7px;
      border: 1px solid #58cfff;
      border-radius: 50%;
      box-shadow: 0 0 0 5px rgba(52, 187, 235, .06), 0 0 12px rgba(52, 187, 235, .42);
    }

    .hero-visual {
      position: relative;
      min-height: clamp(510px, 63vh, 700px);
      isolation: isolate;
    }

    .hero-visual::before {
      content: "";
      position: absolute;
      inset: 5% 3% 3% 8%;
      z-index: -2;
      border: 1px solid rgba(81, 190, 244, .14);
      border-radius: 48% 52% 42% 58%;
      transform: rotate(-7deg);
      box-shadow: 0 0 90px rgba(13, 110, 220, .12), inset 0 0 80px rgba(9, 81, 159, .07);
    }

    .photo-frame {
      position: absolute;
      margin: 0;
      overflow: hidden;
      border: 1px solid rgba(135, 221, 255, .25);
      background: #081321;
      box-shadow: 0 30px 90px rgba(0, 0, 0, .38);
    }

    .photo-frame img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      filter: saturate(.72) contrast(1.05) brightness(.82);
      transition: transform 1.2s cubic-bezier(.2, .7, .2, 1), filter .8s ease;
    }

    .photo-frame::after {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background:
        linear-gradient(180deg, rgba(2, 8, 17, .05), rgba(1, 6, 13, .56)),
        repeating-linear-gradient(0deg, transparent 0 3px, rgba(116, 222, 255, .025) 3px 4px);
    }

    .photo-frame:hover img { transform: scale(1.035); filter: saturate(.9) contrast(1.03) brightness(.92); }

    .photo-main {
      inset: 5% 7% 11% 13%;
      z-index: 2;
      border-radius: 10px;
      clip-path: polygon(0 0, 100% 0, 100% 88%, 91% 100%, 0 100%);
    }

    .photo-main img { object-position: center; }

    .photo-side {
      right: -4%;
      bottom: 2%;
      z-index: 4;
      width: 37%;
      height: 39%;
      border-radius: 8px;
      transform: translateZ(0);
    }

    .photo-side img { object-position: center; }

    .photo-chip {
      position: absolute;
      left: 1%;
      top: 18%;
      z-index: 5;
      width: 27%;
      height: 30%;
      border-radius: 7px;
      transform: translateZ(0);
    }

    .photo-chip img { object-position: center; }

    .photo-caption {
      position: absolute;
      left: 17%;
      right: 11%;
      bottom: 15%;
      z-index: 6;
      display: flex;
      align-items: flex-end;
      justify-content: flex-start;
      gap: 20px;
      pointer-events: none;
    }

    .photo-caption span {
      color: rgba(226, 246, 255, .7);
      font-size: 9px;
      letter-spacing: .17em;
      text-transform: uppercase;
    }

    .visual-index {
      position: absolute;
      top: 0;
      right: 7%;
      z-index: 6;
      color: rgba(127, 214, 250, .38);
      font-size: 9px;
      letter-spacing: .17em;
      writing-mode: vertical-rl;
      text-transform: uppercase;
    }

    .theme-bridge {
      position: relative;
      height: clamp(150px, 18vw, 250px);
      overflow: hidden;
      background: linear-gradient(180deg, #020812 0%, #173449 42%, #8eabb9 76%, #eef5f8 100%);
    }

    .theme-bridge::before {
      content: "";
      position: absolute;
      inset: 0;
      opacity: .48;
      background-image:
        linear-gradient(rgba(114, 218, 249, .13) 1px, transparent 1px),
        linear-gradient(90deg, rgba(114, 218, 249, .13) 1px, transparent 1px);
      background-size: 44px 44px;
      -webkit-mask-image: linear-gradient(180deg, #000, transparent);
      mask-image: linear-gradient(180deg, #000, transparent);
    }

    .bridge-path {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      pointer-events: none;
    }

    .bridge-path path {
      fill: none;
      stroke: rgba(140, 235, 255, .62);
      stroke-width: 1.4;
      vector-effect: non-scaling-stroke;
    }

    .bridge-path .bridge-current {
      stroke: #efffff;
      stroke-width: 2;
      stroke-dasharray: 2 98;
      filter: drop-shadow(0 0 4px rgba(113, 230, 255, .7));
      animation: currentRun 4.8s linear infinite;
    }

    .section-shell {
      width: var(--shell);
      margin: 0 auto;
    }

    .latest-section {
      position: relative;
      padding: clamp(90px, 11vw, 158px) 0 clamp(120px, 12vw, 180px);
      color: #10283a;
      background:
        radial-gradient(circle at 86% 18%, rgba(25, 138, 190, .11), transparent 29%),
        radial-gradient(circle at 10% 83%, rgba(34, 112, 166, .07), transparent 26%),
        linear-gradient(180deg, #eef5f8, #f9fbfc 46%, #edf4f7);
    }

    .latest-section::before,
    .archive-section::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      opacity: .42;
      background-image:
        linear-gradient(rgba(26, 104, 143, .055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(26, 104, 143, .055) 1px, transparent 1px);
      background-size: 52px 52px;
      -webkit-mask-image: radial-gradient(ellipse 74% 64% at 50% 45%, #000, transparent);
      mask-image: radial-gradient(ellipse 74% 64% at 50% 45%, #000, transparent);
    }

    .section-heading {
      position: relative;
      z-index: 2;
      margin-bottom: clamp(36px, 4vw, 58px);
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(320px, .52fr);
      gap: clamp(36px, 7vw, 110px);
      align-items: end;
    }

    .section-kicker {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 19px;
      color: rgba(23, 101, 137, .62);
      font-size: 9px;
      font-weight: 600;
      letter-spacing: .22em;
      text-transform: uppercase;
    }

    .section-kicker::before {
      content: "";
      width: 29px;
      height: 1px;
      background: linear-gradient(90deg, #1683b3, transparent);
    }

    .section-title {
      margin: 0;
      color: #153247;
      font-size: clamp(46px, 5.2vw, 82px);
      font-weight: 300;
      line-height: .98;
      letter-spacing: -.065em;
    }

    .section-title em {
      color: #1076a4;
      font-style: normal;
    }

    .section-intro {
      margin: 0;
      color: rgba(38, 72, 91, .68);
      font-size: clamp(14px, 1.1vw, 17px);
      line-height: 1.72;
    }

    .featured-grid {
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: minmax(0, 1.36fr) minmax(320px, .84fr);
      grid-template-rows: repeat(3, minmax(160px, 1fr));
      gap: 16px;
    }

    .event-card {
      position: relative;
      min-height: 160px;
      overflow: hidden;
      border: 1px solid rgba(33, 105, 139, .16);
      border-radius: 14px;
      background: #cbdce3;
      box-shadow: 0 21px 56px rgba(27, 73, 100, .11);
      isolation: isolate;
      text-decoration: none;
      transform: translateZ(0);
    }

    .event-card--lead { grid-row: 1 / -1; min-height: 540px; }

    .event-card img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      filter: saturate(.78) contrast(1.02);
      transition: transform 1.1s cubic-bezier(.2, .72, .2, 1), filter .7s ease;
    }

    .event-card--lead img { object-position: center; }
    .event-card--forum img { object-position: center 36%; }
    .event-card--portrait img { object-position: center 42%; }

    .event-card::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      background:
        linear-gradient(180deg, rgba(3, 10, 18, .02) 22%, rgba(3, 11, 20, .78) 100%),
        linear-gradient(90deg, rgba(5, 17, 28, .18), transparent 58%);
      transition: background .55s ease;
    }

    .event-card::after {
      content: "";
      position: absolute;
      inset: 11px;
      z-index: 3;
      border: 1px solid rgba(226, 249, 255, .16);
      border-radius: 8px;
      pointer-events: none;
      opacity: 0;
      transform: scale(.985);
      transition: opacity .45s ease, transform .55s ease;
    }

    .event-card:hover img,
    .event-card:focus-visible img { transform: scale(1.045); filter: saturate(.96) contrast(1.02); }
    .event-card:hover::after,
    .event-card:focus-visible::after { opacity: 1; transform: scale(1); }

    .event-card-content {
      position: absolute;
      inset: auto 0 0;
      z-index: 4;
      padding: clamp(22px, 2.2vw, 34px);
      color: #effaff;
    }

    .event-card:not(.event-card--lead) .event-card-content { padding: 17px 22px; }

    .event-card-meta {
      margin-bottom: 10px;
      display: flex;
      align-items: center;
      gap: 10px;
      color: rgba(209, 239, 250, .66);
      font-size: 7px;
      letter-spacing: .18em;
      text-transform: uppercase;
    }

    .event-card-meta::before {
      content: "";
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: #7de5ff;
      box-shadow: 0 0 10px rgba(90, 219, 255, .75);
    }

    .event-card-title {
      max-width: 690px;
      margin: 0;
      font-size: clamp(22px, 2vw, 34px);
      font-weight: 300;
      line-height: 1.06;
      letter-spacing: -.045em;
    }

    .event-card:not(.event-card--lead) .event-card-title { font-size: clamp(18px, 1.55vw, 25px); }

    .event-card-description {
      max-width: 660px;
      margin: 12px 0 0;
      color: rgba(224, 243, 251, .72);
      font-size: clamp(11px, .8vw, 13px);
      line-height: 1.55;
    }

    .event-card-link {
      margin-top: 14px;
      display: flex;
      align-items: center;
      gap: 11px;
      color: rgba(224, 246, 255, .68);
      font-size: 8px;
      letter-spacing: .13em;
      text-transform: uppercase;
    }

    .event-card:not(.event-card--lead) .event-card-link { margin-top: 8px; }

    .event-card-link::after {
      content: "";
      width: 30px;
      height: 1px;
      background: linear-gradient(90deg, currentColor, transparent);
      transition: width .35s ease;
    }

    .event-card:hover .event-card-link::after { width: 48px; }

    .principles-section {
      position: relative;
      padding: clamp(110px, 12vw, 176px) 0;
      overflow: hidden;
      isolation: isolate;
      background:
        radial-gradient(circle at 50% 42%, rgba(10, 106, 202, .18), transparent 36%),
        linear-gradient(145deg, #020710 0%, #071524 54%, #030a12 100%);
    }

    .principles-section::before {
      content: "FIELD NOTES";
      position: absolute;
      left: 50%;
      top: 50%;
      z-index: -1;
      color: transparent;
      -webkit-text-stroke: 1px rgba(107, 207, 245, .055);
      font-size: clamp(100px, 16vw, 260px);
      font-weight: 600;
      line-height: .8;
      letter-spacing: -.08em;
      white-space: nowrap;
      transform: translate(-50%, -50%);
    }

    .principles-head {
      margin-bottom: clamp(60px, 8vw, 112px);
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(320px, .54fr);
      gap: 70px;
      align-items: end;
    }

    .principles-head h2 {
      margin: 0;
      color: #edfaff;
      font-size: clamp(48px, 6vw, 94px);
      font-weight: 300;
      line-height: .96;
      letter-spacing: -.067em;
    }

    .principles-head h2 em { display: block; color: #74d6f6; font-style: normal; }

    .principles-head p {
      margin: 0;
      color: rgba(188, 216, 233, .62);
      font-size: 15px;
      line-height: 1.75;
    }

    .principles-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      border-top: 1px solid rgba(93, 190, 233, .18);
      border-bottom: 1px solid rgba(93, 190, 233, .18);
    }

    .principle {
      position: relative;
      min-height: 240px;
      padding: 36px clamp(26px, 3.1vw, 48px) 38px;
    }

    .principle + .principle { border-left: 1px solid rgba(93, 190, 233, .16); }

    .principle-index {
      display: block;
      margin-bottom: 48px;
      color: rgba(106, 205, 244, .42);
      font-size: 9px;
      letter-spacing: .18em;
    }

    .principle h3 {
      margin: 0 0 16px;
      color: #e6f7ff;
      font-size: clamp(21px, 1.8vw, 29px);
      font-weight: 400;
      letter-spacing: -.035em;
    }

    .principle p {
      max-width: 350px;
      margin: 0;
      color: rgba(174, 203, 220, .58);
      font-size: 13px;
      line-height: 1.65;
    }

    .archive-section {
      position: relative;
      padding: clamp(110px, 12vw, 180px) 0 clamp(130px, 14vw, 210px);
      color: #10283a;
      background:
        radial-gradient(circle at 12% 22%, rgba(16, 128, 181, .11), transparent 29%),
        linear-gradient(180deg, #eaf3f7 0%, #f9fbfc 45%, #eef5f7 100%);
    }

    .archive-toolbar {
      position: relative;
      z-index: 2;
      margin: -18px 0 46px;
      padding: 20px 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      border-top: 1px solid rgba(24, 102, 139, .15);
      border-bottom: 1px solid rgba(24, 102, 139, .15);
    }

    .archive-filters {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 8px;
    }

    .archive-filter {
      min-height: 36px;
      padding: 0 14px;
      border: 1px solid transparent;
      border-radius: 999px;
      color: rgba(31, 72, 94, .56);
      background: transparent;
      font-size: 9px;
      letter-spacing: .12em;
      text-transform: uppercase;
      cursor: pointer;
      transition: color .25s ease, border-color .25s ease, background .25s ease;
    }

    .archive-filter:hover,
    .archive-filter:focus-visible,
    .archive-filter.is-active {
      color: #0b5c82;
      border-color: rgba(18, 112, 153, .22);
      background: rgba(255, 255, 255, .62);
    }

    .archive-filter:focus-visible { outline: 1px solid #1684af; outline-offset: 3px; }

    .archive-count {
      color: rgba(33, 74, 94, .48);
      font-size: 9px;
      letter-spacing: .15em;
      text-transform: uppercase;
      white-space: nowrap;
    }

    .archive-grid {
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
    }

    .archive-card {
      position: relative;
      min-height: 170px;
      display: grid;
      grid-template-columns: clamp(112px, 31%, 150px) minmax(0, 1fr);
      color: #17364a;
      border: 1px solid rgba(24, 102, 139, .13);
      border-radius: 13px;
      background: rgba(255, 255, 255, .54);
      box-shadow: 0 18px 54px rgba(42, 82, 104, .055);
      text-decoration: none;
      overflow: hidden;
      transition: transform .38s cubic-bezier(.2, .75, .2, 1), border-color .3s ease, box-shadow .38s ease, opacity .25s ease;
      content-visibility: auto;
      contain-intrinsic-size: auto 170px;
    }

    .archive-card[hidden] { display: none; }

    .archive-card::before {
      content: "";
      position: absolute;
      top: 0;
      left: 18px;
      z-index: 5;
      width: 46px;
      height: 2px;
      background: #1d86af;
      box-shadow: 0 0 8px rgba(29, 134, 175, .28);
      transition: width .4s ease;
    }

    .archive-card::after {
      content: "";
      position: absolute;
      right: -28px;
      bottom: -28px;
      z-index: 2;
      width: 90px;
      height: 90px;
      border: 1px solid rgba(18, 111, 151, .08);
      border-radius: 50%;
      box-shadow: 0 0 0 17px rgba(18, 111, 151, .025);
    }

    .archive-card:hover,
    .archive-card:focus-visible {
      z-index: 2;
      border-color: rgba(24, 119, 159, .3);
      box-shadow: 0 24px 68px rgba(34, 92, 121, .12);
      transform: translateY(-6px);
    }

    .archive-card:hover::before { width: 70px; }
    .archive-card:focus-visible { outline: 1px solid #1684af; outline-offset: 4px; }

    .archive-preview {
      position: relative;
      z-index: 1;
      min-height: 100%;
      display: block;
      overflow: hidden;
      border-right: 1px solid rgba(28, 105, 139, .12);
      background: #d7e5eb;
    }

    .archive-preview::before,
    .archive-preview::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 2;
      pointer-events: none;
    }

    .archive-preview::before {
      opacity: .24;
      background-image:
        linear-gradient(rgba(226, 247, 255, .42) 1px, transparent 1px),
        linear-gradient(90deg, rgba(226, 247, 255, .42) 1px, transparent 1px);
      background-size: 16px 16px;
      -webkit-mask-image: linear-gradient(90deg, #000, rgba(0, 0, 0, .72) 68%, transparent 100%);
      mask-image: linear-gradient(90deg, #000, rgba(0, 0, 0, .72) 68%, transparent 100%);
    }

    .archive-preview::after {
      background:
        linear-gradient(90deg, rgba(5, 33, 49, .02) 42%, rgba(233, 243, 247, .2) 76%, rgba(247, 251, 252, .5) 100%),
        linear-gradient(180deg, transparent 52%, rgba(8, 35, 49, .24) 100%);
    }

    .archive-preview img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      filter: saturate(.76) contrast(1.03);
      transition: transform .8s cubic-bezier(.2, .72, .2, 1), filter .5s ease;
    }

    .archive-card--logo .archive-preview {
      display: grid;
      place-items: center;
      background:
        radial-gradient(circle at 76% 22%, rgba(35, 149, 193, .12), transparent 34%),
        linear-gradient(145deg, #e6f0f4, #f9fcfd);
    }

    .archive-card--logo .archive-preview::after {
      background:
        linear-gradient(90deg, transparent 52%, rgba(241, 248, 250, .58)),
        linear-gradient(180deg, transparent 45%, rgba(27, 91, 118, .08));
    }

    .archive-card--logo .archive-preview img {
      width: 78%;
      height: 62%;
      object-fit: contain;
      filter: saturate(.72) contrast(1.04);
    }

    .archive-body {
      position: relative;
      z-index: 3;
      min-width: 0;
      min-height: 170px;
      padding: clamp(15px, 1.3vw, 20px);
      display: flex;
      flex-direction: column;
    }

    .archive-card:hover .archive-preview img,
    .archive-card:focus-visible .archive-preview img {
      filter: saturate(.96) contrast(1.03);
      transform: scale(1.055);
    }

    .archive-card--logo:hover .archive-preview img,
    .archive-card--logo:focus-visible .archive-preview img { transform: scale(1.035); }

    .archive-meta {
      margin-bottom: auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 5px 10px;
      color: rgba(33, 83, 108, .48);
      font-size: 7px;
      letter-spacing: .16em;
      text-transform: uppercase;
    }

    .archive-year {
      color: #147aa4;
      font-size: 10px;
      font-weight: 600;
      letter-spacing: .13em;
    }

    .archive-card h3 {
      max-width: 390px;
      margin: 12px 0 10px;
      font-size: clamp(15px, 1.15vw, 18px);
      font-weight: 400;
      line-height: 1.23;
      letter-spacing: -.034em;
    }

    .archive-link {
      display: flex;
      align-items: center;
      gap: 12px;
      color: rgba(37, 83, 105, .54);
      font-size: 8px;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    .archive-link::after {
      content: "";
      width: 30px;
      height: 1px;
      background: linear-gradient(90deg, currentColor, transparent);
      transition: width .35s ease;
    }

    .archive-card:hover .archive-link::after { width: 52px; }

    .participate-section {
      position: relative;
      min-height: 620px;
      overflow: hidden;
      isolation: isolate;
      display: grid;
      place-items: center;
      background: #020812;
    }

    .participate-section::before {
      content: "";
      position: absolute;
      inset: -5%;
      z-index: -3;
      background:
        linear-gradient(90deg, rgba(1, 6, 13, .95) 0%, rgba(1, 7, 15, .76) 50%, rgba(2, 8, 16, .92) 100%),
        url("/images/ecom2025/2025-05-21 18.jpg") center 44% / cover no-repeat;
      filter: saturate(.48) contrast(1.08);
      transform: scale(1.05);
    }

    .participate-section::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -2;
      opacity: .3;
      background-image:
        linear-gradient(rgba(70, 170, 227, .12) 1px, transparent 1px),
        linear-gradient(90deg, rgba(70, 170, 227, .12) 1px, transparent 1px);
      background-size: 48px 48px;
      -webkit-mask-image: radial-gradient(ellipse 70% 90% at 50% 50%, #000, transparent);
      mask-image: radial-gradient(ellipse 70% 90% at 50% 50%, #000, transparent);
    }

    .participate-inner {
      width: min(100% - 64px, 1120px);
      margin: 0 auto;
      padding: 100px 0;
      text-align: center;
    }

    .participate-kicker {
      color: rgba(120, 218, 255, .66);
      font-size: 9px;
      letter-spacing: .23em;
      text-transform: uppercase;
    }

    .participate-title {
      max-width: 950px;
      margin: 22px auto 0;
      color: #effaff;
      font-size: clamp(50px, 7vw, 106px);
      font-weight: 300;
      line-height: .94;
      letter-spacing: -.072em;
    }

    .participate-title em { display: block; color: #75d8f7; font-style: normal; }

    .participate-text {
      max-width: 620px;
      margin: 30px auto 0;
      color: rgba(196, 220, 235, .62);
      font-size: 15px;
      line-height: 1.72;
    }

    .participate-actions {
      margin-top: 39px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-wrap: wrap;
      gap: 13px;
    }

    .participate-button {
      min-height: 50px;
      padding: 0 22px;
      display: inline-flex;
      align-items: center;
      gap: 24px;
      color: #effaff;
      border: 1px solid rgba(83, 197, 242, .35);
      border-radius: 11px;
      background: linear-gradient(180deg, rgba(20, 111, 192, .76), rgba(7, 55, 105, .9));
      box-shadow: 0 18px 44px rgba(0, 0, 0, .25);
      font-size: 10px;
      letter-spacing: .07em;
      text-decoration: none;
      transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
    }

    .participate-button::after {
      content: "↗";
      color: #a9efff;
      font-size: 16px;
    }

    .participate-button--quiet {
      color: rgba(212, 235, 246, .66);
      border-color: transparent;
      background: transparent;
      box-shadow: none;
    }

    .participate-button:hover,
    .participate-button:focus-visible {
      transform: translateY(-3px);
      border-color: rgba(109, 225, 255, .68);
      box-shadow: 0 22px 52px rgba(3, 85, 151, .24);
    }

    [data-reveal] {
      opacity: 0;
      transform: translateY(30px);
      transition: opacity .8s ease, transform .9s cubic-bezier(.2, .75, .2, 1);
    }

    [data-reveal].is-visible { opacity: 1; transform: translateY(0); }

    .site-footer {
      --footer-steel: #236f8b;
      --footer-ice: #173f54;
      position: relative;
      min-height: 100vh;
      overflow: hidden;
      isolation: isolate;
      color-scheme: light;
      color: #18384b;
      background:
        linear-gradient(180deg,
          #718b98 0,
          rgba(151, 176, 187, .96) 30px,
          rgba(214, 230, 236, .92) 72px,
          rgba(239, 247, 249, .58) 112px,
          transparent 156px),
        radial-gradient(circle at 17% 31%, rgba(25, 135, 178, .13), transparent 31%),
        radial-gradient(circle at 84% 68%, rgba(55, 113, 147, .1), transparent 34%),
        linear-gradient(146deg, #f5fafb 0%, #e7f1f5 48%, #f0f7f9 100%);
      border-top: 1px solid rgba(166, 225, 241, .34);
      box-shadow: inset 0 1px rgba(240, 253, 255, .5);
    }

    .site-footer::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -2;
      pointer-events: none;
      opacity: .62;
      background-image:
        linear-gradient(rgba(28, 106, 141, .07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(28, 106, 141, .07) 1px, transparent 1px),
        repeating-linear-gradient(135deg, transparent 0 38px, rgba(29, 103, 138, .022) 38px 39px);
      background-size: 44px 44px, 44px 44px, auto;
      -webkit-mask-image: linear-gradient(180deg, #000 0, rgba(0, 0, 0, .82) 60%, transparent 100%);
      mask-image: linear-gradient(180deg, #000 0, rgba(0, 0, 0, .82) 60%, transparent 100%);
    }

    .site-footer::after {
      content: "FLEXCORE";
      position: absolute;
      right: clamp(18px, 3vw, 52px);
      bottom: clamp(20px, 3.5vh, 42px);
      z-index: -1;
      pointer-events: none;
      color: transparent;
      -webkit-text-stroke: 1px rgba(32, 100, 130, .065);
      font-size: clamp(88px, 11.5vw, 190px);
      font-weight: 600;
      line-height: 1;
      letter-spacing: -.085em;
      white-space: nowrap;
    }

    .footer-signal {
      position: absolute;
      top: 0;
      left: 5.2vw;
      right: 5.2vw;
      z-index: 3;
      height: 92px;
      overflow: hidden;
      pointer-events: none;
    }

    .footer-signal::before {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      width: 1px;
      height: 53px;
      background: linear-gradient(180deg, rgba(196, 239, 249, .92), rgba(30, 131, 169, .32));
      box-shadow: 0 0 13px rgba(72, 187, 219, .34);
    }

    .footer-signal-rail {
      position: absolute;
      top: 53px;
      left: 0;
      width: 100%;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(28, 121, 158, .2) 11%, rgba(51, 145, 178, .54) 50%, rgba(28, 121, 158, .2) 89%, transparent);
    }

    .footer-signal-rail::before,
    .footer-signal-rail::after {
      content: "";
      position: absolute;
      top: 0;
      width: clamp(70px, 10vw, 150px);
      height: 1px;
      opacity: .92;
      background: linear-gradient(90deg, transparent, #effcff 50%, transparent);
      filter: drop-shadow(0 0 6px rgba(59, 169, 202, .7));
      animation: footerSignalRun 7.5s linear infinite;
    }

    .footer-signal-rail::after { animation-delay: -3.75s; }

    .footer-signal-node {
      position: absolute;
      top: 47px;
      left: 50%;
      width: 13px;
      height: 13px;
      border: 1px solid rgba(42, 133, 166, .72);
      border-radius: 50%;
      background: #eff8fa;
      box-shadow: 0 0 0 6px rgba(42, 130, 163, .055), 0 0 18px rgba(47, 149, 181, .3);
      transform: translateX(-50%);
    }

    .footer-signal-node::after {
      content: "";
      position: absolute;
      inset: 3px;
      border-radius: inherit;
      background: #247c9c;
      box-shadow: 0 0 8px rgba(42, 145, 179, .55);
      animation: footerNodePulse 2.8s ease-in-out infinite;
    }

    .footer-inner {
      position: relative;
      z-index: 2;
      width: min(100%, 1600px);
      min-height: 100vh;
      margin: 0 auto;
      padding: clamp(116px, 14vh, 158px) clamp(30px, 5.2vw, 82px) clamp(34px, 4.5vh, 56px);
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      gap: clamp(46px, 6vh, 74px);
    }

    .footer-main {
      display: grid;
      grid-template-columns: minmax(340px, .82fr) minmax(560px, 1.18fr);
      gap: clamp(64px, 8vw, 132px);
      align-items: start;
    }

    .footer-brand { min-width: 0; overflow: visible; }

    .footer-kicker {
      display: flex;
      align-items: center;
      gap: 11px;
      margin: 0 0 16px;
      color: rgba(48, 91, 109, .58);
      font-size: 9px;
      font-weight: 500;
      letter-spacing: .22em;
      text-transform: uppercase;
    }

    .footer-kicker::before {
      content: "";
      width: 24px;
      height: 1px;
      background: linear-gradient(90deg, var(--footer-steel), transparent);
      box-shadow: 0 0 7px rgba(48, 141, 174, .2);
    }

    .footer-wordmark {
      width: fit-content;
      margin: 0;
      padding: .08em .035em .14em 0;
      display: inline-block;
      overflow: visible;
      color: var(--footer-ice);
      background: linear-gradient(108deg, #173f54 0%, #6f9bab 34%, #245f78 58%, #89afbc 78%, #173f54 100%);
      background-size: 230% 100%;
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      filter: drop-shadow(0 12px 30px rgba(49, 108, 130, .1));
      font-size: clamp(48px, 5.1vw, 84px);
      font-weight: 500;
      line-height: 1;
      letter-spacing: -.075em;
      white-space: nowrap;
      text-decoration: none;
      animation: footerWordmarkFlow 10s ease-in-out infinite alternate;
    }

    .footer-tagline {
      max-width: 470px;
      margin: 30px 0 0;
      color: rgba(48, 78, 92, .75);
      font-size: clamp(14px, 1.1vw, 17px);
      line-height: 1.7;
    }

    .footer-accreditation {
      width: fit-content;
      max-width: 100%;
      margin-top: 24px;
      padding: 10px 13px 10px 11px;
      display: inline-flex;
      align-items: center;
      gap: 9px;
      color: rgba(42, 84, 102, .75);
      border: 1px solid rgba(34, 111, 141, .18);
      border-radius: 999px;
      background: rgba(255, 255, 255, .48);
      font-size: 9px;
      letter-spacing: .09em;
      line-height: 1.35;
      text-decoration: none;
      text-transform: uppercase;
      -webkit-backdrop-filter: blur(12px);
      backdrop-filter: blur(12px);
      transition: color .3s ease, border-color .3s ease, background .3s ease;
    }

    .footer-accreditation::before {
      content: "";
      width: 6px;
      height: 6px;
      flex: 0 0 6px;
      border-radius: 50%;
      background: #277f9f;
      box-shadow: 0 0 10px rgba(43, 141, 174, .42);
      animation: footerNodePulse 2.8s ease-in-out infinite;
    }

    .footer-accreditation:hover,
    .footer-accreditation:focus-visible {
      color: #123f54;
      border-color: rgba(27, 108, 140, .38);
      background: rgba(255, 255, 255, .76);
    }

    .footer-columns {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: clamp(26px, 3.3vw, 54px);
    }

    .footer-column {
      position: relative;
      min-width: 0;
      padding-top: 19px;
      border-top: 1px solid rgba(29, 104, 134, .18);
    }

    .footer-column::before {
      content: "";
      position: absolute;
      top: -1px;
      left: 0;
      width: 34px;
      height: 1px;
      background: #277c9c;
      box-shadow: 0 0 8px rgba(41, 137, 170, .3);
      transition: width .45s ease;
    }

    .footer-column:hover::before { width: min(100%, 88px); }

    .footer-column-title {
      margin: 0 0 21px;
      color: rgba(47, 86, 102, .58);
      font-size: 9px;
      font-weight: 500;
      letter-spacing: .19em;
      text-transform: uppercase;
    }

    .footer-links {
      margin: 0;
      padding: 0;
      display: grid;
      gap: 13px;
      list-style: none;
    }

    .footer-links a,
    .footer-links span {
      width: fit-content;
      max-width: 100%;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: rgba(38, 70, 84, .78);
      font-size: 12px;
      line-height: 1.45;
      text-decoration: none;
    }

    .footer-links a { transition: color .28s ease, transform .28s ease; }

    .footer-links a::after {
      content: "";
      width: 13px;
      height: 1px;
      opacity: 0;
      background: currentColor;
      transform: translateX(-8px);
      transition: opacity .28s ease, transform .28s ease;
    }

    .footer-links a:hover,
    .footer-links a:focus-visible { color: #0a4865; transform: translateX(3px); }

    .footer-links a:hover::after,
    .footer-links a:focus-visible::after { opacity: .58; transform: translateX(0); }
    .footer-links .footer-contact-primary { color: #153f54; font-size: 14px; letter-spacing: -.015em; }
    .footer-links .footer-hours { color: rgba(61, 91, 103, .58); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }

    .footer-meta {
      margin-top: auto;
      display: grid;
      gap: 25px;
    }

    .footer-location {
      padding: 24px 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 28px;
      border-top: 1px solid rgba(29, 104, 134, .15);
      border-bottom: 1px solid rgba(29, 104, 134, .15);
    }

    .footer-address {
      display: flex;
      align-items: center;
      gap: 13px;
      color: rgba(35, 73, 90, .78);
      font-size: clamp(13px, 1.05vw, 16px);
      line-height: 1.45;
      text-decoration: none;
      transition: color .3s ease;
    }

    .footer-address::before {
      content: "";
      width: 9px;
      height: 9px;
      flex: 0 0 9px;
      border: 1px solid #337e99;
      border-radius: 50%;
      box-shadow: 0 0 0 5px rgba(48, 132, 162, .05), 0 0 10px rgba(51, 139, 169, .18);
    }

    .footer-address:hover,
    .footer-address:focus-visible { color: #0a3f59; }

    .footer-location-meta {
      display: flex;
      align-items: center;
      gap: 15px;
      color: rgba(55, 83, 95, .54);
      font-size: 9px;
      letter-spacing: .15em;
      text-transform: uppercase;
      white-space: nowrap;
    }

    .footer-location-meta::before {
      content: "";
      width: 34px;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(35, 112, 141, .4));
    }

    .footer-bottom {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      color: rgba(59, 85, 96, .52);
      font-size: 9px;
      letter-spacing: .1em;
      line-height: 1.5;
      text-transform: uppercase;
    }

    .footer-legal {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 8px 18px;
    }

    .footer-to-top {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      color: rgba(39, 77, 94, .7);
      text-decoration: none;
      transition: color .3s ease;
    }

    .footer-to-top::after {
      content: "";
      width: 8px;
      height: 8px;
      border-top: 1px solid currentColor;
      border-left: 1px solid currentColor;
      transform: translateY(2px) rotate(45deg);
      transition: transform .3s ease;
    }

    .footer-to-top:hover,
    .footer-to-top:focus-visible { color: #0d4058; }
    .footer-to-top:hover::after,
    .footer-to-top:focus-visible::after { transform: translateY(-3px) rotate(45deg); }

    @keyframes headerIn { to { opacity: 1; transform: translateY(0); } }
    @keyframes miniLogoShimmer { to { background-position: 100% 50%; } }
    @keyframes currentRun { to { stroke-dashoffset: -100; } }
    @keyframes nodePulse { 50% { opacity: .35; } }
    @keyframes footerSignalRun { from { left: -14%; } to { left: 100%; } }
    @keyframes footerNodePulse { 50% { opacity: .36; transform: scale(.65); } }
    @keyframes footerWordmarkFlow { to { background-position: 100% 50%; } }

    @media (max-width: 1180px) {
      :root { --shell: min(100% - 48px, 1480px); }
      .mini-logo { margin-right: 34px; }
      .main-nav { gap: 24px; }
      .hero-shell { grid-template-columns: minmax(0, .92fr) minmax(420px, .78fr); gap: 42px; }
      .hero-title { font-size: clamp(54px, 7vw, 86px); }
      .photo-main { inset-inline: 8% 3%; }
      .photo-chip { left: -2%; }
      .photo-side { right: -2%; }
      .archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .footer-main { grid-template-columns: minmax(280px, .7fr) minmax(540px, 1.3fr); gap: 58px; }
    }

    @media (max-width: 960px) {
      .hero-shell {
        padding-top: 132px;
        grid-template-columns: 1fr;
        gap: 64px;
      }

      .hero-copy { max-width: 760px; }
      .hero-visual { width: min(100%, 760px); min-height: 610px; margin: 0 auto; }
      .photo-main { inset: 4% 8% 10% 10%; }
      .photo-chip { left: 0; top: 17%; }
      .photo-side { right: 0; }
      .section-heading,
      .principles-head { grid-template-columns: 1fr; gap: 25px; }
      .section-intro,
      .principles-head p { max-width: 660px; }
      .principles-grid { grid-template-columns: 1fr; }
      .principle { min-height: 0; }
      .principle + .principle { border-left: 0; border-top: 1px solid rgba(93, 190, 233, .16); }
      .principle-index { margin-bottom: 24px; }
      .footer-main { grid-template-columns: 1fr; }
      .footer-brand { max-width: 650px; }
    }

    @media (max-width: 860px) {
      .main-nav {
        position: absolute;
        top: 76px;
        left: 18px;
        right: 18px;
        z-index: 2;
        min-height: 0;
        padding: 9px;
        display: grid;
        gap: 0;
        overflow: hidden;
        border: 1px solid rgba(83, 184, 232, .25);
        border-radius: 18px;
        background:
          linear-gradient(rgba(62, 166, 222, .045) 1px, transparent 1px),
          linear-gradient(90deg, rgba(62, 166, 222, .045) 1px, transparent 1px),
          rgba(3, 12, 24, .95);
        background-size: 24px 24px, 24px 24px, auto;
        box-shadow: 0 22px 60px rgba(0, 0, 0, .34), inset 0 1px rgba(255, 255, 255, .04);
        -webkit-backdrop-filter: blur(22px) saturate(135%);
        backdrop-filter: blur(22px) saturate(135%);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-10px) scale(.985);
        transform-origin: 80% 0;
        transition: opacity .28s ease, transform .38s cubic-bezier(.2, .78, .2, 1), visibility 0s linear .38s, background .7s ease, border-color .7s ease;
      }

      .main-nav::before {
        content: "";
        position: absolute;
        top: 0;
        left: 18px;
        right: 18px;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgba(119, 226, 255, .8), transparent);
        box-shadow: 0 0 12px rgba(85, 211, 255, .42);
      }

      .site-header.is-menu-open .main-nav {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0) scale(1);
        transition-delay: 0s;
      }

      .main-nav a {
        min-height: 48px;
        padding: 0 14px;
        display: flex;
        align-items: center;
        border-bottom: 1px solid rgba(102, 178, 218, .12);
        font-size: 12px;
        letter-spacing: .045em;
      }

      .main-nav a:last-child { border-bottom: 0; }

      .site-header.is-light .main-nav {
        border-color: rgba(25, 111, 158, .2);
        background:
          linear-gradient(rgba(21, 112, 160, .045) 1px, transparent 1px),
          linear-gradient(90deg, rgba(21, 112, 160, .045) 1px, transparent 1px),
          rgba(245, 250, 252, .96);
        background-size: 24px 24px, 24px 24px, auto;
        box-shadow: 0 22px 60px rgba(25, 71, 99, .16), inset 0 1px rgba(255, 255, 255, .7);
      }

      .menu-toggle { display: block; }
      .mini-logo { margin-right: 0; }
      .header-actions { gap: 10px; }
    }

    @media (max-width: 700px) {
      :root { --shell: min(100% - 32px, 1480px); }
      .activity-hero { min-height: auto; }
      .hero-shell { min-height: auto; padding: 118px 0 82px; gap: 48px; }
      .breadcrumbs { margin-bottom: 38px; }
      .hero-title { font-size: clamp(49px, 15vw, 72px); }
      .hero-lead { margin-top: 26px; font-size: 14px; }
      .hero-visual { min-height: 480px; }
      .photo-main { inset: 2% 0 12% 7%; }
      .photo-chip { left: -2%; top: 12%; width: 30%; height: 30%; }
      .photo-side { right: -2%; bottom: 1%; width: 40%; height: 37%; }
      .photo-caption { left: 12%; right: 5%; bottom: 16%; }
      .visual-index { right: 2%; }
      .theme-bridge { height: 150px; }
      .latest-section,
      .archive-section { padding-block: 90px 110px; }
      .section-heading { margin-bottom: 38px; }
      .section-title { font-size: clamp(43px, 13vw, 64px); }
      .featured-grid { grid-template-columns: 1fr; grid-template-rows: auto; gap: 16px; }
      .event-card--lead { grid-column: auto; grid-row: auto; min-height: 420px; }
      .event-card--wide { grid-column: auto; }
      .event-card:not(.event-card--lead) { min-height: 270px; }
      .event-card-title,
      .event-card:not(.event-card--lead) .event-card-title { font-size: 24px; }
      .principles-section { padding-block: 95px; }
      .principles-head { margin-bottom: 58px; }
      .principles-head h2 { font-size: clamp(45px, 14vw, 68px); }
      .archive-toolbar { align-items: flex-start; flex-direction: column; }
      .archive-count { white-space: normal; }
      .archive-grid { grid-template-columns: 1fr; }
      .archive-card {
        min-height: 170px;
        grid-template-columns: clamp(104px, 30%, 132px) minmax(0, 1fr);
        contain-intrinsic-size: auto 170px;
      }
      .archive-body { min-height: 170px; padding: 16px 18px; }
      .archive-card h3 { margin-block: 12px 10px; font-size: 17px; }
      .participate-inner { width: min(100% - 32px, 1120px); }
      .participate-title { font-size: clamp(48px, 15vw, 72px); }
      .footer-inner { padding-inline: 20px; }
      .footer-columns { grid-template-columns: 1fr; gap: 32px; }
      .footer-location { align-items: flex-start; flex-direction: column; gap: 15px; }
      .footer-location-meta { white-space: normal; }
      .footer-bottom { align-items: flex-start; flex-direction: column; }
      .site-footer::after { right: 16px; bottom: 18px; font-size: 17vw; }
    }

    @media (max-width: 620px) {
      .site-header { height: 74px; min-height: 74px; max-height: 74px; padding: 19px 18px 0; }
      .header-actions .primary { min-width: 124px; height: 34px; padding-inline: 12px; font-size: 11px; }
      .main-nav { top: 66px; left: 10px; right: 10px; }
    }

    @media (max-width: 450px) {
      .hero-visual { min-height: 420px; }
      .photo-main { inset: 0 0 12% 4%; }
      .photo-chip { display: none; }
      .photo-side { width: 43%; height: 34%; }
      .photo-caption span { display: none; }
      .archive-card { grid-template-columns: 88px minmax(0, 1fr); }
      .archive-body { padding-inline: 16px; }
      .archive-card h3 { font-size: 16px; }
      .footer-wordmark { font-size: clamp(46px, 15vw, 60px); }
      .footer-accreditation { align-items: flex-start; border-radius: 16px; }
    }

    /* Runtime fallback for devices that cannot keep the circuit current smooth. */
    html.motion-lite .hero-circuit .current,
    html.motion-lite .bridge-path .bridge-current,
    html.motion-lite .footer-signal-rail::before,
    html.motion-lite .footer-signal-rail::after {
      display: none !important;
      animation: none !important;
      filter: none !important;
    }

    html.motion-lite .hero-circuit .node,
    html.motion-lite .footer-signal-node::after {
      animation: none !important;
      filter: none !important;
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-delay: 0ms !important;
        animation-iteration-count: 1 !important;
      }
      [data-reveal] { opacity: 1; transform: none; transition: none; }
      .photo-frame img,
      .event-card img,
      .archive-card,
      .archive-preview img { transition: none; }
    }
