/* [next]/internal/font/google/montserrat_b8cf750e.module.css [app-client] (css) */
@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/8298327da6d5bcce-s.fb2d5852.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/44fac91e6f2d2b1b-s.0a39a854.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/2b402d8aebffd579-s.ec7e94a5.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/a88409fdd7dc121c-s.62b55a98.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/e8f2fbee2754df70-s.p.9b7a96b4.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/8298327da6d5bcce-s.fb2d5852.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/44fac91e6f2d2b1b-s.0a39a854.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/2b402d8aebffd579-s.ec7e94a5.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/a88409fdd7dc121c-s.62b55a98.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/e8f2fbee2754df70-s.p.9b7a96b4.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/8298327da6d5bcce-s.fb2d5852.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/44fac91e6f2d2b1b-s.0a39a854.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/2b402d8aebffd579-s.ec7e94a5.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/a88409fdd7dc121c-s.62b55a98.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/e8f2fbee2754df70-s.p.9b7a96b4.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/8298327da6d5bcce-s.fb2d5852.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/44fac91e6f2d2b1b-s.0a39a854.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/2b402d8aebffd579-s.ec7e94a5.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/a88409fdd7dc121c-s.62b55a98.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/e8f2fbee2754df70-s.p.9b7a96b4.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Montserrat Fallback;
  src: local(Arial);
  ascent-override: 85.79%;
  descent-override: 22.25%;
  line-gap-override: 0.0%;
  size-adjust: 112.83%;
}

.montserrat_b8cf750e-module__zjm1AG__className {
  font-family: Montserrat, Montserrat Fallback;
  font-style: normal;
}

/* [project]/src/app/globals.css [app-client] (css) */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root {
  --bg-color-center: #151622;
  --bg-color-edge: #0b0c10;
  --text-color: #fff;
  --subtitle-color: #aeb7c0;
  --grid-color: #ffffff08;
  --e-color: #fff;
  --star-fill: #fff;
  --star-opacity: .8;
  --text-glow: none;
}

body.light-theme {
  --bg-color-center: #fff;
  --bg-color-edge: #e2e8f0;
  --text-color: #0f172a;
  --subtitle-color: #475569;
  --grid-color: #0000000d;
  --e-color: #0f172a;
  --star-fill: #0f172a;
  --star-opacity: .15;
  --text-glow: 0 0 15px #ffffffe6, 0 0 30px #fff9;
}

body, html {
  background: radial-gradient(circle at 75% 50%, var(--bg-color-center) 0%, var(--bg-color-edge) 70%);
  width: 100%;
  height: 100%;
  color: var(--text-color);
  font-family: Montserrat, sans-serif;
  transition: background .5s, color .5s;
}

#canvas-container {
  z-index: 1;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
}

