@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Manrope:wght@400;500;600;700;800&display=swap");

body.page-home {
  --header-offset: clamp(5.35rem, 7vw, 6.25rem);
  --mock-bg: #f5f0e8;
  --mock-bg-deep: #ebe4d6;
  --mock-surface: rgba(255, 252, 246, 0.86);
  --mock-surface-strong: #ffffff;
  --mock-surface-dark: #1f3635;
  --mock-surface-dark-soft: #274746;
  --mock-ink: #192727;
  --mock-ink-soft: #41514f;
  --mock-line: rgba(25, 39, 39, 0.12);
  --mock-line-strong: rgba(25, 39, 39, 0.18);
  --mock-accent: #1d6b59;
  --mock-accent-strong: #11483c;
  --mock-accent-soft: rgba(29, 107, 89, 0.1);
  --mock-gold: #c89546;
  --mock-gold-soft: rgba(200, 149, 70, 0.16);
  --mock-lime: #9ccf26;
  --mock-lime-bright: #b6e53f;
  --mock-hero-bg: #1b1f2d;
  --mock-hero-bg-soft: #252a3b;
  --mock-hero-line: rgba(182, 229, 63, 0.18);
  --mock-shadow: 0 24px 70px rgba(28, 45, 45, 0.12);
  --mock-shadow-strong: 0 32px 90px rgba(22, 34, 34, 0.18);
  font-family: "Manrope", sans-serif;
  color: var(--mock-ink);
  background:
    radial-gradient(circle at top left, rgba(200, 149, 70, 0.18), transparent 28%),
    radial-gradient(circle at 85% 10%, rgba(29, 107, 89, 0.16), transparent 22%),
    linear-gradient(180deg, #faf6ef 0%, var(--mock-bg) 48%, var(--mock-bg-deep) 100%);
}

body.page-home::before {
  background-image:
    linear-gradient(rgba(25, 39, 39, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(25, 39, 39, 0.05) 1px, transparent 1px);
  background-size: 38px 38px;
  opacity: 0.7;
  mix-blend-mode: normal;
}

body.page-home,
body.page-home p,
body.page-home li,
body.page-home a,
body.page-home button,
body.page-home input,
body.page-home textarea {
  font-family: "Manrope", sans-serif;
}

body.page-home .home-main h1,
body.page-home .home-main h2,
body.page-home .home-main h3,
body.page-home .brand strong {
  font-family: "Fraunces", serif;
  letter-spacing: -0.03em;
}

body.page-home .site-header {
  background:
    radial-gradient(circle at top right, rgba(184, 255, 22, 0.08), transparent 16rem),
    linear-gradient(180deg, rgba(17, 21, 31, 0.96), rgba(23, 27, 39, 0.94));
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: 0 14px 34px rgba(4, 8, 15, 0.24);
  backdrop-filter: blur(18px) saturate(1.08);
}

body.page-home .header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.1rem;
  min-height: 4.95rem;
}

body.page-home .container {
  width: 100%;
  max-width: var(--max);
  margin-inline: auto;
  padding-inline: 1rem;
}

body.page-home .brand {
  display: inline-flex;
  align-items: center;
  gap: 0;
  min-width: 0;
}

body.page-home .brand img {
  display: block;
  width: auto;
  height: clamp(4.1rem, 6.2vw, 5.2rem);
  max-width: min(100%, 12.5rem);
  border-radius: 0;
  object-fit: contain;
  object-position: left center;
  box-shadow: 0 12px 26px rgba(4, 10, 16, 0.18);
}

body.page-home .nav {
  position: relative;
}

body.page-home .nav-panel {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

body.page-home .nav-links {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  padding: 0.22rem;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02);
}

body.page-home .nav-links a,
body.page-home .lang-switch a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  padding: 0.58rem 0.9rem;
  border-radius: 999px;
  color: rgba(232, 235, 242, 0.86);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: background 180ms ease, color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

body.page-home .nav-links a:hover,
body.page-home .nav-links a:focus-visible,
body.page-home .lang-switch a:hover,
body.page-home .lang-switch a:focus-visible {
  color: #ffffff;
  background: rgba(184, 255, 22, 0.1);
  transform: translateY(-1px);
}

body.page-home .lang-switch {
  display: inline-flex;
  align-items: center;
  gap: 0.16rem;
  padding: 0.22rem;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.05);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

body.page-home .lang-switch a[aria-current="true"] {
  color: #121726;
  background: var(--mock-lime);
  box-shadow: 0 10px 20px rgba(184, 255, 22, 0.18);
}

body.page-home .nav-contact {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

body.page-home .nav-contact a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  color: rgba(244, 246, 250, 0.96);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.page-home .nav-phone {
  padding-inline: 0.2rem;
  color: #eef2fa;
  text-shadow: 0 1px 0 rgba(7, 10, 16, 0.24);
}

body.page-home .nav-reserve {
  padding: 0.65rem 1rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(184, 255, 22, 0.98), rgba(210, 255, 104, 0.96));
  color: #121726 !important;
  box-shadow: 0 14px 28px rgba(184, 255, 22, 0.16);
}

body.page-home .nav-reserve:hover,
body.page-home .nav-reserve:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 18px 32px rgba(184, 255, 22, 0.22);
}

body.page-home .nav-toggle {
  display: none;
  align-items: center;
  gap: 0.7rem;
  min-height: 3rem;
  padding: 0.8rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  color: #ffffff;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.page-home .nav-toggle-bars {
  display: inline-grid;
  gap: 0.2rem;
}

body.page-home .nav-toggle-bars span {
  display: block;
  width: 1rem;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
}

body.page-home .home-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  padding-bottom: 3.5rem;
}

body.page-home .section {
  position: relative;
  padding: clamp(1.1rem, 2.4vw, 1.8rem) 0;
}

body.page-home.js-section-motion .home-main > .section {
  opacity: 0;
  transform: translateY(2rem);
  transition: opacity 650ms ease, transform 650ms ease;
}

body.page-home.js-section-motion .home-main > .section.is-visible {
  opacity: 1;
  transform: none;
}

body.page-home .section--hero {
  padding: clamp(0.85rem, 1.8vw, 1.15rem) 0 0;
  background:
    radial-gradient(circle at left 62%, rgba(156, 207, 38, 0.08), transparent 18rem),
    linear-gradient(135deg, #1d2130 0%, #24293a 50%, #2a3042 100%);
}

body.page-home .section--hero .container {
  width: 100%;
  max-width: none;
  padding-inline: 0;
}

body.page-home .hero-stage {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 43rem) minmax(18rem, 36rem);
  justify-content: space-between;
  align-items: center;
  gap: clamp(2rem, 4.2vw, 4.8rem);
  min-height: clamp(38rem, 78vh, 52rem);
  min-width: 0;
  width: 100%;
  padding: clamp(3rem, 5.4vw, 4.8rem) clamp(2.6rem, 5vw, 4.8rem) clamp(2.4rem, 4.5vw, 3rem);
  border: 0;
  border-radius: 0;
  background:
    radial-gradient(circle at left 62%, rgba(156, 207, 38, 0.09), transparent 16rem),
    radial-gradient(circle at 88% 12%, rgba(255, 255, 255, 0.05), transparent 20rem),
    linear-gradient(135deg, #1d2130 0%, #24293a 50%, #2a3042 100%);
  box-shadow: none;
  overflow: hidden;
}

body.page-home .hero-stage::before {
  content: "";
  position: absolute;
  inset: auto auto -8rem -5rem;
  width: 19rem;
  height: 19rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(156, 207, 38, 0.18) 0%, rgba(156, 207, 38, 0) 74%);
  pointer-events: none;
}

body.page-home .hero-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255, 255, 255, 0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.018) 1px, transparent 1px);
  background-size: 30px 30px;
  opacity: 0.48;
  pointer-events: none;
}

body.page-home .hero-copy {
  position: relative;
  z-index: 1;
  grid-column: 1;
}

body.page-home .hero-copy {
  display: grid;
  align-content: start;
  gap: 1.9rem;
  min-width: 0;
  max-width: min(100%, 42rem);
  padding: clamp(0.8rem, 1.6vw, 1.2rem) 0 0;
  background: transparent;
  box-shadow: none;
}

body.page-home .hero-copy--editorial {
  min-height: clamp(28rem, 56vh, 36rem);
  justify-content: center;
}

body.page-home .hero-headline-row {
  display: block;
  min-width: 0;
}

body.page-home .hero-portrait {
  margin: 0;
  position: relative;
  z-index: 1;
  justify-self: end;
  align-self: center;
  width: min(100%, 38rem);
  height: clamp(23rem, 31vw, 32rem);
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(184, 255, 22, 0.2);
  border-radius: 2rem;
  box-shadow: 0 38px 72px rgba(8, 12, 20, 0.32);
  transform: rotate(2.4deg);
  background: linear-gradient(180deg, rgba(58, 64, 88, 0.96), rgba(48, 53, 74, 0.96));
}

body.page-home .hero-portrait--video {
  height: clamp(31rem, 43vw, 43rem);
}

body.page-home .hero-portrait--inline {
  display: none;
}

body.page-home.page-index .hero-portrait--stage {
  width: min(100%, 40.5rem);
}

body.page-home.page-index .hero-portrait--stage.hero-portrait--video {
  height: clamp(33rem, 45vw, 45rem);
}

body.page-home .hero-portrait::before {
  content: "";
  position: absolute;
  inset: 7% auto auto 6%;
  width: clamp(7rem, 14vw, 11rem);
  height: clamp(7rem, 14vw, 11rem);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(184, 255, 22, 0.28) 0%, rgba(184, 255, 22, 0) 74%);
  filter: blur(10px);
  pointer-events: none;
}

body.page-home .hero-portrait__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
}

body.page-home .hero-portrait__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 62%;
  background: #14191d;
}

body.page-home .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

body.page-home .hero-kicker,
body.page-home .section-eyebrow,
body.page-home .deliverables-card__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
  color: var(--mock-accent);
  font-size: 0.98rem;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

body.page-home .hero-kicker::before,
body.page-home .section-eyebrow::before,
body.page-home .deliverables-card__eyebrow::before {
  content: "";
  width: 0.7rem;
  height: 0.7rem;
  flex: none;
  border-radius: 999px;
  background: currentColor;
  opacity: 1;
}

body.page-home h1,
body.page-home h2,
body.page-home h3 {
  margin: 0;
  color: var(--mock-ink);
}

body.page-home .hero-copy h1 {
  max-width: 7.8ch;
  font-family: "Manrope", sans-serif;
  color: #e5e7ec;
  font-size: clamp(4.6rem, 7.4vw, 7.8rem);
  font-weight: 800;
  letter-spacing: -0.07em;
  line-height: 0.88;
}

body.page-home .hero-line,
body.page-home .hero-outline,
body.page-home .hero-emphasis {
  display: block;
}

body.page-home .hero-kicker--editorial {
  color: var(--mock-lime);
}

body.page-home .hero-kicker--editorial::before {
  background: currentColor;
}

body.page-home .hero-outline {
  width: fit-content;
  margin-top: -0.02em;
  color: transparent;
  font-size: 0.84em;
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 0.94;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1.7px #b8ff16;
  text-shadow: none;
}

body.page-home .hero-emphasis {
  width: fit-content;
  color: #b8ff16;
  transform: rotate(-4deg);
  transform-origin: left center;
}

body.page-home .hero-lead,
body.page-home .section-header p,
body.page-home .process-step p,
body.page-home .pricing-card__summary,
body.page-home .pricing-note span,
body.page-home .inspector-copy p,
body.page-home .territory-card span,
body.page-home .contact-copy p,
body.page-home .contact-panel__note,
body.page-home .signal-card span,
body.page-home .deliverables-meta span {
  color: var(--mock-ink-soft);
}

body.page-home .hero-lead {
  max-width: 38rem;
  color: rgba(226, 230, 239, 0.86);
  font-size: clamp(1.18rem, 1.55vw, 1.5rem);
  line-height: 1.82;
}

body.page-home .hero-lead strong {
  color: #eceff6;
  font-weight: 800;
}

body.page-home .hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.35rem;
}

body.page-home .hero-actions--hero {
  flex-wrap: nowrap;
  align-items: stretch;
  max-width: 43rem;
  padding-top: 0.45rem;
}

body.page-home .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  appearance: none;
  -webkit-appearance: none;
  min-height: 3.35rem;
  padding: 0.9rem 1.3rem;
  border: 1px solid rgba(25, 39, 39, 0.14);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.88);
  color: var(--mock-ink);
  text-decoration: none;
  box-shadow: 0 10px 22px rgba(14, 20, 24, 0.06);
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 800;
  font-family: "Manrope", sans-serif;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, border-color 180ms ease, color 180ms ease;
}

body.page-home .button:hover,
body.page-home .button:focus-visible {
  border-color: rgba(29, 107, 89, 0.24);
  background: rgba(255, 255, 255, 0.96);
  color: var(--mock-ink);
  transform: translateY(-2px);
  box-shadow: 0 16px 28px rgba(25, 39, 39, 0.14);
}

body.page-home .button--accent {
  border-color: rgba(23, 71, 63, 0.18);
  background: linear-gradient(135deg, rgba(184, 255, 22, 0.22), rgba(248, 252, 235, 0.92));
  color: #183034;
  box-shadow: 0 12px 24px rgba(20, 36, 39, 0.08);
}

body.page-home .button--accent:hover,
body.page-home .button--accent:focus-visible {
  border-color: rgba(23, 71, 63, 0.28);
  background: linear-gradient(135deg, rgba(184, 255, 22, 0.28), rgba(252, 254, 244, 0.98));
  color: #13292d;
  box-shadow: 0 16px 30px rgba(20, 36, 39, 0.12);
}

body.page-home .button--primary {
  background: linear-gradient(135deg, var(--mock-accent-strong), var(--mock-accent));
  color: #ffffff;
}

body.page-home .button--hero {
  min-width: 0;
  min-height: 4.55rem;
  padding: 1.2rem 2rem;
  border-radius: 0.9rem;
  font-size: 0.98rem;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

body.page-home .button--hero .button__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.52rem;
}

body.page-home .button--hero .button__label--arrow::after {
  content: "";
  width: 0.62rem;
  height: 0.62rem;
  flex: none;
  border-top: 0.14rem solid currentColor;
  border-right: 0.14rem solid currentColor;
  transform: translateY(0.02rem) rotate(45deg);
}

body.page-home .button--hero.button--primary {
  position: relative;
  isolation: isolate;
  flex: 1 1 26.5rem;
  background: #b8ff16;
  color: #1b2131;
  animation: hero-cta-float 2.8s ease-in-out infinite;
}

body.page-home .button--hero.button--primary::before {
  content: "";
  position: absolute;
  inset: -0.45rem -0.75rem;
  z-index: -1;
  border-radius: 1.2rem;
  background:
    radial-gradient(circle, rgba(214, 255, 88, 0.48) 0%, rgba(184, 255, 22, 0.26) 38%, rgba(184, 255, 22, 0) 72%);
  filter: blur(16px);
  opacity: 0.8;
  pointer-events: none;
  animation: hero-cta-glow 2.8s ease-in-out infinite;
}

body.page-home .button--hero.button--primary:hover,
body.page-home .button--hero.button--primary:focus-visible {
  box-shadow: 0 18px 36px rgba(156, 207, 38, 0.24);
}

body.page-home .button--ghost {
  flex: 1 1 20rem;
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(232, 236, 244, 0.3);
  color: #f7f8fb;
  box-shadow: none;
}

body.page-home .button--ghost:hover,
body.page-home .button--ghost:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(245, 247, 252, 0.42);
  color: #ffffff;
}

body.page-home .button--secondary {
  background: rgba(255, 255, 255, 0.94);
  border-color: rgba(25, 39, 39, 0.16);
  color: #183034;
}

body.page-home .button--quiet {
  background: rgba(255, 255, 255, 0.54);
  border-color: rgba(25, 39, 39, 0.14);
  color: rgba(24, 46, 48, 0.9);
}

body.page-home .button--light {
  border-color: rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.92);
}

body.page-home .hero-service-strip {
  position: relative;
  z-index: 1;
  grid-column: 1 / -1;
  width: 100%;
  padding-top: 2rem;
  border-top: 1px solid rgba(156, 207, 38, 0.24);
  overflow: hidden;
}

body.page-home .hero-service-strip__track {
  display: flex;
  width: max-content;
  min-width: 100%;
  animation: hero-services-scroll 30s linear infinite;
}

body.page-home .hero-service-strip:hover .hero-service-strip__track,
body.page-home .hero-service-strip:focus-within .hero-service-strip__track {
  animation-play-state: paused;
}

body.page-home .hero-service-strip__group {
  display: flex;
  flex: none;
  align-items: center;
  gap: 1rem 1.65rem;
  padding-right: 1.65rem;
}

body.page-home .hero-service-strip a {
  flex: none;
  color: rgba(216, 220, 235, 0.82);
  font-size: 0.98rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color 180ms ease, transform 180ms ease;
}

body.page-home .hero-service-strip a:hover,
body.page-home .hero-service-strip a:focus-visible {
  color: rgba(216, 220, 235, 0.9);
  transform: translateY(-1px);
}

body.page-home .hero-service-strip__spark {
  display: inline-flex;
  width: 1rem;
  height: 1rem;
  flex: none;
  background:
    linear-gradient(var(--mock-lime), var(--mock-lime)),
    linear-gradient(90deg, var(--mock-lime), var(--mock-lime));
  background-repeat: no-repeat;
  background-position: center;
  background-size: 2px 100%, 100% 2px;
  transform: rotate(45deg);
  opacity: 0.88;
}

@keyframes hero-services-scroll {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

@keyframes hero-cta-glow {
  0%,
  100% {
    opacity: 0.5;
    transform: scale(0.96);
  }

  50% {
    opacity: 0.95;
    transform: scale(1.05);
  }
}

@keyframes hero-cta-float {
  0%,
  100% {
    box-shadow: 0 0 0 rgba(184, 255, 22, 0);
  }

  50% {
    box-shadow: 0 0 34px rgba(184, 255, 22, 0.18);
  }
}

body.page-home .section--signals {
  margin-top: clamp(0.95rem, 2.2vw, 1.55rem);
  padding-top: 0;
  z-index: 2;
}

body.page-home .section--signals::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: min(72rem, calc(100% - 2rem));
  height: 6.5rem;
  transform: translate(-50%, -10%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.62) 0%, rgba(255, 255, 255, 0.18) 38%, rgba(255, 255, 255, 0) 72%);
  filter: blur(10px);
  opacity: 0.9;
  pointer-events: none;
}

body.page-home .section--signals .container {
  position: relative;
  overflow-x: hidden;
}

body.page-home .section--signals .container::before,
body.page-home .section--signals .container::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0.65rem;
  width: clamp(1.8rem, 4vw, 4rem);
  pointer-events: none;
  z-index: 3;
}

body.page-home .section--signals .container::before {
  left: 0;
  background: linear-gradient(90deg, rgba(245, 240, 232, 0.98), rgba(245, 240, 232, 0));
}

body.page-home .section--signals .container::after {
  right: 0;
  background: linear-gradient(270deg, rgba(245, 240, 232, 0.98), rgba(245, 240, 232, 0));
}

body.page-home .signal-marquee {
  --signal-gap: 0.95rem;
  overflow: hidden;
}

body.page-home .signal-grid {
  display: flex;
  width: max-content;
  min-width: max-content;
  gap: var(--signal-gap);
  align-items: stretch;
  overflow: visible;
  padding: 0.2rem 0.25rem 0.65rem;
  will-change: transform;
  animation: signal-cards-marquee 48s linear infinite;
}

body.page-home .signal-grid::-webkit-scrollbar {
  display: none;
}

body.page-home .signal-marquee:hover .signal-grid,
body.page-home .signal-marquee:focus-within .signal-grid {
  animation-play-state: paused;
}

@keyframes signal-cards-marquee {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(calc(-50% - (var(--signal-gap) / 2)));
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-home .signal-marquee {
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  body.page-home .signal-marquee::-webkit-scrollbar {
    display: none;
  }

  body.page-home .signal-grid {
    animation: none;
  }

  body.page-home .signal-grid [data-signal-clone="true"] {
    display: none;
  }
}

body.page-home .signal-card {
  position: relative;
  display: grid;
  align-content: start;
  flex: 0 0 clamp(20rem, 29vw, 24rem);
  gap: 0.8rem;
  min-width: 0;
  min-height: 100%;
  padding: 1.15rem 1.2rem 1.25rem;
  border: 1px solid rgba(34, 63, 60, 0.1);
  border-radius: 1.55rem;
  background: linear-gradient(150deg, rgba(248, 247, 242, 0.96), rgba(239, 235, 226, 0.92));
  box-shadow: 0 18px 36px rgba(25, 39, 39, 0.06);
  overflow: hidden;
}

body.page-home .signal-card::before {
  content: "";
  position: absolute;
  right: -2.2rem;
  bottom: -3.1rem;
  width: 10.5rem;
  height: 10.5rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(47, 153, 129, 0.18) 0%, rgba(47, 153, 129, 0) 72%);
  pointer-events: none;
}

