/* Static utility layer replacing the Tailwind CDN runtime. */

*, ::before, ::after {

  box-sizing: border-box;

  border-width: 0;

  border-style: solid;

  border-color: #e5e7eb;

}



html {

  line-height: 1.5;

  -webkit-text-size-adjust: 100%;

}



body {

  margin: 0;

  line-height: inherit;

}



blockquote,

figure,

h1,

h2,

h3,

h4,

p {

  margin: 0;

}



h1,

h2,

h3,

h4 {

  font-size: inherit;

  font-weight: inherit;

}



ul,

ol {

  margin: 0;

  padding: 0;

  list-style: none;

}



a {

  color: inherit;

  text-decoration: inherit;

}



button,

input,

textarea,

select {

  font: inherit;

  color: inherit;

  margin: 0;

  padding: 0;

}



button {

  cursor: pointer;

  background: transparent;

}



img,

video,

svg {

  display: block;

  vertical-align: middle;

}



img,

video {

  max-width: 100%;

  height: auto;

}



[hidden] {

  display: none;

}



.fixed { position: fixed; }

.absolute { position: absolute; }

.relative { position: relative; }

.inset-0 { inset: 0; }

.top-0 { top: 0; }

.left-0 { left: 0; }

.bottom-0 { bottom: 0; }

.left-6 { left: 1.5rem; }

.bottom-6 { bottom: 1.5rem; }

.left-1\/2 { left: 50%; }

[class~="top-[62%]"] { top: 62%; }

[class~="bottom-[-10%]"] { bottom: -10%; }

[class~="right-[-5%]"] { right: -5%; }

.z-0 { z-index: 0; }

.z-10 { z-index: 10; }

.z-20 { z-index: 20; }

.z-30 { z-index: 30; }

.z-50 { z-index: 50; }

.order-1 { order: 1; }

.order-2 { order: 2; }

.mx-auto { margin-left: auto; margin-right: auto; }

.mt-6 { margin-top: 1.5rem; }

.mt-12 { margin-top: 3rem; }

.mb-0 { margin-bottom: 0; }

.mb-0\.5 { margin-bottom: 0.125rem; }

.mb-1 { margin-bottom: 0.25rem; }

.mb-2 { margin-bottom: 0.5rem; }

.mb-4 { margin-bottom: 1rem; }

.mb-5 { margin-bottom: 1.25rem; }

.mb-6 { margin-bottom: 1.5rem; }

.mb-7 { margin-bottom: 1.75rem; }

.mb-8 { margin-bottom: 2rem; }

.mb-10 { margin-bottom: 2.5rem; }

.block { display: block; }

.hidden { display: none; }

.flex { display: flex; }

.grid { display: grid; }

.w-full { width: 100%; }

.h-full { height: 100%; }

.h-20 { height: 5rem; }

[class~="h-[168%]"] { height: 168%; }

[class~="h-[400px]"] { height: 400px; }

[class~="w-[168%]"] { width: 168%; }

.min-h-screen { min-height: 100vh; }

.max-w-xs { max-width: 20rem; }

.max-w-2xl { max-width: 42rem; }

.max-w-3xl { max-width: 48rem; }

.max-w-4xl { max-width: 56rem; }

.max-w-6xl { max-width: 72rem; }

.shrink-0 { flex-shrink: 0; }

.flex-col { flex-direction: column; }

.items-start { align-items: flex-start; }

.items-center { align-items: center; }

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

.justify-between { justify-content: space-between; }

.gap-3 { gap: 0.75rem; }

.gap-5 { gap: 1.25rem; }

.gap-6 { gap: 1.5rem; }

.gap-12 { gap: 3rem; }

.gap-16 { gap: 4rem; }

.space-x-8 > :not([hidden]) ~ :not([hidden]) { margin-left: 2rem; }

.overflow-hidden { overflow: hidden; }

.border { border-width: 1px; }

.border-b { border-bottom-width: 1px; }

.border-t { border-top-width: 1px; }

.border-l-2 { border-left-width: 2px; }

.border-gray-100 { border-color: #f3f4f6; }

.border-gray-200 { border-color: #e5e7eb; }

.border-gray-300 { border-color: #d1d5db; }

.border-deepGreen { border-color: #285a48; }

.bg-white { background-color: #ffffff; }

.bg-gray-100 { background-color: #f3f4f6; }

.bg-white\/70 { background-color: rgb(255 255 255 / 0.7); }

.object-cover { object-fit: cover; }

.object-center { object-position: center; }

.p-0 { padding: 0; }

.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }

.py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; }

.py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }

.py-14 { padding-top: 3.5rem; padding-bottom: 3.5rem; }

.py-20 { padding-top: 5rem; padding-bottom: 5rem; }

.py-24 { padding-top: 6rem; padding-bottom: 6rem; }

.pt-8 { padding-top: 2rem; }

.pt-10 { padding-top: 2.5rem; }

.pt-20 { padding-top: 5rem; }

.pb-2 { padding-bottom: 0.5rem; }

.pb-6 { padding-bottom: 1.5rem; }

.pb-8 { padding-bottom: 2rem; }

.pb-12 { padding-bottom: 3rem; }

.pb-20 { padding-bottom: 5rem; }

.pl-4 { padding-left: 1rem; }

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

.font-inter { font-family: "Inter Tight", sans-serif; }

.font-merriweather { font-family: "Merriweather", serif; }

.font-anton { font-family: "Anton", sans-serif; }

.text-xs { font-size: 0.75rem; line-height: 1rem; }

.text-sm { font-size: 0.875rem; line-height: 1.25rem; }

.text-lg { font-size: 1.125rem; line-height: 1.75rem; }

.text-xl { font-size: 1.25rem; line-height: 1.75rem; }

.text-3xl { font-size: 1.875rem; line-height: 2.25rem; }

[class~="text-[10px]"] { font-size: 10px; }

[class~="text-[11px]"] { font-size: 11px; }

[class~="text-[20rem]"] { font-size: 20rem; }

.font-light { font-weight: 300; }

.font-medium { font-weight: 500; }

.font-bold { font-weight: 700; }

.font-extrabold { font-weight: 800; }

.uppercase { text-transform: uppercase; }

.leading-none { line-height: 1; }

.leading-tight { line-height: 1.25; }

.leading-relaxed { line-height: 1.625; }

.tracking-wider { letter-spacing: 0.05em; }

[class~="tracking-[0.16em]"] { letter-spacing: 0.16em; }

[class~="tracking-[0.18em]"] { letter-spacing: 0.18em; }

[class~="tracking-[0.2em]"] { letter-spacing: 0.2em; }

.text-white { color: #ffffff; }

.text-darkest { color: #091413; }

.text-deepGreen { color: #285a48; }

.text-gray-700 { color: #374151; }

.text-gray-800 { color: #1f2937; }

.text-darkest\/80 { color: rgb(9 20 19 / 0.8); }

.text-darkest\/90 { color: rgb(9 20 19 / 0.9); }

.text-deepGreen\/80 { color: rgb(40 90 72 / 0.8); }

.opacity-5 { opacity: 0.05; }

.opacity-10 { opacity: 0.1; }

.opacity-70 { opacity: 0.7; }

.opacity-80 { opacity: 0.8; }

.shadow-sm { box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); }

.shadow-2xl { box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25); }

.backdrop-blur-md { backdrop-filter: blur(12px); }

.transition-all { transition-property: all; transition-duration: 150ms; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); }

.transition-colors { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; transition-duration: 150ms; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); }

.duration-300 { transition-duration: 300ms; }

.pointer-events-none { pointer-events: none; }

.select-none { user-select: none; }

.antialiased { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

.group {}

[class~="drop-shadow-[0_3px_10px_rgba(0,0,0,0.35)]"] { filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.35)); }

[class~="hover:text-deepGreen"]:hover { color: #285a48; }



@media (min-width: 640px) {

  .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

  .sm\:text-xs { font-size: 0.75rem; line-height: 1rem; }

  .sm\:text-sm { font-size: 0.875rem; line-height: 1.25rem; }

  .sm\:text-base { font-size: 1rem; line-height: 1.5rem; }

  .sm\:text-4xl { font-size: 2.25rem; line-height: 2.5rem; }

}



@media (min-width: 768px) {

  .md\:fixed { position: fixed; }

  .md\:left-8 { left: 2rem; }

  .md\:bottom-8 { bottom: 2rem; }

  .md\:order-1 { order: 1; }

  .md\:order-2 { order: 2; }

  .md\:mb-3 { margin-bottom: 0.75rem; }

  .md\:mb-5 { margin-bottom: 1.25rem; }

  .md\:mb-6 { margin-bottom: 1.5rem; }

  .md\:mb-10 { margin-bottom: 2.5rem; }

  .md\:mb-12 { margin-bottom: 3rem; }

  .md\:flex { display: flex; }

  .md\:hidden { display: none; }

  .md\:h-32 { height: 8rem; }

  .md\:h-\[500px\] { height: 500px; }

  .md\:max-w-sm { max-width: 24rem; }

  .md\:flex-row { flex-direction: row; }

  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .md\:gap-4 { gap: 1rem; }

  .md\:gap-6 { gap: 1.5rem; }

  .md\:gap-8 { gap: 2rem; }

  .md\:px-12 { padding-left: 3rem; padding-right: 3rem; }

  .md\:py-1\.5 { padding-top: 0.375rem; padding-bottom: 0.375rem; }

  .md\:py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }

  .md\:py-16 { padding-top: 4rem; padding-bottom: 4rem; }

  .md\:py-24 { padding-top: 6rem; padding-bottom: 6rem; }

  .md\:py-28 { padding-top: 7rem; padding-bottom: 7rem; }

  .md\:pt-12 { padding-top: 3rem; }

  .md\:pt-24 { padding-top: 6rem; }

  .md\:pb-3 { padding-bottom: 0.75rem; }

  .md\:pb-8 { padding-bottom: 2rem; }

  .md\:pb-10 { padding-bottom: 2.5rem; }

  .md\:pb-14 { padding-bottom: 3.5rem; }

  .md\:pb-24 { padding-bottom: 6rem; }

  .md\:text-sm { font-size: 0.875rem; line-height: 1.25rem; }

  .md\:text-lg { font-size: 1.125rem; line-height: 1.75rem; }

  .md\:text-xl { font-size: 1.25rem; line-height: 1.75rem; }

  .md\:text-2xl { font-size: 1.5rem; line-height: 2rem; }

  .md\:text-4xl { font-size: 2.25rem; line-height: 2.5rem; }

  .md\:text-5xl { font-size: 3rem; line-height: 1; }

  .md\:text-6xl { font-size: 3.75rem; line-height: 1; }

  .md\:text-\[30rem\] { font-size: 30rem; }

  .md\:leading-tight { line-height: 1.25; }

}



@media (min-width: 1024px) {

  .lg\:order-1 { order: 1; }

  .lg\:order-2 { order: 2; }

  .lg\:flex { display: flex; }

  .lg\:h-full { height: 100%; }

  .lg\:flex-col { flex-direction: column; }

  .lg\:items-stretch { align-items: stretch; }

  .lg\:justify-center { justify-content: center; }

  .lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

  [class~="lg:grid-cols-[0.9fr_1.1fr]"] { grid-template-columns: 0.9fr 1.1fr; }

  .lg\:gap-20 { gap: 5rem; }

  .lg\:text-5xl { font-size: 3rem; line-height: 1; }

  .lg\:text-6xl { font-size: 3.75rem; line-height: 1; }

}



@media (min-width: 1536px) {

  .\32xl\:px-8 { padding-left: 2rem; padding-right: 2rem; }

}



html {

  scroll-behavior: smooth;

  scroll-padding-top: calc(var(--hero-nav-offset) + 16px);

}



body {

  overflow-x: hidden;

}



#hero,

#speakers,

#about,

#key-topics,

#media-partners,

#contact {

  scroll-margin-top: calc(var(--hero-nav-offset) + 16px);

}



:root {

  --hero-nav-offset: calc(clamp(102px, 8.8vw, 136px) + 46px);

  --site-nav-primary: #285a48;

  --site-nav-accent: #b0e4cc;

  --site-nav-dark: #091413;

  --site-nav-body: "Inter Tight", Arial, sans-serif;

  --site-nav-display: "Merriweather", Georgia, serif;

}

@media (max-width: 992px) {

  :root {

    --hero-nav-offset: 17rem;

  }

}

@media (max-width: 640px) {

  :root {

    --hero-nav-offset: 17rem;

  }

}



body.splash-active {

  overflow: hidden;

}



.site-splash {

  position: absolute;

  inset: 0;

  z-index: 120;

  display: grid;

  place-content: center;

  justify-items: center;

  padding: clamp(1.25rem, 4vw, 2.5rem);

  color: #091413;

  background:

    radial-gradient(rgba(64, 138, 113, 0.38) 1.15px, transparent 1.15px) 0 0 / 6px 6px,

    #ffffff;

  opacity: 1;

  visibility: visible;

  transition: opacity 0.65s ease, visibility 0.65s ease;

}



.site-splash[hidden] {

  display: none;

}



.site-splash::before {

  content: "";

  position: absolute;

  inset: 0;

  background:

    radial-gradient(circle at 50% 48%, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.9) 18%, rgba(255, 255, 255, 0.68) 34%, rgba(255, 255, 255, 0.2) 58%, rgba(255, 255, 255, 0) 76%),

    linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.58));

  pointer-events: none;

}



.site-splash::after {

  content: "";

  position: absolute;

  width: min(52rem, 80vw);

  aspect-ratio: 1;

  border-radius: 50%;

  background: radial-gradient(circle, rgba(176, 228, 204, 0.32) 0%, rgba(176, 228, 204, 0.14) 34%, rgba(176, 228, 204, 0) 68%);

  filter: blur(2px);

  pointer-events: none;

}



.site-splash.is-hiding {

  opacity: 0;

  visibility: hidden;

  pointer-events: none;

}



.site-splash-logo {

  position: relative;

  z-index: 1;

  display: block;

  width: clamp(22rem, 65vw, 32rem);

  height: auto;

  object-fit: contain;

  animation: splash-logo-arrive 0.75s cubic-bezier(0.16, 1, 0.3, 1) both;

}



.site-splash-loader {

  position: relative;

  z-index: 1;

  width: min(100%, 14rem);

  height: 2px;

  margin-top: 2rem;

  background: rgba(40, 90, 72, 0.1);

  border-radius: 2px;

  overflow: hidden;

  animation: splash-logo-arrive 0.75s cubic-bezier(0.16, 1, 0.3, 1) 0.2s both;

}



.site-splash-loader-bar {

  position: absolute;

  top: 0;

  left: 0;

  height: 100%;

  width: 40%;

  background: #285a48;

  border-radius: 2px;

  animation: splash-loader-slide 1.5s ease-in-out infinite;

}



@keyframes splash-logo-arrive {

  from {

    opacity: 0;

    transform: translateY(10px) scale(0.96);

  }

  to {

    opacity: 1;

    transform: translateY(0) scale(1);

  }

}



@keyframes splash-loader-slide {

  0% {

    transform: translateX(-120%);

  }

  100% {

    transform: translateX(280%);

  }

}



@media (prefers-reduced-motion: reduce) {

  .site-splash,

  .site-splash-logo,

  .site-splash-loader,

  .site-splash-loader-bar {

    animation: none;

    transition: none;

  }

}



.hero-shell {

  min-height: calc(100vh - var(--hero-nav-offset));

  min-height: calc(100svh - var(--hero-nav-offset));

  margin-top: var(--hero-nav-offset);

}