.grid-overlay {
  z-index: 2;
  pointer-events: none;
  background-size: 80px 80px;
  background-image: linear-gradient(to right, var(--grid-color) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-color) 1px, transparent 1px);
  -webkit-mask-image: radial-gradient(circle, #000 20%, #0000001a 80%);
  mask-image: radial-gradient(circle, #000 20%, #0000001a 80%);
  width: 100%;
  height: 100%;
  transition: background-image .5s;
  position: fixed;
  top: 0;
  left: 0;
  -webkit-mask-image: radial-gradient(circle at 60%, #000 20%, #0000001a 90%);
}

.hero-section {
  z-index: 10;
  pointer-events: none;
  width: 100%;
  min-height: 100vh;
  position: relative;
}

.main-content-wrapper {
  z-index: 10;
  pointer-events: none;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 0 10%;
  display: flex;
  position: absolute;
  top: 40%;
  left: 0;
  transform: translateY(-50%);
}

.content-left {
  max-width: 600px;
}

.content-right {
  text-align: right;
  max-width: 450px;
}

.scroll-prompt {
  color: var(--subtitle-color);
  z-index: 10;
  cursor: pointer;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  transition: color .3s;
  display: flex;
  position: absolute;
  bottom: 6%;
  left: 50%;
  transform: translateX(-50%);
}

.scroll-prompt:hover {
  color: var(--text-color);
}

.scroll-text {
  letter-spacing: .05em;
  opacity: .8;
  font-size: 1.25rem;
  font-weight: 500;
  animation: 3s infinite bounce;
}

.scroll-arrow {
  animation: 2s infinite bounce;
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }

  40% {
    transform: translateY(-10px);
  }

  60% {
    transform: translateY(-5px);
  }
}

.secondary-section {
  background-color: var(--bg-color-center);
  z-index: 20;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 100vh;
  padding: 100px 20px;
  transition: background-color .5s;
  display: flex;
  position: relative;
  overflow: hidden;
}

.secondary-content {
  text-align: center;
  max-width: 800px;
}

.section-title {
  color: var(--text-color);
  letter-spacing: -.02em;
  margin-bottom: 24px;
  font-size: 3rem;
  font-weight: 600;
}

.section-text {
  color: var(--subtitle-color);
  font-size: 1.2rem;
  line-height: 1.8;
}

.placeholder-title {
  color: var(--text-color);
  letter-spacing: .05em;
  text-shadow: var(--text-glow);
  margin-bottom: 1rem;
  font-size: 1.5rem;
  font-weight: 700;
  transition: color .5s, text-shadow .5s;
}

.placeholder-text {
  color: var(--text-color);
  text-shadow: var(--text-glow);
  font-size: 1.05rem;
  line-height: 1.6;
  transition: color .5s, text-shadow .5s;
}

.hero-title {
  letter-spacing: -.02em;
  color: var(--text-color);
  text-shadow: var(--text-glow);
  margin-bottom: 1rem;
  font-size: 3.5rem;
  font-weight: 600;
  line-height: 1.1;
  transition: color .5s, text-shadow .5s;
}

.logo {
  letter-spacing: .25em;
  color: var(--text-color);
  align-items: center;
  margin-bottom: .8rem;
  font-size: 5.5rem;
  font-weight: 500;
  transition: color .5s;
  display: flex;
}

.custom-e {
  flex-direction: column;
  justify-content: space-between;
  width: 44px;
  height: 52px;
  margin-top: 5px;
  margin-right: 18px;
  display: inline-flex;
}

.custom-e span {
  background-color: var(--e-color);
  clip-path: polygon(0 0, 100% 0, calc(100% - 6px) 100%, 0 100%);
  width: 100%;
  height: 9px;
  transition: background-color .5s;
}

.custom-e span:nth-child(2) {
  width: 70%;
}

.subtitle {
  color: var(--subtitle-color);
  letter-spacing: .02em;
  text-shadow: var(--text-glow);
  font-size: 1.15rem;
  font-weight: 400;
  transition: color .5s, text-shadow .5s;
}

.main-header {
  z-index: 100;
  pointer-events: auto;
  border-bottom: 1px solid #0000;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 20px 48px;
  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  transition: background-color .3s, padding .3s, border-bottom .3s, -webkit-backdrop-filter .3s, backdrop-filter .3s;
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
}

.main-header.scrolled {
  -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid var(--grid-color);
  background-color: #0b0c10e6;
  padding: 12px 48px;
}

body.light-theme .main-header.scrolled {
  background-color: #fffffff2;
}

.header-left {
  flex: 1;
}

.header-logo {
  letter-spacing: .1em;
  color: var(--text-color);
  text-transform: uppercase;
  align-items: center;
  font-size: 1.15rem;
  font-weight: 700;
  text-decoration: none;
  display: flex;
}

.header-custom-e {
  width: 14px;
  height: 16px;
  margin-top: 0;
  margin-right: 4px;
}

.header-custom-e span {
  clip-path: polygon(0 0, 100% 0, calc(100% - 2px) 100%, 0 100%);
  height: 3px;
}

.header-nav {
  align-items: center;
  gap: 28px;
  display: flex;
}

.nav-link {
  color: var(--text-color);
  opacity: .85;
  align-items: center;
  gap: 4px;
  font-size: .95rem;
  font-weight: 500;
  text-decoration: none;
  transition: opacity .2s;
  display: flex;
}

.nav-link:hover {
  opacity: 1;
}

.nav-link.has-dropdown svg {
  opacity: .7;
  margin-top: 2px;
}

.nav-link.has-dropdown {
  cursor: pointer;
  padding: 8px 0;
  position: relative;
}

.dropdown-menu {
  -webkit-backdrop-filter: blur(20px);
  opacity: 0;
  visibility: hidden;
  background: #0b0c10f2;
  border: 1px solid #ffffff14;
  border-radius: 12px;
  flex-direction: column;
  min-width: 220px;
  padding: 16px;
  transition: opacity .3s cubic-bezier(.16, 1, .3, 1), transform .3s cubic-bezier(.16, 1, .3, 1), visibility .3s;
  display: flex;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%)translateY(15px);
  box-shadow: 0 10px 40px #0006, 0 0 0 1px #00000080;
}

.dropdown-menu.multi-column {
  flex-direction: row;
  gap: 32px;
  min-width: max-content;
  padding: 24px;
}

.dropdown-col {
  flex-direction: column;
  min-width: 180px;
  display: flex;
}

.dropdown-section {
  flex-direction: column;
  display: flex;
}

.dropdown-heading {
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--subtitle-color);
  opacity: .7;
  margin-bottom: 8px;
  padding: 0 14px;
  font-size: .75rem;
  font-weight: 600;
}

body.light-theme .dropdown-menu {
  background: #fffffffa;
  border: 1px solid #0000000f;
  box-shadow: 0 10px 40px #00000014;
}

.nav-link.has-dropdown:hover .dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%)translateY(0);
}