body.page-home .signal-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.38), rgba(255, 255, 255, 0) 42%);
  pointer-events: none;
}

body.page-home .signal-card--report {
  flex-basis: clamp(20rem, 25vw, 22rem);
  background: linear-gradient(150deg, rgba(243, 249, 246, 0.98), rgba(233, 241, 236, 0.94));
  border-color: rgba(39, 121, 101, 0.14);
}

body.page-home .signal-card--territories {
  flex-basis: clamp(24rem, 33vw, 28rem);
  background: linear-gradient(150deg, rgba(248, 245, 238, 0.98), rgba(240, 234, 223, 0.94));
  border-color: rgba(123, 96, 49, 0.12);
}

body.page-home .signal-card--territories::before {
  background: radial-gradient(circle, rgba(185, 145, 70, 0.16) 0%, rgba(185, 145, 70, 0) 72%);
}

body.page-home .signal-card--equipment {
  flex-basis: clamp(24rem, 33vw, 28rem);
  background: linear-gradient(150deg, rgba(242, 247, 250, 0.98), rgba(232, 239, 244, 0.94));
  border-color: rgba(58, 99, 132, 0.13);
}

body.page-home .signal-card--equipment::before {
  background: radial-gradient(circle, rgba(71, 121, 167, 0.16) 0%, rgba(71, 121, 167, 0) 72%);
}

body.page-home .signal-card--approach {
  flex-basis: clamp(22rem, 29vw, 25rem);
  background: linear-gradient(160deg, rgba(30, 35, 49, 0.98), rgba(21, 25, 37, 0.98));
  border-color: rgba(184, 255, 22, 0.14);
  box-shadow: 0 24px 44px rgba(11, 15, 24, 0.18);
}

body.page-home .signal-card--approach::before {
  background: radial-gradient(circle, rgba(184, 255, 22, 0.18) 0%, rgba(184, 255, 22, 0) 72%);
}

body.page-home .signal-card__top {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.8rem;
}

body.page-home .signal-card__eyebrow {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.72rem;
  color: #2b7d6d;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

body.page-home .signal-card__eyebrow::before {
  content: "";
  width: 2.45rem;
  height: 0.23rem;
  flex: none;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(43, 125, 109, 0.98), rgba(43, 125, 109, 0.2));
}

body.page-home .signal-card__tag {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.42rem 0.72rem;
  border: 1px solid rgba(43, 125, 109, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.56);
  color: rgba(56, 78, 74, 0.9);
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;
}

body.page-home .signal-card__title {
  display: block;
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--mock-ink);
  font-size: clamp(1.34rem, 1.75vw, 1.92rem);
  line-height: 1.06;
  letter-spacing: -0.045em;
}

body.page-home .signal-card__body {
  position: relative;
  z-index: 1;
  margin: 0;
  color: rgba(44, 57, 67, 0.82);
  font-size: 0.97rem;
  line-height: 1.66;
  max-width: 34ch;
}

body.page-home .signal-card--report .signal-card__title {
  max-width: 12ch;
}

body.page-home .signal-card--territories .signal-card__title,
body.page-home .signal-card--equipment .signal-card__title {
  max-width: 16ch;
}

body.page-home .signal-card--report .signal-card__eyebrow,
body.page-home .signal-card--report .signal-card__tag {
  color: #286f61;
}

body.page-home .signal-card--territories .signal-card__eyebrow,
body.page-home .signal-card--territories .signal-card__tag {
  color: #7e6531;
}

body.page-home .signal-card--territories .signal-card__eyebrow::before {
  background: linear-gradient(90deg, rgba(146, 112, 48, 0.98), rgba(146, 112, 48, 0.18));
}

body.page-home .signal-card--territories .signal-card__tag {
  border-color: rgba(146, 112, 48, 0.12);
  background: rgba(255, 252, 244, 0.64);
}

body.page-home .signal-card--equipment .signal-card__eyebrow,
body.page-home .signal-card--equipment .signal-card__tag {
  color: #345e82;
}

body.page-home .signal-card--equipment .signal-card__eyebrow::before {
  background: linear-gradient(90deg, rgba(52, 94, 130, 0.98), rgba(52, 94, 130, 0.18));
}

body.page-home .signal-card--equipment .signal-card__tag {
  border-color: rgba(52, 94, 130, 0.12);
  background: rgba(244, 250, 255, 0.64);
}

body.page-home .signal-card--approach .signal-card__eyebrow {
  color: #b8ff16;
}

body.page-home .signal-card--approach .signal-card__eyebrow::before {
  background: linear-gradient(90deg, rgba(184, 255, 22, 0.98), rgba(184, 255, 22, 0.18));
}

body.page-home .signal-card--approach .signal-card__tag {
  border-color: rgba(184, 255, 22, 0.16);
  background: rgba(184, 255, 22, 0.08);
  color: rgba(236, 247, 193, 0.92);
}

body.page-home .signal-card--approach .signal-card__title {
  color: #f0f4fb;
}

body.page-home .signal-card--approach .signal-card__body {
  color: rgba(236, 241, 248, 0.9);
}

body.page-home .section--video-story {
  padding-top: 1.35rem;
}

body.page-home .video-story-shell {
  display: flex;
  justify-content: center;
}

body.page-home .video-story-media {
  position: relative;
  overflow: hidden;
  display: grid;
  align-items: stretch;
  width: min(100%, 64rem);
}

body.page-home .video-story-shell--portrait-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15.5rem), 1fr));
  gap: clamp(1rem, 2.2vw, 1.4rem);
  align-items: stretch;
}

body.page-home .video-story-shell--portrait-grid .video-story-media {
  width: 100%;
}

body.page-home .video-story-media--portrait {
  width: min(100%, 22rem);
  margin-inline: auto;
}

body.page-home .video-story-frame {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(17, 36, 38, 0.12);
  border-radius: 1.7rem;
  background: #081113;
  aspect-ratio: 16 / 9;
  box-shadow:
    0 24px 58px rgba(10, 18, 20, 0.16),
    inset 0 0 0 1px rgba(255, 255, 255, 0.05);
  cursor: pointer;
}

body.page-home .video-story-frame video {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #081113;
}

body.page-home .video-story-frame--portrait {
  aspect-ratio: 9 / 16;
}

body.page-home .video-story-frame--portrait video {
  object-fit: cover;
}

body.page-home .video-story-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
  box-shadow: inset 0 -7rem 9rem rgba(4, 10, 11, 0.14);
  pointer-events: none;
}

body.page-home .video-story-trigger {
  position: absolute;
  left: clamp(1rem, 2.2vw, 1.35rem);
  bottom: clamp(1rem, 2.2vw, 1.35rem);
  display: grid;
  place-items: center;
  width: clamp(3.2rem, 5vw, 4rem);
  height: clamp(3.2rem, 5vw, 4rem);
  padding: 0;
  border: 1px solid rgba(247, 243, 232, 0.18);
  border-radius: 999px;
  z-index: 3;
  background: rgba(8, 17, 19, 0.56);
  color: #f6f0e5;
  font: inherit;
  cursor: pointer;
  backdrop-filter: blur(12px);
  box-shadow: 0 16px 32px rgba(4, 10, 11, 0.24);
  transition: opacity 180ms ease, transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

body.page-home .video-story-trigger:hover,
body.page-home .video-story-trigger:focus-visible {
  opacity: 1;
  transform: translateY(-2px);
  background: rgba(17, 30, 32, 0.82);
  border-color: rgba(184, 255, 22, 0.28);
}

body.page-home .video-story-trigger:focus-visible {
  outline: 2px solid rgba(184, 255, 22, 0.92);
  outline-offset: 3px;
}

body.page-home .video-story-trigger__icon {
  position: relative;
  display: block;
  width: 1.15rem;
  height: 1.3rem;
  margin-left: 0.18rem;
}

body.page-home .video-story-trigger__icon::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #f6f0e5;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

body.page-home .video-story-frame.is-interactive::after {
  box-shadow: inset 0 -2rem 3rem rgba(4, 10, 11, 0.06);
}

body.page-home .video-story-frame.is-interactive {
  cursor: auto;
}

body.page-home .video-story-frame.is-interactive .video-story-trigger {
  opacity: 0;
  pointer-events: none;
}

body.page-home .section-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 30rem);
  gap: 1rem 1.4rem;
  align-items: end;
  margin-bottom: 1.15rem;
}

body.page-home .section-header--stacked {
  grid-template-columns: 1fr;
  align-items: start;
}

body.page-home .section-header h2 {
  max-width: 11.2ch;
  font-size: clamp(2rem, 3vw, 3.25rem);
  line-height: 0.98;
}

body.page-home .section-header p {
  font-size: 0.98rem;
  line-height: 1.8;
}

body.page-home .section-eyebrow--light {
  color: rgba(255, 255, 255, 0.82);
}

body.page-home .section-eyebrow--light::before {
  background: currentColor;
}

body.page-home .service-card,
body.page-home .pricing-note,
body.page-home .territory-card {
  position: relative;
  overflow: hidden;
}

body.page-home .section--services {
  padding-top: 1.7rem;
}

body.page-home .section--services::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0.35rem;
  width: min(28rem, calc(100% - 4rem));
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(29, 107, 89, 0.18), transparent);
  pointer-events: none;
}

body.page-home .service-shell {
  display: grid;
  gap: 0.9rem;
  align-items: start;
}

body.page-home .service-shell__eyebrow {
  margin: 0;
}

body.page-home.page-services .service-shell {
  gap: 1.2rem;
}

body.page-home.page-services .service-shell__intro {
  max-width: 48rem;
  margin: 0;
  color: var(--mock-ink-soft);
  font-size: 1rem;
  line-height: 1.8;
}

body.page-home .service-card__tags span {
  display: inline-flex;
  align-items: center;
  min-height: 2.2rem;
  padding: 0.45rem 0.82rem;
  border: 1px solid rgba(29, 107, 89, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.6);
  color: #284543;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.3;
  text-transform: none;
}

body.page-home .service-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem;
}

body.page-home .service-card {
  display: grid;
  align-content: start;
  gap: 0.92rem;
  min-height: 100%;
  padding: 1.45rem 1.4rem 1.45rem;
  border: 1px solid rgba(25, 39, 39, 0.08);
  border-radius: 1.6rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(247, 241, 233, 0.9)),
    radial-gradient(circle at top right, rgba(29, 107, 89, 0.08), transparent 11rem);
  box-shadow: 0 16px 34px rgba(25, 39, 39, 0.05);
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease, background 220ms ease;
  color: var(--mock-ink);
}

body.page-home .service-card--featured {
  grid-column: span 6;
  background:
    radial-gradient(circle at top right, rgba(184, 255, 22, 0.18), transparent 12rem),
    linear-gradient(155deg, rgba(255, 255, 255, 0.96), rgba(235, 248, 240, 0.94));
  border-color: rgba(29, 107, 89, 0.16);
}

body.page-home .service-card--prevente {
  grid-column: span 6;
}

body.page-home .service-card--condo,
body.page-home .service-card--entretien,
body.page-home .service-card--advisory {
  grid-column: span 4;
}

body.page-home .service-card--standard {
  grid-column: span 4;
}

body.page-home .service-card--full {
  grid-column: 1 / -1;
}

body.page-home .service-card:hover,
body.page-home .service-card:focus-visible {
  transform: translateY(-5px);
  border-color: rgba(29, 107, 89, 0.18);
  box-shadow: 0 26px 44px rgba(17, 72, 60, 0.11);
}

body.page-home .service-card::after {
  content: "";
  position: absolute;
  inset: auto -2.5rem -3.25rem auto;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(29, 107, 89, 0.12) 0%, rgba(29, 107, 89, 0) 72%);
  pointer-events: none;
}

body.page-home .service-card--advisory {
  background:
    radial-gradient(circle at top right, rgba(184, 255, 22, 0.12), transparent 11rem),
    linear-gradient(145deg, rgba(27, 47, 46, 0.985), rgba(37, 65, 63, 0.965));
  border-color: rgba(184, 255, 22, 0.14);
  box-shadow: 0 22px 46px rgba(11, 19, 19, 0.14);
}

body.page-home .service-card__kicker {
  margin: 0;
  position: relative;
  padding-bottom: 0.95rem;
  color: var(--mock-accent);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  line-height: 1.2;
  text-transform: uppercase;
}

body.page-home .service-card__kicker::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 1.85rem;
  height: 3px;
  border-radius: 999px;
  background: currentColor;
}

body.page-home .service-card h3 {
  font-size: clamp(1.42rem, 2vw, 1.98rem);
  line-height: 1.04;
}

body.page-home .service-card__body {
  margin: 0;
  color: var(--mock-ink-soft);
  font-size: 0.97rem;
  line-height: 1.7;
}

body.page-home.page-services .service-card__meta {
  margin: 0.05rem 0 0;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(25, 39, 39, 0.08);
  color: var(--mock-ink-soft);
  font-size: 0.88rem;
  line-height: 1.6;
}

body.page-home.page-services .service-card__meta strong {
  color: var(--mock-ink);
  font-weight: 800;
}

body.page-home .deliverables-list,
body.page-home .pricing-card__list,
body.page-home .inspector-points,
body.page-home .contact-checklist {
  display: grid;
  gap: 0.6rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

body.page-home .deliverables-list li,
body.page-home .pricing-card__list li,
body.page-home .inspector-points li,
body.page-home .contact-checklist li {
  position: relative;
  padding-left: 1.15rem;
  color: var(--mock-ink);
  font-size: 0.9rem;
  line-height: 1.6;
}

body.page-home .deliverables-list li::before,
body.page-home .pricing-card__list li::before,
body.page-home .inspector-points li::before,
body.page-home .contact-checklist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.66rem;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--mock-gold), var(--mock-accent));
}

body.page-home .service-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.58rem;
}

body.page-home .service-card__cta,
body.page-home .deliverables-meta a {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--mock-accent-strong);
  font-size: 0.9rem;
  font-weight: 800;
}

body.page-home .service-card__cta {
  margin-top: auto;
  padding-top: 0.2rem;
  letter-spacing: 0.03em;
}

body.page-home .service-card__cta::after,
body.page-home .deliverables-meta a::after {
  content: "→";
}

body.page-home .service-card--advisory .service-card__kicker,
body.page-home .service-card--advisory h3,
body.page-home .service-card--advisory .service-card__body,
body.page-home .service-card--advisory .service-card__cta {
  color: #f4f7fb;
}

body.page-home .service-card--advisory .service-card__kicker {
  color: #b8ff16;
}

body.page-home .service-card--advisory .service-card__tags span {
  border-color: rgba(184, 255, 22, 0.16);
  background: rgba(255, 255, 255, 0.06);
  color: rgba(244, 247, 251, 0.9);
}

body.page-home.page-services .service-card--advisory .service-card__meta {
  border-top-color: rgba(184, 255, 22, 0.14);
  color: rgba(244, 247, 251, 0.82);
}

body.page-home.page-services .service-card--advisory .service-card__meta strong {
  color: #f4f7fb;
}

body.page-home.page-services .hero-stage {
  min-height: clamp(28rem, 62vh, 39rem);
  padding-bottom: clamp(2rem, 4vw, 2.6rem);
}

body.page-home.page-services .hero-copy--editorial {
  min-height: auto;
}

body.page-home.page-services .hero-copy h1 {
  max-width: 10.6ch;
  font-size: clamp(4rem, 7vw, 6.45rem);
}

body.page-home.page-services .hero-portrait--stage {
  display: block;
}

body.page-home.page-services .hero-portrait--inline {
  display: none;
}

body.page-home.page-services .section--services {
  padding-top: clamp(2.5rem, 4.8vw, 3.25rem);
}

body.page-home.page-services .section--services::before {
  top: 0;
  width: min(42rem, calc(100% - 4rem));
}

body.page-home .section--process {
  padding-top: 1.8rem;
}

body.page-home.page-services .inclusion-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(19rem, 0.92fr);
  gap: 1.1rem;
  align-items: start;
}

body.page-home.page-services .inclusion-card {
  min-width: 0;
  border: 1px solid rgba(25, 39, 39, 0.08);
  border-radius: 1.85rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(247, 242, 234, 0.94)),
    radial-gradient(circle at top right, rgba(29, 107, 89, 0.1), transparent 15rem);
  box-shadow: var(--mock-shadow);
}

body.page-home.page-services .inclusion-card--summary {
  padding: clamp(1.5rem, 3vw, 2rem);
}

body.page-home.page-services .inclusion-card--summary h2,
body.page-home.page-services .inclusion-card--deliverables h3,
body.page-home.page-services .inclusion-row h3 {
  margin: 0;
}

body.page-home.page-services .inclusion-card--summary h2 {
  max-width: 11ch;
  font-size: clamp(2.25rem, 3.4vw, 3.45rem);
  line-height: 0.94;
}

body.page-home.page-services .inclusion-card__lead {
  max-width: 41rem;
  margin: 0.1rem 0 0;
  color: var(--mock-ink-soft);
  font-size: 1.02rem;
  line-height: 1.78;
}

body.page-home.page-services .inclusion-rows {
  display: grid;
  gap: 0;
  margin-top: 1.2rem;
}

body.page-home.page-services .inclusion-row {
  display: grid;
  gap: 0.45rem;
  padding: 1rem 0;
  border-top: 1px solid rgba(25, 39, 39, 0.08);
}

body.page-home.page-services .inclusion-row__label {
  margin: 0;
  color: var(--mock-accent);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  line-height: 1.2;
  text-transform: uppercase;
}

body.page-home.page-services .inclusion-row h3 {
  font-family: "Manrope", sans-serif;
  font-size: clamp(1.2rem, 1.8vw, 1.5rem);
  font-weight: 800;
  line-height: 1.08;
}

body.page-home.page-services .inclusion-row > p:not(.inclusion-row__label) {
  max-width: 35rem;
  margin: 0;
  color: var(--mock-ink-soft);
  font-size: 0.97rem;
  line-height: 1.7;
}

body.page-home.page-services .inclusion-card--deliverables {
  position: sticky;
  top: calc(var(--header-offset) + 1rem);
  display: grid;
  gap: 0.95rem;
  padding: clamp(1.45rem, 2.8vw, 1.85rem);
}

body.page-home.page-services .inclusion-card--deliverables h3 {
  max-width: 11ch;
  font-size: clamp(1.85rem, 2.2vw, 2.35rem);
  line-height: 0.98;
}

body.page-home.page-services .inclusion-list {
  gap: 0.75rem;
}

body.page-home.page-services .inclusion-list li {
  font-size: 0.98rem;
  line-height: 1.68;
}

body.page-home.page-services .inclusion-cta {
  display: grid;
  gap: 0.65rem;
  padding-top: 1.05rem;
  border-top: 1px solid rgba(25, 39, 39, 0.08);
}

body.page-home.page-services .inclusion-cta strong {
  color: var(--mock-ink);
  font-size: 1rem;
  font-weight: 800;
}

body.page-home.page-services .inclusion-cta p {
  margin: 0;
  color: var(--mock-ink-soft);
  font-size: 0.95rem;
  line-height: 1.65;
}

body.page-home.page-services .inclusion-cta .button {
  width: fit-content;
  min-height: 3rem;
  padding-inline: 1.05rem;
}

body.page-home .process-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(20rem, 0.98fr);
  gap: 1.2rem 1.3rem;
  align-items: start;
}

body.page-home .process-shell > * {
  min-width: 0;
}

body.page-home .process-intro {
  display: grid;
  align-content: start;
  gap: 0.95rem;
  padding-top: 0.2rem;
}

body.page-home .process-intro h2 {
  max-width: 9.5ch;
  font-size: clamp(2.5rem, 4.2vw, 4.1rem);
  line-height: 0.94;
}

body.page-home .process-intro > p:last-child {
  max-width: 37rem;
  margin: 0;
  color: var(--mock-ink-soft);
  font-size: 1.02rem;
  line-height: 1.8;
}

body.page-home .process-list {
  grid-column: 1;
  display: grid;
  gap: 0.95rem;
}

body.page-home .process-step,
body.page-home .deliverables-card,
body.page-home .pricing-card,
body.page-home .contact-shell,
body.page-home .contact-panel {
  border: 1px solid rgba(25, 39, 39, 0.08);
}