.hero-event-tools {

  position: absolute;

  top: clamp(1rem, 1.5vw, 1.5rem);

  right: clamp(1rem, 2.4vw, 2.75rem);

  z-index: 30;

  width: min(11.5rem, calc(100% - 2rem));

  padding: 0.25rem 0.72rem 0.48rem;

  border: 1px solid rgba(176, 228, 204, 0.32);

  border-radius: 1.35rem;

  background:

    radial-gradient(circle at 8% 12%, rgba(176, 228, 204, 0.2), transparent 32%),

    linear-gradient(145deg, #285a48 0%, #285a48 56%, #214c3d 100%);

  box-shadow:

    0 16px 36px rgba(9, 20, 19, 0.22),

    inset 0 1px 0 rgba(255, 255, 255, 0.18);

  backdrop-filter: blur(16px) saturate(1.08);

  -webkit-backdrop-filter: blur(16px) saturate(1.08);

  color: #ffffff;

  text-align: left;

  overflow: hidden;

}

.hero-calendar-trigger {

  display: none;

}

.hero-event-tools::before {

  content: "";

  position: absolute;

  top: 0;

  left: 1.35rem;

  right: 1.35rem;

  height: 2px;

  background: linear-gradient(90deg, transparent, var(--site-nav-accent), transparent);

  opacity: 0.78;

}

.hero-event-tools__count {

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 0.58rem;

  min-height: 3.2rem;

  padding-top: 0;

}

.hero-event-tools__number {

  min-width: 4.55rem;

  color: var(--site-nav-accent);

  font-family: "Merriweather", serif;

  font-size: clamp(3.62rem, 4.2vw, 4.58rem);

  font-weight: 700;

  letter-spacing: -0.055em;

  line-height: 1;

}

.hero-event-tools__copy {

  display: grid;

  gap: 0.18rem;

  padding-top: 0.25rem;

  font-family: "Inter Tight", sans-serif;

}

.hero-event-tools__copy strong {

  display: block;

  max-width: 3.6rem;

  color: #ffffff;

  font-size: 1.02rem;

  font-weight: 700;

  letter-spacing: 0.06em;

  line-height: 1.08;

  text-transform: uppercase;

}

.hero-event-tools__copy span {

  display: none;

}

.hero-event-tools__divider {

  width: auto;

  height: 1px;

  margin: 0.12rem 0.05rem 0.4rem;

  background: linear-gradient(90deg, rgba(176, 228, 204, 0.34), rgba(176, 228, 204, 0.06));

}

.hero-event-tools__calendar {

  display: flex;

  width: max-content;

  align-items: center;

  gap: 0.38rem;

  min-height: 0;

  margin-inline: auto;

  padding: 0.08rem 0;

  border: 0;

  border-radius: 0;

  background: transparent;

  color: #ffffff;

  font-family: "Inter Tight", sans-serif;

  line-height: 1;

  text-decoration: none;

  transition: color 220ms ease, transform 220ms ease;

}

.hero-event-tools__calendar:hover,

.hero-event-tools__calendar:focus-visible {

  color: #ffffff;

  transform: translateX(2px);

}

.hero-event-tools__calendar:focus-visible {

  outline: 2px dashed var(--site-nav-accent);

  outline-offset: 4px;

}

.hero-event-tools__calendar-icon {

  display: grid;

  width: 1.55rem;

  height: 1.55rem;

  place-items: center;

  border-radius: 0;

  background: transparent;

  color: #ffffff;

  box-shadow: none;

  transform: translateY(1px);

}

.hero-event-tools__calendar-icon svg {

  width: 1.32rem;

  height: 1.32rem;

  fill: none;

  stroke: currentColor;

  stroke-linecap: round;

  stroke-linejoin: round;

  stroke-width: 1.55;

}

.hero-event-tools__calendar-copy {

  display: flex;

  align-items: center;

  min-width: 0;

}

.hero-event-tools__calendar-copy strong {

  font-size: 0.86rem;

  font-weight: 600;

  line-height: 1;

}

.hero-event-tools.is-event-day .hero-event-tools__number,

.hero-event-tools.is-event-over .hero-event-tools__number {

  min-width: 0;

  font-family: "Inter Tight", sans-serif;

  font-size: 1.75rem;

  letter-spacing: -0.025em;

}

@media (max-width: 767px) {

  .hero-event-tools {

    position: relative;

    top: auto;

    right: auto;

    align-self: center;

    width: min(12rem, calc(100% - 1rem));

    margin: clamp(13rem, 29vw, 16rem) auto 1.35rem;

    flex: 0 0 auto;

  }

}

@media (max-width: 640px) {

  .hero-event-tools {

    width: min(11.5rem, 100%);

    margin-top: 16.5rem;

    padding: 0.25rem 0.72rem 0.48rem;

  }

  .hero-event-tools__count {

    min-height: 3.15rem;

  }

  .hero-event-tools__number {

    min-width: 4.1rem;

    font-size: 3.82rem;

  }

}

@media (max-width: 767px) {

  .hero-calendar-trigger {

    --calendar-shell-padding: 7px;

    --calendar-shell-radius: 22px;

    --calendar-icon-size: 2.42rem;

    position: fixed;

    right: 1rem;

    bottom: 9.65rem;

    z-index: 82;

    display: grid;

    isolation: isolate;

    width: calc(var(--calendar-icon-size) + (var(--calendar-shell-padding) * 2));

    height: calc(var(--calendar-icon-size) + (var(--calendar-shell-padding) * 2));

    place-items: center;

    padding: var(--calendar-shell-padding);

    border: 0;

    border-radius: var(--calendar-shell-radius);

    background-color: #00000008;

    box-shadow: 1px 1px 2px 0 #fffd, 2px 2px 2px #0001 inset, 2px 2px 4px #0001 inset, 2px 2px 8px #0001 inset;

    color: var(--site-nav-accent);

    cursor: pointer;

    transition: bottom 360ms cubic-bezier(0.16, 1, 0.3, 1), opacity 220ms ease, visibility 220ms ease, transform 280ms cubic-bezier(0.16, 1, 0.3, 1), filter 280ms ease;

  }

  .hero-calendar-trigger::before {

    content: "";

    position: absolute;

    inset: 5px;

    border-radius: calc(var(--calendar-shell-radius) - var(--calendar-shell-padding));

    background: linear-gradient(#fff2, #0001), rgba(255, 255, 255, 0.94);

    box-shadow: 1px 1px 2px -1px #fff inset, 0 2px 1px #00000010, 0 4px 2px #00000010, 0 8px 4px #00000010;

    z-index: 0;

  }

  .hero-calendar-trigger::after {

    content: "";

    position: absolute;

    z-index: 1;

    top: 50%;

    left: 50%;

    width: var(--calendar-icon-size);

    height: var(--calendar-icon-size);

    border-radius: 15px;

    background: linear-gradient(#fff2, #0001), var(--site-nav-primary);

    box-shadow: 1px 1px 2px -1px #fff inset, 0 2px 1px #00000010, 0 4px 2px #00000010, 0 8px 4px #00000010;

    transform: translate(-50%, -50%);

  }

  .hero-calendar-trigger:hover,

  .hero-calendar-trigger:focus-visible,

  .hero-calendar-trigger[aria-expanded="true"] {

    transform: translateY(-2px);

    filter: drop-shadow(4px 0 8px rgba(64, 138, 113, 0.28));

  }

  .hero-calendar-trigger:focus-visible {

    outline: 2px dashed hsla(154, 70%, 40%, 1);

    outline-offset: 5px;

  }

  .hero-calendar-trigger svg {

    position: relative;

    z-index: 2;

    width: 1.42rem;

    height: 1.42rem;

    fill: none;

    stroke: currentColor;

    stroke-linecap: round;

    stroke-linejoin: round;

    stroke-width: 1.65;

  }

  .hero-event-tools {

    position: fixed;

    top: auto;

    right: 1rem;

    bottom: 13.75rem;

    z-index: 83;

    width: min(11.5rem, calc(100vw - 2rem));

    margin: 0;

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    transform: translateY(0.65rem) scale(0.97);

    transform-origin: bottom right;

    transition: bottom 360ms cubic-bezier(0.16, 1, 0.3, 1), opacity 180ms ease, visibility 180ms ease, transform 220ms cubic-bezier(0.16, 1, 0.3, 1);

  }

  .hero-event-tools.is-mobile-open {

    opacity: 1;

    visibility: visible;

    pointer-events: auto;

    transform: none;

  }

  body.hide-floating-actions .hero-calendar-trigger {

    bottom: 5.35rem;

  }

  body.hide-floating-actions .hero-event-tools {

    bottom: 9.45rem;

  }

  body.footer-in-view .hero-calendar-trigger,

  body.footer-in-view .hero-event-tools {

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    transform: translateY(0.75rem) scale(0.97);

  }

  body:not(.hide-floating-actions) .hero-calendar-trigger,

  body:not(.hide-floating-actions) .hero-event-tools {

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    transform: translateY(0.75rem) scale(0.97);

  }

}

@media (prefers-reduced-motion: reduce) {

  .hero-calendar-trigger,

  .hero-event-tools,

  .hero-insight,

  .hero-event-tools__calendar {

    transition: none;

  }

}



.site-nav {

  position: fixed;

  top: 0;

  left: 0;

  right: 0;

  z-index: 90;

  background: transparent;

  font-family: var(--site-nav-body);

}



.site-nav__top {

  width: 100%;

  min-height: clamp(102px, 8.8vw, 136px);

  display: grid;

  grid-template-columns: minmax(210px, 0.76fr) minmax(300px, 1.12fr) minmax(320px, 1.22fr) minmax(150px, 0.48fr);

  align-items: center;

  background: #ffffff;

  color: var(--site-nav-dark);

  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.14);

}



.site-nav__top-cell {

  position: relative;

  min-height: clamp(84px, 6.8vw, 110px);

  padding: clamp(0.6rem, 1.05vw, 0.82rem) clamp(1rem, 2.1vw, 2rem);

}



.site-nav__top-cell + .site-nav__top-cell::before {

  content: "";

  position: absolute;

  left: 0;

  top: 50%;

  z-index: 6;

  width: 1px;

  height: clamp(72px, 5.8vw, 108px);

  background: rgba(9, 20, 19, 0.18);

  transform: translateY(-50%);

  pointer-events: none;

}



.site-nav__brand {

  display: flex;

  align-items: center;

  justify-content: center;

  text-decoration: none;

}



.site-nav__logo {

  display: block;

  width: auto;

  height: clamp(78px, 6.3vw, 106px);

  object-fit: contain;

}



.site-nav__event {

  display: grid;

  align-content: center;

  gap: 0.42rem;

}



.site-nav__event-date {

  margin: 0;

  font-family: var(--site-nav-display);

  font-size: clamp(0.82rem, 0.28vw + 0.76rem, 1rem);

  font-weight: 700;

  line-height: 1.12;

  letter-spacing: 0;

  color: var(--site-nav-dark);

}



.site-nav__event-name {

  margin: 0;

  max-width: 50ch;

  font-family: var(--site-nav-body);

  font-size: clamp(0.62rem, 0.12vw + 0.58rem, 0.72rem);

  font-weight: 700;

  line-height: 1.35;

  letter-spacing: 0.06em;

  text-transform: uppercase;

  color: rgba(9, 20, 19, 0.72);

}



.site-nav__partners {

  display: flex;

  align-items: center;

  justify-content: center;

  align-self: stretch;

  overflow: hidden;

  padding-inline: clamp(0.45rem, 0.9vw, 0.75rem);

}



.site-nav__partners-track {

  position: relative;

  z-index: 1;

  flex: 1 1 auto;

  height: 100%;

  display: flex;

  align-items: center;

  justify-content: center;

  gap: clamp(0.52rem, 1vw, 0.9rem);

}



.site-nav__partner {

  flex: 1 1 0;

  min-width: min(150px, 88%);

  max-width: 220px;

  margin: 0;

  display: grid;

  align-content: center;

  justify-items: center;

  gap: 0.42rem;

  text-align: center;

}



.site-nav__partner figcaption {

  font-size: clamp(0.54rem, 0.12vw + 0.5rem, 0.62rem);

  font-weight: 800;

  line-height: 1.1;

  letter-spacing: 0.1em;

  text-transform: uppercase;

  color: var(--site-nav-primary);

  text-align: center;

}



.site-nav__partner img {

  width: clamp(175px, 15vw, 230px);

  height: clamp(88px, 8vw, 80px);

  padding: clamp(0.0rem, 0.0vw, 0.0rem);

  background: #ffffff;

  object-fit: contain;


}



.site-nav__partners[data-partner-count="2"] .site-nav__partners-track {

  gap: clamp(0.38rem, 0.7vw, 0.68rem);

}



.site-nav__partners[data-partner-count="2"] .site-nav__partner {

  min-width: min(128px, 32%);

  max-width: 178px;

}



.site-nav__partners[data-partner-count="2"] .site-nav__partner img {

  width: clamp(168px, 11vw, 220px);

  height: clamp(84px, 5.8vw, 108px);

}



.site-nav__partners[data-partner-count="2"] .site-nav__partner figcaption {

  min-height: 2.15em;

  display: grid;

  align-items: end;

}



.site-nav__partners--marquee .site-nav__partners-track {

  width: max-content;

  min-width: 100%;

  justify-content: flex-start;

  animation: site-nav-partners-marquee 26s linear infinite;

}



.site-nav__partners--marquee:hover .site-nav__partners-track,

.site-nav__partners--marquee:focus-within .site-nav__partners-track {

  animation-play-state: paused;

}



.site-nav__partners--marquee .site-nav__partner {

  flex: 0 0 clamp(150px, 10vw, 210px);

}



@keyframes site-nav-partners-marquee {

  from {

    transform: translateX(0);

  }



  to {

    transform: translateX(calc(-50% - clamp(0.36rem, 0.68vw, 0.59rem)));

  }

}



@media (prefers-reduced-motion: reduce) {

  .site-nav__partners--marquee .site-nav__partners-track {

    width: 100%;

    min-width: 0;

    flex-wrap: wrap;

    animation: none;

  }

}



.site-nav__actions {

  display: grid;

  align-content: center;

  gap: 0.48rem;

}



.site-nav__bar {

  position: relative;

  min-height: 46px;

  display: flex;

  align-items: center;

  justify-content: center;

  padding: 0 clamp(1rem, 3vw, 2rem);

  background: var(--site-nav-primary);

  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.2);

  transition:

    min-height 320ms ease,

    padding 320ms ease,

    background-color 260ms ease,

    box-shadow 260ms ease;

}



.site-nav__menu {

  justify-self: center;

  display: flex;

  flex-wrap: wrap;

  align-items: center;

  justify-content: center;

  gap: clamp(1rem, 2.1vw, 2rem);

  transition:

    gap 320ms ease,

    transform 320ms ease;

}



.site-nav__link {

  margin: 0;

  font-family: var(--site-nav-body);

  font-size: clamp(0.74rem, 0.14vw + 0.72rem, 0.86rem);

  font-weight: 800;

  line-height: 1;

  letter-spacing: 0.08em;

  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.96);

  text-decoration: none;

  transition: color 220ms ease;

}



.site-nav__link:hover,

.site-nav__link:focus-visible {

  color: var(--site-nav-accent);

}



.site-nav__cta,

.site-nav__bar-cta {

  --site-nav-cta-padding: 6px;

  --site-nav-cta-radius: 18px;

  position: relative;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  border: 0;

  border-radius: var(--site-nav-cta-radius);

  padding: var(--site-nav-cta-padding);

  background-color: #00000008;

  box-shadow:

    1px 1px 2px 0 #fffd,

    2px 2px 2px #0001 inset,

    2px 2px 4px #0001 inset,

    2px 2px 8px #0001 inset;

  font-family: var(--site-nav-body);

  font-weight: 800;

  line-height: 1;

  letter-spacing: 0.06em;

  text-transform: uppercase;

  color: #ffffff;

  text-decoration: none;

  white-space: nowrap;

  overflow: hidden;

  transition:

    transform 0.25s cubic-bezier(0.25, 1.5, 0.5, 2.2),

    filter 0.3s cubic-bezier(0.25, 1.5, 0.5, 1);

  will-change: transform, filter;

}



.site-nav__cta span,

