/* SOST LABS — HOME / PRICING hierarchy alignment
   Loaded after each page stylesheet so this file is the final visual layer. */

/* --------------------------------------------------------------------------
   SHARED
   -------------------------------------------------------------------------- */
body[data-page='home'],
body[data-page='pricing'] {
  --point: var(--text);
  --point-strong: var(--text);
}

body[data-page='home'] .eyebrow,
body[data-page='pricing'] .eyebrow {
  color: var(--text-muted);
  font-size: 12px;
  font-weight: 620;
  letter-spacing: .095em;
}

/* --------------------------------------------------------------------------
   HOME — compact, editorial, same scale as ABOUT / SOLUTIONS
   -------------------------------------------------------------------------- */
body[data-page='home'] .home-hero {
  min-height: 0;
  padding: calc(var(--header-height) + 48px) 0 54px;
  border-bottom: 1px solid var(--line);
}

body[data-page='home'] .home-hero-inner {
  display: block;
  min-height: 0;
}

/* Starter card removed from the composition. Kept as a hard fallback in case
   an older cached HTML document still contains it. */
body[data-page='home'] .home-starter-panel {
  display: none !important;
}

body[data-page='home'] .hero-copy {
  max-width: 940px;
}

body[data-page='home'] .hero-copy h1 {
  max-width: 760px;
  margin-top: 16px;
  font-size: clamp(42px, 4.6vw, 64px);
  font-weight: 440;
  line-height: 1.06;
  letter-spacing: -.052em;
}

body[data-page='home'] .hero-description {
  max-width: 620px;
  margin-top: 22px;
  color: var(--text-soft);
  font-size: 15px;
  line-height: 1.72;
}

body[data-page='home'] .button-row {
  margin-top: 28px;
}

body[data-page='home'] .button {
  min-height: 48px;
  padding-inline: 20px;
  font-size: 13px;
  font-weight: 620;
}

body[data-page='home'] .button-point {
  border-color: var(--text) !important;
  background: var(--text) !important;
  color: var(--bg) !important;
}

body[data-page='home'] .button-ghost {
  border-color: var(--line-strong);
  background: transparent;
  color: var(--text);
}

/* The scope strip now sits immediately below the compact hero. */
body[data-page='home'] .home-scope-strip {
  background: var(--bg);
}

body[data-page='home'] .home-scope-grid > div {
  min-height: 108px;
  padding: 22px 20px 18px;
}

body[data-page='home'] .home-scope-grid span {
  margin-bottom: 14px;
  font-size: 9px;
}

body[data-page='home'] .home-scope-grid strong {
  font-size: 12px;
  font-weight: 620;
}

body[data-page='home'] .home-scope-grid small {
  font-size: 11px;
}

body[data-page='home'] .home-selected,
body[data-page='home'] .home-paths,
body[data-page='home'] .home-process {
  padding-top: clamp(76px, 6.5vw, 96px);
  padding-bottom: clamp(76px, 6.5vw, 96px);
}

body[data-page='home'] .section-heading {
  margin-bottom: 46px;
}

body[data-page='home'] .section-heading h2 {
  margin-top: 12px;
  font-size: clamp(28px, 2.8vw, 40px);
  font-weight: 480;
  line-height: 1.25;
  letter-spacing: -.042em;
}

body[data-page='home'] .home-section-note {
  max-width: 430px;
  font-size: 13px;
  line-height: 1.72;
}

body[data-page='home'] .home-paths {
  background: var(--bg) !important;
}

body[data-page='home'] .home-path-card {
  min-height: 270px;
  padding: 26px 28px;
  background: transparent;
}

body[data-page='home'] .home-path-card > div {
  margin: 40px 0 30px;
}

body[data-page='home'] .home-path-index,
body[data-page='home'] .home-path-card footer span {
  font-size: 10px;
  font-weight: 620;
  letter-spacing: .075em;
}

body[data-page='home'] .home-path-card h3 {
  font-size: clamp(20px, 1.8vw, 26px);
  font-weight: 500;
  line-height: 1.28;
  letter-spacing: -.04em;
}

body[data-page='home'] .home-path-card p {
  margin-top: 12px;
  font-size: 13px;
  line-height: 1.7;
}

body[data-page='home'] .home-path-card footer strong {
  font-size: 13px;
  font-weight: 620;
}

/* Keep hover restrained instead of turning the entire card into a campaign block. */
body[data-page='home'] .home-path-card:hover {
  background: var(--panel);
  color: var(--text);
}

body[data-page='home'] .home-path-card:hover .home-path-index,
body[data-page='home'] .home-path-card:hover p,
body[data-page='home'] .home-path-card:hover footer span {
  color: var(--text-muted);
}

