/* Public supporting pages extend the supplied homepage system.
   Shared tokens, header, footer, buttons, coverage and CTA stay in design CSS. */
.support-page {
  --chart-track: color-mix(in srgb, var(--sage), var(--paper) 74%);
  --on-dark-muted: color-mix(in srgb, var(--paper), var(--forest) 26%);
}
.support-page h2 { font-size: clamp(38px, 4.3vw, 58px); line-height: 1.06; }
.support-page h2 em { color: var(--forest); }
.support-page .subpage-hero .page-hero { padding-block: 72px 80px; }
.support-page .subpage-hero .issue-line { gap: 24px; }
.support-page .page-hero h1 {
  max-width: 1060px;
  margin-bottom: 30px;
  font-size: clamp(58px, 6.3vw, 92px);
  line-height: .97;
}
.support-page .page-hero h1 em { color: var(--lime); }
.support-page .page-hero .standfirst {
  max-width: 700px;
  margin: 0;
  color: var(--on-dark-muted);
  font-size: 18px;
  line-height: 1.7;
}
.support-page .ground-section { background: var(--ground); }
.support-page .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 9%; }
.support-page .two-col > *, .support-page .contact-layout > *, .support-page .article-layout > * { min-width: 0; }
.support-page .two-col h2 { margin: 0; max-width: 650px; }
.support-page .prose { max-width: 65ch; }
.support-page .prose p, .support-page .lead-copy { color: var(--muted); font-size: 15px; line-height: 1.8; }
.support-page .lead-copy { margin-top: 28px; max-width: 56ch; }
.support-page .actions { display: flex; align-items: center; flex-wrap: wrap; gap: 28px; margin-top: 30px; }
.support-page .section-actions { margin-top: 40px; }
.support-page .caption { margin: 20px 0 0; color: var(--muted); font-size: 11px; line-height: 1.7; }
.support-page .coverage-number { display: block; margin-bottom: 28px; color: var(--muted); font-size: 10px; font-variant-numeric: tabular-nums; }
.support-page .coverage-card h3 { line-height: 1.2; }

/* Insights index: the same analytical card and quiet ground used at home. */
.support-page .library-section { background: var(--ground); }
.support-page .library-feature { display: grid; grid-template-columns: 1.1fr .9fr; gap: 9%; align-items: center; padding-block: 96px; }
.support-page .library-feature > div > h2 { max-width: 650px; margin-bottom: 26px; font-size: clamp(38px, 4.1vw, 54px); }
.support-page .library-lead { max-width: 55ch; color: var(--muted); font-size: 15px; }
.support-page .library-feature .button-link { margin-top: 30px; }
.support-page .library-feature .feature-card { box-shadow: var(--shadow); }
.support-page .feature-card h2 { font-size: 33px; line-height: 1.13; }

/* Founding partners and About: numbered editorial rows, never floating cards. */
.support-page .question-panel { padding: 36px; background: var(--forest); color: var(--white); align-self: start; }
.support-page .question-panel .eyebrow { color: var(--lime); }
.support-page .question-list { padding: 0; margin: 0; list-style: none; }
.support-page .question-list li { padding-block: 21px; border-top: 1px solid color-mix(in srgb, var(--sage), transparent 60%); font-size: 18px; line-height: 1.55; }
.support-page .question-list li:last-child { padding-bottom: 0; }
.support-page .process-row { display: grid; grid-template-columns: 70px 1fr 1fr; gap: 30px; padding-block: 32px; border-top: 1px solid var(--rule); }
.support-page .process-row:last-child { border-bottom: 1px solid var(--rule); }
.support-page .step { padding-top: 5px; color: var(--muted); font-size: 11px; font-variant-numeric: tabular-nums; }
.support-page .process-row h3 { font-size: 26px; line-height: 1.15; margin: 0; max-width: 320px; }
.support-page .process-row p { max-width: 60ch; margin: 0; font-size: 14px; color: var(--muted); }
.support-page .coverage-note { max-width: 100ch; font-size: 11px; line-height: 1.7; }
.support-page .principle { display: grid; grid-template-columns: 70px 1fr 1fr; gap: 30px; border-top: 1px solid var(--rule); padding-block: 45px; align-items: start; }
.support-page .principle:last-of-type { border-bottom: 1px solid var(--rule); }
.support-page .principle .number { color: var(--muted); }
.support-page .principle h2 { max-width: 540px; margin: 0; font-size: clamp(32px, 3.4vw, 44px); }
.support-page .principle > p { max-width: 65ch; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.8; }