.site-nav__bar-cta span {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  min-width: 100%;

  height: 100%;

  border-radius: calc(var(--site-nav-cta-radius) - var(--site-nav-cta-padding));

  padding: 0.12rem 1.45rem;

  background: linear-gradient(#fff2, #0001), var(--site-nav-primary);

  box-shadow:

    1px 1px 2px -1px #fff inset,

    0 2px 1px #00000010,

    0 4px 2px #00000010,

    0 8px 4px #00000010;

  color: #ffffff;

  transition:

    background 0.25s ease,

    color 0.25s ease;

}



.site-nav__cta {

  height: 48px;

  font-size: clamp(0.64rem, 0.12vw + 0.6rem, 0.74rem);

}



.site-nav__bar-cta {

  height: 40px;

  --site-nav-cta-padding: 5px;

  --site-nav-cta-radius: 15px;

  font-size: 0.74rem;

}



.site-nav__cta--booth span,

.site-nav__bar-cta--booth span {

  background: linear-gradient(#fff2, #0001), var(--site-nav-accent);

  color: var(--site-nav-dark);

}



.site-nav__cta:hover,

.site-nav__cta:focus-visible,

.site-nav__bar-cta:hover,

.site-nav__bar-cta:focus-visible {

  transform: translate3d(0, -1px, 2px);

  filter: drop-shadow(4px 0 6px hsla(154, 65%, 55%, 0.35));

}



.site-nav__cta:hover span,

.site-nav__cta:focus-visible span,

.site-nav__bar-cta:hover span,

.site-nav__bar-cta:focus-visible span {

  background: linear-gradient(#fff2, #0001), #408a71;

  color: #ffffff;

}



.site-nav__cta--booth:hover span,

.site-nav__cta--booth:focus-visible span,

.site-nav__bar-cta--booth:hover span,

.site-nav__bar-cta--booth:focus-visible span {

  background: linear-gradient(#fff2, #0001), #9ed8bd;

  color: var(--site-nav-dark);

}



.site-nav__cta:active,

.site-nav__bar-cta:active {

  transform: translate3d(0, 0, -2px);

}



.site-nav__cta:focus-visible,

.site-nav__bar-cta:focus-visible {

  outline: 2px dashed hsla(154, 70%, 40%, 1);

  outline-offset: 4px;

}



.site-nav__bar-actions {

  display: none;

  align-items: center;

  gap: 0.54rem;

  opacity: 0;

  transition:

    opacity 220ms ease,

    transform 320ms ease;

}



.site-nav__toggle {

  display: none;

  width: 2.5rem;

  height: 2.18rem;

  padding: 0.32rem 0.4rem;

  border: 1px solid rgba(40, 90, 72, 0.28);

  background: rgba(40, 90, 72, 0.08);

  align-items: center;

  align-content: center;

  justify-content: center;

  place-items: center;

  place-content: center;

  margin: 0;

  line-height: 0;

  gap: 0.26rem;

  cursor: pointer;

}



.site-nav__bar-toggle {

  display: none;

}



.site-nav__toggle-line {

  display: block;

  width: 1.36rem;

  height: 1px;

  background: var(--site-nav-primary);

  transition:

    transform 180ms ease,

    opacity 180ms ease;

}



@media (min-width: 993px) {

  .site-nav__top {

    max-height: 180px;

    overflow: hidden;

    transform: translateY(0);

    transition:

      max-height 280ms ease,

      min-height 280ms ease,

      opacity 220ms ease,

      transform 280ms ease,

      box-shadow 220ms ease;

  }



  .site-nav.is-compact .site-nav__top {

    min-height: 0;

    max-height: 0;

    opacity: 0;

    pointer-events: none;

    transform: translateY(-100%);

    box-shadow: none;

  }



  .site-nav.is-compact .site-nav__bar {

    min-height: 72px;

    justify-content: flex-start;

    padding-left: clamp(2rem, 5vw, 4.5rem);

    padding-right: clamp(18rem, 22vw, 24rem);

    background: var(--site-nav-primary);

    box-shadow: 0 14px 34px rgba(5, 12, 22, 0.32);

  }



  .site-nav.is-compact .site-nav__menu {

    gap: clamp(0.7rem, 1.4vw, 1.2rem);

    justify-content: flex-start;

  }



  .site-nav.is-compact .site-nav__link:hover,

  .site-nav.is-compact .site-nav__link:focus-visible {

    color: var(--site-nav-accent);

  }



  .site-nav.is-compact .site-nav__bar-actions {

    position: absolute;

    top: 50%;

    right: clamp(1rem, 3vw, 2rem);

    display: flex;

    align-items: center;

    opacity: 1;

    transform: translateY(-50%);

  }



  .site-nav.is-compact .site-nav__bar-cta {

    height: 44px;

    min-height: 0;

    --site-nav-cta-padding: 5px;

    --site-nav-cta-radius: 16px;

  }

}



@media (max-width: 992px) {

  .site-nav__top {

    grid-template-columns: minmax(150px, 0.64fr) minmax(0, 1fr) auto;

    min-height: 0;

    max-height: 360px;

    overflow: hidden;

    transform: translateY(0);

    transition:

      max-height 280ms ease,

      opacity 220ms ease,

      transform 280ms ease,

      box-shadow 220ms ease;

  }



  .site-nav__top-cell {

    min-height: 0;

    padding: 0.68rem clamp(0.9rem, 2.4vw, 1.4rem);

  }



  .site-nav__top-cell + .site-nav__top-cell::before {

    display: none;

  }



  .site-nav__brand {

    grid-row: 1 / 3;

    justify-content: flex-start;

  }



  .site-nav__event {

    grid-column: 2;

    transform: translateY(4px);

  }



  .site-nav__event-name {

    display: none;

  }



  .site-nav__actions {

    grid-column: 1 / -1;

    grid-row: 3;

    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: 0.5rem;

  }



  .site-nav__partners {

    grid-column: 1 / -1;

    grid-row: 4;

    display: flex;

    border-top: 1px solid rgba(9, 20, 19, 0.12);

    padding-top: 0.56rem;

    padding-bottom: 0.58rem;

  }



  .site-nav__partners-track {

    flex-wrap: wrap;

    gap: 0.7rem;

  }



  .site-nav__partners--marquee .site-nav__partners-track {

    width: 100%;

    min-width: 0;

    animation: none;

  }



  .site-nav__partner {

    flex: 1 1 130px;

  }



  .site-nav__partner figcaption {

    font-size: 0.62rem;

  }



  .site-nav__partner img {

    width: clamp(138px, 42vw, 164px);

    height: clamp(70px, 21vw, 84px);

    max-width: none;

  }



  .site-nav__bar {

    display: block;

    min-height: 0;

    padding: 0 clamp(1rem, 3vw, 1.4rem);

  }



  .site-nav__toggle {

    grid-column: 3;

    grid-row: 1 / 3;

    display: grid;

    align-self: center;

    justify-self: end;

  }



  .site-nav__bar-toggle {

    display: none;

  }



  .site-nav__menu {

    display: grid;

    grid-template-columns: 1fr;

    gap: 0;

    justify-items: start;

    width: min(720px, 100%);

    margin-inline: auto;

  }



  .js-enabled .site-nav__menu {

    max-height: 0;

    opacity: 0;

    overflow: hidden;

    transform: translateY(-8px);

    transition:

      max-height 220ms ease,

      opacity 180ms ease,

      transform 180ms ease,

      padding 180ms ease;

    padding: 0;

    border-top: 0;

    margin-top: 0;

  }



  .js-enabled .site-nav.is-open .site-nav__menu {

    max-height: 560px;

    opacity: 1;

    transform: none;

    padding: 0.62rem 0 0.86rem;

  }



  .site-nav__link {

    display: block;

    width: 100%;

    padding: 0.54rem 0;

    border-bottom: 1px solid rgba(255, 255, 255, 0.14);

    font-size: 0.9rem;

  }



  .site-nav__cta {

    height: 42px;

    font-size: clamp(0.7rem, 0.2vw + 0.68rem, 0.78rem);

  }



  .site-nav.is-open .site-nav__toggle-line:nth-child(1) {

    transform: translateY(0.37rem) rotate(45deg);

  }



  .site-nav.is-open .site-nav__toggle-line:nth-child(2) {

    opacity: 0;

  }



  .site-nav.is-open .site-nav__toggle-line:nth-child(3) {

    transform: translateY(-0.37rem) rotate(-45deg);

  }



  .site-nav.is-compact .site-nav__top {

    max-height: 0;

    opacity: 0;

    pointer-events: none;

    transform: translateY(-100%);

    box-shadow: none;

  }



  .site-nav.is-compact .site-nav__bar {

    min-height: 58px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 0.6rem;

    padding: 0.58rem clamp(0.82rem, 4vw, 1.1rem);

    background: var(--site-nav-primary);

  }



  .site-nav.is-compact .site-nav__bar-actions {

    display: flex;

    flex: 1 1 auto;

    min-width: 0;

    opacity: 1;

  }



  .site-nav.is-compact .site-nav__bar-cta {

    height: 40px;

    min-height: 0;

    flex: 1 1 0;

    font-size: clamp(0.68rem, 2.2vw, 0.76rem);

    text-align: center;

  }



  .site-nav.is-compact .site-nav__bar-toggle {

    position: relative;

    grid-column: auto;

    grid-row: auto;

    display: grid;

    flex: 0 0 auto;

    border-color: rgba(255, 255, 255, 0.28);

    background: rgba(255, 255, 255, 0.08);

  }



  .site-nav.is-compact .site-nav__bar-toggle .site-nav__toggle-line {

    background: #ffffff;

  }



  .site-nav.is-compact .site-nav__menu {

    position: absolute;

    left: 0;

    right: 0;

    top: 100%;

    width: 100%;

    padding-inline: clamp(0.82rem, 4vw, 1.1rem);

    background: var(--site-nav-primary);

    box-shadow: 0 18px 34px rgba(5, 12, 22, 0.28);

  }

}



@media (max-width: 992px) {

  .site-nav__actions {

    display: none;

  }

  .site-nav__partners {

    grid-row: 3;

    padding-top: 0.4rem;

    padding-bottom: 0.48rem;

  }

  .site-nav__logo {

    height: clamp(66px, 18vw, 86px);

  }

  .site-nav__event {

    grid-row: 1 / 3;

    align-self: center;

    transform: translateY(4px);

  }



  .site-nav__event-date {

    font-size: clamp(0.72rem, 3.1vw, 0.86rem);

    line-height: 1.1;

  }

}

@media (min-width: 641px) and (max-width: 992px) {

  .site-nav__event-date {

    font-size: 1.14rem;

  }

}



.hero-insight {

  position: fixed;

  right: clamp(1rem, 4vw, 3rem);

  bottom: clamp(1rem, 4vw, 2.6rem);

  z-index: 80;

  display: flex;

  align-items: flex-end;

  justify-content: flex-end;

  font-family: "Inter Tight", sans-serif;

  transition: bottom 360ms cubic-bezier(0.16, 1, 0.3, 1), opacity 220ms ease, visibility 220ms ease, transform 220ms ease;

}



.hero-insight-trigger {

  --insight-shell-padding: 8px;

  --insight-shell-radius: 22px;

  --insight-icon-size: 2.78rem;

  position: relative;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 0.72rem;

  min-height: calc(var(--insight-icon-size) + (var(--insight-shell-padding) * 2));

  padding: var(--insight-shell-padding) 1.12rem var(--insight-shell-padding) var(--insight-shell-padding);

  border: 0;

  border-radius: var(--insight-shell-radius);

  background-color: #00000008;

  color: #091413;

  cursor: pointer;

  box-shadow: 1px 1px 2px 0 #fffd, 2px 2px 2px #0001 inset, 2px 2px 4px #0001 inset, 2px 2px 8px #0001 inset;

  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), filter 0.28s ease;

}



.hero-insight-trigger::before {

  content: "";

  position: absolute;

  inset: 5px;

  border-radius: calc(var(--insight-shell-radius) - var(--insight-shell-padding));

  background: linear-gradient(#fff2, #0001), rgba(255, 255, 255, 0.94);

  box-shadow: 1px 1px 2px -1px #fff inset, 0 2px 1px #00000010, 0 4px 2px #00000010, 0 8px 4px #00000010;

  z-index: 0;

}



.hero-insight-trigger:hover,

.hero-insight-trigger:focus-visible {

  transform: translateY(-2px);

  filter: drop-shadow(4px 0 8px rgba(64, 138, 113, 0.28));

}



.hero-insight-trigger:focus-visible {

  outline: 2px dashed hsla(154, 70%, 40%, 1);

  outline-offset: 5px;

}



.hero-insight-icon,

.hero-insight-label {

  position: relative;

  z-index: 1;

}



.hero-insight-icon {

  display: inline-grid;

  place-items: center;

  flex: 0 0 auto;

  width: var(--insight-icon-size);

  height: var(--insight-icon-size);

  border-radius: 15px;

  color: #b0e4cc;

  background: linear-gradient(#fff2, #0001), #285a48;

  box-shadow: 1px 1px 2px -1px #fff inset, 0 2px 1px #00000010, 0 4px 2px #00000010, 0 8px 4px #00000010;

  overflow: hidden;

}



.hero-insight-icon::before {

  content: "";

  position: absolute;

  inset: -35%;

  background: conic-gradient(from 0deg, rgba(176, 228, 204, 0), rgba(176, 228, 204, 0.46), rgba(176, 228, 204, 0));

  animation: insight-sweep 2.6s linear infinite;

}



.hero-insight-icon svg {

  position: relative;

  z-index: 1;

  width: 1.62rem;

  height: 1.62rem;

  fill: none;

  stroke: currentColor;

  stroke-width: 1.8;

  stroke-linecap: round;

  stroke-linejoin: round;

}



.hero-insight-bulb {

  animation: insight-bulb-glow 2.2s ease-in-out infinite;

}



.hero-insight-label {

  display: block;

  font-family: "Merriweather", serif;

  font-size: 1rem;

  font-weight: 700;

  letter-spacing: 0;

  line-height: 1.08;

  white-space: nowrap;

  color: #285a48;

  text-align: left;

  transform: translateY(-0.02em);

}



.hero-insight-panel {

  position: absolute;

  right: 0;

  bottom: calc(100% + 0.75rem);

  width: min(22.5rem, calc(100vw - 2rem));

  padding: 1rem 1.05rem;

  border: 1px solid rgba(9, 20, 19, 0.1);

  border-radius: 18px;

  background:

    radial-gradient(rgba(64, 138, 113, 0.1) 0.85px, transparent 0.85px) 0 0 / 10px 10px,

    rgba(255, 255, 255, 0.96);

  box-shadow: 0 18px 44px rgba(9, 20, 19, 0.16), 1px 1px 2px 0 #fffd, 2px 2px 2px #0001 inset, 2px 2px 4px #0001 inset, 2px 2px 8px #0001 inset;

  text-align: left;

  opacity: 0;

  visibility: hidden;

  transform: translateY(10px) scale(0.98);

  transform-origin: bottom right;

  transition: opacity 0.24s ease, visibility 0.24s ease, transform 0.24s cubic-bezier(0.16, 1, 0.3, 1);

  pointer-events: none;

}



.hero-insight-panel::after {

  content: "";

  position: absolute;

  right: 1.4rem;

  bottom: -0.42rem;

  width: 0.84rem;

  height: 0.84rem;

  border-right: 1px solid rgba(9, 20, 19, 0.1);

  border-bottom: 1px solid rgba(9, 20, 19, 0.1);

  background: rgba(255, 255, 255, 0.96);

  transform: rotate(45deg);

}



.hero-insight:hover .hero-insight-panel,

.hero-insight:focus-within .hero-insight-panel {

  opacity: 1;

  visibility: visible;

  transform: translateY(0) scale(1);

  pointer-events: auto;

}



.hero-insight-title {

  margin: 0 0 0.58rem;

  font-family: "Merriweather", serif;

  font-size: 1.12rem;

  line-height: 1.2;

  font-weight: 700;

  color: #285a48;

}



.hero-insight-panel p {

  margin: 0;

  font-size: 0.86rem;

  line-height: 1.52;

  font-weight: 500;

  color: rgba(9, 20, 19, 0.78);

}



.hero-insight-panel p + p {

  margin-top: 0.62rem;

}



.hero-insight-panel strong {

  color: #091413;

  font-weight: 800;

}



@keyframes insight-sweep {

  to {

    transform: rotate(360deg);

  }

}



@keyframes insight-bulb-glow {

  0%,

  100% {

    stroke: #b0e4cc;

  }

  50% {

    stroke: #ffffff;

  }

}



@media (max-width: 767px) {

  .hero-insight {

    right: 1rem;

    bottom: 5.25rem;

  }

  body.hide-floating-actions .hero-insight {

    bottom: 0.9rem;

  }

  body.footer-in-view .hero-insight {

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    transform: translateY(0.75rem);

  }



  .hero-insight-trigger {

    --insight-shell-padding: 7px;

    --insight-icon-size: 2.42rem;

    min-height: calc(var(--insight-icon-size) + (var(--insight-shell-padding) * 2));

    width: calc(var(--insight-icon-size) + (var(--insight-shell-padding) * 2));

    padding: var(--insight-shell-padding);

  }



  .hero-insight-icon {

    width: var(--insight-icon-size);

    height: var(--insight-icon-size);

  }



  .hero-insight-label {

    display: none;

  }



  .hero-insight-panel {

    width: min(20.5rem, calc(100vw - 2rem));

    padding: 0.92rem;

  }

}

@media (min-width: 768px) and (max-width: 992px) {

  .hero-insight-trigger {

    --insight-shell-padding: 7px;

    --insight-icon-size: 2.42rem;

    width: calc(var(--insight-icon-size) + (var(--insight-shell-padding) * 2));

    min-height: calc(var(--insight-icon-size) + (var(--insight-shell-padding) * 2));

    padding: var(--insight-shell-padding);

  }

  .hero-insight-icon {

    width: var(--insight-icon-size);

    height: var(--insight-icon-size);

  }

  .hero-insight-label {

    display: none;

  }

}



.hero-action-strip {

  position: fixed;

  inset: 0;

  z-index: 70;

  padding: 0;

  background: transparent;

  pointer-events: none;

  opacity: 1;

  visibility: visible;

  transition: opacity 0.24s ease, visibility 0.24s ease;

}



.hero-action-strip::before {

  content: none;

}



.hero-action-strip-inner {

  position: absolute;

  inset: 0;

  pointer-events: none;

}



.hero-action-pill {

  --action-shell-padding: 7px;

  --action-shell-radius: 28px;

  --action-core: #285a48;

  --action-text: #091413;

  --action-expanded-width: 15rem;

  position: fixed;

  top: 50%;

  isolation: isolate;

  display: inline-flex;

  align-items: center;

  width: calc(3.35rem + (var(--action-shell-padding) * 2));

  min-width: 0;

  max-width: min(var(--action-expanded-width), calc(50vw - 2rem));

  min-height: calc(3.35rem + (var(--action-shell-padding) * 2));

  padding: var(--action-shell-padding);

  border-radius: var(--action-shell-radius);

  background-color: #00000008;

  color: var(--action-text);

  text-decoration: none;

  box-shadow: 1px 1px 2px 0 #fffd, 2px 2px 2px #0001 inset, 2px 2px 4px #0001 inset, 2px 2px 8px #0001 inset;

  overflow: hidden;

  pointer-events: auto;

  transform: translateY(-50%);

  transition: width 0.48s cubic-bezier(0.65, 0, 0.076, 1), transform 0.28s cubic-bezier(0.25, 1.5, 0.5, 2.2), filter 0.28s ease;

}



.hero-action-pill::before {

  content: "";

  position: absolute;

  inset: var(--action-shell-padding);

  border-radius: calc(var(--action-shell-radius) - var(--action-shell-padding));

  background:

    linear-gradient(120deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0.06) 38%, rgba(9, 20, 19, 0.1)),

    rgba(255, 255, 255, 0.92);

  box-shadow: 1px 1px 2px -1px #fff inset, 0 2px 1px #00000010, 0 4px 2px #00000010, 0 8px 4px #00000010;

  z-index: -1;

}



.hero-action-pill::after {

  content: "";

  position: absolute;

  inset: calc(var(--action-shell-padding) + 1px);

  border-radius: calc(var(--action-shell-radius) - var(--action-shell-padding) - 1px);

  background-image:

    linear-gradient(90deg, rgba(40, 90, 72, 0.5), rgba(176, 228, 204, 0.06), rgba(40, 90, 72, 0.45)),

    radial-gradient(rgba(40, 90, 72, 0.14) 1px, transparent 1px);

  background-size: 100% 1px, 7px 7px;

  background-position: 0 100%, 0 0;

  background-repeat: no-repeat, repeat;

  opacity: 0.74;

  z-index: -1;

}



.hero-action-pill--request {

  --action-expanded-width: 18.9rem;

  right: clamp(0.7rem, 1.8vw, 1.35rem);

  flex-direction: row;

  justify-content: flex-end;

}



.hero-action-pill--boss {

  --action-expanded-width: 15.55rem;

  left: clamp(0.7rem, 1.8vw, 1.35rem);

  flex-direction: row;

  justify-content: flex-start;

}



.hero-action-pill:hover,

.hero-action-pill:focus-visible {

  width: min(var(--action-expanded-width), calc(50vw - 2rem));

  transform: translateY(-50%) translate3d(0, -2px, 2px);

  filter: drop-shadow(6px 0 10px rgba(64, 138, 113, 0.26));

}



.hero-action-pill:focus-visible {

  outline: 2px dashed hsla(154, 70%, 40%, 1);

  outline-offset: 6px;

}



.hero-action-label {

  position: relative;

  z-index: 1;

  display: inline-flex;

  align-items: center;

  min-width: 0;

  max-width: 0;

  opacity: 0;

  overflow: hidden;

  font-family: "Inter Tight", sans-serif;

  font-size: clamp(0.72rem, 1.05vw, 0.82rem);

  font-weight: 700;

  letter-spacing: 0.07em;

  line-height: 1.15;

  text-transform: uppercase;

  color: #091413;

  white-space: nowrap;

  transition: max-width 0.48s cubic-bezier(0.65, 0, 0.076, 1), opacity 0.22s ease;

}



.hero-action-pill--boss .hero-action-label {

  margin-left: 0;

}



.hero-action-pill--request .hero-action-label {

  margin-right: 0;

}



.hero-action-pill:hover .hero-action-label,

.hero-action-pill:focus-visible .hero-action-label {

  max-width: 17rem;

  opacity: 1;

}



.hero-action-pill--boss:hover .hero-action-label,

.hero-action-pill--boss:focus-visible .hero-action-label {

  margin-left: 0.58rem;

}



.hero-action-pill--request:hover .hero-action-label,

.hero-action-pill--request:focus-visible .hero-action-label {

  margin-right: 0.58rem;

}



.hero-action-icon {

  position: relative;

  z-index: 1;

  display: inline-grid;

  place-items: center;

  flex: 0 0 auto;

  width: 3.35rem;

  height: 3.35rem;

  border-radius: calc(var(--action-shell-radius) - var(--action-shell-padding));

  color: #b0e4cc;

  background:

    radial-gradient(circle at 32% 24%, rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0) 42%),

    linear-gradient(#fff2, #0001),

    var(--action-core);

  box-shadow: 1px 1px 2px -1px #fff inset, 0 2px 1px #00000010, 0 4px 2px #00000010, 0 8px 4px #00000010;

  overflow: hidden;

}



body.hide-floating-actions .hero-action-strip {

  opacity: 0;

  visibility: hidden;

}



body.hide-floating-actions .hero-action-pill {

  pointer-events: none;

}



.hero-action-icon::before {

  content: "";

  position: absolute;

  inset: -38%;

  background: conic-gradient(from 0deg, rgba(176, 228, 204, 0), rgba(176, 228, 204, 0.4), rgba(176, 228, 204, 0));

  opacity: 0;

  transition: opacity 0.25s ease;

  animation: insight-sweep 2.9s linear infinite;

}



.hero-action-pill:hover .hero-action-icon::before,

.hero-action-pill:focus-visible .hero-action-icon::before {

  opacity: 1;

}



.hero-action-icon svg {

  position: relative;

  z-index: 1;

  width: 1.45rem;

  height: 1.45rem;

  fill: none;

  stroke: currentColor;

  stroke-width: 1.8;

  stroke-linecap: round;

  stroke-linejoin: round;

}



@media (max-width: 767px) {

  .hero-action-pill {

    top: auto;

    bottom: 1rem;

    z-index: 40;

  }

  .hero-action-pill--request {

    right: 1rem;

    bottom: 1rem;

  }



  .hero-action-pill {

    width: calc(3rem + (var(--action-shell-padding) * 2));

    max-width: calc(100vw - 2.5rem);

    min-height: calc(3rem + (var(--action-shell-padding) * 2));

    transform: none;

  }



  .hero-action-pill:hover,

  .hero-action-pill:focus-visible {

    width: min(var(--action-expanded-width), calc(100vw - 2.5rem));

    transform: translateY(-2px);

    z-index: 50;

  }



  .hero-action-icon {

    width: 3rem;

    height: 3rem;

  }

}



@media (max-width: 430px) {

  .hero-action-label {

    font-size: 0.76rem;

  }

}



/* Animations */

.fade-in-up {

  opacity: 0;

  transform: translateY(30px);

  transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1), transform 1s cubic-bezier(0.16, 1, 0.3, 1);

}



.fade-in-up.visible {

  opacity: 1;

  transform: translateY(0);

}



.delay-100 { transition-delay: 100ms; }

.delay-200 { transition-delay: 200ms; }

.delay-300 { transition-delay: 300ms; }



.site-nav-logo {

  display: block;

  width: clamp(15rem, 22vw, 20rem);

  height: auto;

  object-fit: contain;

}



.nav-cutout-wrap {

  --nav-height: 44px;

  --nav-padding: 6px;

  --nav-radius: 18px;

  position: relative;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  height: var(--nav-height);

  padding: var(--nav-padding);

  border-radius: var(--nav-radius);

  background-color: #00000008;

  box-shadow: 1px 1px 2px 0 #fffd, 2px 2px 2px #0001 inset, 2px 2px 4px #0001 inset, 2px 2px 8px #0001 inset;

}



.nav-cutout {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  height: 100%;

  border-radius: calc(var(--nav-radius) - var(--nav-padding));

  padding: 0 1rem;

  font-family: "Inter Tight", sans-serif;

  font-size: 0.78rem;

  font-weight: 700;

  letter-spacing: 0.01em;

  text-transform: uppercase;

  text-decoration: none;

  white-space: nowrap;

  box-shadow: 1px 1px 2px -1px #fff inset, 0 2px 1px #00000010, 0 4px 2px #00000010, 0 8px 4px #00000010;

  transition: transform 0.25s cubic-bezier(0.25, 1.5, 0.5, 2.2), filter 0.3s cubic-bezier(0.25, 1.5, 0.5, 1), color 0.25s ease, background 0.25s ease;

  will-change: transform, filter;

}



.nav-cutout-register {

  color: #ffffff;

  background: linear-gradient(#fff2, #0001), #285a48;

}



.nav-cutout-wrap:hover .nav-cutout,

.nav-cutout:focus-visible {

  transform: translate3d(0, -1px, 2px);

  filter: drop-shadow(4px 0 6px hsla(154, 65%, 55%, 0.35));

}



.nav-cutout-wrap:active .nav-cutout {

  transform: translate3d(0, 0, -2px);

}



.nav-cutout:focus-visible {

  outline: 2px dashed hsla(154, 70%, 40%, 1);

  outline-offset: 4px;

}



.nav-menu-toggle {

  --menu-width: 68px;

  --menu-height: 50px;

  --menu-padding: 6px;

  --menu-radius: 18px;

  position: relative;

  width: var(--menu-width);

  height: var(--menu-height);

  border: none;

  border-radius: var(--menu-radius);

  padding: var(--menu-padding);

  background-color: #00000008;

  box-shadow: 1px 1px 2px 0 #fffd, 2px 2px 2px #0001 inset, 2px 2px 4px #0001 inset, 2px 2px 8px #0001 inset;

  cursor: pointer;

}



.nav-menu-toggle::before {

  content: "";

  position: absolute;

  inset: var(--menu-padding);

  border-radius: calc(var(--menu-radius) - var(--menu-padding));

  background: linear-gradient(#fff2, #0001), #091413;

  box-shadow: 1px 1px 2px -1px #fff inset, 0 2px 1px #00000010, 0 4px 2px #00000010, 0 8px 4px #00000010;

}



.nav-menu-icon {

  position: relative;

  z-index: 1;

  width: 16px;

  height: 12px;

  margin: auto;

  display: flex;

  flex-direction: column;

  justify-content: space-between;

}



.nav-menu-icon span {

  display: block;

  height: 2px;

  border-radius: 999px;

  background-color: #b0e4cc;

  transform-origin: center;

  transition: transform 0.25s ease, opacity 0.2s ease;

}



.nav-menu-toggle[aria-expanded="true"] .nav-menu-icon span:nth-child(1) {

  transform: translateY(5px) rotate(45deg);

}



.nav-menu-toggle[aria-expanded="true"] .nav-menu-icon span:nth-child(2) {

  opacity: 0;

}



.nav-menu-toggle[aria-expanded="true"] .nav-menu-icon span:nth-child(3) {

  transform: translateY(-5px) rotate(-45deg);

}



.mobile-menu {

  position: fixed;

  top: 72px;

  left: 1rem;

  right: 1rem;

  z-index: 45;

  opacity: 0;

  transform: translateY(-10px) scale(0.985);

  transform-origin: top center;

  pointer-events: none;

  transition: opacity 0.25s ease, transform 0.25s ease;

}



.mobile-menu.is-open {

  opacity: 1;

  transform: translateY(0) scale(1);

  pointer-events: auto;

}



.mobile-menu-inner {

  display: flex;

  flex-direction: column;

  gap: 0.15rem;

  padding: 0.9rem;

  border-radius: 18px;

  border: 1px solid rgba(9, 20, 19, 0.1);

  background: rgba(255, 255, 255, 0.93);

  backdrop-filter: blur(14px);

  box-shadow: 0 12px 26px rgba(9, 20, 19, 0.16);

}



.mobile-menu-link {

  display: block;

  padding: 0.72rem 0.8rem;

  border-radius: 12px;

  color: #091413;

  font-family: "Inter Tight", sans-serif;

  font-size: 0.96rem;

  font-weight: 650;

  text-decoration: none;

  transition: background-color 0.2s ease, color 0.2s ease;

}



.mobile-menu-link:hover,

.mobile-menu-link:focus-visible {

  background-color: rgba(40, 90, 72, 0.12);

  color: #285a48;

}



.mobile-menu .nav-cutout-wrap {

  margin-top: 0.55rem;

  width: fit-content;

}



body.menu-open {

  overflow: hidden;

}



.site-footer {

  --footer-ink: #ffffff;

  --footer-green: #ffffff;

  position: relative;

  isolation: isolate;

  margin-top: auto;

  padding: clamp(3rem, 5vw, 4rem) clamp(1.25rem, 2vw, 2rem) 2.5rem;

  color: rgba(255, 255, 255, 0.95);

  background: #050a09 url("assets/images/footer.webp") center center / cover no-repeat;

  display: block;

  border-top: 0;

  overflow: hidden;

}



@media (max-width: 1024px) {

  .site-footer {

    padding-top: 3rem;

  }

}



.site-footer::before {

  content: none;

}



.site-footer::after {

  content: "";

  position: absolute;

  inset: 0;

  background: rgba(5, 10, 9, 0.85);

  pointer-events: none;

  z-index: 0;

}



@media (max-width: 767px) {

  .site-footer::after {

    background: rgba(5, 10, 9, 0.88);

  }

}



.site-footer-inner {

  position: relative;

  z-index: 2;

  width: min(100%, 84rem);

  margin: 0 auto;

}



.site-footer-grid {

  display: grid;

  grid-template-columns: 1.2fr 1fr 0.8fr;

  gap: clamp(2rem, 4vw, 5rem);

  align-items: start;

  padding-bottom: clamp(2rem, 4.5vw, 4rem);

}



.site-footer-eyebrow {

  margin: 0 0 0.75rem;

  font-family: "Inter Tight", sans-serif;

  font-size: 0.68rem;

  font-weight: 800;

  letter-spacing: 0.16em;

  line-height: 1.2;

  text-transform: uppercase;

  color: #ffffff;

}



.site-footer-company {

  display: grid;

  justify-items: start;

  gap: 0.72rem;

}



.site-footer-company .site-footer-eyebrow {

  margin-bottom: 0;

}



.site-footer-company p:not(.site-footer-eyebrow) {

  margin: 0;

  max-width: 23rem;

  font-family: "Inter Tight", sans-serif;

  font-size: clamp(0.8rem, 1vw, 0.88rem);

  line-height: 1.55;

  font-weight: 500;

  color: rgba(255, 255, 255, 0.9);

}



.site-footer-socials {

  display: grid;

  gap: 0.55rem;

  margin-top: 0.28rem;

  font-family: "Inter Tight", sans-serif;

}



.site-footer-website {

  width: fit-content;

  color: rgba(255, 255, 255, 0.82);

  font-size: 0.76rem;

  line-height: 1.2;

  font-weight: 500;

  text-decoration: none;

  border-bottom: 1px solid rgba(255, 255, 255, 0.42);

  transition: color 0.2s ease, border-color 0.2s ease;

}



.site-footer-social-links {

  display: flex;

  flex-wrap: wrap;

  gap: 0.42rem 0.72rem;

}



.site-footer-social-links a {

  color: rgba(255, 255, 255, 0.76);

  font-size: 0.72rem;

  line-height: 1.25;

  font-weight: 650;

  text-decoration: none;

  transition: color 0.2s ease, transform 0.2s ease;

}



.site-footer-website:hover,

.site-footer-website:focus-visible,

.site-footer-social-links a:hover,

.site-footer-social-links a:focus-visible {

  color: #ffffff;

  border-color: #ffffff;

}



.site-footer-social-links a:hover,

.site-footer-social-links a:focus-visible {

  transform: translateY(-1px);

}



.site-footer-website:focus-visible,

.site-footer-social-links a:focus-visible {

  outline: 1px solid rgba(255, 255, 255, 0.5);

  outline-offset: 4px;

}



.site-footer-logo-cutout {

  --footer-logo-shell-padding: 5px;

  position: relative;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  box-sizing: border-box;

  isolation: isolate;

  width: min(100%, 10.2rem);

  padding: var(--footer-logo-shell-padding);

  border: 1px solid rgba(255, 255, 255, 0.18);

  background-color: rgba(0, 0, 0, 0.14);

  box-shadow:

    1px 1px 2px 0 rgba(255, 255, 255, 0.28),

    2px 2px 2px rgba(0, 0, 0, 0.28) inset,

    2px 2px 4px rgba(0, 0, 0, 0.22) inset,

    2px 2px 8px rgba(0, 0, 0, 0.2) inset;

  overflow: hidden;

}



.site-footer-logo-cutout::before {

  content: "";

  position: absolute;

  inset: var(--footer-logo-shell-padding);

  background: linear-gradient(rgba(255, 255, 255, 0.04), rgba(0, 0, 0, 0.08));

  box-shadow:

    1px 1px 2px -1px rgba(255, 255, 255, 0.45) inset,

    0 2px 1px rgba(0, 0, 0, 0.18),

    0 4px 2px rgba(0, 0, 0, 0.14),

    0 8px 4px rgba(0, 0, 0, 0.1);

  pointer-events: none;

  z-index: 0;

}



.site-footer-logo-cutout::after {

  content: "";

  position: absolute;

  inset: calc(var(--footer-logo-shell-padding) + 1px);

  background-image: radial-gradient(rgba(64, 138, 113, 0.38) 1.1px, transparent 1.1px);

  background-size: 6px 6px;

  background-position: 0 0;

  opacity: 0.16;

  mask-image: radial-gradient(circle at 85% 28%, rgba(9, 20, 19, 0.28) 0%, rgba(9, 20, 19, 0.17) 30%, rgba(9, 20, 19, 0.06) 60%, rgba(9, 20, 19, 0) 88%);

  -webkit-mask-image: radial-gradient(circle at 85% 28%, rgba(9, 20, 19, 0.28) 0%, rgba(9, 20, 19, 0.17) 30%, rgba(9, 20, 19, 0.06) 60%, rgba(9, 20, 19, 0) 88%);

  animation: event-dots-drift 23s linear infinite;

  will-change: background-position;

  pointer-events: none;

  z-index: 1;

}



.site-footer-logo {

  position: relative;

  z-index: 2;

  display: block;

  width: 100%;

  max-width: 9.5rem;

  height: auto;

  border: 0;

  box-shadow: none;

}



.site-footer-grid h3 {

  font-family: "Inter Tight", sans-serif;

  font-size: 0.64rem;

  font-weight: 800;

  letter-spacing: 0.18em;

  line-height: 1.2;

  text-transform: uppercase;

  color: #ffffff;

  margin: 0 0 1rem;

}



.site-footer-office-list,

.site-footer-actions {

  display: grid;

  margin: 0;

  padding: 0;

  list-style: none;

}



.site-footer-office-list {

  gap: 0.7rem;

  font-family: "Inter Tight", sans-serif;

  font-size: 0.82rem;

  line-height: 1.45;

  font-weight: 500;

  color: rgba(255, 255, 255, 0.85);

}



.site-footer-office-list li {

  display: grid;

  grid-template-columns: 1.1rem minmax(0, 1fr);

  gap: 0.65rem;

  align-items: start;

}



.site-footer-office-list strong {

  display: block;

  margin-bottom: 0.06rem;

  font-size: 0.62rem;

  font-weight: 800;

  text-transform: uppercase;

  letter-spacing: 0.08em;

  color: #ffffff;

}



.site-footer-people {

  display: grid;

  grid-template-columns: repeat(2, 1fr);

  gap: 2rem;

  align-items: start;

  margin-top: 0.75rem;

  font-family: "Inter Tight", sans-serif;

}



.site-footer-contact-col {

  display: flex;

  flex-direction: column;

  gap: 1.25rem;

}



@media (max-width: 1200px) {

  .site-footer-people {

    grid-template-columns: 1fr;

    gap: 1.25rem;

  }

}



.site-footer-person-group {

  display: grid;

  gap: 0.45rem;

}



.site-footer-person-heading {

  margin: 0;

  color: #ffffff;

  font-family: "Inter Tight", sans-serif;

  font-size: 0.68rem;

  line-height: 1.25;

  font-weight: 800;

  letter-spacing: 0.08em;

  text-transform: uppercase;

}



.site-footer-person {

  display: grid;

  gap: 0.04rem;

  padding-left: 0.56rem;

  border-left: 1px solid rgba(176, 228, 204, 0.38);

}



.site-footer-person h4 {

  margin: 0;

  color: #ffffff;

  font-size: 0.68rem;

  line-height: 1.2;

  font-weight: 700;

  text-transform: uppercase;

  letter-spacing: 0.03em;

}



.site-footer-person p {

  margin: 0 0 0.12rem;

  color: rgba(255, 255, 255, 0.74);

  font-size: 0.62rem;

  line-height: 1.25;

  font-weight: 700;

  text-transform: uppercase;

  letter-spacing: 0.08em;

}



.site-footer-person a {

  width: fit-content;

  color: rgba(255, 255, 255, 0.86);

  font-size: 0.7rem;

  line-height: 1.35;

  word-break: break-word;

}



.site-footer-icon {

  display: inline-grid;

  place-items: center;

  width: 1rem;

  height: 1rem;

  color: rgba(255, 255, 255, 0.9);

}



.site-footer-icon svg {

  width: 1rem;

  height: 1rem;

}



.site-footer-icon svg * {

  stroke: currentColor;

  stroke-width: 1.5;

  stroke-linecap: round;

  stroke-linejoin: round;

}



.site-footer-contact a,

.site-footer-actions a {

  color: #ffffff;

  text-decoration: none;

  font-weight: 500;

  transition: color 0.2s ease, transform 0.2s ease;

}



.site-footer-contact a:hover,

.site-footer-contact a:focus-visible,

.site-footer-actions a:hover,

.site-footer-actions a:focus-visible {

  color: rgba(255, 255, 255, 0.7);

}



.site-footer-actions {

  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 0.55rem 1rem;

  margin-top: 2rem;

  font-family: "Inter Tight", sans-serif;

  font-size: 0.82rem;

  line-height: 1.35;

}



.site-footer-actions a {

  display: inline-flex;

  width: fit-content;

  padding-bottom: 0.18rem;

  border-bottom: 1px solid rgba(255, 255, 255, 0.4);

}



.site-footer-actions a:hover,

.site-footer-actions a:focus-visible {

  transform: translateX(2px);

  border-bottom-color: #ffffff;

}



.site-footer-contact a:focus-visible,

.site-footer-actions a:focus-visible {

  outline: 1px solid rgba(255, 255, 255, 0.5);

  outline-offset: 4px;

}



.site-footer-bottom {

  display: flex;

  justify-content: space-between;

  gap: 1rem;

  padding-top: 1.15rem;

  border-top: 1px solid rgba(255, 255, 255, 0.15);

  font-family: "Inter Tight", sans-serif;

  font-size: 0.82rem;

  line-height: 1.45;

  color: rgba(255, 255, 255, 0.5);

}



.site-footer-bottom p {

  margin: 0;

}



@media (max-width: 900px) {

  .site-footer-grid {

    grid-template-columns: 1fr;

    gap: 3.5rem;

  }



  .site-footer-company p:not(.site-footer-eyebrow) {

    max-width: 100%;

  }



}



@media (max-width: 640px) {

  .site-footer {

    padding-inline: 1.5rem;

    text-align: center;

    color: #ffffff !important;

  }



  .site-footer * {

    color: inherit !important;

  }



  .site-footer::after {

    display: block;

    background: rgba(5, 10, 9, 0.88);

  }



  .site-footer-grid {

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 3.5rem;

  }



  .site-footer-company,

  .site-footer-office,

  .site-footer-contact,

  .site-footer-socials,

  .site-footer-person-group,

  .site-footer-person {

    width: 100%;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

  }



  .site-footer-company {

    order: 1;

  }



  .site-footer-contact {

    order: 2;

  }



  .site-footer-office {

    order: 3;

  }



  .site-footer-social-links {

    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: 0.75rem;

  }



  .site-footer-office-list {

    display: flex;

    flex-direction: column;

    align-items: center;

    width: 100%;

    margin-inline: auto !important;

    gap: 1.5rem;

    padding: 0 !important;

  }



  .site-footer-office-list li {

    display: flex;

    flex-direction: column;

    align-items: center;

    text-align: center;

    gap: 0;

    width: auto;

    max-width: 20rem;

    margin: 0;

    justify-content: center;

  }



  .site-footer-office-list .site-footer-icon {

    display: none;

  }



  .site-footer-icon {

    margin-top: 0.15rem;

    flex-shrink: 0;

  }



  .site-footer-logo-cutout {

    width: min(100%, 10rem);

    margin-bottom: 0.5rem;

  }



  .site-footer-logo {

    max-width: 9rem;

  }



  .site-footer-actions {

    width: 100%;

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 1.25rem;

    margin-top: 2rem;

  }



  .site-footer-actions a {

    margin: 0 !important;

    text-align: center;

  }



  .site-footer-person {

    padding-left: 0;

    border-left: 0;

  }



  .site-footer-bottom {

    flex-direction: column;

    align-items: center;

    gap: 0.75rem;

    padding-bottom: 1rem;

    text-align: center;

    color: rgba(255, 255, 255, 0.75);

    border-top-color: rgba(255, 255, 255, 0.15);

  }



  .site-footer-eyebrow,

  .site-footer-company p,

  .site-footer-grid h3,

  .site-footer-person-heading,

  .site-footer-person h4,

  .site-footer-person p,

  .site-footer-person a,

  .site-footer-contact a,

  .site-footer-actions a,

  .site-footer-office-list strong,

  .site-footer-office-list span,

  .site-footer-social-links a,

  .site-footer-website {

    color: #ffffff !important;

  }



  .site-footer-icon {

    color: #ffffff !important;

  }



  .site-footer-actions a {

    border-bottom-color: rgba(255, 255, 255, 0.4);

  }



  .site-footer-actions a:hover,

  .site-footer-actions a:focus-visible {

    border-bottom-color: #ffffff;

  }

}



body.video-popup-open {

  overflow: hidden;

}



.video-popup {

  position: fixed;

  inset: 0;

  z-index: 130;

  display: grid;

  place-items: center;

  padding: clamp(2.4rem, 5vw, 3.4rem) clamp(1rem, 3vw, 2rem);

  background:

    linear-gradient(180deg, rgba(9, 20, 19, 0.82), rgba(9, 20, 19, 0.72)),

    repeating-linear-gradient(90deg, rgba(176, 228, 204, 0.08) 0 1px, transparent 1px 34px),

    repeating-linear-gradient(0deg, rgba(176, 228, 204, 0.06) 0 1px, transparent 1px 34px);

  backdrop-filter: blur(10px);

  opacity: 0;

  pointer-events: none;

  transition: opacity 0.25s ease;

}



.video-popup[hidden] {

  display: none;

}



.video-popup::before {

  content: "";

  position: fixed;

  inset: 0;

  background-image: radial-gradient(rgba(176, 228, 204, 0.2) 1px, transparent 1px);

  background-size: 8px 8px;

  opacity: 0.16;

  pointer-events: none;

}



.video-popup.is-open {

  opacity: 1;

  pointer-events: auto;

}



.video-popup-panel {

  --popup-shell-padding: clamp(0.5rem, 1vw, 0.75rem);

  --popup-shell-radius: 18px;

  --popup-video-inset: clamp(0.42rem, 0.9vw, 0.62rem);

  position: relative;

  isolation: isolate;

  width: min(100%, 62rem);

  max-height: calc(100svh - 2rem);

  padding: var(--popup-shell-padding);

  border: 1px solid rgba(176, 228, 204, 0.28);

  border-radius: var(--popup-shell-radius);

  background-color: rgba(255, 255, 255, 0.08);

  box-shadow:

    1px 1px 2px 0 rgba(255, 255, 255, 0.34),

    2px 2px 2px rgba(0, 0, 0, 0.24) inset,

    4px 4px 8px rgba(0, 0, 0, 0.2) inset,

    8px 8px 20px rgba(0, 0, 0, 0.16) inset,

    0 32px 80px rgba(0, 0, 0, 0.46),

    0 0 44px rgba(176, 228, 204, 0.12);

  overflow: visible;

  transform: translateY(16px) scale(0.98);

  transition: transform 0.25s ease;

}



.video-popup-panel::before {

  content: "";

  position: absolute;

  inset: var(--popup-shell-padding);

  z-index: 3;

  border: 1px solid rgba(176, 228, 204, 0.28);

  border-radius: calc(var(--popup-shell-radius) - var(--popup-shell-padding));

  box-shadow:

    1px 1px 2px -1px rgba(255, 255, 255, 0.45) inset,

    0 2px 1px rgba(0, 0, 0, 0.14),

    0 10px 24px rgba(0, 0, 0, 0.22) inset;

  pointer-events: none;

}



.video-popup.is-open .video-popup-panel {

  transform: translateY(0) scale(1);

}



.video-popup-close {

  --close-shell-padding: 4px;

  --close-shell-radius: 9px;

  position: absolute;

  top: calc(var(--popup-shell-padding) + var(--popup-video-inset) + 0.48rem);

  right: calc(var(--popup-shell-padding) + var(--popup-video-inset) + 0.48rem);

  z-index: 8;

  display: inline-grid;

  place-items: center;

  width: 2.35rem;

  height: 2.35rem;

  padding: var(--close-shell-padding);

  border: 0;

  border-radius: var(--close-shell-radius);

  background-color: rgba(255, 255, 255, 0.16);

  box-shadow:

    1px 1px 2px 0 rgba(255, 255, 255, 0.42),

    2px 2px 2px rgba(0, 0, 0, 0.22) inset,

    2px 2px 8px rgba(0, 0, 0, 0.16) inset,

    0 10px 22px rgba(0, 0, 0, 0.22);

  color: #ffffff;

  font-family: "Inter Tight", sans-serif;

  font-size: 1.22rem;

  font-weight: 650;

  line-height: 1;

  outline: none;

  cursor: pointer;

  transition: transform 0.25s cubic-bezier(0.25, 1.5, 0.5, 2.2), filter 0.25s ease;

}



.video-popup-close::before {

  content: "";

  position: absolute;

  inset: var(--close-shell-padding);

  border-radius: calc(var(--close-shell-radius) - var(--close-shell-padding));

  background: linear-gradient(#fff2, #0001), #091413;

  box-shadow:

    1px 1px 2px -1px #fff inset,

    0 2px 1px rgba(0, 0, 0, 0.2),

    0 3px 2px rgba(0, 0, 0, 0.15),

    0 8px 10px rgba(0, 0, 0, 0.14);

}



.video-popup-close::after {

  content: "";

  position: absolute;

  inset: var(--close-shell-padding);

  border: 1px solid rgba(176, 228, 204, 0.34);

  border-radius: calc(var(--close-shell-radius) - var(--close-shell-padding));

  opacity: 0.72;

  pointer-events: none;

  transition: border-color 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;

}



.video-popup-close span {

  position: relative;

  z-index: 1;

  color: #b0e4cc;

  transform: translateY(-1px);

}



.video-popup-close:hover,

.video-popup-close:focus-visible {

  transform: translate3d(0, -1px, 2px);

  filter: drop-shadow(3px 0 7px hsla(154, 65%, 55%, 0.24));

}



.video-popup-close:hover::before,

.video-popup-close:focus-visible::before {

  background: linear-gradient(#fff2, #0001), #285a48;

}



.video-popup-close:hover::after,

.video-popup-close:focus-visible::after {

  border-color: rgba(255, 255, 255, 0.7);

  box-shadow: 0 0 12px rgba(176, 228, 204, 0.24);

  opacity: 1;

}



.video-popup-close:hover span,

.video-popup-close:focus-visible span {

  color: #ffffff;

}



.video-popup-close:focus-visible {

  outline: none;

}



.video-popup-frame-wrap {

  position: relative;

  aspect-ratio: 16 / 9;

  width: 100%;

  border-radius: calc(var(--popup-shell-radius) - var(--popup-shell-padding));

  background-color: rgba(0, 0, 0, 0.18);

  box-shadow:

    1px 1px 2px 0 rgba(255, 255, 255, 0.24),

    2px 2px 2px rgba(0, 0, 0, 0.22) inset,

    4px 4px 10px rgba(0, 0, 0, 0.2) inset,

    8px 8px 22px rgba(0, 0, 0, 0.16) inset;

  overflow: hidden;

}



.video-popup-frame {

  position: absolute;

  inset: var(--popup-video-inset);

  width: calc(100% - var(--popup-video-inset) - var(--popup-video-inset));

  height: calc(100% - var(--popup-video-inset) - var(--popup-video-inset));

  border: 0;

  border-radius: calc(var(--popup-shell-radius) - var(--popup-shell-padding) - 6px);

  background: #000000;

  box-shadow:

    1px 1px 2px -1px rgba(255, 255, 255, 0.55) inset,

    0 4px 18px rgba(0, 0, 0, 0.36);

}



@media (prefers-reduced-motion: reduce) {

  .video-popup,

  .video-popup-panel,

  .video-popup-close {

    transition: none;

  }

}



@media (max-width: 520px) {

  .video-popup {

    padding: 1rem 0.85rem;

  }



  .video-popup-close {

    --close-shell-padding: 4px;

    --close-shell-radius: 9px;

    top: calc(var(--popup-shell-padding) + var(--popup-video-inset) + 0.34rem);

    right: calc(var(--popup-shell-padding) + var(--popup-video-inset) + 0.34rem);

    width: 2.2rem;

    height: 2.2rem;

    font-size: 1.12rem;

  }

}



.linkedin-popup {

  position: fixed;

  inset: 0;

  z-index: 130;

  display: flex;

  align-items: flex-end;

  justify-content: flex-start;

  padding: clamp(1rem, 3vw, 1.6rem);

  background: transparent;

  opacity: 0;

  pointer-events: none;

  transition: opacity 0.24s ease;

}



.linkedin-popup[hidden] {

  display: none;

}



.linkedin-popup.is-open {

  opacity: 1;

  pointer-events: none;

}



.linkedin-popup-card {

  position: relative;

  width: min(100%, 23.5rem);

  border-radius: 10px;

  background: #ffffff;

  box-shadow:

    0 0 0 1px rgba(0, 0, 0, 0.08),

    0 16px 42px rgba(0, 0, 0, 0.24);

  overflow: hidden;

  pointer-events: auto;

  transform: translateY(14px) scale(0.985);

  transition: transform 0.24s ease;

}



.linkedin-popup.is-open .linkedin-popup-card {

  transform: translateY(0) scale(1);

}



.linkedin-popup-cover {

  position: relative;

  height: 5.75rem;

  background: #0a66c2;

  overflow: hidden;

}



.linkedin-popup-cover img {

  width: 100%;

  height: 100%;

  object-fit: cover;

}



.linkedin-popup-close {

  position: absolute;

  top: 0.75rem;

  right: 0.75rem;

  z-index: 4;

  display: grid;

  place-items: center;

  width: 2rem;

  height: 2rem;

  border: 0;

  border-radius: 50%;

  background: rgba(0, 0, 0, 0.58);

  color: #ffffff;

  font-family: Arial, sans-serif;

  font-size: 1.28rem;

  line-height: 1;

  cursor: pointer;

}



.linkedin-popup-close span {

  transform: translateY(-1px);

}



.linkedin-popup-body {

  position: relative;

  padding: 3rem 1rem 1rem;

  font-family: "Inter Tight", Arial, sans-serif;

  color: #000000e6;

}



.linkedin-popup-logo {

  position: absolute;

  top: -2.45rem;

  left: 1rem;

  width: 4.75rem;

  height: 4.75rem;

  border: 3px solid #ffffff;

  border-radius: 8px;

  background: #ffffff;

  object-fit: cover;

  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);

}



.linkedin-popup-copy {

  display: grid;

  gap: 0.48rem;

}



.linkedin-popup-kicker {

  margin: 0;

  color: #0a66c2;

  font-size: 0.78rem;

  font-weight: 800;

  letter-spacing: 0.04em;

  text-transform: uppercase;

}



.linkedin-popup-copy h2 {

  margin: 0;

  color: #000000e6;

  font-family: "Inter Tight", Arial, sans-serif;

  font-size: 1.05rem;

  font-weight: 750;

  line-height: 1.2;

}



.linkedin-popup-copy p:not(.linkedin-popup-kicker) {

  margin: 0;

  max-width: 44ch;

  color: #00000099;

  font-size: 0.82rem;

  line-height: 1.48;

}



.linkedin-popup-actions {

  display: flex;

  align-items: center;

  margin-top: 0.9rem;

}



.linkedin-follow-button {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 0.52rem;

  min-height: 2.65rem;

  width: 100%;

  padding: 0.62rem 1rem;

  border-radius: 999px;

  background: #0a66c2;

  color: #ffffff;

  font-size: 0.95rem;

  font-weight: 750;

  line-height: 1;

  text-decoration: none;

  transition: background-color 0.18s ease, box-shadow 0.18s ease;

}



.linkedin-follow-button:hover,

.linkedin-follow-button:focus-visible {

  background: #004182;

  box-shadow: 0 0 0 3px rgba(10, 102, 194, 0.18);

}



.linkedin-follow-mark {

  display: inline-grid;

  place-items: center;

  width: 1.28rem;

  height: 1.28rem;

  border-radius: 3px;

  background: #ffffff;

  color: #0a66c2;

  font-family: Arial, sans-serif;

  font-size: 0.86rem;

  font-weight: 800;

  line-height: 1;

}



@media (prefers-reduced-motion: reduce) {

  .linkedin-popup,

  .linkedin-popup-card {

    transition: none;

  }

}



@media (max-width: 520px) {

  .linkedin-popup {

    justify-content: center;

  }



  .linkedin-popup-card {

    border-radius: 8px;

  }

}



.overview-arrow-svg {

  transform: translate(-50%, -50%) translateY(18px);

  opacity: 0.46;

  will-change: transform, opacity;

  animation: overview-arrow-rise 3s linear infinite;

}



.partner-logo-card {

  --partner-shell-padding: 6px;

  --partner-shell-radius: 18px;

  position: relative;

  display: flex;

  align-items: center;

  justify-content: center;

  height: 102px;

  padding: 0.65rem;

  border-radius: var(--partner-shell-radius);

  border: 1px solid rgba(9, 20, 19, 0.08);

  background-color: #ffffff;

  box-shadow: 1px 1px 2px 0 #fffd, 2px 2px 2px #0001 inset, 2px 2px 4px #0001 inset, 2px 2px 8px #0001 inset;

  overflow: hidden;

}



.partner-logos-wrap {

  display: flex;

  flex-wrap: wrap;

  justify-content: center;

  gap: 1rem;

}



.partner-logos-wrap .partner-logo-card {

  flex: 0 0 calc(50% - 0.5rem);

  width: calc(50% - 0.5rem);

  max-width: calc(50% - 0.5rem);

}



.partner-logo-card::before {

  content: "";

  position: absolute;

  inset: var(--partner-shell-padding);

  border-radius: calc(var(--partner-shell-radius) - var(--partner-shell-padding));

  background: linear-gradient(#ffffff, #ffffff), #ffffff;

  box-shadow: 1px 1px 2px -1px #fff inset, 0 2px 1px #00000010, 0 4px 2px #00000010, 0 8px 4px #00000010;

  pointer-events: none;

  z-index: 0;

}



.partner-logo-card::after {

  content: "";

  position: absolute;

  inset: calc(var(--partner-shell-padding) + 1px);

  border-radius: calc(var(--partner-shell-radius) - var(--partner-shell-padding) - 1px);

  background-image: radial-gradient(rgba(64, 138, 113, 0.42) 1.15px, transparent 1.15px);

  background-size: 6px 6px;

  background-position: 0 0;

  opacity: 0.72;

  mask-image: radial-gradient(circle at 50% 56%, rgba(9, 20, 19, 0.28) 0%, rgba(9, 20, 19, 0.18) 36%, rgba(9, 20, 19, 0.06) 70%, rgba(9, 20, 19, 0) 100%);

  -webkit-mask-image: radial-gradient(circle at 50% 56%, rgba(9, 20, 19, 0.28) 0%, rgba(9, 20, 19, 0.18) 36%, rgba(9, 20, 19, 0.06) 70%, rgba(9, 20, 19, 0) 100%);

  animation: event-dots-drift 24s linear infinite;

  will-change: background-position;

  pointer-events: none;

  z-index: 3;

}



.partner-logo-img {

  position: relative;

  z-index: 2;

  max-height: 4.9rem;

  width: auto;

  object-fit: contain;

  opacity: 0.9;

  transition: opacity 0.3s ease, transform 0.3s ease;

}



.partner-logo-card:hover .partner-logo-img {

  opacity: 1;

  transform: scale(1.03);

}



/* Partners Grid */

.partners-grid {

    display: flex;

    flex-wrap: wrap;

    justify-content: center;

    gap: 24px;

    margin-top: 40px;

}



/* Partner Logo Card */

.partner-card-new {

    --partner-shell-padding: 6px;

    --partner-shell-radius: 18px;



    position: relative;

    display: flex;

    align-items: center;

    justify-content: center;



    width: calc(33.333% - 16px); /* 3 logos per row */

    min-width: 280px;

    max-width: 360px;



    height: 160px;

    padding: 1rem;



    border-radius: var(--partner-shell-radius);

    border: 1px solid rgba(9, 20, 19, 0.08);

    background-color: #ffffff;



    box-shadow:

        1px 1px 2px 0 #fffd,

        2px 2px 2px #0001 inset,

        2px 2px 4px #0001 inset,

        2px 2px 8px #0001 inset;



    overflow: hidden;

}



/* Inner Gloss Effect */

.partner-card-new::before {

    content: "";

    position: absolute;

    inset: var(--partner-shell-padding);



    border-radius: calc(

        var(--partner-shell-radius) - var(--partner-shell-padding)

    );



    background: linear-gradient(#ffffff, #ffffff), #ffffff;



    box-shadow:

        1px 1px 2px -1px #fff inset,

        0 2px 1px #00000010,

        0 4px 2px #00000010,

        0 8px 4px #00000010;



    pointer-events: none;

    z-index: 0;

}



/* Dot Pattern */

.partner-card-new::after {

    content: "";

    position: absolute;

    inset: calc(var(--partner-shell-padding) + 1px);



    border-radius: calc(

        var(--partner-shell-radius) -

        var(--partner-shell-padding) - 1px

    );



    background-image: radial-gradient(

        rgba(64, 138, 113, 0.42) 1.15px,

        transparent 1.15px

    );



    background-size: 6px 6px;

    background-position: 0 0;



    opacity: 0.72;



    mask-image: radial-gradient(

        circle at 50% 56%,

        rgba(9, 20, 19, 0.28) 0%,

        rgba(9, 20, 19, 0.18) 36%,

        rgba(9, 20, 19, 0.06) 70%,

        rgba(9, 20, 19, 0) 100%

    );



    -webkit-mask-image: radial-gradient(

        circle at 50% 56%,

        rgba(9, 20, 19, 0.28) 0%,

        rgba(9, 20, 19, 0.18) 36%,

        rgba(9, 20, 19, 0.06) 70%,

        rgba(9, 20, 19, 0) 100%

    );



    animation: event-dots-drift 24s linear infinite;



    will-change: background-position;

    pointer-events: none;

    z-index: 1;

}



/* Logo */

.partner-logo-new {

    position: relative;

    z-index: 2;



    max-height: 120px;

    width: auto;

    max-width: 90%;



    object-fit: contain;



    opacity: 0.92;



    transition:

        opacity 0.3s ease,

        transform 0.3s ease;

}



/* Hover */

.partner-card-new:hover .partner-logo-new {

    opacity: 1;

    transform: scale(1.05);

}



/* Animation */

@keyframes event-dots-drift {

    from {

        background-position: 0 0;

    }

    to {

        background-position: 120px 120px;

    }

}



/* Tablet */

@media (max-width: 992px) {

    .partner-card-new {

        width: calc(50% - 12px);

    }

}



/* Mobile */

@media (max-width: 576px) {

    .partner-card-new {

        width: 100%;

        min-width: 100%;

        height: 140px;

    }



    .partner-logo-new {

        max-height: 120px;

    }

}



.series-sponsor-link {

  text-decoration: none;

}



/* Series Sponsors marquee */

.series-sponsors-marquee-bleed {

  width: 100vw;

  margin-left: calc(50% - 50vw);

}



.series-sponsors-marquee {

  --sponsor-gap: 1rem;

  position: relative;

  overflow: hidden;

  padding: 0.2rem 0;

}



.series-sponsors-marquee::before,

.series-sponsors-marquee::after {

  content: "";

  position: absolute;

  top: 0;

  bottom: 0;

  width: clamp(0.8rem, 1.8vw, 1.4rem);

  z-index: 5;

  pointer-events: none;

}



.series-sponsors-marquee::before {

  left: 0;

  background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0) 100%);

}



.series-sponsors-marquee::after {

  right: 0;

  background: linear-gradient(270deg, #ffffff 0%, rgba(255, 255, 255, 0) 100%);

}



.series-sponsors-track {

  display: flex;

  align-items: flex-start;

  gap: var(--sponsor-gap);

  width: max-content;

  animation: series-sponsors-scroll 40s linear infinite;

  will-change: transform;

}



.series-sponsors-marquee:hover .series-sponsors-track {

  animation-play-state: paused;

}



.series-sponsors-track .partner-logo-card {

  flex: 0 0 clamp(12.3rem, 20vw, 15rem);

  min-width: clamp(12.3rem, 20vw, 15rem);

  height: 104px;

}



.series-sponsors-track .series-sponsor-card--gold {

  flex: 0 0 clamp(14.4rem, 23vw, 17.6rem);

  min-width: clamp(14.4rem, 23vw, 17.6rem);

}



.series-sponsors-track .series-sponsor-card--strategic,

.series-sponsors-track .series-sponsor-card--industry {

  flex: 0 0 clamp(13.1rem, 21vw, 16.4rem);

  min-width: clamp(13.1rem, 21vw, 16.4rem);

}



.series-sponsors-track .series-sponsor-card--exhibitor {

  flex: 0 0 clamp(12rem, 19.5vw, 14.8rem);

  min-width: clamp(12rem, 19.5vw, 14.8rem);

}



.series-sponsors-track .series-sponsor-logo {

  max-height: 4.6rem;

  opacity: 0.95;

}



.series-sponsors-track .series-sponsor-card--gold .series-sponsor-logo {

  max-height: 5.8rem;

}



.series-sponsors-track .series-sponsor-card--strategic .series-sponsor-logo,

.series-sponsors-track .series-sponsor-card--industry .series-sponsor-logo {

  max-height: 5rem;

}



.series-sponsors-track .series-sponsor-card--exhibitor .series-sponsor-logo {

  max-height: 4.2rem;

}



@keyframes series-sponsors-scroll {

  from {

    transform: translateX(0);

  }

  to {

    transform: translateX(calc(-50% - (var(--sponsor-gap) / 2)));

  }

}



@keyframes overview-arrow-rise {

  0% {

    transform: translate(-50%, -50%) translateY(18px);

    opacity: 0.46;

  }

  18% {

    opacity: 0.82;

  }

  55% {

    opacity: 0.98;

  }

  100% {

    transform: translate(-50%, -50%) translateY(-20px);

    opacity: 0.46;

  }

}



.hero-invite-kicker {

  --hero-kicker-line: rgba(40, 90, 72, 0.82);

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 0.65rem;

  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.9);

}



.hero-invite-kicker::before,

.hero-invite-kicker::after {

  content: "";

  width: clamp(1.8rem, 7vw, 4.8rem);

  height: 1px;

  opacity: 0.9;

}



.hero-invite-kicker::before {

  background: linear-gradient(90deg, rgba(40, 90, 72, 0), var(--hero-kicker-line));

}



.hero-invite-kicker::after {

  background: linear-gradient(90deg, var(--hero-kicker-line), rgba(40, 90, 72, 0));

}



.hero-event-strip {

  --event-shell-padding: 6px;

  --event-shell-radius: 18px;

  --event-shell-glow: rgba(40, 90, 72, 0.08);

  position: relative;

  isolation: isolate;

  display: inline-flex;

  align-items: stretch;

  justify-content: center;

  width: min(100%, 38rem);

  padding: var(--event-shell-padding);

  border: 1px solid rgba(40, 90, 72, 0.18);

  border-radius: var(--event-shell-radius);

  background-color: rgba(255, 255, 255, 0.58);

  box-shadow:

    1px 1px 2px 0 rgba(255, 255, 255, 0.95),

    2px 2px 2px rgba(9, 20, 19, 0.08) inset,

    2px 2px 8px rgba(9, 20, 19, 0.06) inset,

    0 14px 34px rgba(9, 20, 19, 0.08);

  backdrop-filter: blur(10px);

  animation: hero-event-shell-glow 5.8s ease-in-out infinite;

}



.hero-event-item {

  position: relative;

  display: inline-flex;

  align-items: center;

  justify-content: flex-start;

  gap: 0.62rem;

  min-width: fit-content;

  flex: 0 1 auto;

  padding: 0.76rem clamp(1rem, 2.7vw, 1.5rem);

  border-radius: calc(var(--event-shell-radius) - var(--event-shell-padding));

  background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(246, 251, 249, 0.9));

  box-shadow:

    1px 1px 2px -1px rgba(255, 255, 255, 0.95) inset,

    0 2px 1px rgba(9, 20, 19, 0.07),

    0 7px 14px rgba(9, 20, 19, 0.06);

  overflow: hidden;

  animation: hero-event-card-breathe 5.8s ease-in-out infinite;

  will-change: transform, box-shadow;

}



.hero-event-item:nth-of-type(2) {

  animation-delay: 0.9s;

}



.hero-event-item::after {

  content: "";

  position: absolute;

  inset: 1px;

  border-radius: calc(var(--event-shell-radius) - var(--event-shell-padding) - 1px);

  background-image: radial-gradient(rgba(64, 138, 113, 0.44) 1.15px, transparent 1.15px);

  background-size: 6px 6px;

  background-position: 0 0;

  opacity: 0.72;

  mask-image: radial-gradient(circle at 50% 56%, rgba(9, 20, 19, 0.3) 0%, rgba(9, 20, 19, 0.2) 36%, rgba(9, 20, 19, 0.07) 70%, rgba(9, 20, 19, 0) 100%);

  -webkit-mask-image: radial-gradient(circle at 50% 56%, rgba(9, 20, 19, 0.3) 0%, rgba(9, 20, 19, 0.2) 36%, rgba(9, 20, 19, 0.07) 70%, rgba(9, 20, 19, 0) 100%);

  animation: event-dots-drift 24s linear infinite;

  will-change: background-position;

  pointer-events: none;

  z-index: 1;

}



.hero-event-icon {

  position: relative;

  z-index: 2;

  flex: 0 0 auto;

  width: 0.94rem;

  height: 0.94rem;

  color: rgba(40, 90, 72, 0.72);

  fill: none;

  stroke: currentColor;

  stroke-width: 2;

  stroke-linecap: round;

  stroke-linejoin: round;

}



.hero-event-value {

  position: relative;

  z-index: 2;

  font-family: "Inter Tight", sans-serif;

  font-size: clamp(0.9rem, 1.45vw, 0.98rem);

  font-weight: 600;

  letter-spacing: 0;

  line-height: 1.18;

  color: rgba(9, 20, 19, 0.72);

  white-space: nowrap;

}



.hero-event-divider {

  width: 1px;

  margin: 0.62rem 0.2rem;

  border-radius: 999px;

  background: linear-gradient(180deg, rgba(40, 90, 72, 0), rgba(40, 90, 72, 0.5), rgba(40, 90, 72, 0));

}



@keyframes hero-event-shell-glow {

  0%,

  100% {

    border-color: rgba(40, 90, 72, 0.18);

    box-shadow:

      1px 1px 2px 0 rgba(255, 255, 255, 0.95),

      2px 2px 2px rgba(9, 20, 19, 0.08) inset,

      2px 2px 8px rgba(9, 20, 19, 0.06) inset,

      0 14px 34px rgba(9, 20, 19, 0.08),

      0 0 0 rgba(40, 90, 72, 0);

  }

  50% {

    border-color: rgba(40, 90, 72, 0.34);

    box-shadow:

      1px 1px 2px 0 rgba(255, 255, 255, 0.95),

      2px 2px 2px rgba(9, 20, 19, 0.08) inset,

      2px 2px 8px rgba(9, 20, 19, 0.06) inset,

      0 14px 34px rgba(9, 20, 19, 0.08),

      0 0 22px rgba(40, 90, 72, 0.14);

  }

}



@keyframes hero-event-card-breathe {

  0%,

  100% {

    transform: translateY(0);

    box-shadow:

      1px 1px 2px -1px rgba(255, 255, 255, 0.95) inset,

      0 2px 1px rgba(9, 20, 19, 0.07),

      0 7px 14px rgba(9, 20, 19, 0.06);

  }

  50% {

    transform: translateY(-1px);

    box-shadow:

      1px 1px 2px -1px rgba(255, 255, 255, 0.95) inset,

      0 2px 1px rgba(9, 20, 19, 0.07),

      0 9px 18px rgba(9, 20, 19, 0.08),

      0 0 16px rgba(64, 138, 113, 0.12);

  }

}



@media (max-width: 640px) {

  .hero-invite-kicker::before,

  .hero-invite-kicker::after {

    display: none;

  }



  .hero-event-strip {

    width: fit-content;

    max-width: 100%;

    flex-direction: column;

    gap: 4px;

    --event-shell-padding: 6px;

  }



  .hero-event-item {

    justify-content: center;

    text-align: center;

    padding: 0.9rem 1.8rem;

  }



  .hero-event-value {

    font-size: 0.95rem;

  }



  .hero-event-divider {

    width: auto;

    height: 1px;

    margin: 0 1.5rem;

    opacity: 0.4;

    background: linear-gradient(90deg, rgba(40, 90, 72, 0), rgba(40, 90, 72, 0.4), rgba(40, 90, 72, 0));

  }

}



@media (min-width: 768px) {

  .hero-event-strip {

    width: auto;

  }



  .partner-logos-wrap {

    gap: 1.25rem;

  }



  .partner-logos-wrap .partner-logo-card {

    flex: 0 0 calc(33.333% - 0.85rem);

    width: calc(33.333% - 0.85rem);

    max-width: calc(33.333% - 0.85rem);

  }



  .partner-logo-card {

    height: 112px;

  }



  .partner-logo-img {

    max-height: 5.8rem;

  }



  .series-sponsors-marquee {

    --sponsor-gap: 1.15rem;

  }



  .series-sponsors-track .partner-logo-card {

    flex: 0 0 clamp(12.8rem, 19vw, 15.6rem);

    min-width: clamp(12.8rem, 19vw, 15.6rem);

    height: 112px;

  }



  .series-sponsors-track .series-sponsor-card--gold {

    flex: 0 0 clamp(15rem, 22vw, 18.4rem);

    min-width: clamp(15rem, 22vw, 18.4rem);

  }



  .series-sponsors-track .series-sponsor-card--strategic,

  .series-sponsors-track .series-sponsor-card--industry {

    flex: 0 0 clamp(13.8rem, 20vw, 16.9rem);

    min-width: clamp(13.8rem, 20vw, 16.9rem);

  }



  .series-sponsors-track .series-sponsor-card--exhibitor {

    flex: 0 0 clamp(12.4rem, 18vw, 15.2rem);

    min-width: clamp(12.4rem, 18vw, 15.2rem);

  }

}



@media (min-width: 1024px) {

  .partner-logos-wrap .partner-logo-card {

    flex: 0 0 calc(25% - 0.95rem);

    width: calc(25% - 0.95rem);

    max-width: calc(25% - 0.95rem);

  }

}



@media (prefers-reduced-motion: reduce) {

  .hero-event-strip,

  .hero-event-item,

  .hero-event-item::after {

    animation: none;

  }



  .hero-event-item {

    transform: none;

  }



  .overview-arrow-svg {

    animation: none;

    transform: translate(-50%, -50%);

    opacity: 0.78;

  }

}



/* Custom Buttons from AGENT.md */



/* Primary Button */

.btn-wrapper {

  --width: 260px;

  --height: 60px;

  --padding: 8px;

  --border-radius: 24px;

  --dot-size: 8px;

  --btn-color: #091413; 

  --hue: 154deg; 

  --animation-duration: 1.2s;

  position: relative;

  display: flex;

  align-items: center;

  justify-content: center;

  width: var(--width);

  height: var(--height);

  border-radius: var(--border-radius);

  border: none;

  background-color: #00000008;

  box-shadow: 1px 1px 2px 0 #fffd, 2px 2px 2px #0001 inset, 2px 2px 4px #0001 inset, 2px 2px 8px #0001 inset;

  transition: box-shadow 50ms linear;

  perspective: 150px;

  perspective-origin: center;

  user-select: none;

  z-index: 1;

}



.btn {

  display: flex;

  align-items: center;

  justify-content: center; /* Center since dot is removed */

  gap: 0.25em;

  text-align: center;

  padding: 0 calc(var(--padding) * 2); /* Removed var(--height) spacing on right */

  width: calc(100% - 2 * var(--padding));

  height: calc(100% - 2 * var(--padding));

  border-radius: calc(var(--border-radius) - var(--padding));

  border: none;

  cursor: pointer;

  background: linear-gradient(#fff2, #0001), var(--btn-color);

  box-shadow: 1px 1px 2px -1px #fff inset, 0 2px 1px #00000010, 0 4px 2px #00000010, 0 8px 4px #00000010, 0 16px 8px #00000010, 0 32px 16px #00000010;

  transition: transform 0.25s cubic-bezier(0.25, 1.5, 0.5, 2.2), box-shadow 0.25s cubic-bezier(0.25, 1.5, 0.5, 1), filter 0.3s cubic-bezier(0.25, 1.5, 0.5, 1);

  will-change: transform, filter;

  z-index: 2;

}



.btn-txt {

  display: inline-block;

  font-size: 15px;

  font-weight: 500;

  font-family: "Inter Tight", sans-serif;

  text-transform: uppercase;

  color: #ffffff;

  filter: drop-shadow(0 1px 0px #000) drop-shadow(0 -1px 0px #0005);

}







.btn:hover, .btn:focus-visible {

  filter: drop-shadow(var(--padding) 0 var(--padding) hsla(var(--hue), 70%, 60%, 0.6));

  transform: translate3d(0, -2px, 2px);

}



.btn:focus-visible {

  outline: 2px dashed hsla(var(--hue), 70%, 40%, 1);

  outline-offset: var(--padding);

}



.btn:active {

  filter: drop-shadow(var(--padding) 0 var(--padding) hsla(var(--hue), 100%, 50%, 1));

  transform: translate3d(0, 0, -4px);

}



/* Secondary Button Dynamic 3D Cut Effect */

.learn-more {

  --cut-shell-padding: 6px;

  --cut-shell-radius: 24px;

  --cut-shell-color: #00000008;

  --cut-core-color: #285A48;



  position: relative;

  display: flex;

  align-items: center;

  cursor: pointer;

  outline: none;

  border: 0;

  background: transparent;

  text-decoration: none;

  width: 16rem;

  height: 60px; /* Aligns with primary wrapper height */

  padding: 0;

  z-index: 2;

}



.learn-more::before {

  content: "";

  position: absolute;

  left: 0;

  top: 50%;

  transform: translateY(-50%);

  width: calc(3rem + (var(--cut-shell-padding) * 2));

  height: calc(3rem + (var(--cut-shell-padding) * 2));

  border-radius: var(--cut-shell-radius);

  background-color: var(--cut-shell-color);

  box-shadow: 1px 1px 2px 0 #fffd, 2px 2px 2px #0001 inset, 2px 2px 4px #0001 inset, 2px 2px 8px #0001 inset;

  transition: width 0.45s cubic-bezier(0.65, 0, 0.076, 1);

  pointer-events: none;

  z-index: 0;

}



.learn-more:hover::before,

.learn-more:focus-visible::before {

  width: 100%;

}



.learn-more .circle {

  transition: width 0.45s cubic-bezier(0.65, 0, 0.076, 1), transform 0.45s cubic-bezier(0.65, 0, 0.076, 1);

  position: absolute;

  left: var(--cut-shell-padding);

  top: 50%;

  transform: translateY(-50%);

  margin: 0;

  width: 3rem; /* Standard circle size */

  height: 3rem;

  background: linear-gradient(#fff2, #0001), var(--cut-core-color);

  border-radius: calc(var(--cut-shell-radius) - var(--cut-shell-padding));

  z-index: 1;



  /* The 3D Cut effect applied strictly to the dynamic background */

  box-shadow: 1px 1px 2px -1px #fff inset, 0 2px 1px #00000010, 0 4px 2px #00000010, 0 8px 4px #00000010, 0 16px 8px #00000010, 0 32px 16px #00000010;

}



.learn-more:active .circle {

  transform: translateY(-50%) scale(0.98);

}



.learn-more:hover .circle,

.learn-more:focus-visible .circle {

  width: calc(100% - (var(--cut-shell-padding) * 2));

}



.learn-more:focus-visible {

  outline: 2px dashed hsla(154, 70%, 40%, 1);

  outline-offset: 6px;

}



.learn-more .circle .icon {

  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);

  position: absolute;

  top: 0;

  bottom: 0;

  margin: auto;

  background: #B0E4CC; 

}



.learn-more .circle .icon.arrow {

  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);

  left: 0.625rem;

  width: 1.125rem;

  height: 0.125rem;

  background: none;

}



.learn-more .circle .icon.arrow::before {

  position: absolute;

  content: "";

  top: -0.29rem;

  right: 0.0625rem;

  width: 0.625rem;

  height: 0.625rem;

  border-top: 0.125rem solid #B0E4CC;

  border-right: 0.125rem solid #B0E4CC;

  transform: rotate(45deg);

}



.learn-more .button-text {

  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);

  position: relative;

  z-index: 2;

  margin-left: calc(3rem + (var(--cut-shell-padding) * 2) + 0.6rem);

  color: #091413;

  font-weight: 700;

  text-align: left;

  text-transform: uppercase;

  font-family: "Inter Tight", sans-serif;

  font-size: 0.85rem;

}



.learn-more.hero-learn-more .button-text {

  font-size: 15px;

  font-weight: 500;

}



.learn-more.dark-text .button-text {

  color: #091413;

}



.learn-more:hover .circle .icon.arrow,

.learn-more:focus-visible .circle .icon.arrow {

  background: #B0E4CC;

  transform: translate(1rem, 0);

}



.learn-more:hover .button-text,

.learn-more:focus-visible .button-text {

  color: #B0E4CC;

}



/* Event In Numbers section */

.event-numbers-row {

  display: flex;

  flex-wrap: nowrap;

  align-items: flex-start;

  gap: 0.85rem;

  padding-top: 1.35rem;

  padding-bottom: 0.3rem;

  border-top: 1px solid rgba(9, 20, 19, 0.16);

  overflow-x: auto;

  scroll-snap-type: x mandatory;

  scroll-padding-inline: 0.25rem;

  scrollbar-width: none;

  -ms-overflow-style: none;

  -webkit-overflow-scrolling: touch;

}



.event-numbers-row::-webkit-scrollbar {

  display: none;

}



.event-number-item {

  --card-shell-padding: 8px;

  --card-radius: 20px;

  flex: 0 0 clamp(13.25rem, 72vw, 16rem);

  min-width: clamp(13.25rem, 72vw, 16rem);

  min-height: 9.75rem;

  padding: calc(var(--card-shell-padding) + 0.95rem) calc(var(--card-shell-padding) + 0.95rem);

  border-radius: var(--card-radius);

  background-color: rgba(9, 20, 19, 0.06);

  box-shadow:

    1px 1px 2px 0 rgba(255, 255, 255, 0.85),

    2px 2px 2px rgba(9, 20, 19, 0.07) inset,

    2px 2px 4px rgba(9, 20, 19, 0.06) inset,

    2px 2px 8px rgba(9, 20, 19, 0.05) inset;

  position: relative;

  overflow: hidden;

  scroll-snap-align: start;

  scroll-snap-stop: always;

  transition: transform 0.24s ease, box-shadow 0.24s ease;

}



.event-number-item:hover {

  transform: translateY(-2px);

  box-shadow:

    1px 1px 2px 0 rgba(255, 255, 255, 0.92),

    2px 2px 2px rgba(9, 20, 19, 0.07) inset,

    2px 2px 4px rgba(9, 20, 19, 0.06) inset,

    2px 2px 8px rgba(9, 20, 19, 0.05) inset,

    0 10px 14px rgba(9, 20, 19, 0.1);

}



.event-number-item::before {

  content: "";

  position: absolute;

  inset: var(--card-shell-padding);

  border-radius: calc(var(--card-radius) - var(--card-shell-padding));

  background: linear-gradient(rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.8));

  box-shadow:

    1px 1px 2px -1px rgba(255, 255, 255, 0.95) inset,

    0 2px 1px rgba(9, 20, 19, 0.08),

    0 4px 2px rgba(9, 20, 19, 0.08),

    0 8px 4px rgba(9, 20, 19, 0.08);

  pointer-events: none;

  z-index: 0;

}



.event-number-item::after {

  content: "";

  position: absolute;

  inset: calc(var(--card-shell-padding) + 1px);

  border-radius: calc(var(--card-radius) - var(--card-shell-padding) - 1px);

  background-image: radial-gradient(rgba(64, 138, 113, 0.46) 1.15px, transparent 1.15px);

  background-size: 6px 6px;

  background-position: 0 0;

  opacity: 0.76;

  mask-image: radial-gradient(circle at 50% 56%, rgba(9, 20, 19, 0.28) 0%, rgba(9, 20, 19, 0.18) 32%, rgba(9, 20, 19, 0.07) 68%, rgba(9, 20, 19, 0) 100%);

  -webkit-mask-image: radial-gradient(circle at 50% 56%, rgba(9, 20, 19, 0.28) 0%, rgba(9, 20, 19, 0.18) 32%, rgba(9, 20, 19, 0.07) 68%, rgba(9, 20, 19, 0) 100%);

  animation: event-dots-drift 20s linear infinite;

  will-change: background-position;

  pointer-events: none;

  z-index: 1;

}



.event-number-item:nth-child(2)::after {

  animation-duration: 23s;

  animation-delay: 0s;

}



.event-number-item:nth-child(3)::after {

  animation-duration: 18s;

  animation-delay: 0s;

}



.event-number-item:nth-child(4)::after {

  animation-duration: 26s;

  animation-delay: 0s;

}



@keyframes event-dots-drift {

  0% {

    background-position: 0 0;

  }

  100% {

    background-position: 28px 20px;

  }

}



.event-number-stat {

  font-family: "Anton", sans-serif;

  font-size: clamp(3.75rem, 6.6vw, 5.45rem);

  line-height: 0.9;

  letter-spacing: 0.01em;

  position: absolute;

  left: 50%;

  bottom: calc(var(--card-shell-padding) + 1.05rem);

  transform: translateX(-50%);

  margin-bottom: 0;

  z-index: 3;

  color: rgba(40, 90, 72, 0.96);

  -webkit-text-fill-color: rgba(40, 90, 72, 0.96);

  user-select: none;

  text-align: center;

  width: calc(100% - ((var(--card-shell-padding) + 0.7rem) * 2));

}



.event-number-stat span {

  font-family: "Inter Tight", sans-serif;

  font-size: clamp(1.05rem, 1.7vw, 1.32rem);

  font-weight: 700;

  color: rgba(64, 138, 113, 0.95);

  vertical-align: top;

  margin-left: 0.14rem;

}



.event-number-title {

  font-family: "Inter Tight", sans-serif;

  text-transform: uppercase;

  letter-spacing: 0.16em;

  font-size: 0.63rem;

  line-height: 1.3;

  font-weight: 800;

  color: rgba(9, 20, 19, 0.62);

  position: absolute;

  top: calc(var(--card-shell-padding) + 0.85rem);

  left: 50%;

  transform: translateX(-50%);

  z-index: 3;

  width: calc(100% - ((var(--card-shell-padding) + 1rem) * 2));

  max-width: 14ch;

  min-height: 1.6em;

  display: flex;

  align-items: flex-start;

  justify-content: center;

  text-align: center;

  margin: 0;

}



@media (min-width: 1024px) {

  .event-numbers-row {

    overflow-x: visible;

    scroll-snap-type: none;

  }



  .event-number-item {

    flex: 1 1 0;

    min-width: 0;

  }

}



@media (max-width: 639px) {

  .event-numbers-row {

    flex-wrap: wrap;

    overflow-x: visible;

    scroll-snap-type: none;

    gap: 0.7rem;

    padding-top: 1.05rem;

    padding-bottom: 0;

  }



  .event-number-item {

    flex: 0 0 calc(50% - 0.35rem);

    min-width: 0;

    min-height: 8.1rem;

    padding: calc(var(--card-shell-padding) + 0.58rem) calc(var(--card-shell-padding) + 0.74rem);

    scroll-snap-align: none;

    scroll-snap-stop: normal;

  }



  .event-number-stat {

    bottom: calc(var(--card-shell-padding) + 0.72rem);

    font-size: clamp(2.5rem, 11.2vw, 3.35rem);

    width: calc(100% - ((var(--card-shell-padding) + 0.45rem) * 2));

  }



  .event-number-stat span {

    font-size: clamp(0.78rem, 2.9vw, 0.98rem);

  }



  .event-number-title {

    top: calc(var(--card-shell-padding) + 0.58rem);

    font-size: 0.52rem;

    letter-spacing: 0.125em;

    min-height: 1.8em;

    width: calc(100% - ((var(--card-shell-padding) + 0.68rem) * 2));

  }

}



@media (prefers-reduced-motion: reduce) {

  .partner-logo-card::after {

    animation: none;

  }



  .event-number-item::after {

    animation: none;

  }

}



/* Key Topics cards */

.key-topic-card {

  --topic-shell-padding: 7px;

  position: relative;

  display: flex;

  align-items: center;

  min-height: 5.4rem;

  border-radius: 20px;

  border: 1px solid rgba(9, 20, 19, 0.11);

  background-color: rgba(9, 20, 19, 0.035);

  padding: calc(var(--topic-shell-padding) + 0.36rem) calc(var(--topic-shell-padding) + 0.62rem);

  box-shadow:

    1px 1px 2px 0 rgba(255, 255, 255, 0.9),

    2px 2px 2px rgba(9, 20, 19, 0.06) inset,

    2px 2px 4px rgba(9, 20, 19, 0.05) inset,

    2px 2px 8px rgba(9, 20, 19, 0.04) inset;

  overflow: hidden;

  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;

}



.key-topic-card::before {

  content: "";

  position: absolute;

  inset: var(--topic-shell-padding);

  border-radius: calc(20px - var(--topic-shell-padding));

  background: #ffffff;

  box-shadow:

    1px 1px 2px -1px rgba(255, 255, 255, 0.95) inset,

    0 2px 1px rgba(9, 20, 19, 0.06),

    0 4px 2px rgba(9, 20, 19, 0.05),

    0 8px 4px rgba(9, 20, 19, 0.04);

  pointer-events: none;

  z-index: 0;

}



.key-topic-card::after {

  content: "";

  position: absolute;

  inset: calc(var(--topic-shell-padding) + 1px);

  border-radius: calc(20px - var(--topic-shell-padding) - 1px);

  background-image: radial-gradient(rgba(64, 138, 113, 0.44) 1.15px, transparent 1.15px);

  background-size: 6px 6px;

  background-position: 0 0;

  opacity: 0.72;

  mask-image: radial-gradient(circle at 85% 28%, rgba(9, 20, 19, 0.3) 0%, rgba(9, 20, 19, 0.18) 30%, rgba(9, 20, 19, 0.08) 58%, rgba(9, 20, 19, 0) 86%);

  -webkit-mask-image: radial-gradient(circle at 85% 28%, rgba(9, 20, 19, 0.3) 0%, rgba(9, 20, 19, 0.18) 30%, rgba(9, 20, 19, 0.08) 58%, rgba(9, 20, 19, 0) 86%);

  animation: event-dots-drift 23s linear infinite;

  will-change: background-position;

  pointer-events: none;

  z-index: 0;

}



.key-topic-card:hover {

  transform: translateY(-3px);

  border-color: rgba(40, 90, 72, 0.38);

  box-shadow:

    1px 1px 2px 0 rgba(255, 255, 255, 0.94),

    2px 2px 2px rgba(9, 20, 19, 0.06) inset,

    2px 2px 4px rgba(9, 20, 19, 0.05) inset,

    2px 2px 8px rgba(9, 20, 19, 0.04) inset,

    0 14px 18px rgba(9, 20, 19, 0.09);

}



.key-topic-card:nth-child(3n + 1)::after {

  animation-duration: 18s;

}



.key-topic-card:nth-child(3n + 2)::after {

  animation-duration: 25s;

}



.key-topic-card:nth-child(3n)::after {

  animation-duration: 21s;

}



.key-topic-card-title {

  position: relative;

  z-index: 1;

  margin: 0;

}



.key-topic-card-title {

  font-family: "Inter Tight", sans-serif;

  font-size: clamp(0.94rem, 1.02vw, 1rem);

  line-height: 1.32;

  font-weight: 650;

  color: #091413;

  width: 100%;

}



/* Why Sponsor section */

.why-sponsor-media {

  position: relative;

  isolation: isolate;

  width: min(100%, 34rem);

  aspect-ratio: 4 / 5;

  margin-inline: auto;

  overflow: hidden;

  background: #ffffff;

}



.why-sponsor-image {

  position: absolute;

  top: -4%;

  bottom: -4%;

  left: -8%;

  z-index: 1;

  display: block;

  width: 118%;

  height: 108%;

  object-fit: cover;

  object-position: center;

  opacity: 1;

  filter: grayscale(22%) saturate(98%) contrast(1.04) brightness(1);

  mix-blend-mode: multiply;

  mask-image:

    linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.12) 3%, rgba(0, 0, 0, 0.42) 7%, rgba(0, 0, 0, 0.72) 10%, #000000 14%, #000000 55%, rgba(0, 0, 0, 0.78) 68%, rgba(0, 0, 0, 0.44) 80%, rgba(0, 0, 0, 0.16) 92%, rgba(0, 0, 0, 0) 100%),

    linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 9%, #000000 90%, rgba(0, 0, 0, 0) 100%);

  mask-composite: intersect;

  -webkit-mask-image:

    linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.12) 3%, rgba(0, 0, 0, 0.42) 7%, rgba(0, 0, 0, 0.72) 10%, #000000 14%, #000000 55%, rgba(0, 0, 0, 0.78) 68%, rgba(0, 0, 0, 0.44) 80%, rgba(0, 0, 0, 0.16) 92%, rgba(0, 0, 0, 0) 100%),

    linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 9%, #000000 90%, rgba(0, 0, 0, 0) 100%);

  -webkit-mask-composite: source-in;

}



.why-sponsor-media::after {

  content: "";

  position: absolute;

  inset: 0;

  z-index: 2;

  pointer-events: none;

  background:

    linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0.72) 5%, rgba(255, 255, 255, 0.28) 13%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0) 62%, rgba(255, 255, 255, 0.18) 76%, rgba(255, 255, 255, 0.58) 92%, #ffffff 100%),

    linear-gradient(180deg, #ffffff 0%, rgba(255, 255, 255, 0.46) 6%, rgba(255, 255, 255, 0.08) 17%, rgba(255, 255, 255, 0) 34%, rgba(255, 255, 255, 0) 72%, rgba(255, 255, 255, 0.18) 88%, #ffffff 100%);

}



#why-sponsor .key-topic-card {

  --topic-shell-padding: 5px;

  min-height: 4.15rem;

  height: auto;

  padding: calc(var(--topic-shell-padding) + 0.18rem) calc(var(--topic-shell-padding) + 0.48rem);

}



