.detail-page .icon,
.partner-page .icon {
  display: inline-block;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  vertical-align: middle;
}

.detail-page .arrow .icon,
.partner-page .arrow .icon {
  display: block;
}

.camera-page .product-hero-heading .display {
  max-width: 22ch;
  font-size: clamp(36px, 4vw, 52px);
}

.camera-page .product-hero-heading {
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(32px, 5vw, 64px);
  padding-bottom: 40px;
}

.camera-page .product-hero-heading > div {
  min-width: 0;
}

.camera-page .product-hero-heading .lead {
  max-width: 46ch;
  margin: 0;
  font-size: 16px;
}

.camera-page .product-hero-heading .actions {
  gap: 12px 20px;
  margin-top: 24px;
}

.detail-page .section-title {
  max-width: 24ch;
  font-size: clamp(28px, 3.2vw, 42px);
}

.detail-page .section-deck {
  max-width: 34ch;
}

.installation-note {
  max-width: 44ch;
  margin-top: 16px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}

.court-source-note {
  margin-top: 8px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}

.camera-page .steps-three li {
  display: block;
}

.camera-page .camera-step-icon {
  width: 32px;
  height: 32px;
  margin-bottom: 20px;
  color: var(--lime);
}

.camera-page .camera-tracking-summary {
  max-width: 68ch;
  margin: 0 0 20px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.65;
}

.camera-page .camera-tracking-demo {
  margin: 0;
}

.camera-page .camera-tracking-demo video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  background: var(--navy);
  border-radius: 12px;
}

.camera-page .camera-tracking-demo video:focus-visible {
  outline: 2px solid var(--lime);
  outline-offset: 5px;
}

.camera-page .camera-tracking-demo figcaption {
  margin-top: 8px;
  color: var(--ink);
  font-size: 7px;
  font-weight: 550;
}

.camera-page .camera-media-rights {
  max-width: 85ch;
  margin-top: 6px;
  color: #c1cdeb;
  font-size: 13px;
  line-height: 1.65;
}

.camera-page .camera-replay-heading {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: clamp(28px, 5vw, 72px);
}

.camera-page .camera-replay-heading .lead {
  max-width: 52ch;
  color: #c1cdeb;
  font-size: 17px;
}

.camera-page .camera-feature-list {
  padding: 0;
  margin: 32px 0 20px;
  list-style: none;
}

.camera-page .camera-feature-list li {
  display: grid;
  grid-template-columns: 30px 190px 1fr;
  align-items: start;
  gap: 24px;
  padding: 21px 0;
  border-top: 1px solid var(--line-strong);
}

.camera-page .camera-feature-list svg {
  width: 26px;
  height: 26px;
  color: var(--lime);
}

.camera-page .camera-feature-list strong {
  padding-top: 2px;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.45;
}

.camera-page .camera-feature-list span {
  max-width: 72ch;
  padding-top: 2px;
  color: #c1cdeb;
  font-size: 15px;
  line-height: 1.65;
}

.camera-page .camera-feature-availability {
  max-width: 85ch;
  color: #c1cdeb;
  font-size: 13px;
  line-height: 1.65;
}

.camera-page .camera-learning .section-heading {
  align-items: start;
}

.camera-page .camera-learning .section-deck {
  max-width: 42ch;
}

.camera-page .camera-learning-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
  padding: 0;
  margin: 40px 0;
  list-style: none;
}

.camera-page .camera-learning-flow li {
  position: relative;
  min-width: 0;
}

.camera-page .camera-learning-flow li:not(:last-child)::before {
  content: "";
  position: absolute;
  top: 20px;
  left: 56px;
  right: -20px;
  height: 1px;
  background: var(--line-strong);
}

.camera-page .camera-learning-marker {
  display: flex;
  align-items: center;
  height: 40px;
  color: var(--lime);
}

.camera-page .camera-learning-marker svg {
  width: 32px;
  height: 32px;
}

.camera-page .camera-learning-flow h3 {
  margin-top: 24px;
  font-size: 24px;
  font-weight: 650;
  line-height: 1.2;
}

.camera-page .camera-learning-flow p {
  max-width: 34ch;
  margin-top: 12px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.65;
}

.camera-page .camera-learning-arrow {
  position: absolute;
  top: 8px;
  right: -23px;
  width: 24px;
  height: 24px;
  color: var(--muted);
}

.camera-page .camera-development {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 40px;
  padding-top: 28px;
  border-top: 1px solid var(--line-strong);
}

.camera-page .camera-development h3 {
  font-size: 19px;
  font-weight: 650;
  line-height: 1.3;
}

.camera-page .camera-development p {
  max-width: 78ch;
  margin-top: 12px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}

.camera-page .camera-development strong {
  color: var(--ink);
}

.camera-page .camera-development .text-link {
  white-space: nowrap;
}

.camera-page .match-data h3 {
  margin-block: 0 10px;
  font-size: 24px;
  font-weight: 650;
  line-height: 1.15;
}