/* Platform illustration: brand, exact source data and the new paper/forest system. */
.support-page .app-preview { margin-top: 65px; overflow: hidden; border: 1px solid var(--rule); box-shadow: var(--shadow); }
.support-page .app-preview-top { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 22px 30px; background: var(--forest); color: var(--lime); font-size: 10px; }
.support-page .app-preview-top img { width: 180px; height: auto; }
.support-page .app-preview-body { display: grid; grid-template-columns: 180px minmax(0, 1fr); background: var(--paper); }
.support-page .app-preview-body aside { padding: 32px 24px; background: var(--ground); font-size: 11px; }
.support-page .app-preview-body aside div { padding-block: 13px; color: var(--muted); }
.support-page .app-preview-body aside .selected { color: var(--forest); font-weight: 600; border-bottom: 2px solid var(--forest); }
.support-page .app-preview-content { padding: 42px; min-width: 0; }
.support-page .app-preview-content h3 { max-width: 680px; margin-bottom: 20px; font-size: 32px; line-height: 1.13; }
.support-page .app-preview-content > p:not(.eyebrow) { color: var(--muted); font-size: 13px; }
.support-page .app-preview-content .chart { margin-top: 30px; margin-bottom: 0; }

/* Long-form analysis keeps the same visual language, with a readable measure. */
.support-page .breadcrumb { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 30px; color: var(--on-dark-muted); font-size: 11px; }
.support-page .breadcrumb a { color: var(--lime); text-decoration: none; border-bottom: 1px solid var(--sage); }
.support-page .article-hero h1 { max-width: 1080px; font-size: clamp(46px, 5.4vw, 78px); line-height: 1.02; }
.support-page .article-hero .standfirst { max-width: 780px; font-size: 17px; }
.support-page .article-meta { display: flex; flex-wrap: wrap; gap: 16px 24px; margin-top: 32px; color: var(--on-dark-muted); font-size: 10px; }
.support-page .article-meta span + span { padding-left: 24px; border-left: 1px solid var(--sage); }
.support-page .article-layout { display: grid; grid-template-columns: minmax(0, 850px) 200px; justify-content: space-between; gap: 70px; padding-block: 80px 100px; }
.support-page .article-aside { position: sticky; top: 120px; align-self: start; border-top: 3px solid var(--forest); padding-top: 24px; font-size: 12px; }
.support-page .article-aside strong { display: block; margin-bottom: 24px; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.support-page .article-aside a { display: block; margin-block: 14px; text-decoration: none; color: var(--muted); line-height: 1.6; }
.support-page .article-aside a:hover { color: var(--forest); text-decoration: underline; text-underline-offset: 5px; }
.support-page .article-aside p { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--rule); color: var(--muted); font-size: 11px; }
.support-page .exhibit { padding-block: 50px; border-bottom: 1px solid var(--rule); scroll-margin-top: 110px; }
.support-page .exhibit:first-child { padding-top: 0; }
.support-page .exhibit h2 { max-width: 780px; margin-bottom: 15px; font-size: 34px; line-height: 1.13; }
.support-page .exhibit-number { margin-bottom: 18px; color: var(--muted); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.support-page .exhibit > p:not(.exhibit-number):not(.subtitle):not(.chart-note) { max-width: 68ch; font-size: 15px; line-height: 1.8; }
.support-page .exhibit .subtitle { margin-bottom: 28px; color: var(--muted); font-size: 12px; }
.support-page .implication { padding: 22px 24px; margin-block: 25px; border-left: 3px solid var(--forest); background: var(--lime-soft); }
.support-page .chart { width: 100%; display: block; background: var(--ground); border-top: 3px solid var(--forest); margin-bottom: 28px; }
.support-page .chart text { font-family: var(--sans); fill: var(--muted); font-size: 12px; }
.support-page .chart .value { font-weight: 600; fill: var(--forest); font-variant-numeric: tabular-nums; }
.support-page .chart-note { font-size: 11px; color: var(--muted); line-height: 1.7; }
.support-page details.chart-note { border-top: 1px solid var(--rule); padding-block: 18px; }
.support-page summary { cursor: pointer; line-height: 1.6; }
.support-page details[open] > summary { margin-bottom: 18px; }
.support-page .evidence-link { color: var(--forest); text-decoration-style: dotted; text-underline-offset: 4px; font-weight: 600; }
.support-page .evidence details { scroll-margin-top: 120px; border-top: 1px solid var(--rule); padding-block: 20px; }
.support-page .evidence details:target { background: var(--lime-soft); padding-inline: 20px; border-top-color: var(--forest); }
.support-page .evidence summary { color: var(--forest); font-size: 13px; font-weight: 600; }
.support-page .evidence details p { max-width: 65ch; color: var(--muted); font-size: 12px; overflow-wrap: anywhere; }
.support-page .table-wrap { max-width: 100%; overflow-x: auto; margin-top: 18px; }
.support-page .data-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.support-page .data-table caption { text-align: left; margin-bottom: 12px; color: var(--muted); }
.support-page .data-table th, .support-page .data-table td { text-align: left; padding: 12px 10px; border-bottom: 1px solid var(--rule); vertical-align: top; line-height: 1.6; }
.support-page .data-table th { color: var(--forest); font-size: 10px; font-weight: 600; }
.support-page .data-table td:last-child { font-variant-numeric: tabular-nums; }
.support-page .source-list { list-style: decimal; padding-left: 20px; margin-top: 28px; }
.support-page .source-list li { padding: 0 0 20px 8px; font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; color: var(--muted); }
.support-page .source-list a { color: var(--forest); text-underline-offset: 4px; }
.support-page .mobile-chart { display: none; margin-bottom: 28px; padding: 24px; border-top: 3px solid var(--forest); background: var(--ground); }
.support-page .mobile-bar { margin-bottom: 22px; }
.support-page .mobile-bar:last-child { margin-bottom: 0; }
.support-page .mobile-bar-label { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 9px; font-size: 12px; line-height: 1.5; }
.support-page .mobile-bar-label strong { font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
.support-page .mobile-bar-track { position: relative; height: 18px; background: var(--chart-track); }
.support-page .mobile-bar-track span { position: absolute; height: 18px; top: 0; }
.support-page .mobile-bar-track i { position: absolute; top: -3px; bottom: -3px; border-left: 1px solid var(--sage); }

/* Enquiries and privacy share the same square controls and editorial hierarchy. */
.support-page .contact-body { padding-block: 100px 110px; }
.support-page .contact-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 9%; align-items: start; }
.support-page .contact-aside h2 { max-width: 450px; margin-bottom: 30px; font-size: clamp(34px, 3.6vw, 46px); }
.support-page .contact-aside > p:not(.eyebrow) { max-width: 45ch; font-size: 14px; color: var(--muted); }
.support-page .contact-address { display: inline-block; max-width: 100%; margin-block: 12px; border-bottom: 1px solid var(--sage); padding-bottom: 6px; font-size: 15px; text-decoration: none; overflow-wrap: anywhere; }
.support-page #enquiry-form { padding: 32px; border-top: 4px solid var(--forest); background: var(--ground); }
.support-page .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 20px; }
.support-page .field { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.support-page .field label { font-size: 11px; font-weight: 600; }
.support-page .field.full { grid-column: 1 / -1; }
.support-page input, .support-page select, .support-page textarea { width: 100%; min-width: 0; padding: 13px 14px; border: 1px solid var(--sage); border-radius: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.5; }
.support-page input, .support-page select { min-height: 50px; }
.support-page textarea { resize: vertical; min-height: 160px; }
.support-page textarea::placeholder { color: var(--muted); opacity: 1; }
.support-page .form-note { margin-block: 24px; color: var(--muted); font-size: 11px; line-height: 1.7; }
.support-page .form-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; }
.support-page .form-actions > span { color: var(--muted); font-size: 10px; }
.support-page .form-actions .button-link { cursor: pointer; }
.support-page .button-link.outline { border-color: var(--forest); color: var(--forest); background: transparent; }
.support-page .button-link.outline:hover { background: var(--lime-soft); }
.support-page .enquiry-review { margin-top: 32px; border-top: 3px solid var(--forest); padding-top: 30px; }
.support-page .enquiry-review h2 { margin-bottom: 18px; font-size: 30px; }
.support-page .enquiry-review label { display: block; margin-bottom: 12px; }
.support-page .enquiry-review textarea { min-height: 240px; margin-bottom: 20px; font-size: 14px; }
.support-page .enquiry-review p { color: var(--muted); font-size: 13px; }
.support-page .privacy-note { padding-top: 32px; margin-top: 48px; border-top: 1px solid var(--rule); scroll-margin-top: 115px; }
.support-page .privacy-note .eyebrow { margin-bottom: 18px; }
.support-page .privacy-note h2 { margin-bottom: 22px; font-size: 28px; line-height: 1.13; }
.support-page .privacy-note > p:not(.eyebrow) { max-width: 70ch; font-size: 12px; color: var(--muted); }
.support-page .empty-state .actions { margin-top: 0; }