.final-cta-section {

  padding: clamp(4.25rem, 7vw, 6rem) clamp(1.5rem, 4vw, 3rem) clamp(3.4rem, 5.4vw, 4.8rem);

  text-align: center;

}



.final-cta-inner {

  width: min(100%, 48rem);

  margin-inline: auto;

}



.final-cta-actions {

  display: flex;

  justify-content: center;

}



.final-cta-actions .learn-more {

  width: 11.4rem;

}



@media (max-width: 767px) {

  .why-sponsor-grid {

    display: flex;

    flex-direction: column;

  }



  .why-sponsor-text-col {

    display: contents;

  }



  .why-sponsor-header {

    order: 1;

    margin-bottom: 0;

    padding-bottom: 1rem;

    text-align: center;

  }



  .why-sponsor-image-col {

    order: 2;

    width: 100%;

    margin-bottom: 1.5rem;

  }



  .why-sponsor-cards {

    order: 3;

    width: 100%;

  }



  .why-sponsor-media {

    width: min(100%, 28rem);

  }



  #why-sponsor .key-topic-card {

    min-height: 3.95rem;

    text-align: center;

  }



  .final-cta-section {

    padding-block: 3.7rem 3.35rem;

  }

}



/* Key Topics split layout */

.key-topics-split-grid {

  display: grid;

  gap: 1.75rem;

  align-items: start;

}