.development-note {
  margin-top: 28px;
  padding: 22px 24px;
  border: 1px solid #465779;
  border-radius: 8px;
  background: #121f3b;
}

.development-note h3 {
  font-size: 18px;
  line-height: 1.35;
  color: var(--ink);
}

.development-note p {
  margin-top: 10px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}

.camera-page .compact-feature-list li {
  grid-template-columns: 136px 1fr;
}

.academy-page .academy-stage .display {
  max-width: 21ch;
  font-size: clamp(38px, 4vw, 52px);
}

.academy-page .training-area-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px 24px;
}

.academy-page .training-area {
  position: relative;
  min-width: 0;
  scroll-margin-top: 112px;
}

.academy-page .training-area > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 12px;
}

.academy-page #path-mental > img {
  object-position: 50% 52%;
}

.academy-page .training-area-copy {
  padding-top: 20px;
}

.academy-page .training-area h3 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  font-size: clamp(22px, 2.4vw, 28px);
  line-height: 1.2;
  letter-spacing: -0.025em;
}

.academy-page .training-area h3 .icon {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  color: var(--lime);
}

.academy-page .training-area p {
  margin: 10px 0 0;
  max-width: 50ch;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.55;
  text-wrap: pretty;
}

.academy-page .training-area-aliases,
.academy-page .training-area-aliases > span {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
  scroll-margin-top: 112px;
}

@media (max-width: 600px) {
  .academy-page .training-area-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .academy-page .training-area-copy {
    padding-top: 16px;
  }

  .academy-page .training-area p {
    font-size: 15px;
    min-height: 3.1em;
  }
}

.academy-founder {
  background: var(--navy);
  border-block: 1px solid var(--line);
}

.academy-founder .founder-story {
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
  align-items: start;
  gap: clamp(32px, 5vw, 72px);
}

.academy-founder .eyebrow {
  color: var(--muted);
  font-size: 12px;
  letter-spacing: 0.02em;
  text-transform: none;
}

.academy-founder .section-title {
  max-width: 14ch;
  font-weight: 800;
}

.academy-founder .founder-body {
  max-width: 72ch;
  min-width: 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.7;
}

.academy-founder .founder-body > p + p {
  margin-top: 22px;
}

.academy-founder .founder-mission {
  position: relative;
  padding-bottom: 18px;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.5;
}

.academy-founder .founder-mission strong {
  font-weight: 650;
}

.academy-founder .founder-mission::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: min(240px, 75%);
  height: 5px;
  background: var(--lime);
  clip-path: polygon(0 35%, 40% 5%, 76% 24%, 100% 0, 98% 66%, 62% 82%, 18% 100%, 1% 72%);
}

.academy-founder .founder-signature {
  display: flex;
  flex-direction: column;
  gap: 5px;
  color: var(--ink);
  font-size: 14px;
  font-weight: 600;
}

.academy-founder .founder-signature > span { color: var(--muted); font-size: 12px; font-weight: 400; }
.research-finding { display: grid; gap: 12px; margin: 0; }
.research-finding > strong { color: var(--lime); font-size: clamp(28px, 3vw, 40px); line-height: 1.1; }
.research-finding > span { max-width: 34ch; color: var(--ink); font-size: 20px; line-height: 1.45; }
.research-section .research-context { font-size: 13px; line-height: 1.7; }
.camera-membership { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: start; gap: 24px; border-top: 1px solid var(--line); }
.camera-membership > svg { margin-top: 6px; color: var(--lime); }
.camera-membership p { max-width: 56ch; margin-top: 22px; color: var(--muted); line-height: 1.65; }
.camera-membership .membership-note { margin-top: 14px; font-size: 12px; }
.camera-membership > a { align-self: center; }
.camera-page #camera-tracking-caption { font-size: 5.5px; line-height: 1.6; }
@media (max-width: 680px) {
  .camera-membership { grid-template-columns: 28px minmax(0, 1fr); gap: 18px; }
  .camera-membership > a { grid-column: 2; }
  .camera-page #camera-tracking-caption { font-size: 5px; }
}

@media (max-width: 899px) {
  .academy-founder .founder-story {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .academy-founder .section-title {
    max-width: 20ch;
  }
}

@media (max-width: 600px) {
  .academy-founder .founder-body {
    font-size: 15px;
    line-height: 1.6;
  }

  .academy-founder .founder-mission {
    font-size: 17px;
  }
}

.path-outcome {
  margin-block: 14px 4px;
  max-width: 40ch;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.6;
}

.curriculum-availability {
  max-width: 74ch;
  margin: 0 0 24px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
}

.academy-page .lesson-list li {
  display: block;
  padding-block: 12px;
}

.academy-page .lesson-list li::before {
  content: none;
}

.academy-page .lesson-list strong,
.academy-page .lesson-list span {
  display: block;
}

.academy-page .lesson-list strong {
  color: var(--ink);
  font-size: 16px;
  font-weight: 650;
  line-height: 1.35;
}

.academy-page .lesson-list span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}

