/* Homepage Brand-mode alignment. Global styles retain legacy component behavior;
 * this scoped family layer owns the Homepage's visual meaning and composition. */

.home-page {
  background: var(--surface-0);
  color: var(--ink-700);
}

.home-page a:focus-visible,
.home-page button:focus-visible,
.home-page [role="button"]:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: var(--space-1);
}

.home-page .site-content__container--wide {
  padding-inline: 0;
}

.home-page .content-section.site-section,
.home-page .home-hero.site-page-hero {
  padding-block: var(--section-y);
}

.home-page .hero-section::before,
.home-page .hero-section::after,
.home-page .hero-cta-group::before,
.home-page .hero-visual::before,
.home-page .why-choose-us-section::before,
.home-page .why-choose-us-section::after,
.home-page .stakes-section::before,
.home-page .growth-pricing::after {
  display: none;
}

/* Hero and retained AI-answer diagnosis visual */
.home-page .home-hero {
  min-height: 0;
  overflow: clip;
  border-bottom: 1px solid var(--edge);
  background: var(--surface-0);
}

.home-page .home-hero .hero-split {
  grid-template-columns: minmax(0, 1.08fr) minmax(22rem, 0.92fr);
  align-items: center;
  gap: clamp(var(--space-8), 6vw, var(--space-16));
}

.home-page .home-hero .hero-content {
  max-width: 46rem;
  padding: 0;
  text-align: start;
}

.home-page .home-hero .hero-title {
  max-width: 15ch;
  margin: 0;
  background: none;
  color: var(--ink-900);
  font-size: var(--text-hero);
  letter-spacing: -0.035em;
  line-height: 1.05;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: currentColor;
}

.home-page .home-hero .hero-title::after {
  display: none;
}

.home-page .home-hero .hero-subtitle {
  margin: 0;
  color: var(--ink-500);
  font-size: var(--text-body-lg);
  font-weight: 400;
  line-height: 1.65;
}

.home-page .home-hero .hero-cta-group {
  margin: 0;
}

.home-page .home-hero .hero-meta {
  margin: 0;
  color: var(--ink-500);
  font-size: var(--text-sm);
  text-align: start;
}

.home-page .home-hero .hero-visual {
  min-width: 0;
  padding: 0;
}

.home-page .ai-brand-card {
  width: min(100%, 28rem);
  max-width: 28rem;
  margin-inline: auto;
  border: 1px solid var(--edge-strong);
  border-radius: var(--r-lg);
  background: var(--surface-0);
  box-shadow: var(--shadow-xs);
  color: var(--ink-700);
}

.home-page .ai-brand-card__header,
.home-page .ai-brand-card__footer,
.home-page .ai-brand-card__panel + .ai-brand-card__panel {
  border-color: var(--edge);
}

.home-page .ai-brand-card__eyebrow,
.home-page .ai-brand-card__footer-label {
  color: var(--ink-500);
}

.home-page .ai-brand-card__result-badge {
  border: 1px solid var(--role-example-border);
  border-radius: var(--r-pill);
  background: var(--role-example-bg);
  color: var(--role-example-text);
}

.home-page .ai-brand-card__panel {
  background: var(--surface-0);
}

.home-page .ai-brand-card__status-dot--bad {
  background: var(--role-previous-state-text);
}

.home-page .ai-brand-card__status-label--bad {
  color: var(--role-previous-state-text);
}

.home-page .ai-brand-card__quote--bad {
  border-inline-start: 2px solid var(--role-previous-state-border);
  background: var(--role-previous-state-bg);
}

.home-page .ai-brand-card__tag--bad {
  border: 1px solid var(--role-previous-state-border);
  background: var(--role-previous-state-bg);
  color: var(--role-previous-state-text);
}

.home-page .ai-brand-card__status-dot--good {
  background: var(--role-mechanics-text);
}

.home-page .ai-brand-card__status-label--good {
  color: var(--role-mechanics-text);
}

.home-page .ai-brand-card__quote--good {
  border-inline-start: 2px solid var(--role-mechanics-border);
  background: var(--role-mechanics-bg);
}

.home-page .ai-brand-card__tag--good {
  border: 1px solid var(--role-example-border);
  background: var(--role-example-bg);
  color: var(--role-example-text);
}

.home-page .ai-brand-card__source-name {
  color: var(--ink-900);
}

.home-page .ai-brand-card__quote-text {
  color: var(--ink-700);
}

.home-page .ai-brand-card__footer,
.home-page .ai-brand-card__engine-icon {
  border-color: var(--edge);
  background: var(--surface-1);
}

/* Shared section rhythm with Homepage-specific demonstrations intact */
.home-page .site-section__heading {
  margin-bottom: var(--space-10);
}