.key-topics-split-left,

.key-topics-split-right {

  min-width: 0;

}



.key-topics-split-media {

  position: relative;

  overflow: hidden;

  min-height: 305px;

  border-radius: 0;

  border: 0;

  background: #e7e7e7;

  box-shadow: none;

}



.key-topics-split-image {

  width: 100%;

  height: 100%;

  min-height: inherit;

  display: block;

  object-fit: cover;

  object-position: center top;

  filter: grayscale(62%) saturate(72%) contrast(1.05);

}



@media (max-width: 767px) {

  .key-topics-split-grid {

    display: flex;

    flex-direction: column;

    gap: 1.2rem;

  }



  .key-topics-split-left {

    display: contents;

  }



  .key-topics-split-left > .fade-in-up {

    order: 1;

    margin-bottom: 0;

    padding-bottom: 0.9rem;

  }



  .key-topics-split-right {

    order: 2;

    width: 100%;

    margin-bottom: 1rem;

  }



  .key-topics-split-left > .grid {

    order: 3;

    width: 100%;

  }



  .key-topic-card {

    min-height: 4.65rem;

    padding: calc(var(--topic-shell-padding) + 0.3rem) calc(var(--topic-shell-padding) + 0.55rem);

  }



  .key-topic-card-title {

    font-size: 0.96rem;

    line-height: 1.3;

  }



  .key-topics-split-media {

    min-height: 235px;

  }

}



