      :root {
        --gw-color-light: #9f00eb;
        --gw-color-dark: #200d2c;
        --gw-color-heading: #ffffff;
        --gw-color-link: #ffffff;
        --angle: 220deg;
        --tab-angle: 0deg;
      }

      @property --angle {
        syntax: "<angle>";
        inherits: false;
        initial-value: 220deg;
      }

      @property --tab-angle {
        syntax: "<angle>";
        inherits: false;
        initial-value: 0deg;
      }

      * {
        box-sizing: border-box;
      }

      html {
        scroll-behavior: smooth;
      }

      body {
        margin: 0;
        font-family: Bicyclette, sans-serif;
        font-weight: 300;
        font-size: clamp(17px, 1.2vw, 20px);
        line-height: 1.3;
        color: #fff;
        background: #000;
        -webkit-font-smoothing: antialiased;
      }

      a {
        color: var(--gw-color-link);
        transition: color 0.2s ease;
      }

      p {
        font-size: clamp(17px, 1.2vw, 20px);
        font-weight: 300;
        line-height: 1.2;
      }

      h1 {
        font-size: clamp(35px, 3vw, 45px);
        font-weight: 300;
        line-height: 1.2;
      }

      h2 {
        font-size: clamp(30px, 2vw, 35px);
        font-weight: 700;
        line-height: 1.1;
      }

      h3 {
        text-align: left;
        font-size: clamp(20px, 1.6vw, 24px);
        font-weight: 600;
      }

      nav a,
      .nv-eyebrow {
        font-size: clamp(17px, 1.2vw, 20px);
      }

      .nv-eyebrow {
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        margin-bottom: 0;
      }

      .gradient-wrap {
        background: linear-gradient(
          180deg,
          var(--gw-color-dark) 0%,
          var(--gw-color-dark) 20%,
          #000 100%
        );
        min-height: 1500px;
      }

      .hero-header {
        position: relative;
        background: transparent;
        overflow: visible;
        color: #fff;
        z-index: 1;
      }

      .hero-visual {
        position: absolute;
        inset: 0;
        height: 110vh;
        overflow: visible;
        pointer-events: none;
        z-index: 0;
        -webkit-mask-image: linear-gradient(to bottom, #000 0%, transparent 80%);
        mask-image: linear-gradient(to bottom, #000 0%, transparent 80%);
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-size: 100% 100%;
        mask-size: 100% 100%;
      }

      .hero-visual .hex-layer {
        position: absolute;
        inset: 0;
        left: -685px;
        background-image: url("../assets/hex-cluster.svg");
        background-repeat: repeat;
        background-size: 1552px 1200px;
        background-position: left top;
        opacity: 0.41;
        will-change: background-position;
        transform: translateZ(0);
        z-index: 0;
      }

      #particle-layer,
      #particle-layer canvas {
        opacity: 0.31;
      }

      .navbar,
      .hero-content {
        position: relative;
        z-index: 10;
      }

      .container,
      .container-lg,
      .container-md,
      .container-sm,
      .container-xl {
        max-width: 1300px;
        padding-left: 25px;
        padding-right: 25px;
      }

      .navbar-light .navbar-nav .nav-link {
        color: #fff;
        padding-left: 2em;
      }

      .navbar-light .navbar-nav .nav-link:focus,
      .navbar-light .navbar-nav .nav-link:hover {
        color: var(--gw-color-light) !important;
      }

      .navbar-toggler {
        border-color: rgba(255, 255, 255, 0.35);
      }

      .navbar-toggler-icon {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.8%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
        background-size: 1.5em;
      }

      .navbar-toggler:not(.collapsed) .navbar-toggler-icon {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.8%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M6 6L24 24M6 24L24 6'/%3e%3c/svg%3e") !important;
      }

      .hero-content {
        max-width: 620px;
        margin: 0 auto;
        padding: 25vh 25px;
        min-height: 70vh;
      }

      .hero-type {
        display: flex;
        align-items: end;
        justify-content: center;
        position: relative;
        color: #fff;
        white-space: normal;
        overflow: hidden;
      }

      .cursor {
        display: inline-block;
        width: 0.1em;
        height: 1em;
        background-color: var(--gw-color-light);
        margin-left: 2px;
        animation: blink 0.8s steps(1) infinite;
        transition: opacity 1.2s ease;
        vertical-align: bottom;
      }

      #hero-sub {
        opacity: 0;
        transition: opacity 1.2s ease;
      }

      .nv-button-row {
        gap: 20px;
      }

      .wp-block-button {
        position: relative;
        display: inline-block;
        border-radius: 8px;
        overflow: visible;
      }

      .wp-block-button__link.wp-element-button {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 10px 50px;
        background: #9f00eb;
        color: #fff;
        font-weight: 300;
        font-size: 20px;
        border-radius: 8px;
        text-decoration: none;
        z-index: 10;
        margin-bottom: 0;
        transition: all 300ms ease;
        border: none;
        cursor: pointer;
      }

      .wp-block-button__link:hover {
        background: #7c01b5;
        color: #fff;
        text-decoration: none;
      }

      .wp-block-button::before {
        content: "";
        position: absolute;
        inset: -2px;
        border-radius: 10px;
        background: #9f00eb;
        z-index: 2;
      }

      .wp-block-button::after {
        content: "";
        position: absolute;
        inset: -2px;
        border-radius: 10px;
        background: conic-gradient(
          from var(--angle),
          transparent 0 10deg,
          rgba(255, 255, 255, 0.8) 50deg 90deg,
          transparent 110deg 360deg
        );
        z-index: 3;
        pointer-events: none;
      }

      .wp-block-button:hover::after {
        animation: btn-sweep-fwd 0.4s linear forwards;
      }

      .wp-block-button:not(:hover)::after {
        animation: btn-sweep-back 0.4s linear forwards;
      }

      .wp-block-button.is-style-outline .wp-block-button__link {
        background: transparent;
        color: #9f00eb;
        border: none;
        padding: 12px 52px;
      }

      .wp-block-button.is-style-outline .wp-block-button__link:hover {
        color: #fff;
        background: transparent;
      }

      .wp-block-button.is-style-outline {
        --angle: 220deg;
      }

      .wp-block-button.is-style-outline::before,
      .wp-block-button.is-style-outline::after {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: 8px;
        padding: 2px;
        pointer-events: none;
        -webkit-mask:
          linear-gradient(#fff 0 0) content-box,
          linear-gradient(#fff 0 0);
        mask:
          linear-gradient(#fff 0 0) content-box,
          linear-gradient(#fff 0 0);
        -webkit-mask-composite: xor;
        mask-composite: exclude;
      }

      .wp-block-button.is-style-outline::before {
        background: #9f00eb;
        z-index: 1;
      }

      .wp-block-button.is-style-outline::after {
        background: conic-gradient(
          from var(--angle),
          transparent 0 30deg,
          rgba(255, 255, 255, 0.8) 50deg 90deg,
          transparent 110deg 360deg
        );
        z-index: 2;
      }

      .down-arrow {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        text-align: center;
        z-index: 99999;
        cursor: pointer;
        opacity: 0;
        animation: arrowFadeIn 1.4s ease forwards 0.8s;
      }

      .down-arrow i {
        font-size: 48px;
        color: #fff;
        opacity: 0.7;
        animation: arrowFloat 2.6s ease-in-out infinite;
        transition: opacity 0.25s ease;
      }

      .down-arrow:hover i {
        opacity: 1;
      }

      .site-main {
        position: relative;
        z-index: 1;
        overflow: clip;
      }

      .site-main::before {
        content: "";
        position: absolute;
        inset: 0;
        background-image: url("../assets/hex-cluster.svg");
        background-repeat: repeat-x;
        background-position: center;
        opacity: 0.21;
        pointer-events: none;
        z-index: -1;
        transform: scaleX(-1);
      }

      .intro-block {
        padding: 75px 25px 25px;
      }

      .intro-block--tall {
        padding-top: 150px;
      }

      .copy-block {
        padding: 25px 10% 150px;
      }

      .copy-block p + p {
        margin-top: 1.2rem;
      }

      .content-right p,
      .content-right h2,
      .content-right h3 {
        text-align: right !important;
      }

      .button-right {
        justify-content: end;
      }

      .events-block,
      .cards-block {
        padding: 75px 0;
      }

      .archive-hero {
        padding-top: 3rem;
        padding-bottom: 3rem;
      }

      .gradient-text {
        --brand: #9f00eb;
        --hi: #f1e8ff;
        background: linear-gradient(355deg, var(--brand) 0%, var(--hi) 98%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
      }

      .nv-tab-wrap {
        position: relative;
        overflow-x: visible;
        width: 100%;
        padding: 60px 0;
      }

      .nv-tab {
        --brand: #9f00eb;
        --icon-peek: 14%;
        display: flex;
        align-items: center;
        justify-content: end;
        gap: 24px;
        width: 136%;
        padding: 24px 44px 24px 36px;
        background: linear-gradient(90deg, var(--brand) 0%, #000 100%);
        border-radius: 0 80px 80px 0;
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45);
        color: #fff;
        transform: translateX(calc(-100% + var(--icon-peek)));
        transition:
          transform 2.6s cubic-bezier(0.33, 1, 0.68, 1),
          opacity 2.6s ease-in-out;
        position: relative;
        z-index: 2;
        margin-left: -36%;
      }

      .nv-tab--right {
        margin-inline-start: auto;
        flex-direction: row-reverse;
        border-radius: 80px 0 0 80px;
        background: linear-gradient(270deg, var(--brand) 0%, #000 100%);
        transform: translateX(calc(100% - var(--icon-peek)));
        padding: 24px 36px 24px 44px;
        justify-content: start;
        margin-right: -36%;
        margin-left: 0;
      }

      .nv-tab-wrap.in-view .nv-tab {
        transform: translateX(0);
      }

      .nv-tab figure,
      .nv-tab img {
        width: 56px;
        height: auto;
        flex-shrink: 0;
        margin: 0;
        display: block;
      }

      .nv-tab__content {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 4px;
        line-height: 1.1;
        max-width: 100%;
      }

      .nv-tab:not(.nv-tab--right) .nv-tab__content {
        align-items: end;
        text-align: left;
      }

      .nv-tab--right .nv-tab__content {
        align-items: start;
        text-align: right;
      }

      .nv-tab p.nv-eyebrow,
      .nv-tab h2.nv-title {
        margin: 0;
        line-height: 1.1;
      }

      .nv-tab:not(.nv-tab--right) .gradient-text {
        text-align: right;
      }

      .nv-tab--right .gradient-text {
        text-align: left;
      }

      .shine-border {
        --ring: 2px;
        --border-color: #9f00eb;
        --shine: #ffffffcc;
        --tab-angle: 0deg;
        position: relative;
        isolation: isolate;
      }

      .shine-border::before,
      .shine-border::after {
        content: "";
        position: absolute;
        inset: 0;
        padding: var(--ring);
        border-radius: inherit;
        pointer-events: none;
        -webkit-mask:
          linear-gradient(#000 0 0) content-box,
          linear-gradient(#000 0 0);
        mask:
          linear-gradient(#000 0 0) content-box,
          linear-gradient(#000 0 0);
        -webkit-mask-composite: xor;
        mask-composite: exclude;
      }

      .shine-border::before {
        background: var(--border-color);
        z-index: 1;
      }

      .shine-border::after {
        z-index: 2;
        background: conic-gradient(
          from calc(var(--tab-angle) - 210deg),
          transparent 0deg 0deg,
          #fff8 20deg 140deg,
          transparent 230deg 360deg
        );
        filter: blur(0.6px);
        opacity: 0;
        transition: opacity 0.3s ease;
      }

      .nv-tab-wrap.in-view .shine-border::after {
        animation: tab-shine-grow 1.8s cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
        opacity: 1;
      }

      .nv-tab--right.shine-border::after {
        background: conic-gradient(
          from calc(360deg - var(--tab-angle) + 30deg),
          transparent 0deg 0deg,
          #fffc 20deg 140deg,
          transparent 230deg 360deg
        );
        animation: tab-shine-grow-right 1.8s cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
      }

      a.panel-link {
        display: block;
        color: inherit;
        text-decoration: none;
      }

      a.panel-link:hover {
        text-decoration: none;
        color: inherit;
      }

      .panel-link h3 {
        font-weight: 600;
      }

      .panel-link img {
        max-height: 280px;
        width: 100%;
        height: auto;
        display: block;
        object-fit: cover;
      }

      .media-rect {
        --radius: 8px;
        --ring: 2px;
        --border-color: #9f00eb;
        --shine: #ffffffcc;
        --angle: 220deg;
        position: relative;
        border-radius: var(--radius);
        overflow: hidden;
        isolation: isolate;
      }

      .media-rect::before,
      .media-rect::after {
        content: "";
        position: absolute;
        inset: 0;
        padding: var(--ring);
        border-radius: inherit;
        pointer-events: none;
        -webkit-mask:
          linear-gradient(#000 0 0) content-box,
          linear-gradient(#000 0 0);
        mask:
          linear-gradient(#000 0 0) content-box,
          linear-gradient(#000 0 0);
        -webkit-mask-composite: xor;
        mask-composite: exclude;
      }

      .media-rect::before {
        background: var(--border-color);
        z-index: 1;
      }

      .media-rect::after {
        background: conic-gradient(
          from var(--angle),
          transparent 0 30deg,
          var(--shine) 50deg 90deg,
          transparent 110deg 360deg
        );
        z-index: 2;
      }

      .media-rect.animate:hover::after {
        animation: sweep-fwd 0.7s linear 1 forwards;
      }

      .media-rect.animate:not(:hover)::after {
        animation: sweep-back 0.7s linear 1 forwards;
      }

      footer.nv-footer {
        position: relative;
        background: linear-gradient(0deg, #9f00eb 0%, #000 80%);
        color: #fff;
        padding: 0;
        overflow: hidden;
        z-index: 1;
      }

      footer.nv-footer::before {
        content: "";
        position: absolute;
        inset: 0;
        background-image: url("../assets/footer-overlay.webp");
        background-size: contain;
        background-position: right center;
        background-repeat: no-repeat;
        opacity: 1;
        pointer-events: none;
        z-index: -1;
        mix-blend-mode: screen;
      }

      .footer-cta {
        padding: 80px 0 60px;
        position: relative;
        z-index: 2;
      }

      .footer-cta-text {
        max-width: 38rem;
      }

      .footer-main {
        padding: 40px 0 60px;
        position: relative;
        z-index: 2;
      }

      .footer-divider {
        border: none;
        height: 1px;
        background: rgb(255, 255, 255);
        margin: 0 0 50px;
        opacity: 1;
      }

      .footer-heading {
        font-size: 16px;
        font-weight: 700;
        letter-spacing: 0.05em;
        margin-bottom: 1.5rem;
        color: #fff;
      }

      .footer-nav ul {
        list-style: none;
        padding: 0;
        margin: 0;
      }

      .footer-nav ul li {
        margin-bottom: 0.5rem;
        line-height: 1.2;
      }

      .footer-nav ul li a {
        color: rgba(255, 255, 255, 0.85);
        text-decoration: none;
        font-size: clamp(16px, 1.1vw, 18px);
        transition: color 0.2s ease, transform 0.2s ease;
        display: inline-block;
        line-height: 1.2;
      }

      .footer-nav ul li a:hover {
        color: #fff;
        transform: translateX(4px);
      }

      .footer-logo {
        max-width: 90px;
        height: auto;
        text-align: center;
        margin: 15px auto;
        display: block;
      }

      .footer-brand-text {
        font-size: clamp(17px, 1.2vw, 20px);
        line-height: 1.5;
        color: rgba(255, 255, 255, 0.85);
        margin: 0;
        text-align: left;
      }

      .footer-social {
        display: flex;
        gap: 15px;
        justify-content: flex-end;
        flex-wrap: wrap;
      }

      .footer-social .social-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 45px;
        height: 45px;
        background: rgba(255, 255, 255, 0.9);
        border-radius: 50%;
        color: #9f00eb;
        font-size: 20px;
        text-decoration: none;
        transition: background-color 300ms ease, color 300ms ease;
      }

      .footer-social .social-icon:hover {
        background: #9f00eb;
        color: #fff;
      }

      .copyright {
        padding: 3px 0;
        background: #000;
      }

      .copyright p {
        font-size: 12px;
        color: #777;
        margin-bottom: 0;
      }

      .nv-form {
        background: linear-gradient(180deg, var(--gw-color-dark) 0%, #000 100%);
        padding: 30px;
        border-radius: 12px;
        border: 1px solid #9f00eb;
        width: 100%;
        max-width: 420px;
      }

      .nv-form label,
      .nv-form legend {
        color: #fff;
        font-weight: 600;
        font-size: 0.9rem;
        display: block;
        margin-bottom: 0.4rem;
      }

      .nv-form input[type="email"],
      .nv-form input[type="text"],
      .nv-form input[type="password"] {
        width: 100%;
        background: rgba(0, 0, 0, 0.4);
        border: 1px solid rgba(255, 255, 255, 0.1);
        color: #fff;
        border-radius: 8px;
        padding: 0.75rem 0.9rem;
        margin-bottom: 1rem;
      }

      .nv-form input[type="email"]:focus,
      .nv-form input[type="text"]:focus,
      .nv-form input[type="password"]:focus {
        background: #000;
        border-color: #9f00eb;
        box-shadow: 0 0 0 0.25rem rgba(159, 0, 235, 0.25);
        outline: none;
      }

      .nv-form .privacy-row {
        display: flex;
        align-items: flex-start;
        gap: 0.6rem;
        margin-bottom: 1.25rem;
        font-size: 0.9rem;
        line-height: 1.35;
      }

      .nv-form .privacy-row input {
        margin-top: 0.25rem;
      }

      .nv-form button[type="submit"] {
        width: 100%;
        background: #9f00eb;
        border: none;
        border-radius: 50px;
        font-weight: 700;
        font-size: 1.05rem;
        padding: 0.75rem 1.5rem;
        color: #fff;
        cursor: pointer;
      }

      .nv-form button[type="submit"]:hover {
        background: linear-gradient(90deg, #9f00eb 0%, #6200ea 100%);
      }

      .nv-form .form-note {
        display: none;
        margin: 0;
        color: #fff;
      }

      .nv-form.is-sent .form-fields {
        display: none;
      }

      .nv-form.is-sent .form-note {
        display: block;
      }

      .copy-block--tight {
        padding: 25px 10% 0;
      }

      .sponsor-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 25px;
        align-items: start;
      }

      .sponsor-grid a {
        color: #9f00eb;
        text-decoration: underline;
      }

      .sponsor-grid a:hover {
        color: #b73fee;
      }

      .nv-form--contact {
        max-width: none;
      }

      .nv-form--contact .form-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 12px;
      }

      .nv-form--contact .sub-label {
        font-weight: 400;
        font-size: 0.8rem;
        margin: -0.55rem 0 1rem;
        color: rgba(255, 255, 255, 0.7);
      }

      .nv-form--contact select,
      .nv-form--contact input[type="text"],
      .nv-form--contact input[type="tel"],
      .nv-form--contact textarea {
        width: 100%;
        background: rgba(0, 0, 0, 0.4);
        border: 1px solid rgba(255, 255, 255, 0.1);
        color: #fff;
        border-radius: 8px;
        padding: 0.75rem 0.9rem;
        margin-bottom: 1rem;
      }

      .nv-form--contact input::placeholder,
      .nv-form--contact textarea::placeholder {
        color: rgba(255, 255, 255, 0.4);
      }

      .nv-form--contact select {
        appearance: none;
        background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.292893 0.292893C0.683417 -0.097631 1.31658 -0.097631 1.70711 0.292893L5 3.58579L8.29289 0.292893C8.68342 -0.0976311 9.31658 -0.0976311 9.70711 0.292893C10.0976 0.683417 10.0976 1.31658 9.70711 1.70711L5.70711 5.70711C5.31658 6.09763 4.68342 6.09763 4.29289 5.70711L0.292893 1.70711C-0.0976311 1.31658 -0.0976311 0.683418 0.292893 0.292893Z' fill='white'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 0.9rem center;
        padding-right: 2.2rem;
      }

      .nv-form--contact select:focus,
      .nv-form--contact input:focus,
      .nv-form--contact textarea:focus {
        background: #000;
        border-color: #9f00eb;
        box-shadow: 0 0 0 0.25rem rgba(159, 0, 235, 0.25);
        outline: none;
        color: #fff;
      }

      .nv-form--contact textarea {
        min-height: 180px;
        resize: vertical;
      }

      .nv-form--contact .char-count {
        color: rgba(255, 255, 255, 0.55);
        font-size: 0.75rem;
        margin: -0.6rem 0 1rem;
      }

      .nv-form--contact .choice-list {
        display: flex;
        flex-direction: column;
        gap: 0.65rem;
        margin-bottom: 1.25rem;
      }

      .nv-form--contact .choice {
        position: relative;
        display: flex;
        align-items: center;
        color: #fff;
        cursor: pointer;
        padding-left: 28px;
      }

      .nv-form--contact .choice input {
        position: absolute;
        opacity: 0;
        pointer-events: none;
      }

      .nv-form--contact .choice::before {
        content: "";
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 18px;
        height: 18px;
        border-radius: 50%;
        border: 2px solid rgba(159, 0, 235, 0.5);
        box-sizing: border-box;
      }

      .nv-form--contact .choice:has(input:checked)::after {
        content: "";
        position: absolute;
        left: 1px;
        top: 50%;
        transform: translateY(-50%);
        width: 16px;
        height: 16px;
        border-radius: 50%;
        background: #9f00eb;
      }

      .nv-form--contact .choice-list--sizes {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 0.65rem 0.5rem;
      }

      @media (max-width: 599px) {
        .copy-block--tight {
          padding: 0 0 50px;
        }

        .sponsor-grid,
        .nv-form--contact .form-row {
          grid-template-columns: minmax(0, 1fr);
        }

        .nv-form--contact .choice-list--sizes {
          grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        .intro-block--tall {
          padding-top: 75px;
        }
      }

      .scroll-to-top {
        position: fixed;
        bottom: 40px;
        right: 40px;
        width: 45px;
        height: 45px;
        background: var(--gw-color-dark);
        color: #fff;
        text-align: center;
        line-height: 45px;
        border-radius: 50%;
        cursor: pointer;
        z-index: 999;
        display: none;
        text-decoration: none;
      }

      .scroll-to-top:hover {
        color: #ccc;
        transform: scale(1.1);
        text-decoration: none;
      }

      .modal {
        z-index: 99999;
      }

      .modal-backdrop {
        z-index: 99998;
      }

      @media (max-width: 991px) {
        .navbar-nav {
          text-align: center;
        }

        .navbar-light .navbar-nav .nav-link {
          padding-left: 0;
        }

        .footer-cta,
        .footer-content,
        .footer-social-col {
          text-align: center;
        }

        .footer-social {
          justify-content: center;
        }

        .copy-block {
          padding: 0 0 50px;
        }
      }

      @media (max-width: 768px) {
        .hero-visual .hex-layer {
          animation: fadeSubtle 8s ease-in-out infinite alternate;
          background-position: center top;
        }

        p,
        h2,
        h3,
        .content-right p,
        .content-right h2,
        .content-right h3 {
          text-align: center !important;
        }

        .wp-block-buttons,
        .button-right {
          justify-content: center;
        }

        .nv-tab figure,
        .nv-tab img {
          display: none !important;
        }

        .nv-tab {
          margin-inline: auto;
          justify-content: center;
          text-align: center;
          max-width: 130%;
          margin-left: -30%;
        }

        .nv-tab__content,
        .nv-tab--right .nv-tab__content,
        .gradient-text,
        .nv-tab:not(.nv-tab--right) .gradient-text,
        .nv-tab--right .gradient-text {
          align-items: center !important;
          text-align: center !important;
        }

        .footer-brand-text {
          text-align: center;
        }
      }

      @keyframes arrowFadeIn {
        from {
          opacity: 0;
          transform: translateY(10px);
        }
        to {
          opacity: 1;
          transform: translateY(0);
        }
      }

      @keyframes arrowFloat {
        0%,
        100% {
          transform: translateY(0);
          opacity: 0.7;
        }
        50% {
          transform: translateY(6px);
          opacity: 1;
        }
      }

      @keyframes blink {
        50% {
          opacity: 0;
        }
      }

      @keyframes fadeSubtle {
        from {
          opacity: 0.18;
        }
        to {
          opacity: 0.39;
        }
      }

      @keyframes btn-sweep-fwd {
        from {
          --angle: 220deg;
        }
        to {
          --angle: 580deg;
        }
      }

      @keyframes btn-sweep-back {
        from {
          --angle: 580deg;
        }
        to {
          --angle: 220deg;
        }
      }

      @keyframes sweep-fwd {
        from {
          --angle: 220deg;
        }
        to {
          --angle: 580deg;
        }
      }

      @keyframes sweep-back {
        from {
          --angle: 580deg;
        }
        to {
          --angle: 220deg;
        }
      }

      @keyframes tab-shine-grow {
        0% {
          --tab-angle: 0deg;
          opacity: 0.25;
        }
        20% {
          --tab-angle: 60deg;
          opacity: 0.7;
        }
        60% {
          --tab-angle: 180deg;
          opacity: 1;
        }
        100% {
          --tab-angle: 240deg;
          opacity: 1;
        }
      }

      @keyframes tab-shine-grow-right {
        0% {
          --tab-angle: 240deg;
          opacity: 0.25;
        }
        20% {
          --tab-angle: 180deg;
          opacity: 0.7;
        }
        60% {
          --tab-angle: 60deg;
          opacity: 1;
        }
        100% {
          --tab-angle: 0deg;
          opacity: 1;
        }
      }

      .pillars-block {
        padding: 25px 25px 75px;
      }

      .pillars-block .nv-eyebrow,
      .pillars-block .gradient-text,
      .pillars-block p {
        text-align: left;
      }

      .copy-block--short {
        padding-bottom: 100px;
      }

      @media (max-width: 768px) {
        .pillars-block .nv-eyebrow,
        .pillars-block .gradient-text,
        .pillars-block p {
          text-align: center !important;
        }

        .copy-block--short,
        .pillars-block {
          padding: 0 0 50px;
        }
      }

      .events-wrap {
        max-width: 1300px;
        margin: 0 auto;
        padding: 50px 25px 25px;
      }

      .events-calendar-grid {
        display: grid;
        grid-template-columns: minmax(0, 0.755fr) minmax(0, 0.245fr);
        gap: 25px;
      }

      .nv-upcoming-events {
        color: #fff;
      }

      .nv-upcoming-events .nv-section-title {
        text-transform: uppercase;
        font-weight: 600;
        font-size: 20px;
        margin-bottom: 1.5rem;
      }

      .nv-events-calendar.media-rect {
        --ring: 1px;
        --radius: 16px;
        padding: 8px;
        overflow: hidden;
      }

      .nv-events-calendar {
        --brand: #9f00eb;
        --brand-light: #b93aff;
        --ink: #fff;
        --bg-grad: linear-gradient(180deg, #3b0069 0%, #000 80%);
        --bg-grad-light: linear-gradient(145deg, #a100eb57 0, transparent 40%);
        --grid: rgba(159, 0, 235, 0.3);
        font-family: "bicyclette", sans-serif;
        color: var(--ink);
        background: transparent;
      }

      .nv-events-calendar .fc-toolbar {
        background: transparent;
        padding: 10px 14px;
        display: flex;
        justify-content: space-between;
        align-items: center;
      }

      .nv-events-calendar .fc-toolbar-title {
        color: #fff;
        font-weight: 700;
        font-size: 1.2rem;
      }

      .nv-events-calendar .fc-scrollgrid {
        border: 0;
        background: var(--bg-grad);
        border-radius: 12px;
      }

      .nv-events-calendar .fc-button {
        background: transparent;
        border: 1px solid var(--grid);
        color: var(--ink);
        border-radius: 12px;
        padding: 6px 14px;
        text-transform: capitalize;
        transition: all 0.2s ease;
      }

      .nv-events-calendar .fc-button:hover,
      .nv-events-calendar .fc-button.fc-button-active {
        background: var(--brand);
        border-color: var(--brand-light);
        box-shadow: 0 0 8px var(--brand-light);
      }

      .nv-events-calendar .fc-col-header-cell {
        background: rgba(159, 0, 235, 0.1);
        border: none;
        color: var(--ink);
        font-weight: 600;
        letter-spacing: 0.02em;
        padding: 6px 0;
        text-transform: uppercase;
        font-size: 0.8rem;
      }

      .nv-events-calendar .fc-col-header-cell-cushion {
        color: inherit;
        text-decoration: none;
      }

      .nv-events-calendar .fc-daygrid-day {
        outline: 1px solid #420062;
        outline-offset: -4px;
        padding: 3px;
        background: var(--bg-grad-light);
        border-radius: 14px;
        transition: background 0.25s ease;
      }

      .nv-events-calendar .fc-daygrid-day:hover {
        background: rgba(159, 0, 235, 0.25);
      }

      .nv-events-calendar .fc-day-today {
        border: 1px solid #fff;
        box-shadow: 0 0 12px rgba(255, 255, 255, 0.25) !important;
      }

      .nv-events-calendar .fc-daygrid-day.fc-day-today {
        background-color: rgba(255, 255, 255, 0.15);
      }

      .nv-events-calendar .fc-daygrid-day-number {
        color: var(--ink);
        opacity: 0.7;
        font-size: 0.85rem;
        padding: 5px 8px;
        text-decoration: none;
      }

      .nv-events-calendar .fc-theme-standard td,
      .nv-events-calendar .fc-theme-standard th,
      .nv-events-calendar .fc-theme-standard .fc-scrollgrid,
      .nv-events-calendar table {
        border: 0 !important;
        background-color: transparent;
      }

      .nv-events-calendar .fc .fc-scrollgrid {
        border: 0 !important;
      }

      .events-gallery-wrap {
        max-width: 1300px;
        margin: 0 auto;
        padding: 25px;
      }

      .nv-gallery {
        display: grid;
        grid-template-columns: repeat(12, 1fr);
        grid-column-gap: 15px;
        grid-row-gap: 15px;
        grid-auto-rows: 150px;
        list-style: none;
        margin: 0;
        padding: 0;
      }

      .nv-gallery li {
        margin: 0;
        position: relative;
        overflow: hidden;
      }

      .nv-gallery li:nth-child(8n + 1) {
        grid-area: auto / auto / span 2 / span 4;
      }

      .nv-gallery li:nth-child(8n + 2) {
        grid-area: auto / auto / span 2 / span 8;
      }

      .nv-gallery li:nth-child(8n + 3) {
        grid-area: auto / auto / span 4 / span 8;
      }

      .nv-gallery li:nth-child(8n + 4),
      .nv-gallery li:nth-child(8n + 5),
      .nv-gallery li:nth-child(8n + 6),
      .nv-gallery li:nth-child(8n + 7) {
        grid-area: auto / auto / span 1 / span 2;
      }

      .nv-gallery li:nth-child(8n + 8) {
        grid-area: auto / auto / span 2 / span 4;
      }

      .nv-gallery a,
      .nv-gallery img {
        display: block;
        width: 100%;
        height: 100%;
      }

      .nv-gallery img {
        object-fit: cover;
      }

      .nv-lightbox {
        position: fixed;
        inset: 0;
        z-index: 200000;
        display: none;
        align-items: center;
        justify-content: center;
        background: rgba(0, 0, 0, 0.88);
        padding: 40px;
      }

      .nv-lightbox.is-open {
        display: flex;
      }

      .nv-lightbox img {
        max-width: min(1100px, 92vw);
        max-height: 88vh;
        object-fit: contain;
      }

      .nv-lightbox__close {
        position: absolute;
        top: 18px;
        right: 24px;
        background: none;
        border: 0;
        color: #fff;
        font-size: 42px;
        line-height: 1;
        cursor: pointer;
      }

      @media (max-width: 781px) {
        .events-calendar-grid {
          grid-template-columns: minmax(0, 1fr);
        }

        .nv-gallery {
          grid-auto-rows: 83.333px;
        }

        .nv-gallery li:nth-child(8n + 1),
        .nv-gallery li:nth-child(8n + 2),
        .nv-gallery li:nth-child(8n + 3),
        .nv-gallery li:nth-child(8n + 4),
        .nv-gallery li:nth-child(8n + 5),
        .nv-gallery li:nth-child(8n + 6),
        .nv-gallery li:nth-child(8n + 7),
        .nv-gallery li:nth-child(8n + 8) {
          grid-area: auto;
        }

        .nv-gallery li:nth-child(3n + 1) {
          grid-area: auto / auto / span 4 / span 8;
        }

        .nv-gallery li:nth-child(3n + 2) {
          grid-area: auto / auto / span 4 / span 4;
        }

        .nv-gallery li:nth-child(3n + 3) {
          grid-area: auto / auto / span 2 / span 12;
        }
      }

      @media (max-width: 599px) {
        .nv-gallery {
          grid-auto-rows: 150px;
        }

        .nv-gallery li:nth-child(3n + 1) {
          grid-area: auto / auto / span 2 / span 12;
        }

        .nv-gallery li:nth-child(3n + 2) {
          grid-area: auto / auto / span 4 / span 6;
        }

        .nv-gallery li:nth-child(3n + 3) {
          grid-area: auto / auto / span 4 / span 6;
        }
      }

      @media (max-width: 580px) {
        .nv-calendar-desktop {
          display: none;
        }
      }

      .login-page {
        min-height: 100vh;
        background:
          radial-gradient(circle at 20% 0%, rgba(159, 0, 235, 0.35), transparent 45%),
          #000;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 2rem 1.25rem;
      }

      .login-shell {
        width: min(420px, 100%);
        text-align: center;
      }

      .login-logo {
        display: block;
        width: min(280px, 80%);
        height: auto;
        margin: 0 auto 1.5rem;
      }

      .login-copy,
      .login-error {
        color: rgba(255, 255, 255, 0.75);
        margin: 0.75rem 0 1.5rem;
      }

      .login-error {
        color: #ff8aa0;
      }

      .login-form {
        margin: 0 auto;
        text-align: left;
      }