body[data-page='home'] .home-path-card:hover footer {
  border-color: var(--line);
}

/* Former black manifesto: return to the shared neutral page system. */
body[data-page='home'] .home-manifesto {
  padding: clamp(76px, 6.5vw, 96px) 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--panel);
  color: var(--text);
}

body[data-page='home'] .home-manifesto-grid {
  gap: clamp(56px, 8vw, 112px);
}

body[data-page='home'] .home-manifesto .eyebrow {
  color: var(--text-muted);
}

body[data-page='home'] .home-manifesto h2 {
  max-width: 650px;
  margin-top: 12px;
  font-size: clamp(30px, 2.9vw, 40px);
  font-weight: 480;
  line-height: 1.22;
  letter-spacing: -.042em;
}

body[data-page='home'] .home-manifesto-copy > p {
  color: var(--text-soft);
  font-size: 13px;
  line-height: 1.75;
}

body[data-page='home'] .home-manifesto-price {
  margin: 26px 0 18px;
  padding: 16px 0;
  border-color: var(--line);
}

body[data-page='home'] .home-manifesto-price span {
  color: var(--text-muted);
  font-size: 9px;
  font-weight: 620;
}

body[data-page='home'] .home-manifesto-price strong {
  color: var(--text);
  font-size: clamp(21px, 2vw, 27px);
  font-weight: 500;
  letter-spacing: -.04em;
}

body[data-page='home'] .home-manifesto .inline-link {
  color: var(--text-soft);
  font-size: 13px;
}

body[data-page='home'] .home-process-grid article {
  min-height: 230px;
  padding-top: 24px;
  padding-bottom: 28px;
}

body[data-page='home'] .home-process-grid article > span {
  font-size: 10px;
  font-weight: 620;
}

body[data-page='home'] .home-process-grid h3 {
  max-width: 320px;
  margin-top: 50px;
  font-size: clamp(19px, 1.65vw, 24px);
  font-weight: 500;
  line-height: 1.32;
  letter-spacing: -.038em;
}

body[data-page='home'] .home-process-grid p {
  margin-top: 12px;
  font-size: 13px;
}

body[data-page='home'] .home-pricing-bridge {
  padding: clamp(68px, 6vw, 88px) 0;
  background: var(--bg);
}

body[data-page='home'] .home-pricing-bridge h2,
body[data-page='home'] .home-contact-inner h2 {
  margin-top: 12px;
  font-size: clamp(28px, 2.8vw, 39px);
  font-weight: 480;
  line-height: 1.24;
  letter-spacing: -.042em;
}

body[data-page='home'] .home-pricing-bridge-side > p,
body[data-page='home'] .home-pricing-links a {
  font-size: 13px;
}

body[data-page='home'] .home-contact-strip {
  padding: clamp(64px, 5.8vw, 84px) 0;
}

body[data-page='home'] .home-contact-inner > a {
  font-size: clamp(16px, 1.4vw, 20px);
  font-weight: 540;
}

/* --------------------------------------------------------------------------
   PRICING — monochrome, quieter type scale
   -------------------------------------------------------------------------- */
body[data-page='pricing'] {
  --pricing-accent: var(--text) !important;
}

:root[data-theme='dark'] body[data-page='pricing'] {
  --pricing-accent: var(--text) !important;
}

body[data-page='pricing'] .pricing-plans {
  padding: calc(var(--header-height, 84px) + 28px) 0 92px;
  background: var(--bg);
}

body[data-page='pricing'] .pricing-card {
  min-height: 286px;
  padding: 24px 26px 26px;
  background: transparent;
}

body[data-page='pricing'] .pricing-card:hover,
body[data-page='pricing'] .pricing-card:focus-visible {
  background: var(--panel);
}

body[data-page='pricing'] .pricing-plan-type,
body[data-page='pricing'] .pricing-tech,
body[data-page='pricing'] .terms-grid article > span,
body[data-page='pricing'] .pricing-system-list article > span,
body[data-page='pricing'] .domain-options article > span {
  color: var(--text-muted) !important;
  font-size: 9px;
  font-weight: 620;
  letter-spacing: .075em;
}

body[data-page='pricing'] .pricing-plan-name {
  margin-top: 30px;
  color: var(--text) !important;
  font-size: 14px;
  font-weight: 620;
  letter-spacing: .01em;
}

body[data-page='pricing'] .pricing-price {
  margin-top: 8px;
}

body[data-page='pricing'] .pricing-price strong {
  color: var(--text) !important;
  font-size: clamp(21px, 1.45vw, 25px);
  font-weight: 470;
  letter-spacing: -.033em;
}

body[data-page='pricing'] .pricing-price small {
  color: var(--text-muted) !important;
  font-size: 9px;
}