.dropdown-menu a {
  color: var(--subtitle-color);
  border-radius: 6px;
  align-items: center;
  padding: 8px 14px;
  font-size: .95rem;
  text-decoration: none;
  transition: color .2s, background-color .2s;
  display: flex;
}

.dropdown-menu a:hover {
  color: var(--text-color);
  background-color: #ffffff0f;
}

body.light-theme .dropdown-menu a:hover {
  background-color: #0000000d;
}

.header-right {
  flex: 1;
  justify-content: flex-end;
  align-items: center;
  gap: 20px;
  display: flex;
}

.try-btn-group {
  background-color: var(--text-color);
  border-radius: 8px;
  height: 40px;
  display: flex;
  overflow: hidden;
}

.btn-main {
  color: var(--bg-color-center);
  background: none;
  border: none;
  align-items: center;
  padding: 0 16px;
  font-size: .95rem;
  font-weight: 500;
  text-decoration: none;
  transition: background-color .2s;
  display: flex;
}

.btn-dropdown {
  color: var(--bg-color-center);
  cursor: pointer;
  background: none;
  border: none;
  border-left: 1px solid #8080804d;
  justify-content: center;
  align-items: center;
  padding: 0 12px;
  transition: background-color .2s;
  display: flex;
}

.try-btn-group:hover {
  opacity: .9;
}

#theme-toggle {
  color: var(--text-color);
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  transition: background-color .3s, color .5s;
  display: flex;
}

#theme-toggle:hover {
  background-color: #80808033;
}

.icon-moon, body.light-theme .icon-sun {
  display: none;
}

body.light-theme .icon-moon {
  display: block;
}

