:root {
  --gold: #d7aa67;
  --gold-soft: #f0c784;
  --cream: #f8f4ec;
  --mint: #88b798;
  --ink: #06110e;
}

* {
  box-sizing: border-box;
}

html,
body {
  min-height: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--cream);
  background: var(--ink);
  font-family: Inter, Manrope, "Segoe UI", Arial, sans-serif;
}

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

.hero {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  isolation: isolate;
  background: #06110e;
}

.hero__video {
  position: absolute;
  inset: 0;
  z-index: -3;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
  user-select: none;
}

.hero__shade {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(circle at 72% 42%, rgba(15, 43, 34, 0.08) 0 28%, rgba(4, 12, 10, 0.28) 48%, rgba(1, 7, 5, 0.78) 100%),
    linear-gradient(90deg, rgba(0, 7, 5, 0.9) 0%, rgba(0, 8, 6, 0.74) 29%, rgba(2, 14, 11, 0.36) 56%, rgba(0, 8, 7, 0.58) 100%),
    linear-gradient(180deg, rgba(0, 9, 7, 0.82) 0%, rgba(0, 9, 7, 0.22) 26%, rgba(0, 7, 6, 0.56) 100%);
}

.site-header {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(230px, 330px) 1fr auto 56px;
  align-items: center;
  gap: 28px;
  min-height: 112px;
  padding: 26px clamp(24px, 5vw, 78px);
  border-bottom: 1px solid rgba(172, 222, 193, 0.18);
  background: rgba(1, 12, 9, 0.5);
  backdrop-filter: blur(14px);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  width: max-content;
}

.brand__mark {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  color: var(--gold-soft);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 48px;
  line-height: 1;
  letter-spacing: 0;
}

.brand__text {
  display: grid;
  gap: 4px;
}

.brand__name {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.brand__tagline {
  color: var(--gold-soft);
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.nav {
  display: flex;
  justify-content: center;
  gap: clamp(22px, 3.2vw, 46px);
  color: rgba(255, 255, 255, 0.92);
  font-size: 16px;
  line-height: 1;
}

.nav a,
.contact__phone {
  transition: color 180ms ease;
}

.nav a:hover,
.contact__phone:hover {
  color: var(--gold-soft);
}

.contact {
  display: grid;
  gap: 8px;
  text-align: right;
  white-space: nowrap;
}

.contact__phone {
  font-size: 20px;
  line-height: 1;
}

.contact__time {
  color: rgba(255, 255, 255, 0.68);
  font-size: 14px;
  line-height: 1;
}

.call-button {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border: 1px solid rgba(215, 170, 103, 0.86);
  border-radius: 50%;
  color: var(--gold-soft);
  transition: background 180ms ease, transform 180ms ease;
}

.call-button:hover {
  background: rgba(215, 170, 103, 0.12);
  transform: translateY(-1px);
}

.call-button svg {
  width: 23px;
  height: 23px;
  fill: currentColor;
}

.hero__content {
  position: relative;
  z-index: 2;
  width: min(870px, calc(100% - 48px));
  margin-left: clamp(24px, 6.4vw, 98px);
  padding-top: clamp(86px, 13.8vh, 142px);
  padding-bottom: 120px;
}

.hero__eyebrow {
  margin: 0 0 42px;
  color: var(--mint);
  font-size: clamp(12px, 1.1vw, 15px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.48em;
  text-transform: uppercase;
}

h1 {
  max-width: 870px;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(48px, 5.65vw, 86px);
  font-weight: 400;
  line-height: 1.14;
  letter-spacing: 0;
  text-transform: uppercase;
}

.hero__line {
  display: block;
  width: 62px;
  height: 2px;
  margin: 34px 0 32px;
  background: var(--gold-soft);
}

.hero__copy {
  max-width: 650px;
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(17px, 1.55vw, 21px);
  line-height: 1.58;
}

.hero__cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 44px;
  min-width: min(410px, 100%);
  min-height: 80px;
  margin-top: 42px;
  padding: 0 40px 0 42px;
  border: 1px solid rgba(215, 170, 103, 0.84);
  border-radius: 4px;
  color: var(--gold-soft);
  background: rgba(2, 28, 20, 0.44);
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.18), inset 0 0 32px rgba(77, 184, 122, 0.08);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  transition: background 180ms ease, transform 180ms ease, border-color 180ms ease;
}

.hero__cta:hover {
  border-color: var(--gold-soft);
  background: rgba(215, 170, 103, 0.11);
  transform: translateY(-2px);
}

.hero__cta svg {
  flex: 0 0 auto;
  width: 54px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.scroll-cue {
  position: absolute;
  left: 50%;
  bottom: 34px;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  padding: 0;
  border: 1px solid rgba(215, 170, 103, 0.84);
  border-radius: 50%;
  color: var(--gold-soft);
  background: rgba(7, 21, 16, 0.54);
  transform: translateX(-50%);
  cursor: pointer;
}

.scroll-cue svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.diagnostics {
  position: relative;
  overflow: hidden;
  padding: clamp(34px, 3.8vw, 58px) clamp(16px, 3vw, 34px);
  background:
    linear-gradient(180deg, #06110e 0%, #03100d 42%, #040c0a 100%);
  isolation: isolate;
}

.diagnostics::before,
.diagnostics::after {
  content: "";
  position: absolute;
  z-index: -2;
  border-radius: 50%;
  pointer-events: none;
}

.diagnostics::before {
  left: -18vw;
  top: 22%;
  width: 34vw;
  height: 34vw;
  border: 1px solid rgba(215, 170, 103, 0.12);
  box-shadow: 0 0 70px rgba(215, 170, 103, 0.06), inset 0 0 70px rgba(215, 170, 103, 0.03);
}

.diagnostics::after {
  right: -16vw;
  top: 14%;
  width: 30vw;
  height: 30vw;
  background: radial-gradient(circle, rgba(215, 170, 103, 0.1) 0 1px, transparent 1px);
  background-size: 11px 11px;
  opacity: 0.34;
}

.diagnostics__frame {
  position: relative;
  min-height: clamp(1120px, 118vh, 1320px);
  padding: clamp(60px, 5.6vw, 84px) 24px clamp(70px, 6vw, 96px);
  border: 1px solid rgba(215, 170, 103, 0.34);
  border-radius: 24px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 9%, rgba(215, 170, 103, 0.1), transparent 18%),
    radial-gradient(circle at 7% 50%, rgba(215, 170, 103, 0.09), transparent 23%),
    radial-gradient(circle at 94% 57%, rgba(136, 183, 152, 0.07), transparent 25%),
    linear-gradient(135deg, rgba(1, 19, 15, 0.94), rgba(1, 14, 12, 0.98));
  box-shadow: inset 0 0 90px rgba(0, 0, 0, 0.38), 0 26px 80px rgba(0, 0, 0, 0.22);
}

.diagnostics__frame::before,
.diagnostics__frame::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.diagnostics__frame::before {
  background:
    linear-gradient(90deg, transparent, rgba(215, 170, 103, 0.18), transparent) 50% 0 / 260px 1px no-repeat,
    linear-gradient(90deg, transparent, rgba(215, 170, 103, 0.14), transparent) 50% 100% / 220px 1px no-repeat;
}

.diagnostics__frame::after {
  border-radius: inherit;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    inset 0 -1px 0 rgba(215, 170, 103, 0.08);
}

.diagnostics__tooth {
  position: absolute;
  left: clamp(48px, 10vw, 172px);
  top: 40%;
  width: clamp(190px, 22vw, 320px);
  aspect-ratio: 0.72;
  opacity: 0.18;
  transform: translateY(-50%);
  background:
    radial-gradient(ellipse at 36% 24%, transparent 0 24%, rgba(215, 170, 103, 0.32) 25% 25.5%, transparent 27%),
    radial-gradient(ellipse at 64% 24%, transparent 0 24%, rgba(215, 170, 103, 0.32) 25% 25.5%, transparent 27%),
    repeating-radial-gradient(ellipse at center, rgba(215, 170, 103, 0.22) 0 1px, transparent 1px 12px);
  clip-path: path("M143 5 C96 5 70 39 70 83 C70 124 91 143 89 177 C85 241 92 297 121 312 C147 326 151 263 165 218 C173 193 185 193 193 218 C207 263 211 326 237 312 C266 297 273 241 269 177 C267 143 288 124 288 83 C288 39 262 5 215 5 C198 5 189 14 179 14 C169 14 160 5 143 5 Z");
}

.diagnostics__tooth::before {
  content: "";
  position: absolute;
  inset: -18%;
  border: 1px solid rgba(215, 170, 103, 0.18);
  border-radius: 50%;
}

.diagnostics__flow {
  position: absolute;
  right: clamp(36px, 8vw, 132px);
  top: 21%;
  width: clamp(240px, 27vw, 440px);
  height: clamp(460px, 48vw, 680px);
  opacity: 0.2;
  background:
    repeating-radial-gradient(ellipse at 100% 50%, transparent 0 24px, rgba(215, 170, 103, 0.2) 25px 26px, transparent 27px 46px);
  mask-image: linear-gradient(90deg, transparent, #000 30%, #000 76%, transparent);
  transform: rotate(2deg);
}

.diagnostics__content {
  position: relative;
  z-index: 2;
  display: grid;
  justify-items: center;
  max-width: 680px;
  margin: 0 auto;
  text-align: center;
}

.section-kicker {
  margin: 0 0 20px;
  color: var(--gold);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.56em;
  text-transform: uppercase;
}

.diagnostics h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(48px, 4.25vw, 70px);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: 0;
  text-transform: none;
  text-shadow: 0 14px 30px rgba(0, 0, 0, 0.55);
}

.diagnostics__lead {
  max-width: 600px;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(18px, 1.45vw, 22px);
  line-height: 1.45;
}

.diagnostics__steps {
  display: grid;
  justify-items: center;
  gap: 10px;
  width: min(100%, 560px);
  margin-top: clamp(40px, 4.6vw, 62px);
}

.step-card {
  position: relative;
  display: grid;
  grid-template-columns: 96px 1px 88px 1fr;
  align-items: center;
  width: 100%;
  min-height: 88px;
  padding: 16px 32px;
  border: 1px solid rgba(215, 170, 103, 0.46);
  border-radius: 12px;
  overflow: hidden;
  color: var(--cream);
  background:
    linear-gradient(90deg, rgba(1, 22, 17, 0.82), rgba(3, 18, 15, 0.74)),
    rgba(2, 16, 13, 0.72);
  box-shadow: inset 0 0 24px rgba(136, 183, 152, 0.04), 0 18px 38px rgba(0, 0, 0, 0.14);
  transition: transform 320ms ease, border-color 320ms ease, box-shadow 320ms ease, background 320ms ease;
}

.step-card::before,
.step-card::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.step-card::before {
  top: -1px;
  left: 18%;
  width: 80px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-soft), transparent);
  opacity: 0.76;
  transform: translateX(-28px);
  transition: transform 420ms ease, opacity 320ms ease;
}