@media (min-width: 768px) {

  .key-topic-card {

    height: 5.6rem;

  }



  .key-topics-split-grid {

    gap: 2rem;

  }



  .key-topics-split-media {

    min-height: 395px;

  }

}



@media (min-width: 1024px) {

  .key-topics-split-grid {

    position: relative;

    display: block;

  }



  .key-topics-split-left {

    position: relative;

    z-index: 3;

    background: transparent;

    width: min(58%, 46rem);

    max-width: 46rem;

    padding-right: 1.25rem;

  }



  .key-topics-split-right {

    position: absolute;

    z-index: 1;

    top: 0;

    bottom: 0;

    left: 45%;

    right: calc(50% - 50vw);

    margin-left: 0;

  }



  .key-topics-split-media {

    height: calc(100% + 4rem);

    min-height: 0;

    margin-top: -2rem;

    margin-bottom: -2rem;

    border-radius: 0;

  }

}



/* Why Attend image blend */

.why-attend-stack {

  position: relative;

  isolation: isolate;

  display: flex;

  flex-direction: column;

  align-items: center;

}



.why-attend-header {

  position: relative;

  z-index: 12;

  width: min(100%, 42rem);

  margin-bottom: 1rem;

}



.why-attend-image-shell {

  display: flex;

  justify-content: center;

  margin: 0 auto;

  position: relative;

  z-index: 1;

}



