/* Production-only refinements. Established tokens remain owned by tokens.css. */

.brand::before {
  content: "";
  flex: 0 0 auto;
  width: 2px;
  height: 2.9rem;
  background: linear-gradient(180deg, var(--brass), rgba(185, 133, 53, 0.16));
}

.advisor-identity {
  min-height: 12rem;
  padding-inline-start: clamp(1.2rem, 3vw, 2.4rem);
  border-inline-start: 1px solid var(--line-structural);
}

.advisor-identity h2 { font-size: clamp(2.8rem, 5vw, 4.6rem); }

/* Text remains deliberately quiet, but never relies on low contrast for hierarchy. */
.section-label,
.assessment-copy .section-label { color: #79521d; }

.problem-explorer .problem-card > span:first-child,
.problem-explorer .problem-card[aria-pressed="true"] > span:first-child { color: #4c675f; }

.service-number { color: #557168; }

/* Final contrast layer must override higher-specificity legacy component colors. */
.capability-lines,
.engagement-grid p,
.ecosystem-detail span,
.scenario-card small,
.advantage-grid p,
.advisor-identity p,
.field-hint,
.form-disclaimer { color: #4c675f !important; }

.process-list li > span { color: #79521d; }

/* The bot-trap stays available to form submission while remaining off-canvas. */
.honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.field-hint {
  display: block;
  min-height: 1.3rem;
  /* Preserve readable help text against higher-specificity form typography. */
  color: #4c675f !important;
  font-size: 0.66rem !important;
  font-weight: 440 !important;
  line-height: 1.75;
}

.consent-field {
  display: grid;
  grid-template-columns: 1.35rem minmax(0, 1fr);
  gap: 0.65rem;
  align-items: start;
  min-height: 3.2rem;
  margin-top: 1rem;
  color: #405c54;
  cursor: pointer;
  font-size: 0.72rem;
  line-height: 1.8;
}

.consent-field input {
  width: 1.15rem;
  height: 1.15rem;
  margin: 0.28rem 0 0;
  accent-color: var(--brand);
  cursor: pointer;
}

.consent-field a {
  color: var(--brand);
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.consent-field .field-error { grid-column: 2; }

.form-submit[aria-busy="true"] { cursor: wait; }

.form-status:not(:empty) {
  min-height: 2.5rem;
  padding: 0.5rem 0;
}

@media (max-width: 700px) {
  .brand::before { height: 2.4rem; }
  .advisor-identity { min-height: 0; padding-block: 1.5rem; }
}

@media (forced-colors: active) {
  .brand::before { background: CanvasText; }
  .consent-field input { forced-color-adjust: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