.step-card::after {
  inset: 0;
  background: linear-gradient(110deg, transparent 0 34%, rgba(255, 241, 210, 0.08) 45%, transparent 58%);
  opacity: 0;
  transform: translateX(-28%);
  transition: transform 560ms ease, opacity 320ms ease;
}

.step-card:hover,
.step-card:focus-within {
  border-color: rgba(240, 199, 132, 0.88);
  background:
    linear-gradient(90deg, rgba(3, 28, 21, 0.92), rgba(5, 22, 18, 0.86)),
    rgba(2, 16, 13, 0.9);
  box-shadow:
    0 22px 48px rgba(0, 0, 0, 0.24),
    0 0 28px rgba(215, 170, 103, 0.08),
    inset 0 0 34px rgba(136, 183, 152, 0.06);
  transform: translateY(-3px);
}

.step-card:hover::before,
.step-card:focus-within::before {
  opacity: 1;
  transform: translateX(180px);
}

.step-card:hover::after,
.step-card:focus-within::after {
  opacity: 1;
  transform: translateX(36%);
}

.step-card__number {
  color: var(--gold-soft);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 46px;
  line-height: 1;
  text-align: left;
  text-shadow: 0 0 18px rgba(215, 170, 103, 0.18);
}

.step-card__divider {
  width: 1px;
  height: 56px;
  background: linear-gradient(180deg, transparent, rgba(215, 170, 103, 0.64), transparent);
}

.step-card__icon {
  justify-self: center;
  width: 54px;
  height: 54px;
  fill: none;
  stroke: var(--gold-soft);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 8px rgba(215, 170, 103, 0.18));
  transition: transform 320ms ease, filter 320ms ease;
}

.step-card:hover .step-card__icon,
.step-card:focus-within .step-card__icon {
  filter: drop-shadow(0 0 12px rgba(240, 199, 132, 0.34));
  transform: translateY(-1px) scale(1.04);
}

.step-card h3 {
  margin: 0;
  color: rgba(255, 255, 255, 0.92);
  font-size: 21px;
  font-weight: 400;
  line-height: 1.16;
  text-align: left;
}

.step-arrow {
  display: grid;
  place-items: center;
  width: 24px;
  height: 30px;
  color: var(--gold-soft);
  opacity: 0.8;
  animation: step-arrow-pulse 2.8s ease-in-out infinite;
}

.step-arrow svg {
  width: 16px;
  height: 32px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 8px rgba(215, 170, 103, 0.28));
}

.diagnostics__cta-wrap {
  display: grid;
  justify-items: center;
  gap: 14px;
  margin-top: clamp(28px, 3.2vw, 42px);
}

.cta-arrow {
  display: grid;
  place-items: center;
  width: 28px;
  height: 38px;
  color: var(--gold-soft);
  opacity: 0.82;
  animation: cta-arrow-drift 2.6s ease-in-out infinite;
}