.why-attend-image-wrap {

  position: relative;

  width: min(100%, 38rem);

}



.why-attend-image {

  display: block;

  width: 100%;

  height: auto;

  opacity: 0.9;

}



.why-attend-image-wrap::after {

  content: "";

  position: absolute;

  inset: 0;

  pointer-events: none;

  background:

    linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0.52) 12%, rgba(255, 255, 255, 0.08) 24%, rgba(255, 255, 255, 0.08) 76%, rgba(255, 255, 255, 0.52) 88%, #ffffff 100%),

    linear-gradient(180deg, #ffffff 0%, rgba(255, 255, 255, 0.55) 12%, rgba(255, 255, 255, 0.12) 24%, rgba(255, 255, 255, 0.12) 76%, rgba(255, 255, 255, 0.55) 88%, #ffffff 100%),

    radial-gradient(circle at top left, rgba(255, 255, 255, 0.88) 0%, rgba(255, 255, 255, 0) 30%),

    radial-gradient(circle at top right, rgba(255, 255, 255, 0.88) 0%, rgba(255, 255, 255, 0) 30%),

    radial-gradient(circle at bottom left, rgba(255, 255, 255, 0.88) 0%, rgba(255, 255, 255, 0) 30%),

    radial-gradient(circle at bottom right, rgba(255, 255, 255, 0.88) 0%, rgba(255, 255, 255, 0) 30%);

}



.why-attend-cards-grid {

  position: relative;

  z-index: 10;

  margin-top: 0.9rem;

  width: min(100%, 42rem);

  margin-inline: auto;

}



.why-attend-card {

  position: relative;

  z-index: 10;

}



.why-attend-card--center {

  text-align: center;

}



@media (max-width: 639px) {

  .why-attend-card {

    text-align: center;

  }



  .why-attend-header {

    width: min(100%, 24.5rem);

    margin-bottom: 0.85rem;

  }



  .why-attend-image-shell {

    margin-bottom: 0;

  }



  .why-attend-image-wrap {

    width: min(100%, 24.5rem);

  }



  .why-attend-cards-grid {

    margin-top: 0.65rem;

    width: min(100%, 24.5rem);

  }

}



@media (min-width: 768px) {

  .why-attend-stack {

    padding-bottom: 0;

  }



  .why-attend-header {

    position: absolute;

    top: 8.4rem;

    left: 0;

    right: 0;

    margin-inline: auto;

    width: min(calc(100% - 2.2rem), 48rem);

    margin-bottom: 0;

  }



  .why-attend-image-shell {

    width: min(100%, 46rem);

  }



  .why-attend-image-wrap {

    width: 100%;

    margin-inline: auto;

  }



  .why-attend-cards-grid {

    position: absolute;

    top: 66%;

    left: 50%;

    transform: translate(-50%, -50%);

    width: min(calc(100% - 2.2rem), 52rem);

    margin-top: 0;

    padding-inline: 0;

    z-index: 10;

  }



  .why-attend-card--center {

    grid-column: 1 / -1;

    justify-self: center;

    width: calc((100% - 1rem) / 2);

  }

}



@media (min-width: 1024px) {

  .why-attend-stack {

    padding-bottom: 0;

  }



  .why-attend-header {

    top: 9.8rem;

    width: min(calc(100% - 2.2rem), 52rem);

  }



  .why-attend-image-shell {

    width: min(100%, 50rem);

  }



  .why-attend-image-wrap {

    width: 100%;

  }



  .why-attend-cards-grid {

    width: min(calc(100% - 2.2rem), 58rem);

    top: 64%;

    transform: translate(-50%, -50%);

    padding-inline: 0;

  }

}



@media (prefers-reduced-motion: reduce) {

  .key-topic-card::after {

    animation: none;

  }



  .key-topic-card {

    transition: none;

  }



  .key-topic-card:hover {

    transform: none;

  }

}



/* Speakers section */

.speakers-section {

  position: relative;

  overflow: hidden;

}



.speakers-groups {

  display: grid;

  gap: clamp(2.75rem, 5vw, 4.5rem);

}



.speakers-loading,

.speakers-error {

  margin: 0;

  padding: 1.25rem;

  border: 1px solid rgba(9, 20, 19, 0.1);

  border-radius: 18px;

  font-family: "Inter Tight", sans-serif;

  font-size: 0.95rem;

  line-height: 1.45;

  text-align: center;

  color: rgba(9, 20, 19, 0.68);

  background: rgba(9, 20, 19, 0.025);

}



.speaker-group {

  display: grid;

  gap: 1.15rem;

}



.speaker-group-header {

  display: flex;

  align-items: center;

  justify-content: center;

  padding-bottom: 0.9rem;

  border-bottom: 1px solid rgba(9, 20, 19, 0.12);

  text-align: center;

}



.speaker-group-label {

  margin: 0;

  font-family: "Merriweather", serif;

  font-size: clamp(1.55rem, 3vw, 2.35rem);

  line-height: 1.15;

  font-weight: 300;

  color: #091413;

}



.speaker-group-label span {

  font-weight: 700;

  color: #285a48;

}



.speakers-grid {

  display: flex;

  flex-wrap: wrap;

  gap: 1rem;

  align-items: stretch;

  justify-content: center;

}



.speaker-card {

  --speaker-card-padding: 7px;

  --speaker-card-radius: 22px;

  position: relative;

  display: grid;

  flex: 0 1 16.2rem;

  grid-template-rows: auto 1fr;

  width: 100%;

  max-width: 16.2rem;

  min-height: 23.85rem;

  padding: var(--speaker-card-padding);

  border: 1px solid rgba(9, 20, 19, 0.1);

  border-radius: var(--speaker-card-radius);

  appearance: none;

  background-color: #00000008;

  color: inherit;

  cursor: pointer;

  font: inherit;

  overflow: hidden;

  text-align: center;

  box-shadow: 1px 1px 2px 0 #fffd, 2px 2px 2px #0001 inset, 2px 2px 4px #0001 inset, 2px 2px 8px #0001 inset;

  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease, box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1);

}



.speaker-card:hover,

.speaker-card:focus-visible {

  transform: translateY(-4px);

  border-color: rgba(40, 90, 72, 0.34);

  box-shadow: 1px 1px 2px 0 #fffd, 2px 2px 2px #0001 inset, 2px 2px 4px #0001 inset, 2px 2px 8px #0001 inset, 0 14px 24px rgba(9, 20, 19, 0.09);

}



.speaker-card:focus-visible {

  outline: 2px dashed hsla(154, 70%, 40%, 1);

  outline-offset: 5px;

}