body.page-home .process-step {
  position: relative;
  display: grid;
  align-content: start;
  align-items: start;
  gap: 0.85rem;
  width: auto;
  height: auto;
  min-height: 100%;
  padding: 1.35rem;
  border-radius: 1.7rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(246, 241, 232, 0.92)),
    radial-gradient(circle at top right, rgba(29, 107, 89, 0.08), transparent 12rem);
  box-shadow: var(--mock-shadow);
  overflow: hidden;
}

body.page-home .process-step::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, rgba(29, 107, 89, 0.92), rgba(200, 149, 70, 0.75));
}

body.page-home .process-step__top {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

body.page-home .process-step__index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.9rem;
  height: 2.9rem;
  border-radius: 999px;
  background: linear-gradient(145deg, rgba(29, 107, 89, 0.14), rgba(200, 149, 70, 0.16));
  color: var(--mock-accent-strong);
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

body.page-home .process-step__label {
  margin: 0;
  color: var(--mock-accent);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body.page-home .process-step h3 {
  font-family: "Manrope", sans-serif;
  font-size: 1.34rem;
  font-weight: 800;
  line-height: 1.12;
}

body.page-home .process-step p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.72;
}

body.page-home .deliverables-card {
  grid-column: 2;
  grid-row: 1 / span 2;
  display: grid;
  gap: 1rem;
  padding: 1.45rem;
  border-radius: 1.8rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(247, 242, 234, 0.94)),
    radial-gradient(circle at top right, rgba(29, 107, 89, 0.12), transparent 16rem);
  box-shadow: var(--mock-shadow);
  position: sticky;
  top: calc(var(--header-offset) + 1rem);
}

body.page-home .deliverables-card h3 {
  max-width: 12ch;
  font-size: clamp(1.9rem, 2.5vw, 2.45rem);
  line-height: 1;
}

body.page-home .deliverables-list {
  gap: 0.8rem;
}

body.page-home .deliverables-list li {
  font-size: 0.97rem;
  line-height: 1.68;
}

body.page-home .deliverables-meta {
  display: grid;
  gap: 0.6rem;
  padding-top: 1.1rem;
  border-top: 1px solid rgba(25, 39, 39, 0.08);
}

body.page-home .deliverables-meta strong {
  color: var(--mock-ink);
  font-size: 1rem;
  font-weight: 800;
}

body.page-home .section--pricing {
  position: relative;
  margin-top: clamp(2.2rem, 4vw, 3rem);
  padding: clamp(4.1rem, 6vw, 5rem) 0 clamp(3.2rem, 5vw, 4.25rem);
  background:
    radial-gradient(circle at 18% 100%, rgba(184, 255, 22, 0.08), transparent 16rem),
    linear-gradient(180deg, #292d3b 0%, #252938 100%);
  border-top: 1px solid rgba(255, 255, 255, 0.04);
  overflow: hidden;
}

body.page-home .section--pricing::before {
  content: "";
  position: absolute;
  inset: auto auto -9rem 18%;
  width: 16rem;
  height: 16rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(184, 255, 22, 0.08) 0%, rgba(184, 255, 22, 0) 74%);
  pointer-events: none;
}

body.page-home .section--pricing::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: min(92rem, calc(100% - 1.2rem));
  height: 6.25rem;
  transform: translate(-50%, -52%);
  border-radius: 0 0 3rem 3rem;
  background:
    radial-gradient(ellipse at center top, rgba(184, 255, 22, 0.14), rgba(184, 255, 22, 0.04) 24%, rgba(41, 45, 59, 0) 58%),
    linear-gradient(180deg, rgba(245, 240, 232, 0) 0%, rgba(41, 45, 59, 0.22) 36%, rgba(41, 45, 59, 0.96) 100%);
  filter: drop-shadow(0 18px 24px rgba(22, 34, 34, 0.08));
  pointer-events: none;
}

body.page-home .pricing-shell {
  position: relative;
  display: grid;
  gap: 1.8rem;
}

body.page-home .pricing-intro {
  display: grid;
  gap: 1.25rem;
  max-width: 40rem;
}

body.page-home .section-eyebrow--pricing {
  color: #b8ff16;
  font-size: 0.92rem;
  letter-spacing: 0.22em;
}

body.page-home .section-eyebrow--pricing::before {
  content: none;
}

body.page-home .pricing-switch {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}

body.page-home .pricing-switch__option {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 11rem;
  min-height: 3rem;
  padding: 0.85rem 1.6rem;
  appearance: none;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 1rem;
  background: rgba(22, 25, 35, 0.18);
  color: rgba(225, 229, 240, 0.82);
  cursor: pointer;
  font-family: inherit;
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease, color 180ms ease;
}

body.page-home .pricing-switch__option.is-active {
  border-color: rgba(184, 255, 22, 0.34);
  background: linear-gradient(135deg, rgba(184, 255, 22, 0.18), rgba(255, 255, 255, 0.06));
  color: #f6f8fc;
  box-shadow: 0 16px 28px rgba(111, 163, 10, 0.2);
}

body.page-home .pricing-switch__option:hover,
body.page-home .pricing-switch__option:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(184, 255, 22, 0.24);
  box-shadow: 0 14px 26px rgba(8, 12, 20, 0.22);
}

body.page-home .pricing-panels {
  display: grid;
}

@keyframes pricing-panel-enter {
  0% {
    opacity: 0;
    transform: translateY(0.6rem);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

body.page-home .pricing-panel {
  display: grid;
  gap: 1.35rem;
}

body.page-home .pricing-panel[hidden] {
  display: none !important;
}

body.page-home .pricing-panel.is-active {
  animation: pricing-panel-enter 220ms ease;
}

body.page-home .pricing-panel__header {
  display: block;
}

body.page-home .pricing-panel__eyebrow {
  margin: 0 0 0.3rem;
  color: rgba(184, 255, 22, 0.88);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

body.page-home .pricing-panel__header h2,
body.page-home .pricing-panel__header h3 {
  margin: 0;
  color: #eef1f7;
  font-family: "Manrope", sans-serif;
  font-size: clamp(1.45rem, 2.2vw, 2rem);
  line-height: 1.08;
}

body.page-home .pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

body.page-home.page-index .pricing-grid {
  justify-items: stretch;
}

body.page-home.page-index .pricing-grid > .pricing-card {
  width: 100%;
  max-width: none;
  min-width: 0;
  justify-self: stretch;
}

body.page-home .pricing-card {
  position: relative;
  isolation: isolate;
  display: grid;
  align-content: start;
  gap: 0.7rem;
  min-height: 100%;
  padding: 1.55rem 1.45rem 1.45rem;
  border: 1px solid rgba(120, 129, 172, 0.2);
  border-radius: 1.7rem;
  background:
    linear-gradient(145deg, rgba(40, 44, 60, 0.98), rgba(33, 36, 52, 0.98)),
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.03), transparent 12rem);
  box-shadow: 0 18px 36px rgba(8, 12, 20, 0.2);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

body.page-home .pricing-card:hover,
body.page-home .pricing-card:focus-within {
  transform: translateY(-2px);
  box-shadow: 0 28px 48px rgba(8, 12, 20, 0.26);
  border-color: rgba(184, 255, 22, 0.14);
}

@keyframes pricing-featured-glow {
  0%,
  100% {
    opacity: 0.7;
    transform: scale(0.98);
  }

  50% {
    opacity: 1;
    transform: scale(1.02);
  }
}

body.page-home .pricing-card--featured {
  padding-top: 2.3rem;
  border-color: #b8ff16;
  transform: translateY(-0.35rem) scale(1.01);
  box-shadow: 0 32px 60px rgba(8, 12, 20, 0.3);
}

body.page-home .pricing-card--featured::before {
  content: "";
  position: absolute;
  inset: -0.9rem;
  z-index: -1;
  border-radius: 2.4rem;
  background: radial-gradient(circle at 50% 18%, rgba(184, 255, 22, 0.34), transparent 58%);
  filter: blur(22px);
  opacity: 0.9;
  animation: pricing-featured-glow 2.8s ease-in-out infinite;
}

body.page-home .pricing-card--featured:hover,
body.page-home .pricing-card--featured:focus-within {
  transform: translateY(-0.55rem) scale(1.018);
  border-color: rgba(184, 255, 22, 0.92);
  box-shadow: 0 36px 68px rgba(97, 136, 14, 0.24);
}

body.page-home .pricing-card--compact {
  min-height: auto;
}

body.page-home .pricing-card__kicker {
  margin: 0;
  color: rgba(168, 175, 205, 0.7);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

body.page-home .pricing-card h3 {
  font-family: "Manrope", sans-serif;
  color: #eef1f7;
  font-size: 1.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

body.page-home .pricing-card__title-row {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0.75rem;
}

body.page-home .pricing-card__badge {
  position: absolute;
  top: -1px;
  right: 1.1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 2.4rem;
  padding: 0.55rem 1rem;
  border-radius: 0 0 0.9rem 0.9rem;
  background: #b8ff16;
  color: #1a2030;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body.page-home .pricing-card__badge::before {
  content: "★";
  font-size: 0.95rem;
  line-height: 1;
}

body.page-home .pricing-card__price {
  margin: 0;
  color: #f2f4fa;
  font-family: "Manrope", sans-serif;
  font-size: clamp(4rem, 5vw, 5.25rem);
  font-weight: 700;
  letter-spacing: -0.09em;
  line-height: 0.86;
}

body.page-home .pricing-card__currency {
  display: inline-block;
  margin-right: 0.08em;
  font-size: 0.34em;
  font-weight: 600;
  vertical-align: top;
  transform: translateY(0.28em);
}

body.page-home .pricing-card__tax {
  margin: 0;
  color: rgba(205, 212, 232, 0.82);
  font-size: 0.88rem;
  line-height: 1;
}

body.page-home .pricing-card__price-stack {
  display: grid;
  gap: 0.2rem;
}

body.page-home .pricing-card__summary {
  margin: 0.15rem 0 0.25rem;
  color: rgba(232, 236, 246, 0.92);
  font-size: 0.94rem;
  line-height: 1.65;
}

body.page-home .pricing-card__list {
  gap: 0;
  margin-top: 0.35rem;
}

body.page-home .pricing-card__list li {
  padding: 0.88rem 0 0.88rem 1.8rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  color: rgba(208, 213, 231, 0.85);
  font-size: 0.95rem;
  line-height: 1.16;
}

body.page-home .pricing-card__list li::before {
  content: "→";
  top: 0.88rem;
  width: auto;
  height: auto;
  border-radius: 0;
  background: none;
  color: #b8ff16;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
}

body.page-home .pricing-card__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 3.5rem;
  margin-top: auto;
  padding: 0.9rem 1.2rem;
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 0.85rem;
  background: rgba(76, 84, 116, 0.52);
  color: #f5f7fb;
  font-size: 0.98rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, color 180ms ease;
}

body.page-home .pricing-card__cta::after {
  content: "→";
  margin-left: 0.55rem;
}

body.page-home .pricing-card__cta:hover,
body.page-home .pricing-card__cta:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 18px 32px rgba(8, 12, 20, 0.26);
}

body.page-home .pricing-card--featured .pricing-card__cta {
  background: #b8ff16;
  color: #171d2b;
}

body.page-home .pricing-footnotes {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.8rem;
}

body.page-home .pricing-footnotes-marquee {
  position: relative;
}

body.page-home .pricing-footnotes p {
  display: grid;
  gap: 0.25rem;
  margin: 0;
  min-height: 100%;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(120, 129, 172, 0.14);
  border-radius: 1rem;
  background: rgba(17, 20, 29, 0.42);
  color: rgba(197, 203, 223, 0.82);
  font-size: 0.92rem;
  line-height: 1.55;
}

body.page-home .pricing-footnotes strong {
  color: #f1f4fb;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.page-home .pricing-footnotes [data-pricing-footnote-clone="true"] {
  display: none;
}

body.page-home .section--inspector {
  position: relative;
  margin-top: -0.1rem;
  padding-top: clamp(3.6rem, 5.5vw, 4.8rem);
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(30, 34, 49, 0.98), rgba(24, 28, 42, 0.99)),
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.03), transparent 16rem);
}

body.page-home .section--inspector::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 24%, rgba(184, 255, 22, 0.12), transparent 20rem),
    radial-gradient(circle at 76% 14%, rgba(255, 255, 255, 0.04), transparent 18rem);
  pointer-events: none;
}

body.page-home .section--inspector::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: min(72rem, calc(100% - 4rem));
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(184, 255, 22, 0.24), transparent);
  opacity: 0.75;
  pointer-events: none;
}

body.page-home .inspector-shell {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(18rem, 0.86fr) minmax(0, 1.14fr);
  gap: clamp(1.6rem, 3vw, 4rem);
  align-items: center;
}

body.page-home .inspector-profile {
  position: relative;
  display: grid;
  justify-items: start;
  padding: 1.25rem 0.6rem 1rem 0;
}

body.page-home .inspector-profile__card {
  position: relative;
  display: grid;
  align-items: end;
  width: min(100%, 27rem);
  min-height: clamp(31rem, 50vw, 38rem);
  padding: 0;
  border: 1px solid rgba(184, 255, 22, 0.18);
  border-radius: 2rem;
  background: linear-gradient(180deg, rgba(58, 64, 88, 0.96), rgba(48, 53, 74, 0.96));
  box-shadow: 0 32px 58px rgba(8, 12, 20, 0.26);
  transform: rotate(-2.2deg);
}

body.page-home .inspector-profile__card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(14, 17, 28, 0.18), rgba(17, 21, 33, 0.36) 38%, rgba(10, 12, 21, 0.82) 100%),
    radial-gradient(circle at top right, rgba(184, 255, 22, 0.08), transparent 12rem);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  pointer-events: none;
}

body.page-home .inspector-profile__photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 18%;
  border-radius: inherit;
  filter: saturate(0.9) contrast(1.02) brightness(0.72);
}

body.page-home .inspector-profile__content {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 0.95rem;
  padding: clamp(1.5rem, 2.8vw, 2.35rem);
}

body.page-home .inspector-profile__name {
  margin: 0;
  color: #f4f6fb;
  font-family: "Manrope", sans-serif;
  font-size: clamp(2.5rem, 4.2vw, 3.45rem);
  font-weight: 700;
  letter-spacing: -0.06em;
  line-height: 0.96;
  text-shadow: 0 12px 24px rgba(0, 0, 0, 0.32);
}

body.page-home .inspector-profile__title {
  margin: -0.15rem 0 0;
  color: #b8ff16;
  font-size: 1.02rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  line-height: 1.15;
  text-shadow: 0 10px 20px rgba(0, 0, 0, 0.36);
  text-transform: uppercase;
}

body.page-home .inspector-profile__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem 0.8rem;
}

body.page-home .inspector-profile__tags span {
  display: inline-flex;
  align-items: center;
  min-height: 2.3rem;
  padding: 0.4rem 1rem;
  border: 2px solid rgba(184, 255, 22, 0.34);
  border-radius: 999px;
  color: #b8ff16;
  background: rgba(18, 22, 34, 0.46);
  backdrop-filter: blur(4px);
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

body.page-home .inspector-copy {
  display: grid;
  gap: 1.1rem;
  align-content: start;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}

body.page-home .inspector-headline {
  margin: 0;
  color: #eef1f7;
  font-family: "Manrope", sans-serif;
  font-size: clamp(3.4rem, 8vw, 5.8rem);
  font-weight: 800;
  letter-spacing: -0.09em;
  line-height: 0.9;
}

body.page-home .inspector-headline__line {
  display: block;
}

body.page-home .inspector-headline__line--accent {
  color: #b8ff16;
  font-style: italic;
  font-weight: 800;
}

body.page-home .inspector-lead {
  max-width: 34rem;
  margin: 0;
  color: rgba(205, 210, 228, 0.76) !important;
  font-size: clamp(1.08rem, 1.5vw, 1.22rem);
  line-height: 1.75;
}

body.page-home .inspector-points {
  gap: 0;
  margin-top: 0.3rem;
}

body.page-home .inspector-points li {
  padding: 1rem 0 1rem 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  color: rgba(220, 225, 240, 0.84);
  font-size: 1.04rem;
  line-height: 1.25;
}

body.page-home .inspector-points li:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

body.page-home .inspector-points li::before {
  content: "✓";
  top: 0.94rem;
  width: auto;
  height: auto;
  border-radius: 0;
  background: none;
  color: #b8ff16;
  font-size: 1.3rem;
  font-weight: 800;
  line-height: 1;
}

body.page-home .hero-actions--compact {
  margin-top: 0.15rem;
}

body.page-home .section--territories {
  position: relative;
  margin-top: clamp(-0.7rem, -1.4vw, -1.1rem);
  padding-top: clamp(3.25rem, 5vw, 4.2rem);
}

body.page-home .section--territories::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: min(88rem, calc(100% - 1.2rem));
  height: 5.8rem;
  transform: translate(-50%, -18%);
  border-radius: 2.7rem 2.7rem 0 0;
  background: linear-gradient(180deg, rgba(249, 246, 239, 0.98), rgba(245, 240, 232, 0.82) 55%, rgba(245, 240, 232, 0));
  box-shadow: 0 -16px 34px rgba(9, 14, 22, 0.12);
  pointer-events: none;
}

body.page-home .territory-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

body.page-home .territory-card {
  display: grid;
  gap: 0.9rem;
  overflow: hidden;
  min-height: 100%;
  padding: 0 0 1.15rem;
  border: 1px solid rgba(25, 39, 39, 0.08);
  border-radius: 1.8rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.84), rgba(242, 235, 224, 0.84)),
    radial-gradient(circle at top right, rgba(29, 107, 89, 0.14), transparent 14rem);
  box-shadow: 0 16px 34px rgba(25, 39, 39, 0.05);
  transition: box-shadow 180ms ease, border-color 180ms ease;
}

body.page-home .territory-card:hover,
body.page-home .territory-card:focus-visible {
  border-color: rgba(29, 107, 89, 0.18);
  box-shadow: 0 24px 42px rgba(17, 72, 60, 0.1);
}

body.page-home .territory-card img {
  width: 100%;
  height: clamp(16rem, 28vw, 21rem);
  object-fit: cover;
  object-position: center;
  transition: transform 220ms ease;
}

body.page-home .territory-card:hover img,
body.page-home .territory-card:focus-visible img {
  transform: scale(1.03);
}

body.page-home .territory-card span {
  display: block;
  padding: 0 1.15rem;
  color: #213939;
  font-family: "Manrope", sans-serif;
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
}

body.page-home .section--contact {
  margin-top: clamp(-1.2rem, -2.4vw, -1.8rem);
  padding-top: 0.8rem;
  padding-bottom: 1.6rem;
  z-index: 2;
}

body.page-home .section--contact::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: min(34rem, 58vw);
  height: 4rem;
  transform: translate(-50%, -42%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(29, 107, 89, 0.18), rgba(29, 107, 89, 0) 70%);
  filter: blur(10px);
  pointer-events: none;
}

body.page-home .contact-shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(19rem, 0.82fr);
  gap: 1.4rem;
  padding: clamp(1.8rem, 3vw, 2.5rem);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 2.35rem;
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.06), transparent 18rem),
    radial-gradient(circle at bottom left, rgba(86, 146, 116, 0.18), transparent 20rem),
    linear-gradient(140deg, rgba(22, 41, 40, 0.985), rgba(35, 66, 64, 0.97));
  box-shadow: 0 34px 78px rgba(18, 28, 28, 0.22);
}

body.page-home .contact-copy h2,
body.page-home .contact-copy p,
body.page-home .contact-panel,
body.page-home .contact-panel strong,
body.page-home .contact-panel li,
body.page-home .contact-panel p {
  color: #ffffff;
}

body.page-home .contact-copy {
  display: grid;
  align-content: start;
  gap: 1.05rem;
}

body.page-home .contact-copy h2 {
  max-width: 13ch;
  margin: 0.12rem 0 0;
  font-size: clamp(2.3rem, 3.7vw, 3.35rem);
  line-height: 0.96;
}

body.page-home .contact-copy__lead {
  max-width: 31rem;
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: 1.02rem;
  line-height: 1.7;
}

body.page-home .contact-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 0.95rem;
  width: min(100%, 44rem);
  margin-top: 0.15rem;
}

body.page-home .contact-choice {
  display: grid;
  gap: 0.34rem;
  padding: 1.1rem 1.2rem 1.15rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 1.35rem;
  background: rgba(255, 255, 255, 0.075);
  color: #ffffff;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, border-color 180ms ease;
}

body.page-home .contact-choice:hover,
body.page-home .contact-choice:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(184, 255, 22, 0.32);
  box-shadow: 0 18px 32px rgba(7, 17, 15, 0.2);
}