.cta-arrow svg {
  width: 18px;
  height: 36px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 10px rgba(215, 170, 103, 0.34));
}

.diagnostics__cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: min(380px, 100%);
  min-height: 68px;
  padding: 0 42px;
  border: 1px solid rgba(215, 170, 103, 0.86);
  border-radius: 999px;
  overflow: hidden;
  color: var(--gold-soft);
  background:
    linear-gradient(90deg, rgba(3, 28, 20, 0.76), rgba(9, 25, 19, 0.68));
  box-shadow: 0 20px 46px rgba(0, 0, 0, 0.18), inset 0 0 28px rgba(215, 170, 103, 0.06);
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  transition: transform 320ms ease, box-shadow 320ms ease, border-color 320ms ease, color 320ms ease;
}

.diagnostics__cta::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  background: linear-gradient(110deg, transparent 0 30%, rgba(255, 241, 210, 0.16) 45%, transparent 62%);
  opacity: 0;
  transform: translateX(-70%);
  transition: transform 650ms ease, opacity 320ms ease;
}

.diagnostics__cta::after {
  content: "";
  position: absolute;
  inset: -16px;
  border-radius: inherit;
  border: 1px solid rgba(240, 199, 132, 0);
  transition: inset 320ms ease, border-color 320ms ease;
}

.diagnostics__cta span {
  position: relative;
  z-index: 1;
}

.diagnostics__cta:hover,
.diagnostics__cta:focus-visible {
  border-color: var(--gold-soft);
  color: #ffe3ad;
  box-shadow:
    0 24px 58px rgba(0, 0, 0, 0.28),
    0 0 34px rgba(215, 170, 103, 0.16),
    inset 0 0 34px rgba(215, 170, 103, 0.1);
  transform: translateY(-3px);
}

.diagnostics__cta:hover::before,
.diagnostics__cta:focus-visible::before {
  opacity: 1;
  transform: translateX(70%);
}

.diagnostics__cta:hover::after,
.diagnostics__cta:focus-visible::after {
  inset: 6px;
  border-color: rgba(240, 199, 132, 0.24);
}

@keyframes cta-arrow-drift {
  0%,
  100% {
    transform: translateY(0);
    opacity: 0.62;
  }

  50% {
    transform: translateY(7px);
    opacity: 1;
  }
}

@keyframes step-arrow-pulse {
  0%,
  100% {
    opacity: 0.46;
    transform: translateY(-1px);
  }

  50% {
    opacity: 0.96;
    transform: translateY(3px);
  }
}

@media (max-width: 1180px) {
  .site-header {
    grid-template-columns: 1fr auto 56px;
  }

  .nav {
    display: none;
  }
}

@media (max-width: 760px) {
  .site-header {
    grid-template-columns: 1fr 48px;
    min-height: 86px;
    gap: 16px;
    padding: 18px 20px;
  }

  .brand__mark {
    width: 38px;
    height: 38px;
    font-size: 38px;
  }

  .brand__name {
    font-size: 20px;
  }

  .brand__tagline {
    font-size: 9px;
  }

  .contact {
    display: none;
  }

  .call-button {
    width: 48px;
    height: 48px;
  }

  .hero__shade {
    background:
      linear-gradient(90deg, rgba(0, 7, 5, 0.92) 0%, rgba(0, 8, 6, 0.72) 52%, rgba(0, 8, 7, 0.4) 100%),
      linear-gradient(180deg, rgba(0, 9, 7, 0.78) 0%, rgba(0, 9, 7, 0.18) 30%, rgba(0, 7, 6, 0.7) 100%);
  }

  .hero__content {
    width: calc(100% - 40px);
    margin-left: 20px;
    padding-top: 82px;
    padding-bottom: 108px;
  }

  .hero__eyebrow {
    max-width: 320px;
    margin-bottom: 30px;
    letter-spacing: 0.3em;
  }

  h1 {
    font-size: clamp(38px, 10.7vw, 46px);
    line-height: 1.16;
  }

  .hero__line {
    margin: 32px 0 26px;
  }

  .hero__copy {
    max-width: 520px;
  }

  .hero__cta {
    width: 100%;
    min-width: 0;
    min-height: 68px;
    gap: 20px;
    padding: 0 24px;
    font-size: 13px;
    letter-spacing: 0.17em;
  }

  .scroll-cue {
    width: 54px;
    height: 54px;
    bottom: 22px;
  }

  .diagnostics {
    padding: 24px 14px;
  }

  .diagnostics__frame {
    min-height: auto;
    padding: 56px 18px 68px;
    border-radius: 18px;
  }

  .diagnostics__tooth,
  .diagnostics__flow {
    opacity: 0.1;
  }

  .section-kicker {
    max-width: 310px;
    font-size: 12px;
    letter-spacing: 0.34em;
  }

  .diagnostics h2 {
    font-size: clamp(38px, 10vw, 54px);
    line-height: 1.08;
  }

  .diagnostics__lead {
    font-size: 17px;
  }

  .diagnostics__steps {
    gap: 8px;
    margin-top: 42px;
  }

  .step-card {
    grid-template-columns: 60px 1px 60px 1fr;
    min-height: 82px;
    padding: 12px 18px;
  }

  .step-card__number {
    font-size: 36px;
  }

  .step-card__icon {
    width: 44px;
    height: 44px;
  }

  .step-card h3 {
    font-size: 18px;
  }

  .step-arrow {
    height: 26px;
  }

  .diagnostics__cta {
    width: min(100%, 350px);
    min-width: 0;
    min-height: 64px;
    padding: 0 24px;
    font-size: 13px;
    letter-spacing: 0.18em;
  }
}

/* Prices */
.prices,
#services,
#team,
#tour,
#reviews {
  scroll-margin-top: 24px;
}

.price-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  max-width: 1120px;
  margin: 0 auto;
}

.price-card {
  position: relative;
  display: grid;
  align-content: start;
  min-height: 250px;
  padding: 28px 30px 22px;
  border: 1px solid rgba(215, 170, 103, 0.52);
  border-radius: 8px;
  overflow: hidden;
  background: rgba(2, 18, 14, 0.8);
  box-shadow: inset 0 0 28px rgba(136, 183, 152, 0.03);
  transition: transform 300ms ease, border-color 300ms ease, box-shadow 300ms ease, background 300ms ease;
}

.price-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 0 34%, rgba(255, 241, 210, 0.08) 46%, transparent 58%);
  opacity: 0;
  transform: translateX(-52%);
  transition: transform 600ms ease, opacity 300ms ease;
  pointer-events: none;
}

.price-card:hover {
  border-color: rgba(240, 199, 132, 0.88);
  background: rgba(4, 26, 20, 0.9);
  box-shadow: 0 22px 48px rgba(0, 0, 0, 0.24), 0 0 26px rgba(215, 170, 103, 0.1);
  transform: translateY(-5px);
}

.price-card:hover::after {
  opacity: 1;
  transform: translateX(52%);
}

.price-card__head {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  min-height: 72px;
}

