/* OverviewSummary: Vela Teams, measured live 2026-10-09 at 1440/768/390.
   1240px shell, 16px grid gap/radius, 24px padding, 1px border;
   three columns on desktop, one on tablet/phone. Allocation and supply
   use two equal columns. TTP's foundation owns font, colors and section rhythm. */
.ttp-overview > .ttp-section { padding-block: var(--section-space); }
.ttp-overview > .intro { padding-inline: 0; text-align: left; }
.ttp-overview .ttp-summary-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; align-items: start; }
.ttp-overview .ttp-summary-split > * { min-width: 0; }
.ttp-overview .ttp-summary-split .ttp-section__head { margin-bottom: 0; }
.ttp-overview .ttp-summary-split .intro__frame { width: 100%; }
.ttp-overview .ttp-section__head { max-width: 750px; margin-bottom: 48px; }
.ttp-overview .ttp-section__head > p { font-size: 1.0625rem; line-height: 1.65; }
.ttp-overview .ttp-prose { font-size: 1.0625rem; line-height: 1.65; }
.ttp-overview .ttp-prose > :first-child { margin-top: 0; }
.ttp-overview .ttp-prose .ttp-actions a { margin-top: 0; }
.ttp-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 16px; }
.ttp-summary-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ttp-summary-card { min-width: 0; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--bg-soft); }
.ttp-summary-card > p { color: var(--muted); font-size: 1rem; line-height: 1.65; margin-top: 8px; }
.ttp-summary-card > .ttp-summary-value { color: var(--text); font-size: var(--heading-size); font-weight: 500; line-height: var(--heading-line); letter-spacing: -.025em; margin: 0 0 24px; font-variant-numeric: tabular-nums; }
.ttp-summary-card > .ttp-summary-horizon { color: var(--muted); font-size: .875rem; margin: 0 0 16px; }
.ttp-summary-roadmap { list-style: none; }
.ttp-overview .ttp-actions { margin-top: 24px; }
.ttp-overview .ttp-hero .ttp-actions { margin-top: 32px; }
.ttp-overview .ttp-caption { font-size: .875rem; }
/* Category share and outcome lanes: Studio category-statistics composition. */
/* Static port of the owned Studio Pro "statistics-component-19" distribution card (CategoryBar + legend + two features), already used by the white paper's profit-split figure. */
.ttp-allocation-card { padding:28px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); min-width:0; }
.ttp-allocation-total { display:flex; align-items:center; gap:16px; margin-bottom:28px; }
.ttp-allocation-total > div > span { display:block; color:var(--muted); font-size:.8125rem; margin-bottom:6px; }
.ttp-allocation-total strong { display:block; font-size:1.5rem; letter-spacing:-.03em; font-weight:500; line-height:1.2; }
.ttp-allocation-slot { display:flex; align-items:center; justify-content:center; flex:none; width:36px; height:36px; border-radius:8px; background:var(--card-2); color:var(--ttp-blue); }
.ttp-allocation-slot svg { width:20px; height:20px; stroke-width:1.5; }
.ttp-allocation-bar { display:flex; height:12px; border-radius:4px; overflow:clip; }
.ttp-allocation-bar > span { flex:1; }
.ttp-allocation-c0 { background:var(--ttp-blue); }
.ttp-allocation-c1 { background:#487393; }
.ttp-allocation-legend { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:24px 0 0; }
.ttp-allocation-legend dt { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:.8125rem; line-height:1.5; }
.ttp-allocation-legend dd { margin:12px 0 0; font-size:1.75rem; letter-spacing:-.025em; line-height:1.15; font-variant-numeric:tabular-nums; }
.ttp-allocation-legend .ttp-allocation-detail { margin:8px 0 0; font-size:.8125rem; line-height:1.6; letter-spacing:0; color:var(--muted); }
.ttp-allocation-swatch { width:8px; height:8px; border-radius:2px; flex:none; }
.ttp-allocation-features { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:24px; padding-top:24px; border-top:1px solid var(--line); }
.ttp-allocation-feature { display:flex; align-items:flex-start; gap:12px; min-width:0; }
.ttp-allocation-feature h3 { margin:6px 0 0; }
.ttp-allocation-feature p { margin:8px 0 0; color:var(--muted); font-size:1rem; line-height:1.65; }
.ttp-company-benefit { padding-block:32px; margin-top:8px; }
.ttp-company-benefit > p { max-width:850px; margin:12px 0 0; color:var(--muted); font-size:1.0625rem; line-height:1.65; }
.ttp-company-benefit + .ttp-caption { border-top:1px solid var(--line); padding-top:24px; margin-top:0; max-width:none; }

@media (max-width:700px) { .ttp-allocation-card { padding:20px; } .ttp-allocation-legend, .ttp-allocation-features { grid-template-columns:minmax(0,1fr); gap:20px; } .ttp-allocation-legend dd { font-size:1.5rem; } }
.ttp-video-caption { margin-top: 16px; font-size: .875rem; color: var(--muted); }
/* DOM order is heading → FAQ → links so phones read and tab in display order;
   wider screens place the FAQ in the right column beside the heading + links. */
.ttp-overview .ttp-questions { gap: 0 48px; grid-template-rows: auto 1fr; align-items: start; }
.ttp-overview .ttp-questions > h2 { grid-column: 1; grid-row: 1; }
.ttp-overview .ttp-questions > .ttp-faq { grid-column: 2; grid-row: 1 / span 2; }
.ttp-overview .ttp-questions > .ttp-questions-actions { grid-column: 1; grid-row: 2; }
.ttp-overview .ttp-safety { margin-block: 0; }
.ttp-overview .market-methodology > a { margin-top: 12px; }
@media (max-width: 1023px) {
  .ttp-overview .ttp-summary-split, .ttp-summary-grid, .ttp-summary-grid--three { grid-template-columns: minmax(0, 1fr); }
  .ttp-overview .ttp-section__head { margin-bottom: 32px; }
  .ttp-overview .ttp-summary-split { gap: 32px; }
}
@media (max-width: 700px) {
  .ttp-overview .ttp-questions { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; gap: 24px; }
  .ttp-overview .ttp-questions > h2, .ttp-overview .ttp-questions > .ttp-faq, .ttp-overview .ttp-questions > .ttp-questions-actions { grid-column: auto; grid-row: auto; }
  /* Body copy and actions share the left edge on phones. */
  .ttp-overview .ttp-section .ttp-actions { justify-content: flex-start; }
}

/* Company: copy beside the founder video, then the report as one unboxed document row. */
.ttp-company { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:48px; align-items:center; }
.ttp-company > * { min-width:0; }
.ttp-company > .ttp-section__head { max-width:none; margin:0; }
.ttp-company > .ttp-section__head > a { margin-top:24px; }
.ttp-company #ttp-video .intro__frame { width:100%; }
.ttp-company #ttp-video > a { margin-top:8px; }
.ttp-company .ttp-research-preview { grid-column:1 / -1; display:grid; grid-template-columns:176px minmax(0,1fr); gap:40px; align-items:center; margin-top:16px; padding-top:48px; border-top:1px solid var(--line); }
.ttp-research-preview > a { display:block; }
.ttp-research-preview img { display:block; width:100%; height:auto; border:1px solid var(--line-strong); box-shadow:6px 6px 0 var(--bg-soft); }
.ttp-research-copy { max-width:640px; }
.ttp-research-preview p { font-size:1rem; line-height:1.65; color:var(--muted); margin-top:12px; }
.ttp-research-preview .ttp-actions { margin-top:20px; gap:12px 24px; }
.ttp-research-preview .ttp-actions > a { margin-top:0; }
@media (max-width:1023px) {
 .ttp-company { grid-template-columns:minmax(0,1fr); gap:32px; }
 .ttp-company .ttp-research-preview { grid-template-columns:160px minmax(0,1fr); gap:24px; margin-top:8px; padding-top:32px; }
}
@media (max-width:700px) {
 .ttp-company { gap:24px; }
 .ttp-company .ttp-research-preview { grid-template-columns:112px minmax(0,1fr); gap:16px; padding-top:24px; }
 .ttp-company .ttp-research-copy { display:contents; }
 .ttp-company .ttp-research-copy h3 { align-self:center; }
 .ttp-company .ttp-research-copy > p, .ttp-company .ttp-research-copy > .ttp-actions { grid-column:1 / -1; margin:0; }
}

/* Fund B: description under the title, the approved participation art beside it. */
.ttp-participation { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:48px; align-items:center; }
.ttp-participation > * { min-width:0; }
.ttp-participation .ttp-section__head { margin-bottom:24px; }
.ttp-participation .ttp-prose > a { margin-top:24px; }
.ttp-participation-art { margin:0; padding:0; }
.ttp-participation-art .ttp-journey-art { margin:0; max-width:none; }
@media (max-width:1279px) {
 .ttp-participation { grid-template-columns:minmax(0,1fr); gap:40px; }
 .ttp-participation-art .ttp-journey-art { max-width:960px; margin-inline:auto; }
}

@media (max-width: 639px) { .ttp-overview .ttp-hero .ttp-actions { margin-top: 24px; } }

/* Stacked cards size to their content, rather than the longest desktop row. */
@media (max-width: 1023px) {
 .ttp-summary-grid { grid-auto-rows:auto; }
}
@media (max-width: 700px) {
 .ttp-overview > .ttp-section { padding-block:40px; }
 .ttp-overview .ttp-section__head { margin-bottom:24px; }
 .ttp-overview .ttp-section__head > p, .ttp-overview .ttp-prose,
 .ttp-company-benefit > p { font-size:1rem; line-height:1.65; }
 .ttp-overview .ttp-summary-split, .ttp-participation { gap:24px; }
 .ttp-summary-card { padding:20px; }
 .ttp-summary-card > .ttp-summary-value { font-size:1.75rem; margin-bottom:16px; }
 .ttp-summary-card > .ttp-summary-horizon { margin-bottom:8px; }
 .ttp-allocation-card { padding:20px 16px; }
 .ttp-allocation-total { gap:12px; margin-bottom:20px; }
 .ttp-allocation-total strong { font-size:1.25rem; }
 .ttp-allocation-legend { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:20px; }
 /* 390px / DPR3 value ink rows: Chromium 159–210, WebKit 158–209,
    identical in both columns (52 painted rows); reserve the shared label row. */
 .ttp-allocation-legend > div { display:grid; grid-row:span 3; grid-template-rows:subgrid; row-gap:0; }
 .ttp-allocation-legend dd { margin-top:8px; }
 .ttp-allocation-features { margin-top:20px; padding-top:20px; gap:16px; }
 .ttp-allocation-feature p { font-size:.875rem; line-height:1.6; }
 .ttp-allocation-slot { width:28px; height:28px; }
 .ttp-allocation-slot svg { width:16px; height:16px; }
 .ttp-allocation-feature h3 { margin-top:2px; }
 .ttp-company-benefit { padding-block:24px; }
 .ttp-company > .ttp-section__head { margin-bottom:0; }
 /* These labels sit inside fixed-width diagram lanes; the adjacent prose
    remains fully scalable while diagram text stays within its connectors. */
 .ttp-overview .ttp-journey-route > span { font-size:min(.875rem,4.375vw); }
}