body.page-home .contact-choice--primary {
  background: linear-gradient(135deg, rgba(47, 141, 104, 0.96), rgba(67, 165, 126, 0.98));
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 20px 34px rgba(8, 20, 17, 0.16);
}

body.page-home .contact-choice__eyebrow {
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  line-height: 1.2;
  text-transform: uppercase;
}

body.page-home .contact-choice strong {
  color: #ffffff;
  font-size: 1.18rem;
  line-height: 1.18;
}

body.page-home .contact-choice__meta {
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.95rem;
  line-height: 1.55;
}

body.page-home .contact-choice--primary .contact-choice__meta {
  color: rgba(255, 255, 255, 0.9);
}

body.page-home .contact-support {
  display: grid;
  justify-items: start;
  gap: 0.6rem;
  margin-top: 0.05rem;
  padding-top: 0.95rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.84);
  font-size: 0.92rem;
  line-height: 1.4;
}

body.page-home .contact-support__label {
  color: rgba(255, 255, 255, 0.78);
  font-weight: 700;
}

body.page-home .contact-support a {
  display: inline-flex;
  align-items: center;
  min-height: 2.45rem;
  padding: 0.5rem 0.9rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  font-weight: 800;
  white-space: normal;
  overflow-wrap: anywhere;
}

body.page-home .contact-support a:hover,
body.page-home .contact-support a:focus-visible {
  color: #b8ff16;
}

body.page-home .contact-panel {
  display: grid;
  gap: 0.9rem;
  align-content: start;
  padding: 1.5rem 1.55rem 1.6rem;
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 1.8rem;
  background: rgba(255, 255, 255, 0.085);
  backdrop-filter: blur(8px);
}

body.page-home .contact-panel__eyebrow {
  margin: 0;
  color: #b8ff16;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.2em;
  line-height: 1.2;
  text-transform: uppercase;
}

body.page-home .contact-panel strong {
  font-size: 1.34rem;
  line-height: 1.18;
}

body.page-home .contact-checklist li {
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.98rem;
  line-height: 1.5;
}

body.page-home .contact-panel__note {
  color: rgba(255, 255, 255, 0.84);
  font-size: 0.92rem;
  line-height: 1.68;
}

body.page-home .site-footer {
  margin-top: 0;
  padding: 2rem 0 3.2rem;
  border-top: 0;
  background: transparent;
}

body.page-home .site-footer::before {
  content: "";
  display: block;
  width: min(16rem, 32vw);
  height: 1px;
  margin: 0 auto 1.5rem;
  background: linear-gradient(90deg, transparent, rgba(29, 107, 89, 0.28), transparent);
}

body.page-home .footer-inner {
  gap: 1.5rem;
}

body.page-home .footer-copy,
body.page-home .footer-credit {
  color: var(--mock-ink-soft);
  font-size: clamp(1.1rem, 2.1vw, 1.55rem);
  font-weight: 700;
  line-height: 1.25;
}

body.page-home .footer-credit a,
body.page-home .footer-policy-links a:hover,
body.page-home .footer-policy-links a:focus-visible {
  color: var(--mock-accent-strong);
}

body.page-home .footer-policy-links {
  gap: 0.9rem 2rem;
}

body.page-home .footer-policy-links a {
  color: var(--mock-ink-soft);
  font-size: clamp(1.1rem, 2vw, 1.45rem);
  font-weight: 700;
}

body.page-home .footer-social {
  gap: 1rem 1.35rem;
  padding-top: 0.5rem;
}

body.page-home .footer-social-link {
  width: 4.15rem;
  height: 4.15rem;
  border-color: rgba(25, 39, 39, 0.1);
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 10px 28px rgba(31, 41, 39, 0.06);
  color: var(--mock-ink);
}

body.page-home .footer-social-link:hover,
body.page-home .footer-social-link:focus-visible {
  border-color: rgba(29, 107, 89, 0.22);
  background: rgba(29, 107, 89, 0.08);
  color: var(--mock-accent-strong);
}

body.page-home .footer-social-link svg {
  width: 1.55rem;
  height: 1.55rem;
}

body.page-home .nav.is-collapsed .nav-toggle {
  display: inline-flex;
  position: relative;
  z-index: 44;
}

body.page-home .nav.is-collapsed.is-open .nav-toggle {
  border-color: rgba(184, 255, 22, 0.22);
  background: rgba(184, 255, 22, 0.08);
  box-shadow: 0 16px 28px rgba(4, 8, 15, 0.16);
}

body.page-home .nav.is-collapsed::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 40;
  background: rgba(5, 9, 15, 0.46);
  backdrop-filter: blur(8px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 220ms ease;
}

body.page-home .nav.is-collapsed.is-open::before {
  opacity: 1;
}

body.page-home:has(.nav.is-collapsed.is-open) {
  overflow: hidden;
}

body.page-home .nav.is-collapsed .nav-panel {
  position: absolute;
  top: calc(100% + 0.55rem);
  right: 0;
  z-index: 42;
  display: none;
  grid-template-columns: 1fr;
  grid-template-areas:
    "links"
    "lang"
    "contact";
  align-content: start;
  gap: 0.9rem;
  width: min(23.5rem, calc(100vw - 1rem));
  max-height: calc(100dvh - 6rem);
  padding: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 1.75rem;
  background:
    radial-gradient(circle at top right, rgba(184, 255, 22, 0.08), transparent 11rem),
    linear-gradient(180deg, rgba(24, 28, 40, 0.985), rgba(16, 20, 31, 0.985));
  box-shadow: 0 30px 60px rgba(6, 10, 16, 0.34);
  backdrop-filter: blur(18px) saturate(1.05);
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(1.4rem) scale(0.985);
  transition:
    opacity 220ms ease,
    transform 220ms ease,
    visibility 0s linear 220ms;
}

body.page-home .nav.is-collapsed .nav-panel::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 1rem;
  width: 5rem;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(184, 255, 22, 0.9), rgba(184, 255, 22, 0));
}

body.page-home .nav.is-collapsed.is-open .nav-panel {
  display: grid;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0) scale(1);
  transition-delay: 0s;
}

body.page-home .nav.is-collapsed .nav-links,
body.page-home .nav.is-collapsed .lang-switch {
  width: 100%;
}

body.page-home .nav.is-collapsed .nav-links {
  grid-area: links;
  display: grid;
  gap: 0.45rem;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.page-home .nav.is-collapsed .nav-links a {
  justify-content: flex-start;
  width: 100%;
  min-height: 3.55rem;
  padding: 0.95rem 1rem 0.95rem 1.1rem;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 1rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.025)),
    rgba(255, 255, 255, 0.01);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
  color: rgba(243, 246, 252, 0.94);
  font-size: 1rem;
  letter-spacing: 0.03em;
}

body.page-home .nav.is-collapsed .nav-links a:hover,
body.page-home .nav.is-collapsed .nav-links a:focus-visible {
  background: rgba(184, 255, 22, 0.1);
  border-color: rgba(184, 255, 22, 0.16);
  color: #ffffff;
  transform: translateX(3px);
}

body.page-home .nav.is-collapsed .lang-switch {
  grid-area: lang;
  justify-content: flex-start;
  align-self: start;
  justify-self: start;
  margin-top: 0;
  padding: 0.35rem;
  border-color: rgba(255, 255, 255, 0.07);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.03);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

body.page-home .nav.is-collapsed .lang-switch a {
  flex: 0 0 auto;
  min-width: 3.3rem;
  min-height: 2.95rem;
  padding-inline: 0.95rem;
  border-radius: 0.8rem;
}

body.page-home .nav.is-collapsed .nav-contact {
  grid-area: contact;
  display: grid;
  gap: 0.8rem;
  align-content: start;
  margin-top: auto;
  padding: 1rem 1.05rem;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 1rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.02)),
    rgba(255, 255, 255, 0.01);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

body.page-home .nav.is-collapsed .nav-contact a {
  justify-content: flex-start;
  padding: 0;
  text-transform: none;
}

body.page-home .nav.is-collapsed .nav-phone {
  color: #f4f6fb;
  font-size: 1.02rem;
  letter-spacing: 0.03em;
  line-height: 1.15;
}

body.page-home .nav.is-collapsed .nav-reserve {
  justify-content: center;
  width: 100%;
  min-height: 3rem;
  padding: 0.8rem 1rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

@media (max-width: 720px) {
  body.page-home .nav.is-collapsed .nav-panel {
    width: min(21.5rem, calc(100vw - 0.5rem));
    max-height: calc(100dvh - 5.6rem);
  }

  body.page-home .nav.is-collapsed .lang-switch {
    justify-self: start;
    width: auto;
  }
}

@media (max-width: 540px) {
  body.page-home .nav.is-collapsed .nav-panel {
    width: min(18.75rem, calc(100vw - 1rem));
    max-height: calc(100dvh - 5.2rem);
    padding: 0.85rem;
    border-radius: 1.45rem;
  }

  body.page-home .nav.is-collapsed .nav-links a {
    min-height: 3rem;
    padding: 0.82rem 0.95rem 0.82rem 1rem;
    font-size: 0.92rem;
  }

  body.page-home .nav.is-collapsed .lang-switch a {
    min-width: 2.85rem;
    min-height: 2.7rem;
    padding-inline: 0.82rem;
  }

  body.page-home .nav.is-collapsed .nav-contact {
    gap: 0.65rem;
    padding: 0.85rem 0.95rem;
  }

  body.page-home .nav.is-collapsed .nav-phone {
    font-size: 0.95rem;
  }
}

@media (max-width: 1120px) {
  body.page-home.page-index .section--hero .container {
    padding-inline: 0;
  }

  body.page-home .hero-stage {
    grid-template-columns: minmax(0, 1fr) minmax(14rem, 24rem);
    justify-content: space-between;
    align-items: end;
    gap: clamp(1.4rem, 3vw, 2.3rem);
    min-height: auto;
    padding: clamp(2.5rem, 4.6vw, 3.4rem) clamp(1.6rem, 4vw, 2.6rem) clamp(1.9rem, 4vw, 2.4rem);
  }

  body.page-home .service-shell,
  body.page-home .process-shell,
  body.page-home .inspector-shell,
  body.page-home .contact-shell {
    grid-template-columns: 1fr;
  }

  body.page-home .service-grid,
  body.page-home .pricing-grid,
  body.page-home .pricing-notes,
  body.page-home .pricing-footnotes,
  body.page-home .territory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.page-home .signal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.page-home .signal-card--report,
  body.page-home .signal-card--approach {
    grid-column: 1 / -1;
  }

  body.page-home .signal-card--territories,
  body.page-home .signal-card--equipment {
    grid-column: span 1;
  }

  body.page-home .service-card--featured {
    grid-column: 1 / -1;
  }

  body.page-home .service-card--prevente,
  body.page-home .service-card--standard,
  body.page-home .service-card--condo,
  body.page-home .service-card--entretien,
  body.page-home .service-card--advisory {
    grid-column: span 1;
  }

  body.page-home .service-card--full {
    grid-column: 1 / -1;
  }

  body.page-home .process-intro {
    order: 1;
  }

  body.page-home .process-list {
    order: 2;
  }

  body.page-home .deliverables-card {
    grid-column: auto;
    grid-row: auto;
    order: 3;
    position: static;
  }

  body.page-home .hero-copy h1 {
    max-width: 7.2ch;
    font-size: clamp(3.8rem, 8vw, 5.7rem);
  }

  body.page-home .hero-copy {
    max-width: 100%;
    padding-top: 0;
    gap: 1.5rem;
  }

  body.page-home .hero-copy--editorial {
    min-height: auto;
  }

  body.page-home .hero-lead {
    max-width: 32rem;
    font-size: clamp(1.05rem, 1.9vw, 1.28rem);
    line-height: 1.7;
  }

  body.page-home .hero-portrait {
    justify-self: end;
    width: min(100%, 23rem);
    height: clamp(18rem, 40vw, 23rem);
    transform: rotate(1.6deg);
  }

  body.page-home .hero-portrait--video {
    height: clamp(26rem, 56vw, 33rem);
  }

  body.page-home .hero-portrait__image {
    object-position: center 24%;
  }

  body.page-home .hero-actions--hero {
    flex-wrap: wrap;
    gap: 1rem;
    max-width: 30rem;
  }

  body.page-home.page-index .hero-stage {
    grid-template-columns: 1fr;
    justify-content: stretch;
    align-items: start;
    width: 100%;
    max-width: none;
    margin: 0;
    gap: 1rem;
    padding: clamp(1.9rem, 4vw, 2.4rem) clamp(0.55rem, 1.9vw, 0.85rem) clamp(1.3rem, 3.2vw, 1.7rem);
  }

  body.page-home.page-index .hero-copy,
  body.page-home.page-index .hero-actions--hero,
  body.page-home.page-index .hero-portrait {
    margin: 0;
  }

  body.page-home.page-index .hero-copy {
    width: 100%;
    max-width: none;
    gap: 0.9rem;
  }

  body.page-home.page-index .hero-copy h1 {
    max-width: 5.55ch;
    font-size: clamp(2.55rem, 8vw, 3.45rem);
  }

  body.page-home.page-index .hero-lead {
    max-width: none;
    font-size: 0.84rem;
    line-height: 1.48;
  }

  body.page-home.page-index .hero-actions--hero {
    width: 100%;
    max-width: none;
    gap: 0.72rem;
  }

  body.page-home.page-index .button--hero {
    width: 100%;
    max-width: none;
    min-height: 3.12rem;
    padding: 0.82rem 0.88rem;
    font-size: 0.82rem;
  }

  body.page-home.page-index .hero-portrait {
    justify-self: start;
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 1.38 / 1;
    margin-top: 0.18rem;
    transform: none;
  }

  body.page-home.page-index .hero-portrait--video {
    height: auto;
    aspect-ratio: 1.38 / 1;
  }

  body.page-home.page-index .hero-service-strip {
    display: none;
  }

  body.page-home.page-services .hero-stage {
    grid-template-columns: minmax(0, 1fr) minmax(14rem, 22rem);
  }

  body.page-home.page-services .hero-copy h1 {
    max-width: 9.3ch;
    font-size: clamp(3.6rem, 7vw, 5.35rem);
  }

  body.page-home .button--hero {
    flex: 1 1 100%;
    min-height: 4rem;
    padding: 1.05rem 1.4rem;
  }

  body.page-home .inspector-profile {
    justify-items: center;
    padding-right: 0;
  }

  body.page-home .inspector-profile__card {
    transform: rotate(-1.2deg);
  }
}

@media (max-width: 860px) {
  body.page-home.page-index .section--signals,
  body.page-home.page-index .section--video-story,
  body.page-home.page-index .section--services,
  body.page-home.page-index .section--pricing,
  body.page-home.page-index .section--territories,
  body.page-home.page-index .section--contact {
    overflow-x: clip;
  }

  body.page-home .hero-stage {
    grid-template-columns: 1fr;
    justify-content: stretch;
    align-items: start;
    gap: 1.5rem;
    padding-inline: clamp(1rem, 4vw, 1.5rem);
  }

  body.page-home .section--signals {
    margin-top: 1rem;
  }

  body.page-home .section--signals .container::before,
  body.page-home .section--signals .container::after {
    width: 1.5rem;
  }

  body.page-home .section--video-story {
    padding-top: 1rem;
  }

  body.page-home.page-index .section--video-story .container {
    width: 100%;
    max-width: none;
    padding-inline: 0.65rem;
  }

  body.page-home.page-index .video-story-shell,
  body.page-home.page-index .video-story-media,
  body.page-home.page-index .video-story-frame {
    width: 100%;
    max-width: none;
    margin: 0;
  }

  body.page-home .section--pricing {
    margin-top: 1.6rem;
    padding-top: 3.4rem;
  }

  body.page-home .section--pricing::after {
    height: 4.7rem;
    transform: translate(-50%, -48%);
  }

  body.page-home .section--territories {
    margin-top: -0.2rem;
    padding-top: 2.7rem;
  }

  body.page-home .section--territories::before {
    height: 4rem;
    transform: translate(-50%, -12%);
  }

  body.page-home .section--contact {
    margin-top: -0.35rem;
  }

  body.page-home .service-grid,
  body.page-home .pricing-grid,
  body.page-home .pricing-notes,
  body.page-home .pricing-footnotes,
  body.page-home .territory-grid,
  body.page-home .signal-grid {
    grid-template-columns: 1fr;
  }

  body.page-home .signal-card__top {
    flex-wrap: wrap;
  }

  body.page-home .signal-card__tag {
    white-space: normal;
  }

  body.page-home .signal-card,
  body.page-home .signal-card--report,
  body.page-home .signal-card--territories,
  body.page-home .signal-card--equipment,
  body.page-home .signal-card--approach {
    flex-basis: min(24rem, 82vw);
  }

  body.page-home.page-index .pricing-card--featured {
    transform: none;
  }

  body.page-home.page-index .pricing-card--featured::before {
    display: none;
  }

  body.page-home.page-index .pricing-card {
    gap: 0.6rem;
    padding: 1.25rem 1rem 1rem;
    border-radius: 1.4rem;
  }

  body.page-home.page-index .pricing-card h3 {
    font-size: 1.52rem;
  }

  body.page-home.page-index .pricing-card__price {
    font-size: clamp(3rem, 13vw, 3.95rem);
  }

  body.page-home.page-index .pricing-card__summary {
    margin-top: 0;
    font-size: 0.9rem;
    line-height: 1.58;
  }

  body.page-home.page-index .pricing-card__list li {
    padding: 0.76rem 0 0.76rem 1.55rem;
    font-size: 0.9rem;
    line-height: 1.18;
  }

  body.page-home.page-index .pricing-card__list li::before {
    top: 0.76rem;
  }

  body.page-home .hero-copy h1 {
    max-width: 6.8ch;
    font-size: clamp(3.3rem, 14vw, 5rem);
    line-height: 0.92;
  }

  body.page-home .section-header h2,
  body.page-home .contact-copy h2 {
    max-width: none;
  }

  body.page-home .contact-shell {
    gap: 1rem;
  }

  body.page-home .contact-choice-grid {
    grid-template-columns: 1fr;
    width: min(100%, 36rem);
  }

  body.page-home .hero-copy {
    max-width: min(100%, 38rem);
  }

  body.page-home .hero-lead {
    max-width: 34rem;
  }

  body.page-home .hero-actions--hero {
    max-width: min(100%, 36rem);
  }

  body.page-home.page-services .hero-copy h1 {
    max-width: 8.1ch;
    font-size: clamp(3.15rem, 12vw, 4.75rem);
  }

  body.page-home.page-services .hero-stage {
    grid-template-columns: 1fr;
  }

  body.page-home .hero-portrait {
    justify-self: center;
    width: min(100%, 27rem);
    height: clamp(16rem, 56vw, 21rem);
    margin-top: 0.25rem;
    transform: none;
  }

  body.page-home.page-index .hero-stage {
    width: 100%;
    max-width: none;
    margin: 0;
    gap: 1.1rem;
    padding-inline: 0.65rem;
  }

  body.page-home.page-index .hero-copy {
    width: 100%;
    max-width: none;
    gap: 0.95rem;
    margin: 0;
  }

  body.page-home.page-index .hero-headline-row {
    display: grid;
    box-sizing: border-box;
    padding-inline-end: clamp(0.32rem, 1.7vw, 0.72rem);
    grid-template-columns: minmax(0, 1fr) clamp(5.9rem, 22vw, 7.4rem);
    align-items: start;
    gap: 0.75rem;
  }

  body.page-home.page-index .hero-copy h1 {
    max-width: 5.2ch;
    font-size: clamp(2.65rem, 10vw, 3.85rem);
  }

  body.page-home.page-index .hero-lead {
    max-width: none;
    font-size: 0.92rem;
    line-height: 1.52;
  }

  body.page-home.page-index .hero-actions--hero {
    width: 100%;
    max-width: none;
    gap: 0.8rem;
    margin: 0;
  }

  body.page-home.page-index .button--hero {
    width: 100%;
    max-width: none;
    min-height: 3.4rem;
    padding: 0.85rem 0.92rem;
  }

  body.page-home.page-index .hero-portrait {
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 1.38 / 1;
    margin-top: 0.15rem;
    margin-left: 0;
    margin-right: 0;
    justify-self: start;
  }

  body.page-home.page-index .hero-portrait--video {
    height: auto;
    aspect-ratio: 1.38 / 1;
  }

  body.page-home.page-index .hero-portrait--stage {
    display: none;
  }

  body.page-home.page-index .hero-portrait--inline {
    display: block;
    justify-self: end;
    align-self: start;
    width: 100%;
    max-width: 7.4rem;
    min-width: 0;
    aspect-ratio: 1 / 1;
    border-radius: 1rem;
    box-shadow: 0 18px 32px rgba(8, 12, 20, 0.24);
    transform: none;
  }

  body.page-home.page-index .hero-portrait--inline::before {
    inset: 10% auto auto 10%;
    width: 3.4rem;
    height: 3.4rem;
  }

  body.page-home.page-index .hero-portrait--inline .hero-portrait__video {
    object-position: center;
  }

  body.page-home.page-index .hero-service-strip {
    display: none;
  }
}

@media (max-width: 860px) {
  body.page-home.js-section-motion .home-main > .section,
  body.page-home.page-topic.js-section-motion .topic-main > .section {
    opacity: 1;
    transform: none;
    filter: none;
    transition: none;
  }

  body.page-home .section--signals {
    margin-top: 0.85rem;
  }

  body.page-home .section--video-story {
    padding-top: 0.85rem;
  }

  body.page-home .section--services {
    padding-top: 1.35rem;
  }

  body.page-home .section--pricing::after,
  body.page-home .section--territories::before {
    width: calc(100% - 1.2rem);
  }

  body.page-home .section--contact::before {
    width: calc(100% - 4rem);
  }

  body.page-home .container {
    padding-inline: 0.9rem;
  }

  body.page-home .header-inner {
    min-height: 4.35rem;
    gap: 0.8rem;
  }

  body.page-home .brand img {
    height: 3rem;
  }

  body.page-home .service-card,
  body.page-home .video-story-media,
  body.page-home .deliverables-card,
  body.page-home .pricing-card,
  body.page-home .inspector-profile__card,
  body.page-home .territory-card,
  body.page-home .contact-shell,
  body.page-home .contact-panel {
    border-radius: 1.45rem;
  }

  body.page-home .inspector-profile__card {
    transform: none;
    width: 100%;
  }

  body.page-home .inspector-headline {
    font-size: clamp(2.8rem, 15vw, 4.2rem);
  }

  body.page-home .process-step {
    grid-template-columns: 1fr;
  }

  body.page-home .process-step__index {
    width: 2.7rem;
    height: 2.7rem;
  }

  body.page-home .button,
  body.page-home .nav-toggle {
    width: 100%;
  }

  body.page-home .hero-stage {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 1rem;
    min-height: auto;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 1.05rem clamp(0.34rem, 1.9vw, 0.65rem) 1.1rem;
    align-items: stretch;
  }

  body.page-home .hero-actions {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
  }

  body.page-home .hero-actions--hero {
    width: 100%;
    max-width: none;
  }

  body.page-home .hero-copy,
  body.page-home.page-topic:not(.page-contact) .hero-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    max-width: 100%;
    gap: 0.8rem;
    padding-right: 0;
  }

  body.page-home .hero-copy--editorial,
  body.page-home.page-topic:not(.page-contact) .hero-copy--editorial {
    justify-content: start;
  }

  body.page-home .hero-copy h1 {
    width: 100%;
    max-width: 5.9ch;
    font-size: clamp(2.18rem, 10.6vw, 3rem);
    letter-spacing: -0.065em;
  }

  body.page-home.page-services .hero-copy h1 {
    max-width: 6.7ch;
    font-size: clamp(2.3rem, 11.2vw, 3.1rem);
  }

  body.page-home.page-services .hero-headline-row {
    display: grid;
    box-sizing: border-box;
    padding-inline-end: clamp(0.32rem, 1.7vw, 0.72rem);
    grid-template-columns: minmax(0, 1fr) clamp(7.8rem, 35vw, 9.6rem);
    align-items: start;
    gap: 0.72rem;
    width: 100%;
  }

  body.page-home.page-services .hero-headline-row h1 {
    max-width: none;
  }

  body.page-home.page-services .hero-portrait--stage {
    display: none;
  }

  body.page-home.page-services .hero-portrait--inline {
    display: block;
    justify-self: end;
    align-self: start;
    width: 100%;
    max-width: clamp(7.8rem, 35vw, 9.6rem);
    min-width: 0;
    height: auto;
    aspect-ratio: 1 / 1;
    margin: 0;
    border-radius: 1rem;
    box-shadow: 0 18px 32px rgba(8, 12, 20, 0.24);
    transform: none;
  }

  body.page-home.page-services .hero-portrait--inline::before {
    inset: 10% auto auto 10%;
    width: 3rem;
    height: 3rem;
  }

  body.page-home.page-services .hero-portrait--inline .hero-portrait__video {
    object-position: center;
  }

  body.page-home.page-topic:not(.page-contact) .hero-copy h1 {
    max-width: 5.9ch;
    font-size: clamp(1.96rem, 9.5vw, 2.58rem);
  }

  body.page-home .hero-outline {
    margin-top: 0.01em;
    font-size: 0.88em;
    -webkit-text-stroke: 1.1px #b8ff16;
  }

  body.page-home .hero-emphasis {
    margin-top: 0.04em;
    transform: rotate(-2deg);
  }

  body.page-home .hero-kicker {
    display: block;
    max-width: 100%;
    margin: 0;
    font-size: 0.68rem;
    letter-spacing: 0.07em;
    line-height: 1.4;
    white-space: normal;
    overflow-wrap: anywhere;
    text-wrap: pretty;
  }

  body.page-home .hero-kicker::before,
  body.page-home .section-eyebrow::before,
  body.page-home .deliverables-card__eyebrow::before {
    display: inline-block;
    width: 0.58rem;
    height: 0.58rem;
    margin-right: 0.58rem;
    vertical-align: middle;
  }

  body.page-home .hero-lead,
  body.page-home.page-topic:not(.page-contact) .hero-lead {
    width: 100%;
    max-width: 17.6rem;
    font-size: 0.88rem;
    line-height: 1.5;
    white-space: normal;
    overflow-wrap: anywhere;
    text-wrap: pretty;
  }

  body.page-home .hero-lead strong,
  body.page-home.page-topic:not(.page-contact) .hero-lead strong {
    display: inline;
    max-width: none;
    margin-top: 0;
  }

  body.page-home .button--hero {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
    max-width: none;
    align-self: stretch;
    flex: none;
    min-width: 0;
    min-height: 3.45rem;
    padding: 0.9rem 1rem;
    font-size: 0.86rem;
    letter-spacing: 0.075em;
    line-height: 1;
    white-space: nowrap;
    text-align: center;
    text-transform: uppercase;
    overflow-wrap: normal;
    word-break: normal;
  }

  body.page-home .button--hero .button__label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    position: relative;
    z-index: 1;
    color: inherit;
    font-family: "Manrope", sans-serif;
    font-size: inherit;
    font-weight: 800;
    line-height: 1;
    letter-spacing: inherit;
    text-transform: inherit;
    white-space: nowrap;
  }

  body.page-home .button--hero.button--primary {
    flex: none;
    background: linear-gradient(135deg, #d6ff63 0%, #b8ff16 56%, #98d600 100%);
    border-color: rgba(184, 255, 22, 0.72);
    color: #18212c !important;
    animation: none;
    box-shadow:
      0 14px 28px rgba(156, 207, 38, 0.22),
      inset 0 1px 0 rgba(255, 255, 255, 0.34),
      inset 0 -1px 0 rgba(17, 33, 28, 0.18);
  }

  body.page-home .button--hero.button--primary::before {
    display: none;
  }

  body.page-home .button--hero.button--primary .button__label {
    color: #18212c !important;
  }

  body.page-home .button--ghost {
    flex: none;
    color: #f5f7fb !important;
    background: rgba(255, 255, 255, 0.09);
    border-color: rgba(232, 236, 244, 0.26);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.12),
      0 10px 20px rgba(7, 10, 18, 0.12);
  }

  body.page-home .button--ghost .button__label {
    color: #f5f7fb !important;
  }

  body.page-home .hero-portrait {
    width: min(100%, 12.6rem);
    height: clamp(8.4rem, 42vw, 9.9rem);
    border-radius: 1.45rem;
  }

  body.page-home .hero-portrait--video {
    height: clamp(12.5rem, 66vw, 15rem);
  }

  body.page-home .hero-service-strip {
    display: none;
  }

  body.page-home .signal-card {
    padding: 1.05rem 1rem 1.1rem;
    border-radius: 1.4rem;
  }

  body.page-home .signal-card__title {
    font-size: clamp(1.22rem, 6vw, 1.7rem);
  }

  body.page-home .signal-card__body {
    font-size: 0.92rem;
    line-height: 1.6;
  }

  body.page-home.page-services .hero-copy h1 {
    max-width: 6.7ch;
    font-size: clamp(2.55rem, 13vw, 3.65rem);
  }

  body.page-home .button--hero {
    min-height: 3.65rem;
  }

  body.page-home .hero-portrait__image {
    object-position: center 20%;
  }

  body.page-home .video-story-media {
    border-radius: 1.4rem;
  }

  body.page-home .video-story-frame {
    border-radius: 1.35rem;
  }

  body.page-home .video-story-trigger {
    left: 0.9rem;
    bottom: 0.9rem;
  }

  body.page-home .section--signals .container::before,
  body.page-home .section--signals .container::after {
    display: none;
  }

  body.page-home .signal-grid {
    padding-inline: 0.1rem;
  }

  body.page-home .signal-card,
  body.page-home .signal-card--report,
  body.page-home .signal-card--territories,
  body.page-home .signal-card--equipment,
  body.page-home .signal-card--approach {
    flex-basis: min(22rem, 84vw);
  }

  body.page-home.page-index .pricing-card {
    padding-inline: 0.95rem;
  }

  body.page-home.page-index .pricing-card__price {
    font-size: clamp(2.8rem, 12vw, 3.4rem);
  }

  body.page-home .hero-service-strip a {
    font-size: 0.8rem;
  }

  body.page-home .contact-choice {
    padding: 1rem 1rem 1.05rem;
  }

  body.page-home .contact-support {
    gap: 0.65rem 0.8rem;
  }

  body.page-home .hero-copy {
    gap: 0.95rem;
  }

  body.page-home .hero-copy h1 {
    max-width: 6.1ch;
    font-size: clamp(2.45rem, 12vw, 3.2rem);
  }

  body.page-home .hero-kicker {
    font-size: 0.68rem;
    letter-spacing: 0.07em;
  }

  body.page-home .hero-lead {
    font-size: 0.9rem;
    line-height: 1.5;
  }

  body.page-home.page-index .hero-stage {
    width: 100%;
    max-width: none;
    margin: 0;
    padding-inline: 0.5rem;
  }

  body.page-home.page-index .section--video-story .container {
    width: 100%;
    max-width: none;
    padding-inline: 0.5rem;
  }

  body.page-home.page-index .hero-copy {
    width: 100%;
    max-width: none;
    margin: 0;
  }

  body.page-home.page-index .hero-headline-row {
    box-sizing: border-box;
    padding-inline-end: clamp(0.28rem, 1.5vw, 0.62rem);
    grid-template-columns: minmax(0, 1fr) clamp(5rem, 24vw, 6.2rem);
    gap: 0.62rem;
  }

  body.page-home.page-index .hero-copy h1 {
    max-width: 5.05ch;
    font-size: clamp(2.12rem, 10.3vw, 2.85rem);
  }

  body.page-home.page-index .hero-lead {
    max-width: none;
    font-size: 0.84rem;
  }

  body.page-home.page-index .hero-actions--hero {
    width: 100%;
    max-width: none;
    margin: 0;
  }

  body.page-home.page-index .button--hero {
    min-height: 3.1rem;
  }

  body.page-home.page-index .hero-portrait {
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 1.38 / 1;
    margin-left: 0;
    margin-right: 0;
    justify-self: start;
  }

  body.page-home.page-index .hero-portrait--video {
    height: auto;
    aspect-ratio: 1.38 / 1;
  }

  body.page-home.page-index .hero-portrait--inline {
    max-width: 6rem;
    border-radius: 0.92rem;
  }
}