.home-page .trusted-by-header,
.home-page .ai-opinion-header,
.home-page .solution-belief-header,
.home-page .why-proof-header {
  margin-inline: 0;
  text-align: start;
}

.home-page .trusted-by-title,
.home-page .ai-opinion-title.section-title,
.home-page .solution-belief-title.section-title,
.home-page .why-proof-title.section-title,
.home-page .hjw-title,
.home-page .stakes-title,
.home-page .faq-section .section-title {
  max-width: 22ch;
  margin: 0;
  color: var(--ink-900);
  font-family: var(--font-family-heading);
  font-size: var(--text-h2);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.15;
  text-align: start;
}

.home-page .ai-opinion-subtitle,
.home-page .solution-belief-subtitle,
.home-page .why-proof-subtitle {
  margin: 0;
  color: var(--ink-500);
  font-size: var(--text-body-lg);
  line-height: 1.65;
  text-align: start;
}

/* Trust rails */
.home-page .trusted-by-section {
  border-color: var(--edge);
  background: var(--surface-0);
}

.home-page .supporting-partners-section {
  background: var(--surface-1);
}

.home-page .trusted-by-container {
  display: block;
}

.home-page .trusted-slider {
  border-block: 1px solid var(--edge);
  background: transparent;
}

.home-page .trusted-logo-card {
  border: 1px solid var(--edge);
  border-radius: var(--r-sm);
  background: var(--surface-0);
  box-shadow: none;
}

.home-page .trusted-logo-card--link:hover {
  border-color: var(--edge-strong);
  box-shadow: none;
  transform: none;
}

/* AI-opinion demonstration */
.home-page .ai-opinion-section {
  border-color: var(--edge);
  background: var(--surface-1);
}

.home-page .ai-opinion-demo {
  padding: clamp(var(--space-4), 4vw, var(--space-8));
  border: 1px solid var(--edge-strong);
  border-radius: var(--r-lg);
  background: var(--surface-0);
  box-shadow: var(--shadow-xs);
}

.home-page .ai-opinion-chat-card {
  border: 1px solid var(--edge);
  border-radius: var(--r-md);
  background: var(--surface-0);
  box-shadow: none;
}

.home-page .ai-opinion-chat-bar {
  border-bottom: 1px solid var(--role-definition-border);
  background: var(--role-definition-bg);
}

.home-page .ai-opinion-status-dot {
  background: var(--role-definition-text);
  box-shadow: none;
}

.home-page .ai-opinion-chat-label {
  color: var(--role-definition-text);
}

.home-page .ai-opinion-bubble {
  border: 1px solid var(--edge);
  border-radius: var(--r-md);
  box-shadow: none;
}

.home-page .ai-opinion-bubble--user {
  background: var(--surface-2);
  color: var(--ink-900);
}

.home-page .ai-opinion-bubble--assistant {
  border-color: var(--role-previous-state-border);
  border-inline-start-width: var(--space-1);
  background: var(--role-definition-bg);
  color: var(--ink-700);
}

.home-page .ai-opinion-consequence {
  border: 1px solid var(--role-definition-border);
  border-inline-start-width: var(--space-1);
  border-radius: var(--r-md);
  background: var(--role-definition-bg);
  color: var(--ink-700);
  box-shadow: none;
}

/* Answer / diagnosis tabs and Sources / Gaps / Actions */
.home-page .solution-belief-demo {
  border: 1px solid var(--edge-strong);
  border-radius: var(--r-lg);
  background: var(--surface-0);
  box-shadow: none;
}

.home-page .solution-belief-tabs {
  border: 1px solid var(--edge);
  border-radius: var(--r-sm);
  background: var(--surface-1);
}

.home-page .solution-belief-tab {
  color: var(--ink-500);
}

.home-page #solution-tab-says.is-active {
  border-color: var(--role-definition-border);
  background: var(--role-definition-bg);
  color: var(--role-definition-text);
}

.home-page #solution-tab-believes.is-active {
  border-color: var(--role-mechanics-border);
  background: var(--role-mechanics-bg);
  color: var(--role-mechanics-text);
}

.home-page .solution-belief-card {
  border: 1px solid var(--edge);
  border-radius: var(--r-md);
  background: var(--surface-0);
  box-shadow: none;
}

.home-page #solution-panel-says .solution-belief-card {
  border-inline-start: var(--space-1) solid var(--role-definition-border);
}

.home-page #solution-panel-believes .solution-belief-card {
  border-inline-start: var(--space-1) solid var(--role-mechanics-border);
}

.home-page .solution-belief-badge--blue {
  border-color: var(--role-definition-border);
  background: var(--role-definition-bg);
  color: var(--role-definition-text);
}