.academy-page .lesson-list li:target strong {
  color: var(--lime);
}

.academy-page .path-panel > img {
  height: 100%;
  min-height: 360px;
}

.research-context {
  max-width: 64ch;
  margin-block: 18px 24px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}

.lesson-list li[id] {
  scroll-margin-top: 110px;
}

.lesson-list li:target {
  color: var(--lime);
}

.partner-page .partner-stage-copy .display {
  max-width: 15ch;
}

.partner-page .partner-stage-copy .lead {
  max-width: 52ch;
}

.partner-page .partner-stage-copy {
  grid-template-areas: "title lead" "rate lead" "roles lead" "terms terms";
  align-items: start;
}

.partner-page .partner-role-line {
  grid-area: roles;
  margin-top: 16px;
  color: var(--court-text);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
}

/* Counsel memo G5 (Oct 8, 2026): the starting rate sits directly under the "up to 40%" headline. */
.partner-page .partner-rate-note {
  grid-area: rate;
  max-width: 46ch;
  margin-top: 14px;
  color: var(--court-text);
  font-size: 15px;
  line-height: 1.5;
}

.partner-page .partner-stage-copy > .asset-note {
  grid-area: terms;
  margin-top: 18px;
}

@media (max-width: 899px) {
  .partner-page .partner-stage-copy {
    grid-template-columns: 1fr;
    grid-template-areas: "title" "rate" "roles" "lead" "terms";
  }

  .partner-page .partner-stage-copy .lead {
    justify-self: start;
    margin-top: 20px;
  }

  .camera-page .product-hero-heading {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    padding-bottom: 32px;
  }

  .camera-page .product-hero-heading .display {
    max-width: 22ch;
  }
}

.partner-page .terms-number span {
  font-size: 13px;
  letter-spacing: 0;
  text-transform: none;
}

.commission-basis {
  max-width: 32ch;
  margin-block: 8px 22px;
  color: var(--court-text);
  font-size: 17px;
  line-height: 1.5;
}

.detail-page .micro,
.detail-page .sample-tag,
.detail-page .match-interface small,
.detail-page .academy-disciplines,
.detail-page .discipline-detail,
.partner-page .asset-note {
  font-size: 12px;
}

.detail-page .footer-bottom,
.detail-page .footer-links,
.partner-page .footer-bottom,
.partner-page .footer-links {
  font-size: 13px;
}

.camera-page .camera-panorama > img {
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  object-position: center;
}

@media (max-width: 600px) {
  .camera-page .compact-feature-list li {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .academy-page .path-panel > img {
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  .camera-page .product-hero-heading .display {
    font-size: clamp(34px, 9vw, 42px);
  }

  .academy-page .academy-stage .display {
    font-size: clamp(36px, 9.5vw, 44px);
  }

  .development-note {
    padding: 19px 18px;
  }

  .partner-page .partner-stage-copy .display {
    font-size: 40px;
  }
}

@media (max-width: 800px) {
  .camera-page .camera-feature-list li {
    grid-template-columns: 28px 160px 1fr;
    gap: 18px;
  }

  .camera-page .camera-replay-heading {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .camera-page .camera-learning-flow {
    gap: 24px;
  }

  .camera-page .camera-learning-flow li:not(:last-child)::before {
    right: -10px;
  }

  .camera-page .camera-learning-arrow {
    right: -15px;
  }

  .camera-page .camera-development {
    grid-template-columns: 1fr;
    gap: 18px;
    justify-items: start;
  }
}

@media (max-width: 600px) {
  .camera-page .steps-three li {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 0 18px;
  }

  .camera-page .camera-step-icon {
    grid-row: span 2;
    margin: 0;
  }

  .camera-page .steps-three p {
    grid-column: 2;
  }

  .camera-page .camera-tracking-demo video {
    border-radius: 8px;
  }

  .camera-page .camera-feature-list li {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 6px 16px;
    padding-block: 20px;
  }

  .camera-page .camera-feature-list svg {
    grid-row: span 2;
  }

  .camera-page .camera-feature-list span {
    grid-column: 2;
    padding: 0;
  }

  .camera-page .camera-learning-flow {
    grid-template-columns: 1fr;
    gap: 32px;
    margin-block: 32px;
  }

  .camera-page .camera-learning-flow li {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 0 20px;
  }

  .camera-page .camera-learning-flow li:not(:last-child)::before {
    top: 48px;
    bottom: -16px;
    left: 15px;
    right: auto;
    width: 1px;
    height: auto;
  }

  .camera-page .camera-learning-marker {
    grid-row: span 2;
  }

  .camera-page .camera-learning-flow h3 {
    margin-top: 4px;
    font-size: 23px;
  }

  .camera-page .camera-learning-flow p {
    grid-column: 2;
    margin-top: 10px;
  }

  .camera-page .camera-learning-arrow {
    top: auto;
    right: auto;
    left: 4px;
    bottom: -21px;
    transform: rotate(90deg);
  }
}