body[data-page='pricing'] .pricing-price-text strong {
  font-size: 16px;
  font-weight: 510;
}

body[data-page='pricing'] .pricing-card-summary {
  max-width: 320px;
  margin-top: 16px;
  color: var(--text-soft);
  font-size: 12px;
  line-height: 1.68;
}

body[data-page='pricing'] .pricing-tech {
  padding-top: 24px;
}

body[data-page='pricing'] .pricing-detail-link {
  margin-top: 12px;
  padding-top: 12px;
  color: var(--text-muted) !important;
  font-size: 9px;
  font-weight: 620;
}

body[data-page='pricing'] .pricing-detail-link b,
body[data-page='pricing'] .pricing-card:hover .pricing-detail-link,
body[data-page='pricing'] .pricing-card:focus-visible .pricing-detail-link {
  color: var(--text-muted) !important;
}

body[data-page='pricing'] .pricing-section-head h2,
body[data-page='pricing'] .pricing-system-title h2,
body[data-page='pricing'] .pricing-cta h2 {
  max-width: 720px;
  font-size: clamp(27px, 2.7vw, 38px);
  font-weight: 480;
  line-height: 1.26;
  letter-spacing: -.04em;
}

body[data-page='pricing'] .pricing-terms,
body[data-page='pricing'] .pricing-faq {
  padding: 78px 0 90px;
}

body[data-page='pricing'] .pricing-system,
body[data-page='pricing'] .pricing-domain {
  padding: 86px 0 94px;
}

body[data-page='pricing'] .pricing-system-list article,
body[data-page='pricing'] .domain-options article {
  padding: 24px 0 26px;
}

body[data-page='pricing'] .pricing-system-list h3,
body[data-page='pricing'] .domain-options h3,
body[data-page='pricing'] .terms-grid h3 {
  margin: 8px 0 9px;
  font-size: 17px;
  font-weight: 510;
  letter-spacing: -.025em;
}

body[data-page='pricing'] .pricing-system-list p,
body[data-page='pricing'] .domain-options p,
body[data-page='pricing'] .terms-grid p {
  font-size: 13px;
  line-height: 1.72;
}

body[data-page='pricing'] .terms-grid article {
  min-height: 180px;
  padding: 22px;
}

body[data-page='pricing'] .faq-list summary {
  padding-top: 19px;
  padding-bottom: 19px;
  font-size: 15px;
  font-weight: 510;
}

body[data-page='pricing'] .faq-list summary::after {
  color: var(--text-muted) !important;
  font-size: 18px;
}

body[data-page='pricing'] .faq-list details p {
  font-size: 13px;
}

body[data-page='pricing'] .pricing-cta {
  padding: 78px 0 90px;
  background: var(--panel);
}

body[data-page='pricing'] .pricing-cta-inner > div > p:last-child {
  margin-top: 16px;
  font-size: 13px;
}

body[data-page='pricing'] .pricing-main-cta,
body[data-page='pricing'] .pricing-modal-inquiry {
  border-color: var(--line-strong) !important;
  color: var(--text) !important;
}

body[data-page='pricing'] .pricing-main-cta span,
body[data-page='pricing'] .pricing-modal-inquiry span {
  color: var(--text-muted) !important;
}

body[data-page='pricing'] .pricing-modal-name {
  color: var(--text) !important;
  font-size: 18px;
  font-weight: 580;
}

body[data-page='pricing'] .pricing-modal-price {
  font-size: 24px;
}

body[data-page='pricing'] .pricing-modal-summary,
body[data-page='pricing'] .pricing-modal-section p,
body[data-page='pricing'] .pricing-modal-list li {
  font-size: 13px;
}

body[data-page='pricing'] .pricing-modal-section h3 {
  font-size: 17px;
  font-weight: 520;
}

body[data-page='pricing'] .pricing-modal-list li::before {
  background: var(--text-muted) !important;
}

@media (max-width: 760px) {
  body[data-page='home'] .home-hero {
    padding-top: calc(var(--header-height) + 34px);
    padding-bottom: 46px;
  }

  body[data-page='home'] .hero-copy h1 {
    font-size: clamp(38px, 10vw, 52px);
  }

  body[data-page='home'] .home-manifesto h2 {
    font-size: clamp(28px, 8vw, 38px);
  }

  body[data-page='home'] .home-process-grid h3 {
    margin-top: 34px;
  }

  body[data-page='pricing'] .pricing-card {
    min-height: 250px;
    padding: 21px 19px 22px;
  }

  body[data-page='pricing'] .pricing-plan-name {
    margin-top: 26px;
  }

  body[data-page='pricing'] .pricing-price strong {
    font-size: 22px;
  }
}