.home-page .solution-belief-badge:not(.solution-belief-badge--blue) {
  border-color: var(--role-mechanics-border);
  background: var(--role-mechanics-bg);
  color: var(--role-mechanics-text);
}

.home-page .solution-belief-list li {
  border-color: var(--edge);
}

.home-page .solution-belief-impact-card {
  border: 1px solid var(--edge);
  border-radius: var(--r-md);
  background: var(--surface-0);
  box-shadow: none;
}

.home-page .solution-belief-impact-card:nth-child(1) {
  border-top-color: var(--role-definition-border);
}

.home-page .solution-belief-impact-card:nth-child(1) h3 {
  color: var(--role-definition-text);
}

.home-page .solution-belief-impact-card:nth-child(2) {
  border-top-color: var(--role-caveat-border);
}

.home-page .solution-belief-impact-card:nth-child(2) h3 {
  color: var(--role-caveat-text);
}

.home-page .solution-belief-impact-card:nth-child(3) {
  border-top-color: var(--role-example-border);
}

.home-page .solution-belief-impact-card:nth-child(3) h3 {
  color: var(--role-example-text);
}

.home-page .solution-belief-callout {
  border: 1px solid var(--role-mechanics-border);
  border-inline-start-width: var(--space-1);
  border-radius: var(--r-md);
  background: var(--role-mechanics-bg);
  color: var(--ink-700);
}

/* Interactive Monitor / Diagnose / Improve / Verify workflow */
.home-page .hjw-section {
  border-color: var(--edge);
  background: var(--surface-1);
}

.home-page .hjw-timeline::before,
.home-page .hjw-timeline::after {
  background: var(--role-mechanics-border);
}

.home-page .hjw-card {
  border: 1px solid var(--edge-strong);
  border-radius: var(--r-md);
  background: var(--surface-0);
  box-shadow: none;
  transform: none;
}

.home-page .hjw-card:hover,
.home-page .hjw-card.is-open {
  border-color: var(--role-mechanics-border);
  background: var(--surface-0);
  box-shadow: none;
  transform: none;
}

.home-page .hjw-card::after,
.home-page .hjw-card:hover::after,
.home-page .hjw-card.is-open::after {
  background: var(--role-mechanics-border);
}

.home-page .hjw-bubble {
  border-color: var(--role-mechanics-border);
  background: var(--role-mechanics-bg);
  color: var(--role-mechanics-text);
  box-shadow: none;
}

.home-page .hjw-row:hover .hjw-bubble {
  transform: none;
}

.home-page .hjw-row[data-step] .hjw-step-label {
  color: var(--role-mechanics-text);
}

.home-page .hjw-chevron-btn {
  border-color: var(--role-mechanics-border);
  background: var(--role-mechanics-bg);
  color: var(--role-mechanics-text);
}

.home-page .hjw-card:hover .hjw-chevron-btn,
.home-page .hjw-card.is-open .hjw-chevron-btn {
  border-color: var(--role-mechanics-border);
  background: var(--role-mechanics-bg);
  color: var(--role-mechanics-text);
}

.home-page .hjw-expand-inner {
  border-top-color: var(--edge);
}

/* Concise homepage pricing preview; full plan comparison lives on /pricing.html. */
.home-page .pricing-preview {
  border-block: 1px solid var(--edge);
  background: var(--surface-0) !important;
}

.home-page .pricing-preview__container {
  width: min(calc(100% - (2 * var(--space-4))), 72.5rem);
}

.home-page .pricing-preview__heading {
  margin-bottom: var(--space-7);
  text-align: center;
}

.home-page .pricing-terms {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 42rem;
  margin: 0 auto var(--space-6);
  padding: var(--space-3) 0;
  border-block: 1px solid var(--edge);
  background: var(--surface-1);
  list-style: none;
}

.home-page .pricing-terms__item {
  padding-inline: var(--space-4);
  color: var(--ink-900);
  font-size: var(--text-sm);
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
}

.home-page .pricing-terms__item + .pricing-terms__item {
  border-inline-start: 1px solid var(--edge);
}

.home-page .pricing-preview__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  max-width: 52rem;
  margin-inline: auto;
}

.home-page .pricing-preview__card {
  padding: var(--space-6);
  border: 1px solid var(--edge);
  border-radius: var(--r-md);
  background: var(--surface-0);
  box-shadow: none;
}

.home-page .pricing-preview__card h3 {
  margin: 0 0 var(--space-3);
  color: var(--ink-900);
}

.home-page .pricing-preview__card p:last-child {
  margin-bottom: 0;
}