@media (max-width: 480px) {
  body.page-home .container {
    padding-inline: 1rem;
  }

  body.page-home .header-inner {
    min-height: 4.15rem;
    gap: 0.65rem;
  }

  body.page-home .brand img {
    height: 2.8rem;
  }

  body.page-home .nav-toggle {
    min-height: 2.9rem;
    padding: 0.72rem 0.95rem;
    font-size: 0.76rem;
    letter-spacing: 0.06em;
  }

  body.page-home .hero-stage {
    gap: 0.9rem;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0.88rem 0.5rem 0.95rem;
  }

  body.page-home.page-index .hero-stage {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0.88rem 0.5rem 0.95rem;
  }

  body.page-home.page-index .section--video-story .container {
    width: 100%;
    max-width: none;
    padding-inline: 0.34rem;
  }

  body.page-home.page-index .hero-copy {
    width: 100%;
    max-width: none;
  }

  body.page-home.page-index .hero-headline-row {
    box-sizing: border-box;
    padding-inline-end: clamp(0.28rem, 1.5vw, 0.62rem);
    grid-template-columns: minmax(0, 1fr) clamp(5rem, 24vw, 6.2rem);
    gap: 0.62rem;
  }

  body.page-home.page-index .hero-lead {
    max-width: none;
  }

  body.page-home.page-index .hero-actions--hero {
    width: 100%;
    max-width: none;
  }

  body.page-home.page-index .hero-portrait,
  body.page-home.page-index .hero-portrait--video {
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 1.38 / 1;
  }

  body.page-home.page-index .hero-portrait--inline {
    max-width: 6rem;
    aspect-ratio: 1 / 1;
  }

  body.page-home .hero-copy h1 {
    max-width: 5.5ch;
    font-size: clamp(2rem, 10vw, 2.62rem);
  }

  body.page-home.page-services .hero-copy h1 {
    max-width: 5.9ch;
    font-size: clamp(1.9rem, 9.6vw, 2.42rem);
  }

  body.page-home.page-services .hero-headline-row {
    box-sizing: border-box;
    padding-inline-end: clamp(0.28rem, 1.5vw, 0.62rem);
    grid-template-columns: minmax(0, 1fr) clamp(4.9rem, 25vw, 5.9rem);
    gap: 0.62rem;
  }

  body.page-home.page-services .hero-portrait--inline {
    max-width: 5.9rem;
    border-radius: 0.92rem;
  }

  body.page-home.page-topic:not(.page-contact) .hero-copy h1 {
    max-width: 5.5ch;
    font-size: clamp(1.78rem, 8.9vw, 2.24rem);
  }

  body.page-home .hero-outline {
    -webkit-text-stroke: 1px #b8ff16;
  }

  body.page-home .hero-kicker {
    font-size: 0.62rem;
    letter-spacing: 0.05em;
  }

  body.page-home .hero-lead {
    max-width: 16.9rem;
    font-size: 0.82rem;
    line-height: 1.45;
  }

  body.page-home .button--hero {
    min-height: 3.22rem;
    padding: 0.8rem 0.88rem;
    font-size: 0.8rem;
    letter-spacing: 0.07em;
    width: 100%;
    max-width: none;
  }

  body.page-home .button--hero .button__label {
    font-size: inherit;
  }



  body.page-home .hero-portrait {
    width: min(100%, 11.4rem);
    height: clamp(7.7rem, 36vw, 8.9rem);
  }

  body.page-home .hero-portrait--video {
    height: clamp(11.8rem, 61vw, 14rem);
  }
}

@media (max-width: 1120px) {
  body.page-home.page-services .inclusion-shell {
    grid-template-columns: 1fr;
  }

  body.page-home.page-services .inclusion-card--deliverables {
    position: static;
  }
}

@media (max-width: 640px) {
  body.page-home.page-services .inclusion-card {
    border-radius: 1.45rem;
  }

  body.page-home.page-services .inclusion-card--summary,
  body.page-home.page-services .inclusion-card--deliverables {
    padding: 1.2rem 1.05rem 1.15rem;
  }

  body.page-home.page-services .inclusion-card--summary h2 {
    max-width: 10.4ch;
    font-size: clamp(2.3rem, 13vw, 3.45rem);
  }

  body.page-home.page-services .inclusion-row {
    padding: 0.9rem 0;
  }

  body.page-home.page-services .inclusion-row h3 {
    font-size: 1.28rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-home.js-section-motion .home-main > .section,
  body.page-home .button,
  body.page-home .service-card,
  body.page-home .pricing-card,
  body.page-home .pricing-panel,
  body.page-home .pricing-switch__option,
  body.page-home .territory-card,
  body.page-home .nav-links a,
  body.page-home .lang-switch a,
  body.page-home .hero-service-strip__track {
    transition: none !important;
    transform: none !important;
  }

  body.page-home .hero-service-strip__track {
    animation: none !important;
  }

  body.page-home .pricing-card--featured::before,
  body.page-home .pricing-panel.is-active {
    animation: none !important;
  }

  body.page-home .button--hero.button--primary,
  body.page-home .button--hero.button--primary::before {
    animation: none !important;
  }

}

body.page-home.page-topic:not(.page-contact) .topic-main {
  position: relative;
  padding-bottom: clamp(4rem, 8vw, 6rem);
}

body.page-home.page-topic:not(.page-contact) .topic-main::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 22rem;
  background:
    radial-gradient(circle at 12% 18%, rgba(184, 255, 22, 0.12), rgba(184, 255, 22, 0) 34%),
    radial-gradient(circle at 88% 10%, rgba(24, 72, 72, 0.12), rgba(24, 72, 72, 0) 30%);
  pointer-events: none;
}

body.page-home.page-topic:not(.page-contact) .hero-stage {
  align-items: center;
}

body.page-home.page-topic:not(.page-contact) .hero-copy {
  max-width: min(100%, 39rem);
}

body.page-home.page-topic:not(.page-contact) .hero-copy h1 {
  max-width: 9ch;
  font-size: clamp(4rem, 6.8vw, 6.7rem);
}

body.page-home.page-topic:not(.page-contact) .hero-lead {
  max-width: 34rem;
}

body.page-home.page-topic:not(.page-contact) .hero-portrait {
  width: min(100%, 37rem);
  height: clamp(22rem, 30vw, 30rem);
  transform: rotate(1.8deg);
}

body.page-home.page-topic:not(.page-contact) .hero-portrait__image {
  object-position: center center;
}

body.page-home.page-inspector .hero-portrait {
  width: min(100%, 32rem);
  height: clamp(25rem, 36vw, 35rem);
}

body.page-home.page-inspector .hero-portrait__image {
  box-sizing: border-box;
  padding: clamp(0.7rem, 1.4vw, 1rem);
  object-fit: contain;
  object-position: center center;
}

body.page-home.page-prereception .hero-portrait__image {
  object-position: center 28%;
}

body.page-home.page-topic:not(.page-contact) .section--signals {
  padding-top: 0.9rem;
}

body.page-home.page-topic:not(.page-contact) .section--signals .container {
  overflow-x: hidden;
}

body.page-home.page-topic:not(.page-contact):not(.page-inspector) .signal-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
  max-width: 100%;
  min-width: 0;
  gap: 0.95rem;
  overflow: visible;
  padding: 0.2rem 0 0.65rem;
  animation: none;
  transform: none;
  will-change: auto;
}

body.page-home.page-topic:not(.page-contact):not(.page-inspector) .signal-grid::-webkit-scrollbar {
  display: none;
}

body.page-home.page-topic:not(.page-contact):not(.page-inspector) .signal-grid [data-signal-clone="true"] {
  display: none !important;
}

body.page-home.page-topic:not(.page-contact) .section--signals.section--signals-carousel .signal-marquee {
  overflow: hidden;
}

body.page-home.page-topic:not(.page-contact) .section--signals.section--signals-carousel .signal-grid {
  display: flex;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  gap: 0.95rem;
  align-items: stretch;
  overflow-x: auto;
  overflow-y: visible;
  padding: 0.2rem 0.1rem 0.65rem;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
}

body.page-home.page-topic:not(.page-contact) .section--signals.section--signals-carousel .signal-grid::-webkit-scrollbar {
  display: none;
}

body.page-home.page-topic:not(.page-contact) .section--signals.section--signals-carousel .signal-grid [data-signal-clone="true"] {
  display: grid !important;
}

body.page-home.page-topic:not(.page-contact) .section--signals.section--signals-carousel .signal-card,
body.page-home.page-topic:not(.page-contact) .section--signals.section--signals-carousel .signal-card--report,
body.page-home.page-topic:not(.page-contact) .section--signals.section--signals-carousel .signal-card--territories,
body.page-home.page-topic:not(.page-contact) .section--signals.section--signals-carousel .signal-card--equipment,
body.page-home.page-topic:not(.page-contact) .section--signals.section--signals-carousel .signal-card--approach {
  flex: 0 0 min(22rem, calc(100vw - 2.5rem));
  scroll-snap-align: start;
}