.speaker-card::before {

  content: "";

  position: absolute;

  inset: var(--speaker-card-padding);

  border-radius: calc(var(--speaker-card-radius) - var(--speaker-card-padding));

  background: linear-gradient(#ffffff, #fafbfb);

  box-shadow: 1px 1px 2px -1px #fff inset, 0 2px 1px #00000010, 0 4px 2px #00000010, 0 8px 4px #00000010;

  pointer-events: none;

  z-index: 0;

}



.speaker-card::after {

  content: "";

  position: absolute;

  inset: calc(var(--speaker-card-padding) + 1px);

  border-radius: calc(var(--speaker-card-radius) - var(--speaker-card-padding) - 1px);

  background-image: radial-gradient(rgba(64, 138, 113, 0.28) 1px, transparent 1px);

  background-size: 7px 7px;

  background-position: 0 0;

  opacity: 0.58;

  mask-image: radial-gradient(circle at 50% 56%, rgba(9, 20, 19, 0.12) 0%, rgba(9, 20, 19, 0.22) 28%, rgba(9, 20, 19, 0.64) 62%, rgba(9, 20, 19, 0.92) 100%);

  -webkit-mask-image: radial-gradient(circle at 50% 56%, rgba(9, 20, 19, 0.12) 0%, rgba(9, 20, 19, 0.22) 28%, rgba(9, 20, 19, 0.64) 62%, rgba(9, 20, 19, 0.92) 100%);

  animation: event-dots-drift 22s linear infinite;

  pointer-events: none;

  z-index: 0;

}



.speaker-card-media,

.speaker-card-body {

  position: relative;

  z-index: 1;

}



.speaker-card-media {

  aspect-ratio: 4 / 4.45;

  border-radius: 14px;

  overflow: hidden;

  background: #ffffff;

}



.speaker-card-linkedin {

  position: absolute;

  top: 0.72rem;

  right: 0.72rem;

  z-index: 3;

  display: inline-grid;

  place-items: center;

  width: 2.35rem;

  height: 2.35rem;

  border: 1px solid #408a71;

  border-radius: 50%;

  background: #285a48;

  color: #ffffff;

  box-shadow: 0 8px 18px rgba(9, 20, 19, 0.2), inset 0 1px 0 rgba(176, 228, 204, 0.18);

  backdrop-filter: blur(8px);

  -webkit-backdrop-filter: blur(8px);

  transition: transform 0.22s ease, color 0.22s ease, background-color 0.22s ease, box-shadow 0.22s ease;

}



.speaker-card-linkedin svg {

  width: 1.08rem;

  height: 1.08rem;

  fill: currentColor;

}



a.speaker-card-linkedin:hover,

a.speaker-card-linkedin:focus-visible {

  transform: translateY(-2px) scale(1.04);

  background: #285a48;

  color: #ffffff;

  box-shadow: 0 10px 22px rgba(9, 20, 19, 0.28), 0 0 0 4px rgba(176, 228, 204, 0.24);

}



a.speaker-card-linkedin:focus-visible {

  outline: 2px dashed #b0e4cc;

  outline-offset: 3px;

}



.speaker-card-media img {

  display: block;

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: top center;

}



.speaker-card--avatar .speaker-card-media {

  background: #ffffff;

}



.speaker-card--avatar .speaker-card-media img {

  object-fit: contain;

  padding: clamp(0.95rem, 2vw, 1.25rem);

  filter: grayscale(20%) contrast(1.04);

}



.speaker-card-body {

  display: grid;

  grid-template-rows: 2.65em 2.62em minmax(2.05em, 3.05em) 2.15rem;

  row-gap: 0.26rem;

  align-content: start;

  padding: 0.95rem 0.28rem 0.3rem;

  text-align: center;

}



.speaker-card-name {

  margin: 0;

  font-family: "Inter Tight", sans-serif;

  font-size: 1rem;

  line-height: 1.35;

  font-weight: 750;

  letter-spacing: 0.01em;

  color: #091413;

  display: -webkit-box;

  -webkit-line-clamp: 2;

  -webkit-box-orient: vertical;

  overflow: hidden;

}



.speaker-card-designation {

  margin: 0;

  font-family: "Inter Tight", sans-serif;

  font-size: 0.65rem;

  line-height: 1.45;

  letter-spacing: 0.14em;

  text-transform: uppercase;

  font-weight: 800;

  color: rgba(40, 90, 72, 0.78);

  display: -webkit-box;

  -webkit-line-clamp: 2;

  -webkit-box-orient: vertical;

  overflow: hidden;

}



.speaker-card-company {

  margin: 0;

  font-family: "Inter Tight", sans-serif;

  font-size: 0.78rem;

  line-height: 1.36;

  font-weight: 540;

  color: rgba(9, 20, 19, 0.78);

  display: -webkit-box;

  -webkit-line-clamp: 3;

  -webkit-box-orient: vertical;

  overflow: hidden;

}



.speaker-card-company-logo-wrap {

  --company-logo-chip-padding: 4px;

  --company-logo-chip-radius: 14px;

  position: relative;

  align-self: end;

  justify-self: center;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  width: 100%;

  height: 3.2rem;

  padding: var(--company-logo-chip-padding);

  border-radius: var(--company-logo-chip-radius);

  background-color: #00000008;

  box-shadow: 1px 1px 2px 0 #fffd, 2px 2px 2px #0001 inset, 2px 2px 4px #0001 inset, 2px 2px 8px #0001 inset;

  overflow: hidden;

}



.speaker-card-company-logo-wrap::before {

  content: "";

  position: absolute;

  inset: var(--company-logo-chip-padding);

  border-radius: calc(var(--company-logo-chip-radius) - var(--company-logo-chip-padding));

  background: linear-gradient(#ffffff, #fbfcfb);

  box-shadow: 1px 1px 2px -1px #fff inset, 0 2px 1px #00000010, 0 4px 2px #00000010, 0 8px 4px #00000010;

  z-index: 0;

}



.speaker-card-company-logo-wrap::after {

  content: "";

  position: absolute;

  inset: calc(var(--company-logo-chip-padding) + 1px);

  border-radius: calc(var(--company-logo-chip-radius) - var(--company-logo-chip-padding) - 1px);

  background-image: radial-gradient(rgba(64, 138, 113, 0.28) 1px, transparent 1px);

  background-size: 6px 6px;

  opacity: 0.38;

  mask-image: linear-gradient(90deg, rgba(9, 20, 19, 0) 0%, rgba(9, 20, 19, 0.24) 28%, rgba(9, 20, 19, 0.24) 72%, rgba(9, 20, 19, 0) 100%);

  -webkit-mask-image: linear-gradient(90deg, rgba(9, 20, 19, 0) 0%, rgba(9, 20, 19, 0.24) 28%, rgba(9, 20, 19, 0.24) 72%, rgba(9, 20, 19, 0) 100%);

  pointer-events: none;

  z-index: 1;

}



.speaker-card-company-logo {

  position: relative;

  z-index: 2;

  display: block;

  max-width: calc(100% - 1.15rem);

  max-height: 2.2rem;

  width: auto;

  height: auto;

  object-fit: contain;

  filter: saturate(1.04) contrast(1.02);

}



body.speaker-modal-open {

  overflow: hidden;

}



.speaker-modal {

  position: fixed;

  inset: 0;

  z-index: 115;

  display: grid;

  place-items: center;

  padding: clamp(1rem, 3vw, 2rem);

  opacity: 0;

  pointer-events: none;

  transition: opacity 0.26s ease;

}



.speaker-modal[hidden] {

  display: none;

}



.speaker-modal.is-open {

  opacity: 1;

  pointer-events: auto;

}



.speaker-modal-backdrop {

  position: absolute;

  inset: 0;

  background: rgba(9, 20, 19, 0.58);

  backdrop-filter: blur(10px);

}



.speaker-modal-panel {

  --speaker-modal-padding: 7px;

  --speaker-modal-radius: 24px;

  position: relative;

  z-index: 1;

  width: min(100%, 62rem);

  max-height: min(88vh, 50rem);

  padding: var(--speaker-modal-padding);

  border: 1px solid rgba(255, 255, 255, 0.72);

  border-radius: var(--speaker-modal-radius);

  background-color: #00000008;

  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.3), 1px 1px 2px 0 #fffd, 2px 2px 2px #0001 inset, 2px 2px 4px #0001 inset, 2px 2px 8px #0001 inset;

  overflow: hidden;

  transform: translateY(14px) scale(0.985);

  transition: transform 0.26s cubic-bezier(0.16, 1, 0.3, 1);

}



.speaker-modal-panel::before {

  content: "";

  position: absolute;

  inset: var(--speaker-modal-padding);

  border-radius: calc(var(--speaker-modal-radius) - var(--speaker-modal-padding));

  background: #ffffff;

  box-shadow: 1px 1px 2px -1px #fff inset, 0 2px 1px #00000010, 0 4px 2px #00000010, 0 8px 4px #00000010;

  z-index: 0;

}



.speaker-modal.is-open .speaker-modal-panel {

  transform: translateY(0) scale(1);

}



.speaker-modal-layout {

  position: relative;

  z-index: 1;

  display: grid;

  grid-template-columns: minmax(14rem, 0.78fr) minmax(0, 1.22fr);

  gap: clamp(1.2rem, 3vw, 2rem);

  height: calc(min(88vh, 50rem) - (var(--speaker-modal-padding) * 2));

  max-height: calc(min(88vh, 50rem) - (var(--speaker-modal-padding) * 2));

  padding: clamp(1rem, 2.5vw, 1.6rem);

  overflow: hidden;

  -ms-overflow-style: none;

  scrollbar-width: none;

}

.speaker-modal-layout::-webkit-scrollbar {

  display: none;

  width: 0;

  height: 0;

}



.speaker-modal-media {

  align-self: start;

  width: 82%;

  margin-inline: auto;

  aspect-ratio: 4 / 4.55;

  border-radius: 16px;

  overflow: hidden;

  background: #ffffff;

}



.speaker-modal-media img {

  display: block;

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: top center;

}



.speaker-modal-media.is-avatar {

  background: #ffffff;

}



.speaker-modal-media.is-avatar img {

  object-fit: contain;

  padding: clamp(1rem, 3vw, 1.65rem);

  filter: grayscale(18%) contrast(1.04);

}

.speaker-modal-profile {

  min-width: 0;

  align-self: start;

}

.speaker-modal-profile .speaker-modal-identity {

  padding: 0.75rem 0.35rem 0;

}

.speaker-modal-profile .speaker-modal-group {

  margin-bottom: 0.42rem;

}

.speaker-modal-profile .speaker-modal-identity .speaker-modal-name {

  font-size: clamp(1.3rem, 2vw, 1.78rem);

  line-height: 1.14;

}

.speaker-modal-profile .speaker-modal-identity .speaker-modal-designation {

  margin-top: 0.55rem;

  margin-bottom: 0.2rem;

  font-size: clamp(0.88rem, 1.15vw, 0.98rem);

  line-height: 1.3;

}

.speaker-modal-profile .speaker-modal-identity .speaker-modal-company {

  margin-bottom: 0;

  font-size: 0.66rem;

  line-height: 1.35;

  letter-spacing: 0.11em;

}



.speaker-modal-content {

  min-width: 0;

  height: 100%;

  align-self: start;

  padding-right: 0.65rem;

  overflow-y: auto;

  -ms-overflow-style: none;

  scrollbar-width: none;

}

.speaker-modal-content::-webkit-scrollbar {

  display: none;

  width: 0;

}



.speaker-modal-group {

  margin: 0 0 0.72rem;

  font-family: "Inter Tight", sans-serif;

  font-size: 0.68rem;

  font-weight: 800;

  letter-spacing: 0.18em;

  line-height: 1.2;

  text-transform: uppercase;

  color: rgba(40, 90, 72, 0.82);

}



.speaker-modal-name {

  margin: 0;

  font-family: "Merriweather", serif;

  font-size: clamp(1.9rem, 4.2vw, 3.35rem);

  line-height: 1.1;

  font-weight: 300;

  color: #091413;

}



.speaker-modal-designation {

  margin: 1.05rem 0 0.28rem;

  font-family: "Inter Tight", sans-serif;

  font-size: clamp(1rem, 1.6vw, 1.16rem);

  line-height: 1.35;

  font-weight: 650;

  color: rgba(9, 20, 19, 0.86);

}



.speaker-modal-company {

  margin: 0 0 1.2rem;

  font-family: "Inter Tight", sans-serif;

  font-size: 0.72rem;

  line-height: 1.45;

  font-weight: 800;

  letter-spacing: 0.14em;

  text-transform: uppercase;

  color: rgba(40, 90, 72, 0.78);

}



.speaker-modal-bio {

  display: grid;

  gap: 0.82rem;

  padding-top: 1.05rem;

  border-top: 1px solid rgba(9, 20, 19, 0.12);

}



.speaker-modal-bio p {

  margin: 0;

  font-family: "Inter Tight", sans-serif;

  font-size: 0.98rem;

  line-height: 1.68;

  color: rgba(9, 20, 19, 0.76);

}

.speaker-modal-announcement {

  position: relative;

  container-type: inline-size;

  display: grid;

  gap: 0.55rem;

  margin-top: 1.3rem;

  padding: clamp(1.1rem, 2.4vw, 1.45rem);

  border: 1px solid rgba(176, 228, 204, 0.3);

  border-radius: 18px;

  overflow: hidden;

  background:
    radial-gradient(circle at 92% 8%, rgba(176, 228, 204, 0.2), transparent 38%),
    linear-gradient(135deg, #285a48 0%, #1f4c3d 100%);

  box-shadow: none;

}

.speaker-modal-announcement[hidden] {

  display: none;

}

.speaker-modal-announcement:not([hidden]) + .speaker-modal-bio {

  margin-top: 1.3rem;

}

.speaker-modal-announcement::before {

  content: "";

  position: absolute;

  top: 50%;

  left: 0;

  width: 3px;

  height: 8rem;

  transform: translateY(-50%);

  border-radius: 0 999px 999px 0;

  background: #b0e4cc;

}

.speaker-modal-announcement-title,

.speaker-modal-announcement-label,

.speaker-modal-announcement-topic,

.speaker-modal-announcement-copy {

  margin: 0;

}

.speaker-modal-announcement-title {

  max-width: none;

  font-family: "Merriweather", serif;

  font-size: clamp(0.72rem, 3.8cqw, 1.32rem);

  font-weight: 700;

  line-height: 1.35;

  letter-spacing: -0.01em;

  white-space: nowrap;

  color: #ffffff;

}

.speaker-modal-announcement-label {

  margin-top: 0.25rem;

  font-family: "Inter Tight", sans-serif;

  font-size: 0.67rem;

  font-weight: 800;

  letter-spacing: 0.16em;

  line-height: 1.2;

  text-transform: uppercase;

  color: rgba(176, 228, 204, 0.76);

}

.speaker-modal-announcement-label[hidden],

.speaker-modal-announcement-topic[hidden] {

  display: none;

}

.speaker-modal-announcement-topic {

  font-family: "Merriweather", serif;

  font-size: clamp(1rem, 1.7vw, 1.18rem);

  font-weight: 700;

  line-height: 1.45;

  color: #b0e4cc;

  padding-bottom: 0.9rem;

  margin-bottom: 0.2rem;

  border-bottom: 1px solid rgba(176, 228, 204, 0.3);

}

.speaker-modal-announcement:not(.has-presentation-topic) .speaker-modal-announcement-title {

  padding-bottom: 0.9rem;

  margin-bottom: 0.2rem;

  border-bottom: 1px solid rgba(176, 228, 204, 0.3);

}

.speaker-modal-announcement-topic.is-typing::after {

  content: "";

  display: inline-block;

  width: 2px;

  height: 1em;

  margin-left: 0.18em;

  vertical-align: -0.12em;

  border-radius: 999px;

  background: currentColor;

  animation: speaker-topic-caret-blink 0.72s steps(1, end) infinite;

}

@keyframes speaker-topic-caret-blink {

  0%,

  48% {

    opacity: 1;

  }

  49%,

  100% {

    opacity: 0;

  }

}

.speaker-modal-announcement-copy {

  max-width: 28rem;

  font-family: "Inter Tight", sans-serif;

  font-size: 0.91rem;

  line-height: 1.55;

  color: rgba(255, 255, 255, 0.76);

}

.speaker-modal-announcement-copy strong {

  color: #ffffff;

}

.speaker-modal-register {

  --cut-shell-padding: 5px;

  --cut-shell-radius: 20px;

  --cut-core-color: #091413;

  --cut-shell-color: rgba(255, 255, 255, 0.1);

  width: min(100%, 12.5rem);

  height: 50px;

  margin-top: 0.35rem;

  transition: transform 0.25s cubic-bezier(0.25, 1.5, 0.5, 1), filter 0.25s ease;

}

.speaker-modal-register::before {

  width: 100%;

  height: calc(2.5rem + (var(--cut-shell-padding) * 2));

}

.speaker-modal-register .circle {

  width: calc(100% - (var(--cut-shell-padding) * 2));

  height: 2.5rem;

}

.speaker-modal-register .circle .icon.arrow {

  background: #b0e4cc;

  transform: translate(1rem, 0);

}

.speaker-modal-register .button-text {

  margin-left: calc(2.5rem + (var(--cut-shell-padding) * 2) + 0.45rem);

  color: #b0e4cc;

  font-size: 0.78rem;

}

.speaker-modal-register:hover,

.speaker-modal-register:focus-visible {

  transform: translateY(-2px);

  filter: drop-shadow(0 8px 12px rgba(9, 20, 19, 0.28));

}

.speaker-modal-register:hover .circle,

.speaker-modal-register:focus-visible .circle {

  background: linear-gradient(#fff2, #0001), #408a71;

}

.speaker-modal-register:hover .circle .icon.arrow,

.speaker-modal-register:focus-visible .circle .icon.arrow {

  background: #ffffff;

  transform: translate(1.2rem, 0);

}

.speaker-modal-register:hover .button-text,

.speaker-modal-register:focus-visible .button-text {

  color: #ffffff;

}

.speaker-modal-register:active {

  transform: translateY(0);

  filter: drop-shadow(0 3px 5px rgba(9, 20, 19, 0.22));

}

.speaker-modal-register:focus-visible {

  outline-color: #b0e4cc;

}



.speaker-modal-close {

  --speaker-close-padding: 5px;

  --speaker-close-radius: 14px;

  position: absolute;

  top: 0.75rem;

  right: 0.75rem;

  z-index: 3;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  width: 2.75rem;

  height: 2.75rem;

  border: 0;

  border-radius: var(--speaker-close-radius);

  background-color: #00000008;

  box-shadow: 1px 1px 2px 0 #fffd, 2px 2px 2px #0001 inset, 2px 2px 4px #0001 inset, 2px 2px 8px #0001 inset;

  color: #b0e4cc;

  cursor: pointer;

  font-family: "Inter Tight", sans-serif;

  font-size: 1.5rem;

  line-height: 1;

}



.speaker-modal-close::before {

  content: "";

  position: absolute;

  inset: var(--speaker-close-padding);

  border-radius: calc(var(--speaker-close-radius) - var(--speaker-close-padding));

  background: linear-gradient(#fff2, #0001), #091413;

  box-shadow: 1px 1px 2px -1px #fff inset, 0 2px 1px #00000010, 0 4px 2px #00000010, 0 8px 4px #00000010;

}



.speaker-modal-close span {

  position: relative;

  z-index: 1;

  transform: translateY(-1px);

}



.speaker-modal-close:hover,

.speaker-modal-close:focus-visible {

  color: #ffffff;

}



.speaker-modal-close:focus-visible {

  outline: 2px dashed hsla(154, 70%, 40%, 1);

  outline-offset: 5px;

}



@media (min-width: 768px) {

  .speakers-grid {

    gap: 1.15rem;

  }

}



@media (max-width: 767px) {

  .speaker-group-header {

    align-items: center;

  }



  .speaker-card {

    min-height: 23.4rem;

  }



  .speaker-modal-layout {

    grid-template-columns: 1fr;

    gap: 1.1rem;

    height: auto;

    padding: 1rem 0.85rem;

    overflow: auto;

  }



  .speaker-modal-media {

    width: min(88%, 16rem);

    margin-inline: auto;

  }



  .speaker-modal-content {

    height: auto;

    align-self: start;

    padding-right: 0;

    overflow: visible;

  }



  .speaker-modal-close {

    top: 0.58rem;

    right: 0.58rem;

    width: 2.45rem;

    height: 2.45rem;

    font-size: 1.3rem;

  }

}



@media (max-width: 479px) {

  .speaker-card-body {

    grid-template-rows: auto auto auto;

  }

}



@media (prefers-reduced-motion: reduce) {

  .speaker-card,

  .speaker-card-linkedin,

  .speaker-modal,

  .speaker-modal-panel {

    transition: none;

  }



  .speaker-card::after {

    animation: none;

  }



  .speaker-card:hover,

  .speaker-card:focus-visible {

    transform: none;

  }

}



/* Series Speakers section */

.series-speakers-marquee-bleed {

  width: 100vw;

  margin-left: calc(50% - 50vw);

}



.series-speakers-marquee {

  --speaker-gap: 1rem;

  position: relative;

  overflow: hidden;

  padding: 0.2rem 0;

}



.series-speakers-marquee::before,

.series-speakers-marquee::after {

  content: "";

  position: absolute;

  top: 0;

  bottom: 0;

  width: clamp(0.8rem, 1.8vw, 1.4rem);

  z-index: 3;

  pointer-events: none;

}



.series-speakers-marquee::before {

  left: 0;

  background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0) 100%);

}



.series-speakers-marquee::after {

  right: 0;

  background: linear-gradient(270deg, #ffffff 0%, rgba(255, 255, 255, 0) 100%);

}



.series-speakers-track {

  display: flex;

  align-items: stretch;

  gap: var(--speaker-gap);

  width: max-content;

  animation: series-speakers-scroll 52s linear infinite;

  will-change: transform;

}



.series-speakers-marquee:hover .series-speakers-track {

  animation-play-state: paused;

}



.series-speaker-card {

  --speaker-shell-padding: 6px;

  --speaker-shell-radius: 20px;

  position: relative;

  flex: 0 0 clamp(11.9rem, 20vw, 14rem);

  min-width: clamp(11.9rem, 20vw, 14rem);

  min-height: 19.4rem;

  padding: var(--speaker-shell-padding);

  border-radius: var(--speaker-shell-radius);

  background-color: #00000008;

  box-shadow: 1px 1px 2px 0 #fffd, 2px 2px 2px #0001 inset, 2px 2px 4px #0001 inset, 2px 2px 8px #0001 inset;

  overflow: hidden;

  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1);

}



.series-speaker-card:hover {

  transform: translateY(-4px);

  box-shadow: 1px 1px 2px 0 #fffd, 2px 2px 2px #0001 inset, 2px 2px 4px #0001 inset, 2px 2px 8px #0001 inset, 0 14px 24px rgba(9, 20, 19, 0.08);

}



.series-speaker-card::before {

  content: "";

  position: absolute;

  inset: var(--speaker-shell-padding);

  border-radius: calc(var(--speaker-shell-radius) - var(--speaker-shell-padding));

  background: linear-gradient(#ffffff, #fafbfb);

  box-shadow: 1px 1px 2px -1px #fff inset, 0 2px 1px #00000010, 0 4px 2px #00000010, 0 8px 4px #00000010;

  z-index: 0;

}



.series-speaker-card::after {

  content: "";

  position: absolute;

  inset: calc(var(--speaker-shell-padding) + 1px);

  border-radius: calc(var(--speaker-shell-radius) - var(--speaker-shell-padding) - 1px);

  background-image: radial-gradient(rgba(64, 138, 113, 0.28) 1px, transparent 1px);

  background-size: 7px 7px;

  background-position: 0 0;

  opacity: 0.52;

  mask-image: radial-gradient(circle at 50% 56%, rgba(9, 20, 19, 0.12) 0%, rgba(9, 20, 19, 0.22) 28%, rgba(9, 20, 19, 0.64) 62%, rgba(9, 20, 19, 0.92) 100%);

  -webkit-mask-image: radial-gradient(circle at 50% 56%, rgba(9, 20, 19, 0.12) 0%, rgba(9, 20, 19, 0.22) 28%, rgba(9, 20, 19, 0.64) 62%, rgba(9, 20, 19, 0.92) 100%);

  animation: event-dots-drift 22s linear infinite;

  will-change: background-position;

  pointer-events: none;

  z-index: 0;

}



.series-speaker-media,

.series-speaker-body {

  position: relative;

  z-index: 1;

}



.series-speaker-media {

  aspect-ratio: 4 / 4.45;

  border-radius: 13px;

  overflow: hidden;

  background: rgba(9, 20, 19, 0.04);

}



.series-speaker-media img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: top center;

}



.series-speaker-body {

  padding: 0.78rem 0.16rem 0.2rem;

  text-align: center;

  display: grid;

  grid-template-rows: 2.56em 2.62em 1.95em;

  row-gap: 0.25rem;

  align-content: start;

}



.series-speaker-name {

  margin: 0;

  font-family: "Inter Tight", sans-serif;

  font-size: 0.91rem;

  line-height: 1.34;

  font-weight: 700;

  letter-spacing: 0.01em;

  color: #091413;

  display: -webkit-box;

  -webkit-line-clamp: 2;

  -webkit-box-orient: vertical;

  overflow: hidden;

}



.series-speaker-role {

  margin: 0;

  font-family: "Inter Tight", sans-serif;

  font-size: 0.7rem;

  line-height: 1.35;

  font-weight: 500;

  color: rgba(9, 20, 19, 0.78);

  display: -webkit-box;

  -webkit-line-clamp: 2;

  -webkit-box-orient: vertical;

  overflow: hidden;

}



.series-speaker-org {

  margin: 0;

  font-family: "Inter Tight", sans-serif;

  font-size: 0.59rem;

  letter-spacing: 0.14em;

  text-transform: uppercase;

  font-weight: 800;

  color: rgba(40, 90, 72, 0.74);

  display: -webkit-box;

  -webkit-line-clamp: 2;

  -webkit-box-orient: vertical;

  overflow: hidden;

}



@keyframes series-speakers-scroll {

  from {

    transform: translateX(0);

  }

  to {

    transform: translateX(calc(-50% - (var(--speaker-gap) / 2)));

  }

}



@media (min-width: 768px) {

  .series-speakers-marquee {

    --speaker-gap: 1.15rem;

  }

}



@media (max-width: 639px) {

  .series-speaker-card {

    flex: 0 0 11.25rem;

    min-width: 11.25rem;

    min-height: 18.55rem;

  }



  .series-speaker-name {

    font-size: 0.86rem;

  }



  .series-speaker-body {

    grid-template-rows: 2.5em 2.55em 1.92em;

    row-gap: 0.22rem;

  }



  .series-speaker-role {

    font-size: 0.66rem;

  }

}



@media (prefers-reduced-motion: reduce) {

  .series-sponsors-marquee {

    overflow-x: auto;

    padding-bottom: 0.45rem;

  }



  .series-sponsors-marquee::before,

  .series-sponsors-marquee::after {

    display: none;

  }



  .series-sponsors-track {

    animation: none;

  }



  .series-speakers-marquee {

    overflow-x: auto;

    padding-bottom: 0.45rem;

  }



  .series-speakers-marquee::before,

  .series-speakers-marquee::after {

    display: none;

  }



.series-speakers-track {

  animation: none;

}

}



@media (prefers-reduced-motion: reduce) {

  .series-sponsors-marquee,

  .series-speakers-marquee {

    scrollbar-width: none;

    -ms-overflow-style: none;

  }



  .series-sponsors-marquee::-webkit-scrollbar,

  .series-speakers-marquee::-webkit-scrollbar {

    display: none;

  }

}
