:root {
  --bg: #081120;
  --panel: #0f172a;
  --panel-2: #12213a;
  --soft: #1e293b;
  --text: #e5eefb;
  --muted: #b7c3d8;
  --line: rgba(255,255,255,.1);
  --primary: #32DBB4;
  --primary-dark: #1db18e;
  --accent: #FBBF23;
  --danger: #ff7c7c;
  --shadow: 0 20px 60px rgba(0,0,0,.28);
  --radius: 24px;
  --radius-sm: 18px;
  --max: 1240px;
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --ease-soft: cubic-bezier(.22, .8, .22, 1);
  --display-font: 'Bricolage Grotesque', 'Inter', system-ui, sans-serif;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  padding-top: 78px;
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: linear-gradient(180deg, #09111f 0%, #0b1324 48%, #0b1427 100%);
  color: var(--text);
  line-height: 1.6;
  overflow-x: hidden;
}

a { color: inherit; text-decoration: none; }

img {
  display: block;
  max-width: 100%;
}

.container {
  width: min(calc(100% - 2rem), var(--max));
  margin: 0 auto;
}

.gradient-text {
  background: linear-gradient(90deg, var(--primary), #79ffe1 55%, #fff);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.site-header {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(16px);
  background: rgba(8,17,32,.72);
  border-bottom: 1px solid rgba(255,255,255,.06);
  transition: background .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.site-header.is-compact {
  background: rgba(8,17,32,.9);
  border-bottom-color: rgba(50,219,180,.16);
  box-shadow: 0 14px 34px rgba(0,0,0,.22);
}

.nav {
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  transition: min-height .28s var(--ease-soft);
}

.site-header.is-compact .nav { min-height: 58px; }

.brand {
  display: flex;
  align-items: center;
  gap: .8rem;
}

.brand img {
  display: block;
  width: auto;
  height: 42px;
  transition: height .28s var(--ease-soft);
}

.site-header.is-compact .brand img { height: 34px; }

.nav-links {
  display: flex;
  align-items: center;
  gap: 1.15rem;
  color: var(--muted);
  font-size: .97rem;
}

.nav-links a {
  position: relative;
  padding: .34rem .02rem;
  font-weight: 800;
}

.nav-links a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: .06rem;
  height: 2px;
  border-radius: 999px;
  background: var(--primary);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .28s var(--ease-soft);
}

.nav-links a:hover {
  color: white;
}

.nav-links a[aria-current] {
  color: var(--primary);
}

.nav-links a[aria-current]::after {
  transform: scaleX(1);
}

.site-header.is-compact .nav-actions .btn {
  min-height: 42px;
  padding-inline: 1rem;
}

.nav-links a,
.footer a,
.lang-option,
.btn {
  transition:
    color .28s ease,
    background .28s ease,
    border-color .28s ease,
    transform .28s var(--ease-soft),
    box-shadow .28s ease;
}

.nav-actions {
  display: flex;
  align-items: center;
  gap: .75rem;
}

.mobile-menu-toggle,
.mobile-menu-close {
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.04);
  color: var(--text);
  cursor: pointer;
}

.mobile-menu-toggle {
  width: 44px;
  height: 44px;
  display: none;
  place-content: center;
  gap: 5px;
  padding: 0;
  border-radius: 999px;
}

.mobile-menu-toggle span {
  width: 19px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transition: transform .25s var(--ease-soft), opacity .2s ease;
}

.mobile-menu-toggle:hover,
.mobile-menu-toggle:focus-visible,
.mobile-menu-close:hover,
.mobile-menu-close:focus-visible {
  color: var(--primary);
  border-color: rgba(50,219,180,.3);
  background: rgba(50,219,180,.1);
  outline: none;
}

.mobile-menu,
.mobile-menu-backdrop {
  display: none;
}

.language-toggle {
  display: inline-flex;
  align-items: center;
  padding: .18rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
}

.lang-option {
  min-width: 2.35rem;
  min-height: 2rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: .78rem;
  font-weight: 900;
  cursor: pointer;
}

.lang-option.is-active {
  background: rgba(50,219,180,.16);
  color: white;
}

.btn-row {
  display: flex;
  gap: .9rem;
  flex-wrap: wrap;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  min-height: 48px;
  padding: 0 1rem;
  border-radius: 8px;
  font-weight: 800;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.04);
  color: white;
  cursor: pointer;
}

