:root {
  --black: #060606;
  --black-2: #101111;
  --green: #5cb65f;
  --green-dark: #2d7f36;
  --white: #ffffff;
  --paper: #f1f2ee;
  --ink: #111111;
  --muted: #555b57;
  --line: rgba(92, 182, 95, 0.35);
  --container: min(1480px, calc(100vw - 40px));
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--black);
  color: var(--white);
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  overflow-x: hidden;
}

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

p,
h1,
h2,
h3 {
  margin: 0;
}

strong {
  font-weight: 800;
}

.fa-solid {
  color: var(--green);
}

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

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 16px max(20px, calc((100vw - 1480px) / 2));
  background: rgba(6, 6, 6, 0.92);
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(14px);
}

.brand {
  display: inline-flex;
}

.brand img {
  width: clamp(156px, 17vw, 250px);
  height: auto;
  display: block;
}

.nav {
  display: flex;
  gap: clamp(14px, 2vw, 30px);
  font-size: 0.82rem;
  font-weight: 400;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.nav a {
  color: rgba(255, 255, 255, 0.74);
}

.nav a:hover {
  color: var(--green);
}

section {
  position: relative;
  isolation: isolate;
  padding: clamp(38px, 5vw, 72px) max(20px, calc((100vw - 1480px) / 2));
}

section > * {
  position: relative;
  z-index: 1;
}

section::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
}

.panel-dark::before {
  background:
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.018) 1px, transparent 1px),
    radial-gradient(circle at 16% 16%, rgba(255, 255, 255, 0.08), transparent 26%),
    radial-gradient(circle at 92% 72%, rgba(92, 182, 95, 0.18), transparent 30%),
    linear-gradient(135deg, #090909, #050505);
  background-size: 18px 18px, 18px 18px, auto, auto, auto;
}

.panel-dark {
  background: transparent;
}

.panel-green {
  background: transparent;
  color: var(--black);
}

.panel-green::before {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.22), transparent 36%),
    var(--green);
}

.panel-white {
  background: transparent;
  color: var(--ink);
}

.panel-white::before {
  background:
    linear-gradient(110deg, transparent 0 70%, rgba(6, 6, 6, 0.06) 70%),
    var(--paper);
}

.hero {
  min-height: calc(100vh - 82px);
  display: grid;
  align-items: stretch;
}

.hero-frame {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.82fr);
  align-items: center;
  overflow: hidden;
}

.hero-frame::after {
  content: "";
  position: absolute;
  right: -10%;
  bottom: -20%;
  width: 72%;
  height: 46%;
  background: linear-gradient(8deg, var(--green), rgba(92, 182, 95, 0.36));
  border-radius: 55% 0 0 0;
  transform: rotate(-5deg);
  pointer-events: none;
}

.hero-copy {
  position: relative;
  z-index: 1;
  max-width: 840px;
}

.kicker,
.section-title span,
.ortho-header span {
  color: var(--green);
}

.kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: clamp(1rem, 1.5vw, 1.35rem);
  font-weight: 800;
  letter-spacing: 0.02em;
}

h1 {
  max-width: 860px;
  margin-top: 22px;
  font-size: clamp(2.7rem, 5.8vw, 7.2rem);
  line-height: 0.98;
  font-weight: 800;
  text-transform: uppercase;
}

.hero-copy p:not(.kicker) {
  max-width: 720px;
  margin-top: 22px;
  color: rgba(255, 255, 255, 0.88);
  font-size: clamp(1rem, 1.25vw, 1.28rem);
}

.hero-product {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: flex-end;
  align-self: end;
  padding-top: 46px;
}

.mini-product-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border: 1px solid rgba(255, 255, 255, 0.26);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.12), transparent 36%),
    linear-gradient(180deg, rgba(92, 182, 95, 0.34), rgba(3, 3, 3, 0.84)),
    #151515;
  color: var(--white);
  box-shadow: 0 42px 58px rgba(0, 0, 0, 0.48);
}

.hero-product img {
  width: min(38vw, 520px);
  min-width: 310px;
  height: auto;
  display: block;
  filter: drop-shadow(0 42px 52px rgba(0, 0, 0, 0.54));
}

.mini-product-placeholder span {
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.86rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.section-title {
  margin-bottom: 28px;
}

h2 {
  font-size: clamp(1.4rem, 2.6vw, 3.5rem);
  line-height: 1.04;
  font-weight: 800;
  text-transform: uppercase;
}

h2 .fa-solid {
  margin-right: 0.24em;
  font-size: 0.78em;
  vertical-align: 0.05em;
}

.section-title p,
.guided p,
.importance p {
  margin-top: 14px;
  font-size: clamp(1rem, 1.2vw, 1.18rem);
}

.mechanism-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 18px;
  align-items: stretch;
}