.price-card__icon {
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  border: 1px solid rgba(215, 170, 103, 0.76);
  border-radius: 50%;
  color: var(--gold-soft);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  transition: box-shadow 300ms ease, color 300ms ease;
}

.price-card:hover .price-card__icon {
  color: #ffe0a6;
  box-shadow: 0 0 24px rgba(215, 170, 103, 0.16);
}

.price-card h3 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(25px, 2vw, 32px);
  font-weight: 400;
  line-height: 1.05;
}

.price-card > p {
  margin: 18px 0 12px;
  color: rgba(255, 255, 255, 0.68);
  line-height: 1.4;
}

.price-card strong {
  margin-top: 6px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 17px;
  font-weight: 400;
}

.price-card > a {
  display: flex;
  justify-content: space-between;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(215, 170, 103, 0.24);
  color: var(--gold-soft);
  font-size: 17px;
}

.price-card > a span {
  transition: transform 300ms ease;
}

.price-card:hover > a span {
  transform: translateX(6px);
}

.price-note {
  display: flex;
  justify-content: center;
  gap: 14px;
  max-width: 1120px;
  margin: 22px auto 0;
  padding: 16px 24px;
  border: 1px solid rgba(215, 170, 103, 0.42);
  border-radius: 6px;
  color: var(--gold-soft);
  background: rgba(2, 18, 14, 0.72);
  text-align: center;
}

.price-note span {
  color: rgba(255, 255, 255, 0.78);
}

/* Team images already include their captions. Preserve the full artwork. */
.team-card {
  min-height: 0;
  aspect-ratio: 314 / 488;
}

.team-card img {
  object-fit: contain;
}

.hero__cta {
  min-width: min(510px, 100%);
}

.hero__cta:hover svg {
  transform: translateX(8px);
}

.hero__cta svg {
  transition: transform 300ms ease;
}

.nav a {
  position: relative;
  padding-bottom: 8px;
}

.nav a::after {
  content: "";
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: 0;
  height: 1px;
  background: var(--gold-soft);
  transition: left 250ms ease, right 250ms ease;
}

.nav a:hover::after,
.nav a:focus-visible::after {
  left: 0;
  right: 0;
}

.call-button:hover {
  border-color: var(--gold-soft);
  box-shadow: 0 0 22px rgba(215, 170, 103, 0.18);
  transform: scale(1.04);
}

.service-card img,
.team-card img,
.review-card video {
  transition: transform 1000ms cubic-bezier(0.22, 1, 0.36, 1), opacity 800ms ease;
}

.service-card:hover img,
.team-card:hover img,
.review-card:hover video {
  transform: scale(1.03);
}

.review-card {
  transition: transform 320ms ease, border-color 320ms ease, box-shadow 320ms ease;
}

.review-card:hover {
  border-color: rgba(240, 199, 132, 0.82);
  box-shadow: 0 22px 50px rgba(0, 0, 0, 0.26), 0 0 24px rgba(215, 170, 103, 0.08);
  transform: translateY(-5px);
}

.lead-form input:focus {
  border-color: var(--gold-soft);
  outline: none;
  box-shadow: inset 0 0 18px rgba(215, 170, 103, 0.06), 0 0 0 2px rgba(215, 170, 103, 0.08);
}

/* Calm entrance motion */
.motion-ready .reveal-item {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 850ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 850ms cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--reveal-delay, 0ms);
}

.motion-ready .reveal-item.reveal-from-left {
  transform: translateX(-24px);
}

.motion-ready .reveal-item.reveal-from-right {
  transform: translateX(28px);
}

.motion-ready .reveal-item.reveal-scale {
  transform: scale(0.96);
}

.motion-ready .reveal-item.is-visible {
  opacity: 1;
  transform: translate(0, 0) scale(1);
}

