/* The homepage A/B test (Jared and Robert, 2026-10-19): one "golden child" page built from numbered sections, labeled
   big and plain for people whose first language isn't English: 1 The big problem, 2 Our solution, 3 Our results,
   4 Why do we exist?, 5 the sign-up section (parked 2026-10-20), 6 Use it anywhere. Version A runs 1-2-3-4-5-6. Version B (Robert's: pain, more
   pain, the mission, the cure, the proof, then the free test) runs the problem, why we exist, the solution, the results,
   the sign-up and the photos. Each label is a big number in a circle, bigger than the headline under it (no small text
   above big). Loaded after home-2026.css. */
:root {
  --label-size: clamp(36px, 5vw, 64px);   /* 64px keeps every label on one line on laptops */
  --label-head: clamp(32px, 4vw, 56px);
}

/* The section labels. "main p" / "main h2" outrank the sections' own paragraph rules (.water-hero-copy p, .meet-copy p). */
main p.section-label,
main h2.section-label {
  display: flex;
  align-items: flex-start;
  gap: calc(var(--label-size) * .22);
  margin: 0 0 clamp(16px, 2vw, 28px);
  color: var(--wine);
  font-size: var(--label-size);
  font-weight: 700;
  line-height: 1.04;
  letter-spacing: -.045em;
  text-transform: none;
}
main .section-label .section-step {
  flex: none;
  display: grid;
  place-items: center;
  width: calc(var(--label-size) * .92);
  height: calc(var(--label-size) * .92);
  margin-top: calc(var(--label-size) * .03);
  border: max(3px, calc(var(--label-size) * .065)) solid currentColor;
  border-radius: 50%;
  font-size: calc(var(--label-size) * .5);
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}
.ladder-heading .section-label { justify-content: center; }
.story .about-heading h2.section-label { margin: 0 0 clamp(18px, 2.2vw, 30px); color: var(--wine); font-size: var(--label-size); font-weight: 700; line-height: 1.04; letter-spacing: -.045em; }

/* Headlines under a label are one step smaller than the label. The hero has no label and keeps its full size. */
.body-proof-heading h2,
.meet h2,
.ladder-heading h2 { font-size: var(--label-head); }
.uses-heading h2 { font-size: clamp(26px, 3vw, 42px); }
.meet { align-items: start; }

/* 1. The big problem ends on one line of its own: A asks the bridge question into the solution; B asks why no company
   will change, which leads into why Aelo exists. */