.dark-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: clamp(18px, 2vw, 28px);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 4px;
  background:
    linear-gradient(135deg, rgba(92, 182, 95, 0.12), transparent 46%),
    rgba(255, 255, 255, 0.045);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.24);
  transition: box-shadow 180ms ease, transform 180ms ease, border-color 180ms ease;
}

.dark-card h3 {
  margin-bottom: 12px;
  color: var(--green);
  font-size: clamp(1rem, 1.4vw, 1.38rem);
  line-height: 1.2;
  text-transform: uppercase;
}

.dark-card p + p,
.dark-card p + ul,
.dark-card ul + p,
.dark-card ul + ul {
  margin-top: 12px;
}

.list-intro {
  font-weight: 800;
}

.dark-card p,
.dark-card li {
  color: rgba(255, 255, 255, 0.86);
}

#mecanism .dark-card {
  border-color: rgba(0, 0, 0, 0.14);
  background:
    linear-gradient(135deg, rgba(92, 182, 95, 0.08), transparent 44%),
    rgba(255, 255, 255, 0.96);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.08);
}

#mecanism .dark-card p,
#mecanism .dark-card li {
  color: var(--ink);
}

#mecanism .inline-list li {
  background: rgba(92, 182, 95, 0.16);
  color: var(--ink);
}

.dark-card li {
  margin-top: 5px;
}

.check-list li {
  position: relative;
  padding-left: 22px;
}

.check-list li::before,
.indication-grid li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  color: var(--green);
  font-weight: 800;
}

.check-list li::before,
.indication-grid li::before {
  top: 0;
}

.result {
  margin-top: auto !important;
  padding: 14px;
  border-radius: 4px;
  background: var(--green);
  color: var(--white) !important;
  font-weight: 800;
  text-align: left;
}

.inline-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.inline-list li,
.pill-grid li {
  border-radius: 999px;
  font-weight: 400;
}

.inline-list li {
  padding: 9px 12px;
  background: rgba(92, 182, 95, 0.18);
  color: var(--white);
}

.pill-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.pill-grid li {
  display: grid;
  grid-template-rows: auto 1fr;
  align-items: center;
  justify-items: center;
  gap: 12px;
  position: relative;
  min-height: 86px;
  padding: 16px;
  border: 1px solid rgba(0, 0, 0, 0.18);
  background: rgba(255, 255, 255, 0.84);
  color: var(--black);
  border-radius: 4px;
  text-align: center;
  transition: box-shadow 180ms ease, transform 180ms ease, border-color 180ms ease;
}

.pill-grid .fa-solid {
  font-size: 1.55rem;
}

.split-frame {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 26px;
}

.white-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.white-list span {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  border-left: 5px solid var(--green);
  border-radius: 4px;
  background: var(--white);
  font-weight: 800;
  text-transform: uppercase;
  transition: box-shadow 180ms ease, transform 180ms ease, border-color 180ms ease;
}

.white-list .fa-solid {
  flex: 0 0 auto;
  width: 1.25em;
  text-align: center;
}

.wide-callout {
  grid-column: 1 / -1;
  display: grid;
  gap: 18px;
  padding: 24px;
  border-radius: 4px;
  background: var(--black);
  color: var(--white);
  transition: box-shadow 180ms ease, transform 180ms ease;
}

.guided-frame {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 36px;
  align-items: center;
}

.mini-product-placeholder {
  min-height: 260px;
  border-radius: 4px;
}

.ortho-header {
  display: grid;
  grid-template-columns: 1.05fr 1.9fr;
  gap: 24px;
  align-items: start;
}

.ortho-header h2 {
  font-size: clamp(1.4rem, 2.52vw, 3.36rem);
}

.ortho-header > div:first-child p {
  margin-bottom: 10px;
  color: var(--green);
  font-size: 1.12rem;
  font-weight: 800;
}

.ortho-copy {
  display: grid;
  gap: 18px;
}

.ortho-copy p {
  color: var(--ink);
  font-weight: 400;
}

.indication-title {
  margin: 34px 0 18px;
  color: var(--ink);
  font-size: clamp(1.2rem, 1.6vw, 1.7rem);
  font-weight: 800;
  text-transform: uppercase;
}

.indication-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.indication-grid article {
  position: relative;
  min-height: 250px;
  padding: 20px 20px 20px 116px;
  border: 1px solid rgba(0, 0, 0, 0.16);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.92);
  transition: box-shadow 180ms ease, transform 180ms ease, border-color 180ms ease;
}

.indication-grid h3 {
  margin-bottom: 8px;
  font-size: clamp(1.02rem, 1.2vw, 1.25rem);
  line-height: 1.2;
  text-transform: uppercase;
}

.indication-grid p,
.indication-grid li {
  color: #252525;
  font-size: 0.95rem;
  font-weight: 400;
}

.indication-grid li {
  position: relative;
  padding-left: 22px;
}

.indication-grid p + ul,
.indication-grid ul + p,
.indication-grid ul + ul {
  margin-top: 8px;
}