.motion-ready .site-header > * {
  animation: header-arrive 700ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.motion-ready .site-header > *:nth-child(2) { animation-delay: 80ms; }
.motion-ready .site-header > *:nth-child(3) { animation-delay: 160ms; }
.motion-ready .site-header > *:nth-child(4) { animation-delay: 240ms; }

.motion-ready .hero__video {
  animation: hero-media-arrive 1600ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.motion-ready .hero__content > * {
  animation: hero-copy-arrive 900ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.motion-ready .hero__content > *:nth-child(1) { animation-delay: 160ms; }
.motion-ready .hero__content > *:nth-child(2) { animation-delay: 320ms; }
.motion-ready .hero__content > *:nth-child(3) { animation-delay: 480ms; }
.motion-ready .hero__content > *:nth-child(4) { animation-delay: 640ms; }
.motion-ready .hero__content > *:nth-child(5) { animation-delay: 800ms; }

.before-after.is-nudging {
  animation: comparison-hint 1200ms cubic-bezier(0.22, 1, 0.36, 1) 1;
}

@keyframes header-arrive {
  from { opacity: 0; transform: translateY(-16px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes hero-media-arrive {
  from { opacity: 0; transform: scale(1.04); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes hero-copy-arrive {
  from { opacity: 0; transform: translateY(28px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes comparison-hint {
  0%, 100% { --position: 50%; }
  55% { --position: 56%; }
}

@media (max-width: 1040px) {
  .price-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .price-grid {
    grid-template-columns: 1fr;
  }

  .price-card {
    min-height: 0;
    padding: 24px 22px 20px;
  }

  .price-card__head {
    grid-template-columns: 62px minmax(0, 1fr);
  }

  .price-card__icon {
    width: 58px;
    height: 58px;
  }

  .hero__cta {
    min-width: 0;
    font-size: 11px;
  }

  .motion-ready .reveal-item {
    transform: translateY(18px);
    transition-duration: 650ms;
    transition-delay: min(var(--reveal-delay, 0ms), 180ms);
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
  }

  .motion-ready .reveal-item {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 1180px) {
  .case-shell,
  .review-wrap {
    grid-template-columns: 56px minmax(0, 1fr) 56px;
    gap: 14px;
  }

  .case-shell .side-arrow,
  .review-wrap .side-arrow {
    display: grid;
    width: 54px;
    height: 54px;
    font-size: 34px;
  }

  .before-after {
    min-height: 380px;
  }
}

@media (max-width: 760px) {
  .case-shell,
  .review-wrap {
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    gap: 6px;
  }

  .case-shell .side-arrow,
  .review-wrap .side-arrow {
    width: 40px;
    height: 40px;
    font-size: 28px;
  }

  .before-after {
    min-height: 280px;
  }

  .before-after__divider i {
    width: 48px;
    height: 48px;
    font-size: 20px;
  }

  .before-after__label {
    bottom: 14px;
    padding: 6px 10px;
    font-size: 17px;
  }

  .before-after__label--before {
    left: 12px;
  }

  .before-after__label--after {
    right: 12px;
  }

  .guarantee-grid span {
    grid-row: auto;
    justify-self: center;
  }

  .guarantee-grid h3,
  .guarantee-grid p {
    text-align: center;
  }

  .final-cta__copy {
    padding-top: 28px;
  }
}

.legal-page {
  min-height: 100vh;
  padding: 48px 20px 80px;
  background: radial-gradient(circle at 50% 0%, rgba(215, 170, 103, 0.1), transparent 28%), #04100d;
}

.legal-page main {
  max-width: 860px;
  margin: 0 auto;
  padding: clamp(30px, 5vw, 64px);
  border: 1px solid rgba(215, 170, 103, 0.42);
  border-radius: 12px;
  background: rgba(2, 18, 14, 0.88);
}

.legal-page h1 {
  margin: 16px 0 34px;
  font-size: clamp(38px, 6vw, 64px);
  line-height: 1.08;
  text-transform: none;
}

.legal-page h2 {
  margin: 34px 0 10px;
  color: var(--gold-soft);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 27px;
  font-weight: 400;
}

.legal-page p {
  color: rgba(255, 255, 255, 0.8);
  font-size: 17px;
  line-height: 1.65;
}

.legal-page .section-kicker {
  margin-top: 34px;
}

.legal-back {
  color: var(--gold-soft);
}

.legal-warning {
  padding: 16px 18px;
  border-left: 2px solid var(--gold-soft);
  background: rgba(215, 170, 103, 0.08);
}

@media (max-width: 430px) {
  .brand {
    gap: 10px;
  }

  .brand__name {
    font-size: 17px;
  }

  .brand__tagline {
    max-width: 178px;
    line-height: 1.25;
  }

  .hero__content {
    padding-top: 62px;
  }

  .hero__cta svg {
    width: 42px;
  }

  .diagnostics__frame {
    padding-inline: 12px;
  }

  .diagnostics__steps {
    width: 100%;
  }

  .step-card {
    grid-template-columns: 50px 1px 48px 1fr;
    gap: 12px;
    padding: 12px 14px;
    min-height: 80px;
  }

  .step-card__number {
    font-size: 30px;
  }

  .step-card__divider {
    height: 44px;
  }

  .step-card__icon {
    width: 36px;
    height: 36px;
  }

  .step-card h3 {
    font-size: 16px;
  }
}

/* Expanded diagnostics pass */
.diagnostics__frame {
  min-height: clamp(1280px, 136vh, 1540px);
}

.diagnostics__steps {
  width: min(100%, 640px);
  gap: 16px;
}

.step-card {
  grid-template-columns: 112px 1px 104px 1fr;
  min-height: 108px;
  padding: 20px 38px;
}

.step-card__number {
  font-size: 52px;
}

.step-card__divider {
  height: 66px;
}

.step-card__icon {
  width: 62px;
  height: 62px;
}

.step-card h3 {
  font-size: 24px;
}

.step-arrow {
  width: 34px;
  height: 42px;
}

.step-arrow svg {
  height: 42px;
}

.diagnostics__cta-wrap {
  width: 100%;
  justify-items: center;
  margin-top: 58px;
}

.cta-arrow {
  justify-self: center;
  margin-inline: auto;
}

/* Shared premium sections */
.premium-section {
  position: relative;
  overflow: hidden;
  padding: clamp(42px, 5vw, 82px) clamp(16px, 3vw, 34px);
  background: linear-gradient(180deg, #04100d 0%, #020c0a 100%);
}

.premium-section::before,
.premium-section::after {
  content: "";
  position: absolute;
  pointer-events: none;
  opacity: 0.34;
}

.premium-section::before {
  left: -4vw;
  top: 12%;
  width: 28vw;
  min-width: 260px;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid rgba(215, 170, 103, 0.12);
  box-shadow: inset 0 0 60px rgba(215, 170, 103, 0.05);
}

.premium-section::after {
  right: 5vw;
  top: 10%;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, rgba(215, 170, 103, 0.2) 0 1px, transparent 1px);
  background-size: 10px 10px;
}

.premium-frame {
  position: relative;
  z-index: 1;
  max-width: 1600px;
  margin: 0 auto;
  padding: clamp(52px, 5.4vw, 84px) clamp(24px, 5vw, 92px);
  border: 1px solid rgba(215, 170, 103, 0.34);
  border-radius: 24px;
  background:
    radial-gradient(circle at 50% 0%, rgba(215, 170, 103, 0.08), transparent 22%),
    radial-gradient(circle at 86% 62%, rgba(136, 183, 152, 0.06), transparent 30%),
    rgba(3, 17, 14, 0.84);
  box-shadow: inset 0 0 90px rgba(0, 0, 0, 0.34);
}

.premium-frame--open {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.section-head {
  display: grid;
  justify-items: center;
  max-width: 1040px;
  margin: 0 auto clamp(42px, 5vw, 68px);
  text-align: center;
}

.section-head h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 4.8vw, 76px);
  font-weight: 400;
  line-height: 1.08;
}

.section-head p:not(.section-kicker) {
  max-width: 720px;
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.74);
  font-size: clamp(17px, 1.35vw, 21px);
  line-height: 1.45;
}

.section-rule {
  width: 68px;
  height: 2px;
  margin-top: 22px;
  background: var(--gold-soft);
}

.pill-cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  min-height: 64px;
  padding: 0 42px;
  border: 1px solid rgba(215, 170, 103, 0.86);
  border-radius: 999px;
  color: var(--gold-soft);
  background: rgba(3, 22, 17, 0.76);
  box-shadow: inset 0 0 26px rgba(215, 170, 103, 0.06);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  transition: transform 320ms ease, box-shadow 320ms ease, background 320ms ease;
}

.pill-cta:hover {
  transform: translateY(-3px);
  background: rgba(215, 170, 103, 0.12);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.24), 0 0 30px rgba(215, 170, 103, 0.14);
}

/* Services */
.service-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 26px;
  max-width: 1080px;
  margin: 0 auto;
}

.service-card {
  grid-column: span 2;
  padding: 12px 12px 18px;
  border: 1px solid rgba(215, 170, 103, 0.48);
  border-radius: 12px;
  background: rgba(2, 18, 14, 0.84);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.18);
  transition: transform 320ms ease, border-color 320ms ease, box-shadow 320ms ease;
}

.service-card:nth-child(4) {
  grid-column: 2 / span 2;
}

.service-card:nth-child(5) {
  grid-column: 4 / span 2;
}

.service-card:hover,
.team-card:hover,
.guarantee-grid article:hover,
.stats-grid article:hover {
  transform: translateY(-5px);
  border-color: rgba(240, 199, 132, 0.88);
  box-shadow: 0 28px 58px rgba(0, 0, 0, 0.26), 0 0 28px rgba(215, 170, 103, 0.1);
}

.service-card img {
  display: block;
  width: 100%;
  height: 164px;
  object-fit: cover;
  border-radius: 8px;
  filter: saturate(0.86) contrast(1.05);
}

.service-card h3 {
  margin: 18px 12px 16px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  font-weight: 400;
  line-height: 1.08;
}

.service-card__meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 0 12px 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(215, 170, 103, 0.26);
  color: rgba(255, 255, 255, 0.62);
  font-size: 13px;
}

.service-card__meta b {
  color: var(--gold-soft);
  font-size: 18px;
  font-weight: 400;
}

.service-card a {
  display: flex;
  justify-content: space-between;
  margin: 0 12px;
  color: var(--gold-soft);
  font-size: 17px;
}

/* Cases */
.case-shell,
.review-wrap {
  display: grid;
  grid-template-columns: 70px 1fr 70px;
  align-items: center;
  gap: 34px;
}

.side-arrow {
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  border: 1px solid rgba(215, 170, 103, 0.72);
  border-radius: 50%;
  color: var(--gold-soft);
  background: rgba(2, 18, 14, 0.64);
  font-size: 44px;
  line-height: 1;
  cursor: pointer;
  transition: transform 240ms ease, background 240ms ease;
}

.side-arrow:hover {
  transform: scale(1.05);
  background: rgba(215, 170, 103, 0.12);
}

.case-card {
  display: grid;
  grid-template-columns: 1.45fr 1fr;
  overflow: hidden;
  border: 1px solid rgba(215, 170, 103, 0.5);
  border-radius: 22px;
  background: rgba(2, 18, 14, 0.86);
}

.case-card__image {
  position: relative;
  min-height: 420px;
  padding: 18px;
  border-right: 1px solid rgba(215, 170, 103, 0.22);
}

.case-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
}

.case-card__image span {
  position: absolute;
  bottom: 48px;
  color: #ffe1aa;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
}

.case-card__image span:first-of-type {
  left: 58px;
}

.case-card__image span:last-of-type {
  right: 58px;
}

.case-card__info {
  padding: 38px 34px;
}

.case-card__info h3 {
  margin: 0 0 30px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 2.5vw, 38px);
  font-weight: 400;
  line-height: 1.12;
}

.case-card dl {
  margin: 0;
}

.case-card dl div {
  display: grid;
  grid-template-columns: 0.75fr 1fr;
  gap: 22px;
  padding: 20px 0;
  border-top: 1px solid rgba(215, 170, 103, 0.18);
}

.case-card dt {
  color: rgba(255, 255, 255, 0.76);
}

.case-card dd {
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.45;
}

.cases .pill-cta,
.reviews .pill-cta {
  margin: 38px auto 0;
}

/* Team */
.team-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.team-card {
  position: relative;
  min-height: 485px;
  overflow: hidden;
  border: 1px solid rgba(215, 170, 103, 0.42);
  border-radius: 8px;
  background: rgba(1, 15, 12, 0.86);
  transition: transform 320ms ease, border-color 320ms ease, box-shadow 320ms ease;
}

.team-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.68;
}

.team-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(1, 12, 9, 0.76), transparent 44%, rgba(1, 12, 9, 0.7));
}