body.page-home.page-topic:not(.page-contact) .topic-main .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  margin: 0 0 0.9rem;
  color: var(--mock-accent);
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

body.page-home.page-topic:not(.page-contact) .topic-main .eyebrow::before {
  content: "";
  width: 0.64rem;
  height: 0.64rem;
  flex: none;
  border-radius: 999px;
  background: currentColor;
}

body.page-home.page-topic:not(.page-contact) .section-head {
  display: grid;
  gap: 1rem;
  margin-bottom: 1.55rem;
}

body.page-home.page-topic:not(.page-contact) .section-head h2,
body.page-home.page-topic:not(.page-contact) .content-card h2,
body.page-home.page-topic:not(.page-contact) .action-panel h2 {
  max-width: 14ch;
  margin: 0;
  font-size: clamp(2.1rem, 4vw, 3.35rem);
  line-height: 0.98;
  letter-spacing: -0.06em;
}

body.page-home.page-topic:not(.page-contact) .route-card h3,
body.page-home.page-topic:not(.page-contact) .process-card h3,
body.page-home.page-topic:not(.page-contact) .faq-item summary,
body.page-home.page-topic:not(.page-contact) .action-panel h3 {
  margin: 0;
  color: var(--mock-ink);
  font-family: "Manrope", sans-serif;
  font-size: clamp(1.25rem, 2vw, 1.6rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.15;
}

body.page-home.page-topic:not(.page-contact) .lead,
body.page-home.page-topic:not(.page-contact) .copy,
body.page-home.page-topic:not(.page-contact) .benefits-intro,
body.page-home.page-topic:not(.page-contact) .process-intro,
body.page-home.page-topic:not(.page-contact) .faq-intro,
body.page-home.page-topic:not(.page-contact) .route-card p,
body.page-home.page-topic:not(.page-contact) .process-card p,
body.page-home.page-topic:not(.page-contact) .faq-answer p,
body.page-home.page-topic:not(.page-contact) .action-panel p {
  margin: 0;
  color: rgba(27, 44, 46, 0.92);
  font-size: 1rem;
  line-height: 1.78;
}

body.page-home.page-topic:not(.page-contact) .benefits-intro,
body.page-home.page-topic:not(.page-contact) .process-intro,
body.page-home.page-topic:not(.page-contact) .faq-intro {
  max-width: 64ch;
}

body.page-home.page-topic:not(.page-contact) .route-grid,
body.page-home.page-topic:not(.page-contact) .process-grid {
  display: grid;
  gap: 1rem;
}

body.page-home.page-topic:not(.page-contact) .route-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.page-home.page-topic:not(.page-contact) .route-grid.route-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.page-home.page-topic:not(.page-contact) .content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(19rem, 0.88fr);
  gap: 1.25rem;
  align-items: stretch;
}

body.page-home.page-topic:not(.page-contact) .content-grid.content-grid--reverse {
  grid-template-columns: minmax(19rem, 0.88fr) minmax(0, 1.12fr);
}

body.page-home.page-topic:not(.page-contact) .route-card,
body.page-home.page-topic:not(.page-contact) .content-card,
body.page-home.page-topic:not(.page-contact) .process-card,
body.page-home.page-topic:not(.page-contact) .faq-item,
body.page-home.page-topic:not(.page-contact) .action-panel {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(17, 36, 38, 0.1);
  border-radius: 1.65rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(247, 243, 232, 0.96));
  box-shadow:
    0 24px 54px rgba(10, 18, 20, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

body.page-home.page-topic:not(.page-contact) .route-card,
body.page-home.page-topic:not(.page-contact) .process-card {
  padding: 1.45rem 1.4rem 1.5rem;
}

body.page-home.page-topic:not(.page-contact) .content-card,
body.page-home.page-topic:not(.page-contact) .action-panel {
  padding: clamp(1.5rem, 2.8vw, 2rem);
}

body.page-home.page-topic:not(.page-contact) .route-card::before,
body.page-home.page-topic:not(.page-contact) .content-card::before,
body.page-home.page-topic:not(.page-contact) .process-card::before,
body.page-home.page-topic:not(.page-contact) .faq-item::before,
body.page-home.page-topic:not(.page-contact) .action-panel::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 0.26rem;
  background: linear-gradient(90deg, rgba(184, 255, 22, 0.82), rgba(41, 79, 79, 0.86));
}

body.page-home.page-topic:not(.page-contact) .stack-list {
  display: grid;
  gap: 0.85rem;
  margin: 1.35rem 0 0;
  padding: 0;
  list-style: none;
}

body.page-home.page-topic:not(.page-contact) .stack-list li {
  position: relative;
  padding-left: 1.25rem;
  color: rgba(27, 44, 46, 0.94);
  line-height: 1.72;
}

body.page-home.page-topic:not(.page-contact) .stack-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72rem;
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 999px;
  background: var(--mock-accent);
  box-shadow: 0 0 0 0.22rem rgba(184, 255, 22, 0.15);
}

body.page-home.page-topic:not(.page-contact) .button-row,
body.page-home.page-topic:not(.page-contact) .action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.55rem;
}

body.page-home.page-topic:not(.page-contact) .image-panel {
  position: relative;
  overflow: hidden;
  min-height: 22rem;
  border: 1px solid rgba(17, 36, 38, 0.1);
  border-radius: 1.9rem;
  box-shadow: 0 30px 60px rgba(10, 18, 20, 0.12);
  background: #102326;
}

body.page-home.page-topic:not(.page-contact) .image-panel img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.page-home.page-topic.page-inspector:not(.page-contact) .content-grid--inspector-focus {
  grid-template-columns: minmax(14.5rem, 20.5rem) minmax(0, 1fr);
  gap: 1rem 1.15rem;
  align-items: start;
}

body.page-home.page-topic.page-inspector:not(.page-contact) .inspector-focus__image {
  min-height: clamp(18.5rem, 32vw, 24.5rem);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(244, 240, 231, 0.98)),
    radial-gradient(circle at top center, rgba(184, 255, 22, 0.12), transparent 15rem);
}

body.page-home.page-topic.page-inspector:not(.page-contact) .inspector-focus__image img {
  object-fit: contain;
  object-position: center center;
  padding: clamp(0.85rem, 1.8vw, 1.25rem);
}

body.page-home.page-topic.page-inspector:not(.page-contact) .inspector-focus__card {
  display: grid;
  align-content: start;
}

body.page-home.page-topic.page-inspector:not(.page-contact) .inspector-focus__main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(11rem, 13rem);
  gap: 0.9rem 1.2rem;
  align-items: start;
}

body.page-home.page-topic.page-inspector:not(.page-contact) .inspector-focus__copy {
  display: grid;
  align-content: start;
}

body.page-home.page-topic.page-inspector:not(.page-contact) .inspector-focus__card h2 {
  max-width: 12ch;
}

body.page-home.page-topic.page-inspector:not(.page-contact) .inspector-focus__copy .stack-list {
  gap: 0.75rem;
  margin-top: 1.15rem;
}

body.page-home.page-topic.page-inspector:not(.page-contact) .inspector-focus__copy .button-row {
  margin-top: 1.25rem;
}

body.page-home.page-topic.page-inspector:not(.page-contact) .inspector-focus__video {
  display: grid;
  gap: 0.55rem;
  width: 100%;
  justify-self: end;
  margin-top: 0.1rem;
  padding-top: 0;
  border-top: 0;
}

body.page-home.page-topic.page-inspector:not(.page-contact) .inspector-focus__video-eyebrow {
  margin: 0;
  color: #255157;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body.page-home.page-topic.page-inspector:not(.page-contact) .inspector-focus__video-title {
  color: var(--mock-ink);
  font-family: "Manrope", sans-serif;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
}

body.page-home.page-topic.page-inspector:not(.page-contact) .inspector-focus__video .video-story-media--compact {
  width: min(100%, 12.4rem);
  margin-inline: 0 0;
}

body.page-home.page-topic.page-inspector:not(.page-contact) .inspector-focus__video .video-story-frame {
  border-radius: 1.3rem;
  box-shadow:
    0 18px 40px rgba(10, 18, 20, 0.12),
    inset 0 0 0 1px rgba(255, 255, 255, 0.05);
}

body.page-home.page-topic:not(.page-contact) .route-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 1rem;
}

body.page-home.page-topic:not(.page-contact) .route-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 2.2rem;
  padding: 0.45rem 0.8rem;
  border: 1px solid rgba(17, 36, 38, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.62);
  color: rgba(23, 40, 41, 0.92);
  font-size: 0.87rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

body.page-home.page-topic:not(.page-contact) .route-cta {
  margin-top: 1.15rem;
}

body.page-home.page-topic:not(.page-contact) .process-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.page-home.page-topic:not(.page-contact) .process-card {
  display: grid;
  align-content: start;
  gap: 0.85rem;
}