.thumb-placeholder {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  left: 18px;
  top: 18px;
  width: 74px;
  height: 74px;
  border: 1px solid rgba(92, 182, 95, 0.45);
  border-radius: 50%;
  background:
    linear-gradient(135deg, rgba(92, 182, 95, 0.22), transparent 50%),
    radial-gradient(circle, rgba(255, 255, 255, 0.9), #e6ebe4);
}

.thumb-placeholder .fa-solid {
  font-size: 1.55rem;
}

.benefits-frame {
  display: grid;
  grid-template-columns: 1fr 0.9fr;
  gap: 34px;
  align-items: stretch;
}

.benefit-icons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 28px;
}

.benefit-icons li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 14px;
  min-height: 112px;
  padding: 22px;
  border: 1px solid rgba(92, 182, 95, 0.35);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.9);
  font-size: 1.05rem;
  font-weight: 800;
  transition: box-shadow 180ms ease, transform 180ms ease, border-color 180ms ease;
}

.benefit-icons .fa-solid {
  font-size: 1.55rem;
}

.platform-card {
  padding: clamp(24px, 3vw, 42px);
  background:
    linear-gradient(125deg, rgba(6, 6, 6, 0.92) 0 66%, rgba(92, 182, 95, 0.22) 66%),
    var(--black-2);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 4px;
  transition: box-shadow 180ms ease, transform 180ms ease, border-color 180ms ease;
}

@media (hover: hover) {
  .dark-card:hover,
  .pill-grid li:hover,
  .white-list span:hover,
  .indication-grid article:hover,
  .benefit-icons li:hover,
  .platform-card:hover,
  .wide-callout:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.14);
  }

  .dark-card:hover,
  .indication-grid article:hover,
  .pill-grid li:hover,
  .white-list span:hover {
    border-color: rgba(92, 182, 95, 0.45);
  }

  .benefit-icons li:hover,
  .platform-card:hover {
    border-color: rgba(92, 182, 95, 0.62);
  }
}

@media (prefers-reduced-motion: reduce) {
  .dark-card,
  .pill-grid li,
  .white-list span,
  .wide-callout,
  .indication-grid article,
  .benefit-icons li,
  .platform-card {
    transition: none;
  }

  .dark-card:hover,
  .pill-grid li:hover,
  .white-list span:hover,
  .wide-callout:hover,
  .indication-grid article:hover,
  .benefit-icons li:hover,
  .platform-card:hover {
    transform: none;
  }
}

.platform-card p:first-child {
  font-size: 1.35rem;
  font-weight: 800;
  text-transform: uppercase;
}

.platform-card h2 {
  margin: 18px 0;
  color: var(--green);
  font-size: clamp(1.4rem, 2.38vw, 3.22rem);
}

.platform-card p:last-child {
  color: rgba(255, 255, 255, 0.86);
  font-size: clamp(1rem, 1.2vw, 1.18rem);
}

.site-footer {
  padding: 28px max(20px, calc((100vw - 1480px) / 2));
  background: var(--green);
  color: var(--black);
  font-size: 0.92rem;
  font-weight: 400;
  text-align: center;
}

.site-footer a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.site-footer span {
  margin: 0 8px;
}

.site-footer .fa-solid {
  margin-right: 5px;
  color: var(--black);
}

@media (max-width: 1180px) {
  .mechanism-grid,
  .ortho-header,
  .benefits-frame {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 900px) {
  .site-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .nav {
    width: 100%;
    flex-wrap: wrap;
    overflow-x: visible;
    padding-bottom: 3px;
  }

  .hero-frame,
  .mechanism-lower,
  .split-frame,
  .wide-callout,
  .guided-frame,
  .indication-grid {
    grid-template-columns: 1fr;
  }

  .hero-frame::after {
    width: 120%;
    height: 30%;
  }

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

  .hero-product img {
    width: min(78vw, 450px);
    min-width: 0;
  }

  .white-list,
  .benefit-icons {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  :root {
    --container: calc(100vw - 28px);
  }

  .site-header,
  section,
  .site-footer {
    padding-left: 14px;
    padding-right: 14px;
  }

  .frame {
    padding: 18px;
  }

  .nav {
    gap: 10px 16px;
    font-size: 0.76rem;
  }

  h1 {
    font-size: clamp(2.25rem, 12vw, 4rem);
  }

  h2 {
    font-size: clamp(1.26rem, 6.65vw, 2.24rem);
  }

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

  .indication-grid article {
    padding: 128px 24px 28px;
  }

  .thumb-placeholder {
    left: 24px;
    top: 24px;
    width: 76px;
    height: 76px;
  }

  .dark-card,
  .platform-card {
    padding: 28px;
  }

  .wide-callout,
  .benefit-icons li,
  .pill-grid li,
  .white-list span {
    padding: 24px;
  }
}