.team-card div {
  position: relative;
  z-index: 1;
  padding: 36px;
}

.team-card span {
  color: var(--gold-soft);
  font-size: 38px;
}

.team-card h3 {
  margin: 18px 0 20px;
  font-size: 22px;
  font-weight: 400;
}

.team-card p {
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.65;
}

/* Tour */
.tour-video {
  position: relative;
  max-width: 1120px;
  margin: 0 auto;
  border: 1px solid rgba(215, 170, 103, 0.6);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.26);
}

.tour-video img {
  display: block;
  width: 100%;
  aspect-ratio: 1120 / 490;
  object-fit: cover;
}

.tour-video button,
.review-card button {
  position: absolute;
  display: grid;
  place-items: center;
  border: 1px solid rgba(240, 199, 132, 0.86);
  border-radius: 50%;
  color: #0b110e;
  background: rgba(240, 199, 132, 0.86);
  cursor: pointer;
}

.tour-video button {
  left: 50%;
  top: 50%;
  width: 112px;
  height: 112px;
  font-size: 42px;
  transform: translate(-50%, -50%);
}

.tour-video__time {
  position: absolute;
  right: 32px;
  bottom: 32px;
  padding: 16px 28px;
  border: 1px solid rgba(215, 170, 103, 0.74);
  border-radius: 999px;
  color: var(--gold-soft);
  background: rgba(1, 13, 10, 0.72);
}

.tour-features {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  max-width: 1080px;
  margin: 26px auto 0;
}

.tour-features article {
  display: flex;
  align-items: center;
  gap: 22px;
  min-height: 92px;
  padding: 22px 28px;
  border: 1px solid rgba(215, 170, 103, 0.42);
  border-radius: 8px;
  color: var(--gold-soft);
  font-size: 32px;
  background: rgba(2, 18, 14, 0.7);
}

.tour-features span {
  color: rgba(255, 255, 255, 0.88);
  font-size: 18px;
}

/* Reviews */
.review-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.review-card {
  position: relative;
  padding: 18px;
  border: 1px solid rgba(215, 170, 103, 0.38);
  border-radius: 12px;
  background: rgba(2, 18, 14, 0.76);
}

.review-card img {
  width: 100%;
  height: 290px;
  object-fit: cover;
  border-radius: 8px;
  opacity: 0.86;
}

.review-card button {
  left: 50%;
  top: 150px;
  width: 64px;
  height: 64px;
  font-size: 26px;
  transform: translate(-50%, -50%);
}

.review-card p {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 14px;
  margin: 22px 8px 0;
  padding-top: 18px;
  border-top: 1px solid rgba(215, 170, 103, 0.24);
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.45;
}

.review-card b {
  color: #fff;
  font-weight: 400;
}

/* Path */
.path-line {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 42px;
  margin-top: 90px;
}

.path-line::before {
  content: "";
  position: absolute;
  left: 4%;
  right: 4%;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(215, 170, 103, 0.86), transparent);
}

.path-line article {
  position: relative;
  display: grid;
  justify-items: center;
  padding: 64px 26px 34px;
  border: 1px solid rgba(215, 170, 103, 0.4);
  border-radius: 12px 12px 36px 36px;
  background: rgba(2, 18, 14, 0.78);
  text-align: center;
}

.path-line b {
  position: absolute;
  top: -42px;
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  border: 1px solid rgba(215, 170, 103, 0.8);
  border-radius: 50%;
  color: var(--gold-soft);
  background: #07130f;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 42px;
  font-weight: 400;
}

.path-line span {
  color: var(--gold-soft);
  font-size: 48px;
}

.path-line h3 {
  margin: 24px 0 14px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 27px;
  font-weight: 400;
}

.path-line p {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.45;
}

/* Guarantees and stats */
.guarantee-grid,
.stats-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(280px, 1fr));
  gap: 28px;
  max-width: 1060px;
  margin: 0 auto;
}

.guarantee-grid article,
.stats-grid article {
  display: grid;
  align-content: center;
  min-height: 180px;
  padding: 34px 42px;
  border: 1px solid rgba(215, 170, 103, 0.46);
  border-radius: 12px;
  background: rgba(2, 18, 14, 0.78);
  transition: transform 320ms ease, border-color 320ms ease, box-shadow 320ms ease;
}

.guarantee-grid article {
  grid-template-columns: 112px 1fr;
  column-gap: 28px;
}