.btn:hover {
  transform: translateY(-2px);
}

.btn-primary {
  background: linear-gradient(135deg, var(--primary), #7dffe2);
  color: #061015;
  border-color: transparent;
}

.footer {
  padding: 2rem 0 3rem;
  color: var(--muted);
}

.footer-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr .8fr;
  gap: 1.25rem;
  padding-top: 1.2rem;
}

.footer-disclaimer {
  margin-top: 2.6rem;
  padding-top: 1.15rem;
  border-top: 1px solid rgba(255,255,255,.06);
  color: rgba(232,238,247,.54);
  font-size: .78rem;
  line-height: 1.45;
  text-align: center;
}

.footer-disclaimer p {
  margin: .18rem 0;
}

.footer h4 {
  margin: 0 0 .7rem;
  color: white;
  font-size: 1rem;
}

.footer a {
  color: var(--muted);
}

.footer a:hover {
  color: white;
}

.footer-contact-link {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
}

.footer-contact-link .bi {
  color: var(--primary);
  font-size: 1rem;
  line-height: 1;
}

.footer-brand {
  margin-bottom: .7rem;
}

.footer .brand img {
  height: 36px;
}

.subpage .eyebrow,
.subpage .kicker {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin: 0 0 .9rem;
  font-size: .82rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--primary);
  font-weight: 800;
}

.team-title {
  color: var(--primary);
}

.subpage .eyebrow::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--primary);
  box-shadow: 0 0 0 6px rgba(50,219,180,.12);
}

.subpage h1,
.subpage h2 {
  font-family: var(--display-font);
  font-weight: 800;
}

.subpage h1 {
  max-width: 11ch;
  margin: 0 0 1rem;
  font-size: clamp(3rem, 7vw, 6.1rem);
  line-height: .92;
  letter-spacing: -.05em;
}

.subpage .hero p {
  max-width: 720px;
  margin: 0;
  color: var(--muted);
  font-size: 1.08rem;
}

@media (max-width: 860px) {
  .nav-links { display: none; }
  .nav-actions { gap: .5rem; }
  .site-header .nav { min-height: 72px; }
  .site-header .brand img { height: 36px; }
  .site-header .nav-actions .btn { display: none; }
  .mobile-menu-toggle { display: grid; }
  .mobile-menu,
  .mobile-menu-backdrop { display: block; }

  .mobile-menu-backdrop {
    position: fixed;
    inset: 0;
    z-index: 51;
    background: rgba(2,8,18,.62);
    opacity: 0;
    visibility: hidden;
    backdrop-filter: blur(3px);
    transition: opacity .3s ease, visibility .3s ease;
  }

  .mobile-menu {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 52;
    width: min(88vw, 390px);
    height: 100dvh;
    display: flex;
    flex-direction: column;
    padding: 1rem 1.1rem 1.4rem;
    background:
      radial-gradient(circle at 90% 0, rgba(50,219,180,.14), transparent 30%),
      #0b1527;
    border-left: 1px solid rgba(255,255,255,.09);
    box-shadow: -24px 0 64px rgba(0,0,0,.34);
    transform: translateX(102%);
    visibility: hidden;
    transition: transform .36s var(--ease-out), visibility .36s ease;
    overflow-y: auto;
  }

  .mobile-menu-header {
    min-height: 55px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: .8rem;
    border-bottom: 1px solid rgba(255,255,255,.09);
  }

  .mobile-menu-title {
    font-family: var(--display-font);
    font-size: 1.35rem;
    font-weight: 800;
  }

  .mobile-menu-close {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 999px;
    font-size: 1.15rem;
  }

  .mobile-nav-links {
    display: grid;
    padding: 1rem 0;
  }

  .mobile-nav-links a {
    display: flex;
    align-items: center;
    min-height: 54px;
    padding: .5rem .25rem;
    border-bottom: 1px solid rgba(255,255,255,.07);
    color: var(--muted);
    font-size: 1.08rem;
    font-weight: 800;
    transition: color .2s ease, padding-left .25s var(--ease-soft);
  }

  .mobile-nav-links a:hover,
  .mobile-nav-links a:focus-visible,
  .mobile-nav-links a[aria-current] {
    color: var(--primary);
    padding-left: .65rem;
    outline: none;
  }

  .mobile-menu .mobile-menu-cta {
    display: inline-flex;
    width: 100%;
    margin-top: auto;
  }

  body.mobile-menu-open {
    overflow: hidden;
  }

  body.mobile-menu-open .mobile-menu-backdrop {
    opacity: 1;
    visibility: visible;
  }

  body.mobile-menu-open .mobile-menu {
    transform: translateX(0);
    visibility: visible;
  }

  body.mobile-menu-open .mobile-menu-toggle span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  body.mobile-menu-open .mobile-menu-toggle span:nth-child(2) {
    opacity: 0;
  }

  body.mobile-menu-open .mobile-menu-toggle span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .footer-grid { grid-template-columns: 1fr; }
  .subpage h1 { max-width: 100%; }
}


