/* Homepage refinement, 21 September 2026.
   The approved landing module keeps its copy, order, geometry and interactions.
   Nodes explain relationships; document rules explain records. No new status,
   population, decoration, or automatic motion is introduced here. */

/* A clear reading measure, using the existing two-column composition. */
.hero-copy { container-type: inline-size; }
body .hero h1 { font-size: clamp(25px, 9.25cqi, 64px); text-wrap: initial; }
body .hero h1 > .hero-headline-line { display: block; white-space: normal; }

.hero-lead { max-width: 55ch; }
.hero-description { max-width: 53ch; }

/* One evidence sheet, rather than a card inside another card. */
.elevation-growth { padding-block: 88px 80px; }
.elevation-growth-intro { align-items: end; margin-bottom: 40px; }
.elevation-growth-intro .page-intro { font-size: 20px; line-height: 1.6; }
.elevation-askers summary { padding-block: 20px; }
.elevation-askers blockquote { font-size: clamp(24px, 2.2vw, 31px); line-height: 1.35; letter-spacing: -.02em; }
.elevation-askers details > div { padding-bottom: 26px; }
.elevation-evidence { background: var(--warm); padding: 28px 32px 24px; }
.elevation-evidence figcaption { color: var(--ink); font-size: 16px; margin-bottom: 28px; }
.elevation-paper { background: transparent; border: 0; padding: 0; }
.elevation-paper-heading { padding-bottom: 20px; border-color: #b9c4db; }
.elevation-paper-heading strong { font-size: 19px; font-weight: 500; }
.elevation-paper-heading > .icon { width: 26px; height: 26px; margin-right: 3px; }
.elevation-paper-heading > span { font-size: 12px; }
.elevation-paper dl > div { padding-block: 20px; font-size: 15px; }
.elevation-paper dd { font-weight: 400; }
.elevation-record-date { padding-top: 22px; font-size: 12px; color: var(--muted); }
.elevation-evidence > p { color: var(--muted); margin-top: 22px; }
.elevation-growth-base { margin-top: 28px; }

/* The protection layers share a route and a record, not three unrelated cards. */
.elevation-foundation { padding-block: 80px; }
.elevation-foundation-model { border: 0; padding: 0; }
.elevation-model-title { padding: 0 0 24px; border-color: #8da8e2; font-size: 18px; }
.elevation-model-title strong { font-weight: 500; }
.elevation-foundation-row {
  position: relative;
  grid-template-columns: 40px 1fr;
  gap: 20px;
  padding-block: 24px;
  border-bottom: 0;
}
.elevation-foundation-row::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 0;
  bottom: 0;
  width: 1px;
  background: #8da8e2;
}
.elevation-foundation-row > span {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid #a8bdeb;
  background: var(--blue);
  color: #fff;
}
.elevation-foundation-row h3 { font-size: 21px; font-weight: 500; margin-block: 3px 8px; }
.elevation-foundation-row p { font-size: 15px; }
.elevation-model-output { border-top: 1px solid #8da8e2; padding-top: 24px; font-size: 14px; }

/* A paired connection diagram. The endpoints remain explicitly illustrative. */
.elevation-connection-map { background: var(--warm); padding: 28px 32px; }
.elevation-agent-route { grid-template-columns: 1fr 40px 1.2fr; gap: 12px; padding-block: 24px; }
.elevation-agent-route > strong { font-weight: 500; font-size: 17px; }
.elevation-agent-route > span { display: flex; align-items: center; }
.elevation-agent-route > span .icon { width: 100%; height: 24px; }
.elevation-agent-route div { border: 0; border-left: 1px solid #9baed8; background: transparent; padding: 8px 0 8px 20px; }
.elevation-agent-route div b { font-weight: 500; }
.elevation-agent-route small { font-size: 12px; }
.elevation-map-detail summary { min-height: 44px; line-height: 1.5; align-items: center; }
.elevation-map-detail summary .icon { flex: none; width: 18px; height: 18px; }
.elevation-map-detail[open] summary .icon { transform: rotate(45deg); }
.elevation-ai .ai-tool-strip { margin-top: 40px; }

/* Align the explanatory sections to the same display voice. */
.control-copy h2, .home-audience h2, .elevation-home-faq h2 {
  font-family: var(--font-signature);
  font-weight: 500;
  font-size: clamp(32px, 3.7vw, 53px);
  line-height: 1.13;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.control-blue { padding: 32px; }
.control-points > div { grid-template-columns: 105px minmax(0, 1fr); }
.control-blue .permission-step:not(.permission-highlight) { border: 0; border-block: 1px solid #8da8e2; }
.control-blue .permission-highlight { border-color: #fff; }
.elevation-everyday .section-heading { align-items: end; margin-bottom: 40px; }
.elevation-work-rows article { padding-block: 28px; }
.elevation-work-rows article > span > .icon { width: 26px; height: 26px; }
.elevation-work-rows h3 { font-weight: 500; }
.elevation-work-rows article > .text-link { font-size: 14px; }

/* Compact the plan internals; retain equal columns and both billing choices. */
.pricing-section .plan-top { margin-bottom: 24px; }
.pricing-section .pricing-card { padding: 32px; }
.pricing-section .plan-price-block { min-height: 150px; margin-top: 22px; padding-bottom: 24px; }
.pricing-section .plan-features { gap: 13px; padding-block: 24px; }
.pricing-section .price-currency { font-variant-numeric: tabular-nums; }
.pricing-section .plan-action { padding-top: 24px; }
.home-audience > .split { align-items: start; }
.home-audience { padding-block: 72px; }
.elevation-home-faq {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 64px;
  border-top: 1px solid var(--line);
  padding-block: 72px 88px;
}
.elevation-home-faq > .section-heading { display: block; margin: 0; }
.elevation-home-faq > .section-heading .text-link { margin-top: 24px; }
.elevation-home-faq .faq-list { max-width: none; min-width: 0; }
.elevation-home-faq .faq-list summary { font-weight: 500; }
.elevation-home-faq .faq-answer { max-width: 65ch; }

@media (max-width: 1100px) {
  .elevation-growth { padding-block: 68px; }
  .elevation-foundation { padding-block: 64px; }
  .elevation-growth-intro .page-intro { font-size: 19px; }
  .elevation-evidence, .elevation-connection-map { padding: 24px; }
  .elevation-agent-route { grid-template-columns: 1fr 24px 1.2fr; gap: 8px; }
  .elevation-agent-route div { padding-left: 12px; }
  .elevation-agent-route > strong { font-size: 15px; }
  .elevation-home-faq { gap: 32px; }
}
@media (max-width: 760px) {
  .elevation-growth, .elevation-foundation, .home-audience { padding-block: 56px; }
  .elevation-growth-intro { gap: 24px; }
  .elevation-foundation-grid { gap: 40px; }
  .elevation-foundation-row { gap: 16px; padding-block: 20px; }
  .elevation-foundation-row h3 { font-size: 19px; }
  .elevation-everyday .section-heading { margin-bottom: 30px; }
  .control-copy h2, .home-audience h2, .elevation-home-faq h2 { font-size: clamp(30px, 7.5vw, 42px); }
  .elevation-home-faq { grid-template-columns: 1fr; gap: 30px; padding-block: 56px; }
  .elevation-home-faq > .section-heading .text-link { margin-top: 20px; }
  .elevation-work-rows article > .text-link { margin-top: 2px; }
}
@media (max-width: 719px) {
  .hero-lead { max-width: 100%; }
  .elevation-evidence, .elevation-connection-map { padding: 24px 20px; }
  .elevation-evidence figcaption { margin-bottom: 24px; }
  .elevation-paper dl > div { padding-block: 18px; }
  .elevation-foundation-row p { font-size: 14px; }
  .elevation-agent-route > strong { font-size: 15px; }
  .control-blue { padding: 24px; }
  .pricing-section .pricing-card { padding: 28px 24px; }
  .pricing-section .plan-price-block { min-height: 0; }
  .elevation-work-rows article { padding-block: 24px; }
}
@container (max-width: 470px) {
}
@container (max-width: 275px) {
}
@media print {
  .elevation-home-faq { display: block; }
  .elevation-home-faq .section-heading { margin-bottom: 24px; }
}