@media (max-width: 1050px) {
  .support-page .library-feature { gap: 5%; }
  .support-page .two-col, .support-page .contact-layout { gap: 6%; }
  .support-page .article-layout { grid-template-columns: minmax(0, 1fr) 175px; gap: 40px; }
  .support-page .app-preview-content { padding: 30px; }
  .support-page #enquiry-form { padding: 26px; }
  .support-page .principle { grid-template-columns: 40px 1fr 1fr; gap: 24px; }
}
@media (max-width: 800px) {
  .support-page .subpage-hero .page-hero { padding-block: 56px 60px; }
  .support-page .subpage-hero .issue-line { font-size: 9px; }
  .support-page .page-hero h1 { max-width: 720px; font-size: clamp(49px, 8vw, 64px); }
  .support-page .page-hero .standfirst { max-width: 620px; font-size: 16px; }
  .support-page .two-col, .support-page .library-feature, .support-page .contact-layout { grid-template-columns: 1fr; gap: 38px; }
  .support-page .library-feature { padding-block: 76px; gap: 48px; }
  .support-page .library-feature > div > h2 { font-size: 40px; }
  .support-page .library-feature .feature-card { width: 100%; max-width: 620px; }
  .support-page .feature-card h2 { max-width: 100%; }
  .support-page .question-panel { width: 100%; }
  .support-page .process-row { grid-template-columns: 40px 1fr 1.1fr; gap: 20px; }
  .support-page .process-row h3 { font-size: 23px; }
  .support-page .principle { grid-template-columns: 35px 1fr; gap: 20px; padding-block: 35px; }
  .support-page .principle > p { grid-column: 2; }
  .support-page .app-preview { margin-top: 45px; }
  .support-page .app-preview-body { grid-template-columns: 140px minmax(0, 1fr); }
  .support-page .app-preview-body aside { padding-inline: 18px; }
  .support-page .app-preview-top { padding: 20px 24px; }
  .support-page .app-preview-content { padding: 28px; }
  .support-page .app-preview-content h3 { font-size: 28px; }
  .support-page svg.chart { display: none; }
  .support-page .mobile-chart { display: block; }
  .support-page .app-preview-content .mobile-chart { margin-top: 28px; margin-bottom: 0; }
  .support-page .article-hero h1 { font-size: clamp(42px, 7.5vw, 60px); }
  .support-page .article-layout { display: flex; flex-direction: column; gap: 40px; padding-block: 45px 76px; }
  .support-page .article-aside { position: static; order: -1; display: flex; flex-wrap: wrap; gap: 14px 24px; padding-top: 22px; }
  .support-page .article-aside strong { width: 100%; margin: 0; }
  .support-page .article-aside a { margin: 0; font-size: 11px; }
  .support-page .article-aside p { display: none; }
  .support-page .exhibit { padding-block: 38px; }
  .support-page .contact-body { padding-block: 76px; }
  .support-page .contact-aside { max-width: 600px; }
  .support-page .contact-aside h2 { max-width: 600px; }
  .support-page .contact-aside > p:not(.eyebrow) { max-width: 60ch; }
}
@media (max-width: 520px) {
  .support-page h2 { font-size: 37px; }
  .support-page .subpage-hero .page-hero { padding-block: 42px 48px; }
  .support-page .subpage-hero .issue-line { padding-block: 18px; }
  .support-page .issue-line > span:last-child { display: none; }
  .support-page .article-heading .issue-line > span:last-child { display: inline; text-align: right; max-width: 145px; }
  .support-page .page-hero h1 { font-size: 49px; }
  .support-page .page-hero .standfirst { font-size: 15px; }
  .support-page .library-feature { padding-block: 64px; }
  .support-page .library-feature > div > h2 { font-size: 37px; }
  .support-page .feature-card h2 { font-size: 29px; }
  .support-page .question-panel { padding: 28px 24px; }
  .support-page .question-list li { font-size: 17px; }
  .support-page .process-row { grid-template-columns: 30px minmax(0, 1fr); gap: 14px; padding-block: 27px; }
  .support-page .process-row p { grid-column: 2; }
  .support-page .principle { grid-template-columns: 25px minmax(0, 1fr); gap: 16px; }
  .support-page .principle h2 { font-size: 32px; }
  .support-page .principle > p { font-size: 14px; }
  .support-page .app-preview-top { align-items: start; flex-direction: column; gap: 16px; padding: 24px; }
  .support-page .app-preview-body { display: block; }
  .support-page .app-preview-body aside { display: none; }
  .support-page .app-preview-content { padding: 24px 20px; }
  .support-page .app-preview-content h3 { font-size: 26px; }
  .support-page .article-hero h1 { font-size: 40px; }
  .support-page .article-hero .standfirst { font-size: 15px; }
  .support-page .breadcrumb { margin-bottom: 24px; }
  .support-page .article-meta { gap: 12px; }
  .support-page .article-meta span + span { padding-left: 12px; }
  .support-page .article-meta span:last-child { width: 100%; border: 0; padding-left: 0; }
  .support-page .exhibit h2 { font-size: 29px; }
  .support-page .mobile-chart { padding: 22px 18px; }
  .support-page .data-table { min-width: 400px; }
  .support-page .contact-body { padding-block: 64px; }
  .support-page .contact-aside h2 { font-size: 37px; }
  .support-page #enquiry-form { padding: 26px 20px; }
  .support-page .form-grid { grid-template-columns: 1fr; gap: 20px; }
  .support-page .form-actions .button-link { width: 100%; }
  .support-page .privacy-note h2 { font-size: 26px; }
}
@media print {
  .support-page .hero-shell { background: none; color: var(--ink); }
  .support-page .hero-shell::before, .support-page .issue-line, .support-page .article-aside, .support-page .form-actions { display: none !important; }
  .support-page .subpage-hero .page-hero { padding-block: 0 25px; }
  .support-page .page-hero h1, .support-page .article-hero h1 { font-size: 34px; }
  .support-page .page-hero h1 em, .support-page .page-hero .standfirst, .support-page .article-meta, .support-page .breadcrumb { color: var(--ink); }
  .support-page .article-layout { display: block; padding-block: 25px; }
  .support-page .exhibit { break-inside: avoid; padding-block: 25px; }
  .support-page .mobile-chart { display: none !important; }
  .support-page svg.chart { display: block !important; }
  .support-page .chart, .support-page .app-preview, .support-page .feature-card { box-shadow: none; break-inside: avoid; }
  .support-page .ground-section { background: none; }
  .support-page .two-col, .support-page .contact-layout, .support-page .library-feature { gap: 30px; }
}
/* Subscription pages use the same forest, lime, paper, serif and divider system. */
.subscription-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(32px,6vw,100px);align-items:start}
.subscription-lead{font-size:clamp(18px,2vw,23px);max-width:36ch;line-height:1.5}
.subscription-benefits{list-style:none;padding:0;margin:32px 0}
.subscription-benefits li{padding:17px 0;border-top:1px solid var(--rule);line-height:1.5}
.subscription-benefits li:last-child{border-bottom:1px solid var(--rule)}
.subscription-price{background:var(--forest);color:var(--paper);padding:clamp(24px,4vw,44px)}
.subscription-price .eyebrow,.subscription-price .price,.subscription-price .text-link{color:var(--lime)}
.subscription-price .caption{color:var(--paper);opacity:.82}
.subscription-price .price{line-height:1.1;margin:30px 0 10px;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}
.subscription-price .price strong{font-weight:500;font-size:clamp(60px,7vw,90px);letter-spacing:-.06em}
.subscription-price .price span{font-size:18px}
.subscription-price .button-link{background:var(--lime);color:var(--deep);margin-top:18px}
.pending-button:disabled{opacity:.65;cursor:not-allowed}
.signup-panel{background:var(--ground);padding:clamp(24px,4vw,44px);border-top:2px solid var(--forest)}
.signup-panel .caption{margin-top:24px;line-height:1.6}
.membership-help{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px}
.membership-help article{border-top:1px solid var(--rule);padding-top:24px}
.membership-help p{max-width:48ch;line-height:1.6}
.subscription-prose{max-width:780px}
.subscription-prose h2{margin-top:40px}
.setup-note{padding:20px;background:var(--ground);border-left:3px solid var(--forest)}
@media(max-width:700px){.subscription-layout,.membership-help{grid-template-columns:minmax(0,1fr)}.subscription-price .button-link,.signup-panel .button-link{width:100%;justify-content:space-between;white-space:normal;text-align:left}.subscription-price,.signup-panel{min-width:0}.membership-help .button-link{white-space:normal}}
