:root {
  --background: 220 13% 4%;
  --foreground: 0 0% 100%;
  --card: 220 10% 7%;
  --card-foreground: 0 0% 100%;
  --popover: 220 10% 7%;
  --popover-foreground: 0 0% 100%;
  --primary: 157 100% 45%;
  --primary-foreground: 220 13% 4%;
  --secondary: 157 100% 45%;
  --secondary-foreground: 220 13% 4%;
  --muted: 220 8% 12%;
  --muted-foreground: 220 5% 67%;
  --accent: 337 100% 52%;
  --accent-foreground: 0 0% 100%;
  --border: 220 8% 24%;
  --input: 220 8% 24%;
  --ring: 157 100% 45%;
  --radius: .35rem;
  --brand-green: #00e58b;
  --brand-magenta: #ff0068;
  --clinical: #00e58b;
  --clinical-soft: #10261f;
  --cambridge: #ffffff;
  --ink: #ffffff;
  --ink-soft: #c9cccf;
  --ink-faint: #888e94;
  --line: #34383d;
  --paper: #0b0d0f;
  --warm: #111315;
  --dark: #050607;
  --dark-soft: #0d0f11;
  --brand-grad: linear-gradient(90deg, #00e58b 0 48%, #ff0068 52% 100%);
  --brand-grad-135: linear-gradient(135deg, #00e58b 0%, #ff0068 100%);
}

html { background: #070809; }

body {
  background:
    radial-gradient(circle at 8% 9%, rgba(0,229,139,.09), transparent 25rem),
    radial-gradient(circle at 92% 22%, rgba(255,0,104,.08), transparent 28rem),
    #070809;
  color: #fff;
}

/* The imported landing page uses scroll-triggered inline opacity and transform
   values. Some embedded/mobile browsers never fire that observer, which leaves
   complete sections invisible against the dark page background. Content must
   remain readable even when those entrance animations are unavailable. */
main section [style*="opacity: 0"],
main section [style*="opacity:0"],
#root section [style*="opacity: 0"],
#root section [style*="opacity:0"] {
  opacity: 1 !important;
  transform: none !important;
}

main section,
#root > div > section {
  visibility: visible !important;
}

@media (prefers-reduced-motion: reduce) {
  #root section * {
    animation-duration: .01ms !important;
    animation-delay: 0s !important;
    transition-duration: .01ms !important;
  }
}

.font-display,
h1, h2, h3, h4 {
  font-family: "Barlow Condensed", "Arial Narrow", sans-serif !important;
  letter-spacing: -.018em;
}

h1, h2, h3 { text-transform: uppercase; }

nav {
  background: rgba(5,6,7,.86) !important;
  border-bottom: 1px solid rgba(255,255,255,.13) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.28);
}

nav > div > a:first-child {
  position: relative;
  padding-left: 3.15rem;
}

nav > div > a:first-child::before {
  content: "T'";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-52%);
  font: 800 2.45rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: -.08em;
  color: #fff;
}