.home-page .pricing-preview__label {
  margin: 0 0 var(--space-2);
  color: var(--role-definition-text);
  font-size: var(--text-sm);
  font-weight: 700;
  text-transform: uppercase;
}

.home-page .pricing-preview__price,
.home-page .pricing-preview__cadence {
  color: var(--ink-900);
  font-weight: 700;
}

.home-page .pricing-preview__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
  margin-top: var(--space-6);
}

@media (max-width: 700px) {
  .home-page .pricing-terms {
    grid-template-columns: 1fr;
  }

  .home-page .pricing-terms__item + .pricing-terms__item {
    margin-top: var(--space-3);
    padding-top: var(--space-3);
    border-top: 1px solid var(--edge);
    border-inline-start: 0;
  }

  .home-page .pricing-preview__grid {
    grid-template-columns: 1fr;
  }
}

/* Testimonials and supporting Brand-mode sections */
.home-page .why-proof-section {
  background: var(--surface-0);
}

.home-page .why-proof-shell,
.home-page .why-proof-panel,
.home-page .why-person-card {
  border-color: var(--edge);
  border-radius: var(--r-md);
  background: var(--surface-0);
  box-shadow: none;
}

.home-page .why-proof-shell::before {
  display: none;
}

.home-page .why-proof-kicker,
.home-page .why-proof-point,
.home-page .why-proof-kicker span {
  color: var(--ink-500);
}

.home-page .why-proof-point::before {
  background: var(--role-definition-text);
}

.home-page .why-slider-button,
.home-page .why-progress-dot,
.home-page .why-marquee {
  border-color: var(--edge);
  background: var(--surface-0);
  box-shadow: none;
}

.home-page .why-slider-button:hover,
.home-page .why-slider-button:focus-visible {
  border-color: var(--edge-strong);
  background: var(--surface-1);
  box-shadow: none;
  transform: none;
}

.home-page .why-progress-dot.is-active {
  border-color: var(--role-mechanics-border);
  background: var(--role-mechanics-text);
}

.home-page .why-marquee-item,
.home-page .why-marquee-item.is-active {
  border-color: var(--edge);
  background: var(--surface-0);
  color: var(--ink-500);
  box-shadow: none;
}

.home-page .stakes-section {
  border-color: var(--edge);
  background: var(--surface-1);
}

.home-page .stakes-title::after {
  background: var(--role-definition-border);
}

.home-page .faq-section {
  background: var(--surface-0);
}

.home-page .faq-accordion-container {
  border-block: 1px solid var(--edge);
}

.home-page .faq-accordion-item {
  border-color: var(--edge);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.home-page .faq-accordion-item:hover,
.home-page .faq-accordion-item.active {
  border-color: var(--edge-strong);
  background: var(--surface-1);
  box-shadow: none;
  transform: none;
}

.home-page .faq-icon {
  border-color: var(--edge-strong);
  background: var(--surface-0);
  color: var(--ink-700);
}

@media (max-width: 1024px) {
  .home-page .home-hero .hero-split {
    grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.9fr);
    gap: var(--space-8);
  }
}

@media (max-width: 768px) {
  .home-page .home-hero .hero-split {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-page .home-hero .hero-content,
  .home-page .home-hero .hero-visual {
    max-width: 100%;
    text-align: start;
  }

  .home-page .home-hero .hero-visual {
    justify-self: stretch;
  }

  .home-page .ai-brand-card {
    margin-inline: 0;
  }

  .home-page .hjw-timeline::before,
  .home-page .hjw-timeline::after {
    inset-inline-start: 1.25rem;
  }
}

@media (max-width: 520px) {
  .home-page .content-section.site-section,
  .home-page .home-hero.site-page-hero {
    padding-block: var(--space-16);
  }

  .home-page .hero-cta-group .btn,
  .home-page .hjw-cta,
  .home-page .ai-opinion-cta,
  .home-page .solution-belief-cta {
    width: 100%;
    white-space: normal;
    text-align: center;
  }

  .home-page .solution-belief-tabs {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-page .solution-belief-tab + .solution-belief-tab {
    border-inline-start: 0;
    border-top: 1px solid var(--edge);
  }
}

@media (max-width: 375px) {
  .home-page .home-hero .hero-cta-group {
    align-items: stretch;
    flex-direction: column;
  }

  .home-page .ai-brand-card__header,
  .home-page .ai-brand-card__footer {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-page .trusted-slider-track,
  .home-page .why-marquee-track,
  .home-page .hjw-card,
  .home-page .hjw-bubble,
  .home-page .why-slider-button {
    transition: none;
  }
}

@media (prefers-color-scheme: dark) {
  .home-page .ai-brand-card,
  .home-page .ai-opinion-demo {
    box-shadow: none;
  }
}