body.page-home.page-topic:not(.page-contact) .process-step {
  display: inline-grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  background: rgba(24, 72, 72, 0.1);
  color: #163538;
  font-size: 0.96rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

body.page-home.page-topic:not(.page-contact) .faq-list {
  display: grid;
  gap: 0.95rem;
}

body.page-home.page-topic:not(.page-contact) .faq-item {
  padding: 0;
}

body.page-home.page-topic:not(.page-contact) .faq-item summary {
  position: relative;
  display: block;
  padding: 1.35rem 4rem 1.35rem 1.45rem;
  cursor: pointer;
  list-style: none;
}

body.page-home.page-topic:not(.page-contact) .faq-item summary::-webkit-details-marker {
  display: none;
}

body.page-home.page-topic:not(.page-contact) .faq-item summary::after {
  content: "+";
  position: absolute;
  right: 1.4rem;
  top: 50%;
  color: #234447;
  font-size: 1.55rem;
  font-weight: 500;
  transform: translateY(-50%);
}

body.page-home.page-topic:not(.page-contact) .faq-item[open] summary::after {
  content: "−";
}

body.page-home.page-topic:not(.page-contact) .faq-answer {
  padding: 0 1.45rem 1.45rem;
}

body.page-home.page-topic:not(.page-contact) .faq-answer > * + * {
  margin-top: 0.8rem;
}

body.page-home.page-topic:not(.page-contact) .video-story-shell {
  justify-content: stretch;
}

body.page-home.page-topic:not(.page-contact) .video-story-shell--portrait-grid {
  justify-content: stretch;
}

body.page-home.page-topic:not(.page-contact) .video-story-media {
  width: min(100%, 76rem);
}

body.page-home.page-topic:not(.page-contact) .video-story-shell--portrait-grid .video-story-media--portrait {
  width: 100%;
}

body.page-home.page-topic:not(.page-contact) .action-panel {
  display: grid;
  gap: 1rem;
}

body.page-home.page-topic:not(.page-contact) .action-panel h2 {
  max-width: 16ch;
}

body.page-home.page-topic:not(.page-contact) .action-panel p {
  max-width: 60ch;
}

body.page-home.page-topic:not(.page-contact) .divider {
  margin: 1.1rem 0 0;
}

body.page-home.page-topic:not(.page-contact) .content-card .divider {
  margin: 1rem 0 0;
}

@media (max-width: 1120px) {
  body.page-home.page-topic:not(.page-contact) .route-grid,
  body.page-home.page-topic:not(.page-contact) .route-grid.route-grid--2,
  body.page-home.page-topic:not(.page-contact) .process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.page-home.page-topic:not(.page-contact) .content-grid,
  body.page-home.page-topic:not(.page-contact) .content-grid.content-grid--reverse {
    grid-template-columns: 1fr;
  }

  body.page-home.page-topic.page-inspector:not(.page-contact) .content-grid--inspector-focus {
    grid-template-columns: 1fr;
  }

  body.page-home.page-topic:not(.page-contact) .image-panel {
    min-height: 20rem;
  }

  body.page-home.page-topic.page-inspector:not(.page-contact) .inspector-focus__image {
    max-width: 24rem;
    justify-self: center;
  }

  body.page-home.page-topic.page-inspector:not(.page-contact) .inspector-focus__main {
    grid-template-columns: 1fr;
  }

  body.page-home.page-topic.page-inspector:not(.page-contact) .inspector-focus__video {
    justify-self: start;
  }
}

@media (max-width: 860px) {
  body.page-home.page-topic:not(.page-contact) .hero-copy h1 {
    max-width: 8.5ch;
    font-size: clamp(3.4rem, 12vw, 5rem);
  }

  body.page-home.page-topic:not(.page-contact) .route-grid,
  body.page-home.page-topic:not(.page-contact) .route-grid.route-grid--2,
  body.page-home.page-topic:not(.page-contact) .process-grid {
    grid-template-columns: 1fr;
  }

  body.page-home.page-inspector .hero-portrait {
    width: min(100%, 24rem);
    height: clamp(21rem, 48vw, 27rem);
  }

  body.page-home.page-topic.page-inspector:not(.page-contact) .inspector-focus__video {
    width: min(100%, 13.25rem);
  }
}

@media (max-width: 640px) {
  body.page-home.page-topic:not(.page-contact) .topic-main {
    padding-bottom: 3rem;
  }

  body.page-home.page-topic:not(.page-contact) .hero-stage {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    padding: 1.05rem 0.72rem 1.1rem;
    width: 100%;
    max-width: none;
    margin-inline: auto;
  }

  body.page-home.page-topic:not(.page-contact) .hero-copy {
    width: 100%;
    max-width: 100%;
    align-items: flex-start;
    gap: 0.76rem;
  }

  body.page-home.page-topic:not(.page-contact) .hero-copy h1 {
    width: 100%;
    max-width: 5.9ch;
    font-size: clamp(1.96rem, 9.4vw, 2.54rem);
    letter-spacing: -0.065em;
  }

  body.page-home.page-topic:not(.page-contact) .hero-lead {
    width: 100%;
    max-width: none;
    font-size: 0.86rem;
    line-height: 1.45;
  }

  body.page-home.page-topic:not(.page-contact) .hero-actions--hero {
    width: 100%;
    max-width: none;
    align-items: flex-start;
  }

  body.page-home.page-topic:not(.page-contact) .hero-portrait {
    justify-self: center;
    align-self: center;
    width: min(100%, 12rem);
    height: clamp(8rem, 40vw, 9.4rem);
    margin-top: 0.15rem;
    transform: none;
  }

  body.page-home.page-topic:not(.page-contact) .hero-portrait__image {
    object-position: center 24%;
  }

  body.page-home.page-topic:not(.page-contact) .route-card,
  body.page-home.page-topic:not(.page-contact) .process-card,
  body.page-home.page-topic:not(.page-contact) .content-card,
  body.page-home.page-topic:not(.page-contact) .action-panel {
    border-radius: 1.3rem;
  }

  body.page-home.page-topic:not(.page-contact) .faq-item summary {
    padding-right: 3.4rem;
  }

  body.page-home.page-topic:not(.page-contact) .image-panel {
    min-height: 16rem;
    border-radius: 1.35rem;
  }

  body.page-home.page-topic.page-inspector:not(.page-contact) .inspector-focus__image {
    min-height: 18rem;
  }

  body.page-home.page-topic.page-inspector:not(.page-contact) .inspector-focus__image img {
    padding: 0.8rem;
  }

  body.page-home.page-topic.page-inspector:not(.page-contact) .inspector-focus__video .video-story-media--compact {
    width: min(100%, 11.5rem);
  }

  body.page-home.page-inspector .hero-portrait {
    width: min(100%, 22rem);
    height: clamp(19rem, 84vw, 24rem);
  }

body.page-home.page-inspector .hero-portrait__image {
  padding: 0.55rem;
}
}

@media (max-width: 1240px) {
  body.page-home.page-index .section--video-story,
  body.page-home.page-index .section--pricing,
  body.page-home.page-index .section--services,
  body.page-home.page-index .section--inspector,
  body.page-home.page-index .section--territories,
  body.page-home.page-index .section--contact {
    overflow-x: clip;
  }

  body.page-home.page-index .header-inner {
    gap: 0.8rem;
  }

  body.page-home.page-index .brand img {
    height: 3rem;
    max-width: min(100%, 8rem);
  }

  body.page-home.page-index .hero-stage {
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: stretch;
    gap: 0.95rem;
    min-height: auto;
    padding: 1.15rem 0.8rem 1.2rem;
  }

  body.page-home.page-index .hero-copy,
  body.page-home.page-index .hero-actions--hero,
  body.page-home.page-index .hero-portrait,
  body.page-home.page-index .video-story-shell,
  body.page-home.page-index .video-story-media,
  body.page-home.page-index .video-story-frame,
  body.page-home.page-index .pricing-shell,
  body.page-home.page-index .pricing-intro,
  body.page-home.page-index .pricing-panels,
  body.page-home.page-index .pricing-panel,
  body.page-home.page-index .pricing-panel__header,
  body.page-home.page-index .pricing-grid,
  body.page-home.page-index .pricing-grid > .pricing-card,
  body.page-home.page-index .pricing-footnotes,
  body.page-home.page-index .service-shell,
  body.page-home.page-index .service-grid,
  body.page-home.page-index .service-card,
  body.page-home.page-index .inspector-shell,
  body.page-home.page-index .inspector-profile,
  body.page-home.page-index .inspector-profile__card,
  body.page-home.page-index .inspector-copy,
  body.page-home.page-index .territory-grid,
  body.page-home.page-index .territory-card,
  body.page-home.page-index .contact-shell,
  body.page-home.page-index .contact-copy,
  body.page-home.page-index .contact-choice-grid,
  body.page-home.page-index .contact-choice,
  body.page-home.page-index .contact-panel {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    justify-self: stretch;
  }

  body.page-home.page-index .hero-copy {
    gap: 0.85rem;
    padding-top: 0;
  }

  body.page-home.page-index .hero-copy--editorial {
    min-height: auto;
    justify-content: flex-start;
  }

  body.page-home.page-index .hero-copy h1 {
    max-width: 5.05ch;
    font-size: clamp(2.3rem, 7.6vw, 3.2rem);
  }

  body.page-home.page-index .hero-kicker {
    font-size: 0.7rem;
    line-height: 1.35;
  }

  body.page-home.page-index .hero-lead {
    max-width: 22rem;
    font-size: 0.86rem;
    line-height: 1.48;
  }

  body.page-home.page-index .hero-actions--hero {
    flex-wrap: wrap;
    gap: 0.72rem;
    padding-top: 0.08rem;
  }

  body.page-home.page-index .button--hero {
    flex: 1 1 100%;
    width: 100%;
    min-height: 3.2rem;
    padding: 0.86rem 1rem;
    font-size: 0.82rem;
    letter-spacing: 0.07em;
  }

  body.page-home.page-index .hero-portrait {
    height: auto;
    aspect-ratio: 1.3 / 1;
    align-self: stretch;
    transform: none;
  }

  body.page-home.page-index .hero-portrait--video {
    height: auto;
    aspect-ratio: 1.3 / 1;
  }

  body.page-home.page-index .hero-portrait__video {
    object-position: center;
  }

  body.page-home.page-index .pricing-switch {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
  }

  body.page-home.page-index .pricing-switch__option {
    min-width: 0;
    padding-inline: 0.88rem;
  }

  body.page-home.page-index .pricing-grid,
  body.page-home.page-index .pricing-footnotes,
  body.page-home.page-index .service-grid,
  body.page-home.page-index .territory-grid,
  body.page-home.page-index .contact-choice-grid {
    grid-template-columns: 1fr;
  }

  body.page-home.page-index .pricing-panel__header h2,
  body.page-home.page-index .service-card h3,
  body.page-home.page-index .inspector-headline,
  body.page-home.page-index .territory-card span,
  body.page-home.page-index .contact-copy h2 {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  body.page-home.page-index .pricing-panel__header h2 {
    max-width: 12ch;
    font-size: clamp(1.42rem, 4vw, 1.9rem);
  }

  body.page-home.page-index .pricing-card {
    padding: 1.2rem 1rem 1rem;
  }

  body.page-home.page-index .pricing-card--featured {
    transform: none;
    padding-top: 1.2rem;
  }

  body.page-home.page-index .pricing-card__title-row {
    flex-wrap: wrap;
    align-items: flex-start;
  }

  body.page-home.page-index .pricing-card__badge {
    position: static;
    min-height: 0;
    align-self: flex-start;
    border-radius: 999px;
  }

  body.page-home.page-index .pricing-card__price {
    font-size: clamp(2.8rem, 10vw, 3.7rem);
  }

  body.page-home.page-index .pricing-card__list li,
  body.page-home.page-index .service-card__body,
  body.page-home.page-index .service-card__tags span,
  body.page-home.page-index .inspector-lead,
  body.page-home.page-index .inspector-points li,
  body.page-home.page-index .contact-copy__lead,
  body.page-home.page-index .contact-choice strong,
  body.page-home.page-index .contact-choice__meta,
  body.page-home.page-index .contact-support,
  body.page-home.page-index .contact-panel strong,
  body.page-home.page-index .contact-checklist li,
  body.page-home.page-index .contact-panel__note {
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  body.page-home.page-index .inspector-profile__tags {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.55rem;
    align-items: stretch;
  }

  body.page-home.page-index .inspector-profile__tags span {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    justify-content: flex-start;
    line-height: 1.2;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  body.page-home.page-index .inspector-profile {
    padding: 0.3rem 0.7rem 0;
  }

  body.page-home.page-index .inspector-profile__card {
    width: 100%;
    max-width: none;
    margin-inline: auto;
    transform: none;
  }

  body.page-home.page-index .contact-shell {
    gap: 1rem;
  }
}

@media (max-width: 640px) {
  /* Keep the index sections inside the phone viewport instead of inheriting wider desktop tracks. */
  body.page-home.page-index .section--video-story,
  body.page-home.page-index .section--pricing,
  body.page-home.page-index .section--services,
  body.page-home.page-index .section--inspector,
  body.page-home.page-index .section--territories,
  body.page-home.page-index .section--contact {
    overflow-x: clip;
  }

  body.page-home.page-index .video-story-shell,
  body.page-home.page-index .video-story-media,
  body.page-home.page-index .video-story-frame,
  body.page-home.page-index .pricing-shell,
  body.page-home.page-index .pricing-intro,
  body.page-home.page-index .pricing-panels,
  body.page-home.page-index .pricing-panel,
  body.page-home.page-index .pricing-panel__header,
  body.page-home.page-index .pricing-grid,
  body.page-home.page-index .pricing-grid > .pricing-card,
  body.page-home.page-index .pricing-footnotes,
  body.page-home.page-index .service-shell,
  body.page-home.page-index .service-grid,
  body.page-home.page-index .service-card,
  body.page-home.page-index .inspector-shell,
  body.page-home.page-index .inspector-profile,
  body.page-home.page-index .inspector-profile__card,
  body.page-home.page-index .inspector-copy,
  body.page-home.page-index .territory-grid,
  body.page-home.page-index .territory-card,
  body.page-home.page-index .contact-shell,
  body.page-home.page-index .contact-copy,
  body.page-home.page-index .contact-choice-grid,
  body.page-home.page-index .contact-choice,
  body.page-home.page-index .contact-panel {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    justify-self: stretch;
  }

  body.page-home.page-index .pricing-switch {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
  }

  body.page-home.page-index .pricing-switch__option {
    width: 100%;
    min-width: 0;
    flex: 1 1 auto;
    padding-inline: 0.78rem;
  }

  body.page-home.page-index .pricing-grid,
  body.page-home.page-index .pricing-footnotes,
  body.page-home.page-index .service-grid,
  body.page-home.page-index .territory-grid,
  body.page-home.page-index .contact-choice-grid {
    grid-template-columns: 1fr;
  }

  body.page-home.page-index .pricing-panel__header h2 {
    max-width: 10ch;
    font-size: clamp(1.35rem, 7.2vw, 1.8rem);
    overflow-wrap: anywhere;
    text-wrap: balance;
  }

  body.page-home.page-index .pricing-card {
    gap: 0.7rem;
    padding: 1.18rem 0.95rem 1rem;
  }

  body.page-home.page-index .pricing-card--featured {
    padding-top: 1.15rem;
  }

  body.page-home.page-index .pricing-card__title-row {
    flex-wrap: wrap;
    align-items: flex-start;
  }

  body.page-home.page-index .pricing-card__badge {
    position: static;
    top: auto;
    right: auto;
    min-height: 0;
    align-self: flex-start;
    padding: 0.4rem 0.75rem;
    border-radius: 999px;
  }

  body.page-home.page-index .pricing-card__price {
    font-size: clamp(2.55rem, 16vw, 3.3rem);
  }

  body.page-home.page-index .pricing-card__cta {
    min-height: 3.2rem;
    padding-inline: 1rem;
    font-size: 0.84rem;
    letter-spacing: 0.08em;
  }

  body.page-home.page-index .pricing-card__list li,
  body.page-home.page-index .service-card h3,
  body.page-home.page-index .service-card__body,
  body.page-home.page-index .service-card__tags span,
  body.page-home.page-index .inspector-headline,
  body.page-home.page-index .inspector-lead,
  body.page-home.page-index .inspector-points li,
  body.page-home.page-index .territory-card span,
  body.page-home.page-index .contact-copy h2,
  body.page-home.page-index .contact-copy__lead,
  body.page-home.page-index .contact-choice strong,
  body.page-home.page-index .contact-choice__meta,
  body.page-home.page-index .contact-support,
  body.page-home.page-index .contact-panel strong,
  body.page-home.page-index .contact-checklist li,
  body.page-home.page-index .contact-panel__note {
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  body.page-home.page-index .pricing-footnotes p,
  body.page-home.page-index .service-card,
  body.page-home.page-index .territory-card,
  body.page-home.page-index .contact-choice,
  body.page-home.page-index .contact-panel {
    padding-inline: 1rem;
  }

  body.page-home.page-index .inspector-profile__card {
    min-height: clamp(24rem, 118vw, 30rem);
    width: 100%;
    max-width: none;
    margin-inline: auto;
    transform: none;
  }

  body.page-home.page-index .inspector-profile__tags span {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 0.36rem 0.8rem;
    font-size: 0.74rem;
    line-height: 1.2;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  body.page-home.page-index .territory-card img {
    height: clamp(12rem, 56vw, 15rem);
  }

  body.page-home.page-index .contact-shell {
    padding: 1.2rem 1rem;
    gap: 1rem;
  }

  body.page-home.page-index .contact-support {
    align-items: flex-start;
    gap: 0.6rem 0.75rem;
  }
}

/* Unified small-screen shrink pass for the index page.
   Keep the desktop composition, scale it down fluidly, and use the same layout
   across narrow desktop windows and phones instead of separate mobile variants. */
@media (max-width: 860px) {
  body.page-home.page-index {
    --index-shrink-gutter: clamp(0.34rem, 1.9vw, 0.65rem);
    --index-shrink-gap: clamp(0.92rem, 2.4vw, 1.1rem);
    --index-shrink-card-radius: clamp(1.28rem, 2.8vw, 1.45rem);
    --index-shrink-copy-size: clamp(0.84rem, 2.15vw, 0.92rem);
    --index-shrink-inline-video: clamp(8.7rem, 38vw, 11.8rem);
  }

  body.page-home.page-index .section--signals,
  body.page-home.page-index .section--video-story,
  body.page-home.page-index .section--services,
  body.page-home.page-index .section--pricing,
  body.page-home.page-index .section--inspector,
  body.page-home.page-index .section--territories,
  body.page-home.page-index .section--contact {
    overflow-x: clip;
  }

  body.page-home.page-index .container {
    width: 100%;
    max-width: none;
    padding-inline: var(--index-shrink-gutter);
  }

  body.page-home.page-index .hero-stage,
  body.page-home.page-index .video-story-shell,
  body.page-home.page-index .video-story-media,
  body.page-home.page-index .video-story-frame,
  body.page-home.page-index .pricing-shell,
  body.page-home.page-index .pricing-intro,
  body.page-home.page-index .pricing-panels,
  body.page-home.page-index .pricing-panel,
  body.page-home.page-index .pricing-panel__header,
  body.page-home.page-index .pricing-grid,
  body.page-home.page-index .pricing-grid > .pricing-card,
  body.page-home.page-index .pricing-footnotes,
  body.page-home.page-index .service-shell,
  body.page-home.page-index .service-grid,
  body.page-home.page-index .service-card,
  body.page-home.page-index .inspector-shell,
  body.page-home.page-index .inspector-profile,
  body.page-home.page-index .inspector-profile__card,
  body.page-home.page-index .inspector-copy,
  body.page-home.page-index .territory-grid,
  body.page-home.page-index .territory-card,
  body.page-home.page-index .contact-shell,
  body.page-home.page-index .contact-copy,
  body.page-home.page-index .contact-choice-grid,
  body.page-home.page-index .contact-choice,
  body.page-home.page-index .contact-panel {
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    justify-self: stretch;
  }

  body.page-home.page-index .hero-stage {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: var(--index-shrink-gap);
    min-height: auto;
    padding: 1.05rem var(--index-shrink-gutter) 1.1rem;
  }

  body.page-home.page-index .hero-copy {
    width: 100%;
    max-width: none;
    gap: 0.9rem;
    margin: 0;
    padding-top: 0;
  }

  body.page-home.page-index .hero-copy--editorial {
    min-height: auto;
    justify-content: flex-start;
  }

  body.page-home.page-index .hero-headline-row {
    display: grid;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding-inline-end: clamp(0.32rem, 1.9vw, 0.82rem);
    grid-template-columns: minmax(0, 1fr) var(--index-shrink-inline-video);
    align-items: start;
    gap: clamp(0.52rem, 1.9vw, 0.82rem);
  }

  body.page-home.page-index .hero-copy h1 {
    width: 100%;
    max-width: 5.05ch;
    font-size: clamp(2.12rem, 10vw, 3.1rem);
    line-height: 0.92;
  }

  body.page-home.page-index .hero-kicker {
    max-width: 100%;
    font-size: 0.68rem;
    line-height: 1.38;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  body.page-home.page-index .hero-lead {
    width: 100%;
    max-width: none;
    font-size: var(--index-shrink-copy-size);
    line-height: 1.5;
  }

  body.page-home.page-index .hero-actions--hero {
    width: 100%;
    max-width: none;
    gap: 0.78rem;
    margin: 0;
    flex-wrap: wrap;
  }

  body.page-home.page-index .button--hero {
    width: 100%;
    max-width: none;
    min-height: clamp(3.1rem, 8vw, 3.4rem);
    padding: 0.86rem 0.92rem;
    font-size: clamp(0.82rem, 2.2vw, 0.9rem);
    letter-spacing: 0.075em;
  }

  body.page-home.page-index .hero-portrait {
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 1.38 / 1;
    margin: 0;
    justify-self: start;
    transform: none;
  }

  body.page-home.page-index .hero-portrait--video {
    height: auto;
    aspect-ratio: 1.38 / 1;
  }

  body.page-home.page-index .hero-portrait--stage {
    display: none;
  }

  body.page-home.page-index .hero-portrait--inline {
    display: block;
    justify-self: end;
    align-self: start;
    width: min(var(--index-shrink-inline-video), calc(100vw - 14.6rem));
    max-width: min(var(--index-shrink-inline-video), calc(100vw - 14.6rem));
    margin-top: clamp(1rem, 3.4vw, 1.35rem);
    aspect-ratio: 1 / 1;
    border-radius: clamp(0.92rem, 2vw, 1rem);
    box-shadow: 0 18px 32px rgba(8, 12, 20, 0.24);
    transform: none;
  }

  body.page-home.page-index .hero-portrait--inline::before {
    inset: 10% auto auto 10%;
    width: 3.2rem;
    height: 3.2rem;
  }

  body.page-home.page-index .hero-portrait--inline .hero-portrait__video {
    object-position: center;
  }

  body.page-home.page-index .hero-service-strip {
    display: none;
  }

  body.page-home.page-index .section--signals .container::before,
  body.page-home.page-index .section--signals .container::after,
  body.page-home.page-index .pricing-footnotes-marquee::before,
  body.page-home.page-index .pricing-footnotes-marquee::after {
    display: none;
  }

  body.page-home.page-index .signal-marquee,
  body.page-home.page-index .pricing-footnotes-marquee {
    overflow: visible;
  }

  body.page-home.page-index .signal-grid {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    gap: 0.95rem;
    overflow: visible;
    padding: 0.2rem 0 0.65rem;
    animation: none;
    transform: none;
    will-change: auto;
  }

  body.page-home.page-index .signal-grid [data-signal-clone="true"] {
    display: none !important;
  }

  body.page-home.page-index .signal-card,
  body.page-home.page-index .signal-card--report,
  body.page-home.page-index .signal-card--territories,
  body.page-home.page-index .signal-card--equipment,
  body.page-home.page-index .signal-card--approach {
    width: 100%;
    max-width: none;
    flex: none;
    flex-basis: min(22rem, calc(100vw - (var(--index-shrink-gutter) * 2) - 0.18rem));
    padding: 1.05rem 1rem 1.1rem;
    border-radius: var(--index-shrink-card-radius);
  }

  body.page-home.page-index .signal-card__title {
    font-size: clamp(1.22rem, 6vw, 1.7rem);
  }

  body.page-home.page-index .signal-card__body {
    font-size: 0.92rem;
    line-height: 1.6;
  }

  body.page-home.page-index .video-story-media {
    border-radius: var(--index-shrink-card-radius);
  }

  body.page-home.page-index .video-story-frame {
    border-radius: calc(var(--index-shrink-card-radius) - 0.05rem);
  }

  body.page-home.page-index .video-story-trigger {
    left: 0.9rem;
    bottom: 0.9rem;
  }

  body.page-home.page-index .pricing-switch {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
  }

  body.page-home.page-index .pricing-switch__option {
    width: 100%;
    min-width: 0;
    padding-inline: 0.8rem;
  }

  body.page-home.page-index .pricing-grid,
  body.page-home.page-index .service-grid,
  body.page-home.page-index .territory-grid,
  body.page-home.page-index .contact-choice-grid {
    grid-template-columns: 1fr;
  }

  body.page-home.page-index .pricing-panel__header {
    overflow-x: auto;
    scrollbar-width: none;
  }

  body.page-home.page-index .pricing-panel__header::-webkit-scrollbar {
    display: none;
  }

  body.page-home.page-index .pricing-panel__header > div {
    width: max-content;
    min-width: 100%;
  }

  body.page-home.page-index .pricing-panel__header h2 {
    max-width: none;
    font-family: "Barlow Condensed", sans-serif;
    font-size: clamp(0.82rem, 3vw, 1rem);
    letter-spacing: 0.02em;
    white-space: nowrap;
    overflow-wrap: normal;
  }

  body.page-home.page-index .pricing-card {
    gap: 0.68rem;
    padding: 1.18rem 0.95rem 1rem;
    border-radius: var(--index-shrink-card-radius);
  }

  body.page-home.page-index .pricing-card--featured {
    transform: none;
    padding-top: 1.18rem;
  }

  body.page-home.page-index .pricing-card__title-row {
    flex-wrap: wrap;
    align-items: flex-start;
  }

  body.page-home.page-index .pricing-card__badge {
    position: static;
    min-height: 0;
    align-self: flex-start;
    padding: 0.4rem 0.75rem;
    border-radius: 999px;
  }

  body.page-home.page-index .pricing-card__price {
    font-size: clamp(2.7rem, 11vw, 3.5rem);
  }

  body.page-home.page-index .pricing-card__cta {
    min-height: 3.2rem;
    margin-top: 0.55rem;
    padding-inline: 1rem;
    font-size: 0.84rem;
    letter-spacing: 0.08em;
  }

  body.page-home.page-index .pricing-card__list li,
  body.page-home.page-index .service-card h3,
  body.page-home.page-index .service-card__body,
  body.page-home.page-index .service-card__tags span,
  body.page-home.page-index .inspector-headline,
  body.page-home.page-index .inspector-lead,
  body.page-home.page-index .inspector-points li,
  body.page-home.page-index .territory-card span,
  body.page-home.page-index .contact-copy h2,
  body.page-home.page-index .contact-copy__lead,
  body.page-home.page-index .contact-choice strong,
  body.page-home.page-index .contact-choice__meta,
  body.page-home.page-index .contact-support,
  body.page-home.page-index .contact-panel strong,
  body.page-home.page-index .contact-checklist li,
  body.page-home.page-index .contact-panel__note {
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  body.page-home.page-index .pricing-footnotes-marquee {
    overflow: visible;
  }

  body.page-home.page-index .pricing-footnotes {
    --pricing-footnote-gap: 0.8rem;
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    gap: var(--pricing-footnote-gap);
    align-items: stretch;
    overflow: visible;
    padding: 0.2rem 0 0.65rem;
    will-change: auto;
    animation: none;
    transform: none;
  }

  body.page-home.page-index .pricing-footnotes p {
    width: 100%;
    flex: none;
    min-width: 0;
  }

  body.page-home.page-index .pricing-footnotes [data-pricing-footnote-clone="true"] {
    display: none !important;
  }

  body.page-home.page-index .pricing-footnotes p,
  body.page-home.page-index .service-card,
  body.page-home.page-index .territory-card,
  body.page-home.page-index .contact-choice,
  body.page-home.page-index .contact-panel {
    padding-inline: 1rem;
    border-radius: var(--index-shrink-card-radius);
  }

  body.page-home.page-index .inspector-shell,
  body.page-home.page-index .contact-shell {
    gap: 1rem;
  }

  body.page-home.page-index .inspector-profile {
    padding: 0.3rem 0.7rem 0;
  }

  body.page-home.page-index .inspector-profile__card {
    min-height: clamp(24rem, 118vw, 30rem);
    width: 100%;
    max-width: none;
    margin-inline: auto;
    border-radius: var(--index-shrink-card-radius);
    transform: none;
  }

  body.page-home.page-index .inspector-profile__tags {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.55rem;
    align-items: stretch;
  }

  body.page-home.page-index .inspector-profile__tags span {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 0.36rem 0.8rem;
    font-size: 0.74rem;
    line-height: 1.2;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  body.page-home.page-index .territory-card img {
    height: clamp(12rem, 56vw, 15rem);
  }

  body.page-home.page-index .contact-shell {
    padding: 1.2rem 1rem;
    border-radius: var(--index-shrink-card-radius);
  }

  body.page-home.page-index .contact-support {
    align-items: flex-start;
    gap: 0.6rem 0.75rem;
  }

  body.page-home.page-inspector .section--signals .container::before,
  body.page-home.page-inspector .section--signals .container::after {
    display: none;
  }

  body.page-home.page-inspector .signal-marquee {
    overflow: visible;
  }

  body.page-home.page-inspector .signal-grid {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    gap: 0.95rem;
    overflow: visible;
    padding: 0.2rem 0 0.65rem;
    animation: none;
    transform: none;
    will-change: auto;
  }

  body.page-home.page-inspector .signal-grid [data-signal-clone="true"] {
    display: none !important;
  }

  body.page-home.page-inspector .signal-card,
  body.page-home.page-inspector .signal-card--report,
  body.page-home.page-inspector .signal-card--territories,
  body.page-home.page-inspector .signal-card--equipment,
  body.page-home.page-inspector .signal-card--approach {
    width: 100%;
    max-width: none;
    flex: none;
    flex-basis: auto;
  }
}

@keyframes pricing-footnotes-marquee {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(calc(-50% - (var(--pricing-footnote-gap) / 2)));
  }
}

@media (max-width: 860px) and (prefers-reduced-motion: reduce) {
  body.page-home.page-index .pricing-footnotes-marquee {
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  body.page-home.page-index .pricing-footnotes-marquee::-webkit-scrollbar {
    display: none;
  }

  body.page-home.page-index .pricing-footnotes {
    animation: none;
  }

  body.page-home.page-index .pricing-footnotes [data-pricing-footnote-clone="true"] {
    display: none;
  }
}

body.page-home .nav.is-collapsed .nav-toggle {
  display: inline-flex;
  position: relative;
  z-index: 64;
  justify-content: center;
  min-width: 3rem;
  min-height: 3rem;
  padding: 0.75rem;
  border-color: rgba(255, 255, 255, 0.24);
  background: rgba(123, 156, 204, 0.22);
  box-shadow: 0 16px 32px rgba(29, 49, 82, 0.18);
  backdrop-filter: blur(10px);
}

body.page-home .nav.is-collapsed .nav-toggle > span:first-child {
  display: none;
}

body.page-home .nav.is-collapsed.is-open .nav-toggle {
  position: fixed;
  top: max(0.9rem, env(safe-area-inset-top));
  right: clamp(0.9rem, 4vw, 1.35rem);
  z-index: 72;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  transform: none;
}

body.page-home .nav.is-collapsed.is-open .nav-toggle:hover,
body.page-home .nav.is-collapsed.is-open .nav-toggle:focus-visible {
  background: transparent;
  color: #ffffff;
  transform: none;
}

body.page-home .nav.is-collapsed::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 60;
  background: rgba(8, 12, 20, 0.18);
  opacity: 0;
  pointer-events: none;
  transition: opacity 220ms ease;
}

body.page-home .nav.is-collapsed.is-open::before {
  opacity: 1;
}

body.page-home .nav .nav-meta {
  display: none;
}

body.page-home .nav.is-collapsed .nav-panel {
  position: fixed;
  inset: 0;
  z-index: 68;
  display: none;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "logo"
    "links"
    "lang"
    "contact"
    "meta";
  align-content: center;
  justify-items: center;
  gap: 0.95rem;
  text-align: center;
  width: 100vw;
  max-width: none;
  height: 100dvh;
  min-height: 100dvh;
  max-height: 100dvh;
  padding:
    calc(env(safe-area-inset-top) + 3.8rem)
    clamp(1.2rem, 6vw, 2rem)
    calc(max(1.5rem, env(safe-area-inset-bottom) + 1.1rem));
  border: 0;
  border-radius: 0;
  background:
    radial-gradient(circle at top center, rgba(184, 255, 22, 0.09), transparent 15rem),
    radial-gradient(circle at 50% 12%, rgba(255, 255, 255, 0.06), transparent 18rem),
    linear-gradient(180deg, rgba(20, 26, 37, 0.995), rgba(26, 52, 50, 0.995));
  box-shadow: none;
  backdrop-filter: none;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-0.9rem);
  transition:
    opacity 220ms ease,
    transform 220ms ease,
    visibility 0s linear 220ms;
}

body.page-home .nav.is-collapsed .nav-panel::-webkit-scrollbar {
  display: none;
}

body.page-home .nav.is-collapsed .nav-panel::before {
  content: "";
  grid-area: logo;
  position: relative;
  inset: auto;
  width: clamp(8.9rem, 38vw, 10.4rem);
  height: clamp(8.9rem, 38vw, 10.4rem);
  justify-self: center;
  margin: 0 auto 0.65rem;
  border: 1.5px solid rgba(211, 218, 222, 0.72);
  border-radius: 999px;
  background:
    #000000
    url("/assets/images/Logo_InspectionsProSpections.jpg")
    center 46% / auto 80% no-repeat;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 18px 36px rgba(15, 21, 30, 0.14);
}

body.page-home .nav.is-collapsed.is-open .nav-panel {
  display: grid;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition-delay: 0s;
}

body.page-home .nav.is-collapsed .nav-links {
  grid-area: links;
  display: grid;
  justify-self: center;
  justify-items: center;
  gap: 0.9rem;
  width: min(100%, 18rem);
  margin-top: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.page-home .nav.is-collapsed .nav-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: rgba(255, 255, 255, 0.98);
  font-size: clamp(1.04rem, 4.6vw, 1.22rem);
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1.25;
  text-align: center;
  text-transform: uppercase;
  text-shadow: 0 1px 0 rgba(53, 78, 118, 0.16);
}

body.page-home .nav.is-collapsed .nav-links a:hover,
body.page-home .nav.is-collapsed .nav-links a:focus-visible {
  background: transparent;
  color: #ffffff;
  opacity: 0.82;
  transform: none;
}

body.page-home .nav.is-collapsed .lang-switch {
  grid-area: lang;
  justify-self: center;
  width: auto;
  margin-top: 0;
  padding: 0.3rem;
  border-color: rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  box-shadow: none;
}

body.page-home:has(.nav.is-collapsed.is-open) .brand,
body.page-home:has(.nav.is-collapsed.is-open) .lead-assistant {
  opacity: 0;
  pointer-events: none;
}

body.page-home .nav.is-collapsed .lang-switch a {
  min-width: 3rem;
  min-height: 2.6rem;
  padding-inline: 0.95rem;
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.76rem;
  letter-spacing: 0.16em;
}

body.page-home .nav.is-collapsed .lang-switch a[aria-current="true"] {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.18);
  box-shadow: none;
}

body.page-home .nav.is-collapsed .nav-contact {
  grid-area: contact;
  display: grid;
  justify-self: center;
  justify-items: center;
  gap: 0.75rem;
  width: min(100%, 16rem);
  margin-top: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.page-home .nav.is-collapsed .nav-contact a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0;
  text-transform: none;
}

body.page-home .nav.is-collapsed .nav-phone,
body.page-home .nav.is-collapsed .nav-email {
  color: #ffffff;
  font-size: 0.98rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.25;
  text-align: center;
}

body.page-home .nav.is-collapsed .nav-reserve {
  width: 100%;
  min-height: 3rem;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  box-shadow: none;
  color: #ffffff !important;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body.page-home .nav.is-collapsed .nav-reserve:hover,
body.page-home .nav.is-collapsed .nav-reserve:focus-visible {
  background: rgba(255, 255, 255, 0.18);
  box-shadow: none;
  transform: none;
}

body.page-home .nav.is-collapsed .nav-meta {
  grid-area: meta;
  display: grid;
  justify-self: center;
  justify-items: center;
  gap: 0.65rem;
  width: min(100%, 22rem);
  margin-top: 0.2rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  text-align: center;
}

body.page-home .nav.is-collapsed .nav-social {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.72rem;
  flex-wrap: wrap;
  width: 100%;
}

body.page-home .nav.is-collapsed .nav-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.85rem;
  height: 2.85rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  box-shadow: none;
  color: #ffffff;
  transition:
    border-color 180ms ease,
    background-color 180ms ease,
    color 180ms ease;
}

body.page-home .nav.is-collapsed .nav-social-link svg {
  width: 1.15rem;
  height: 1.15rem;
  fill: currentColor;
}

body.page-home .nav.is-collapsed .nav-social-link--network {
  width: auto;
  min-width: 3.45rem;
  padding-inline: 0.9rem;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  line-height: 1;
  text-transform: uppercase;
}

body.page-home .nav.is-collapsed .nav-social-link:hover,
body.page-home .nav.is-collapsed .nav-social-link:focus-visible {
  border-color: rgba(184, 255, 22, 0.36);
  background: rgba(184, 255, 22, 0.12);
  color: #ffffff;
  transform: none;
}

body.page-home .nav.is-collapsed .nav-meta__copy,
body.page-home .nav.is-collapsed .nav-meta__credit {
  margin: 0;
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.72rem;
  line-height: 1.5;
  letter-spacing: 0.03em;
}

body.page-home .nav.is-collapsed .nav-meta__credit a,
body.page-home .nav.is-collapsed .nav-meta__policies a {
  color: #ffffff;
}

body.page-home .nav.is-collapsed .nav-meta__credit a:hover,
body.page-home .nav.is-collapsed .nav-meta__credit a:focus-visible,
body.page-home .nav.is-collapsed .nav-meta__policies a:hover,
body.page-home .nav.is-collapsed .nav-meta__policies a:focus-visible {
  color: rgba(184, 255, 22, 0.96);
}

body.page-home .nav.is-collapsed .nav-meta__policies {
  display: grid;
  gap: 0.32rem;
  justify-items: center;
}

body.page-home .nav.is-collapsed .nav-meta__policies a {
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.35;
  text-decoration: none;
}

@media (max-width: 540px) {
  body.page-home .nav.is-collapsed .nav-panel {
    padding:
      calc(env(safe-area-inset-top) + 3.2rem)
      1.05rem
      calc(max(1.25rem, env(safe-area-inset-bottom) + 0.95rem));
  }

  body.page-home .nav.is-collapsed .nav-panel::before {
    width: 8.2rem;
    height: 8.2rem;
  }

  body.page-home .nav.is-collapsed .nav-links {
    width: min(100%, 15.5rem);
    gap: 0.82rem;
  }

  body.page-home .nav.is-collapsed .nav-links a {
    font-size: 0.95rem;
  }

  body.page-home .nav.is-collapsed .nav-contact {
    width: min(100%, 14.75rem);
  }

  body.page-home .nav.is-collapsed .nav-meta {
    width: min(100%, 18rem);
    gap: 0.58rem;
  }

  body.page-home .nav.is-collapsed .nav-social {
    gap: 0.62rem;
  }

  body.page-home .nav.is-collapsed .nav-social-link {
    width: 2.65rem;
    height: 2.65rem;
  }

  body.page-home .nav.is-collapsed .nav-social-link--network {
    min-width: 3.2rem;
    padding-inline: 0.78rem;
    font-size: 0.64rem;
  }

  body.page-home .nav.is-collapsed .nav-phone,
  body.page-home .nav.is-collapsed .nav-email {
    font-size: 0.92rem;
  }

  body.page-home .nav.is-collapsed .nav-meta__copy,
  body.page-home .nav.is-collapsed .nav-meta__credit,
  body.page-home .nav.is-collapsed .nav-meta__policies a {
    font-size: 0.68rem;
  }
}

@media (max-width: 860px) {
  body.page-home.page-topic:not(.page-contact) .hero-stage,
  body.page-home.page-contact .hero-stage {
    display: grid;
    grid-template-columns: minmax(0, 1fr) clamp(10rem, 42vw, 13rem);
    align-items: start;
    gap: clamp(0.82rem, 2.4vw, 1.08rem);
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 1.05rem clamp(0.34rem, 1.9vw, 0.65rem) 1.1rem;
    box-sizing: border-box;
    padding-inline-end: clamp(0.9rem, 3vw, 1.3rem);
  }

  body.page-home.page-topic:not(.page-contact) .hero-copy,
  body.page-home.page-contact .hero-copy {
    width: 100%;
    max-width: none;
    gap: 0.9rem;
    margin: 0;
    padding-top: 0;
  }

  body.page-home.page-topic:not(.page-contact) .hero-copy h1,
  body.page-home.page-contact .hero-copy h1 {
    max-width: 5.9ch;
  }

  body.page-home.page-topic:not(.page-contact) .hero-lead,
  body.page-home.page-contact .hero-lead {
    width: 100%;
    max-width: none;
  }

  body.page-home.page-topic:not(.page-contact) .hero-actions--hero,
  body.page-home.page-contact .hero-actions--hero {
    width: 100%;
    max-width: none;
    gap: 0.78rem;
    margin: 0;
    align-items: stretch;
  }

  body.page-home.page-topic:not(.page-contact) .button--hero,
  body.page-home.page-contact .button--hero {
    width: 100%;
    max-width: none;
  }

  body.page-home.page-topic:not(.page-contact) .hero-portrait,
  body.page-home.page-contact .hero-portrait {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    align-self: start;
    width: 100%;
    max-width: clamp(10rem, 42vw, 13rem);
    height: auto;
    aspect-ratio: 1 / 1;
    margin-top: 0;
    border-radius: clamp(0.92rem, 2vw, 1rem);
    box-shadow: 0 18px 32px rgba(8, 12, 20, 0.24);
    transform: none;
  }

  body.page-home.page-contact .hero-portrait__video {
    object-position: center;
  }

  body.page-home.page-inspector .hero-portrait {
    width: 100%;
    max-width: clamp(9rem, 38vw, 11.25rem);
    height: auto;
    aspect-ratio: 1 / 1;
  }
}

@media (max-width: 340px) {
  body.page-home.page-index .hero-headline-row,
  body.page-home.page-services .hero-headline-row {
    grid-template-columns: 1fr;
  }

  body.page-home.page-index .hero-portrait--inline,
  body.page-home.page-services .hero-portrait--inline {
    justify-self: end;
    width: min(10rem, 58vw);
    max-width: min(10rem, 58vw);
    margin-top: 0.4rem;
    transform: none;
  }
}

@media (max-width: 640px) {
  body.page-home.page-services .hero-headline-row {
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }

  body.page-home.page-services .hero-portrait--inline {
    justify-self: end;
    max-width: min(100%, 10.25rem);
  }

  body.page-home.page-topic:not(.page-contact) .hero-stage,
  body.page-home.page-contact .hero-stage {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.95rem;
    width: 100%;
    max-width: none;
    margin-inline: auto;
    padding-inline: 0.72rem;
  }

  body.page-home.page-topic:not(.page-contact) .hero-portrait,
  body.page-home.page-contact .hero-portrait {
    grid-column: auto;
    grid-row: auto;
    justify-self: center;
    align-self: center;
    width: min(100%, 12.5rem);
    max-width: 12.5rem;
  }

  body.page-home.page-inspector .hero-portrait {
    width: min(100%, 13rem);
    max-width: 13rem;
  }
}

@media (min-width: 1200px) {
  body.page-home.page-index .hero-stage {
    grid-template-columns: minmax(0, 1fr) minmax(32rem, 43rem);
    gap: clamp(1.6rem, 2.8vw, 3rem);
    min-height: clamp(38rem, 74vh, 49rem);
    padding:
      clamp(2.8rem, 4.6vw, 4.4rem)
      clamp(1.6rem, 3vw, 2.8rem)
      clamp(2.2rem, 4vw, 2.8rem);
  }

  body.page-home.page-index .hero-copy {
    max-width: min(100%, 40rem);
  }

  body.page-home.page-index .hero-copy--editorial {
    min-height: clamp(26rem, 52vh, 33rem);
  }

  body.page-home.page-index .hero-portrait--stage {
    justify-self: end;
    width: min(100%, 43rem);
  }

  body.page-home.page-index .hero-portrait--stage.hero-portrait--video {
    height: clamp(34rem, 45vw, 47rem);
  }
}

@media (min-width: 981px) and (max-width: 1199px) {
  body.page-home.page-index:not(:has(.nav.is-collapsed)) .hero-stage {
    grid-template-columns: minmax(0, 1fr) minmax(24rem, 31rem);
    gap: clamp(1.2rem, 2.2vw, 1.8rem);
    min-height: clamp(33rem, 66vh, 43rem);
    padding:
      clamp(2.1rem, 4vw, 3rem)
      clamp(1rem, 2.2vw, 1.6rem)
      clamp(1.7rem, 3vw, 2.2rem);
  }

  body.page-home.page-index:not(:has(.nav.is-collapsed)) .hero-copy {
    max-width: min(100%, 35rem);
  }

  body.page-home.page-index:not(:has(.nav.is-collapsed)) .hero-copy--editorial {
    min-height: clamp(23rem, 47vh, 29rem);
  }

  body.page-home.page-index:not(:has(.nav.is-collapsed)) .hero-portrait--stage {
    justify-self: end;
    width: min(100%, 31rem);
  }

  body.page-home.page-index:not(:has(.nav.is-collapsed)) .hero-portrait--stage.hero-portrait--video {
    height: clamp(26rem, 38vw, 35rem);
  }
}

body.page-home.page-index:has(.nav.is-collapsed),
body.page-home.page-services:has(.nav.is-collapsed) {
  --hero-collapsed-inline-video: clamp(8rem, 18vw, 10.75rem);
}

body.page-home.page-index:has(.nav.is-collapsed) .hero-stage,
body.page-home.page-services:has(.nav.is-collapsed) .hero-stage {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: clamp(0.95rem, 2vw, 1.1rem);
  min-height: auto;
  width: 100%;
  max-width: none;
  margin: 0;
  padding:
    clamp(1.05rem, 2.2vw, 1.35rem)
    clamp(0.72rem, 2.4vw, 1rem)
    clamp(1.1rem, 2.4vw, 1.35rem);
}

body.page-home.page-index:has(.nav.is-collapsed) .hero-copy,
body.page-home.page-services:has(.nav.is-collapsed) .hero-copy {
  width: 100%;
  max-width: none;
  gap: 0.92rem;
  margin: 0;
  padding-top: 0;
}

body.page-home.page-index:has(.nav.is-collapsed) .hero-copy--editorial,
body.page-home.page-services:has(.nav.is-collapsed) .hero-copy--editorial {
  min-height: auto;
  justify-content: flex-start;
}

body.page-home.page-index:has(.nav.is-collapsed) .hero-headline-row,
body.page-home.page-services:has(.nav.is-collapsed) .hero-headline-row {
  display: grid;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding-inline-end: clamp(0.32rem, 1.9vw, 0.82rem);
  grid-template-columns: minmax(0, 1fr) var(--hero-collapsed-inline-video);
  align-items: start;
  gap: clamp(0.52rem, 1.9vw, 0.82rem);
}

body.page-home.page-index:has(.nav.is-collapsed) .hero-actions--hero,
body.page-home.page-services:has(.nav.is-collapsed) .hero-actions--hero {
  width: 100%;
  max-width: none;
  gap: 0.78rem;
  margin: 0;
  flex-wrap: wrap;
}

body.page-home.page-index:has(.nav.is-collapsed) .button--hero,
body.page-home.page-services:has(.nav.is-collapsed) .button--hero {
  width: 100%;
  max-width: none;
}

body.page-home.page-index:has(.nav.is-collapsed) .hero-portrait--stage,
body.page-home.page-services:has(.nav.is-collapsed) .hero-portrait--stage {
  display: none;
}

body.page-home.page-index:has(.nav.is-collapsed) .hero-portrait--inline,
body.page-home.page-services:has(.nav.is-collapsed) .hero-portrait--inline {
  display: block;
  justify-self: end;
  align-self: start;
  width: min(var(--hero-collapsed-inline-video), calc(100vw - 14.6rem));
  max-width: min(var(--hero-collapsed-inline-video), calc(100vw - 14.6rem));
  min-width: 0;
  margin-top: clamp(0.7rem, 2vw, 1rem);
  aspect-ratio: 1 / 1;
  border-radius: clamp(0.92rem, 2vw, 1rem);
  box-shadow: 0 18px 32px rgba(8, 12, 20, 0.24);
  transform: none;
}

body.page-home.page-index:has(.nav.is-collapsed) .hero-portrait--inline::before,
body.page-home.page-services:has(.nav.is-collapsed) .hero-portrait--inline::before {
  inset: 10% auto auto 10%;
  width: 3.2rem;
  height: 3.2rem;
}

body.page-home.page-index:has(.nav.is-collapsed) .hero-portrait--inline .hero-portrait__video,
body.page-home.page-services:has(.nav.is-collapsed) .hero-portrait--inline .hero-portrait__video {
  object-position: center;
}

body.page-home.page-index:has(.nav.is-collapsed) .hero-service-strip,
body.page-home.page-services:has(.nav.is-collapsed) .hero-service-strip {
  display: none;
}

@media (min-width: 861px) {
  body.page-home.page-index:has(.nav.is-collapsed) .hero-stage,
  body.page-home.page-services:has(.nav.is-collapsed) .hero-stage {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(19rem, clamp(22rem, 28vw, 28rem));
    justify-content: space-between;
    align-items: center;
    gap: clamp(1.2rem, 2.4vw, 2.4rem);
    min-height: clamp(31rem, 64vh, 42rem);
    padding:
      clamp(2rem, 3.8vw, 3rem)
      clamp(1rem, 2.4vw, 1.8rem)
      clamp(1.8rem, 3.1vw, 2.4rem);
  }

  body.page-home.page-index:has(.nav.is-collapsed) .hero-copy,
  body.page-home.page-services:has(.nav.is-collapsed) .hero-copy {
    width: 100%;
    max-width: min(100%, 35rem);
    gap: clamp(1rem, 2vw, 1.35rem);
    margin: 0;
    padding-top: 0;
  }

  body.page-home.page-index:has(.nav.is-collapsed) .hero-copy--editorial,
  body.page-home.page-services:has(.nav.is-collapsed) .hero-copy--editorial {
    min-height: clamp(22rem, 45vh, 29rem);
    justify-content: center;
  }

  body.page-home.page-index:has(.nav.is-collapsed) .hero-headline-row,
  body.page-home.page-services:has(.nav.is-collapsed) .hero-headline-row {
    display: block;
    padding-inline-end: 0;
  }

  body.page-home.page-index:has(.nav.is-collapsed) .hero-actions--hero,
  body.page-home.page-services:has(.nav.is-collapsed) .hero-actions--hero {
    width: 100%;
    max-width: none;
    gap: clamp(0.8rem, 1.8vw, 1rem);
    margin: 0;
    flex-wrap: wrap;
  }

  body.page-home.page-index:has(.nav.is-collapsed) .button--hero,
  body.page-home.page-services:has(.nav.is-collapsed) .button--hero {
    flex: 1 1 14rem;
    width: auto;
    max-width: none;
  }

  body.page-home.page-index:has(.nav.is-collapsed) .hero-portrait--stage,
  body.page-home.page-services:has(.nav.is-collapsed) .hero-portrait--stage {
    display: block;
    justify-self: end;
    align-self: center;
    width: min(100%, clamp(22rem, 28vw, 28rem));
    max-width: clamp(22rem, 28vw, 28rem);
    margin-top: 0;
  }

  body.page-home.page-index:has(.nav.is-collapsed) .hero-portrait--stage.hero-portrait--video,
  body.page-home.page-services:has(.nav.is-collapsed) .hero-portrait--stage.hero-portrait--video {
    height: clamp(24rem, 34vw, 32rem);
  }

  body.page-home.page-index:has(.nav.is-collapsed) .hero-portrait--inline,
  body.page-home.page-services:has(.nav.is-collapsed) .hero-portrait--inline {
    display: none;
  }
}