.star-icon {
  z-index: 10;
  pointer-events: none;
  filter: drop-shadow(0 0 15px #ffffff80);
  position: absolute;
  bottom: 40px;
  right: 40px;
}

body.light-theme .star-icon {
  filter: drop-shadow(0 0 15px #0000001a);
}

.star-icon svg path {
  fill: var(--star-fill);
  opacity: var(--star-opacity);
  transition: fill .5s, opacity .5s;
}

.news-section {
  background-color: var(--bg-color-center);
  z-index: 20;
  border-top: 1px solid var(--grid-color);
  width: 100%;
  padding: 80px 10%;
  transition: background-color .5s;
  position: relative;
}

.news-grid {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 32px;
  margin-top: 40px;
  display: grid;
}

.news-card {
  border: 1px solid var(--grid-color);
  background-color: #ffffff05;
  border-radius: 12px;
  flex-direction: column;
  padding: 32px;
  text-decoration: none;
  transition: transform .3s, background-color .3s, border-color .3s;
  display: flex;
}

body.light-theme .news-card {
  background-color: #00000005;
}

.news-card:hover {
  background-color: #ffffff0d;
  border-color: #ffffff1a;
  transform: translateY(-4px);
}

body.light-theme .news-card:hover {
  background-color: #0000000d;
  border-color: #0000001a;
}

.news-card-title {
  color: var(--text-color);
  margin-bottom: 16px;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.3;
}

.news-card-meta {
  color: var(--subtitle-color);
  flex-direction: column;
  gap: 4px;
  margin-top: auto;
  padding-top: 24px;
  font-size: .85rem;
  display: flex;
}

.news-card-meta span {
  gap: 8px;
  display: flex;
}

.news-card-meta span strong {
  color: var(--text-color);
  width: 70px;
  font-weight: 500;
}

.feature-section {
  background-color: var(--bg-color-edge);
  z-index: 20;
  text-align: center;
  width: 100%;
  padding: 120px 10%;
  transition: background-color .5s;
  position: relative;
}

.feature-content {
  max-width: 800px;
  margin: 0 auto;
}

.feature-title {
  color: var(--text-color);
  letter-spacing: -.02em;
  margin-bottom: 24px;
  font-size: 4rem;
  font-weight: 600;
}

.feature-subtitle {
  color: var(--subtitle-color);
  margin-bottom: 40px;
  font-size: 1.25rem;
  line-height: 1.6;
}

.feature-link {
  color: var(--text-color);
  border-bottom: 1px solid var(--text-color);
  align-items: center;
  gap: 8px;
  padding-bottom: 4px;
  font-size: 1.1rem;
  font-weight: 500;
  text-decoration: none;
  transition: opacity .3s;
  display: inline-flex;
}

.feature-link:hover {
  opacity: .7;
}

.site-footer {
  background-color: var(--bg-color-center);
  z-index: 20;
  border-top: 1px solid var(--grid-color);
  width: 100%;
  padding: 80px 8% 40px;
  transition: background-color .5s;
  position: relative;
}

.footer-top {
  grid-template-columns: 1fr repeat(6, 1fr);
  gap: 32px;
  margin-bottom: 80px;
  display: grid;
}

@media (max-width: 1200px) {
  .footer-top {
    grid-template-columns: 1fr repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .footer-top {
    grid-template-columns: 1fr 1fr;
  }
}

.footer-brand, .footer-nav-col {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.footer-heading {
  color: var(--text-color);
  margin-bottom: 8px;
  font-size: .9rem;
  font-weight: 600;
}

.footer-link {
  color: var(--subtitle-color);
  font-size: .9rem;
  text-decoration: none;
  transition: color .2s;
}

.footer-link:hover {
  color: var(--text-color);
}

.footer-bottom {
  border-top: 1px solid var(--grid-color);
  color: var(--subtitle-color);
  justify-content: space-between;
  align-items: center;
  padding-top: 32px;
  font-size: .85rem;
  display: flex;
}

.footer-bottom-links {
  gap: 24px;
  display: flex;
}

.footer-bottom-links a {
  color: var(--subtitle-color);
  text-decoration: none;
  transition: color .2s;
}

.footer-bottom-links a:hover {
  color: var(--text-color);
}

.mobile-menu-btn {
  color: var(--text-color);
  cursor: pointer;
  z-index: 200;
  background: none;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  transition: background-color .3s;
  display: none;
}

.mobile-menu-btn:hover {
  background-color: #80808033;
}

.mobile-menu-overlay {
  background-color: var(--bg-color-edge);
  z-index: 90;
  opacity: 0;
  visibility: hidden;
  width: 100%;
  height: 100dvh;
  padding-top: 80px;
  padding-bottom: 40px;
  transition: opacity .3s, transform .3s, visibility .3s;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  overflow-y: auto;
  transform: translateY(-10px);
}

.mobile-menu-overlay.open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.mobile-menu-content {
  flex-direction: column;
  padding: 0 24px;
  display: flex;
}

.mobile-nav-link, .mobile-accordion-toggle {
  width: 100%;
  color: var(--text-color);
  border-bottom: 1px solid var(--grid-color);
  cursor: pointer;
  background: none;
  border-top: none;
  border-left: none;
  border-right: none;
  justify-content: space-between;
  align-items: center;
  padding: 24px 0;
  font-family: inherit;
  font-size: 1.25rem;
  font-weight: 500;
  text-decoration: none;
  transition: opacity .2s;
  display: flex;
}

.mobile-accordion-toggle svg {
  opacity: .6;
  transition: transform .3s;
}

.mobile-accordion.expanded .mobile-accordion-toggle svg {
  transform: rotate(180deg);
}

.mobile-accordion-content {
  opacity: 0;
  flex-direction: column;
  height: 0;
  padding-left: 12px;
  transition: opacity .3s;
  display: flex;
  overflow: hidden;
}

.mobile-accordion.expanded .mobile-accordion-content {
  opacity: 1;
  border-bottom: 1px solid var(--grid-color);
  height: auto;
  margin-top: -1px;
  padding: 16px 0 24px 12px;
}

.mobile-accordion-content a {
  color: var(--subtitle-color);
  padding: 12px 0;
  font-size: 1.05rem;
  text-decoration: none;
  transition: color .2s;
}

.mobile-accordion-content a:hover {
  color: var(--text-color);
}

.mobile-heading {
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--subtitle-color);
  opacity: .7;
  margin-top: 8px;
  margin-bottom: 8px;
  font-size: .8rem;
  font-weight: 600;
}

.mobile-heading:first-child {
  margin-top: 0;
}

.mobile-menu-footer {
  flex-direction: column;
  gap: 16px;
  margin-top: 40px;
  display: flex;
}

.mobile-btn {
  background-color: var(--text-color);
  color: var(--bg-color-center);
  border-radius: 8px;
  justify-content: center;
  padding: 14px 24px;
  font-size: 1rem;
}

#theme-toggle-mobile {
  color: var(--text-color);
  cursor: pointer;
  background: none;
  border: none;
  align-items: center;
  gap: 12px;
  padding: 14px 0;
  font-family: inherit;
  font-size: 1.05rem;
  font-weight: 500;
  display: flex;
}

.main-header.menu-open {
  -webkit-backdrop-filter: none;
  border-bottom: 1px solid var(--grid-color);
  background-color: var(--bg-color-edge) !important;
}

@media (max-width: 1024px) {
  .desktop-only {
    display: none !important;
  }

  .mobile-menu-btn {
    display: flex;
  }

  .mobile-menu-overlay {
    display: block;
  }

  .main-header {
    padding: 16px 24px;
  }

  .main-header.scrolled {
    padding: 12px 24px;
  }

  .main-content-wrapper {
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
    padding: 0 5%;
    top: 50%;
    transform: translateY(-50%);
  }

  .content-left {
    max-width: 100%;
  }

  .content-right {
    text-align: left;
    max-width: 100%;
  }

  .hero-title {
    font-size: 2.75rem;
  }

  .placeholder-title {
    font-size: 1.35rem;
  }

  .news-section {
    padding: 60px 24px;
  }

  .news-grid {
    grid-template-columns: 1fr;
  }

  .feature-section {
    text-align: left;
    padding: 80px 5%;
  }

  .feature-title {
    font-size: 2.5rem;
  }

  .feature-subtitle {
    font-size: 1.15rem;
  }

  .site-footer {
    padding: 60px 24px 40px;
  }

  .footer-top {
    grid-template-columns: 1fr 1fr;
    gap: 48px 24px;
  }

  .footer-brand {
    grid-column: 1 / -1;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }

  .footer-bottom-links {
    flex-direction: column;
    gap: 16px;
  }

  .footer-bottom-links span {
    display: none;
  }
}

@media (max-width: 480px) {
  .hero-title {
    font-size: 2.25rem;
  }

  .placeholder-title {
    font-size: 1.25rem;
  }

  .placeholder-text {
    font-size: 1rem;
  }

  .footer-top {
    grid-template-columns: 1fr;
  }
}

.research-hero {
  background-color: var(--bg-color-edge);
  border-bottom: 1px solid var(--grid-color);
  padding: 160px 10% 80px;
}

.research-hero-content {
  max-width: 800px;
}

.research-hero h1 {
  letter-spacing: -.02em;
  margin-bottom: 24px;
  font-size: 4rem;
  font-weight: 600;
}

.research-hero p {
  color: var(--subtitle-color);
  margin-bottom: 40px;
  font-size: 1.25rem;
  line-height: 1.6;
}

.team-nav {
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
  display: flex;
}

.team-tag {
  border: 1px solid var(--grid-color);
  color: var(--text-color);
  background-color: #ffffff0d;
  border-radius: 20px;
  padding: 8px 16px;
  font-size: .9rem;
  text-decoration: none;
  transition: background-color .2s, border-color .2s;
}

body.light-theme .team-tag {
  background-color: #00000008;
}

.team-tag:hover {
  background-color: #ffffff1a;
  border-color: #fff3;
}

body.light-theme .team-tag:hover {
  background-color: #0000000f;
  border-color: #0000001a;
}

.research-section {
  background-color: var(--bg-color-center);
  padding: 80px 10%;
}

.research-grid {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 40px;
  display: grid;
}

.research-card {
  border-top: 1px solid var(--grid-color);
  flex-direction: column;
  padding: 32px 0;
  display: flex;
}

.research-card-category {
  text-transform: uppercase;
  color: var(--subtitle-color);
  letter-spacing: .05em;
  margin-bottom: 12px;
  font-size: .8rem;
  font-weight: 600;
}

.research-card h3 {
  margin-bottom: 16px;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.3;
}

.research-card p {
  color: var(--subtitle-color);
  font-size: 1.05rem;
  line-height: 1.6;
}

.publications-section {
  background-color: var(--bg-color-edge);
  padding: 80px 10%;
}

.publication-list {
  margin-top: 40px;
}

.publication-item {
  border-top: 1px solid var(--grid-color);
  color: inherit;
  grid-template-columns: 140px 1fr 180px;
  padding: 24px 0;
  text-decoration: none;
  transition: opacity .2s;
  display: grid;
}

.publication-item:hover {
  opacity: .7;
}

.pub-date {
  color: var(--subtitle-color);
  font-size: .9rem;
}

.pub-title {
  padding-right: 40px;
  font-size: 1.1rem;
  font-weight: 500;
}

.pub-category {
  color: var(--subtitle-color);
  text-align: right;
  font-size: .9rem;
}

@media (max-width: 1024px) {
  .research-hero h1 {
    font-size: 3rem;
  }

  .publication-item {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .pub-category {
    text-align: left;
    order: -1;
  }
}

.research-video-section {
  background-color: var(--bg-color-center);
  z-index: 20;
  border-top: 1px solid var(--grid-color);
  width: 100%;
  padding: 100px 8%;
  transition: background-color .5s;
  position: relative;
}

.research-container {
  grid-template-columns: 1.5fr 1fr;
  gap: 64px;
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
}

@media (max-width: 1024px) {
  .research-container {
    grid-template-columns: 1fr;
    gap: 48px;
  }
}

.research-featured {
  flex-direction: column;
  gap: 32px;
  display: flex;
}

.video-wrapper {
  aspect-ratio: 16 / 9;
  background-color: #000;
  border-radius: 20px;
  width: 100%;
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 40px #0003;
}

.video-thumbnail-container {
  cursor: pointer;
  width: 100%;
  height: 100%;
  position: relative;
}

.video-thumbnail {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform .6s cubic-bezier(.16, 1, .3, 1);
}

.video-thumbnail-container:hover .video-thumbnail {
  transform: scale(1.02);
}

.play-button-overlay {
  cursor: pointer;
  z-index: 2;
  background: #000c;
  border: none;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  width: 64px;
  height: 64px;
  transition: background .3s, transform .3s;
  display: flex;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.play-button-overlay svg {
  width: 32px;
  height: 32px;
}

.video-thumbnail-container:hover .play-button-overlay {
  background: #000000e6;
  transform: translate(-50%, -50%)scale(1.1);
}

.video-iframe-container {
  width: 100%;
  height: 100%;
}

.featured-content {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.featured-title {
  color: var(--text-color);
  letter-spacing: -.02em;
  font-size: 2.5rem;
  font-weight: 700;
}

.featured-meta {
  align-items: center;
  gap: 12px;
  font-size: .9rem;
  display: flex;
}

.featured-category {
  color: var(--text-color);
  font-weight: 600;
}

.featured-date {
  color: var(--subtitle-color);
}

.featured-description {
  color: var(--text-color);
  opacity: .8;
  max-width: 90%;
  font-size: 1.1rem;
  line-height: 1.6;
}

.research-list {
  flex-direction: column;
  display: flex;
}

.research-item {
  border-bottom: 1px solid var(--grid-color);
  flex-direction: column;
  gap: 12px;
  padding: 32px 0;
  display: flex;
}

.research-item:first-child {
  padding-top: 0;
}

.research-item:last-child {
  border-bottom: none;
}

.item-meta {
  align-items: center;
  gap: 12px;
  font-size: .85rem;
  display: flex;
}

.item-category {
  color: var(--text-color);
  font-weight: 600;
}

.item-date {
  color: var(--subtitle-color);
}

.item-title {
  color: var(--text-color);
  cursor: pointer;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.3;
  transition: opacity .2s;
}

.item-title:hover {
  opacity: .7;
}

.item-description {
  color: var(--subtitle-color);
  font-size: .95rem;
  line-height: 1.5;
}

.newsroom-page {
  background-color: var(--bg-color-center);
  min-height: 100vh;
  padding-top: 100px;
}

.newsroom-container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 40px;
}

.newsroom-hero {
  padding: 80px 0 40px;
}

.newsroom-title {
  color: var(--text-color);
  letter-spacing: -.04em;
  font-size: 4rem;
  font-weight: 700;
}

.newsroom-list-section {
  padding-bottom: 120px;
}

.news-section-heading {
  color: var(--subtitle-color);
  text-transform: uppercase;
  letter-spacing: .05em;
  border-bottom: 1px solid var(--grid-color);
  margin-bottom: 32px;
  padding-bottom: 16px;
  font-size: 1.1rem;
  font-weight: 600;
}

.newsroom-list {
  flex-direction: column;
  display: flex;
}

.news-list-item {
  border-bottom: 1px solid var(--grid-color);
  grid-template-columns: 240px 1fr 40px;
  align-items: center;
  padding: 32px 0;
  text-decoration: none;
  transition: opacity .2s;
  display: grid;
}

.news-list-item:hover {
  opacity: .7;
}

.news-item-meta {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.news-item-date {
  color: var(--subtitle-color);
  font-size: .9rem;
}

.news-item-category {
  color: var(--text-color);
  font-size: .9rem;
  font-weight: 600;
}

.news-item-title {
  color: var(--text-color);
  letter-spacing: -.02em;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.3;
}

.news-item-arrow {
  color: var(--subtitle-color);
  opacity: 0;
  justify-content: flex-end;
  transition: opacity .3s, transform .3s;
  display: flex;
  transform: translateX(-10px);
}

.news-list-item:hover .news-item-arrow {
  opacity: 1;
  transform: translateX(0);
}

@media (max-width: 768px) {
  .newsroom-title {
    font-size: 3rem;
  }

  .news-list-item {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .news-item-meta {
    flex-direction: row;
    align-items: center;
    gap: 12px;
  }

  .news-item-arrow {
    display: none;
  }

  .news-item-title {
    font-size: 1.4rem;
  }
}

.business-profit-page {
  background-color: var(--bg-color-center);
  min-height: 100vh;
  padding-top: 100px;
}

.business-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 40px;
}

.business-hero {
  padding: 100px 0 60px;
}

.business-title {
  color: var(--text-color);
  letter-spacing: -.04em;
  margin-bottom: 24px;
  font-size: 5rem;
  font-weight: 700;
}

.business-subtitle {
  color: var(--subtitle-color);
  max-width: 600px;
  font-size: 1.5rem;
  line-height: 1.4;
}

.analysis-section {
  padding: 40px 0 100px;
}

.analysis-card {
  border: 1px solid var(--grid-color);
  background-color: #ffffff08;
  border-radius: 24px;
  flex-direction: column;
  gap: 24px;
  padding: 64px;
  display: flex;
}

body.light-theme .analysis-card {
  background-color: #00000005;
}

.analysis-title {
  color: var(--text-color);
  letter-spacing: -.02em;
  font-size: 2.5rem;
  font-weight: 700;
}

.analysis-text {
  color: var(--subtitle-color);
  max-width: 800px;
  font-size: 1.2rem;
  line-height: 1.6;
}

.analysis-link {
  color: var(--text-color);
  align-items: center;
  gap: 8px;
  font-size: 1.1rem;
  font-weight: 600;
  text-decoration: none;
  transition: opacity .2s;
  display: inline-flex;
}

.analysis-link:hover {
  opacity: .7;
}

.updates-section {
  padding-bottom: 120px;
}

.updates-heading {
  color: var(--subtitle-color);
  text-transform: uppercase;
  letter-spacing: .05em;
  border-bottom: 1px solid var(--grid-color);
  margin-bottom: 32px;
  padding-bottom: 16px;
  font-size: 1.1rem;
  font-weight: 600;
}

.updates-list {
  flex-direction: column;
  display: flex;
}

.update-list-item {
  border-bottom: 1px solid var(--grid-color);
  grid-template-columns: 240px 1fr 40px;
  align-items: center;
  padding: 32px 0;
  text-decoration: none;
  transition: opacity .2s;
  display: grid;
}

.update-list-item:hover {
  opacity: .7;
}

.update-item-meta {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.update-item-date {
  color: var(--subtitle-color);
  font-size: .9rem;
}

.update-item-category {
  color: var(--text-color);
  font-size: .9rem;
  font-weight: 600;
}

.update-item-title {
  color: var(--text-color);
  letter-spacing: -.02em;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.3;
}

.update-item-arrow {
  color: var(--subtitle-color);
  opacity: 0;
  justify-content: flex-end;
  transition: opacity .3s, transform .3s;
  display: flex;
  transform: translateX(-10px);
}

.update-list-item:hover .update-item-arrow {
  opacity: 1;
  transform: translateX(0);
}

@media (max-width: 900px) {
  .business-title {
    font-size: 3.5rem;
  }
}

@media (max-width: 768px) {
  .analysis-card {
    padding: 32px;
  }

  .analysis-title {
    font-size: 1.8rem;
  }

  .update-list-item {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .update-item-meta {
    flex-direction: row;
    align-items: center;
    gap: 12px;
  }

  .update-item-arrow {
    display: none;
  }
}

.about-page {
  background-color: var(--bg-color-center);
  min-height: 100vh;
  padding-top: 100px;
}

.about-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 40px;
}

.about-hero {
  padding: 100px 0 80px;
}

.about-title {
  color: var(--text-color);
  letter-spacing: -.04em;
  max-width: 900px;
  margin-bottom: 24px;
  font-size: 4.5rem;
  font-weight: 700;
  line-height: 1.1;
}

.about-subtitle {
  color: var(--subtitle-color);
  max-width: 700px;
  font-size: 1.5rem;
  line-height: 1.4;
}

.purpose-grid {
  border-top: 1px solid var(--grid-color);
  grid-template-columns: 1fr 1.5fr;
  gap: 80px;
  padding: 80px 0;
  display: grid;
}

.purpose-heading {
  color: var(--text-color);
  margin-bottom: 24px;
  font-size: 2rem;
  font-weight: 700;
}

.purpose-description {
  color: var(--subtitle-color);
  font-size: 1.2rem;
  line-height: 1.6;
}

.purpose-cards {
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  display: grid;
}

.about-card {
  border: 1px solid var(--grid-color);
  background: #ffffff08;
  border-radius: 16px;
  padding: 32px;
}

body.light-theme .about-card {
  background: #00000005;
}

.about-card h3 {
  color: var(--text-color);
  margin-bottom: 16px;
  font-size: 1.4rem;
  font-weight: 700;
}

.about-card p {
  color: var(--subtitle-color);
  font-size: 1rem;
  line-height: 1.5;
}

.section-heading {
  color: var(--subtitle-color);
  text-transform: uppercase;
  letter-spacing: .1em;
  border-bottom: 1px solid var(--grid-color);
  margin-bottom: 48px;
  padding-bottom: 24px;
  font-size: 1.1rem;
  font-weight: 600;
}

.team-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
  padding-bottom: 100px;
  display: grid;
}

.team-category h4 {
  color: var(--text-color);
  margin-bottom: 12px;
  font-size: 1.5rem;
  font-weight: 700;
}

.team-category p {
  color: var(--subtitle-color);
  line-height: 1.5;
}

.values-list {
  flex-direction: column;
  padding-bottom: 120px;
  display: flex;
}

.value-item {
  border-bottom: 1px solid var(--grid-color);
  grid-template-columns: 80px 1fr;
  padding: 48px 0;
  display: grid;
}

.value-number {
  color: var(--subtitle-color);
  font-family: monospace;
  font-size: 1.2rem;
  font-weight: 600;
}

.value-content h3 {
  color: var(--text-color);
  margin-bottom: 16px;
  font-size: 2rem;
  font-weight: 700;
}

.value-content p {
  color: var(--subtitle-color);
  max-width: 800px;
  font-size: 1.2rem;
}

.careers-page {
  background-color: var(--bg-color-center);
  min-height: 100vh;
  padding-top: 100px;
}

.careers-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 40px;
}

.careers-hero {
  padding: 100px 0 80px;
}

.careers-title {
  color: var(--text-color);
  letter-spacing: -.04em;
  margin-bottom: 24px;
  font-size: 5rem;
  font-weight: 700;
  line-height: 1;
}

.careers-subtitle {
  color: var(--subtitle-color);
  max-width: 600px;
  margin-bottom: 40px;
  font-size: 1.5rem;
  line-height: 1.4;
}

.careers-btn {
  padding: 16px 32px;
  font-size: 1.1rem;
}

.culture-grid {
  border-top: 1px solid var(--grid-color);
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  padding: 80px 0;
  display: grid;
}

.culture-features {
  flex-direction: column;
  gap: 32px;
  display: flex;
}

.culture-card {
  border-left: 2px solid var(--grid-color);
  padding: 32px;
}

.culture-card h3 {
  color: var(--text-color);
  margin-bottom: 12px;
  font-size: 1.5rem;
  font-weight: 700;
}

.culture-card p {
  color: var(--subtitle-color);
  line-height: 1.5;
}

.benefits-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  padding-bottom: 80px;
  display: grid;
}

.benefit-item h4 {
  color: var(--text-color);
  margin-bottom: 12px;
  font-size: 1.3rem;
  font-weight: 700;
}

.benefit-item p {
  color: var(--subtitle-color);
  line-height: 1.5;
}

.process-list {
  flex-direction: column;
  padding-bottom: 100px;
  display: flex;
}

.process-step {
  border-bottom: 1px solid var(--grid-color);
  grid-template-columns: 60px 1fr;
  padding: 40px 0;
  display: grid;
}

.step-num {
  color: var(--subtitle-color);
  font-size: 1.5rem;
  font-weight: 700;
}

.step-text h3 {
  color: var(--text-color);
  margin-bottom: 8px;
  font-size: 1.8rem;
  font-weight: 700;
}

.step-text p {
  color: var(--subtitle-color);
  font-size: 1.1rem;
}

.roles-placeholder {
  color: var(--subtitle-color);
  padding: 40px 0 120px;
  font-size: 1.2rem;
}

.events-page {
  background-color: var(--bg-color-center);
  min-height: 100vh;
  padding-top: 100px;
}

.events-container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 40px;
}

.events-hero {
  padding: 80px 0 40px;
}

.events-title {
  color: var(--text-color);
  letter-spacing: -.04em;
  font-size: 4rem;
  font-weight: 700;
}

.events-subtitle {
  color: var(--subtitle-color);
  margin-top: 12px;
  font-size: 1.5rem;
}

.events-section-heading {
  color: var(--subtitle-color);
  text-transform: uppercase;
  letter-spacing: .1em;
  border-bottom: 1px solid var(--grid-color);
  margin-bottom: 32px;
  padding: 80px 0 24px;
  font-size: 1.1rem;
  font-weight: 600;
}

.event-list-item {
  border-bottom: 1px solid var(--grid-color);
  grid-template-columns: 100px 1fr 150px;
  align-items: center;
  gap: 40px;
  padding: 40px 0;
  display: grid;
}

.event-item-date-box {
  flex-direction: column;
  align-items: flex-start;
  display: flex;
}

.event-month {
  text-transform: uppercase;
  color: var(--subtitle-color);
  font-size: .9rem;
  font-weight: 700;
}

.event-day {
  color: var(--text-color);
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1;
}

.event-item-meta {
  gap: 16px;
  margin-bottom: 8px;
  font-size: .9rem;
  font-weight: 600;
  display: flex;
}

.event-item-category {
  color: var(--text-color);
}

.event-item-time {
  color: var(--subtitle-color);
}

.event-item-title {
  color: var(--text-color);
  margin-bottom: 8px;
  font-size: 1.8rem;
  font-weight: 700;
}

.event-item-location {
  color: var(--subtitle-color);
}

.event-item-action {
  justify-content: flex-end;
  display: flex;
}

.list-link {
  color: var(--text-color);
  font-weight: 600;
  text-decoration: underline;
}

@media (max-width: 900px) {
  .purpose-grid, .culture-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .team-grid {
    grid-template-columns: 1fr 1fr;
  }

  .benefits-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .about-title, .careers-title {
    font-size: 3rem;
  }

  .purpose-cards {
    grid-template-columns: 1fr;
  }

  .event-list-item {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .event-item-action {
    justify-content: flex-start;
  }
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__41e016f3._.css.map*/