.guarantee-grid span {
  display: grid;
  place-items: center;
  width: 88px;
  height: 88px;
  border: 1px solid rgba(215, 170, 103, 0.74);
  border-radius: 50%;
  color: var(--gold-soft);
  font-size: 38px;
}

.guarantee-grid h3 {
  margin: 0 0 12px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  font-weight: 400;
}

.guarantee-grid p,
.stats-grid p {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 18px;
  line-height: 1.45;
}

.guarantees .pill-cta {
  margin: 48px auto 0;
}

.stats-grid {
  max-width: 920px;
}

.stats-grid article {
  justify-items: center;
  min-height: 240px;
  text-align: center;
}

.stats-grid strong {
  color: #f5d0a0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(64px, 7vw, 94px);
  font-weight: 400;
  line-height: 1;
}

.stats-grid span {
  width: 46px;
  height: 1px;
  margin: 24px 0;
  background: var(--gold-soft);
}

/* Final CTA */
.final-cta {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  background: #020907 url("./assets/sections/contact-bg.png") right center / auto 100% no-repeat;
}

.final-cta__shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(1, 8, 7, 0.98) 0%, rgba(1, 8, 7, 0.88) 48%, rgba(1, 8, 7, 0.36) 100%),
    linear-gradient(180deg, rgba(1, 8, 7, 0.32), rgba(1, 8, 7, 0.78));
}

.final-cta__content {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(420px, 0.86fr) minmax(420px, 560px);
  gap: clamp(46px, 7vw, 110px);
  align-items: center;
  min-height: 100vh;
  padding: clamp(32px, 5vw, 70px) clamp(24px, 7vw, 122px);
}

.final-cta__brand {
  position: absolute;
  top: 36px;
  left: clamp(24px, 7vw, 122px);
}

.final-cta__copy h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(50px, 5.2vw, 74px);
  font-weight: 400;
  line-height: 1.12;
}

.final-cta__copy h2 span {
  color: var(--gold-soft);
}

.final-cta__copy p {
  max-width: 620px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 21px;
  line-height: 1.45;
}

.final-cta__copy ul {
  display: grid;
  gap: 18px;
  margin: 42px 0 0;
  padding: 0;
  list-style: none;
  max-width: 560px;
}

.final-cta__copy li {
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(215, 170, 103, 0.18);
  color: rgba(255, 255, 255, 0.9);
  font-size: 20px;
}

.lead-form {
  display: grid;
  gap: 24px;
  padding: 48px 44px;
  border: 1px solid rgba(215, 170, 103, 0.58);
  border-radius: 20px;
  background: rgba(1, 12, 10, 0.78);
  backdrop-filter: blur(8px);
}

.lead-form__icon {
  display: grid;
  place-items: center;
  justify-self: center;
  width: 80px;
  height: 80px;
  border: 1px solid rgba(215, 170, 103, 0.82);
  border-radius: 50%;
  color: var(--gold-soft);
  font-size: 42px;
}

.lead-form p {
  margin: 0 auto 12px;
  max-width: 390px;
  text-align: center;
  font-size: 20px;
  line-height: 1.45;
}

.lead-form label {
  display: grid;
  gap: 12px;
  color: rgba(255, 255, 255, 0.92);
  font-size: 16px;
}

.lead-form input {
  width: 100%;
  min-height: 70px;
  padding: 0 22px;
  border: 1px solid rgba(215, 170, 103, 0.48);
  border-radius: 4px;
  color: #fff;
  background: rgba(2, 14, 12, 0.72);
  font: inherit;
}

.lead-form button {
  min-height: 64px;
  border: 0;
  border-radius: 4px;
  color: #1d1208;
  background: linear-gradient(180deg, #f4cf91, #d8a55f);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform 260ms ease, box-shadow 260ms ease;
}

.lead-form button:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 42px rgba(215, 170, 103, 0.22);
}

.lead-form small {
  color: rgba(255, 255, 255, 0.68);
}

/* Interaction and layout refinements */
.diagnostics__cta-wrap {
  gap: 24px;
  margin-top: 44px;
}

.cta-arrow {
  position: relative;
  top: -12px;
}

.section-cta-row {
  display: flex;
  justify-content: center;
  width: 100%;
}

.section-cta-row .pill-cta {
  margin: 42px 0 0;
}

.case-viewport,
.review-viewport {
  min-width: 0;
  overflow: hidden;
}

.case-card {
  grid-template-columns: minmax(0, 1.38fr) minmax(350px, 0.92fr);
}

.before-after {
  --position: 50%;
  position: relative;
  min-height: 500px;
  overflow: hidden;
  background: #020907;
  touch-action: pan-y;
}

.before-after img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  user-select: none;
  pointer-events: none;
}

.before-after__after {
  position: absolute;
  inset: 0;
  width: var(--position);
  overflow: hidden;
}

.before-after__after img {
  width: 100cqw;
  max-width: none;
}

.before-after {
  container-type: inline-size;
}

.before-after__divider {
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--position);
  z-index: 3;
  width: 2px;
  background: rgba(240, 199, 132, 0.96);
  box-shadow: 0 0 18px rgba(240, 199, 132, 0.7);
  transform: translateX(-50%);
  pointer-events: none;
}

.before-after__divider i {
  position: absolute;
  left: 50%;
  top: 50%;
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border: 1px solid rgba(240, 199, 132, 0.9);
  border-radius: 50%;
  color: var(--gold-soft);
  background: rgba(3, 17, 14, 0.88);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.34);
  font-size: 26px;
  font-style: normal;
  transform: translate(-50%, -50%);
}

.before-after__range {
  position: absolute;
  inset: 0;
  z-index: 4;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: ew-resize;
}

.before-after__label {
  position: absolute;
  bottom: 28px;
  z-index: 2;
  padding: 8px 14px;
  border: 1px solid rgba(240, 199, 132, 0.52);
  border-radius: 999px;
  color: #ffe1aa;
  background: rgba(1, 12, 10, 0.7);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  pointer-events: none;
}

.before-after__label--before {
  left: 24px;
}

.before-after__label--after {
  right: 24px;
}

.case-count {
  margin: 0 0 14px;
  color: var(--gold-soft);
  font-size: 13px;
  letter-spacing: 0.24em;
}

.team-card img {
  opacity: 1;
}

.team-card::after {
  background: linear-gradient(180deg, rgba(1, 12, 9, 0.08), transparent 68%, rgba(1, 12, 9, 0.3));
}

.tour-video video {
  display: block;
  width: 100%;
  aspect-ratio: 1120 / 490;
  object-fit: cover;
  background: #010705;
}

.tour-video__time.is-hidden {
  display: none;
}

.tour-video button,
.review-card button {
  transition: transform 300ms ease, box-shadow 300ms ease, background 300ms ease;
}

.tour-video button:hover {
  box-shadow: 0 0 0 12px rgba(240, 199, 132, 0.1), 0 0 38px rgba(240, 199, 132, 0.28);
  transform: translate(-50%, -50%) scale(1.06);
}

