.home-page { overflow-x: clip; }
.plus-section { --plus-blue: #1264e8; padding-top: 1.25rem; }
.plus-mark { color: var(--plus-blue, #1264e8); font-weight: 600; line-height: 1; }
.plus-intro { padding-top: 1rem; }
.plus-wordmark { display: flex; align-items: center; gap: .55rem; font-size: 1rem; font-weight: 600; }
.plus-wordmark .plus-mark { font-size: 2rem; }
.home-page h1, .plus-intro h2 { font-size: clamp(2.5rem, 5.4vw, 3.8rem); line-height: 1.08; letter-spacing: -.05em; font-weight: 600; text-wrap: balance; }
.plus-intro h2 { margin-top: 1rem; }
.home-page .intro, .home-page .intro-detail { font-size: 1.0625rem; line-height: 1.6; color: var(--ad-secondary); }
.home-page .intro { max-width: 30ch; }
.home-page .intro-detail { max-width: 31ch; }
.plus-intro h2 > span { color: var(--ad-secondary); }
.plus-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 460px); align-items: center; gap: clamp(2rem, 5vw, 5rem); padding-block: 3rem; }
.feature-copy { min-width: 0; }
.feature-number { color: var(--ad-secondary); font-size: .6875rem; letter-spacing: .16em; font-weight: 600; margin-bottom: 1.3rem; }
.feature-copy h3 { margin: 0 0 1.5rem; font-size: clamp(2rem, 4vw, 2.7rem); font-weight: 600; line-height: 1.08; letter-spacing: -.05em; }
.feature-copy > p:not(.feature-number) { color: var(--ad-secondary); max-width: 32ch; font-size: 1.0625rem; line-height: 1.6; }
.feature-copy > .example-invitation { margin-top: 1.4rem; color: var(--ad-ink) !important; font-size: .9375rem !important; }
.insights-demo { min-width: 0; width: 100%; max-width: 420px; justify-self: end; overflow-anchor: none; }
.demo-question-group, .demo-results-group { min-width: 0; }
.demo-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; font-weight: 600; font-size: 1.0625rem; }
.demo-heading > span:first-child { display: flex; gap: .5rem; align-items: center; }
.demo-heading .plus-mark { font-size: 1.65rem; }
.example-label { font-size: .6875rem; font-weight: 400; color: var(--ad-secondary); border: 1px solid var(--ad-line); padding: 4px 8px; border-radius: 6px; }
.demo-vote-count { color: var(--ad-secondary); font-size: .75rem; margin: 6px 0 10px; }
.insight-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 5px; margin-bottom: 10px; }
.insight-tabs[hidden], .insight-panel[hidden] { display: none; }
.insight-tabs button { width: 100%; min-width: 0; padding: 5px 3px; min-height: 44px; line-height: 1.15; border: 1px solid var(--ad-line); border-radius: 24px; color: var(--ad-ink); background: transparent; font-size: .8125rem; font-weight: 500; }
.insight-tabs button[aria-selected="true"] { background: var(--ad-ink); color: #000; border-color: var(--ad-ink); }
.insight-panel { border: 1px solid var(--ad-line); padding: 14px; border-radius: 22px; min-width: 0; }
/* All five panels share one grid cell. The tallest always reserves the space. */
.insight-panels.panels-tabbed { display: grid; }
.panels-tabbed > .insight-panel { grid-area: 1 / 1; }
.panels-tabbed > .insight-panel[hidden] { display: block; visibility: hidden; pointer-events: none; }
.insight-panel h4 { font-size: 1.125rem; margin: 0 0 3px; font-weight: 600; letter-spacing: -.3px; }
.panel-subtitle { color: var(--ad-secondary); font-size: .6875rem; }
.insight-legend { display: flex; justify-content: space-between; gap: 12px; color: var(--ad-secondary); font-size: .75rem; margin: 10px 0; }
.insight-legend span { display: flex; align-items: center; gap: 6px; }
.insight-legend span::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--ad-ink); }
.insight-legend span + span::before { background: #505050; }
.insight-row + .insight-row { margin-top: 10px; }
.insight-row-heading, .insight-percentages { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.insight-row-heading strong { font-size: .875rem; font-weight: 600; }
.insight-row-heading span { color: var(--ad-secondary); font-size: .6875rem; white-space: nowrap; }
.opinion-bar { display: block; width: 100%; height: 8px; border-radius: 5px; overflow: hidden; margin-block: 5px; }
.opinion-bar .track { fill: #454545; }
.opinion-bar .agree { fill: #f5f5f5; }
.insight-percentages { font-size: .875rem; }
.insight-percentages span + span { color: var(--ad-secondary); }
.timeline-chart { display: block; width: 100%; height: 180px; margin-block: 12px 0; overflow: visible; }
.timeline-chart text { fill: #a6a6a6; font: 11px -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.timeline-chart .grid { stroke: #303030; stroke-width: 1; }
.timeline-chart .agree { stroke: #f5f5f5; stroke-width: 3; fill: none; }
.timeline-chart .disagree { stroke: #777; stroke-width: 2; stroke-dasharray: 4 5; fill: none; }
.activity-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 16px; margin-top: 28px; }
.activity-grid > div { display: flex; flex-direction: column; }
.activity-grid dt { color: var(--ad-secondary); font-size: .8125rem; }
.activity-grid dd { order: -1; font-size: 2rem; font-weight: 600; letter-spacing: -1px; }
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
  [data-reveal].reveal-ready { opacity: 0; transform: translateX(-36px); transition: opacity 700ms ease, transform 700ms cubic-bezier(.2,.7,.2,1); }
  [data-reveal="right"].reveal-ready { transform: translateX(36px); }
  [data-reveal].reveal-ready.is-visible { opacity: 1; transform: none; }
}
@media (max-width: 760px) {
  .home-page > main.wrap { width: min(100% - 2rem, 648px); }
  .hero .question-card, .insights-demo { max-width: none; }
  .home-page .intro, .home-page .intro-detail { font-size: 1rem; }
  .plus-section { padding-top: 1rem; }
  .plus-intro { padding-top: 1rem; }
  .plus-feature { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; padding-block: 2.5rem; }
  .feature-copy { width: 100%; max-width: 460px; margin-inline: auto; }
  .feature-copy h3 br { display: none; }
  .feature-copy > p:not(.feature-number) { max-width: 36ch; font-size: 1rem; }
  .insights-demo { width: 100%; margin-inline: auto; }
}
@media (max-width: 399px) {
  .insights-demo { padding: 0; }
  .insight-panel { padding: 12px; }
  .insight-tabs { gap: 5px; }
  .insight-tabs button { padding-inline: 2px; font-size: .75rem; }
}
@media print { [data-reveal].reveal-ready { opacity: 1; transform: none; } }