.bg-background { background-color: #070809 !important; }
.bg-warm { background-color: #101214 !important; }
.bg-paper { background-color: #0b0d0f !important; }
.text-ink { color: #fff !important; }
.text-ink-soft { color: #c9cccf !important; }
.text-ink-faint { color: #8a9096 !important; }
.border-border { border-color: #34383d !important; }

section {
  position: relative;
  isolation: isolate;
}

section:not(:first-of-type)::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #00e58b 0 42%, rgba(0,229,139,0) 48%, rgba(255,0,104,0) 52%, #ff0068 58% 100%);
  opacity: .82;
  pointer-events: none;
}

section:first-of-type {
  min-height: 0;
  display: block;
  background:
    linear-gradient(90deg, rgba(5,6,7,.96) 0%, rgba(5,6,7,.82) 44%, rgba(5,6,7,.1) 72%),
    #070809;
}

section:first-of-type h1 {
  max-width: 12ch;
  font-weight: 800 !important;
  font-size: clamp(3.25rem, 7vw, 6.5rem) !important;
  line-height: .88 !important;
  text-wrap: balance;
}

section:first-of-type h1 em {
  font-style: normal !important;
  font-weight: 800 !important;
}

section:first-of-type img {
  filter: saturate(.92) contrast(1.12);
}

.lux-card {
  background: linear-gradient(145deg, rgba(20,22,25,.98), rgba(8,9,11,.98)) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 6px !important;
  box-shadow: 0 22px 60px rgba(0,0,0,.32) !important;
}

.lux-card:hover {
  border-color: rgba(0,229,139,.72) !important;
  box-shadow: 0 22px 70px rgba(0,229,139,.08) !important;
}

.btn-primary-luxe,
.btn-clinical {
  background: #00e58b !important;
  color: #050607 !important;
  border: 1px solid #00e58b !important;
  border-radius: 999px !important;
  font-family: "Barlow Condensed", sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: .055em !important;
  text-transform: uppercase;
  box-shadow: 0 0 0 0 rgba(0,229,139,0) !important;
}

.btn-primary-luxe:hover,
.btn-clinical:hover {
  background: transparent !important;
  color: #00e58b !important;
  box-shadow: 0 0 26px rgba(0,229,139,.16) !important;
}

.btn-ghost-luxe {
  color: #fff !important;
  border-color: rgba(255,255,255,.6) !important;
  border-radius: 999px !important;
  font-family: "Barlow Condensed", sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.grad-text {
  background: linear-gradient(90deg, #00e58b 0%, #73f6bc 43%, #ff2a7e 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}

.grad-rule {
  height: 2px !important;
  background: linear-gradient(90deg, #00e58b 0 48%, #ff0068 52% 100%) !important;
}

.grad-pill {
  background: #00e58b !important;
  box-shadow: 11px 0 0 #ff0068;
}

.eyebrow {
  font-family: "Barlow Condensed", sans-serif !important;
  font-weight: 700;
  letter-spacing: .14em !important;
  text-transform: uppercase;
}

img { border-radius: 3px !important; }

footer,
.bg-dark,
.bg-dark-soft {
  background-color: #040506 !important;
}

footer { border-top: 2px solid transparent; border-image: linear-gradient(90deg,#00e58b,#ff0068) 1; }

.header-contact-actions {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin-left: .75rem;
}

.header-action {
  min-height: 40px;
  padding: .55rem .9rem;
  border: 1px solid rgba(255,255,255,.52);
  border-radius: 999px;
  background: transparent;
  color: #fff;
  font: 700 .82rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: .055em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  transition: .2s ease;
}

.header-action:hover,
.header-action:focus-visible {
  border-color: #00e58b;
  color: #00e58b;
  outline: none;
}

.header-action--accent {
  border-color: #ff0068;
  color: #fff;
}

.header-action--accent:hover,
.header-action--accent:focus-visible {
  background: #ff0068;
  border-color: #ff0068;
  color: #fff;
}

[data-lang-button].is-active {
  color: #00e58b !important;
  font-weight: 700;
}

.tirzena-dialog {
  width: min(94vw, 620px);
  max-height: 90vh;
  padding: 0;
  overflow: auto;
  color: #fff;
  background: #0b0d0f;
  border: 1px solid #383c41;
  border-radius: 8px;
  box-shadow: 0 35px 100px rgba(0,0,0,.72);
}

.tirzena-dialog::backdrop {
  background: rgba(0,0,0,.8);
  backdrop-filter: blur(5px);
}

.tirzena-dialog__topline {
  height: 3px;
  background: linear-gradient(90deg,#00e58b 0 50%,#ff0068 50% 100%);
}

.tirzena-dialog__inner { padding: clamp(1.35rem, 4vw, 2.35rem); }

.tirzena-dialog__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.tirzena-dialog h2 {
  margin: 0 0 .35rem;
  font-size: clamp(2rem, 7vw, 3rem);
  font-weight: 800;
  line-height: .95;
}

.tirzena-dialog p { margin: 0; color: #abb0b5; line-height: 1.55; }

.tirzena-dialog__close {
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  border: 1px solid #44494f;
  border-radius: 50%;
  background: transparent;
  color: #fff;
  font-size: 1.4rem;
  cursor: pointer;
}

.tirzena-form { display: grid; gap: 1rem; }
.tirzena-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.tirzena-form label { display: grid; gap: .45rem; color: #f2f3f4; font-size: .9rem; font-weight: 600; }

.tirzena-form input,
.tirzena-form textarea,
.tirzena-form select {
  width: 100%;
  min-height: 48px;
  padding: .8rem .9rem;
  color: #fff;
  background: #111417;
  border: 1px solid #3b4046;
  border-radius: 4px;
  font: inherit;
}

.tirzena-form textarea { min-height: 130px; resize: vertical; }
.tirzena-form input:focus,
.tirzena-form textarea:focus,
.tirzena-form select:focus { outline: 2px solid #00e58b; outline-offset: 2px; }

.tirzena-form__consent {
  grid-template-columns: auto 1fr !important;
  align-items: start;
  color: #abb0b5 !important;
  font-size: .8rem !important;
  font-weight: 400 !important;
}

.tirzena-form__consent input { width: 18px; min-height: 18px; margin-top: .2rem; accent-color: #00e58b; }

.tirzena-form__submit {
  min-height: 50px;
  border: 1px solid #00e58b;
  border-radius: 999px;
  background: #00e58b;
  color: #050607;
  font: 800 1rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: .07em;
  text-transform: uppercase;
  cursor: pointer;
}

.tirzena-form__submit:disabled {
  cursor: wait;
  opacity: .55;
}

.tirzena-form__note { font-size: .78rem; text-align: center; }

@media (max-width: 767px) {
  nav > div > a:first-child { padding-left: 2.65rem; }
  nav > div > a:first-child::before { font-size: 2rem; }
  section:first-of-type { min-height: auto; background: #070809; }
  section:first-of-type h1 { font-size: clamp(3rem, 15vw, 4.5rem) !important; }
  .tirzena-form__row { grid-template-columns: 1fr; }
}

@media (max-width: 1180px) {
  .header-contact-actions {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    justify-content: center;
    margin: 0;
    padding: .45rem .75rem;
    background: rgba(5,6,7,.96);
    border-bottom: 1px solid #30343a;
  }
  .header-action { flex: 1 1 0; max-width: 230px; }
  section:first-of-type { padding-top: 9.2rem !important; }
}