.tour-features article {
  position: relative;
  overflow: hidden;
  transition: transform 320ms ease, border-color 320ms ease, box-shadow 320ms ease, background 320ms ease;
}

.tour-features article::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 0 34%, rgba(255, 241, 210, 0.1) 46%, transparent 58%);
  opacity: 0;
  transform: translateX(-50%);
  transition: transform 560ms ease, opacity 320ms ease;
}

.tour-features article:hover {
  border-color: rgba(240, 199, 132, 0.88);
  background: rgba(5, 28, 21, 0.9);
  box-shadow: 0 20px 44px rgba(0, 0, 0, 0.24), 0 0 26px rgba(215, 170, 103, 0.1);
  transform: translateY(-4px);
}

.tour-features article:hover::after {
  opacity: 1;
  transform: translateX(50%);
}

.review-track {
  --visible: 3;
  display: flex;
  gap: 18px;
  transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

.review-card {
  flex: 0 0 calc((100% - (var(--visible) - 1) * 18px) / var(--visible));
  min-width: 0;
}

.review-card__media {
  position: relative;
}

.review-card video {
  display: block;
  width: 100%;
  height: 290px;
  border-radius: 8px;
  object-fit: cover;
  background: #010705;
}

.review-card button {
  left: 50%;
  top: 50%;
  width: 64px;
  height: 64px;
  font-size: 26px;
  transform: translate(-50%, -50%);
}

.review-card button:hover {
  box-shadow: 0 0 0 9px rgba(240, 199, 132, 0.1), 0 0 28px rgba(240, 199, 132, 0.24);
  transform: translate(-50%, -50%) scale(1.06);
}

.has-baked-play .media-play {
  width: 86px;
  height: 86px;
  border: 0;
  color: transparent;
  background: transparent;
}

.has-baked-play .media-play:hover {
  box-shadow: none;
}

.side-arrow:disabled {
  opacity: 0.28;
  cursor: default;
  transform: none;
}

.guarantee-grid article {
  grid-template-columns: 96px minmax(0, 1fr);
  column-gap: 34px;
  padding: 34px 40px;
}

.guarantee-grid span {
  grid-row: 1 / span 2;
  align-self: center;
}

.guarantee-grid h3,
.guarantee-grid p {
  width: 100%;
  max-width: none;
  justify-self: stretch;
}

.final-cta__brand {
  top: 22px;
}

.final-cta__copy {
  padding-top: 88px;
}

.form-consent {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: start;
  gap: 12px !important;
  color: rgba(255, 255, 255, 0.76) !important;
  font-size: 13px !important;
  line-height: 1.45;
}

.form-consent input {
  width: 18px;
  min-height: 18px;
  margin: 1px 0 0;
  accent-color: var(--gold-soft);
}

.form-consent a {
  color: var(--gold-soft);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.form-consent--optional {
  margin-top: -12px;
}

@media (max-width: 1180px) {
  .service-grid,
  .team-grid,
  .tour-features,
  .path-line {
    grid-template-columns: repeat(2, 1fr);
  }

  .service-card,
  .service-card:nth-child(4),
  .service-card:nth-child(5) {
    grid-column: auto;
  }

  .case-shell,
  .review-wrap {
    grid-template-columns: 1fr;
  }

  .side-arrow {
    display: none;
  }

  .case-card,
  .final-cta__content {
    grid-template-columns: 1fr;
  }

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

  .path-line::before {
    display: none;
  }
}

@media (max-width: 760px) {
  .diagnostics__frame {
    min-height: auto;
  }

  .diagnostics__steps {
    width: 100%;
    gap: 10px;
  }

  .step-card {
    grid-template-columns: 58px 1px 54px 1fr;
    min-height: 88px;
    padding: 14px 16px;
  }

  .step-card__number {
    font-size: 34px;
  }

  .step-card__divider {
    height: 50px;
  }

  .step-card__icon {
    width: 40px;
    height: 40px;
  }

  .step-card h3 {
    font-size: 17px;
  }

  .premium-section {
    padding: 24px 14px;
  }

  .premium-frame {
    padding: 48px 14px;
    border-radius: 18px;
  }

  .section-head h2 {
    font-size: clamp(36px, 11vw, 48px);
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .service-grid,
  .team-grid,
  .tour-features,
  .path-line,
  .guarantee-grid,
  .stats-grid {
    grid-template-columns: 1fr;
  }

  .case-card__image {
    min-height: 260px;
  }

  .case-card__info {
    padding: 28px 20px;
  }

  .case-card dl div {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .tour-video button {
    width: 76px;
    height: 76px;
  }

  .tour-video__time {
    right: 14px;
    bottom: 14px;
    padding: 10px 14px;
  }

  .guarantee-grid article {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .final-cta__content {
    padding-top: 128px;
  }

  .final-cta__copy h2 {
    font-size: clamp(42px, 12vw, 58px);
    overflow-wrap: anywhere;
  }

  .lead-form {
    padding: 34px 22px;
  }
}

@media (max-width: 1180px) {
  .case-shell,
  .review-wrap {
    position: relative;
    display: block;
  }

  .case-shell .side-arrow,
  .review-wrap .side-arrow {
    position: absolute;
    z-index: 8;
    display: grid;
    width: 54px;
    height: 54px;
    font-size: 34px;
  }

  .case-shell .side-arrow {
    top: 164px;
  }

  .review-wrap .side-arrow {
    top: 136px;
  }

  .case-shell .side-arrow:first-child,
  .review-wrap .side-arrow:first-child {
    left: -12px;
  }

  .case-shell .side-arrow:last-child,
  .review-wrap .side-arrow:last-child {
    right: -12px;
  }
}

@media (max-width: 760px) {
  .case-shell .side-arrow,
  .review-wrap .side-arrow {
    width: 42px;
    height: 42px;
    font-size: 28px;
  }

  .case-shell .side-arrow {
    top: 120px;
  }

  .review-wrap .side-arrow {
    top: 144px;
  }

  .case-shell .side-arrow:first-child,
  .review-wrap .side-arrow:first-child {
    left: -7px;
  }

  .case-shell .side-arrow:last-child,
  .review-wrap .side-arrow:last-child {
    right: -7px;
  }
}

/* Final cascade corrections */
.team-card {
  min-height: 0;
  aspect-ratio: 314 / 488;
}

.team-card img {
  object-fit: contain;
}

.motion-ready .path-line::before {
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 1200ms cubic-bezier(0.22, 1, 0.36, 1);
}

.motion-ready .path-line.is-visible::before {
  transform: scaleX(1);
}

@media (max-width: 760px) {
  .team-card {
    width: min(100%, 314px);
    margin-inline: auto;
  }

  .hero__cta {
    gap: 12px;
    padding-inline: 18px;
    letter-spacing: 0.12em;
  }

  .hero__cta span {
    max-width: 238px;
    line-height: 1.35;
  }

  .pill-cta {
    min-height: 68px;
    padding: 14px 24px;
    line-height: 1.35;
    text-align: center;
  }
}