.section-question {
  max-width: 20em;
  margin: clamp(40px, 5vw, 72px) auto 0;
  color: var(--aelo-blue);
  font-size: clamp(28px, 3.6vw, 52px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.04em;
  text-align: center;
  text-wrap: balance;
}
.proof-close {
  max-width: 34em;
  margin: clamp(28px, 3vw, 40px) auto 0;
  color: var(--home-text);
  font-size: clamp(18px, 1.6vw, 22px);
  line-height: 1.5;
  text-align: center;
  text-wrap: balance;
}
.inline-link {
  display: inline;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
  cursor: pointer;
}

/* The call to action card between sections, with the form. */
.cta-card { padding: clamp(24px, 3vw, 48px) max(var(--gutter), calc((100% - var(--home-max)) / 2)); background: #fff; }
.cta-card-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  align-items: center;
  gap: 18px clamp(28px, 4vw, 64px);
  padding: clamp(22px, 3.4vw, 48px);
  border-radius: clamp(20px, 2.4vw, 32px);
  background: var(--home-card);
}
.cta-card-title { color: var(--aelo-blue); font-size: clamp(28px, 3.4vw, 48px); font-weight: 700; line-height: 1.06; letter-spacing: -.04em; text-wrap: balance; }
.cta-card-copy p + p { margin-top: 12px; }
.cta-card-note { margin-top: 14px; color: var(--home-text, #151515); font-size: 17px; font-weight: 500; line-height: 1.45; }
.cta-card-link { display: inline-flex; margin-top: 14px; color: var(--aelo-blue); font-size: 17px; font-weight: 700; text-decoration: underline; text-underline-offset: 5px; }
/* grid-row: auto undoes an old phone rule (styles.css puts every .signup-form in grid row 5), which left a gap. */
.cta-card .signup-form { grid-row: auto; width: 100%; max-width: none; margin: 0; padding: 14px 14px 6px; background: #fff; }

/* The ending: "You made it this far." The mission, the last form, and the research. */
.closing h2 { font-size: clamp(36px, 4.6vw, 66px); text-wrap: balance; }
.closing-copy > p { max-width: 34em; }
.closing-copy > p + p { margin-top: 16px; }
.closing-ladder-link { display: inline-flex; margin-top: 22px; color: var(--cream); font-size: 18px; font-weight: 700; text-decoration: underline; text-underline-offset: 5px; }
.closing-research {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px 28px;
  padding: clamp(18px, 2.4vw, 28px) clamp(18px, 2.6vw, 32px);
  border-radius: 24px;
  background: #f4f4f4;
  color: var(--home-text);
}
.closing-research h3 { margin: 0 0 6px; color: var(--aelo-blue); font-size: clamp(24px, 2.6vw, 36px); font-weight: 700; line-height: 1.1; letter-spacing: -.035em; }
.closing-research p { font-size: clamp(16px, 1.4vw, 19px); line-height: 1.45; }
.closing-research p strong { color: var(--aelo-blue); }
.chart-open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
  border: 0;
  border-radius: 999px;
  background: var(--aelo-blue);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
}
@media (hover: hover) { .chart-open:hover { background: #0e4259; } }
.closing-research-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; }
.closing-research-link { color: var(--aelo-blue); font-size: 16px; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.chart-open:focus-visible,
.inline-link:focus-visible,
.cta-card-link:focus-visible,
.closing-ladder-link:focus-visible,
.closing-research-link:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }

/* The research pop-up: the full graph, the research words and the weekly-study signup. */
.chart-dialog {
  width: min(920px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  padding: 0;
  border: 0;
  border-radius: 20px;
  background: #fff;
  color: var(--home-text);
  overflow: auto;
  overscroll-behavior: contain;
}
.chart-dialog::backdrop { background: rgba(9, 46, 62, .55); }
.chart-dialog-bar {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px 12px 24px;
  border-bottom: 1px solid #e3e3e3;
  background: #fff;
}
.chart-dialog-bar h2 { margin: 0; color: var(--aelo-blue); font-size: clamp(22px, 2.4vw, 30px); font-weight: 700; line-height: 1.1; letter-spacing: -.035em; }
.chart-dialog-close { flex: none; width: 44px; height: 44px; border: 1px solid #d0d0d0; border-radius: 50%; background: #fff; color: var(--aelo-blue); font-size: 26px; line-height: 1; }
.chart-dialog-close:focus-visible { outline: 3px solid var(--aelo-blue); outline-offset: 2px; }
.chart-dialog-body { display: grid; gap: 24px; padding: 24px; }
.chart-dialog-body .research-growth { width: 100%; margin: 0; }
.chart-dialog-body .research-signup { padding-top: 24px; border-top: 1px solid #e3e3e3; }

@media (max-width: 760px) {
  .cta-card { padding: 20px 16px; }
  .cta-card-inner { grid-template-columns: minmax(0, 1fr); padding: 22px 16px; }
  .cta-card .signup-form { padding: 12px 12px 4px; }
  .closing-copy > p { font-size: 17px; }
  .closing-research { padding: 18px 16px; }
  .closing-research-actions { width: 100%; }
  .chart-open { width: 100%; }
  .chart-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); border-radius: 16px; }
  .chart-dialog-bar { padding: 10px 10px 10px 16px; }
  .chart-dialog-body { gap: 20px; padding: 16px; }
}