html[data-theme="light"] {
  --bg: #f6f9fc;
  --panel: #ffffff;
  --panel-2: #edf5f8;
  --soft: #dce9ef;
  --text: #102033;
  --muted: #5d6f83;
  --line: rgba(12,31,49,.12);
  --primary: #14b894;
  --primary-dark: #0e8f73;
  --accent: #d99a08;
  --danger: #c84646;
  --shadow: 0 22px 58px rgba(32,58,82,.13);
  background: var(--bg);
}

.theme-toggle {
  width: 40px;
  height: 40px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  color: var(--muted);
  cursor: pointer;
  transition:
    transform .28s var(--ease-soft),
    background .28s ease,
    border-color .28s ease,
    color .28s ease,
    box-shadow .28s ease;
}

.theme-toggle:hover,
.theme-toggle:focus-visible {
  color: white;
  background: rgba(50,219,180,.12);
  border-color: rgba(50,219,180,.24);
  box-shadow: 0 12px 28px rgba(50,219,180,.14);
  transform: translateY(-1px);
  outline: none;
}

html[data-theme="light"] body {
  background:
    radial-gradient(circle at 13% 18%, rgba(20,184,148,.18), transparent 27%),
    radial-gradient(circle at 82% 8%, rgba(217,154,8,.16), transparent 24%),
    linear-gradient(180deg, #f8fbff 0%, #eff7f8 48%, #f7faf5 100%);
  color: var(--text);
}

html[data-theme="light"] .site-header {
  background: rgba(255,255,255,.78);
  border-bottom-color: rgba(12,31,49,.1);
  box-shadow: 0 12px 38px rgba(31,55,78,.08);
}

html[data-theme="light"] .nav-links a:hover,
html[data-theme="light"] .nav-links a[aria-current],
html[data-theme="light"] .lang-option.is-active,
html[data-theme="light"] .footer h4,
html[data-theme="light"] .footer a:hover,
html[data-theme="light"] .subpage h1,
html[data-theme="light"] .subpage h2,
html[data-theme="light"] .member-card h3,
html[data-theme="light"] .client-card h3,
html[data-theme="light"] .application-panel h2,
html[data-theme="light"] .application-form label {
  color: var(--text);
}

html[data-theme="light"] .nav-links a[aria-current] { color: var(--primary-dark); }

html[data-theme="light"] .gradient-text {
  background: linear-gradient(90deg, var(--primary-dark), #19cfa7 55%, #24364a);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

html[data-theme="light"] .language-toggle,
html[data-theme="light"] .theme-toggle,
html[data-theme="light"] .mobile-menu-toggle,
html[data-theme="light"] .mobile-menu-close {
  background: rgba(255,255,255,.78);
  border-color: rgba(12,31,49,.12);
  color: var(--muted);
}

html[data-theme="light"] .mobile-menu {
  background:
    radial-gradient(circle at 90% 0, rgba(20,184,148,.13), transparent 30%),
    #f7fbfc;
  border-left-color: rgba(12,31,49,.11);
  box-shadow: -24px 0 64px rgba(31,55,78,.18);
}

html[data-theme="light"] .mobile-menu-header,
html[data-theme="light"] .mobile-nav-links a {
  border-color: rgba(12,31,49,.1);
}

html[data-theme="light"] .theme-toggle:hover,
html[data-theme="light"] .theme-toggle:focus-visible {
  color: var(--text);
  background: rgba(20,184,148,.1);
  border-color: rgba(20,184,148,.28);
  box-shadow: 0 12px 28px rgba(20,184,148,.13);
}

html[data-theme="light"] .lang-option.is-active {
  background: rgba(20,184,148,.14);
}

html[data-theme="light"] .btn-primary {
  border: 0;
  background: linear-gradient(135deg, #18c5a1, #73f5d9);
  color: #061015;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.26), 0 16px 34px rgba(20,184,148,.14);
}

html[data-theme="light"] .btn-primary:hover {
  background: linear-gradient(135deg, #15b995, #6df0d4);
}

html[data-theme="light"] .hero,
html[data-theme="light"] .jobs-hero {
  border-bottom-color: rgba(12,31,49,.08);
}

html[data-theme="light"] .hero-panel,
html[data-theme="light"] .stat,
html[data-theme="light"] .intro-card,
html[data-theme="light"] .member-card,
html[data-theme="light"] .client-card,
html[data-theme="light"] .application-panel {
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(247,251,252,.78));
  border-color: rgba(12,31,49,.11);
  box-shadow: 0 18px 44px rgba(31,55,78,.1), inset 0 1px 0 rgba(255,255,255,.75);
}

html[data-theme="light"] .filter {
  background: rgba(255,255,255,.62);
  border-color: rgba(12,31,49,.12);
  color: var(--muted);
}

html[data-theme="light"] .member-card img {
  background: var(--panel-2);
}

html[data-theme="light"] .member-card a:hover {
  color: var(--text);
}

html[data-theme="light"] .logo-box {
  background: rgba(255,255,255,.94);
  box-shadow: inset 0 -1px 0 rgba(12,31,49,.08);
}

html[data-theme="light"] .jobs-note {
  background: rgba(20,184,148,.1);
  color: #174135;
}

html[data-theme="light"] .application-form input,
html[data-theme="light"] .application-form textarea,
html[data-theme="light"] .file-picker,
html[data-theme="light"] .captcha-box {
  background: rgba(255,255,255,.88);
  border-color: rgba(12,31,49,.14);
  color: var(--text);
}

html[data-theme="light"] .application-form input:focus,
html[data-theme="light"] .application-form textarea:focus,
html[data-theme="light"] .file-picker:focus-within {
  border-color: rgba(20,184,148,.42);
  box-shadow: 0 0 0 4px rgba(20,184,148,.12);
}

html[data-theme="light"] .footer {
  background: linear-gradient(180deg, rgba(246,249,252,.25), rgba(232,242,244,.88));
  border-top: 1px solid rgba(12,31,49,.08);
}

html[data-theme="light"] .footer-disclaimer {
  border-top-color: rgba(12,31,49,.1);
  color: rgba(16,32,51,.68);
}

#inquiry-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: 1.2rem;
  background: rgba(4,10,20,.72);
  backdrop-filter: blur(12px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .28s ease, visibility .28s ease;
}

#inquiry-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

#inquiry-modal .modal-panel {
  position: relative;
  width: min(100%,860px);
  max-height: calc(100dvh - 2rem);
  overflow: auto;
  padding: 1.25rem 1.5rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 30px;
  background: radial-gradient(circle at top right,rgba(50,219,180,.12),transparent 30%),linear-gradient(180deg,rgba(15,23,42,.98),rgba(10,18,34,.98));
  box-shadow: 0 28px 80px rgba(0,0,0,.45);
  transform: translateY(18px) scale(.98);
  transition: transform .28s ease;
}

#inquiry-modal.is-open .modal-panel { transform: translateY(0) scale(1); }

#inquiry-modal .modal-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  background: rgba(255,255,255,.04);
  color: #fff;
  font-size: 1.25rem;
  cursor: pointer;
}

#inquiry-modal .modal-copy { max-width: 720px; margin-bottom: .8rem; padding-right: 3rem; }
#inquiry-modal .modal-copy .eyebrow { margin-bottom: .35rem; }
#inquiry-modal .modal-copy h3 { margin: .25rem 0 .35rem; font-size: clamp(1.7rem,3vw,2.25rem); line-height: 1.02; letter-spacing: -.04em; }
#inquiry-modal .modal-copy p { margin: 0; color: var(--muted); font-size: .95rem; line-height: 1.5; }
#inquiry-modal .inquiry-form { display: grid; gap: .55rem; }
#inquiry-modal .form-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: .65rem 1rem; }
#inquiry-modal .field { display: grid; gap: .25rem; }
#inquiry-modal .field-full { grid-column: 1 / -1; }
#inquiry-modal .field label { color: #fff; font-size: .84rem; font-weight: 700; }

#inquiry-modal .field input,
#inquiry-modal .field select,
#inquiry-modal .field textarea {
  width: 100%;
  padding: .68rem .85rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  outline: none;
  background: rgba(255,255,255,.04);
  color: var(--text);
  font: inherit;
}

#inquiry-modal .field textarea { min-height: 82px; max-height: 110px; resize: vertical; }
#inquiry-modal .field input:focus,
#inquiry-modal .field select:focus,
#inquiry-modal .field textarea:focus { border-color: rgba(50,219,180,.65); box-shadow: 0 0 0 4px rgba(50,219,180,.12); }
#inquiry-modal .inquiry-captcha { min-height: 76px; display: flex; align-items: center; overflow-x: auto; }
#inquiry-modal .form-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-top: 0; }
#inquiry-modal .form-note,
#inquiry-modal .form-status { color: var(--muted); font-size: .92rem; }
#inquiry-modal .form-status { min-height: 1.4em; }
body.modal-open { overflow: hidden; }

@media (max-width: 640px) {
  #inquiry-modal .form-grid { grid-template-columns: 1fr; }
  #inquiry-modal .modal-panel { padding: 1.25rem; border-radius: 22px; }
}

@media (min-width: 641px) and (min-height: 720px) {
  #inquiry-modal .modal-panel { overflow: hidden; }
}

html[data-theme="light"] #inquiry-modal {
  background: rgba(239,247,248,.78);
}

html[data-theme="light"] #inquiry-modal .modal-panel {
  background: linear-gradient(180deg,rgba(255,255,255,.98),rgba(242,248,249,.96));
  border-color: rgba(12,31,49,.12);
  box-shadow: 0 28px 80px rgba(31,55,78,.2);
  color: var(--text);
}

html[data-theme="light"] #inquiry-modal .modal-close {
  background: rgba(255,255,255,.78);
  border-color: rgba(12,31,49,.12);
  color: var(--muted);
}

html[data-theme="light"] #inquiry-modal .field label {
  color: var(--text);
}

html[data-theme="light"] #inquiry-modal .field input,
html[data-theme="light"] #inquiry-modal .field select,
html[data-theme="light"] #inquiry-modal .field textarea {
  background: rgba(255,255,255,.88);
  border-color: rgba(12,31,49,.14);
  color: var(--text);
}

html[data-theme="light"] #inquiry-modal .field input:focus,
html[data-theme="light"] #inquiry-modal .field select:focus,
html[data-theme="light"] #inquiry-modal .field textarea:focus {
  border-color: rgba(20,184,148,.42);
  box-shadow: 0 0 0 4px rgba(20,184,148,.12);
}
